factory-factory 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{_basePickBy-DikkcLWt.js → _basePickBy-CISdQ2gh.js} +1 -1
- package/dist/client/assets/{_baseUniq-DXQLkszL.js → _baseUniq-DbasVTTn.js} +1 -1
- package/dist/client/assets/{arc-PlxYF4gs.js → arc-DLw2lHO3.js} +1 -1
- package/dist/client/assets/{architectureDiagram-VXUJARFQ-C15kzB-a.js → architectureDiagram-VXUJARFQ-BMuH-Hnq.js} +1 -1
- package/dist/client/assets/{blockDiagram-VD42YOAC-CpsrSECi.js → blockDiagram-VD42YOAC-DmK7wVT_.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-lUG_fBjc.js → c4Diagram-YG6GDRKO-Dcjqp_Ah.js} +1 -1
- package/dist/client/assets/channel-t_S6k3cr.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-DL5SmHl8.js → chunk-4BX2VUAB-Qs_UDhnI.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-6RonniJP.js → chunk-55IACEB6-BO9yB0ki.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-BurHg0kj.js → chunk-B4BG7PRW-BglcMNkh.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-BJ01eABM.js → chunk-DI55MBZ5-CXV9Cibn.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-BnvMi7Ay.js → chunk-FMBD7UC4-9BOiNUQ0.js} +1 -1
- package/dist/client/assets/{chunk-QN33PNHL-CHzCvA9V.js → chunk-QN33PNHL-CC_W0vDr.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-BYtef6TB.js → chunk-QZHKN3VN-Czfwg8a1.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-5jRzcEei.js → chunk-TZMSLE5B-BJV3Hq3o.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-2upzgQsa.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-2upzgQsa.js +1 -0
- package/dist/client/assets/clone-CWl2uYnl.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-BRiIkmzf.js → cose-bilkent-S5V4N54A-B5cm6i8I.js} +1 -1
- package/dist/client/assets/{dagre-6UL2VRFP-DB-glvK1.js → dagre-6UL2VRFP-CVH3lZKU.js} +1 -1
- package/dist/client/assets/{diagram-PSM6KHXK-CivlU3GF.js → diagram-PSM6KHXK-_30scg7I.js} +1 -1
- package/dist/client/assets/{diagram-QEK2KX5R-ux8xYm0V.js → diagram-QEK2KX5R-9lrSo1mZ.js} +1 -1
- package/dist/client/assets/{diagram-S2PKOQOG-BQ2G1KUX.js → diagram-S2PKOQOG-BXTnVDbA.js} +1 -1
- package/dist/client/assets/{erDiagram-Q2GNP2WA-pDV9J51h.js → erDiagram-Q2GNP2WA-G8ND4OKG.js} +1 -1
- package/dist/client/assets/{flowDiagram-NV44I4VS-BzDPdmg2.js → flowDiagram-NV44I4VS-DuNdqXHj.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-asSHWQ1i.js → ganttDiagram-JELNMOA3-D8xrPWlF.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-NY62KEGX-Duv9FC3a.js → gitGraphDiagram-NY62KEGX-DInZobj6.js} +1 -1
- package/dist/client/assets/{graph-6ULGC9RP.js → graph-B4QY9Cck.js} +1 -1
- package/dist/client/assets/{index-DTaPBU72.js → index-V-FCWQQz.js} +137 -146
- package/dist/client/assets/index-eDDa27-u.css +1 -0
- package/dist/client/assets/{infoDiagram-WHAUD3N6-BXQPO9ey.js → infoDiagram-WHAUD3N6-Dny0M-Oi.js} +1 -1
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-BTZFCnxJ.js → journeyDiagram-XKPGCS4Q-94HP68E8.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-BgM5-joq.js → kanban-definition-3W4ZIXB7-CeWqcrPF.js} +1 -1
- package/dist/client/assets/{layout-upXVONoQ.js → layout-3khFWUY7.js} +1 -1
- package/dist/client/assets/{linear-DSEaz9ry.js → linear-XI3Hp28C.js} +1 -1
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-BWg5D2xt.js → mindmap-definition-VGOIOE7T-CDV8vhxz.js} +1 -1
- package/dist/client/assets/{pieDiagram-ADFJNKIX-DiebpcAz.js → pieDiagram-ADFJNKIX-C7pM-a3b.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-CRdJB1rK.js → quadrantDiagram-AYHSOK5B-BVupGY8e.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-BWWp8mm2.js → requirementDiagram-UZGBJVZJ-_W6CGno1.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-Be_z4SEy.js → sankeyDiagram-TZEHDZUN-DuDbqB0A.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-Cmh_NUjH.js → sequenceDiagram-WL72ISMW-LER3Fq55.js} +1 -1
- package/dist/client/assets/{stateDiagram-FKZM4ZOC-CMVA9mym.js → stateDiagram-FKZM4ZOC-B0z2P05N.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-HoKsGlH4.js +1 -0
- package/dist/client/assets/{terminal-instance-CihJB_Qi.js → terminal-instance-CoJFcQup.js} +1 -1
- package/dist/client/assets/{timeline-definition-IT6M3QCI-CkTun4nl.js → timeline-definition-IT6M3QCI-DUb5ucGf.js} +1 -1
- package/dist/client/assets/{treemap-KMMF4GRG-EA1NDtbB.js → treemap-KMMF4GRG-DaUbhciW.js} +1 -1
- package/dist/client/assets/{xychartDiagram-PRI3JC2R-DZ9QOnNM.js → xychartDiagram-PRI3JC2R-DvmloW_f.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/prisma/generated/commonInputTypes.d.ts +120 -60
- package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
- package/dist/prisma/generated/enums.d.ts +15 -0
- package/dist/prisma/generated/enums.d.ts.map +1 -1
- package/dist/prisma/generated/enums.js +13 -0
- package/dist/prisma/generated/enums.js.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 +7 -7
- package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.js +2 -4
- package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +2 -4
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +2 -4
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/prisma/generated/models/ClaudeSession.d.ts +3 -0
- package/dist/prisma/generated/models/ClaudeSession.d.ts.map +1 -1
- package/dist/prisma/generated/models/UserSettings.d.ts +1 -107
- package/dist/prisma/generated/models/UserSettings.d.ts.map +1 -1
- package/dist/prisma/generated/models/Workspace.d.ts +116 -33
- package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
- package/dist/src/backend/claude/permission-coordinator.test.js.map +1 -1
- package/dist/src/backend/claude/permissions.test.js.map +1 -1
- package/dist/src/backend/claude/process.d.ts.map +1 -1
- package/dist/src/backend/claude/process.js +12 -9
- package/dist/src/backend/claude/process.js.map +1 -1
- package/dist/src/backend/claude/process.test.d.ts +2 -0
- package/dist/src/backend/claude/process.test.d.ts.map +1 -0
- package/dist/src/backend/claude/process.test.js +22 -0
- package/dist/src/backend/claude/process.test.js.map +1 -0
- package/dist/src/backend/claude/protocol.d.ts +2 -0
- package/dist/src/backend/claude/protocol.d.ts.map +1 -1
- package/dist/src/backend/claude/protocol.js +19 -2
- package/dist/src/backend/claude/protocol.js.map +1 -1
- package/dist/src/backend/claude/protocol.test.js +17 -0
- package/dist/src/backend/claude/protocol.test.js.map +1 -1
- package/dist/src/backend/claude/session.test.js.map +1 -1
- package/dist/src/backend/claude/types.test.js.map +1 -1
- package/dist/src/backend/clients/git.client.js.map +1 -1
- package/dist/src/backend/index.js +5 -2
- package/dist/src/backend/index.js.map +1 -1
- package/dist/src/backend/interceptors/index.d.ts.map +1 -1
- package/dist/src/backend/interceptors/index.js +0 -2
- package/dist/src/backend/interceptors/index.js.map +1 -1
- package/dist/src/backend/lib/git-helpers.js.map +1 -1
- package/dist/src/backend/lib/ide-helpers.test.js.map +1 -1
- package/dist/src/backend/middleware/middleware.test.js.map +1 -1
- package/dist/src/backend/prompts/quick-actions.js.map +1 -1
- package/dist/src/backend/prompts/workflows.js.map +1 -1
- package/dist/src/backend/prompts/workflows.test.js.map +1 -1
- package/dist/src/backend/resource_accessors/project.accessor.js.map +1 -1
- package/dist/src/backend/resource_accessors/user-settings.accessor.d.ts +0 -4
- package/dist/src/backend/resource_accessors/user-settings.accessor.d.ts.map +1 -1
- package/dist/src/backend/resource_accessors/user-settings.accessor.js.map +1 -1
- package/dist/src/backend/resource_accessors/workspace.accessor.d.ts +17 -3
- package/dist/src/backend/resource_accessors/workspace.accessor.d.ts.map +1 -1
- package/dist/src/backend/resource_accessors/workspace.accessor.js +23 -1
- package/dist/src/backend/resource_accessors/workspace.accessor.js.map +1 -1
- package/dist/src/backend/routers/mcp/terminal.mcp.js +1 -1
- package/dist/src/backend/routers/mcp/terminal.mcp.js.map +1 -1
- package/dist/src/backend/routers/mcp/terminal.mcp.test.js.map +1 -1
- package/dist/src/backend/schemas/tool-inputs.schema.test.js.map +1 -1
- package/dist/src/backend/services/ci-fixer.service.d.ts +1 -1
- package/dist/src/backend/services/ci-fixer.service.d.ts.map +1 -1
- package/dist/src/backend/services/ci-fixer.service.js +18 -121
- package/dist/src/backend/services/ci-fixer.service.js.map +1 -1
- package/dist/src/backend/services/ci-fixer.service.test.js +62 -522
- package/dist/src/backend/services/ci-fixer.service.test.js.map +1 -1
- package/dist/src/backend/services/ci-monitor.service.d.ts.map +1 -1
- package/dist/src/backend/services/ci-monitor.service.js +1 -3
- package/dist/src/backend/services/ci-monitor.service.js.map +1 -1
- package/dist/src/backend/services/config.service.js +2 -2
- package/dist/src/backend/services/data-backup.service.d.ts +15 -4
- package/dist/src/backend/services/data-backup.service.d.ts.map +1 -1
- package/dist/src/backend/services/data-backup.service.js +19 -6
- package/dist/src/backend/services/data-backup.service.js.map +1 -1
- package/dist/src/backend/services/event-compression.service.d.ts.map +1 -1
- package/dist/src/backend/services/event-compression.service.js.map +1 -1
- package/dist/src/backend/services/event-compression.service.test.js.map +1 -1
- package/dist/src/backend/services/file-lock.service.test.js.map +1 -1
- package/dist/src/backend/services/fixer-session.service.d.ts +49 -0
- package/dist/src/backend/services/fixer-session.service.d.ts.map +1 -0
- package/dist/src/backend/services/fixer-session.service.js +191 -0
- package/dist/src/backend/services/fixer-session.service.js.map +1 -0
- package/dist/src/backend/services/fixer-session.service.test.d.ts +2 -0
- package/dist/src/backend/services/fixer-session.service.test.d.ts.map +1 -0
- package/dist/src/backend/services/fixer-session.service.test.js +188 -0
- package/dist/src/backend/services/fixer-session.service.test.js.map +1 -0
- package/dist/src/backend/services/github-cli.service.d.ts.map +1 -1
- package/dist/src/backend/services/github-cli.service.js.map +1 -1
- package/dist/src/backend/services/index.d.ts +2 -2
- package/dist/src/backend/services/index.d.ts.map +1 -1
- package/dist/src/backend/services/index.js +2 -2
- package/dist/src/backend/services/index.js.map +1 -1
- package/dist/src/backend/services/kanban-state.service.d.ts.map +1 -1
- package/dist/src/backend/services/kanban-state.service.js +10 -4
- package/dist/src/backend/services/kanban-state.service.js.map +1 -1
- package/dist/src/backend/services/message-queue.service.test.js +1 -1
- package/dist/src/backend/services/message-queue.service.test.js.map +1 -1
- package/dist/src/backend/services/message-state.service.test.js +1 -1
- package/dist/src/backend/services/message-state.service.test.js.map +1 -1
- package/dist/src/backend/services/pr-review-fixer.service.d.ts +1 -1
- package/dist/src/backend/services/pr-review-fixer.service.d.ts.map +1 -1
- package/dist/src/backend/services/pr-review-fixer.service.js +34 -135
- package/dist/src/backend/services/pr-review-fixer.service.js.map +1 -1
- package/dist/src/backend/services/pr-review-monitor.service.d.ts.map +1 -1
- package/dist/src/backend/services/pr-review-monitor.service.js +4 -6
- package/dist/src/backend/services/pr-review-monitor.service.js.map +1 -1
- package/dist/src/backend/services/pr-snapshot.service.d.ts +25 -0
- package/dist/src/backend/services/pr-snapshot.service.d.ts.map +1 -0
- package/dist/src/backend/services/pr-snapshot.service.js +57 -0
- package/dist/src/backend/services/pr-snapshot.service.js.map +1 -0
- package/dist/src/backend/services/pr-snapshot.service.test.d.ts +2 -0
- package/dist/src/backend/services/pr-snapshot.service.test.d.ts.map +1 -0
- package/dist/src/backend/services/pr-snapshot.service.test.js +94 -0
- package/dist/src/backend/services/pr-snapshot.service.test.js.map +1 -0
- package/dist/src/backend/services/ratchet.service.d.ts +7 -1
- package/dist/src/backend/services/ratchet.service.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet.service.js +171 -132
- package/dist/src/backend/services/ratchet.service.js.map +1 -1
- package/dist/src/backend/services/ratchet.service.test.js +255 -2
- package/dist/src/backend/services/ratchet.service.test.js.map +1 -1
- package/dist/src/backend/services/reconciliation.service.test.js.map +1 -1
- package/dist/src/backend/services/run-script.service.d.ts +1 -1
- package/dist/src/backend/services/run-script.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script.service.js +12 -0
- package/dist/src/backend/services/run-script.service.js.map +1 -1
- package/dist/src/backend/services/scheduler.service.d.ts.map +1 -1
- package/dist/src/backend/services/scheduler.service.js +7 -21
- package/dist/src/backend/services/scheduler.service.js.map +1 -1
- package/dist/src/backend/services/scheduler.service.test.js +56 -153
- package/dist/src/backend/services/scheduler.service.test.js.map +1 -1
- package/dist/src/backend/services/session-file-logger.service.test.js.map +1 -1
- package/dist/src/backend/services/session.process-manager.d.ts +1 -0
- package/dist/src/backend/services/session.process-manager.d.ts.map +1 -1
- package/dist/src/backend/services/session.process-manager.js +20 -0
- package/dist/src/backend/services/session.process-manager.js.map +1 -1
- package/dist/src/backend/services/session.prompt-builder.d.ts +1 -0
- package/dist/src/backend/services/session.prompt-builder.d.ts.map +1 -1
- package/dist/src/backend/services/session.prompt-builder.js +4 -1
- package/dist/src/backend/services/session.prompt-builder.js.map +1 -1
- package/dist/src/backend/services/session.prompt-builder.test.js +20 -3
- package/dist/src/backend/services/session.prompt-builder.test.js.map +1 -1
- package/dist/src/backend/services/session.service.d.ts.map +1 -1
- package/dist/src/backend/services/session.service.js +9 -0
- package/dist/src/backend/services/session.service.js.map +1 -1
- package/dist/src/backend/services/session.service.test.js +5 -0
- package/dist/src/backend/services/session.service.test.js.map +1 -1
- package/dist/src/backend/services/slash-command-cache.service.d.ts.map +1 -1
- package/dist/src/backend/services/slash-command-cache.service.js.map +1 -1
- package/dist/src/backend/services/workspace-creation.service.d.ts +47 -0
- package/dist/src/backend/services/workspace-creation.service.d.ts.map +1 -0
- package/dist/src/backend/services/workspace-creation.service.js +144 -0
- package/dist/src/backend/services/workspace-creation.service.js.map +1 -0
- package/dist/src/backend/services/workspace-creation.service.test.d.ts +2 -0
- package/dist/src/backend/services/workspace-creation.service.test.d.ts.map +1 -0
- package/dist/src/backend/services/workspace-creation.service.test.js +328 -0
- package/dist/src/backend/services/workspace-creation.service.test.js.map +1 -0
- package/dist/src/backend/services/workspace-flow-state.service.d.ts +22 -0
- package/dist/src/backend/services/workspace-flow-state.service.d.ts.map +1 -0
- package/dist/src/backend/services/workspace-flow-state.service.js +109 -0
- package/dist/src/backend/services/workspace-flow-state.service.js.map +1 -0
- package/dist/src/backend/services/workspace-flow-state.service.test.d.ts +2 -0
- package/dist/src/backend/services/workspace-flow-state.service.test.d.ts.map +1 -0
- package/dist/src/backend/services/workspace-flow-state.service.test.js +120 -0
- package/dist/src/backend/services/workspace-flow-state.service.test.js.map +1 -0
- package/dist/src/backend/services/workspace-query.service.d.ts +9 -2
- package/dist/src/backend/services/workspace-query.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace-query.service.js +25 -27
- package/dist/src/backend/services/workspace-query.service.js.map +1 -1
- package/dist/src/backend/services/worktree-lifecycle-init.test.js +12 -26
- package/dist/src/backend/services/worktree-lifecycle-init.test.js.map +1 -1
- package/dist/src/backend/services/worktree-lifecycle.service.d.ts +3 -2
- package/dist/src/backend/services/worktree-lifecycle.service.d.ts.map +1 -1
- package/dist/src/backend/services/worktree-lifecycle.service.js +33 -13
- package/dist/src/backend/services/worktree-lifecycle.service.js.map +1 -1
- package/dist/src/backend/trpc/admin.trpc.d.ts +20 -8
- package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/index.d.ts +94 -56
- package/dist/src/backend/trpc/index.d.ts.map +1 -1
- package/dist/src/backend/trpc/project.trpc.d.ts +6 -2
- package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/session.trpc.d.ts +15 -19
- package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/session.trpc.js +0 -9
- package/dist/src/backend/trpc/session.trpc.js.map +1 -1
- package/dist/src/backend/trpc/user-settings.trpc.d.ts +0 -12
- package/dist/src/backend/trpc/user-settings.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/user-settings.trpc.js +1 -10
- package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts +3 -1
- 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 +6 -2
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.d.ts +73 -35
- package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.js +60 -74
- package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.test.js.map +1 -1
- package/dist/src/cli/index.js +6 -0
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/shared/workspace-words.d.ts.map +1 -1
- package/dist/src/shared/workspace-words.js.map +1 -1
- package/dist/tsconfig.backend.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/prisma/migrations/20260205020000_phase_3_schema_cleanup/migration.sql +93 -0
- package/prisma/schema.prisma +20 -9
- package/dist/client/assets/channel-DibAzDxU.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-moaJKwcI.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-moaJKwcI.js +0 -1
- package/dist/client/assets/clone-Cl_PwNgC.js +0 -1
- package/dist/client/assets/index-CwyuSNf-.css +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-CELclHRO.js +0 -1
- package/dist/src/backend/interceptors/git-push.interceptor.d.ts +0 -3
- package/dist/src/backend/interceptors/git-push.interceptor.d.ts.map +0 -1
- package/dist/src/backend/interceptors/git-push.interceptor.js +0 -31
- package/dist/src/backend/interceptors/git-push.interceptor.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-review-monitor.service.js","sourceRoot":"","sources":["../../../../src/backend/services/pr-review-monitor.service.ts"],"names":[],"mappings":"AAOA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pr-review-monitor.service.js","sourceRoot":"","sources":["../../../../src/backend/services/pr-review-monitor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { githubCLIService } from './github-cli.service.js';
|
|
2
|
+
type SnapshotData = {
|
|
3
|
+
prNumber: number;
|
|
4
|
+
prState: Awaited<ReturnType<typeof githubCLIService.fetchAndComputePRState>> extends infer T ? T extends {
|
|
5
|
+
prState: infer S;
|
|
6
|
+
} ? S : never : never;
|
|
7
|
+
prReviewState: string | null;
|
|
8
|
+
prCiStatus: Awaited<ReturnType<typeof githubCLIService.fetchAndComputePRState>> extends infer T ? T extends {
|
|
9
|
+
prCiStatus: infer S;
|
|
10
|
+
} ? S : never : never;
|
|
11
|
+
};
|
|
12
|
+
export type PRSnapshotRefreshResult = {
|
|
13
|
+
success: true;
|
|
14
|
+
snapshot: SnapshotData;
|
|
15
|
+
} | {
|
|
16
|
+
success: false;
|
|
17
|
+
reason: 'workspace_not_found' | 'no_pr_url' | 'fetch_failed' | 'error';
|
|
18
|
+
};
|
|
19
|
+
declare class PRSnapshotService {
|
|
20
|
+
refreshWorkspace(workspaceId: string, explicitPrUrl?: string | null): Promise<PRSnapshotRefreshResult>;
|
|
21
|
+
applySnapshot(workspaceId: string, snapshot: SnapshotData): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export declare const prSnapshotService: PRSnapshotService;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=pr-snapshot.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-snapshot.service.d.ts","sourceRoot":"","sources":["../../../../src/backend/services/pr-snapshot.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMxD,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,GACxF,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC,CAAA;KAAE,GAC5B,CAAC,GACD,KAAK,GACP,KAAK,CAAC;IACV,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,GAC3F,CAAC,SAAS;QAAE,UAAU,EAAE,MAAM,CAAC,CAAA;KAAE,GAC/B,CAAC,GACD,KAAK,GACP,KAAK,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GACzC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,qBAAqB,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAA;CAAE,CAAC;AAE/F,cAAM,iBAAiB;IACf,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,OAAO,CAAC,uBAAuB,CAAC;IA4C7B,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAWhF;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { workspaceAccessor } from '../resource_accessors/workspace.accessor.js';
|
|
2
|
+
import { githubCLIService } from './github-cli.service.js';
|
|
3
|
+
import { kanbanStateService } from './kanban-state.service.js';
|
|
4
|
+
import { createLogger } from './logger.service.js';
|
|
5
|
+
const logger = createLogger('pr-snapshot');
|
|
6
|
+
class PRSnapshotService {
|
|
7
|
+
async refreshWorkspace(workspaceId, explicitPrUrl) {
|
|
8
|
+
try {
|
|
9
|
+
let prUrl = explicitPrUrl;
|
|
10
|
+
if (!prUrl) {
|
|
11
|
+
const workspace = await workspaceAccessor.findById(workspaceId);
|
|
12
|
+
if (!workspace) {
|
|
13
|
+
return { success: false, reason: 'workspace_not_found' };
|
|
14
|
+
}
|
|
15
|
+
prUrl = workspace.prUrl;
|
|
16
|
+
}
|
|
17
|
+
if (!prUrl) {
|
|
18
|
+
return { success: false, reason: 'no_pr_url' };
|
|
19
|
+
}
|
|
20
|
+
const snapshot = await githubCLIService.fetchAndComputePRState(prUrl);
|
|
21
|
+
if (!snapshot) {
|
|
22
|
+
return { success: false, reason: 'fetch_failed' };
|
|
23
|
+
}
|
|
24
|
+
await this.applySnapshot(workspaceId, {
|
|
25
|
+
prNumber: snapshot.prNumber,
|
|
26
|
+
prState: snapshot.prState,
|
|
27
|
+
prReviewState: snapshot.prReviewState,
|
|
28
|
+
prCiStatus: snapshot.prCiStatus,
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
success: true,
|
|
32
|
+
snapshot: {
|
|
33
|
+
prNumber: snapshot.prNumber,
|
|
34
|
+
prState: snapshot.prState,
|
|
35
|
+
prReviewState: snapshot.prReviewState,
|
|
36
|
+
prCiStatus: snapshot.prCiStatus,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
logger.error('Failed to refresh PR snapshot', error, { workspaceId });
|
|
42
|
+
return { success: false, reason: 'error' };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async applySnapshot(workspaceId, snapshot) {
|
|
46
|
+
await workspaceAccessor.update(workspaceId, {
|
|
47
|
+
prNumber: snapshot.prNumber,
|
|
48
|
+
prState: snapshot.prState,
|
|
49
|
+
prReviewState: snapshot.prReviewState,
|
|
50
|
+
prCiStatus: snapshot.prCiStatus,
|
|
51
|
+
prUpdatedAt: new Date(),
|
|
52
|
+
});
|
|
53
|
+
await kanbanStateService.updateCachedKanbanColumn(workspaceId);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export const prSnapshotService = new PRSnapshotService();
|
|
57
|
+
//# sourceMappingURL=pr-snapshot.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-snapshot.service.js","sourceRoot":"","sources":["../../../../src/backend/services/pr-snapshot.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAqB3C,MAAM,iBAAiB;IACrB,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,aAA6B;QAE7B,IAAI,CAAC;YACH,IAAI,KAAK,GAAG,aAAa,CAAC;YAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAChE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;gBAC3D,CAAC;gBAED,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACjD,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YACpD,CAAC;YAED,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;gBACpC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE;oBACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAc,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,QAAsB;QAC7D,MAAM,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE;YAC1C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,WAAW,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC,CAAC;QAEH,MAAM,kBAAkB,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-snapshot.service.test.d.ts","sourceRoot":"","sources":["../../../../src/backend/services/pr-snapshot.service.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
const mockFindById = vi.fn();
|
|
3
|
+
const mockUpdate = vi.fn();
|
|
4
|
+
const mockFetchAndComputePRState = vi.fn();
|
|
5
|
+
const mockUpdateCachedKanbanColumn = vi.fn();
|
|
6
|
+
vi.mock('../resource_accessors/workspace.accessor', () => ({
|
|
7
|
+
workspaceAccessor: {
|
|
8
|
+
findById: (...args) => mockFindById(...args),
|
|
9
|
+
update: (...args) => mockUpdate(...args),
|
|
10
|
+
},
|
|
11
|
+
}));
|
|
12
|
+
vi.mock('./github-cli.service', () => ({
|
|
13
|
+
githubCLIService: {
|
|
14
|
+
fetchAndComputePRState: (...args) => mockFetchAndComputePRState(...args),
|
|
15
|
+
},
|
|
16
|
+
}));
|
|
17
|
+
vi.mock('./kanban-state.service', () => ({
|
|
18
|
+
kanbanStateService: {
|
|
19
|
+
updateCachedKanbanColumn: (...args) => mockUpdateCachedKanbanColumn(...args),
|
|
20
|
+
},
|
|
21
|
+
}));
|
|
22
|
+
vi.mock('./logger.service', () => ({
|
|
23
|
+
createLogger: () => ({
|
|
24
|
+
info: vi.fn(),
|
|
25
|
+
debug: vi.fn(),
|
|
26
|
+
warn: vi.fn(),
|
|
27
|
+
error: vi.fn(),
|
|
28
|
+
}),
|
|
29
|
+
}));
|
|
30
|
+
import { prSnapshotService } from './pr-snapshot.service.js';
|
|
31
|
+
describe('PRSnapshotService', () => {
|
|
32
|
+
beforeEach(() => {
|
|
33
|
+
vi.clearAllMocks();
|
|
34
|
+
});
|
|
35
|
+
it('returns workspace_not_found when workspace does not exist', async () => {
|
|
36
|
+
mockFindById.mockResolvedValue(null);
|
|
37
|
+
const result = await prSnapshotService.refreshWorkspace('w1');
|
|
38
|
+
expect(result).toEqual({ success: false, reason: 'workspace_not_found' });
|
|
39
|
+
});
|
|
40
|
+
it('returns no_pr_url when workspace has no PR URL', async () => {
|
|
41
|
+
mockFindById.mockResolvedValue({ id: 'w1', prUrl: null });
|
|
42
|
+
const result = await prSnapshotService.refreshWorkspace('w1');
|
|
43
|
+
expect(result).toEqual({ success: false, reason: 'no_pr_url' });
|
|
44
|
+
});
|
|
45
|
+
it('returns fetch_failed when GitHub snapshot is unavailable', async () => {
|
|
46
|
+
mockFindById.mockResolvedValue({ id: 'w1', prUrl: 'https://github.com/org/repo/pull/1' });
|
|
47
|
+
mockFetchAndComputePRState.mockResolvedValue(null);
|
|
48
|
+
const result = await prSnapshotService.refreshWorkspace('w1');
|
|
49
|
+
expect(result).toEqual({ success: false, reason: 'fetch_failed' });
|
|
50
|
+
});
|
|
51
|
+
it('persists PR snapshot and updates kanban cache', async () => {
|
|
52
|
+
mockFetchAndComputePRState.mockResolvedValue({
|
|
53
|
+
prNumber: 123,
|
|
54
|
+
prState: 'OPEN',
|
|
55
|
+
prReviewState: 'APPROVED',
|
|
56
|
+
prCiStatus: 'SUCCESS',
|
|
57
|
+
});
|
|
58
|
+
const result = await prSnapshotService.refreshWorkspace('w1', 'https://github.com/org/repo/pull/123');
|
|
59
|
+
expect(result).toEqual({
|
|
60
|
+
success: true,
|
|
61
|
+
snapshot: {
|
|
62
|
+
prNumber: 123,
|
|
63
|
+
prState: 'OPEN',
|
|
64
|
+
prReviewState: 'APPROVED',
|
|
65
|
+
prCiStatus: 'SUCCESS',
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
expect(mockUpdate).toHaveBeenCalledWith('w1', {
|
|
69
|
+
prNumber: 123,
|
|
70
|
+
prState: 'OPEN',
|
|
71
|
+
prReviewState: 'APPROVED',
|
|
72
|
+
prCiStatus: 'SUCCESS',
|
|
73
|
+
prUpdatedAt: expect.any(Date),
|
|
74
|
+
});
|
|
75
|
+
expect(mockUpdateCachedKanbanColumn).toHaveBeenCalledWith('w1');
|
|
76
|
+
});
|
|
77
|
+
it('applies snapshot directly through shared write path', async () => {
|
|
78
|
+
await prSnapshotService.applySnapshot('w2', {
|
|
79
|
+
prNumber: 50,
|
|
80
|
+
prState: 'MERGED',
|
|
81
|
+
prReviewState: null,
|
|
82
|
+
prCiStatus: 'SUCCESS',
|
|
83
|
+
});
|
|
84
|
+
expect(mockUpdate).toHaveBeenCalledWith('w2', {
|
|
85
|
+
prNumber: 50,
|
|
86
|
+
prState: 'MERGED',
|
|
87
|
+
prReviewState: null,
|
|
88
|
+
prCiStatus: 'SUCCESS',
|
|
89
|
+
prUpdatedAt: expect.any(Date),
|
|
90
|
+
});
|
|
91
|
+
expect(mockUpdateCachedKanbanColumn).toHaveBeenCalledWith('w2');
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=pr-snapshot.service.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-snapshot.service.test.js","sourceRoot":"","sources":["../../../../src/backend/services/pr-snapshot.service.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export interface PRStateInfo {
|
|
|
17
17
|
conclusion: string;
|
|
18
18
|
detailsUrl?: string;
|
|
19
19
|
}>;
|
|
20
|
+
ciRunId: string | null;
|
|
20
21
|
reviews: PRWithFullDetails['reviews'];
|
|
21
22
|
comments: PRWithFullDetails['comments'];
|
|
22
23
|
reviewComments: Array<{
|
|
@@ -59,6 +60,7 @@ export type RatchetAction = {
|
|
|
59
60
|
type: 'TRIGGERED_FIXER';
|
|
60
61
|
sessionId: string;
|
|
61
62
|
fixerType: string;
|
|
63
|
+
promptSent: boolean;
|
|
62
64
|
} | {
|
|
63
65
|
type: 'DISABLED';
|
|
64
66
|
reason: string;
|
|
@@ -93,13 +95,16 @@ declare class RatchetService {
|
|
|
93
95
|
private runContinuousLoop;
|
|
94
96
|
private sleep;
|
|
95
97
|
checkAllWorkspaces(): Promise<RatchetCheckResult>;
|
|
98
|
+
checkWorkspaceById(workspaceId: string): Promise<WorkspaceRatchetResult | null>;
|
|
96
99
|
private processWorkspace;
|
|
100
|
+
private resolveRatchetPrContext;
|
|
97
101
|
private fetchPRState;
|
|
98
102
|
private determineRatchetState;
|
|
99
103
|
private executeRatchetAction;
|
|
104
|
+
private handleExistingFixerSession;
|
|
105
|
+
private handleStateWithoutActiveFixer;
|
|
100
106
|
private shouldNotifyActiveFixer;
|
|
101
107
|
private notifyActiveFixer;
|
|
102
|
-
private isFixerActive;
|
|
103
108
|
private triggerFixer;
|
|
104
109
|
private buildInitialPrompt;
|
|
105
110
|
private buildCIFixPrompt;
|
|
@@ -109,6 +114,7 @@ declare class RatchetService {
|
|
|
109
114
|
private formatCodeCommentsSection;
|
|
110
115
|
private formatPRCommentsSection;
|
|
111
116
|
private buildReviewFixPrompt;
|
|
117
|
+
private extractFailedCiSignature;
|
|
112
118
|
}
|
|
113
119
|
export declare const ratchetService: RatchetService;
|
|
114
120
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratchet.service.d.ts","sourceRoot":"","sources":["../../../../src/backend/services/ratchet.service.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAiB,MAAM,oBAAoB,CAAC;AAE3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ratchet.service.d.ts","sourceRoot":"","sources":["../../../../src/backend/services/ratchet.service.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAiB,MAAM,oBAAoB,CAAC;AAE3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAkB/D,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACtC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACxC,cAAc,EAAE,KAAK,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IAEH,iBAAiB,EAAE,KAAK,CAAC;QACvB,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH,aAAa,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,YAAY,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC;AAcD,cAAM,cAAc;IAClB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAK5D,KAAK,IAAI,IAAI;IAcP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAeb,iBAAiB;IAc/B,OAAO,CAAC,KAAK;IAOP,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAkDjD,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAyBvE,gBAAgB;IAwF9B,OAAO,CAAC,uBAAuB;YA2BjB,YAAY;IAqG1B,OAAO,CAAC,qBAAqB;YAwCf,oBAAoB;YAkBpB,0BAA0B;YA4D1B,6BAA6B;IAqD3C,OAAO,CAAC,uBAAuB;YA2BjB,iBAAiB;YAgEjB,YAAY;IAmE1B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,oBAAoB;IAsE5B,OAAO,CAAC,wBAAwB;CAkBjC;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|