specrails-desktop 2.55.0 → 2.56.0
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/cli/dist/args.js +80 -0
- package/cli/dist/desktop-client.js +125 -0
- package/cli/dist/desktop-control.js +339 -0
- package/cli/dist/format.js +45 -0
- package/cli/dist/help.js +68 -0
- package/cli/dist/output.js +47 -0
- package/cli/dist/run-command.js +340 -0
- package/cli/dist/specrails-desktop.js +41 -1107
- package/cli/dist/status.js +111 -0
- package/client/dist/assets/{ActivityFeedPage-ILXMZXcb.js → ActivityFeedPage-DdMNmVBk.js} +1 -1
- package/client/dist/assets/{AgentBrowserCapture-UcsupCy7.js → AgentBrowserCapture-CeerUf--.js} +1 -1
- package/client/dist/assets/{AgentModeAnalyticsPane-CQuxYh8B.js → AgentModeAnalyticsPane-BjGb-8rh.js} +2 -2
- package/client/dist/assets/{AgentModeCodePane-zPWbW7ei.js → AgentModeCodePane-8XRkQEo_.js} +2 -2
- package/client/dist/assets/{AgentModeJobsPane-CInByIdl.js → AgentModeJobsPane-BN3dgJOA.js} +1 -1
- package/client/dist/assets/{AgentsPage-BWvgxaBv.js → AgentsPage-DfHWgP_x.js} +1 -1
- package/client/dist/assets/{AnalyticsPage-DP3jakv-.js → AnalyticsPage-CyfhYiBn.js} +1 -1
- package/client/dist/assets/{CodePage-BKXiwE5a.js → CodePage-C2Nf-Q5W.js} +1 -1
- package/client/dist/assets/{DesktopAnalyticsPage-DryJOaMz.js → DesktopAnalyticsPage-tc0p4jJW.js} +1 -1
- package/client/dist/assets/{DocsDialog-BsCG9ksG.js → DocsDialog-Br3bczCp.js} +1 -1
- package/client/dist/assets/{DocsPage-Cc-GeKYl.js → DocsPage-BcDr2cBm.js} +1 -1
- package/client/dist/assets/{ExportDropdown-ClahJdDn.js → ExportDropdown-BVGKEgkd.js} +1 -1
- package/client/dist/assets/{InteractiveJobComposer-DfLF6N0f.js → InteractiveJobComposer-DFPpdg2D.js} +1 -1
- package/client/dist/assets/{JobDetailModal-DHeur9YK.js → JobDetailModal-BdOv-l-M.js} +1 -1
- package/client/dist/assets/{JobDetailPage-CraDKzeG.js → JobDetailPage-vBbNeRuz.js} +1 -1
- package/client/dist/assets/{JobsPage-CcbuSwj7.js → JobsPage-CJCtPhIz.js} +1 -1
- package/client/dist/assets/{LoopBuilderPage-BKtNp494.js → LoopBuilderPage-BemvUOxy.js} +1 -1
- package/client/dist/assets/{LoopPreviewModal-DbZd9isy.js → LoopPreviewModal-C6hNAeYN.js} +1 -1
- package/client/dist/assets/{LoopsPage-DEg6sIkG.js → LoopsPage-BZr0quvh.js} +1 -1
- package/client/dist/assets/{MinimizedChatsContext-BGtEjWsc.js → MinimizedChatsContext-D3QzgV0B.js} +1 -1
- package/client/dist/assets/{PluginsPage-BVqSsPzL.js → PluginsPage-DOpTV75p.js} +1 -1
- package/client/dist/assets/{ProjectSettingsDialog-CAjLgJAZ.js → ProjectSettingsDialog-Dkwrn0z1.js} +1 -1
- package/client/dist/assets/{RepositoryDeliveries-DrcrxLe0.js → RepositoryDeliveries-Du2UCf1a.js} +1 -1
- package/client/dist/assets/{RepositoryScopeSelector-CAGY3xW6.js → RepositoryScopeSelector-hPGZNRBm.js} +1 -1
- package/client/dist/assets/ReviewPacketPage-DcOq-UTA.js +4 -0
- package/client/dist/assets/{TemplatePreviewModal-Bqs-9fhn.js → TemplatePreviewModal-Cejcquah.js} +1 -1
- package/client/dist/assets/{TicketDetailModalContext-C0jQ5yOk.js → TicketDetailModalContext-DAK-NoK6.js} +1 -1
- package/client/dist/assets/{Trans-DtWlCJN9.js → Trans-DEbgkuAY.js} +1 -1
- package/client/dist/assets/{dashboard-CTfEtkqX.js → dashboard-B9uWNGO2.js} +1 -1
- package/client/dist/assets/{dashboard-DMklepmz.js → dashboard-BIwmO9wc.js} +1 -1
- package/client/dist/assets/{dashboard-DBAP2_SQ.js → dashboard-BV4vOZkR.js} +1 -1
- package/client/dist/assets/{dashboard-D40HP2ks.js → dashboard-Bf6MPVsM.js} +1 -1
- package/client/dist/assets/{dashboard-Csf1yGSN.js → dashboard-C8klWVvZ.js} +1 -1
- package/client/dist/assets/{dashboard-C29Qwa-L.js → dashboard-D1ORhPF0.js} +1 -1
- package/client/dist/assets/{dashboard-Cr4D8oMn.js → dashboard-DSubvs9x.js} +1 -1
- package/client/dist/assets/{dashboard-CSJzf5OT.js → dashboard-px_vlRx_.js} +1 -1
- package/client/dist/assets/{formatDistanceToNow-DYmvOA3R.js → formatDistanceToNow-Cc2u5FwQ.js} +1 -1
- package/client/dist/assets/{getTimezoneOffsetInMilliseconds-BAhW5E6V.js → getTimezoneOffsetInMilliseconds-BHm2U-w1.js} +1 -1
- package/client/dist/assets/index-C51x61Bz.css +2 -0
- package/client/dist/assets/{index-BfAZg5DG.js → index-Cxb288Rj.js} +29 -29
- package/client/dist/assets/{jira-api-B27Za5FP.js → jira-api-DrGxiD9p.js} +1 -1
- package/client/dist/assets/packet-8nn9RsU7.js +1 -0
- package/client/dist/assets/packet-B0H15elv.js +1 -0
- package/client/dist/assets/packet-BQvBgrwh.js +1 -0
- package/client/dist/assets/packet-BR7mO0-a.js +1 -0
- package/client/dist/assets/packet-BgcQ6q_K.js +1 -0
- package/client/dist/assets/packet-D2s92Jnn.js +1 -0
- package/client/dist/assets/packet-YbtcD1HS.js +1 -0
- package/client/dist/assets/packet-c0Qj_9eX.js +1 -0
- package/client/dist/assets/{project-repositories-DixIZHTA.js → project-repositories-9Wzs0coQ.js} +1 -1
- package/client/dist/assets/{spending-BGmZBX5B.js → spending-T5GM7wpn.js} +1 -1
- package/client/dist/assets/{useDesktop-CPB4cnwI.js → useDesktop-QogiN0zR.js} +1 -1
- package/client/dist/assets/{useRuntimeRuns-DEQ9HdAM.js → useRuntimeRuns-Dqmz9fS9.js} +1 -1
- package/client/dist/assets/{useSharedWebSocket-DcPRKR8R.js → useSharedWebSocket-Dz-HI6De.js} +2 -2
- package/client/dist/index.html +17 -17
- package/docs/codex.md +5 -5
- package/docs/customizing.md +1 -1
- package/docs/gemini-cli-provider-study.md +14 -14
- package/docs/gemini-core-support-evaluation.md +1 -1
- package/docs/gemini.md +5 -5
- package/docs/internals/README.md +6 -2
- package/docs/internals/adding-a-provider.md +22 -15
- package/docs/internals/agent-runtime-framework-evaluation.md +8 -8
- package/docs/internals/api-reference.md +2 -2
- package/docs/internals/architecture.md +9 -9
- package/docs/internals/browser-capture-performance.md +3 -3
- package/docs/internals/code-explorer-story.md +2 -2
- package/docs/internals/companion-rails-as-loops-contract.md +2 -2
- package/docs/internals/core-runtime-updates.md +5 -0
- package/docs/internals/embedded-browser-native-webview-evaluation.md +5 -5
- package/docs/internals/gemini-mcp-registration.md +2 -2
- package/docs/internals/global-artifacts-alignment-contract.md +1 -1
- package/docs/internals/global-artifacts-relocation-evaluation.md +1 -1
- package/docs/internals/interactive-jobs.md +8 -8
- package/docs/internals/legacy-implementation-notes.md +722 -0
- package/docs/internals/loop-step-log-explorer.md +8 -8
- package/docs/internals/mission-rail-cards.md +14 -14
- package/docs/internals/modular-architecture.md +107 -0
- package/docs/internals/profiles.md +1 -1
- package/docs/internals/programmatic-agent-runtime.md +66 -0
- package/docs/internals/project-builder.md +18 -18
- package/docs/internals/review-packet.md +8 -8
- package/docs/internals/safe-pr-review-flow.md +11 -11
- package/docs/internals/source-architecture.md +131 -0
- package/docs/internals/source-map.md +1356 -0
- package/docs/internals/spec-addenda.md +65 -9
- package/docs/internals/switch-to-agent-mode-design.md +11 -11
- package/docs/tracking-cost.md +1 -1
- package/package.json +5 -2
- package/server/dist/agent-mcp-config.js +1 -1
- package/server/dist/attachment-manager.js +1 -1
- package/server/dist/build-dirs.js +2 -2
- package/server/dist/config.js +0 -3
- package/server/dist/core-completion.js +1 -1
- package/server/dist/core-execution.js +1 -1
- package/server/dist/db/activity.js +39 -0
- package/server/dist/db/connection.js +41 -0
- package/server/dist/db/conversations.js +48 -0
- package/server/dist/db/jobs.js +251 -0
- package/server/dist/db/migrations.js +1521 -0
- package/server/dist/db/proposals.js +50 -0
- package/server/dist/db/settings.js +15 -0
- package/server/dist/db/stats.js +61 -0
- package/server/dist/db/telemetry.js +56 -0
- package/server/dist/db/templates.js +37 -0
- package/server/dist/db/types.js +2 -0
- package/server/dist/db.js +66 -2224
- package/server/dist/desktop-db.js +3 -3
- package/server/dist/desktop-router.js +8 -8
- package/server/dist/git-diagnostics.js +1 -1
- package/server/dist/index.js +11 -11
- package/server/dist/integration-branch.js +3 -14
- package/server/dist/jira/jira-issue-fields.js +0 -1
- package/server/dist/jira/jira-materializer.js +1 -1
- package/server/dist/jira/jira-sync-manager.js +1 -1
- package/server/dist/mcp/guide.js +16 -2
- package/server/dist/mcp/mcp-admin-router.js +1 -1
- package/server/dist/mcp/mcp-server.js +1 -1
- package/server/dist/mcp/tools/catalog.js +2 -0
- package/server/dist/mcp/tools/jobs.js +23 -5
- package/server/dist/mcp/tools/rails.js +2 -2
- package/server/dist/mcp/tools/recovery.js +35 -0
- package/server/dist/mcp/tools/specs.js +2 -2
- package/server/dist/mcp/tools/support.js +4 -1
- package/server/dist/mcp/tools/types.js +3 -3
- package/server/dist/mobile/mobile-gateway.js +1 -1
- package/server/dist/mobile/mobile-missions.js +1 -1
- package/server/dist/{desktop-analytics.js → modules/accounting/runtime/desktop-analytics.js} +2 -2
- package/server/dist/{pricing.js → modules/accounting/runtime/pricing.js} +10 -3
- package/server/dist/{result-event.js → modules/accounting/runtime/result-event.js} +3 -3
- package/server/dist/{spending.js → modules/accounting/runtime/spending.js} +0 -3
- package/server/dist/{telemetry-compactor.js → modules/accounting/runtime/telemetry-compactor.js} +1 -1
- package/server/dist/{telemetry-receiver.js → modules/accounting/runtime/telemetry-receiver.js} +2 -2
- package/server/dist/{agent-runtime-bridge.js → modules/agent-runtime/runtime/agent-runtime-bridge.js} +2 -2
- package/server/dist/{agent-runtime-controls-router.js → modules/agent-runtime/runtime/agent-runtime-controls-router.js} +16 -0
- package/server/dist/{agent-runtime-controls.js → modules/agent-runtime/runtime/agent-runtime-controls.js} +100 -8
- package/server/dist/{agent-runtime-effective-config.js → modules/agent-runtime/runtime/agent-runtime-effective-config.js} +1 -1
- package/server/dist/{agent-runtime-loader.js → modules/agent-runtime/runtime/agent-runtime-loader.js} +3 -3
- package/server/dist/{agent-runtime-paths.js → modules/agent-runtime/runtime/agent-runtime-paths.js} +1 -1
- package/server/dist/modules/agent-runtime/runtime/agent-runtime-recovery.js +53 -0
- package/server/dist/{agent-runtime-settings-router.js → modules/agent-runtime/runtime/agent-runtime-settings-router.js} +2 -2
- package/server/dist/{agent-runtime-settings.js → modules/agent-runtime/runtime/agent-runtime-settings.js} +3 -3
- package/server/dist/{agent-runtime-settlement.js → modules/agent-runtime/runtime/agent-runtime-settlement.js} +6 -6
- package/server/dist/{agent-defaults.js → modules/agents/runtime/agent-defaults.js} +3 -3
- package/server/dist/{agent-generator.js → modules/agents/runtime/agent-generator.js} +7 -7
- package/server/dist/{agent-refine-manager.js → modules/agents/runtime/agent-refine-manager.js} +5 -5
- package/server/dist/{agent-store.js → modules/agents/runtime/agent-store.js} +1 -1
- package/server/dist/{profile-manager.js → modules/agents/runtime/profile-manager.js} +2 -2
- package/server/dist/{profiles-router.js → modules/agents/runtime/profiles-router.js} +5 -5
- package/server/dist/{browser-capture-manager.js → modules/browser/runtime/browser-capture-manager.js} +2 -4
- package/server/dist/{browser-playwright.js → modules/browser/runtime/browser-playwright.js} +1 -1
- package/server/dist/{blueprint-chat-manager.js → modules/builder/runtime/blueprint-chat-manager.js} +7 -7
- package/server/dist/{blueprint-commit.js → modules/builder/runtime/blueprint-commit.js} +8 -8
- package/server/dist/{blueprint-draft-parser.js → modules/builder/runtime/blueprint-draft-parser.js} +1 -1
- package/server/dist/{blueprint-generation.js → modules/builder/runtime/blueprint-generation.js} +1 -1
- package/server/dist/{blueprint-operator-prompt.js → modules/builder/runtime/blueprint-operator-prompt.js} +1 -1
- package/server/dist/{blueprint-router.js → modules/builder/runtime/blueprint-router.js} +3 -3
- package/server/dist/{blueprint-spec-quality.js → modules/builder/runtime/blueprint-spec-quality.js} +1 -1
- package/server/dist/{milestone-chain.js → modules/builder/runtime/milestone-chain.js} +1 -1
- package/server/dist/{milestone-progress.js → modules/builder/runtime/milestone-progress.js} +6 -6
- package/server/dist/{code-activity.js → modules/code/runtime/code-activity.js} +1 -1
- package/server/dist/{code-explorer-router.js → modules/code/runtime/code-explorer-router.js} +5 -5
- package/server/dist/{file-provenance.js → modules/code/runtime/file-provenance.js} +1 -1
- package/server/dist/{file-story-manager.js → modules/code/runtime/file-story-manager.js} +2 -2
- package/server/dist/{file-story.js → modules/code/runtime/file-story.js} +2 -2
- package/server/dist/{file-summary-generator.js → modules/code/runtime/file-summary-generator.js} +3 -3
- package/server/dist/{file-summary-manager.js → modules/code/runtime/file-summary-manager.js} +3 -3
- package/server/dist/{project-code-discovery.js → modules/code/runtime/project-code-discovery.js} +2 -2
- package/server/dist/modules/conversations/domain/draft-stream.js +91 -0
- package/server/dist/modules/conversations/domain/recovery-context.js +101 -0
- package/server/dist/modules/conversations/index.js +10 -0
- package/server/dist/{chat-manager.js → modules/conversations/runtime/chat-manager.js} +32 -216
- package/server/dist/{context-budget.js → modules/conversations/runtime/context-budget.js} +1 -1
- package/server/dist/{explore-cwd-manager.js → modules/conversations/runtime/explore-cwd-manager.js} +1 -1
- package/server/dist/{explore-smash.js → modules/conversations/runtime/explore-smash.js} +1 -1
- package/server/dist/{explore-stdin-session.js → modules/conversations/runtime/explore-stdin-session.js} +1 -1
- package/server/dist/modules/delivery/adapters/decisions/chains.js +138 -0
- package/server/dist/modules/delivery/adapters/decisions/contracts.js +2 -0
- package/server/dist/modules/delivery/adapters/decisions/create.js +234 -0
- package/server/dist/modules/delivery/adapters/decisions/discard.js +251 -0
- package/server/dist/modules/delivery/adapters/decisions/dispatch.js +107 -0
- package/server/dist/modules/delivery/adapters/decisions/evidence.js +205 -0
- package/server/dist/modules/delivery/adapters/decisions/merge-local.js +338 -0
- package/server/dist/modules/delivery/adapters/decisions/metadata.js +109 -0
- package/server/dist/modules/delivery/adapters/decisions/observations.js +260 -0
- package/server/dist/modules/delivery/adapters/decisions/ownership.js +83 -0
- package/server/dist/modules/delivery/adapters/decisions/publish.js +242 -0
- package/server/dist/modules/delivery/adapters/decisions/recovery.js +425 -0
- package/server/dist/modules/delivery/adapters/decisions/retry.js +112 -0
- package/server/dist/modules/delivery/adapters/decisions/transitions.js +94 -0
- package/server/dist/modules/delivery/domain/decision-policy.js +50 -0
- package/server/dist/modules/delivery/domain/state.js +2 -0
- package/server/dist/modules/delivery/index.js +7 -0
- package/server/dist/{active-pr-continuation.js → modules/delivery/runtime/active-pr-continuation.js} +2 -2
- package/server/dist/{delivery-evidence.js → modules/delivery/runtime/delivery-evidence.js} +3 -3
- package/server/dist/{multi-repo-bases.js → modules/delivery/runtime/multi-repo-bases.js} +1 -1
- package/server/dist/{multi-repo-checkout.js → modules/delivery/runtime/multi-repo-checkout.js} +4 -4
- package/server/dist/{multi-repo-delivery.js → modules/delivery/runtime/multi-repo-delivery.js} +4 -4
- package/server/dist/{multi-repo-execution.js → modules/delivery/runtime/multi-repo-execution.js} +8 -8
- package/server/dist/{pr-body.js → modules/delivery/runtime/pr-body.js} +1 -1
- package/server/dist/{pr-follow-up-scope.js → modules/delivery/runtime/pr-follow-up-scope.js} +2 -2
- package/server/dist/{pr-follow-up.js → modules/delivery/runtime/pr-follow-up.js} +1 -1
- package/server/dist/{pr-naming.js → modules/delivery/runtime/pr-naming.js} +1 -1
- package/server/dist/{pr-publisher.js → modules/delivery/runtime/pr-publisher.js} +2 -2
- package/server/dist/{rail-isolated-launch.js → modules/delivery/runtime/rail-isolated-launch.js} +29 -27
- package/server/dist/{rail-launch-parser.js → modules/delivery/runtime/rail-launch-parser.js} +2 -2
- package/server/dist/{rail-merge-orchestrator.js → modules/delivery/runtime/rail-merge-orchestrator.js} +5 -5
- package/server/dist/modules/delivery/runtime/rail-pr-decision.js +12 -0
- package/server/dist/{rail-pr-delivery.js → modules/delivery/runtime/rail-pr-delivery.js} +1 -1
- package/server/dist/{rail-pr-store.js → modules/delivery/runtime/rail-pr-store.js} +2 -2
- package/server/dist/{rail-pr-ticket-effects.js → modules/delivery/runtime/rail-pr-ticket-effects.js} +3 -3
- package/server/dist/{rail-worktree-release.js → modules/delivery/runtime/rail-worktree-release.js} +4 -4
- package/server/dist/{rails-router.js → modules/delivery/runtime/rails-router.js} +66 -67
- package/server/dist/{review-packet.js → modules/delivery/runtime/review-packet.js} +3 -3
- package/server/dist/modules/execution/adapters/budget-storage.js +21 -0
- package/server/dist/modules/execution/adapters/usage-reader.js +38 -0
- package/server/dist/modules/execution/application/enforce-budget.js +14 -0
- package/server/dist/modules/execution/application/record-job-invocations.js +64 -0
- package/server/dist/modules/execution/application/recover-job-usage.js +200 -0
- package/server/dist/modules/execution/domain/job-accounting.js +2 -0
- package/server/dist/modules/execution/domain/scheduling.js +24 -0
- package/server/dist/modules/execution/domain/usage.js +21 -0
- package/server/dist/modules/execution/index.js +14 -0
- package/server/dist/modules/execution/ports.js +2 -0
- package/server/dist/{accept-ladder.js → modules/execution/runtime/accept-ladder.js} +1 -1
- package/server/dist/{interactive-job-session.js → modules/execution/runtime/interactive-job-session.js} +11 -11
- package/server/dist/{job-phase-breakdown.js → modules/execution/runtime/job-phase-breakdown.js} +1 -1
- package/server/dist/{queue-manager.js → modules/execution/runtime/queue-manager.js} +74 -491
- package/server/dist/{revision-seed.js → modules/execution/runtime/revision-seed.js} +1 -1
- package/server/dist/{spawn-lifecycle.js → modules/execution/runtime/spawn-lifecycle.js} +3 -3
- package/server/dist/{stuck-run-detector.js → modules/execution/runtime/stuck-run-detector.js} +1 -1
- package/server/dist/{loop-command-catalog.js → modules/loops/runtime/loop-command-catalog.js} +1 -1
- package/server/dist/{loop-executors.js → modules/loops/runtime/loop-executors.js} +17 -17
- package/server/dist/{loop-factory.js → modules/loops/runtime/loop-factory.js} +2 -21
- package/server/dist/{loop-graph.js → modules/loops/runtime/loop-graph.js} +25 -0
- package/server/dist/{loop-role-engines.js → modules/loops/runtime/loop-role-engines.js} +4 -4
- package/server/dist/{loop-run-manager.js → modules/loops/runtime/loop-run-manager.js} +101 -26
- package/server/dist/{loop-runs-store.js → modules/loops/runtime/loop-runs-store.js} +1 -1
- package/server/dist/{loop-shell-invocation.js → modules/loops/runtime/loop-shell-invocation.js} +2 -2
- package/server/dist/{loop-step-idle.js → modules/loops/runtime/loop-step-idle.js} +1 -1
- package/server/dist/{loop-templates.js → modules/loops/runtime/loop-templates.js} +24 -29
- package/server/dist/{loops-router.js → modules/loops/runtime/loops-router.js} +2 -2
- package/server/dist/{agent-chat-manager.js → modules/missions/runtime/agent-chat-manager.js} +19 -19
- package/server/dist/{agent-chat-router.js → modules/missions/runtime/agent-chat-router.js} +6 -6
- package/server/dist/{agent-context-resolver.js → modules/missions/runtime/agent-context-resolver.js} +8 -8
- package/server/dist/{agent-failure-briefing.js → modules/missions/runtime/agent-failure-briefing.js} +4 -2
- package/server/dist/{agent-fence-promotion.js → modules/missions/runtime/agent-fence-promotion.js} +1 -1
- package/server/dist/{agent-input-store.js → modules/missions/runtime/agent-input-store.js} +1 -1
- package/server/dist/{agent-operator-prompt.js → modules/missions/runtime/agent-operator-prompt.js} +75 -12
- package/server/dist/{agent-spec-framing.js → modules/missions/runtime/agent-spec-framing.js} +4 -4
- package/server/dist/{agent-steering.js → modules/missions/runtime/agent-steering.js} +1 -1
- package/server/dist/{mission-run-notify.js → modules/missions/runtime/mission-run-notify.js} +5 -2
- package/server/dist/modules/project-settings/adapters/http.js +24 -0
- package/server/dist/modules/project-settings/adapters/sqlite.js +120 -0
- package/server/dist/modules/project-settings/application.js +11 -0
- package/server/dist/modules/project-settings/domain.js +95 -0
- package/server/dist/modules/project-settings/index.js +11 -0
- package/server/dist/modules/project-settings/ports.js +2 -0
- package/server/dist/{contract-refine-runner.js → modules/specs/runtime/contract-refine-runner.js} +12 -12
- package/server/dist/{proposal-manager.js → modules/specs/runtime/proposal-manager.js} +8 -8
- package/server/dist/{smash-runner.js → modules/specs/runtime/smash-runner.js} +26 -58
- package/server/dist/{spec-addenda-core.js → modules/specs/runtime/spec-addenda-core.js} +2 -2
- package/server/dist/{spec-addenda.js → modules/specs/runtime/spec-addenda.js} +3 -3
- package/server/dist/{spec-launcher-manager.js → modules/specs/runtime/spec-launcher-manager.js} +8 -8
- package/server/dist/{spec-models.js → modules/specs/runtime/spec-models.js} +1 -1
- package/server/dist/{ticket-watcher.js → modules/specs/runtime/ticket-watcher.js} +1 -1
- package/server/dist/{background-process-control.js → modules/terminals/runtime/background-process-control.js} +1 -1
- package/server/dist/{background-process-service.js → modules/terminals/runtime/background-process-service.js} +3 -3
- package/server/dist/{background-process-store.js → modules/terminals/runtime/background-process-store.js} +1 -1
- package/server/dist/{background-windows-bootstrap.js → modules/terminals/runtime/background-windows-bootstrap.js} +3 -3
- package/server/dist/{terminal-manager.js → modules/terminals/runtime/terminal-manager.js} +3 -3
- package/server/dist/project-git.js +1 -1
- package/server/dist/project-profile-support.js +32 -0
- package/server/dist/project-registry.js +34 -40
- package/server/dist/project-router-background-processes.js +1 -1
- package/server/dist/project-router-chat.js +6 -6
- package/server/dist/project-router-git.js +1 -1
- package/server/dist/project-router-helpers.js +2 -2
- package/server/dist/project-router-jobs.js +14 -12
- package/server/dist/project-router-loop-runs.js +12 -12
- package/server/dist/project-router-settings.js +15 -75
- package/server/dist/project-router-setup.js +2 -2
- package/server/dist/project-router-spending.js +4 -4
- package/server/dist/project-router-terminals.js +4 -4
- package/server/dist/project-router-tickets.js +14 -14
- package/server/dist/project-router.js +13 -13
- package/server/dist/providers/claude-adapter.js +3 -2
- package/server/dist/providers/codex-adapter.js +3 -3
- package/server/dist/providers/gemini-adapter.js +1 -1
- package/server/dist/providers/telemetry-env.js +55 -0
- package/server/dist/runtime-role-prompts-router.js +2 -2
- package/server/dist/setup-manager.js +2 -48
- package/server/dist/shared/git-branch-name.js +16 -0
- package/server/dist/transient-children.js +3 -3
- package/server/dist/util/distribute-int.js +33 -0
- package/client/dist/assets/ReviewPacketPage-D-UjTef3.js +0 -4
- package/client/dist/assets/index-BAtqmAZR.css +0 -2
- package/client/dist/assets/packet-CjS_478C.js +0 -1
- package/client/dist/assets/packet-D69dKsHN.js +0 -1
- package/client/dist/assets/packet-D9rU6Oxo.js +0 -1
- package/client/dist/assets/packet-DMDFoamg.js +0 -1
- package/client/dist/assets/packet-Dd2RMs1h.js +0 -1
- package/client/dist/assets/packet-DjC9OibC.js +0 -1
- package/client/dist/assets/packet-DwPtJoDz.js +0 -1
- package/client/dist/assets/packet-ceahDg8_.js +0 -1
- package/server/dist/rail-pr-decision.js +0 -2377
- package/server/dist/ticket-broadcast.js +0 -47
- /package/server/dist/{ai-invocations.js → modules/accounting/runtime/ai-invocations.js} +0 -0
- /package/server/dist/{codex-otel-bridge.js → modules/accounting/runtime/codex-otel-bridge.js} +0 -0
- /package/server/dist/{metrics.js → modules/accounting/runtime/metrics.js} +0 -0
- /package/server/dist/{telemetry-export.js → modules/accounting/runtime/telemetry-export.js} +0 -0
- /package/server/dist/{agent-runtime-accounting.js → modules/agent-runtime/runtime/agent-runtime-accounting.js} +0 -0
- /package/server/dist/{agent-runtime-events.js → modules/agent-runtime/runtime/agent-runtime-events.js} +0 -0
- /package/server/dist/{agent-runtime-history.js → modules/agent-runtime/runtime/agent-runtime-history.js} +0 -0
- /package/server/dist/{agent-runtime-metrics.js → modules/agent-runtime/runtime/agent-runtime-metrics.js} +0 -0
- /package/server/dist/{agent-runtime-package.js → modules/agent-runtime/runtime/agent-runtime-package.js} +0 -0
- /package/server/dist/{agent-runtime-repositories.js → modules/agent-runtime/runtime/agent-runtime-repositories.js} +0 -0
- /package/server/dist/{agent-runtime-verification-suggestions.js → modules/agent-runtime/runtime/agent-runtime-verification-suggestions.js} +0 -0
- /package/server/dist/{agent-refine-db.js → modules/agents/runtime/agent-refine-db.js} +0 -0
- /package/server/dist/{browser-capture-types.js → modules/browser/runtime/browser-capture-types.js} +0 -0
- /package/server/dist/{browser-context-pool.js → modules/browser/runtime/browser-context-pool.js} +0 -0
- /package/server/dist/{browser-network.js → modules/browser/runtime/browser-network.js} +0 -0
- /package/server/dist/{browser-viewport.js → modules/browser/runtime/browser-viewport.js} +0 -0
- /package/server/dist/{blueprint-render.js → modules/builder/runtime/blueprint-render.js} +0 -0
- /package/server/dist/{blueprint-spec-fixtures.js → modules/builder/runtime/blueprint-spec-fixtures.js} +0 -0
- /package/server/dist/{blueprint-store.js → modules/builder/runtime/blueprint-store.js} +0 -0
- /package/server/dist/{blueprint-types.js → modules/builder/runtime/blueprint-types.js} +0 -0
- /package/server/dist/{builder-cwd-manager.js → modules/builder/runtime/builder-cwd-manager.js} +0 -0
- /package/server/dist/{milestone-chain-store.js → modules/builder/runtime/milestone-chain-store.js} +0 -0
- /package/server/dist/{changes-reader.js → modules/code/runtime/changes-reader.js} +0 -0
- /package/server/dist/{context-scope.js → modules/conversations/runtime/context-scope.js} +0 -0
- /package/server/dist/{explore-contract-refine.js → modules/conversations/runtime/explore-contract-refine.js} +0 -0
- /package/server/dist/{explore-draft-title.js → modules/conversations/runtime/explore-draft-title.js} +0 -0
- /package/server/dist/{merge-manager.js → modules/delivery/runtime/merge-manager.js} +0 -0
- /package/server/dist/{multi-repo-execution-store.js → modules/delivery/runtime/multi-repo-execution-store.js} +0 -0
- /package/server/dist/{pr-lifecycle.js → modules/delivery/runtime/pr-lifecycle.js} +0 -0
- /package/server/dist/{rail-isolation.js → modules/delivery/runtime/rail-isolation.js} +0 -0
- /package/server/dist/{rail-pr-recovery-git.js → modules/delivery/runtime/rail-pr-recovery-git.js} +0 -0
- /package/server/dist/{rail-worktrees-store.js → modules/delivery/runtime/rail-worktrees-store.js} +0 -0
- /package/server/dist/{rails-store.js → modules/delivery/runtime/rails-store.js} +0 -0
- /package/server/dist/{job-listing.js → modules/execution/runtime/job-listing.js} +0 -0
- /package/server/dist/{job-spawn-idempotency.js → modules/execution/runtime/job-spawn-idempotency.js} +0 -0
- /package/server/dist/{run-duration-stats.js → modules/execution/runtime/run-duration-stats.js} +0 -0
- /package/server/dist/{verification-sentinel.js → modules/execution/runtime/verification-sentinel.js} +0 -0
- /package/server/dist/{loop-constants.js → modules/loops/runtime/loop-constants.js} +0 -0
- /package/server/dist/{loop-decider.js → modules/loops/runtime/loop-decider.js} +0 -0
- /package/server/dist/{loop-effect.js → modules/loops/runtime/loop-effect.js} +0 -0
- /package/server/dist/{loop-preview.js → modules/loops/runtime/loop-preview.js} +0 -0
- /package/server/dist/{loop-templates-ported.js → modules/loops/runtime/loop-templates-ported.js} +0 -0
- /package/server/dist/{loops-store.js → modules/loops/runtime/loops-store.js} +0 -0
- /package/server/dist/{agent-chat-registry.js → modules/missions/runtime/agent-chat-registry.js} +0 -0
- /package/server/dist/{agent-cwd-manager.js → modules/missions/runtime/agent-cwd-manager.js} +0 -0
- /package/server/dist/{agent-tier.js → modules/missions/runtime/agent-tier.js} +0 -0
- /package/server/dist/{spec-contract-prompt.js → modules/specs/runtime/spec-contract-prompt.js} +0 -0
- /package/server/dist/{spec-draft-parser.js → modules/specs/runtime/spec-draft-parser.js} +0 -0
- /package/server/dist/{ticket-store.js → modules/specs/runtime/ticket-store.js} +0 -0
- /package/server/dist/{terminal-marks-store.js → modules/terminals/runtime/terminal-marks-store.js} +0 -0
- /package/server/dist/{terminal-osc-parser.js → modules/terminals/runtime/terminal-osc-parser.js} +0 -0
- /package/server/dist/{terminal-settings.js → modules/terminals/runtime/terminal-settings.js} +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PR_DECISION_ACTIONS = void 0;
|
|
4
|
+
exports.isPrDecisionAction = isPrDecisionAction;
|
|
5
|
+
exports.actionAllowed = actionAllowed;
|
|
6
|
+
exports.PR_DECISION_ACTIONS = ['create-pr', 'publish', 'discard', 'dismiss', 'poll-merge', 'reopen', 'merge-local', 'acknowledge-no-changes', 'recover-and-retry'];
|
|
7
|
+
function isPrDecisionAction(v) {
|
|
8
|
+
return typeof v === 'string' && exports.PR_DECISION_ACTIONS.includes(v);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The D3 state machine's action legality. `create-pr` is also the RETRY path:
|
|
12
|
+
* from a retryable pr_failed, or from a pr_draft whose delivery degraded before
|
|
13
|
+
* a PR existed (pushed/local-only → pr_url null). Publish/poll require a real
|
|
14
|
+
* PR URL — a degraded draft only offers retry or discard.
|
|
15
|
+
*/
|
|
16
|
+
function actionAllowed(action, row) {
|
|
17
|
+
switch (action) {
|
|
18
|
+
case 'create-pr':
|
|
19
|
+
return row.decision === 'on_review' ||
|
|
20
|
+
(row.decision === 'pr_failed' && (row.delivery_outcome === 'retryable_failure' || row.delivery_outcome === 'unknown')) ||
|
|
21
|
+
(row.decision === 'pr_draft' && row.pr_url === null);
|
|
22
|
+
case 'publish':
|
|
23
|
+
return row.decision === 'pr_draft' && row.pr_url !== null;
|
|
24
|
+
case 'discard':
|
|
25
|
+
return row.decision === 'on_review' || row.decision === 'pr_draft' ||
|
|
26
|
+
row.decision === 'pr_ready' || row.decision === 'pr_closed' || row.decision === 'no_changes' ||
|
|
27
|
+
row.decision === 'implementation_failed' ||
|
|
28
|
+
row.decision === 'pr_failed';
|
|
29
|
+
case 'dismiss':
|
|
30
|
+
return row.is_continuation === 1 && row.decision !== 'building' &&
|
|
31
|
+
row.decision !== 'merged' && row.decision !== 'discarded' && row.decision !== 'superseded';
|
|
32
|
+
case 'poll-merge':
|
|
33
|
+
return (row.decision === 'pr_draft' || row.decision === 'pr_ready' || row.decision === 'pr_closed') && row.pr_url !== null;
|
|
34
|
+
case 'reopen':
|
|
35
|
+
return row.decision === 'pr_closed' && row.pr_url !== null;
|
|
36
|
+
case 'merge-local':
|
|
37
|
+
// Remote-less acceptance ONLY: once a real PR exists (pr_url), GitHub is
|
|
38
|
+
// the merge authority — merging under an open PR would leave it dangling.
|
|
39
|
+
return row.pr_url === null &&
|
|
40
|
+
(row.decision === 'on_review' || row.decision === 'pr_failed' || row.decision === 'pr_draft');
|
|
41
|
+
case 'acknowledge-no-changes':
|
|
42
|
+
return row.decision === 'no_changes' && row.is_continuation !== 1;
|
|
43
|
+
case 'recover-and-retry':
|
|
44
|
+
return row.decision === 'pr_failed' && row.delivery_outcome === 'blocked' &&
|
|
45
|
+
(row.status_code === 'settlement_interrupted' || row.status_code === 'recovery_unavailable') &&
|
|
46
|
+
row.is_continuation === 1 &&
|
|
47
|
+
(row.implementation_outcome === 'succeeded' || row.implementation_outcome === 'partially_succeeded') &&
|
|
48
|
+
row.pr_url !== null && row.branch !== null;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.actionAllowed = exports.isPrDecisionAction = exports.PR_DECISION_ACTIONS = void 0;
|
|
4
|
+
var decision_policy_1 = require("./domain/decision-policy");
|
|
5
|
+
Object.defineProperty(exports, "PR_DECISION_ACTIONS", { enumerable: true, get: function () { return decision_policy_1.PR_DECISION_ACTIONS; } });
|
|
6
|
+
Object.defineProperty(exports, "isPrDecisionAction", { enumerable: true, get: function () { return decision_policy_1.isPrDecisionAction; } });
|
|
7
|
+
Object.defineProperty(exports, "actionAllowed", { enumerable: true, get: function () { return decision_policy_1.actionAllowed; } });
|
package/server/dist/{active-pr-continuation.js → modules/delivery/runtime/active-pr-continuation.js}
RENAMED
|
@@ -37,9 +37,9 @@ exports.ExplicitPrTargetError = void 0;
|
|
|
37
37
|
exports.resolveExplicitPrTarget = resolveExplicitPrTarget;
|
|
38
38
|
exports.listPrCandidatesForTickets = listPrCandidatesForTickets;
|
|
39
39
|
exports.resolveActivePrContinuationTargets = resolveActivePrContinuationTargets;
|
|
40
|
-
const jira_db_1 = require("
|
|
40
|
+
const jira_db_1 = require("../../../jira/jira-db");
|
|
41
41
|
const rail_pr_store_1 = require("./rail-pr-store");
|
|
42
|
-
const integration_branch_1 = require("
|
|
42
|
+
const integration_branch_1 = require("../../../integration-branch");
|
|
43
43
|
const rail_worktrees_store_1 = require("./rail-worktrees-store");
|
|
44
44
|
const pr_lifecycle_1 = require("./pr-lifecycle");
|
|
45
45
|
const fs = __importStar(require("fs"));
|
|
@@ -23,9 +23,9 @@ exports.readSettleEvidence = readSettleEvidence;
|
|
|
23
23
|
*/
|
|
24
24
|
const fs_1 = __importDefault(require("fs"));
|
|
25
25
|
const path_1 = __importDefault(require("path"));
|
|
26
|
-
const loop_factory_1 = require("
|
|
27
|
-
const verification_sentinel_1 = require("
|
|
28
|
-
var verification_sentinel_2 = require("
|
|
26
|
+
const loop_factory_1 = require("../../loops/runtime/loop-factory");
|
|
27
|
+
const verification_sentinel_1 = require("../../execution/runtime/verification-sentinel");
|
|
28
|
+
var verification_sentinel_2 = require("../../execution/runtime/verification-sentinel");
|
|
29
29
|
Object.defineProperty(exports, "parseVerificationSentinel", { enumerable: true, get: function () { return verification_sentinel_2.parseVerificationSentinel; } });
|
|
30
30
|
/** Bounded tail of the verify step's raw output persisted per unit. */
|
|
31
31
|
exports.VERIFY_TAIL_CAP = 4096;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveRepositoryDeliveryBases = resolveRepositoryDeliveryBases;
|
|
4
4
|
const rail_pr_store_1 = require("./rail-pr-store");
|
|
5
|
-
const project_repositories_1 = require("
|
|
5
|
+
const project_repositories_1 = require("../../../project-repositories");
|
|
6
6
|
/** Resolve the latest delivered head per member from durable milestone history.
|
|
7
7
|
* The request names deliveries, never invents a repository/branch/SHA binding. */
|
|
8
8
|
async function resolveRepositoryDeliveryBases(db, project, selectedIds, value, git) {
|
package/server/dist/{multi-repo-checkout.js → modules/delivery/runtime/multi-repo-checkout.js}
RENAMED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.repositoryDeliveryCheckoutTarget = repositoryDeliveryCheckoutTarget;
|
|
4
4
|
exports.checkoutRepositoryDelivery = checkoutRepositoryDelivery;
|
|
5
|
-
const ids_1 = require("
|
|
6
|
-
const repo_lock_1 = require("
|
|
7
|
-
const project_git_1 = require("
|
|
5
|
+
const ids_1 = require("../../../ids");
|
|
6
|
+
const repo_lock_1 = require("../../../repo-lock");
|
|
7
|
+
const project_git_1 = require("../../../project-git");
|
|
8
8
|
const rail_pr_store_1 = require("./rail-pr-store");
|
|
9
9
|
const rail_worktree_release_1 = require("./rail-worktree-release");
|
|
10
10
|
const multi_repo_execution_1 = require("./multi-repo-execution");
|
|
11
|
-
const agent_chat_registry_1 = require("
|
|
11
|
+
const agent_chat_registry_1 = require("../../missions/runtime/agent-chat-registry");
|
|
12
12
|
function repositoryDeliveryCheckoutTarget(delivery) {
|
|
13
13
|
if (delivery.branch && delivery.deliverySha)
|
|
14
14
|
return { branch: delivery.branch, sha: delivery.deliverySha };
|
package/server/dist/{multi-repo-delivery.js → modules/delivery/runtime/multi-repo-delivery.js}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.executeRepositoryGroupDecision = executeRepositoryGroupDecision;
|
|
4
|
-
const ids_1 = require("
|
|
5
|
-
const repo_lock_1 = require("
|
|
6
|
-
const workspace_resolution_1 = require("
|
|
7
|
-
const agent_chat_registry_1 = require("
|
|
4
|
+
const ids_1 = require("../../../ids");
|
|
5
|
+
const repo_lock_1 = require("../../../repo-lock");
|
|
6
|
+
const workspace_resolution_1 = require("../../../workspace-resolution");
|
|
7
|
+
const agent_chat_registry_1 = require("../../missions/runtime/agent-chat-registry");
|
|
8
8
|
const rail_pr_decision_1 = require("./rail-pr-decision");
|
|
9
9
|
const rail_pr_store_1 = require("./rail-pr-store");
|
|
10
10
|
const rail_pr_ticket_effects_1 = require("./rail-pr-ticket-effects");
|
package/server/dist/{multi-repo-execution.js → modules/delivery/runtime/multi-repo-execution.js}
RENAMED
|
@@ -4,16 +4,16 @@ exports.getRepositoryExecutionReferences = exports.migrateMultiRepoExecution = v
|
|
|
4
4
|
exports.listRepositoryDeliveries = listRepositoryDeliveries;
|
|
5
5
|
exports.refreshRepositoryDeliveryGroup = refreshRepositoryDeliveryGroup;
|
|
6
6
|
exports.launchMultiRepositoryRail = launchMultiRepositoryRail;
|
|
7
|
-
const ids_1 = require("
|
|
8
|
-
const db_1 = require("
|
|
9
|
-
const integration_branch_1 = require("
|
|
10
|
-
const project_repositories_1 = require("
|
|
11
|
-
const repo_lock_1 = require("
|
|
12
|
-
const worktree_manager_1 = require("
|
|
13
|
-
const workspace_resolution_1 = require("
|
|
7
|
+
const ids_1 = require("../../../ids");
|
|
8
|
+
const db_1 = require("../../../db");
|
|
9
|
+
const integration_branch_1 = require("../../../integration-branch");
|
|
10
|
+
const project_repositories_1 = require("../../../project-repositories");
|
|
11
|
+
const repo_lock_1 = require("../../../repo-lock");
|
|
12
|
+
const worktree_manager_1 = require("../../../worktree-manager");
|
|
13
|
+
const workspace_resolution_1 = require("../../../workspace-resolution");
|
|
14
14
|
const rail_isolated_launch_1 = require("./rail-isolated-launch");
|
|
15
15
|
const rail_pr_store_1 = require("./rail-pr-store");
|
|
16
|
-
const agent_chat_registry_1 = require("
|
|
16
|
+
const agent_chat_registry_1 = require("../../missions/runtime/agent-chat-registry");
|
|
17
17
|
const rail_pr_ticket_effects_1 = require("./rail-pr-ticket-effects");
|
|
18
18
|
const multi_repo_execution_store_1 = require("./multi-repo-execution-store");
|
|
19
19
|
var multi_repo_execution_store_2 = require("./multi-repo-execution-store");
|
|
@@ -6,7 +6,7 @@ exports.parseShortstat = parseShortstat;
|
|
|
6
6
|
exports.parseNameStatus = parseNameStatus;
|
|
7
7
|
exports.buildCanonicalPrBody = buildCanonicalPrBody;
|
|
8
8
|
exports.extractSpecNarrative = extractSpecNarrative;
|
|
9
|
-
const explore_contract_refine_1 = require("
|
|
9
|
+
const explore_contract_refine_1 = require("../../conversations/runtime/explore-contract-refine");
|
|
10
10
|
const pr_naming_1 = require("./pr-naming");
|
|
11
11
|
const TEST_FILE_RE = /(\.test\.[jt]sx?|\.spec\.[jt]sx?)$/;
|
|
12
12
|
const PROBLEM_MAX = 600;
|
package/server/dist/{pr-follow-up-scope.js → modules/delivery/runtime/pr-follow-up-scope.js}
RENAMED
|
@@ -9,9 +9,9 @@ exports.parseFollowUpReport = parseFollowUpReport;
|
|
|
9
9
|
// The PURE half of the follow-up contract (types, validation, the briefing every
|
|
10
10
|
// phase receives, the per-comment report parser). No Node APIs: this module is
|
|
11
11
|
// shared by server and client — the client copy lives at
|
|
12
|
-
// client/src/lib/pr-follow-up-scope.ts and MUST stay byte-identical (a parity
|
|
12
|
+
// client/src/features/delivery/lib/pr-follow-up-scope.ts and MUST stay byte-identical (a parity
|
|
13
13
|
// test guards that). Freezing (id + sha256 hash) and persistence live in
|
|
14
|
-
// server/pr-follow-up.ts.
|
|
14
|
+
// server/modules/delivery/runtime/pr-follow-up.ts.
|
|
15
15
|
//
|
|
16
16
|
exports.FOLLOW_UP_VERSION = 1;
|
|
17
17
|
exports.FOLLOW_UP_KIND = 'pr-review-fix';
|
|
@@ -45,7 +45,7 @@ exports.readFollowUp = readFollowUp;
|
|
|
45
45
|
* and the persisted-column reader.
|
|
46
46
|
*/
|
|
47
47
|
const crypto_1 = require("crypto");
|
|
48
|
-
const ids_1 = require("
|
|
48
|
+
const ids_1 = require("../../../ids");
|
|
49
49
|
const pr_follow_up_scope_1 = require("./pr-follow-up-scope");
|
|
50
50
|
__exportStar(require("./pr-follow-up-scope"), exports);
|
|
51
51
|
function followUpHash(input) {
|
|
@@ -33,7 +33,7 @@ exports.buildPrTitle = buildPrTitle;
|
|
|
33
33
|
* docs | doc | documentation → docs
|
|
34
34
|
* anything else → feat
|
|
35
35
|
*/
|
|
36
|
-
const integration_branch_1 = require("
|
|
36
|
+
const integration_branch_1 = require("../../../integration-branch");
|
|
37
37
|
const TYPE_PATTERNS = [
|
|
38
38
|
{ type: 'fix', re: /(^|[^a-z0-9])(bug|bugfix|fix|fixes|fixed|hotfix)([^a-z0-9]|$)/i },
|
|
39
39
|
{ type: 'chore', re: /(^|[^a-z0-9])(chore|refactor|refactoring|cleanup|clean-up|maintenance)([^a-z0-9]|$)/i },
|
|
@@ -24,8 +24,8 @@ exports.publishDraftPr = publishDraftPr;
|
|
|
24
24
|
* Pure over an injectable `Exec` so it is unit-tested without git/gh or a network.
|
|
25
25
|
*/
|
|
26
26
|
const child_process_1 = require("child_process");
|
|
27
|
-
const git_guardrails_1 = require("
|
|
28
|
-
const win_spawn_1 = require("
|
|
27
|
+
const git_guardrails_1 = require("../../../git-guardrails");
|
|
28
|
+
const win_spawn_1 = require("../../../util/win-spawn");
|
|
29
29
|
exports.PR_COMMAND_TIMEOUT_MS = 120_000;
|
|
30
30
|
function createBoundedExec(timeoutMs = exports.PR_COMMAND_TIMEOUT_MS) {
|
|
31
31
|
const boundedTimeoutMs = Math.max(1, Math.floor(timeoutMs));
|
package/server/dist/{rail-isolated-launch.js → modules/delivery/runtime/rail-isolated-launch.js}
RENAMED
|
@@ -63,44 +63,44 @@ exports.reconcileRailWorktrees = reconcileRailWorktrees;
|
|
|
63
63
|
*/
|
|
64
64
|
const path = __importStar(require("path"));
|
|
65
65
|
const fs = __importStar(require("fs"));
|
|
66
|
-
const artifact_registry_1 = require("
|
|
67
|
-
const ids_1 = require("
|
|
68
|
-
const loop_constants_1 = require("
|
|
69
|
-
const worktree_manager_1 = require("
|
|
70
|
-
const agent_runtime_paths_1 = require("
|
|
66
|
+
const artifact_registry_1 = require("../../../artifact-registry");
|
|
67
|
+
const ids_1 = require("../../../ids");
|
|
68
|
+
const loop_constants_1 = require("../../loops/runtime/loop-constants");
|
|
69
|
+
const worktree_manager_1 = require("../../../worktree-manager");
|
|
70
|
+
const agent_runtime_paths_1 = require("../../agent-runtime/runtime/agent-runtime-paths");
|
|
71
71
|
const rail_worktrees_store_1 = require("./rail-worktrees-store");
|
|
72
72
|
const pr_naming_1 = require("./pr-naming");
|
|
73
|
-
const jira_db_1 = require("
|
|
74
|
-
const db_1 = require("
|
|
73
|
+
const jira_db_1 = require("../../../jira/jira-db");
|
|
74
|
+
const db_1 = require("../../../db");
|
|
75
75
|
const delivery_evidence_1 = require("./delivery-evidence");
|
|
76
|
-
const integration_branch_1 = require("
|
|
77
|
-
const repo_lock_1 = require("
|
|
78
|
-
const project_repositories_1 = require("
|
|
76
|
+
const integration_branch_1 = require("../../../integration-branch");
|
|
77
|
+
const repo_lock_1 = require("../../../repo-lock");
|
|
78
|
+
const project_repositories_1 = require("../../../project-repositories");
|
|
79
79
|
const multi_repo_execution_store_1 = require("./multi-repo-execution-store");
|
|
80
80
|
const rail_isolation_1 = require("./rail-isolation");
|
|
81
81
|
const rail_pr_store_1 = require("./rail-pr-store");
|
|
82
|
-
const agent_chat_registry_1 = require("
|
|
83
|
-
const mission_run_notify_1 = require("
|
|
82
|
+
const agent_chat_registry_1 = require("../../missions/runtime/agent-chat-registry");
|
|
83
|
+
const mission_run_notify_1 = require("../../missions/runtime/mission-run-notify");
|
|
84
84
|
const rails_store_1 = require("./rails-store");
|
|
85
|
-
const agent_runtime_controls_router_1 = require("
|
|
85
|
+
const agent_runtime_controls_router_1 = require("../../agent-runtime/runtime/agent-runtime-controls-router");
|
|
86
86
|
const rail_merge_orchestrator_1 = require("./rail-merge-orchestrator");
|
|
87
|
-
const loop_executors_1 = require("
|
|
88
|
-
const worktree_overlay_1 = require("
|
|
89
|
-
const worktree_node_modules_1 = require("
|
|
90
|
-
const revision_seed_1 = require("
|
|
87
|
+
const loop_executors_1 = require("../../loops/runtime/loop-executors");
|
|
88
|
+
const worktree_overlay_1 = require("../../../worktree-overlay");
|
|
89
|
+
const worktree_node_modules_1 = require("../../../worktree-node-modules");
|
|
90
|
+
const revision_seed_1 = require("../../execution/runtime/revision-seed");
|
|
91
91
|
const pr_follow_up_1 = require("./pr-follow-up");
|
|
92
|
-
const spec_addenda_1 = require("
|
|
93
|
-
const workspace_resolution_1 = require("
|
|
94
|
-
const feature_flags_1 = require("
|
|
95
|
-
const file_provenance_1 = require("
|
|
96
|
-
const file_story_1 = require("
|
|
97
|
-
const providers_1 = require("
|
|
92
|
+
const spec_addenda_1 = require("../../specs/runtime/spec-addenda");
|
|
93
|
+
const workspace_resolution_1 = require("../../../workspace-resolution");
|
|
94
|
+
const feature_flags_1 = require("../../../feature-flags");
|
|
95
|
+
const file_provenance_1 = require("../../code/runtime/file-provenance");
|
|
96
|
+
const file_story_1 = require("../../code/runtime/file-story");
|
|
97
|
+
const providers_1 = require("../../../providers");
|
|
98
98
|
const pr_publisher_1 = require("./pr-publisher");
|
|
99
99
|
const active_pr_continuation_1 = require("./active-pr-continuation");
|
|
100
100
|
const pr_lifecycle_1 = require("./pr-lifecycle");
|
|
101
101
|
const rail_worktree_release_1 = require("./rail-worktree-release");
|
|
102
102
|
const rail_pr_recovery_git_1 = require("./rail-pr-recovery-git");
|
|
103
|
-
const loop_graph_1 = require("
|
|
103
|
+
const loop_graph_1 = require("../../loops/runtime/loop-graph");
|
|
104
104
|
/** A PR follow-up may only run on the verified PR branch in a dedicated
|
|
105
105
|
* worktree. Routers must surface this error instead of degrading to shared cwd. */
|
|
106
106
|
class PrContinuationIsolationError extends Error {
|
|
@@ -143,7 +143,7 @@ function unitNamingInput(ctx, ticketId) {
|
|
|
143
143
|
* no snapshot or evidence), and never throws — a thinner briefing is far better
|
|
144
144
|
* than a failed revision launch.
|
|
145
145
|
*/
|
|
146
|
-
function buildRevisionSeedForLaunch(db, revision, ticketIds) {
|
|
146
|
+
function buildRevisionSeedForLaunch(db, revision, ticketIds, includeSpecBody = true) {
|
|
147
147
|
try {
|
|
148
148
|
const previous = (0, rail_pr_store_1.getPrDelivery)(db, revision.ofDeliveryId);
|
|
149
149
|
const branches = previous
|
|
@@ -159,6 +159,7 @@ function buildRevisionSeedForLaunch(db, revision, ticketIds) {
|
|
|
159
159
|
}
|
|
160
160
|
return (0, revision_seed_1.buildRevisionSeed)({
|
|
161
161
|
note: revision.note,
|
|
162
|
+
includeSpecBody,
|
|
162
163
|
specSnapshot: previous ? (0, rail_pr_store_1.readSpecSnapshot)(previous.spec_snapshot) : null,
|
|
163
164
|
ticketIds: [...ticketIds],
|
|
164
165
|
branches,
|
|
@@ -431,7 +432,7 @@ async function launchIsolatedRail(input, io = {}) {
|
|
|
431
432
|
const constants = input.revision
|
|
432
433
|
? {
|
|
433
434
|
...(0, loop_constants_1.loadConstantMap)(ctx.desktopDb),
|
|
434
|
-
REVISION_REQUEST: buildRevisionSeedForLaunch(ctx.db, input.revision, ticketIds),
|
|
435
|
+
REVISION_REQUEST: buildRevisionSeedForLaunch(ctx.db, input.revision, ticketIds, !['factory:sdd-quick-openspec', 'factory:openspec', 'factory:revision'].includes(loopId)),
|
|
435
436
|
}
|
|
436
437
|
: (0, loop_constants_1.loadConstantMap)(ctx.desktopDb);
|
|
437
438
|
// Spec addenda (spec-addenda): the iteration notes the specs carry are
|
|
@@ -1230,7 +1231,8 @@ async function launchIsolatedRail(input, io = {}) {
|
|
|
1230
1231
|
});
|
|
1231
1232
|
const spec = ctx.getTicketSpec(a.ticketId);
|
|
1232
1233
|
const claimedAddenda = (0, spec_addenda_1.claimSpecAddendaForRun)(addendaStorePath, a.ticketIds, a.runId, {
|
|
1233
|
-
plan: addendaPlan.filter((e) => a.ticketIds.includes(e.ticketId))
|
|
1234
|
+
plan: addendaPlan.filter((e) => a.ticketIds.includes(e.ticketId)).map((entry) => launchContinuation || input.revision || input.repositoryContinuation
|
|
1235
|
+
? { ...entry, status: 'on_review' } : entry),
|
|
1234
1236
|
});
|
|
1235
1237
|
(0, spec_addenda_1.broadcastSpecAddendaChange)((msg) => ctx.broadcast(msg), ctx.project.id, claimedAddenda);
|
|
1236
1238
|
const enginePromise = ctx.loopRunManager.run({
|
package/server/dist/{rail-launch-parser.js → modules/delivery/runtime/rail-launch-parser.js}
RENAMED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// fenced ```rail-launch JSON block instead of prose. The mission renders it as
|
|
5
5
|
// an editable launch card (client/src/components/agent-chat/AgentRailLaunchCard).
|
|
6
6
|
// This module is the parser HALF shared by server and client — the client copy
|
|
7
|
-
// lives at client/src/lib/rail-launch-draft.ts and MUST stay byte-identical
|
|
7
|
+
// lives at client/src/features/rails/lib/rail-launch-draft.ts and MUST stay byte-identical
|
|
8
8
|
// except for its import path (a parity test guards that).
|
|
9
9
|
//
|
|
10
10
|
// Tolerance (spec-draft precedent + snapshot hardening): unknown keys are
|
|
@@ -18,7 +18,7 @@ exports.RAIL_LAUNCH_MODES = exports.RAIL_LAUNCH_PROPOSAL_VERSION = exports.RAIL_
|
|
|
18
18
|
exports.coerceRailLaunchProposal = coerceRailLaunchProposal;
|
|
19
19
|
exports.extractRailLaunchProposals = extractRailLaunchProposals;
|
|
20
20
|
exports.looksLikeRailLaunch = looksLikeRailLaunch;
|
|
21
|
-
const json_tolerant_1 = require("
|
|
21
|
+
const json_tolerant_1 = require("../../../json-tolerant");
|
|
22
22
|
const pr_follow_up_scope_1 = require("./pr-follow-up-scope");
|
|
23
23
|
exports.RAIL_LAUNCH_FENCE = 'rail-launch';
|
|
24
24
|
exports.RAIL_LAUNCH_PROPOSAL_VERSION = 1;
|
|
@@ -12,12 +12,12 @@ exports.runMergeBack = runMergeBack;
|
|
|
12
12
|
* without spawning a CLI or touching a real repo. The AI steps run in the BASE
|
|
13
13
|
* repo (where the merges happen), using the rail's provider/model.
|
|
14
14
|
*/
|
|
15
|
-
const loop_command_catalog_1 = require("
|
|
16
|
-
const loop_constants_1 = require("
|
|
15
|
+
const loop_command_catalog_1 = require("../../loops/runtime/loop-command-catalog");
|
|
16
|
+
const loop_constants_1 = require("../../loops/runtime/loop-constants");
|
|
17
17
|
const merge_manager_1 = require("./merge-manager");
|
|
18
|
-
const repo_lock_1 = require("
|
|
19
|
-
const ai_invocations_1 = require("
|
|
20
|
-
const ids_1 = require("
|
|
18
|
+
const repo_lock_1 = require("../../../repo-lock");
|
|
19
|
+
const ai_invocations_1 = require("../../accounting/runtime/ai-invocations");
|
|
20
|
+
const ids_1 = require("../../../ids");
|
|
21
21
|
/**
|
|
22
22
|
* Persist one merge-back AI step as a `surface='job'` invocation row. Cost /
|
|
23
23
|
* estimated / tokens are already resolved by `finaliseInvocationResult` inside
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sweepMergedChainAncestors = exports.executePrDecision = exports.actionAllowed = exports.isPrDecisionAction = exports.PR_DECISION_ACTIONS = void 0;
|
|
4
|
+
/** Compatibility entry point; decision workflows have capability-owned implementations. */
|
|
5
|
+
var __1 = require("..");
|
|
6
|
+
Object.defineProperty(exports, "PR_DECISION_ACTIONS", { enumerable: true, get: function () { return __1.PR_DECISION_ACTIONS; } });
|
|
7
|
+
Object.defineProperty(exports, "isPrDecisionAction", { enumerable: true, get: function () { return __1.isPrDecisionAction; } });
|
|
8
|
+
Object.defineProperty(exports, "actionAllowed", { enumerable: true, get: function () { return __1.actionAllowed; } });
|
|
9
|
+
var dispatch_1 = require("../adapters/decisions/dispatch");
|
|
10
|
+
Object.defineProperty(exports, "executePrDecision", { enumerable: true, get: function () { return dispatch_1.executePrDecision; } });
|
|
11
|
+
var chains_1 = require("../adapters/decisions/chains");
|
|
12
|
+
Object.defineProperty(exports, "sweepMergedChainAncestors", { enumerable: true, get: function () { return chains_1.sweepMergedChainAncestors; } });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deliverRailAsPr = deliverRailAsPr;
|
|
4
|
-
const worktree_manager_1 = require("
|
|
4
|
+
const worktree_manager_1 = require("../../../worktree-manager");
|
|
5
5
|
const pr_naming_1 = require("./pr-naming");
|
|
6
6
|
const pr_publisher_1 = require("./pr-publisher");
|
|
7
7
|
async function deliverRailAsPr(git, exec, input) {
|
|
@@ -42,8 +42,8 @@ exports.missionPhaseForDecision = missionPhaseForDecision;
|
|
|
42
42
|
* pr-publisher and the launch wiring in rail-isolated-launch.
|
|
43
43
|
*/
|
|
44
44
|
const pr_follow_up_1 = require("./pr-follow-up");
|
|
45
|
-
const spec_addenda_core_1 = require("
|
|
46
|
-
const ids_1 = require("
|
|
45
|
+
const spec_addenda_core_1 = require("../../specs/runtime/spec-addenda-core");
|
|
46
|
+
const ids_1 = require("../../../ids");
|
|
47
47
|
const multi_repo_execution_store_1 = require("./multi-repo-execution-store");
|
|
48
48
|
/** Defensive per-ticket cap; contract-layer specs run long but bounded. */
|
|
49
49
|
const SPEC_SNAPSHOT_DESCRIPTION_CAP = 32_768;
|
package/server/dist/{rail-pr-ticket-effects.js → modules/delivery/runtime/rail-pr-ticket-effects.js}
RENAMED
|
@@ -5,9 +5,9 @@ exports.applyRailPrTicketEffect = applyRailPrTicketEffect;
|
|
|
5
5
|
exports.replayPendingRailPrTicketEffects = replayPendingRailPrTicketEffects;
|
|
6
6
|
exports.replayRailPrTicketEffectsUntilSettled = replayRailPrTicketEffectsUntilSettled;
|
|
7
7
|
const rail_pr_store_1 = require("./rail-pr-store");
|
|
8
|
-
const ticket_store_1 = require("
|
|
9
|
-
const spec_addenda_1 = require("
|
|
10
|
-
const workspace_resolution_1 = require("
|
|
8
|
+
const ticket_store_1 = require("../../specs/runtime/ticket-store");
|
|
9
|
+
const spec_addenda_1 = require("../../specs/runtime/spec-addenda");
|
|
10
|
+
const workspace_resolution_1 = require("../../../workspace-resolution");
|
|
11
11
|
/** Commit the terminal decision and its external ticket-file intent together. */
|
|
12
12
|
function transitionClaimedDecisionWithTicketEffect(db, id, expected, next, operationToken, patch, effect) {
|
|
13
13
|
return db.transaction(() => {
|
package/server/dist/{rail-worktree-release.js → modules/delivery/runtime/rail-worktree-release.js}
RENAMED
|
@@ -37,13 +37,13 @@ exports.durableBranchHeads = durableBranchHeads;
|
|
|
37
37
|
exports.durableOverlayCleanupEvidence = durableOverlayCleanupEvidence;
|
|
38
38
|
exports.durableSettlementIgnoredPaths = durableSettlementIgnoredPaths;
|
|
39
39
|
exports.releaseRailWorktrees = releaseRailWorktrees;
|
|
40
|
-
const repo_lock_1 = require("
|
|
40
|
+
const repo_lock_1 = require("../../../repo-lock");
|
|
41
41
|
const rail_worktrees_store_1 = require("./rail-worktrees-store");
|
|
42
|
-
const worktree_manager_1 = require("
|
|
42
|
+
const worktree_manager_1 = require("../../../worktree-manager");
|
|
43
43
|
const path = __importStar(require("path"));
|
|
44
44
|
const fs = __importStar(require("fs"));
|
|
45
|
-
const worktree_overlay_1 = require("
|
|
46
|
-
const worktree_node_modules_1 = require("
|
|
45
|
+
const worktree_overlay_1 = require("../../../worktree-overlay");
|
|
46
|
+
const worktree_node_modules_1 = require("../../../worktree-node-modules");
|
|
47
47
|
const COMMIT_SHA_RE = /^[0-9a-f]{40,64}$/i;
|
|
48
48
|
/** Collapse per-unit settlement evidence into one unambiguous immutable HEAD per
|
|
49
49
|
* branch. Conflicting or malformed records intentionally yield no authorization. */
|