@dzhechkov/harness-core 0.4.4 → 0.5.0
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/.dz-manifest.json +283 -103
- package/LICENSE +21 -0
- package/README.md +73 -5
- package/dist/agents-policy.d.ts +67 -0
- package/dist/agents-policy.d.ts.map +1 -0
- package/dist/agents-policy.js +258 -0
- package/dist/agents-policy.js.map +1 -0
- package/dist/codex-hooks-assets.d.ts +47 -0
- package/dist/codex-hooks-assets.d.ts.map +1 -0
- package/dist/codex-hooks-assets.js +287 -0
- package/dist/codex-hooks-assets.js.map +1 -0
- package/dist/codex-hooks-verify.d.ts +74 -0
- package/dist/codex-hooks-verify.d.ts.map +1 -0
- package/dist/codex-hooks-verify.js +140 -0
- package/dist/codex-hooks-verify.js.map +1 -0
- package/dist/codex-hooks.d.ts +258 -0
- package/dist/codex-hooks.d.ts.map +1 -0
- package/dist/codex-hooks.js +391 -0
- package/dist/codex-hooks.js.map +1 -0
- package/dist/discrimination-gate.d.ts +88 -15
- package/dist/discrimination-gate.d.ts.map +1 -1
- package/dist/discrimination-gate.js +343 -51
- package/dist/discrimination-gate.js.map +1 -1
- package/dist/feature-adr-checkpoints.d.ts +22 -0
- package/dist/feature-adr-checkpoints.d.ts.map +1 -1
- package/dist/feature-adr-checkpoints.js +42 -0
- package/dist/feature-adr-checkpoints.js.map +1 -1
- package/dist/feature-adr-routing.d.ts +196 -5
- package/dist/feature-adr-routing.d.ts.map +1 -1
- package/dist/feature-adr-routing.js +538 -54
- package/dist/feature-adr-routing.js.map +1 -1
- package/dist/guard.d.ts +13 -0
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +25 -1
- package/dist/guard.js.map +1 -1
- package/dist/index.d.ts +17 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -4
- package/dist/index.js.map +1 -1
- package/dist/loop-blobs.generated.js +2 -2
- package/dist/loop-blobs.generated.js.map +1 -1
- package/dist/managed-hooks.d.ts +76 -0
- package/dist/managed-hooks.d.ts.map +1 -0
- package/dist/managed-hooks.js +89 -0
- package/dist/managed-hooks.js.map +1 -0
- package/dist/mutation-gate.d.ts +14 -0
- package/dist/mutation-gate.d.ts.map +1 -1
- package/dist/mutation-gate.js +25 -2
- package/dist/mutation-gate.js.map +1 -1
- package/dist/operations.d.ts +153 -0
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +560 -24
- package/dist/operations.js.map +1 -1
- package/dist/parity.d.ts +38 -1
- package/dist/parity.d.ts.map +1 -1
- package/dist/parity.js +78 -5
- package/dist/parity.js.map +1 -1
- package/dist/recall-usage.d.ts +53 -0
- package/dist/recall-usage.d.ts.map +1 -1
- package/dist/recall-usage.js +125 -2
- package/dist/recall-usage.js.map +1 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +14 -26
- package/dist/setup.js.map +1 -1
- package/dist/shell-veto-policy.d.ts +53 -0
- package/dist/shell-veto-policy.d.ts.map +1 -0
- package/dist/shell-veto-policy.js +103 -0
- package/dist/shell-veto-policy.js.map +1 -0
- package/dist/skills.d.ts +86 -1
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +116 -1
- package/dist/skills.js.map +1 -1
- package/dist/targets.d.ts +75 -0
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +160 -0
- package/dist/targets.js.map +1 -1
- package/package.json +20 -19
- package/sbom.json +552 -102
- package/src/agents-policy.ts +338 -0
- package/src/codex-hooks-assets.ts +291 -0
- package/src/codex-hooks-verify.ts +184 -0
- package/src/codex-hooks.ts +571 -0
- package/src/discrimination-gate.ts +456 -58
- package/src/feature-adr-checkpoints.ts +38 -0
- package/src/feature-adr-routing.ts +642 -75
- package/src/guard.ts +36 -1
- package/src/index.ts +118 -2
- package/src/loop-blobs.generated.ts +2 -2
- package/src/managed-hooks.ts +129 -0
- package/src/mutation-gate.ts +24 -2
- package/src/operations.ts +719 -28
- package/src/parity.ts +120 -6
- package/src/recall-usage.ts +184 -1
- package/src/setup.ts +26 -27
- package/src/shell-veto-policy.ts +119 -0
- package/src/skills.ts +174 -1
- package/src/targets.ts +189 -0
|
@@ -65,11 +65,11 @@ export const BLOBS = {
|
|
|
65
65
|
"codex-dispatch": {
|
|
66
66
|
name: "codex-dispatch",
|
|
67
67
|
version: "1.0.0",
|
|
68
|
-
contentHash: "
|
|
68
|
+
contentHash: "140da3714d2507683b0a27fcb01fa449ea3cb1619f1a2e181aaf24291397642d",
|
|
69
69
|
sourcePath: "packages/@dzhechkov/harness-core/src/feature-adr-routing.ts",
|
|
70
70
|
requires: [],
|
|
71
71
|
exports: ["codexDispatchMode", "codexExecPlan", "needsCodeLandedBarrier", "decideCodeLanding"],
|
|
72
|
-
code: "const CODE_LANDING_PIPELINE_PREFIXES = ['features/', '.dz/', '.agentic-qe/', 'roam/'];\nfunction codeLandingEmptySignal(seconds) {\n return 'changed=0 after ' + seconds + 's — genuinely not landed';\n}\nfunction needsCodeLandedBarrier(coderUsed) {\n return coderUsed === 'codex' || coderUsed === 'codex-fallback';\n}\nfunction
|
|
72
|
+
code: "const CODE_LANDING_PIPELINE_PREFIXES = ['features/', '.dz/', '.agentic-qe/', 'roam/'];\nfunction codeLandingEmptySignal(seconds) {\n return 'changed=0 after ' + seconds + 's — genuinely not landed';\n}\nfunction needsCodeLandedBarrier(coderUsed) {\n return coderUsed === 'codex' || coderUsed === 'codex-fallback';\n}\nfunction stripCodeLandingPath(path) {\n let p = String(path || '').trim().replace(/\\\\/g, '/');\n while (p.indexOf('./') === 0)\n p = p.slice(2);\n return p.replace(/\\/+/g, '/');\n}\nfunction classifyCodeLandingPathReject(path) {\n const p = stripCodeLandingPath(path);\n if (!p)\n return 'empty-after-strip';\n if (p[0] === '/')\n return 'absolute-path';\n if (p === '..' || p.indexOf('../') === 0 || p.indexOf('/../') >= 0 || p.endsWith('/..'))\n return 'traversal';\n if (/[\\0\\r\\n\\t \"'\\x60$;&|<>*?()[\\]{}!]/.test(p))\n return 'not-a-path';\n if (p.endsWith('/'))\n return 'not-a-path';\n for (const prefix of CODE_LANDING_PIPELINE_PREFIXES) {\n const bare = prefix.slice(0, -1);\n if (p === bare || p.indexOf(prefix) === 0)\n return 'pipeline-artifact-path';\n }\n return null;\n}\nfunction normalizeCodeLandingPath(path) {\n return classifyCodeLandingPathReject(path) === null ? stripCodeLandingPath(path) : '';\n}\nfunction filterPollableCodePaths(paths) {\n const out = [];\n const seen = new Set();\n for (const path of paths || []) {\n const normalized = normalizeCodeLandingPath(path);\n if (!normalized || seen.has(normalized))\n continue;\n seen.add(normalized);\n out.push(normalized);\n }\n return out;\n}\nfunction isNewlyChanged(path, baseline, currentHashes) {\n if (!baseline || !baseline.ok)\n return false;\n let recorded = null;\n for (const entry of baseline.entries) {\n if (entry.path === path) {\n recorded = entry.hash;\n break;\n }\n }\n if (recorded === null)\n return true;\n const now = currentHashes ? currentHashes[path] : undefined;\n if (now === undefined)\n return false;\n return now !== recorded;\n}\nfunction decideCodeLanding(snapshot) {\n const maxWaitMs = Math.max(0, snapshot.maxWaitMs);\n const elapsedMs = Math.max(0, snapshot.elapsedMs);\n const elapsedSeconds = Math.floor(elapsedMs / 1000);\n const expectedPaths = filterPollableCodePaths(snapshot.expectedPaths);\n const changedPaths = filterPollableCodePaths(snapshot.changedEntries.map(function (entry) { return entry.path; }));\n if (expectedPaths.length === 0) {\n return {\n status: 'inconclusive',\n reason: 'empty-plan-block',\n changed: 0,\n elapsedMs: elapsedMs,\n elapsedSeconds: elapsedSeconds,\n expectedPaths: expectedPaths,\n matchedExpectedPaths: [],\n changedPaths: changedPaths,\n predicate: 'no-expected-targets',\n qeSignalLine: 'CODEX-LANDING-SIGNAL status=inconclusive predicate=no-expected-targets reason=empty-plan-block',\n };\n }\n const baseline = snapshot.baseline;\n if (!baseline || !baseline.ok) {\n const reason = baseline && baseline.reason ? baseline.reason : 'no-baseline';\n return {\n status: 'inconclusive',\n reason: reason,\n changed: 0,\n elapsedMs: elapsedMs,\n elapsedSeconds: elapsedSeconds,\n expectedPaths: expectedPaths,\n matchedExpectedPaths: [],\n changedPaths: changedPaths,\n predicate: 'newly-changed',\n qeSignalLine: 'CODEX-LANDING-SIGNAL status=inconclusive predicate=newly-changed reason=' + reason,\n };\n }\n const changed = new Set(changedPaths);\n const matchedExpectedPaths = expectedPaths.filter(function (path) {\n return changed.has(path) && isNewlyChanged(path, baseline, snapshot.currentHashes);\n });\n if (matchedExpectedPaths.length > 0) {\n return {\n status: 'landed',\n changed: matchedExpectedPaths.length,\n elapsedMs: elapsedMs,\n elapsedSeconds: elapsedSeconds,\n expectedPaths: expectedPaths,\n matchedExpectedPaths: matchedExpectedPaths,\n changedPaths: changedPaths,\n predicate: 'newly-changed',\n qeSignalLine: 'CODEX-LANDING-SIGNAL status=landed changed=' +\n matchedExpectedPaths.length +\n ' after=' +\n elapsedSeconds +\n 's predicate=newly-changed matched=' +\n matchedExpectedPaths.join(','),\n };\n }\n if (elapsedMs < maxWaitMs) {\n return {\n status: 'not-yet-flushed',\n changed: 0,\n elapsedMs: elapsedMs,\n elapsedSeconds: elapsedSeconds,\n expectedPaths: expectedPaths,\n matchedExpectedPaths: [],\n changedPaths: changedPaths,\n predicate: 'empty-before-timeout',\n qeSignalLine: 'CODEX-LANDING-SIGNAL status=not-yet-flushed changed=0 after ' + elapsedSeconds + 's — not yet flushed',\n };\n }\n const terminalSeconds = Math.ceil(maxWaitMs / 1000);\n return {\n status: 'genuinely-not-landed',\n changed: 0,\n elapsedMs: elapsedMs,\n elapsedSeconds: terminalSeconds,\n expectedPaths: expectedPaths,\n matchedExpectedPaths: [],\n changedPaths: changedPaths,\n predicate: 'empty-after-timeout',\n qeSignalLine: 'CODEX-LANDING-SIGNAL status=genuinely-not-landed ' + codeLandingEmptySignal(terminalSeconds),\n };\n}\nconst WRAPPER_STAGES = { code: 1, plan: 1 };\nfunction codexDispatchMode(stage) {\n return WRAPPER_STAGES[stage] ? 'wrapper' : 'exec';\n}\nconst CODEX_EXEC_PROMPT_CEILING_CHARS = 24000;\nfunction codexExecPlan(input) {\n if (codexDispatchMode(input.stage) === 'wrapper') {\n return { mode: 'wrapper', reason: 'deliverable is a file written out-of-band' };\n }\n if (!input.probedId) {\n return { mode: 'claude', reason: 'no codex model id answered the probe' };\n }\n if (input.promptChars > CODEX_EXEC_PROMPT_CEILING_CHARS) {\n return {\n mode: 'claude',\n reason: 'prompt is ' +\n input.promptChars +\n ' chars, over the ' +\n CODEX_EXEC_PROMPT_CEILING_CHARS +\n '-char codex exec ceiling (it would stall)',\n };\n }\n return { mode: 'exec', reason: 'codex exec on ' + input.probedId };\n}",
|
|
73
73
|
},
|
|
74
74
|
"challenge-panel": {
|
|
75
75
|
name: "challenge-panel",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-blobs.generated.js","sourceRoot":"","sources":["../src/loop-blobs.generated.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;;;;;;;GAaG;AAaH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAa,EAAC,gBAAgB,EAAC,gBAAgB,EAAC,cAAc,EAAC,gBAAgB,EAAC,iBAAiB,EAAC,OAAO,EAAC,mBAAmB,CAAU,CAAC;AAExK;;6DAE6D;AAC7D,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACpE,kBAAkB,EAAE;QAClB,mCAAmC;QACnC,kCAAkC;QAClC,qCAAqC;QACrC,mFAAmF;KACpF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAA6B;IAC7C,aAAa,EAAE;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,kEAAkE;QAC/E,UAAU,EAAE,iEAAiE;QAC7E,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,CAAC,mBAAmB,EAAC,iBAAiB,EAAC,6BAA6B,EAAC,qBAAqB,EAAC,OAAO,EAAC,SAAS,EAAC,qBAAqB,EAAC,YAAY,EAAC,wBAAwB,EAAC,qBAAqB,EAAC,wBAAwB,EAAC,qBAAqB,EAAC,YAAY,EAAC,mBAAmB,EAAC,qBAAqB,CAAC;QAC9S,IAAI,EAAE,2nIAA2nI;KACloI;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,kEAAkE;QAC/E,UAAU,EAAE,iEAAiE;QAC7E,QAAQ,EAAE,CAAC,aAAa,CAAC;QACzB,OAAO,EAAE,CAAC,0BAA0B,EAAC,wBAAwB,EAAC,oBAAoB,EAAC,kBAAkB,EAAC,wBAAwB,EAAC,mBAAmB,EAAC,uBAAuB,EAAC,uBAAuB,EAAC,mBAAmB,EAAC,sBAAsB,EAAC,yBAAyB,EAAC,gBAAgB,EAAC,kBAAkB,CAAC;QAC5S,IAAI,EAAE,m9OAAm9O;KAC19O;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,kEAAkE;QAC/E,UAAU,EAAE,6DAA6D;QACzE,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,CAAC,YAAY,EAAC,mBAAmB,EAAC,aAAa,EAAC,WAAW,EAAC,YAAY,EAAC,YAAY,CAAC;QAC/F,IAAI,EAAE,2wIAA2wI;KAClxI;IACD,cAAc,EAAE;QACd,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,kEAAkE;QAC/E,UAAU,EAAE,6DAA6D;QACzE,QAAQ,EAAE,CAAC,gBAAgB,CAAC;QAC5B,OAAO,EAAE,CAAC,mBAAmB,EAAC,oBAAoB,EAAC,YAAY,CAAC;QAChE,IAAI,EAAE,yzBAAyzB;KACh0B;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,kEAAkE;QAC/E,UAAU,EAAE,6DAA6D;QACzE,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,CAAC,mBAAmB,EAAC,eAAe,EAAC,wBAAwB,EAAC,mBAAmB,CAAC;QAC3F,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"loop-blobs.generated.js","sourceRoot":"","sources":["../src/loop-blobs.generated.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ONE event-level managed-hook merge (`crossrt-2-codex-hooks`, AM-3 / G-E).
|
|
3
|
+
*
|
|
4
|
+
* Both hook targets — Claude Code's `.claude/settings.json` and Codex's
|
|
5
|
+
* `$CODEX_HOME/hooks.json` — need the same operation: per event, KEEP every entry that is not ours
|
|
6
|
+
* (byte-identical, same order) and append the entries that are. Before this module the Claude half
|
|
7
|
+
* lived inline in `setup.ts` and the Codex half did not exist; a second dialect would have been the
|
|
8
|
+
* obvious way to write it and the wrong one.
|
|
9
|
+
*
|
|
10
|
+
* What differs between the targets is ONLY the attribution predicate, so that is the parameter:
|
|
11
|
+
* the Claude path passes its historical substring list verbatim (bytes must not move — AM-3), the
|
|
12
|
+
* Codex path passes sha-over-manifest (ADR-001 §3: dz never deletes what it cannot prove it wrote).
|
|
13
|
+
*
|
|
14
|
+
* The plan (AM-37) is explicit that the extracted block has **three** outputs, not one: the merged
|
|
15
|
+
* body, the REPORT tail string, and the no-write path (`changed === false`). A golden test on the
|
|
16
|
+
* merged bytes alone would pass while the report text and the no-write behaviour silently changed,
|
|
17
|
+
* so all three are part of {@link HookMergePlan}.
|
|
18
|
+
*
|
|
19
|
+
* Pure: no I/O, no clock, no environment.
|
|
20
|
+
*
|
|
21
|
+
* @packageDocumentation
|
|
22
|
+
*/
|
|
23
|
+
/** One hook registry entry, in either the matcher-group or the legacy flat shape. */
|
|
24
|
+
export type ManagedHookEntry = unknown;
|
|
25
|
+
/**
|
|
26
|
+
* Commands of a hook entry in EITHER shape: the valid matcher-group form
|
|
27
|
+
* `{matcher?, hooks:[{type,command}]}` or the legacy flat `{type,command}`.
|
|
28
|
+
*
|
|
29
|
+
* Deliberately duplicated from `setup.ts`'s `commandsOf` rather than imported: `setup.ts` imports
|
|
30
|
+
* this module, and the reverse edge would be a cycle. The two are pinned equal by a test.
|
|
31
|
+
*/
|
|
32
|
+
export declare function hookCommandsOf(entry: ManagedHookEntry): string[];
|
|
33
|
+
export interface HookMergePlan {
|
|
34
|
+
/** The merged registry body, ready to serialize. */
|
|
35
|
+
readonly hooks: Record<string, ManagedHookEntry[]>;
|
|
36
|
+
/** False ⇒ the caller must NOT write (the `hooks already current` no-write path — AM-37). */
|
|
37
|
+
readonly changed: boolean;
|
|
38
|
+
/** The setup REPORT tail string. Part of the extracted block's contract, not decoration (AM-37). */
|
|
39
|
+
readonly report: string;
|
|
40
|
+
/** A legacy-shaped entry of ours was replaced (drives the Claude report wording). */
|
|
41
|
+
readonly replacedLegacy: boolean;
|
|
42
|
+
/** Entries kept because they are NOT ours, across the WHOLE registry. G-D's number. */
|
|
43
|
+
readonly foreignPreserved: number;
|
|
44
|
+
/**
|
|
45
|
+
* Entries that RESEMBLE ours but are not attributable to the manifest. They are KEPT and counted —
|
|
46
|
+
* never deleted (ADR-001 §3). Distinct from `replacedLegacy`, which is about our OWN old vintages.
|
|
47
|
+
*/
|
|
48
|
+
readonly unattributable: number;
|
|
49
|
+
}
|
|
50
|
+
export interface MergeManagedHookOptions {
|
|
51
|
+
/** True ⇒ this entry is OURS and is replaced by the managed set for that event. */
|
|
52
|
+
readonly isManaged: (entry: ManagedHookEntry, event: string) => boolean;
|
|
53
|
+
/**
|
|
54
|
+
* True ⇒ this entry resembles ours but could not be attributed. Optional; when omitted nothing is
|
|
55
|
+
* counted. Never causes deletion — only counting and a warning upstream.
|
|
56
|
+
*/
|
|
57
|
+
readonly looksLikeOurs?: (entry: ManagedHookEntry, event: string) => boolean;
|
|
58
|
+
/** True ⇒ this OURS entry was in a legacy shape/vintage (Claude path only). */
|
|
59
|
+
readonly isLegacy?: (entry: ManagedHookEntry, event: string) => boolean;
|
|
60
|
+
/** e.g. `'agentdb'` → `merged agentdb hooks (user hooks preserved)`. */
|
|
61
|
+
readonly reportLabel?: string;
|
|
62
|
+
/** Report text when nothing changed. */
|
|
63
|
+
readonly unchangedReport?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Merge `managed` into `existingHooks` at EVENT level.
|
|
67
|
+
*
|
|
68
|
+
* - Events absent from `managed` are copied through untouched (including unknown ones), and their
|
|
69
|
+
* entries still count toward `foreignPreserved` — the number answers "how many of the user's
|
|
70
|
+
* entries did this registry hold and keep", not "how many survived the touched events".
|
|
71
|
+
* - Within a touched event, non-ours entries keep their relative order and object identity, then
|
|
72
|
+
* the managed entries are appended.
|
|
73
|
+
* - `merge(merge(x)) === merge(x)`.
|
|
74
|
+
*/
|
|
75
|
+
export declare function mergeManagedHookEntries(existingHooks: Record<string, ManagedHookEntry[]> | undefined, managed: Record<string, ManagedHookEntry[]>, options: MergeManagedHookOptions): HookMergePlan;
|
|
76
|
+
//# sourceMappingURL=managed-hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-hooks.d.ts","sourceRoot":"","sources":["../src/managed-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,qFAAqF;AACrF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAIhE;AAED,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACnD,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,oGAAoG;IACpG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,uFAAuF;IACvF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,mFAAmF;IACnF,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACxE;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7E,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACxE,wEAAwE;IACxE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,GAAG,SAAS,EAC7D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAC3C,OAAO,EAAE,uBAAuB,GAC/B,aAAa,CAyCf"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ONE event-level managed-hook merge (`crossrt-2-codex-hooks`, AM-3 / G-E).
|
|
3
|
+
*
|
|
4
|
+
* Both hook targets — Claude Code's `.claude/settings.json` and Codex's
|
|
5
|
+
* `$CODEX_HOME/hooks.json` — need the same operation: per event, KEEP every entry that is not ours
|
|
6
|
+
* (byte-identical, same order) and append the entries that are. Before this module the Claude half
|
|
7
|
+
* lived inline in `setup.ts` and the Codex half did not exist; a second dialect would have been the
|
|
8
|
+
* obvious way to write it and the wrong one.
|
|
9
|
+
*
|
|
10
|
+
* What differs between the targets is ONLY the attribution predicate, so that is the parameter:
|
|
11
|
+
* the Claude path passes its historical substring list verbatim (bytes must not move — AM-3), the
|
|
12
|
+
* Codex path passes sha-over-manifest (ADR-001 §3: dz never deletes what it cannot prove it wrote).
|
|
13
|
+
*
|
|
14
|
+
* The plan (AM-37) is explicit that the extracted block has **three** outputs, not one: the merged
|
|
15
|
+
* body, the REPORT tail string, and the no-write path (`changed === false`). A golden test on the
|
|
16
|
+
* merged bytes alone would pass while the report text and the no-write behaviour silently changed,
|
|
17
|
+
* so all three are part of {@link HookMergePlan}.
|
|
18
|
+
*
|
|
19
|
+
* Pure: no I/O, no clock, no environment.
|
|
20
|
+
*
|
|
21
|
+
* @packageDocumentation
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Commands of a hook entry in EITHER shape: the valid matcher-group form
|
|
25
|
+
* `{matcher?, hooks:[{type,command}]}` or the legacy flat `{type,command}`.
|
|
26
|
+
*
|
|
27
|
+
* Deliberately duplicated from `setup.ts`'s `commandsOf` rather than imported: `setup.ts` imports
|
|
28
|
+
* this module, and the reverse edge would be a cycle. The two are pinned equal by a test.
|
|
29
|
+
*/
|
|
30
|
+
export function hookCommandsOf(entry) {
|
|
31
|
+
const e = entry;
|
|
32
|
+
if (Array.isArray(e?.hooks))
|
|
33
|
+
return e.hooks.map((h) => String(h?.command ?? ''));
|
|
34
|
+
return [String(e?.command ?? '')];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Merge `managed` into `existingHooks` at EVENT level.
|
|
38
|
+
*
|
|
39
|
+
* - Events absent from `managed` are copied through untouched (including unknown ones), and their
|
|
40
|
+
* entries still count toward `foreignPreserved` — the number answers "how many of the user's
|
|
41
|
+
* entries did this registry hold and keep", not "how many survived the touched events".
|
|
42
|
+
* - Within a touched event, non-ours entries keep their relative order and object identity, then
|
|
43
|
+
* the managed entries are appended.
|
|
44
|
+
* - `merge(merge(x)) === merge(x)`.
|
|
45
|
+
*/
|
|
46
|
+
export function mergeManagedHookEntries(existingHooks, managed, options) {
|
|
47
|
+
const source = existingHooks ?? {};
|
|
48
|
+
const hooks = {};
|
|
49
|
+
for (const event of Object.keys(source)) {
|
|
50
|
+
hooks[event] = Array.isArray(source[event]) ? [...source[event]] : [];
|
|
51
|
+
}
|
|
52
|
+
// Census FIRST, over the whole input, so the counts do not depend on which events are touched.
|
|
53
|
+
let foreignPreserved = 0;
|
|
54
|
+
let unattributable = 0;
|
|
55
|
+
for (const [event, entries] of Object.entries(source)) {
|
|
56
|
+
if (!Array.isArray(entries))
|
|
57
|
+
continue;
|
|
58
|
+
for (const entry of entries) {
|
|
59
|
+
if (options.isManaged(entry, event))
|
|
60
|
+
continue;
|
|
61
|
+
foreignPreserved += 1;
|
|
62
|
+
if (options.looksLikeOurs?.(entry, event) === true)
|
|
63
|
+
unattributable += 1;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
let changed = false;
|
|
67
|
+
let replacedLegacy = false;
|
|
68
|
+
for (const event of Object.keys(managed)) {
|
|
69
|
+
const current = Array.isArray(hooks[event]) ? hooks[event] : [];
|
|
70
|
+
const kept = current.filter((entry) => {
|
|
71
|
+
const ours = options.isManaged(entry, event);
|
|
72
|
+
if (ours && options.isLegacy?.(entry, event) === true)
|
|
73
|
+
replacedLegacy = true;
|
|
74
|
+
return !ours;
|
|
75
|
+
});
|
|
76
|
+
const next = [...kept, ...(managed[event] ?? [])];
|
|
77
|
+
if (JSON.stringify(next) !== JSON.stringify(current))
|
|
78
|
+
changed = true;
|
|
79
|
+
hooks[event] = next;
|
|
80
|
+
}
|
|
81
|
+
const label = options.reportLabel ?? 'managed';
|
|
82
|
+
const report = !changed
|
|
83
|
+
? (options.unchangedReport ?? 'hooks already current')
|
|
84
|
+
: replacedLegacy
|
|
85
|
+
? `replaced legacy dz hooks with ${label} hooks`
|
|
86
|
+
: `merged ${label} hooks (user hooks preserved)`;
|
|
87
|
+
return { hooks, changed, report, replacedLegacy, foreignPreserved, unattributable };
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=managed-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-hooks.js","sourceRoot":"","sources":["../src/managed-hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/mutation-gate.d.ts
CHANGED
|
@@ -128,6 +128,20 @@ export declare function effectiveMaxFailing(entry: MutationRegistryEntry): numbe
|
|
|
128
128
|
*/
|
|
129
129
|
export declare function countFailingTests(rawOutput: string): number | null;
|
|
130
130
|
export type RunnerKind = 'node-test' | 'vitest' | 'unknown';
|
|
131
|
+
/**
|
|
132
|
+
* Which runner's output shape is this? Extracted VERBATIM from `classifyRunFailure`'s two shape
|
|
133
|
+
* checks so the discrimination gate's evidence model can identify the runner of a GREEN run too —
|
|
134
|
+
* `classifyRunFailure` classifies RED runs only (its green branch returns a red-worded
|
|
135
|
+
* 'unrecognised'), so it cannot answer "which runner produced this pass?".
|
|
136
|
+
*
|
|
137
|
+
* ONE regex family per package (the ADR-001 driver): every runner-shape regex in harness-core
|
|
138
|
+
* lives here, and discrimination-gate.ts consumes this function instead of growing a second copy.
|
|
139
|
+
* Detection is from the OUTPUT SHAPE, not the command (an `npm test` alias hides the runner):
|
|
140
|
+
* node --test needs the TAP header AND node's `# duration_ms` trailer (tape emits TAP + `# fail`
|
|
141
|
+
* but not `# duration_ms`); vitest needs its `RUN v<semver>` banner or `Test Files` summary line.
|
|
142
|
+
* Anything else is 'unknown' — the honest, narrowed gap, never a silent trust mint.
|
|
143
|
+
*/
|
|
144
|
+
export declare function detectRunnerKind(rawOutput: string): RunnerKind;
|
|
131
145
|
export interface RunFailureClassification {
|
|
132
146
|
/** which runner's output shape was recognised. */
|
|
133
147
|
readonly runner: RunnerKind;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-gate.d.ts","sourceRoot":"","sources":["../src/mutation-gate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mutation-gate.d.ts","sourceRoot":"","sources":["../src/mutation-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/mutation-gate.js
CHANGED
|
@@ -211,6 +211,27 @@ const SGR = /\x1b\[[0-9;]*m/g;
|
|
|
211
211
|
function stripSgr(s) {
|
|
212
212
|
return s.replace(SGR, '');
|
|
213
213
|
}
|
|
214
|
+
/**
|
|
215
|
+
* Which runner's output shape is this? Extracted VERBATIM from `classifyRunFailure`'s two shape
|
|
216
|
+
* checks so the discrimination gate's evidence model can identify the runner of a GREEN run too —
|
|
217
|
+
* `classifyRunFailure` classifies RED runs only (its green branch returns a red-worded
|
|
218
|
+
* 'unrecognised'), so it cannot answer "which runner produced this pass?".
|
|
219
|
+
*
|
|
220
|
+
* ONE regex family per package (the ADR-001 driver): every runner-shape regex in harness-core
|
|
221
|
+
* lives here, and discrimination-gate.ts consumes this function instead of growing a second copy.
|
|
222
|
+
* Detection is from the OUTPUT SHAPE, not the command (an `npm test` alias hides the runner):
|
|
223
|
+
* node --test needs the TAP header AND node's `# duration_ms` trailer (tape emits TAP + `# fail`
|
|
224
|
+
* but not `# duration_ms`); vitest needs its `RUN v<semver>` banner or `Test Files` summary line.
|
|
225
|
+
* Anything else is 'unknown' — the honest, narrowed gap, never a silent trust mint.
|
|
226
|
+
*/
|
|
227
|
+
export function detectRunnerKind(rawOutput) {
|
|
228
|
+
const output = stripSgr(rawOutput);
|
|
229
|
+
if (/^TAP version \d+/m.test(output) && /^#\s*duration_ms\s+[\d.]+/m.test(output))
|
|
230
|
+
return 'node-test';
|
|
231
|
+
if (/^\s*RUN\s+v\d+\./m.test(output) || /^\s*Test Files\s/m.test(output))
|
|
232
|
+
return 'vitest';
|
|
233
|
+
return 'unknown';
|
|
234
|
+
}
|
|
214
235
|
/**
|
|
215
236
|
* Classify a RED suite run's output: did a test FILE fail to LOAD (structural) or did test
|
|
216
237
|
* ASSERTIONS fail (behavioural)? This is the round-6 replacement for the isolated-child
|
|
@@ -250,8 +271,10 @@ function stripSgr(s) {
|
|
|
250
271
|
*/
|
|
251
272
|
export function classifyRunFailure(rawOutput) {
|
|
252
273
|
const output = stripSgr(rawOutput);
|
|
274
|
+
// shape detection is shared with the discrimination gate's evidence model (detectRunnerKind above).
|
|
275
|
+
const runner = detectRunnerKind(rawOutput);
|
|
253
276
|
// node --test (flat TAP, node ≥ 20 shape measured on v22.22.0)
|
|
254
|
-
if (
|
|
277
|
+
if (runner === 'node-test') {
|
|
255
278
|
const lines = output.split('\n');
|
|
256
279
|
let sawNotOk = false;
|
|
257
280
|
for (let i = 0; i < lines.length; i++) {
|
|
@@ -284,7 +307,7 @@ export function classifyRunFailure(rawOutput) {
|
|
|
284
307
|
return { runner: 'node-test', kind: 'unrecognised', evidence: 'red node --test run with no failing TAP test point — the redness has no classifiable source' };
|
|
285
308
|
}
|
|
286
309
|
// vitest (`vitest run`, shape measured on 3.2.4)
|
|
287
|
-
if (
|
|
310
|
+
if (runner === 'vitest') {
|
|
288
311
|
const failedSuites = /\bFailed Suites\s+(\d+)\b/.exec(output);
|
|
289
312
|
const suiteFail = /^\s*FAIL\s+(\S+)\s+\[\s*\1\s*\]/m.exec(output);
|
|
290
313
|
if (failedSuites !== null || suiteFail !== null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-gate.js","sourceRoot":"","sources":["../src/mutation-gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mutation-gate.js","sourceRoot":"","sources":["../src/mutation-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/operations.d.ts
CHANGED
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @packageDocumentation
|
|
7
7
|
*/
|
|
8
|
+
import { type HooksListHookMetadata } from './codex-hooks.js';
|
|
9
|
+
import type { SkillApplyFailure, SkillLoadFailure } from './skills.js';
|
|
8
10
|
import type { TargetName } from './targets.js';
|
|
11
|
+
import { type AgentsMdBudget, type PolicyDriftFinding, type PolicySource } from './agents-policy.js';
|
|
9
12
|
/** Options for {@link runInit}. */
|
|
10
13
|
export interface InitOptions {
|
|
11
14
|
readonly target: TargetName;
|
|
@@ -39,6 +42,27 @@ export interface InitReport {
|
|
|
39
42
|
* installing fewer skills than the selection asked for.
|
|
40
43
|
*/
|
|
41
44
|
readonly missing: string[];
|
|
45
|
+
/**
|
|
46
|
+
* Skill directories that could not be LOADED (unparseable `SKILL.md`, unreadable
|
|
47
|
+
* file, schema rejection). Additive and always present — empty when nothing failed.
|
|
48
|
+
*
|
|
49
|
+
* Before feature dz-cli-defects a single unloadable skill threw out of the whole
|
|
50
|
+
* loop, so `dz init`/`dz install` reported nothing at all. Skipping without a record
|
|
51
|
+
* would only trade a loud failure for a silent one; this field is the record.
|
|
52
|
+
*/
|
|
53
|
+
readonly failures: readonly SkillLoadFailure[];
|
|
54
|
+
/**
|
|
55
|
+
* Skills that LOADED cleanly but could not be compiled or written (fix round 1,
|
|
56
|
+
* QE F4). Kept separate from {@link InitReport.failures} because the two name
|
|
57
|
+
* different subjects: a load failure accuses the source `SKILL.md`, an apply
|
|
58
|
+
* failure accuses the target tree. Merging them made `EEXIST: mkdir …` print under
|
|
59
|
+
* the header "unparseable SKILL.md" against a perfectly valid file.
|
|
60
|
+
*
|
|
61
|
+
* Additive and always present — empty when nothing failed. Only `runInit` can
|
|
62
|
+
* populate it; the single-file targets render in memory and write once, outside
|
|
63
|
+
* any per-skill loop.
|
|
64
|
+
*/
|
|
65
|
+
readonly applyFailures: readonly SkillApplyFailure[];
|
|
42
66
|
}
|
|
43
67
|
/** Options for {@link runInitAgentsMd} / {@link runInitGeminiMd}. */
|
|
44
68
|
export interface AgentsMdInitOptions {
|
|
@@ -54,6 +78,33 @@ export interface AgentsMdInitOptions {
|
|
|
54
78
|
/** When set, install only these skill ids (a preset selection). */
|
|
55
79
|
readonly select?: readonly string[] | undefined;
|
|
56
80
|
}
|
|
81
|
+
/** The parts of a single-file managed-Markdown target that vary by filename. */
|
|
82
|
+
interface SingleFileMdConfig {
|
|
83
|
+
/** CLI `--target` name reported on the {@link InitReport}. */
|
|
84
|
+
readonly target: TargetName;
|
|
85
|
+
/** The root file path (`AGENTS.md` / `GEMINI.md`). */
|
|
86
|
+
readonly filePath: string;
|
|
87
|
+
/** The merge helper that owns the dz fence for this file. */
|
|
88
|
+
readonly merge: (existing: string | null, sections: readonly string[]) => string;
|
|
89
|
+
/** The one-shot lossy warning surfaced once per install. */
|
|
90
|
+
readonly lossyWarning: string;
|
|
91
|
+
}
|
|
92
|
+
export interface ManagedMarkdownWriteReport {
|
|
93
|
+
readonly filePath: string;
|
|
94
|
+
readonly changed: boolean;
|
|
95
|
+
readonly bytes: number;
|
|
96
|
+
/** The complete candidate bytes, returned so callers can run pure post-merge checks. */
|
|
97
|
+
readonly content: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The one read/merge/write path for every root managed-Markdown projection.
|
|
101
|
+
* `write:false` is check-only and never creates a directory or target file.
|
|
102
|
+
* A max-byte refusal happens before mkdir/write, leaving the target byte-identical.
|
|
103
|
+
*/
|
|
104
|
+
export declare function writeManagedMarkdown(projectRoot: string, sections: readonly string[], config: Pick<SingleFileMdConfig, 'filePath' | 'merge'>, options?: {
|
|
105
|
+
readonly write?: boolean;
|
|
106
|
+
readonly maxBytes?: number;
|
|
107
|
+
}): ManagedMarkdownWriteReport;
|
|
57
108
|
/**
|
|
58
109
|
* Aggregate every selected skill into ONE root `AGENTS.md`, merging into any
|
|
59
110
|
* user-authored file (dz owns only its fenced block). Thin wrapper over
|
|
@@ -67,6 +118,34 @@ export declare function runInitAgentsMd(options: AgentsMdInitOptions): InitRepor
|
|
|
67
118
|
* as agents-md, different filename + merge helper. See it for the full contract.
|
|
68
119
|
*/
|
|
69
120
|
export declare function runInitGeminiMd(options: AgentsMdInitOptions): InitReport;
|
|
121
|
+
export interface AgentsPolicySyncOptions {
|
|
122
|
+
readonly projectRoot: string;
|
|
123
|
+
/** Verify only. No directory or file is created, even when AGENTS.md is absent. */
|
|
124
|
+
readonly check?: boolean;
|
|
125
|
+
/** Test/extension seam; production uses the fixed ordered registry. */
|
|
126
|
+
readonly sources?: readonly PolicySource[];
|
|
127
|
+
}
|
|
128
|
+
export interface AgentsPolicySyncReport {
|
|
129
|
+
readonly filePath: 'AGENTS.md';
|
|
130
|
+
/** In check mode: the target would change. In write mode: the target did change. */
|
|
131
|
+
readonly changed: boolean;
|
|
132
|
+
readonly written: boolean;
|
|
133
|
+
readonly inSync: boolean;
|
|
134
|
+
readonly blocks: readonly {
|
|
135
|
+
readonly id: string;
|
|
136
|
+
readonly sha: string;
|
|
137
|
+
}[];
|
|
138
|
+
readonly missing: readonly string[];
|
|
139
|
+
readonly drift: readonly PolicyDriftFinding[];
|
|
140
|
+
readonly budget: AgentsMdBudget;
|
|
141
|
+
readonly warnings: readonly string[];
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Refresh or verify the policy fence in root AGENTS.md. Source reads are an
|
|
145
|
+
* explicit I/O shell around the pure agents-policy module; missing/unreadable
|
|
146
|
+
* input returns inconclusive evidence and never writes a partial projection.
|
|
147
|
+
*/
|
|
148
|
+
export declare function runSyncAgentsPolicy(options: AgentsPolicySyncOptions): AgentsPolicySyncReport;
|
|
70
149
|
/** Compile every skill in `skillsDir` for `target` and apply it under `projectRoot`. */
|
|
71
150
|
export declare function runInit(options: InitOptions): Promise<InitReport>;
|
|
72
151
|
/** Options for {@link runVerify}. */
|
|
@@ -121,6 +200,11 @@ export interface SyncReport {
|
|
|
121
200
|
missing: number;
|
|
122
201
|
drift: number;
|
|
123
202
|
};
|
|
203
|
+
/**
|
|
204
|
+
* Canonical skill directories that could not be LOADED. Additive, always present.
|
|
205
|
+
* See {@link InitReport.failures} — same contract, same reason.
|
|
206
|
+
*/
|
|
207
|
+
readonly failures: readonly SkillLoadFailure[];
|
|
124
208
|
}
|
|
125
209
|
/** Compare each canonical skill (compiled for Claude Code) to the legacy tree. */
|
|
126
210
|
export declare function runSync(options: SyncOptions): Promise<SyncReport>;
|
|
@@ -158,4 +242,73 @@ export interface DoctorReport {
|
|
|
158
242
|
export declare function runDoctor(options: {
|
|
159
243
|
projectRoot: string;
|
|
160
244
|
}): Promise<DoctorReport>;
|
|
245
|
+
export interface CodexHooksSyncOptions {
|
|
246
|
+
/** Defaults to `$CODEX_HOME`, then `~/.codex`. Every automated probe passes a temp dir (AM-11). */
|
|
247
|
+
readonly codexHome?: string;
|
|
248
|
+
/** Verify only. NOTHING is created — not even the helper directory. */
|
|
249
|
+
readonly check?: boolean;
|
|
250
|
+
/** Remove manifest-attributed entries and stop. */
|
|
251
|
+
readonly remove?: boolean;
|
|
252
|
+
/** Absolute interpreter for the emitted command. Defaults to `process.execPath` (AM-32). */
|
|
253
|
+
readonly nodePath?: string;
|
|
254
|
+
/**
|
|
255
|
+
* Test seam: `false` skips EVERY live runtime call — the `$SHELL -lc` liveness self-probe AND the
|
|
256
|
+
* `hooks/list` trust query. Both spawn processes (the RPC drives a real `codex app-server`), which
|
|
257
|
+
* is seconds per install; a test that installs six times to check backup pruning is measuring
|
|
258
|
+
* pruning, not the runtime. With it off, `trust` is reported `'unknown'` rather than assumed.
|
|
259
|
+
*/
|
|
260
|
+
readonly liveness?: boolean;
|
|
261
|
+
/** Test seam. Production probes the real binary. */
|
|
262
|
+
readonly codexVersion?: string | null;
|
|
263
|
+
readonly now?: string;
|
|
264
|
+
}
|
|
265
|
+
export interface CodexHooksSyncReport {
|
|
266
|
+
readonly codexHome: string;
|
|
267
|
+
readonly registryPath: string;
|
|
268
|
+
/** Both managed entries are present in the file (recomputed from the FILE, not the manifest). */
|
|
269
|
+
readonly installed: boolean;
|
|
270
|
+
/** The emitted command actually RUNS through `$SHELL -lc`. A hook that cannot execute is not armed. */
|
|
271
|
+
readonly executable: boolean;
|
|
272
|
+
readonly written: boolean;
|
|
273
|
+
readonly removed: number;
|
|
274
|
+
readonly foreignPreserved: number;
|
|
275
|
+
readonly unattributable: number;
|
|
276
|
+
readonly drift: readonly string[];
|
|
277
|
+
readonly trust: 'trusted' | 'trust-pending' | 'unknown';
|
|
278
|
+
readonly codexVersion: string | null;
|
|
279
|
+
/** 0 = armed+trusted · 1 = not armed / drift / refusal · 3 = inconclusive. */
|
|
280
|
+
readonly exitCode: 0 | 1 | 3;
|
|
281
|
+
readonly warnings: readonly string[];
|
|
282
|
+
readonly errors: readonly string[];
|
|
283
|
+
/** Written paths, for the declared-write-set test. */
|
|
284
|
+
readonly writes: readonly string[];
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Run the emitted command THE WAY THE RUNTIME WILL — through `$SHELL -lc` (AM-32 / G-L).
|
|
288
|
+
*
|
|
289
|
+
* MEASURED: the codex hook runner spawns via `$SHELL -lc`, and under nvm/asdf/volta a
|
|
290
|
+
* non-interactive login shell frequently lacks `node`. The helper then exits **127**, which the
|
|
291
|
+
* runtime reads as **ALLOW** — a blocking guard that is silently dead in the fail-open direction,
|
|
292
|
+
* with the helper's own self-failure note unable to fire because the process never started.
|
|
293
|
+
* Grading on file presence would call that "installed".
|
|
294
|
+
*/
|
|
295
|
+
export declare function probeHookLiveness(command: string, payload: string): {
|
|
296
|
+
readonly status: number | null;
|
|
297
|
+
readonly stderr: string;
|
|
298
|
+
};
|
|
299
|
+
/**
|
|
300
|
+
* Install, verify or remove the dz Codex hooks.
|
|
301
|
+
*
|
|
302
|
+
* Order is load-bearing: every REFUSAL happens before any `mkdir` or write, so a machine without
|
|
303
|
+
* codex, or with an unparseable registry, is left byte-untouched (AM-35a).
|
|
304
|
+
*/
|
|
305
|
+
export declare function runSyncCodexHooks(options?: CodexHooksSyncOptions): CodexHooksSyncReport;
|
|
306
|
+
/**
|
|
307
|
+
* Drive `codex app-server` over stdio for one `hooks/list` call.
|
|
308
|
+
*
|
|
309
|
+
* MEASURED headless (M0 spike, probe 1): `initialize` → `initialized` → `hooks/list` answers with
|
|
310
|
+
* `key`, `currentHash`, `trustStatus` and `sourcePath` for every discovered entry, no TUI involved.
|
|
311
|
+
*/
|
|
312
|
+
export declare function listCodexHooks(codexHome: string, cwd?: string): readonly HooksListHookMetadata[] | null;
|
|
313
|
+
export {};
|
|
161
314
|
//# sourceMappingURL=operations.d.ts.map
|