@hearsay-tools/squawk 0.0.0-stage → 0.17.0-dev.5685
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 +22 -0
- package/README.md +1846 -2
- package/dist/activity/demand.d.ts +21 -0
- package/dist/activity/demand.js +49 -0
- package/dist/activity/demand.js.map +1 -0
- package/dist/activity/publisher.d.ts +48 -0
- package/dist/activity/publisher.js +175 -0
- package/dist/activity/publisher.js.map +1 -0
- package/dist/activity/read-model.d.ts +50 -0
- package/dist/activity/read-model.js +143 -0
- package/dist/activity/read-model.js.map +1 -0
- package/dist/activity/requests.d.ts +27 -0
- package/dist/activity/requests.js +81 -0
- package/dist/activity/requests.js.map +1 -0
- package/dist/activity/text.d.ts +4 -0
- package/dist/activity/text.js +13 -0
- package/dist/activity/text.js.map +1 -0
- package/dist/activity/tool-activity.d.ts +87 -0
- package/dist/activity/tool-activity.js +250 -0
- package/dist/activity/tool-activity.js.map +1 -0
- package/dist/activity/wait.d.ts +19 -0
- package/dist/activity/wait.js +91 -0
- package/dist/activity/wait.js.map +1 -0
- package/dist/agent-config/account-identity.d.ts +28 -0
- package/dist/agent-config/account-identity.js +132 -0
- package/dist/agent-config/account-identity.js.map +1 -0
- package/dist/agent-config/catalog.d.ts +70 -0
- package/dist/agent-config/catalog.js +384 -0
- package/dist/agent-config/catalog.js.map +1 -0
- package/dist/agent-config/files.d.ts +42 -0
- package/dist/agent-config/files.js +115 -0
- package/dist/agent-config/files.js.map +1 -0
- package/dist/agent-config/model-settings/claude.d.ts +2 -0
- package/dist/agent-config/model-settings/claude.js +11 -0
- package/dist/agent-config/model-settings/claude.js.map +1 -0
- package/dist/agent-config/model-settings/codex.d.ts +2 -0
- package/dist/agent-config/model-settings/codex.js +16 -0
- package/dist/agent-config/model-settings/codex.js.map +1 -0
- package/dist/agent-config/model-settings/opencode.d.ts +2 -0
- package/dist/agent-config/model-settings/opencode.js +8 -0
- package/dist/agent-config/model-settings/opencode.js.map +1 -0
- package/dist/agent-config/model-settings/pi.d.ts +2 -0
- package/dist/agent-config/model-settings/pi.js +38 -0
- package/dist/agent-config/model-settings/pi.js.map +1 -0
- package/dist/agent-config/model-settings/shared.d.ts +12 -0
- package/dist/agent-config/model-settings/shared.js +100 -0
- package/dist/agent-config/model-settings/shared.js.map +1 -0
- package/dist/agent-config/model-settings/types.d.ts +9 -0
- package/dist/agent-config/model-settings/types.js +2 -0
- package/dist/agent-config/model-settings/types.js.map +1 -0
- package/dist/agent-config/models.d.ts +9 -0
- package/dist/agent-config/models.js +40 -0
- package/dist/agent-config/models.js.map +1 -0
- package/dist/agent-config/seed.d.ts +15 -0
- package/dist/agent-config/seed.js +94 -0
- package/dist/agent-config/seed.js.map +1 -0
- package/dist/agent-config/service.d.ts +44 -0
- package/dist/agent-config/service.js +73 -0
- package/dist/agent-config/service.js.map +1 -0
- package/dist/agent-config/validate.d.ts +18 -0
- package/dist/agent-config/validate.js +82 -0
- package/dist/agent-config/validate.js.map +1 -0
- package/dist/application-update/bin-recovery.d.ts +5 -0
- package/dist/application-update/bin-recovery.js +96 -0
- package/dist/application-update/bin-recovery.js.map +1 -0
- package/dist/application-update/discovery.d.ts +23 -0
- package/dist/application-update/discovery.js +131 -0
- package/dist/application-update/discovery.js.map +1 -0
- package/dist/application-update/helper.d.ts +58 -0
- package/dist/application-update/helper.js +363 -0
- package/dist/application-update/helper.js.map +1 -0
- package/dist/application-update/launcher.d.ts +12 -0
- package/dist/application-update/launcher.js +61 -0
- package/dist/application-update/launcher.js.map +1 -0
- package/dist/application-update/lock.d.ts +4 -0
- package/dist/application-update/lock.js +70 -0
- package/dist/application-update/lock.js.map +1 -0
- package/dist/application-update/npm-process.d.ts +17 -0
- package/dist/application-update/npm-process.js +156 -0
- package/dist/application-update/npm-process.js.map +1 -0
- package/dist/application-update/runtime-layout.d.ts +20 -0
- package/dist/application-update/runtime-layout.js +91 -0
- package/dist/application-update/runtime-layout.js.map +1 -0
- package/dist/application-update/scoped-recovery.d.ts +32 -0
- package/dist/application-update/scoped-recovery.js +210 -0
- package/dist/application-update/scoped-recovery.js.map +1 -0
- package/dist/application-update/service.d.ts +86 -0
- package/dist/application-update/service.js +523 -0
- package/dist/application-update/service.js.map +1 -0
- package/dist/archive-on-merge-setting.d.ts +15 -0
- package/dist/archive-on-merge-setting.js +15 -0
- package/dist/archive-on-merge-setting.js.map +1 -0
- package/dist/artifacts/cli.d.ts +1 -0
- package/dist/artifacts/cli.js +54 -0
- package/dist/artifacts/cli.js.map +1 -0
- package/dist/artifacts/lifecycle.d.ts +4 -0
- package/dist/artifacts/lifecycle.js +42 -0
- package/dist/artifacts/lifecycle.js.map +1 -0
- package/dist/artifacts/reports-index.d.ts +46 -0
- package/dist/artifacts/reports-index.js +279 -0
- package/dist/artifacts/reports-index.js.map +1 -0
- package/dist/artifacts/reports-watch.d.ts +43 -0
- package/dist/artifacts/reports-watch.js +129 -0
- package/dist/artifacts/reports-watch.js.map +1 -0
- package/dist/artifacts/resolve.d.ts +18 -0
- package/dist/artifacts/resolve.js +129 -0
- package/dist/artifacts/resolve.js.map +1 -0
- package/dist/artifacts/store.d.ts +40 -0
- package/dist/artifacts/store.js +513 -0
- package/dist/artifacts/store.js.map +1 -0
- package/dist/automations/automation-cli.d.ts +61 -0
- package/dist/automations/automation-cli.js +519 -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/coordinator.d.ts +53 -0
- package/dist/automations/coordinator.js +136 -0
- package/dist/automations/coordinator.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 +93 -0
- package/dist/automations/github-poller.js +303 -0
- package/dist/automations/github-poller.js.map +1 -0
- package/dist/automations/project-files.d.ts +6 -0
- package/dist/automations/project-files.js +43 -0
- package/dist/automations/project-files.js.map +1 -0
- package/dist/automations/prompts.d.ts +12 -0
- package/dist/automations/prompts.js +162 -0
- package/dist/automations/prompts.js.map +1 -0
- package/dist/automations/schedule-runner.d.ts +153 -0
- package/dist/automations/schedule-runner.js +529 -0
- package/dist/automations/schedule-runner.js.map +1 -0
- package/dist/automations/scheduler.d.ts +95 -0
- package/dist/automations/scheduler.js +462 -0
- package/dist/automations/scheduler.js.map +1 -0
- package/dist/automations/service.d.ts +793 -0
- package/dist/automations/service.js +444 -0
- package/dist/automations/service.js.map +1 -0
- package/dist/automations/store.d.ts +168 -0
- package/dist/automations/store.js +805 -0
- package/dist/automations/store.js.map +1 -0
- package/dist/automations/task-template.d.ts +59 -0
- package/dist/automations/task-template.js +285 -0
- package/dist/automations/task-template.js.map +1 -0
- package/dist/automations/tool-adapter.d.ts +6 -0
- package/dist/automations/tool-adapter.js +115 -0
- package/dist/automations/tool-adapter.js.map +1 -0
- package/dist/automations/types.d.ts +1 -0
- package/dist/automations/types.js +2 -0
- package/dist/automations/types.js.map +1 -0
- 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 +23 -0
- package/dist/autosave-git.js +211 -0
- package/dist/autosave-git.js.map +1 -0
- 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 +34 -0
- package/dist/autosave-holders.js +228 -0
- package/dist/autosave-holders.js.map +1 -0
- package/dist/autosave-windows.d.ts +25 -0
- package/dist/autosave-windows.js +170 -0
- package/dist/autosave-windows.js.map +1 -0
- package/dist/cez.d.ts +2 -0
- package/dist/cez.js +3 -0
- package/dist/cez.js.map +1 -0
- package/dist/cezarion.d.ts +2 -0
- package/dist/cezarion.js +3 -0
- package/dist/cezarion.js.map +1 -0
- package/dist/ci-wait/client.d.ts +28 -0
- package/dist/ci-wait/client.js +123 -0
- package/dist/ci-wait/client.js.map +1 -0
- package/dist/ci-wait/controller.d.ts +824 -0
- package/dist/ci-wait/controller.js +305 -0
- package/dist/ci-wait/controller.js.map +1 -0
- package/dist/ci-wait/errors.d.ts +35 -0
- package/dist/ci-wait/errors.js +273 -0
- package/dist/ci-wait/errors.js.map +1 -0
- package/dist/ci-wait/github.d.ts +105 -0
- package/dist/ci-wait/github.js +324 -0
- package/dist/ci-wait/github.js.map +1 -0
- package/dist/ci-wait/injection.d.ts +3 -0
- package/dist/ci-wait/injection.js +13 -0
- package/dist/ci-wait/injection.js.map +1 -0
- package/dist/ci-wait/mcp.d.ts +3 -0
- package/dist/ci-wait/mcp.js +30 -0
- package/dist/ci-wait/mcp.js.map +1 -0
- package/dist/ci-wait/merge-progress.d.ts +84 -0
- package/dist/ci-wait/merge-progress.js +50 -0
- package/dist/ci-wait/merge-progress.js.map +1 -0
- package/dist/ci-wait/progress.d.ts +56 -0
- package/dist/ci-wait/progress.js +100 -0
- package/dist/ci-wait/progress.js.map +1 -0
- package/dist/ci-wait/resources.d.ts +9 -0
- package/dist/ci-wait/resources.js +46 -0
- package/dist/ci-wait/resources.js.map +1 -0
- package/dist/ci-wait/supervisor.d.ts +47 -0
- package/dist/ci-wait/supervisor.js +334 -0
- package/dist/ci-wait/supervisor.js.map +1 -0
- package/dist/ci-wait/text.d.ts +2 -0
- package/dist/ci-wait/text.js +5 -0
- package/dist/ci-wait/text.js.map +1 -0
- package/dist/ci-wait/tools.d.ts +845 -0
- package/dist/ci-wait/tools.js +232 -0
- package/dist/ci-wait/tools.js.map +1 -0
- package/dist/cli-dispatch.d.ts +33 -0
- package/dist/cli-dispatch.js +239 -0
- package/dist/cli-dispatch.js.map +1 -0
- package/dist/config.d.ts +117 -0
- package/dist/config.js +343 -0
- package/dist/config.js.map +1 -0
- package/dist/contract/active-provider.d.ts +12 -0
- package/dist/contract/activity.d.ts +1478 -0
- package/dist/contract/agent-config.d.ts +160 -0
- package/dist/contract/agent-profiles.d.ts +369 -0
- package/dist/contract/application-update.d.ts +32 -0
- package/dist/contract/artifacts.d.ts +100 -0
- package/dist/contract/ask-schema.d.ts +50 -0
- package/dist/contract/ask.d.ts +11 -0
- package/dist/contract/attachments.d.ts +35 -0
- package/dist/contract/attention.d.ts +99 -0
- package/dist/contract/automation-requests.d.ts +314 -0
- package/dist/contract/automation-schedule.d.ts +89 -0
- package/dist/contract/automation-storage.d.ts +518 -0
- package/dist/contract/automations.d.ts +1560 -0
- package/dist/contract/ci-wait.d.ts +281 -0
- package/dist/contract/config-requests.d.ts +36 -0
- package/dist/contract/control-locations.d.ts +10 -0
- package/dist/contract/conversations.d.ts +415 -0
- package/dist/contract/defined.d.ts +8 -0
- package/dist/contract/delegation.d.ts +2168 -0
- package/dist/contract/discovery.d.ts +228 -0
- package/dist/contract/effort.d.ts +18 -0
- package/dist/contract/events.d.ts +324 -0
- package/dist/contract/github-requests.d.ts +26 -0
- package/dist/contract/github.d.ts +732 -0
- package/dist/contract/handoff.d.ts +43 -0
- package/dist/contract/health.d.ts +128 -0
- package/dist/contract/home-recovery.d.ts +71 -0
- package/dist/contract/image-path.d.ts +6 -0
- package/dist/contract/index.d.ts +68 -0
- package/dist/contract/index.js +6709 -0
- package/dist/contract/live-coordination.d.ts +164 -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/per-runner-optional-strings.d.ts +10 -0
- package/dist/contract/permissions.d.ts +54 -0
- package/dist/contract/preview.d.ts +568 -0
- package/dist/contract/project-limits.d.ts +35 -0
- package/dist/contract/projects.d.ts +716 -0
- 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/repo.d.ts +515 -0
- package/dist/contract/report-title.d.ts +3 -0
- package/dist/contract/reports.d.ts +101 -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 +87 -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 +7108 -0
- package/dist/contract/scheduled-tasks.d.ts +188 -0
- package/dist/contract/self-update.d.ts +255 -0
- package/dist/contract/skill-sources.d.ts +125 -0
- package/dist/contract/skills.d.ts +56 -0
- package/dist/contract/task-options.d.ts +18 -0
- package/dist/contract/team-skill-ref.d.ts +10 -0
- package/dist/contract/tool-display.d.ts +25 -0
- 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 +1996 -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 +250 -0
- package/dist/contract/workspace-events.d.ts +410 -0
- package/dist/contract/workspace.d.ts +631 -0
- package/dist/contract/zoned-time.d.ts +26 -0
- package/dist/core/agent-env.d.ts +34 -0
- package/dist/core/agent-env.js +411 -0
- package/dist/core/agent-env.js.map +1 -0
- package/dist/core/agent-model-policy.d.ts +11 -0
- package/dist/core/agent-model-policy.js +38 -0
- package/dist/core/agent-model-policy.js.map +1 -0
- package/dist/core/agent-profiles.d.ts +50 -0
- package/dist/core/agent-profiles.js +105 -0
- package/dist/core/agent-profiles.js.map +1 -0
- package/dist/core/agent-runner.d.ts +425 -0
- package/dist/core/agent-runner.js +98 -0
- package/dist/core/agent-runner.js.map +1 -0
- package/dist/core/ask.d.ts +26 -0
- package/dist/core/ask.js +35 -0
- package/dist/core/ask.js.map +1 -0
- package/dist/core/backend-detect.d.ts +18 -0
- package/dist/core/backend-detect.js +216 -0
- package/dist/core/backend-detect.js.map +1 -0
- package/dist/core/claude-cli-runner.d.ts +85 -0
- package/dist/core/claude-cli-runner.js +899 -0
- package/dist/core/claude-cli-runner.js.map +1 -0
- package/dist/core/claude-executable.d.ts +2 -0
- package/dist/core/claude-executable.js +15 -0
- package/dist/core/claude-executable.js.map +1 -0
- package/dist/core/claude-model-catalog.d.ts +16 -0
- package/dist/core/claude-model-catalog.js +198 -0
- package/dist/core/claude-model-catalog.js.map +1 -0
- package/dist/core/claude-stream.d.ts +38 -0
- package/dist/core/claude-stream.js +77 -0
- package/dist/core/claude-stream.js.map +1 -0
- package/dist/core/claude-ui-mapper.d.ts +88 -0
- package/dist/core/claude-ui-mapper.js +851 -0
- package/dist/core/claude-ui-mapper.js.map +1 -0
- package/dist/core/codex-app-server-runner.d.ts +76 -0
- package/dist/core/codex-app-server-runner.js +1271 -0
- package/dist/core/codex-app-server-runner.js.map +1 -0
- package/dist/core/codex-app-server-transport.d.ts +52 -0
- package/dist/core/codex-app-server-transport.js +200 -0
- package/dist/core/codex-app-server-transport.js.map +1 -0
- package/dist/core/codex-approvals.d.ts +12 -0
- package/dist/core/codex-approvals.js +180 -0
- package/dist/core/codex-approvals.js.map +1 -0
- package/dist/core/codex-hook-mapper.d.ts +15 -0
- package/dist/core/codex-hook-mapper.js +73 -0
- package/dist/core/codex-hook-mapper.js.map +1 -0
- package/dist/core/codex-model-catalog.d.ts +10 -0
- package/dist/core/codex-model-catalog.js +110 -0
- package/dist/core/codex-model-catalog.js.map +1 -0
- package/dist/core/codex-native-frames.d.ts +35 -0
- package/dist/core/codex-native-frames.js +80 -0
- package/dist/core/codex-native-frames.js.map +1 -0
- package/dist/core/codex-permissions.d.ts +6 -0
- package/dist/core/codex-permissions.js +27 -0
- package/dist/core/codex-permissions.js.map +1 -0
- package/dist/core/codex-stream-error.d.ts +2 -0
- package/dist/core/codex-stream-error.js +12 -0
- package/dist/core/codex-stream-error.js.map +1 -0
- package/dist/core/codex-turn-outcome.d.ts +10 -0
- package/dist/core/codex-turn-outcome.js +35 -0
- package/dist/core/codex-turn-outcome.js.map +1 -0
- package/dist/core/codex-ui-mapper-state.d.ts +84 -0
- package/dist/core/codex-ui-mapper-state.js +8 -0
- package/dist/core/codex-ui-mapper-state.js.map +1 -0
- package/dist/core/codex-ui-mapper.d.ts +44 -0
- package/dist/core/codex-ui-mapper.js +799 -0
- package/dist/core/codex-ui-mapper.js.map +1 -0
- 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-config-options.d.ts +18 -0
- package/dist/core/cursor-config-options.js +31 -0
- package/dist/core/cursor-config-options.js.map +1 -0
- package/dist/core/cursor-model-catalog.d.ts +50 -0
- package/dist/core/cursor-model-catalog.js +306 -0
- package/dist/core/cursor-model-catalog.js.map +1 -0
- package/dist/core/cursor-print-capabilities.d.ts +14 -0
- package/dist/core/cursor-print-capabilities.js +169 -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 +43 -0
- package/dist/core/cursor-print-runner.js +574 -0
- package/dist/core/cursor-print-runner.js.map +1 -0
- package/dist/core/cursor-print-tool-catalog.d.ts +3 -0
- package/dist/core/cursor-print-tool-catalog.js +13 -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 +574 -0
- package/dist/core/cursor-print-ui-mapper.js.map +1 -0
- package/dist/core/cursor-provider-error.d.ts +9 -0
- package/dist/core/cursor-provider-error.js +15 -0
- package/dist/core/cursor-provider-error.js.map +1 -0
- package/dist/core/cursor-runner.d.ts +46 -0
- package/dist/core/cursor-runner.js +144 -0
- package/dist/core/cursor-runner.js.map +1 -0
- 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/disclaim-spawn.d.ts +11 -0
- package/dist/core/disclaim-spawn.js +60 -0
- package/dist/core/disclaim-spawn.js.map +1 -0
- package/dist/core/edit-write-key.d.ts +2 -0
- package/dist/core/edit-write-key.js +6 -0
- package/dist/core/edit-write-key.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 +7 -0
- package/dist/core/host-model-catalog.js +21 -0
- package/dist/core/host-model-catalog.js.map +1 -0
- package/dist/core/input-submissions.d.ts +14 -0
- package/dist/core/input-submissions.js +26 -0
- package/dist/core/input-submissions.js.map +1 -0
- package/dist/core/managed-session.d.ts +6 -0
- package/dist/core/managed-session.js +116 -0
- package/dist/core/managed-session.js.map +1 -0
- package/dist/core/model-discovery-options.d.ts +8 -0
- package/dist/core/model-discovery-options.js +2 -0
- package/dist/core/model-discovery-options.js.map +1 -0
- package/dist/core/model-identity.d.ts +108 -0
- package/dist/core/model-identity.js +137 -0
- package/dist/core/model-identity.js.map +1 -0
- package/dist/core/model-presets.d.ts +10 -0
- package/dist/core/model-presets.js +77 -0
- package/dist/core/model-presets.js.map +1 -0
- package/dist/core/model-probe-teardown.d.ts +4 -0
- package/dist/core/model-probe-teardown.js +20 -0
- package/dist/core/model-probe-teardown.js.map +1 -0
- package/dist/core/ndjson.d.ts +6 -0
- package/dist/core/ndjson.js +23 -0
- package/dist/core/ndjson.js.map +1 -0
- package/dist/core/omp-model-catalog.d.ts +39 -0
- package/dist/core/omp-model-catalog.js +183 -0
- package/dist/core/omp-model-catalog.js.map +1 -0
- package/dist/core/omp-runner.d.ts +86 -0
- package/dist/core/omp-runner.js +818 -0
- package/dist/core/omp-runner.js.map +1 -0
- package/dist/core/omp-subagent-rows.d.ts +21 -0
- package/dist/core/omp-subagent-rows.js +99 -0
- package/dist/core/omp-subagent-rows.js.map +1 -0
- package/dist/core/omp-ui-mapper.d.ts +112 -0
- package/dist/core/omp-ui-mapper.js +807 -0
- package/dist/core/omp-ui-mapper.js.map +1 -0
- package/dist/core/opencode-model-catalog.d.ts +27 -0
- package/dist/core/opencode-model-catalog.js +189 -0
- package/dist/core/opencode-model-catalog.js.map +1 -0
- 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-runtime-config.d.ts +9 -0
- package/dist/core/opencode-runtime-config.js +26 -0
- package/dist/core/opencode-runtime-config.js.map +1 -0
- package/dist/core/opencode-server-runner.d.ts +75 -0
- package/dist/core/opencode-server-runner.js +1690 -0
- package/dist/core/opencode-server-runner.js.map +1 -0
- package/dist/core/opencode-session-error.d.ts +19 -0
- package/dist/core/opencode-session-error.js +42 -0
- package/dist/core/opencode-session-error.js.map +1 -0
- package/dist/core/opencode-task-scope.d.ts +9 -0
- package/dist/core/opencode-task-scope.js +19 -0
- package/dist/core/opencode-task-scope.js.map +1 -0
- package/dist/core/opencode-ui-mapper-state.d.ts +82 -0
- package/dist/core/opencode-ui-mapper-state.js +7 -0
- package/dist/core/opencode-ui-mapper-state.js.map +1 -0
- package/dist/core/opencode-ui-mapper.d.ts +59 -0
- package/dist/core/opencode-ui-mapper.js +724 -0
- package/dist/core/opencode-ui-mapper.js.map +1 -0
- package/dist/core/opencode-usage.d.ts +32 -0
- package/dist/core/opencode-usage.js +105 -0
- package/dist/core/opencode-usage.js.map +1 -0
- package/dist/core/pi-model-catalog.d.ts +34 -0
- package/dist/core/pi-model-catalog.js +247 -0
- package/dist/core/pi-model-catalog.js.map +1 -0
- package/dist/core/pi-rpc-turn.d.ts +179 -0
- package/dist/core/pi-rpc-turn.js +370 -0
- package/dist/core/pi-rpc-turn.js.map +1 -0
- package/dist/core/pi-rpc-wire.d.ts +31 -0
- package/dist/core/pi-rpc-wire.js +88 -0
- package/dist/core/pi-rpc-wire.js.map +1 -0
- package/dist/core/pi-runner.d.ts +58 -0
- package/dist/core/pi-runner.js +587 -0
- package/dist/core/pi-runner.js.map +1 -0
- package/dist/core/pi-ui-mapper.d.ts +52 -0
- package/dist/core/pi-ui-mapper.js +408 -0
- package/dist/core/pi-ui-mapper.js.map +1 -0
- package/dist/core/process-usage.d.ts +74 -0
- package/dist/core/process-usage.js +219 -0
- package/dist/core/process-usage.js.map +1 -0
- package/dist/core/product-env.d.ts +21 -0
- package/dist/core/product-env.js +38 -0
- package/dist/core/product-env.js.map +1 -0
- package/dist/core/provider-auth.d.ts +168 -0
- package/dist/core/provider-auth.js +661 -0
- package/dist/core/provider-auth.js.map +1 -0
- package/dist/core/provider-availability.d.ts +3 -0
- package/dist/core/provider-availability.js +14 -0
- package/dist/core/provider-availability.js.map +1 -0
- package/dist/core/runner-factory.d.ts +11 -0
- package/dist/core/runner-factory.js +36 -0
- package/dist/core/runner-factory.js.map +1 -0
- package/dist/core/runner-facts.d.ts +135 -0
- package/dist/core/runner-facts.js +59 -0
- package/dist/core/runner-facts.js.map +1 -0
- package/dist/core/runner-model-catalog.d.ts +34 -0
- package/dist/core/runner-model-catalog.js +109 -0
- package/dist/core/runner-model-catalog.js.map +1 -0
- package/dist/core/runner-runtime.d.ts +40 -0
- package/dist/core/runner-runtime.js +88 -0
- package/dist/core/runner-runtime.js.map +1 -0
- package/dist/core/runner-stderr.d.ts +2 -0
- package/dist/core/runner-stderr.js +20 -0
- package/dist/core/runner-stderr.js.map +1 -0
- package/dist/core/runner-tool-grants.d.ts +19 -0
- package/dist/core/runner-tool-grants.js +54 -0
- package/dist/core/runner-tool-grants.js.map +1 -0
- package/dist/core/secret-redaction.d.ts +20 -0
- package/dist/core/secret-redaction.js +95 -0
- package/dist/core/secret-redaction.js.map +1 -0
- package/dist/core/session-process.d.ts +43 -0
- package/dist/core/session-process.js +363 -0
- package/dist/core/session-process.js.map +1 -0
- package/dist/core/shell-env.d.ts +17 -0
- package/dist/core/shell-env.js +51 -0
- package/dist/core/shell-env.js.map +1 -0
- package/dist/core/ui-events.d.ts +356 -0
- package/dist/core/ui-events.js +13 -0
- package/dist/core/ui-events.js.map +1 -0
- package/dist/core/usage-limit.d.ts +42 -0
- package/dist/core/usage-limit.js +152 -0
- package/dist/core/usage-limit.js.map +1 -0
- package/dist/core/usage.d.ts +11 -0
- package/dist/core/usage.js +15 -0
- package/dist/core/usage.js.map +1 -0
- package/dist/core/v1-text-coalescer.d.ts +36 -0
- package/dist/core/v1-text-coalescer.js +72 -0
- package/dist/core/v1-text-coalescer.js.map +1 -0
- package/dist/data-gitignore.d.ts +6 -0
- package/dist/data-gitignore.js +80 -0
- package/dist/data-gitignore.js.map +1 -0
- package/dist/delegation/capacity.d.ts +15 -0
- package/dist/delegation/capacity.js +30 -0
- package/dist/delegation/capacity.js.map +1 -0
- package/dist/delegation/cli.d.ts +5 -0
- package/dist/delegation/cli.js +572 -0
- package/dist/delegation/cli.js.map +1 -0
- package/dist/delegation/context.d.ts +40 -0
- package/dist/delegation/context.js +398 -0
- package/dist/delegation/context.js.map +1 -0
- package/dist/delegation/conversation-send.d.ts +64 -0
- package/dist/delegation/conversation-send.js +74 -0
- package/dist/delegation/conversation-send.js.map +1 -0
- package/dist/delegation/conversations.d.ts +2186 -0
- package/dist/delegation/conversations.js +285 -0
- package/dist/delegation/conversations.js.map +1 -0
- package/dist/delegation/credentials.d.ts +21 -0
- package/dist/delegation/credentials.js +66 -0
- package/dist/delegation/credentials.js.map +1 -0
- package/dist/delegation/destroy-observation.d.ts +42 -0
- package/dist/delegation/destroy-observation.js +115 -0
- package/dist/delegation/destroy-observation.js.map +1 -0
- package/dist/delegation/effort.d.ts +1 -0
- package/dist/delegation/effort.js +11 -0
- package/dist/delegation/effort.js.map +1 -0
- package/dist/delegation/execution-identity.d.ts +257 -0
- package/dist/delegation/execution-identity.js +253 -0
- package/dist/delegation/execution-identity.js.map +1 -0
- package/dist/delegation/execution-settings.d.ts +11 -0
- package/dist/delegation/execution-settings.js +65 -0
- package/dist/delegation/execution-settings.js.map +1 -0
- package/dist/delegation/idle-test-app.d.ts +4 -0
- package/dist/delegation/idle-test-app.js +186 -0
- package/dist/delegation/idle-test-app.js.map +1 -0
- package/dist/delegation/input.d.ts +12 -0
- package/dist/delegation/input.js +50 -0
- package/dist/delegation/input.js.map +1 -0
- package/dist/delegation/park-notice.d.ts +45 -0
- package/dist/delegation/park-notice.js +81 -0
- package/dist/delegation/park-notice.js.map +1 -0
- package/dist/delegation/policy.d.ts +27 -0
- package/dist/delegation/policy.js +110 -0
- package/dist/delegation/policy.js.map +1 -0
- package/dist/delegation/process-liveness.d.ts +98 -0
- package/dist/delegation/process-liveness.js +213 -0
- package/dist/delegation/process-liveness.js.map +1 -0
- package/dist/delegation/provision.d.ts +36 -0
- package/dist/delegation/provision.js +218 -0
- package/dist/delegation/provision.js.map +1 -0
- package/dist/delegation/questions.d.ts +24 -0
- package/dist/delegation/questions.js +56 -0
- package/dist/delegation/questions.js.map +1 -0
- package/dist/delegation/readiness.d.ts +13 -0
- package/dist/delegation/readiness.js +19 -0
- package/dist/delegation/readiness.js.map +1 -0
- package/dist/delegation/results.d.ts +13 -0
- package/dist/delegation/results.js +153 -0
- package/dist/delegation/results.js.map +1 -0
- package/dist/delegation/retry-backoff.d.ts +31 -0
- package/dist/delegation/retry-backoff.js +26 -0
- package/dist/delegation/retry-backoff.js.map +1 -0
- package/dist/delegation/routes.d.ts +1017 -0
- package/dist/delegation/routes.js +85 -0
- package/dist/delegation/routes.js.map +1 -0
- package/dist/delegation/scratch-cleanup.d.ts +33 -0
- package/dist/delegation/scratch-cleanup.js +155 -0
- package/dist/delegation/scratch-cleanup.js.map +1 -0
- package/dist/delegation/service.d.ts +264 -0
- package/dist/delegation/service.js +807 -0
- package/dist/delegation/service.js.map +1 -0
- package/dist/delegation/task-discovery.d.ts +6 -0
- package/dist/delegation/task-discovery.js +27 -0
- package/dist/delegation/task-discovery.js.map +1 -0
- package/dist/delegation/transport.d.ts +995 -0
- package/dist/delegation/transport.js +22 -0
- package/dist/delegation/transport.js.map +1 -0
- package/dist/delegation/wait.d.ts +7 -0
- package/dist/delegation/wait.js +44 -0
- package/dist/delegation/wait.js.map +1 -0
- package/dist/delegation/windows-test-app.d.ts +5 -0
- package/dist/delegation/windows-test-app.js +64 -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 +23 -0
- package/dist/delegation/windows-workspace-identity.js.map +1 -0
- package/dist/delegation/worker-cleanup.d.ts +53 -0
- package/dist/delegation/worker-cleanup.js +330 -0
- package/dist/delegation/worker-cleanup.js.map +1 -0
- package/dist/delegation/workspace.d.ts +40 -0
- package/dist/delegation/workspace.js +592 -0
- package/dist/delegation/workspace.js.map +1 -0
- package/dist/detached-process.d.ts +134 -0
- package/dist/detached-process.js +460 -0
- package/dist/detached-process.js.map +1 -0
- package/dist/discovery/catalog.d.ts +16 -0
- package/dist/discovery/catalog.js +31 -0
- package/dist/discovery/catalog.js.map +1 -0
- package/dist/discovery/cli.d.ts +8 -0
- package/dist/discovery/cli.js +122 -0
- package/dist/discovery/cli.js.map +1 -0
- package/dist/git-command.d.ts +7 -0
- package/dist/git-command.js +8 -0
- package/dist/git-command.js.map +1 -0
- package/dist/git-diff-base.d.ts +41 -0
- package/dist/git-diff-base.js +116 -0
- package/dist/git-diff-base.js.map +1 -0
- 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-private-index.d.ts +11 -0
- package/dist/git-private-index.js +51 -0
- package/dist/git-private-index.js.map +1 -0
- package/dist/git-refs.d.ts +11 -0
- package/dist/git-refs.js +14 -0
- package/dist/git-refs.js.map +1 -0
- package/dist/git-worktree-lock-helper.d.ts +7 -0
- package/dist/git-worktree-lock-helper.js +178 -0
- package/dist/git-worktree-lock-helper.js.map +1 -0
- package/dist/git-worktree-lock.d.ts +17 -0
- package/dist/git-worktree-lock.js +90 -0
- package/dist/git-worktree-lock.js.map +1 -0
- package/dist/git-worktree-release.d.ts +20 -0
- package/dist/git-worktree-release.js +27 -0
- package/dist/git-worktree-release.js.map +1 -0
- package/dist/git-worktree.d.ts +148 -0
- package/dist/git-worktree.js +858 -0
- package/dist/git-worktree.js.map +1 -0
- package/dist/handoff.d.ts +72 -0
- package/dist/handoff.js +213 -0
- package/dist/handoff.js.map +1 -0
- package/dist/headless-run.d.ts +48 -0
- package/dist/headless-run.js +158 -0
- package/dist/headless-run.js.map +1 -0
- package/dist/home/boundary.d.ts +5 -0
- package/dist/home/boundary.js +76 -0
- package/dist/home/boundary.js.map +1 -0
- package/dist/home/changes.d.ts +3 -0
- package/dist/home/changes.js +11 -0
- package/dist/home/changes.js.map +1 -0
- package/dist/home/command.d.ts +9 -0
- package/dist/home/command.js +37 -0
- package/dist/home/command.js.map +1 -0
- package/dist/home/deprecation.d.ts +9 -0
- package/dist/home/deprecation.js +17 -0
- package/dist/home/deprecation.js.map +1 -0
- package/dist/home/display.d.ts +4 -0
- package/dist/home/display.js +11 -0
- package/dist/home/display.js.map +1 -0
- package/dist/home/entry-authorization.d.ts +17 -0
- package/dist/home/entry-authorization.js +39 -0
- package/dist/home/entry-authorization.js.map +1 -0
- package/dist/home/entry.d.ts +16 -0
- package/dist/home/entry.js +96 -0
- package/dist/home/entry.js.map +1 -0
- package/dist/home/file-location.d.ts +14 -0
- package/dist/home/file-location.js +24 -0
- package/dist/home/file-location.js.map +1 -0
- package/dist/home/home.d.ts +42 -0
- package/dist/home/home.js +70 -0
- package/dist/home/home.js.map +1 -0
- package/dist/home/identity.d.ts +22 -0
- package/dist/home/identity.js +25 -0
- package/dist/home/identity.js.map +1 -0
- package/dist/home/install-marker.d.ts +27 -0
- package/dist/home/install-marker.js +78 -0
- package/dist/home/install-marker.js.map +1 -0
- package/dist/home/kind-roots.d.ts +10 -0
- package/dist/home/kind-roots.js +36 -0
- package/dist/home/kind-roots.js.map +1 -0
- package/dist/home/leases.d.ts +14 -0
- package/dist/home/leases.js +55 -0
- package/dist/home/leases.js.map +1 -0
- package/dist/home/legacy-account-paths.d.ts +4 -0
- package/dist/home/legacy-account-paths.js +41 -0
- package/dist/home/legacy-account-paths.js.map +1 -0
- package/dist/home/legacy-merge.d.ts +3 -0
- package/dist/home/legacy-merge.js +45 -0
- package/dist/home/legacy-merge.js.map +1 -0
- package/dist/home/legacy-recovery.d.ts +5 -0
- package/dist/home/legacy-recovery.js +154 -0
- package/dist/home/legacy-recovery.js.map +1 -0
- package/dist/home/legacy-source.d.ts +15 -0
- package/dist/home/legacy-source.js +57 -0
- package/dist/home/legacy-source.js.map +1 -0
- package/dist/home/migrate.d.ts +19 -0
- package/dist/home/migrate.js +322 -0
- package/dist/home/migrate.js.map +1 -0
- package/dist/home/migration-account-source.d.ts +2 -0
- package/dist/home/migration-account-source.js +17 -0
- package/dist/home/migration-account-source.js.map +1 -0
- package/dist/home/migration-accounts.d.ts +23 -0
- package/dist/home/migration-accounts.js +174 -0
- package/dist/home/migration-accounts.js.map +1 -0
- package/dist/home/migration-boot.d.ts +23 -0
- package/dist/home/migration-boot.js +84 -0
- package/dist/home/migration-boot.js.map +1 -0
- package/dist/home/migration-claim.d.ts +4 -0
- package/dist/home/migration-claim.js +69 -0
- package/dist/home/migration-claim.js.map +1 -0
- package/dist/home/migration-cli.d.ts +3 -0
- package/dist/home/migration-cli.js +64 -0
- package/dist/home/migration-cli.js.map +1 -0
- package/dist/home/migration-files.d.ts +14 -0
- package/dist/home/migration-files.js +192 -0
- package/dist/home/migration-files.js.map +1 -0
- package/dist/home/migration-guard.d.ts +2 -0
- package/dist/home/migration-guard.js +20 -0
- package/dist/home/migration-guard.js.map +1 -0
- package/dist/home/migration-plan.d.ts +20 -0
- package/dist/home/migration-plan.js +71 -0
- package/dist/home/migration-plan.js.map +1 -0
- package/dist/home/migration-record.d.ts +79 -0
- package/dist/home/migration-record.js +39 -0
- package/dist/home/migration-record.js.map +1 -0
- package/dist/home/private-files.d.ts +13 -0
- package/dist/home/private-files.js +113 -0
- package/dist/home/private-files.js.map +1 -0
- package/dist/home/process-identity.d.ts +2 -0
- package/dist/home/process-identity.js +8 -0
- package/dist/home/process-identity.js.map +1 -0
- package/dist/home/protected-roots.d.ts +25 -0
- package/dist/home/protected-roots.js +91 -0
- package/dist/home/protected-roots.js.map +1 -0
- package/dist/home/recovery-watch.d.ts +3 -0
- package/dist/home/recovery-watch.js +75 -0
- package/dist/home/recovery-watch.js.map +1 -0
- package/dist/home/recovery.d.ts +10 -0
- package/dist/home/recovery.js +94 -0
- package/dist/home/recovery.js.map +1 -0
- package/dist/home/registry-content.d.ts +2 -0
- package/dist/home/registry-content.js +17 -0
- package/dist/home/registry-content.js.map +1 -0
- package/dist/home/reset-detection.d.ts +5 -0
- package/dist/home/reset-detection.js +22 -0
- package/dist/home/reset-detection.js.map +1 -0
- package/dist/home/resolve.d.ts +10 -0
- package/dist/home/resolve.js +28 -0
- package/dist/home/resolve.js.map +1 -0
- package/dist/home/store.d.ts +48 -0
- package/dist/home/store.js +324 -0
- package/dist/home/store.js.map +1 -0
- package/dist/home/switch.d.ts +2 -0
- package/dist/home/switch.js +3 -0
- package/dist/home/switch.js.map +1 -0
- package/dist/home/version-log.d.ts +48 -0
- package/dist/home/version-log.js +216 -0
- package/dist/home/version-log.js.map +1 -0
- package/dist/home/write-lock.d.ts +6 -0
- package/dist/home/write-lock.js +96 -0
- package/dist/home/write-lock.js.map +1 -0
- package/dist/hsq.d.ts +2 -0
- package/dist/hsq.js +3 -0
- package/dist/hsq.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +123 -0
- package/dist/index.js.map +1 -0
- package/dist/install-as-command.d.ts +32 -0
- package/dist/install-as-command.js +55 -0
- package/dist/install-as-command.js.map +1 -0
- package/dist/jobs/cli.d.ts +2 -0
- package/dist/jobs/cli.js +53 -0
- package/dist/jobs/cli.js.map +1 -0
- package/dist/jobs/command.d.ts +9 -0
- package/dist/jobs/command.js +19 -0
- package/dist/jobs/command.js.map +1 -0
- package/dist/jobs/job.d.ts +77 -0
- package/dist/jobs/job.js +252 -0
- package/dist/jobs/job.js.map +1 -0
- 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/merged-streams.d.ts +13 -0
- package/dist/merged-streams.js +33 -0
- package/dist/merged-streams.js.map +1 -0
- package/dist/open-url.d.ts +2 -0
- package/dist/open-url.js +10 -0
- package/dist/open-url.js.map +1 -0
- package/dist/pack-check.d.ts +17 -0
- package/dist/pack-check.js +27 -0
- package/dist/pack-check.js.map +1 -0
- package/dist/paths.d.ts +118 -0
- package/dist/paths.js +192 -0
- package/dist/paths.js.map +1 -0
- package/dist/planner.d.ts +30 -0
- package/dist/planner.js +270 -0
- package/dist/planner.js.map +1 -0
- package/dist/preview/agent-address.d.ts +34 -0
- package/dist/preview/agent-address.js +52 -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/browser-launch.d.ts +28 -0
- package/dist/preview/browser-launch.js +64 -0
- package/dist/preview/browser-launch.js.map +1 -0
- package/dist/preview/cdp-proxy.d.ts +54 -0
- package/dist/preview/cdp-proxy.js +152 -0
- package/dist/preview/cdp-proxy.js.map +1 -0
- package/dist/preview/cdp.d.ts +49 -0
- package/dist/preview/cdp.js +167 -0
- package/dist/preview/cdp.js.map +1 -0
- package/dist/preview/chromium-launch-progress.d.ts +10 -0
- package/dist/preview/chromium-launch-progress.js +48 -0
- package/dist/preview/chromium-launch-progress.js.map +1 -0
- package/dist/preview/chromium.d.ts +91 -0
- package/dist/preview/chromium.js +500 -0
- package/dist/preview/chromium.js.map +1 -0
- package/dist/preview/density.d.ts +17 -0
- package/dist/preview/density.js +62 -0
- package/dist/preview/density.js.map +1 -0
- package/dist/preview/dev-server.d.ts +68 -0
- package/dist/preview/dev-server.js +318 -0
- package/dist/preview/dev-server.js.map +1 -0
- package/dist/preview/host.d.ts +215 -0
- package/dist/preview/host.js +954 -0
- package/dist/preview/host.js.map +1 -0
- package/dist/preview/registration.d.ts +68 -0
- package/dist/preview/registration.js +111 -0
- package/dist/preview/registration.js.map +1 -0
- package/dist/preview/run-tools.d.ts +9 -0
- package/dist/preview/run-tools.js +72 -0
- package/dist/preview/run-tools.js.map +1 -0
- package/dist/preview/session.d.ts +139 -0
- package/dist/preview/session.js +479 -0
- package/dist/preview/session.js.map +1 -0
- package/dist/preview/url.d.ts +6 -0
- package/dist/preview/url.js +17 -0
- package/dist/preview/url.js.map +1 -0
- 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/project-commands.d.ts +14 -0
- package/dist/project-commands.js +91 -0
- package/dist/project-commands.js.map +1 -0
- package/dist/project-migration/answer.d.ts +23 -0
- package/dist/project-migration/answer.js +37 -0
- package/dist/project-migration/answer.js.map +1 -0
- package/dist/project-migration/auto.d.ts +73 -0
- package/dist/project-migration/auto.js +161 -0
- package/dist/project-migration/auto.js.map +1 -0
- package/dist/project-migration/cli.d.ts +18 -0
- package/dist/project-migration/cli.js +57 -0
- package/dist/project-migration/cli.js.map +1 -0
- package/dist/project-migration/containment.d.ts +52 -0
- package/dist/project-migration/containment.js +200 -0
- package/dist/project-migration/containment.js.map +1 -0
- package/dist/project-migration/durable.d.ts +25 -0
- package/dist/project-migration/durable.js +69 -0
- package/dist/project-migration/durable.js.map +1 -0
- package/dist/project-migration/engine.d.ts +47 -0
- package/dist/project-migration/engine.js +103 -0
- package/dist/project-migration/engine.js.map +1 -0
- package/dist/project-migration/fresh.d.ts +4 -0
- package/dist/project-migration/fresh.js +25 -0
- package/dist/project-migration/fresh.js.map +1 -0
- package/dist/project-migration/journal.d.ts +139 -0
- package/dist/project-migration/journal.js +69 -0
- package/dist/project-migration/journal.js.map +1 -0
- package/dist/project-migration/live.d.ts +48 -0
- package/dist/project-migration/live.js +148 -0
- package/dist/project-migration/live.js.map +1 -0
- package/dist/project-migration/offline.d.ts +25 -0
- package/dist/project-migration/offline.js +54 -0
- package/dist/project-migration/offline.js.map +1 -0
- package/dist/project-migration/plan.d.ts +91 -0
- package/dist/project-migration/plan.js +466 -0
- package/dist/project-migration/plan.js.map +1 -0
- package/dist/project-migration/recovery.d.ts +28 -0
- package/dist/project-migration/recovery.js +78 -0
- package/dist/project-migration/recovery.js.map +1 -0
- package/dist/project-migration/steps.d.ts +18 -0
- package/dist/project-migration/steps.js +312 -0
- package/dist/project-migration/steps.js.map +1 -0
- package/dist/project-paths.d.ts +61 -0
- package/dist/project-paths.js +185 -0
- package/dist/project-paths.js.map +1 -0
- package/dist/release/compatibility.d.ts +12 -0
- package/dist/release/compatibility.js +62 -0
- package/dist/release/compatibility.js.map +1 -0
- package/dist/release/manifests.d.ts +112 -0
- package/dist/release/manifests.js +104 -0
- package/dist/release/manifests.js.map +1 -0
- package/dist/release/publication.d.ts +3 -0
- package/dist/release/publication.js +34 -0
- package/dist/release/publication.js.map +1 -0
- package/dist/release/snapshot.d.ts +67 -0
- package/dist/release/snapshot.js +97 -0
- package/dist/release/snapshot.js.map +1 -0
- package/dist/release/stable.d.ts +38 -0
- package/dist/release/stable.js +55 -0
- package/dist/release/stable.js.map +1 -0
- package/dist/remote-settings-cli.d.ts +24 -0
- package/dist/remote-settings-cli.js +156 -0
- package/dist/remote-settings-cli.js.map +1 -0
- package/dist/remote-settings.d.ts +41 -0
- package/dist/remote-settings.js +110 -0
- package/dist/remote-settings.js.map +1 -0
- package/dist/runs/agent-tmpdir-removal.d.ts +15 -0
- package/dist/runs/agent-tmpdir-removal.js +60 -0
- package/dist/runs/agent-tmpdir-removal.js.map +1 -0
- package/dist/runs/agent-tmpdir.d.ts +119 -0
- package/dist/runs/agent-tmpdir.js +855 -0
- package/dist/runs/agent-tmpdir.js.map +1 -0
- package/dist/runs/archive-family.d.ts +33 -0
- package/dist/runs/archive-family.js +90 -0
- package/dist/runs/archive-family.js.map +1 -0
- package/dist/runs/arm-repo-handle.d.ts +10 -0
- package/dist/runs/arm-repo-handle.js +45 -0
- package/dist/runs/arm-repo-handle.js.map +1 -0
- package/dist/runs/auto-name.d.ts +77 -0
- package/dist/runs/auto-name.js +179 -0
- package/dist/runs/auto-name.js.map +1 -0
- package/dist/runs/claim-families.d.ts +37 -0
- package/dist/runs/claim-families.js +101 -0
- package/dist/runs/claim-families.js.map +1 -0
- package/dist/runs/client-request.d.ts +11 -0
- package/dist/runs/client-request.js +26 -0
- package/dist/runs/client-request.js.map +1 -0
- package/dist/runs/cold-reads.d.ts +40 -0
- package/dist/runs/cold-reads.js +56 -0
- package/dist/runs/cold-reads.js.map +1 -0
- package/dist/runs/conversation-identity.d.ts +19 -0
- package/dist/runs/conversation-identity.js +31 -0
- package/dist/runs/conversation-identity.js.map +1 -0
- package/dist/runs/delegation-state.d.ts +409 -0
- package/dist/runs/delegation-state.js +22 -0
- package/dist/runs/delegation-state.js.map +1 -0
- package/dist/runs/event-history-agent-context.d.ts +15 -0
- package/dist/runs/event-history-agent-context.js +119 -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 +53 -0
- package/dist/runs/event-history.js +563 -0
- package/dist/runs/event-history.js.map +1 -0
- package/dist/runs/exit-events.d.ts +27 -0
- package/dist/runs/exit-events.js +46 -0
- package/dist/runs/exit-events.js.map +1 -0
- package/dist/runs/history-compressor.d.ts +29 -0
- package/dist/runs/history-compressor.js +116 -0
- package/dist/runs/history-compressor.js.map +1 -0
- package/dist/runs/history-file.d.ts +36 -0
- package/dist/runs/history-file.js +464 -0
- package/dist/runs/history-file.js.map +1 -0
- 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 +49 -0
- package/dist/runs/legacy-index.js +156 -0
- package/dist/runs/legacy-index.js.map +1 -0
- package/dist/runs/legacy-run-rows.d.ts +12 -0
- package/dist/runs/legacy-run-rows.js +33 -0
- package/dist/runs/legacy-run-rows.js.map +1 -0
- package/dist/runs/legacy-waits.d.ts +64 -0
- package/dist/runs/legacy-waits.js +335 -0
- package/dist/runs/legacy-waits.js.map +1 -0
- package/dist/runs/live-item-snapshots.d.ts +15 -0
- package/dist/runs/live-item-snapshots.js +95 -0
- package/dist/runs/live-item-snapshots.js.map +1 -0
- package/dist/runs/loaded-run-exits.d.ts +6 -0
- package/dist/runs/loaded-run-exits.js +32 -0
- package/dist/runs/loaded-run-exits.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 +119 -0
- package/dist/runs/outcome-commit.js +155 -0
- package/dist/runs/outcome-commit.js.map +1 -0
- package/dist/runs/owned-run-create.d.ts +33 -0
- package/dist/runs/owned-run-create.js +98 -0
- package/dist/runs/owned-run-create.js.map +1 -0
- package/dist/runs/project-run-connection.d.ts +76 -0
- package/dist/runs/project-run-connection.js +287 -0
- package/dist/runs/project-run-connection.js.map +1 -0
- package/dist/runs/project-run-sources.d.ts +21 -0
- package/dist/runs/project-run-sources.js +86 -0
- package/dist/runs/project-run-sources.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 +40 -0
- package/dist/runs/raw-record.js +133 -0
- package/dist/runs/raw-record.js.map +1 -0
- package/dist/runs/record-write-rules.d.ts +129 -0
- package/dist/runs/record-write-rules.js +326 -0
- package/dist/runs/record-write-rules.js.map +1 -0
- package/dist/runs/report-rows.d.ts +36 -0
- package/dist/runs/report-rows.js +102 -0
- package/dist/runs/report-rows.js.map +1 -0
- package/dist/runs/retention.d.ts +91 -0
- package/dist/runs/retention.js +193 -0
- package/dist/runs/retention.js.map +1 -0
- package/dist/runs/review-gate.d.ts +18 -0
- package/dist/runs/review-gate.js +22 -0
- package/dist/runs/review-gate.js.map +1 -0
- package/dist/runs/run-claims.d.ts +30 -0
- package/dist/runs/run-claims.js +52 -0
- package/dist/runs/run-claims.js.map +1 -0
- package/dist/runs/run-database-peer-page.d.ts +12 -0
- package/dist/runs/run-database-peer-page.js +25 -0
- package/dist/runs/run-database-peer-page.js.map +1 -0
- package/dist/runs/run-database-row.d.ts +39 -0
- package/dist/runs/run-database-row.js +83 -0
- package/dist/runs/run-database-row.js.map +1 -0
- package/dist/runs/run-database-version.d.ts +14 -0
- package/dist/runs/run-database-version.js +19 -0
- package/dist/runs/run-database-version.js.map +1 -0
- package/dist/runs/run-database.d.ts +389 -0
- package/dist/runs/run-database.js +957 -0
- package/dist/runs/run-database.js.map +1 -0
- package/dist/runs/run-exits.d.ts +4510 -0
- package/dist/runs/run-exits.js +191 -0
- package/dist/runs/run-exits.js.map +1 -0
- package/dist/runs/run-index.d.ts +36 -0
- package/dist/runs/run-index.js +262 -0
- package/dist/runs/run-index.js.map +1 -0
- package/dist/runs/run-references.d.ts +61 -0
- package/dist/runs/run-references.js +421 -0
- package/dist/runs/run-references.js.map +1 -0
- package/dist/runs/run-row.d.ts +14 -0
- package/dist/runs/run-row.js +56 -0
- package/dist/runs/run-row.js.map +1 -0
- package/dist/runs/run-summary-page.d.ts +36 -0
- package/dist/runs/run-summary-page.js +46 -0
- package/dist/runs/run-summary-page.js.map +1 -0
- package/dist/runs/run-title.d.ts +8 -0
- package/dist/runs/run-title.js +28 -0
- package/dist/runs/run-title.js.map +1 -0
- package/dist/runs/store-open-error.d.ts +24 -0
- package/dist/runs/store-open-error.js +62 -0
- package/dist/runs/store-open-error.js.map +1 -0
- package/dist/runs/store.d.ts +3974 -0
- package/dist/runs/store.js +3516 -0
- package/dist/runs/store.js.map +1 -0
- package/dist/runs/task-markers.d.ts +29 -0
- package/dist/runs/task-markers.js +78 -0
- package/dist/runs/task-markers.js.map +1 -0
- package/dist/runs/task-refs.d.ts +39 -0
- package/dist/runs/task-refs.js +107 -0
- package/dist/runs/task-refs.js.map +1 -0
- 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 +40 -0
- package/dist/runs/transcript-facts.js +193 -0
- package/dist/runs/transcript-facts.js.map +1 -0
- package/dist/runs/ui-event-sink.d.ts +59 -0
- package/dist/runs/ui-event-sink.js +197 -0
- package/dist/runs/ui-event-sink.js.map +1 -0
- package/dist/runs/wait-capacity.d.ts +8 -0
- package/dist/runs/wait-capacity.js +28 -0
- package/dist/runs/wait-capacity.js.map +1 -0
- package/dist/runs/wait-phases.d.ts +4 -0
- package/dist/runs/wait-phases.js +11 -0
- package/dist/runs/wait-phases.js.map +1 -0
- package/dist/runs/wait-registration-write.d.ts +5 -0
- package/dist/runs/wait-registration-write.js +35 -0
- package/dist/runs/wait-registration-write.js.map +1 -0
- package/dist/runs/webhook.d.ts +193 -0
- package/dist/runs/webhook.js +362 -0
- package/dist/runs/webhook.js.map +1 -0
- package/dist/runs/worker-deletion-proof.d.ts +13 -0
- package/dist/runs/worker-deletion-proof.js +13 -0
- package/dist/runs/worker-deletion-proof.js.map +1 -0
- package/dist/runs/worker-execution.d.ts +22 -0
- package/dist/runs/worker-execution.js +30 -0
- package/dist/runs/worker-execution.js.map +1 -0
- package/dist/runs/worker-resource-holders.d.ts +17 -0
- package/dist/runs/worker-resource-holders.js +34 -0
- package/dist/runs/worker-resource-holders.js.map +1 -0
- package/dist/runs/worker-result-commit.d.ts +26 -0
- package/dist/runs/worker-result-commit.js +121 -0
- package/dist/runs/worker-result-commit.js.map +1 -0
- package/dist/self-update/checkouts.d.ts +46 -0
- package/dist/self-update/checkouts.js +284 -0
- package/dist/self-update/checkouts.js.map +1 -0
- package/dist/self-update/cli.d.ts +19 -0
- package/dist/self-update/cli.js +243 -0
- package/dist/self-update/cli.js.map +1 -0
- package/dist/self-update/installer.d.ts +24 -0
- package/dist/self-update/installer.js +139 -0
- package/dist/self-update/installer.js.map +1 -0
- package/dist/self-update/launcher.d.ts +30 -0
- package/dist/self-update/launcher.js +172 -0
- package/dist/self-update/launcher.js.map +1 -0
- package/dist/self-update/layout.d.ts +108 -0
- package/dist/self-update/layout.js +276 -0
- package/dist/self-update/layout.js.map +1 -0
- package/dist/self-update/pulls.d.ts +30 -0
- package/dist/self-update/pulls.js +128 -0
- package/dist/self-update/pulls.js.map +1 -0
- package/dist/self-update/registry.d.ts +37 -0
- package/dist/self-update/registry.js +86 -0
- package/dist/self-update/registry.js.map +1 -0
- package/dist/self-update/restart.d.ts +25 -0
- package/dist/self-update/restart.js +79 -0
- package/dist/self-update/restart.js.map +1 -0
- package/dist/self-update/semver.d.ts +19 -0
- package/dist/self-update/semver.js +79 -0
- package/dist/self-update/semver.js.map +1 -0
- package/dist/self-update/service.d.ts +115 -0
- package/dist/self-update/service.js +332 -0
- package/dist/self-update/service.js.map +1 -0
- package/dist/self-update/supervisor.d.ts +10 -0
- package/dist/self-update/supervisor.js +52 -0
- package/dist/self-update/supervisor.js.map +1 -0
- package/dist/serve-boot.d.ts +60 -0
- package/dist/serve-boot.js +142 -0
- package/dist/serve-boot.js.map +1 -0
- package/dist/serve-command.d.ts +71 -0
- package/dist/serve-command.js +168 -0
- package/dist/serve-command.js.map +1 -0
- package/dist/serve-listener.d.ts +12 -0
- package/dist/serve-listener.js +52 -0
- package/dist/serve-listener.js.map +1 -0
- package/dist/server/activity-project-topic.d.ts +44 -0
- package/dist/server/activity-project-topic.js +137 -0
- package/dist/server/activity-project-topic.js.map +1 -0
- package/dist/server/activity-routes.d.ts +317 -0
- package/dist/server/activity-routes.js +117 -0
- package/dist/server/activity-routes.js.map +1 -0
- package/dist/server/activity-sources.d.ts +26 -0
- package/dist/server/activity-sources.js +45 -0
- package/dist/server/activity-sources.js.map +1 -0
- package/dist/server/activity-topic.d.ts +33 -0
- package/dist/server/activity-topic.js +48 -0
- package/dist/server/activity-topic.js.map +1 -0
- package/dist/server/app-type.d.ts +6 -0
- package/dist/server/app-type.js +2 -0
- package/dist/server/app-type.js.map +1 -0
- package/dist/server/archive-on-merge.d.ts +45 -0
- package/dist/server/archive-on-merge.js +242 -0
- package/dist/server/archive-on-merge.js.map +1 -0
- package/dist/server/automation-log-retry.d.ts +27 -0
- package/dist/server/automation-log-retry.js +88 -0
- package/dist/server/automation-log-retry.js.map +1 -0
- package/dist/server/capabilities.d.ts +69 -0
- package/dist/server/capabilities.js +111 -0
- package/dist/server/capabilities.js.map +1 -0
- 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 +153 -0
- package/dist/server/checkout.js +323 -0
- package/dist/server/checkout.js.map +1 -0
- package/dist/server/cockpit-ownership.d.ts +112 -0
- package/dist/server/cockpit-ownership.js +420 -0
- package/dist/server/cockpit-ownership.js.map +1 -0
- package/dist/server/cold-repo-handles.d.ts +17 -0
- package/dist/server/cold-repo-handles.js +82 -0
- package/dist/server/cold-repo-handles.js.map +1 -0
- package/dist/server/completion-actions.d.ts +37 -0
- package/dist/server/completion-actions.js +261 -0
- package/dist/server/completion-actions.js.map +1 -0
- package/dist/server/config-merge.d.ts +11 -0
- package/dist/server/config-merge.js +74 -0
- package/dist/server/config-merge.js.map +1 -0
- package/dist/server/create-project.d.ts +71 -0
- package/dist/server/create-project.js +467 -0
- package/dist/server/create-project.js.map +1 -0
- package/dist/server/forge/draft-pr.d.ts +8 -0
- package/dist/server/forge/draft-pr.js +123 -0
- package/dist/server/forge/draft-pr.js.map +1 -0
- package/dist/server/forge/github-filters.d.ts +22 -0
- package/dist/server/forge/github-filters.js +128 -0
- package/dist/server/forge/github-filters.js.map +1 -0
- package/dist/server/forge/github-merge-requirements.d.ts +18 -0
- package/dist/server/forge/github-merge-requirements.js +148 -0
- package/dist/server/forge/github-merge-requirements.js.map +1 -0
- package/dist/server/forge/github-merge-state.d.ts +27 -0
- package/dist/server/forge/github-merge-state.js +248 -0
- package/dist/server/forge/github-merge-state.js.map +1 -0
- package/dist/server/forge/github-timeline.d.ts +117 -0
- package/dist/server/forge/github-timeline.js +273 -0
- package/dist/server/forge/github-timeline.js.map +1 -0
- package/dist/server/forge/github.d.ts +393 -0
- package/dist/server/forge/github.js +2881 -0
- package/dist/server/forge/github.js.map +1 -0
- package/dist/server/forge/index.d.ts +47 -0
- package/dist/server/forge/index.js +81 -0
- package/dist/server/forge/index.js.map +1 -0
- package/dist/server/forge/repo-handle-discovery.d.ts +16 -0
- package/dist/server/forge/repo-handle-discovery.js +2 -0
- package/dist/server/forge/repo-handle-discovery.js.map +1 -0
- package/dist/server/forge/types.d.ts +278 -0
- package/dist/server/forge/types.js +2 -0
- package/dist/server/forge/types.js.map +1 -0
- package/dist/server/fs-browse.d.ts +82 -0
- package/dist/server/fs-browse.js +217 -0
- package/dist/server/fs-browse.js.map +1 -0
- package/dist/server/git-changes.d.ts +205 -0
- package/dist/server/git-changes.js +531 -0
- package/dist/server/git-changes.js.map +1 -0
- package/dist/server/git.d.ts +52 -0
- package/dist/server/git.js +174 -0
- package/dist/server/git.js.map +1 -0
- package/dist/server/home-recovery-routes.d.ts +171 -0
- package/dist/server/home-recovery-routes.js +56 -0
- package/dist/server/home-recovery-routes.js.map +1 -0
- package/dist/server/launch-key.d.ts +5 -0
- package/dist/server/launch-key.js +35 -0
- package/dist/server/launch-key.js.map +1 -0
- package/dist/server/live-routes.d.ts +73 -0
- package/dist/server/live-routes.js +161 -0
- package/dist/server/live-routes.js.map +1 -0
- package/dist/server/open-in-app.d.ts +57 -0
- package/dist/server/open-in-app.js +178 -0
- package/dist/server/open-in-app.js.map +1 -0
- package/dist/server/open-in-targets.d.ts +53 -0
- package/dist/server/open-in-targets.js +112 -0
- package/dist/server/open-in-targets.js.map +1 -0
- package/dist/server/open-in-terminal.d.ts +73 -0
- package/dist/server/open-in-terminal.js +160 -0
- package/dist/server/open-in-terminal.js.map +1 -0
- 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 +36 -0
- package/dist/server/preview-socket.js +142 -0
- package/dist/server/preview-socket.js.map +1 -0
- 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 +218 -0
- package/dist/server/project-context.js +525 -0
- package/dist/server/project-context.js.map +1 -0
- package/dist/server/project-run-files.d.ts +13 -0
- package/dist/server/project-run-files.js +52 -0
- package/dist/server/project-run-files.js.map +1 -0
- package/dist/server/provider-action-gate.d.ts +5 -0
- package/dist/server/provider-action-gate.js +28 -0
- package/dist/server/provider-action-gate.js.map +1 -0
- package/dist/server/provider-auth-runtime.d.ts +34 -0
- package/dist/server/provider-auth-runtime.js +118 -0
- package/dist/server/provider-auth-runtime.js.map +1 -0
- package/dist/server/repo-branch-forge.d.ts +61 -0
- package/dist/server/repo-branch-forge.js +158 -0
- package/dist/server/repo-branch-forge.js.map +1 -0
- package/dist/server/repo-branch-sweep.d.ts +21 -0
- package/dist/server/repo-branch-sweep.js +64 -0
- package/dist/server/repo-branch-sweep.js.map +1 -0
- package/dist/server/repo-branches.d.ts +103 -0
- package/dist/server/repo-branches.js +804 -0
- package/dist/server/repo-branches.js.map +1 -0
- package/dist/server/repo-pull.d.ts +18 -0
- package/dist/server/repo-pull.js +97 -0
- package/dist/server/repo-pull.js.map +1 -0
- package/dist/server/reports-api.d.ts +90 -0
- package/dist/server/reports-api.js +21 -0
- package/dist/server/reports-api.js.map +1 -0
- package/dist/server/reports-topic.d.ts +5 -0
- package/dist/server/reports-topic.js +37 -0
- package/dist/server/reports-topic.js.map +1 -0
- package/dist/server/run-checkout.d.ts +56 -0
- package/dist/server/run-checkout.js +141 -0
- package/dist/server/run-checkout.js.map +1 -0
- package/dist/server/run-event-feed.d.ts +20 -0
- package/dist/server/run-event-feed.js +203 -0
- package/dist/server/run-event-feed.js.map +1 -0
- package/dist/server/self-update-routes.d.ts +308 -0
- package/dist/server/self-update-routes.js +80 -0
- package/dist/server/self-update-routes.js.map +1 -0
- package/dist/server/server-deps.d.ts +40 -0
- package/dist/server/server-deps.js +132 -0
- package/dist/server/server-deps.js.map +1 -0
- package/dist/server/server.d.ts +35332 -0
- package/dist/server/server.js +5046 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/skill-sources.d.ts +264 -0
- package/dist/server/skill-sources.js +130 -0
- package/dist/server/skill-sources.js.map +1 -0
- package/dist/server/start-run-options.d.ts +84 -0
- package/dist/server/start-run-options.js +114 -0
- package/dist/server/start-run-options.js.map +1 -0
- package/dist/server/static-ui.d.ts +49 -0
- package/dist/server/static-ui.js +99 -0
- package/dist/server/static-ui.js.map +1 -0
- package/dist/server/upgrade-router.d.ts +23 -0
- package/dist/server/upgrade-router.js +53 -0
- package/dist/server/upgrade-router.js.map +1 -0
- package/dist/server/validators.d.ts +80 -0
- package/dist/server/validators.js +85 -0
- package/dist/server/validators.js.map +1 -0
- package/dist/server/workflow-files.d.ts +9 -0
- package/dist/server/workflow-files.js +27 -0
- package/dist/server/workflow-files.js.map +1 -0
- package/dist/server/workspace-config-patch.d.ts +11 -0
- package/dist/server/workspace-config-patch.js +75 -0
- package/dist/server/workspace-config-patch.js.map +1 -0
- package/dist/server/workspace-live-routes.d.ts +222 -0
- package/dist/server/workspace-live-routes.js +8 -0
- package/dist/server/workspace-live-routes.js.map +1 -0
- package/dist/server/workspace-projects.d.ts +51 -0
- package/dist/server/workspace-projects.js +161 -0
- package/dist/server/workspace-projects.js.map +1 -0
- package/dist/server/workspace-run-feed.d.ts +66 -0
- package/dist/server/workspace-run-feed.js +171 -0
- package/dist/server/workspace-run-feed.js.map +1 -0
- package/dist/server/ws.d.ts +80 -0
- package/dist/server/ws.js +280 -0
- package/dist/server/ws.js.map +1 -0
- package/dist/server/wsl.d.ts +25 -0
- package/dist/server/wsl.js +92 -0
- package/dist/server/wsl.js.map +1 -0
- package/dist/server-command.d.ts +53 -0
- package/dist/server-command.js +180 -0
- package/dist/server-command.js.map +1 -0
- package/dist/server-install/engine.d.ts +51 -0
- package/dist/server-install/engine.js +358 -0
- package/dist/server-install/engine.js.map +1 -0
- package/dist/server-install/group-migrate.d.ts +26 -0
- package/dist/server-install/group-migrate.js +241 -0
- package/dist/server-install/group-migrate.js.map +1 -0
- package/dist/server-install/migrate-cli.d.ts +12 -0
- package/dist/server-install/migrate-cli.js +44 -0
- package/dist/server-install/migrate-cli.js.map +1 -0
- package/dist/server-install/migrate-journal.d.ts +15 -0
- package/dist/server-install/migrate-journal.js +48 -0
- package/dist/server-install/migrate-journal.js.map +1 -0
- package/dist/server-install/migration-report.d.ts +3 -0
- package/dist/server-install/migration-report.js +21 -0
- package/dist/server-install/migration-report.js.map +1 -0
- package/dist/server-install/npx-cache.d.ts +34 -0
- package/dist/server-install/npx-cache.js +142 -0
- package/dist/server-install/npx-cache.js.map +1 -0
- package/dist/server-install/platforms/macosx-launchd-files.d.ts +11 -0
- package/dist/server-install/platforms/macosx-launchd-files.js +60 -0
- package/dist/server-install/platforms/macosx-launchd-files.js.map +1 -0
- package/dist/server-install/platforms/macosx-migration.d.ts +17 -0
- package/dist/server-install/platforms/macosx-migration.js +239 -0
- package/dist/server-install/platforms/macosx-migration.js.map +1 -0
- package/dist/server-install/platforms/macosx-ngrok.d.ts +12 -0
- package/dist/server-install/platforms/macosx-ngrok.js +490 -0
- package/dist/server-install/platforms/macosx-ngrok.js.map +1 -0
- package/dist/server-install/platforms/service-env.d.ts +4 -0
- package/dist/server-install/platforms/service-env.js +17 -0
- package/dist/server-install/platforms/service-env.js.map +1 -0
- package/dist/server-install/platforms/ubuntu-vps-files.d.ts +18 -0
- package/dist/server-install/platforms/ubuntu-vps-files.js +43 -0
- package/dist/server-install/platforms/ubuntu-vps-files.js.map +1 -0
- package/dist/server-install/platforms/ubuntu-vps-migration.d.ts +26 -0
- package/dist/server-install/platforms/ubuntu-vps-migration.js +391 -0
- package/dist/server-install/platforms/ubuntu-vps-migration.js.map +1 -0
- package/dist/server-install/platforms/ubuntu-vps-names.d.ts +30 -0
- package/dist/server-install/platforms/ubuntu-vps-names.js +50 -0
- package/dist/server-install/platforms/ubuntu-vps-names.js.map +1 -0
- package/dist/server-install/platforms/ubuntu-vps-redeploy.d.ts +42 -0
- package/dist/server-install/platforms/ubuntu-vps-redeploy.js +127 -0
- package/dist/server-install/platforms/ubuntu-vps-redeploy.js.map +1 -0
- package/dist/server-install/platforms/ubuntu-vps.d.ts +57 -0
- package/dist/server-install/platforms/ubuntu-vps.js +945 -0
- package/dist/server-install/platforms/ubuntu-vps.js.map +1 -0
- package/dist/server-install/state.d.ts +51 -0
- package/dist/server-install/state.js +178 -0
- package/dist/server-install/state.js.map +1 -0
- package/dist/server-install/steps.d.ts +108 -0
- package/dist/server-install/steps.js +348 -0
- package/dist/server-install/steps.js.map +1 -0
- package/dist/server-install/strategies.d.ts +6 -0
- package/dist/server-install/strategies.js +24 -0
- package/dist/server-install/strategies.js.map +1 -0
- package/dist/server-install/types.d.ts +316 -0
- package/dist/server-install/types.js +118 -0
- package/dist/server-install/types.js.map +1 -0
- package/dist/server-install/ui.d.ts +36 -0
- package/dist/server-install/ui.js +131 -0
- package/dist/server-install/ui.js.map +1 -0
- package/dist/session-context.d.ts +66 -0
- package/dist/session-context.js +266 -0
- package/dist/session-context.js.map +1 -0
- package/dist/skills-provision.d.ts +64 -0
- package/dist/skills-provision.js +325 -0
- package/dist/skills-provision.js.map +1 -0
- package/dist/skills-remote.d.ts +144 -0
- package/dist/skills-remote.js +847 -0
- package/dist/skills-remote.js.map +1 -0
- package/dist/skills.d.ts +81 -0
- package/dist/skills.js +288 -0
- package/dist/skills.js.map +1 -0
- package/dist/subcommands.d.ts +12 -0
- package/dist/subcommands.js +59 -0
- package/dist/subcommands.js.map +1 -0
- package/dist/task-cli/cli.d.ts +39 -0
- package/dist/task-cli/cli.js +773 -0
- package/dist/task-cli/cli.js.map +1 -0
- package/dist/task-cli/discovery.d.ts +32 -0
- package/dist/task-cli/discovery.js +133 -0
- package/dist/task-cli/discovery.js.map +1 -0
- package/dist/task-cli/hint.d.ts +20 -0
- package/dist/task-cli/hint.js +15 -0
- package/dist/task-cli/hint.js.map +1 -0
- package/dist/task-cli/http.d.ts +42 -0
- package/dist/task-cli/http.js +110 -0
- package/dist/task-cli/http.js.map +1 -0
- package/dist/task-cli/projections.d.ts +68 -0
- package/dist/task-cli/projections.js +76 -0
- package/dist/task-cli/projections.js.map +1 -0
- package/dist/task-cli/watch.d.ts +119 -0
- package/dist/task-cli/watch.js +494 -0
- package/dist/task-cli/watch.js.map +1 -0
- package/dist/ui-state.d.ts +41 -0
- package/dist/ui-state.js +93 -0
- package/dist/ui-state.js.map +1 -0
- package/dist/update-check.d.ts +2 -0
- package/dist/update-check.js +28 -0
- package/dist/update-check.js.map +1 -0
- package/dist/use-command-notice.d.ts +1 -0
- package/dist/use-command-notice.js +6 -0
- package/dist/use-command-notice.js.map +1 -0
- package/dist/voice/decide.d.ts +35 -0
- package/dist/voice/decide.js +329 -0
- package/dist/voice/decide.js.map +1 -0
- package/dist/voice/decision-log.d.ts +48 -0
- package/dist/voice/decision-log.js +117 -0
- package/dist/voice/decision-log.js.map +1 -0
- package/dist/voice/engine.d.ts +119 -0
- package/dist/voice/engine.js +61 -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 +51 -0
- package/dist/voice/pending-ask.js.map +1 -0
- package/dist/voice/routes.d.ts +115 -0
- package/dist/voice/routes.js +92 -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 +127 -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 +46 -0
- package/dist/workflows/active-run.js +46 -0
- package/dist/workflows/active-run.js.map +1 -0
- package/dist/workflows/attachment-path.d.ts +6 -0
- package/dist/workflows/attachment-path.js +40 -0
- package/dist/workflows/attachment-path.js.map +1 -0
- package/dist/workflows/completion-policy.d.ts +98 -0
- package/dist/workflows/completion-policy.js +77 -0
- package/dist/workflows/completion-policy.js.map +1 -0
- package/dist/workflows/continuation-admission.d.ts +1229 -0
- package/dist/workflows/continuation-admission.js +277 -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/grouped-command.d.ts +31 -0
- package/dist/workflows/grouped-command.js +147 -0
- package/dist/workflows/grouped-command.js.map +1 -0
- package/dist/workflows/input-acknowledgement.d.ts +233 -0
- package/dist/workflows/input-acknowledgement.js +41 -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/load.d.ts +19 -0
- package/dist/workflows/load.js +74 -0
- package/dist/workflows/load.js.map +1 -0
- package/dist/workflows/outcome-batches.d.ts +32 -0
- package/dist/workflows/outcome-batches.js +55 -0
- package/dist/workflows/outcome-batches.js.map +1 -0
- package/dist/workflows/pasted-content.d.ts +60 -0
- package/dist/workflows/pasted-content.js +69 -0
- package/dist/workflows/pasted-content.js.map +1 -0
- package/dist/workflows/question-routing.d.ts +16 -0
- package/dist/workflows/question-routing.js +28 -0
- package/dist/workflows/question-routing.js.map +1 -0
- package/dist/workflows/run/attachment-writer.d.ts +34 -0
- package/dist/workflows/run/attachment-writer.js +98 -0
- package/dist/workflows/run/attachment-writer.js.map +1 -0
- package/dist/workflows/run/auto-resume.d.ts +91 -0
- package/dist/workflows/run/auto-resume.js +247 -0
- package/dist/workflows/run/auto-resume.js.map +1 -0
- package/dist/workflows/run/cezar-tools.d.ts +45 -0
- package/dist/workflows/run/cezar-tools.js +117 -0
- package/dist/workflows/run/cezar-tools.js.map +1 -0
- package/dist/workflows/run/completion-gate.d.ts +77 -0
- package/dist/workflows/run/completion-gate.js +93 -0
- package/dist/workflows/run/completion-gate.js.map +1 -0
- package/dist/workflows/run/compose.d.ts +181 -0
- package/dist/workflows/run/compose.js +413 -0
- package/dist/workflows/run/compose.js.map +1 -0
- package/dist/workflows/run/constants.d.ts +48 -0
- package/dist/workflows/run/constants.js +49 -0
- package/dist/workflows/run/constants.js.map +1 -0
- package/dist/workflows/run/continuation-acceptance.d.ts +70 -0
- package/dist/workflows/run/continuation-acceptance.js +188 -0
- package/dist/workflows/run/continuation-acceptance.js.map +1 -0
- package/dist/workflows/run/continuation-session.d.ts +130 -0
- package/dist/workflows/run/continuation-session.js +597 -0
- package/dist/workflows/run/continuation-session.js.map +1 -0
- package/dist/workflows/run/drop-active.d.ts +4 -0
- package/dist/workflows/run/drop-active.js +11 -0
- package/dist/workflows/run/drop-active.js.map +1 -0
- package/dist/workflows/run/family-reconciler.d.ts +78 -0
- package/dist/workflows/run/family-reconciler.js +308 -0
- package/dist/workflows/run/family-reconciler.js.map +1 -0
- package/dist/workflows/run/human-waits.d.ts +85 -0
- package/dist/workflows/run/human-waits.js +163 -0
- package/dist/workflows/run/human-waits.js.map +1 -0
- package/dist/workflows/run/inbox-claims.d.ts +38 -0
- package/dist/workflows/run/inbox-claims.js +108 -0
- package/dist/workflows/run/inbox-claims.js.map +1 -0
- package/dist/workflows/run/input-batch.d.ts +15 -0
- package/dist/workflows/run/input-batch.js +32 -0
- package/dist/workflows/run/input-batch.js.map +1 -0
- package/dist/workflows/run/input-delivery.d.ts +202 -0
- package/dist/workflows/run/input-delivery.js +818 -0
- package/dist/workflows/run/input-delivery.js.map +1 -0
- package/dist/workflows/run/input-receipts.d.ts +65 -0
- package/dist/workflows/run/input-receipts.js +221 -0
- package/dist/workflows/run/input-receipts.js.map +1 -0
- package/dist/workflows/run/input-timers.d.ts +10 -0
- package/dist/workflows/run/input-timers.js +32 -0
- package/dist/workflows/run/input-timers.js.map +1 -0
- package/dist/workflows/run/launch-context.d.ts +62 -0
- package/dist/workflows/run/launch-context.js +119 -0
- package/dist/workflows/run/launch-context.js.map +1 -0
- package/dist/workflows/run/launch-read-resolver.d.ts +510 -0
- package/dist/workflows/run/launch-read-resolver.js +658 -0
- package/dist/workflows/run/launch-read-resolver.js.map +1 -0
- package/dist/workflows/run/launch-settings.d.ts +10 -0
- package/dist/workflows/run/launch-settings.js +11 -0
- package/dist/workflows/run/launch-settings.js.map +1 -0
- package/dist/workflows/run/live-session-state.d.ts +49 -0
- package/dist/workflows/run/live-session-state.js +83 -0
- package/dist/workflows/run/live-session-state.js.map +1 -0
- package/dist/workflows/run/maintenance-claims.d.ts +47 -0
- package/dist/workflows/run/maintenance-claims.js +83 -0
- package/dist/workflows/run/maintenance-claims.js.map +1 -0
- package/dist/workflows/run/memory-guard.d.ts +25 -0
- package/dist/workflows/run/memory-guard.js +64 -0
- package/dist/workflows/run/memory-guard.js.map +1 -0
- package/dist/workflows/run/opening.d.ts +30 -0
- package/dist/workflows/run/opening.js +6 -0
- package/dist/workflows/run/opening.js.map +1 -0
- package/dist/workflows/run/pending-ask-facts.d.ts +10 -0
- package/dist/workflows/run/pending-ask-facts.js +19 -0
- package/dist/workflows/run/pending-ask-facts.js.map +1 -0
- package/dist/workflows/run/prompts.d.ts +74 -0
- package/dist/workflows/run/prompts.js +140 -0
- package/dist/workflows/run/prompts.js.map +1 -0
- package/dist/workflows/run/queued-input.d.ts +108 -0
- package/dist/workflows/run/queued-input.js +249 -0
- package/dist/workflows/run/queued-input.js.map +1 -0
- package/dist/workflows/run/queued-revival.d.ts +44 -0
- package/dist/workflows/run/queued-revival.js +124 -0
- package/dist/workflows/run/queued-revival.js.map +1 -0
- package/dist/workflows/run/readonly-collections.d.ts +24 -0
- package/dist/workflows/run/readonly-collections.js +33 -0
- package/dist/workflows/run/readonly-collections.js.map +1 -0
- package/dist/workflows/run/repo-root-lease.d.ts +34 -0
- package/dist/workflows/run/repo-root-lease.js +71 -0
- package/dist/workflows/run/repo-root-lease.js.map +1 -0
- package/dist/workflows/run/resolved-wait-input-batch.d.ts +7 -0
- package/dist/workflows/run/resolved-wait-input-batch.js +23 -0
- package/dist/workflows/run/resolved-wait-input-batch.js.map +1 -0
- package/dist/workflows/run/run-cancel.d.ts +36 -0
- package/dist/workflows/run/run-cancel.js +130 -0
- package/dist/workflows/run/run-cancel.js.map +1 -0
- package/dist/workflows/run/run-finish.d.ts +72 -0
- package/dist/workflows/run/run-finish.js +256 -0
- package/dist/workflows/run/run-finish.js.map +1 -0
- package/dist/workflows/run/run-guards.d.ts +15 -0
- package/dist/workflows/run/run-guards.js +39 -0
- package/dist/workflows/run/run-guards.js.map +1 -0
- package/dist/workflows/run/run-line.d.ts +187 -0
- package/dist/workflows/run/run-line.js +438 -0
- package/dist/workflows/run/run-line.js.map +1 -0
- package/dist/workflows/run/run-recovery.d.ts +116 -0
- package/dist/workflows/run/run-recovery.js +422 -0
- package/dist/workflows/run/run-recovery.js.map +1 -0
- package/dist/workflows/run/run-settlement.d.ts +177 -0
- package/dist/workflows/run/run-settlement.js +504 -0
- package/dist/workflows/run/run-settlement.js.map +1 -0
- package/dist/workflows/run/run-skills.d.ts +114 -0
- package/dist/workflows/run/run-skills.js +233 -0
- package/dist/workflows/run/run-skills.js.map +1 -0
- package/dist/workflows/run/run-start.d.ts +64 -0
- package/dist/workflows/run/run-start.js +126 -0
- package/dist/workflows/run/run-start.js.map +1 -0
- package/dist/workflows/run/run-workspace.d.ts +25 -0
- package/dist/workflows/run/run-workspace.js +66 -0
- package/dist/workflows/run/run-workspace.js.map +1 -0
- package/dist/workflows/run/session-events.d.ts +155 -0
- package/dist/workflows/run/session-events.js +282 -0
- package/dist/workflows/run/session-events.js.map +1 -0
- package/dist/workflows/run/step-decisions.d.ts +37 -0
- package/dist/workflows/run/step-decisions.js +43 -0
- package/dist/workflows/run/step-decisions.js.map +1 -0
- package/dist/workflows/run/step-loop.d.ts +143 -0
- package/dist/workflows/run/step-loop.js +488 -0
- package/dist/workflows/run/step-loop.js.map +1 -0
- package/dist/workflows/run/step-session.d.ts +65 -0
- package/dist/workflows/run/step-session.js +280 -0
- package/dist/workflows/run/step-session.js.map +1 -0
- package/dist/workflows/run/steps.d.ts +13 -0
- package/dist/workflows/run/steps.js +14 -0
- package/dist/workflows/run/steps.js.map +1 -0
- package/dist/workflows/run/subagent-waits.d.ts +138 -0
- package/dist/workflows/run/subagent-waits.js +305 -0
- package/dist/workflows/run/subagent-waits.js.map +1 -0
- package/dist/workflows/run/tracked-work.d.ts +12 -0
- package/dist/workflows/run/tracked-work.js +29 -0
- package/dist/workflows/run/tracked-work.js.map +1 -0
- package/dist/workflows/run/turn-bookkeeping.d.ts +67 -0
- package/dist/workflows/run/turn-bookkeeping.js +173 -0
- package/dist/workflows/run/turn-bookkeeping.js.map +1 -0
- package/dist/workflows/run/turn-boundary.d.ts +215 -0
- package/dist/workflows/run/turn-boundary.js +329 -0
- package/dist/workflows/run/turn-boundary.js.map +1 -0
- package/dist/workflows/run/turn-markers.d.ts +62 -0
- package/dist/workflows/run/turn-markers.js +86 -0
- package/dist/workflows/run/turn-markers.js.map +1 -0
- package/dist/workflows/run/turn-nudges.d.ts +104 -0
- package/dist/workflows/run/turn-nudges.js +244 -0
- package/dist/workflows/run/turn-nudges.js.map +1 -0
- package/dist/workflows/run/turn-settler.d.ts +161 -0
- package/dist/workflows/run/turn-settler.js +469 -0
- package/dist/workflows/run/turn-settler.js.map +1 -0
- package/dist/workflows/run/types.d.ts +293 -0
- package/dist/workflows/run/types.js +2 -0
- package/dist/workflows/run/types.js.map +1 -0
- package/dist/workflows/run/usage-accounting.d.ts +49 -0
- package/dist/workflows/run/usage-accounting.js +213 -0
- package/dist/workflows/run/usage-accounting.js.map +1 -0
- package/dist/workflows/run/wait-engine.d.ts +1210 -0
- package/dist/workflows/run/wait-engine.js +456 -0
- package/dist/workflows/run/wait-engine.js.map +1 -0
- package/dist/workflows/run/wait-kinds.d.ts +336 -0
- package/dist/workflows/run/wait-kinds.js +471 -0
- package/dist/workflows/run/wait-kinds.js.map +1 -0
- package/dist/workflows/run/wait-registration-tool.d.ts +3 -0
- package/dist/workflows/run/wait-registration-tool.js +68 -0
- package/dist/workflows/run/wait-registration-tool.js.map +1 -0
- package/dist/workflows/run/wait-registration.d.ts +7 -0
- package/dist/workflows/run/wait-registration.js +39 -0
- package/dist/workflows/run/wait-registration.js.map +1 -0
- package/dist/workflows/run/wait-registry.d.ts +120 -0
- package/dist/workflows/run/wait-registry.js +365 -0
- package/dist/workflows/run/wait-registry.js.map +1 -0
- package/dist/workflows/run/wait-watches.d.ts +13 -0
- package/dist/workflows/run/wait-watches.js +12 -0
- package/dist/workflows/run/wait-watches.js.map +1 -0
- package/dist/workflows/run/wake-admission.d.ts +150 -0
- package/dist/workflows/run/wake-admission.js +397 -0
- package/dist/workflows/run/wake-admission.js.map +1 -0
- package/dist/workflows/run/wake-ledger.d.ts +61 -0
- package/dist/workflows/run/wake-ledger.js +78 -0
- package/dist/workflows/run/wake-ledger.js.map +1 -0
- package/dist/workflows/run/wake-retries.d.ts +31 -0
- package/dist/workflows/run/wake-retries.js +93 -0
- package/dist/workflows/run/wake-retries.js.map +1 -0
- package/dist/workflows/run/worker-executions.d.ts +54 -0
- package/dist/workflows/run/worker-executions.js +149 -0
- package/dist/workflows/run/worker-executions.js.map +1 -0
- package/dist/workflows/run/worker-orphans.d.ts +91 -0
- package/dist/workflows/run/worker-orphans.js +275 -0
- package/dist/workflows/run/worker-orphans.js.map +1 -0
- package/dist/workflows/run/worker-questions.d.ts +169 -0
- package/dist/workflows/run/worker-questions.js +464 -0
- package/dist/workflows/run/worker-questions.js.map +1 -0
- package/dist/workflows/run/workflow-position.d.ts +7 -0
- package/dist/workflows/run/workflow-position.js +9 -0
- package/dist/workflows/run/workflow-position.js.map +1 -0
- package/dist/workflows/run/worktree-autosave.d.ts +48 -0
- package/dist/workflows/run/worktree-autosave.js +175 -0
- package/dist/workflows/run/worktree-autosave.js.map +1 -0
- package/dist/workflows/run-scheduling.d.ts +38 -0
- package/dist/workflows/run-scheduling.js +76 -0
- package/dist/workflows/run-scheduling.js.map +1 -0
- package/dist/workflows/run-states.d.ts +73 -0
- package/dist/workflows/run-states.js +233 -0
- package/dist/workflows/run-states.js.map +1 -0
- package/dist/workflows/run.d.ts +275 -0
- package/dist/workflows/run.js +626 -0
- package/dist/workflows/run.js.map +1 -0
- package/dist/workflows/turn-end.d.ts +119 -0
- package/dist/workflows/turn-end.js +74 -0
- package/dist/workflows/turn-end.js.map +1 -0
- package/dist/workflows/types.d.ts +83 -0
- package/dist/workflows/types.js +192 -0
- package/dist/workflows/types.js.map +1 -0
- package/dist/workflows/wait-scope.d.ts +75 -0
- package/dist/workflows/wait-scope.js +115 -0
- package/dist/workflows/wait-scope.js.map +1 -0
- package/dist/workflows/waits.d.ts +58 -0
- package/dist/workflows/waits.js +89 -0
- package/dist/workflows/waits.js.map +1 -0
- package/dist/workspace/agent-accounts.d.ts +135 -0
- package/dist/workspace/agent-accounts.js +353 -0
- package/dist/workspace/agent-accounts.js.map +1 -0
- package/dist/workspace/agent-profiles.d.ts +125 -0
- package/dist/workspace/agent-profiles.js +190 -0
- package/dist/workspace/agent-profiles.js.map +1 -0
- package/dist/workspace/backup-cli.d.ts +9 -0
- package/dist/workspace/backup-cli.js +147 -0
- package/dist/workspace/backup-cli.js.map +1 -0
- package/dist/workspace/backups.d.ts +36 -0
- package/dist/workspace/backups.js +249 -0
- package/dist/workspace/backups.js.map +1 -0
- package/dist/workspace/config.d.ts +179 -0
- package/dist/workspace/config.js +396 -0
- package/dist/workspace/config.js.map +1 -0
- package/dist/workspace/migrations.d.ts +37 -0
- package/dist/workspace/migrations.js +149 -0
- package/dist/workspace/migrations.js.map +1 -0
- package/dist/workspace/projects-cli.d.ts +27 -0
- package/dist/workspace/projects-cli.js +175 -0
- package/dist/workspace/projects-cli.js.map +1 -0
- package/dist/workspace/projects.d.ts +131 -0
- package/dist/workspace/projects.js +274 -0
- package/dist/workspace/projects.js.map +1 -0
- package/dist/workspace/root-probe-cache.d.ts +10 -0
- package/dist/workspace/root-probe-cache.js +43 -0
- package/dist/workspace/root-probe-cache.js.map +1 -0
- package/dist/workspace/semaphore.d.ts +147 -0
- package/dist/workspace/semaphore.js +196 -0
- package/dist/workspace/semaphore.js.map +1 -0
- package/dist/workspace/ui-state.d.ts +17 -0
- package/dist/workspace/ui-state.js +59 -0
- package/dist/workspace/ui-state.js.map +1 -0
- 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 +535 -0
- package/dist/worktree-manifest.js.map +1 -0
- package/dist/worktree-setup.d.ts +88 -0
- package/dist/worktree-setup.js +170 -0
- package/dist/worktree-setup.js.map +1 -0
- package/package.json +80 -4
- package/scripts/benchmark-family-reconcile.ts +119 -0
- package/scripts/benchmark-home.ts +32 -0
- package/scripts/benchmark-project-probes.mjs +158 -0
- package/scripts/benchmark-run-store-fixture.ts +432 -0
- package/scripts/benchmark-run-store.ts +767 -0
- package/scripts/benchmark-stuck-destroys.ts +144 -0
- package/scripts/benchmark-workspace-events.ts +339 -0
- package/scripts/check-pack.mjs +48 -0
- package/scripts/inline-contract.mjs +165 -0
- package/scripts/install-as-command.mjs +125 -0
- package/scripts/measure-transcript-facts-health.mjs +103 -0
- package/scripts/measure-transcript-facts-lag.mjs +69 -0
- package/scripts/mock-autonomous.mjs +13 -0
- package/scripts/mock-ci-tool.mjs +159 -0
- package/scripts/mock-claude-model-refusal.mjs +76 -0
- package/scripts/mock-claude-subagents.mjs +54 -0
- package/scripts/mock-claude.mjs +800 -0
- package/scripts/mock-codex-app-server.mjs +767 -0
- package/scripts/mock-codex-coalesce-steer.mjs +59 -0
- package/scripts/mock-codex-reverse-steer.mjs +143 -0
- package/scripts/mock-codex-subagents.mjs +52 -0
- package/scripts/mock-controls.d.mts +11 -0
- package/scripts/mock-controls.mjs +13 -0
- package/scripts/mock-cursor-hang-stdin-late.mjs +35 -0
- package/scripts/mock-cursor-hang-stdin.mjs +30 -0
- package/scripts/mock-cursor-print.mjs +237 -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-lifecycle.mjs +51 -0
- package/scripts/mock-multi-pr.mjs +10 -0
- package/scripts/mock-nudge.mjs +43 -0
- package/scripts/mock-omp-rpc.mjs +536 -0
- package/scripts/mock-opencode-serve.mjs +1000 -0
- package/scripts/mock-pi-rpc.mjs +421 -0
- package/scripts/mock-publish.mjs +13 -0
- package/scripts/mock-runner-crash.mjs +64 -0
- package/scripts/mock-scenario.d.mts +71 -0
- package/scripts/mock-scenario.mjs +295 -0
- package/scripts/mock-session-context.d.mts +5 -0
- package/scripts/mock-session-context.mjs +56 -0
- package/scripts/mock-silent-tail.mjs +93 -0
- package/scripts/mock-turn-messages.mjs +5 -0
- package/scripts/mock-wire-evidence.config.mjs +12 -0
- package/scripts/mock-wire-recorder.mjs +66 -0
- package/scripts/mock-wire-tools.mjs +7 -0
- package/scripts/omp-ci-wait.mjs +29 -0
- package/scripts/opencode-task-scope.d.mts +18 -0
- package/scripts/opencode-task-scope.mjs +59 -0
- package/scripts/parity-rows.ts +160 -0
- package/scripts/pi-ci-wait.mjs +17 -0
- package/scripts/pi-default-tools.mjs +22 -0
- package/scripts/pi-project-skills.mjs +59 -0
- package/scripts/pi-retry-degraded-service.mjs +16 -0
- package/scripts/probe-cursor-print.mjs +699 -0
- package/scripts/probe-session-env.ts +8 -0
- package/scripts/product-env.mjs +6 -0
- package/scripts/product-identity.mjs +12 -0
- package/scripts/record-mock-wires.mjs +16 -0
- package/scripts/seed-archive-profile.ts +53 -0
- package/scripts/sync-readme.mjs +20 -0
- package/scripts/test-process-usage.mjs +47 -0
- package/scripts/transcript-facts-fixture.mjs +53 -0
- package/scripts/transcript-facts-timing.mjs +42 -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/activity-motion-0wHCeUs7.css +1 -0
- package/web/dist/assets/activity-motion-SGth5vR4.js +2 -0
- package/web/dist/assets/activity-route-D8otXwOA.js +1 -0
- package/web/dist/assets/agent-accounts-6EuZhy-N.js +18 -0
- package/web/dist/assets/alert-dialog-vFjLgfK4.js +1 -0
- package/web/dist/assets/app-window-CSHwDX9N.js +1 -0
- package/web/dist/assets/arrow-right-Dh_Lx3um.js +1 -0
- package/web/dist/assets/bundle-mjs-BT31bpU6.js +1 -0
- package/web/dist/assets/button-BEK7XKhS.js +3 -0
- package/web/dist/assets/centered-state-CPgI8cCO.js +1 -0
- package/web/dist/assets/cez-idle-BT0U4GN_.js +1 -0
- package/web/dist/assets/chunk-BO2N2NFS-DE6qKn3r.js +131 -0
- package/web/dist/assets/commit-diff-panel-DzyWgn1Z.js +1 -0
- package/web/dist/assets/control-locations-CexZsd3M.js +1 -0
- package/web/dist/assets/core-BCsw8oQw.js +12 -0
- package/web/dist/assets/createLucideIcon-BHp8sXmF.js +1 -0
- package/web/dist/assets/css-BsVw1vtW.js +1 -0
- package/web/dist/assets/design-icons-DmYTv2r1.js +1 -0
- package/web/dist/assets/diff-DBDiZl58.js +3 -0
- package/web/dist/assets/diff-controls-DXyB0aDl.js +1 -0
- package/web/dist/assets/diff-view-DiKAwVMH.js +11 -0
- package/web/dist/assets/diff-woXpYk--.js +1 -0
- package/web/dist/assets/dropdown-menu-DYflHa4m.js +1 -0
- package/web/dist/assets/engine-javascript-FQvzRocB.js +141 -0
- package/web/dist/assets/es2015-BO600Xfi.js +41 -0
- package/web/dist/assets/eye-B8okNWXU.js +1 -0
- package/web/dist/assets/file-preview-DTSRkmMo.js +2 -0
- package/web/dist/assets/git-toolbar-U4s46kUd.js +1 -0
- package/web/dist/assets/github-UaBp2yRF.js +1 -0
- package/web/dist/assets/github-sidebar-model-czjLsgVJ.js +1 -0
- package/web/dist/assets/global-activity-route-B2N2Nz0H.js +1 -0
- package/web/dist/assets/go-rLFTqkRN.js +1 -0
- package/web/dist/assets/highlighted-body-OFNGDK62-BL-MfFgl.js +1 -0
- package/web/dist/assets/hourglass-B0lPAJvT.js +1 -0
- package/web/dist/assets/html-BY76lXLH.js +1 -0
- package/web/dist/assets/image-preview-XPCPclpG.js +1 -0
- package/web/dist/assets/index-B18AqW0Z.css +1 -0
- package/web/dist/assets/index-xj-3O89_.js +14 -0
- package/web/dist/assets/index.global-D3Ga_D3Y.js +1 -0
- package/web/dist/assets/info-DA1x_4bz.js +1 -0
- package/web/dist/assets/javascript-BgS3c2Ky.js +1 -0
- package/web/dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/web/dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/web/dist/assets/json-qhed-kSA.js +1 -0
- package/web/dist/assets/jsonc-CYpm1nAK.js +1 -0
- package/web/dist/assets/jsx-Bz0zcwM4.js +1 -0
- package/web/dist/assets/lib-BxQXEXDF.js +1 -0
- package/web/dist/assets/live-protocol-BDY7JJpT.js +64 -0
- package/web/dist/assets/live-refetch-C-Ony2Yr.js +1 -0
- package/web/dist/assets/live-worker-BWdeGzQX.ts +34 -0
- package/web/dist/assets/loader-circle-CZkGEdoI.js +1 -0
- package/web/dist/assets/markdown-BBDDg-4t.js +1 -0
- package/web/dist/assets/markdown-BYOwaDjH.js +1 -0
- package/web/dist/assets/markdown-UdZ_toya.js +6 -0
- package/web/dist/assets/mermaid-GHXKKRXX-C4jxqUUb.js +1 -0
- package/web/dist/assets/mermaid.min-3O9YjB2l.js +1 -0
- package/web/dist/assets/message-square-B-MD-8rD.js +1 -0
- package/web/dist/assets/nav-row-styles-BE99gD3_.js +1 -0
- package/web/dist/assets/popover-CpULuQSm.js +1 -0
- package/web/dist/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2 +0 -0
- package/web/dist/assets/poppins-devanagari-400-normal-CqVvlrh5.woff +0 -0
- package/web/dist/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2 +0 -0
- package/web/dist/assets/poppins-devanagari-500-normal-DMPDjHtT.woff +0 -0
- package/web/dist/assets/poppins-devanagari-600-normal-ClASKHrr.woff +0 -0
- package/web/dist/assets/poppins-devanagari-600-normal-STEjXBNN.woff2 +0 -0
- package/web/dist/assets/poppins-latin-400-normal-BOb3E3N0.woff +0 -0
- package/web/dist/assets/poppins-latin-400-normal-cpxAROuN.woff2 +0 -0
- package/web/dist/assets/poppins-latin-500-normal-C8OXljZJ.woff2 +0 -0
- package/web/dist/assets/poppins-latin-500-normal-DGXqpDMm.woff +0 -0
- package/web/dist/assets/poppins-latin-600-normal-BJdTmd5m.woff +0 -0
- package/web/dist/assets/poppins-latin-600-normal-zEkxB9Mr.woff2 +0 -0
- package/web/dist/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff +0 -0
- package/web/dist/assets/poppins-latin-ext-400-normal-by3JarPu.woff2 +0 -0
- package/web/dist/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2 +0 -0
- package/web/dist/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff +0 -0
- package/web/dist/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2 +0 -0
- package/web/dist/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff +0 -0
- package/web/dist/assets/preview-pane-connected-CgRK7GzB.js +3 -0
- package/web/dist/assets/project-router-CimAoN1H.js +1 -0
- package/web/dist/assets/project-scope-context-DMpvJqIm.js +4 -0
- package/web/dist/assets/python-gzcpVVnB.js +1 -0
- package/web/dist/assets/queries-BIOp8jLx.js +1 -0
- package/web/dist/assets/react-runtime-CCIEwYL0.js +9 -0
- package/web/dist/assets/repo-git-DVXNOJDT.css +1 -0
- package/web/dist/assets/repo-git-XkyTfP9G.js +1 -0
- package/web/dist/assets/report-reader-CZjYS5Aw.js +1 -0
- package/web/dist/assets/report-title-D4Mbu2Er.js +1 -0
- package/web/dist/assets/reports-B7QAzibP.css +1 -0
- package/web/dist/assets/reports-D_2sFE1y.js +1 -0
- package/web/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/web/dist/assets/run-header-BwPDVPpg.js +2 -0
- package/web/dist/assets/run-header-CC7VUTg9.css +1 -0
- package/web/dist/assets/rust-Cfkwpbl8.js +1 -0
- package/web/dist/assets/shellscript-CLZ0U2zV.js +1 -0
- package/web/dist/assets/skill-empty-hint-YDmkqgo-.js +1 -0
- package/web/dist/assets/skills-BkXe4p4q.js +1 -0
- package/web/dist/assets/skills-DFBiAuJG.js +1 -0
- package/web/dist/assets/skills-workflows-C21NystW.css +1 -0
- package/web/dist/assets/sortable.esm-zp_qkYGV.js +5 -0
- package/web/dist/assets/sql-BsFa4tDR.js +1 -0
- package/web/dist/assets/tab-link-BIweqlIZ.js +1 -0
- package/web/dist/assets/task-changes-USNHNm_T.js +1 -0
- package/web/dist/assets/task-commits-kHqlOJe_.js +1 -0
- package/web/dist/assets/task-files-wTWwLR39.js +1 -0
- package/web/dist/assets/task-github-item-GzaQjkF1.js +1 -0
- package/web/dist/assets/task-thread-BZX863UN.js +9 -0
- package/web/dist/assets/task-thread-DtQ6uGfQ.css +1 -0
- package/web/dist/assets/textarea-FAUkHz1K.js +1 -0
- package/web/dist/assets/thread-state-CBzx2hmX.js +4 -0
- package/web/dist/assets/toaster-pthKGWiE.js +1 -0
- package/web/dist/assets/toml-CcmNWLt0.js +1 -0
- package/web/dist/assets/tsx-udAQXfEw.js +1 -0
- package/web/dist/assets/typescript-bsJCZSQ-.js +1 -0
- package/web/dist/assets/use-hand-to-agent-state-Bav9eT3b.js +1 -0
- package/web/dist/assets/use-hand-to-agent-state-C7esPJ-N.css +1 -0
- package/web/dist/assets/useInfiniteQuery-CQI4BO4C.js +1 -0
- package/web/dist/assets/useQuery-Bkq-x4Id.js +1 -0
- package/web/dist/assets/workflows-D871Gx--.js +7 -0
- package/web/dist/assets/ws-DspW9wBH.js +1 -0
- package/web/dist/assets/yaml-rwi0_p6S.js +1 -0
- package/web/dist/assets/zoomable-image-DNc6ORaF.js +1 -0
- package/web/dist/cezarion-lockup-dark.svg +9 -0
- package/web/dist/cezarion-lockup-light.svg +9 -0
- package/web/dist/cezarion-mark-dark.svg +4 -0
- package/web/dist/cezarion-mark-light.svg +4 -0
- package/web/dist/index.html +90 -0
- package/web/dist/live-worker.js +4 -0
|
@@ -0,0 +1,804 @@
|
|
|
1
|
+
import { productName } from '../home/display.js';
|
|
2
|
+
/**
|
|
3
|
+
* Server-owned branch classification and cleanup policy. Reclassify before deletion:
|
|
4
|
+
* active/other are protected; merged/empty allow bulk; not-landed/orphan require one typed
|
|
5
|
+
* confirmation. Forge failure leaves ancestry evidence with unknown PR state.
|
|
6
|
+
*/
|
|
7
|
+
import { createHash } from 'node:crypto';
|
|
8
|
+
import { readFile } from 'node:fs/promises';
|
|
9
|
+
import { homedir } from 'node:os';
|
|
10
|
+
import { join as joinPath, resolve as resolvePath } from 'node:path';
|
|
11
|
+
import { execFile } from 'node:child_process';
|
|
12
|
+
import { isSafeGitRef } from '../git-refs.js';
|
|
13
|
+
import { withWorktreeMutation } from '../git-worktree-lock.js';
|
|
14
|
+
import { ownedCleanupProtection, parseShortstat } from '../git-worktree.js';
|
|
15
|
+
import { loadConfig } from '../config.js';
|
|
16
|
+
import { refNumberFromUrl } from './forge/index.js';
|
|
17
|
+
import { getBranches, getRepoInfo } from './git.js';
|
|
18
|
+
export { __clearPrListCacheForTests, githubBranchForge } from './repo-branch-forge.js';
|
|
19
|
+
/** How many `git` processes this module runs at once, across every repository and request. A
|
|
20
|
+
* repository with thousands of branches otherwise gets one process per branch at the same
|
|
21
|
+
* moment (hearsay-tools/cezarion#2029). */
|
|
22
|
+
const GIT_CONCURRENCY = 6;
|
|
23
|
+
let gitRunning = 0;
|
|
24
|
+
const gitWaiters = [];
|
|
25
|
+
async function gitSlot() {
|
|
26
|
+
if (gitRunning < GIT_CONCURRENCY)
|
|
27
|
+
gitRunning++;
|
|
28
|
+
else
|
|
29
|
+
await new Promise((resolve) => gitWaiters.push(resolve));
|
|
30
|
+
// A released slot passes straight to the next waiter, so `gitRunning` never drops under it.
|
|
31
|
+
return () => {
|
|
32
|
+
const next = gitWaiters.shift();
|
|
33
|
+
if (next)
|
|
34
|
+
next();
|
|
35
|
+
else
|
|
36
|
+
gitRunning--;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
async function git(cwd, args) {
|
|
40
|
+
const release = await gitSlot();
|
|
41
|
+
try {
|
|
42
|
+
return await new Promise((resolve) => {
|
|
43
|
+
execFile('git', args, { cwd, maxBuffer: 32 * 1024 * 1024, encoding: 'utf8' }, (err, stdout, stderr) => resolve({ ok: !err, stdout, stderr }));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
release();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const TASK_PREFIX = 'cez/';
|
|
51
|
+
const FINISHED = new Set(['done', 'failed', 'cancelled']);
|
|
52
|
+
const FULL_SHA = /^[0-9a-f]{40}$/;
|
|
53
|
+
/** What the branch classifier reads for one project, or null outside a repository. */
|
|
54
|
+
export async function classifyInputFor(project, forge) {
|
|
55
|
+
const info = await getRepoInfo(project.root);
|
|
56
|
+
if (!info)
|
|
57
|
+
return null;
|
|
58
|
+
const config = await loadConfig(project.root, project.home);
|
|
59
|
+
return {
|
|
60
|
+
root: info.root,
|
|
61
|
+
runs: project.store.listBranchOwners(),
|
|
62
|
+
isActive: (id) => project.manager.isActive(id),
|
|
63
|
+
configuredBase: config.baseBranch,
|
|
64
|
+
currentBranch: info.branch,
|
|
65
|
+
hasRemote: Boolean(info.remote),
|
|
66
|
+
forge,
|
|
67
|
+
claimRuns: (ids) => project.manager.claimForBranchCleanup(ids),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
async function localHeads(root) {
|
|
71
|
+
const res = await git(root, [
|
|
72
|
+
'for-each-ref',
|
|
73
|
+
'refs/heads',
|
|
74
|
+
'--format=%(refname:lstrip=2)%00%(objectname)%00%(committerdate:iso-strict)%00%(symref)%00%(subject)',
|
|
75
|
+
]);
|
|
76
|
+
if (!res.ok)
|
|
77
|
+
return [];
|
|
78
|
+
return res.stdout
|
|
79
|
+
.split('\n')
|
|
80
|
+
.filter(Boolean)
|
|
81
|
+
.map((line) => {
|
|
82
|
+
const [name = '', sha = '', at = '', symref = '', ...rest] = line.split('\0');
|
|
83
|
+
return { name, sha, at, subject: rest.join('\0'), symbolic: symref !== '' };
|
|
84
|
+
})
|
|
85
|
+
.filter((row) => row.name && row.sha);
|
|
86
|
+
}
|
|
87
|
+
/** Commits on each branch that the base cannot reach. One `for-each-ref` on git ≥ 2.41
|
|
88
|
+
* (`%(ahead-behind:…)`); a `rev-list --count` per branch otherwise. */
|
|
89
|
+
async function aheadCounts(root, heads, baseSha) {
|
|
90
|
+
const out = new Map();
|
|
91
|
+
if (baseSha) {
|
|
92
|
+
const batch = await git(root, ['for-each-ref', 'refs/heads', `--format=%(refname:lstrip=2)%00%(ahead-behind:${baseSha})`]);
|
|
93
|
+
if (batch.ok) {
|
|
94
|
+
for (const line of batch.stdout.split('\n')) {
|
|
95
|
+
const [name, counts = ''] = line.split('\0');
|
|
96
|
+
const ahead = Number(counts.split(' ')[0]);
|
|
97
|
+
if (name && counts && Number.isFinite(ahead))
|
|
98
|
+
out.set(name, ahead);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
await Promise.all(heads
|
|
103
|
+
.filter((head) => !out.has(head.name))
|
|
104
|
+
.map(async (head) => {
|
|
105
|
+
const res = await git(root, ['rev-list', '--count', baseSha ? `${baseSha}..${head.sha}` : head.sha]);
|
|
106
|
+
const n = Number(res.stdout.trim());
|
|
107
|
+
// An unreadable count is never "0" — that would read as merged and become bulk-deletable.
|
|
108
|
+
out.set(head.name, res.ok && Number.isFinite(n) ? n : Number.POSITIVE_INFINITY);
|
|
109
|
+
}));
|
|
110
|
+
return out;
|
|
111
|
+
}
|
|
112
|
+
async function checkedOutBranches(root) {
|
|
113
|
+
const res = await git(root, ['worktree', 'list', '--porcelain']);
|
|
114
|
+
const out = new Set();
|
|
115
|
+
for (const line of res.stdout.split('\n')) {
|
|
116
|
+
if (line.startsWith('branch refs/heads/'))
|
|
117
|
+
out.add(line.slice('branch refs/heads/'.length));
|
|
118
|
+
}
|
|
119
|
+
return out;
|
|
120
|
+
}
|
|
121
|
+
/** The branch a run owns: its recorded `branch`, or `cez/<id8>` for an old worktree run — the
|
|
122
|
+
* store's `branch` column already says which (`encodeRunRow`). */
|
|
123
|
+
function runBranch(run) {
|
|
124
|
+
return run.branch;
|
|
125
|
+
}
|
|
126
|
+
function isFinished(run) {
|
|
127
|
+
return FINISHED.has(run.status) || run.archived === true;
|
|
128
|
+
}
|
|
129
|
+
function creationSha(sha, subject) {
|
|
130
|
+
return sha && subject.startsWith('branch: Created from ') ? sha : null;
|
|
131
|
+
}
|
|
132
|
+
/** Refs per bulk reflog read: keeps the argument list far under any platform's limit. */
|
|
133
|
+
const REFLOG_CHUNK = 256;
|
|
134
|
+
/**
|
|
135
|
+
* Where each run forked: a pinned sha, or the branch's creation entry in its reflog. Only an entry
|
|
136
|
+
* git wrote as a creation counts: once older entries expire, the oldest SURVIVING one can be a task
|
|
137
|
+
* commit, and reading that as the fork point would call committed work "empty".
|
|
138
|
+
*
|
|
139
|
+
* One `git log -g` per chunk of branches, never one per branch (hearsay-tools/cezarion#2029). git
|
|
140
|
+
* walks every named reflog and prints each entry once, in date order, so entries are matched by
|
|
141
|
+
* their `refs/heads/<name>@{n}` selector, and the oldest is the highest `n`. A ref with no reflog
|
|
142
|
+
* prints nothing: no fork point. A chunk that fails (a branch deleted since it was listed) is read
|
|
143
|
+
* again one branch at a time, and a single branch that still fails has no fork point.
|
|
144
|
+
*/
|
|
145
|
+
export async function forkPoints(root, wanted, chunkSize = REFLOG_CHUNK) {
|
|
146
|
+
const out = new Map();
|
|
147
|
+
const walk = [];
|
|
148
|
+
for (const item of wanted) {
|
|
149
|
+
if (item.run.baseBranch && FULL_SHA.test(item.run.baseBranch))
|
|
150
|
+
out.set(item.branch, item.run.baseBranch);
|
|
151
|
+
else
|
|
152
|
+
walk.push(item);
|
|
153
|
+
}
|
|
154
|
+
const chunks = [];
|
|
155
|
+
for (let i = 0; i < walk.length; i += chunkSize)
|
|
156
|
+
chunks.push(walk.slice(i, i + chunkSize));
|
|
157
|
+
await Promise.all(chunks.map(async (chunk) => {
|
|
158
|
+
const res = await git(root, ['log', '-g', '--format=%gD%x1f%H%x1f%gs', ...chunk.map((item) => `refs/heads/${item.branch}`), '--']);
|
|
159
|
+
if (!res.ok && chunk.length > 1) {
|
|
160
|
+
for (const [branch, fork] of await forkPoints(root, chunk, 1))
|
|
161
|
+
out.set(branch, fork);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const oldest = new Map();
|
|
165
|
+
for (const line of res.stdout.split('\n')) {
|
|
166
|
+
const [selector = '', sha = '', ...rest] = line.split('\x1f');
|
|
167
|
+
// `@{` cannot appear in a ref name, so the last one starts the selector's index. The index
|
|
168
|
+
// form is git's default; only an explicit `--date` prints a date there.
|
|
169
|
+
const at = selector.lastIndexOf('@{');
|
|
170
|
+
const n = Number(selector.slice(at + 2, -1));
|
|
171
|
+
if (at < 0 || !selector.startsWith('refs/heads/') || !Number.isInteger(n))
|
|
172
|
+
continue;
|
|
173
|
+
const branch = selector.slice('refs/heads/'.length, at);
|
|
174
|
+
const seen = oldest.get(branch);
|
|
175
|
+
if (!seen || n > seen.n)
|
|
176
|
+
oldest.set(branch, { n, sha, subject: rest.join('\x1f') });
|
|
177
|
+
}
|
|
178
|
+
for (const { branch } of chunk) {
|
|
179
|
+
const entry = oldest.get(branch);
|
|
180
|
+
out.set(branch, entry ? creationSha(entry.sha, entry.subject) : null);
|
|
181
|
+
}
|
|
182
|
+
}));
|
|
183
|
+
return out;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* The base as a FULLY QUALIFIED ref and its commit. `freshestBaseRef`'s rule (origin/<base> when
|
|
187
|
+
* the local branch is behind it), but never through an unqualified name: git resolves `main` to a
|
|
188
|
+
* tag `refs/tags/main` before `refs/heads/main`, and a tag at an unlanded tip would make its work
|
|
189
|
+
* read as merged — bulk-deletable. A pinned sha stays a sha.
|
|
190
|
+
*/
|
|
191
|
+
async function resolveBase(root, base) {
|
|
192
|
+
const at = async (ref) => {
|
|
193
|
+
const res = await git(root, ['rev-parse', '--verify', '--quiet', `${ref}^{commit}`]);
|
|
194
|
+
return res.ok ? res.stdout.trim() || null : null;
|
|
195
|
+
};
|
|
196
|
+
const none = { ref: base, fullRef: null, sha: null, prBase: null };
|
|
197
|
+
if (FULL_SHA.test(base))
|
|
198
|
+
return { ...none, sha: await at(base) };
|
|
199
|
+
// A detached main checkout with no configured base: `RepoInfo.branch` is the literal `HEAD`, which
|
|
200
|
+
// names no branch. The base is then the checkout's commit, and a delete verifies HEAD still holds
|
|
201
|
+
// it (`--no-deref`: a HEAD switched back onto a branch is symbolic again, and refuses).
|
|
202
|
+
if (base === 'HEAD') {
|
|
203
|
+
const sha = (await git(root, ['symbolic-ref', '-q', 'HEAD'])).ok ? null : await at('HEAD');
|
|
204
|
+
return { ...none, ref: 'HEAD', fullRef: sha ? 'HEAD' : null, sha };
|
|
205
|
+
}
|
|
206
|
+
if (!isSafeGitRef(base))
|
|
207
|
+
return none;
|
|
208
|
+
const name = base.startsWith('origin/') ? base.slice('origin/'.length) : base;
|
|
209
|
+
// A symbolic base is an alias for some other branch — possibly one about to be deleted — and a
|
|
210
|
+
// `--no-deref` verify of the alias protects nothing it points at. It resolves to nothing, so
|
|
211
|
+
// every branch reads "not on base": the safe direction.
|
|
212
|
+
const direct = async (ref) => ((await git(root, ['symbolic-ref', '-q', ref])).ok ? null : at(ref));
|
|
213
|
+
const local = base.startsWith('origin/') ? null : await direct(`refs/heads/${name}`);
|
|
214
|
+
const remote = await direct(`refs/remotes/origin/${name}`);
|
|
215
|
+
// Exits 0 iff local is equal to or ahead of origin — local then carries unpushed base commits.
|
|
216
|
+
if (local && (!remote || (await git(root, ['merge-base', '--is-ancestor', remote, local])).ok)) {
|
|
217
|
+
return { ref: name, fullRef: `refs/heads/${name}`, sha: local, prBase: name };
|
|
218
|
+
}
|
|
219
|
+
if (remote)
|
|
220
|
+
return { ref: `origin/${name}`, fullRef: `refs/remotes/origin/${name}`, sha: remote, prBase: name };
|
|
221
|
+
if (base === 'origin' || base === 'origin/HEAD')
|
|
222
|
+
return remoteDefault(root, base, at);
|
|
223
|
+
return none;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* `origin` (or `origin/HEAD`) as a base: what git itself reads it as when a worktree forks from it
|
|
227
|
+
* (`resolveBaseRef`), the branch `refs/remotes/origin/HEAD` points at. The alias is read once and
|
|
228
|
+
* its TARGET is the base, so a delete verifies the concrete ref, never the alias. A ref git would
|
|
229
|
+
* pick before the alias (`refs/origin`, a tag `origin`) makes the name ambiguous: no base, so
|
|
230
|
+
* nothing reads as merged (hearsay-tools/cezarion#2268).
|
|
231
|
+
*/
|
|
232
|
+
async function remoteDefault(root, base, at) {
|
|
233
|
+
const none = { ref: base, fullRef: null, sha: null, prBase: null };
|
|
234
|
+
if (base === 'origin' && ((await at('refs/origin')) || (await at('refs/tags/origin'))))
|
|
235
|
+
return none;
|
|
236
|
+
const alias = await git(root, ['symbolic-ref', '-q', 'refs/remotes/origin/HEAD']);
|
|
237
|
+
const target = alias.ok ? alias.stdout.trim() : '';
|
|
238
|
+
const name = target.startsWith('refs/remotes/origin/') ? target.slice('refs/remotes/origin/'.length) : '';
|
|
239
|
+
if (!name || name === 'HEAD' || !isSafeGitRef(name))
|
|
240
|
+
return none;
|
|
241
|
+
if ((await git(root, ['symbolic-ref', '-q', target])).ok)
|
|
242
|
+
return none;
|
|
243
|
+
const sha = await at(target);
|
|
244
|
+
return sha ? { ref: `origin/${name}`, fullRef: target, sha, prBase: name } : none;
|
|
245
|
+
}
|
|
246
|
+
/** A local or remote-tracking ref OUTSIDE `excluded` (full ref names) that also reaches `sha`, with
|
|
247
|
+
* its own tip — the witness a delete verifies in its transaction — or null when none does. */
|
|
248
|
+
async function retainingRef(run, sha, excluded) {
|
|
249
|
+
const res = await run(['for-each-ref', '--contains', sha, '--format=%(refname)%00%(objectname)%00%(symref)', 'refs/heads', 'refs/remotes']);
|
|
250
|
+
if (!res.ok)
|
|
251
|
+
return null;
|
|
252
|
+
for (const line of res.stdout.split('\n')) {
|
|
253
|
+
const [ref, tip, symref] = line.split('\0');
|
|
254
|
+
// Never an alias (origin/HEAD, a symbolic branch): it may point at the very branch being
|
|
255
|
+
// deleted, and a `--no-deref` verify of its name protects nothing it points at.
|
|
256
|
+
if (ref && tip && !symref && !excluded.has(ref))
|
|
257
|
+
return { ref, sha: tip };
|
|
258
|
+
}
|
|
259
|
+
return null;
|
|
260
|
+
}
|
|
261
|
+
/** The PR a row SHOWS: one at the branch's current tip first, then an open one, then the newest.
|
|
262
|
+
* A reused branch keeps its old merged PR in the list; showing that over the open PR carrying the
|
|
263
|
+
* current work would file the row under "No pull request" and offer a duplicate. Display only —
|
|
264
|
+
* the `merged` verdict reads every PR on its own terms. */
|
|
265
|
+
function pickPr(prs, tip) {
|
|
266
|
+
const rank = (pr) => (pr.headRefOid === tip ? 4 : 0) + (pr.state === 'open' || pr.state === 'draft' ? 2 : pr.state === 'merged' ? 1 : 0);
|
|
267
|
+
return [...prs].sort((a, b) => rank(b) - rank(a) || b.number - a.number)[0] ?? null;
|
|
268
|
+
}
|
|
269
|
+
/** Three-dot diff stats by repository, attribute state, base sha and tip sha. The diff pins the
|
|
270
|
+
* options a checkout's config can change for a commit-to-commit stat (rename detection and its
|
|
271
|
+
* limit, at git's default of 1000, the algorithm, external and textconv drivers). The attribute
|
|
272
|
+
* files git reads (`info/attributes`, the root `.gitattributes`, the global attributes file) are
|
|
273
|
+
* part of the key, and an entry expires after `DIFF_STAT_TTL_MS`, which bounds what no key part
|
|
274
|
+
* sees, such as a nested `.gitattributes`. Bounded, oldest first out. */
|
|
275
|
+
const DIFF_STAT_CACHE_MAX = 5_000;
|
|
276
|
+
const DIFF_STAT_TTL_MS = 5 * 60_000;
|
|
277
|
+
const diffStatCache = new Map();
|
|
278
|
+
const DIFF_STAT_ARGS = ['diff', '--shortstat', '--find-renames', '-l1000', '--diff-algorithm=myers', '--no-ext-diff', '--no-textconv'];
|
|
279
|
+
/** A hash of the attribute files that decide how a path diffs in this checkout. */
|
|
280
|
+
async function attributeState(root) {
|
|
281
|
+
const [local, global] = await Promise.all([
|
|
282
|
+
git(root, ['rev-parse', '--git-path', 'info/attributes']),
|
|
283
|
+
git(root, ['config', '--path', '--get', 'core.attributesFile']),
|
|
284
|
+
]);
|
|
285
|
+
const files = [
|
|
286
|
+
local.ok ? resolvePath(root, local.stdout.trim()) : '',
|
|
287
|
+
joinPath(root, '.gitattributes'),
|
|
288
|
+
global.ok ? global.stdout.trim() : joinPath(process.env.XDG_CONFIG_HOME || joinPath(homedir(), '.config'), 'git', 'attributes'),
|
|
289
|
+
];
|
|
290
|
+
const contents = await Promise.all(files.map((file) => readFile(file, 'utf8').catch(() => '')));
|
|
291
|
+
return createHash('sha256').update(JSON.stringify(contents)).digest('hex');
|
|
292
|
+
}
|
|
293
|
+
/** The diff stat of `<baseSha>...<tip>` in `root`. The attribute state is read once per reader,
|
|
294
|
+
* that is once per scan, and only when a stat is asked for. */
|
|
295
|
+
function diffStatReader(root, baseSha) {
|
|
296
|
+
let state;
|
|
297
|
+
return async (tip) => {
|
|
298
|
+
if (!baseSha)
|
|
299
|
+
return null;
|
|
300
|
+
state ??= attributeState(root);
|
|
301
|
+
const key = `${root}\0${await state}\0${baseSha}\0${tip}`;
|
|
302
|
+
const hit = diffStatCache.get(key);
|
|
303
|
+
if (hit && Date.now() - hit.at < DIFF_STAT_TTL_MS)
|
|
304
|
+
return hit.value;
|
|
305
|
+
const res = await git(root, [...DIFF_STAT_ARGS, `${baseSha}...${tip}`]);
|
|
306
|
+
if (!res.ok)
|
|
307
|
+
return null;
|
|
308
|
+
const stat = parseShortstat(res.stdout);
|
|
309
|
+
const value = { additions: stat.adds, deletions: stat.dels };
|
|
310
|
+
diffStatCache.delete(key);
|
|
311
|
+
diffStatCache.set(key, { at: Date.now(), value });
|
|
312
|
+
if (diffStatCache.size > DIFF_STAT_CACHE_MAX)
|
|
313
|
+
diffStatCache.delete(diffStatCache.keys().next().value);
|
|
314
|
+
return value;
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
const settled = (state) => state === 'merged' || state === 'closed';
|
|
318
|
+
async function recordedPrs(input, taskRows) {
|
|
319
|
+
const created = new Map();
|
|
320
|
+
const needList = [];
|
|
321
|
+
for (const d of taskRows) {
|
|
322
|
+
const url = d.run?.pullRequestUrl;
|
|
323
|
+
const n = url ? refNumberFromUrl(url) : null;
|
|
324
|
+
if (url && n !== null)
|
|
325
|
+
created.set(n, { url, branch: d.head.name });
|
|
326
|
+
else
|
|
327
|
+
needList.push(d);
|
|
328
|
+
}
|
|
329
|
+
const states = created.size > 0
|
|
330
|
+
? await input.forge.prStates(input.root, [...created.keys()])
|
|
331
|
+
: { available: true, states: {} };
|
|
332
|
+
const prByBranch = new Map();
|
|
333
|
+
for (const [n, { url, branch }] of created) {
|
|
334
|
+
const state = states.states[n];
|
|
335
|
+
if (state)
|
|
336
|
+
prByBranch.set(branch, { number: n, url, state });
|
|
337
|
+
}
|
|
338
|
+
return { created, needList, prByBranch, available: states.available };
|
|
339
|
+
}
|
|
340
|
+
function selectDisplayedPrs(rows, byHead, prByBranch) {
|
|
341
|
+
for (const d of rows) {
|
|
342
|
+
const pr = pickPr(byHead.get(d.head.name) ?? [], d.head.sha);
|
|
343
|
+
const recorded = prByBranch.get(d.head.name);
|
|
344
|
+
// A recorded PR is replaced only by one that is open, or that sits at the current tip.
|
|
345
|
+
if (!pr || (recorded && pr.number !== recorded.number && pr.headRefOid !== d.head.sha && settled(pr.state)))
|
|
346
|
+
continue;
|
|
347
|
+
prByBranch.set(d.head.name, { number: pr.number, url: pr.url, state: pr.state });
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
/** Each branch's merged PRs that prove its tip landed: the PR targets `prBase`, merged this exact
|
|
351
|
+
* tip, and its merge commit is on the base as read. */
|
|
352
|
+
async function mergedPrBranches(root, prBase, baseSha, rows, byHead) {
|
|
353
|
+
const merged = new Map();
|
|
354
|
+
const onBase = async (sha) => !!sha && !!baseSha && FULL_SHA.test(sha) && (await git(root, ['merge-base', '--is-ancestor', sha, baseSha])).ok;
|
|
355
|
+
for (const d of rows) {
|
|
356
|
+
for (const pr of byHead.get(d.head.name) ?? []) {
|
|
357
|
+
if (pr.state !== 'merged' || pr.baseRefName !== prBase || pr.headRefOid !== d.head.sha)
|
|
358
|
+
continue;
|
|
359
|
+
if (await onBase(pr.mergeCommitOid))
|
|
360
|
+
merged.set(d.head.name, [...(merged.get(d.head.name) ?? []), pr]);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
return merged;
|
|
364
|
+
}
|
|
365
|
+
/** PR state for the rows ancestry left open (`pending`) and for the non-task branches that may be
|
|
366
|
+
* a run's PR branch (`named`). Every head is asked on its own, so evidence never falls off the end
|
|
367
|
+
* of a list; `incomplete` names each head GitHub did not answer in full. */
|
|
368
|
+
async function branchPrState(input, drafts, pending, named, prBase, baseSha) {
|
|
369
|
+
const empty = { prByBranch: new Map(), mergedByPr: new Map(), incomplete: new Set() };
|
|
370
|
+
if (pending.length === 0 && named.length === 0)
|
|
371
|
+
return { ...empty, prStateKnown: true };
|
|
372
|
+
if (!input.hasRemote)
|
|
373
|
+
return { ...empty, prStateKnown: false };
|
|
374
|
+
const taskRows = drafts.filter((d) => d.head.name.startsWith(TASK_PREFIX));
|
|
375
|
+
const { created, needList, prByBranch, available } = await recordedPrs(input, taskRows);
|
|
376
|
+
// Settled recorded PRs need the lookup for both the merge verdict and replacement display.
|
|
377
|
+
const recordedSettled = pending.filter((d) => created.size > 0 && settled(prByBranch.get(d.head.name)?.state));
|
|
378
|
+
const asked = [...needList, ...recordedSettled, ...named].map((d) => d.head.name);
|
|
379
|
+
const list = asked.length > 0
|
|
380
|
+
? await input.forge.prsForHeads(input.root, asked)
|
|
381
|
+
: { available: true, prs: [], incomplete: new Set() };
|
|
382
|
+
const byHead = new Map();
|
|
383
|
+
for (const pr of list.prs)
|
|
384
|
+
byHead.set(pr.headRefName, [...(byHead.get(pr.headRefName) ?? []), pr]);
|
|
385
|
+
selectDisplayedPrs([...needList, ...recordedSettled], byHead, prByBranch);
|
|
386
|
+
const mergedByPr = await mergedPrBranches(input.root, prBase, baseSha, [...pending, ...named], byHead);
|
|
387
|
+
return { prByBranch, mergedByPr, incomplete: list.incomplete, prStateKnown: available && list.available };
|
|
388
|
+
}
|
|
389
|
+
/** The same PR, whatever case or trailing slash its URL was recorded with. */
|
|
390
|
+
const prKey = (url) => url.trim().replace(/\/+$/, '').toLowerCase();
|
|
391
|
+
/** What a kept row says when GitHub did not return its PR history in full. */
|
|
392
|
+
export const INCOMPLETE_PR_LOOKUP = "Kept: GitHub did not return this branch's full pull request history";
|
|
393
|
+
export async function classifyBranches(input, options) {
|
|
394
|
+
const { root } = input;
|
|
395
|
+
const base = input.configuredBase ?? input.currentBranch;
|
|
396
|
+
const { ref: baseRef, fullRef: baseFullRef, sha: baseSha, prBase } = await resolveBase(root, base);
|
|
397
|
+
const [heads, checkedOut, protection] = await Promise.all([
|
|
398
|
+
localHeads(root),
|
|
399
|
+
checkedOutBranches(root),
|
|
400
|
+
ownedCleanupProtection(root),
|
|
401
|
+
]);
|
|
402
|
+
const ahead = await aheadCounts(root, heads, baseSha);
|
|
403
|
+
const runsByBranch = new Map();
|
|
404
|
+
for (const run of input.runs) {
|
|
405
|
+
const branch = runBranch(run);
|
|
406
|
+
if (!branch)
|
|
407
|
+
continue;
|
|
408
|
+
runsByBranch.set(branch, [...(runsByBranch.get(branch) ?? []), run]);
|
|
409
|
+
}
|
|
410
|
+
const liveRun = (run) => input.isActive(run.id) || !isFinished(run);
|
|
411
|
+
const representative = (runs) => runs?.find(liveRun) ?? runs?.slice().sort((a, b) => (a.createdAt < b.createdAt ? 1 : -1))[0];
|
|
412
|
+
const drafts = heads.map((head) => {
|
|
413
|
+
const runs = runsByBranch.get(head.name);
|
|
414
|
+
const run = representative(runs);
|
|
415
|
+
const task = head.name.startsWith(TASK_PREFIX);
|
|
416
|
+
const count = ahead.get(head.name) ?? Number.POSITIVE_INFINITY;
|
|
417
|
+
const inUse = head.name === input.currentBranch ||
|
|
418
|
+
head.name === base ||
|
|
419
|
+
checkedOut.has(head.name) ||
|
|
420
|
+
protection.branches.has(head.name) ||
|
|
421
|
+
(task && protection.uncertain) ||
|
|
422
|
+
(runs?.some(liveRun) ?? false);
|
|
423
|
+
// A symbolic alias is never a task branch, whatever its name says: deleting it by name would
|
|
424
|
+
// follow it to the branch it points at, which was classified (and protected) on its own.
|
|
425
|
+
const cls = inUse ? 'active' : task && !head.symbolic ? null : 'other';
|
|
426
|
+
return { head, ...(run ? { run } : {}), cls, ahead: count };
|
|
427
|
+
});
|
|
428
|
+
// Empty before merged: a run whose branch still sits on its fork point never committed.
|
|
429
|
+
const emptyCandidates = drafts.filter((d) => d.cls === null && d.run);
|
|
430
|
+
const forks = await forkPoints(root, emptyCandidates.map((d) => ({ run: d.run, branch: d.head.name })));
|
|
431
|
+
await Promise.all(emptyCandidates
|
|
432
|
+
.map(async (d) => {
|
|
433
|
+
if (forks.get(d.head.name) !== d.head.sha)
|
|
434
|
+
return;
|
|
435
|
+
if (d.ahead === 0 || (await retainingRef((args) => git(root, args), d.head.sha, new Set([`refs/heads/${d.head.name}`]))) !== null)
|
|
436
|
+
d.cls = 'empty';
|
|
437
|
+
}));
|
|
438
|
+
for (const d of drafts)
|
|
439
|
+
if (d.cls === null && d.ahead === 0)
|
|
440
|
+
d.cls = 'merged';
|
|
441
|
+
// PR state only decides the rows ancestry left open, and the non-task branches a run's PR may
|
|
442
|
+
// have used (hearsay-tools/cezarion#2268); everything else is display.
|
|
443
|
+
const pending = drafts.filter((d) => d.cls === null);
|
|
444
|
+
const byPrUrl = new Map();
|
|
445
|
+
for (const run of input.runs)
|
|
446
|
+
if (run.pullRequestUrl)
|
|
447
|
+
byPrUrl.set(prKey(run.pullRequestUrl), run);
|
|
448
|
+
const named = byPrUrl.size > 0 ? drafts.filter((d) => d.cls === 'other' && !d.head.symbolic) : [];
|
|
449
|
+
const { prByBranch, mergedByPr, incomplete, prStateKnown } = await branchPrState(input, drafts, pending, named, prBase, baseSha);
|
|
450
|
+
for (const d of pending) {
|
|
451
|
+
if (mergedByPr.has(d.head.name))
|
|
452
|
+
d.cls = 'merged';
|
|
453
|
+
else
|
|
454
|
+
d.cls = d.run ? 'not-landed' : 'orphan';
|
|
455
|
+
}
|
|
456
|
+
// A named branch is cleanable only as the exact merged PR a finished run recorded. Any other
|
|
457
|
+
// branch stays the user's, however merged it looks.
|
|
458
|
+
for (const d of named) {
|
|
459
|
+
const pr = mergedByPr.get(d.head.name)?.find((candidate) => byPrUrl.has(prKey(candidate.url)));
|
|
460
|
+
const run = pr ? byPrUrl.get(prKey(pr.url)) : undefined;
|
|
461
|
+
if (!pr || !run || liveRun(run))
|
|
462
|
+
continue;
|
|
463
|
+
d.cls = 'merged';
|
|
464
|
+
d.run = run;
|
|
465
|
+
prByBranch.set(d.head.name, { number: pr.number, url: pr.url, state: pr.state });
|
|
466
|
+
}
|
|
467
|
+
const statOf = diffStatReader(root, baseSha);
|
|
468
|
+
const branches = await Promise.all(drafts.map(async (d) => {
|
|
469
|
+
const cls = d.cls;
|
|
470
|
+
const stat = options?.diffStats !== false && (cls === 'not-landed' || cls === 'orphan')
|
|
471
|
+
? await statOf(d.head.sha)
|
|
472
|
+
: null;
|
|
473
|
+
return {
|
|
474
|
+
name: d.head.name,
|
|
475
|
+
class: cls,
|
|
476
|
+
runId: d.run?.id ?? null,
|
|
477
|
+
title: d.run ? d.run.title ?? d.run.id : null,
|
|
478
|
+
runStatus: d.run?.status ?? null,
|
|
479
|
+
ahead: Number.isFinite(d.ahead) ? d.ahead : 0,
|
|
480
|
+
lastCommit: { sha: d.head.sha, subject: d.head.subject, at: d.head.at },
|
|
481
|
+
diffStat: stat,
|
|
482
|
+
pr: prByBranch.get(d.head.name) ?? null,
|
|
483
|
+
...(incomplete.has(d.head.name) && cls !== 'merged' && cls !== 'empty' ? { keptReason: INCOMPLETE_PR_LOOKUP } : {}),
|
|
484
|
+
};
|
|
485
|
+
}));
|
|
486
|
+
branches.sort((a, b) => (a.lastCommit.at < b.lastCommit.at ? 1 : a.lastCommit.at > b.lastCommit.at ? -1 : a.name.localeCompare(b.name)));
|
|
487
|
+
const count = (...classes) => branches.filter((b) => classes.includes(b.class)).length;
|
|
488
|
+
return {
|
|
489
|
+
payload: {
|
|
490
|
+
base: baseRef,
|
|
491
|
+
prStateKnown,
|
|
492
|
+
branches,
|
|
493
|
+
counts: { notLanded: count('not-landed', 'orphan'), cleanup: count('merged', 'empty') },
|
|
494
|
+
},
|
|
495
|
+
baseSha,
|
|
496
|
+
baseFullRef,
|
|
497
|
+
tips: new Map(heads.map((h) => [h.name, h.sha])),
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
// ---- the cache -----------------------------------------------------------------------------
|
|
501
|
+
/** PR state can change with no local ref moving (a merge on GitHub), so the cache also ages out
|
|
502
|
+
* on the forge's own cadence. */
|
|
503
|
+
const BRANCHES_TTL_MS = 60_000;
|
|
504
|
+
/** The latest scan per repository. `full` carries diff stats; a `counts` scan does not, so it
|
|
505
|
+
* answers only the counts route. */
|
|
506
|
+
const branchesCache = new Map();
|
|
507
|
+
/** Per repository: the end of the scan queue, so one scan runs at a time. */
|
|
508
|
+
const scanTail = new Map();
|
|
509
|
+
/** Scans running or queued, by repository, kind and state key: an equal request joins one. */
|
|
510
|
+
const scansInFlight = new Map();
|
|
511
|
+
/** What the answer depends on, hashed: every local and remote-tracking ref, the registered
|
|
512
|
+
* worktrees, the configured base, and the run fields the classes read. */
|
|
513
|
+
async function stateKey(input) {
|
|
514
|
+
const [refs, worktrees] = await Promise.all([
|
|
515
|
+
git(input.root, ['for-each-ref', '--format=%(objectname) %(refname)', 'refs/heads', 'refs/remotes']),
|
|
516
|
+
git(input.root, ['worktree', 'list', '--porcelain']),
|
|
517
|
+
]);
|
|
518
|
+
const runs = input.runs.map((r) => [
|
|
519
|
+
r.id, r.status, r.archived, r.branch, r.baseBranch, r.pullRequestUrl, r.title, input.isActive(r.id),
|
|
520
|
+
]);
|
|
521
|
+
return createHash('sha256')
|
|
522
|
+
.update(JSON.stringify([refs.stdout, worktrees.stdout, input.configuredBase, input.currentBranch, input.hasRemote, runs]))
|
|
523
|
+
.digest('hex');
|
|
524
|
+
}
|
|
525
|
+
function cachedScan(root, key, full) {
|
|
526
|
+
const hit = branchesCache.get(root);
|
|
527
|
+
return hit && hit.key === key && (hit.full || !full) && Date.now() - hit.at < BRANCHES_TTL_MS ? hit.value : null;
|
|
528
|
+
}
|
|
529
|
+
/**
|
|
530
|
+
* The classification for `key`, from the cache, from an equal scan already running or queued, or
|
|
531
|
+
* from a new scan queued behind the repository's current one. A burst of requests thus runs at
|
|
532
|
+
* most one scan at a time per repository, and equal requests share it (hearsay-tools/cezarion#2029).
|
|
533
|
+
*/
|
|
534
|
+
async function scan(input, full) {
|
|
535
|
+
const { root } = input;
|
|
536
|
+
const key = await stateKey(input);
|
|
537
|
+
const cached = cachedScan(root, key, full);
|
|
538
|
+
if (cached)
|
|
539
|
+
return cached;
|
|
540
|
+
const id = (kind) => `${root}\0${kind}\0${key}`;
|
|
541
|
+
const joined = scansInFlight.get(id('full')) ?? (full ? undefined : scansInFlight.get(id('counts')));
|
|
542
|
+
if (joined)
|
|
543
|
+
return joined;
|
|
544
|
+
const run = (scanTail.get(root) ?? Promise.resolve()).then(async () => {
|
|
545
|
+
// The scan ahead of this one may have answered it.
|
|
546
|
+
const ready = cachedScan(root, key, full);
|
|
547
|
+
if (ready)
|
|
548
|
+
return ready;
|
|
549
|
+
const { payload } = await classifyBranches(input, { diffStats: full });
|
|
550
|
+
// A counts scan never replaces a full answer for the same state.
|
|
551
|
+
if (full || !cachedScan(root, key, true))
|
|
552
|
+
branchesCache.set(root, { key, at: Date.now(), full, value: payload });
|
|
553
|
+
return payload;
|
|
554
|
+
});
|
|
555
|
+
const tail = run.catch(() => undefined);
|
|
556
|
+
scanTail.set(root, tail);
|
|
557
|
+
scansInFlight.set(id(full ? 'full' : 'counts'), run);
|
|
558
|
+
void tail.then(() => {
|
|
559
|
+
scansInFlight.delete(id(full ? 'full' : 'counts'));
|
|
560
|
+
if (scanTail.get(root) === tail)
|
|
561
|
+
scanTail.delete(root);
|
|
562
|
+
});
|
|
563
|
+
return run;
|
|
564
|
+
}
|
|
565
|
+
/** `GET /repo/branches`: the classification, cached on the refs state. */
|
|
566
|
+
export function readRepoBranches(input) {
|
|
567
|
+
return scan(input, true);
|
|
568
|
+
}
|
|
569
|
+
/** `GET /repo/branches/counts`: the classification's counts, with no diff stat per branch, and
|
|
570
|
+
* the All branches count — `GET /repo`'s names plus every local branch, as the list joins them. */
|
|
571
|
+
export async function readRepoBranchCounts(input) {
|
|
572
|
+
const [{ base, prStateKnown, counts, branches }, switchable] = await Promise.all([scan(input, false), getBranches(input.root)]);
|
|
573
|
+
const names = new Set([...switchable, ...branches.map((entry) => entry.name)]);
|
|
574
|
+
return { base, prStateKnown, counts, allBranches: names.size };
|
|
575
|
+
}
|
|
576
|
+
/** Drop the cached classification — after any mutation this server makes. */
|
|
577
|
+
export function forgetRepoBranches(root) {
|
|
578
|
+
branchesCache.delete(root);
|
|
579
|
+
for (const key of diffStatCache.keys())
|
|
580
|
+
if (key.startsWith(`${root}\0`))
|
|
581
|
+
diffStatCache.delete(key);
|
|
582
|
+
}
|
|
583
|
+
const DROPPED_CAP = 100;
|
|
584
|
+
function deletionVerdicts(names, payload, tips, confirm) {
|
|
585
|
+
const byName = new Map(payload.branches.map((b) => [b.name, b]));
|
|
586
|
+
const alone = names.length === 1;
|
|
587
|
+
const refused = [];
|
|
588
|
+
const candidates = [];
|
|
589
|
+
for (const name of names) {
|
|
590
|
+
const entry = byName.get(name);
|
|
591
|
+
const tip = tips.get(name);
|
|
592
|
+
if (!entry || !tip) {
|
|
593
|
+
refused.push({ name, reason: 'no such local branch' });
|
|
594
|
+
continue;
|
|
595
|
+
}
|
|
596
|
+
switch (entry.class) {
|
|
597
|
+
case 'active':
|
|
598
|
+
refused.push({ name, reason: 'in use — a live or reviewable task, a checkout, or the base branch' });
|
|
599
|
+
break;
|
|
600
|
+
case 'other':
|
|
601
|
+
refused.push({ name, reason: `not a ${productName('cezar')} task branch` });
|
|
602
|
+
break;
|
|
603
|
+
case 'not-landed':
|
|
604
|
+
case 'orphan':
|
|
605
|
+
if (!alone)
|
|
606
|
+
refused.push({ name, reason: `has ${entry.ahead} commit(s) not on ${payload.base} — delete it on its own, with confirmation` });
|
|
607
|
+
else if (confirm !== name)
|
|
608
|
+
refused.push({ name, reason: 'type the branch name to confirm deleting work that is not on the base' });
|
|
609
|
+
else
|
|
610
|
+
candidates.push({ name, tip, drops: true });
|
|
611
|
+
break;
|
|
612
|
+
case 'merged':
|
|
613
|
+
candidates.push({ name, tip, drops: false, runId: entry.runId });
|
|
614
|
+
break;
|
|
615
|
+
case 'empty':
|
|
616
|
+
// Ahead of the base yet empty: another ref holds its commits, which must outlive this delete.
|
|
617
|
+
candidates.push({ name, tip, drops: false, ...(entry.ahead > 0 ? { keptElsewhere: true } : {}) });
|
|
618
|
+
break;
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
return { candidates, refused };
|
|
622
|
+
}
|
|
623
|
+
function claimDeletionRuns(input, candidates, refused) {
|
|
624
|
+
// Claimed before the lock and held through the ref transaction, so no Continue is admitted
|
|
625
|
+
// between the verdict and the delete.
|
|
626
|
+
const releases = [];
|
|
627
|
+
// A run's PR branch and its starter share the run: it is claimed once, for both.
|
|
628
|
+
const held = new Set();
|
|
629
|
+
for (const candidate of [...candidates]) {
|
|
630
|
+
if (!input.claimRuns)
|
|
631
|
+
break;
|
|
632
|
+
// A run's PR branch outside `cez/*` is owned through its PR, not its `branch`.
|
|
633
|
+
const all = [...new Set([
|
|
634
|
+
...input.runs.filter((run) => runBranch(run) === candidate.name).map((run) => run.id),
|
|
635
|
+
...(candidate.runId ? [candidate.runId] : []),
|
|
636
|
+
])];
|
|
637
|
+
const owners = all.filter((id) => !held.has(id));
|
|
638
|
+
const release = all.length > 0 && owners.length === 0 ? () => undefined : input.claimRuns(owners);
|
|
639
|
+
if (release) {
|
|
640
|
+
for (const id of owners)
|
|
641
|
+
held.add(id);
|
|
642
|
+
releases.push(release);
|
|
643
|
+
continue;
|
|
644
|
+
}
|
|
645
|
+
candidates.splice(candidates.indexOf(candidate), 1);
|
|
646
|
+
refused.push({ name: candidate.name, reason: 'its task is running or being continued — try again once it settles' });
|
|
647
|
+
}
|
|
648
|
+
return releases;
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Delete from fresh classification under mutation and cleanup claims. Verify base and tip
|
|
652
|
+
* atomically; recheck checkout/receipt protection. Retention refs must be outside this request.
|
|
653
|
+
* Unlanded work requires a single exact-name confirmation. Never throw.
|
|
654
|
+
*/
|
|
655
|
+
export async function deleteBranches(input, requested, confirm) {
|
|
656
|
+
const names = [...new Set(requested)];
|
|
657
|
+
const { payload, tips, baseSha, baseFullRef } = await classifyBranches(input, { diffStats: false });
|
|
658
|
+
const { candidates, refused } = deletionVerdicts(names, payload, tips, confirm);
|
|
659
|
+
const deleted = [];
|
|
660
|
+
let dropped;
|
|
661
|
+
const releases = claimDeletionRuns(input, candidates, refused);
|
|
662
|
+
if (candidates.length > 0) {
|
|
663
|
+
try {
|
|
664
|
+
await withWorktreeMutation(input.root, async (lockedGit) => {
|
|
665
|
+
const protection = await ownedCleanupProtection(input.root);
|
|
666
|
+
const checkedOut = await checkedOutBranches(input.root);
|
|
667
|
+
const requestedRefs = new Set(candidates.map((c) => `refs/heads/${c.name}`));
|
|
668
|
+
for (const candidate of candidates) {
|
|
669
|
+
const { name } = candidate;
|
|
670
|
+
if (protection.uncertain || protection.branches.has(name)) {
|
|
671
|
+
refused.push({ name, reason: 'owned by a delegated workspace' });
|
|
672
|
+
continue;
|
|
673
|
+
}
|
|
674
|
+
if (checkedOut.has(name)) {
|
|
675
|
+
refused.push({ name, reason: 'checked out in a worktree' });
|
|
676
|
+
continue;
|
|
677
|
+
}
|
|
678
|
+
const witness = candidate.keptElsewhere ? await retainingRef((args) => lockedGit(input.root, args), candidate.tip, requestedRefs) : null;
|
|
679
|
+
if (candidate.keptElsewhere && !witness) {
|
|
680
|
+
refused.push({ name, reason: `its commits are not on ${payload.base} and only branches in this request keep them — delete it on its own, with confirmation` });
|
|
681
|
+
continue;
|
|
682
|
+
}
|
|
683
|
+
let commits;
|
|
684
|
+
if (candidate.drops) {
|
|
685
|
+
const log = await lockedGit(input.root, [
|
|
686
|
+
'log', `-${DROPPED_CAP}`, '--format=%H%x1f%s', baseSha ? `${baseSha}..${candidate.tip}` : candidate.tip,
|
|
687
|
+
]);
|
|
688
|
+
commits = log.stdout.split('\n').filter(Boolean).map((line) => {
|
|
689
|
+
const [sha = '', subject = ''] = line.split('\x1f');
|
|
690
|
+
return { sha, subject };
|
|
691
|
+
});
|
|
692
|
+
}
|
|
693
|
+
// Not `git branch -D`: a squash-merged branch is not an ancestor of the base, and only a
|
|
694
|
+
// ref transaction can make "the base did not move" — and, for an empty branch, "the ref
|
|
695
|
+
// that keeps its commits did not move" — part of the same atomic step.
|
|
696
|
+
const transaction = [
|
|
697
|
+
...(baseFullRef && baseSha ? [`verify ${baseFullRef} ${baseSha}`] : []),
|
|
698
|
+
...(witness ? [`verify ${witness.ref} ${witness.sha}`] : []),
|
|
699
|
+
`delete refs/heads/${name} ${candidate.tip}`,
|
|
700
|
+
].join('\n') + '\n';
|
|
701
|
+
// `--no-deref`, and a symbolic ref refused outright: the transaction may only ever remove the
|
|
702
|
+
// exact ref that was classified and named, never one an alias points at.
|
|
703
|
+
if ((await lockedGit(input.root, ['symbolic-ref', '-q', `refs/heads/${name}`])).ok) {
|
|
704
|
+
refused.push({ name, reason: `not a ${productName('cezar')} task branch` });
|
|
705
|
+
continue;
|
|
706
|
+
}
|
|
707
|
+
const res = await lockedGit(input.root, ['update-ref', '--no-deref', '--stdin'], undefined, transaction);
|
|
708
|
+
if (!res.ok) {
|
|
709
|
+
refused.push({ name, reason: `it, ${payload.base} or the branch that keeps its commits changed since it was classified — refresh and try again` });
|
|
710
|
+
continue;
|
|
711
|
+
}
|
|
712
|
+
// What `branch -D` also drops; absent for most task branches, so a failure is expected.
|
|
713
|
+
await lockedGit(input.root, ['config', '--remove-section', `branch.${name}`]);
|
|
714
|
+
deleted.push(name);
|
|
715
|
+
if (commits)
|
|
716
|
+
dropped = commits;
|
|
717
|
+
}
|
|
718
|
+
});
|
|
719
|
+
}
|
|
720
|
+
catch {
|
|
721
|
+
const done = new Set([...deleted, ...refused.map((r) => r.name)]);
|
|
722
|
+
for (const { name } of candidates) {
|
|
723
|
+
if (!done.has(name))
|
|
724
|
+
refused.push({ name, reason: 'the repository is busy — try again' });
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
forgetRepoBranches(input.root);
|
|
728
|
+
}
|
|
729
|
+
for (const release of releases)
|
|
730
|
+
release();
|
|
731
|
+
return { deleted, refused, ...(dropped ? { dropped } : {}) };
|
|
732
|
+
}
|
|
733
|
+
const MERGE_PR = /^Merge pull request #(\d+) from [^/\s]+\/(\S+)/;
|
|
734
|
+
const MERGE_BRANCH = /^Merge (?:remote-tracking )?branch '([^']+)'/;
|
|
735
|
+
const SQUASH_PR = /\(#(\d+)\)\s*$/;
|
|
736
|
+
/**
|
|
737
|
+
* Best-effort task attribution for base-branch commits (issue 08 §B5). A merge commit maps its
|
|
738
|
+
* second parent to a run by `branch` (through any ref still pointing at it, else the branch its
|
|
739
|
+
* subject names); a squash commit maps its trailing `(#123)` to a run by `pullRequestUrl`.
|
|
740
|
+
* Commits nothing maps stay unattributed — `null` in the returned list, never a guess.
|
|
741
|
+
*/
|
|
742
|
+
export async function attributeLog(root, entries, runs) {
|
|
743
|
+
if (runs.length === 0)
|
|
744
|
+
return entries.map(() => null);
|
|
745
|
+
const byBranch = new Map();
|
|
746
|
+
const byPr = new Map();
|
|
747
|
+
for (const run of runs) {
|
|
748
|
+
const branch = runBranch(run);
|
|
749
|
+
if (branch)
|
|
750
|
+
byBranch.set(branch, run);
|
|
751
|
+
const n = run.pullRequestUrl ? refNumberFromUrl(run.pullRequestUrl) : null;
|
|
752
|
+
if (n !== null)
|
|
753
|
+
byPr.set(n, run);
|
|
754
|
+
}
|
|
755
|
+
// One scan, shared by every entry: the entries are attributed concurrently, so the cache holds
|
|
756
|
+
// the PROMISE — a map published before it was filled let later merge rows read it empty.
|
|
757
|
+
let tips;
|
|
758
|
+
const refsAt = async (sha) => {
|
|
759
|
+
tips ??= git(root, ['for-each-ref', '--format=%(objectname) %(refname:lstrip=2)', 'refs/heads', 'refs/remotes']).then((res) => {
|
|
760
|
+
const map = new Map();
|
|
761
|
+
for (const line of res.stdout.split('\n')) {
|
|
762
|
+
const [objectname, ref = ''] = line.split(' ');
|
|
763
|
+
if (objectname && ref)
|
|
764
|
+
map.set(objectname, [...(map.get(objectname) ?? []), ref.replace(/^[^/]+\/(?=cez\/)/, '')]);
|
|
765
|
+
}
|
|
766
|
+
return map;
|
|
767
|
+
});
|
|
768
|
+
return (await tips).get(sha) ?? [];
|
|
769
|
+
};
|
|
770
|
+
const source = (run, prNumber) => ({
|
|
771
|
+
runId: run.id,
|
|
772
|
+
title: run.title ?? run.id,
|
|
773
|
+
prNumber: prNumber ?? (run.pullRequestUrl ? refNumberFromUrl(run.pullRequestUrl) : null),
|
|
774
|
+
});
|
|
775
|
+
return Promise.all(entries.map(async (entry) => {
|
|
776
|
+
const mergePr = MERGE_PR.exec(entry.subject);
|
|
777
|
+
const prNumber = mergePr ? Number(mergePr[1]) : null;
|
|
778
|
+
if (entry.parents.length >= 2) {
|
|
779
|
+
// What the merge itself recorded comes first — the PR a task opened, then the branch the
|
|
780
|
+
// subject names. A ref at the second parent is only a fallback: a later task branched at
|
|
781
|
+
// that tip points there too, without having produced any of the work.
|
|
782
|
+
if (prNumber !== null && byPr.has(prNumber))
|
|
783
|
+
return source(byPr.get(prNumber), prNumber);
|
|
784
|
+
const named = mergePr?.[2] ?? MERGE_BRANCH.exec(entry.subject)?.[1];
|
|
785
|
+
const run = named ? byBranch.get(named.replace(/^origin\//, '')) : undefined;
|
|
786
|
+
if (run)
|
|
787
|
+
return source(run, prNumber);
|
|
788
|
+
for (const ref of await refsAt(entry.parents[1])) {
|
|
789
|
+
const atTip = byBranch.get(ref);
|
|
790
|
+
if (atTip)
|
|
791
|
+
return source(atTip, prNumber);
|
|
792
|
+
}
|
|
793
|
+
return null;
|
|
794
|
+
}
|
|
795
|
+
const squash = SQUASH_PR.exec(entry.subject);
|
|
796
|
+
if (squash) {
|
|
797
|
+
const run = byPr.get(Number(squash[1]));
|
|
798
|
+
if (run)
|
|
799
|
+
return source(run, Number(squash[1]));
|
|
800
|
+
}
|
|
801
|
+
return null;
|
|
802
|
+
}));
|
|
803
|
+
}
|
|
804
|
+
//# sourceMappingURL=repo-branches.js.map
|