@cleocode/core 2026.9.20 → 2026.9.22
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/agents/scaffold.d.ts.map +1 -1
- package/dist/agents/scaffold.js +0 -1
- package/dist/agents/scaffold.js.map +1 -1
- package/dist/bootstrap.d.ts +5 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +45 -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/dispatch/mutate-projection.d.ts.map +1 -1
- package/dist/dispatch/mutate-projection.js +5 -0
- package/dist/dispatch/mutate-projection.js.map +1 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +25 -9
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/export-document.js +5963 -2406
- 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 +16 -1
- package/dist/doctor/knowledge.d.ts.map +1 -1
- package/dist/doctor/knowledge.js +58 -32
- 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 +36 -6
- package/dist/engine/engine-ops.d.ts.map +1 -1
- package/dist/engine/engine-ops.js +115 -14
- 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/gateway-client/generated/types.gen.d.ts +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 +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -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 +578 -53
- package/dist/init.js.map +1 -1
- package/dist/inject/index.d.ts.map +1 -1
- package/dist/inject/index.js +8 -3
- package/dist/inject/index.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 +11 -7
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +9 -5
- 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 +4400 -1801
- 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.js +31 -31
- 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 +38 -0
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +136 -48
- 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 +40 -5
- 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 +171 -0
- package/dist/nexus/stored-roots.d.ts.map +1 -0
- package/dist/nexus/stored-roots.js +253 -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/lifecycle-ops.d.ts.map +1 -1
- package/dist/orchestrate/lifecycle-ops.js +4 -1
- package/dist/orchestrate/lifecycle-ops.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/plan.d.ts.map +1 -1
- package/dist/orchestrate/plan.js +5 -2
- package/dist/orchestrate/plan.js.map +1 -1
- package/dist/orchestrate/query-ops.d.ts +7 -2
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +17 -6
- package/dist/orchestrate/query-ops.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 +157 -71
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/bootstrap.d.ts.map +1 -1
- package/dist/orchestration/bootstrap.js +4 -2
- package/dist/orchestration/bootstrap.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 +4 -2
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +6 -4
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lead-rollup.d.ts +8 -5
- package/dist/orchestration/lead-rollup.d.ts.map +1 -1
- package/dist/orchestration/lead-rollup.js +32 -15
- package/dist/orchestration/lead-rollup.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/parallel.d.ts.map +1 -1
- package/dist/orchestration/parallel.js +10 -17
- package/dist/orchestration/parallel.js.map +1 -1
- 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 +16 -2
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +144 -181
- 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/orchestration/status.d.ts +8 -3
- package/dist/orchestration/status.d.ts.map +1 -1
- package/dist/orchestration/status.js +9 -6
- package/dist/orchestration/status.js.map +1 -1
- package/dist/orchestration/wave-topic.d.ts +54 -0
- package/dist/orchestration/wave-topic.d.ts.map +1 -0
- package/dist/orchestration/wave-topic.js +68 -0
- package/dist/orchestration/wave-topic.js.map +1 -0
- package/dist/orchestration/waves.d.ts +47 -8
- package/dist/orchestration/waves.d.ts.map +1 -1
- package/dist/orchestration/waves.js +152 -43
- package/dist/orchestration/waves.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/phases/index.d.ts.map +1 -1
- package/dist/phases/index.js +6 -2
- package/dist/phases/index.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 +104 -4
- package/dist/project-scope.d.ts.map +1 -1
- package/dist/project-scope.js +263 -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 +233 -0
- package/dist/release/ci-evidence.d.ts.map +1 -0
- package/dist/release/ci-evidence.js +668 -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/github-pr.d.ts +30 -0
- package/dist/release/github-pr.d.ts.map +1 -1
- package/dist/release/github-pr.js +40 -0
- package/dist/release/github-pr.js.map +1 -1
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +11 -7
- 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 +79 -15
- 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 +20 -3
- package/dist/security/input-sanitization.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +4409 -1810
- 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 +15 -0
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +146 -22
- 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 +23 -0
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +59 -9
- 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 +8 -5
- package/dist/sessions/drift-watchdog.js.map +1 -1
- package/dist/sessions/focus-state-store.d.ts +89 -1
- package/dist/sessions/focus-state-store.d.ts.map +1 -1
- package/dist/sessions/focus-state-store.js +97 -1
- package/dist/sessions/focus-state-store.js.map +1 -1
- package/dist/sessions/index.d.ts +2 -2
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +34 -5
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/session-drift.d.ts.map +1 -1
- package/dist/sessions/session-drift.js +4 -3
- package/dist/sessions/session-drift.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 +20 -3
- package/dist/skills/discovery.d.ts.map +1 -1
- package/dist/skills/discovery.js +41 -4
- 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/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 +14 -7
- package/dist/skills/orchestrator/startup.js.map +1 -1
- package/dist/skills/prune-bundled.d.ts +267 -0
- package/dist/skills/prune-bundled.d.ts.map +1 -0
- package/dist/skills/prune-bundled.js +536 -0
- package/dist/skills/prune-bundled.js.map +1 -0
- 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 +32 -1
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js +17 -34
- 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 +80 -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/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js +4 -2
- package/dist/stats/index.js.map +1 -1
- 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/skills-db.d.ts +17 -0
- package/dist/store/skills-db.d.ts.map +1 -1
- package/dist/store/skills-db.js +30 -0
- package/dist/store/skills-db.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 +401 -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 +73 -4
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite.d.ts +15 -1
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +75 -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 +320 -0
- package/dist/store/twin-collapse.d.ts.map +1 -0
- package/dist/store/twin-collapse.js +931 -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 +71 -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 +3 -6
- 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/inject-generate.d.ts.map +1 -1
- package/dist/system/inject-generate.js +4 -4
- package/dist/system/inject-generate.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/task-work/index.d.ts +6 -0
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +6 -3
- package/dist/task-work/index.js.map +1 -1
- 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 +218 -0
- package/dist/tasks/affected-packages.d.ts.map +1 -0
- package/dist/tasks/affected-packages.js +496 -0
- package/dist/tasks/affected-packages.js.map +1 -0
- package/dist/tasks/affected-scope.d.ts +59 -0
- package/dist/tasks/affected-scope.d.ts.map +1 -0
- package/dist/tasks/affected-scope.js +81 -0
- package/dist/tasks/affected-scope.js.map +1 -0
- package/dist/tasks/analyze.d.ts.map +1 -1
- package/dist/tasks/analyze.js +7 -2
- package/dist/tasks/analyze.js.map +1 -1
- package/dist/tasks/change-set.d.ts +175 -0
- package/dist/tasks/change-set.d.ts.map +1 -0
- package/dist/tasks/change-set.js +753 -0
- package/dist/tasks/change-set.js.map +1 -0
- package/dist/tasks/complete.d.ts +10 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +59 -5
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/component-pr.d.ts +106 -0
- package/dist/tasks/component-pr.d.ts.map +1 -0
- package/dist/tasks/component-pr.js +190 -0
- package/dist/tasks/component-pr.js.map +1 -0
- package/dist/tasks/done-plan.d.ts +123 -0
- package/dist/tasks/done-plan.d.ts.map +1 -0
- package/dist/tasks/done-plan.js +696 -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 +302 -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 +101 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +278 -31
- 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/task-next.d.ts +4 -0
- package/dist/tasks/task-next.d.ts.map +1 -1
- package/dist/tasks/task-next.js +32 -28
- package/dist/tasks/task-next.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 +24 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +272 -98
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/validation/validate-ops.d.ts.map +1 -1
- package/dist/validation/validate-ops.js +9 -3
- package/dist/validation/validate-ops.js.map +1 -1
- package/dist/worktree/worktree-adopt.d.ts.map +1 -1
- package/dist/worktree/worktree-adopt.js +5 -2
- package/dist/worktree/worktree-adopt.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-map.js","sourceRoot":"","sources":["../../src/nexus/path-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAiB/D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAiB,EAAE,MAA6B;IACpF,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;SACpB,MAAM,CAAC;QACN,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,GAAG;QACrB,QAAQ,EAAE,MAAM,CAAC,GAAG;KACrB,CAAC;SACD,kBAAkB,CAAC;QAClB,MAAM,EAAE,YAAY,CAAC,WAAW;QAChC,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE;KAC5F,CAAC;SACD,GAAG,EAAE,CAAC;IAET,MAAM,QAAQ,GAAG,EAAE;SAChB,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC;SACjD,IAAI,CAAC,YAAY,CAAC;SAClB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAC5C,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CACjD,CACF;SACA,GAAG,EAAE,CAAC;IACT,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,SAAS;QAC9C,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACvF,MAAM,EAAE,CAAC;IACX,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACxE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,OAAO,EAAE;SACN,MAAM,EAAE;SACR,IAAI,CAAC,YAAY,CAAC;SAClB,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SAC5C,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SACpC,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACb,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;KACpC,CAAC,CAAC,CAAC;AACR,CAAC"}
|
|
1
|
+
{"version":3,"file":"path-map.js","sourceRoot":"","sources":["../../src/nexus/path-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,16 @@
|
|
|
9
9
|
* `nexus_project_id_aliases` rows and a `nexus_audit_log` receipt in ONE
|
|
10
10
|
* transaction on the GLOBAL registry store — the store `--vacuum` compacts.
|
|
11
11
|
*
|
|
12
|
+
* T12471: a matched row whose path is gone but whose id is found at another
|
|
13
|
+
* path on this device is a MOVED project, not an orphan. It is never removed
|
|
14
|
+
* (whatever criterion matched it); it is reported under `relocated` with the
|
|
15
|
+
* `cleo doctor projects` remedy that rebinds it by id. A path is gone only
|
|
16
|
+
* when the tri-state probe answers `no`; an unreadable one (EACCES, EPERM,
|
|
17
|
+
* timeout) is never removed and is reported under `unreadable`.
|
|
18
|
+
*
|
|
12
19
|
* @task T1473
|
|
13
20
|
* @task T12324
|
|
21
|
+
* @task T12471
|
|
14
22
|
*/
|
|
15
23
|
import type { NexusProjectsCleanResult } from '@cleocode/contracts';
|
|
16
24
|
import { type EngineResult } from '../engine-result.js';
|
|
@@ -54,7 +62,7 @@ export interface CleanProjectsOptions {
|
|
|
54
62
|
vacuum?: boolean;
|
|
55
63
|
/**
|
|
56
64
|
* When matchPolluted is set and dryRun is false, write an audit JSONL to
|
|
57
|
-
*
|
|
65
|
+
* <getCleoStateDir()>/nexus-cleanup-<ts>.jsonl before deletion (T9149).
|
|
58
66
|
*/
|
|
59
67
|
auditLog?: boolean;
|
|
60
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects-clean.d.ts","sourceRoot":"","sources":["../../src/nexus/projects-clean.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"projects-clean.d.ts","sourceRoot":"","sources":["../../src/nexus/projects-clean.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,KAAK,EAKV,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,YAAY,EAA8B,MAAM,qBAAqB,CAAC;AAIpF,oEAAoE;AACpE,qBAAa,eAAgB,SAAQ,KAAK;IACxC,gBAAgB;IAChB,SAAkB,IAAI,qBAAqB;;CAQ5C;AAED,qDAAqD;AACrD,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,gBAAgB;IAChB,SAAkB,IAAI,yBAAyB;gBAEnC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAK5C;AAED,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,MAAM,EAAE,OAAO,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qDAAqD;IACrD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sEAAsE;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wFAAwF;AACxF,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AAkF3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA8V5F;AA8BD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAgC7C"}
|
|
@@ -9,13 +9,22 @@
|
|
|
9
9
|
* `nexus_project_id_aliases` rows and a `nexus_audit_log` receipt in ONE
|
|
10
10
|
* transaction on the GLOBAL registry store — the store `--vacuum` compacts.
|
|
11
11
|
*
|
|
12
|
+
* T12471: a matched row whose path is gone but whose id is found at another
|
|
13
|
+
* path on this device is a MOVED project, not an orphan. It is never removed
|
|
14
|
+
* (whatever criterion matched it); it is reported under `relocated` with the
|
|
15
|
+
* `cleo doctor projects` remedy that rebinds it by id. A path is gone only
|
|
16
|
+
* when the tri-state probe answers `no`; an unreadable one (EACCES, EPERM,
|
|
17
|
+
* timeout) is never removed and is reported under `unreadable`.
|
|
18
|
+
*
|
|
12
19
|
* @task T1473
|
|
13
20
|
* @task T12324
|
|
21
|
+
* @task T12471
|
|
14
22
|
*/
|
|
15
23
|
import { randomUUID } from 'node:crypto';
|
|
16
24
|
import { existsSync, statSync } from 'node:fs';
|
|
17
|
-
import { rm } from 'node:fs/promises';
|
|
25
|
+
import { lstat, rm } from 'node:fs/promises';
|
|
18
26
|
import path from 'node:path';
|
|
27
|
+
import { getCleoStateDir, readDeclaredProjectIdentity } from '@cleocode/paths';
|
|
19
28
|
import { inArray, sql } from 'drizzle-orm';
|
|
20
29
|
import { engineError, engineSuccess } from '../engine-result.js';
|
|
21
30
|
import { getCleoHome } from '../paths.js';
|
|
@@ -37,6 +46,10 @@ export class InvalidPatternError extends Error {
|
|
|
37
46
|
super(`Invalid --pattern regex '${pattern}': ${cause instanceof Error ? cause.message : String(cause)}`);
|
|
38
47
|
}
|
|
39
48
|
}
|
|
49
|
+
/** Registry paths probed at once (T12471). */
|
|
50
|
+
const PROBE_CONCURRENCY = 16;
|
|
51
|
+
/** Budget per path probe; a slower path is `unknown` and kept (T12471). */
|
|
52
|
+
const PROBE_TIMEOUT_MS = 2000;
|
|
40
53
|
const TEMP_RE = /(^|\/)\.temp(\/|$)/;
|
|
41
54
|
// T12324: `__tests__` and plural `tests`/`fixtures` are fixture homes too.
|
|
42
55
|
const TESTS_RE = /(^|\/)(tmp|tests?|__tests__|fixtures?|scratch|sandbox)(\/|$)/;
|
|
@@ -46,6 +59,36 @@ function portablePathForMatch(p) {
|
|
|
46
59
|
function pathSegmentCount(p) {
|
|
47
60
|
return portablePathForMatch(p).split('/').filter(Boolean).length;
|
|
48
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Whether a registered path is gone, within {@link PROBE_TIMEOUT_MS}
|
|
64
|
+
* (T12471): `gone` ONLY when the path is absent (ENOENT/ENOTDIR); `unknown`
|
|
65
|
+
* when it cannot be read (EACCES, EPERM, timeout) — never proof of absence;
|
|
66
|
+
* `{ declares }` when it exists but declares another id — `.cleo/project-id`
|
|
67
|
+
* is tracked, so a branch checkout, rebase or conflict flips it transiently,
|
|
68
|
+
* and the row (with its permissions) must survive that window; `present`
|
|
69
|
+
* otherwise.
|
|
70
|
+
*/
|
|
71
|
+
async function probeRowPath(projectPath, projectId) {
|
|
72
|
+
const { probeProjectHolding } = await import('./path-map.js');
|
|
73
|
+
const { withinBudget } = await import('./projects-scan.js');
|
|
74
|
+
const holding = await probeProjectHolding(projectPath, projectId, PROBE_TIMEOUT_MS);
|
|
75
|
+
if (holding === 'unknown')
|
|
76
|
+
return 'unknown';
|
|
77
|
+
if (holding === 'yes')
|
|
78
|
+
return 'present';
|
|
79
|
+
const stat = await withinBudget(lstat(projectPath).then(() => 'exists', (error) => error.code === 'ENOENT' || error.code === 'ENOTDIR'
|
|
80
|
+
? 'absent'
|
|
81
|
+
: 'error'), PROBE_TIMEOUT_MS);
|
|
82
|
+
if (stat === 'absent')
|
|
83
|
+
return 'gone';
|
|
84
|
+
if (stat !== 'exists')
|
|
85
|
+
return 'unknown';
|
|
86
|
+
// The directory answered: it holds a different project, or no `.cleo/` at all.
|
|
87
|
+
const declared = readDeclaredProjectIdentity(projectPath);
|
|
88
|
+
return declared !== null && declared.projectId !== projectId
|
|
89
|
+
? { declares: declared.projectId }
|
|
90
|
+
: 'present';
|
|
91
|
+
}
|
|
49
92
|
/** Report whether a registry path is temp-like (`.temp/` segment or OS temp root). */
|
|
50
93
|
function isTempPath(projectPath) {
|
|
51
94
|
return TEMP_RE.test(portablePathForMatch(projectPath)) || isEphemeralPath(projectPath);
|
|
@@ -103,7 +146,7 @@ export async function cleanProjects(opts) {
|
|
|
103
146
|
}
|
|
104
147
|
}
|
|
105
148
|
const { getNexusRegistryDb, getNexusRegistryDbPath } = await import('../store/nexus-sqlite.js');
|
|
106
|
-
const { projectRegistry: regTable, projectIdAliases: aliasTable, projectPaths: pathTable, nexusAuditLog: auditTable, } = await import('../store/schema/nexus-schema.js');
|
|
149
|
+
const { projectRegistry: regTable, projectIdAliases: aliasTable, projectLocations: locationTable, projectPaths: pathTable, nexusAuditLog: auditTable, } = await import('../store/schema/nexus-schema.js');
|
|
107
150
|
// T12324: the registry lives in the GLOBAL store. Opening it directly (not
|
|
108
151
|
// through the project handle's ATTACH) makes `VACUUM` compact the store the
|
|
109
152
|
// rows were deleted from.
|
|
@@ -121,9 +164,10 @@ export async function cleanProjects(opts) {
|
|
|
121
164
|
.all();
|
|
122
165
|
const pollutedIds = new Set();
|
|
123
166
|
if (opts.matchPolluted) {
|
|
124
|
-
// Group rows by
|
|
125
|
-
//
|
|
126
|
-
|
|
167
|
+
// Group rows by path fingerprint (git-root realpath + name + remote) so
|
|
168
|
+
// bind-mount variants of the same checkout collapse to one key. A grouping
|
|
169
|
+
// key only — never an identity (T12470).
|
|
170
|
+
const { projectPathFingerprint: computeId } = await import('./identity.js');
|
|
127
171
|
const canonicalGroups = new Map();
|
|
128
172
|
await Promise.all(allRows.map(async (row) => {
|
|
129
173
|
try {
|
|
@@ -172,9 +216,24 @@ export async function cleanProjects(opts) {
|
|
|
172
216
|
orphanAliases: aliasRows.filter((alias) => !registryIds.has(alias.canonicalId)).length,
|
|
173
217
|
};
|
|
174
218
|
const matchedByReason = {};
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
|
|
219
|
+
const matchedRows = [];
|
|
220
|
+
const missingIds = new Set();
|
|
221
|
+
const unreadableIds = new Set();
|
|
222
|
+
const mismatchOf = new Map();
|
|
223
|
+
// T12471: tri-state, bounded probe. Only `no` (ENOENT/ENOTDIR, or a
|
|
224
|
+
// different id declared there) proves a project gone; `unknown` (EACCES,
|
|
225
|
+
// EPERM, timeout) is a live project this process cannot see.
|
|
226
|
+
const { runWithConcurrency } = await import('../lib/concurrency.js');
|
|
227
|
+
const holdings = await runWithConcurrency(allRows, PROBE_CONCURRENCY, (row) => probeRowPath(row.projectPath, row.projectId));
|
|
228
|
+
for (const [index, row] of allRows.entries()) {
|
|
229
|
+
const missing = holdings[index] === 'gone';
|
|
230
|
+
if (missing)
|
|
231
|
+
missingIds.add(row.projectId);
|
|
232
|
+
const holding = holdings[index];
|
|
233
|
+
if (holding === 'unknown')
|
|
234
|
+
unreadableIds.add(row.projectId);
|
|
235
|
+
if (typeof holding === 'object')
|
|
236
|
+
mismatchOf.set(row.projectId, holding.declares);
|
|
178
237
|
const temp = isTempPath(row.projectPath);
|
|
179
238
|
const test = isTestPath(row.projectPath);
|
|
180
239
|
if (missing)
|
|
@@ -203,14 +262,38 @@ export async function cleanProjects(opts) {
|
|
|
203
262
|
reasons.push('path-divergent-duplicate');
|
|
204
263
|
if (reasons.length === 0)
|
|
205
264
|
continue;
|
|
206
|
-
|
|
207
|
-
matchedByReason[reason] = (matchedByReason[reason] ?? 0) + 1;
|
|
208
|
-
removals.push({ projectId: row.projectId, projectPath: row.projectPath, reasons });
|
|
265
|
+
matchedRows.push({ projectId: row.projectId, projectPath: row.projectPath, reasons });
|
|
209
266
|
}
|
|
210
267
|
classification.retained = classification.total - classification.stale;
|
|
268
|
+
// T12471: a gone path whose id lives on elsewhere is a move, never an orphan.
|
|
269
|
+
const relocated = await findRelocated(matchedRows.filter((r) => missingIds.has(r.projectId)));
|
|
270
|
+
const relocatedIds = new Set(relocated.map((r) => r.projectId));
|
|
271
|
+
const unreadable = matchedRows
|
|
272
|
+
.filter((r) => unreadableIds.has(r.projectId))
|
|
273
|
+
.map((r) => ({ projectId: r.projectId, projectPath: r.projectPath }));
|
|
274
|
+
// Reported under --orphans (where it used to be deleted) and whenever
|
|
275
|
+
// another criterion matched it; never removed.
|
|
276
|
+
const matchedIds = new Set(matchedRows.map((r) => r.projectId));
|
|
277
|
+
const idMismatch = allRows.flatMap((r) => {
|
|
278
|
+
const declares = mismatchOf.get(r.projectId);
|
|
279
|
+
return declares && (opts.matchOrphaned || matchedIds.has(r.projectId))
|
|
280
|
+
? [{ projectId: r.projectId, projectPath: r.projectPath, declares }]
|
|
281
|
+
: [];
|
|
282
|
+
});
|
|
283
|
+
const removals = matchedRows.filter((r) => !relocatedIds.has(r.projectId) &&
|
|
284
|
+
!unreadableIds.has(r.projectId) &&
|
|
285
|
+
!mismatchOf.has(r.projectId));
|
|
286
|
+
for (const removal of removals)
|
|
287
|
+
for (const reason of removal.reasons)
|
|
288
|
+
matchedByReason[reason] = (matchedByReason[reason] ?? 0) + 1;
|
|
211
289
|
const totalCount = allRows.length;
|
|
212
290
|
const matched = removals.length;
|
|
213
291
|
const sample = removals.slice(0, 10).map((r) => path.resolve(r.projectPath));
|
|
292
|
+
const relocatedField = {
|
|
293
|
+
...(relocated.length > 0 ? { relocated } : {}),
|
|
294
|
+
...(unreadable.length > 0 ? { unreadable } : {}),
|
|
295
|
+
...(idMismatch.length > 0 ? { idMismatch } : {}),
|
|
296
|
+
};
|
|
214
297
|
if (opts.dryRun || matched === 0) {
|
|
215
298
|
return {
|
|
216
299
|
dryRun: opts.dryRun,
|
|
@@ -221,15 +304,15 @@ export async function cleanProjects(opts) {
|
|
|
221
304
|
totalCount,
|
|
222
305
|
classification,
|
|
223
306
|
matchedByReason,
|
|
307
|
+
...relocatedField,
|
|
224
308
|
};
|
|
225
309
|
}
|
|
226
310
|
// Write audit JSONL before deletion (T9149 matchPolluted mode)
|
|
227
311
|
if (opts.matchPolluted && opts.auditLog && removals.length > 0) {
|
|
228
312
|
try {
|
|
229
313
|
const { appendFile: appendFn, mkdir: mkdirFn } = await import('node:fs/promises');
|
|
230
|
-
const { homedir } = await import('node:os');
|
|
231
314
|
const ts = new Date().toISOString().replace(/[:.]/g, '-');
|
|
232
|
-
const auditDir =
|
|
315
|
+
const auditDir = getCleoStateDir();
|
|
233
316
|
await mkdirFn(auditDir, { recursive: true });
|
|
234
317
|
const auditPath = path.join(auditDir, `nexus-cleanup-${ts}.jsonl`);
|
|
235
318
|
const records = removals
|
|
@@ -259,7 +342,10 @@ export async function cleanProjects(opts) {
|
|
|
259
342
|
tx.delete(regTable).where(inArray(regTable.projectId, slice)).run();
|
|
260
343
|
purgedAliases += Number(tx.delete(aliasTable).where(inArray(aliasTable.canonicalId, slice)).run().changes);
|
|
261
344
|
}
|
|
262
|
-
// T12354
|
|
345
|
+
// T12354 · T12469: an explicitly purged project's locations go with it,
|
|
346
|
+
// and none may outlive the registry row they belong to.
|
|
347
|
+
tx.run(sql `DELETE FROM ${locationTable} WHERE ${locationTable.projectId} NOT IN (SELECT ${regTable.projectId} FROM ${regTable})`);
|
|
348
|
+
// Legacy path map, still dual-written for older binaries (T12469).
|
|
263
349
|
tx.run(sql `DELETE FROM ${pathTable} WHERE ${pathTable.projectId} NOT IN (SELECT ${regTable.projectId} FROM ${regTable})`);
|
|
264
350
|
const orphans = Number(tx.run(sql `DELETE FROM ${aliasTable} WHERE ${aliasTable.canonicalId} NOT IN (SELECT ${regTable.projectId} FROM ${regTable})`).changes);
|
|
265
351
|
tx.insert(auditTable)
|
|
@@ -358,11 +444,37 @@ export async function cleanProjects(opts) {
|
|
|
358
444
|
classification,
|
|
359
445
|
matchedByReason,
|
|
360
446
|
receipt,
|
|
447
|
+
...relocatedField,
|
|
361
448
|
...(fsRemoved !== undefined ? { fsRemoved } : {}),
|
|
362
449
|
...(fsFailed !== undefined ? { fsFailed } : {}),
|
|
363
450
|
...(vacuumBytesFreed !== undefined ? { vacuumBytesFreed } : {}),
|
|
364
451
|
};
|
|
365
452
|
}
|
|
453
|
+
/**
|
|
454
|
+
* Of the matched rows whose path is gone, those whose id is found at another
|
|
455
|
+
* path on this device, with the remedy that rebinds them (T12471).
|
|
456
|
+
*/
|
|
457
|
+
async function findRelocated(gone) {
|
|
458
|
+
if (gone.length === 0)
|
|
459
|
+
return [];
|
|
460
|
+
const { locateProjectsElsewhere } = await import('../doctor/projects.js');
|
|
461
|
+
const found = await locateProjectsElsewhere(gone);
|
|
462
|
+
return gone.flatMap((row) => {
|
|
463
|
+
const foundAt = found.get(row.projectId);
|
|
464
|
+
if (!foundAt || foundAt.length === 0)
|
|
465
|
+
return [];
|
|
466
|
+
return [
|
|
467
|
+
{
|
|
468
|
+
projectId: row.projectId,
|
|
469
|
+
projectPath: row.projectPath,
|
|
470
|
+
foundAt,
|
|
471
|
+
remedy: foundAt.length === 1
|
|
472
|
+
? `cleo doctor projects --dry-run then cleo doctor projects --apply (rebinds ${row.projectId} to ${foundAt[0]} instead of deleting it)`
|
|
473
|
+
: `cleo doctor projects --dry-run (several paths declare ${row.projectId}: cd into the one to keep and run \`cleo doctor project-identity --resolve\`)`,
|
|
474
|
+
},
|
|
475
|
+
];
|
|
476
|
+
});
|
|
477
|
+
}
|
|
366
478
|
// SSoT-EXEMPT:engine-migration-T1569
|
|
367
479
|
export async function nexusProjectsClean(opts) {
|
|
368
480
|
const hasCriteria = typeof opts.pattern === 'string' ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects-clean.js","sourceRoot":"","sources":["../../src/nexus/projects-clean.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"projects-clean.js","sourceRoot":"","sources":["../../src/nexus/projects-clean.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,11 @@ export interface ScanAutoRegisterError {
|
|
|
17
17
|
}
|
|
18
18
|
/** Options for {@link scanForProjects}. */
|
|
19
19
|
export interface ProjectsScanOptions {
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Comma-separated string or array of search roots. Default: the parent
|
|
22
|
+
* directories of live registered projects ({@link listRegistryParentRoots});
|
|
23
|
+
* `~/code` and `~/projects` only when the registry yields none (T12476).
|
|
24
|
+
*/
|
|
21
25
|
roots?: string | string[];
|
|
22
26
|
/** Maximum directory traversal depth (default: 4, max: 20). */
|
|
23
27
|
maxDepth?: number;
|
|
@@ -69,6 +73,57 @@ export declare function getDevice(p: string): number;
|
|
|
69
73
|
* const projects = walkForCleo('/home/user/code', 0, 4, getDevice('/home/user/code'));
|
|
70
74
|
*/
|
|
71
75
|
export declare function walkForCleo(dir: string, depth: number, maxDepth: number, rootDev: number): string[];
|
|
76
|
+
/** Options for {@link walkForCleoBounded}. */
|
|
77
|
+
export interface BoundedWalkOptions {
|
|
78
|
+
/** Maximum traversal depth below each root (0 = the root only). */
|
|
79
|
+
maxDepth: number;
|
|
80
|
+
/** Directories read at once. */
|
|
81
|
+
concurrency: number;
|
|
82
|
+
/** Per-directory read budget; a slower directory is reported, not waited on. */
|
|
83
|
+
timeoutMs: number;
|
|
84
|
+
}
|
|
85
|
+
/** Result of {@link walkForCleoBounded}. */
|
|
86
|
+
export interface BoundedWalkResult {
|
|
87
|
+
/** Absolute project roots (directories containing `.cleo/`), sorted. */
|
|
88
|
+
found: string[];
|
|
89
|
+
/** Directories whose read exceeded the budget. */
|
|
90
|
+
timedOut: string[];
|
|
91
|
+
/** Directories that could not be read for a reason other than absence. */
|
|
92
|
+
unreadable: string[];
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Settle `promise`, or `'timeout'` after `ms`. The timer never keeps the
|
|
96
|
+
* process alive. The underlying operation is not cancelled — its result is
|
|
97
|
+
* simply not waited for.
|
|
98
|
+
*
|
|
99
|
+
* @param promise - Operation to wait for.
|
|
100
|
+
* @param ms - Budget in milliseconds.
|
|
101
|
+
* @returns The settled value, or `'timeout'`.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* const entries = await withinBudget(readdir(dir), 2000);
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export declare function withinBudget<T>(promise: Promise<T>, ms: number): Promise<T | 'timeout'>;
|
|
109
|
+
/**
|
|
110
|
+
* Asynchronous {@link walkForCleo} for machine-wide scans (T12471): reads at
|
|
111
|
+
* most `concurrency` directories at once and gives each read `timeoutMs`, so
|
|
112
|
+
* one hung mount cannot stall a scan of hundreds of projects. Same rules as
|
|
113
|
+
* the synchronous walker: no symlinks, no mount crossings, {@link SKIP_DIRS}
|
|
114
|
+
* skipped. A timed-out or unreadable directory is reported, never treated as
|
|
115
|
+
* empty proof of absence.
|
|
116
|
+
*
|
|
117
|
+
* @param roots - Absolute directories to walk.
|
|
118
|
+
* @param opts - Depth, concurrency and per-directory budget.
|
|
119
|
+
* @returns Project roots found, plus the directories that were not read.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* const { found } = await walkForCleoBounded(['/home/me/code'], { maxDepth: 2, concurrency: 16, timeoutMs: 2000 });
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
export declare function walkForCleoBounded(roots: readonly string[], opts: BoundedWalkOptions): Promise<BoundedWalkResult>;
|
|
72
127
|
/**
|
|
73
128
|
* Walk filesystem roots to discover CLEO project directories.
|
|
74
129
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects-scan.d.ts","sourceRoot":"","sources":["../../src/nexus/projects-scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"projects-scan.d.ts","sourceRoot":"","sources":["../../src/nexus/projects-scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,KAAK,YAAY,EAA8B,MAAM,qBAAqB,CAAC;AAGpF,kCAAkC;AAClC,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,2CAA2C;AAC3C,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,mDAAmD;AACnD,MAAM,WAAW,kBAAkB;IACjC,oCAAoC;IACpC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,wCAAwC;IACxC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,sBAAsB;IACtB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,sDAAsD;IACtD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qDAAqD;IACrD,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;CAC7C;AA+CD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM3C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAuCV;AAED,8CAA8C;AAC9C,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAW7F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAuE5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmGjG;AAGD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAO5C"}
|
|
@@ -8,8 +8,11 @@
|
|
|
8
8
|
* @task T1473
|
|
9
9
|
*/
|
|
10
10
|
import { existsSync, readdirSync, statSync } from 'node:fs';
|
|
11
|
+
import { readdir, stat } from 'node:fs/promises';
|
|
12
|
+
import { homedir } from 'node:os';
|
|
11
13
|
import path from 'node:path';
|
|
12
14
|
import { engineError, engineSuccess } from '../engine-result.js';
|
|
15
|
+
import { listRegistryParentRoots } from './registry-roots.js';
|
|
13
16
|
/**
|
|
14
17
|
* Directories to skip during filesystem walk.
|
|
15
18
|
* Keeps the walker fast and avoids descending into build artefacts.
|
|
@@ -31,7 +34,25 @@ const SKIP_DIRS = new Set([
|
|
|
31
34
|
'venv',
|
|
32
35
|
'.tox',
|
|
33
36
|
'vendor',
|
|
37
|
+
// T12471: never scan the trash or package caches for projects.
|
|
38
|
+
'.Trash',
|
|
39
|
+
'.Trashes',
|
|
40
|
+
'$RECYCLE.BIN',
|
|
41
|
+
'.npm',
|
|
42
|
+
'.pnpm-store',
|
|
34
43
|
]);
|
|
44
|
+
/**
|
|
45
|
+
* Directories skipped only directly under the home directory (T12471): OS and
|
|
46
|
+
* app state (`~/Library`, `~/.local`, which also hold CLEO's own worktree
|
|
47
|
+
* homes). Anywhere else a directory of that name is an ordinary one, so a
|
|
48
|
+
* project under `code/Library/core` is still found.
|
|
49
|
+
*/
|
|
50
|
+
const HOME_SKIP_DIRS = new Set(['Library', '.local']);
|
|
51
|
+
/** Whether `name` inside `dir` is skipped by the project walkers. */
|
|
52
|
+
function isSkippedDir(dir, name) {
|
|
53
|
+
return (SKIP_DIRS.has(name) ||
|
|
54
|
+
(HOME_SKIP_DIRS.has(name) && path.resolve(dir) === path.resolve(homedir())));
|
|
55
|
+
}
|
|
35
56
|
/**
|
|
36
57
|
* Return the device number for a path, or -1 on error.
|
|
37
58
|
* Used to detect filesystem boundary crossings.
|
|
@@ -83,7 +104,7 @@ export function walkForCleo(dir, depth, maxDepth, rootDev) {
|
|
|
83
104
|
found.push(dir);
|
|
84
105
|
continue;
|
|
85
106
|
}
|
|
86
|
-
if (
|
|
107
|
+
if (isSkippedDir(dir, entry.name))
|
|
87
108
|
continue;
|
|
88
109
|
const childDev = getDevice(fullPath);
|
|
89
110
|
if (childDev !== rootDev && childDev !== -1)
|
|
@@ -94,6 +115,120 @@ export function walkForCleo(dir, depth, maxDepth, rootDev) {
|
|
|
94
115
|
}
|
|
95
116
|
return found;
|
|
96
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Settle `promise`, or `'timeout'` after `ms`. The timer never keeps the
|
|
120
|
+
* process alive. The underlying operation is not cancelled — its result is
|
|
121
|
+
* simply not waited for.
|
|
122
|
+
*
|
|
123
|
+
* @param promise - Operation to wait for.
|
|
124
|
+
* @param ms - Budget in milliseconds.
|
|
125
|
+
* @returns The settled value, or `'timeout'`.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```ts
|
|
129
|
+
* const entries = await withinBudget(readdir(dir), 2000);
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
export async function withinBudget(promise, ms) {
|
|
133
|
+
let timer;
|
|
134
|
+
const expiry = new Promise((resolve) => {
|
|
135
|
+
timer = setTimeout(() => resolve('timeout'), ms);
|
|
136
|
+
timer.unref();
|
|
137
|
+
});
|
|
138
|
+
try {
|
|
139
|
+
return await Promise.race([promise, expiry]);
|
|
140
|
+
}
|
|
141
|
+
finally {
|
|
142
|
+
clearTimeout(timer);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Asynchronous {@link walkForCleo} for machine-wide scans (T12471): reads at
|
|
147
|
+
* most `concurrency` directories at once and gives each read `timeoutMs`, so
|
|
148
|
+
* one hung mount cannot stall a scan of hundreds of projects. Same rules as
|
|
149
|
+
* the synchronous walker: no symlinks, no mount crossings, {@link SKIP_DIRS}
|
|
150
|
+
* skipped. A timed-out or unreadable directory is reported, never treated as
|
|
151
|
+
* empty proof of absence.
|
|
152
|
+
*
|
|
153
|
+
* @param roots - Absolute directories to walk.
|
|
154
|
+
* @param opts - Depth, concurrency and per-directory budget.
|
|
155
|
+
* @returns Project roots found, plus the directories that were not read.
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```ts
|
|
159
|
+
* const { found } = await walkForCleoBounded(['/home/me/code'], { maxDepth: 2, concurrency: 16, timeoutMs: 2000 });
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
export async function walkForCleoBounded(roots, opts) {
|
|
163
|
+
const found = new Set();
|
|
164
|
+
const timedOut = [];
|
|
165
|
+
const unreadable = [];
|
|
166
|
+
const seen = new Set();
|
|
167
|
+
const queue = [];
|
|
168
|
+
for (const root of roots) {
|
|
169
|
+
const resolved = path.resolve(root);
|
|
170
|
+
if (seen.has(resolved))
|
|
171
|
+
continue;
|
|
172
|
+
seen.add(resolved);
|
|
173
|
+
queue.push({ dir: resolved, depth: 0, rootDev: getDevice(resolved) });
|
|
174
|
+
}
|
|
175
|
+
const visit = async (item) => {
|
|
176
|
+
const entries = await withinBudget(readdir(item.dir, { withFileTypes: true }).catch((error) => error), opts.timeoutMs);
|
|
177
|
+
if (entries === 'timeout') {
|
|
178
|
+
timedOut.push(item.dir);
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
if (entries instanceof Error) {
|
|
182
|
+
if (entries.code !== 'ENOENT' && entries.code !== 'ENOTDIR')
|
|
183
|
+
unreadable.push(item.dir);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
for (const entry of entries) {
|
|
187
|
+
if (!entry.isDirectory() || entry.isSymbolicLink())
|
|
188
|
+
continue;
|
|
189
|
+
if (entry.name === '.cleo') {
|
|
190
|
+
found.add(item.dir);
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
if (isSkippedDir(item.dir, entry.name) || item.depth >= opts.maxDepth)
|
|
194
|
+
continue;
|
|
195
|
+
const child = path.join(item.dir, entry.name);
|
|
196
|
+
if (seen.has(child))
|
|
197
|
+
continue;
|
|
198
|
+
const childStat = await withinBudget(stat(child).catch(() => null), opts.timeoutMs);
|
|
199
|
+
if (childStat === 'timeout') {
|
|
200
|
+
timedOut.push(child);
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
if (childStat === null || (item.rootDev !== -1 && childStat.dev !== item.rootDev))
|
|
204
|
+
continue;
|
|
205
|
+
seen.add(child);
|
|
206
|
+
queue.push({ dir: child, depth: item.depth + 1, rootDev: item.rootDev });
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
// Lanes pull from the shared queue until it is empty and no lane can refill it.
|
|
210
|
+
let active = 0;
|
|
211
|
+
await new Promise((resolve) => {
|
|
212
|
+
const pump = () => {
|
|
213
|
+
if (queue.length === 0 && active === 0) {
|
|
214
|
+
resolve();
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
while (active < Math.max(1, opts.concurrency) && queue.length > 0) {
|
|
218
|
+
const next = queue.shift();
|
|
219
|
+
if (!next)
|
|
220
|
+
break;
|
|
221
|
+
active++;
|
|
222
|
+
void visit(next).finally(() => {
|
|
223
|
+
active--;
|
|
224
|
+
pump();
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
pump();
|
|
229
|
+
});
|
|
230
|
+
return { found: [...found].sort(), timedOut: timedOut.sort(), unreadable: unreadable.sort() };
|
|
231
|
+
}
|
|
97
232
|
/**
|
|
98
233
|
* Walk filesystem roots to discover CLEO project directories.
|
|
99
234
|
*
|
|
@@ -112,11 +247,17 @@ export async function scanForProjects(opts = {}) {
|
|
|
112
247
|
const maxDepth = Math.max(1, Math.min(opts.maxDepth ?? 4, 20));
|
|
113
248
|
const { homedir } = await import('node:os');
|
|
114
249
|
const home = homedir();
|
|
115
|
-
const defaultRoots = [path.join(home, 'code'), path.join(home, 'projects'), '/mnt/projects'];
|
|
116
250
|
// Accept either a comma-separated string or an array of roots
|
|
117
251
|
let parsedRoots;
|
|
118
252
|
if (opts.roots == null) {
|
|
119
|
-
|
|
253
|
+
// T12476: derive from where this device's registered projects actually
|
|
254
|
+
// live. A hardcoded root is one past device's layout and, after a move,
|
|
255
|
+
// names a directory that does not exist.
|
|
256
|
+
const registryRoots = await listRegistryParentRoots();
|
|
257
|
+
parsedRoots =
|
|
258
|
+
registryRoots.length > 0
|
|
259
|
+
? registryRoots
|
|
260
|
+
: [path.join(home, 'code'), path.join(home, 'projects')];
|
|
120
261
|
}
|
|
121
262
|
else if (typeof opts.roots === 'string') {
|
|
122
263
|
parsedRoots = opts.roots
|