@cleocode/core 2026.9.19 → 2026.9.21
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/dist/adapters/discovery.d.ts.map +1 -1
- package/dist/adapters/discovery.js +3 -10
- package/dist/adapters/discovery.js.map +1 -1
- package/dist/adrs/link-pipeline.js +2 -2
- package/dist/adrs/link-pipeline.js.map +1 -1
- package/dist/adrs/parse.js +3 -3
- package/dist/adrs/parse.js.map +1 -1
- package/dist/agents/invoke-meta-agent.d.ts.map +1 -1
- package/dist/agents/invoke-meta-agent.js +8 -4
- package/dist/agents/invoke-meta-agent.js.map +1 -1
- package/dist/bootstrap.d.ts +5 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +41 -21
- package/dist/bootstrap.js.map +1 -1
- package/dist/cloud/crypto.d.ts +47 -0
- package/dist/cloud/crypto.d.ts.map +1 -0
- package/dist/cloud/crypto.js +223 -0
- package/dist/cloud/crypto.js.map +1 -0
- package/dist/cloud/http.d.ts +52 -0
- package/dist/cloud/http.d.ts.map +1 -0
- package/dist/cloud/http.js +98 -0
- package/dist/cloud/http.js.map +1 -0
- package/dist/cloud/index.d.ts +19 -0
- package/dist/cloud/index.d.ts.map +1 -0
- package/dist/cloud/index.js +19 -0
- package/dist/cloud/index.js.map +1 -0
- package/dist/cloud/journal.d.ts +169 -0
- package/dist/cloud/journal.d.ts.map +1 -0
- package/dist/cloud/journal.js +428 -0
- package/dist/cloud/journal.js.map +1 -0
- package/dist/cloud/keys.d.ts +213 -0
- package/dist/cloud/keys.d.ts.map +1 -0
- package/dist/cloud/keys.js +362 -0
- package/dist/cloud/keys.js.map +1 -0
- package/dist/cloud/manifest-check.d.ts +36 -0
- package/dist/cloud/manifest-check.d.ts.map +1 -0
- package/dist/cloud/manifest-check.js +70 -0
- package/dist/cloud/manifest-check.js.map +1 -0
- package/dist/cloud/projects.d.ts +13 -0
- package/dist/cloud/projects.d.ts.map +1 -0
- package/dist/cloud/projects.js +11 -0
- package/dist/cloud/projects.js.map +1 -0
- package/dist/cloud/signing.d.ts +105 -0
- package/dist/cloud/signing.d.ts.map +1 -0
- package/dist/cloud/signing.js +117 -0
- package/dist/cloud/signing.js.map +1 -0
- package/dist/cloud/streams.d.ts +6 -0
- package/dist/cloud/streams.d.ts.map +1 -0
- package/dist/cloud/streams.js +5 -0
- package/dist/cloud/streams.js.map +1 -0
- package/dist/decide/audit.d.ts +131 -0
- package/dist/decide/audit.d.ts.map +1 -0
- package/dist/decide/audit.js +98 -0
- package/dist/decide/audit.js.map +1 -0
- package/dist/decide/budget.d.ts +91 -0
- package/dist/decide/budget.d.ts.map +1 -0
- package/dist/decide/budget.js +194 -0
- package/dist/decide/budget.js.map +1 -0
- package/dist/decide/cache.d.ts +49 -0
- package/dist/decide/cache.d.ts.map +1 -0
- package/dist/decide/cache.js +87 -0
- package/dist/decide/cache.js.map +1 -0
- package/dist/decide/client.d.ts +103 -0
- package/dist/decide/client.d.ts.map +1 -0
- package/dist/decide/client.js +262 -0
- package/dist/decide/client.js.map +1 -0
- package/dist/decide/credentials.d.ts +159 -0
- package/dist/decide/credentials.d.ts.map +1 -0
- package/dist/decide/credentials.js +383 -0
- package/dist/decide/credentials.js.map +1 -0
- package/dist/decide/index.d.ts +18 -0
- package/dist/decide/index.d.ts.map +1 -0
- package/dist/decide/index.js +18 -0
- package/dist/decide/index.js.map +1 -0
- package/dist/decide/jev-wire.d.ts +155 -0
- package/dist/decide/jev-wire.d.ts.map +1 -0
- package/dist/decide/jev-wire.js +420 -0
- package/dist/decide/jev-wire.js.map +1 -0
- package/dist/decide/operations.d.ts +152 -0
- package/dist/decide/operations.d.ts.map +1 -0
- package/dist/decide/operations.js +199 -0
- package/dist/decide/operations.js.map +1 -0
- package/dist/decide/provider.d.ts +90 -0
- package/dist/decide/provider.d.ts.map +1 -0
- package/dist/decide/provider.js +43 -0
- package/dist/decide/provider.js.map +1 -0
- package/dist/decide/site.d.ts +148 -0
- package/dist/decide/site.d.ts.map +1 -0
- package/dist/decide/site.js +181 -0
- package/dist/decide/site.js.map +1 -0
- package/dist/decide/transport.d.ts +67 -0
- package/dist/decide/transport.d.ts.map +1 -0
- package/dist/decide/transport.js +350 -0
- package/dist/decide/transport.js.map +1 -0
- package/dist/docs/export-document.js +5908 -2436
- package/dist/docs/export-document.js.map +3 -3
- package/dist/docs/index.d.ts +2 -2
- package/dist/docs/index.d.ts.map +1 -1
- package/dist/docs/index.js +1 -1
- package/dist/docs/index.js.map +1 -1
- package/dist/docs/projection.d.ts.map +1 -1
- package/dist/docs/projection.js +2 -3
- package/dist/docs/projection.js.map +1 -1
- package/dist/docs/publish-pr.d.ts +69 -1
- package/dist/docs/publish-pr.d.ts.map +1 -1
- package/dist/docs/publish-pr.js +112 -10
- package/dist/docs/publish-pr.js.map +1 -1
- package/dist/doctor/db-substrate.d.ts +13 -8
- package/dist/doctor/db-substrate.d.ts.map +1 -1
- package/dist/doctor/db-substrate.js +39 -26
- package/dist/doctor/db-substrate.js.map +1 -1
- package/dist/doctor/index.d.ts +2 -0
- package/dist/doctor/index.d.ts.map +1 -1
- package/dist/doctor/index.js +1 -0
- package/dist/doctor/index.js.map +1 -1
- package/dist/doctor/knowledge.d.ts.map +1 -1
- package/dist/doctor/knowledge.js +5 -15
- package/dist/doctor/knowledge.js.map +1 -1
- package/dist/doctor/nexus-schema-residency.d.ts +1 -1
- package/dist/doctor/nexus-schema-residency.d.ts.map +1 -1
- package/dist/doctor/nexus-schema-residency.js +3 -0
- package/dist/doctor/nexus-schema-residency.js.map +1 -1
- package/dist/doctor/project-identity.d.ts +44 -1
- package/dist/doctor/project-identity.d.ts.map +1 -1
- package/dist/doctor/project-identity.js +237 -10
- package/dist/doctor/project-identity.js.map +1 -1
- package/dist/doctor/projects.d.ts +170 -0
- package/dist/doctor/projects.d.ts.map +1 -0
- package/dist/doctor/projects.js +1075 -0
- package/dist/doctor/projects.js.map +1 -0
- package/dist/doctor/twin-collapse.d.ts +97 -0
- package/dist/doctor/twin-collapse.d.ts.map +1 -0
- package/dist/doctor/twin-collapse.js +168 -0
- package/dist/doctor/twin-collapse.js.map +1 -0
- package/dist/doctor/worktree-orphans.d.ts.map +1 -1
- package/dist/doctor/worktree-orphans.js +13 -29
- package/dist/doctor/worktree-orphans.js.map +1 -1
- package/dist/doctor/worktree-stores.d.ts +128 -0
- package/dist/doctor/worktree-stores.d.ts.map +1 -0
- package/dist/doctor/worktree-stores.js +374 -0
- package/dist/doctor/worktree-stores.js.map +1 -0
- package/dist/engine/engine-ops.d.ts.map +1 -1
- package/dist/engine/engine-ops.js +59 -23
- package/dist/engine/engine-ops.js.map +1 -1
- package/dist/error-catalog.d.ts.map +1 -1
- package/dist/error-catalog.js +21 -0
- package/dist/error-catalog.js.map +1 -1
- package/dist/error-registry.d.ts.map +1 -1
- package/dist/error-registry.js +40 -0
- package/dist/error-registry.js.map +1 -1
- package/dist/gc/cleanup.d.ts.map +1 -1
- package/dist/gc/cleanup.js +32 -19
- package/dist/gc/cleanup.js.map +1 -1
- package/dist/git/bounded-git.d.ts +170 -0
- package/dist/git/bounded-git.d.ts.map +1 -0
- package/dist/git/bounded-git.js +371 -0
- package/dist/git/bounded-git.js.map +1 -0
- package/dist/git/work-tree.d.ts +20 -0
- package/dist/git/work-tree.d.ts.map +1 -1
- package/dist/git/work-tree.js +20 -2
- package/dist/git/work-tree.js.map +1 -1
- package/dist/hooks/handlers/session-hooks.d.ts +11 -26
- package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/session-hooks.js +18 -47
- package/dist/hooks/handlers/session-hooks.js.map +1 -1
- package/dist/hooks/payload-schemas.d.ts +2 -2
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/init/engine-ops.d.ts.map +1 -1
- package/dist/init/engine-ops.js +23 -1
- package/dist/init/engine-ops.js.map +1 -1
- package/dist/init.d.ts +158 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +535 -44
- package/dist/init.js.map +1 -1
- package/dist/injection.d.ts +55 -0
- package/dist/injection.d.ts.map +1 -1
- package/dist/injection.js +102 -6
- package/dist/injection.js.map +1 -1
- package/dist/internal.d.ts +9 -5
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +8 -4
- package/dist/internal.js.map +1 -1
- package/dist/issue/diagnostics.d.ts.map +1 -1
- package/dist/issue/diagnostics.js +2 -1
- package/dist/issue/diagnostics.js.map +1 -1
- package/dist/lib/concurrency.d.ts +25 -0
- package/dist/lib/concurrency.d.ts.map +1 -0
- package/dist/lib/concurrency.js +43 -0
- package/dist/lib/concurrency.js.map +1 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lifecycle/engine-ops.d.ts.map +1 -1
- package/dist/lifecycle/engine-ops.js +4 -2
- package/dist/lifecycle/engine-ops.js.map +1 -1
- package/dist/lifecycle/stage-guidance.d.ts +5 -0
- package/dist/lifecycle/stage-guidance.d.ts.map +1 -1
- package/dist/lifecycle/stage-guidance.js +14 -4
- package/dist/lifecycle/stage-guidance.js.map +1 -1
- package/dist/llm/catalog-cache.d.ts +3 -2
- package/dist/llm/catalog-cache.d.ts.map +1 -1
- package/dist/llm/catalog-cache.js +5 -5
- package/dist/llm/catalog-cache.js.map +1 -1
- package/dist/llm/credentials.d.ts +4 -4
- package/dist/llm/credentials.js +6 -6
- package/dist/llm/credentials.js.map +1 -1
- package/dist/llm/plugin-facade.js +4312 -1798
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/stable-device-id.d.ts.map +1 -1
- package/dist/llm/stable-device-id.js +3 -5
- package/dist/llm/stable-device-id.js.map +1 -1
- package/dist/memory/attention.d.ts.map +1 -1
- package/dist/memory/attention.js +30 -30
- package/dist/memory/attention.js.map +1 -1
- package/dist/memory/decision-contradiction.d.ts +152 -0
- package/dist/memory/decision-contradiction.d.ts.map +1 -0
- package/dist/memory/decision-contradiction.js +273 -0
- package/dist/memory/decision-contradiction.js.map +1 -0
- package/dist/memory/decisions.d.ts +42 -11
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/decisions.js +153 -56
- package/dist/memory/decisions.js.map +1 -1
- package/dist/memory/dialectic-evaluator.d.ts +7 -0
- package/dist/memory/dialectic-evaluator.d.ts.map +1 -1
- package/dist/memory/dialectic-evaluator.js +23 -8
- package/dist/memory/dialectic-evaluator.js.map +1 -1
- package/dist/memory/dispatch-trace-format.d.ts +39 -0
- package/dist/memory/dispatch-trace-format.d.ts.map +1 -0
- package/dist/memory/dispatch-trace-format.js +54 -0
- package/dist/memory/dispatch-trace-format.js.map +1 -0
- package/dist/memory/dispatch-trace.d.ts.map +1 -1
- package/dist/memory/dispatch-trace.js +1 -27
- package/dist/memory/dispatch-trace.js.map +1 -1
- package/dist/memory/engine-compat.d.ts +2 -0
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +1 -0
- package/dist/memory/engine-compat.js.map +1 -1
- package/dist/memory/import-from-provider.js +3 -3
- package/dist/memory/import-from-provider.js.map +1 -1
- package/dist/memory/learnings.d.ts +2 -2
- package/dist/memory/observation-type-decision.d.ts +96 -0
- package/dist/memory/observation-type-decision.d.ts.map +1 -0
- package/dist/memory/observation-type-decision.js +218 -0
- package/dist/memory/observation-type-decision.js.map +1 -0
- package/dist/memory/redaction.js +2 -0
- package/dist/memory/redaction.js.map +1 -1
- package/dist/memory/retrieval/build-retrieval-bundle.d.ts +9 -2
- package/dist/memory/retrieval/build-retrieval-bundle.d.ts.map +1 -1
- package/dist/memory/retrieval/build-retrieval-bundle.js +42 -11
- package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
- package/dist/memory/retrieval/get-current-session-id.d.ts +5 -0
- package/dist/memory/retrieval/get-current-session-id.d.ts.map +1 -1
- package/dist/memory/retrieval/get-current-session-id.js +7 -2
- package/dist/memory/retrieval/get-current-session-id.js.map +1 -1
- package/dist/memory/retrieval/observe.d.ts.map +1 -1
- package/dist/memory/retrieval/observe.js +30 -29
- package/dist/memory/retrieval/observe.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +42 -29
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/assessment-projection.d.ts +76 -0
- package/dist/nexus/assessment-projection.d.ts.map +1 -0
- package/dist/nexus/assessment-projection.js +143 -0
- package/dist/nexus/assessment-projection.js.map +1 -0
- package/dist/nexus/assessment-store.d.ts +14 -2
- package/dist/nexus/assessment-store.d.ts.map +1 -1
- package/dist/nexus/assessment-store.js +21 -3
- package/dist/nexus/assessment-store.js.map +1 -1
- package/dist/nexus/checkout-nonce.d.ts +48 -0
- package/dist/nexus/checkout-nonce.d.ts.map +1 -0
- package/dist/nexus/checkout-nonce.js +84 -0
- package/dist/nexus/checkout-nonce.js.map +1 -0
- package/dist/nexus/devices.d.ts +93 -0
- package/dist/nexus/devices.d.ts.map +1 -0
- package/dist/nexus/devices.js +141 -0
- package/dist/nexus/devices.js.map +1 -0
- package/dist/nexus/freshness.d.ts.map +1 -1
- package/dist/nexus/freshness.js +25 -6
- package/dist/nexus/freshness.js.map +1 -1
- package/dist/nexus/git-state.d.ts +225 -0
- package/dist/nexus/git-state.d.ts.map +1 -0
- package/dist/nexus/git-state.js +677 -0
- package/dist/nexus/git-state.js.map +1 -0
- package/dist/nexus/graph-manifest.d.ts +20 -4
- package/dist/nexus/graph-manifest.d.ts.map +1 -1
- package/dist/nexus/graph-manifest.js +40 -5
- package/dist/nexus/graph-manifest.js.map +1 -1
- package/dist/nexus/identity.d.ts +68 -23
- package/dist/nexus/identity.d.ts.map +1 -1
- package/dist/nexus/identity.js +99 -22
- package/dist/nexus/identity.js.map +1 -1
- package/dist/nexus/index.d.ts +5 -2
- package/dist/nexus/index.d.ts.map +1 -1
- package/dist/nexus/index.js +10 -4
- package/dist/nexus/index.js.map +1 -1
- package/dist/nexus/knowledge.d.ts +5 -0
- package/dist/nexus/knowledge.d.ts.map +1 -1
- package/dist/nexus/knowledge.js +26 -2
- package/dist/nexus/knowledge.js.map +1 -1
- package/dist/nexus/legacy-alias.d.ts +60 -0
- package/dist/nexus/legacy-alias.d.ts.map +1 -0
- package/dist/nexus/legacy-alias.js +68 -0
- package/dist/nexus/legacy-alias.js.map +1 -0
- package/dist/nexus/migrate-json-to-sqlite.js +2 -2
- package/dist/nexus/migrate-json-to-sqlite.js.map +1 -1
- package/dist/nexus/ops.d.ts +1 -0
- package/dist/nexus/ops.d.ts.map +1 -1
- package/dist/nexus/path-map.d.ts +264 -20
- package/dist/nexus/path-map.d.ts.map +1 -1
- package/dist/nexus/path-map.js +580 -44
- package/dist/nexus/path-map.js.map +1 -1
- package/dist/nexus/projects-clean.d.ts +9 -1
- package/dist/nexus/projects-clean.d.ts.map +1 -1
- package/dist/nexus/projects-clean.js +126 -14
- package/dist/nexus/projects-clean.js.map +1 -1
- package/dist/nexus/projects-scan.d.ts +56 -1
- package/dist/nexus/projects-scan.d.ts.map +1 -1
- package/dist/nexus/projects-scan.js +144 -3
- package/dist/nexus/projects-scan.js.map +1 -1
- package/dist/nexus/registry-hygiene.d.ts +18 -2
- package/dist/nexus/registry-hygiene.d.ts.map +1 -1
- package/dist/nexus/registry-hygiene.js +37 -11
- package/dist/nexus/registry-hygiene.js.map +1 -1
- package/dist/nexus/registry-roots.d.ts +47 -0
- package/dist/nexus/registry-roots.d.ts.map +1 -0
- package/dist/nexus/registry-roots.js +79 -0
- package/dist/nexus/registry-roots.js.map +1 -0
- package/dist/nexus/registry.d.ts +50 -9
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +311 -156
- package/dist/nexus/registry.js.map +1 -1
- package/dist/nexus/stored-roots.d.ts +106 -0
- package/dist/nexus/stored-roots.d.ts.map +1 -0
- package/dist/nexus/stored-roots.js +180 -0
- package/dist/nexus/stored-roots.js.map +1 -0
- package/dist/nexus/transfer.d.ts.map +1 -1
- package/dist/nexus/transfer.js +3 -0
- package/dist/nexus/transfer.js.map +1 -1
- package/dist/nexus/user-profile-hygiene.d.ts +168 -0
- package/dist/nexus/user-profile-hygiene.d.ts.map +1 -0
- package/dist/nexus/user-profile-hygiene.js +305 -0
- package/dist/nexus/user-profile-hygiene.js.map +1 -0
- package/dist/nexus/user-profile.d.ts +53 -2
- package/dist/nexus/user-profile.d.ts.map +1 -1
- package/dist/nexus/user-profile.js +106 -4
- package/dist/nexus/user-profile.js.map +1 -1
- package/dist/orchestrate/pivot.d.ts.map +1 -1
- package/dist/orchestrate/pivot.js +5 -1
- package/dist/orchestrate/pivot.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts +12 -0
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +152 -57
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/classify-readiness.d.ts +37 -1
- package/dist/orchestration/classify-readiness.d.ts.map +1 -1
- package/dist/orchestration/classify-readiness.js +48 -19
- package/dist/orchestration/classify-readiness.js.map +1 -1
- package/dist/orchestration/index.d.ts +3 -2
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +2 -1
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/owner-decision-readiness.d.ts +88 -0
- package/dist/orchestration/owner-decision-readiness.d.ts.map +1 -0
- package/dist/orchestration/owner-decision-readiness.js +152 -0
- package/dist/orchestration/owner-decision-readiness.js.map +1 -0
- package/dist/orchestration/psyche-memory-budget.d.ts +105 -0
- package/dist/orchestration/psyche-memory-budget.d.ts.map +1 -0
- package/dist/orchestration/psyche-memory-budget.js +383 -0
- package/dist/orchestration/psyche-memory-budget.js.map +1 -0
- package/dist/orchestration/spawn-prompt.d.ts +12 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +141 -179
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/spawn.d.ts +7 -0
- package/dist/orchestration/spawn.d.ts.map +1 -1
- package/dist/orchestration/spawn.js +1 -0
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/paths.d.ts +24 -8
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +135 -71
- package/dist/paths.js.map +1 -1
- package/dist/platform.d.ts +6 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +8 -19
- package/dist/platform.js.map +1 -1
- package/dist/project-info.d.ts +18 -0
- package/dist/project-info.d.ts.map +1 -1
- package/dist/project-info.js +29 -1
- package/dist/project-info.js.map +1 -1
- package/dist/project-lifecycle.d.ts +91 -32
- package/dist/project-lifecycle.d.ts.map +1 -1
- package/dist/project-lifecycle.js +639 -75
- package/dist/project-lifecycle.js.map +1 -1
- package/dist/project-scope.d.ts +86 -4
- package/dist/project-scope.d.ts.map +1 -1
- package/dist/project-scope.js +226 -13
- package/dist/project-scope.js.map +1 -1
- package/dist/project-tombstone.d.ts +111 -0
- package/dist/project-tombstone.d.ts.map +1 -0
- package/dist/project-tombstone.js +220 -0
- package/dist/project-tombstone.js.map +1 -0
- package/dist/release/artifacts.d.ts.map +1 -1
- package/dist/release/artifacts.js +14 -9
- package/dist/release/artifacts.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +223 -0
- package/dist/release/ci-evidence.d.ts.map +1 -0
- package/dist/release/ci-evidence.js +652 -0
- package/dist/release/ci-evidence.js.map +1 -0
- package/dist/release/engine-ops.d.ts.map +1 -1
- package/dist/release/engine-ops.js +3 -3
- package/dist/release/engine-ops.js.map +1 -1
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +7 -6
- package/dist/release/plan.js.map +1 -1
- package/dist/release/pr-evidence.d.ts +38 -0
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +67 -11
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +3 -2
- package/dist/release/reconcile.js.map +1 -1
- package/dist/release/release-manifest.d.ts +2 -1
- package/dist/release/release-manifest.d.ts.map +1 -1
- package/dist/release/release-manifest.js +6 -5
- package/dist/release/release-manifest.js.map +1 -1
- package/dist/render/nexus/graph/index.d.ts +4 -0
- package/dist/render/nexus/graph/index.d.ts.map +1 -1
- package/dist/render/nexus/graph/index.js +57 -0
- package/dist/render/nexus/graph/index.js.map +1 -1
- package/dist/resources/spawn-wrapper.d.ts +8 -1
- package/dist/resources/spawn-wrapper.d.ts.map +1 -1
- package/dist/resources/spawn-wrapper.js +42 -5
- package/dist/resources/spawn-wrapper.js.map +1 -1
- package/dist/routing/build-command-groups.d.ts.map +1 -1
- package/dist/routing/build-command-groups.js +1 -0
- package/dist/routing/build-command-groups.js.map +1 -1
- package/dist/sagas/index.d.ts +1 -1
- package/dist/sagas/index.d.ts.map +1 -1
- package/dist/sagas/index.js +1 -1
- package/dist/sagas/index.js.map +1 -1
- package/dist/sagas/reconcile.d.ts +24 -4
- package/dist/sagas/reconcile.d.ts.map +1 -1
- package/dist/sagas/reconcile.js +226 -100
- package/dist/sagas/reconcile.js.map +1 -1
- package/dist/scaffold/ensure-config.d.ts.map +1 -1
- package/dist/scaffold/ensure-config.js +31 -1
- package/dist/scaffold/ensure-config.js.map +1 -1
- package/dist/scaffold/project-identity.d.ts +2 -8
- package/dist/scaffold/project-identity.d.ts.map +1 -1
- package/dist/scaffold/project-identity.js +5 -21
- package/dist/scaffold/project-identity.js.map +1 -1
- package/dist/security/input-sanitization.d.ts +9 -1
- package/dist/security/input-sanitization.d.ts.map +1 -1
- package/dist/security/input-sanitization.js +12 -2
- package/dist/security/input-sanitization.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +4321 -1807
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sentient/propose-tick.d.ts.map +1 -1
- package/dist/sentient/propose-tick.js +4 -2
- package/dist/sentient/propose-tick.js.map +1 -1
- package/dist/sequence/index.d.ts.map +1 -1
- package/dist/sequence/index.js +6 -23
- package/dist/sequence/index.js.map +1 -1
- package/dist/session/engine-ops.d.ts +9 -0
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +110 -18
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/assumptions.d.ts.map +1 -1
- package/dist/sessions/assumptions.js +7 -4
- package/dist/sessions/assumptions.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 +12 -1
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/decisions.d.ts +38 -3
- package/dist/sessions/decisions.d.ts.map +1 -1
- package/dist/sessions/decisions.js +235 -21
- package/dist/sessions/decisions.js.map +1 -1
- package/dist/sessions/drift-watchdog.d.ts.map +1 -1
- package/dist/sessions/drift-watchdog.js +4 -2
- package/dist/sessions/drift-watchdog.js.map +1 -1
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +33 -4
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/session-end-snapshot-entry.d.ts +26 -0
- package/dist/sessions/session-end-snapshot-entry.d.ts.map +1 -0
- package/dist/sessions/session-end-snapshot-entry.js +59 -0
- package/dist/sessions/session-end-snapshot-entry.js.map +1 -0
- package/dist/sessions/session-end-snapshot.d.ts +114 -0
- package/dist/sessions/session-end-snapshot.d.ts.map +1 -0
- package/dist/sessions/session-end-snapshot.js +446 -0
- package/dist/sessions/session-end-snapshot.js.map +1 -0
- package/dist/sessions/session-manifest-mirror.d.ts.map +1 -1
- package/dist/sessions/session-manifest-mirror.js +10 -17
- package/dist/sessions/session-manifest-mirror.js.map +1 -1
- package/dist/sessions/session-switch.d.ts.map +1 -1
- package/dist/sessions/session-switch.js +5 -3
- package/dist/sessions/session-switch.js.map +1 -1
- package/dist/sessions/snapshot.d.ts.map +1 -1
- package/dist/sessions/snapshot.js +5 -4
- package/dist/sessions/snapshot.js.map +1 -1
- package/dist/sessions/terminal-identity.d.ts +169 -0
- package/dist/sessions/terminal-identity.d.ts.map +1 -0
- package/dist/sessions/terminal-identity.js +273 -0
- package/dist/sessions/terminal-identity.js.map +1 -0
- package/dist/setup/sections/verification.d.ts +1 -1
- package/dist/setup/sections/verification.d.ts.map +1 -1
- package/dist/setup/sections/verification.js +11 -15
- package/dist/setup/sections/verification.js.map +1 -1
- package/dist/skills/discovery.d.ts +8 -2
- package/dist/skills/discovery.d.ts.map +1 -1
- package/dist/skills/discovery.js +15 -3
- package/dist/skills/discovery.js.map +1 -1
- package/dist/skills/dispatch.d.ts +5 -2
- package/dist/skills/dispatch.d.ts.map +1 -1
- package/dist/skills/dispatch.js +5 -2
- package/dist/skills/dispatch.js.map +1 -1
- package/dist/skills/doctor.d.ts.map +1 -1
- package/dist/skills/doctor.js +5 -1
- package/dist/skills/doctor.js.map +1 -1
- package/dist/skills/federated-search.js +2 -2
- package/dist/skills/federated-search.js.map +1 -1
- package/dist/skills/index.d.ts +3 -3
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/install.d.ts +15 -2
- package/dist/skills/install.d.ts.map +1 -1
- package/dist/skills/install.js +21 -5
- package/dist/skills/install.js.map +1 -1
- package/dist/skills/migration.d.ts +5 -5
- package/dist/skills/migration.d.ts.map +1 -1
- package/dist/skills/migration.js +7 -9
- package/dist/skills/migration.js.map +1 -1
- package/dist/skills/orchestrator/startup.d.ts.map +1 -1
- package/dist/skills/orchestrator/startup.js +4 -2
- package/dist/skills/orchestrator/startup.js.map +1 -1
- package/dist/skills/skill-paths.d.ts +30 -3
- package/dist/skills/skill-paths.d.ts.map +1 -1
- package/dist/skills/skill-paths.js +28 -9
- package/dist/skills/skill-paths.js.map +1 -1
- package/dist/skills/skill-root.d.ts +60 -11
- package/dist/skills/skill-root.d.ts.map +1 -1
- package/dist/skills/skill-root.js +100 -14
- package/dist/skills/skill-root.js.map +1 -1
- package/dist/skills/skills-guard.js +5 -5
- package/dist/skills/skills-guard.js.map +1 -1
- package/dist/skills/types.d.ts +23 -0
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js.map +1 -1
- package/dist/spawn/agent-identity.d.ts +51 -2
- package/dist/spawn/agent-identity.d.ts.map +1 -1
- package/dist/spawn/agent-identity.js +89 -26
- package/dist/spawn/agent-identity.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +56 -79
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/spawn/index.d.ts +2 -2
- package/dist/spawn/index.d.ts.map +1 -1
- package/dist/spawn/index.js +1 -1
- package/dist/spawn/index.js.map +1 -1
- package/dist/spawn/worktree-lock-holder.d.ts +37 -0
- package/dist/spawn/worktree-lock-holder.d.ts.map +1 -0
- package/dist/spawn/worktree-lock-holder.js +41 -0
- package/dist/spawn/worktree-lock-holder.js.map +1 -0
- package/dist/sticky/convert.d.ts.map +1 -1
- package/dist/sticky/convert.js +16 -4
- package/dist/sticky/convert.js.map +1 -1
- package/dist/store/attachment-store.d.ts +14 -0
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +11 -1
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/backup-inspect.d.ts +7 -3
- package/dist/store/backup-inspect.d.ts.map +1 -1
- package/dist/store/backup-inspect.js +18 -7
- package/dist/store/backup-inspect.js.map +1 -1
- package/dist/store/backup-sidecar.d.ts +60 -0
- package/dist/store/backup-sidecar.d.ts.map +1 -0
- package/dist/store/backup-sidecar.js +96 -0
- package/dist/store/backup-sidecar.js.map +1 -0
- package/dist/store/data-accessor.d.ts +1 -1
- package/dist/store/data-accessor.d.ts.map +1 -1
- package/dist/store/data-accessor.js +6 -6
- package/dist/store/data-accessor.js.map +1 -1
- package/dist/store/data-safety-central.d.ts +13 -4
- package/dist/store/data-safety-central.d.ts.map +1 -1
- package/dist/store/data-safety-central.js +31 -4
- package/dist/store/data-safety-central.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +10 -0
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/__fixtures__/representative-fixture.d.ts.map +1 -1
- package/dist/store/exodus/__fixtures__/representative-fixture.js +4 -0
- package/dist/store/exodus/__fixtures__/representative-fixture.js.map +1 -1
- package/dist/store/exodus/migrate.js +1 -1
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/reconcile.js +1 -1
- package/dist/store/exodus/reconcile.js.map +1 -1
- package/dist/store/exodus/runtime-targets.d.ts +4 -3
- package/dist/store/exodus/runtime-targets.d.ts.map +1 -1
- package/dist/store/exodus/runtime-targets.js +4 -3
- package/dist/store/exodus/runtime-targets.js.map +1 -1
- package/dist/store/import-logging.d.ts.map +1 -1
- package/dist/store/import-logging.js +5 -4
- package/dist/store/import-logging.js.map +1 -1
- package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
- package/dist/store/legacy-tasks-lineage.js +2 -7
- package/dist/store/legacy-tasks-lineage.js.map +1 -1
- package/dist/store/lock.d.ts +1 -0
- package/dist/store/lock.d.ts.map +1 -1
- package/dist/store/lock.js +1 -0
- package/dist/store/lock.js.map +1 -1
- package/dist/store/memory-accessor.d.ts +8 -3
- package/dist/store/memory-accessor.d.ts.map +1 -1
- package/dist/store/memory-accessor.js +29 -13
- package/dist/store/memory-accessor.js.map +1 -1
- package/dist/store/memory-sqlite.d.ts.map +1 -1
- package/dist/store/memory-sqlite.js +5 -0
- package/dist/store/memory-sqlite.js.map +1 -1
- package/dist/store/open-cleo-db.d.ts.map +1 -1
- package/dist/store/open-cleo-db.js +11 -6
- package/dist/store/open-cleo-db.js.map +1 -1
- package/dist/store/portable-bundle-relocate.d.ts +13 -8
- package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
- package/dist/store/portable-bundle-relocate.js +75 -31
- package/dist/store/portable-bundle-relocate.js.map +1 -1
- package/dist/store/portable-bundle-scan.d.ts.map +1 -1
- package/dist/store/portable-bundle-scan.js +2 -1
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/portable-bundle.d.ts.map +1 -1
- package/dist/store/portable-bundle.js +7 -3
- package/dist/store/portable-bundle.js.map +1 -1
- package/dist/store/pre-repair-snapshot.d.ts +77 -0
- package/dist/store/pre-repair-snapshot.d.ts.map +1 -0
- package/dist/store/pre-repair-snapshot.js +122 -0
- package/dist/store/pre-repair-snapshot.js.map +1 -0
- package/dist/store/regenerators.d.ts +2 -1
- package/dist/store/regenerators.d.ts.map +1 -1
- package/dist/store/regenerators.js +17 -3
- package/dist/store/regenerators.js.map +1 -1
- package/dist/store/relocated-store-guard.d.ts +71 -0
- package/dist/store/relocated-store-guard.d.ts.map +1 -0
- package/dist/store/relocated-store-guard.js +138 -0
- package/dist/store/relocated-store-guard.js.map +1 -0
- package/dist/store/safety-data-accessor.d.ts +2 -2
- package/dist/store/safety-data-accessor.d.ts.map +1 -1
- package/dist/store/safety-data-accessor.js +2 -2
- package/dist/store/safety-data-accessor.js.map +1 -1
- package/dist/store/schema/attachments.d.ts +2 -2
- package/dist/store/schema/audit.d.ts +5 -5
- package/dist/store/schema/background-jobs.d.ts +1 -1
- package/dist/store/schema/cleo-global/models-catalog.d.ts +1 -1
- package/dist/store/schema/cleo-global/nexus.d.ts +686 -0
- package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/nexus.js +175 -7
- package/dist/store/schema/cleo-global/nexus.js.map +1 -1
- package/dist/store/schema/cleo-global/skills.d.ts +2 -2
- package/dist/store/schema/cleo-project/audit.d.ts +5 -5
- package/dist/store/schema/cleo-project/docs.d.ts +3 -3
- package/dist/store/schema/cleo-project/lifecycle.d.ts +3 -3
- package/dist/store/schema/cleo-project/provenance-commits.d.ts +2 -2
- package/dist/store/schema/cleo-project/provenance-rest.d.ts +3 -3
- package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +1 -1
- package/dist/store/schema/cleo-project/tasks-core.d.ts +6 -6
- package/dist/store/schema/cleo-shared/brain.d.ts +26 -26
- package/dist/store/schema/lifecycle.d.ts +3 -3
- package/dist/store/schema/manifest.d.ts +1 -1
- package/dist/store/schema/memory-schema.d.ts +26 -26
- package/dist/store/schema/nexus-schema.d.ts +696 -2
- package/dist/store/schema/nexus-schema.d.ts.map +1 -1
- package/dist/store/schema/nexus-schema.js +175 -19
- package/dist/store/schema/nexus-schema.js.map +1 -1
- package/dist/store/schema/provenance/releases.d.ts +1 -1
- package/dist/store/schema/skills-schema.d.ts +2 -2
- package/dist/store/schema/tasks.d.ts +5 -5
- package/dist/store/session-binding-schema.d.ts +132 -0
- package/dist/store/session-binding-schema.d.ts.map +1 -0
- package/dist/store/session-binding-schema.js +53 -0
- package/dist/store/session-binding-schema.js.map +1 -0
- package/dist/store/session-store.d.ts +262 -4
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +486 -26
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/snapshot-gate.d.ts +239 -0
- package/dist/store/snapshot-gate.d.ts.map +1 -0
- package/dist/store/snapshot-gate.js +398 -0
- package/dist/store/snapshot-gate.js.map +1 -0
- package/dist/store/split-brain-import.js +2 -2
- package/dist/store/split-brain-import.js.map +1 -1
- package/dist/store/sqlite-backup.d.ts +55 -13
- package/dist/store/sqlite-backup.d.ts.map +1 -1
- package/dist/store/sqlite-backup.js +414 -106
- package/dist/store/sqlite-backup.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts +15 -0
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +63 -4
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite.d.ts +1 -1
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +53 -5
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/store-write-guard.d.ts +28 -0
- package/dist/store/store-write-guard.d.ts.map +1 -0
- package/dist/store/store-write-guard.js +50 -0
- package/dist/store/store-write-guard.js.map +1 -0
- package/dist/store/table-classification.d.ts +143 -0
- package/dist/store/table-classification.d.ts.map +1 -0
- package/dist/store/table-classification.js +1866 -0
- package/dist/store/table-classification.js.map +1 -0
- package/dist/store/task-version.d.ts +72 -0
- package/dist/store/task-version.d.ts.map +1 -0
- package/dist/store/task-version.js +93 -0
- package/dist/store/task-version.js.map +1 -0
- package/dist/store/tasks-schema.d.ts +1 -0
- package/dist/store/tasks-schema.d.ts.map +1 -1
- package/dist/store/tasks-schema.js +13 -0
- package/dist/store/tasks-schema.js.map +1 -1
- package/dist/store/tasks-sqlite.d.ts +10 -3
- package/dist/store/tasks-sqlite.d.ts.map +1 -1
- package/dist/store/tasks-sqlite.js +12 -3
- package/dist/store/tasks-sqlite.js.map +1 -1
- package/dist/store/twin-collapse.d.ts +275 -0
- package/dist/store/twin-collapse.d.ts.map +1 -0
- package/dist/store/twin-collapse.js +805 -0
- package/dist/store/twin-collapse.js.map +1 -0
- package/dist/store/umbrella-data-accessor.d.ts +2 -2
- package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
- package/dist/store/umbrella-data-accessor.js +2 -2
- package/dist/store/umbrella-data-accessor.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +63 -63
- package/dist/store/worktree-isolation-guard.d.ts +46 -24
- package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
- package/dist/store/worktree-isolation-guard.js +69 -50
- package/dist/store/worktree-isolation-guard.js.map +1 -1
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +3 -67
- package/dist/system/backup.js.map +1 -1
- package/dist/system/cleo-link.d.ts +163 -0
- package/dist/system/cleo-link.d.ts.map +1 -0
- package/dist/system/cleo-link.js +246 -0
- package/dist/system/cleo-link.js.map +1 -0
- package/dist/system/dependencies.d.ts.map +1 -1
- package/dist/system/dependencies.js +26 -41
- package/dist/system/dependencies.js.map +1 -1
- package/dist/system/global-delivery.d.ts +205 -0
- package/dist/system/global-delivery.d.ts.map +1 -0
- package/dist/system/global-delivery.js +320 -0
- package/dist/system/global-delivery.js.map +1 -0
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +29 -6
- package/dist/system/health.js.map +1 -1
- package/dist/system/project-health.d.ts.map +1 -1
- package/dist/system/project-health.js +1 -20
- package/dist/system/project-health.js.map +1 -1
- package/dist/system/runtime.d.ts.map +1 -1
- package/dist/system/runtime.js +2 -12
- package/dist/system/runtime.js.map +1 -1
- package/dist/system/safestop.d.ts.map +1 -1
- package/dist/system/safestop.js +5 -2
- package/dist/system/safestop.js.map +1 -1
- package/dist/system/skill-fixtures.d.ts +200 -0
- package/dist/system/skill-fixtures.d.ts.map +1 -0
- package/dist/system/skill-fixtures.js +331 -0
- package/dist/system/skill-fixtures.js.map +1 -0
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +4 -2
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +173 -0
- package/dist/tasks/affected-packages.d.ts.map +1 -0
- package/dist/tasks/affected-packages.js +389 -0
- package/dist/tasks/affected-packages.js.map +1 -0
- package/dist/tasks/change-set.d.ts +151 -0
- package/dist/tasks/change-set.d.ts.map +1 -0
- package/dist/tasks/change-set.js +634 -0
- package/dist/tasks/change-set.js.map +1 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +10 -5
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts +103 -0
- package/dist/tasks/done-plan.d.ts.map +1 -0
- package/dist/tasks/done-plan.js +541 -0
- package/dist/tasks/done-plan.js.map +1 -0
- package/dist/tasks/done-record.d.ts +127 -0
- package/dist/tasks/done-record.d.ts.map +1 -0
- package/dist/tasks/done-record.js +373 -0
- package/dist/tasks/done-record.js.map +1 -0
- package/dist/tasks/duplicate-detector.d.ts +68 -11
- package/dist/tasks/duplicate-detector.d.ts.map +1 -1
- package/dist/tasks/duplicate-detector.js +314 -58
- package/dist/tasks/duplicate-detector.js.map +1 -1
- package/dist/tasks/evidence-paths.d.ts +78 -0
- package/dist/tasks/evidence-paths.d.ts.map +1 -0
- package/dist/tasks/evidence-paths.js +150 -0
- package/dist/tasks/evidence-paths.js.map +1 -0
- package/dist/tasks/evidence.d.ts +55 -0
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +223 -26
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-preview.d.ts +5 -0
- package/dist/tasks/gate-preview.d.ts.map +1 -1
- package/dist/tasks/gate-preview.js +25 -21
- package/dist/tasks/gate-preview.js.map +1 -1
- package/dist/tasks/gate-result-cache.d.ts +205 -0
- package/dist/tasks/gate-result-cache.d.ts.map +1 -0
- package/dist/tasks/gate-result-cache.js +285 -0
- package/dist/tasks/gate-result-cache.js.map +1 -0
- package/dist/tasks/gate-runner.d.ts +126 -3
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +483 -28
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/session-scope.d.ts +3 -1
- package/dist/tasks/session-scope.d.ts.map +1 -1
- package/dist/tasks/session-scope.js +18 -3
- package/dist/tasks/session-scope.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +23 -6
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +146 -8
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-vacuity.d.ts +71 -0
- package/dist/tasks/tool-vacuity.d.ts.map +1 -0
- package/dist/tasks/tool-vacuity.js +334 -0
- package/dist/tasks/tool-vacuity.js.map +1 -0
- package/dist/tasks/update.d.ts +8 -0
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +159 -78
- package/dist/tasks/update.js.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +18 -2
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts +20 -2
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +64 -4
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/doctor/index.d.ts +1 -1
- package/dist/validation/doctor/index.d.ts.map +1 -1
- package/dist/validation/doctor/index.js +1 -1
- package/dist/validation/doctor/index.js.map +1 -1
- package/dist/validation/doctor/utils.d.ts.map +1 -1
- package/dist/validation/doctor/utils.js +7 -2
- package/dist/validation/doctor/utils.js.map +1 -1
- package/dist/validation/engine-ops.d.ts +15 -0
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +249 -98
- package/dist/validation/engine-ops.js.map +1 -1
- package/migrations/drizzle-cleo-global/20260927000000_t12469-project-locations/migration.sql +121 -0
- package/migrations/drizzle-cleo-global/20260927010000_t12543-user-profile-project-scope/migration.sql +23 -0
- package/migrations/drizzle-cleo-global/20260928010000_t12470-location-candidates/migration.sql +72 -0
- package/migrations/drizzle-cleo-global/20260928020000_t12510-nexus-devices/migration.sql +34 -0
- package/migrations/drizzle-cleo-global/20260928030000_t12511-project-git-state/migration.sql +62 -0
- package/migrations/drizzle-cleo-project/20260927000000_t12499-session-terminal-bindings/migration.sql +34 -0
- package/migrations/drizzle-cleo-project/20260928000000_t12500-binding-provider-flag/migration.sql +15 -0
- package/package.json +23 -13
- package/schemas/config.schema.json +54 -0
- package/schemas/project-context.schema.json +51 -3
- package/schemas/project-info.schema.json +28 -1
- package/templates/CLEO-INJECTION.md +40 -332
- package/templates/CLEO-REFERENCE.md +303 -0
- package/templates/workflows/README.md +36 -14
- package/templates/workflows/release-prepare.yml.tmpl +7 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detached worker for the session-end SQLite snapshot.
|
|
3
|
+
*
|
|
4
|
+
* Spawned by `requestSessionEndSnapshot` (`session-end-snapshot.ts`) as a
|
|
5
|
+
* detached, unref'd process, so the command that ended the session returns
|
|
6
|
+
* without waiting for a VACUUM. Takes the snapshot through the gate's
|
|
7
|
+
* `required` mode, waiting up to the full pre-destructive bound for the lock
|
|
8
|
+
* (nobody is waiting on this process).
|
|
9
|
+
*
|
|
10
|
+
* As soon as it holds the gate lock it drops the per-project "worker pending"
|
|
11
|
+
* marker — so a later session end spawns the next worker instead of
|
|
12
|
+
* coalescing onto a snapshot that may no longer contain its writes — and then
|
|
13
|
+
* snapshots UNCONDITIONALLY (`alwaysSnapshot`). Requests coalesced onto this
|
|
14
|
+
* worker while it was queued; no generation it could observe proves their
|
|
15
|
+
* writes are in an earlier snapshot, so it never counts itself covered.
|
|
16
|
+
*
|
|
17
|
+
* It appends one JSON line with the outcome to
|
|
18
|
+
* `.cleo/logs/session-end-snapshot.log` (never stdout: this process has no
|
|
19
|
+
* reader, and CLEO keeps stdout for LAFS envelopes).
|
|
20
|
+
*
|
|
21
|
+
* argv: `<projectRoot> <markerToken>`
|
|
22
|
+
*
|
|
23
|
+
* @task T12508
|
|
24
|
+
*/
|
|
25
|
+
import { appendFileSync, mkdirSync } from 'node:fs';
|
|
26
|
+
import { join } from 'node:path';
|
|
27
|
+
import { getCleoDir } from '../paths.js';
|
|
28
|
+
import { SNAPSHOT_LOCK_WAIT_RETRIES } from '../store/snapshot-gate.js';
|
|
29
|
+
import { releaseSessionEndWorkerMarker, snapshotAfterSessionEnd } from './session-end-snapshot.js';
|
|
30
|
+
const projectRoot = process.argv[2];
|
|
31
|
+
if (!projectRoot) {
|
|
32
|
+
process.stderr.write('session-end-snapshot worker: missing <projectRoot> argument\n');
|
|
33
|
+
process.exit(2);
|
|
34
|
+
}
|
|
35
|
+
const markerToken = process.argv[3] ?? '';
|
|
36
|
+
const result = await snapshotAfterSessionEnd(projectRoot, {
|
|
37
|
+
lockWaitRetries: SNAPSHOT_LOCK_WAIT_RETRIES,
|
|
38
|
+
alwaysSnapshot: true,
|
|
39
|
+
onLockAcquired: () => releaseSessionEndWorkerMarker(projectRoot, markerToken),
|
|
40
|
+
});
|
|
41
|
+
// Also on lock-timeout or failure: never leave the marker to block others.
|
|
42
|
+
releaseSessionEndWorkerMarker(projectRoot, markerToken);
|
|
43
|
+
try {
|
|
44
|
+
const logsDir = join(getCleoDir(projectRoot), 'logs');
|
|
45
|
+
mkdirSync(logsDir, { recursive: true });
|
|
46
|
+
appendFileSync(join(logsDir, 'session-end-snapshot.log'), `${JSON.stringify({
|
|
47
|
+
event: 'session-end-snapshot',
|
|
48
|
+
at: new Date().toISOString(),
|
|
49
|
+
pid: process.pid,
|
|
50
|
+
projectRoot,
|
|
51
|
+
result,
|
|
52
|
+
})}\n`);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Logging is best-effort; the snapshot outcome is already on disk.
|
|
56
|
+
}
|
|
57
|
+
// Store handles keep the event loop alive; the work is done.
|
|
58
|
+
process.exit(0);
|
|
59
|
+
//# sourceMappingURL=session-end-snapshot-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-end-snapshot-entry.js","sourceRoot":"","sources":["../../src/sessions/session-end-snapshot-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEnG,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI,CAAC,WAAW,EAAE,CAAC;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAE1C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE;IACxD,eAAe,EAAE,0BAA0B;IAC3C,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,WAAW,EAAE,WAAW,CAAC;CAC9E,CAAC,CAAC;AACH,2EAA2E;AAC3E,6BAA6B,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAExD,IAAI,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;IACtD,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,cAAc,CACZ,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,EACzC,GAAG,IAAI,CAAC,SAAS,CAAC;QAChB,KAAK,EAAE,sBAAsB;QAC7B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW;QACX,MAAM;KACP,CAAC,IAAI,CACP,CAAC;AACJ,CAAC;AAAC,MAAM,CAAC;IACP,mEAAmE;AACrE,CAAC;AACD,6DAA6D;AAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session-end SQLite snapshot — requested after the session is persisted,
|
|
3
|
+
* taken in a detached child process.
|
|
4
|
+
*
|
|
5
|
+
* ADR-013 / T5158: `.cleo/cleo.db` is not tracked in git, so ending a session
|
|
6
|
+
* writes a point-in-time snapshot to `.cleo/backups/sqlite/`. Both session-end
|
|
7
|
+
* paths call {@link requestSessionEndSnapshot} as their LAST step, after the
|
|
8
|
+
* session row is written as ended:
|
|
9
|
+
*
|
|
10
|
+
* - the CLI / dispatch path (`cleo session end`, the Claude Code Stop hook,
|
|
11
|
+
* orchestrate handoff, safestop, GC): `session/engine-ops.ts` `sessionEnd`;
|
|
12
|
+
* - the SDK path: `sessions/index.ts` `endSession`.
|
|
13
|
+
*
|
|
14
|
+
* The request spawns a detached, unref'd worker and returns — the command that
|
|
15
|
+
* ended the session never waits for a VACUUM. At most one worker is QUEUED per
|
|
16
|
+
* project: a per-project marker ({@link SESSION_END_WORKER_MARKER}) exists from
|
|
17
|
+
* spawn until the worker holds the gate lock. A request that finds a live
|
|
18
|
+
* marker spawns nothing ("coalesced", logged): the queued worker drops the
|
|
19
|
+
* marker only once it holds the lock, and then snapshots UNCONDITIONALLY, so
|
|
20
|
+
* its snapshot contains every write made before any request that coalesced
|
|
21
|
+
* onto it. A generation claimed by some other snapshot while the worker waited
|
|
22
|
+
* proves nothing about those requests, so the worker never counts itself
|
|
23
|
+
* covered (T12508 round 5). A burst therefore keeps at most two workers alive
|
|
24
|
+
* (one running, one queued) and produces at most two snapshots.
|
|
25
|
+
*
|
|
26
|
+
* The worker appends its outcome as one JSON line to
|
|
27
|
+
* `.cleo/logs/session-end-snapshot.log`; coalesced requests are logged there
|
|
28
|
+
* too.
|
|
29
|
+
*
|
|
30
|
+
* `CLEO_SESSION_END_SNAPSHOT=inline` runs the snapshot in-process instead
|
|
31
|
+
* (bounded lock wait, generation coverage), as does a failure to spawn the
|
|
32
|
+
* worker. Under vitest the default is `inline`, so unit tests do not leave
|
|
33
|
+
* detached processes behind.
|
|
34
|
+
*
|
|
35
|
+
* @task T12508
|
|
36
|
+
*/
|
|
37
|
+
import { type SnapshotGateResult } from '../store/snapshot-gate.js';
|
|
38
|
+
/** Basename of the per-project "a worker is queued" marker in the backup dir. */
|
|
39
|
+
export declare const SESSION_END_WORKER_MARKER = ".session-end-worker.pending";
|
|
40
|
+
/**
|
|
41
|
+
* A marker older than this is stale whatever its holder says. The worker
|
|
42
|
+
* drops the marker as soon as it holds the gate lock, and it waits at most
|
|
43
|
+
* about 90 s for that lock, so a live marker is always younger.
|
|
44
|
+
*/
|
|
45
|
+
export declare const SESSION_END_MARKER_STALE_MS: number;
|
|
46
|
+
/** How a session-end snapshot was requested. */
|
|
47
|
+
export interface SessionEndSnapshotRequest {
|
|
48
|
+
/**
|
|
49
|
+
* `detached`: a worker was spawned to take the snapshot. `coalesced`: a
|
|
50
|
+
* worker was already queued (it has not taken the lock yet), so its
|
|
51
|
+
* snapshot will contain this session's writes — no new worker. `inline`:
|
|
52
|
+
* this process took the snapshot.
|
|
53
|
+
*/
|
|
54
|
+
readonly mode: 'detached' | 'coalesced' | 'inline';
|
|
55
|
+
/** Snapshot generation observed when the request was made (`null` = unknown). */
|
|
56
|
+
readonly seenGeneration: number | null;
|
|
57
|
+
/** PID of the detached child. */
|
|
58
|
+
readonly pid?: number;
|
|
59
|
+
/** Gate outcome, for an inline snapshot. */
|
|
60
|
+
readonly result?: SnapshotGateResult | null;
|
|
61
|
+
}
|
|
62
|
+
/** Options for {@link snapshotAfterSessionEnd}. */
|
|
63
|
+
export interface SessionEndSnapshotOptions {
|
|
64
|
+
/** Generation observed when the request was made; defaults to "now". */
|
|
65
|
+
readonly seenGeneration?: number;
|
|
66
|
+
/** Never treat a prefix as covered (the worker; see the module comment). */
|
|
67
|
+
readonly alwaysSnapshot?: boolean;
|
|
68
|
+
/** Lock retries; defaults to {@link SESSION_END_LOCK_WAIT_RETRIES} (about 6.5 s). */
|
|
69
|
+
readonly lockWaitRetries?: number;
|
|
70
|
+
/** Called under the gate lock before the generation is claimed. */
|
|
71
|
+
readonly onLockAcquired?: () => void;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Take the session-end snapshot in THIS process through the gate's
|
|
75
|
+
* `required` mode. Used by the detached worker and by the inline fallback.
|
|
76
|
+
*
|
|
77
|
+
* Never throws. A result other than a written or covered snapshot is logged
|
|
78
|
+
* at warn level with its cause.
|
|
79
|
+
*
|
|
80
|
+
* @param projectRoot - Project root of the ended session.
|
|
81
|
+
* @param opts - Request generation and lock wait.
|
|
82
|
+
* @returns The gate outcome, or `null` when no snapshot could be attempted.
|
|
83
|
+
* @task T12508
|
|
84
|
+
*/
|
|
85
|
+
export declare function snapshotAfterSessionEnd(projectRoot: string, opts?: SessionEndSnapshotOptions): Promise<SnapshotGateResult | null>;
|
|
86
|
+
/** Absolute path of the worker-pending marker for a project. */
|
|
87
|
+
export declare function sessionEndWorkerMarkerPath(projectRoot: string): string;
|
|
88
|
+
/**
|
|
89
|
+
* Remove the worker-pending marker if it still carries `token` — i.e. it was
|
|
90
|
+
* created for this worker and not replaced after being judged stale — and the
|
|
91
|
+
* worker's sidecar. Called by the worker under the gate lock, before it
|
|
92
|
+
* snapshots, and again when it exits. Never throws.
|
|
93
|
+
*
|
|
94
|
+
* @param projectRoot - Project whose marker to release.
|
|
95
|
+
* @param token - Token the worker was spawned with.
|
|
96
|
+
* @task T12508
|
|
97
|
+
*/
|
|
98
|
+
export declare function releaseSessionEndWorkerMarker(projectRoot: string, token: string): void;
|
|
99
|
+
/**
|
|
100
|
+
* Request the session-end snapshot. Call it as the LAST step of ending a
|
|
101
|
+
* session, after the session row is persisted as ended.
|
|
102
|
+
*
|
|
103
|
+
* Unless a worker is already queued for this project, spawns a detached,
|
|
104
|
+
* unref'd worker that takes the snapshot, and returns immediately. A request
|
|
105
|
+
* that finds a live marker spawns nothing and is logged as coalesced (see the
|
|
106
|
+
* module comment for why that is safe). Falls back to an inline snapshot
|
|
107
|
+
* (bounded lock wait) when the worker cannot be spawned. Never throws.
|
|
108
|
+
*
|
|
109
|
+
* @param projectRoot - Project root of the ended session.
|
|
110
|
+
* @returns How the snapshot was requested.
|
|
111
|
+
* @task T12508
|
|
112
|
+
*/
|
|
113
|
+
export declare function requestSessionEndSnapshot(projectRoot: string): Promise<SessionEndSnapshotRequest>;
|
|
114
|
+
//# sourceMappingURL=session-end-snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-end-snapshot.d.ts","sourceRoot":"","sources":["../../src/sessions/session-end-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAsBH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAKnC,iFAAiF;AACjF,eAAO,MAAM,yBAAyB,gCAAgC,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAAa,CAAC;AAqBtD,gDAAgD;AAChD,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IACnD,iFAAiF;IACjF,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iCAAiC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC7C;AAED,mDAAmD;AACnD,MAAM,WAAW,yBAAyB;IACxC,wEAAwE;IACxE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,qFAAqF;IACrF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,mEAAmE;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAmBpC;AAmBD,gEAAgE;AAChE,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtE;AAyND;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQtF;AAwBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,yBAAyB,CAAC,CAuDpC"}
|
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session-end SQLite snapshot — requested after the session is persisted,
|
|
3
|
+
* taken in a detached child process.
|
|
4
|
+
*
|
|
5
|
+
* ADR-013 / T5158: `.cleo/cleo.db` is not tracked in git, so ending a session
|
|
6
|
+
* writes a point-in-time snapshot to `.cleo/backups/sqlite/`. Both session-end
|
|
7
|
+
* paths call {@link requestSessionEndSnapshot} as their LAST step, after the
|
|
8
|
+
* session row is written as ended:
|
|
9
|
+
*
|
|
10
|
+
* - the CLI / dispatch path (`cleo session end`, the Claude Code Stop hook,
|
|
11
|
+
* orchestrate handoff, safestop, GC): `session/engine-ops.ts` `sessionEnd`;
|
|
12
|
+
* - the SDK path: `sessions/index.ts` `endSession`.
|
|
13
|
+
*
|
|
14
|
+
* The request spawns a detached, unref'd worker and returns — the command that
|
|
15
|
+
* ended the session never waits for a VACUUM. At most one worker is QUEUED per
|
|
16
|
+
* project: a per-project marker ({@link SESSION_END_WORKER_MARKER}) exists from
|
|
17
|
+
* spawn until the worker holds the gate lock. A request that finds a live
|
|
18
|
+
* marker spawns nothing ("coalesced", logged): the queued worker drops the
|
|
19
|
+
* marker only once it holds the lock, and then snapshots UNCONDITIONALLY, so
|
|
20
|
+
* its snapshot contains every write made before any request that coalesced
|
|
21
|
+
* onto it. A generation claimed by some other snapshot while the worker waited
|
|
22
|
+
* proves nothing about those requests, so the worker never counts itself
|
|
23
|
+
* covered (T12508 round 5). A burst therefore keeps at most two workers alive
|
|
24
|
+
* (one running, one queued) and produces at most two snapshots.
|
|
25
|
+
*
|
|
26
|
+
* The worker appends its outcome as one JSON line to
|
|
27
|
+
* `.cleo/logs/session-end-snapshot.log`; coalesced requests are logged there
|
|
28
|
+
* too.
|
|
29
|
+
*
|
|
30
|
+
* `CLEO_SESSION_END_SNAPSHOT=inline` runs the snapshot in-process instead
|
|
31
|
+
* (bounded lock wait, generation coverage), as does a failure to spawn the
|
|
32
|
+
* worker. Under vitest the default is `inline`, so unit tests do not leave
|
|
33
|
+
* detached processes behind.
|
|
34
|
+
*
|
|
35
|
+
* @task T12508
|
|
36
|
+
*/
|
|
37
|
+
import { execFileSync, spawn } from 'node:child_process';
|
|
38
|
+
import { randomUUID } from 'node:crypto';
|
|
39
|
+
import { appendFileSync, closeSync, linkSync, mkdirSync, openSync, readdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, writeSync, } from 'node:fs';
|
|
40
|
+
import { createRequire } from 'node:module';
|
|
41
|
+
import { dirname, join } from 'node:path';
|
|
42
|
+
import { getLogger } from '../logger.js';
|
|
43
|
+
import { getCleoDir } from '../paths.js';
|
|
44
|
+
import { describeSnapshotMiss, SESSION_END_LOCK_WAIT_RETRIES, } from '../store/snapshot-gate.js';
|
|
45
|
+
/** Package specifier of the detached worker's compiled entry. */
|
|
46
|
+
const WORKER_SPECIFIER = '@cleocode/core/sessions/session-end-snapshot-entry.js';
|
|
47
|
+
/** Basename of the per-project "a worker is queued" marker in the backup dir. */
|
|
48
|
+
export const SESSION_END_WORKER_MARKER = '.session-end-worker.pending';
|
|
49
|
+
/**
|
|
50
|
+
* A marker older than this is stale whatever its holder says. The worker
|
|
51
|
+
* drops the marker as soon as it holds the gate lock, and it waits at most
|
|
52
|
+
* about 90 s for that lock, so a live marker is always younger.
|
|
53
|
+
*/
|
|
54
|
+
export const SESSION_END_MARKER_STALE_MS = 2 * 60_000;
|
|
55
|
+
/**
|
|
56
|
+
* Take the session-end snapshot in THIS process through the gate's
|
|
57
|
+
* `required` mode. Used by the detached worker and by the inline fallback.
|
|
58
|
+
*
|
|
59
|
+
* Never throws. A result other than a written or covered snapshot is logged
|
|
60
|
+
* at warn level with its cause.
|
|
61
|
+
*
|
|
62
|
+
* @param projectRoot - Project root of the ended session.
|
|
63
|
+
* @param opts - Request generation and lock wait.
|
|
64
|
+
* @returns The gate outcome, or `null` when no snapshot could be attempted.
|
|
65
|
+
* @task T12508
|
|
66
|
+
*/
|
|
67
|
+
export async function snapshotAfterSessionEnd(projectRoot, opts = {}) {
|
|
68
|
+
const log = getLogger('session-end-snapshot');
|
|
69
|
+
try {
|
|
70
|
+
const { vacuumIntoBackupAll } = await import('../store/sqlite-backup.js');
|
|
71
|
+
const result = await vacuumIntoBackupAll({
|
|
72
|
+
cwd: projectRoot,
|
|
73
|
+
mode: 'required',
|
|
74
|
+
lockWaitRetries: opts.lockWaitRetries ?? SESSION_END_LOCK_WAIT_RETRIES,
|
|
75
|
+
...(opts.seenGeneration !== undefined && { seenGeneration: opts.seenGeneration }),
|
|
76
|
+
...(opts.alwaysSnapshot !== undefined && { alwaysSnapshot: opts.alwaysSnapshot }),
|
|
77
|
+
...(opts.onLockAcquired !== undefined && { onLockAcquired: opts.onLockAcquired }),
|
|
78
|
+
});
|
|
79
|
+
const miss = describeSnapshotMiss(result);
|
|
80
|
+
if (miss)
|
|
81
|
+
log.warn({ projectRoot, cause: miss }, 'Session-end snapshot not taken');
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
log.warn({ err, projectRoot }, 'Session-end snapshot failed');
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/** Whether to snapshot in-process instead of in a detached child. */
|
|
90
|
+
function runInline() {
|
|
91
|
+
const mode = process.env['CLEO_SESSION_END_SNAPSHOT'];
|
|
92
|
+
if (mode === 'inline')
|
|
93
|
+
return true;
|
|
94
|
+
if (mode === 'detached')
|
|
95
|
+
return false;
|
|
96
|
+
return process.env['VITEST'] !== undefined;
|
|
97
|
+
}
|
|
98
|
+
/** Resolve the compiled worker entry, or `null` when it is not installed/built. */
|
|
99
|
+
function resolveWorkerEntry() {
|
|
100
|
+
try {
|
|
101
|
+
return createRequire(import.meta.url).resolve(WORKER_SPECIFIER);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Absolute path of the worker-pending marker for a project. */
|
|
108
|
+
export function sessionEndWorkerMarkerPath(projectRoot) {
|
|
109
|
+
return join(getCleoDir(projectRoot), 'backups', 'sqlite', SESSION_END_WORKER_MARKER);
|
|
110
|
+
}
|
|
111
|
+
/** Path of the sidecar holding the queued worker's identity for `token`. */
|
|
112
|
+
function workerSidecarPath(markerPath, token) {
|
|
113
|
+
return `${markerPath}.${token}.worker`;
|
|
114
|
+
}
|
|
115
|
+
/** Path of the session-end worker log for a project. */
|
|
116
|
+
function workerLogPath(projectRoot) {
|
|
117
|
+
return join(getCleoDir(projectRoot), 'logs', 'session-end-snapshot.log');
|
|
118
|
+
}
|
|
119
|
+
/** Whether a process with this pid exists (EPERM means it exists but is not ours). */
|
|
120
|
+
function isPidAlive(pid) {
|
|
121
|
+
try {
|
|
122
|
+
process.kill(pid, 0);
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
return err instanceof Error && 'code' in err && err.code === 'EPERM';
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Start time of a process as `ps -o lstart=` prints it (second resolution,
|
|
131
|
+
* stable for the life of the process), or `null` when it cannot be read —
|
|
132
|
+
* the process is gone, or `ps` is unavailable (Windows).
|
|
133
|
+
*/
|
|
134
|
+
function processStart(pid) {
|
|
135
|
+
try {
|
|
136
|
+
const out = execFileSync('ps', ['-o', 'lstart=', '-p', String(pid)], {
|
|
137
|
+
encoding: 'utf-8',
|
|
138
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
139
|
+
timeout: 2_000,
|
|
140
|
+
env: { ...process.env, LC_ALL: 'C' },
|
|
141
|
+
}).trim();
|
|
142
|
+
return out === '' ? null : out;
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/** Identity of a process that is running now. */
|
|
149
|
+
function identityOf(pid) {
|
|
150
|
+
return { pid, pidStart: processStart(pid) };
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Whether `who` is still the process that recorded it: its pid is alive and,
|
|
154
|
+
* where start times are available, the pid's current start time matches. A
|
|
155
|
+
* reused pid (or pid 1, always alive) with a different start time is not.
|
|
156
|
+
*/
|
|
157
|
+
function isSameLiveProcess(who) {
|
|
158
|
+
if (!isPidAlive(who.pid))
|
|
159
|
+
return false;
|
|
160
|
+
if (who.pidStart === null)
|
|
161
|
+
return true; // Recorded without `ps`: liveness only.
|
|
162
|
+
const now = processStart(who.pid);
|
|
163
|
+
return now === null ? true : now === who.pidStart;
|
|
164
|
+
}
|
|
165
|
+
/** Parse a JSON process identity (and token), or `null` when malformed. */
|
|
166
|
+
function parseIdentity(text) {
|
|
167
|
+
try {
|
|
168
|
+
const v = JSON.parse(text);
|
|
169
|
+
if (!v || typeof v.pid !== 'number')
|
|
170
|
+
return null;
|
|
171
|
+
const pidStart = typeof v.pidStart === 'string' ? v.pidStart : null;
|
|
172
|
+
return typeof v.token === 'string'
|
|
173
|
+
? { pid: v.pid, pidStart, token: v.token }
|
|
174
|
+
: { pid: v.pid, pidStart };
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/** Read the marker, or `null` when it is missing or malformed. */
|
|
181
|
+
function readWorkerMarker(path) {
|
|
182
|
+
let text;
|
|
183
|
+
try {
|
|
184
|
+
text = readFileSync(path, 'utf-8');
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
const v = parseIdentity(text);
|
|
190
|
+
return v?.token === undefined ? null : { token: v.token, pid: v.pid, pidStart: v.pidStart };
|
|
191
|
+
}
|
|
192
|
+
/** Read the queued worker's identity for `token`, or `null` when not yet handed over. */
|
|
193
|
+
function readWorkerSidecar(markerPath, token) {
|
|
194
|
+
try {
|
|
195
|
+
return parseIdentity(readFileSync(workerSidecarPath(markerPath, token), 'utf-8'));
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Whether the marker names a worker that is still queued: it is younger than
|
|
203
|
+
* {@link SESSION_END_MARKER_STALE_MS}, and its holder — the worker named in
|
|
204
|
+
* the sidecar, or else the requester still handing over — is the same live
|
|
205
|
+
* process that recorded it.
|
|
206
|
+
*/
|
|
207
|
+
function isMarkerLive(path) {
|
|
208
|
+
let ageMs;
|
|
209
|
+
try {
|
|
210
|
+
ageMs = Date.now() - statSync(path).mtimeMs;
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
if (ageMs > SESSION_END_MARKER_STALE_MS)
|
|
216
|
+
return false;
|
|
217
|
+
const marker = readWorkerMarker(path);
|
|
218
|
+
if (!marker)
|
|
219
|
+
return false;
|
|
220
|
+
return isSameLiveProcess(readWorkerSidecar(path, marker.token) ?? marker);
|
|
221
|
+
}
|
|
222
|
+
/** Write `text` to `path` atomically: a unique temp file, then rename. */
|
|
223
|
+
function writeAtomic(path, text) {
|
|
224
|
+
const tmp = `${path}.tmp-${process.pid}-${randomUUID()}`;
|
|
225
|
+
try {
|
|
226
|
+
writeFileSync(tmp, text);
|
|
227
|
+
renameSync(tmp, path);
|
|
228
|
+
}
|
|
229
|
+
finally {
|
|
230
|
+
rmSync(tmp, { force: true });
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Create the marker atomically and exclusively: write it complete to a temp
|
|
235
|
+
* file, then `link()` it into place — the link fails with EEXIST if a marker
|
|
236
|
+
* exists, and no reader ever sees a partial marker. Where hard links are not
|
|
237
|
+
* supported, falls back to an O_EXCL create. Returns `false` when a marker
|
|
238
|
+
* already exists.
|
|
239
|
+
*/
|
|
240
|
+
function tryCreateMarker(path, marker) {
|
|
241
|
+
const body = JSON.stringify(marker);
|
|
242
|
+
const tmp = `${path}.${marker.token}.new`;
|
|
243
|
+
try {
|
|
244
|
+
writeFileSync(tmp, body);
|
|
245
|
+
try {
|
|
246
|
+
linkSync(tmp, path);
|
|
247
|
+
return true;
|
|
248
|
+
}
|
|
249
|
+
catch (err) {
|
|
250
|
+
if (!(err instanceof Error && 'code' in err))
|
|
251
|
+
throw err;
|
|
252
|
+
if (err.code === 'EEXIST')
|
|
253
|
+
return false;
|
|
254
|
+
if (!['EPERM', 'ENOTSUP', 'EXDEV', 'EMLINK'].includes(String(err.code)))
|
|
255
|
+
throw err;
|
|
256
|
+
}
|
|
257
|
+
let fd;
|
|
258
|
+
try {
|
|
259
|
+
fd = openSync(path, 'wx');
|
|
260
|
+
}
|
|
261
|
+
catch (err) {
|
|
262
|
+
if (err instanceof Error && 'code' in err && err.code === 'EEXIST')
|
|
263
|
+
return false;
|
|
264
|
+
throw err;
|
|
265
|
+
}
|
|
266
|
+
try {
|
|
267
|
+
writeSync(fd, body);
|
|
268
|
+
}
|
|
269
|
+
finally {
|
|
270
|
+
closeSync(fd);
|
|
271
|
+
}
|
|
272
|
+
return true;
|
|
273
|
+
}
|
|
274
|
+
finally {
|
|
275
|
+
rmSync(tmp, { force: true });
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
/** Remove the marker and its worker sidecar. */
|
|
279
|
+
function removeMarker(path, token) {
|
|
280
|
+
rmSync(path, { force: true });
|
|
281
|
+
if (token !== null)
|
|
282
|
+
rmSync(workerSidecarPath(path, token), { force: true });
|
|
283
|
+
}
|
|
284
|
+
/** Remove worker sidecars that do not belong to the current marker's token. */
|
|
285
|
+
function removeOrphanSidecars(path, currentToken) {
|
|
286
|
+
try {
|
|
287
|
+
const dir = dirname(path);
|
|
288
|
+
const prefix = `${SESSION_END_WORKER_MARKER}.`;
|
|
289
|
+
for (const name of readdirSync(dir)) {
|
|
290
|
+
if (!name.startsWith(prefix) || !name.endsWith('.worker'))
|
|
291
|
+
continue;
|
|
292
|
+
if (name === `${prefix}${currentToken}.worker`)
|
|
293
|
+
continue;
|
|
294
|
+
rmSync(join(dir, name), { force: true });
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
catch {
|
|
298
|
+
// Orphans are harmless: a sidecar is read only for the current token.
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Reserve the right to spawn the session-end worker for this project.
|
|
303
|
+
* Returns the reservation, or `null` when a live worker is already queued.
|
|
304
|
+
* A stale marker (holder gone or replaced, or older than
|
|
305
|
+
* {@link SESSION_END_MARKER_STALE_MS}) is removed and the reservation retried
|
|
306
|
+
* once.
|
|
307
|
+
*/
|
|
308
|
+
function reserveWorkerMarker(path) {
|
|
309
|
+
const marker = { token: randomUUID(), ...identityOf(process.pid) };
|
|
310
|
+
let created = tryCreateMarker(path, marker);
|
|
311
|
+
if (!created) {
|
|
312
|
+
if (isMarkerLive(path))
|
|
313
|
+
return null;
|
|
314
|
+
removeMarker(path, readWorkerMarker(path)?.token ?? null);
|
|
315
|
+
created = tryCreateMarker(path, marker);
|
|
316
|
+
}
|
|
317
|
+
if (!created)
|
|
318
|
+
return null;
|
|
319
|
+
removeOrphanSidecars(path, marker.token);
|
|
320
|
+
return marker;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Record the spawned worker as the marker's holder, so the marker stays live
|
|
324
|
+
* after this (short-lived) requester exits. Writes only the per-token sidecar,
|
|
325
|
+
* atomically; the marker itself is never touched, so if the worker has already
|
|
326
|
+
* dropped the marker (it holds the lock and is about to snapshot) nothing is
|
|
327
|
+
* recreated and later requests correctly spawn the next worker.
|
|
328
|
+
*/
|
|
329
|
+
function handMarkerToWorker(path, token, worker) {
|
|
330
|
+
try {
|
|
331
|
+
writeAtomic(workerSidecarPath(path, token), JSON.stringify(worker));
|
|
332
|
+
}
|
|
333
|
+
catch {
|
|
334
|
+
// Without the sidecar the marker goes stale when this requester exits.
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Remove the worker-pending marker if it still carries `token` — i.e. it was
|
|
339
|
+
* created for this worker and not replaced after being judged stale — and the
|
|
340
|
+
* worker's sidecar. Called by the worker under the gate lock, before it
|
|
341
|
+
* snapshots, and again when it exits. Never throws.
|
|
342
|
+
*
|
|
343
|
+
* @param projectRoot - Project whose marker to release.
|
|
344
|
+
* @param token - Token the worker was spawned with.
|
|
345
|
+
* @task T12508
|
|
346
|
+
*/
|
|
347
|
+
export function releaseSessionEndWorkerMarker(projectRoot, token) {
|
|
348
|
+
try {
|
|
349
|
+
const path = sessionEndWorkerMarkerPath(projectRoot);
|
|
350
|
+
if (readWorkerMarker(path)?.token === token)
|
|
351
|
+
rmSync(path, { force: true });
|
|
352
|
+
rmSync(workerSidecarPath(path, token), { force: true });
|
|
353
|
+
}
|
|
354
|
+
catch {
|
|
355
|
+
// Best-effort: a leftover marker goes stale within minutes.
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
/** Append one line to the worker log recording a coalesced request. Never throws. */
|
|
359
|
+
function logCoalesced(projectRoot, markerPath) {
|
|
360
|
+
try {
|
|
361
|
+
const marker = readWorkerMarker(markerPath);
|
|
362
|
+
const holder = marker ? (readWorkerSidecar(markerPath, marker.token) ?? marker) : null;
|
|
363
|
+
const log = workerLogPath(projectRoot);
|
|
364
|
+
mkdirSync(dirname(log), { recursive: true });
|
|
365
|
+
appendFileSync(log, `${JSON.stringify({
|
|
366
|
+
event: 'session-end-snapshot-coalesced',
|
|
367
|
+
at: new Date().toISOString(),
|
|
368
|
+
pid: process.pid,
|
|
369
|
+
projectRoot,
|
|
370
|
+
queuedWorkerPid: holder?.pid ?? null,
|
|
371
|
+
})}\n`);
|
|
372
|
+
}
|
|
373
|
+
catch {
|
|
374
|
+
// Logging is best-effort.
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Request the session-end snapshot. Call it as the LAST step of ending a
|
|
379
|
+
* session, after the session row is persisted as ended.
|
|
380
|
+
*
|
|
381
|
+
* Unless a worker is already queued for this project, spawns a detached,
|
|
382
|
+
* unref'd worker that takes the snapshot, and returns immediately. A request
|
|
383
|
+
* that finds a live marker spawns nothing and is logged as coalesced (see the
|
|
384
|
+
* module comment for why that is safe). Falls back to an inline snapshot
|
|
385
|
+
* (bounded lock wait) when the worker cannot be spawned. Never throws.
|
|
386
|
+
*
|
|
387
|
+
* @param projectRoot - Project root of the ended session.
|
|
388
|
+
* @returns How the snapshot was requested.
|
|
389
|
+
* @task T12508
|
|
390
|
+
*/
|
|
391
|
+
export async function requestSessionEndSnapshot(projectRoot) {
|
|
392
|
+
const log = getLogger('session-end-snapshot');
|
|
393
|
+
let seenGeneration = null;
|
|
394
|
+
try {
|
|
395
|
+
const { readProjectSnapshotGeneration } = await import('../store/sqlite-backup.js');
|
|
396
|
+
seenGeneration = await readProjectSnapshotGeneration(projectRoot);
|
|
397
|
+
}
|
|
398
|
+
catch {
|
|
399
|
+
// Unknown generation: an inline snapshot is then never considered covered.
|
|
400
|
+
}
|
|
401
|
+
const inlineOpts = seenGeneration === null ? {} : { seenGeneration };
|
|
402
|
+
const entry = runInline() ? null : resolveWorkerEntry();
|
|
403
|
+
if (entry !== null) {
|
|
404
|
+
let marker = null;
|
|
405
|
+
try {
|
|
406
|
+
const backupDir = join(getCleoDir(projectRoot), 'backups', 'sqlite');
|
|
407
|
+
mkdirSync(backupDir, { recursive: true });
|
|
408
|
+
const markerPath = sessionEndWorkerMarkerPath(projectRoot);
|
|
409
|
+
marker = reserveWorkerMarker(markerPath);
|
|
410
|
+
if (marker === null) {
|
|
411
|
+
logCoalesced(projectRoot, markerPath);
|
|
412
|
+
return { mode: 'coalesced', seenGeneration };
|
|
413
|
+
}
|
|
414
|
+
const logFile = workerLogPath(projectRoot);
|
|
415
|
+
mkdirSync(dirname(logFile), { recursive: true });
|
|
416
|
+
const fd = openSync(logFile, 'a');
|
|
417
|
+
try {
|
|
418
|
+
const child = spawn(process.execPath, [entry, projectRoot, marker.token], {
|
|
419
|
+
detached: true,
|
|
420
|
+
stdio: ['ignore', fd, fd],
|
|
421
|
+
cwd: projectRoot,
|
|
422
|
+
env: process.env,
|
|
423
|
+
});
|
|
424
|
+
// A spawn failure is emitted asynchronously; without a listener it
|
|
425
|
+
// would be an uncaught error in the process ending the session.
|
|
426
|
+
child.on('error', (err) => log.warn({ err, projectRoot }, 'Session-end snapshot worker failed'));
|
|
427
|
+
child.unref();
|
|
428
|
+
if (child.pid !== undefined) {
|
|
429
|
+
handMarkerToWorker(markerPath, marker.token, identityOf(child.pid));
|
|
430
|
+
return { mode: 'detached', seenGeneration, pid: child.pid };
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
finally {
|
|
434
|
+
closeSync(fd);
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
catch (err) {
|
|
438
|
+
log.warn({ err, projectRoot }, 'Could not spawn session-end snapshot worker; running inline');
|
|
439
|
+
}
|
|
440
|
+
if (marker !== null)
|
|
441
|
+
releaseSessionEndWorkerMarker(projectRoot, marker.token);
|
|
442
|
+
}
|
|
443
|
+
const result = await snapshotAfterSessionEnd(projectRoot, inlineOpts);
|
|
444
|
+
return { mode: 'inline', seenGeneration, result };
|
|
445
|
+
}
|
|
446
|
+
//# sourceMappingURL=session-end-snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-end-snapshot.js","sourceRoot":"","sources":["../../src/sessions/session-end-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manifest-mirror.d.ts","sourceRoot":"","sources":["../../src/sessions/session-manifest-mirror.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-manifest-mirror.d.ts","sourceRoot":"","sources":["../../src/sessions/session-manifest-mirror.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAInD,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAqBlF;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAKrF;AAgFD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,CAQrD;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD"}
|