@cleocode/core 2026.8.2 → 2026.8.4
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/check/pr-gate.d.ts.map +1 -1
- package/dist/check/pr-gate.js +9 -0
- package/dist/check/pr-gate.js.map +1 -1
- package/dist/docs/export-document.js +66 -16
- package/dist/docs/export-document.js.map +3 -3
- 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/superseded-store.d.ts +101 -0
- package/dist/doctor/superseded-store.d.ts.map +1 -0
- package/dist/doctor/superseded-store.js +156 -0
- package/dist/doctor/superseded-store.js.map +1 -0
- package/dist/hooks/registry.d.ts +2 -2
- package/dist/hooks/registry.d.ts.map +1 -1
- package/dist/hooks/registry.js +5 -0
- package/dist/hooks/registry.js.map +1 -1
- package/dist/hooks/types.d.ts +59 -0
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/init/scaffold-workflows.d.ts +12 -0
- package/dist/init/scaffold-workflows.d.ts.map +1 -1
- package/dist/init/scaffold-workflows.js +16 -0
- 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 +16 -0
- package/dist/init/upgrade-workflows.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +16 -1
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -0
- package/dist/internal.js.map +1 -1
- package/dist/llm/credentials.d.ts +16 -1
- package/dist/llm/credentials.d.ts.map +1 -1
- package/dist/llm/credentials.js.map +1 -1
- package/dist/llm/cross-provider-selector.d.ts +25 -0
- package/dist/llm/cross-provider-selector.d.ts.map +1 -1
- package/dist/llm/cross-provider-selector.js +76 -3
- package/dist/llm/cross-provider-selector.js.map +1 -1
- package/dist/llm/local-inference-probe.d.ts +101 -0
- package/dist/llm/local-inference-probe.d.ts.map +1 -0
- package/dist/llm/local-inference-probe.js +174 -0
- package/dist/llm/local-inference-probe.js.map +1 -0
- package/dist/llm/plugin-facade.js +199 -21
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/role-executor.d.ts.map +1 -1
- package/dist/llm/role-executor.js +95 -9
- package/dist/llm/role-executor.js.map +1 -1
- package/dist/llm/role-resolver.d.ts +10 -0
- package/dist/llm/role-resolver.d.ts.map +1 -1
- package/dist/llm/role-resolver.js +92 -1
- package/dist/llm/role-resolver.js.map +1 -1
- package/dist/llm/system-resolver.d.ts.map +1 -1
- package/dist/llm/system-resolver.js +2 -0
- package/dist/llm/system-resolver.js.map +1 -1
- package/dist/memory/brain-search.d.ts +109 -0
- package/dist/memory/brain-search.d.ts.map +1 -1
- package/dist/memory/brain-search.js +149 -37
- package/dist/memory/brain-search.js.map +1 -1
- package/dist/memory/brain-stub-prune.d.ts +109 -0
- package/dist/memory/brain-stub-prune.d.ts.map +1 -0
- package/dist/memory/brain-stub-prune.js +155 -0
- package/dist/memory/brain-stub-prune.js.map +1 -0
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +61 -3
- package/dist/memory/engine-compat.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +28 -0
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/context.d.ts.map +1 -1
- package/dist/nexus/context.js +3 -3
- package/dist/nexus/context.js.map +1 -1
- package/dist/nexus/impact.d.ts.map +1 -1
- package/dist/nexus/impact.js +3 -3
- package/dist/nexus/impact.js.map +1 -1
- package/dist/nexus/symbol-miss.d.ts +132 -0
- package/dist/nexus/symbol-miss.d.ts.map +1 -0
- package/dist/nexus/symbol-miss.js +168 -0
- package/dist/nexus/symbol-miss.js.map +1 -0
- package/dist/orchestrate/spawn-ops.d.ts +21 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +39 -2
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestrate/worker-verify.d.ts.map +1 -1
- package/dist/orchestrate/worker-verify.js +22 -0
- package/dist/orchestrate/worker-verify.js.map +1 -1
- package/dist/release/changesets-aggregator.d.ts.map +1 -1
- package/dist/release/changesets-aggregator.js +15 -1
- package/dist/release/changesets-aggregator.js.map +1 -1
- package/dist/release/open.d.ts +29 -2
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +48 -11
- package/dist/release/open.js.map +1 -1
- package/dist/resources/governor.d.ts +12 -2
- package/dist/resources/governor.d.ts.map +1 -1
- package/dist/resources/governor.js +12 -3
- package/dist/resources/governor.js.map +1 -1
- package/dist/scaffold/ensure-dirs.d.ts.map +1 -1
- package/dist/scaffold/ensure-dirs.js +14 -2
- package/dist/scaffold/ensure-dirs.js.map +1 -1
- package/dist/scaffold/project-detection.d.ts.map +1 -1
- package/dist/scaffold/project-detection.js +2 -1
- package/dist/scaffold/project-detection.js.map +1 -1
- package/dist/selfimprove/draft-pr.d.ts +14 -1
- package/dist/selfimprove/draft-pr.d.ts.map +1 -1
- package/dist/selfimprove/draft-pr.js.map +1 -1
- package/dist/selfimprove/fix-gen.d.ts +0 -21
- package/dist/selfimprove/fix-gen.d.ts.map +1 -1
- package/dist/selfimprove/fix-gen.js +276 -76
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/selfimprove/run-loop.d.ts.map +1 -1
- package/dist/selfimprove/run-loop.js +50 -19
- package/dist/selfimprove/run-loop.js.map +1 -1
- package/dist/selfimprove/scenarios/dhq-replay-find/golden.json +114 -4
- package/dist/selfimprove/scenarios/dhq-replay-find/scenario.json +3 -3
- package/dist/sentient/dream-cycle.d.ts +20 -19
- package/dist/sentient/dream-cycle.d.ts.map +1 -1
- package/dist/sentient/dream-cycle.js +322 -11
- package/dist/sentient/dream-cycle.js.map +1 -1
- package/dist/sentient/dream-watermark.d.ts +134 -0
- package/dist/sentient/dream-watermark.d.ts.map +1 -0
- package/dist/sentient/dream-watermark.js +156 -0
- package/dist/sentient/dream-watermark.js.map +1 -0
- package/dist/sentient/state.d.ts +17 -0
- package/dist/sentient/state.d.ts.map +1 -1
- package/dist/sentient/state.js +22 -3
- package/dist/sentient/state.js.map +1 -1
- package/dist/sentient/tick.d.ts.map +1 -1
- package/dist/sentient/tick.js +79 -2
- package/dist/sentient/tick.js.map +1 -1
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +5 -1
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/snapshot.d.ts.map +1 -1
- package/dist/sessions/snapshot.js +6 -3
- package/dist/sessions/snapshot.js.map +1 -1
- package/dist/store/checkpoint-git-dir.d.ts +95 -0
- package/dist/store/checkpoint-git-dir.d.ts.map +1 -0
- package/dist/store/checkpoint-git-dir.js +111 -0
- package/dist/store/checkpoint-git-dir.js.map +1 -0
- package/dist/store/git-checkpoint.d.ts.map +1 -1
- package/dist/store/git-checkpoint.js +6 -5
- package/dist/store/git-checkpoint.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +2 -1
- package/dist/system/health.js.map +1 -1
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +40 -4
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/collection.d.ts +51 -0
- package/dist/tasks/collection.d.ts.map +1 -0
- package/dist/tasks/collection.js +81 -0
- package/dist/tasks/collection.js.map +1 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +8 -3
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +17 -0
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/find.d.ts +50 -0
- package/dist/tasks/find.d.ts.map +1 -1
- package/dist/tasks/find.js +63 -2
- package/dist/tasks/find.js.map +1 -1
- package/dist/tasks/heavy-tool-env.d.ts +112 -0
- package/dist/tasks/heavy-tool-env.d.ts.map +1 -0
- package/dist/tasks/heavy-tool-env.js +133 -0
- package/dist/tasks/heavy-tool-env.js.map +1 -0
- package/dist/tasks/index.d.ts +2 -0
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +1 -0
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/tool-cache.d.ts.map +1 -1
- package/dist/tasks/tool-cache.js +9 -3
- package/dist/tasks/tool-cache.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +1 -1
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +83 -0
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-semaphore.d.ts +82 -12
- package/dist/tasks/tool-semaphore.d.ts.map +1 -1
- package/dist/tasks/tool-semaphore.js +79 -17
- package/dist/tasks/tool-semaphore.js.map +1 -1
- package/package.json +13 -13
- package/templates/CLEO-INJECTION.md +55 -22
- package/templates/workflows/release-prepare.yml.tmpl +73 -16
package/dist/doctor/index.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ export { classifyLegacyBackup, DEFAULT_HARD_RETENTION_DAYS, DEFAULT_SOFT_RETENTI
|
|
|
25
25
|
export type { PragmaSsot, PragmaSsotEntry } from './pragma-ssot.js';
|
|
26
26
|
export { loadPragmaSsot, normalisePragmaValue, PRAGMA_VALUE_NORMALISERS, } from './pragma-ssot.js';
|
|
27
27
|
export { auditSagaHierarchy } from './saga-audit.js';
|
|
28
|
+
export type { SupersededStoreEntry, SupersededStoreScanResult } from './superseded-store.js';
|
|
29
|
+
export { LIVE_STORE_FILENAME, scanSupersededStores } from './superseded-store.js';
|
|
28
30
|
export type { PruneOptions, ScanOptions } from './worktree-orphans.js';
|
|
29
31
|
export { auditWorktreeOrphansComprehensive, pruneWorktreeOrphans, scanWorktreeOrphans, } from './worktree-orphans.js';
|
|
30
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,YAAY,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EACL,iCAAiC,EACjC,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC"}
|
package/dist/doctor/index.js
CHANGED
|
@@ -28,5 +28,6 @@ export { renderInvariantAuditLines } from './invariant-audit-render.js';
|
|
|
28
28
|
export { classifyLegacyBackup, DEFAULT_HARD_RETENTION_DAYS, DEFAULT_SOFT_RETENTION_DAYS, isLegacyBackupFilename, legacyBackupSearchRoots, pruneLegacyBackups, recommendForBackup, scanLegacyBackups, } from './legacy-backups.js';
|
|
29
29
|
export { loadPragmaSsot, normalisePragmaValue, PRAGMA_VALUE_NORMALISERS, } from './pragma-ssot.js';
|
|
30
30
|
export { auditSagaHierarchy } from './saga-audit.js';
|
|
31
|
+
export { LIVE_STORE_FILENAME, scanSupersededStores } from './superseded-store.js';
|
|
31
32
|
export { auditWorktreeOrphansComprehensive, pruneWorktreeOrphans, scanWorktreeOrphans, } from './worktree-orphans.js';
|
|
32
33
|
//# sourceMappingURL=index.js.map
|
package/dist/doctor/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,kFAAkF;AAClF,kFAAkF;AAClF,kEAAkE;AAClE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,+EAA+E;AAC/E,8CAA8C;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,kFAAkF;AAClF,kFAAkF;AAClF,kEAAkE;AAClE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,+EAA+E;AAC/E,8CAA8C;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElF,OAAO,EACL,iCAAiC,EACjC,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect pre-dual-scope store files left on disk under their old LIVE names.
|
|
3
|
+
*
|
|
4
|
+
* ## The failure this exists to stop (T12095)
|
|
5
|
+
*
|
|
6
|
+
* Before the E6 dual-scope migration (ADR-068), a project's task database was
|
|
7
|
+
* `.cleo/tasks.db`. Afterwards it is `.cleo/cleo.db`, and task rows live in
|
|
8
|
+
* PREFIXED tables (`tasks_tasks`, `tasks_sessions`, …) rather than bare `tasks`.
|
|
9
|
+
* The migration does not delete the old file, so a migrated project has
|
|
10
|
+
*
|
|
11
|
+
* .cleo/cleo.db 60 MB modified today ← the real store
|
|
12
|
+
* .cleo/tasks.db 408 KB modified in June ← superseded, still named
|
|
13
|
+
* as though it were live
|
|
14
|
+
*
|
|
15
|
+
* Three separate things then point an agent at the wrong file:
|
|
16
|
+
*
|
|
17
|
+
* 1. The old name is the one every doc, ADR-013 §9 note and `cleo restore
|
|
18
|
+
* backup --file tasks.db` invocation still says out loud.
|
|
19
|
+
* 2. Snapshots are written as `.cleo/backups/sqlite/tasks-<ts>.db` even though
|
|
20
|
+
* they are snapshots of `cleo.db`. So the superseded 408 KB file sits beside
|
|
21
|
+
* 58 MB files bearing its own name — which reads unmistakably as truncation.
|
|
22
|
+
* 3. `cleo.db` ALSO contains a bare, empty `tasks` table next to the populated
|
|
23
|
+
* `tasks_tasks`. Any direct SQL probe finds the empty decoy.
|
|
24
|
+
*
|
|
25
|
+
* Measured on 2026-08-09: an agent in a healthy project with 1,123 tasks looped
|
|
26
|
+
* on "the current tasks.db is 417KB which is much smaller than the backups
|
|
27
|
+
* (58MB) — maybe it was rotated/rebuilt", then began theorising that the real
|
|
28
|
+
* store might be `llmtxt.db`. Nothing was wrong with the data. The layout
|
|
29
|
+
* manufactured a corruption signal, and the agent believed it over the CLI.
|
|
30
|
+
*
|
|
31
|
+
* This check names the file, proves which store is authoritative by counting
|
|
32
|
+
* rows in both, and says what to do — so the question is answered in one call
|
|
33
|
+
* instead of becoming an investigation.
|
|
34
|
+
*
|
|
35
|
+
* @task T12095
|
|
36
|
+
* @see ADR-068 — dual-scope DB chokepoint
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* A store file that has been superseded by `cleo.db` but still exists under the
|
|
40
|
+
* name that used to mean "the live database".
|
|
41
|
+
*/
|
|
42
|
+
export interface SupersededStoreEntry {
|
|
43
|
+
/** Absolute path of the superseded file. */
|
|
44
|
+
readonly path: string;
|
|
45
|
+
/** Bare filename, e.g. `tasks.db`. */
|
|
46
|
+
readonly name: string;
|
|
47
|
+
/** Size in bytes. */
|
|
48
|
+
readonly sizeBytes: number;
|
|
49
|
+
/** Last modification time, ISO 8601. */
|
|
50
|
+
readonly modifiedAt: string;
|
|
51
|
+
/**
|
|
52
|
+
* Rows found in the superseded file's own task table, if it has one.
|
|
53
|
+
* `null` when the file has no such table or could not be read.
|
|
54
|
+
*/
|
|
55
|
+
readonly rowsInSuperseded: number | null;
|
|
56
|
+
/** Rows found in the LIVE store's prefixed table. */
|
|
57
|
+
readonly rowsInLive: number | null;
|
|
58
|
+
/**
|
|
59
|
+
* True when the live store demonstrably holds the data and this file does
|
|
60
|
+
* not — i.e. it is safe to archive. False keeps the entry but withholds the
|
|
61
|
+
* recommendation, because "delete the other database" must never be advised
|
|
62
|
+
* on a guess.
|
|
63
|
+
*/
|
|
64
|
+
readonly safeToArchive: boolean;
|
|
65
|
+
/** Human-readable justification, suitable for printing verbatim. */
|
|
66
|
+
readonly reason: string;
|
|
67
|
+
}
|
|
68
|
+
/** Result of {@link scanSupersededStores}. */
|
|
69
|
+
export interface SupersededStoreScanResult {
|
|
70
|
+
/** Absolute project root that was scanned. */
|
|
71
|
+
readonly projectRoot: string;
|
|
72
|
+
/** Absolute path of the live dual-scope store. */
|
|
73
|
+
readonly liveStorePath: string;
|
|
74
|
+
/** Whether the live store exists — when false, nothing is superseded. */
|
|
75
|
+
readonly liveStoreExists: boolean;
|
|
76
|
+
/** Superseded files found, newest-modified first. */
|
|
77
|
+
readonly entries: readonly SupersededStoreEntry[];
|
|
78
|
+
}
|
|
79
|
+
/** The dual-scope store filename (ADR-068). */
|
|
80
|
+
export declare const LIVE_STORE_FILENAME = "cleo.db";
|
|
81
|
+
/**
|
|
82
|
+
* Scan a project for store files superseded by `cleo.db`.
|
|
83
|
+
*
|
|
84
|
+
* Read-only — deletes nothing and opens nothing for write. The caller decides
|
|
85
|
+
* what to do with the recommendation.
|
|
86
|
+
*
|
|
87
|
+
* @param projectRoot - absolute path to the project root.
|
|
88
|
+
* @returns the survey; `entries` is empty for a project that never migrated or
|
|
89
|
+
* that has already been tidied.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```ts
|
|
93
|
+
* const scan = scanSupersededStores('/mnt/projects/PepsVida');
|
|
94
|
+
* for (const e of scan.entries) console.log(e.name, e.reason);
|
|
95
|
+
* // tasks.db superseded by cleo.db: 0 rows here vs 1123 in cleo.db#tasks_tasks …
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
98
|
+
* @task T12095
|
|
99
|
+
*/
|
|
100
|
+
export declare function scanSupersededStores(projectRoot: string): SupersededStoreScanResult;
|
|
101
|
+
//# sourceMappingURL=superseded-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"superseded-store.d.ts","sourceRoot":"","sources":["../../src/doctor/superseded-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAMH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8CAA8C;AAC9C,MAAM,WAAW,yBAAyB;IACxC,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACnD;AAgBD,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAiC7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,yBAAyB,CAyDnF"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect pre-dual-scope store files left on disk under their old LIVE names.
|
|
3
|
+
*
|
|
4
|
+
* ## The failure this exists to stop (T12095)
|
|
5
|
+
*
|
|
6
|
+
* Before the E6 dual-scope migration (ADR-068), a project's task database was
|
|
7
|
+
* `.cleo/tasks.db`. Afterwards it is `.cleo/cleo.db`, and task rows live in
|
|
8
|
+
* PREFIXED tables (`tasks_tasks`, `tasks_sessions`, …) rather than bare `tasks`.
|
|
9
|
+
* The migration does not delete the old file, so a migrated project has
|
|
10
|
+
*
|
|
11
|
+
* .cleo/cleo.db 60 MB modified today ← the real store
|
|
12
|
+
* .cleo/tasks.db 408 KB modified in June ← superseded, still named
|
|
13
|
+
* as though it were live
|
|
14
|
+
*
|
|
15
|
+
* Three separate things then point an agent at the wrong file:
|
|
16
|
+
*
|
|
17
|
+
* 1. The old name is the one every doc, ADR-013 §9 note and `cleo restore
|
|
18
|
+
* backup --file tasks.db` invocation still says out loud.
|
|
19
|
+
* 2. Snapshots are written as `.cleo/backups/sqlite/tasks-<ts>.db` even though
|
|
20
|
+
* they are snapshots of `cleo.db`. So the superseded 408 KB file sits beside
|
|
21
|
+
* 58 MB files bearing its own name — which reads unmistakably as truncation.
|
|
22
|
+
* 3. `cleo.db` ALSO contains a bare, empty `tasks` table next to the populated
|
|
23
|
+
* `tasks_tasks`. Any direct SQL probe finds the empty decoy.
|
|
24
|
+
*
|
|
25
|
+
* Measured on 2026-08-09: an agent in a healthy project with 1,123 tasks looped
|
|
26
|
+
* on "the current tasks.db is 417KB which is much smaller than the backups
|
|
27
|
+
* (58MB) — maybe it was rotated/rebuilt", then began theorising that the real
|
|
28
|
+
* store might be `llmtxt.db`. Nothing was wrong with the data. The layout
|
|
29
|
+
* manufactured a corruption signal, and the agent believed it over the CLI.
|
|
30
|
+
*
|
|
31
|
+
* This check names the file, proves which store is authoritative by counting
|
|
32
|
+
* rows in both, and says what to do — so the question is answered in one call
|
|
33
|
+
* instead of becoming an investigation.
|
|
34
|
+
*
|
|
35
|
+
* @task T12095
|
|
36
|
+
* @see ADR-068 — dual-scope DB chokepoint
|
|
37
|
+
*/
|
|
38
|
+
import { existsSync, statSync } from 'node:fs';
|
|
39
|
+
import { join } from 'node:path';
|
|
40
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
41
|
+
/**
|
|
42
|
+
* Legacy store filenames paired with the live table that replaced their
|
|
43
|
+
* contents. The bare table name is the pre-migration one; the prefixed name is
|
|
44
|
+
* where the rows live now.
|
|
45
|
+
*/
|
|
46
|
+
const SUPERSEDED_STORES = [
|
|
47
|
+
{ file: 'tasks.db', bareTable: 'tasks', liveTable: 'tasks_tasks' },
|
|
48
|
+
{ file: 'brain.db', bareTable: 'brain_observations', liveTable: 'brain_observations' },
|
|
49
|
+
];
|
|
50
|
+
/** The dual-scope store filename (ADR-068). */
|
|
51
|
+
export const LIVE_STORE_FILENAME = 'cleo.db';
|
|
52
|
+
/**
|
|
53
|
+
* Count rows in a table, or `null` when the table or file is unreadable.
|
|
54
|
+
*
|
|
55
|
+
* Read-only and never throws: a superseded file may be truncated, locked, or
|
|
56
|
+
* not even SQLite, and none of that should break the survey.
|
|
57
|
+
*/
|
|
58
|
+
function countRows(dbPath, table) {
|
|
59
|
+
if (!existsSync(dbPath))
|
|
60
|
+
return null;
|
|
61
|
+
let db = null;
|
|
62
|
+
try {
|
|
63
|
+
// db-open-allowed: read-only forensic probe of a SUPERSEDED file no accessor owns — routing it through the chokepoint would register a live handle for the very store we are proving is dead
|
|
64
|
+
db = new DatabaseSync(dbPath, { readOnly: true }); // db-open-allowed: read-only probe of a superseded, unowned file
|
|
65
|
+
const exists = db
|
|
66
|
+
.prepare("SELECT 1 AS ok FROM sqlite_master WHERE type='table' AND name = ?")
|
|
67
|
+
.get(table);
|
|
68
|
+
if (exists === undefined)
|
|
69
|
+
return null;
|
|
70
|
+
const row = db.prepare(`SELECT COUNT(*) AS c FROM "${table}"`).get();
|
|
71
|
+
return row?.c ?? null;
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
try {
|
|
78
|
+
db?.close();
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
/* already closed or never opened */
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Scan a project for store files superseded by `cleo.db`.
|
|
87
|
+
*
|
|
88
|
+
* Read-only — deletes nothing and opens nothing for write. The caller decides
|
|
89
|
+
* what to do with the recommendation.
|
|
90
|
+
*
|
|
91
|
+
* @param projectRoot - absolute path to the project root.
|
|
92
|
+
* @returns the survey; `entries` is empty for a project that never migrated or
|
|
93
|
+
* that has already been tidied.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* const scan = scanSupersededStores('/mnt/projects/PepsVida');
|
|
98
|
+
* for (const e of scan.entries) console.log(e.name, e.reason);
|
|
99
|
+
* // tasks.db superseded by cleo.db: 0 rows here vs 1123 in cleo.db#tasks_tasks …
|
|
100
|
+
* ```
|
|
101
|
+
*
|
|
102
|
+
* @task T12095
|
|
103
|
+
*/
|
|
104
|
+
export function scanSupersededStores(projectRoot) {
|
|
105
|
+
const liveStorePath = join(projectRoot, '.cleo', LIVE_STORE_FILENAME);
|
|
106
|
+
const liveStoreExists = existsSync(liveStorePath);
|
|
107
|
+
if (!liveStoreExists) {
|
|
108
|
+
// No dual-scope store means nothing has been superseded — a pre-migration
|
|
109
|
+
// project's `tasks.db` IS its live database and must not be flagged.
|
|
110
|
+
return { projectRoot, liveStorePath, liveStoreExists: false, entries: [] };
|
|
111
|
+
}
|
|
112
|
+
const liveMtimeMs = statSync(liveStorePath).mtimeMs;
|
|
113
|
+
const entries = [];
|
|
114
|
+
for (const { file, bareTable, liveTable } of SUPERSEDED_STORES) {
|
|
115
|
+
const path = join(projectRoot, '.cleo', file);
|
|
116
|
+
if (!existsSync(path))
|
|
117
|
+
continue;
|
|
118
|
+
const stat = statSync(path);
|
|
119
|
+
// A file NEWER than cleo.db is not obviously dead — say nothing rather than
|
|
120
|
+
// risk advising removal of something still being written.
|
|
121
|
+
if (stat.mtimeMs >= liveMtimeMs)
|
|
122
|
+
continue;
|
|
123
|
+
const rowsInSuperseded = countRows(path, bareTable);
|
|
124
|
+
const rowsInLive = countRows(liveStorePath, liveTable);
|
|
125
|
+
// `rowsInSuperseded === 0` must be EXPLICIT, never `?? 0`. `null` means the
|
|
126
|
+
// file could not be read — corrupt, locked, truncated, or not SQLite — and
|
|
127
|
+
// "I could not read it" is not "it is empty". Coalescing the two would
|
|
128
|
+
// recommend archiving precisely the file whose contents are unknown, which
|
|
129
|
+
// is the one case where being wrong loses data.
|
|
130
|
+
const safeToArchive = (rowsInLive ?? 0) > 0 && rowsInSuperseded === 0;
|
|
131
|
+
const reason = safeToArchive
|
|
132
|
+
? `superseded by ${LIVE_STORE_FILENAME}: ${rowsInSuperseded ?? 0} rows in ${file}#${bareTable} ` +
|
|
133
|
+
`vs ${rowsInLive} in ${LIVE_STORE_FILENAME}#${liveTable}. Last written ` +
|
|
134
|
+
`${stat.mtime.toISOString().slice(0, 10)}, while ${LIVE_STORE_FILENAME} was written ` +
|
|
135
|
+
`${new Date(liveMtimeMs).toISOString().slice(0, 10)}. Its name is the one the docs and ` +
|
|
136
|
+
`\`cleo restore backup --file tasks.db\` still say, and snapshots are named ` +
|
|
137
|
+
`\`tasks-<ts>.db\` even though they snapshot ${LIVE_STORE_FILENAME} — so this file reads ` +
|
|
138
|
+
`as a truncated live DB when it is simply the pre-migration one.`
|
|
139
|
+
: `predates ${LIVE_STORE_FILENAME} but still holds ${rowsInSuperseded ?? 'an unknown number of'} ` +
|
|
140
|
+
`rows in ${bareTable} (live ${liveTable}: ${rowsInLive ?? 'unreadable'}). NOT recommended for ` +
|
|
141
|
+
`removal — reconcile the contents first.`;
|
|
142
|
+
entries.push({
|
|
143
|
+
path,
|
|
144
|
+
name: file,
|
|
145
|
+
sizeBytes: stat.size,
|
|
146
|
+
modifiedAt: stat.mtime.toISOString(),
|
|
147
|
+
rowsInSuperseded,
|
|
148
|
+
rowsInLive,
|
|
149
|
+
safeToArchive,
|
|
150
|
+
reason,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
entries.sort((a, b) => Date.parse(b.modifiedAt) - Date.parse(a.modifiedAt));
|
|
154
|
+
return { projectRoot, liveStorePath, liveStoreExists: true, entries };
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=superseded-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"superseded-store.js","sourceRoot":"","sources":["../../src/doctor/superseded-store.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/registry.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @module @cleocode/cleo/hooks/registry
|
|
9
9
|
*/
|
|
10
|
-
import type { HookConfig, HookEvent, HookPayload, HookRegistration } from './types.js';
|
|
10
|
+
import type { HookConfig, HookEvent, HookPayload, HookPayloadFor, HookRegistration } from './types.js';
|
|
11
11
|
/**
|
|
12
12
|
* Central registry for hook handlers.
|
|
13
13
|
*
|
|
@@ -80,7 +80,7 @@ export declare class HookRegistry {
|
|
|
80
80
|
* });
|
|
81
81
|
* ```
|
|
82
82
|
*/
|
|
83
|
-
dispatch<
|
|
83
|
+
dispatch<E extends HookEvent>(event: E, projectRoot: string, payload: HookPayloadFor<E>): Promise<void>;
|
|
84
84
|
/**
|
|
85
85
|
* Check if a specific event is currently enabled.
|
|
86
86
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,cAAc,EACd,gBAAgB,EACjB,MAAM,YAAY,CAAC;AA+CpB;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,MAAM,CAAmC;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAYpB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,QAAQ,CAAC,CAAC,SAAS,WAAW,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAoB9E;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IAMG,QAAQ,CAAC,CAAC,SAAS,SAAS,EAChC,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,IAAI,CAAC;IA4BhB;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAKpC;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAI5C;;;;OAIG;IACH,SAAS,IAAI,UAAU;IAIvB;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,gBAAgB,EAAE;CAInD;AAED;;;;GAIG;AACH,eAAO,MAAM,KAAK,cAAqB,CAAC"}
|
package/dist/hooks/registry.js
CHANGED
|
@@ -147,6 +147,11 @@ export class HookRegistry {
|
|
|
147
147
|
* });
|
|
148
148
|
* ```
|
|
149
149
|
*/
|
|
150
|
+
// T12071: keyed on the EVENT so the payload shape is checked against
|
|
151
|
+
// `HookEventPayloadMap`. The previous `<T extends HookPayload>` form inferred
|
|
152
|
+
// T from the argument, relating the event and the payload not at all — which
|
|
153
|
+
// is how `PostToolUse` came to be dispatched with `newStatus` instead of
|
|
154
|
+
// `status` and filled 29% of BRAIN with "status: undefined".
|
|
150
155
|
async dispatch(event, projectRoot, payload) {
|
|
151
156
|
// Check if hooks enabled globally
|
|
152
157
|
if (!this.config.enabled)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/types.d.ts
CHANGED
|
@@ -390,4 +390,63 @@ export type CLEOLifecycleEvent = keyof typeof CLEO_TO_CAAMP_HOOK_MAP;
|
|
|
390
390
|
* Type for autonomous CLEO lifecycle events.
|
|
391
391
|
*/
|
|
392
392
|
export type CLEOAutonomousLifecycleEvent = keyof typeof CLEO_INTERNAL_HOOK_MAP;
|
|
393
|
+
/**
|
|
394
|
+
* Compile-time map from hook event name to its declared payload interface.
|
|
395
|
+
*
|
|
396
|
+
* ## Why this exists (T12071)
|
|
397
|
+
*
|
|
398
|
+
* `HookRegistry.dispatch` was generic over `T extends HookPayload`, which
|
|
399
|
+
* infers `T` from the argument and therefore accepts ANY object carrying the
|
|
400
|
+
* base fields. The event name and the payload shape were never related to each
|
|
401
|
+
* other at the type level, so a call site could pass a field the handler does
|
|
402
|
+
* not read and TypeScript would agree.
|
|
403
|
+
*
|
|
404
|
+
* That is not hypothetical. `tasks/complete.ts` dispatched `PostToolUse` with
|
|
405
|
+
* `newStatus: 'done'` while `PostToolUsePayload` declares `status`.
|
|
406
|
+
* `handleToolComplete` read `payload.status`, got `undefined`, and wrote
|
|
407
|
+
* `"Task <id> completed with status: undefined"` into BRAIN on **every task
|
|
408
|
+
* completion** — 2,012 rows, 29% of the observation corpus, each one a
|
|
409
|
+
* content-free record that BM25 then ranked ABOVE substantive memories
|
|
410
|
+
* (short documents score higher under length normalisation). The visible
|
|
411
|
+
* symptom was "the brain never recalls anything useful"; the cause was one
|
|
412
|
+
* unenforced field name.
|
|
413
|
+
*
|
|
414
|
+
* `EVENT_SCHEMA_MAP` in `payload-schemas.ts` already encoded this relation for
|
|
415
|
+
* RUNTIME validation. This is the same relation at compile time, so the next
|
|
416
|
+
* drift is a build error rather than a silent corpus of junk.
|
|
417
|
+
*
|
|
418
|
+
* Events absent from this map fall back to {@link HookPayload}, matching the
|
|
419
|
+
* runtime schema map's `Partial` semantics.
|
|
420
|
+
*
|
|
421
|
+
* @task T12071
|
|
422
|
+
*/
|
|
423
|
+
export interface HookEventPayloadMap {
|
|
424
|
+
SessionStart: SessionStartPayload;
|
|
425
|
+
SessionEnd: SessionEndPayload;
|
|
426
|
+
PreToolUse: PreToolUsePayload;
|
|
427
|
+
PostToolUse: PostToolUsePayload;
|
|
428
|
+
Notification: NotificationPayload;
|
|
429
|
+
PostToolUseFailure: PostToolUseFailurePayload;
|
|
430
|
+
PromptSubmit: PromptSubmitPayload;
|
|
431
|
+
ResponseComplete: ResponseCompletePayload;
|
|
432
|
+
SubagentStart: SubagentStartPayload;
|
|
433
|
+
SubagentStop: SubagentStopPayload;
|
|
434
|
+
PreCompact: PreCompactPayload;
|
|
435
|
+
PostCompact: PostCompactPayload;
|
|
436
|
+
ConfigChange: ConfigChangePayload;
|
|
437
|
+
onWorkAvailable: OnWorkAvailablePayload;
|
|
438
|
+
onAgentSpawn: OnAgentSpawnPayload;
|
|
439
|
+
onAgentComplete: OnAgentCompletePayload;
|
|
440
|
+
onCascadeStart: OnCascadeStartPayload;
|
|
441
|
+
onPatrol: OnPatrolPayload;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* The payload type required for a given hook event.
|
|
445
|
+
*
|
|
446
|
+
* Resolves through {@link HookEventPayloadMap}, falling back to the base
|
|
447
|
+
* {@link HookPayload} for events that declare no specific shape.
|
|
448
|
+
*
|
|
449
|
+
* @task T12071
|
|
450
|
+
*/
|
|
451
|
+
export type HookPayloadFor<E extends HookEvent> = E extends keyof HookEventPayloadMap ? HookEventPayloadMap[E] : HookPayload;
|
|
393
452
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,6 +79,18 @@ export interface ScaffoldReleaseConfig {
|
|
|
79
79
|
* Defaults to {@link DEFAULT_INSTALL_CMD}.
|
|
80
80
|
*/
|
|
81
81
|
installCmd?: string;
|
|
82
|
+
/**
|
|
83
|
+
* Shell line that rewrites every package manifest to the release version, run
|
|
84
|
+
* with `VERSION` already exported as the tag (`v2026.8.3`). Version bumping is
|
|
85
|
+
* project-shaped — a single package wants `npm version`, a workspace wants a
|
|
86
|
+
* script that walks every manifest — so it cannot be a fixed default.
|
|
87
|
+
*
|
|
88
|
+
* Defaults to {@link DEFAULT_VERSION_BUMP_CMD}.
|
|
89
|
+
*
|
|
90
|
+
* @task T12093 — the template hardcoded `cleo version-bump`, a command that
|
|
91
|
+
* never existed, so `Prepare bump-PR` exited 127 on every release.
|
|
92
|
+
*/
|
|
93
|
+
versionBumpCmd?: string;
|
|
82
94
|
nodeVersion?: string;
|
|
83
95
|
releaseBranchPrefix?: string;
|
|
84
96
|
prLabel?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold-workflows.d.ts","sourceRoot":"","sources":["../../src/init/scaffold-workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAcH;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACxC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,mCAAmC;IACnC,QAAQ,EAAE,YAAY,CAAC;IACvB,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;OASG;IACH,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,yEAAyE;IACzE,aAAa,EAAE,wBAAwB,CAAC;CACzC;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,YAAY,CAKzD,CAAC;
|
|
1
|
+
{"version":3,"file":"scaffold-workflows.d.ts","sourceRoot":"","sources":["../../src/init/scaffold-workflows.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,6 +77,21 @@ const DEFAULT_BUILD_CMD = 'pnpm run build';
|
|
|
77
77
|
const DEFAULT_NPM_PUBLISH_CMD = 'pnpm publish --access public --tag latest';
|
|
78
78
|
const DEFAULT_PUBLISHERS = 'npm';
|
|
79
79
|
const DEFAULT_DOCS_BUILD_CMD = 'pnpm run docs:build';
|
|
80
|
+
/**
|
|
81
|
+
* Project-agnostic version bump: rewrite the manifest in place without tagging.
|
|
82
|
+
*
|
|
83
|
+
* `--allow-same-version` keeps a re-dispatch of an already-bumped version from
|
|
84
|
+
* failing the step; `--no-git-tag-version` leaves tagging to the release
|
|
85
|
+
* pipeline, which tags the merge commit, not the prepare branch.
|
|
86
|
+
*
|
|
87
|
+
* `npm version` accepts the tag spelling directly (it normalises a leading `v`),
|
|
88
|
+
* so `$VERSION` needs no shell munging. A workspace must walk every manifest
|
|
89
|
+
* instead, and overrides this with `versionBumpCmd` in
|
|
90
|
+
* `.cleo/release-config.json` — cleocode itself uses `scripts/version-all.mjs`.
|
|
91
|
+
*
|
|
92
|
+
* @task T12093
|
|
93
|
+
*/
|
|
94
|
+
const DEFAULT_VERSION_BUMP_CMD = 'npm version "$VERSION" --no-git-tag-version --allow-same-version';
|
|
80
95
|
/**
|
|
81
96
|
* Read `.cleo/release-config.json` from `<projectRoot>/.cleo/`. Returns
|
|
82
97
|
* `{}` on parse failure or missing file — the scaffolder simply falls
|
|
@@ -161,6 +176,7 @@ function buildSubstitutionMap(template, cfg, tools) {
|
|
|
161
176
|
// Common placeholders (used by prepare + publish + fanout + rollback).
|
|
162
177
|
subs.set('NODE_VERSION', cfg.nodeVersion ?? DEFAULT_NODE_VERSION);
|
|
163
178
|
subs.set('INSTALL_CMD', tools.install);
|
|
179
|
+
subs.set('VERSION_BUMP_CMD', cfg.versionBumpCmd ?? DEFAULT_VERSION_BUMP_CMD);
|
|
164
180
|
subs.set('LINT_CMD', tools.lint);
|
|
165
181
|
subs.set('TYPECHECK_CMD', tools.typecheck);
|
|
166
182
|
subs.set('TEST_CMD', tools.test);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold-workflows.js","sourceRoot":"","sources":["../../src/init/scaffold-workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAGH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"scaffold-workflows.js","sourceRoot":"","sources":["../../src/init/scaffold-workflows.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-workflows.d.ts","sourceRoot":"","sources":["../../src/init/upgrade-workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAMH,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACb,MAAM,yBAAyB,CAAC;AAOjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,SAAS,GACT,SAAS,CAAC;AAEd;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,QAAQ,EAAE,YAAY,CAAC;IACvB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qEAAqE;IACrE,MAAM,EAAE,qBAAqB,CAAC;IAC9B;;;;;OAKG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACxC;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,8DAA8D;IAC9D,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,yDAAyD;IACzD,aAAa,EAAE,wBAAwB,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"upgrade-workflows.d.ts","sourceRoot":"","sources":["../../src/init/upgrade-workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAMH,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACb,MAAM,yBAAyB,CAAC;AAOjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,SAAS,GACT,SAAS,CAAC;AAEd;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,QAAQ,EAAE,YAAY,CAAC;IACvB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qEAAqE;IACrE,MAAM,EAAE,qBAAqB,CAAC;IAC9B;;;;;OAKG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACxC;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,8DAA8D;IAC9D,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,yDAAyD;IACzD,aAAa,EAAE,wBAAwB,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAyED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAoBtE;AA8JD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAyHjC"}
|
|
@@ -66,6 +66,21 @@ const DEFAULT_BUILD_CMD = 'pnpm run build';
|
|
|
66
66
|
const DEFAULT_NPM_PUBLISH_CMD = 'pnpm publish --access public --tag latest';
|
|
67
67
|
const DEFAULT_PUBLISHERS = 'npm';
|
|
68
68
|
const DEFAULT_DOCS_BUILD_CMD = 'pnpm run docs:build';
|
|
69
|
+
/**
|
|
70
|
+
* Project-agnostic version bump: rewrite the manifest in place without tagging.
|
|
71
|
+
*
|
|
72
|
+
* `--allow-same-version` keeps a re-dispatch of an already-bumped version from
|
|
73
|
+
* failing the step; `--no-git-tag-version` leaves tagging to the release
|
|
74
|
+
* pipeline, which tags the merge commit, not the prepare branch.
|
|
75
|
+
*
|
|
76
|
+
* `npm version` accepts the tag spelling directly (it normalises a leading `v`),
|
|
77
|
+
* so `$VERSION` needs no shell munging. A workspace must walk every manifest
|
|
78
|
+
* instead, and overrides this with `versionBumpCmd` in
|
|
79
|
+
* `.cleo/release-config.json` — cleocode itself uses `scripts/version-all.mjs`.
|
|
80
|
+
*
|
|
81
|
+
* @task T12093
|
|
82
|
+
*/
|
|
83
|
+
const DEFAULT_VERSION_BUMP_CMD = 'npm version "$VERSION" --no-git-tag-version --allow-same-version';
|
|
69
84
|
/**
|
|
70
85
|
* Read `.cleo/release-config.json` from `<projectRoot>/.cleo/`. Returns
|
|
71
86
|
* `{}` on parse failure or missing file. Mirrors the helper in
|
|
@@ -188,6 +203,7 @@ function buildSubstitutionMap(template, cfg, tools) {
|
|
|
188
203
|
const subs = new Map();
|
|
189
204
|
subs.set('NODE_VERSION', cfg.nodeVersion ?? DEFAULT_NODE_VERSION);
|
|
190
205
|
subs.set('INSTALL_CMD', tools.install);
|
|
206
|
+
subs.set('VERSION_BUMP_CMD', cfg.versionBumpCmd ?? DEFAULT_VERSION_BUMP_CMD);
|
|
191
207
|
subs.set('LINT_CMD', tools.lint);
|
|
192
208
|
subs.set('TYPECHECK_CMD', tools.typecheck);
|
|
193
209
|
subs.set('TEST_CMD', tools.test);
|