@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,847 @@
|
|
|
1
|
+
import { productName, logPrefix } from './home/display.js';
|
|
2
|
+
import { execFile } from 'node:child_process';
|
|
3
|
+
import { randomBytes } from 'node:crypto';
|
|
4
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
5
|
+
import { lstat, mkdir, readdir, readFile, realpath, rename, rm, rmdir, stat, unlink, utimes, writeFile } from 'node:fs/promises';
|
|
6
|
+
import { homedir } from 'node:os';
|
|
7
|
+
import { basename, dirname, join, resolve, sep } from 'node:path';
|
|
8
|
+
import { DEFAULT_SKILLS_REF, loadConfig, readSkillsReposSync } from './config.js';
|
|
9
|
+
import { parseFrontmatter } from './skills.js';
|
|
10
|
+
import { isSafeSkillsRef, SKILLS_REPO_FORMATS, skillsRepoKind } from './contract/index.js';
|
|
11
|
+
/**
|
|
12
|
+
* Global bare-clone skill cache, read through ls-tree/show. List and companion files use pinned
|
|
13
|
+
* commit identity. Owned worktrees or the file cache receive materialized files; never the main
|
|
14
|
+
* checkout. Network failure preserves local discovery.
|
|
15
|
+
*/
|
|
16
|
+
const LIST_TIMEOUT_MS = 10_000; // ls-tree / show / rev-parse
|
|
17
|
+
const CLONE_TIMEOUT_MS = 60_000; // clone / fetch
|
|
18
|
+
/**
|
|
19
|
+
* Restrict every remote-skill Git invocation to accepted transports. Disable ext/fd helpers and
|
|
20
|
+
* interactive prompts; permit documented direct local sources without enabling recursive file
|
|
21
|
+
* transport.
|
|
22
|
+
*/
|
|
23
|
+
const GIT_HARDENING_ARGS = [
|
|
24
|
+
'-c',
|
|
25
|
+
'protocol.ext.allow=never',
|
|
26
|
+
'-c',
|
|
27
|
+
'protocol.fd.allow=never',
|
|
28
|
+
'-c',
|
|
29
|
+
'protocol.file.allow=user',
|
|
30
|
+
];
|
|
31
|
+
const GIT_HARDENING_ENV = {
|
|
32
|
+
GIT_ALLOW_PROTOCOL: 'https:http:ssh:git:file',
|
|
33
|
+
GIT_TERMINAL_PROMPT: '0',
|
|
34
|
+
};
|
|
35
|
+
function git(args, timeoutMs, cwd) {
|
|
36
|
+
return new Promise((resolve) => {
|
|
37
|
+
execFile('git', [...GIT_HARDENING_ARGS, ...args], {
|
|
38
|
+
cwd,
|
|
39
|
+
timeout: timeoutMs,
|
|
40
|
+
killSignal: 'SIGKILL',
|
|
41
|
+
maxBuffer: 16 * 1024 * 1024,
|
|
42
|
+
encoding: 'utf8',
|
|
43
|
+
env: { ...process.env, ...GIT_HARDENING_ENV },
|
|
44
|
+
}, (err, stdout, stderr) => resolve({ ok: !err, stdout: stdout ?? '', stderr: stderr ?? '' }));
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Normalize accepted shorthand, web, SSH and local skill sources. Reject option-like values,
|
|
49
|
+
* remote-helper syntax and unsupported schemes before invoking Git; return null on refusal. The
|
|
50
|
+
* accepted shapes are `skillsRepoKind`'s, the rule the Skills page's Add form also checks.
|
|
51
|
+
*/
|
|
52
|
+
export function safeRemoteFor(repo) {
|
|
53
|
+
const value = repo.trim();
|
|
54
|
+
switch (skillsRepoKind(value)) {
|
|
55
|
+
// git runs via execFile with no shell, so expand `~/` here or git would look for `~`.
|
|
56
|
+
case 'home': return join(homedir(), value.slice(2));
|
|
57
|
+
case 'github': return `https://github.com/${value}.git`;
|
|
58
|
+
case 'local':
|
|
59
|
+
case 'url':
|
|
60
|
+
case 'scp': return value;
|
|
61
|
+
default: return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/** A ref safe to pass to `git` as a positional revision (hearsay-tools/cezarion#428); see `isSafeSkillsRef`. */
|
|
65
|
+
export const isSafeRef = isSafeSkillsRef;
|
|
66
|
+
/** A full commit SHA (sha-1 or sha-256) — a pinned, immutable ref (#428). */
|
|
67
|
+
export function isPinnedSha(ref) {
|
|
68
|
+
return /^[0-9a-f]{40}$/i.test(ref) || /^[0-9a-f]{64}$/i.test(ref);
|
|
69
|
+
}
|
|
70
|
+
/** Stable cache key for a source: the last two path segments, `owner__name`. */
|
|
71
|
+
function cacheKeyFor(repo) {
|
|
72
|
+
const trimmed = repo
|
|
73
|
+
.replace(/\/+$/, '')
|
|
74
|
+
.replace(/\.git$/, '')
|
|
75
|
+
.replace(/^[a-z+]+:\/\//i, '')
|
|
76
|
+
.replace(/^~\//, '');
|
|
77
|
+
const segments = trimmed.split(/[/:]/).filter(Boolean).map(sanitizeSegment);
|
|
78
|
+
return segments.slice(-2).join('__') || 'skills';
|
|
79
|
+
}
|
|
80
|
+
/** The source's bare clone: `~/.cache/cez/skills/<owner>__<name>`. */
|
|
81
|
+
export function bareDirFor(repo, home) {
|
|
82
|
+
return join(home.skillsCache, cacheKeyFor(repo));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Per-commit copies of the source's directory skills for runs without a task
|
|
86
|
+
* worktree (#1024): `~/.cache/cez/skill-files/<owner>__<name>/<commit>/<skill>/`.
|
|
87
|
+
*/
|
|
88
|
+
export function skillFilesCacheDirFor(repo, home) {
|
|
89
|
+
return join(home.skillFilesCache, cacheKeyFor(repo));
|
|
90
|
+
}
|
|
91
|
+
function sanitizeSegment(s) {
|
|
92
|
+
return s.replace(/[^\w.-]/g, '-');
|
|
93
|
+
}
|
|
94
|
+
/** One warning per bad source per process — this runs on every cockpit open. */
|
|
95
|
+
const warnedUnsafeRemotes = new Set();
|
|
96
|
+
function warnUnsafeRemoteOnce(repo) {
|
|
97
|
+
if (warnedUnsafeRemotes.has(repo))
|
|
98
|
+
return;
|
|
99
|
+
warnedUnsafeRemotes.add(repo);
|
|
100
|
+
console.warn(`${logPrefix()} ignoring skills repo ${JSON.stringify(repo)} — not an accepted source shape ` +
|
|
101
|
+
`(${SKILLS_REPO_FORMATS}). Check "skillsRepos" in the project's config.json (in .ai/squawk/, or .ai/cezar/ before the project moves), or remove it on the Skills page.`);
|
|
102
|
+
}
|
|
103
|
+
/** Clone the skills repo bare (no checkout) into the global cache, once. */
|
|
104
|
+
export async function ensureBareClone(repo, home) {
|
|
105
|
+
// Validate before anything else, cache hit or not: "this source is refusable"
|
|
106
|
+
// should never depend on whether a clone happens to exist already.
|
|
107
|
+
const remote = safeRemoteFor(repo);
|
|
108
|
+
if (!remote) {
|
|
109
|
+
// Everything else in this module degrades silently (offline, no access —
|
|
110
|
+
// all expected). A refusal is different: it means the config is wrong or
|
|
111
|
+
// tampered with, and the operator otherwise just sees skills disappear.
|
|
112
|
+
warnUnsafeRemoteOnce(repo);
|
|
113
|
+
throw new Error(`refusing unsafe skills repo remote: ${repo}`);
|
|
114
|
+
}
|
|
115
|
+
const bareDir = bareDirFor(repo, home);
|
|
116
|
+
if (existsSync(join(bareDir, 'HEAD')))
|
|
117
|
+
return { bareDir, created: false };
|
|
118
|
+
await mkdir(dirname(bareDir), { recursive: true });
|
|
119
|
+
// `--` separates options from the remote/dir operands: even a value that
|
|
120
|
+
// slipped past validation can't pose as a git option.
|
|
121
|
+
const res = await git(['clone', '--bare', '--', remote, bareDir], CLONE_TIMEOUT_MS);
|
|
122
|
+
if (!res.ok)
|
|
123
|
+
throw new Error(`git clone --bare ${remote} failed: ${res.stderr.trim()}`);
|
|
124
|
+
return { bareDir, created: true };
|
|
125
|
+
}
|
|
126
|
+
/** "Refresh" — update every branch head in the bare clone from origin. */
|
|
127
|
+
export async function fetchAll(bareDir) {
|
|
128
|
+
const res = await git(['fetch', 'origin', '--prune', '+refs/heads/*:refs/heads/*'], CLONE_TIMEOUT_MS, bareDir);
|
|
129
|
+
if (!res.ok)
|
|
130
|
+
throw new Error(`git fetch failed: ${res.stderr.trim() || res.stdout.trim()}`);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Resolve a safe source ref to an immutable commit. A full SHA must name that exact commit and
|
|
134
|
+
* never falls back to a moving ref. A branch or tag resolves as itself; only the default ref
|
|
135
|
+
* (`main`) may fall back to `HEAD`.
|
|
136
|
+
*/
|
|
137
|
+
async function resolveRef(bareDir, ref) {
|
|
138
|
+
if (!isSafeRef(ref))
|
|
139
|
+
return null;
|
|
140
|
+
if (isPinnedSha(ref)) {
|
|
141
|
+
const sha = ref.toLowerCase();
|
|
142
|
+
const probe = await git(['rev-parse', '--verify', '--quiet', `${sha}^{commit}`], LIST_TIMEOUT_MS, bareDir);
|
|
143
|
+
// Pinned means pinned: only accept when rev-parse names exactly this commit.
|
|
144
|
+
return probe.ok && probe.stdout.trim() === sha ? sha : null;
|
|
145
|
+
}
|
|
146
|
+
// Only the default ref falls back to the clone's HEAD, for a repo whose default branch is not
|
|
147
|
+
// `main`. A ref someone chose that the repo lacks is an error, not the default branch's skills.
|
|
148
|
+
const candidates = ref === DEFAULT_SKILLS_REF ? [ref, `refs/heads/${ref}`, 'HEAD'] : [ref, `refs/heads/${ref}`];
|
|
149
|
+
for (const candidate of candidates) {
|
|
150
|
+
const probe = await git(['rev-parse', '--verify', '--quiet', `${candidate}^{commit}`], LIST_TIMEOUT_MS, bareDir);
|
|
151
|
+
if (probe.ok && probe.stdout.trim())
|
|
152
|
+
return probe.stdout.trim();
|
|
153
|
+
}
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Match the janitor conventions plus our own:
|
|
158
|
+
* - `**\/SKILL.md` → skill named after the parent directory (with references/)
|
|
159
|
+
* - `**\/commands/<n>.md` → skill `<n>`
|
|
160
|
+
* - `.ai/skills/**\/*.md` or `.ai/cezar/skills/**\/*.md` → frontmatter/basename name
|
|
161
|
+
*/
|
|
162
|
+
function matchSkillPath(line) {
|
|
163
|
+
if (line === 'SKILL.md' || line.endsWith('/SKILL.md')) {
|
|
164
|
+
const parts = line.split('/');
|
|
165
|
+
if (parts.length < 2)
|
|
166
|
+
return null;
|
|
167
|
+
const parent = parts[parts.length - 2];
|
|
168
|
+
return parent && parent !== '.' ? { name: parent, kind: 'skill' } : null;
|
|
169
|
+
}
|
|
170
|
+
const cmd = /(?:^|\/)commands\/([^/]+)\.md$/.exec(line);
|
|
171
|
+
if (cmd)
|
|
172
|
+
return { name: cmd[1], kind: 'command' };
|
|
173
|
+
if (/(?:^|\/)\.ai\/(?:(?:cezar|squawk)\/)?skills\/.+\.md$/.test(line))
|
|
174
|
+
return { name: null, kind: 'markdown' };
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Read one file from the bare clone at the source's ref. Null on any failure.
|
|
179
|
+
* `atCommit` pins the read to an already-resolved commit, so a caller listing
|
|
180
|
+
* many files reads them all at the same commit (and skips re-resolving).
|
|
181
|
+
*/
|
|
182
|
+
export async function readRemoteSkill(src, path, atCommit, home) {
|
|
183
|
+
const bareDir = bareDirFor(src.repo, home);
|
|
184
|
+
if (!existsSync(join(bareDir, 'HEAD')))
|
|
185
|
+
return null;
|
|
186
|
+
const ref = atCommit ?? (await resolveRef(bareDir, src.ref));
|
|
187
|
+
if (ref === null)
|
|
188
|
+
return null;
|
|
189
|
+
const res = await git(['show', `${ref}:${path}`], LIST_TIMEOUT_MS, bareDir);
|
|
190
|
+
return res.ok ? res.stdout : null;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* List every skill the repo defines at `src.ref`. Reads from the local bare
|
|
194
|
+
* clone only — no network. Empty list when the clone doesn't exist yet or
|
|
195
|
+
* the ref can't be resolved.
|
|
196
|
+
*/
|
|
197
|
+
export async function listRemoteSkills(src, home) {
|
|
198
|
+
return (await listRemoteSource(src, home)).skills;
|
|
199
|
+
}
|
|
200
|
+
async function listRemoteSource(src, home) {
|
|
201
|
+
const bareDir = bareDirFor(src.repo, home);
|
|
202
|
+
if (!existsSync(join(bareDir, 'HEAD')))
|
|
203
|
+
return { skills: [], problem: 'no-clone' };
|
|
204
|
+
// An immutable SHA (#428): the tree listing and every body below are read at
|
|
205
|
+
// this one commit, and it is what gets recorded on each skill.
|
|
206
|
+
const commit = await resolveRef(bareDir, src.ref);
|
|
207
|
+
if (commit === null)
|
|
208
|
+
return { skills: [], problem: 'ref-not-found' };
|
|
209
|
+
// `--` after the ref keeps a `-`-leading value out of git's option surface.
|
|
210
|
+
const ls = await git(['ls-tree', '-r', '--name-only', commit, '--'], LIST_TIMEOUT_MS, bareDir);
|
|
211
|
+
if (!ls.ok)
|
|
212
|
+
return { skills: [], problem: 'list-failed' };
|
|
213
|
+
const skills = [];
|
|
214
|
+
const seen = new Set();
|
|
215
|
+
for (const line of ls.stdout.split('\n')) {
|
|
216
|
+
if (!line)
|
|
217
|
+
continue;
|
|
218
|
+
const hit = matchSkillPath(line);
|
|
219
|
+
if (!hit)
|
|
220
|
+
continue;
|
|
221
|
+
const raw = await readRemoteSkill(src, line, commit, home);
|
|
222
|
+
if (raw === null)
|
|
223
|
+
continue;
|
|
224
|
+
const { frontmatter, body } = parseFrontmatter(raw);
|
|
225
|
+
const name = hit.name ??
|
|
226
|
+
(typeof frontmatter.name === 'string' && frontmatter.name.trim()
|
|
227
|
+
? frontmatter.name.trim()
|
|
228
|
+
: basename(line, '.md'));
|
|
229
|
+
if (seen.has(name))
|
|
230
|
+
continue;
|
|
231
|
+
seen.add(name);
|
|
232
|
+
const description = typeof frontmatter.description === 'string' && frontmatter.description.trim()
|
|
233
|
+
? frontmatter.description.trim()
|
|
234
|
+
: undefined;
|
|
235
|
+
skills.push({
|
|
236
|
+
name,
|
|
237
|
+
description,
|
|
238
|
+
body,
|
|
239
|
+
path: `${src.repo}@${src.ref}:${line}`,
|
|
240
|
+
source: 'team',
|
|
241
|
+
team: { repo: src.repo, ref: src.ref, path: line, dir: hit.kind === 'skill', commit },
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
return { skills, problem: null };
|
|
245
|
+
}
|
|
246
|
+
// ---- materialization (directory skills) ---------------------------------------
|
|
247
|
+
/**
|
|
248
|
+
* Dropped into every copy `materializeSkillDir` creates, recording where it came
|
|
249
|
+
* from. Its presence is what makes a directory cezar's to replace: a skill dir
|
|
250
|
+
* without it may be the user's own, and is only ever overlaid.
|
|
251
|
+
*/
|
|
252
|
+
const TEAM_SKILL_MARKER = '.cezar-team-skill.json';
|
|
253
|
+
/**
|
|
254
|
+
* Locate directory skill files at the body’s recorded commit. Resolve the source ref only for a
|
|
255
|
+
* legacy missing commit or a clone that no longer holds it.
|
|
256
|
+
*/
|
|
257
|
+
async function resolveSkillDirSource(skill, home) {
|
|
258
|
+
if (!skill.team?.dir || !skill.team.path.endsWith('SKILL.md'))
|
|
259
|
+
return null;
|
|
260
|
+
const bareDir = bareDirFor(skill.team.repo, home);
|
|
261
|
+
if (!existsSync(join(bareDir, 'HEAD')))
|
|
262
|
+
return null;
|
|
263
|
+
const listed = skill.team.commit && isPinnedSha(skill.team.commit) ? await resolveRef(bareDir, skill.team.commit) : null;
|
|
264
|
+
const commit = listed ?? (await resolveRef(bareDir, skill.team.ref));
|
|
265
|
+
if (commit === null)
|
|
266
|
+
return null;
|
|
267
|
+
return { bareDir, commit, srcDir: skill.team.path.slice(0, -'/SKILL.md'.length) };
|
|
268
|
+
}
|
|
269
|
+
/** Every file of the skill's directory at the commit, keyed by its `/`-joined relative path. */
|
|
270
|
+
async function readSkillDirFiles({ bareDir, commit, srcDir }) {
|
|
271
|
+
const files = new Map();
|
|
272
|
+
const ls = await git(['ls-tree', '-r', '--name-only', commit, '--', srcDir], LIST_TIMEOUT_MS, bareDir);
|
|
273
|
+
if (!ls.ok)
|
|
274
|
+
return files;
|
|
275
|
+
for (const file of ls.stdout.split('\n').filter(Boolean)) {
|
|
276
|
+
const rel = file.slice(srcDir.length + 1);
|
|
277
|
+
// git paths are repo-relative and normalized, but never trust them blindly.
|
|
278
|
+
if (!rel || rel.split('/').includes('..') || rel === TEAM_SKILL_MARKER)
|
|
279
|
+
continue;
|
|
280
|
+
const show = await git(['show', `${commit}:${file}`], LIST_TIMEOUT_MS, bareDir);
|
|
281
|
+
if (show.ok)
|
|
282
|
+
files.set(rel, show.stdout);
|
|
283
|
+
}
|
|
284
|
+
return files;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Where `path` really lands: the realpath of its nearest existing ancestor (the
|
|
288
|
+
* path itself when it exists), through every symlink, plus the segments below
|
|
289
|
+
* it. Null when that ancestor cannot be resolved, a dangling link among them.
|
|
290
|
+
*/
|
|
291
|
+
async function landingPath(path) {
|
|
292
|
+
const below = [];
|
|
293
|
+
for (let at = resolve(path);; at = dirname(at)) {
|
|
294
|
+
if (await lstat(at).then(() => true, () => false)) {
|
|
295
|
+
const real = await realpath(at).catch(() => null);
|
|
296
|
+
return real === null ? null : join(real, ...below.reverse());
|
|
297
|
+
}
|
|
298
|
+
if (dirname(at) === at)
|
|
299
|
+
return null;
|
|
300
|
+
below.push(basename(at));
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/** `path` lands inside `root`, itself a realpath. */
|
|
304
|
+
export async function landsInside(root, path) {
|
|
305
|
+
const landing = await landingPath(path);
|
|
306
|
+
return landing !== null && (landing === root || landing.startsWith(root.endsWith(sep) ? root : root + sep));
|
|
307
|
+
}
|
|
308
|
+
/** Write every file under `destDir`; given a `root`, skip a file that would land outside it. */
|
|
309
|
+
async function writeSkillFiles(destDir, files, root) {
|
|
310
|
+
for (const [rel, content] of files) {
|
|
311
|
+
const target = join(destDir, rel);
|
|
312
|
+
if (root !== undefined && !(await landsInside(root, target)))
|
|
313
|
+
continue;
|
|
314
|
+
await mkdir(dirname(target), { recursive: true });
|
|
315
|
+
await writeFile(target, content, 'utf8');
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Clear the paths in `dir` whose type the new files contradict: a directory or a
|
|
320
|
+
* symlink where a file goes, and a non-directory (a symlink included) where a
|
|
321
|
+
* file's parent directory goes. Without this an upstream `references/guide` that
|
|
322
|
+
* became `references/guide/x.md` (or back) fails the write with EEXIST/EISDIR,
|
|
323
|
+
* and a write follows a link wherever it points. Only for a marked copy. Every
|
|
324
|
+
* check is an lstat, so a link is unlinked, never followed.
|
|
325
|
+
*/
|
|
326
|
+
async function clearTypeConflicts(dir, files) {
|
|
327
|
+
const entry = (path) => lstat(path).catch(() => null);
|
|
328
|
+
for (const rel of files.keys()) {
|
|
329
|
+
const parts = rel.split('/');
|
|
330
|
+
for (let depth = 1; depth < parts.length; depth++) {
|
|
331
|
+
const ancestor = join(dir, ...parts.slice(0, depth));
|
|
332
|
+
if ((await entry(ancestor))?.isDirectory() === false)
|
|
333
|
+
await unlink(ancestor);
|
|
334
|
+
}
|
|
335
|
+
const target = join(dir, rel);
|
|
336
|
+
const found = await entry(target);
|
|
337
|
+
if (found?.isDirectory())
|
|
338
|
+
await rm(target, { recursive: true, force: true });
|
|
339
|
+
else if (found?.isSymbolicLink())
|
|
340
|
+
await unlink(target);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
/** Remove every entry under `dir` whose `/`-joined relative path is not kept, then empty directories. */
|
|
344
|
+
async function removeUnlisted(dir, keep, prefix = '') {
|
|
345
|
+
for (const entry of await readdir(dir, { withFileTypes: true })) {
|
|
346
|
+
const rel = prefix ? `${prefix}/${entry.name}` : entry.name;
|
|
347
|
+
const path = join(dir, entry.name);
|
|
348
|
+
if (entry.isDirectory()) {
|
|
349
|
+
await removeUnlisted(path, keep, rel);
|
|
350
|
+
await rmdir(path).catch(() => undefined); // still holds kept files
|
|
351
|
+
}
|
|
352
|
+
else if (!keep.has(rel)) {
|
|
353
|
+
await unlink(path);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
/** Where `materializeSkillDir` puts a worktree copy: `<dir>/skills/<name>/`, in this order. */
|
|
358
|
+
export const TEAM_SKILL_AGENT_DIRS = ['.claude', '.agents', '.cursor'];
|
|
359
|
+
/**
|
|
360
|
+
* Copy a directory skill and its companion files into TEAM_SKILL_AGENT_DIRS under `repoRoot`,
|
|
361
|
+
* excluding destinations from Git. Return only written directories and preserve containment.
|
|
362
|
+
* Task provisioning (`skills-provision.ts`) passes a staging dir and places each copy itself,
|
|
363
|
+
* through the worktree's manifest.
|
|
364
|
+
*/
|
|
365
|
+
export async function materializeSkillDir(repoRoot, skill,
|
|
366
|
+
/** Keeps one written copy out of git; defaults to the shared `info/exclude`. */
|
|
367
|
+
ignore = (agentDir) => excludeFromGit(repoRoot, `${agentDir}/skills/${skill.name}/`), home) {
|
|
368
|
+
const source = await resolveSkillDirSource(skill, home);
|
|
369
|
+
if (!source || !skill.team)
|
|
370
|
+
return [];
|
|
371
|
+
const files = await readSkillDirFiles(source);
|
|
372
|
+
if (files.size === 0)
|
|
373
|
+
return [];
|
|
374
|
+
const { repo, ref, path } = skill.team;
|
|
375
|
+
const marker = `${JSON.stringify({ repo, ref, path, commit: source.commit }, null, 2)}\n`;
|
|
376
|
+
const root = await realpath(repoRoot).catch(() => null);
|
|
377
|
+
if (root === null)
|
|
378
|
+
return [];
|
|
379
|
+
const written = [];
|
|
380
|
+
for (const agentDir of TEAM_SKILL_AGENT_DIRS) {
|
|
381
|
+
const destDir = join(repoRoot, agentDir, 'skills', skill.name);
|
|
382
|
+
if (!(await landsInside(root, destDir)))
|
|
383
|
+
continue;
|
|
384
|
+
// lstat: a marker that is a link elsewhere does not make the dir ours.
|
|
385
|
+
const marked = (await lstat(join(destDir, TEAM_SKILL_MARKER)).catch(() => null))?.isFile() === true;
|
|
386
|
+
const ours = !existsSync(destDir) || marked;
|
|
387
|
+
if (ours) {
|
|
388
|
+
await mkdir(destDir, { recursive: true });
|
|
389
|
+
await writeFile(join(destDir, TEAM_SKILL_MARKER), marker, 'utf8');
|
|
390
|
+
await clearTypeConflicts(destDir, files);
|
|
391
|
+
}
|
|
392
|
+
await writeSkillFiles(destDir, files, root);
|
|
393
|
+
if (ours)
|
|
394
|
+
await removeUnlisted(destDir, new Set([...files.keys(), TEAM_SKILL_MARKER]));
|
|
395
|
+
written.push(agentDir);
|
|
396
|
+
}
|
|
397
|
+
for (const agentDir of written)
|
|
398
|
+
await ignore(agentDir);
|
|
399
|
+
return written.map((agentDir) => resolve(repoRoot, agentDir, 'skills', skill.name));
|
|
400
|
+
}
|
|
401
|
+
/** A per-commit copy nobody has used for this long is pruned. */
|
|
402
|
+
const SKILL_FILES_TTL_MS = 7 * 24 * 60 * 60 * 1_000;
|
|
403
|
+
/**
|
|
404
|
+
* Materialize directory skill files in the commit-keyed cache for runs without an owned
|
|
405
|
+
* worktree. Stage then rename complete copies, prune unused old commits and return null on
|
|
406
|
+
* failure. Never write project files or info/exclude.
|
|
407
|
+
*/
|
|
408
|
+
export async function materializeSkillToCache(skill, home) {
|
|
409
|
+
try {
|
|
410
|
+
const source = await resolveSkillDirSource(skill, home);
|
|
411
|
+
if (!source || !skill.team)
|
|
412
|
+
return null;
|
|
413
|
+
const root = skillFilesCacheDirFor(skill.team.repo, home);
|
|
414
|
+
const commitDir = join(root, source.commit);
|
|
415
|
+
const dest = join(commitDir, skill.name);
|
|
416
|
+
if (!existsSync(dest)) {
|
|
417
|
+
const files = await readSkillDirFiles(source);
|
|
418
|
+
if (files.size === 0)
|
|
419
|
+
return null;
|
|
420
|
+
const staging = join(commitDir, `.${skill.name}.${process.pid}.${randomBytes(4).toString('hex')}.tmp`);
|
|
421
|
+
try {
|
|
422
|
+
await mkdir(staging, { recursive: true });
|
|
423
|
+
await writeSkillFiles(staging, files);
|
|
424
|
+
await rename(staging, dest);
|
|
425
|
+
}
|
|
426
|
+
catch (error) {
|
|
427
|
+
await rm(staging, { recursive: true, force: true }).catch(() => undefined);
|
|
428
|
+
// A concurrent writer renamed the same commit's copy into place first.
|
|
429
|
+
if (!existsSync(dest))
|
|
430
|
+
throw error;
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
const now = new Date();
|
|
434
|
+
await utimes(commitDir, now, now);
|
|
435
|
+
await pruneSkillFiles(root, source.commit, now.getTime());
|
|
436
|
+
return dest;
|
|
437
|
+
}
|
|
438
|
+
catch {
|
|
439
|
+
return null;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
/** Best-effort: drop the source's commit dirs other than `keep` untouched for a week. */
|
|
443
|
+
async function pruneSkillFiles(root, keep, now) {
|
|
444
|
+
for (const entry of await readdir(root).catch(() => [])) {
|
|
445
|
+
if (entry === keep)
|
|
446
|
+
continue;
|
|
447
|
+
const path = join(root, entry);
|
|
448
|
+
try {
|
|
449
|
+
if (now - (await stat(path)).mtimeMs > SKILL_FILES_TTL_MS)
|
|
450
|
+
await rm(path, { recursive: true, force: true });
|
|
451
|
+
}
|
|
452
|
+
catch {
|
|
453
|
+
// raced with another pruner, or unreadable — the next run tries again
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
/** Append a pattern to git's `info/exclude` (idempotent, non-fatal). */
|
|
458
|
+
export async function excludeFromGit(repoRoot, pattern) {
|
|
459
|
+
try {
|
|
460
|
+
// Resolve the real exclude file: in a linked worktree (spec 006) `.git`
|
|
461
|
+
// is a file and `info/exclude` lives in the shared common dir — which
|
|
462
|
+
// also means one exclude entry covers every task worktree.
|
|
463
|
+
const probe = await git(['rev-parse', '--path-format=absolute', '--git-common-dir'], LIST_TIMEOUT_MS, repoRoot);
|
|
464
|
+
const gitDir = probe.ok && probe.stdout.trim() ? probe.stdout.trim() : join(repoRoot, '.git');
|
|
465
|
+
const excludePath = join(gitDir, 'info', 'exclude');
|
|
466
|
+
let prev = '';
|
|
467
|
+
try {
|
|
468
|
+
prev = await readFile(excludePath, 'utf8');
|
|
469
|
+
}
|
|
470
|
+
catch {
|
|
471
|
+
// no exclude file yet
|
|
472
|
+
}
|
|
473
|
+
if (prev.split('\n').includes(pattern))
|
|
474
|
+
return;
|
|
475
|
+
await mkdir(dirname(excludePath), { recursive: true });
|
|
476
|
+
await writeFile(excludePath, prev + (prev && !prev.endsWith('\n') ? '\n' : '') + pattern + '\n', 'utf8');
|
|
477
|
+
}
|
|
478
|
+
catch {
|
|
479
|
+
// non-fatal — `.git` might be a linked file (worktree) or absent entirely
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
// ---- in-process cache ----------------------------------------------------------
|
|
483
|
+
// A failed clone/fetch is expensive when the network is down (git can hang on
|
|
484
|
+
// DNS/TCP), so each source gets one implicit retry budget per process. Success
|
|
485
|
+
// is recorded on disk (the stamp) so a later TTL expiry in this process can
|
|
486
|
+
// still fetch. "Refresh" always retries.
|
|
487
|
+
const cloneAttempted = new Set();
|
|
488
|
+
// One in-flight clone/fetch per source so two project roots that share a
|
|
489
|
+
// skills repo cannot both start a fetch and have the loser mark the source
|
|
490
|
+
// failed after the winner already stamped it.
|
|
491
|
+
const fetchInFlight = new Map();
|
|
492
|
+
// Share the passive-fetch TTL stamp across processes using unique-temp atomic writes.
|
|
493
|
+
// Explicit refresh still fetches unconditionally; fresh worktrees can read the bare cache.
|
|
494
|
+
const PASSIVE_FETCH_TTL_MS = 6 * 60 * 60 * 1_000;
|
|
495
|
+
const LAST_FETCH_STAMP = 'cez-last-fetch';
|
|
496
|
+
/** Path of the last-fetch stamp that lives inside a bare clone directory. */
|
|
497
|
+
export function lastFetchStampPath(bareDir) {
|
|
498
|
+
return join(bareDir, LAST_FETCH_STAMP);
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Last successful fetch time for this bare clone, or `null` when the stamp is
|
|
502
|
+
* missing or unreadable. Fail-open: a corrupt stamp is treated as stale.
|
|
503
|
+
*/
|
|
504
|
+
export function readLastFetchAt(bareDir) {
|
|
505
|
+
try {
|
|
506
|
+
const n = Number(readFileSync(lastFetchStampPath(bareDir), 'utf8').trim());
|
|
507
|
+
return Number.isFinite(n) && n > 0 ? n : null;
|
|
508
|
+
}
|
|
509
|
+
catch {
|
|
510
|
+
return null;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Persist a last-fetch time inside `bareDir`. Unique tmp + rename (the same
|
|
515
|
+
* cross-process write discipline as workspace config). Fail-open on a
|
|
516
|
+
* read-only cache: listing still works, the next process may fetch again.
|
|
517
|
+
*/
|
|
518
|
+
export async function writeLastFetchAt(bareDir, at) {
|
|
519
|
+
const path = lastFetchStampPath(bareDir);
|
|
520
|
+
const tmp = `${path}.${process.pid}.${randomBytes(4).toString('hex')}.tmp`;
|
|
521
|
+
try {
|
|
522
|
+
await writeFile(tmp, `${at}\n`, { encoding: 'utf8', mode: 0o600 });
|
|
523
|
+
await rename(tmp, path);
|
|
524
|
+
}
|
|
525
|
+
catch {
|
|
526
|
+
try {
|
|
527
|
+
await unlink(tmp);
|
|
528
|
+
}
|
|
529
|
+
catch {
|
|
530
|
+
// staging file may never have been created
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Whether a passive (non-`refresh`) load should `git fetch`: yes when there is
|
|
536
|
+
* no stamp, and yes once the stamp is older than `ttlMs`. Pure so the
|
|
537
|
+
* freshness policy is unit-tested without git.
|
|
538
|
+
*/
|
|
539
|
+
export function shouldPassiveFetch(opts) {
|
|
540
|
+
return opts.fetchedAt == null || opts.now - opts.fetchedAt > opts.ttlMs;
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* A failed clone/fetch is sticky only while the stamp is still missing or
|
|
544
|
+
* stale. A concurrent sibling that already wrote a fresh stamp must not be
|
|
545
|
+
* recorded as a local failure — that would suppress the next TTL in this
|
|
546
|
+
* process (#367 review).
|
|
547
|
+
*/
|
|
548
|
+
export function shouldRecordFetchFailure(opts) {
|
|
549
|
+
return shouldPassiveFetch(opts);
|
|
550
|
+
}
|
|
551
|
+
/** Test hook: simulate a process-local failed attempt for this source. */
|
|
552
|
+
export function __markCloneAttemptedForTests(repo, home) {
|
|
553
|
+
cloneAttempted.add(bareDirFor(repo, home));
|
|
554
|
+
}
|
|
555
|
+
/** Test hook: hold this source's clone/fetch open until `until` settles (#859). */
|
|
556
|
+
export function __holdFetchForTests(repo, until, home) {
|
|
557
|
+
const held = until.finally(() => {
|
|
558
|
+
if (fetchInFlight.get(bareDirFor(repo, home)) === held)
|
|
559
|
+
fetchInFlight.delete(bareDirFor(repo, home));
|
|
560
|
+
});
|
|
561
|
+
fetchInFlight.set(bareDirFor(repo, home), held);
|
|
562
|
+
}
|
|
563
|
+
const cachedListPauses = new Map();
|
|
564
|
+
/**
|
|
565
|
+
* Test hook: park this project's next passive load right after its list-only
|
|
566
|
+
* pass until `until` settles (#859). Resolves once the load has parked there.
|
|
567
|
+
*/
|
|
568
|
+
export function __pauseAfterCachedListForTests(repoRoot, until, home) {
|
|
569
|
+
return new Promise((reached) => { cachedListPauses.set(teamCacheKey(repoRoot, home), { reached, until }); });
|
|
570
|
+
}
|
|
571
|
+
// Both maps are keyed by `repoRoot` (multi-project workspace, step 2.6): each
|
|
572
|
+
// project resolves its own `.ai/cezar/config.json` → `skillsRepos`, so one
|
|
573
|
+
// project's team-skill list must never be served under another project's scope.
|
|
574
|
+
function teamCacheKey(repoRoot, home) { return JSON.stringify([repoRoot, home.skillsCache]); }
|
|
575
|
+
const teamSkillsByRoot = new Map();
|
|
576
|
+
const firstLoadByRoot = new Map();
|
|
577
|
+
// The first load's list-only pass over the clones already on disk (#859).
|
|
578
|
+
const cachedListByRoot = new Map();
|
|
579
|
+
// Bumped by every post-fetch publication, so a list-only pass that finishes
|
|
580
|
+
// late never replaces a newer list (a concurrent refresh) in `teamSkillsByRoot`.
|
|
581
|
+
const postFetchListsByRoot = new Map();
|
|
582
|
+
function initialTeamSkillsLoad(repoRoot, home) {
|
|
583
|
+
const existing = firstLoadByRoot.get(teamCacheKey(repoRoot, home));
|
|
584
|
+
if (existing)
|
|
585
|
+
return existing;
|
|
586
|
+
let listed;
|
|
587
|
+
cachedListByRoot.set(teamCacheKey(repoRoot, home), new Promise((resolve) => { listed = resolve; }));
|
|
588
|
+
const load = loadTeamSkills(repoRoot, 'passive', listed, home).catch(() => teamSkillsByRoot.get(teamCacheKey(repoRoot, home)) ?? []);
|
|
589
|
+
// A load that failed before its list-only pass still settles the cached wait.
|
|
590
|
+
void load.then((skills) => listed(skills));
|
|
591
|
+
firstLoadByRoot.set(teamCacheKey(repoRoot, home), load);
|
|
592
|
+
return load;
|
|
593
|
+
}
|
|
594
|
+
/**
|
|
595
|
+
* The current team-skill list for this project, straight from memory: one entry per source and
|
|
596
|
+
* name, in source order, so one name can appear once per source (see `mergeSourceLists`). The
|
|
597
|
+
* first call per `repoRoot` kicks off an async background load (clone + list)
|
|
598
|
+
* and returns immediately — the GUI refetches, so remote skills appear moments
|
|
599
|
+
* later instead of blocking the first `GET /api/skills`.
|
|
600
|
+
*/
|
|
601
|
+
export function getTeamSkillsCached(repoRoot, home) {
|
|
602
|
+
void initialTeamSkillsLoad(repoRoot, home);
|
|
603
|
+
return teamSkillsByRoot.get(teamCacheKey(repoRoot, home)) ?? [];
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* Wait for the same non-refreshing load kicked off by `getTeamSkillsCached`.
|
|
607
|
+
* The normal catalog read stays immediate; callers use this only for a
|
|
608
|
+
* background convergence read after they have already rendered local skills.
|
|
609
|
+
*/
|
|
610
|
+
export function waitForTeamSkills(repoRoot, home) {
|
|
611
|
+
return initialTeamSkillsLoad(repoRoot, home);
|
|
612
|
+
}
|
|
613
|
+
/**
|
|
614
|
+
* The first load's list of the bare clones already on disk, published before
|
|
615
|
+
* any passive fetch (#859). Never waits on the network: no clone yet means an
|
|
616
|
+
* empty list, not a clone. When a refresh started this project's first load
|
|
617
|
+
* there is no list-only pass, and this answers with the current list.
|
|
618
|
+
*/
|
|
619
|
+
export function waitForCachedTeamSkills(repoRoot, home) {
|
|
620
|
+
void initialTeamSkillsLoad(repoRoot, home);
|
|
621
|
+
return cachedListByRoot.get(teamCacheKey(repoRoot, home)) ?? Promise.resolve(teamSkillsByRoot.get(teamCacheKey(repoRoot, home)) ?? []);
|
|
622
|
+
}
|
|
623
|
+
/** Refresh: clone missing sources, `git fetch` existing ones, reload the list. */
|
|
624
|
+
export async function refreshTeamSkills(repoRoot, home) {
|
|
625
|
+
return publishLoad(repoRoot, 'all', home);
|
|
626
|
+
}
|
|
627
|
+
/**
|
|
628
|
+
* Fetch only the named sources, then reload the list (hearsay-tools/cezarion#279): the Skills page's Add and Retry.
|
|
629
|
+
* The other sources are listed from their clones as they are, with no fetch.
|
|
630
|
+
*/
|
|
631
|
+
export async function refreshTeamSources(repoRoot, sources, home) {
|
|
632
|
+
// Loading from this call on, so the answer that started the fetch already says so.
|
|
633
|
+
for (const src of sources)
|
|
634
|
+
setSourceStatus(repoRoot, src, { state: 'loading' }, home);
|
|
635
|
+
return publishLoad(repoRoot, { only: new Set(sources.map(sourceKey)) }, home);
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* Reload the list from the clones on disk with no fetch (hearsay-tools/cezarion#279), after a source was removed,
|
|
639
|
+
* disabled or enabled, so the change shows at once.
|
|
640
|
+
*/
|
|
641
|
+
export async function reloadTeamSkills(repoRoot, home) {
|
|
642
|
+
return publishLoad(repoRoot, 'none', home);
|
|
643
|
+
}
|
|
644
|
+
function publishLoad(repoRoot, mode, home) {
|
|
645
|
+
const load = loadTeamSkills(repoRoot, mode, undefined, home).catch(() => teamSkillsByRoot.get(teamCacheKey(repoRoot, home)) ?? []);
|
|
646
|
+
firstLoadByRoot.set(teamCacheKey(repoRoot, home), load);
|
|
647
|
+
return load;
|
|
648
|
+
}
|
|
649
|
+
/** A source's identity. Two refs of one repo are two sources. */
|
|
650
|
+
export function sourceKey(src) {
|
|
651
|
+
return JSON.stringify([src.repo, src.ref]);
|
|
652
|
+
}
|
|
653
|
+
// The last fetch failure per repo, cleared by the next good fetch. A passive load that does not
|
|
654
|
+
// fetch keeps showing it, so the Skills page does not call a source fine until it is.
|
|
655
|
+
const fetchFailures = new Map();
|
|
656
|
+
// Each project's source states, keyed by `sourceKey` (hearsay-tools/cezarion#279).
|
|
657
|
+
const sourceStatusByRoot = new Map();
|
|
658
|
+
/**
|
|
659
|
+
* Each configured source's state for this project, as the last load left it. A source no load
|
|
660
|
+
* has reached yet is absent; the caller shows it as `idle`.
|
|
661
|
+
*/
|
|
662
|
+
export function getTeamSourceStatuses(repoRoot, home) {
|
|
663
|
+
void initialTeamSkillsLoad(repoRoot, home);
|
|
664
|
+
return sourceStatusByRoot.get(teamCacheKey(repoRoot, home)) ?? new Map();
|
|
665
|
+
}
|
|
666
|
+
function setSourceStatus(repoRoot, src, status, home) {
|
|
667
|
+
let statuses = sourceStatusByRoot.get(teamCacheKey(repoRoot, home));
|
|
668
|
+
if (!statuses)
|
|
669
|
+
sourceStatusByRoot.set(teamCacheKey(repoRoot, home), (statuses = new Map()));
|
|
670
|
+
statuses.set(sourceKey(src), status);
|
|
671
|
+
}
|
|
672
|
+
/** The state a listed source ends a load in. Its listed skills stay usable whatever it says. */
|
|
673
|
+
function settledStatus(src, skills, problem, home) {
|
|
674
|
+
const skillCount = skills.length;
|
|
675
|
+
if (safeRemoteFor(src.repo) === null) {
|
|
676
|
+
return { state: 'error', cause: 'refused-format', detail: `"${src.repo}" is not a source format ${productName('cezar')} accepts.`, skillCount };
|
|
677
|
+
}
|
|
678
|
+
const failure = fetchFailures.get(bareDirFor(src.repo, home));
|
|
679
|
+
if (failure !== undefined)
|
|
680
|
+
return { state: 'error', cause: 'fetch-failed', detail: failure, skillCount };
|
|
681
|
+
if (problem === 'ref-not-found') {
|
|
682
|
+
return { state: 'error', cause: 'ref-not-found', detail: `The ref "${src.ref}" was not found in ${src.repo}.`, skillCount };
|
|
683
|
+
}
|
|
684
|
+
if (problem === 'list-failed') {
|
|
685
|
+
return { state: 'error', cause: 'fetch-failed', detail: `git could not list the skills of ${src.repo} at ${src.ref}.`, skillCount };
|
|
686
|
+
}
|
|
687
|
+
if (problem === 'no-clone')
|
|
688
|
+
return { state: 'idle' };
|
|
689
|
+
return { state: 'ok', skillCount };
|
|
690
|
+
}
|
|
691
|
+
function stampIsFresh(repo, now, home) {
|
|
692
|
+
return !shouldPassiveFetch({
|
|
693
|
+
fetchedAt: readLastFetchAt(bareDirFor(repo, home)),
|
|
694
|
+
now,
|
|
695
|
+
ttlMs: PASSIVE_FETCH_TTL_MS,
|
|
696
|
+
});
|
|
697
|
+
}
|
|
698
|
+
/** Clone/fetch one source, coalesced across concurrent catalog loads. */
|
|
699
|
+
function fetchBareSource(repo, home) {
|
|
700
|
+
const existing = fetchInFlight.get(bareDirFor(repo, home));
|
|
701
|
+
if (existing)
|
|
702
|
+
return existing;
|
|
703
|
+
const work = Promise.resolve()
|
|
704
|
+
.then(async () => {
|
|
705
|
+
const { bareDir, created } = await ensureBareClone(repo, home);
|
|
706
|
+
if (!created)
|
|
707
|
+
await fetchAll(bareDir);
|
|
708
|
+
await writeLastFetchAt(bareDir, Date.now());
|
|
709
|
+
cloneAttempted.delete(bareDirFor(repo, home));
|
|
710
|
+
fetchFailures.delete(bareDirFor(repo, home));
|
|
711
|
+
})
|
|
712
|
+
.catch((error) => {
|
|
713
|
+
fetchFailures.set(bareDirFor(repo, home), error instanceof Error ? error.message : String(error));
|
|
714
|
+
// A concurrent sibling may already have written a fresh stamp. Recording
|
|
715
|
+
// that as a local failure would suppress the next TTL in this process.
|
|
716
|
+
if (shouldRecordFetchFailure({
|
|
717
|
+
fetchedAt: readLastFetchAt(bareDirFor(repo, home)),
|
|
718
|
+
now: Date.now(),
|
|
719
|
+
ttlMs: PASSIVE_FETCH_TTL_MS,
|
|
720
|
+
})) {
|
|
721
|
+
cloneAttempted.add(bareDirFor(repo, home));
|
|
722
|
+
}
|
|
723
|
+
throw error;
|
|
724
|
+
})
|
|
725
|
+
.finally(() => {
|
|
726
|
+
if (fetchInFlight.get(bareDirFor(repo, home)) === work)
|
|
727
|
+
fetchInFlight.delete(bareDirFor(repo, home));
|
|
728
|
+
});
|
|
729
|
+
fetchInFlight.set(bareDirFor(repo, home), work);
|
|
730
|
+
return work;
|
|
731
|
+
}
|
|
732
|
+
/**
|
|
733
|
+
* Every source's copy of a name, in configured source order (#1494). Only an exact source and
|
|
734
|
+
* name repeat (one `repo` listed at two refs) collapses, to the first. Name precedence is
|
|
735
|
+
* `discoverSkills`'s, which applies the project's off-list first: switching one source's copy
|
|
736
|
+
* off must leave the next source's copy to win.
|
|
737
|
+
*/
|
|
738
|
+
function mergeSourceLists(lists) {
|
|
739
|
+
const out = [];
|
|
740
|
+
const seen = new Set();
|
|
741
|
+
for (const skill of lists.flatMap((list) => list ?? [])) {
|
|
742
|
+
const key = JSON.stringify([skill.team?.repo, skill.name]);
|
|
743
|
+
if (seen.has(key))
|
|
744
|
+
continue;
|
|
745
|
+
seen.add(key);
|
|
746
|
+
out.push(skill);
|
|
747
|
+
}
|
|
748
|
+
return out;
|
|
749
|
+
}
|
|
750
|
+
async function loadTeamSkills(repoRoot, mode, onCachedList, home) {
|
|
751
|
+
// A disabled source stays in the file and loads nothing (hearsay-tools/cezarion#279).
|
|
752
|
+
const sources = (await loadConfig(repoRoot, home)).skillsRepos.filter((src) => src.enabled);
|
|
753
|
+
forgetUnlistedStatuses(repoRoot, sources, home);
|
|
754
|
+
// Passive loads list the clones already on disk BEFORE any fetch (#859): the
|
|
755
|
+
// first restart past the TTL otherwise hides every team skill — and starves a
|
|
756
|
+
// recovered Continue of its playbook — for as long as the fetch takes.
|
|
757
|
+
let cached = [];
|
|
758
|
+
// Each source's stamp as the snapshot saw it. The bare clone and its stamp
|
|
759
|
+
// are shared by every project and process, so a fetch made for another
|
|
760
|
+
// project never bumps this one's generation; a moved stamp is how it shows.
|
|
761
|
+
let snapshotStamps = [];
|
|
762
|
+
const generation = postFetchListsByRoot.get(teamCacheKey(repoRoot, home)) ?? 0;
|
|
763
|
+
// True once another load has published a post-fetch list since this one
|
|
764
|
+
// started: its snapshot may predate that list, so it must not win (#859).
|
|
765
|
+
const superseded = () => {
|
|
766
|
+
return (postFetchListsByRoot.get(teamCacheKey(repoRoot, home)) ?? 0) !== generation;
|
|
767
|
+
};
|
|
768
|
+
if (mode === 'passive') {
|
|
769
|
+
snapshotStamps = sources.map((src) => readLastFetchAt(bareDirFor(src.repo, home)));
|
|
770
|
+
cached = await Promise.all(sources.map((src) => listRemoteSkills(src, home).catch(() => undefined)));
|
|
771
|
+
const pause = cachedListPauses.get(teamCacheKey(repoRoot, home));
|
|
772
|
+
if (pause) {
|
|
773
|
+
cachedListPauses.delete(teamCacheKey(repoRoot, home));
|
|
774
|
+
pause.reached();
|
|
775
|
+
await pause.until;
|
|
776
|
+
}
|
|
777
|
+
const listed = mergeSourceLists(cached);
|
|
778
|
+
if (!superseded())
|
|
779
|
+
teamSkillsByRoot.set(teamCacheKey(repoRoot, home), listed);
|
|
780
|
+
onCachedList?.(listed);
|
|
781
|
+
}
|
|
782
|
+
const lists = [];
|
|
783
|
+
for (const [index, src] of sources.entries()) {
|
|
784
|
+
// An unfetched source has not moved since the list-only pass unless
|
|
785
|
+
// another load fetched it meanwhile; reuse the snapshot only then.
|
|
786
|
+
const snapshot = { skills: cached[index], stamp: snapshotStamps[index], superseded };
|
|
787
|
+
lists.push(await loadOneSource(repoRoot, src, mode, snapshot, home));
|
|
788
|
+
}
|
|
789
|
+
// A source removed or disabled while this load fetched leaves the list it publishes: an older
|
|
790
|
+
// Retry must not bring back a source a newer change took out.
|
|
791
|
+
const current = new Set(readEnabledSourceKeys(repoRoot));
|
|
792
|
+
const out = mergeSourceLists(lists).filter((skill) => !skill.team || current.has(sourceKey(skill.team)));
|
|
793
|
+
forgetUnlistedStatuses(repoRoot, sources.filter((src) => current.has(sourceKey(src))), home);
|
|
794
|
+
// Every load but a passive one publishes. A passive load that a newer post-fetch list
|
|
795
|
+
// overtook defers to it rather than replacing it with an older view.
|
|
796
|
+
if (mode === 'passive' && superseded())
|
|
797
|
+
return teamSkillsByRoot.get(teamCacheKey(repoRoot, home)) ?? out;
|
|
798
|
+
postFetchListsByRoot.set(teamCacheKey(repoRoot, home), (postFetchListsByRoot.get(teamCacheKey(repoRoot, home)) ?? 0) + 1);
|
|
799
|
+
teamSkillsByRoot.set(teamCacheKey(repoRoot, home), out);
|
|
800
|
+
return out;
|
|
801
|
+
}
|
|
802
|
+
/** The enabled `skillsRepos` entries as the file says now, read synchronously at publish time. */
|
|
803
|
+
function readEnabledSourceKeys(repoRoot) {
|
|
804
|
+
return readSkillsReposSync(repoRoot).filter((src) => src.enabled).map(sourceKey);
|
|
805
|
+
}
|
|
806
|
+
/** Fetch `src` when the mode says so, list it, and record its state. */
|
|
807
|
+
async function loadOneSource(repoRoot, src, mode, snapshot, home) {
|
|
808
|
+
const now = Date.now();
|
|
809
|
+
if (stampIsFresh(src.repo, now, home))
|
|
810
|
+
cloneAttempted.delete(bareDirFor(src.repo, home));
|
|
811
|
+
const fetched = shouldFetchSource(mode, src, now, home);
|
|
812
|
+
if (fetched) {
|
|
813
|
+
setSourceStatus(repoRoot, src, { state: 'loading' }, home);
|
|
814
|
+
// offline / no access — list whatever an older clone has (or nothing); the status says why
|
|
815
|
+
await fetchBareSource(src.repo, home).catch(() => undefined);
|
|
816
|
+
}
|
|
817
|
+
const unmoved = !snapshot.superseded() && readLastFetchAt(bareDirFor(src.repo, home)) === snapshot.stamp;
|
|
818
|
+
const reused = fetched || !unmoved ? undefined : snapshot.skills;
|
|
819
|
+
// degrade: a source that fails to list contributes nothing. A non-empty snapshot needs no
|
|
820
|
+
// second listing; an empty one is listed again only to learn why it is empty.
|
|
821
|
+
const result = reused?.length ? { skills: reused, problem: null } : await listRemoteSource(src, home).catch(() => undefined);
|
|
822
|
+
const listed = reused ?? result?.skills;
|
|
823
|
+
setSourceStatus(repoRoot, src, settledStatus(src, listed ?? [], result?.problem ?? null, home), home);
|
|
824
|
+
return listed;
|
|
825
|
+
}
|
|
826
|
+
/** Whether this load fetches `src`: always, by name, or by the passive TTL and retry budget. */
|
|
827
|
+
function shouldFetchSource(mode, src, now, home) {
|
|
828
|
+
if (mode === 'all')
|
|
829
|
+
return true;
|
|
830
|
+
if (mode === 'none')
|
|
831
|
+
return false;
|
|
832
|
+
if (mode !== 'passive')
|
|
833
|
+
return mode.only.has(sourceKey(src));
|
|
834
|
+
return shouldPassiveFetch({ fetchedAt: readLastFetchAt(bareDirFor(src.repo, home)), now, ttlMs: PASSIVE_FETCH_TTL_MS })
|
|
835
|
+
&& !cloneAttempted.has(bareDirFor(src.repo, home));
|
|
836
|
+
}
|
|
837
|
+
/** Drop the state of a source that is no longer an enabled entry in `skillsRepos`. */
|
|
838
|
+
function forgetUnlistedStatuses(repoRoot, sources, home) {
|
|
839
|
+
const statuses = sourceStatusByRoot.get(teamCacheKey(repoRoot, home));
|
|
840
|
+
if (!statuses)
|
|
841
|
+
return;
|
|
842
|
+
const keep = new Set(sources.map(sourceKey));
|
|
843
|
+
for (const key of statuses.keys())
|
|
844
|
+
if (!keep.has(key))
|
|
845
|
+
statuses.delete(key);
|
|
846
|
+
}
|
|
847
|
+
//# sourceMappingURL=skills-remote.js.map
|