@cleocode/core 2026.9.22 → 2026.9.23
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/build-provenance.json +6 -0
- package/dist/decide/audit.d.ts +7 -1
- package/dist/decide/audit.d.ts.map +1 -1
- package/dist/decide/audit.js.map +1 -1
- package/dist/decide/client.d.ts +46 -4
- package/dist/decide/client.d.ts.map +1 -1
- package/dist/decide/client.js +328 -33
- package/dist/decide/client.js.map +1 -1
- package/dist/decide/credentials.d.ts +28 -4
- package/dist/decide/credentials.d.ts.map +1 -1
- package/dist/decide/credentials.js +50 -12
- package/dist/decide/credentials.js.map +1 -1
- package/dist/decide/index.d.ts +10 -4
- package/dist/decide/index.d.ts.map +1 -1
- package/dist/decide/index.js +10 -4
- package/dist/decide/index.js.map +1 -1
- package/dist/decide/jev-wire.d.ts +100 -8
- package/dist/decide/jev-wire.d.ts.map +1 -1
- package/dist/decide/jev-wire.js +402 -55
- package/dist/decide/jev-wire.js.map +1 -1
- package/dist/decide/operations.d.ts +97 -20
- package/dist/decide/operations.d.ts.map +1 -1
- package/dist/decide/operations.js +180 -28
- package/dist/decide/operations.js.map +1 -1
- package/dist/decide/provider-state.d.ts +89 -0
- package/dist/decide/provider-state.d.ts.map +1 -0
- package/dist/decide/provider-state.js +134 -0
- package/dist/decide/provider-state.js.map +1 -0
- package/dist/decide/provider.d.ts +26 -5
- package/dist/decide/provider.d.ts.map +1 -1
- package/dist/decide/provider.js.map +1 -1
- package/dist/decide/providers.d.ts +58 -0
- package/dist/decide/providers.d.ts.map +1 -0
- package/dist/decide/providers.js +69 -0
- package/dist/decide/providers.js.map +1 -0
- package/dist/decide/site.d.ts +2 -2
- package/dist/decide/site.d.ts.map +1 -1
- package/dist/decide/site.js +2 -0
- package/dist/decide/site.js.map +1 -1
- package/dist/decide/sites/list.d.ts +46 -0
- package/dist/decide/sites/list.d.ts.map +1 -0
- package/dist/decide/sites/list.js +206 -0
- package/dist/decide/sites/list.js.map +1 -0
- package/dist/decide/sites/registry.d.ts +130 -0
- package/dist/decide/sites/registry.d.ts.map +1 -0
- package/dist/decide/sites/registry.js +375 -0
- package/dist/decide/sites/registry.js.map +1 -0
- package/dist/decide/spend.d.ts +196 -0
- package/dist/decide/spend.d.ts.map +1 -0
- package/dist/decide/spend.js +387 -0
- package/dist/decide/spend.js.map +1 -0
- package/dist/decide/wizard.d.ts +53 -0
- package/dist/decide/wizard.d.ts.map +1 -0
- package/dist/decide/wizard.js +144 -0
- package/dist/decide/wizard.js.map +1 -0
- package/dist/docs/docs-audit.d.ts.map +1 -1
- package/dist/docs/docs-audit.js +1 -2
- package/dist/docs/docs-audit.js.map +1 -1
- package/dist/docs/export-document.js +775 -415
- package/dist/docs/export-document.js.map +3 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/init/scaffold-workflows.d.ts.map +1 -1
- package/dist/init/scaffold-workflows.js +6 -3
- package/dist/init/scaffold-workflows.js.map +1 -1
- package/dist/init/upgrade-workflows.d.ts.map +1 -1
- package/dist/init/upgrade-workflows.js +6 -3
- package/dist/init/upgrade-workflows.js.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/llm/plugin-facade.js +886 -526
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/memory/decision-contradiction.d.ts +3 -3
- package/dist/memory/decision-contradiction.d.ts.map +1 -1
- package/dist/memory/decision-contradiction.js +4 -3
- package/dist/memory/decision-contradiction.js.map +1 -1
- package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
- package/dist/memory/graph-memory-bridge.js +2 -0
- package/dist/memory/graph-memory-bridge.js.map +1 -1
- package/dist/memory/observation-type-decision.d.ts +2 -2
- package/dist/memory/observation-type-decision.d.ts.map +1 -1
- package/dist/memory/observation-type-decision.js +3 -2
- package/dist/memory/observation-type-decision.js.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.d.ts +111 -0
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +230 -2
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/nexus/migrations/M-split-graph.d.ts.map +1 -1
- package/dist/nexus/migrations/M-split-graph.js +4 -0
- package/dist/nexus/migrations/M-split-graph.js.map +1 -1
- package/dist/nexus/store.d.ts.map +1 -1
- package/dist/nexus/store.js +2 -0
- package/dist/nexus/store.js.map +1 -1
- package/dist/orchestrate/pivot.d.ts.map +1 -1
- package/dist/orchestrate/pivot.js +13 -8
- package/dist/orchestrate/pivot.js.map +1 -1
- package/dist/orchestrate/plan.d.ts.map +1 -1
- package/dist/orchestrate/plan.js +3 -0
- package/dist/orchestrate/plan.js.map +1 -1
- package/dist/orchestration/lead-rollup.js +14 -2
- package/dist/orchestration/lead-rollup.js.map +1 -1
- package/dist/orchestration/owner-decision-readiness.d.ts +2 -2
- package/dist/orchestration/owner-decision-readiness.d.ts.map +1 -1
- package/dist/orchestration/owner-decision-readiness.js +3 -2
- package/dist/orchestration/owner-decision-readiness.js.map +1 -1
- package/dist/orchestration/validate-spawn.d.ts.map +1 -1
- package/dist/orchestration/validate-spawn.js +2 -0
- package/dist/orchestration/validate-spawn.js.map +1 -1
- package/dist/project-scope.d.ts +16 -0
- package/dist/project-scope.d.ts.map +1 -1
- package/dist/project-scope.js +38 -2
- package/dist/project-scope.js.map +1 -1
- package/dist/release/github-pr.d.ts.map +1 -1
- package/dist/release/github-pr.js +2 -1
- package/dist/release/github-pr.js.map +1 -1
- package/dist/routing/capability-matrix.d.ts.map +1 -1
- package/dist/routing/capability-matrix.js +7 -0
- package/dist/routing/capability-matrix.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +895 -535
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +23 -62
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/focus-state-store.d.ts +6 -1
- package/dist/sessions/focus-state-store.d.ts.map +1 -1
- package/dist/sessions/focus-state-store.js +5 -2
- package/dist/sessions/focus-state-store.js.map +1 -1
- package/dist/setup/config-json-merge.d.ts +28 -0
- package/dist/setup/config-json-merge.d.ts.map +1 -1
- package/dist/setup/config-json-merge.js +51 -0
- package/dist/setup/config-json-merge.js.map +1 -1
- package/dist/setup/index.d.ts +13 -10
- package/dist/setup/index.d.ts.map +1 -1
- package/dist/setup/index.js +15 -10
- package/dist/setup/index.js.map +1 -1
- package/dist/setup/sections/llm.js +1 -1
- package/dist/setup/sections/llm.js.map +1 -1
- package/dist/setup/sections/system-one.d.ts +28 -0
- package/dist/setup/sections/system-one.d.ts.map +1 -0
- package/dist/setup/sections/system-one.js +53 -0
- package/dist/setup/sections/system-one.js.map +1 -0
- package/dist/setup/wizard.d.ts +15 -1
- package/dist/setup/wizard.d.ts.map +1 -1
- package/dist/setup/wizard.js +15 -0
- package/dist/setup/wizard.js.map +1 -1
- package/dist/skills/prune-bundled.d.ts +40 -1
- package/dist/skills/prune-bundled.d.ts.map +1 -1
- package/dist/skills/prune-bundled.js +117 -1
- package/dist/skills/prune-bundled.js.map +1 -1
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/agent-registry-accessor.js +2 -0
- package/dist/store/agent-registry-accessor.js.map +1 -1
- package/dist/store/backup-pack.js +1 -1
- package/dist/store/backup-pack.js.map +1 -1
- package/dist/store/backup.d.ts +15 -1
- package/dist/store/backup.d.ts.map +1 -1
- package/dist/store/backup.js +18 -2
- package/dist/store/backup.js.map +1 -1
- package/dist/store/conduit-sqlite.d.ts.map +1 -1
- package/dist/store/conduit-sqlite.js +3 -0
- package/dist/store/conduit-sqlite.js.map +1 -1
- package/dist/store/credential-transfer.d.ts.map +1 -1
- package/dist/store/credential-transfer.js +2 -0
- package/dist/store/credential-transfer.js.map +1 -1
- package/dist/store/cross-db-cleanup.d.ts.map +1 -1
- package/dist/store/cross-db-cleanup.js +2 -0
- package/dist/store/cross-db-cleanup.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +13 -2
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -1
- package/dist/store/migrate-signaldock-to-conduit.js +3 -0
- package/dist/store/migrate-signaldock-to-conduit.js.map +1 -1
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +37 -3
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/migration-sqlite.d.ts.map +1 -1
- package/dist/store/migration-sqlite.js +2 -0
- package/dist/store/migration-sqlite.js.map +1 -1
- package/dist/store/nexus-sqlite.d.ts.map +1 -1
- package/dist/store/nexus-sqlite.js +3 -0
- package/dist/store/nexus-sqlite.js.map +1 -1
- package/dist/store/open-cleo-db.d.ts.map +1 -1
- package/dist/store/open-cleo-db.js +3 -0
- package/dist/store/open-cleo-db.js.map +1 -1
- package/dist/store/portable-bundle-import.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.js +2 -0
- package/dist/store/portable-bundle-import.js.map +1 -1
- package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
- package/dist/store/portable-bundle-relocate.js +2 -0
- package/dist/store/portable-bundle-relocate.js.map +1 -1
- package/dist/store/portable-bundle-scan.js +1 -1
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/ports/domain-binding.d.ts.map +1 -1
- package/dist/store/ports/domain-binding.js +5 -0
- package/dist/store/ports/domain-binding.js.map +1 -1
- package/dist/store/split-brain-import.d.ts.map +1 -1
- package/dist/store/split-brain-import.js +2 -0
- package/dist/store/split-brain-import.js.map +1 -1
- package/dist/store/sqlite-data-accessor.js +7 -0
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite-native.d.ts.map +1 -1
- package/dist/store/sqlite-native.js +1 -0
- package/dist/store/sqlite-native.js.map +1 -1
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +5 -0
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/worktree-build-guard.d.ts +191 -0
- package/dist/store/worktree-build-guard.d.ts.map +1 -0
- package/dist/store/worktree-build-guard.js +486 -0
- package/dist/store/worktree-build-guard.js.map +1 -0
- package/dist/store/worktree-isolation-guard.d.ts +27 -0
- package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
- package/dist/store/worktree-isolation-guard.js +67 -1
- package/dist/store/worktree-isolation-guard.js.map +1 -1
- package/dist/store/writer-lease.d.ts.map +1 -1
- package/dist/store/writer-lease.js +2 -0
- package/dist/store/writer-lease.js.map +1 -1
- package/dist/system/backup.d.ts +6 -2
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +6 -3
- package/dist/system/backup.js.map +1 -1
- package/dist/task-tools/index.d.ts +4 -2
- package/dist/task-tools/index.d.ts.map +1 -1
- package/dist/task-tools/index.js +3 -2
- package/dist/task-tools/index.js.map +1 -1
- package/dist/task-tools/score-task-priority.d.ts +93 -18
- package/dist/task-tools/score-task-priority.d.ts.map +1 -1
- package/dist/task-tools/score-task-priority.js +193 -81
- package/dist/task-tools/score-task-priority.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +5 -1
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +21 -3
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/analyze.d.ts +29 -1
- package/dist/tasks/analyze.d.ts.map +1 -1
- package/dist/tasks/analyze.js +45 -34
- package/dist/tasks/analyze.js.map +1 -1
- package/dist/tasks/backfill-child-projections.d.ts.map +1 -1
- package/dist/tasks/backfill-child-projections.js +4 -1
- package/dist/tasks/backfill-child-projections.js.map +1 -1
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +16 -3
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/command-line.d.ts +54 -0
- package/dist/tasks/command-line.d.ts.map +1 -0
- package/dist/tasks/command-line.js +151 -0
- package/dist/tasks/command-line.js.map +1 -0
- package/dist/tasks/component-pr.d.ts.map +1 -1
- package/dist/tasks/component-pr.js +97 -12
- package/dist/tasks/component-pr.js.map +1 -1
- package/dist/tasks/delete.d.ts.map +1 -1
- package/dist/tasks/delete.js +20 -0
- package/dist/tasks/delete.js.map +1 -1
- package/dist/tasks/duplicate-detector.d.ts +3 -3
- package/dist/tasks/duplicate-detector.d.ts.map +1 -1
- package/dist/tasks/duplicate-detector.js +4 -3
- package/dist/tasks/duplicate-detector.js.map +1 -1
- package/dist/tasks/engine-wrap-ops.d.ts +29 -0
- package/dist/tasks/engine-wrap-ops.d.ts.map +1 -1
- package/dist/tasks/engine-wrap-ops.js +40 -0
- package/dist/tasks/engine-wrap-ops.js.map +1 -1
- package/dist/tasks/engine-wrap.d.ts +1 -1
- package/dist/tasks/engine-wrap.d.ts.map +1 -1
- package/dist/tasks/engine-wrap.js +1 -1
- package/dist/tasks/engine-wrap.js.map +1 -1
- package/dist/tasks/evidence.d.ts +2 -0
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +30 -4
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +48 -12
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/index.d.ts +1 -1
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +1 -1
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/ops.d.ts +1 -0
- package/dist/tasks/ops.d.ts.map +1 -1
- package/dist/tasks/ranking-audit.d.ts +122 -0
- package/dist/tasks/ranking-audit.d.ts.map +1 -0
- package/dist/tasks/ranking-audit.js +193 -0
- package/dist/tasks/ranking-audit.js.map +1 -0
- package/dist/tasks/task-analyze.d.ts.map +1 -1
- package/dist/tasks/task-analyze.js +19 -32
- package/dist/tasks/task-analyze.js.map +1 -1
- package/dist/tasks/task-next.d.ts +44 -2
- package/dist/tasks/task-next.d.ts.map +1 -1
- package/dist/tasks/task-next.js +80 -102
- package/dist/tasks/task-next.js.map +1 -1
- package/dist/tasks/task-ops.d.ts +1 -1
- package/dist/tasks/task-ops.d.ts.map +1 -1
- package/dist/tasks/task-ops.js +1 -1
- package/dist/tasks/task-ops.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +7 -1
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +24 -10
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/update.d.ts +8 -2
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +28 -1
- package/dist/tasks/update.js.map +1 -1
- package/dist/telemetry/sqlite.d.ts.map +1 -1
- package/dist/telemetry/sqlite.js +2 -0
- package/dist/telemetry/sqlite.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +2 -2
- package/dist/validation/doctor/checks.js.map +1 -1
- package/package.json +14 -14
- package/schemas/config.schema.json +13 -0
- package/templates/CLEO-INJECTION.md +1 -1
- package/templates/CLEO-REFERENCE.md +5 -1
package/dist/setup/index.js
CHANGED
|
@@ -22,11 +22,12 @@ import { createLlmSection } from './sections/llm.js';
|
|
|
22
22
|
import { createModelsRolesSection } from './sections/models-roles.js';
|
|
23
23
|
import { createProjectConventionsSection } from './sections/project-conventions.js';
|
|
24
24
|
import { createSentientSection } from './sections/sentient.js';
|
|
25
|
+
import { createSystemOneSection } from './sections/system-one.js';
|
|
25
26
|
import { createTelemetrySection } from './sections/telemetry.js';
|
|
26
27
|
import { createVerificationSection } from './sections/verification.js';
|
|
27
28
|
import { WizardRunner } from './wizard.js';
|
|
28
29
|
// Per-section `--config-json` → WizardOptions merger (T9985 / E8-CLI-LAYERING).
|
|
29
|
-
export { mergeConfigJson, WIZARD_SECTION_IDS } from './config-json-merge.js';
|
|
30
|
+
export { mergeConfigJson, SetupConfigJsonError, SYSTEM_ONE_CONFIG_FIX, WIZARD_SECTION_IDS, } from './config-json-merge.js';
|
|
30
31
|
export { createBrainSection } from './sections/brain.js';
|
|
31
32
|
export { createHarnessSection } from './sections/harness.js';
|
|
32
33
|
export { createIdentitySection } from './sections/identity.js';
|
|
@@ -35,6 +36,7 @@ export { createLlmSection } from './sections/llm.js';
|
|
|
35
36
|
export { createModelsRolesSection } from './sections/models-roles.js';
|
|
36
37
|
export { createProjectConventionsSection } from './sections/project-conventions.js';
|
|
37
38
|
export { createSentientSection } from './sections/sentient.js';
|
|
39
|
+
export { createSystemOneSection } from './sections/system-one.js';
|
|
38
40
|
export { createTelemetrySection } from './sections/telemetry.js';
|
|
39
41
|
export { createVerificationSection, } from './sections/verification.js';
|
|
40
42
|
export { printWhoamiSummaryAndOfferTui } from './whoami-summary.js';
|
|
@@ -45,15 +47,16 @@ export { StubWizardIO, WizardFatalError, WizardInterruptError, WizardRunner, } f
|
|
|
45
47
|
* Order matters: `cleo setup` walks the list verbatim. The current
|
|
46
48
|
* order is:
|
|
47
49
|
* 1. `llm` — credentials are the prerequisite for everything else
|
|
48
|
-
* 2. `
|
|
49
|
-
* 3. `
|
|
50
|
-
* 4. `
|
|
51
|
-
* 5. `
|
|
52
|
-
* 6. `
|
|
53
|
-
* 7. `
|
|
54
|
-
* 8. `
|
|
55
|
-
* 9. `
|
|
56
|
-
* 10. `
|
|
50
|
+
* 2. `system-one` — optional typed-decision provider (T12713)
|
|
51
|
+
* 3. `models-roles` — default model + per-role profiles (T11726)
|
|
52
|
+
* 4. `identity` — agent name / SOUL.md before any agent dispatch
|
|
53
|
+
* 5. `sentient` — daemon enablement after credentials exist
|
|
54
|
+
* 6. `project-conventions` — strictness preset before harness/brain layering
|
|
55
|
+
* 7. `harness` — operator selects Pi vs Claude Code (T9425)
|
|
56
|
+
* 8. `brain` — BRAIN memory bridge mode (T9425)
|
|
57
|
+
* 9. `integrations` — SignalDock + Studio + Conduit (T9608)
|
|
58
|
+
* 10. `telemetry` — anonymous skills-usage telemetry (T9673)
|
|
59
|
+
* 11. `verification` — read-only health checks (T9594)
|
|
57
60
|
*
|
|
58
61
|
* @param llmDeps - Optional dependencies forwarded to the `llm` section — most
|
|
59
62
|
* notably the interactive OAuth token acquirer (T11727). The CLI surface
|
|
@@ -67,10 +70,12 @@ export { StubWizardIO, WizardFatalError, WizardInterruptError, WizardRunner, } f
|
|
|
67
70
|
* @task T9673
|
|
68
71
|
* @task T11726
|
|
69
72
|
* @task T11727
|
|
73
|
+
* @task T12713
|
|
70
74
|
*/
|
|
71
75
|
export function createBuiltinSections(llmDeps = {}) {
|
|
72
76
|
return [
|
|
73
77
|
createLlmSection(llmDeps),
|
|
78
|
+
createSystemOneSection(),
|
|
74
79
|
createModelsRolesSection(),
|
|
75
80
|
createIdentitySection(),
|
|
76
81
|
createSentientSection(),
|
package/dist/setup/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/setup/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAuB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,YAAY,EAA4B,MAAM,aAAa,CAAC;AAErE,gFAAgF;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/setup/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAuB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,YAAY,EAA4B,MAAM,aAAa,CAAC;AAErE,gFAAgF;AAChF,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAuB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,yBAAyB,GAE1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EAGpB,YAAY,GAKb,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAA0B,EAAE;IAChE,OAAO;QACL,gBAAgB,CAAC,OAAO,CAAC;QACzB,sBAAsB,EAAE;QACxB,wBAAwB,EAAE;QAC1B,qBAAqB,EAAE;QACvB,qBAAqB,EAAE;QACvB,+BAA+B,EAAE;QACjC,oBAAoB,EAAE;QACtB,kBAAkB,EAAE;QACpB,yBAAyB,EAAE;QAC3B,sBAAsB,EAAE;QACxB,yBAAyB,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAA0B,EAAE;IACpE,OAAO,IAAI,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -174,7 +174,7 @@ export function createLlmSection(deps = {}) {
|
|
|
174
174
|
}
|
|
175
175
|
// 4. Interactive API-key entry.
|
|
176
176
|
const label = (await io.prompt('Label for this credential [default: cli-input]:')) || 'cli-input';
|
|
177
|
-
const rawApiKey = (await io.
|
|
177
|
+
const rawApiKey = (await io.secret('API key (input hidden):')).trim();
|
|
178
178
|
// LLM-4: strip bracketed paste sequences.
|
|
179
179
|
const apiKey = stripBracketedPaste(rawApiKey);
|
|
180
180
|
if (apiKey === '') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../../src/setup/sections/llm.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../../src/setup/sections/llm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `system-one` setup wizard section (T12713).
|
|
3
|
+
*
|
|
4
|
+
* Optional: CLEO works without a typed-decision provider (every decision site
|
|
5
|
+
* falls back to its heuristic). The section asks first, then runs
|
|
6
|
+
* {@link runDecideWizard} — provider (layahost recommended), URL for `jev`,
|
|
7
|
+
* the API key through the hidden {@link WizardIO.secret} prompt, a models
|
|
8
|
+
* probe, the model, and an optional smoke test.
|
|
9
|
+
*
|
|
10
|
+
* Non-interactive runs skip the section: the scripted path is
|
|
11
|
+
* `printf %s "$KEY" | cleo decide config --provider layahost --key-stdin`.
|
|
12
|
+
*
|
|
13
|
+
* @task T12713
|
|
14
|
+
* @epic T12486
|
|
15
|
+
*/
|
|
16
|
+
import { type DecideWizardOptions } from '../../decide/wizard.js';
|
|
17
|
+
import type { WizardSectionRunner } from '../wizard.js';
|
|
18
|
+
/**
|
|
19
|
+
* Build the `system-one` section runner.
|
|
20
|
+
*
|
|
21
|
+
* `isConfigured()` is true when a valid provider URL and key are stored in
|
|
22
|
+
* the decide credential store (read-only).
|
|
23
|
+
*
|
|
24
|
+
* @param deps - Injectable probe `fetch`, deadline and smoke runner (tests).
|
|
25
|
+
* @returns A {@link WizardSectionRunner} for the System One section.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createSystemOneSection(deps?: DecideWizardOptions): WizardSectionRunner;
|
|
28
|
+
//# sourceMappingURL=system-one.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-one.d.ts","sourceRoot":"","sources":["../../../src/setup/sections/system-one.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,KAAK,mBAAmB,EAAmB,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAIV,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,mBAAwB,GAAG,mBAAmB,CA8B1F"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `system-one` setup wizard section (T12713).
|
|
3
|
+
*
|
|
4
|
+
* Optional: CLEO works without a typed-decision provider (every decision site
|
|
5
|
+
* falls back to its heuristic). The section asks first, then runs
|
|
6
|
+
* {@link runDecideWizard} — provider (layahost recommended), URL for `jev`,
|
|
7
|
+
* the API key through the hidden {@link WizardIO.secret} prompt, a models
|
|
8
|
+
* probe, the model, and an optional smoke test.
|
|
9
|
+
*
|
|
10
|
+
* Non-interactive runs skip the section: the scripted path is
|
|
11
|
+
* `printf %s "$KEY" | cleo decide config --provider layahost --key-stdin`.
|
|
12
|
+
*
|
|
13
|
+
* @task T12713
|
|
14
|
+
* @epic T12486
|
|
15
|
+
*/
|
|
16
|
+
import { describeDecideCredentials } from '../../decide/credentials.js';
|
|
17
|
+
import { runDecideWizard } from '../../decide/wizard.js';
|
|
18
|
+
/**
|
|
19
|
+
* Build the `system-one` section runner.
|
|
20
|
+
*
|
|
21
|
+
* `isConfigured()` is true when a valid provider URL and key are stored in
|
|
22
|
+
* the decide credential store (read-only).
|
|
23
|
+
*
|
|
24
|
+
* @param deps - Injectable probe `fetch`, deadline and smoke runner (tests).
|
|
25
|
+
* @returns A {@link WizardSectionRunner} for the System One section.
|
|
26
|
+
*/
|
|
27
|
+
export function createSystemOneSection(deps = {}) {
|
|
28
|
+
return {
|
|
29
|
+
section: 'system-one',
|
|
30
|
+
title: 'System One typed decisions (optional)',
|
|
31
|
+
optional: true,
|
|
32
|
+
async isConfigured() {
|
|
33
|
+
return describeDecideCredentials().configured;
|
|
34
|
+
},
|
|
35
|
+
async run(io, options) {
|
|
36
|
+
if (options.nonInteractive) {
|
|
37
|
+
return {
|
|
38
|
+
changed: false,
|
|
39
|
+
summary: 'skipped (non-interactive; run `cleo decide config --provider layahost --key-stdin`)',
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const wanted = await io.confirm('Set up System One typed decisions now? CLEO works without it (heuristics answer).', false);
|
|
43
|
+
if (!wanted)
|
|
44
|
+
return { changed: false, summary: 'skipped (not now)' };
|
|
45
|
+
const result = await runDecideWizard(io, {
|
|
46
|
+
...deps,
|
|
47
|
+
...(options.projectRoot ? { projectRoot: options.projectRoot } : {}),
|
|
48
|
+
});
|
|
49
|
+
return { changed: result.configured, summary: result.summary };
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=system-one.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-one.js","sourceRoot":"","sources":["../../../src/setup/sections/system-one.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAA4B,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQnF;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAA4B,EAAE;IACnE,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,uCAAuC;QAC9C,QAAQ,EAAE,IAAI;QAEd,KAAK,CAAC,YAAY;YAChB,OAAO,yBAAyB,EAAE,CAAC,UAAU,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,EAAY,EAAE,OAAsB;YAC5C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EACL,qFAAqF;iBACxF,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAC7B,mFAAmF,EACnF,KAAK,CACN,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE;gBACvC,GAAG,IAAI;gBACP,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACjE,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/setup/wizard.d.ts
CHANGED
|
@@ -81,7 +81,7 @@ export declare class WizardFatalError extends Error {
|
|
|
81
81
|
* @task T9420
|
|
82
82
|
* @task T9607
|
|
83
83
|
*/
|
|
84
|
-
export type WizardSection = 'llm' | 'models-roles' | 'identity' | 'harness' | 'sentient' | 'project-conventions' | 'brain' | 'integrations' | 'telemetry' | 'verification';
|
|
84
|
+
export type WizardSection = 'llm' | 'system-one' | 'models-roles' | 'identity' | 'harness' | 'sentient' | 'project-conventions' | 'brain' | 'integrations' | 'telemetry' | 'verification';
|
|
85
85
|
/**
|
|
86
86
|
* Outcome of running a single wizard section.
|
|
87
87
|
*
|
|
@@ -282,6 +282,13 @@ export interface WizardOptions {
|
|
|
282
282
|
export interface WizardIO {
|
|
283
283
|
/** Ask a free-form text question; empty string means "no answer". */
|
|
284
284
|
prompt(question: string): Promise<string>;
|
|
285
|
+
/**
|
|
286
|
+
* Ask for a secret (an API key). The answer is not echoed: the CLI mutes
|
|
287
|
+
* its output stream while the operator types. Empty string means "no answer".
|
|
288
|
+
*
|
|
289
|
+
* @task T12714
|
|
290
|
+
*/
|
|
291
|
+
secret(question: string): Promise<string>;
|
|
285
292
|
/** Yes/no question with an optional default. */
|
|
286
293
|
confirm(question: string, defaultValue?: boolean): Promise<boolean>;
|
|
287
294
|
/** Single-choice selection across a finite option list. */
|
|
@@ -511,9 +518,16 @@ export declare class StubWizardIO implements WizardIO {
|
|
|
511
518
|
*/
|
|
512
519
|
constructor(queues?: {
|
|
513
520
|
prompts?: string[];
|
|
521
|
+
/** Answers for {@link StubWizardIO.secret}; when empty, `secret` reads `prompts`. */
|
|
522
|
+
secrets?: string[];
|
|
514
523
|
confirms?: boolean[];
|
|
515
524
|
selects?: string[];
|
|
516
525
|
});
|
|
526
|
+
/**
|
|
527
|
+
* Answer a secret prompt from the `secrets` queue (else the `prompts`
|
|
528
|
+
* queue). The history records `***`, never the secret.
|
|
529
|
+
*/
|
|
530
|
+
secret(question: string): Promise<string>;
|
|
517
531
|
prompt(question: string): Promise<string>;
|
|
518
532
|
confirm(question: string, defaultValue?: boolean): Promise<boolean>;
|
|
519
533
|
select<T extends string>(question: string, options: readonly T[]): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/setup/wizard.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/setup/wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAOH;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;IAK3B;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,gBAAgB;CAGjD;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,YAAY,GACZ,cAAc,GACd,UAAU,GACV,SAAS,GACT,UAAU,GACV,qBAAqB,GACrB,OAAO,GACP,cAAc,GACd,WAAW,GACX,cAAc,CAAC;AAEnB;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,IAAI,GAAG,aAAa,CAAC;IAC/B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACjD,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE9F;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IAE7C;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAErD;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,QAAQ;IACvB,qEAAqE;IACrE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,gDAAgD;IAChD,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,2DAA2D;IAC3D,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E,2EAA2E;IAC3E,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qDAAqD;IACrD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iDAAiD;IACjD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,OAAO,EAAE,aAAa,CAAC;IACvB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAExD;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,wEAAwE;IACxE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;;OAQG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,6GAA6G;IAC7G,QAAQ,CAAC,sBAAsB,EAAG,IAAI,CAAU;IAEhD;;;OAGG;gBACS,OAAO,GAAE,MAAmC;CAMzD;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAY;IAWX,OAAO,CAAC,QAAQ,CAAC,WAAW;IAVxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkD;IAE3E;;;;;;;OAOG;gBAC0B,WAAW,EAAE,SAAS,mBAAmB,EAAE;IAaxE;;;;;;OAMG;IACH,IAAI,IAAI,SAAS,mBAAmB,EAAE;IAItC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IAkD9E;;;;;;;;OAQG;IACG,UAAU,CACd,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IAY/B;;;;;;;;;;;;;OAaG;YACW,aAAa;CAkB5B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAa,YAAW,QAAQ;IAezC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAdzB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAM;IAC9B,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAM;IAC9B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM;IAC/B,sDAAsD;IACtD,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAEzE;;;OAGG;gBAEgB,MAAM,GAAE;QACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,qFAAqF;QACrF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACf;IAUR;;;OAGG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWzC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAcnE,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAenF,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAG7B"}
|
package/dist/setup/wizard.js
CHANGED
|
@@ -302,10 +302,25 @@ export class StubWizardIO {
|
|
|
302
302
|
this.queues = queues;
|
|
303
303
|
this.queues = {
|
|
304
304
|
prompts: [...(queues.prompts ?? [])],
|
|
305
|
+
secrets: [...(queues.secrets ?? [])],
|
|
305
306
|
confirms: [...(queues.confirms ?? [])],
|
|
306
307
|
selects: [...(queues.selects ?? [])],
|
|
307
308
|
};
|
|
308
309
|
}
|
|
310
|
+
/**
|
|
311
|
+
* Answer a secret prompt from the `secrets` queue (else the `prompts`
|
|
312
|
+
* queue). The history records `***`, never the secret.
|
|
313
|
+
*/
|
|
314
|
+
async secret(question) {
|
|
315
|
+
const secrets = this.queues.secrets ?? [];
|
|
316
|
+
const queue = secrets.length > 0 ? secrets : (this.queues.prompts ?? []);
|
|
317
|
+
if (queue.length === 0) {
|
|
318
|
+
throw new Error(`StubWizardIO: secret queue exhausted on question '${question}'`);
|
|
319
|
+
}
|
|
320
|
+
const answer = queue.shift();
|
|
321
|
+
this.promptHistory.push({ question, answer: '***' });
|
|
322
|
+
return answer;
|
|
323
|
+
}
|
|
309
324
|
async prompt(question) {
|
|
310
325
|
const prompts = this.queues.prompts ?? [];
|
|
311
326
|
if (prompts.length === 0) {
|
package/dist/setup/wizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/setup/wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAY;QACpB,OAAO,GAAG,YAAY,gBAAgB,CAAC;IACzC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/setup/wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,9 +59,14 @@ export interface BundledLedger {
|
|
|
59
59
|
skills: Record<string, BundledLedgerEntry>;
|
|
60
60
|
/**
|
|
61
61
|
* Names the user restored from quarantine. The user chose to keep them, so
|
|
62
|
-
* prune never takes them again.
|
|
62
|
+
* prune never takes them again — until {@link unkeepSkill} hands one back.
|
|
63
63
|
*/
|
|
64
64
|
kept?: string[];
|
|
65
|
+
/**
|
|
66
|
+
* Per kept name, the hashes of the copy as restored (T12699). Only an
|
|
67
|
+
* exact match lets {@link unkeepSkill} return the skill to CLEO.
|
|
68
|
+
*/
|
|
69
|
+
keptFiles?: Record<string, Record<string, string>>;
|
|
65
70
|
}
|
|
66
71
|
/** What happened to one path. */
|
|
67
72
|
export interface BundledSkillPruneAction {
|
|
@@ -228,6 +233,33 @@ export declare function restoreQuarantine(opts: {
|
|
|
228
233
|
restored: string[];
|
|
229
234
|
conflicts: string[];
|
|
230
235
|
}>;
|
|
236
|
+
/** Outcome of {@link unkeepSkill}. */
|
|
237
|
+
export interface UnkeepResult {
|
|
238
|
+
/** Skill name. */
|
|
239
|
+
name: string;
|
|
240
|
+
/** True when the skill left the kept list. */
|
|
241
|
+
unkept: boolean;
|
|
242
|
+
/** True when CLEO owns it again (ledger record restored). */
|
|
243
|
+
reledgered: boolean;
|
|
244
|
+
/** Why. */
|
|
245
|
+
reason: string;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Hand a kept skill back to CLEO (`cleo skills doctor restore --unkeep
|
|
249
|
+
* <name>`, T12699).
|
|
250
|
+
*
|
|
251
|
+
* Restoring from quarantine marks a skill kept, so prune leaves it alone for
|
|
252
|
+
* good. This reverses that only when CLEO can prove the canonical copy is
|
|
253
|
+
* byte-for-byte what came out of quarantine: every file hashes to the
|
|
254
|
+
* `keptFiles` record. A copy the user changed since the restore, or one
|
|
255
|
+
* restored before hashes were recorded, stays kept. With no canonical copy
|
|
256
|
+
* left there is nothing to own, so the name simply leaves the kept list.
|
|
257
|
+
*
|
|
258
|
+
* @param skillsRoot - Canonical skills root.
|
|
259
|
+
* @param name - Kept skill name.
|
|
260
|
+
* @returns What happened.
|
|
261
|
+
*/
|
|
262
|
+
export declare function unkeepSkill(skillsRoot: string, name: string): Promise<UnkeepResult>;
|
|
231
263
|
/**
|
|
232
264
|
* The real registry: CAAMP's lock file and CLEO's skills.db.
|
|
233
265
|
*
|
|
@@ -256,6 +288,13 @@ export declare function restoreBundledSkillQuarantine(id?: string): Promise<{
|
|
|
256
288
|
restored: string[];
|
|
257
289
|
conflicts: string[];
|
|
258
290
|
}>;
|
|
291
|
+
/**
|
|
292
|
+
* {@link unkeepSkill} against this machine's canonical skills root.
|
|
293
|
+
*
|
|
294
|
+
* @param name - Kept skill name.
|
|
295
|
+
* @returns What happened.
|
|
296
|
+
*/
|
|
297
|
+
export declare function unkeepBundledSkill(name: string): Promise<UnkeepResult>;
|
|
259
298
|
/**
|
|
260
299
|
* Dry-run the prune `initCoreSkills` would perform against the real bundle,
|
|
261
300
|
* canonical root, harnesses and registries.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prune-bundled.d.ts","sourceRoot":"","sources":["../../src/skills/prune-bundled.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAcH,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAExD,0EAA0E;AAC1E,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAElD,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,sBAAsB;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3C;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"prune-bundled.d.ts","sourceRoot":"","sources":["../../src/skills/prune-bundled.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAcH,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAExD,0EAA0E;AAC1E,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAElD,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,sBAAsB;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3C;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAED,iCAAiC;AACjC,MAAM,WAAW,uBAAuB;IACtC,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,EAAE,aAAa,GAAG,kBAAkB,GAAG,MAAM,CAAC;IACpD,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,kCAAkC;AAClC,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAElE,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACxD,yCAAyC;IACzC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,qCAAqC;IACrC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACvF,6CAA6C;IAC7C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3F;AAED,oEAAoE;AACpE,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,4BAA4B;IAC5B,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;IAC5D,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED,iCAAiC;AACjC,MAAM,WAAW,wBAAwB;IACvC,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yBAAyB;IACzB,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,8CAA8C;IAC9C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,6CAA6C;AAC7C,MAAM,WAAW,yBAAyB;IACxC,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iCAAiC;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,mBAAmB;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,8DAA8D;AAC9D,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE,CAOnE;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmB5D;AAsCD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAwBnE;AAaD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9F;AA2DD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CA8InC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAMhE;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;CACzB,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAkDvD;AAED,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,MAAM,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAiDzF;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,CAqCnE;AA6BD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAS3C;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAWlF;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAG5E;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAQlE"}
|
|
@@ -109,6 +109,30 @@ function matchesLedger(dir, files) {
|
|
|
109
109
|
return false;
|
|
110
110
|
return want.every((f) => actual[f] === files[f]);
|
|
111
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* The `keptFiles` map from raw ledger JSON: skill name → relative path →
|
|
114
|
+
* hex SHA-256. Anything malformed is dropped.
|
|
115
|
+
*
|
|
116
|
+
* @param raw - Parsed `keptFiles` value.
|
|
117
|
+
* @returns The well-formed entries.
|
|
118
|
+
*/
|
|
119
|
+
function readKeptFiles(raw) {
|
|
120
|
+
const out = {};
|
|
121
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
122
|
+
return out;
|
|
123
|
+
for (const [name, files] of Object.entries(raw)) {
|
|
124
|
+
if (!files || typeof files !== 'object' || Array.isArray(files))
|
|
125
|
+
continue;
|
|
126
|
+
const hashes = {};
|
|
127
|
+
for (const [rel, hash] of Object.entries(files)) {
|
|
128
|
+
if (typeof hash === 'string')
|
|
129
|
+
hashes[rel] = hash;
|
|
130
|
+
}
|
|
131
|
+
if (Object.keys(hashes).length > 0)
|
|
132
|
+
out[name] = hashes;
|
|
133
|
+
}
|
|
134
|
+
return out;
|
|
135
|
+
}
|
|
112
136
|
/**
|
|
113
137
|
* Read the bundled-install ledger; an absent, unreadable or older-format
|
|
114
138
|
* ledger yields an empty one (nothing is then provably CLEO's).
|
|
@@ -123,7 +147,13 @@ export function readBundledLedger(skillsRoot) {
|
|
|
123
147
|
const kept = Array.isArray(data.kept)
|
|
124
148
|
? data.kept.filter((n) => typeof n === 'string')
|
|
125
149
|
: [];
|
|
126
|
-
|
|
150
|
+
const keptFiles = readKeptFiles(data.keptFiles);
|
|
151
|
+
return {
|
|
152
|
+
version: 2,
|
|
153
|
+
skills: data.skills,
|
|
154
|
+
...(kept.length > 0 ? { kept } : {}),
|
|
155
|
+
...(Object.keys(keptFiles).length > 0 ? { keptFiles } : {}),
|
|
156
|
+
};
|
|
127
157
|
}
|
|
128
158
|
}
|
|
129
159
|
catch {
|
|
@@ -415,20 +445,96 @@ export async function restoreQuarantine(opts) {
|
|
|
415
445
|
}
|
|
416
446
|
// Restoring is the user choosing to keep the skill: mark it kept rather
|
|
417
447
|
// than re-recording CLEO ownership, or the next prune would take it again.
|
|
448
|
+
// The restored copy's hashes are kept too, so `unkeepSkill` can later
|
|
449
|
+
// prove it is still exactly what came out of quarantine (T12699).
|
|
418
450
|
const ledger = readBundledLedger(opts.skillsRoot);
|
|
419
451
|
const kept = new Set(ledger.kept ?? []);
|
|
452
|
+
const keptFiles = { ...(ledger.keptFiles ?? {}) };
|
|
420
453
|
for (const name of new Set(record.moves.map((m) => m.name))) {
|
|
421
454
|
if (conflicted.has(name))
|
|
422
455
|
continue;
|
|
423
456
|
kept.add(name);
|
|
424
457
|
delete ledger.skills[name];
|
|
458
|
+
const canonical = join(opts.skillsRoot, name);
|
|
459
|
+
if (restored.includes(canonical)) {
|
|
460
|
+
const files = hashTree(canonical);
|
|
461
|
+
if (Object.keys(files).length > 0)
|
|
462
|
+
keptFiles[name] = files;
|
|
463
|
+
}
|
|
425
464
|
}
|
|
426
465
|
ledger.kept = [...kept].sort();
|
|
466
|
+
if (Object.keys(keptFiles).length > 0)
|
|
467
|
+
ledger.keptFiles = keptFiles;
|
|
427
468
|
await writeLedger(opts.skillsRoot, ledger);
|
|
428
469
|
if (conflicts.length === 0)
|
|
429
470
|
await rm(dir, { recursive: true, force: true });
|
|
430
471
|
return { restored, conflicts };
|
|
431
472
|
}
|
|
473
|
+
/**
|
|
474
|
+
* Hand a kept skill back to CLEO (`cleo skills doctor restore --unkeep
|
|
475
|
+
* <name>`, T12699).
|
|
476
|
+
*
|
|
477
|
+
* Restoring from quarantine marks a skill kept, so prune leaves it alone for
|
|
478
|
+
* good. This reverses that only when CLEO can prove the canonical copy is
|
|
479
|
+
* byte-for-byte what came out of quarantine: every file hashes to the
|
|
480
|
+
* `keptFiles` record. A copy the user changed since the restore, or one
|
|
481
|
+
* restored before hashes were recorded, stays kept. With no canonical copy
|
|
482
|
+
* left there is nothing to own, so the name simply leaves the kept list.
|
|
483
|
+
*
|
|
484
|
+
* @param skillsRoot - Canonical skills root.
|
|
485
|
+
* @param name - Kept skill name.
|
|
486
|
+
* @returns What happened.
|
|
487
|
+
*/
|
|
488
|
+
export async function unkeepSkill(skillsRoot, name) {
|
|
489
|
+
const ledger = readBundledLedger(skillsRoot);
|
|
490
|
+
const kept = new Set(ledger.kept ?? []);
|
|
491
|
+
if (!kept.has(name)) {
|
|
492
|
+
return { name, unkept: false, reledgered: false, reason: 'not on the kept list' };
|
|
493
|
+
}
|
|
494
|
+
const canonical = join(skillsRoot, name);
|
|
495
|
+
const recorded = ledger.keptFiles?.[name];
|
|
496
|
+
const forget = async (reledger) => {
|
|
497
|
+
kept.delete(name);
|
|
498
|
+
ledger.kept = [...kept].sort();
|
|
499
|
+
if (ledger.keptFiles)
|
|
500
|
+
delete ledger.keptFiles[name];
|
|
501
|
+
if (reledger)
|
|
502
|
+
ledger.skills[name] = { installedAt: new Date().toISOString(), files: reledger };
|
|
503
|
+
await writeLedger(skillsRoot, ledger);
|
|
504
|
+
};
|
|
505
|
+
if (!existsSync(canonical)) {
|
|
506
|
+
await forget(null);
|
|
507
|
+
return {
|
|
508
|
+
name,
|
|
509
|
+
unkept: true,
|
|
510
|
+
reledgered: false,
|
|
511
|
+
reason: 'no canonical copy left; removed from the kept list',
|
|
512
|
+
};
|
|
513
|
+
}
|
|
514
|
+
if (!recorded) {
|
|
515
|
+
return {
|
|
516
|
+
name,
|
|
517
|
+
unkept: false,
|
|
518
|
+
reledgered: false,
|
|
519
|
+
reason: 'no hashes were recorded when it was restored, so CLEO cannot prove the copy is unchanged; it stays kept',
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
if (!matchesLedger(canonical, recorded)) {
|
|
523
|
+
return {
|
|
524
|
+
name,
|
|
525
|
+
unkept: false,
|
|
526
|
+
reledgered: false,
|
|
527
|
+
reason: 'the copy changed since it was restored (hashes differ); it stays kept',
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
await forget(recorded);
|
|
531
|
+
return {
|
|
532
|
+
name,
|
|
533
|
+
unkept: true,
|
|
534
|
+
reledgered: true,
|
|
535
|
+
reason: 'identical to the restored copy; CLEO owns it again, so the next prune may quarantine it',
|
|
536
|
+
};
|
|
537
|
+
}
|
|
432
538
|
/**
|
|
433
539
|
* The real registry: CAAMP's lock file and CLEO's skills.db.
|
|
434
540
|
*
|
|
@@ -519,6 +625,16 @@ export async function restoreBundledSkillQuarantine(id) {
|
|
|
519
625
|
registry: await defaultPruneRegistry(),
|
|
520
626
|
});
|
|
521
627
|
}
|
|
628
|
+
/**
|
|
629
|
+
* {@link unkeepSkill} against this machine's canonical skills root.
|
|
630
|
+
*
|
|
631
|
+
* @param name - Kept skill name.
|
|
632
|
+
* @returns What happened.
|
|
633
|
+
*/
|
|
634
|
+
export async function unkeepBundledSkill(name) {
|
|
635
|
+
const { resolveSkillsRoot } = await import('./skill-root.js');
|
|
636
|
+
return unkeepSkill(resolveSkillsRoot(), name);
|
|
637
|
+
}
|
|
522
638
|
/**
|
|
523
639
|
* Dry-run the prune `initCoreSkills` would perform against the real bundle,
|
|
524
640
|
* canonical root, harnesses and registries.
|