@manehorizons/cadence-core 1.4.0 → 1.5.1
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/bin/cadence.cjs +7 -0
- package/dist/checks/boundary.d.ts +9 -0
- package/dist/checks/boundary.d.ts.map +1 -1
- package/dist/checks/boundary.js +10 -2
- package/dist/checks/boundary.js.map +1 -1
- package/dist/cli/commands/handoff.d.ts +3 -0
- package/dist/cli/commands/handoff.d.ts.map +1 -0
- package/dist/cli/commands/handoff.js +39 -0
- package/dist/cli/commands/handoff.js.map +1 -0
- package/dist/cli/commands/resume.d.ts +3 -0
- package/dist/cli/commands/resume.d.ts.map +1 -0
- package/dist/cli/commands/resume.js +30 -0
- package/dist/cli/commands/resume.js.map +1 -0
- package/dist/cli/commands/settle.d.ts.map +1 -1
- package/dist/cli/commands/settle.js +13 -0
- package/dist/cli/commands/settle.js.map +1 -1
- package/dist/cli/index.js +7 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/node-guard.d.ts +12 -0
- package/dist/cli/node-guard.d.ts.map +1 -0
- package/dist/cli/node-guard.js +16 -0
- package/dist/cli/node-guard.js.map +1 -0
- package/dist/cli/register.d.ts.map +1 -1
- package/dist/cli/register.js +4 -0
- package/dist/cli/register.js.map +1 -1
- package/dist/errors.d.ts +4 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +6 -0
- package/dist/errors.js.map +1 -1
- package/dist/handoff/git-facts.d.ts +4 -0
- package/dist/handoff/git-facts.d.ts.map +1 -0
- package/dist/handoff/git-facts.js +43 -0
- package/dist/handoff/git-facts.js.map +1 -0
- package/dist/handoff/locate.d.ts +10 -0
- package/dist/handoff/locate.d.ts.map +1 -0
- package/dist/handoff/locate.js +60 -0
- package/dist/handoff/locate.js.map +1 -0
- package/dist/handoff/render-session.d.ts +10 -0
- package/dist/handoff/render-session.d.ts.map +1 -0
- package/dist/handoff/render-session.js +88 -0
- package/dist/handoff/render-session.js.map +1 -0
- package/dist/handoff/run-handoff.d.ts +15 -0
- package/dist/handoff/run-handoff.d.ts.map +1 -0
- package/dist/handoff/run-handoff.js +51 -0
- package/dist/handoff/run-handoff.js.map +1 -0
- package/dist/handoff/run-resume.d.ts +3 -0
- package/dist/handoff/run-resume.d.ts.map +1 -0
- package/dist/handoff/run-resume.js +31 -0
- package/dist/handoff/run-resume.js.map +1 -0
- package/dist/hooks/handlers.d.ts.map +1 -1
- package/dist/hooks/handlers.js +1 -0
- package/dist/hooks/handlers.js.map +1 -1
- package/dist/init/claude-md-template.js +2 -2
- package/dist/notify/collect.d.ts +7 -0
- package/dist/notify/collect.d.ts.map +1 -1
- package/dist/notify/collect.js +1 -0
- package/dist/notify/collect.js.map +1 -1
- package/dist/state/simple.d.ts.map +1 -1
- package/dist/state/simple.js +4 -1
- package/dist/state/simple.js.map +1 -1
- package/dist/verify/verifier-factory.d.ts +17 -0
- package/dist/verify/verifier-factory.d.ts.map +1 -1
- package/dist/verify/verifier-factory.js +24 -0
- package/dist/verify/verifier-factory.js.map +1 -1
- package/package.json +5 -2
package/bin/cadence.cjs
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
var nodeMajor = parseInt(process.versions.node.split('.')[0], 10);
|
|
3
|
+
if (Number.isFinite(nodeMajor) && nodeMajor < 20) {
|
|
4
|
+
process.stderr.write(
|
|
5
|
+
'CADENCE requires Node >=20 (you have ' + process.versions.node + '). Upgrade Node and retry.\n',
|
|
6
|
+
);
|
|
7
|
+
process.exit(1);
|
|
8
|
+
}
|
|
2
9
|
require('node:child_process')
|
|
3
10
|
.spawn(process.execPath, [require('node:path').join(__dirname, '..', 'dist', 'cli', 'index.js'), ...process.argv.slice(2)], { stdio: 'inherit' })
|
|
4
11
|
.on('exit', (code) => process.exit(code ?? 0));
|
|
@@ -20,6 +20,15 @@ export interface BoundaryCheckInput {
|
|
|
20
20
|
* `{ source: 'hook.preToolEdit' }`; settle supplies none).
|
|
21
21
|
*/
|
|
22
22
|
extraContext?: Record<string, unknown>;
|
|
23
|
+
/**
|
|
24
|
+
* Phase 47 — repo root for path normalization. When set, declared + touched
|
|
25
|
+
* paths are relativized to this root (and `\\`→`/`) before the boundary
|
|
26
|
+
* comparison, so an ABSOLUTE touched path (recorded by the PreToolUse hook)
|
|
27
|
+
* matches a RELATIVE DRAFT `files:` declaration. Comparison-only: the
|
|
28
|
+
* ORIGINAL touched path is still what gets emitted. Omit to keep exact-string
|
|
29
|
+
* matching (back-compat — settle/hook supply it; unit callers may not).
|
|
30
|
+
*/
|
|
31
|
+
root?: string;
|
|
23
32
|
}
|
|
24
33
|
/**
|
|
25
34
|
* Phase 43.1 — the single home for files-outside-boundary detection. One rule
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../src/checks/boundary.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../src/checks/boundary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,iEAAiE;AACjE,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MACU,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC;;;;OAIG;IACH,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAqB1E"}
|
package/dist/checks/boundary.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isAbsolute, relative } from 'node:path';
|
|
1
2
|
/** The single line both emission points use for a stray file. */
|
|
2
3
|
export const boundaryMessage = (file) => `${file} touched but not declared in any task's files:`;
|
|
3
4
|
/**
|
|
@@ -11,10 +12,17 @@ export const boundaryMessage = (file) => `${file} touched but not declared in an
|
|
|
11
12
|
* skill-audit (39.6), OUTSIDE the Phase 44.1 registry.
|
|
12
13
|
*/
|
|
13
14
|
export function runBoundaryCheck(input) {
|
|
14
|
-
const
|
|
15
|
+
const { root } = input;
|
|
16
|
+
// Normalize for COMPARISON only — relativize absolute paths to `root`, unify
|
|
17
|
+
// separators. The original (untransformed) path is what the event carries.
|
|
18
|
+
const norm = (p) => {
|
|
19
|
+
const rel = root && isAbsolute(p) ? relative(root, p) : p;
|
|
20
|
+
return rel.split('\\').join('/');
|
|
21
|
+
};
|
|
22
|
+
const declared = new Set([...input.declaredFiles].map(norm));
|
|
15
23
|
const events = [];
|
|
16
24
|
for (const file of input.touchedFiles) {
|
|
17
|
-
if (declared.has(file))
|
|
25
|
+
if (declared.has(norm(file)))
|
|
18
26
|
continue;
|
|
19
27
|
events.push({
|
|
20
28
|
type: 'files-outside-boundary',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundary.js","sourceRoot":"","sources":["../../src/checks/boundary.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"boundary.js","sourceRoot":"","sources":["../../src/checks/boundary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGjD,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE,CACtD,GAAG,IAAI,gDAAgD,CAAC;AAgC1D;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE;QACjC,MAAM,GAAG,GAAG,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QACvC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC;YAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE;YACxC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/handoff.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsC7D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { runHandoff } from '../../handoff/run-handoff.js';
|
|
2
|
+
export function registerHandoffCommand(program) {
|
|
3
|
+
program
|
|
4
|
+
.command('handoff [label]')
|
|
5
|
+
.description('Scaffold a SESSION handoff doc in .cadence/handoff/ with machine facts pre-filled')
|
|
6
|
+
.option('--label <s>', 'context label (alternative to the positional arg)')
|
|
7
|
+
.option('--force', 'overwrite an existing same-day SESSION doc')
|
|
8
|
+
.option('--no-stamp', 'do not write state.session.lastHandoff (no state.json change)')
|
|
9
|
+
.option('--no-git', 'skip read-only git facts')
|
|
10
|
+
.option('--json', 'emit machine-readable JSON instead of a summary')
|
|
11
|
+
.action(async (labelArg, opts) => {
|
|
12
|
+
// commander negates --no-stamp/--no-git to stamp:false / git:false.
|
|
13
|
+
const handoffOpts = {
|
|
14
|
+
force: opts.force ?? false,
|
|
15
|
+
noStamp: opts.stamp === false,
|
|
16
|
+
noGit: opts.git === false,
|
|
17
|
+
};
|
|
18
|
+
const label = opts.label ?? labelArg;
|
|
19
|
+
if (label !== undefined)
|
|
20
|
+
handoffOpts.label = label;
|
|
21
|
+
try {
|
|
22
|
+
const res = await runHandoff(process.cwd(), handoffOpts);
|
|
23
|
+
if (opts.json) {
|
|
24
|
+
process.stdout.write(JSON.stringify(res) + '\n');
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const stamp = res.stamped ? ' · stamped lastHandoff' : '';
|
|
28
|
+
const git = res.gitAvailable ? '' : ' · git unavailable';
|
|
29
|
+
process.stdout.write(`handoff: wrote ${res.path}${stamp}${git}\n`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
34
|
+
process.stderr.write(`${msg}\n`);
|
|
35
|
+
process.exitCode = /already exists/.test(msg) ? 2 : 1;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=handoff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/cli/commands/handoff.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAuB,MAAM,8BAA8B,CAAC;AAE/E,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,mFAAmF,CAAC;SAChG,MAAM,CAAC,aAAa,EAAE,mDAAmD,CAAC;SAC1E,MAAM,CAAC,SAAS,EAAE,4CAA4C,CAAC;SAC/D,MAAM,CAAC,YAAY,EAAE,+DAA+D,CAAC;SACrF,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;SAC9C,MAAM,CAAC,QAAQ,EAAE,iDAAiD,CAAC;SACnE,MAAM,CACL,KAAK,EACH,QAA4B,EAC5B,IAAyF,EACzF,EAAE;QACF,oEAAoE;QACpE,MAAM,WAAW,GAAmB;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;YAC1B,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK;YAC7B,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,KAAK;SAC1B,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS;YAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4B5D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { runResume } from '../../handoff/run-resume.js';
|
|
2
|
+
export function registerResumeCommand(program) {
|
|
3
|
+
program
|
|
4
|
+
.command('resume')
|
|
5
|
+
.description('Replay the freshest .cadence/handoff/ SESSION doc + live context (read-only)')
|
|
6
|
+
.option('--json', 'emit machine-readable JSON instead of rendered text')
|
|
7
|
+
.action(async (opts) => {
|
|
8
|
+
try {
|
|
9
|
+
const res = await runResume(process.cwd());
|
|
10
|
+
if (opts.json) {
|
|
11
|
+
process.stdout.write(JSON.stringify(res) + '\n');
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (!res.found) {
|
|
15
|
+
process.stdout.write('resume: no handoff found — run `cadence handoff` to create one.\n');
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (res.drift) {
|
|
19
|
+
process.stdout.write(`⚠ handoff written at ${res.drift.docLoopPosition}; live state now ${res.drift.liveLoopPosition}\n\n`);
|
|
20
|
+
}
|
|
21
|
+
process.stdout.write(`--- narrative from ${res.handoffPath} ---\n\n`);
|
|
22
|
+
process.stdout.write(res.doc.endsWith('\n') ? res.doc : res.doc + '\n');
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
process.stderr.write(`resume failed: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
26
|
+
process.exitCode = 1;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=resume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBAC1F,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wBAAwB,GAAG,CAAC,KAAK,CAAC,eAAe,oBAAoB,GAAG,CAAC,KAAK,CAAC,gBAAgB,MAAM,CACtG,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,WAAW,UAAU,CAAC,CAAC;YACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settle.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/settle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"settle.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/settle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiDzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwe5D"}
|
|
@@ -13,6 +13,7 @@ import { loadConfig } from '../../config/loader.js';
|
|
|
13
13
|
import { effectiveGateSet } from '../../gates/engine.js';
|
|
14
14
|
import { scanTestCoverage } from '../../verify/coverage.js';
|
|
15
15
|
import { selectVerifier } from '../../verify/factory.js';
|
|
16
|
+
import { resolveEffectiveProvider, MOCK_FALLBACK_BANNER, } from '../../verify/verifier-factory.js';
|
|
16
17
|
import { runSettleGates } from '../../gates/registry.js';
|
|
17
18
|
import { runSkillAuditCheck } from '../../checks/skill-audit.js';
|
|
18
19
|
import { ScriptedPrompter, StdinPrompter } from '../../verify/prompter.js';
|
|
@@ -81,6 +82,17 @@ export function registerSettleCommand(program) {
|
|
|
81
82
|
cadenceConfig = null;
|
|
82
83
|
}
|
|
83
84
|
const gateSet = effectiveGateSet(state, cadenceConfig, draft);
|
|
85
|
+
// Onboarding hardening (phase 48): --deep asks for real verification.
|
|
86
|
+
// If the effective verifier provider is `mock` (the shipped default —
|
|
87
|
+
// `cadence init` writes verifier.provider='mock'), the verdicts are
|
|
88
|
+
// deterministic fakes. Warn loudly so the operator isn't handed false
|
|
89
|
+
// confidence. A configured real provider that downgrades to mock for a
|
|
90
|
+
// missing key already prints the factory's own "falling back to mock"
|
|
91
|
+
// warning, so that path is left to the factory.
|
|
92
|
+
if (opts.deep &&
|
|
93
|
+
resolveEffectiveProvider(cadenceConfig?.verifier).provider === 'mock') {
|
|
94
|
+
process.stderr.write(MOCK_FALLBACK_BANNER + '\n');
|
|
95
|
+
}
|
|
84
96
|
// DESIGN.md §4 M2 — soft cap on auto × complex. Refuse here, before
|
|
85
97
|
// any coverage / interactive / deep work, so wasted effort is avoided.
|
|
86
98
|
// Phase 21.1 wires the locked decision into a live check.
|
|
@@ -351,6 +363,7 @@ export function registerSettleCommand(program) {
|
|
|
351
363
|
progress,
|
|
352
364
|
coverageBypassed,
|
|
353
365
|
force: opts.force === true,
|
|
366
|
+
root: cwd,
|
|
354
367
|
...(deepVerify ? { deepVerify } : {}),
|
|
355
368
|
...(interactiveVerify ? { interactiveVerify } : {}),
|
|
356
369
|
...(verifierFailure ? { verifierFailure } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settle.js","sourceRoot":"","sources":["../../../src/cli/commands/settle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAqB,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAMjE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAErF,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;IAC7D,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,KAAK,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAEpE,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,gBAAgB,EAAE,8CAA8C,CAAC;SACxE,MAAM,CAAC,QAAQ,EAAE,kEAAkE,CAAC;SACpF,MAAM,CAAC,SAAS,EAAE,wDAAwD,CAAC;SAC3E,MAAM,CACL,0BAA0B,EAC1B,yEAAyE,CAC1E;SACA,MAAM,CACL,QAAQ,EACR,oFAAoF,CACrF;SACA,MAAM,CACL,0BAA0B,EAC1B,mGAAmG,CACpG;SACA,MAAM,CACL,eAAe,EACf,0EAA0E,CAC3E;SACA,MAAM,CACL,kBAAkB,EAClB,iFAAiF,CAClF;SACA,MAAM,CACL,sBAAsB,EACtB,0EAA0E,CAC3E;SACA,MAAM,CACL,qBAAqB,EACrB,8EAA8E,CAC/E;SACA,MAAM,CACL,oBAAoB,EACpB,8FAA8F,CAC/F;SACA,MAAM,CACL,uBAAuB,EACvB,uFAAuF,CACxF;SACA,MAAM,CACL,6BAA6B,EAC7B,oHAAoH,CACrH;SACA,MAAM,CACL,gCAAgC,EAChC,0GAA0G,CAC3G;SACA,MAAM,CACL,0BAA0B,EAC1B,yHAAyH,CAC1H;SACA,MAAM,CACL,KAAK,EAAE,IAeN,EAAE,EAAE;QACL,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,YAAY,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC/E,MAAM,IAAI,kBAAkB,CAC1B,6DAA6D,EAC7D,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,CAClD,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,WAAW,CAAC,CAAC;YACnG,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YAE9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,gBAAgB,CAAC,CAAC;YACvG,MAAM,QAAQ,GAAiB,UAAU,CAAC,QAAQ,CAAC;gBACjD,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAkB;gBAChE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAE9C,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEvD,iEAAiE;YACjE,mEAAmE;YACnE,uDAAuD;YACvD,IAAI,aAAa,GAAkD,IAAI,CAAC;YACxE,IAAI,CAAC;gBACH,aAAa,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAE9D,oEAAoE;YACpE,uEAAuE;YACvE,0DAA0D;YAC1D,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+GAA+G,CAChH,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gFAAgF,CACjF,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAC7C,CAAC;YACF,IAAI,YAA+D,CAAC;YACpE,IAAI,cAAkD,CAAC;YACvD,uEAAuE;YACvE,sEAAsE;YACtE,uEAAuE;YACvE,kEAAkE;YAClE,kEAAkE;YAClE,IAAI,gBAA+D,CAAC;YACpE,IAAI,sBAA+E,CAAC;YACpF,IAAI,yBAAqF,CAAC;YAC1F,IAAI,QAA4B,CAAC;YACjC,MAAM,qBAAqB,GAAG,IAAI,CAChC,GAAG,EACH,iBAAiB,EACjB,KAAK,CAAC,WAAW,EACjB,GAAG,KAAK,CAAC,WAAW,mBAAmB,CACxC,CAAC;YACF,MAAM,GAAG,GAAkB;gBACzB,GAAG;gBACH,KAAK;gBACL,KAAK;gBACL,QAAQ;gBACR,MAAM,EAAE,aAAa;gBACrB,OAAO;gBACP,IAAI,EAAE;oBACJ,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1D,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,IAAI,CAAC,oBAAoB,KAAK,SAAS;wBACzC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE;wBACrD,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,oBAAoB,KAAK,SAAS;wBACzC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE;wBACrD,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS;wBACpC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;wBAC3C,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS;wBACnC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;wBACzC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,iBAAiB,KAAK,SAAS;wBACtC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;wBAC/C,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS;wBAChC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;wBACnC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,sBAAsB,KAAK,SAAS;wBAC3C,CAAC,CAAC,EAAE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE;wBACzD,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,yBAAyB,KAAK,SAAS;wBAC9C,CAAC,CAAC,EAAE,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,EAAE;wBAC/D,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,mBAAmB,KAAK,SAAS;wBACxC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE;wBACnD,CAAC,CAAC,EAAE,CAAC;iBACR;gBACD,WAAW;gBACX,YAAY;gBACZ,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,MAAM,KAAK,GAAG,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC;wBACrD,YAAY,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/D,CAAC;oBACD,OAAO,YAAY,CAAC;gBACtB,CAAC;gBACD,YAAY,EAAE,GAAG,EAAE;oBACjB,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;6BAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;6BAC9B,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBACD,OAAO,cAAc,CAAC;gBACxB,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE;oBACT,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,QAAQ,GAAG,wBAAwB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;oBACzD,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE;wBACJ,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;4BAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gCACtB,gBAAgB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;4BACnD,CAAC;4BACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACxC,CAAC;qBACF;oBACD,UAAU,EAAE;wBACV,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;4BAChB,IAAI,CAAC,sBAAsB,EAAE,CAAC;gCAC5B,sBAAsB,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;4BACnE,CAAC;4BACD,OAAO,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC9C,CAAC;qBACF;oBACD,aAAa,EAAE;wBACb,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;4BAChB,IAAI,CAAC,yBAAyB,EAAE,CAAC;gCAC/B,yBAAyB,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;4BACzE,CAAC;4BACD,OAAO,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACjD,CAAC;qBACF;iBACF;gBACD,IAAI,EAAE;oBACJ,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;wBAC1B,KAAK,MAAM,CAAC;oBACd,CAAC;oBACD,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CACjC,kBAAkB,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC;oBACnE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC9B,yBAAyB,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;oBAChE,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAC1B,kBAAkB,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;iBAC7D;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,KAAK,IAAI,EAAE;wBACf,MAAM,OAAO,GAAG,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC;wBACzD,IAAI,CAAC,OAAO;4BAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;wBAC9C,IAAI,CAAC;4BACH,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;4BAC5C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;wBACvD,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,MAAM,MAAM,GAAI,CAAyB,CAAC,MAAM,CAAC;4BACjD,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;4BACzD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;wBACrD,CAAC;oBACH,CAAC;iBACF;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,GAAG,EAAE;wBACX,iEAAiE;wBACjE,kEAAkE;wBAClE,4DAA4D;wBAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;wBACrD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;4BAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;4BAC7E,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBACvC,CAAC;wBACD,OAAO,IAAI,aAAa,EAAE,CAAC;oBAC7B,CAAC;iBACF;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,KAAK,IAAI,EAAE;wBACf,0DAA0D;wBAC1D,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;4BACvC,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;wBAC3C,CAAC;wBACD,IAAI,CAAC;4BACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;4BACxE,OAAO;gCACL,aAAa,EAAE,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gCACtE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;6BAC3D,CAAC;wBACJ,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;wBAC3C,CAAC;oBACH,CAAC;oBACD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,qBAAqB,EAAE,IAAI,CAAC;iBAC9D;gBACD,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;aAC5C,CAAC;YACF,kEAAkE;YAClE,oEAAoE;YACpE,4EAA4E;YAC5E,yEAAyE;YACzE,0EAA0E;YAC1E,0DAA0D;YAC1D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,gBAAgB,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC;YAE7D,yEAAyE;YACzE,mEAAmE;YACnE,yEAAyE;YACzE,8DAA8D;YAC9D,MAAM,oBAAoB,GACxB,IAAI,CAAC,WAAW,KAAK,IAAI;gBACzB,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK;oBACzB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACnD,MAAM,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;YAChD,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YAClC,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC;YAClD,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,CAAC;YAC1C,MAAM,qBAAqB,GAAG,GAAG,CAAC,aAAa,CAAC;YAEhD,kEAAkE;YAClE,mEAAmE;YACnE,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CACxD,CAAC;YACF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC;YAEtE,IAAI,SAAS,GAAe,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC1C,8EAA8E;YAC9E,IAAI,iBAAiB,EAAE,CAAC;gBACtB,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACxD,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,SAAS,CAAC,sCAAsC;oBACzE,SAAS,CAAC,IAAI,CAAC;wBACb,EAAE;wBACF,IAAI,EAAE,CAAC,CAAC,OAAO,KAAK,MAAM;wBAC1B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,gEAAgE;YAChE,mEAAmE;YACnE,+DAA+D;YAC/D,4DAA4D;YAC5D,oEAAoE;YACpE,IAAI,IAAI,CAAC,IAAI,IAAI,oBAAoB,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,QAAwB,CAAC,CAAC;gBACjE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACtD,CAAC;gBACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACxC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;wBAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC;oBAC/D,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iFAAiF,CAClF,CAAC;oBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAe,CAAC,GAAG,SAAS,CAAC,CAAC;gBAC1C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAAE,SAAS;oBACzC,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;wBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxC,CAAC;yBAAM,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBACnC,MAAM,CAAC,IAAI,CAAC;4BACV,EAAE,EAAE,CAAC,CAAC,EAAE;4BACR,IAAI,EAAE,KAAK;4BACX,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU;yBAC/C,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,CAAC,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC;4BACV,EAAE,EAAE,CAAC,CAAC,EAAE;4BACR,IAAI,EAAE,KAAK;4BACX,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB;yBACrD,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC;4BACV,EAAE,EAAE,CAAC,CAAC,EAAE;4BACR,IAAI,EAAE,KAAK;4BACX,IAAI,EACF,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gCACnB,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa;gCAC7C,CAAC,CAAC,uBAAuB;yBAC9B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,SAAS,GAAG,MAAM,CAAC;YACrB,CAAC;YAED,qEAAqE;YACrE,oEAAoE;YACpE,sBAAsB;YACtB,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC7C,MAAM,SAAS,GAAG,gBAAgB,CAAC;oBACjC,KAAK;oBACL,QAAQ;oBACR,gBAAgB;oBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI;oBAC1B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChD,CAAC,CAAC;gBACH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;oBAC/C,IAAI,CAAC;wBACH,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,WAAW,QAAQ,CAAC,IAAI,uBAAuB,GAAG,iBAAiB,CACpE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,wEAAwE;YACxE,mEAAmE;YACnE,yEAAyE;YACzE,yEAAyE;YACzE,oEAAoE;YACpE,iDAAiD;YACjD,CAAC;gBACC,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAC7B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;gBACD,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,iBAAiB,CAAC;YACpD,CAAC;YAED,MAAM,OAAO,GAAY;gBACvB,aAAa,EAAE,CAAC;gBAChB,OAAO,EAAE,KAAK,CAAC,WAAW;gBAC1B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,SAAS;gBACT,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,MAAM,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO;wBAClE,CAAC,CAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,MAAmD;wBAC5E,CAAC,CAAC,SAAS,CAAC;oBACd,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;iBACzC,CAAC,CAAC;gBACH,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,qBAAqB;oBACvB,CAAC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE;oBAC1C,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,UAAU,CAAC,CAAC;YACpG,MAAM,eAAe,CAAC,GAAG,WAAW,OAAO,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,eAAe,CAAC,GAAG,WAAW,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAErE,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC;YAClC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;YACpE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YACzB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YACxB,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;YAC5B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjG,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,GAAW,EAAE,KAAe;IAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;QAC5D,OAAO,QAAQ,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACvD,GAAG;YACH,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACnD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC;AAClD,CAAC"}
|
|
1
|
+
{"version":3,"file":"settle.js","sourceRoot":"","sources":["../../../src/cli/commands/settle.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -4,6 +4,12 @@ import { fileURLToPath } from 'node:url';
|
|
|
4
4
|
import { dirname, join } from 'node:path';
|
|
5
5
|
import { Command } from 'commander';
|
|
6
6
|
import { registerAllCommands } from './register.js';
|
|
7
|
+
import { checkNodeMajor } from './node-guard.js';
|
|
8
|
+
const nodeCheck = checkNodeMajor(process.versions.node);
|
|
9
|
+
if (!nodeCheck.ok) {
|
|
10
|
+
console.error(nodeCheck.message);
|
|
11
|
+
process.exit(1);
|
|
12
|
+
}
|
|
7
13
|
// Read the real version from package.json so `--version` never drifts.
|
|
8
14
|
// Resolves dist/cli/index.js → ../../package.json (present in the published
|
|
9
15
|
// tarball and the source tree alike).
|
|
@@ -11,7 +17,7 @@ const pkg = JSON.parse(readFileSync(join(dirname(fileURLToPath(import.meta.url))
|
|
|
11
17
|
const program = new Command();
|
|
12
18
|
program
|
|
13
19
|
.name('cadence')
|
|
14
|
-
.description('CADENCE —
|
|
20
|
+
.description('CADENCE — a draft/build/settle framework for AI-assisted development with configurable quality gates')
|
|
15
21
|
.version(pkg.version);
|
|
16
22
|
registerAllCommands(program);
|
|
17
23
|
program.parseAsync(process.argv).catch((err) => {
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,uEAAuE;AACvE,4EAA4E;AAC5E,sCAAsC;AACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CACnE,CAAC;AAEzB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,sGAAsG,CAAC;KACnH,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAE7B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure Node-major-version check. Fails *open* on unparseable input (returns ok)
|
|
3
|
+
* so a version-string oddity can never block the CLI — the real enforcement of
|
|
4
|
+
* a hard floor is the `engines` field; this is the friendly fast-fail message.
|
|
5
|
+
*/
|
|
6
|
+
export declare function checkNodeMajor(versionString: string, min?: number): {
|
|
7
|
+
ok: true;
|
|
8
|
+
} | {
|
|
9
|
+
ok: false;
|
|
10
|
+
message: string;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=node-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-guard.d.ts","sourceRoot":"","sources":["../../src/cli/node-guard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EACrB,GAAG,SAAK,GACP;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAS/C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure Node-major-version check. Fails *open* on unparseable input (returns ok)
|
|
3
|
+
* so a version-string oddity can never block the CLI — the real enforcement of
|
|
4
|
+
* a hard floor is the `engines` field; this is the friendly fast-fail message.
|
|
5
|
+
*/
|
|
6
|
+
export function checkNodeMajor(versionString, min = 20) {
|
|
7
|
+
const major = Number.parseInt(versionString.replace(/^v/, ''), 10);
|
|
8
|
+
if (!Number.isFinite(major) || major >= min) {
|
|
9
|
+
return { ok: true };
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
ok: false,
|
|
13
|
+
message: `CADENCE requires Node >=${min} (you have ${versionString}). Upgrade Node and retry.`,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=node-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-guard.js","sourceRoot":"","sources":["../../src/cli/node-guard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,aAAqB,EACrB,GAAG,GAAG,EAAE;IAER,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,2BAA2B,GAAG,cAAc,aAAa,4BAA4B;KAC/F,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/cli/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/cli/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuB1D"}
|
package/dist/cli/register.js
CHANGED
|
@@ -15,6 +15,8 @@ import { registerInspectCommand } from './commands/inspect.js';
|
|
|
15
15
|
import { registerRecommendCommand } from './commands/recommend.js';
|
|
16
16
|
import { registerMilestoneCommand } from './commands/milestone.js';
|
|
17
17
|
import { registerContextCommand } from './commands/context.js';
|
|
18
|
+
import { registerHandoffCommand } from './commands/handoff.js';
|
|
19
|
+
import { registerResumeCommand } from './commands/resume.js';
|
|
18
20
|
import { registerAssumptionCommand } from './commands/assumption.js';
|
|
19
21
|
import { registerDecisionCommand } from './commands/decision.js';
|
|
20
22
|
import { registerIntelligenceCommand } from './commands/intelligence.js';
|
|
@@ -36,6 +38,8 @@ export function registerAllCommands(program) {
|
|
|
36
38
|
registerRecommendCommand(program);
|
|
37
39
|
registerMilestoneCommand(program);
|
|
38
40
|
registerContextCommand(program);
|
|
41
|
+
registerHandoffCommand(program);
|
|
42
|
+
registerResumeCommand(program);
|
|
39
43
|
registerAssumptionCommand(program);
|
|
40
44
|
registerDecisionCommand(program);
|
|
41
45
|
registerIntelligenceCommand(program);
|
package/dist/cli/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/cli/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACvC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,2BAA2B,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/cli/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACvC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,2BAA2B,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type CadenceErrorCode = 'GENERIC' | 'STATE_CORRUPT' | 'CONFIG_INVALID' | 'LOOP_VIOLATION' | 'COHERENCE_FAILED' | 'HOOK_FAILED';
|
|
1
|
+
export type CadenceErrorCode = 'GENERIC' | 'STATE_CORRUPT' | 'NOT_INITIALIZED' | 'CONFIG_INVALID' | 'LOOP_VIOLATION' | 'COHERENCE_FAILED' | 'HOOK_FAILED';
|
|
2
2
|
export declare class CadenceError extends Error {
|
|
3
3
|
readonly code: CadenceErrorCode;
|
|
4
4
|
constructor(message: string, code?: CadenceErrorCode);
|
|
@@ -6,6 +6,9 @@ export declare class CadenceError extends Error {
|
|
|
6
6
|
export declare class StateCorruptError extends CadenceError {
|
|
7
7
|
constructor(message: string);
|
|
8
8
|
}
|
|
9
|
+
export declare class NotInitializedError extends CadenceError {
|
|
10
|
+
constructor(message?: string);
|
|
11
|
+
}
|
|
9
12
|
export declare class ConfigInvalidError extends CadenceError {
|
|
10
13
|
constructor(message: string);
|
|
11
14
|
}
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,CAAC;AAElB,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACpB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,gBAA4B;CAKhE;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAExB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB;CAM7D"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,CAAC;AAElB,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACpB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,gBAA4B;CAKhE;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,mBAAoB,SAAQ,YAAY;gBAEjD,OAAO,SAAsE;CAKhF;AAED,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAExB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB;CAM7D"}
|
package/dist/errors.js
CHANGED
|
@@ -12,6 +12,12 @@ export class StateCorruptError extends CadenceError {
|
|
|
12
12
|
this.name = 'StateCorruptError';
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
+
export class NotInitializedError extends CadenceError {
|
|
16
|
+
constructor(message = 'CADENCE not initialized here — run `cadence init` to get started.') {
|
|
17
|
+
super(message, 'NOT_INITIALIZED');
|
|
18
|
+
this.name = 'NotInitializedError';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
15
21
|
export class ConfigInvalidError extends CadenceError {
|
|
16
22
|
constructor(message) {
|
|
17
23
|
super(message, 'CONFIG_INVALID');
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAmB;IAChC,YAAY,OAAe,EAAE,OAAyB,SAAS;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACnD,YACE,OAAO,GAAG,mEAAmE;QAE7E,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AASD,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IACzC,QAAQ,CAAqB;IAC7B,MAAM,CAAqB;IAEpC,YAAY,OAAe,EAAE,OAA6B,EAAE;QAC1D,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-facts.d.ts","sourceRoot":"","sources":["../../src/handoff/git-facts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAU5D,kFAAkF;AAClF,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0BlE"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// packages/core/src/handoff/git-facts.ts
|
|
2
|
+
import { execFile } from 'node:child_process';
|
|
3
|
+
import { promisify } from 'node:util';
|
|
4
|
+
const pexec = promisify(execFile);
|
|
5
|
+
const EXEC_OPTS = { timeout: 5000, windowsHide: true, maxBuffer: 4 * 1024 * 1024 };
|
|
6
|
+
async function git(root, args) {
|
|
7
|
+
const { stdout } = await pexec('git', args, { cwd: root, ...EXEC_OPTS });
|
|
8
|
+
return stdout;
|
|
9
|
+
}
|
|
10
|
+
/** Best-effort, read-only. Never throws: non-repo / missing git → unavailable. */
|
|
11
|
+
export async function readGitFacts(root) {
|
|
12
|
+
try {
|
|
13
|
+
await git(root, ['rev-parse', '--is-inside-work-tree']);
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return { available: false };
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const status = await git(root, ['status', '--short', '--branch']);
|
|
20
|
+
const lines = status.split('\n');
|
|
21
|
+
const header = lines[0] ?? '';
|
|
22
|
+
const branch = header.match(/^## (?:No commits yet on )?([^.\s]+)/)?.[1] ?? 'HEAD';
|
|
23
|
+
const ahead = Number(header.match(/ahead (\d+)/)?.[1] ?? '0');
|
|
24
|
+
const behind = Number(header.match(/behind (\d+)/)?.[1] ?? '0');
|
|
25
|
+
const dirty = lines.slice(1).some((l) => l.trim().length > 0);
|
|
26
|
+
const safe = async (args) => {
|
|
27
|
+
try {
|
|
28
|
+
return (await git(root, args)).trim();
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return '';
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const head = await safe(['rev-parse', '--short', 'HEAD']);
|
|
35
|
+
const recentCommits = await safe(['log', '--oneline', '-8']);
|
|
36
|
+
const diffStat = await safe(['diff', '--stat']);
|
|
37
|
+
return { available: true, branch, dirty, ahead, behind, head, recentCommits, diffStat };
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return { available: false };
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=git-facts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-facts.js","sourceRoot":"","sources":["../../src/handoff/git-facts.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAW,CAAC;AAE5F,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,IAAc;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,KAAK,EAAE,IAAc,EAAmB,EAAE;YACrD,IAAI,CAAC;gBAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,EAAE,CAAC;YAAC,CAAC;QACrE,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEhD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface LocatedHandoff {
|
|
2
|
+
path: string;
|
|
3
|
+
content: string;
|
|
4
|
+
generatedAt: string | null;
|
|
5
|
+
loopPosition: string | null;
|
|
6
|
+
}
|
|
7
|
+
/** Resolve the freshest SESSION doc. Prefers `lastHandoff` when its file exists;
|
|
8
|
+
* otherwise globs `SESSION-*.md` and ranks by generated_at → filename → mtime. */
|
|
9
|
+
export declare function locateFreshestHandoff(root: string, lastHandoff: string | null): Promise<LocatedHandoff | null>;
|
|
10
|
+
//# sourceMappingURL=locate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locate.d.ts","sourceRoot":"","sources":["../../src/handoff/locate.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAsBD;mFACmF;AACnF,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAoChC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// packages/core/src/handoff/locate.ts
|
|
2
|
+
import { readdir, readFile, stat } from 'node:fs/promises';
|
|
3
|
+
import { existsSync } from 'node:fs';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
function handoffDir(root) {
|
|
6
|
+
return join(root, '.cadence', 'handoff');
|
|
7
|
+
}
|
|
8
|
+
function readKey(content, key) {
|
|
9
|
+
const m = content.match(new RegExp(`^${key}:\\s*(.*)$`, 'm'));
|
|
10
|
+
const v = m?.[1]?.trim();
|
|
11
|
+
return v ? v : null;
|
|
12
|
+
}
|
|
13
|
+
async function toLocated(path) {
|
|
14
|
+
const content = await readFile(path, 'utf8');
|
|
15
|
+
return {
|
|
16
|
+
path,
|
|
17
|
+
content,
|
|
18
|
+
generatedAt: readKey(content, 'generated_at'),
|
|
19
|
+
loopPosition: readKey(content, 'loop_position'),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/** Resolve the freshest SESSION doc. Prefers `lastHandoff` when its file exists;
|
|
23
|
+
* otherwise globs `SESSION-*.md` and ranks by generated_at → filename → mtime. */
|
|
24
|
+
export async function locateFreshestHandoff(root, lastHandoff) {
|
|
25
|
+
const dir = handoffDir(root);
|
|
26
|
+
if (lastHandoff) {
|
|
27
|
+
const pointer = join(dir, lastHandoff);
|
|
28
|
+
if (existsSync(pointer))
|
|
29
|
+
return toLocated(pointer);
|
|
30
|
+
}
|
|
31
|
+
if (!existsSync(dir))
|
|
32
|
+
return null;
|
|
33
|
+
const names = (await readdir(dir)).filter((n) => /^SESSION-.*\.md$/.test(n));
|
|
34
|
+
if (names.length === 0)
|
|
35
|
+
return null;
|
|
36
|
+
const ranked = await Promise.all(names.map(async (name) => {
|
|
37
|
+
const path = join(dir, name);
|
|
38
|
+
const content = await readFile(path, 'utf8');
|
|
39
|
+
const generatedAt = readKey(content, 'generated_at');
|
|
40
|
+
const fileDate = name.match(/SESSION-(\d{4}-\d{2}-\d{2})/)?.[1] ?? null;
|
|
41
|
+
const mtimeMs = (await stat(path)).mtimeMs;
|
|
42
|
+
const key = generatedAt ?? fileDate ?? '';
|
|
43
|
+
return { name, path, content, generatedAt, key, mtimeMs };
|
|
44
|
+
}));
|
|
45
|
+
ranked.sort((a, b) => {
|
|
46
|
+
if (a.key !== b.key)
|
|
47
|
+
return a.key < b.key ? 1 : -1; // desc
|
|
48
|
+
return b.mtimeMs - a.mtimeMs; // newer mtime first
|
|
49
|
+
});
|
|
50
|
+
const top = ranked[0];
|
|
51
|
+
if (!top)
|
|
52
|
+
return null;
|
|
53
|
+
return {
|
|
54
|
+
path: top.path,
|
|
55
|
+
content: top.content,
|
|
56
|
+
generatedAt: top.generatedAt,
|
|
57
|
+
loopPosition: readKey(top.content, 'loop_position'),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=locate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locate.js","sourceRoot":"","sources":["../../src/handoff/locate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ContextPacket, GitFacts } from '@manehorizons/cadence-types';
|
|
2
|
+
export interface SessionRenderInput {
|
|
3
|
+
generatedAt: string;
|
|
4
|
+
label: string | null;
|
|
5
|
+
packet: ContextPacket;
|
|
6
|
+
git: GitFacts;
|
|
7
|
+
contextPacketPath: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function renderSession(input: SessionRenderInput): string;
|
|
10
|
+
//# sourceMappingURL=render-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-session.d.ts","sourceRoot":"","sources":["../../src/handoff/render-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE3E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,QAAQ,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AA0DD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CA8B/D"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
function fm(input) {
|
|
2
|
+
const { packet, git } = input;
|
|
3
|
+
const loop = packet.loop;
|
|
4
|
+
const lines = [
|
|
5
|
+
'---',
|
|
6
|
+
'cadence_handoff: 1',
|
|
7
|
+
`generated_at: ${input.generatedAt}`,
|
|
8
|
+
`label: ${input.label ?? ''}`,
|
|
9
|
+
`loop_position: ${loop.loopPosition ?? 'IDLE'}`,
|
|
10
|
+
`active_phase: ${loop.activePhase ?? ''}`,
|
|
11
|
+
`active_draft: ${loop.activeDraft ?? ''}`,
|
|
12
|
+
`tier: ${loop.tier ?? ''}`,
|
|
13
|
+
`git_branch: ${git.available ? git.branch : 'unavailable'}`,
|
|
14
|
+
`git_dirty: ${git.available ? String(git.dirty) : 'unavailable'}`,
|
|
15
|
+
`git_head: ${git.available ? git.head : 'unavailable'}`,
|
|
16
|
+
`git_ahead: ${git.available ? String(git.ahead) : '0'}`,
|
|
17
|
+
`git_behind: ${git.available ? String(git.behind) : '0'}`,
|
|
18
|
+
`context_packet: ${input.contextPacketPath}`,
|
|
19
|
+
'---',
|
|
20
|
+
];
|
|
21
|
+
return lines.join('\n');
|
|
22
|
+
}
|
|
23
|
+
function gitBlock(git) {
|
|
24
|
+
if (!git.available)
|
|
25
|
+
return '- git: unavailable (not a git repo or git not found)';
|
|
26
|
+
const dirty = git.dirty ? 'dirty' : 'clean';
|
|
27
|
+
const out = [
|
|
28
|
+
`- Branch \`${git.branch}\` (${dirty}), ${git.ahead} ahead / ${git.behind} behind origin`,
|
|
29
|
+
`- HEAD \`${git.head}\``,
|
|
30
|
+
];
|
|
31
|
+
if (git.recentCommits)
|
|
32
|
+
out.push('- Recent commits:', '```', git.recentCommits, '```');
|
|
33
|
+
if (git.diffStat)
|
|
34
|
+
out.push('- Uncommitted (diff --stat):', '```', git.diffStat, '```');
|
|
35
|
+
return out.join('\n');
|
|
36
|
+
}
|
|
37
|
+
function contextBlock(packet) {
|
|
38
|
+
const recs = packet.recommendations.length
|
|
39
|
+
? packet.recommendations.map((r) => ` - ${r.id} — ${r.title} (${r.status}/${r.readiness})`).join('\n')
|
|
40
|
+
: ' - (none)';
|
|
41
|
+
const asn = packet.assumptions.length
|
|
42
|
+
? packet.assumptions.map((a) => ` - ${a.id} — ${a.text}`).join('\n')
|
|
43
|
+
: ' - (none)';
|
|
44
|
+
const dec = packet.decisions.length
|
|
45
|
+
? packet.decisions.map((d) => ` - ${d.id} — ${d.title}`).join('\n')
|
|
46
|
+
: ' - (none)';
|
|
47
|
+
const files = packet.files.length
|
|
48
|
+
? packet.files.map((f) => ` - \`${f.path}\` — ${f.why}`).join('\n')
|
|
49
|
+
: ' - (none)';
|
|
50
|
+
return [
|
|
51
|
+
`- Top recommendations:\n${recs}`,
|
|
52
|
+
`- Open assumptions:\n${asn}`,
|
|
53
|
+
`- Active decisions:\n${dec}`,
|
|
54
|
+
`- Files in play:\n${files}`,
|
|
55
|
+
].join('\n');
|
|
56
|
+
}
|
|
57
|
+
export function renderSession(input) {
|
|
58
|
+
const { packet, git, label } = input;
|
|
59
|
+
const date = input.generatedAt.slice(0, 10);
|
|
60
|
+
const title = label ? `# Session Handoff — ${date} (${label})` : `# Session Handoff — ${date}`;
|
|
61
|
+
const loop = packet.loop;
|
|
62
|
+
return [
|
|
63
|
+
fm(input),
|
|
64
|
+
'',
|
|
65
|
+
title,
|
|
66
|
+
'',
|
|
67
|
+
'## TL;DR for the next session',
|
|
68
|
+
'<!-- 4–6 bullets: where things stand, the single next action, blockers. FILL IN. -->',
|
|
69
|
+
'',
|
|
70
|
+
"## State on handoff · pre-filled — verify, don't retype",
|
|
71
|
+
gitBlock(git),
|
|
72
|
+
`- Loop: ${loop.loopPosition ?? 'IDLE'} · phase ${loop.activePhase ?? '(none)'} · tier ${loop.tier ?? '(none)'}`,
|
|
73
|
+
'',
|
|
74
|
+
'## CADENCE context · pre-filled from `cadence context handoff`',
|
|
75
|
+
contextBlock(packet),
|
|
76
|
+
'',
|
|
77
|
+
'## What landed this session',
|
|
78
|
+
'<!-- FILL IN -->',
|
|
79
|
+
'',
|
|
80
|
+
'## Carry-forward gotchas',
|
|
81
|
+
'<!-- FILL IN -->',
|
|
82
|
+
'',
|
|
83
|
+
'## Next action',
|
|
84
|
+
'<!-- FILL IN -->',
|
|
85
|
+
'',
|
|
86
|
+
].join('\n');
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=render-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-session.js","sourceRoot":"","sources":["../../src/handoff/render-session.ts"],"names":[],"mappings":"AAWA,SAAS,EAAE,CAAC,KAAyB;IACnC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,KAAK,GAAG;QACZ,KAAK;QACL,oBAAoB;QACpB,iBAAiB,KAAK,CAAC,WAAW,EAAE;QACpC,UAAU,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;QAC7B,kBAAkB,IAAI,CAAC,YAAY,IAAI,MAAM,EAAE;QAC/C,iBAAiB,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;QACzC,iBAAiB,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;QACzC,SAAS,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;QAC1B,eAAe,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE;QAC3D,cAAc,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;QACjE,aAAa,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE;QACvD,cAAc,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;QACvD,eAAe,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;QACzD,mBAAmB,KAAK,CAAC,iBAAiB,EAAE;QAC5C,KAAK;KACN,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,QAAQ,CAAC,GAAa;IAC7B,IAAI,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO,sDAAsD,CAAC;IAClF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5C,MAAM,GAAG,GAAG;QACV,cAAc,GAAG,CAAC,MAAM,OAAO,KAAK,MAAM,GAAG,CAAC,KAAK,YAAY,GAAG,CAAC,MAAM,gBAAgB;QACzF,YAAY,GAAG,CAAC,IAAI,IAAI;KACzB,CAAC;IACF,IAAI,GAAG,CAAC,aAAa;QAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACtF,IAAI,GAAG,CAAC,QAAQ;QAAE,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,YAAY,CAAC,MAAqB;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM;QACxC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvG,CAAC,CAAC,YAAY,CAAC;IACjB,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM;QACnC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACrE,CAAC,CAAC,YAAY,CAAC;IACjB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM;QACjC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpE,CAAC,CAAC,YAAY,CAAC;IACjB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;QAC/B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpE,CAAC,CAAC,YAAY,CAAC;IACjB,OAAO;QACL,2BAA2B,IAAI,EAAE;QACjC,wBAAwB,GAAG,EAAE;QAC7B,wBAAwB,GAAG,EAAE;QAC7B,qBAAqB,KAAK,EAAE;KAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,uBAAuB,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,uBAAuB,IAAI,EAAE,CAAC;IAC/F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,OAAO;QACL,EAAE,CAAC,KAAK,CAAC;QACT,EAAE;QACF,KAAK;QACL,EAAE;QACF,+BAA+B;QAC/B,sFAAsF;QACtF,EAAE;QACF,4DAA4D;QAC5D,QAAQ,CAAC,GAAG,CAAC;QACb,WAAW,IAAI,CAAC,YAAY,IAAI,MAAM,YAAY,IAAI,CAAC,WAAW,IAAI,QAAQ,WAAW,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;QAChH,EAAE;QACF,mEAAmE;QACnE,YAAY,CAAC,MAAM,CAAC;QACpB,EAAE;QACF,6BAA6B;QAC7B,kBAAkB;QAClB,EAAE;QACF,0BAA0B;QAC1B,kBAAkB;QAClB,EAAE;QACF,gBAAgB;QAChB,kBAAkB;QAClB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface HandoffOptions {
|
|
2
|
+
label?: string;
|
|
3
|
+
force?: boolean;
|
|
4
|
+
noStamp?: boolean;
|
|
5
|
+
noGit?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface HandoffResult {
|
|
8
|
+
path: string;
|
|
9
|
+
filename: string;
|
|
10
|
+
lastHandoff: string | null;
|
|
11
|
+
gitAvailable: boolean;
|
|
12
|
+
stamped: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function runHandoff(root: string, opts?: HandoffOptions, now?: Date): Promise<HandoffResult>;
|
|
15
|
+
//# sourceMappingURL=run-handoff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-handoff.d.ts","sourceRoot":"","sources":["../../src/handoff/run-handoff.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB;AAMD,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,cAAmB,EACzB,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,aAAa,CAAC,CA2CxB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// packages/core/src/handoff/run-handoff.ts
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { mkdir } from 'node:fs/promises';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import { SimpleStateBackend } from '../state/simple.js';
|
|
6
|
+
import { atomicWriteText } from '../state/atomic-write.js';
|
|
7
|
+
import { runContext } from '../intelligence/context.js';
|
|
8
|
+
import { readGitFacts } from './git-facts.js';
|
|
9
|
+
import { renderSession } from './render-session.js';
|
|
10
|
+
function sanitizeLabel(label) {
|
|
11
|
+
return label.trim().replace(/\s+/g, '-').replace(/[^A-Za-z0-9._-]/g, '');
|
|
12
|
+
}
|
|
13
|
+
export async function runHandoff(root, opts = {}, now = new Date()) {
|
|
14
|
+
const date = now.toISOString().slice(0, 10);
|
|
15
|
+
const label = opts.label ? sanitizeLabel(opts.label) : '';
|
|
16
|
+
const filename = label ? `SESSION-${date}-${label}.md` : `SESSION-${date}.md`;
|
|
17
|
+
const dir = join(root, '.cadence', 'handoff');
|
|
18
|
+
const path = join(dir, filename);
|
|
19
|
+
if (existsSync(path) && !opts.force) {
|
|
20
|
+
throw new Error(`handoff: ${filename} already exists; pass a distinct --label or --force`);
|
|
21
|
+
}
|
|
22
|
+
const [packet, git] = await Promise.all([
|
|
23
|
+
runContext(root, 'handoff', now),
|
|
24
|
+
opts.noGit ? Promise.resolve({ available: false }) : readGitFacts(root),
|
|
25
|
+
]);
|
|
26
|
+
const md = renderSession({
|
|
27
|
+
generatedAt: now.toISOString(),
|
|
28
|
+
label: label || null,
|
|
29
|
+
packet,
|
|
30
|
+
git,
|
|
31
|
+
contextPacketPath: '.cadence/intelligence/context/handoff.json',
|
|
32
|
+
});
|
|
33
|
+
await mkdir(dir, { recursive: true });
|
|
34
|
+
await atomicWriteText(path, md);
|
|
35
|
+
let stamped = false;
|
|
36
|
+
if (!opts.noStamp) {
|
|
37
|
+
const backend = new SimpleStateBackend(root);
|
|
38
|
+
const state = await backend.readState();
|
|
39
|
+
state.session = { ...state.session, lastHandoff: filename };
|
|
40
|
+
await backend.commit(state);
|
|
41
|
+
stamped = true;
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
path,
|
|
45
|
+
filename,
|
|
46
|
+
lastHandoff: stamped ? filename : null,
|
|
47
|
+
gitAvailable: git.available,
|
|
48
|
+
stamped,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=run-handoff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-handoff.js","sourceRoot":"","sources":["../../src/handoff/run-handoff.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAiBpD,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAY,EACZ,OAAuB,EAAE,EACzB,MAAY,IAAI,IAAI,EAAE;IAEtB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC;IAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEjC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,qDAAqD,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;KACjF,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,aAAa,CAAC;QACvB,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;QAC9B,KAAK,EAAE,KAAK,IAAI,IAAI;QACpB,MAAM;QACN,GAAG;QACH,iBAAiB,EAAE,4CAA4C;KAChE,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEhC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;QACxC,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QAC5D,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QACtC,YAAY,EAAE,GAAG,CAAC,SAAS;QAC3B,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-resume.d.ts","sourceRoot":"","sources":["../../src/handoff/run-resume.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKhE,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CA6B3F"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SimpleStateBackend } from '../state/simple.js';
|
|
2
|
+
import { runContext } from '../intelligence/context.js';
|
|
3
|
+
import { locateFreshestHandoff } from './locate.js';
|
|
4
|
+
export async function runResume(root, now = new Date()) {
|
|
5
|
+
let lastHandoff = null;
|
|
6
|
+
let liveLoopPosition = null;
|
|
7
|
+
try {
|
|
8
|
+
const state = await new SimpleStateBackend(root).readState();
|
|
9
|
+
lastHandoff = state.session.lastHandoff;
|
|
10
|
+
liveLoopPosition = state.loopPosition;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
// no/corrupt state — fall back to globbing, no drift comparison
|
|
14
|
+
}
|
|
15
|
+
const located = await locateFreshestHandoff(root, lastHandoff);
|
|
16
|
+
if (!located)
|
|
17
|
+
return { found: false };
|
|
18
|
+
const context = await runContext(root, 'handoff', now);
|
|
19
|
+
const drift = located.loopPosition && liveLoopPosition && located.loopPosition !== liveLoopPosition
|
|
20
|
+
? { docLoopPosition: located.loopPosition, liveLoopPosition }
|
|
21
|
+
: null;
|
|
22
|
+
return {
|
|
23
|
+
found: true,
|
|
24
|
+
handoffPath: located.path,
|
|
25
|
+
generatedAt: located.generatedAt,
|
|
26
|
+
doc: located.content,
|
|
27
|
+
context,
|
|
28
|
+
drift,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=run-resume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-resume.js","sourceRoot":"","sources":["../../src/handoff/run-resume.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,MAAY,IAAI,IAAI,EAAE;IAClE,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAC7D,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QACxC,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAEtC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAEvD,MAAM,KAAK,GACT,OAAO,CAAC,YAAY,IAAI,gBAAgB,IAAI,OAAO,CAAC,YAAY,KAAK,gBAAgB;QACnF,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,YAAY,EAAE,gBAAgB,EAAE;QAC7D,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,EAAE,OAAO,CAAC,OAAO;QACpB,OAAO;QACP,KAAK;KACN,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/hooks/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAS7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAWpG;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAMrB;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/hooks/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAS7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAWpG;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAMrB;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAmDrB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAWrB;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CASrB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAIrB;AAID;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAWrB"}
|
package/dist/hooks/handlers.js
CHANGED
|
@@ -41,6 +41,7 @@ export async function handlePreToolEdit(ctx, state, config) {
|
|
|
41
41
|
touchedFiles: rawFiles,
|
|
42
42
|
stamp: () => now,
|
|
43
43
|
extraContext: { source: 'hook.preToolEdit' },
|
|
44
|
+
root: ctx.cwd,
|
|
44
45
|
});
|
|
45
46
|
if (events.length > 0) {
|
|
46
47
|
const gateSet = effectiveGateSet(state, config, draft);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/hooks/handlers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/hooks/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,14 +17,14 @@ loop. Do not freelance multi-step work; run it through the loop.
|
|
|
17
17
|
|
|
18
18
|
- **Project:** ${opts.projectName}
|
|
19
19
|
- **Config preset:** ${opts.preset}
|
|
20
|
-
- **Gate profile:** ${opts.gateProfile} (gates scale with profile × tier — see
|
|
20
|
+
- **Gate profile:** ${opts.gateProfile} (gates scale with profile × tier — see https://github.com/manehorizons/cadence/blob/main/docs/concepts.md)
|
|
21
21
|
|
|
22
22
|
### Where state lives
|
|
23
23
|
|
|
24
24
|
- \`.cadence/ROADMAP.md\` — phases and milestones
|
|
25
25
|
- \`.cadence/STATE.md\` — current loop position, active draft/phase (derived; do not hand-edit)
|
|
26
26
|
- \`.cadence/phases/<phase>/\` — per-phase DRAFT / PROGRESS / SUMMARY
|
|
27
|
-
- \`
|
|
27
|
+
- \`README.md\` — this project's usage; CADENCE concepts + the gate universe: https://github.com/manehorizons/cadence/blob/main/docs/concepts.md
|
|
28
28
|
|
|
29
29
|
### The loop
|
|
30
30
|
|
package/dist/notify/collect.d.ts
CHANGED
|
@@ -17,6 +17,13 @@ export interface CollectAnomaliesContext {
|
|
|
17
17
|
message: string;
|
|
18
18
|
provider?: string;
|
|
19
19
|
} | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Phase 47 — repo root, forwarded to the boundary check so absolute
|
|
22
|
+
* `touchedFiles` (recorded by the PreToolUse hook) are relativized before
|
|
23
|
+
* comparison against the DRAFT's relative `files:` declarations. Optional:
|
|
24
|
+
* when omitted, the boundary check falls back to exact-string matching.
|
|
25
|
+
*/
|
|
26
|
+
root?: string | undefined;
|
|
20
27
|
}
|
|
21
28
|
export interface CollectAnomaliesOptions {
|
|
22
29
|
/** Test seam: stand in for `() => new Date()`. Production callers omit it. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../src/notify/collect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,KAAK,EACN,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,4FAA4F;IAC5F,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACrD,+FAA+F;IAC/F,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,CAAC;IACnE,oFAAoF;IACpF,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../src/notify/collect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,KAAK,EACN,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,4FAA4F;IAC5F,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACrD,+FAA+F;IAC/F,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,CAAC;IACnE,oFAAoF;IACpF,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACrE;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AASD,MAAM,WAAW,uBAAuB;IACtC,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,uBAAuB,EAC5B,IAAI,GAAE,uBAA4B,GACjC,YAAY,EAAE,CA6HhB"}
|
package/dist/notify/collect.js
CHANGED
|
@@ -64,6 +64,7 @@ export function collectAnomalies(ctx, opts = {}) {
|
|
|
64
64
|
declaredFiles: ctx.draft.tasks.flatMap((t) => t.files),
|
|
65
65
|
touchedFiles: touched,
|
|
66
66
|
stamp,
|
|
67
|
+
...(ctx.root !== undefined ? { root: ctx.root } : {}),
|
|
67
68
|
}));
|
|
68
69
|
// verifier-failure — emitted when the deep verifier transport itself blew up.
|
|
69
70
|
if (ctx.verifierFailure) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/notify/collect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/notify/collect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../src/state/simple.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAI/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAEvC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../src/state/simple.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAI/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAEvC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAwBxC;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD,4EAA4E;YAC9D,UAAU;IASlB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUhD"}
|
package/dist/state/simple.js
CHANGED
|
@@ -2,7 +2,7 @@ import { readFile, mkdir, rename } from 'node:fs/promises';
|
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { CadenceStateZ } from '@manehorizons/cadence-types';
|
|
5
|
-
import { StateCorruptError } from '../errors.js';
|
|
5
|
+
import { StateCorruptError, NotInitializedError } from '../errors.js';
|
|
6
6
|
import { atomicWriteJSON, atomicWriteText } from './atomic-write.js';
|
|
7
7
|
import { renderStateMd } from '../render/state-md.js';
|
|
8
8
|
export class SimpleStateBackend {
|
|
@@ -15,6 +15,9 @@ export class SimpleStateBackend {
|
|
|
15
15
|
}
|
|
16
16
|
async readState() {
|
|
17
17
|
const path = join(await this.resolveStateDir(), 'state.json');
|
|
18
|
+
if (!existsSync(path)) {
|
|
19
|
+
throw new NotInitializedError();
|
|
20
|
+
}
|
|
18
21
|
let raw;
|
|
19
22
|
try {
|
|
20
23
|
raw = await readFile(path, 'utf8');
|
package/dist/state/simple.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple.js","sourceRoot":"","sources":["../../src/state/simple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAqB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"simple.js","sourceRoot":"","sources":["../../src/state/simple.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,5 +41,22 @@ export interface VerifierFactorySpec<C, V> {
|
|
|
41
41
|
* and a model (`slice.model ?? CADENCE_LOCAL_MODEL`); a missing prerequisite
|
|
42
42
|
* falls back to `mock` with one stderr warning so the caller knows it downgraded.
|
|
43
43
|
*/
|
|
44
|
+
/**
|
|
45
|
+
* Mirrors the selection algorithm's first line without building a verifier or
|
|
46
|
+
* touching env: `provider = override ?? slice.provider ?? 'mock'`. `defaulted`
|
|
47
|
+
* is true only when the provider fell through to `'mock'` with no explicit
|
|
48
|
+
* choice — that is the silent-false-confidence case worth warning about. An
|
|
49
|
+
* explicit `mock` (config or override) is NOT defaulted.
|
|
50
|
+
*/
|
|
51
|
+
export declare function resolveEffectiveProvider(slice: {
|
|
52
|
+
provider?: VerifierProvider;
|
|
53
|
+
} | undefined, opts?: {
|
|
54
|
+
override?: VerifierProvider;
|
|
55
|
+
}): {
|
|
56
|
+
provider: VerifierProvider;
|
|
57
|
+
defaulted: boolean;
|
|
58
|
+
};
|
|
59
|
+
/** Prominent stderr banner for the silent mock-default case under real verify. */
|
|
60
|
+
export declare const MOCK_FALLBACK_BANNER: string;
|
|
44
61
|
export declare function createVerifierFactory<C, V>(spec: VerifierFactorySpec<C, V>): (config: C | null, opts?: VerifierSelectOptions) => V;
|
|
45
62
|
//# sourceMappingURL=verifier-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier-factory.d.ts","sourceRoot":"","sources":["../../src/verify/verifier-factory.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AAE9D,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sEAAsE;IACtE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACvC,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd;;2BAEuB;IACvB,IAAI,CACF,MAAM,EAAE,CAAC,GAAG,IAAI,GACf;QAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;IAC3E,IAAI,IAAI,CAAC,CAAC;IACV,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EACxC,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,qBAAqB,KAAK,CAAC,CAmCvD"}
|
|
1
|
+
{"version":3,"file":"verifier-factory.d.ts","sourceRoot":"","sources":["../../src/verify/verifier-factory.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AAE9D,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sEAAsE;IACtE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACvC,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd;;2BAEuB;IACvB,IAAI,CACF,MAAM,EAAE,CAAC,GAAG,IAAI,GACf;QAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;IAC3E,IAAI,IAAI,CAAC,CAAC;IACV,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAC;CACpD;AAED;;;;;;;GAOG;AACH;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAA;CAAE,GAAG,SAAS,EAClD,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAA;CAAO,GACzC;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAKpD;AAED,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,QAUrB,CAAC;AAEb,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EACxC,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,qBAAqB,KAAK,CAAC,CAmCvD"}
|
|
@@ -6,6 +6,30 @@
|
|
|
6
6
|
* and a model (`slice.model ?? CADENCE_LOCAL_MODEL`); a missing prerequisite
|
|
7
7
|
* falls back to `mock` with one stderr warning so the caller knows it downgraded.
|
|
8
8
|
*/
|
|
9
|
+
/**
|
|
10
|
+
* Mirrors the selection algorithm's first line without building a verifier or
|
|
11
|
+
* touching env: `provider = override ?? slice.provider ?? 'mock'`. `defaulted`
|
|
12
|
+
* is true only when the provider fell through to `'mock'` with no explicit
|
|
13
|
+
* choice — that is the silent-false-confidence case worth warning about. An
|
|
14
|
+
* explicit `mock` (config or override) is NOT defaulted.
|
|
15
|
+
*/
|
|
16
|
+
export function resolveEffectiveProvider(slice, opts = {}) {
|
|
17
|
+
const provider = opts.override ?? slice?.provider ?? 'mock';
|
|
18
|
+
const defaulted = opts.override === undefined && slice?.provider === undefined;
|
|
19
|
+
return { provider, defaulted };
|
|
20
|
+
}
|
|
21
|
+
/** Prominent stderr banner for the silent mock-default case under real verify. */
|
|
22
|
+
export const MOCK_FALLBACK_BANNER = [
|
|
23
|
+
'',
|
|
24
|
+
' ┌─────────────────────────────────────────────────────────────────┐',
|
|
25
|
+
' │ ⚠ MOCK verification — results are NOT real. │',
|
|
26
|
+
' │ No verifier provider is configured, so --deep used the │',
|
|
27
|
+
' │ deterministic mock. Set ANTHROPIC_API_KEY (or configure a │',
|
|
28
|
+
' │ provider) for genuine verification. │',
|
|
29
|
+
' └─────────────────────────────────────────────────────────────────┘',
|
|
30
|
+
' https://github.com/manehorizons/cadence/blob/main/docs/providers.md',
|
|
31
|
+
'',
|
|
32
|
+
].join('\n');
|
|
9
33
|
export function createVerifierFactory(spec) {
|
|
10
34
|
return (config, opts = {}) => {
|
|
11
35
|
const slice = spec.read(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier-factory.js","sourceRoot":"","sources":["../../src/verify/verifier-factory.ts"],"names":[],"mappings":"AA+BA;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAA+B;IAE/B,OAAO,CAAC,MAAgB,EAAE,OAA8B,EAAE,EAAK,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAE1E,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CACF,GAAG,IAAI,CAAC,KAAK,gGAAgG,CAC9G,CAAC;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,GAAG,CAAC,iBAAiB;gBAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,sBAAsB,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,GAAG,CAAC,mBAAmB,CAAC;YACtD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CACF,GAAG,IAAI,CAAC,KAAK,sGAAsG,CACpH,CAAC;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"verifier-factory.js","sourceRoot":"","sources":["../../src/verify/verifier-factory.ts"],"names":[],"mappings":"AA+BA;;;;;;;GAOG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAkD,EAClD,OAAwC,EAAE;IAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC;IAC5D,MAAM,SAAS,GACb,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC;IAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE;IACF,uEAAuE;IACvE,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,qBAAqB,CACnC,IAA+B;IAE/B,OAAO,CAAC,MAAgB,EAAE,OAA8B,EAAE,EAAK,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAE1E,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CACF,GAAG,IAAI,CAAC,KAAK,gGAAgG,CAC9G,CAAC;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,GAAG,CAAC,iBAAiB;gBAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,sBAAsB,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,GAAG,CAAC,mBAAmB,CAAC;YACtD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CACF,GAAG,IAAI,CAAC,KAAK,sGAAsG,CACpH,CAAC;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manehorizons/cadence-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
|
+
"engines": {
|
|
5
|
+
"node": ">=20"
|
|
6
|
+
},
|
|
4
7
|
"description": "CADENCE engine — the DRAFT→BUILD→SETTLE loop, configurable quality gates, and the host-agnostic `cadence` CLI for AI-assisted development.",
|
|
5
8
|
"license": "MIT",
|
|
6
9
|
"author": "Thomas Powers",
|
|
@@ -47,7 +50,7 @@
|
|
|
47
50
|
"@anthropic-ai/sdk": "^0.96.0",
|
|
48
51
|
"commander": "^13.0.0",
|
|
49
52
|
"zod": "^4.4.3",
|
|
50
|
-
"@manehorizons/cadence-types": "1.
|
|
53
|
+
"@manehorizons/cadence-types": "1.5.1"
|
|
51
54
|
},
|
|
52
55
|
"devDependencies": {
|
|
53
56
|
"vitest": "^2.1.0",
|