@cleocode/core 2026.10.27 → 2026.11.1-canary.3
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/README.md +2 -0
- package/binaries/README.md +30 -10
- package/dist/.source-stamp.json +4 -0
- package/dist/audit/reconstruct.d.ts.map +1 -1
- package/dist/audit/reconstruct.js +3 -13
- package/dist/audit/reconstruct.js.map +1 -1
- package/dist/build-provenance.json +2 -2
- package/dist/cloud/nexus-cloud.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud.js +3 -3
- package/dist/cloud/nexus-cloud.js.map +1 -1
- package/dist/cloud/nexus-device.d.ts +1 -1
- package/dist/cloud/nexus-link.d.ts +18 -2
- package/dist/cloud/nexus-link.d.ts.map +1 -1
- package/dist/cloud/nexus-link.js +26 -6
- package/dist/cloud/nexus-link.js.map +1 -1
- package/dist/cloud/nexus-vault.d.ts.map +1 -1
- package/dist/cloud/nexus-vault.js +3 -9
- package/dist/cloud/nexus-vault.js.map +1 -1
- package/dist/decide/sites/registry.d.ts +40 -0
- package/dist/decide/sites/registry.d.ts.map +1 -1
- package/dist/decide/sites/registry.js +38 -0
- package/dist/decide/sites/registry.js.map +1 -1
- package/dist/docs/adr-allocator.d.ts +3 -3
- package/dist/docs/adr-allocator.d.ts.map +1 -1
- package/dist/docs/adr-allocator.js +8 -5
- package/dist/docs/adr-allocator.js.map +1 -1
- package/dist/docs/blob-consolidation.d.ts.map +1 -1
- package/dist/docs/blob-consolidation.js +3 -2
- package/dist/docs/blob-consolidation.js.map +1 -1
- package/dist/docs/derive-links.d.ts +12 -0
- package/dist/docs/derive-links.d.ts.map +1 -1
- package/dist/docs/derive-links.js +19 -0
- package/dist/docs/derive-links.js.map +1 -1
- package/dist/docs/doc-name-rule.d.ts +105 -0
- package/dist/docs/doc-name-rule.d.ts.map +1 -0
- package/dist/docs/doc-name-rule.js +212 -0
- package/dist/docs/doc-name-rule.js.map +1 -0
- package/dist/docs/docs-inconsistency-detector.d.ts.map +1 -1
- package/dist/docs/docs-inconsistency-detector.js +4 -3
- package/dist/docs/docs-inconsistency-detector.js.map +1 -1
- package/dist/docs/docs-ops.d.ts +27 -5
- package/dist/docs/docs-ops.d.ts.map +1 -1
- package/dist/docs/docs-ops.js +149 -17
- package/dist/docs/docs-ops.js.map +1 -1
- package/dist/docs/docs-read-model.d.ts +45 -15
- package/dist/docs/docs-read-model.d.ts.map +1 -1
- package/dist/docs/docs-read-model.js +22 -102
- package/dist/docs/docs-read-model.js.map +1 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +8 -2
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/doctor.d.ts +71 -4
- package/dist/docs/doctor.d.ts.map +1 -1
- package/dist/docs/doctor.js +324 -23
- package/dist/docs/doctor.js.map +1 -1
- package/dist/docs/duplicate-check.d.ts +138 -0
- package/dist/docs/duplicate-check.d.ts.map +1 -0
- package/dist/docs/duplicate-check.js +286 -0
- package/dist/docs/duplicate-check.js.map +1 -0
- package/dist/docs/fetch-result.d.ts.map +1 -1
- package/dist/docs/fetch-result.js +27 -0
- package/dist/docs/fetch-result.js.map +1 -1
- package/dist/docs/import/scanner.d.ts +2 -0
- package/dist/docs/import/scanner.d.ts.map +1 -1
- package/dist/docs/import/scanner.js +3 -1
- package/dist/docs/import/scanner.js.map +1 -1
- package/dist/docs/lineage.d.ts +66 -0
- package/dist/docs/lineage.d.ts.map +1 -0
- package/dist/docs/lineage.js +190 -0
- package/dist/docs/lineage.js.map +1 -0
- package/dist/docs/modernize/apply.d.ts +139 -0
- package/dist/docs/modernize/apply.d.ts.map +1 -0
- package/dist/docs/modernize/apply.js +760 -0
- package/dist/docs/modernize/apply.js.map +1 -0
- package/dist/docs/modernize/guard.d.ts +92 -0
- package/dist/docs/modernize/guard.d.ts.map +1 -0
- package/dist/docs/modernize/guard.js +214 -0
- package/dist/docs/modernize/guard.js.map +1 -0
- package/dist/docs/modernize/index.d.ts +68 -0
- package/dist/docs/modernize/index.d.ts.map +1 -0
- package/dist/docs/modernize/index.js +97 -0
- package/dist/docs/modernize/index.js.map +1 -0
- package/dist/docs/modernize/judge.d.ts +85 -0
- package/dist/docs/modernize/judge.d.ts.map +1 -0
- package/dist/docs/modernize/judge.js +186 -0
- package/dist/docs/modernize/judge.js.map +1 -0
- package/dist/docs/modernize/plan.d.ts +77 -0
- package/dist/docs/modernize/plan.d.ts.map +1 -0
- package/dist/docs/modernize/plan.js +510 -0
- package/dist/docs/modernize/plan.js.map +1 -0
- package/dist/docs/modernize/restore.d.ts +41 -0
- package/dist/docs/modernize/restore.d.ts.map +1 -0
- package/dist/docs/modernize/restore.js +103 -0
- package/dist/docs/modernize/restore.js.map +1 -0
- package/dist/docs/modernize/rules.d.ts +197 -0
- package/dist/docs/modernize/rules.d.ts.map +1 -0
- package/dist/docs/modernize/rules.js +510 -0
- package/dist/docs/modernize/rules.js.map +1 -0
- package/dist/docs/modernize/store.d.ts +64 -0
- package/dist/docs/modernize/store.d.ts.map +1 -0
- package/dist/docs/modernize/store.js +390 -0
- package/dist/docs/modernize/store.js.map +1 -0
- package/dist/docs/publications-store.d.ts +16 -2
- package/dist/docs/publications-store.d.ts.map +1 -1
- package/dist/docs/publications-store.js +23 -2
- package/dist/docs/publications-store.js.map +1 -1
- package/dist/docs/publish-pr.d.ts.map +1 -1
- package/dist/docs/publish-pr.js +12 -1
- package/dist/docs/publish-pr.js.map +1 -1
- package/dist/docs/rot.d.ts +94 -0
- package/dist/docs/rot.d.ts.map +1 -0
- package/dist/docs/rot.js +298 -0
- package/dist/docs/rot.js.map +1 -0
- package/dist/docs/similarity-check.d.ts +2 -0
- package/dist/docs/similarity-check.d.ts.map +1 -1
- package/dist/docs/similarity-check.js +6 -49
- package/dist/docs/similarity-check.js.map +1 -1
- package/dist/docs/slug-rename.d.ts +84 -0
- package/dist/docs/slug-rename.d.ts.map +1 -0
- package/dist/docs/slug-rename.js +166 -0
- package/dist/docs/slug-rename.js.map +1 -0
- package/dist/docs/slug-similarity.d.ts +24 -0
- package/dist/docs/slug-similarity.d.ts.map +1 -0
- package/dist/docs/slug-similarity.js +63 -0
- package/dist/docs/slug-similarity.js.map +1 -0
- package/dist/docs/wikilinks.d.ts +20 -4
- package/dist/docs/wikilinks.d.ts.map +1 -1
- package/dist/docs/wikilinks.js +52 -7
- package/dist/docs/wikilinks.js.map +1 -1
- package/dist/docs/writer-registry.d.ts.map +1 -1
- package/dist/docs/writer-registry.js +33 -0
- package/dist/docs/writer-registry.js.map +1 -1
- package/dist/doctor/type-matrix-repair.d.ts +194 -0
- package/dist/doctor/type-matrix-repair.d.ts.map +1 -0
- package/dist/doctor/type-matrix-repair.js +662 -0
- package/dist/doctor/type-matrix-repair.js.map +1 -0
- package/dist/gateway-client/generated/index.d.ts +2 -2
- package/dist/gateway-client/generated/index.d.ts.map +1 -1
- package/dist/gateway-client/generated/index.js +1 -1
- package/dist/gateway-client/generated/index.js.map +1 -1
- package/dist/gateway-client/generated/namespaces.gen.d.ts +5 -0
- package/dist/gateway-client/generated/namespaces.gen.d.ts.map +1 -1
- package/dist/gateway-client/generated/namespaces.gen.js +6 -1
- package/dist/gateway-client/generated/namespaces.gen.js.map +1 -1
- package/dist/gateway-client/generated/sdk.gen.d.ts +21 -1
- package/dist/gateway-client/generated/sdk.gen.d.ts.map +1 -1
- package/dist/gateway-client/generated/sdk.gen.js +55 -0
- package/dist/gateway-client/generated/sdk.gen.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +222 -0
- package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
- package/dist/gc/gc-subsystem.d.ts +4 -0
- package/dist/gc/gc-subsystem.d.ts.map +1 -1
- package/dist/gc/gc-subsystem.js +16 -0
- package/dist/gc/gc-subsystem.js.map +1 -1
- package/dist/git/work-tree.d.ts +48 -0
- package/dist/git/work-tree.d.ts.map +1 -1
- package/dist/git/work-tree.js +63 -1
- package/dist/git/work-tree.js.map +1 -1
- package/dist/hooks/handlers/session-hooks.d.ts +5 -4
- package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/session-hooks.js +5 -21
- package/dist/hooks/handlers/session-hooks.js.map +1 -1
- package/dist/internal.d.ts +5 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +5 -1
- package/dist/internal.js.map +1 -1
- package/dist/memory/brain-doctor.d.ts.map +1 -1
- package/dist/memory/brain-doctor.js +6 -1
- package/dist/memory/brain-doctor.js.map +1 -1
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +6 -0
- package/dist/memory/engine-compat.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts +24 -0
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +43 -5
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/user-profile.d.ts +2 -1
- package/dist/nexus/user-profile.d.ts.map +1 -1
- package/dist/nexus/user-profile.js +13 -5
- package/dist/nexus/user-profile.js.map +1 -1
- package/dist/orchestrate/admission.d.ts +8 -0
- package/dist/orchestrate/admission.d.ts.map +1 -1
- package/dist/orchestrate/admission.js +3 -1
- package/dist/orchestrate/admission.js.map +1 -1
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +15 -4
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +43 -2
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/index.d.ts +6 -0
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +3 -0
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +3 -1
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/paths.d.ts +43 -1
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +51 -1
- package/dist/paths.js.map +1 -1
- package/dist/project-lifecycle.d.ts.map +1 -1
- package/dist/project-lifecycle.js +31 -0
- package/dist/project-lifecycle.js.map +1 -1
- package/dist/release/authorization.d.ts +156 -0
- package/dist/release/authorization.d.ts.map +1 -0
- package/dist/release/authorization.js +460 -0
- package/dist/release/authorization.js.map +1 -0
- package/dist/release/ci-evidence.d.ts +55 -4
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +251 -22
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/release/ci-run-evidence.d.ts +107 -0
- package/dist/release/ci-run-evidence.d.ts.map +1 -0
- package/dist/release/ci-run-evidence.js +234 -0
- package/dist/release/ci-run-evidence.js.map +1 -0
- package/dist/release/cut.d.ts +231 -0
- package/dist/release/cut.d.ts.map +1 -0
- package/dist/release/cut.js +775 -0
- package/dist/release/cut.js.map +1 -0
- package/dist/release/deploy-evidence.d.ts +173 -0
- package/dist/release/deploy-evidence.d.ts.map +1 -0
- package/dist/release/deploy-evidence.js +381 -0
- package/dist/release/deploy-evidence.js.map +1 -0
- package/dist/release/engine-ops.d.ts.map +1 -1
- package/dist/release/engine-ops.js +10 -4
- package/dist/release/engine-ops.js.map +1 -1
- package/dist/release/index.d.ts +3 -0
- package/dist/release/index.d.ts.map +1 -1
- package/dist/release/index.js +2 -0
- package/dist/release/index.js.map +1 -1
- package/dist/release/invariants/archive-reason-invariant.d.ts.map +1 -1
- package/dist/release/invariants/archive-reason-invariant.js +4 -1
- package/dist/release/invariants/archive-reason-invariant.js.map +1 -1
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +2 -6
- package/dist/release/open.js.map +1 -1
- package/dist/release/plan.d.ts +34 -2
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +30 -6
- package/dist/release/plan.js.map +1 -1
- package/dist/release/preflight-skip.d.ts +4 -19
- package/dist/release/preflight-skip.d.ts.map +1 -1
- package/dist/release/preflight-skip.js +5 -110
- package/dist/release/preflight-skip.js.map +1 -1
- package/dist/release/reconcile-latest.d.ts +29 -0
- package/dist/release/reconcile-latest.d.ts.map +1 -0
- package/dist/release/reconcile-latest.js +71 -0
- package/dist/release/reconcile-latest.js.map +1 -0
- package/dist/release/reconcile.d.ts +3 -1
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +18 -6
- package/dist/release/reconcile.js.map +1 -1
- package/dist/release/release-published.d.ts +27 -0
- package/dist/release/release-published.d.ts.map +1 -0
- package/dist/release/release-published.js +35 -0
- package/dist/release/release-published.js.map +1 -0
- package/dist/release/tty-confirm.d.ts +23 -0
- package/dist/release/tty-confirm.d.ts.map +1 -0
- package/dist/release/tty-confirm.js +50 -0
- package/dist/release/tty-confirm.js.map +1 -0
- package/dist/remote/index.js +1 -1
- package/dist/remote/index.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +103 -1
- package/dist/resources/admission-ledger.d.ts.map +1 -1
- package/dist/resources/admission-ledger.js +200 -17
- package/dist/resources/admission-ledger.js.map +1 -1
- package/dist/resources/agent-lease.d.ts +82 -0
- package/dist/resources/agent-lease.d.ts.map +1 -0
- package/dist/resources/agent-lease.js +167 -0
- package/dist/resources/agent-lease.js.map +1 -0
- package/dist/resources/governor.d.ts +27 -1
- package/dist/resources/governor.d.ts.map +1 -1
- package/dist/resources/governor.js +88 -4
- package/dist/resources/governor.js.map +1 -1
- package/dist/resources/hook-footprint.d.ts +13 -1
- package/dist/resources/hook-footprint.d.ts.map +1 -1
- package/dist/resources/hook-footprint.js +33 -7
- package/dist/resources/hook-footprint.js.map +1 -1
- package/dist/resources/run-governed.d.ts +25 -0
- package/dist/resources/run-governed.d.ts.map +1 -1
- package/dist/resources/run-governed.js +44 -3
- package/dist/resources/run-governed.js.map +1 -1
- package/dist/sagas/reconcile.d.ts.map +1 -1
- package/dist/sagas/reconcile.js +11 -0
- package/dist/sagas/reconcile.js.map +1 -1
- package/dist/scaffold/ensure-dirs.d.ts.map +1 -1
- package/dist/scaffold/ensure-dirs.js +8 -6
- package/dist/scaffold/ensure-dirs.js.map +1 -1
- package/dist/security/override-cap-setting.d.ts +132 -0
- package/dist/security/override-cap-setting.d.ts.map +1 -1
- package/dist/security/override-cap-setting.js +88 -10
- package/dist/security/override-cap-setting.js.map +1 -1
- package/dist/security/owner-override-authority.d.ts.map +1 -1
- package/dist/security/owner-override-authority.js +5 -1
- package/dist/security/owner-override-authority.js.map +1 -1
- package/dist/selfimprove/draft-pr.d.ts.map +1 -1
- package/dist/selfimprove/draft-pr.js +4 -1
- package/dist/selfimprove/draft-pr.js.map +1 -1
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +4 -16
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/briefing.d.ts +6 -0
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +34 -0
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/session-end-snapshot-entry.js +2 -2
- package/dist/sessions/session-end-snapshot-entry.js.map +1 -1
- package/dist/sessions/session-end-snapshot.js +4 -4
- package/dist/sessions/session-end-snapshot.js.map +1 -1
- package/dist/skills/injection/token.d.ts.map +1 -1
- package/dist/skills/injection/token.js +3 -6
- package/dist/skills/injection/token.js.map +1 -1
- package/dist/skills/orchestrator/spawn.d.ts.map +1 -1
- package/dist/skills/orchestrator/spawn.js +3 -4
- package/dist/skills/orchestrator/spawn.js.map +1 -1
- package/dist/skills/propose-patch.d.ts.map +1 -1
- package/dist/skills/propose-patch.js +4 -1
- package/dist/skills/propose-patch.js.map +1 -1
- package/dist/spawn/branch-integration.d.ts.map +1 -1
- package/dist/spawn/branch-integration.js +5 -2
- package/dist/spawn/branch-integration.js.map +1 -1
- package/dist/store/attachment-repair.d.ts.map +1 -1
- package/dist/store/attachment-repair.js +5 -4
- package/dist/store/attachment-repair.js.map +1 -1
- package/dist/store/attachment-store.d.ts +6 -0
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +19 -2
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/blob-ops.d.ts +1 -1
- package/dist/store/blob-ops.d.ts.map +1 -1
- package/dist/store/blob-ops.js +7 -3
- package/dist/store/blob-ops.js.map +1 -1
- package/dist/store/conduit-doc-history.d.ts +15 -1
- package/dist/store/conduit-doc-history.d.ts.map +1 -1
- package/dist/store/conduit-doc-history.js +16 -10
- package/dist/store/conduit-doc-history.js.map +1 -1
- package/dist/store/db-helpers.d.ts +29 -0
- package/dist/store/db-helpers.d.ts.map +1 -1
- package/dist/store/db-helpers.js +89 -1
- package/dist/store/db-helpers.js.map +1 -1
- package/dist/store/decision-adr-links.d.ts.map +1 -1
- package/dist/store/decision-adr-links.js +5 -2
- package/dist/store/decision-adr-links.js.map +1 -1
- package/dist/store/git-checkpoint.d.ts +11 -1
- package/dist/store/git-checkpoint.d.ts.map +1 -1
- package/dist/store/git-checkpoint.js +14 -3
- package/dist/store/git-checkpoint.js.map +1 -1
- package/dist/store/llmtxt-blob-adapter.d.ts.map +1 -1
- package/dist/store/llmtxt-blob-adapter.js +4 -1
- package/dist/store/llmtxt-blob-adapter.js.map +1 -1
- package/dist/store/schema/attachments.d.ts +7 -5
- package/dist/store/schema/attachments.d.ts.map +1 -1
- package/dist/store/schema/attachments.js +5 -2
- package/dist/store/schema/attachments.js.map +1 -1
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +6 -0
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/sqlite-backup.d.ts +6 -1
- package/dist/store/sqlite-backup.d.ts.map +1 -1
- package/dist/store/sqlite-backup.js +9 -5
- package/dist/store/sqlite-backup.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +63 -36
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/system/backup.d.ts +29 -0
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +240 -37
- package/dist/system/backup.js.map +1 -1
- package/dist/system/dependencies.d.ts +22 -0
- package/dist/system/dependencies.d.ts.map +1 -1
- package/dist/system/dependencies.js +49 -2
- package/dist/system/dependencies.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +23 -1
- package/dist/system/health.js.map +1 -1
- package/dist/task-work/claims.d.ts.map +1 -1
- package/dist/task-work/claims.js +14 -0
- package/dist/task-work/claims.js.map +1 -1
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +22 -0
- package/dist/task-work/index.js.map +1 -1
- package/dist/tasks/ac-coverage-gate.d.ts +27 -0
- package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
- package/dist/tasks/ac-coverage-gate.js +63 -28
- package/dist/tasks/ac-coverage-gate.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +26 -30
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +27 -50
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +13 -3
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +29 -11
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +39 -20
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/command-gate-cmd.d.ts +33 -0
- package/dist/tasks/command-gate-cmd.d.ts.map +1 -0
- package/dist/tasks/command-gate-cmd.js +45 -0
- package/dist/tasks/command-gate-cmd.js.map +1 -0
- package/dist/tasks/complete-ci.d.ts +9 -0
- package/dist/tasks/complete-ci.d.ts.map +1 -1
- package/dist/tasks/complete-ci.js +21 -4
- package/dist/tasks/complete-ci.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +14 -0
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/component-pr.d.ts +37 -0
- package/dist/tasks/component-pr.d.ts.map +1 -1
- package/dist/tasks/component-pr.js +106 -14
- package/dist/tasks/component-pr.js.map +1 -1
- package/dist/tasks/done-plan.d.ts +14 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +125 -15
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +4 -0
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/engine-converters.d.ts.map +1 -1
- package/dist/tasks/engine-converters.js +2 -0
- package/dist/tasks/engine-converters.js.map +1 -1
- package/dist/tasks/evidence-tree.d.ts +28 -1
- package/dist/tasks/evidence-tree.d.ts.map +1 -1
- package/dist/tasks/evidence-tree.js +66 -2
- package/dist/tasks/evidence-tree.js.map +1 -1
- package/dist/tasks/evidence.d.ts +39 -27
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +382 -188
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-notes.d.ts +17 -0
- package/dist/tasks/gate-notes.d.ts.map +1 -1
- package/dist/tasks/gate-notes.js.map +1 -1
- package/dist/tasks/gate-preview.d.ts +7 -1
- package/dist/tasks/gate-preview.d.ts.map +1 -1
- package/dist/tasks/gate-preview.js +30 -4
- package/dist/tasks/gate-preview.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts +42 -0
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +234 -94
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/manifest-scope.d.ts +115 -0
- package/dist/tasks/manifest-scope.d.ts.map +1 -0
- package/dist/tasks/manifest-scope.js +352 -0
- package/dist/tasks/manifest-scope.js.map +1 -0
- package/dist/tasks/merge-close.d.ts +376 -0
- package/dist/tasks/merge-close.d.ts.map +1 -0
- package/dist/tasks/merge-close.js +1497 -0
- package/dist/tasks/merge-close.js.map +1 -0
- package/dist/tasks/qa-run-binding.d.ts +5 -0
- package/dist/tasks/qa-run-binding.d.ts.map +1 -1
- package/dist/tasks/qa-run-binding.js +6 -1
- package/dist/tasks/qa-run-binding.js.map +1 -1
- package/dist/tasks/req.d.ts.map +1 -1
- package/dist/tasks/req.js +29 -1
- package/dist/tasks/req.js.map +1 -1
- package/dist/tasks/review-verdict.d.ts +159 -0
- package/dist/tasks/review-verdict.d.ts.map +1 -0
- package/dist/tasks/review-verdict.js +442 -0
- package/dist/tasks/review-verdict.js.map +1 -0
- package/dist/tasks/task-reparent.d.ts.map +1 -1
- package/dist/tasks/task-reparent.js +22 -3
- package/dist/tasks/task-reparent.js.map +1 -1
- package/dist/tasks/test-report-counts.d.ts +274 -0
- package/dist/tasks/test-report-counts.d.ts.map +1 -0
- package/dist/tasks/test-report-counts.js +746 -0
- package/dist/tasks/test-report-counts.js.map +1 -0
- package/dist/tasks/test-run-binding.d.ts +20 -45
- package/dist/tasks/test-run-binding.d.ts.map +1 -1
- package/dist/tasks/test-run-binding.js +34 -119
- package/dist/tasks/test-run-binding.js.map +1 -1
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +42 -0
- package/dist/tasks/update.js.map +1 -1
- package/dist/tasks/verification-policy.d.ts +12 -0
- package/dist/tasks/verification-policy.d.ts.map +1 -1
- package/dist/tasks/verification-policy.js +13 -0
- package/dist/tasks/verification-policy.js.map +1 -1
- package/dist/tasks/workspace-resolution.d.ts +225 -0
- package/dist/tasks/workspace-resolution.d.ts.map +1 -0
- package/dist/tasks/workspace-resolution.js +497 -0
- package/dist/tasks/workspace-resolution.js.map +1 -0
- package/dist/validation/doctor/checks.d.ts +20 -0
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +112 -0
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +37 -3
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/validation/validate-ops.d.ts +4 -0
- package/dist/validation/validate-ops.d.ts.map +1 -1
- package/dist/validation/validate-ops.js +79 -2
- package/dist/validation/validate-ops.js.map +1 -1
- package/dist/worktree/list.d.ts +4 -21
- package/dist/worktree/list.d.ts.map +1 -1
- package/dist/worktree/list.js +14 -44
- package/dist/worktree/list.js.map +1 -1
- package/dist/worktree/merged-cleanup.d.ts +63 -0
- package/dist/worktree/merged-cleanup.d.ts.map +1 -0
- package/dist/worktree/merged-cleanup.js +571 -0
- package/dist/worktree/merged-cleanup.js.map +1 -0
- package/dist/worktree/prune.d.ts +64 -2
- package/dist/worktree/prune.d.ts.map +1 -1
- package/dist/worktree/prune.js +151 -6
- package/dist/worktree/prune.js.map +1 -1
- package/dist/worktree/sentinel-index.d.ts +14 -0
- package/dist/worktree/sentinel-index.d.ts.map +1 -1
- package/dist/worktree/sentinel-index.js +17 -0
- package/dist/worktree/sentinel-index.js.map +1 -1
- package/dist/worktree/worktree-adopt.d.ts +1 -13
- package/dist/worktree/worktree-adopt.d.ts.map +1 -1
- package/dist/worktree/worktree-adopt.js +2 -17
- package/dist/worktree/worktree-adopt.js.map +1 -1
- package/package.json +12 -12
- package/schemas/project-context.schema.json +33 -0
- package/templates/CLEO-INJECTION.md +6 -16
- package/templates/CLEO-REFERENCE.md +27 -4
- package/templates/git-hooks/legacy-hashes.json +2 -1
- package/templates/git-hooks/pre-commit +43 -11
- package/templates/workflows/release-prepare.yml.tmpl +9 -88
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cut.js","sourceRoot":"","sources":["../../src/release/cut.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `deploy:<provider>/<deploymentId>@<sha>|<probe-url>` evidence (T14083).
|
|
3
|
+
*
|
|
4
|
+
* A deployment is proven by CLEO itself, never by the agent's word (option
|
|
5
|
+
* (b), a self-attested deploy record, was rejected): at verify time CLEO runs
|
|
6
|
+
* one bounded GET of the probe URL, which must return 2xx and name the
|
|
7
|
+
* deployed SHA in an `X-Commit` / `X-Version` header or in its body. A probe
|
|
8
|
+
* that names no SHA is refused with the fix; a bare 2xx never stands in. The
|
|
9
|
+
* deployed SHA must contain the task's implemented commits (ancestor or
|
|
10
|
+
* patch-equivalent, the T13003 rule in `boundHeadGapReason`), which
|
|
11
|
+
* `cleo complete` re-checks; the probe is not re-run.
|
|
12
|
+
*
|
|
13
|
+
* The atom satisfies only the gates the project lists in
|
|
14
|
+
* `evidence.deploySatisfies`: there is no default mapping, and it never
|
|
15
|
+
* stands for `testsPassed` unless the project lists it.
|
|
16
|
+
*
|
|
17
|
+
* @task T14083
|
|
18
|
+
*/
|
|
19
|
+
import type { EvidenceAtom, VerificationGate } from '@cleocode/contracts';
|
|
20
|
+
import type { EvidenceRoots } from '../tasks/evidence.js';
|
|
21
|
+
/** A validated `deploy:` atom. */
|
|
22
|
+
export type DeployEvidenceAtom = Extract<EvidenceAtom, {
|
|
23
|
+
kind: 'deploy';
|
|
24
|
+
}>;
|
|
25
|
+
/** Default probe timeout, covering the request and the body read. */
|
|
26
|
+
export declare const DEPLOY_PROBE_TIMEOUT_MS = 10000;
|
|
27
|
+
/** The most response body a probe reads (and hashes) before it stops. */
|
|
28
|
+
export declare const DEPLOY_PROBE_MAX_BODY_BYTES: number;
|
|
29
|
+
/** A refusal to accept a `deploy:` atom. */
|
|
30
|
+
interface DeployRefusal {
|
|
31
|
+
ok: false;
|
|
32
|
+
codeName: string;
|
|
33
|
+
reason: string;
|
|
34
|
+
}
|
|
35
|
+
/** A credential for a deployment provider's API: how to send it. */
|
|
36
|
+
export interface DeployCredential {
|
|
37
|
+
/** The header to send it in. */
|
|
38
|
+
header: 'Authorization' | 'Project-Access-Token';
|
|
39
|
+
/** The header value. */
|
|
40
|
+
value: string;
|
|
41
|
+
}
|
|
42
|
+
/** What a provider's API says about one deployment. */
|
|
43
|
+
export type DeployProviderVerdict = {
|
|
44
|
+
ok: true;
|
|
45
|
+
status: string;
|
|
46
|
+
commitSha: string;
|
|
47
|
+
} | {
|
|
48
|
+
ok: false;
|
|
49
|
+
reason: string;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* A deployment provider CLEO can ask about a deployment (T14091): whether it
|
|
53
|
+
* exists, is the live one, and which commit it was built from.
|
|
54
|
+
*/
|
|
55
|
+
export interface DeployProviderAdapter {
|
|
56
|
+
/** Provider name, as the `deploy:` atom spells it. */
|
|
57
|
+
readonly name: string;
|
|
58
|
+
/** The env vars the credential comes from, for the not-verified reason. */
|
|
59
|
+
readonly credentialHint: string;
|
|
60
|
+
/** The user's credential from the environment, read now and never stored, or null. */
|
|
61
|
+
credential(env: NodeJS.ProcessEnv): DeployCredential | null;
|
|
62
|
+
/** Ask the provider about a deployment. */
|
|
63
|
+
verify(deploymentId: string, credential: DeployCredential, fetchImpl: typeof fetch): Promise<DeployProviderVerdict>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Railway (T14091): the deployment must exist, have status `SUCCESS`, and be
|
|
67
|
+
* the newest successful deployment of its service in its environment (the
|
|
68
|
+
* live one); its commit is `meta.commitHash`. The credential comes from the
|
|
69
|
+
* environment only: `RAILWAY_API_TOKEN` (an account token, sent as Bearer) or
|
|
70
|
+
* `RAILWAY_TOKEN` (a project token, sent as `Project-Access-Token`). CLEO never
|
|
71
|
+
* reads another tool's login file.
|
|
72
|
+
*/
|
|
73
|
+
export declare const railwayDeployAdapter: DeployProviderAdapter;
|
|
74
|
+
/** The providers CLEO can ask about a deployment, by atom provider name (T14091). */
|
|
75
|
+
export declare const DEPLOY_PROVIDER_ADAPTERS: Readonly<Record<string, DeployProviderAdapter>>;
|
|
76
|
+
/** Seams for the provider check (tests). */
|
|
77
|
+
export interface DeployProviderCheckOptions {
|
|
78
|
+
/** Adapters by provider name (default {@link DEPLOY_PROVIDER_ADAPTERS}). */
|
|
79
|
+
adapters?: Readonly<Record<string, DeployProviderAdapter>>;
|
|
80
|
+
/** Environment the credential is read from (default `process.env`). */
|
|
81
|
+
env?: NodeJS.ProcessEnv;
|
|
82
|
+
/** The fetch the adapter uses (default `fetch`). */
|
|
83
|
+
fetch?: typeof fetch;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Ask the deployment's provider about it (T14091). With an adapter and the
|
|
87
|
+
* user's credential: refuse a deployment that does not exist, is not live, or
|
|
88
|
+
* was built from another commit than `headSha` (an exact match), naming the
|
|
89
|
+
* deployment id and both commits; otherwise record it verified. With no
|
|
90
|
+
* adapter or no credential the probe alone stands, recorded as not verified
|
|
91
|
+
* with why. The credential is read now and never stored.
|
|
92
|
+
*
|
|
93
|
+
* @param provider - The atom's provider.
|
|
94
|
+
* @param deploymentId - The atom's deployment id.
|
|
95
|
+
* @param headSha - The deployed commit (full SHA).
|
|
96
|
+
* @param options - Test seams.
|
|
97
|
+
* @returns The provider check for the atom, or the refusal.
|
|
98
|
+
*/
|
|
99
|
+
export declare function checkDeployWithProvider(provider: string, deploymentId: string, headSha: string, options?: DeployProviderCheckOptions): Promise<{
|
|
100
|
+
ok: true;
|
|
101
|
+
check: NonNullable<DeployEvidenceAtom['providerCheck']>;
|
|
102
|
+
} | DeployRefusal>;
|
|
103
|
+
/** Probe tuning, for tests and slow hosts. */
|
|
104
|
+
export interface DeployProbeOptions {
|
|
105
|
+
/** Abort the request and body read after this long (default {@link DEPLOY_PROBE_TIMEOUT_MS}). */
|
|
106
|
+
timeoutMs?: number;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The gates `evidence.deploySatisfies` lists (T14083): valid gate names only,
|
|
110
|
+
* de-duplicated. Empty when the key is missing, not an array or names none.
|
|
111
|
+
*
|
|
112
|
+
* @param projectContext - Parsed `.cleo/project-context.json`, or `null`.
|
|
113
|
+
* @returns The gates a probed deployment satisfies in this project.
|
|
114
|
+
* @example
|
|
115
|
+
* ```ts
|
|
116
|
+
* readDeploySatisfies({ evidence: { deploySatisfies: ['documented'] } }); // ['documented']
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export declare function readDeploySatisfies(projectContext: Record<string, unknown> | null): VerificationGate[];
|
|
120
|
+
/**
|
|
121
|
+
* Probe a deployment (T14083): one bounded GET of `url` that must return 2xx
|
|
122
|
+
* and name `sha` (full, or a 7+ character prefix of it) in an `X-Commit` or
|
|
123
|
+
* `X-Version` header, else in the first {@link DEPLOY_PROBE_MAX_BODY_BYTES}
|
|
124
|
+
* of its body. Refuses a URL whose path or query names the SHA (an echoing
|
|
125
|
+
* endpoint would prove nothing), a timeout, an unreachable host, a non-2xx
|
|
126
|
+
* status, and a response naming no SHA or another commit, each with the fix.
|
|
127
|
+
*
|
|
128
|
+
* @param url - The probe URL (`http://` or `https://`).
|
|
129
|
+
* @param sha - The deployed commit's full SHA.
|
|
130
|
+
* @param options - Probe tuning.
|
|
131
|
+
* @returns The recorded probe, or the refusal.
|
|
132
|
+
* @example
|
|
133
|
+
* ```ts
|
|
134
|
+
* const probe = await probeDeployment('https://api.example.com/health', fullSha);
|
|
135
|
+
* if (probe.ok) console.log(probe.probe.shaSource);
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
export declare function probeDeployment(url: string, sha: string, options?: DeployProbeOptions): Promise<{
|
|
139
|
+
ok: true;
|
|
140
|
+
probe: DeployEvidenceAtom['probe'];
|
|
141
|
+
} | DeployRefusal>;
|
|
142
|
+
/**
|
|
143
|
+
* Validate a parsed `deploy:` atom (T14083): the project must list at least
|
|
144
|
+
* one gate in `evidence.deploySatisfies`, git must know the deployed commit
|
|
145
|
+
* (resolved to its full SHA), and the probe must pass
|
|
146
|
+
* ({@link probeDeployment}). Containment of the task's implemented commits is
|
|
147
|
+
* judged with the gate (`boundHeadGapReason`), at verify and at complete.
|
|
148
|
+
*
|
|
149
|
+
* @param parsed - The parsed atom.
|
|
150
|
+
* @param roots - Store root (project context) and execution root (git).
|
|
151
|
+
* @param opts - The parsed project context, the task id and probe tuning.
|
|
152
|
+
* @returns The validated atom, or the refusal.
|
|
153
|
+
* @example
|
|
154
|
+
* ```ts
|
|
155
|
+
* const r = await resolveDeployEvidenceAtom(parsed, roots, { projectContext, taskId: 'T1' });
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
export declare function resolveDeployEvidenceAtom(parsed: {
|
|
159
|
+
provider: string;
|
|
160
|
+
deploymentId: string;
|
|
161
|
+
sha: string;
|
|
162
|
+
probeUrl: string;
|
|
163
|
+
}, roots: EvidenceRoots, opts: {
|
|
164
|
+
projectContext: Record<string, unknown> | null;
|
|
165
|
+
taskId?: string;
|
|
166
|
+
probe?: DeployProbeOptions;
|
|
167
|
+
provider?: DeployProviderCheckOptions;
|
|
168
|
+
}): Promise<{
|
|
169
|
+
ok: true;
|
|
170
|
+
atom: DeployEvidenceAtom;
|
|
171
|
+
} | DeployRefusal>;
|
|
172
|
+
export {};
|
|
173
|
+
//# sourceMappingURL=deploy-evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-evidence.d.ts","sourceRoot":"","sources":["../../src/release/deploy-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `deploy:<provider>/<deploymentId>@<sha>|<probe-url>` evidence (T14083).
|
|
3
|
+
*
|
|
4
|
+
* A deployment is proven by CLEO itself, never by the agent's word (option
|
|
5
|
+
* (b), a self-attested deploy record, was rejected): at verify time CLEO runs
|
|
6
|
+
* one bounded GET of the probe URL, which must return 2xx and name the
|
|
7
|
+
* deployed SHA in an `X-Commit` / `X-Version` header or in its body. A probe
|
|
8
|
+
* that names no SHA is refused with the fix; a bare 2xx never stands in. The
|
|
9
|
+
* deployed SHA must contain the task's implemented commits (ancestor or
|
|
10
|
+
* patch-equivalent, the T13003 rule in `boundHeadGapReason`), which
|
|
11
|
+
* `cleo complete` re-checks; the probe is not re-run.
|
|
12
|
+
*
|
|
13
|
+
* The atom satisfies only the gates the project lists in
|
|
14
|
+
* `evidence.deploySatisfies`: there is no default mapping, and it never
|
|
15
|
+
* stands for `testsPassed` unless the project lists it.
|
|
16
|
+
*
|
|
17
|
+
* @task T14083
|
|
18
|
+
*/
|
|
19
|
+
import { execFileSync } from 'node:child_process';
|
|
20
|
+
import { createHash } from 'node:crypto';
|
|
21
|
+
import { discoveryEnv } from '../git/work-tree.js';
|
|
22
|
+
import { isVerificationGate } from '../tasks/verification-policy.js';
|
|
23
|
+
/** Default probe timeout, covering the request and the body read. */
|
|
24
|
+
export const DEPLOY_PROBE_TIMEOUT_MS = 10_000;
|
|
25
|
+
/** The most response body a probe reads (and hashes) before it stops. */
|
|
26
|
+
export const DEPLOY_PROBE_MAX_BODY_BYTES = 64 * 1024;
|
|
27
|
+
/** Railway's public GraphQL API. */
|
|
28
|
+
const RAILWAY_GRAPHQL = 'https://backboard.railway.com/graphql/v2';
|
|
29
|
+
/** Run one Railway GraphQL query; the `data` object, or why not. */
|
|
30
|
+
async function railwayQuery(query, variables, credential, fetchImpl) {
|
|
31
|
+
try {
|
|
32
|
+
const response = await fetchImpl(RAILWAY_GRAPHQL, {
|
|
33
|
+
method: 'POST',
|
|
34
|
+
headers: {
|
|
35
|
+
'content-type': 'application/json',
|
|
36
|
+
[credential.header]: credential.header === 'Authorization' ? `Bearer ${credential.value}` : credential.value,
|
|
37
|
+
},
|
|
38
|
+
body: JSON.stringify({ query, variables }),
|
|
39
|
+
signal: AbortSignal.timeout(DEPLOY_PROBE_TIMEOUT_MS),
|
|
40
|
+
});
|
|
41
|
+
if (!response.ok)
|
|
42
|
+
return { ok: false, reason: `Railway API answered HTTP ${response.status}` };
|
|
43
|
+
const body = (await response.json());
|
|
44
|
+
if (body.errors?.length)
|
|
45
|
+
return { ok: false, reason: `Railway API: ${body.errors.map((e) => e.message).join('; ')}` };
|
|
46
|
+
return { ok: true, data: body.data ?? {} };
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
return {
|
|
50
|
+
ok: false,
|
|
51
|
+
reason: `Railway API unreachable (${err instanceof Error ? err.message : String(err)})`,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Railway (T14091): the deployment must exist, have status `SUCCESS`, and be
|
|
57
|
+
* the newest successful deployment of its service in its environment (the
|
|
58
|
+
* live one); its commit is `meta.commitHash`. The credential comes from the
|
|
59
|
+
* environment only: `RAILWAY_API_TOKEN` (an account token, sent as Bearer) or
|
|
60
|
+
* `RAILWAY_TOKEN` (a project token, sent as `Project-Access-Token`). CLEO never
|
|
61
|
+
* reads another tool's login file.
|
|
62
|
+
*/
|
|
63
|
+
export const railwayDeployAdapter = {
|
|
64
|
+
name: 'railway',
|
|
65
|
+
credentialHint: 'RAILWAY_API_TOKEN/RAILWAY_TOKEN',
|
|
66
|
+
credential(env) {
|
|
67
|
+
const account = env['RAILWAY_API_TOKEN']?.trim();
|
|
68
|
+
if (account)
|
|
69
|
+
return { header: 'Authorization', value: account };
|
|
70
|
+
const project = env['RAILWAY_TOKEN']?.trim();
|
|
71
|
+
return project ? { header: 'Project-Access-Token', value: project } : null;
|
|
72
|
+
},
|
|
73
|
+
async verify(deploymentId, credential, fetchImpl) {
|
|
74
|
+
const one = await railwayQuery('query($id: String!) { deployment(id: $id) { id status meta serviceId environmentId } }', { id: deploymentId }, credential, fetchImpl);
|
|
75
|
+
if (!one.ok)
|
|
76
|
+
return one;
|
|
77
|
+
const deployment = one.data['deployment'];
|
|
78
|
+
if (!deployment)
|
|
79
|
+
return { ok: false, reason: `Railway has no deployment ${deploymentId}` };
|
|
80
|
+
const status = deployment.status ?? 'UNKNOWN';
|
|
81
|
+
const commitSha = typeof deployment.meta?.commitHash === 'string' ? deployment.meta.commitHash : '';
|
|
82
|
+
if (status !== 'SUCCESS')
|
|
83
|
+
return {
|
|
84
|
+
ok: false,
|
|
85
|
+
reason: `Railway deployment ${deploymentId} is ${status}, not live (SUCCESS)`,
|
|
86
|
+
};
|
|
87
|
+
const live = await railwayQuery('query($s: String!, $e: String!) { deployments(first: 1, input: { serviceId: $s, environmentId: $e, status: { in: [SUCCESS] } }) { edges { node { id } } } }', { s: deployment.serviceId, e: deployment.environmentId }, credential, fetchImpl);
|
|
88
|
+
if (!live.ok)
|
|
89
|
+
return live;
|
|
90
|
+
const edges = live.data['deployments']
|
|
91
|
+
?.edges;
|
|
92
|
+
const liveId = edges?.[0]?.node?.id;
|
|
93
|
+
if (liveId !== deploymentId)
|
|
94
|
+
return {
|
|
95
|
+
ok: false,
|
|
96
|
+
reason: `Railway deployment ${deploymentId} succeeded but is not the live one (the live deployment is ${liveId ?? 'unknown'})`,
|
|
97
|
+
};
|
|
98
|
+
return { ok: true, status, commitSha };
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
/** The providers CLEO can ask about a deployment, by atom provider name (T14091). */
|
|
102
|
+
export const DEPLOY_PROVIDER_ADAPTERS = {
|
|
103
|
+
railway: railwayDeployAdapter,
|
|
104
|
+
};
|
|
105
|
+
/** Whether two commit SHAs name the same commit (one a 7+ character prefix of the other). */
|
|
106
|
+
function sameCommit(a, b) {
|
|
107
|
+
const x = a.toLowerCase();
|
|
108
|
+
const y = b.toLowerCase();
|
|
109
|
+
return x.length >= 7 && y.length >= 7 && (x.startsWith(y) || y.startsWith(x));
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Ask the deployment's provider about it (T14091). With an adapter and the
|
|
113
|
+
* user's credential: refuse a deployment that does not exist, is not live, or
|
|
114
|
+
* was built from another commit than `headSha` (an exact match), naming the
|
|
115
|
+
* deployment id and both commits; otherwise record it verified. With no
|
|
116
|
+
* adapter or no credential the probe alone stands, recorded as not verified
|
|
117
|
+
* with why. The credential is read now and never stored.
|
|
118
|
+
*
|
|
119
|
+
* @param provider - The atom's provider.
|
|
120
|
+
* @param deploymentId - The atom's deployment id.
|
|
121
|
+
* @param headSha - The deployed commit (full SHA).
|
|
122
|
+
* @param options - Test seams.
|
|
123
|
+
* @returns The provider check for the atom, or the refusal.
|
|
124
|
+
*/
|
|
125
|
+
export async function checkDeployWithProvider(provider, deploymentId, headSha, options = {}) {
|
|
126
|
+
const adapter = (options.adapters ?? DEPLOY_PROVIDER_ADAPTERS)[provider];
|
|
127
|
+
if (!adapter)
|
|
128
|
+
return {
|
|
129
|
+
ok: true,
|
|
130
|
+
check: {
|
|
131
|
+
verified: false,
|
|
132
|
+
reason: `no adapter for ${provider}: the deployment id ${deploymentId} was not checked with the provider; the probe alone stands`,
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
const credential = adapter.credential(options.env ?? process.env);
|
|
136
|
+
if (credential === null)
|
|
137
|
+
return {
|
|
138
|
+
ok: true,
|
|
139
|
+
check: {
|
|
140
|
+
verified: false,
|
|
141
|
+
reason: `no ${adapter.credentialHint}: the deployment id ${deploymentId} was not checked with ${provider}; the probe alone stands`,
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
const verdict = await adapter.verify(deploymentId, credential, options.fetch ?? fetch);
|
|
145
|
+
if (!verdict.ok)
|
|
146
|
+
// @sync-invariant none:input-shape a deployment its provider does not confirm live is refused before anything is written
|
|
147
|
+
return {
|
|
148
|
+
ok: false,
|
|
149
|
+
codeName: 'E_EVIDENCE_INVALID',
|
|
150
|
+
reason: `deploy: ${verdict.reason}; the atom names commit ${headSha.slice(0, 12)}.`,
|
|
151
|
+
};
|
|
152
|
+
if (!sameCommit(verdict.commitSha, headSha))
|
|
153
|
+
// @sync-invariant none:input-shape a deployment built from another commit is refused before anything is written
|
|
154
|
+
return {
|
|
155
|
+
ok: false,
|
|
156
|
+
codeName: 'E_EVIDENCE_INVALID',
|
|
157
|
+
reason: `deploy: ${provider} deployment ${deploymentId} was built from ${verdict.commitSha.slice(0, 12) || 'an unknown commit'}, ` +
|
|
158
|
+
`not ${headSha.slice(0, 12)} as the atom says. Name the deployment of ${headSha.slice(0, 12)}, or deploy it.`,
|
|
159
|
+
};
|
|
160
|
+
return {
|
|
161
|
+
ok: true,
|
|
162
|
+
check: {
|
|
163
|
+
verified: true,
|
|
164
|
+
status: verdict.status,
|
|
165
|
+
commitSha: verdict.commitSha,
|
|
166
|
+
checkedAt: new Date().toISOString(),
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* The gates `evidence.deploySatisfies` lists (T14083): valid gate names only,
|
|
172
|
+
* de-duplicated. Empty when the key is missing, not an array or names none.
|
|
173
|
+
*
|
|
174
|
+
* @param projectContext - Parsed `.cleo/project-context.json`, or `null`.
|
|
175
|
+
* @returns The gates a probed deployment satisfies in this project.
|
|
176
|
+
* @example
|
|
177
|
+
* ```ts
|
|
178
|
+
* readDeploySatisfies({ evidence: { deploySatisfies: ['documented'] } }); // ['documented']
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
export function readDeploySatisfies(projectContext) {
|
|
182
|
+
const evidence = projectContext?.['evidence'];
|
|
183
|
+
const listed = typeof evidence === 'object' && evidence !== null && 'deploySatisfies' in evidence
|
|
184
|
+
? evidence.deploySatisfies
|
|
185
|
+
: undefined;
|
|
186
|
+
if (!Array.isArray(listed))
|
|
187
|
+
return [];
|
|
188
|
+
const gates = listed.filter((g) => typeof g === 'string' && isVerificationGate(g));
|
|
189
|
+
return [...new Set(gates)];
|
|
190
|
+
}
|
|
191
|
+
/** Commit-like hex tokens in a header or body. */
|
|
192
|
+
function shaTokens(text) {
|
|
193
|
+
return (text.match(/\b[0-9a-f]{7,40}\b/gi) ?? []).map((t) => t.toLowerCase());
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Whether a probe URL's path or query names the deployed commit (any 7+
|
|
197
|
+
* character prefix, case-insensitive): an echoing endpoint would then "name"
|
|
198
|
+
* the SHA the agent wrote, proving nothing (review of #2538).
|
|
199
|
+
*/
|
|
200
|
+
function urlNamesSha(url, sha) {
|
|
201
|
+
let tail;
|
|
202
|
+
try {
|
|
203
|
+
const parsed = new URL(url);
|
|
204
|
+
tail = `${parsed.pathname}${parsed.search}`;
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
tail = url;
|
|
208
|
+
}
|
|
209
|
+
let decoded = tail;
|
|
210
|
+
try {
|
|
211
|
+
decoded = decodeURIComponent(tail);
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
// A malformed escape: judge the raw text.
|
|
215
|
+
}
|
|
216
|
+
return decoded.toLowerCase().includes(sha.slice(0, 7).toLowerCase());
|
|
217
|
+
}
|
|
218
|
+
/** Read at most `max` bytes of a response body, then stop the stream. */
|
|
219
|
+
async function readBounded(response, max) {
|
|
220
|
+
const reader = response.body?.getReader();
|
|
221
|
+
if (!reader)
|
|
222
|
+
return Buffer.alloc(0);
|
|
223
|
+
const chunks = [];
|
|
224
|
+
let size = 0;
|
|
225
|
+
while (size < max) {
|
|
226
|
+
const { done, value } = await reader.read();
|
|
227
|
+
if (done)
|
|
228
|
+
break;
|
|
229
|
+
chunks.push(Buffer.from(value));
|
|
230
|
+
size += value.byteLength;
|
|
231
|
+
}
|
|
232
|
+
await reader.cancel().catch(() => undefined);
|
|
233
|
+
return Buffer.concat(chunks).subarray(0, max);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Probe a deployment (T14083): one bounded GET of `url` that must return 2xx
|
|
237
|
+
* and name `sha` (full, or a 7+ character prefix of it) in an `X-Commit` or
|
|
238
|
+
* `X-Version` header, else in the first {@link DEPLOY_PROBE_MAX_BODY_BYTES}
|
|
239
|
+
* of its body. Refuses a URL whose path or query names the SHA (an echoing
|
|
240
|
+
* endpoint would prove nothing), a timeout, an unreachable host, a non-2xx
|
|
241
|
+
* status, and a response naming no SHA or another commit, each with the fix.
|
|
242
|
+
*
|
|
243
|
+
* @param url - The probe URL (`http://` or `https://`).
|
|
244
|
+
* @param sha - The deployed commit's full SHA.
|
|
245
|
+
* @param options - Probe tuning.
|
|
246
|
+
* @returns The recorded probe, or the refusal.
|
|
247
|
+
* @example
|
|
248
|
+
* ```ts
|
|
249
|
+
* const probe = await probeDeployment('https://api.example.com/health', fullSha);
|
|
250
|
+
* if (probe.ok) console.log(probe.probe.shaSource);
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
export async function probeDeployment(url, sha, options = {}) {
|
|
254
|
+
const timeoutMs = options.timeoutMs ?? DEPLOY_PROBE_TIMEOUT_MS;
|
|
255
|
+
const refuse = (reason) => ({
|
|
256
|
+
ok: false,
|
|
257
|
+
codeName: 'E_EVIDENCE_INVALID',
|
|
258
|
+
reason: `deploy probe ${url}: ${reason}`,
|
|
259
|
+
});
|
|
260
|
+
if (urlNamesSha(url, sha)) {
|
|
261
|
+
// @sync-invariant none:input-shape a probe URL that carries the deployed SHA is refused before anything is written
|
|
262
|
+
return refuse(`its URL carries the deployed commit (${sha.slice(0, 7)}…) in its path or query, so an ` +
|
|
263
|
+
'endpoint that echoes its request would name the SHA without proving which build is ' +
|
|
264
|
+
'live. Probe an endpoint whose URL does not name the commit (e.g. /health) and that ' +
|
|
265
|
+
'reports the SHA itself.');
|
|
266
|
+
}
|
|
267
|
+
let response;
|
|
268
|
+
let body;
|
|
269
|
+
try {
|
|
270
|
+
const signal = AbortSignal.timeout(timeoutMs);
|
|
271
|
+
response = await fetch(url, { method: 'GET', redirect: 'follow', signal });
|
|
272
|
+
body = await readBounded(response, DEPLOY_PROBE_MAX_BODY_BYTES);
|
|
273
|
+
}
|
|
274
|
+
catch (err) {
|
|
275
|
+
const name = err instanceof Error ? err.name : '';
|
|
276
|
+
// @sync-invariant none:input-shape an unreachable or slow probe is refused before anything is written
|
|
277
|
+
return refuse(name === 'TimeoutError' || name === 'AbortError'
|
|
278
|
+
? `no complete response within ${timeoutMs} ms; the deployment is not proven live.`
|
|
279
|
+
: `could not be reached (${err instanceof Error ? err.message : String(err)}).`);
|
|
280
|
+
}
|
|
281
|
+
if (response.status < 200 || response.status > 299) {
|
|
282
|
+
// @sync-invariant none:input-shape a probe that does not answer 2xx is refused before anything is written
|
|
283
|
+
return refuse(`returned HTTP ${response.status}; a deploy probe must return 2xx.`);
|
|
284
|
+
}
|
|
285
|
+
const names = (text) => text !== null && shaTokens(text).some((t) => sha.startsWith(t));
|
|
286
|
+
const sources = [
|
|
287
|
+
['x-commit', response.headers.get('x-commit')],
|
|
288
|
+
['x-version', response.headers.get('x-version')],
|
|
289
|
+
['body', body.toString('utf-8')],
|
|
290
|
+
];
|
|
291
|
+
const named = sources.find(([, text]) => names(text));
|
|
292
|
+
if (!named) {
|
|
293
|
+
const others = [...new Set(sources.flatMap(([, text]) => shaTokens(text ?? '')))];
|
|
294
|
+
// @sync-invariant none:input-shape a probe that does not name the deployed SHA is refused before anything is written
|
|
295
|
+
return refuse(others.length > 0
|
|
296
|
+
? `names ${others.slice(0, 3).join(', ')}, not the deployed commit ${sha.slice(0, 12)}: ` +
|
|
297
|
+
'it serves another build. Probe the deployment of this commit.'
|
|
298
|
+
: `returned ${response.status} but names no commit SHA, so it does not prove which build ` +
|
|
299
|
+
`is live. Serve the deployed SHA in an X-Commit (or X-Version) response header, or in ` +
|
|
300
|
+
`the body (e.g. {"commit":"${sha.slice(0, 12)}"}), and verify again.`);
|
|
301
|
+
}
|
|
302
|
+
return {
|
|
303
|
+
ok: true,
|
|
304
|
+
probe: {
|
|
305
|
+
status: response.status,
|
|
306
|
+
probedAt: new Date().toISOString(),
|
|
307
|
+
bodySha256: createHash('sha256').update(body).digest('hex'),
|
|
308
|
+
shaSource: named[0],
|
|
309
|
+
},
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Validate a parsed `deploy:` atom (T14083): the project must list at least
|
|
314
|
+
* one gate in `evidence.deploySatisfies`, git must know the deployed commit
|
|
315
|
+
* (resolved to its full SHA), and the probe must pass
|
|
316
|
+
* ({@link probeDeployment}). Containment of the task's implemented commits is
|
|
317
|
+
* judged with the gate (`boundHeadGapReason`), at verify and at complete.
|
|
318
|
+
*
|
|
319
|
+
* @param parsed - The parsed atom.
|
|
320
|
+
* @param roots - Store root (project context) and execution root (git).
|
|
321
|
+
* @param opts - The parsed project context, the task id and probe tuning.
|
|
322
|
+
* @returns The validated atom, or the refusal.
|
|
323
|
+
* @example
|
|
324
|
+
* ```ts
|
|
325
|
+
* const r = await resolveDeployEvidenceAtom(parsed, roots, { projectContext, taskId: 'T1' });
|
|
326
|
+
* ```
|
|
327
|
+
*/
|
|
328
|
+
export async function resolveDeployEvidenceAtom(parsed, roots, opts) {
|
|
329
|
+
const satisfiesGates = readDeploySatisfies(opts.projectContext);
|
|
330
|
+
if (satisfiesGates.length === 0) {
|
|
331
|
+
// @sync-invariant none:input-shape a deploy: atom in a project that maps it to no gate is refused before anything is written
|
|
332
|
+
return {
|
|
333
|
+
ok: false,
|
|
334
|
+
codeName: 'E_EVIDENCE_INSUFFICIENT',
|
|
335
|
+
reason: 'deploy: evidence satisfies no gate in this project: evidence.deploySatisfies lists none. ' +
|
|
336
|
+
'There is no default mapping. List the gates a probed deployment proves in ' +
|
|
337
|
+
'.cleo/project-context.json, e.g. "evidence": { "deploySatisfies": ["<gate>"] } ' +
|
|
338
|
+
'(testsPassed only if a live deployment really is your test).',
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
let headSha;
|
|
342
|
+
try {
|
|
343
|
+
headSha = execFileSync('git', ['rev-parse', '--verify', '--quiet', `${parsed.sha}^{commit}`], {
|
|
344
|
+
cwd: roots.executionRoot,
|
|
345
|
+
encoding: 'utf-8',
|
|
346
|
+
env: discoveryEnv(),
|
|
347
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
348
|
+
}).trim();
|
|
349
|
+
}
|
|
350
|
+
catch {
|
|
351
|
+
// @sync-invariant none:input-shape a deployed commit git cannot read is refused before anything is written
|
|
352
|
+
return {
|
|
353
|
+
ok: false,
|
|
354
|
+
codeName: 'E_EVIDENCE_INVALID',
|
|
355
|
+
reason: `deploy: commit ${parsed.sha} is not in ${roots.executionRoot}, so CLEO cannot check that it ` +
|
|
356
|
+
"contains the task's work. Fetch it (git fetch origin) and verify again.",
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
const probe = await probeDeployment(parsed.probeUrl, headSha, opts.probe);
|
|
360
|
+
if (!probe.ok)
|
|
361
|
+
return probe;
|
|
362
|
+
// T14091: the provider's own word, when CLEO can ask it.
|
|
363
|
+
const checked = await checkDeployWithProvider(parsed.provider, parsed.deploymentId, headSha, opts.provider);
|
|
364
|
+
if (!checked.ok)
|
|
365
|
+
return checked;
|
|
366
|
+
return {
|
|
367
|
+
ok: true,
|
|
368
|
+
atom: {
|
|
369
|
+
kind: 'deploy',
|
|
370
|
+
provider: parsed.provider,
|
|
371
|
+
deploymentId: parsed.deploymentId,
|
|
372
|
+
headSha,
|
|
373
|
+
probeUrl: parsed.probeUrl,
|
|
374
|
+
probe: probe.probe,
|
|
375
|
+
satisfiesGates,
|
|
376
|
+
providerCheck: checked.check,
|
|
377
|
+
...(opts.taskId !== undefined ? { taskId: opts.taskId } : {}),
|
|
378
|
+
},
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
//# sourceMappingURL=deploy-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-evidence.js","sourceRoot":"","sources":["../../src/release/deploy-evidence.ts"],"names":[],"mappings":"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"}
|