@wjarka/cezarion 0.16.0 → 0.17.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/LICENSE +1 -0
- package/README.md +594 -207
- package/dist/agent-config/account-identity.d.ts +3 -19
- package/dist/agent-config/account-identity.js +8 -5
- package/dist/agent-config/account-identity.js.map +1 -1
- package/dist/agent-config/catalog.d.ts +3 -14
- package/dist/agent-config/catalog.js.map +1 -1
- package/dist/agent-config/files.d.ts +2 -6
- package/dist/agent-config/files.js +2 -6
- package/dist/agent-config/files.js.map +1 -1
- package/dist/agent-config/model-settings/types.d.ts +1 -1
- package/dist/agent-config/seed.d.ts +11 -3
- package/dist/agent-config/seed.js +52 -48
- package/dist/agent-config/seed.js.map +1 -1
- package/dist/agent-config/service.js +3 -2
- package/dist/agent-config/service.js.map +1 -1
- package/dist/agent-config/validate.d.ts +1 -4
- package/dist/agent-config/validate.js.map +1 -1
- package/dist/application-update/helper.d.ts +2 -2
- package/dist/application-update/helper.js +7 -12
- package/dist/application-update/helper.js.map +1 -1
- package/dist/application-update/launcher.d.ts +4 -0
- package/dist/application-update/launcher.js +18 -12
- package/dist/application-update/launcher.js.map +1 -1
- package/dist/application-update/service.d.ts +3 -3
- package/dist/application-update/service.js +1 -1
- package/dist/application-update/service.js.map +1 -1
- package/dist/archive-on-merge-setting.d.ts +15 -0
- package/dist/archive-on-merge-setting.js +14 -0
- package/dist/archive-on-merge-setting.js.map +1 -0
- package/dist/artifacts/cli.d.ts +8 -0
- package/dist/artifacts/cli.js +21 -2
- package/dist/artifacts/cli.js.map +1 -1
- package/dist/artifacts/resolve.js +2 -1
- package/dist/artifacts/resolve.js.map +1 -1
- package/dist/artifacts/store.js.map +1 -1
- package/dist/automations/automation-cli.d.ts +59 -0
- package/dist/automations/automation-cli.js +509 -0
- package/dist/automations/automation-cli.js.map +1 -0
- package/dist/automations/builtin-skill.d.ts +7 -0
- package/dist/automations/builtin-skill.js +14 -0
- package/dist/automations/builtin-skill.js.map +1 -0
- package/dist/automations/github-baseline.d.ts +3 -0
- package/dist/automations/github-baseline.js +17 -0
- package/dist/automations/github-baseline.js.map +1 -0
- package/dist/automations/github-poller.d.ts +23 -4
- package/dist/automations/github-poller.js +157 -88
- package/dist/automations/github-poller.js.map +1 -1
- package/dist/automations/prompts.d.ts +12 -0
- package/dist/automations/prompts.js +160 -0
- package/dist/automations/prompts.js.map +1 -0
- package/dist/automations/schedule-runner.d.ts +43 -24
- package/dist/automations/schedule-runner.js +207 -20
- package/dist/automations/schedule-runner.js.map +1 -1
- package/dist/automations/scheduler.d.ts +10 -2
- package/dist/automations/scheduler.js +200 -54
- package/dist/automations/scheduler.js.map +1 -1
- package/dist/automations/service.d.ts +777 -0
- package/dist/automations/service.js +444 -0
- package/dist/automations/service.js.map +1 -0
- package/dist/automations/store.d.ts +17 -7
- package/dist/automations/store.js +88 -17
- package/dist/automations/store.js.map +1 -1
- package/dist/automations/task-template.d.ts +7 -2
- package/dist/automations/task-template.js +93 -44
- package/dist/automations/task-template.js.map +1 -1
- package/dist/automations/tool-adapter.d.ts +6 -0
- package/dist/automations/tool-adapter.js +108 -0
- package/dist/automations/tool-adapter.js.map +1 -0
- package/dist/automations/types.d.ts +1 -405
- package/dist/automations/types.js +1 -218
- package/dist/automations/types.js.map +1 -1
- package/dist/autosave-cleanup.d.ts +26 -0
- package/dist/autosave-cleanup.js +87 -0
- package/dist/autosave-cleanup.js.map +1 -0
- package/dist/autosave-git.d.ts +3 -0
- package/dist/autosave-git.js +67 -35
- package/dist/autosave-git.js.map +1 -1
- package/dist/autosave-group.d.ts +8 -0
- package/dist/autosave-group.js +61 -0
- package/dist/autosave-group.js.map +1 -0
- package/dist/autosave-holders.d.ts +31 -4
- package/dist/autosave-holders.js +92 -7
- package/dist/autosave-holders.js.map +1 -1
- package/dist/autosave-windows.d.ts +14 -0
- package/dist/autosave-windows.js +36 -2
- package/dist/autosave-windows.js.map +1 -1
- package/dist/ci-wait/client.d.ts +20 -3
- package/dist/ci-wait/client.js +40 -44
- package/dist/ci-wait/client.js.map +1 -1
- package/dist/ci-wait/controller.d.ts +622 -36
- package/dist/ci-wait/controller.js +152 -20
- package/dist/ci-wait/controller.js.map +1 -1
- package/dist/ci-wait/errors.d.ts +19 -0
- package/dist/ci-wait/errors.js +180 -2
- package/dist/ci-wait/errors.js.map +1 -1
- package/dist/ci-wait/github.d.ts +25 -1
- package/dist/ci-wait/github.js +76 -9
- package/dist/ci-wait/github.js.map +1 -1
- package/dist/ci-wait/mcp.d.ts +0 -1
- package/dist/ci-wait/mcp.js +0 -2
- package/dist/ci-wait/mcp.js.map +1 -1
- package/dist/ci-wait/supervisor.d.ts +7 -0
- package/dist/ci-wait/supervisor.js +113 -17
- package/dist/ci-wait/supervisor.js.map +1 -1
- package/dist/ci-wait/tools.d.ts +536 -16
- package/dist/ci-wait/tools.js +165 -20
- package/dist/ci-wait/tools.js.map +1 -1
- package/dist/config.d.ts +3 -17
- package/dist/config.js +4 -60
- package/dist/config.js.map +1 -1
- package/dist/contract/active-provider.d.ts +12 -0
- package/dist/contract/agent-profiles.d.ts +2 -10
- package/dist/contract/ask-schema.d.ts +22 -4
- package/dist/contract/ask.d.ts +6 -4
- package/dist/contract/attachments.d.ts +35 -0
- package/dist/contract/attention.d.ts +46 -37
- package/dist/contract/automation-requests.d.ts +308 -0
- package/dist/contract/automation-schedule.d.ts +40 -11
- package/dist/contract/automation-storage.d.ts +512 -0
- package/dist/contract/automations.d.ts +421 -40
- package/dist/contract/ci-wait.d.ts +41 -4
- package/dist/contract/config-requests.d.ts +36 -0
- package/dist/contract/conversations.d.ts +24 -10
- package/dist/contract/defined.d.ts +8 -0
- package/dist/contract/delegation.d.ts +312 -8
- package/dist/contract/events.d.ts +24 -3
- package/dist/contract/github-requests.d.ts +26 -0
- package/dist/contract/github.d.ts +60 -27
- package/dist/contract/handoff.d.ts +43 -0
- package/dist/contract/health.d.ts +2 -2
- package/dist/contract/image-path.d.ts +6 -0
- package/dist/contract/index.d.ts +31 -0
- package/dist/contract/index.js +3756 -1525
- package/dist/contract/live-coordination.d.ts +158 -0
- package/dist/contract/live-limits.d.ts +8 -0
- package/dist/contract/live.d.ts +123 -0
- package/dist/contract/pending-ask.d.ts +58 -0
- package/dist/contract/permissions.d.ts +54 -0
- package/dist/contract/preview.d.ts +33 -0
- package/dist/contract/project-limits.d.ts +33 -0
- package/dist/contract/projects.d.ts +486 -20
- package/dist/contract/provider-requests.d.ts +77 -0
- package/dist/contract/query-requests.d.ts +52 -0
- package/dist/contract/repo-requests.d.ts +12 -0
- package/dist/contract/run-labels.d.ts +8 -0
- package/dist/contract/run-limits.d.ts +8 -0
- package/dist/contract/run-predicates.d.ts +32 -0
- package/dist/contract/run-requests.d.ts +33 -0
- package/dist/contract/run-search.d.ts +193 -0
- package/dist/contract/runs.d.ts +2232 -1894
- package/dist/contract/scheduled-tasks.d.ts +187 -0
- package/dist/contract/skills.d.ts +22 -772
- package/dist/contract/team-skill-ref.d.ts +10 -0
- package/dist/{core → contract}/tool-display.d.ts +4 -10
- package/dist/contract/ui-state-requests.d.ts +60 -0
- package/dist/contract/version.d.ts +3 -0
- package/dist/contract/voice.d.ts +213 -0
- package/dist/contract/waits.d.ts +1204 -0
- package/dist/contract/workflow-file.d.ts +37 -0
- package/dist/contract/workflow-requests.d.ts +7 -0
- package/dist/contract/workflows.d.ts +1 -2
- package/dist/contract/workspace.d.ts +34 -82
- package/dist/contract/zoned-time.d.ts +2 -11
- package/dist/core/agent-env.d.ts +4 -16
- package/dist/core/agent-env.js +14 -16
- package/dist/core/agent-env.js.map +1 -1
- package/dist/core/agent-profiles.d.ts +28 -40
- package/dist/core/agent-profiles.js +56 -51
- package/dist/core/agent-profiles.js.map +1 -1
- package/dist/core/agent-runner.d.ts +88 -44
- package/dist/core/agent-runner.js +17 -18
- package/dist/core/agent-runner.js.map +1 -1
- package/dist/core/ask.d.ts +3 -0
- package/dist/core/ask.js +12 -0
- package/dist/core/ask.js.map +1 -1
- package/dist/core/backend-detect.js +16 -2
- package/dist/core/backend-detect.js.map +1 -1
- package/dist/core/claude-cli-runner.d.ts +23 -4
- package/dist/core/claude-cli-runner.js +280 -76
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/core/claude-model-catalog.d.ts +2 -10
- package/dist/core/claude-model-catalog.js +2 -10
- package/dist/core/claude-model-catalog.js.map +1 -1
- package/dist/core/claude-ui-mapper.d.ts +2 -2
- package/dist/core/claude-ui-mapper.js +94 -2
- package/dist/core/claude-ui-mapper.js.map +1 -1
- package/dist/core/codex-app-server-runner.d.ts +3 -4
- package/dist/core/codex-app-server-runner.js +146 -51
- package/dist/core/codex-app-server-runner.js.map +1 -1
- package/dist/core/codex-app-server-transport.d.ts +4 -3
- package/dist/core/codex-app-server-transport.js +11 -7
- package/dist/core/codex-app-server-transport.js.map +1 -1
- package/dist/core/codex-approvals.d.ts +12 -0
- package/dist/core/codex-approvals.js +161 -0
- package/dist/core/codex-approvals.js.map +1 -0
- package/dist/core/codex-permissions.d.ts +1 -1
- package/dist/core/codex-ui-mapper.js +45 -1
- package/dist/core/codex-ui-mapper.js.map +1 -1
- package/dist/core/cursor-acp-runner.d.ts +1 -1
- package/dist/core/cursor-acp-runner.js +39 -15
- package/dist/core/cursor-acp-runner.js.map +1 -1
- package/dist/core/cursor-cli-flags.d.ts +19 -0
- package/dist/core/cursor-cli-flags.js +47 -0
- package/dist/core/cursor-cli-flags.js.map +1 -0
- package/dist/core/cursor-model-catalog.d.ts +22 -0
- package/dist/core/cursor-model-catalog.js +53 -24
- package/dist/core/cursor-model-catalog.js.map +1 -1
- package/dist/core/cursor-print-capabilities.d.ts +16 -0
- package/dist/core/cursor-print-capabilities.js +141 -0
- package/dist/core/cursor-print-capabilities.js.map +1 -0
- package/dist/core/cursor-print-process.d.ts +31 -0
- package/dist/core/cursor-print-process.js +117 -0
- package/dist/core/cursor-print-process.js.map +1 -0
- package/dist/core/cursor-print-runner.d.ts +31 -0
- package/dist/core/cursor-print-runner.js +555 -0
- package/dist/core/cursor-print-runner.js.map +1 -0
- package/dist/core/cursor-print-tool-catalog.d.ts +10 -0
- package/dist/core/cursor-print-tool-catalog.js +91 -0
- package/dist/core/cursor-print-tool-catalog.js.map +1 -0
- package/dist/core/cursor-print-ui-mapper.d.ts +47 -0
- package/dist/core/cursor-print-ui-mapper.js +553 -0
- package/dist/core/cursor-print-ui-mapper.js.map +1 -0
- package/dist/core/cursor-runner.d.ts +24 -0
- package/dist/core/cursor-runner.js +149 -0
- package/dist/core/cursor-runner.js.map +1 -0
- package/dist/core/cursor-ui-mapper.js +5 -2
- package/dist/core/cursor-ui-mapper.js.map +1 -1
- package/dist/core/defined.d.ts +1 -0
- package/dist/core/defined.js +2 -0
- package/dist/core/defined.js.map +1 -0
- package/dist/core/hook-items.d.ts +14 -0
- package/dist/core/hook-items.js +13 -0
- package/dist/core/hook-items.js.map +1 -0
- package/dist/core/host-model-catalog.d.ts +2 -9
- package/dist/core/host-model-catalog.js +2 -9
- package/dist/core/host-model-catalog.js.map +1 -1
- package/dist/core/managed-session.js +15 -3
- package/dist/core/managed-session.js.map +1 -1
- package/dist/core/model-identity.d.ts +4 -21
- package/dist/core/model-identity.js.map +1 -1
- package/dist/core/model-presets.d.ts +2 -13
- package/dist/core/model-presets.js +2 -13
- package/dist/core/model-presets.js.map +1 -1
- package/dist/core/omp-model-catalog.js.map +1 -1
- package/dist/core/omp-runner.d.ts +6 -7
- package/dist/core/omp-runner.js +92 -33
- package/dist/core/omp-runner.js.map +1 -1
- package/dist/core/omp-ui-mapper.js +1 -1
- package/dist/core/omp-ui-mapper.js.map +1 -1
- package/dist/core/opencode-model-catalog.js.map +1 -1
- package/dist/core/opencode-permissions.d.ts +52 -0
- package/dist/core/opencode-permissions.js +101 -0
- package/dist/core/opencode-permissions.js.map +1 -0
- package/dist/core/opencode-server-runner.d.ts +10 -9
- package/dist/core/opencode-server-runner.js +286 -28
- package/dist/core/opencode-server-runner.js.map +1 -1
- package/dist/core/opencode-session-error.d.ts +15 -7
- package/dist/core/opencode-session-error.js +25 -9
- package/dist/core/opencode-session-error.js.map +1 -1
- package/dist/core/opencode-ui-mapper.js +2 -2
- package/dist/core/opencode-ui-mapper.js.map +1 -1
- package/dist/core/pi-model-catalog.js.map +1 -1
- package/dist/core/pi-runner.d.ts +12 -4
- package/dist/core/pi-runner.js +171 -63
- package/dist/core/pi-runner.js.map +1 -1
- package/dist/core/pi-ui-mapper.js +1 -1
- package/dist/core/pi-ui-mapper.js.map +1 -1
- package/dist/core/process-usage.d.ts +5 -0
- package/dist/core/process-usage.js +24 -4
- package/dist/core/process-usage.js.map +1 -1
- package/dist/core/provider-auth.d.ts +16 -107
- package/dist/core/provider-auth.js +16 -132
- package/dist/core/provider-auth.js.map +1 -1
- package/dist/core/runner-factory.d.ts +4 -1
- package/dist/core/runner-factory.js +3 -3
- package/dist/core/runner-factory.js.map +1 -1
- package/dist/core/runner-runtime.d.ts +22 -0
- package/dist/core/runner-runtime.js +66 -5
- package/dist/core/runner-runtime.js.map +1 -1
- package/dist/core/runner-tool-grants.d.ts +21 -0
- package/dist/core/runner-tool-grants.js +64 -0
- package/dist/core/runner-tool-grants.js.map +1 -0
- package/dist/core/secret-redaction.d.ts +3 -20
- package/dist/core/secret-redaction.js +3 -20
- package/dist/core/secret-redaction.js.map +1 -1
- package/dist/core/session-process.d.ts +22 -2
- package/dist/core/session-process.js +170 -12
- package/dist/core/session-process.js.map +1 -1
- package/dist/core/shell-env.d.ts +2 -15
- package/dist/core/shell-env.js +2 -15
- package/dist/core/shell-env.js.map +1 -1
- package/dist/core/ui-events.d.ts +60 -47
- package/dist/core/ui-events.js +0 -23
- package/dist/core/ui-events.js.map +1 -1
- package/dist/core/usage-limit.js.map +1 -1
- package/dist/data-gitignore.js +3 -1
- package/dist/data-gitignore.js.map +1 -1
- package/dist/delegation/capacity.d.ts +4 -8
- package/dist/delegation/capacity.js +4 -8
- package/dist/delegation/capacity.js.map +1 -1
- package/dist/delegation/cli.js +123 -21
- package/dist/delegation/cli.js.map +1 -1
- package/dist/delegation/context.d.ts +19 -3
- package/dist/delegation/context.js +217 -22
- package/dist/delegation/context.js.map +1 -1
- package/dist/delegation/conversations.d.ts +4 -3
- package/dist/delegation/conversations.js +7 -5
- package/dist/delegation/conversations.js.map +1 -1
- package/dist/delegation/destroy-observation.d.ts +1 -1
- package/dist/delegation/destroy-observation.js.map +1 -1
- package/dist/delegation/effort.js.map +1 -1
- package/dist/delegation/execution-identity.d.ts +1 -1
- package/dist/delegation/execution-identity.js +41 -7
- package/dist/delegation/execution-identity.js.map +1 -1
- package/dist/delegation/idle-test-app.d.ts +4 -0
- package/dist/delegation/idle-test-app.js +174 -0
- package/dist/delegation/idle-test-app.js.map +1 -0
- package/dist/delegation/input.js.map +1 -1
- package/dist/delegation/park-notice.d.ts +42 -0
- package/dist/delegation/park-notice.js +71 -0
- package/dist/delegation/park-notice.js.map +1 -0
- package/dist/delegation/policy.d.ts +2 -0
- package/dist/delegation/policy.js +9 -1
- package/dist/delegation/policy.js.map +1 -1
- package/dist/delegation/process-liveness.d.ts +10 -15
- package/dist/delegation/process-liveness.js +11 -35
- package/dist/delegation/process-liveness.js.map +1 -1
- package/dist/delegation/provision.js +21 -19
- package/dist/delegation/provision.js.map +1 -1
- package/dist/delegation/questions.d.ts +3 -1
- package/dist/delegation/questions.js +10 -5
- package/dist/delegation/questions.js.map +1 -1
- package/dist/delegation/readiness.d.ts +2 -2
- package/dist/delegation/results.d.ts +4 -1
- package/dist/delegation/results.js +49 -18
- package/dist/delegation/results.js.map +1 -1
- package/dist/delegation/retry-backoff.d.ts +8 -0
- package/dist/delegation/retry-backoff.js +8 -0
- package/dist/delegation/retry-backoff.js.map +1 -1
- package/dist/delegation/routes.d.ts +114 -30
- package/dist/delegation/routes.js +4 -1
- package/dist/delegation/routes.js.map +1 -1
- package/dist/delegation/scratch-cleanup.d.ts +4 -5
- package/dist/delegation/scratch-cleanup.js +10 -8
- package/dist/delegation/scratch-cleanup.js.map +1 -1
- package/dist/delegation/service.d.ts +12 -4
- package/dist/delegation/service.js +76 -28
- package/dist/delegation/service.js.map +1 -1
- package/dist/delegation/transport.d.ts +154 -70
- package/dist/delegation/wait.d.ts +11 -0
- package/dist/delegation/wait.js +24 -0
- package/dist/delegation/wait.js.map +1 -1
- package/dist/delegation/windows-test-app.d.ts +5 -0
- package/dist/delegation/windows-test-app.js +63 -0
- package/dist/delegation/windows-test-app.js.map +1 -0
- package/dist/delegation/windows-workspace-identity.d.ts +3 -0
- package/dist/delegation/windows-workspace-identity.js +22 -0
- package/dist/delegation/windows-workspace-identity.js.map +1 -0
- package/dist/delegation/workspace.d.ts +5 -10
- package/dist/delegation/workspace.js +136 -75
- package/dist/delegation/workspace.js.map +1 -1
- package/dist/detached-process.d.ts +103 -0
- package/dist/detached-process.js +301 -0
- package/dist/detached-process.js.map +1 -0
- package/dist/discovery/catalog.d.ts +2 -1
- package/dist/discovery/catalog.js.map +1 -1
- package/dist/discovery/cli.js +3 -1
- package/dist/discovery/cli.js.map +1 -1
- package/dist/git-diff-base.d.ts +6 -61
- package/dist/git-diff-base.js +6 -70
- package/dist/git-diff-base.js.map +1 -1
- package/dist/git-index-copy.d.ts +4 -0
- package/dist/git-index-copy.js +10 -0
- package/dist/git-index-copy.js.map +1 -0
- package/dist/git-worktree-lock.d.ts +2 -4
- package/dist/git-worktree-lock.js +2 -4
- package/dist/git-worktree-lock.js.map +1 -1
- package/dist/git-worktree-release.d.ts +2 -2
- package/dist/git-worktree-release.js.map +1 -1
- package/dist/git-worktree.d.ts +47 -76
- package/dist/git-worktree.js +240 -94
- package/dist/git-worktree.js.map +1 -1
- package/dist/handoff.d.ts +51 -41
- package/dist/handoff.js +130 -78
- package/dist/handoff.js.map +1 -1
- package/dist/index.js +60 -39
- package/dist/index.js.map +1 -1
- package/dist/merge-observations.d.ts +13 -0
- package/dist/merge-observations.js +55 -0
- package/dist/merge-observations.js.map +1 -0
- package/dist/open-url.js +4 -14
- package/dist/open-url.js.map +1 -1
- package/dist/paths.d.ts +10 -13
- package/dist/paths.js +36 -17
- package/dist/paths.js.map +1 -1
- package/dist/planner.d.ts +2 -1
- package/dist/planner.js +9 -6
- package/dist/planner.js.map +1 -1
- package/dist/preview/agent-address.d.ts +34 -0
- package/dist/preview/agent-address.js +51 -0
- package/dist/preview/agent-address.js.map +1 -0
- package/dist/preview/agent-marker.d.ts +17 -0
- package/dist/preview/agent-marker.js +71 -0
- package/dist/preview/agent-marker.js.map +1 -0
- package/dist/preview/cdp-proxy.d.ts +54 -0
- package/dist/preview/cdp-proxy.js +151 -0
- package/dist/preview/cdp-proxy.js.map +1 -0
- package/dist/preview/cdp.d.ts +39 -3
- package/dist/preview/cdp.js +155 -57
- package/dist/preview/cdp.js.map +1 -1
- package/dist/preview/chromium.d.ts +18 -6
- package/dist/preview/chromium.js +112 -25
- package/dist/preview/chromium.js.map +1 -1
- package/dist/preview/dev-server.d.ts +1 -1
- package/dist/preview/dev-server.js +20 -44
- package/dist/preview/dev-server.js.map +1 -1
- package/dist/preview/host.d.ts +70 -3
- package/dist/preview/host.js +314 -28
- package/dist/preview/host.js.map +1 -1
- package/dist/preview/registration.d.ts +10 -5
- package/dist/preview/registration.js +2 -0
- package/dist/preview/registration.js.map +1 -1
- package/dist/preview/session.d.ts +2 -0
- package/dist/preview/session.js +10 -0
- package/dist/preview/session.js.map +1 -1
- package/dist/process-wait/exit-file.d.ts +29 -0
- package/dist/process-wait/exit-file.js +67 -0
- package/dist/process-wait/exit-file.js.map +1 -0
- package/dist/process-wait/supervisor.d.ts +30 -0
- package/dist/process-wait/supervisor.js +71 -0
- package/dist/process-wait/supervisor.js.map +1 -0
- package/dist/release/snapshot.d.ts +6 -6
- package/dist/runs/agent-tmpdir.d.ts +51 -36
- package/dist/runs/agent-tmpdir.js +389 -132
- package/dist/runs/agent-tmpdir.js.map +1 -1
- package/dist/runs/auto-name.d.ts +6 -6
- package/dist/runs/auto-name.js +1 -1
- package/dist/runs/auto-name.js.map +1 -1
- package/dist/runs/client-request.d.ts +3 -3
- package/dist/runs/client-request.js +3 -3
- package/dist/runs/client-request.js.map +1 -1
- package/dist/runs/delegation-state.d.ts +11 -2
- package/dist/runs/delegation-state.js.map +1 -1
- package/dist/runs/event-history-agent-context.d.ts +14 -0
- package/dist/runs/event-history-agent-context.js +105 -0
- package/dist/runs/event-history-agent-context.js.map +1 -0
- package/dist/runs/event-history-context.d.ts +15 -0
- package/dist/runs/event-history-context.js +109 -0
- package/dist/runs/event-history-context.js.map +1 -0
- package/dist/runs/event-history.d.ts +4 -1
- package/dist/runs/event-history.js +29 -130
- package/dist/runs/event-history.js.map +1 -1
- package/dist/runs/history-stream.d.ts +2 -0
- package/dist/runs/history-stream.js +62 -0
- package/dist/runs/history-stream.js.map +1 -0
- package/dist/runs/legacy-index.d.ts +6 -19
- package/dist/runs/legacy-index.js +6 -19
- package/dist/runs/legacy-index.js.map +1 -1
- package/dist/runs/live-item-snapshots.d.ts +13 -0
- package/dist/runs/live-item-snapshots.js +79 -0
- package/dist/runs/live-item-snapshots.js.map +1 -0
- package/dist/runs/loaded-run-healing.d.ts +3 -0
- package/dist/runs/loaded-run-healing.js +17 -0
- package/dist/runs/loaded-run-healing.js.map +1 -0
- package/dist/runs/outcome-commit.d.ts +98 -0
- package/dist/runs/outcome-commit.js +132 -0
- package/dist/runs/outcome-commit.js.map +1 -0
- package/dist/runs/pull-requests.d.ts +14 -0
- package/dist/runs/pull-requests.js +96 -0
- package/dist/runs/pull-requests.js.map +1 -0
- package/dist/runs/raw-record.d.ts +3 -15
- package/dist/runs/raw-record.js +3 -15
- package/dist/runs/raw-record.js.map +1 -1
- package/dist/runs/retention.d.ts +2 -2
- package/dist/runs/retention.js +7 -0
- package/dist/runs/retention.js.map +1 -1
- package/dist/runs/review-gate.d.ts +1 -1
- package/dist/runs/review-gate.js.map +1 -1
- package/dist/runs/run-claims.d.ts +2 -9
- package/dist/runs/run-claims.js.map +1 -1
- package/dist/runs/run-database.d.ts +29 -34
- package/dist/runs/run-database.js +124 -46
- package/dist/runs/run-database.js.map +1 -1
- package/dist/runs/run-index.d.ts +6 -25
- package/dist/runs/run-index.js +25 -38
- package/dist/runs/run-index.js.map +1 -1
- package/dist/runs/run-row.d.ts +5 -34
- package/dist/runs/run-row.js +13 -38
- package/dist/runs/run-row.js.map +1 -1
- package/dist/runs/store.d.ts +1597 -744
- package/dist/runs/store.js +1231 -739
- package/dist/runs/store.js.map +1 -1
- package/dist/runs/task-markers.d.ts +1 -0
- package/dist/runs/task-markers.js +5 -1
- package/dist/runs/task-markers.js.map +1 -1
- package/dist/runs/task-refs.d.ts +3 -3
- package/dist/runs/transcript-facts-fold.d.ts +64 -0
- package/dist/runs/transcript-facts-fold.js +109 -0
- package/dist/runs/transcript-facts-fold.js.map +1 -0
- package/dist/runs/transcript-facts-load.d.ts +11 -0
- package/dist/runs/transcript-facts-load.js +66 -0
- package/dist/runs/transcript-facts-load.js.map +1 -0
- package/dist/runs/transcript-facts-queue.d.ts +30 -0
- package/dist/runs/transcript-facts-queue.js +227 -0
- package/dist/runs/transcript-facts-queue.js.map +1 -0
- package/dist/runs/transcript-facts-worker.d.ts +15 -0
- package/dist/runs/transcript-facts-worker.js +26 -0
- package/dist/runs/transcript-facts-worker.js.map +1 -0
- package/dist/runs/transcript-facts.d.ts +13 -51
- package/dist/runs/transcript-facts.js +86 -202
- package/dist/runs/transcript-facts.js.map +1 -1
- package/dist/runs/ui-event-sink.d.ts +5 -30
- package/dist/runs/ui-event-sink.js +8 -30
- package/dist/runs/ui-event-sink.js.map +1 -1
- package/dist/runs/webhook.d.ts +104 -38
- package/dist/runs/webhook.js +180 -77
- package/dist/runs/webhook.js.map +1 -1
- package/dist/server/app-type.d.ts +2 -17
- package/dist/server/archive-on-merge.d.ts +35 -0
- package/dist/server/archive-on-merge.js +202 -0
- package/dist/server/archive-on-merge.js.map +1 -0
- package/dist/server/capabilities.d.ts +3 -15
- package/dist/server/capabilities.js +6 -19
- package/dist/server/capabilities.js.map +1 -1
- package/dist/server/checkout-progress.d.ts +10 -0
- package/dist/server/checkout-progress.js +27 -0
- package/dist/server/checkout-progress.js.map +1 -0
- package/dist/server/checkout.d.ts +10 -19
- package/dist/server/checkout.js +15 -45
- package/dist/server/checkout.js.map +1 -1
- package/dist/server/cockpit-ownership.d.ts +2 -0
- package/dist/server/cockpit-ownership.js +9 -0
- package/dist/server/cockpit-ownership.js.map +1 -1
- package/dist/server/cold-repo-handles.d.ts +2 -7
- package/dist/server/cold-repo-handles.js +2 -7
- package/dist/server/cold-repo-handles.js.map +1 -1
- package/dist/server/completion-actions.d.ts +30 -0
- package/dist/server/completion-actions.js +204 -0
- package/dist/server/completion-actions.js.map +1 -0
- package/dist/server/create-project.d.ts +71 -0
- package/dist/server/create-project.js +448 -0
- package/dist/server/create-project.js.map +1 -0
- package/dist/server/forge/github-filters.d.ts +7 -1
- package/dist/server/forge/github-filters.js +66 -51
- package/dist/server/forge/github-filters.js.map +1 -1
- package/dist/server/forge/github-merge-requirements.d.ts +18 -0
- package/dist/server/forge/github-merge-requirements.js +137 -0
- package/dist/server/forge/github-merge-requirements.js.map +1 -0
- package/dist/server/forge/github.d.ts +98 -111
- package/dist/server/forge/github.js +625 -306
- package/dist/server/forge/github.js.map +1 -1
- package/dist/server/forge/types.d.ts +25 -22
- package/dist/server/fs-browse.d.ts +3 -28
- package/dist/server/fs-browse.js.map +1 -1
- package/dist/server/git-changes.d.ts +5 -15
- package/dist/server/git-changes.js +3 -50
- package/dist/server/git-changes.js.map +1 -1
- package/dist/server/git.d.ts +3 -1
- package/dist/server/git.js +12 -0
- package/dist/server/git.js.map +1 -1
- package/dist/server/github.d.ts +1 -1
- package/dist/server/github.js +1 -1
- package/dist/server/github.js.map +1 -1
- package/dist/server/launch-key.d.ts +2 -4
- package/dist/server/launch-key.js +2 -4
- package/dist/server/launch-key.js.map +1 -1
- package/dist/server/live-routes.d.ts +68 -0
- package/dist/server/live-routes.js +147 -0
- package/dist/server/live-routes.js.map +1 -0
- package/dist/server/open-in-app.d.ts +4 -13
- package/dist/server/open-in-app.js +5 -41
- package/dist/server/open-in-app.js.map +1 -1
- package/dist/server/open-in-targets.d.ts +42 -0
- package/dist/server/open-in-targets.js +110 -0
- package/dist/server/open-in-targets.js.map +1 -0
- package/dist/server/open-in-terminal.d.ts +3 -0
- package/dist/server/open-in-terminal.js +6 -26
- package/dist/server/open-in-terminal.js.map +1 -1
- package/dist/server/preview-cdp-socket.d.ts +21 -0
- package/dist/server/preview-cdp-socket.js +112 -0
- package/dist/server/preview-cdp-socket.js.map +1 -0
- package/dist/server/preview-socket.d.ts +11 -11
- package/dist/server/preview-socket.js +22 -22
- package/dist/server/preview-socket.js.map +1 -1
- package/dist/server/preview-sockets.d.ts +14 -0
- package/dist/server/preview-sockets.js +18 -0
- package/dist/server/preview-sockets.js.map +1 -0
- package/dist/server/project-context.d.ts +54 -18
- package/dist/server/project-context.js +178 -5
- package/dist/server/project-context.js.map +1 -1
- package/dist/server/provider-action-gate.d.ts +0 -2
- package/dist/server/provider-action-gate.js +0 -21
- package/dist/server/provider-action-gate.js.map +1 -1
- package/dist/server/provider-auth-runtime.d.ts +3 -18
- package/dist/server/provider-auth-runtime.js +3 -18
- package/dist/server/provider-auth-runtime.js.map +1 -1
- package/dist/server/repo-branches.d.ts +3 -9
- package/dist/server/repo-branches.js +6 -22
- package/dist/server/repo-branches.js.map +1 -1
- package/dist/server/run-event-feed.d.ts +20 -0
- package/dist/server/run-event-feed.js +190 -0
- package/dist/server/run-event-feed.js.map +1 -0
- package/dist/server/server-deps.d.ts +37 -0
- package/dist/server/server-deps.js +114 -0
- package/dist/server/server-deps.js.map +1 -0
- package/dist/server/server.d.ts +14082 -11998
- package/dist/server/server.js +785 -1647
- package/dist/server/server.js.map +1 -1
- package/dist/server/start-run-options.d.ts +82 -0
- package/dist/server/start-run-options.js +111 -0
- package/dist/server/start-run-options.js.map +1 -0
- package/dist/server/validators.d.ts +3 -29
- package/dist/server/validators.js +1 -2
- package/dist/server/validators.js.map +1 -1
- package/dist/server/ws.d.ts +3 -23
- package/dist/server/ws.js +3 -23
- package/dist/server/ws.js.map +1 -1
- package/dist/server-install/engine.d.ts +6 -9
- package/dist/server-install/engine.js +2 -9
- package/dist/server-install/engine.js.map +1 -1
- package/dist/server-install/platforms/ubuntu-vps.d.ts +1 -1
- package/dist/server-install/state.d.ts +2 -4
- package/dist/server-install/state.js +2 -4
- package/dist/server-install/state.js.map +1 -1
- package/dist/server-install/steps.d.ts +2 -5
- package/dist/server-install/steps.js +3 -6
- package/dist/server-install/steps.js.map +1 -1
- package/dist/server-install/types.d.ts +3 -6
- package/dist/server-install/types.js +2 -5
- package/dist/server-install/types.js.map +1 -1
- package/dist/server-install/ui.d.ts +2 -8
- package/dist/server-install/ui.js +3 -3
- package/dist/server-install/ui.js.map +1 -1
- package/dist/session-context.d.ts +64 -0
- package/dist/session-context.js +264 -0
- package/dist/session-context.js.map +1 -0
- package/dist/skills-provision.d.ts +62 -0
- package/dist/skills-provision.js +325 -0
- package/dist/skills-provision.js.map +1 -0
- package/dist/skills-remote.d.ts +29 -27
- package/dist/skills-remote.js +236 -100
- package/dist/skills-remote.js.map +1 -1
- package/dist/skills.d.ts +25 -36
- package/dist/skills.js +43 -54
- package/dist/skills.js.map +1 -1
- package/dist/subcommands.d.ts +11 -0
- package/dist/subcommands.js +24 -0
- package/dist/subcommands.js.map +1 -0
- package/dist/task-cli/cli.js +78 -25
- package/dist/task-cli/cli.js.map +1 -1
- package/dist/task-cli/discovery.d.ts +4 -2
- package/dist/task-cli/discovery.js +14 -13
- package/dist/task-cli/discovery.js.map +1 -1
- package/dist/task-cli/hint.d.ts +20 -0
- package/dist/task-cli/hint.js +14 -0
- package/dist/task-cli/hint.js.map +1 -0
- package/dist/task-cli/http.d.ts +1 -0
- package/dist/task-cli/http.js +3 -1
- package/dist/task-cli/http.js.map +1 -1
- package/dist/task-cli/projections.d.ts +14 -11
- package/dist/task-cli/projections.js +15 -11
- package/dist/task-cli/projections.js.map +1 -1
- package/dist/task-cli/watch.d.ts +18 -10
- package/dist/task-cli/watch.js +128 -20
- package/dist/task-cli/watch.js.map +1 -1
- package/dist/ui-state.d.ts +17 -3
- package/dist/ui-state.js +56 -9
- package/dist/ui-state.js.map +1 -1
- package/dist/update-check.d.ts +0 -10
- package/dist/update-check.js +1 -16
- package/dist/update-check.js.map +1 -1
- package/dist/voice/decide.d.ts +32 -0
- package/dist/voice/decide.js +297 -0
- package/dist/voice/decide.js.map +1 -0
- package/dist/voice/decision-log.d.ts +52 -0
- package/dist/voice/decision-log.js +107 -0
- package/dist/voice/decision-log.js.map +1 -0
- package/dist/voice/engine.d.ts +119 -0
- package/dist/voice/engine.js +60 -0
- package/dist/voice/engine.js.map +1 -0
- package/dist/voice/fake-engine.d.ts +10 -0
- package/dist/voice/fake-engine.js +192 -0
- package/dist/voice/fake-engine.js.map +1 -0
- package/dist/voice/jev-engine.d.ts +17 -0
- package/dist/voice/jev-engine.js +110 -0
- package/dist/voice/jev-engine.js.map +1 -0
- package/dist/voice/pending-ask.d.ts +17 -0
- package/dist/voice/pending-ask.js +50 -0
- package/dist/voice/pending-ask.js.map +1 -0
- package/dist/voice/routes.d.ts +115 -0
- package/dist/voice/routes.js +91 -0
- package/dist/voice/routes.js.map +1 -0
- package/dist/voice/sentence.d.ts +21 -0
- package/dist/voice/sentence.js +61 -0
- package/dist/voice/sentence.js.map +1 -0
- package/dist/voice/thresholds.d.ts +28 -0
- package/dist/voice/thresholds.js +29 -0
- package/dist/voice/thresholds.js.map +1 -0
- package/dist/webhooks/cli.d.ts +18 -0
- package/dist/webhooks/cli.js +145 -0
- package/dist/webhooks/cli.js.map +1 -0
- package/dist/webhooks/prompt.d.ts +5 -0
- package/dist/webhooks/prompt.js +26 -0
- package/dist/webhooks/prompt.js.map +1 -0
- package/dist/workflows/active-run.d.ts +167 -0
- package/dist/workflows/active-run.js +21 -0
- package/dist/workflows/active-run.js.map +1 -0
- package/dist/workflows/continuation-admission.d.ts +913 -0
- package/dist/workflows/continuation-admission.js +265 -0
- package/dist/workflows/continuation-admission.js.map +1 -0
- package/dist/workflows/execution-account.d.ts +13 -0
- package/dist/workflows/execution-account.js +18 -0
- package/dist/workflows/execution-account.js.map +1 -0
- package/dist/workflows/input-acknowledgement.d.ts +152 -0
- package/dist/workflows/input-acknowledgement.js +38 -0
- package/dist/workflows/input-acknowledgement.js.map +1 -0
- package/dist/workflows/line-order.d.ts +5 -0
- package/dist/workflows/line-order.js +25 -0
- package/dist/workflows/line-order.js.map +1 -0
- package/dist/workflows/outcome-batches.d.ts +20 -0
- package/dist/workflows/outcome-batches.js +25 -0
- package/dist/workflows/outcome-batches.js.map +1 -0
- package/dist/workflows/question-routing.d.ts +8 -0
- package/dist/workflows/question-routing.js +18 -0
- package/dist/workflows/question-routing.js.map +1 -0
- package/dist/workflows/run-scheduling.d.ts +35 -0
- package/dist/workflows/run-scheduling.js +61 -0
- package/dist/workflows/run-scheduling.js.map +1 -0
- package/dist/workflows/run-states.d.ts +190 -0
- package/dist/workflows/run-states.js +295 -0
- package/dist/workflows/run-states.js.map +1 -0
- package/dist/workflows/run.d.ts +1296 -278
- package/dist/workflows/run.js +5730 -3265
- package/dist/workflows/run.js.map +1 -1
- package/dist/workflows/turn-end.d.ts +116 -0
- package/dist/workflows/turn-end.js +68 -0
- package/dist/workflows/turn-end.js.map +1 -0
- package/dist/workflows/types.d.ts +35 -130
- package/dist/workflows/types.js +47 -100
- package/dist/workflows/types.js.map +1 -1
- package/dist/workflows/waits.d.ts +74 -0
- package/dist/workflows/waits.js +197 -0
- package/dist/workflows/waits.js.map +1 -0
- package/dist/workspace/agent-accounts.d.ts +5 -38
- package/dist/workspace/agent-accounts.js +14 -40
- package/dist/workspace/agent-accounts.js.map +1 -1
- package/dist/workspace/agent-profiles.d.ts +40 -16
- package/dist/workspace/agent-profiles.js +77 -17
- package/dist/workspace/agent-profiles.js.map +1 -1
- package/dist/workspace/config.d.ts +48 -49
- package/dist/workspace/config.js +68 -72
- package/dist/workspace/config.js.map +1 -1
- package/dist/workspace/migrations.d.ts +3 -13
- package/dist/workspace/migrations.js.map +1 -1
- package/dist/workspace/projects-cli.d.ts +1 -1
- package/dist/workspace/projects-cli.js.map +1 -1
- package/dist/workspace/projects.d.ts +15 -18
- package/dist/workspace/projects.js +20 -16
- package/dist/workspace/projects.js.map +1 -1
- package/dist/workspace/semaphore.d.ts +11 -45
- package/dist/workspace/semaphore.js +6 -18
- package/dist/workspace/semaphore.js.map +1 -1
- package/dist/workspace/ui-state.d.ts +6 -4
- package/dist/workspace/ui-state.js +6 -4
- package/dist/workspace/ui-state.js.map +1 -1
- package/dist/workspace/webhooks.d.ts +40 -0
- package/dist/workspace/webhooks.js +146 -0
- package/dist/workspace/webhooks.js.map +1 -0
- package/dist/worktree-manifest.d.ts +165 -0
- package/dist/worktree-manifest.js +530 -0
- package/dist/worktree-manifest.js.map +1 -0
- package/dist/worktree-setup.js.map +1 -1
- package/package.json +6 -5
- package/scripts/benchmark-run-store-fixture.ts +7 -3
- package/scripts/check-pack.mjs +3 -1
- package/scripts/inline-contract.mjs +80 -27
- package/scripts/install-as-command.mjs +3 -1
- package/scripts/measure-transcript-facts-health.mjs +87 -0
- package/scripts/measure-transcript-facts-lag.mjs +68 -0
- package/scripts/mock-ci-tool.mjs +49 -6
- package/scripts/mock-claude-model-refusal.mjs +42 -0
- package/scripts/mock-claude.mjs +833 -591
- package/scripts/mock-codex-app-server.mjs +785 -418
- package/scripts/mock-cursor-acp.mjs +296 -125
- package/scripts/mock-cursor-print.mjs +256 -0
- package/scripts/mock-deferred-turn-start.mjs +16 -0
- package/scripts/mock-delivery-control.d.mts +23 -0
- package/scripts/mock-delivery-control.mjs +80 -0
- package/scripts/mock-env-record.mjs +11 -0
- package/scripts/mock-failure-control.d.mts +13 -0
- package/scripts/mock-failure-control.mjs +68 -0
- package/scripts/mock-multi-pr.mjs +7 -0
- package/scripts/mock-nudge.mjs +45 -0
- package/scripts/mock-omp-rpc.mjs +429 -255
- package/scripts/mock-opencode-serve.mjs +972 -557
- package/scripts/mock-pi-rpc.mjs +558 -331
- package/scripts/mock-runner-crash.mjs +18 -2
- package/scripts/mock-session-context.d.mts +5 -0
- package/scripts/mock-session-context.mjs +56 -0
- package/scripts/mock-silent-tail.mjs +10 -3
- package/scripts/pi-default-tools.mjs +22 -0
- package/scripts/pi-project-skills.mjs +59 -0
- package/scripts/probe-cursor-print.mjs +627 -0
- package/scripts/transcript-facts-fixture.mjs +53 -0
- package/scripts/voice-replay.ts +50 -0
- package/scripts/windows-workspace-identity.cs +208 -0
- package/scripts/windows-workspace-identity.ps1 +10 -0
- package/web/dist/assets/alert-dialog-DfctKUMw.js +1 -0
- package/web/dist/assets/button-CeupvoKG.js +41 -0
- package/web/dist/assets/centered-state-hDsyXrnH.js +1 -0
- package/web/dist/assets/cez-idle-D3aj_9lp.js +1 -0
- package/web/dist/assets/diff-BnIXZK3i2.js +3 -0
- package/web/dist/assets/diff-controls-GewpW9aF.js +1 -0
- package/web/dist/assets/diff-view-Byo7gpvW.js +11 -0
- package/web/dist/assets/dropdown-menu-COj_J5wd.js +6 -0
- package/web/dist/assets/eye-B8okNWXU.js +1 -0
- package/web/dist/assets/git-toolbar-DY0z0n4S.js +1 -0
- package/web/dist/assets/github-DwU6ALRK.js +1 -0
- package/web/dist/assets/{image-preview-FOEfqpZP.js → image-preview-C_t9q45f.js} +1 -1
- package/web/dist/assets/index-BOfE8pyD.js +34 -0
- package/web/dist/assets/index-D9HpsmdW.css +1 -0
- package/web/dist/assets/live-protocol-Uce2NwEX.js +64 -0
- package/web/dist/assets/live-worker-BizfZSoh.ts +33 -0
- package/web/dist/assets/markdown-BBDDg-4t.js +1 -0
- package/web/dist/assets/nav-row-styles-AoIhhIwf.js +1 -0
- package/web/dist/assets/popover-D56fhiXj.js +1 -0
- package/web/dist/assets/preview-pane-connected-BmVqfSU5.js +3 -0
- package/web/dist/assets/reference-chip-gQNk-4jc.js +1 -0
- package/web/dist/assets/repo-git-B5ECDUuv.js +1 -0
- package/web/dist/assets/{repo-git-CoKp-g9K.css → repo-git-DVXNOJDT.css} +1 -1
- package/web/dist/assets/run-header-C0Y1NvEM.js +2 -0
- package/web/dist/assets/run-header-CC7VUTg9.css +1 -0
- package/web/dist/assets/skills-DUeTkZ9z.js +1 -0
- package/web/dist/assets/status-dot-1PR0i69P.js +1 -0
- package/web/dist/assets/tab-link-DmWk4l5O.js +1 -0
- package/web/dist/assets/task-changes-DKZXuW89.js +1 -0
- package/web/dist/assets/task-commits-BZ6KxWdF.js +1 -0
- package/web/dist/assets/task-files-DlF7Apcn.js +2 -0
- package/web/dist/assets/task-github-item-CVPo3geZ.js +1 -0
- package/web/dist/assets/task-thread-DtQ6uGfQ.css +1 -0
- package/web/dist/assets/task-thread-mm4-ECyo.js +9 -0
- package/web/dist/assets/thread-state-CIw2BlhT.js +4 -0
- package/web/dist/assets/use-hand-to-agent-state-BCDjzHnG.js +1 -0
- package/web/dist/assets/use-hand-to-agent-state-C7esPJ-N.css +1 -0
- package/web/dist/assets/workflows-D8vYD-ql.js +7 -0
- package/web/dist/assets/zoomable-image-CxQSsfcn.js +1 -0
- package/web/dist/index.html +13 -17
- package/web/dist/live-worker.js +4 -0
- package/dist/core/tool-display.js +0 -179
- package/dist/core/tool-display.js.map +0 -1
- package/dist/runs/human-ask-summary.d.ts +0 -9
- package/dist/runs/human-ask-summary.js +0 -39
- package/dist/runs/human-ask-summary.js.map +0 -1
- package/dist/runs/run-search.d.ts +0 -29
- package/dist/runs/run-search.js +0 -63
- package/dist/runs/run-search.js.map +0 -1
- package/dist/skills-banner.d.ts +0 -22
- package/dist/skills-banner.js +0 -41
- package/dist/skills-banner.js.map +0 -1
- package/dist/skills-update.d.ts +0 -88
- package/dist/skills-update.js +0 -392
- package/dist/skills-update.js.map +0 -1
- package/dist/todos.d.ts +0 -48
- package/dist/todos.js +0 -201
- package/dist/todos.js.map +0 -1
- package/web/dist/assets/agent-accounts-CFOBMVHc.js +0 -1
- package/web/dist/assets/alert-dialog-BrpNUwMt.js +0 -1
- package/web/dist/assets/button-C_rd7CPp.js +0 -43
- package/web/dist/assets/compare-variants-D6WXhvXA.js +0 -1
- package/web/dist/assets/diff-DrEARXTV.js +0 -3
- package/web/dist/assets/diff-controls-B1-j7nFg.js +0 -1
- package/web/dist/assets/diff-view-DvGLjdTk.js +0 -6
- package/web/dist/assets/dropdown-menu-BegOZFrj.js +0 -1
- package/web/dist/assets/format-DpNe3S0A.js +0 -1
- package/web/dist/assets/git-toolbar-Cw4ljmhB.js +0 -1
- package/web/dist/assets/github-CfV5sqL0.js +0 -1
- package/web/dist/assets/index-DgWWlOLy.js +0 -13
- package/web/dist/assets/index-fBFnuvxu.css +0 -1
- package/web/dist/assets/nav-row-styles-vp2JbhuJ.js +0 -1
- package/web/dist/assets/popover-BohP6WTx.js +0 -1
- package/web/dist/assets/preview-pane-connected-qTA5KNoJ.js +0 -3
- package/web/dist/assets/preview-state-vuMviq6q.js +0 -1
- package/web/dist/assets/prompt-templates-Cubdut_C.js +0 -15
- package/web/dist/assets/repo-git-Cf4t5PD0.js +0 -1
- package/web/dist/assets/run-diff-BpkUW37Z.js +0 -3
- package/web/dist/assets/run-header-68WHf9wV.js +0 -1
- package/web/dist/assets/run-header-8GObNx6F.css +0 -1
- package/web/dist/assets/search-x-I9Q8pgUa.js +0 -1
- package/web/dist/assets/skills-DFBiAuJG.js +0 -1
- package/web/dist/assets/skills-DiVIgKeU.js +0 -1
- package/web/dist/assets/square-terminal-B6RYYieR.js +0 -1
- package/web/dist/assets/status-dot-CqTJHSP9.js +0 -1
- package/web/dist/assets/tab-link-B07Hu4QX.js +0 -1
- package/web/dist/assets/task-changes--lQF6EYf.js +0 -1
- package/web/dist/assets/task-commits-Cx0qy4DN.js +0 -1
- package/web/dist/assets/task-files-D50s-gKW.js +0 -2
- package/web/dist/assets/task-github-item-DaqmSwYT.js +0 -1
- package/web/dist/assets/task-thread-BPQ64lui.js +0 -7
- package/web/dist/assets/task-thread-zNE2Q9E-.css +0 -1
- package/web/dist/assets/textarea-D20O4Pw0.js +0 -1
- package/web/dist/assets/thread-state-DWcFMrvb.js +0 -4
- package/web/dist/assets/use-hand-to-agent-state-BLIGmwbd.css +0 -1
- package/web/dist/assets/use-hand-to-agent-state-Cy9eyyfL.js +0 -1
- package/web/dist/assets/utils-JsL3ZsJf.js +0 -64
- package/web/dist/assets/workflows-jwG7uxqi.js +0 -11
- package/web/dist/assets/zoomable-image-BJJ64KGc.js +0 -1
|
@@ -5,25 +5,35 @@ import { previewToolEnabled } from '../ci-wait/tools.js';
|
|
|
5
5
|
import { PROJECT_ID_RE } from '../workspace/config.js';
|
|
6
6
|
import { matchPath } from './upgrade-router.js';
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* open pane, carrying that viewer's JPEG frames down and the contract's input vocabulary up.
|
|
12
|
-
*
|
|
13
|
-
* Every refusal happens before the handshake: flag off → 404, the request-origin guard refuses or
|
|
14
|
-
* admits only as untrusted → 403 (a foreign page on another loopback port must never see a task's
|
|
15
|
-
* page), unknown project or run → 404. A run whose worktree is gone completes the handshake and is
|
|
16
|
-
* told so, because that is a state the pane renders (5.15), not an error.
|
|
8
|
+
* Per-open-pane preview socket on scoped and boot-alias routes. Refuse disabled, untrusted or
|
|
9
|
+
* unknown targets before handshake. A missing worktree is reported after handshake as pane
|
|
10
|
+
* state.
|
|
17
11
|
*/
|
|
18
12
|
export const PREVIEW_WS_PATHS = ['/api/v1/p/:projectId/runs/:id/preview/ws', '/api/v1/runs/:id/preview/ws'];
|
|
19
13
|
/** Same reaping cadence as the subscription hub. */
|
|
20
14
|
const HEARTBEAT_MS = 30_000;
|
|
21
15
|
/** Input frames are small; a paste through `insertText` is the largest legitimate one. */
|
|
22
16
|
const MAX_PAYLOAD_BYTES = 256 * 1024;
|
|
23
|
-
|
|
17
|
+
/** Refuses an upgrade before the handshake. Shared with the agent's CDP socket. */
|
|
18
|
+
export function reject(socket, status) {
|
|
24
19
|
socket.write(`HTTP/1.1 ${status} ${status === 403 ? 'Forbidden' : 'Not Found'}\r\nconnection: close\r\n\r\n`);
|
|
25
20
|
socket.destroy();
|
|
26
21
|
}
|
|
22
|
+
/** Pings `ws` every `heartbeatMs` and terminates it after a missed pong. Returns the stop. */
|
|
23
|
+
export function keepAlive(ws, heartbeatMs) {
|
|
24
|
+
let alive = true;
|
|
25
|
+
const beat = setInterval(() => {
|
|
26
|
+
if (!alive)
|
|
27
|
+
return ws.terminate();
|
|
28
|
+
alive = false;
|
|
29
|
+
ws.ping();
|
|
30
|
+
}, heartbeatMs);
|
|
31
|
+
beat.unref?.();
|
|
32
|
+
ws.on('pong', () => {
|
|
33
|
+
alive = true;
|
|
34
|
+
});
|
|
35
|
+
return () => clearInterval(beat);
|
|
36
|
+
}
|
|
27
37
|
export function createPreviewSocket(deps) {
|
|
28
38
|
const heartbeatMs = deps.heartbeatMs ?? HEARTBEAT_MS;
|
|
29
39
|
const log = deps.log ?? ((line) => console.warn(line));
|
|
@@ -32,7 +42,6 @@ export function createPreviewSocket(deps) {
|
|
|
32
42
|
let closed = false;
|
|
33
43
|
const connected = (ws, req, ctx) => {
|
|
34
44
|
open.add(ws);
|
|
35
|
-
let alive = true;
|
|
36
45
|
let warned = false;
|
|
37
46
|
const send = (msg) => {
|
|
38
47
|
if (ws.readyState === 1)
|
|
@@ -47,18 +56,9 @@ export function createPreviewSocket(deps) {
|
|
|
47
56
|
},
|
|
48
57
|
close: (code, reason) => ws.close(code, reason),
|
|
49
58
|
};
|
|
50
|
-
const
|
|
51
|
-
if (!alive)
|
|
52
|
-
return ws.terminate();
|
|
53
|
-
alive = false;
|
|
54
|
-
ws.ping();
|
|
55
|
-
}, heartbeatMs);
|
|
56
|
-
beat.unref?.();
|
|
57
|
-
ws.on('pong', () => {
|
|
58
|
-
alive = true;
|
|
59
|
-
});
|
|
59
|
+
const stopBeat = keepAlive(ws, heartbeatMs);
|
|
60
60
|
ws.on('close', () => {
|
|
61
|
-
|
|
61
|
+
stopBeat();
|
|
62
62
|
open.delete(ws);
|
|
63
63
|
if (ctx)
|
|
64
64
|
deps.host?.detach(ctx.runId, viewer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-socket.js","sourceRoot":"","sources":["../../src/server/preview-socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,0BAA0B,EAA6B,MAAM,
|
|
1
|
+
{"version":3,"file":"preview-socket.js","sourceRoot":"","sources":["../../src/server/preview-socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,0BAA0B,EAA6B,MAAM,sCAAsC,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAkB,MAAM,IAAI,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAqB,MAAM,qBAAqB,CAAC;AAGnE;;;;GAIG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,0CAA0C,EAAE,6BAA6B,CAAC,CAAC;AAE5G,oDAAoD;AACpD,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B,0FAA0F;AAC1F,MAAM,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAC;AAsBrC,mFAAmF;AACnF,MAAM,UAAU,MAAM,CAAC,MAAc,EAAE,MAAiB;IACtD,MAAM,CAAC,KAAK,CAAC,YAAY,MAAM,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,+BAA+B,CAAC,CAAC;IAC9G,MAAM,CAAC,OAAO,EAAE,CAAC;AACnB,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,SAAS,CAAC,EAAa,EAAE,WAAmB;IAC1D,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;QAClC,KAAK,GAAG,KAAK,CAAC;QACd,EAAE,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC,EAAE,WAAW,CAAC,CAAC;IAChB,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;IACf,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACjB,KAAK,GAAG,IAAI,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAa,CAAC;IAClC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,SAAS,GAAG,CAAC,EAAa,EAAE,GAAoB,EAAE,GAA2B,EAAQ,EAAE;QAC3F,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,IAAI,GAAG,CAAC,GAAyB,EAAE,EAAE;YACzC,IAAI,EAAE,CAAC,UAAU,KAAK,CAAC;gBAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,MAAM,MAAM,GAAW;YACrB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,aAAa;YACrD,IAAI;YACJ,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,EAAE,CAAC,UAAU,KAAK,CAAC;oBAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;SAChD,CAAC;QACF,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC5C,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChB,IAAI,GAAG;gBAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,+EAA+E;QAC/E,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YACjC,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,0BAA0B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM;oBAAE,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,qCAAqC,CAAC,CAAC;gBAC5E,MAAM,GAAG,IAAI,CAAC;gBACd,OAAO;YACT,CAAC;YACD,KAAK,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,GAAoB,EAAE,MAAc,EAAE,IAAY,EAAE,MAA8B,EAAiB,EAAE;QACzH,yFAAyF;QACzF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAAE,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QACjC,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG;YAAE,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,SAAS;YAAE,OAAO;QAC7B,MAAM,GAAG,GAA2B,GAAG,CAAC,YAAY,IAAI,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;YAClF,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YACrH,CAAC,CAAC,SAAS,CAAC;QACd,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE;YACL,KAAK,EAAE,SAAS,CAAC,gBAAgB,CAAC;YAClC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;SAC9E;QACD,KAAK;YACH,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;gBAAE,EAAE,CAAC,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PreviewHost } from '../preview/host.ts';
|
|
2
|
+
import { type PreviewSocketDeps } from './preview-socket.ts';
|
|
3
|
+
import type { UpgradeRoute } from './upgrade-router.ts';
|
|
4
|
+
/**
|
|
5
|
+
* The preview's two upgrade routes, built and closed together: the owner's pane socket (hearsay-tools/cezarion#781) and the
|
|
6
|
+
* agent's CDP proxy (hearsay-tools/cezarion#784), the only way to the task's Chromium.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createPreviewSockets(deps: Omit<PreviewSocketDeps, 'host'> & {
|
|
9
|
+
host?: PreviewHost | undefined;
|
|
10
|
+
cockpitOrigin: () => string | undefined;
|
|
11
|
+
}): {
|
|
12
|
+
routes: UpgradeRoute[];
|
|
13
|
+
close(): void;
|
|
14
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createPreviewCdpSocket } from './preview-cdp-socket.js';
|
|
2
|
+
import { createPreviewSocket } from './preview-socket.js';
|
|
3
|
+
/**
|
|
4
|
+
* The preview's two upgrade routes, built and closed together: the owner's pane socket (hearsay-tools/cezarion#781) and the
|
|
5
|
+
* agent's CDP proxy (hearsay-tools/cezarion#784), the only way to the task's Chromium.
|
|
6
|
+
*/
|
|
7
|
+
export function createPreviewSockets(deps) {
|
|
8
|
+
const pane = createPreviewSocket(deps);
|
|
9
|
+
const agent = createPreviewCdpSocket({ host: deps.host, cockpitOrigin: deps.cockpitOrigin });
|
|
10
|
+
return {
|
|
11
|
+
routes: [pane.route, agent.route],
|
|
12
|
+
close() {
|
|
13
|
+
pane.close();
|
|
14
|
+
agent.close();
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=preview-sockets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-sockets.js","sourceRoot":"","sources":["../../src/server/preview-sockets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAA0B,MAAM,qBAAqB,CAAC;AAGlF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAmH;IACtJ,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,sBAAsB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC7F,OAAO;QACL,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;QACjC,KAAK;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -3,20 +3,11 @@ import type { PreviewHost } from '../preview/host.ts';
|
|
|
3
3
|
import { RunStore } from '../runs/store.ts';
|
|
4
4
|
import { WorkspaceSemaphore } from '../workspace/semaphore.ts';
|
|
5
5
|
import { RunManager } from '../workflows/run.ts';
|
|
6
|
-
import {
|
|
6
|
+
import { CockpitOwnership } from './cockpit-ownership.ts';
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Building a context mirrors what `serveCommand` does for the boot project
|
|
13
|
-
* today — `RunStore.open(dataDir, { keepLive: true })`, `new RunManager`,
|
|
14
|
-
* orphan-worktree prune + count-based retention when the root is a git repo,
|
|
15
|
-
* then `manager.recover()` — so a project opened from the sidebar gets the
|
|
16
|
-
* exact same crash recovery the boot project gets. A registry entry whose
|
|
17
|
-
* root is gone (`status: 'missing'`) is never instantiated; `context()`
|
|
18
|
-
* throws a typed `ProjectContextError` the route layer maps to 409 (and
|
|
19
|
-
* `unknown-project` to 404).
|
|
8
|
+
* One store/manager/dataDir/launchKey context per project, built on demand or by post-listen
|
|
9
|
+
* warm-up. Build includes retention and recovery. Missing roots yield a typed 409; unknown
|
|
10
|
+
* projects yield 404.
|
|
20
11
|
*/
|
|
21
12
|
/** The per-project bundle the routes operate on. */
|
|
22
13
|
export interface ProjectContext {
|
|
@@ -41,9 +32,15 @@ export interface ProjectContextSource {
|
|
|
41
32
|
/** `missing` roots are never instantiated; `ok`/`not-git` both build. */
|
|
42
33
|
status: 'ok' | 'missing' | 'not-git';
|
|
43
34
|
}
|
|
35
|
+
/** A registry row `warmAll` can order: `lastOpenedAt` is the registry's own ISO timestamp. */
|
|
36
|
+
export interface ProjectWarmCandidate extends ProjectContextSource {
|
|
37
|
+
lastOpenedAt?: string;
|
|
38
|
+
}
|
|
39
|
+
/** The background warm-up (#667) is on unless `CEZ_PROJECT_WARMUP` is exactly `0`. */
|
|
40
|
+
export declare function projectWarmupEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
44
41
|
export interface ProjectContextDeps {
|
|
45
42
|
/** CLI process ownership, acquired before opening any secondary store. */
|
|
46
|
-
ownership?: CockpitOwnership;
|
|
43
|
+
ownership?: CockpitOwnership | undefined;
|
|
47
44
|
/** Install controller session capabilities before recovery starts any backend. */
|
|
48
45
|
prepareManager?: (project: Pick<ProjectContext, 'id' | 'root' | 'store' | 'manager'>) => (() => void) | void;
|
|
49
46
|
/** Arm persisted cleanup only after recovered execution/process state is available. */
|
|
@@ -59,12 +56,12 @@ export interface ProjectContextDeps {
|
|
|
59
56
|
* project's RunManager counts against the same `resources.maxParallel`.
|
|
60
57
|
* When omitted, the map still shares one private instance across the
|
|
61
58
|
* managers it builds (workspace defaults, never refreshed). */
|
|
62
|
-
semaphore?: WorkspaceSemaphore;
|
|
59
|
+
semaphore?: WorkspaceSemaphore | undefined;
|
|
63
60
|
/** The ONE workspace preview host (#781, present under `CEZ_PREVIEW=1`): every project's
|
|
64
61
|
* manager registers against it, because ports are host-global. */
|
|
65
|
-
preview?: PreviewHost;
|
|
62
|
+
preview?: PreviewHost | undefined;
|
|
66
63
|
/** The cockpit's listening port, for the preview tool's `cezar_port` refusal. */
|
|
67
|
-
cezarPort?: () => number | undefined;
|
|
64
|
+
cezarPort?: (() => number | undefined) | undefined;
|
|
68
65
|
}
|
|
69
66
|
/**
|
|
70
67
|
* A project's preview exits that the store drives (#781, spec 2026-10-02-live-preview-v1):
|
|
@@ -85,6 +82,10 @@ export declare function sweepRegisteredPreviewLeftovers(projects: ReadonlyArray<
|
|
|
85
82
|
root: string;
|
|
86
83
|
status?: string;
|
|
87
84
|
}>, host: PreviewHost | undefined): Promise<number>;
|
|
85
|
+
/** A build that finished after `disposeAll`: its context was torn down, never registered. */
|
|
86
|
+
export declare class ProjectContextsClosedError extends Error {
|
|
87
|
+
constructor();
|
|
88
|
+
}
|
|
88
89
|
export type ProjectContextFailure = 'unknown-project' | 'missing-root';
|
|
89
90
|
/** Typed failure so the route layer can map reasons to statuses (404/409)
|
|
90
91
|
* without string matching. */
|
|
@@ -105,6 +106,7 @@ export declare class ProjectContexts {
|
|
|
105
106
|
private readonly contexts;
|
|
106
107
|
private readonly managerCleanups;
|
|
107
108
|
private readonly building;
|
|
109
|
+
private readonly maintenance;
|
|
108
110
|
private readonly repoHandleControllers;
|
|
109
111
|
/** Live store-created subscribers; invoked before RunManager recovery. */
|
|
110
112
|
private readonly storeListeners;
|
|
@@ -113,10 +115,34 @@ export declare class ProjectContexts {
|
|
|
113
115
|
/** One semaphore for every manager this map builds — injected by boot,
|
|
114
116
|
* private-but-shared otherwise. */
|
|
115
117
|
private readonly semaphore;
|
|
118
|
+
/** Bumped by `disposeAll`: a build that started before it is torn down, not registered. */
|
|
119
|
+
private generation;
|
|
120
|
+
/** Bumped per project by `dispose(id)`, for the same reason: project removal runs `dispose`
|
|
121
|
+
* after the registry commit, and a build that read the registry before it must not land. */
|
|
122
|
+
private readonly epochs;
|
|
123
|
+
/** Managers of builds still in flight. `dispose`/`disposeAll` stop them at once: `recover()`
|
|
124
|
+
* checks `disposed` between its steps, so a stale build never pumps a re-queued run. */
|
|
125
|
+
private readonly buildingManagers;
|
|
116
126
|
constructor(deps: ProjectContextDeps);
|
|
117
127
|
/** The built context for `projectId`, building it on first access.
|
|
118
128
|
* Throws `ProjectContextError` for unknown ids and missing roots. */
|
|
119
129
|
context(projectId: string): Promise<ProjectContext>;
|
|
130
|
+
/** A short-lived writer lease for background maintenance; never creates/recover a manager.
|
|
131
|
+
* Context construction waits for the lease, while disposal invalidates it synchronously. */
|
|
132
|
+
withMaintenanceStore<T>(projectId: string, work: (store: RunStore, current: () => boolean) => Promise<T>): Promise<T | undefined>;
|
|
133
|
+
/**
|
|
134
|
+
* Build every project's context in the background (#667), so the first click on a project
|
|
135
|
+
* finds it ready. A lazy build costs the store open, the worktree sweeps and `recover()`, which
|
|
136
|
+
* resumes the runs a restart interrupted; paid on the click, that is seconds of a blank page.
|
|
137
|
+
*
|
|
138
|
+
* One project at a time, most recently opened first, yielding to the event loop between builds
|
|
139
|
+
* so a request is never queued behind several. A click on a project being warmed shares its
|
|
140
|
+
* build (`context()` caches the in-flight promise). Skipped: missing roots, built contexts, and
|
|
141
|
+
* a project another live cockpit owns, whose lock would otherwise be waited on for 15 s and then
|
|
142
|
+
* refused. A failed build is logged once and dropped; nothing is cached, so the next click
|
|
143
|
+
* builds again exactly as before. `disposeAll` stops the loop. Resolves with the ids built here.
|
|
144
|
+
*/
|
|
145
|
+
warmAll(projects: readonly ProjectWarmCandidate[]): Promise<string[]>;
|
|
120
146
|
/**
|
|
121
147
|
* Subscribe to future context builds (multi-project spec, step 2.8): the
|
|
122
148
|
* workspace SSE stream attaches to every already-built context at connect
|
|
@@ -136,6 +162,13 @@ export declare class ProjectContexts {
|
|
|
136
162
|
private notifyStoreCreated;
|
|
137
163
|
/** A listener throwing must never fail the build (its context is fine). */
|
|
138
164
|
private notifyBuilt;
|
|
165
|
+
/**
|
|
166
|
+
* Wait for a build of `projectId` that is already running, never starting one; a failed build
|
|
167
|
+
* resolves too. Project removal waits here (#667): the background warm-up makes a build in flight
|
|
168
|
+
* likely, and a removal that ran past it would count no running tasks, dispose nothing, and let
|
|
169
|
+
* the build register a removed project's store and manager afterwards.
|
|
170
|
+
*/
|
|
171
|
+
settle(projectId: string): Promise<void>;
|
|
139
172
|
/** Already-built context, without triggering a build. */
|
|
140
173
|
peek(projectId: string): ProjectContext | undefined;
|
|
141
174
|
/** Ids of every built context (dispose bookkeeping, shutdown flush). */
|
|
@@ -150,7 +183,10 @@ export declare class ProjectContexts {
|
|
|
150
183
|
dispose(projectId: string, opts?: {
|
|
151
184
|
releasePreviews?: boolean;
|
|
152
185
|
}): boolean;
|
|
153
|
-
|
|
186
|
+
private disposeBuilt;
|
|
187
|
+
/** Tear down every built context (process shutdown), and every build still running. */
|
|
154
188
|
disposeAll(): void;
|
|
189
|
+
/** `stale` turns true once `dispose(id)` or `disposeAll` overtook this build. Checked after
|
|
190
|
+
* each wait that comes before the manager exists, because until then nothing can stop it. */
|
|
155
191
|
private build;
|
|
156
192
|
}
|
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
import { join } from 'node:path';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { setImmediate as yieldToEventLoop } from 'node:timers/promises';
|
|
2
4
|
import { AutomationStore } from '../automations/store.js';
|
|
3
5
|
import { reconcileAutomationReceipts } from '../automations/task-template.js';
|
|
4
6
|
import { DEFAULT_WORKTREE_RETENTION, resolveWorktreeRetention } from '../config.js';
|
|
5
7
|
import { pruneOrphans } from '../git-worktree.js';
|
|
6
8
|
import { sweepPreviewLeftovers } from '../preview/dev-server.js';
|
|
9
|
+
import { reconcileAgentMarkers } from '../preview/agent-marker.js';
|
|
7
10
|
import { armRepoHandle } from '../runs/arm-repo-handle.js';
|
|
8
11
|
import { ensureDataGitignore } from '../data-gitignore.js';
|
|
9
12
|
import { reclaimWorktrees } from '../runs/retention.js';
|
|
10
13
|
import { RunStore } from '../runs/store.js';
|
|
14
|
+
import { RunDatabase, RUNS_DB_FILE, RUNS_IMPORT_COMPLETE_KEY } from '../runs/run-database.js';
|
|
11
15
|
import { WorkspaceSemaphore } from '../workspace/semaphore.js';
|
|
12
16
|
import { RunManager } from '../workflows/run.js';
|
|
13
17
|
import { ensureLaunchKey } from './launch-key.js';
|
|
14
18
|
import { getRepoInfo } from './git.js';
|
|
15
|
-
import { ownedByAnotherCockpit } from './cockpit-ownership.js';
|
|
19
|
+
import { ownedByAnotherCockpit, CockpitOwnership } from './cockpit-ownership.js';
|
|
20
|
+
/** The background warm-up (#667) is on unless `CEZ_PROJECT_WARMUP` is exactly `0`. */
|
|
21
|
+
export function projectWarmupEnabled(env = process.env) {
|
|
22
|
+
return env.CEZ_PROJECT_WARMUP !== '0';
|
|
23
|
+
}
|
|
16
24
|
/** Data dirs this process has swept: the sweep cleans up after a crashed cezar, never this one. */
|
|
17
25
|
const sweptPreviewDirs = new Set();
|
|
18
26
|
/** One data dir's crash leftovers, once per process; whatever the live host runs is spared. */
|
|
@@ -33,6 +41,8 @@ function sweepPreviewOnce(dataDir, host) {
|
|
|
33
41
|
* preview is released with its profile.
|
|
34
42
|
*/
|
|
35
43
|
export function armPreview(store, dataDir, host) {
|
|
44
|
+
// Before the sweep's first await: a crash's agent state is reconciled before any agent can connect.
|
|
45
|
+
reconcileAgentMarkers(dataDir, store, runId => host?.hasAgents(runId) ?? false);
|
|
36
46
|
void sweepPreviewOnce(dataDir, host);
|
|
37
47
|
if (host)
|
|
38
48
|
store.on('deleted', (runId) => void host.release(runId, { deleteProfile: true, dataDir }).catch(() => undefined));
|
|
@@ -56,6 +66,13 @@ export async function sweepRegisteredPreviewLeftovers(projects, host) {
|
|
|
56
66
|
}
|
|
57
67
|
return killed;
|
|
58
68
|
}
|
|
69
|
+
/** A build that finished after `disposeAll`: its context was torn down, never registered. */
|
|
70
|
+
export class ProjectContextsClosedError extends Error {
|
|
71
|
+
constructor() {
|
|
72
|
+
super('project contexts were disposed while this project was being built');
|
|
73
|
+
this.name = 'ProjectContextsClosedError';
|
|
74
|
+
}
|
|
75
|
+
}
|
|
59
76
|
/** Typed failure so the route layer can map reasons to statuses (404/409)
|
|
60
77
|
* without string matching. */
|
|
61
78
|
export class ProjectContextError extends Error {
|
|
@@ -82,6 +99,7 @@ export class ProjectContexts {
|
|
|
82
99
|
contexts = new Map();
|
|
83
100
|
managerCleanups = new WeakMap();
|
|
84
101
|
building = new Map();
|
|
102
|
+
maintenance = new Map();
|
|
85
103
|
repoHandleControllers = new WeakMap();
|
|
86
104
|
/** Live store-created subscribers; invoked before RunManager recovery. */
|
|
87
105
|
storeListeners = new Set();
|
|
@@ -90,6 +108,14 @@ export class ProjectContexts {
|
|
|
90
108
|
/** One semaphore for every manager this map builds — injected by boot,
|
|
91
109
|
* private-but-shared otherwise. */
|
|
92
110
|
semaphore;
|
|
111
|
+
/** Bumped by `disposeAll`: a build that started before it is torn down, not registered. */
|
|
112
|
+
generation = 0;
|
|
113
|
+
/** Bumped per project by `dispose(id)`, for the same reason: project removal runs `dispose`
|
|
114
|
+
* after the registry commit, and a build that read the registry before it must not land. */
|
|
115
|
+
epochs = new Map();
|
|
116
|
+
/** Managers of builds still in flight. `dispose`/`disposeAll` stop them at once: `recover()`
|
|
117
|
+
* checks `disposed` between its steps, so a stale build never pumps a re-queued run. */
|
|
118
|
+
buildingManagers = new Map();
|
|
93
119
|
constructor(deps) {
|
|
94
120
|
this.deps = deps;
|
|
95
121
|
this.semaphore = deps.semaphore ?? new WorkspaceSemaphore();
|
|
@@ -103,10 +129,23 @@ export class ProjectContexts {
|
|
|
103
129
|
const inFlight = this.building.get(projectId);
|
|
104
130
|
if (inFlight)
|
|
105
131
|
return inFlight;
|
|
106
|
-
const
|
|
132
|
+
const generation = this.generation;
|
|
133
|
+
const epoch = this.epochs.get(projectId) ?? 0;
|
|
134
|
+
const stale = () => generation !== this.generation || epoch !== (this.epochs.get(projectId) ?? 0);
|
|
135
|
+
const build = (async () => {
|
|
136
|
+
await this.maintenance.get(projectId)?.catch(() => undefined);
|
|
137
|
+
if (stale())
|
|
138
|
+
throw new ProjectContextsClosedError();
|
|
139
|
+
return this.build(projectId, stale);
|
|
140
|
+
})();
|
|
107
141
|
this.building.set(projectId, build);
|
|
108
142
|
try {
|
|
109
143
|
const ctx = await build;
|
|
144
|
+
if (generation !== this.generation || epoch !== (this.epochs.get(projectId) ?? 0)) {
|
|
145
|
+
// Shut down or removed while this build ran: nothing may outlive `dispose`.
|
|
146
|
+
this.disposeBuilt(ctx);
|
|
147
|
+
throw new ProjectContextsClosedError();
|
|
148
|
+
}
|
|
110
149
|
this.contexts.set(projectId, ctx);
|
|
111
150
|
this.notifyBuilt(ctx);
|
|
112
151
|
return ctx;
|
|
@@ -115,6 +154,110 @@ export class ProjectContexts {
|
|
|
115
154
|
this.building.delete(projectId);
|
|
116
155
|
}
|
|
117
156
|
}
|
|
157
|
+
/** A short-lived writer lease for background maintenance; never creates/recover a manager.
|
|
158
|
+
* Context construction waits for the lease, while disposal invalidates it synchronously. */
|
|
159
|
+
async withMaintenanceStore(projectId, work) {
|
|
160
|
+
const generation = this.generation, epoch = this.epochs.get(projectId) ?? 0;
|
|
161
|
+
let active = true;
|
|
162
|
+
const current = () => active && generation === this.generation && epoch === (this.epochs.get(projectId) ?? 0);
|
|
163
|
+
const built = this.peek(projectId);
|
|
164
|
+
if (built)
|
|
165
|
+
return work(built.store, current).finally(() => { active = false; });
|
|
166
|
+
if (this.building.has(projectId) || this.maintenance.has(projectId))
|
|
167
|
+
return undefined;
|
|
168
|
+
const lease = (async () => {
|
|
169
|
+
const project = (await this.deps.listProjects()).find(project => project.id === projectId);
|
|
170
|
+
if (!project || project.status === 'missing' || !current())
|
|
171
|
+
return undefined;
|
|
172
|
+
const dataDir = join(project.root, '.ai/cezar');
|
|
173
|
+
if (ownedByAnotherCockpit(dataDir))
|
|
174
|
+
return undefined;
|
|
175
|
+
// Skip empty projects, but let the established fenced importer discover legacy-only
|
|
176
|
+
// history. Maintenance mode never normalizes live rows or recovers a manager.
|
|
177
|
+
const reader = RunDatabase.openReadOnly(join(dataDir, RUNS_DB_FILE));
|
|
178
|
+
let imported = false;
|
|
179
|
+
try {
|
|
180
|
+
imported = reader?.getMeta(RUNS_IMPORT_COMPLETE_KEY) !== undefined;
|
|
181
|
+
}
|
|
182
|
+
finally {
|
|
183
|
+
reader?.close();
|
|
184
|
+
}
|
|
185
|
+
if (!imported && !existsSync(join(dataDir, 'runs.json')))
|
|
186
|
+
return undefined;
|
|
187
|
+
const temporaryOwnership = new CockpitOwnership();
|
|
188
|
+
let store;
|
|
189
|
+
try {
|
|
190
|
+
// Existing process claims protect managers even after disposal. Borrow those;
|
|
191
|
+
// otherwise maintenance owns only this lease, never the server's lifetime.
|
|
192
|
+
if (!this.deps.ownership?.owns(dataDir))
|
|
193
|
+
await temporaryOwnership.acquire(dataDir);
|
|
194
|
+
if (!current())
|
|
195
|
+
return undefined;
|
|
196
|
+
ensureDataGitignore(project.root);
|
|
197
|
+
store = RunStore.open(dataDir, { keepLive: true, maintenance: true });
|
|
198
|
+
return await work(store, current);
|
|
199
|
+
}
|
|
200
|
+
finally {
|
|
201
|
+
active = false;
|
|
202
|
+
if (store) {
|
|
203
|
+
await store.historyIdle();
|
|
204
|
+
store.close();
|
|
205
|
+
}
|
|
206
|
+
temporaryOwnership.releaseAll();
|
|
207
|
+
}
|
|
208
|
+
})();
|
|
209
|
+
this.maintenance.set(projectId, lease);
|
|
210
|
+
try {
|
|
211
|
+
return await lease;
|
|
212
|
+
}
|
|
213
|
+
finally {
|
|
214
|
+
if (this.maintenance.get(projectId) === lease)
|
|
215
|
+
this.maintenance.delete(projectId);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Build every project's context in the background (#667), so the first click on a project
|
|
220
|
+
* finds it ready. A lazy build costs the store open, the worktree sweeps and `recover()`, which
|
|
221
|
+
* resumes the runs a restart interrupted; paid on the click, that is seconds of a blank page.
|
|
222
|
+
*
|
|
223
|
+
* One project at a time, most recently opened first, yielding to the event loop between builds
|
|
224
|
+
* so a request is never queued behind several. A click on a project being warmed shares its
|
|
225
|
+
* build (`context()` caches the in-flight promise). Skipped: missing roots, built contexts, and
|
|
226
|
+
* a project another live cockpit owns, whose lock would otherwise be waited on for 15 s and then
|
|
227
|
+
* refused. A failed build is logged once and dropped; nothing is cached, so the next click
|
|
228
|
+
* builds again exactly as before. `disposeAll` stops the loop. Resolves with the ids built here.
|
|
229
|
+
*/
|
|
230
|
+
async warmAll(projects) {
|
|
231
|
+
const generation = this.generation;
|
|
232
|
+
const ordered = [...projects].sort((a, b) => (b.lastOpenedAt ?? '').localeCompare(a.lastOpenedAt ?? ''));
|
|
233
|
+
const warmed = [];
|
|
234
|
+
for (const project of ordered) {
|
|
235
|
+
await yieldToEventLoop();
|
|
236
|
+
if (generation !== this.generation)
|
|
237
|
+
break;
|
|
238
|
+
if (project.status === 'missing' || this.contexts.has(project.id) || this.building.has(project.id))
|
|
239
|
+
continue;
|
|
240
|
+
if (ownedByAnotherCockpit(join(project.root, '.ai/cezar')))
|
|
241
|
+
continue;
|
|
242
|
+
try {
|
|
243
|
+
await this.context(project.id);
|
|
244
|
+
warmed.push(project.id);
|
|
245
|
+
}
|
|
246
|
+
catch (err) {
|
|
247
|
+
if (err instanceof ProjectContextsClosedError) {
|
|
248
|
+
// Shut down: stop. Removed mid-build: the next project.
|
|
249
|
+
if (generation !== this.generation)
|
|
250
|
+
break;
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
// Removed from the registry after this list was read: nothing to prepare, nothing to say.
|
|
254
|
+
if (err instanceof ProjectContextError && err.reason === 'unknown-project')
|
|
255
|
+
continue;
|
|
256
|
+
console.warn(`[cez] project ${project.id} could not be prepared in the background: ${err instanceof Error ? err.message : String(err)}`);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return warmed;
|
|
260
|
+
}
|
|
118
261
|
/**
|
|
119
262
|
* Subscribe to future context builds (multi-project spec, step 2.8): the
|
|
120
263
|
* workspace SSE stream attaches to every already-built context at connect
|
|
@@ -158,6 +301,16 @@ export class ProjectContexts {
|
|
|
158
301
|
}
|
|
159
302
|
}
|
|
160
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* Wait for a build of `projectId` that is already running, never starting one; a failed build
|
|
306
|
+
* resolves too. Project removal waits here (#667): the background warm-up makes a build in flight
|
|
307
|
+
* likely, and a removal that ran past it would count no running tasks, dispose nothing, and let
|
|
308
|
+
* the build register a removed project's store and manager afterwards.
|
|
309
|
+
*/
|
|
310
|
+
async settle(projectId) {
|
|
311
|
+
await this.building.get(projectId)?.catch(() => undefined);
|
|
312
|
+
await this.maintenance.get(projectId)?.catch(() => undefined);
|
|
313
|
+
}
|
|
161
314
|
/** Already-built context, without triggering a build. */
|
|
162
315
|
peek(projectId) {
|
|
163
316
|
return this.contexts.get(projectId);
|
|
@@ -174,10 +327,17 @@ export class ProjectContexts {
|
|
|
174
327
|
* nothing was built for `projectId`.
|
|
175
328
|
*/
|
|
176
329
|
dispose(projectId, opts = {}) {
|
|
330
|
+
// Also invalidates a build of this project still in flight (#667).
|
|
331
|
+
this.epochs.set(projectId, (this.epochs.get(projectId) ?? 0) + 1);
|
|
332
|
+
this.buildingManagers.get(projectId)?.dispose();
|
|
177
333
|
const ctx = this.contexts.get(projectId);
|
|
178
334
|
if (!ctx)
|
|
179
335
|
return false;
|
|
180
336
|
this.contexts.delete(projectId);
|
|
337
|
+
this.disposeBuilt(ctx, opts);
|
|
338
|
+
return true;
|
|
339
|
+
}
|
|
340
|
+
disposeBuilt(ctx, opts = {}) {
|
|
181
341
|
// The preview host is process-wide and outlives this context: a removed project's dev servers
|
|
182
342
|
// and browsers go with it (#781). Shutdown leaves that to `PreviewHost.close()`.
|
|
183
343
|
if (opts.releasePreviews !== false && this.deps.preview) {
|
|
@@ -191,15 +351,21 @@ export class ProjectContexts {
|
|
|
191
351
|
this.managerCleanups.get(ctx.manager)?.();
|
|
192
352
|
this.managerCleanups.delete(ctx.manager);
|
|
193
353
|
teardown(ctx);
|
|
194
|
-
return true;
|
|
195
354
|
}
|
|
196
|
-
/** Tear down every built context (process shutdown). */
|
|
355
|
+
/** Tear down every built context (process shutdown), and every build still running. */
|
|
197
356
|
disposeAll() {
|
|
357
|
+
this.generation += 1;
|
|
358
|
+
for (const manager of this.buildingManagers.values())
|
|
359
|
+
manager.dispose();
|
|
198
360
|
for (const id of this.ids())
|
|
199
361
|
this.dispose(id, { releasePreviews: false });
|
|
200
362
|
}
|
|
201
|
-
|
|
363
|
+
/** `stale` turns true once `dispose(id)` or `disposeAll` overtook this build. Checked after
|
|
364
|
+
* each wait that comes before the manager exists, because until then nothing can stop it. */
|
|
365
|
+
async build(projectId, stale) {
|
|
202
366
|
const projects = await this.deps.listProjects();
|
|
367
|
+
if (stale())
|
|
368
|
+
throw new ProjectContextsClosedError();
|
|
203
369
|
const project = projects.find((p) => p.id === projectId);
|
|
204
370
|
if (!project)
|
|
205
371
|
throw new ProjectContextError('unknown-project', projectId);
|
|
@@ -207,6 +373,8 @@ export class ProjectContexts {
|
|
|
207
373
|
throw new ProjectContextError('missing-root', projectId);
|
|
208
374
|
const dataDir = join(project.root, '.ai/cezar');
|
|
209
375
|
await this.deps.ownership?.acquire(dataDir);
|
|
376
|
+
if (stale())
|
|
377
|
+
throw new ProjectContextsClosedError();
|
|
210
378
|
// keepLive + recover() (#367), same as serveCommand: runs that were live
|
|
211
379
|
// when this project's context last existed are re-queued or resumed.
|
|
212
380
|
// A store that cannot open throws `RunStoreOpenError` (#779): nothing is
|
|
@@ -221,6 +389,7 @@ export class ProjectContexts {
|
|
|
221
389
|
this.notifyStoreCreated(store);
|
|
222
390
|
armPreview(store, dataDir, this.deps.preview);
|
|
223
391
|
const manager = new RunManager(store, project.root, { semaphore: this.semaphore, preview: this.deps.preview, cezarPort: this.deps.cezarPort });
|
|
392
|
+
this.buildingManagers.set(projectId, manager);
|
|
224
393
|
try {
|
|
225
394
|
const cleanup = this.deps.prepareManager?.({ id: project.id, root: project.root, store, manager });
|
|
226
395
|
if (cleanup)
|
|
@@ -259,6 +428,10 @@ export class ProjectContexts {
|
|
|
259
428
|
teardown({ store, manager });
|
|
260
429
|
throw err;
|
|
261
430
|
}
|
|
431
|
+
finally {
|
|
432
|
+
if (this.buildingManagers.get(projectId) === manager)
|
|
433
|
+
this.buildingManagers.delete(projectId);
|
|
434
|
+
}
|
|
262
435
|
}
|
|
263
436
|
}
|
|
264
437
|
/** Shared teardown for built and half-built contexts. Closing the store writes what is pending
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/server/project-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/server/project-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,4 @@ import type { ProviderId, ProviderStatusResponse } from '../core/provider-auth.t
|
|
|
2
2
|
import type { RunRecord } from '../runs/store.ts';
|
|
3
3
|
export { providersRequiredByWorkflow } from '../contract/index.js';
|
|
4
4
|
export declare function providerForExistingRun(run: RunRecord, override?: ProviderId): ProviderId;
|
|
5
|
-
/** The provider that owns a currently live session, when the record is attributed. */
|
|
6
|
-
export declare function providerForActiveRun(run: RunRecord): ProviderId;
|
|
7
5
|
export declare function unavailableProviderMessage(required: readonly ProviderId[], response: ProviderStatusResponse): string | null;
|