specrails-desktop 2.55.0 → 2.55.1
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-DmJcQpNe.js} +1 -1
- package/client/dist/assets/{AgentBrowserCapture-UcsupCy7.js → AgentBrowserCapture-NxBHrU-V.js} +1 -1
- package/client/dist/assets/{AgentModeAnalyticsPane-CQuxYh8B.js → AgentModeAnalyticsPane-CGAKTJfU.js} +2 -2
- package/client/dist/assets/{AgentModeCodePane-zPWbW7ei.js → AgentModeCodePane-DNSs5_oe.js} +2 -2
- package/client/dist/assets/{AgentModeJobsPane-CInByIdl.js → AgentModeJobsPane-DLoVYDnG.js} +1 -1
- package/client/dist/assets/{AgentsPage-BWvgxaBv.js → AgentsPage-CAzMn9Gg.js} +1 -1
- package/client/dist/assets/{AnalyticsPage-DP3jakv-.js → AnalyticsPage-C06KT4Y0.js} +1 -1
- package/client/dist/assets/{CodePage-BKXiwE5a.js → CodePage-aX1mxGyT.js} +1 -1
- package/client/dist/assets/{DesktopAnalyticsPage-DryJOaMz.js → DesktopAnalyticsPage-BtscfiQD.js} +1 -1
- package/client/dist/assets/{DocsDialog-BsCG9ksG.js → DocsDialog-CNOcXhp-.js} +1 -1
- package/client/dist/assets/{DocsPage-Cc-GeKYl.js → DocsPage-C2BugxaI.js} +1 -1
- package/client/dist/assets/{ExportDropdown-ClahJdDn.js → ExportDropdown-BVGKEgkd.js} +1 -1
- package/client/dist/assets/{InteractiveJobComposer-DfLF6N0f.js → InteractiveJobComposer-CCncBqNu.js} +1 -1
- package/client/dist/assets/{JobDetailModal-DHeur9YK.js → JobDetailModal-Cn_k3-RM.js} +1 -1
- package/client/dist/assets/{JobDetailPage-CraDKzeG.js → JobDetailPage-BogJFBsk.js} +1 -1
- package/client/dist/assets/{JobsPage-CcbuSwj7.js → JobsPage-DL4E8ZyU.js} +1 -1
- package/client/dist/assets/{LoopBuilderPage-BKtNp494.js → LoopBuilderPage-9L6URQLY.js} +1 -1
- package/client/dist/assets/{LoopPreviewModal-DbZd9isy.js → LoopPreviewModal-CAPqTIgL.js} +1 -1
- package/client/dist/assets/{LoopsPage-DEg6sIkG.js → LoopsPage-aU8dYw7L.js} +1 -1
- package/client/dist/assets/{MinimizedChatsContext-BGtEjWsc.js → MinimizedChatsContext-D3QzgV0B.js} +1 -1
- package/client/dist/assets/{PluginsPage-BVqSsPzL.js → PluginsPage-D_tsW9B5.js} +1 -1
- package/client/dist/assets/{ProjectSettingsDialog-CAjLgJAZ.js → ProjectSettingsDialog-_ZbNuspP.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-CG-Dv0El.js +4 -0
- package/client/dist/assets/{TemplatePreviewModal-Bqs-9fhn.js → TemplatePreviewModal-C19H2b2o.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-BfAZg5DG.js → index-BcligJ3-.js} +29 -29
- package/client/dist/assets/index-C51x61Bz.css +2 -0
- 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 +15 -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/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/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 +1354 -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/mcp-admin-router.js +1 -1
- package/server/dist/mcp/mcp-server.js +1 -1
- package/server/dist/mcp/tools/jobs.js +1 -1
- package/server/dist/mcp/tools/rails.js +2 -2
- package/server/dist/mcp/tools/specs.js +2 -2
- 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} +1 -1
- 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.js → modules/agent-runtime/runtime/agent-runtime-controls.js} +7 -7
- 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/{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-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} +17 -7
- 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} +1 -1
- 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/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-controls-router.js → modules/agent-runtime/runtime/agent-runtime-controls-router.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-failure-briefing.js → modules/missions/runtime/agent-failure-briefing.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
|
@@ -1,14 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* SPECs SMASH — Runner
|
|
4
|
-
*
|
|
5
|
-
* Standalone orchestrator for a single SMASH turn. Spawns a fresh `claude`
|
|
6
|
-
* with the byte-stable SMASH system prompt, parses the JSON response, then
|
|
7
|
-
* atomically flips the parent ticket to `is_epic` and inserts N child
|
|
8
|
-
* tickets inside a single `mutateStore` callback.
|
|
9
|
-
*
|
|
10
|
-
* See openspec/changes/add-specs-smash.
|
|
11
|
-
*/
|
|
12
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
3
|
if (k2 === undefined) k2 = k;
|
|
14
4
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -55,21 +45,32 @@ exports.applySmashUndo = applySmashUndo;
|
|
|
55
45
|
exports.applyDeleteEpicChildren = applyDeleteEpicChildren;
|
|
56
46
|
exports.runSmash = runSmash;
|
|
57
47
|
exports.runSmashUndo = runSmashUndo;
|
|
48
|
+
const distribute_int_1 = require("../../../util/distribute-int");
|
|
49
|
+
/**
|
|
50
|
+
* SPECs SMASH — Runner
|
|
51
|
+
*
|
|
52
|
+
* Standalone orchestrator for a single SMASH turn. Spawns a fresh `claude`
|
|
53
|
+
* with the byte-stable SMASH system prompt, parses the JSON response, then
|
|
54
|
+
* atomically flips the parent ticket to `is_epic` and inserts N child
|
|
55
|
+
* tickets inside a single `mutateStore` callback.
|
|
56
|
+
*
|
|
57
|
+
* See openspec/changes/add-specs-smash.
|
|
58
|
+
*/
|
|
58
59
|
const node_crypto_1 = require("node:crypto");
|
|
59
60
|
const node_readline_1 = require("node:readline");
|
|
60
61
|
const tree_kill_1 = __importDefault(require("tree-kill"));
|
|
61
|
-
const cli_prompt_1 = require("
|
|
62
|
-
const spawn_lifecycle_1 = require("
|
|
63
|
-
const providers_1 = require("
|
|
64
|
-
const explore_smash_1 = require("
|
|
65
|
-
const explore_cwd_manager_1 = require("
|
|
66
|
-
const workspace_resolution_1 = require("
|
|
67
|
-
const ai_invocations_1 = require("
|
|
68
|
-
const result_event_1 = require("
|
|
62
|
+
const cli_prompt_1 = require("../../../util/cli-prompt");
|
|
63
|
+
const spawn_lifecycle_1 = require("../../execution/runtime/spawn-lifecycle");
|
|
64
|
+
const providers_1 = require("../../../providers");
|
|
65
|
+
const explore_smash_1 = require("../../conversations/runtime/explore-smash");
|
|
66
|
+
const explore_cwd_manager_1 = require("../../conversations/runtime/explore-cwd-manager");
|
|
67
|
+
const workspace_resolution_1 = require("../../../workspace-resolution");
|
|
68
|
+
const ai_invocations_1 = require("../../accounting/runtime/ai-invocations");
|
|
69
|
+
const result_event_1 = require("../../accounting/runtime/result-event");
|
|
69
70
|
const ticket_store_1 = require("./ticket-store");
|
|
70
71
|
const ticket_store_2 = require("./ticket-store");
|
|
71
|
-
const runtime_1 = require("
|
|
72
|
-
const transient_children_1 = require("
|
|
72
|
+
const runtime_1 = require("../../../providers/runtime");
|
|
73
|
+
const transient_children_1 = require("../../../transient-children");
|
|
73
74
|
/** Resolve the tickets-store path for a SMASH run: the gated `ticketsPath` when
|
|
74
75
|
* the caller threaded it (relocation-aware), else the legacy repo-relative
|
|
75
76
|
* derivation. */
|
|
@@ -419,39 +420,6 @@ function recordSafely(deps, adapter, ticketId, runId, startedAt, finishedAt, sta
|
|
|
419
420
|
console.error('[smash-runner] recordInvocation failed:', err);
|
|
420
421
|
}
|
|
421
422
|
}
|
|
422
|
-
/**
|
|
423
|
-
* Distribute an integer `total` across `n` buckets using the largest-remainder
|
|
424
|
-
* method so the per-bucket values sum EXACTLY to `total` (no floor loss). The
|
|
425
|
-
* base share goes to every bucket; the leftover remainder is handed out one
|
|
426
|
-
* unit at a time to the leading buckets. Returns `undefined` when the input is
|
|
427
|
-
* absent so the recorded row carries no value (rather than a spurious 0).
|
|
428
|
-
*
|
|
429
|
-
* LOW-9: the previous `Math.floor(total / n)` dropped up to n-1 units per field
|
|
430
|
-
* and — because SMASH turn counts (1-30) are the same magnitude as the child
|
|
431
|
-
* count (3-8) — regularly collapsed num_turns to 0 for every child.
|
|
432
|
-
*/
|
|
433
|
-
function distributeInt(total, n) {
|
|
434
|
-
if (total === null || total === undefined)
|
|
435
|
-
return new Array(n).fill(undefined);
|
|
436
|
-
const t = Math.trunc(total);
|
|
437
|
-
const base = Math.floor(t / n);
|
|
438
|
-
let remainder = t - base * n;
|
|
439
|
-
const out = new Array(n);
|
|
440
|
-
for (let i = 0; i < n; i++) {
|
|
441
|
-
// Hand the leftover to the leading buckets; sign-safe for negative totals.
|
|
442
|
-
if (remainder > 0) {
|
|
443
|
-
out[i] = base + 1;
|
|
444
|
-
remainder -= 1;
|
|
445
|
-
}
|
|
446
|
-
else if (remainder < 0) {
|
|
447
|
-
out[i] = base - 1;
|
|
448
|
-
remainder += 1;
|
|
449
|
-
}
|
|
450
|
-
else
|
|
451
|
-
out[i] = base;
|
|
452
|
-
}
|
|
453
|
-
return out;
|
|
454
|
-
}
|
|
455
423
|
/**
|
|
456
424
|
* On a successful SMASH, attribute the spawn cost/tokens proportionally to
|
|
457
425
|
* each Sub-Spec so the per-child spending line is populated immediately.
|
|
@@ -473,11 +441,11 @@ function recordChildrenInvocations(deps, adapter, childrenIds, runId, startedAt,
|
|
|
473
441
|
return v / n;
|
|
474
442
|
};
|
|
475
443
|
// Largest-remainder splits for the integer fields (sum exactly to the total).
|
|
476
|
-
const tokensIn =
|
|
477
|
-
const tokensOut =
|
|
478
|
-
const tokensCacheRead =
|
|
479
|
-
const tokensCacheCreate =
|
|
480
|
-
const numTurns =
|
|
444
|
+
const tokensIn = (0, distribute_int_1.distributeIntEvenly)(normalised.tokens_in, n);
|
|
445
|
+
const tokensOut = (0, distribute_int_1.distributeIntEvenly)(normalised.tokens_out, n);
|
|
446
|
+
const tokensCacheRead = (0, distribute_int_1.distributeIntEvenly)(normalised.tokens_cache_read, n);
|
|
447
|
+
const tokensCacheCreate = (0, distribute_int_1.distributeIntEvenly)(normalised.tokens_cache_create, n);
|
|
448
|
+
const numTurns = (0, distribute_int_1.distributeIntEvenly)(normalised.num_turns, n);
|
|
481
449
|
childrenIds.forEach((childId, i) => {
|
|
482
450
|
// LOW-12: try/catch INSIDE the loop so one failed row (e.g. a transient
|
|
483
451
|
// SQLITE_BUSY) cannot abandon the remaining children's cost.
|
|
@@ -19,9 +19,9 @@ exports.parseSpecAddendaReport = parseSpecAddendaReport;
|
|
|
19
19
|
// The PURE half of the spec-addenda contract: types, validation, the briefing
|
|
20
20
|
// every phase of a run receives, and the per-addendum report parser. No Node
|
|
21
21
|
// APIs — this module is shared by server and client (the client copy lives at
|
|
22
|
-
// client/src/lib/spec-addenda-core.ts and MUST stay byte-identical; a parity
|
|
22
|
+
// client/src/features/specs/lib/spec-addenda-core.ts and MUST stay byte-identical; a parity
|
|
23
23
|
// test guards that). Ids, hashing and the ticket-store lifecycle live in
|
|
24
|
-
// server/spec-addenda.ts.
|
|
24
|
+
// server/modules/specs/runtime/spec-addenda.ts.
|
|
25
25
|
//
|
|
26
26
|
// WHY ADDENDA EXIST. Iterating on a spec that already has work behind it (a
|
|
27
27
|
// delivered PR, a merged feature, a half-done implementation) used to have one
|
|
@@ -31,7 +31,7 @@ exports.settleSpecAddendaAt = settleSpecAddendaAt;
|
|
|
31
31
|
exports.reopenSpecAddenda = reopenSpecAddenda;
|
|
32
32
|
exports.broadcastSpecAddendaChange = broadcastSpecAddendaChange;
|
|
33
33
|
// ─── Spec addenda — the Node half (ids, hashing, ticket-store lifecycle) ─────
|
|
34
|
-
// See server/spec-addenda-core.ts for the contract and the WHY. This module
|
|
34
|
+
// See server/modules/specs/runtime/spec-addenda-core.ts for the contract and the WHY. This module
|
|
35
35
|
// owns everything that touches the ticket store: creating/editing addenda on a
|
|
36
36
|
// ticket, CLAIMING them for a launch (open → in_flight), SETTLING them when the
|
|
37
37
|
// job/run ends (in_flight → applied, or back to open on failure/cancel) and
|
|
@@ -39,9 +39,9 @@ exports.broadcastSpecAddendaChange = broadcastSpecAddendaChange;
|
|
|
39
39
|
// `mutateStore` (advisory lock + atomic rename) and never touches any other
|
|
40
40
|
// ticket field — in particular never `description`.
|
|
41
41
|
const crypto_1 = require("crypto");
|
|
42
|
-
const ids_1 = require("
|
|
42
|
+
const ids_1 = require("../../../ids");
|
|
43
43
|
const ticket_store_1 = require("./ticket-store");
|
|
44
|
-
const workspace_resolution_1 = require("
|
|
44
|
+
const workspace_resolution_1 = require("../../../workspace-resolution");
|
|
45
45
|
const spec_addenda_core_1 = require("./spec-addenda-core");
|
|
46
46
|
__exportStar(require("./spec-addenda-core"), exports);
|
|
47
47
|
function specAddendumHash(input) {
|
package/server/dist/{spec-launcher-manager.js → modules/specs/runtime/spec-launcher-manager.js}
RENAMED
|
@@ -7,14 +7,14 @@ exports.SpecLauncherManager = void 0;
|
|
|
7
7
|
const readline_1 = require("readline");
|
|
8
8
|
const crypto_1 = require("crypto");
|
|
9
9
|
const tree_kill_1 = __importDefault(require("tree-kill"));
|
|
10
|
-
const command_resolver_1 = require("
|
|
11
|
-
const cli_prompt_1 = require("
|
|
12
|
-
const providers_1 = require("
|
|
13
|
-
const result_event_1 = require("
|
|
14
|
-
const ai_invocations_1 = require("
|
|
15
|
-
const runtime_1 = require("
|
|
16
|
-
const loop_command_catalog_1 = require("
|
|
17
|
-
const workspace_resolution_1 = require("
|
|
10
|
+
const command_resolver_1 = require("../../../command-resolver");
|
|
11
|
+
const cli_prompt_1 = require("../../../util/cli-prompt");
|
|
12
|
+
const providers_1 = require("../../../providers");
|
|
13
|
+
const result_event_1 = require("../../accounting/runtime/result-event");
|
|
14
|
+
const ai_invocations_1 = require("../../accounting/runtime/ai-invocations");
|
|
15
|
+
const runtime_1 = require("../../../providers/runtime");
|
|
16
|
+
const loop_command_catalog_1 = require("../../loops/runtime/loop-command-catalog");
|
|
17
|
+
const workspace_resolution_1 = require("../../../workspace-resolution");
|
|
18
18
|
// ─── SpecLauncherManager ──────────────────────────────────────────────────────
|
|
19
19
|
class SpecLauncherManager {
|
|
20
20
|
_broadcast;
|
|
@@ -4,7 +4,7 @@ exports.PROVIDER_DEFAULT_MODEL = exports.KIMI_MODELS = exports.GEMINI_MODELS = e
|
|
|
4
4
|
exports.getModelsForProvider = getModelsForProvider;
|
|
5
5
|
exports.isValidModelForProvider = isValidModelForProvider;
|
|
6
6
|
exports.getProviderDefault = getProviderDefault;
|
|
7
|
-
const providers_1 = require("
|
|
7
|
+
const providers_1 = require("../../../providers");
|
|
8
8
|
exports.CLAUDE_MODELS = [
|
|
9
9
|
{ value: 'sonnet', label: 'Claude Sonnet' },
|
|
10
10
|
{ value: 'fable', label: 'Claude Fable' },
|
|
@@ -7,7 +7,7 @@ exports.TicketWatcher = void 0;
|
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const fs_1 = __importDefault(require("fs"));
|
|
9
9
|
const chokidar_1 = require("chokidar");
|
|
10
|
-
const workspace_resolution_1 = require("
|
|
10
|
+
const workspace_resolution_1 = require("../../../workspace-resolution");
|
|
11
11
|
const TICKET_FILE = '.specrails/local-tickets.json';
|
|
12
12
|
const DEBOUNCE_MS = 150;
|
|
13
13
|
/**
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.createBackgroundProcessControl = createBackgroundProcessControl;
|
|
7
7
|
const child_process_1 = require("child_process");
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const win_spawn_1 = require("
|
|
9
|
+
const win_spawn_1 = require("../../../util/win-spawn");
|
|
10
10
|
function gone(error) { return error?.code === 'ESRCH'; }
|
|
11
11
|
let windowsSnapshotPending;
|
|
12
12
|
async function windowsSnapshot(fresh = false) {
|
|
@@ -9,9 +9,9 @@ exports.backgroundProcessHooks = backgroundProcessHooks;
|
|
|
9
9
|
exports.backgroundStartBusyReason = backgroundStartBusyReason;
|
|
10
10
|
exports.stopOwnedBackgroundProcess = stopOwnedBackgroundProcess;
|
|
11
11
|
const node_path_1 = __importDefault(require("node:path"));
|
|
12
|
-
const loop_runs_store_1 = require("
|
|
13
|
-
const project_repositories_1 = require("
|
|
14
|
-
const transient_children_1 = require("
|
|
12
|
+
const loop_runs_store_1 = require("../../loops/runtime/loop-runs-store");
|
|
13
|
+
const project_repositories_1 = require("../../../project-repositories");
|
|
14
|
+
const transient_children_1 = require("../../../transient-children");
|
|
15
15
|
/** The same scope and lifecycle policy applies to REST and the mission MCP. */
|
|
16
16
|
function resolveBackgroundCwd(repositoryRoot, cwd) {
|
|
17
17
|
if (cwd !== undefined && typeof cwd !== 'string')
|
|
@@ -8,7 +8,7 @@ const fs_1 = __importDefault(require("fs"));
|
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
10
10
|
const crypto_1 = require("crypto");
|
|
11
|
-
const secure_fs_1 = require("
|
|
11
|
+
const secure_fs_1 = require("../../../util/secure-fs");
|
|
12
12
|
exports.BACKGROUND_HISTORY_RETENTION_MS = 30 * 24 * 60 * 60 * 1000;
|
|
13
13
|
exports.BACKGROUND_HISTORY_MAX_LINES = 10_000;
|
|
14
14
|
exports.BACKGROUND_HISTORY_MAX_LINE_CHARS = 4000;
|
|
@@ -11,9 +11,9 @@ const node_fs_1 = require("node:fs");
|
|
|
11
11
|
const node_os_1 = require("node:os");
|
|
12
12
|
const node_path_1 = __importDefault(require("node:path"));
|
|
13
13
|
const node_crypto_1 = require("node:crypto");
|
|
14
|
-
const path_resolver_1 = require("
|
|
15
|
-
const win_spawn_1 = require("
|
|
16
|
-
const windows_job_supervisor_1 = require("
|
|
14
|
+
const path_resolver_1 = require("../../../path-resolver");
|
|
15
|
+
const win_spawn_1 = require("../../../util/win-spawn");
|
|
16
|
+
const windows_job_supervisor_1 = require("../../../windows-job-supervisor");
|
|
17
17
|
// PowerShell startup and Add-Type compilation can exceed 15s on cold Windows
|
|
18
18
|
// ARM runners. Keep preparation bounded without admitting any application code.
|
|
19
19
|
exports.WINDOWS_JOB_PREPARATION_TIMEOUT_MS = 60_000;
|
|
@@ -14,11 +14,11 @@ exports._resetTerminalManagerForTest = _resetTerminalManagerForTest;
|
|
|
14
14
|
const fs_1 = __importDefault(require("fs"));
|
|
15
15
|
const path_1 = __importDefault(require("path"));
|
|
16
16
|
const node_pty_1 = require("node-pty");
|
|
17
|
-
const ids_1 = require("
|
|
18
|
-
const win_spawn_1 = require("
|
|
17
|
+
const ids_1 = require("../../../ids");
|
|
18
|
+
const win_spawn_1 = require("../../../util/win-spawn");
|
|
19
19
|
const terminal_osc_parser_1 = require("./terminal-osc-parser");
|
|
20
20
|
const terminal_marks_store_1 = require("./terminal-marks-store");
|
|
21
|
-
const terminal_shell_integration_1 = require("
|
|
21
|
+
const terminal_shell_integration_1 = require("../../../terminal-shell-integration");
|
|
22
22
|
exports.TERMINAL_SCROLLBACK_BYTES = 262_144;
|
|
23
23
|
exports.TERMINAL_KILL_GRACE_MS = 2_000;
|
|
24
24
|
/**
|
|
@@ -7,7 +7,7 @@ exports.compactCheckoutError = compactCheckoutError;
|
|
|
7
7
|
exports.checkoutProjectBranch = checkoutProjectBranch;
|
|
8
8
|
exports.checkoutProjectReviewBranch = checkoutProjectReviewBranch;
|
|
9
9
|
const child_process_1 = require("child_process");
|
|
10
|
-
const file_provenance_1 = require("./file-provenance");
|
|
10
|
+
const file_provenance_1 = require("./modules/code/runtime/file-provenance");
|
|
11
11
|
const integration_branch_1 = require("./integration-branch");
|
|
12
12
|
// ─── Project git info + branch switch (Agent-Mode git bar) ────────────────────
|
|
13
13
|
//
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.projectSupportsProfiles = projectSupportsProfiles;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
/** Detect whether a project's installed specrails-core version supports the
|
|
10
|
+
* profile-aware pipeline (shipped in 4.1.0). Returns false when the version
|
|
11
|
+
* file is missing or unparseable so we default to legacy (safer). */
|
|
12
|
+
function projectSupportsProfiles(projectPath) {
|
|
13
|
+
const candidates = [
|
|
14
|
+
path_1.default.join(projectPath, '.specrails', 'specrails-version'),
|
|
15
|
+
path_1.default.join(projectPath, '.specrails-version'),
|
|
16
|
+
];
|
|
17
|
+
for (const p of candidates) {
|
|
18
|
+
if (!fs_1.default.existsSync(p))
|
|
19
|
+
continue;
|
|
20
|
+
try {
|
|
21
|
+
const raw = fs_1.default.readFileSync(p, 'utf8').trim();
|
|
22
|
+
const [ma, mi, pa] = raw.split('.').map((n) => parseInt(n, 10));
|
|
23
|
+
if (isNaN(ma) || isNaN(mi) || isNaN(pa))
|
|
24
|
+
return false;
|
|
25
|
+
return ma > 4 || (ma === 4 && mi > 1) || (ma === 4 && mi === 1 && pa >= 0);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
@@ -6,57 +6,58 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.ProjectRegistry = void 0;
|
|
7
7
|
exports.emitRecoveredPrDelivery = emitRecoveredPrDelivery;
|
|
8
8
|
exports.reprojectActivePrDeliveries = reprojectActivePrDeliveries;
|
|
9
|
-
const
|
|
9
|
+
const project_profile_support_1 = require("./project-profile-support");
|
|
10
|
+
const agent_runtime_controls_router_1 = require("./modules/agent-runtime/runtime/agent-runtime-controls-router");
|
|
10
11
|
const path_1 = __importDefault(require("path"));
|
|
11
12
|
const fs_1 = __importDefault(require("fs"));
|
|
12
13
|
const os_1 = __importDefault(require("os"));
|
|
13
14
|
const db_1 = require("./db");
|
|
14
15
|
const project_repositories_1 = require("./project-repositories");
|
|
15
|
-
const multi_repo_execution_store_1 = require("./multi-repo-execution-store");
|
|
16
|
-
const queue_manager_1 = require("./queue-manager");
|
|
17
|
-
const agent_defaults_1 = require("./agent-defaults");
|
|
18
|
-
const chat_manager_1 = require("./chat-manager");
|
|
16
|
+
const multi_repo_execution_store_1 = require("./modules/delivery/runtime/multi-repo-execution-store");
|
|
17
|
+
const queue_manager_1 = require("./modules/execution/runtime/queue-manager");
|
|
18
|
+
const agent_defaults_1 = require("./modules/agents/runtime/agent-defaults");
|
|
19
|
+
const chat_manager_1 = require("./modules/conversations/runtime/chat-manager");
|
|
19
20
|
const setup_manager_1 = require("./setup-manager");
|
|
20
|
-
const proposal_manager_1 = require("./proposal-manager");
|
|
21
|
-
const agent_refine_manager_1 = require("./agent-refine-manager");
|
|
22
|
-
const file_summary_manager_1 = require("./file-summary-manager");
|
|
23
|
-
const file_summary_generator_1 = require("./file-summary-generator");
|
|
21
|
+
const proposal_manager_1 = require("./modules/specs/runtime/proposal-manager");
|
|
22
|
+
const agent_refine_manager_1 = require("./modules/agents/runtime/agent-refine-manager");
|
|
23
|
+
const file_summary_manager_1 = require("./modules/code/runtime/file-summary-manager");
|
|
24
|
+
const file_summary_generator_1 = require("./modules/code/runtime/file-summary-generator");
|
|
24
25
|
const providers_1 = require("./providers");
|
|
25
|
-
const agent_refine_db_1 = require("./agent-refine-db");
|
|
26
|
-
const spec_launcher_manager_1 = require("./spec-launcher-manager");
|
|
26
|
+
const agent_refine_db_1 = require("./modules/agents/runtime/agent-refine-db");
|
|
27
|
+
const spec_launcher_manager_1 = require("./modules/specs/runtime/spec-launcher-manager");
|
|
27
28
|
const webhook_manager_1 = require("./webhook-manager");
|
|
28
|
-
const ticket_watcher_1 = require("./ticket-watcher");
|
|
29
|
-
const terminal_manager_1 = require("./terminal-manager");
|
|
30
|
-
const browser_capture_manager_1 = require("./browser-capture-manager");
|
|
31
|
-
const browser_context_pool_1 = require("./browser-context-pool");
|
|
32
|
-
const explore_cwd_manager_1 = require("./explore-cwd-manager");
|
|
29
|
+
const ticket_watcher_1 = require("./modules/specs/runtime/ticket-watcher");
|
|
30
|
+
const terminal_manager_1 = require("./modules/terminals/runtime/terminal-manager");
|
|
31
|
+
const browser_capture_manager_1 = require("./modules/browser/runtime/browser-capture-manager");
|
|
32
|
+
const browser_context_pool_1 = require("./modules/browser/runtime/browser-context-pool");
|
|
33
|
+
const explore_cwd_manager_1 = require("./modules/conversations/runtime/explore-cwd-manager");
|
|
33
34
|
const hooks_1 = require("./hooks");
|
|
34
35
|
const transient_children_1 = require("./transient-children");
|
|
35
|
-
const telemetry_receiver_1 = require("./telemetry-receiver");
|
|
36
|
+
const telemetry_receiver_1 = require("./modules/accounting/runtime/telemetry-receiver");
|
|
36
37
|
const artifact_registry_1 = require("./artifact-registry");
|
|
37
38
|
const workspace_resolution_1 = require("./workspace-resolution");
|
|
38
39
|
const project_env_1 = require("./project-env");
|
|
39
40
|
const workspace_manager_1 = require("./workspace-manager");
|
|
40
|
-
const ticket_store_1 = require("./ticket-store");
|
|
41
|
-
const spec_addenda_1 = require("./spec-addenda");
|
|
41
|
+
const ticket_store_1 = require("./modules/specs/runtime/ticket-store");
|
|
42
|
+
const spec_addenda_1 = require("./modules/specs/runtime/spec-addenda");
|
|
42
43
|
const jira_sync_manager_1 = require("./jira/jira-sync-manager");
|
|
43
|
-
const stuck_run_detector_1 = require("./stuck-run-detector");
|
|
44
|
-
const milestone_progress_1 = require("./milestone-progress");
|
|
45
|
-
const milestone_chain_1 = require("./milestone-chain");
|
|
44
|
+
const stuck_run_detector_1 = require("./modules/execution/runtime/stuck-run-detector");
|
|
45
|
+
const milestone_progress_1 = require("./modules/builder/runtime/milestone-progress");
|
|
46
|
+
const milestone_chain_1 = require("./modules/builder/runtime/milestone-chain");
|
|
46
47
|
const internal_api_1 = require("./internal-api");
|
|
47
|
-
const blueprint_render_1 = require("./blueprint-render");
|
|
48
|
+
const blueprint_render_1 = require("./modules/builder/runtime/blueprint-render");
|
|
48
49
|
const worktree_manager_1 = require("./worktree-manager");
|
|
49
50
|
const integration_branch_1 = require("./integration-branch");
|
|
50
51
|
const db_2 = require("./db");
|
|
51
|
-
const loop_run_manager_1 = require("./loop-run-manager");
|
|
52
|
-
const loop_executors_1 = require("./loop-executors");
|
|
53
|
-
const rail_isolated_launch_1 = require("./rail-isolated-launch");
|
|
54
|
-
const rail_isolation_1 = require("./rail-isolation");
|
|
55
|
-
const rail_pr_store_1 = require("./rail-pr-store");
|
|
56
|
-
const agent_chat_registry_1 = require("./agent-chat-registry");
|
|
57
|
-
const rail_pr_ticket_effects_1 = require("./rail-pr-ticket-effects");
|
|
58
|
-
const loop_runs_store_1 = require("./loop-runs-store");
|
|
59
|
-
const rails_store_1 = require("./rails-store");
|
|
52
|
+
const loop_run_manager_1 = require("./modules/loops/runtime/loop-run-manager");
|
|
53
|
+
const loop_executors_1 = require("./modules/loops/runtime/loop-executors");
|
|
54
|
+
const rail_isolated_launch_1 = require("./modules/delivery/runtime/rail-isolated-launch");
|
|
55
|
+
const rail_isolation_1 = require("./modules/delivery/runtime/rail-isolation");
|
|
56
|
+
const rail_pr_store_1 = require("./modules/delivery/runtime/rail-pr-store");
|
|
57
|
+
const agent_chat_registry_1 = require("./modules/missions/runtime/agent-chat-registry");
|
|
58
|
+
const rail_pr_ticket_effects_1 = require("./modules/delivery/runtime/rail-pr-ticket-effects");
|
|
59
|
+
const loop_runs_store_1 = require("./modules/loops/runtime/loop-runs-store");
|
|
60
|
+
const rails_store_1 = require("./modules/delivery/runtime/rails-store");
|
|
60
61
|
const desktop_db_1 = require("./desktop-db");
|
|
61
62
|
const config_1 = require("./config");
|
|
62
63
|
const process_admission_1 = require("./process-admission");
|
|
@@ -1112,14 +1113,7 @@ class ProjectRegistry {
|
|
|
1112
1113
|
profilePathFor: (0, agent_defaults_1.createLoopProfilePathResolver)({
|
|
1113
1114
|
desktopDb: this._desktopDb,
|
|
1114
1115
|
profileRoot: () => (0, workspace_resolution_1.resolveProjectExecution)({ slug: project.slug, path: project.path }).cwd,
|
|
1115
|
-
|
|
1116
|
-
// class export — a top-level named import would throw on module eval.
|
|
1117
|
-
// The closure only runs at loop ai-step spawn time, never in tests
|
|
1118
|
-
// that stub the queue.
|
|
1119
|
-
supportsProfiles: (root) => {
|
|
1120
|
-
const { projectSupportsProfiles } = require('./queue-manager');
|
|
1121
|
-
return projectSupportsProfiles(root);
|
|
1122
|
-
},
|
|
1116
|
+
supportsProfiles: project_profile_support_1.projectSupportsProfiles,
|
|
1123
1117
|
}),
|
|
1124
1118
|
}));
|
|
1125
1119
|
const getTicketSpec = (ticketId) => {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.registerBackgroundProcessRoutes = registerBackgroundProcessRoutes;
|
|
4
4
|
const transient_children_1 = require("./transient-children");
|
|
5
5
|
const project_repositories_1 = require("./project-repositories");
|
|
6
|
-
const background_process_service_1 = require("./background-process-service");
|
|
6
|
+
const background_process_service_1 = require("./modules/terminals/runtime/background-process-service");
|
|
7
7
|
function processQuery(req, res) {
|
|
8
8
|
const pid = Number(req.params.pid);
|
|
9
9
|
if (!Number.isSafeInteger(pid) || pid <= 0) {
|
|
@@ -5,13 +5,13 @@ const ids_1 = require("./ids");
|
|
|
5
5
|
const db_1 = require("./db");
|
|
6
6
|
const providers_1 = require("./providers");
|
|
7
7
|
const runtime_1 = require("./providers/runtime");
|
|
8
|
-
const context_scope_1 = require("./context-scope");
|
|
9
|
-
const spec_models_1 = require("./spec-models");
|
|
8
|
+
const context_scope_1 = require("./modules/conversations/runtime/context-scope");
|
|
9
|
+
const spec_models_1 = require("./modules/specs/runtime/spec-models");
|
|
10
10
|
const provider_selection_1 = require("./provider-selection");
|
|
11
|
-
const ticket_store_1 = require("./ticket-store");
|
|
11
|
+
const ticket_store_1 = require("./modules/specs/runtime/ticket-store");
|
|
12
12
|
const project_router_helpers_1 = require("./project-router-helpers");
|
|
13
13
|
function registerChatRoutes(deps) {
|
|
14
|
-
const { router,
|
|
14
|
+
const { router, ctx, ticketPath } = deps;
|
|
15
15
|
// ─── Chat routes ─────────────────────────────────────────────────────────────
|
|
16
16
|
router.get('/:projectId/chat/conversations', (req, res) => {
|
|
17
17
|
const conversations = (0, db_1.listConversations)(ctx(req).db);
|
|
@@ -94,7 +94,7 @@ function registerChatRoutes(deps) {
|
|
|
94
94
|
res.status(201).json({ conversation });
|
|
95
95
|
});
|
|
96
96
|
router.get('/:projectId/chat/conversations/:id', (req, res) => {
|
|
97
|
-
const { db
|
|
97
|
+
const { db } = ctx(req);
|
|
98
98
|
const conversation = (0, db_1.getConversation)(db, req.params.id);
|
|
99
99
|
if (!conversation) {
|
|
100
100
|
res.status(404).json({ error: 'Conversation not found' });
|
|
@@ -104,7 +104,7 @@ function registerChatRoutes(deps) {
|
|
|
104
104
|
res.json({ conversation, messages });
|
|
105
105
|
});
|
|
106
106
|
router.delete('/:projectId/chat/conversations/:id', (req, res) => {
|
|
107
|
-
const { db, chatManager,
|
|
107
|
+
const { db, chatManager, ticketWatcher } = ctx(req);
|
|
108
108
|
const convId = req.params.id;
|
|
109
109
|
const conversation = (0, db_1.getConversation)(db, convId);
|
|
110
110
|
if (!conversation) {
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.registerGitRoutes = registerGitRoutes;
|
|
7
7
|
const project_git_1 = require("./project-git");
|
|
8
8
|
const git_diagnostics_1 = require("./git-diagnostics");
|
|
9
|
-
const pr_publisher_1 = require("./pr-publisher");
|
|
9
|
+
const pr_publisher_1 = require("./modules/delivery/runtime/pr-publisher");
|
|
10
10
|
const repo_lock_1 = require("./repo-lock");
|
|
11
11
|
const process_admission_1 = require("./process-admission");
|
|
12
12
|
const project_repositories_1 = require("./project-repositories");
|
|
@@ -20,8 +20,8 @@ exports.serializeInstallConfigYaml = serializeInstallConfigYaml;
|
|
|
20
20
|
const fs_1 = __importDefault(require("fs"));
|
|
21
21
|
const path_1 = __importDefault(require("path"));
|
|
22
22
|
const core_package_1 = require("./core-package");
|
|
23
|
-
const spec_models_1 = require("./spec-models");
|
|
24
|
-
const ticket_store_1 = require("./ticket-store");
|
|
23
|
+
const spec_models_1 = require("./modules/specs/runtime/spec-models");
|
|
24
|
+
const ticket_store_1 = require("./modules/specs/runtime/ticket-store");
|
|
25
25
|
const install_config_path_1 = require("./install-config-path");
|
|
26
26
|
const workspace_resolution_1 = require("./workspace-resolution");
|
|
27
27
|
const TERMINAL_PANEL_ENABLED = process.env.SPECRAILS_TERMINAL_PANEL !== 'false';
|
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerJobsRoutes = registerJobsRoutes;
|
|
4
|
-
|
|
4
|
+
// Domain routes extracted from project-router.ts (jobs).
|
|
5
|
+
// Registered on the shared router by createProjectRouter — behaviour-preserving.
|
|
6
|
+
const agent_runtime_controls_router_1 = require("./modules/agent-runtime/runtime/agent-runtime-controls-router");
|
|
5
7
|
const ids_1 = require("./ids");
|
|
6
8
|
const db_1 = require("./db");
|
|
7
|
-
const queue_manager_1 = require("./queue-manager");
|
|
9
|
+
const queue_manager_1 = require("./modules/execution/runtime/queue-manager");
|
|
8
10
|
const feature_flags_1 = require("./feature-flags");
|
|
9
11
|
const types_1 = require("./types");
|
|
10
|
-
const job_phase_breakdown_1 = require("./job-phase-breakdown");
|
|
12
|
+
const job_phase_breakdown_1 = require("./modules/execution/runtime/job-phase-breakdown");
|
|
11
13
|
const providers_1 = require("./providers");
|
|
12
14
|
const hooks_1 = require("./hooks");
|
|
13
|
-
const explore_smash_1 = require("./explore-smash");
|
|
14
|
-
const job_spawn_idempotency_1 = require("./job-spawn-idempotency");
|
|
15
|
-
const spec_models_1 = require("./spec-models");
|
|
15
|
+
const explore_smash_1 = require("./modules/conversations/runtime/explore-smash");
|
|
16
|
+
const job_spawn_idempotency_1 = require("./modules/execution/runtime/job-spawn-idempotency");
|
|
17
|
+
const spec_models_1 = require("./modules/specs/runtime/spec-models");
|
|
16
18
|
const provider_selection_1 = require("./provider-selection");
|
|
17
|
-
const loop_runs_store_1 = require("./loop-runs-store");
|
|
18
|
-
const metrics_1 = require("./metrics");
|
|
19
|
-
const job_listing_1 = require("./job-listing");
|
|
20
|
-
const ticket_store_1 = require("./ticket-store");
|
|
19
|
+
const loop_runs_store_1 = require("./modules/loops/runtime/loop-runs-store");
|
|
20
|
+
const metrics_1 = require("./modules/accounting/runtime/metrics");
|
|
21
|
+
const job_listing_1 = require("./modules/execution/runtime/job-listing");
|
|
22
|
+
const ticket_store_1 = require("./modules/specs/runtime/ticket-store");
|
|
21
23
|
const project_router_background_processes_1 = require("./project-router-background-processes");
|
|
22
24
|
const project_router_helpers_1 = require("./project-router-helpers");
|
|
23
25
|
function registerJobsRoutes(deps) {
|
|
24
|
-
const { router,
|
|
26
|
+
const { router, ctx, ticketPath } = deps;
|
|
25
27
|
// ─── Queue / Spawn routes ────────────────────────────────────────────────────
|
|
26
28
|
router.post('/:projectId/spawn', (req, res) => {
|
|
27
29
|
const { command, priority, dependsOnJobId, pipelineId, profileName, aiEngine, model, rerunOfJobId, } = req.body ?? {};
|
|
@@ -204,7 +206,7 @@ function registerJobsRoutes(deps) {
|
|
|
204
206
|
(0, project_router_background_processes_1.registerBackgroundProcessRoutes)(deps);
|
|
205
207
|
// Returns the resolved default model for Add Spec + the full provider
|
|
206
208
|
// allow-list so the modal can render its picker without maintaining its
|
|
207
|
-
// own copy of the model lists. Source of truth is `server/spec-models.ts`.
|
|
209
|
+
// own copy of the model lists. Source of truth is `server/modules/specs/runtime/spec-models.ts`.
|
|
208
210
|
router.get('/:projectId/default-spec-model', (req, res) => {
|
|
209
211
|
const { project } = ctx(req);
|
|
210
212
|
// Multi-provider: an optional ?provider= query selects which engine's models
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerLoopRunRoutes = registerLoopRunRoutes;
|
|
4
|
-
const loop_graph_1 = require("./loop-graph");
|
|
4
|
+
const loop_graph_1 = require("./modules/loops/runtime/loop-graph");
|
|
5
5
|
const feature_flags_1 = require("./feature-flags");
|
|
6
|
-
const loops_store_1 = require("./loops-store");
|
|
7
|
-
const loop_runs_store_1 = require("./loop-runs-store");
|
|
8
|
-
const run_duration_stats_1 = require("./run-duration-stats");
|
|
9
|
-
const loop_constants_1 = require("./loop-constants");
|
|
6
|
+
const loops_store_1 = require("./modules/loops/runtime/loops-store");
|
|
7
|
+
const loop_runs_store_1 = require("./modules/loops/runtime/loop-runs-store");
|
|
8
|
+
const run_duration_stats_1 = require("./modules/execution/runtime/run-duration-stats");
|
|
9
|
+
const loop_constants_1 = require("./modules/loops/runtime/loop-constants");
|
|
10
10
|
const providers_1 = require("./providers");
|
|
11
11
|
const runtime_1 = require("./providers/runtime");
|
|
12
|
-
const agent_defaults_1 = require("./agent-defaults");
|
|
12
|
+
const agent_defaults_1 = require("./modules/agents/runtime/agent-defaults");
|
|
13
13
|
const provider_selection_1 = require("./provider-selection");
|
|
14
|
-
const spec_models_1 = require("./spec-models");
|
|
14
|
+
const spec_models_1 = require("./modules/specs/runtime/spec-models");
|
|
15
15
|
const workspace_resolution_1 = require("./workspace-resolution");
|
|
16
|
-
const loop_command_catalog_1 = require("./loop-command-catalog");
|
|
16
|
+
const loop_command_catalog_1 = require("./modules/loops/runtime/loop-command-catalog");
|
|
17
17
|
const ids_1 = require("./ids");
|
|
18
18
|
const project_repositories_1 = require("./project-repositories");
|
|
19
|
-
const multi_repo_execution_1 = require("./multi-repo-execution");
|
|
20
|
-
const rails_store_1 = require("./rails-store");
|
|
21
|
-
const rail_pr_store_1 = require("./rail-pr-store");
|
|
22
|
-
const rail_isolation_1 = require("./rail-isolation");
|
|
19
|
+
const multi_repo_execution_1 = require("./modules/delivery/runtime/multi-repo-execution");
|
|
20
|
+
const rails_store_1 = require("./modules/delivery/runtime/rails-store");
|
|
21
|
+
const rail_pr_store_1 = require("./modules/delivery/runtime/rail-pr-store");
|
|
22
|
+
const rail_isolation_1 = require("./modules/delivery/runtime/rail-isolation");
|
|
23
23
|
const process_admission_1 = require("./process-admission");
|
|
24
24
|
function registerLoopRunRoutes(deps) {
|
|
25
25
|
const { router, ctx } = deps;
|