@lannguyensi/harness 0.7.0 → 0.8.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/CHANGELOG.md +229 -0
- package/README.md +56 -17
- package/dist/cli/apply/apply.d.ts +13 -0
- package/dist/cli/apply/apply.js +59 -3
- package/dist/cli/apply/apply.js.map +1 -1
- package/dist/cli/apply/generate-codex-config.d.ts +6 -0
- package/dist/cli/apply/generate-codex-config.js +149 -0
- package/dist/cli/apply/generate-codex-config.js.map +1 -0
- package/dist/cli/apply/generate-settings.d.ts +15 -1
- package/dist/cli/apply/generate-settings.js +16 -1
- package/dist/cli/apply/generate-settings.js.map +1 -1
- package/dist/cli/apply/index.d.ts +2 -1
- package/dist/cli/apply/index.js +2 -1
- package/dist/cli/apply/index.js.map +1 -1
- package/dist/cli/approve/understanding.d.ts +39 -0
- package/dist/cli/approve/understanding.js +122 -0
- package/dist/cli/approve/understanding.js.map +1 -0
- package/dist/cli/doctor/codex.d.ts +34 -0
- package/dist/cli/doctor/codex.js +331 -0
- package/dist/cli/doctor/codex.js.map +1 -0
- package/dist/cli/doctor/format.js +11 -0
- package/dist/cli/doctor/format.js.map +1 -1
- package/dist/cli/doctor/index.d.ts +13 -1
- package/dist/cli/doctor/index.js +19 -0
- package/dist/cli/doctor/index.js.map +1 -1
- package/dist/cli/doctor/types.d.ts +21 -1
- package/dist/cli/doctor/types.js +12 -1
- package/dist/cli/doctor/types.js.map +1 -1
- package/dist/cli/index.js +261 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/pack/add.d.ts +13 -0
- package/dist/cli/pack/add.js +71 -0
- package/dist/cli/pack/add.js.map +1 -0
- package/dist/cli/pack/hook-codex-pre-tool-use.d.ts +30 -0
- package/dist/cli/pack/hook-codex-pre-tool-use.js +149 -0
- package/dist/cli/pack/hook-codex-pre-tool-use.js.map +1 -0
- package/dist/cli/pack/hook-codex-stop.d.ts +31 -0
- package/dist/cli/pack/hook-codex-stop.js +332 -0
- package/dist/cli/pack/hook-codex-stop.js.map +1 -0
- package/dist/cli/pack/hook-codex-user-prompt-submit.d.ts +18 -0
- package/dist/cli/pack/hook-codex-user-prompt-submit.js +92 -0
- package/dist/cli/pack/hook-codex-user-prompt-submit.js.map +1 -0
- package/dist/cli/pack/hook-pre-tool-use.d.ts +32 -0
- package/dist/cli/pack/hook-pre-tool-use.js +181 -0
- package/dist/cli/pack/hook-pre-tool-use.js.map +1 -0
- package/dist/cli/pack/index.d.ts +4 -0
- package/dist/cli/pack/index.js +5 -0
- package/dist/cli/pack/index.js.map +1 -0
- package/dist/cli/pack/list.d.ts +10 -0
- package/dist/cli/pack/list.js +43 -0
- package/dist/cli/pack/list.js.map +1 -0
- package/dist/cli/pack/mutate.d.ts +14 -0
- package/dist/cli/pack/mutate.js +76 -0
- package/dist/cli/pack/mutate.js.map +1 -0
- package/dist/cli/pack/remove.d.ts +15 -0
- package/dist/cli/pack/remove.js +153 -0
- package/dist/cli/pack/remove.js.map +1 -0
- package/dist/cli/policy/intercept.js +24 -0
- package/dist/cli/policy/intercept.js.map +1 -1
- package/dist/cli/validate/checks.js +32 -0
- package/dist/cli/validate/checks.js.map +1 -1
- package/dist/policy-packs/builtin/permission-profiles.d.ts +11 -0
- package/dist/policy-packs/builtin/permission-profiles.js +74 -0
- package/dist/policy-packs/builtin/permission-profiles.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.d.ts +56 -0
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js +186 -0
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution.d.ts +15 -0
- package/dist/policy-packs/builtin/understanding-before-execution.js +254 -0
- package/dist/policy-packs/builtin/understanding-before-execution.js.map +1 -0
- package/dist/policy-packs/expand.d.ts +4 -0
- package/dist/policy-packs/expand.js +90 -0
- package/dist/policy-packs/expand.js.map +1 -0
- package/dist/policy-packs/index.d.ts +5 -0
- package/dist/policy-packs/index.js +5 -0
- package/dist/policy-packs/index.js.map +1 -0
- package/dist/policy-packs/permission-translator.d.ts +9 -0
- package/dist/policy-packs/permission-translator.js +76 -0
- package/dist/policy-packs/permission-translator.js.map +1 -0
- package/dist/policy-packs/registry.d.ts +11 -0
- package/dist/policy-packs/registry.js +20 -0
- package/dist/policy-packs/registry.js.map +1 -0
- package/dist/policy-packs/runtime.d.ts +8 -0
- package/dist/policy-packs/runtime.js +30 -0
- package/dist/policy-packs/runtime.js.map +1 -0
- package/dist/policy-packs/source.d.ts +6 -0
- package/dist/policy-packs/source.js +10 -0
- package/dist/policy-packs/source.js.map +1 -0
- package/dist/policy-packs/types.d.ts +41 -0
- package/dist/policy-packs/types.js +11 -0
- package/dist/policy-packs/types.js.map +1 -0
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/intercept.d.ts +20 -1
- package/dist/runtime/intercept.js +18 -6
- package/dist/runtime/intercept.js.map +1 -1
- package/dist/runtime/ledger-add.d.ts +16 -0
- package/dist/runtime/ledger-add.js +139 -0
- package/dist/runtime/ledger-add.js.map +1 -0
- package/dist/schema/index.d.ts +1485 -10
- package/dist/schema/index.js +6 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/permission-profiles.d.ts +2161 -0
- package/dist/schema/permission-profiles.js +60 -0
- package/dist/schema/permission-profiles.js.map +1 -0
- package/dist/schema/policy-packs.d.ts +52 -0
- package/dist/schema/policy-packs.js +35 -0
- package/dist/schema/policy-packs.js.map +1 -0
- package/dist/schema/tools.d.ts +8 -8
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -4,11 +4,18 @@ import { add } from "./add/index.js";
|
|
|
4
4
|
import { adopt } from "./adopt/index.js";
|
|
5
5
|
import { apply, DRIFT_HINT_MESSAGE, formatNextSteps, SETTINGS_BASENAME, } from "./apply/index.js";
|
|
6
6
|
import { isRemoveType, KNOWN_REMOVE_TYPES, remove } from "./remove/index.js";
|
|
7
|
+
import { packAdd, packList, packRemove } from "./pack/index.js";
|
|
8
|
+
import { runPackHookPreToolUseCli } from "./pack/hook-pre-tool-use.js";
|
|
9
|
+
import { runPackHookCodexPreToolUseCli } from "./pack/hook-codex-pre-tool-use.js";
|
|
10
|
+
import { runPackHookCodexStopCli } from "./pack/hook-codex-stop.js";
|
|
11
|
+
import { runPackHookCodexUserPromptSubmitCli } from "./pack/hook-codex-user-prompt-submit.js";
|
|
12
|
+
import { isRuntime, KNOWN_RUNTIMES } from "../policy-packs/index.js";
|
|
13
|
+
import { approveUnderstanding } from "./approve/understanding.js";
|
|
7
14
|
import { describe, isPillar } from "./describe.js";
|
|
8
15
|
import { diff as diffRun } from "./diff/index.js";
|
|
9
16
|
import { diffSinceApply } from "./diff/since-apply.js";
|
|
10
17
|
import { exportManifest } from "./export.js";
|
|
11
|
-
import { doctor } from "./doctor/index.js";
|
|
18
|
+
import { doctor, isDoctorTarget, KNOWN_DOCTOR_TARGETS } from "./doctor/index.js";
|
|
12
19
|
import { format as formatDoctor } from "./doctor/format.js";
|
|
13
20
|
import { EX_FAIL, EX_USAGE, HarnessExitError } from "./exit-codes.js";
|
|
14
21
|
import { explain } from "./explain.js";
|
|
@@ -99,12 +106,27 @@ export function buildProgram(opts = {}) {
|
|
|
99
106
|
.option("--config <path>", "manifest path (default: ~/.claude/harness.yaml)")
|
|
100
107
|
.option("--project <name>", "apply per-project overrides for this project name")
|
|
101
108
|
.option("--shallow", "skip MCP probes (CLI --version probes still run); report manifest-reference state only")
|
|
109
|
+
.option("--target <runtime>", `additionally evaluate the harness-side adapter health for a runtime (allowed: ${KNOWN_DOCTOR_TARGETS.join(", ")})`)
|
|
110
|
+
.option("--json", "emit a structured JSON DoctorReport instead of prose")
|
|
102
111
|
.action(async (options) => {
|
|
112
|
+
let target;
|
|
113
|
+
if (options.target !== undefined) {
|
|
114
|
+
if (!isDoctorTarget(options.target)) {
|
|
115
|
+
stderr(`unknown --target ${JSON.stringify(options.target)}; expected one of ${KNOWN_DOCTOR_TARGETS.join(", ")}\n`);
|
|
116
|
+
throw new HarnessExitError("", EX_USAGE);
|
|
117
|
+
}
|
|
118
|
+
target = options.target;
|
|
119
|
+
}
|
|
103
120
|
const report = await doctor({
|
|
104
121
|
configPath: options.config,
|
|
105
122
|
project: options.project,
|
|
106
123
|
shallow: options.shallow,
|
|
124
|
+
...(target !== undefined ? { target } : {}),
|
|
107
125
|
});
|
|
126
|
+
if (options.json) {
|
|
127
|
+
stdout(`${JSON.stringify(report, null, 2)}\n`);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
108
130
|
stdout(formatDoctor(report));
|
|
109
131
|
});
|
|
110
132
|
program
|
|
@@ -367,9 +389,20 @@ export function buildProgram(opts = {}) {
|
|
|
367
389
|
.option("--target <path>", "additionally write the generated settings.json to <path> (e.g. .claude/settings.local.json)")
|
|
368
390
|
.option("--merge", "with --target, 3-way merge into an existing target file (replace owned keys, preserve others)")
|
|
369
391
|
.option("--force", "with --target, overwrite an existing target file (no merge)")
|
|
392
|
+
.option("--runtime <runtime>", `policy-pack adapter runtime (${KNOWN_RUNTIMES.join(" | ")}; default: claude-code). ` +
|
|
393
|
+
"Selects which adapter shape policy-pack hooks expand into and which artefacts apply writes. " +
|
|
394
|
+
"`codex` emits harness.generated/codex/config.toml in place of settings.json.")
|
|
370
395
|
.option("--quiet", "suppress the post-apply Next-steps hint")
|
|
371
396
|
.option("--json", "emit a structured JSON summary instead of prose (implies --quiet)")
|
|
372
397
|
.action(async (options) => {
|
|
398
|
+
let runtime;
|
|
399
|
+
if (options.runtime !== undefined) {
|
|
400
|
+
if (!isRuntime(options.runtime)) {
|
|
401
|
+
stderr(`unknown --runtime ${JSON.stringify(options.runtime)}; expected one of ${KNOWN_RUNTIMES.join(", ")}\n`);
|
|
402
|
+
throw new HarnessExitError("", EX_USAGE);
|
|
403
|
+
}
|
|
404
|
+
runtime = options.runtime;
|
|
405
|
+
}
|
|
373
406
|
// --json is documented as implying --quiet. Normalize early so any
|
|
374
407
|
// future fall-through path (or new prose branch) honors it without
|
|
375
408
|
// depending on the JSON early-return below as the only chokepoint.
|
|
@@ -384,6 +417,7 @@ export function buildProgram(opts = {}) {
|
|
|
384
417
|
...(options.target !== undefined ? { target: options.target } : {}),
|
|
385
418
|
...(options.merge ? { merge: true } : {}),
|
|
386
419
|
...(options.force ? { force: true } : {}),
|
|
420
|
+
...(runtime !== undefined ? { runtime } : {}),
|
|
387
421
|
});
|
|
388
422
|
if (options.json) {
|
|
389
423
|
// Machine-readable: one JSON object on stdout regardless of
|
|
@@ -508,6 +542,228 @@ export function buildProgram(opts = {}) {
|
|
|
508
542
|
}
|
|
509
543
|
stdout(`removed ${result.type} ${JSON.stringify(result.name)} from ${result.path}\n`);
|
|
510
544
|
});
|
|
545
|
+
// `harness pack` subtree (Phase 6 #3): managed CRUD over policy_packs[].
|
|
546
|
+
const packCmd = program
|
|
547
|
+
.command("pack")
|
|
548
|
+
.description("Manage policy_packs[] entries (add / remove / list)");
|
|
549
|
+
packCmd
|
|
550
|
+
.command("add <name>")
|
|
551
|
+
.description("Insert a new policy_packs entry. <name> must be a known builtin (see docs/policy-packs/).")
|
|
552
|
+
.option("--config <path>", "manifest path (default: ~/.claude/harness.yaml)")
|
|
553
|
+
.option("--mode <mode>", "pack-specific config.mode value (e.g. fast_confirm | grill_me | strict)")
|
|
554
|
+
.option("--source <src>", "pack source (default: builtin)")
|
|
555
|
+
.option("--description <text>", "operator-facing description")
|
|
556
|
+
.option("--disabled", "register as enabled: false")
|
|
557
|
+
.option("--dry-run", "print the unified diff and exit without writing")
|
|
558
|
+
.action(async (name, options) => {
|
|
559
|
+
const entry = { name };
|
|
560
|
+
if (options.source !== undefined)
|
|
561
|
+
entry.source = options.source;
|
|
562
|
+
if (options.disabled === true)
|
|
563
|
+
entry.enabled = false;
|
|
564
|
+
if (options.description !== undefined)
|
|
565
|
+
entry.description = options.description;
|
|
566
|
+
if (options.mode !== undefined)
|
|
567
|
+
entry.config = { mode: options.mode };
|
|
568
|
+
const result = await packAdd(entry, {
|
|
569
|
+
configPath: options.config,
|
|
570
|
+
dryRun: options.dryRun,
|
|
571
|
+
});
|
|
572
|
+
if (options.dryRun) {
|
|
573
|
+
stdout(result.diff);
|
|
574
|
+
return;
|
|
575
|
+
}
|
|
576
|
+
stdout(`added policy_packs entry ${JSON.stringify(result.name)} to ${result.path}\n`);
|
|
577
|
+
});
|
|
578
|
+
packCmd
|
|
579
|
+
.command("remove <name>")
|
|
580
|
+
.description("Remove a policy_packs entry. Refuses without --force when applied state " +
|
|
581
|
+
"is recorded in .last-apply.")
|
|
582
|
+
.option("--config <path>", "manifest path (default: ~/.claude/harness.yaml)")
|
|
583
|
+
.option("--dry-run", "print the unified diff and exit without writing")
|
|
584
|
+
.option("--force", "remove the manifest entry AND clean up the on-disk pack files + .last-apply state")
|
|
585
|
+
.action(async (name, options) => {
|
|
586
|
+
const result = await packRemove(name, {
|
|
587
|
+
configPath: options.config,
|
|
588
|
+
dryRun: options.dryRun,
|
|
589
|
+
force: options.force,
|
|
590
|
+
});
|
|
591
|
+
if (result.cleanedFiles.length > 0) {
|
|
592
|
+
stderr(`(forced cleanup — removed ${result.cleanedFiles.length} pack file(s) and pruned .last-apply)\n`);
|
|
593
|
+
}
|
|
594
|
+
if (options.dryRun) {
|
|
595
|
+
stdout(result.diff);
|
|
596
|
+
return;
|
|
597
|
+
}
|
|
598
|
+
stdout(`removed policy_packs entry ${JSON.stringify(result.name)} from ${result.path}\n`);
|
|
599
|
+
});
|
|
600
|
+
// `harness pack hook` runtime sub-tree (Phase 6 #4): wired by the
|
|
601
|
+
// pack's PreToolUse hook contribution; reads PreToolUse JSON from
|
|
602
|
+
// stdin, consults ledger + persisted-report, emits Claude Code deny
|
|
603
|
+
// JSON on block.
|
|
604
|
+
const packHookCmd = packCmd
|
|
605
|
+
.command("hook")
|
|
606
|
+
.description("Pack runtime hook entrypoints (called by Claude Code via settings.json)");
|
|
607
|
+
packHookCmd
|
|
608
|
+
.command("pre-tool-use")
|
|
609
|
+
.description("PreToolUse blocker: read tool-event JSON from stdin, consult ledger + persisted report, emit deny JSON on block")
|
|
610
|
+
.option("--config <path>", "manifest path (default: ~/.claude/harness.yaml)")
|
|
611
|
+
.option("--project <name>", "apply per-project overrides")
|
|
612
|
+
.option("--pack <name>", "pack name to evaluate (default: understanding-before-execution)")
|
|
613
|
+
.option("--ledger-timeout <ms>", "per-call ledger timeout in milliseconds")
|
|
614
|
+
.option("--reports-dir <path>", "override the persisted-report directory (default: ./.understanding-gate/reports)")
|
|
615
|
+
.action(async (options) => {
|
|
616
|
+
const cliOpts = {};
|
|
617
|
+
if (options.config)
|
|
618
|
+
cliOpts.configPath = options.config;
|
|
619
|
+
if (options.project)
|
|
620
|
+
cliOpts.project = options.project;
|
|
621
|
+
if (options.pack)
|
|
622
|
+
cliOpts.pack = options.pack;
|
|
623
|
+
if (options.reportsDir)
|
|
624
|
+
cliOpts.reportsDir = options.reportsDir;
|
|
625
|
+
if (options.ledgerTimeout) {
|
|
626
|
+
const n = Number.parseInt(options.ledgerTimeout, 10);
|
|
627
|
+
if (Number.isFinite(n) && n > 0)
|
|
628
|
+
cliOpts.ledgerTimeoutMs = n;
|
|
629
|
+
}
|
|
630
|
+
await runPackHookPreToolUseCli(cliOpts);
|
|
631
|
+
});
|
|
632
|
+
// Phase 6 #6 — Codex adapter sub-commands. Mirror the pre-tool-use
|
|
633
|
+
// shape; UserPromptSubmit equivalent injects the instruction template
|
|
634
|
+
// on stdout for Codex to prepend to additional_instructions.
|
|
635
|
+
packHookCmd
|
|
636
|
+
.command("codex-pre-tool-use")
|
|
637
|
+
.description("Codex PreToolUse blocker: read tool-event JSON from stdin, consult ledger + persisted report, exit 2 with stderr reason on block")
|
|
638
|
+
.option("--config <path>", "manifest path (default: ~/.claude/harness.yaml)")
|
|
639
|
+
.option("--project <name>", "apply per-project overrides")
|
|
640
|
+
.option("--pack <name>", "pack name to evaluate (default: understanding-before-execution)")
|
|
641
|
+
.option("--ledger-timeout <ms>", "per-call ledger timeout in milliseconds")
|
|
642
|
+
.option("--reports-dir <path>", "override the persisted-report directory (default: ./.understanding-gate/reports)")
|
|
643
|
+
.action(async (options) => {
|
|
644
|
+
const cliOpts = {};
|
|
645
|
+
if (options.config)
|
|
646
|
+
cliOpts.configPath = options.config;
|
|
647
|
+
if (options.project)
|
|
648
|
+
cliOpts.project = options.project;
|
|
649
|
+
if (options.pack)
|
|
650
|
+
cliOpts.pack = options.pack;
|
|
651
|
+
if (options.reportsDir)
|
|
652
|
+
cliOpts.reportsDir = options.reportsDir;
|
|
653
|
+
if (options.ledgerTimeout) {
|
|
654
|
+
const n = Number.parseInt(options.ledgerTimeout, 10);
|
|
655
|
+
if (Number.isFinite(n) && n > 0)
|
|
656
|
+
cliOpts.ledgerTimeoutMs = n;
|
|
657
|
+
}
|
|
658
|
+
const result = await runPackHookCodexPreToolUseCli(cliOpts);
|
|
659
|
+
if (result.exitCode !== 0) {
|
|
660
|
+
throw new HarnessExitError("", result.exitCode);
|
|
661
|
+
}
|
|
662
|
+
});
|
|
663
|
+
packHookCmd
|
|
664
|
+
.command("codex-user-prompt-submit")
|
|
665
|
+
.description("Codex UserPromptSubmit injector: emit the Understanding-Gate instruction template on stdout for Codex to prepend to additional_instructions")
|
|
666
|
+
.option("--config <path>", "manifest path (default: ~/.claude/harness.yaml)")
|
|
667
|
+
.option("--project <name>", "apply per-project overrides")
|
|
668
|
+
.option("--pack <name>", "pack name to evaluate (default: understanding-before-execution)")
|
|
669
|
+
.action(async (options) => {
|
|
670
|
+
const cliOpts = {};
|
|
671
|
+
if (options.config)
|
|
672
|
+
cliOpts.configPath = options.config;
|
|
673
|
+
if (options.project)
|
|
674
|
+
cliOpts.project = options.project;
|
|
675
|
+
if (options.pack)
|
|
676
|
+
cliOpts.pack = options.pack;
|
|
677
|
+
await runPackHookCodexUserPromptSubmitCli(cliOpts);
|
|
678
|
+
});
|
|
679
|
+
packHookCmd
|
|
680
|
+
.command("codex-stop")
|
|
681
|
+
.description("Codex Stop-equivalent: parse the agent's last message for an Understanding Report and persist it under .understanding-gate/reports/ as approvalStatus:pending. Failure modes resolve to exit 0 (capture must never block the agent's stop path).")
|
|
682
|
+
.option("--config <path>", "manifest path (default: ~/.claude/harness.yaml)")
|
|
683
|
+
.option("--project <name>", "apply per-project overrides")
|
|
684
|
+
.option("--pack <name>", "pack name to evaluate (default: understanding-before-execution)")
|
|
685
|
+
.option("--reports-dir <path>", "override the persisted-report directory (default: ./.understanding-gate/reports)")
|
|
686
|
+
.action(async (options) => {
|
|
687
|
+
const cliOpts = {};
|
|
688
|
+
if (options.config)
|
|
689
|
+
cliOpts.configPath = options.config;
|
|
690
|
+
if (options.project)
|
|
691
|
+
cliOpts.project = options.project;
|
|
692
|
+
if (options.pack)
|
|
693
|
+
cliOpts.pack = options.pack;
|
|
694
|
+
if (options.reportsDir)
|
|
695
|
+
cliOpts.reportsDir = options.reportsDir;
|
|
696
|
+
// Intentional: codex-stop's contract is fail-open. The runner
|
|
697
|
+
// returns exitCode 0 on every code path (including malformed
|
|
698
|
+
// input, missing session, parser misses); we deliberately do
|
|
699
|
+
// NOT throw HarnessExitError on a non-zero exit the way the
|
|
700
|
+
// codex-pre-tool-use sibling does. A future runner change
|
|
701
|
+
// that introduces a non-zero exit must also revisit this
|
|
702
|
+
// contract.
|
|
703
|
+
await runPackHookCodexStopCli(cliOpts);
|
|
704
|
+
});
|
|
705
|
+
packCmd
|
|
706
|
+
.command("list")
|
|
707
|
+
.description("Print policy_packs entries as a flat table or JSON.")
|
|
708
|
+
.option("--config <path>", "manifest path (default: ~/.claude/harness.yaml)")
|
|
709
|
+
.option("--project <name>", "apply per-project overrides")
|
|
710
|
+
.option("--enabled-only", "skip entries with enabled: false")
|
|
711
|
+
.option("--json", "emit JSON array instead of an aligned text table")
|
|
712
|
+
.action((options) => {
|
|
713
|
+
const result = packList({
|
|
714
|
+
...(options.config !== undefined ? { configPath: options.config } : {}),
|
|
715
|
+
...(options.project !== undefined ? { project: options.project } : {}),
|
|
716
|
+
...(options.enabledOnly === true ? { enabledOnly: true } : {}),
|
|
717
|
+
...(options.json === true ? { json: true } : {}),
|
|
718
|
+
});
|
|
719
|
+
stdout(result.output);
|
|
720
|
+
});
|
|
721
|
+
// `harness approve` (Phase 6 #4): operator-driven approval verbs.
|
|
722
|
+
// Today only `understanding` is implemented; other packs can plug in
|
|
723
|
+
// sister sub-commands (e.g. `harness approve preflight`) without
|
|
724
|
+
// restructuring this surface.
|
|
725
|
+
const approveCmd = program
|
|
726
|
+
.command("approve")
|
|
727
|
+
.description("Operator-driven approval verbs (writes evidence-ledger tags + flips persisted artefacts)");
|
|
728
|
+
approveCmd
|
|
729
|
+
.command("understanding")
|
|
730
|
+
.description("Mark the latest Understanding Report as approved AND write the evidence-ledger tag. " +
|
|
731
|
+
"Round-trips both sources so harnessed and solo (@lannguyensi/understanding-gate) stacks stay in sync.")
|
|
732
|
+
.option("--config <path>", "manifest path (default: ~/.claude/harness.yaml)")
|
|
733
|
+
.option("--project <name>", "apply per-project overrides")
|
|
734
|
+
.option("--session <id>", "explicit session id (default: $CLAUDE_SESSION_ID)")
|
|
735
|
+
.option("--reports-dir <path>", "override the persisted-report directory (default: ./.understanding-gate/reports)")
|
|
736
|
+
.option("--approved-by <actor>", "actor to record on the persisted report (default: harness-approve-cli)")
|
|
737
|
+
.action(async (options) => {
|
|
738
|
+
const cliOpts = {};
|
|
739
|
+
if (options.config)
|
|
740
|
+
cliOpts.configPath = options.config;
|
|
741
|
+
if (options.project)
|
|
742
|
+
cliOpts.project = options.project;
|
|
743
|
+
if (options.session)
|
|
744
|
+
cliOpts.session = options.session;
|
|
745
|
+
if (options.reportsDir)
|
|
746
|
+
cliOpts.reportsDir = options.reportsDir;
|
|
747
|
+
if (options.approvedBy)
|
|
748
|
+
cliOpts.approvedBy = options.approvedBy;
|
|
749
|
+
const result = await approveUnderstanding(cliOpts);
|
|
750
|
+
const lines = [];
|
|
751
|
+
lines.push(`session: ${result.sessionId}`);
|
|
752
|
+
if (result.ledger.ok) {
|
|
753
|
+
lines.push(`ledger: ✓ wrote ${result.ledger.tag}`);
|
|
754
|
+
}
|
|
755
|
+
else {
|
|
756
|
+
lines.push(`ledger: ⚠ skipped (${result.ledger.reason ?? "unknown"})`);
|
|
757
|
+
}
|
|
758
|
+
if (result.persistedReport.ok) {
|
|
759
|
+
const prev = result.persistedReport.previousStatus ?? "<missing>";
|
|
760
|
+
lines.push(`report: ✓ ${result.persistedReport.filePath} (approvalStatus: ${prev} → approved)`);
|
|
761
|
+
}
|
|
762
|
+
else {
|
|
763
|
+
lines.push(`report: ⚠ skipped (${result.persistedReport.reason})`);
|
|
764
|
+
}
|
|
765
|
+
stdout(`${lines.join("\n")}\n`);
|
|
766
|
+
});
|
|
511
767
|
const VALID_DECISION_FILTERS = ["allow", "deny", "warn-degraded"];
|
|
512
768
|
const isDecisionFilter = (v) => VALID_DECISION_FILTERS.includes(v);
|
|
513
769
|
program
|
|
@@ -635,7 +891,10 @@ export function buildProgram(opts = {}) {
|
|
|
635
891
|
const policy = program.command("policy").description("Policy runtime verbs");
|
|
636
892
|
policy
|
|
637
893
|
.command("intercept")
|
|
638
|
-
.description("PreToolUse hook entrypoint: read tool-event JSON from stdin, evaluate matching policies, emit Claude Code deny JSON on block"
|
|
894
|
+
.description("PreToolUse hook entrypoint: read tool-event JSON from stdin, evaluate matching policies, emit Claude Code deny JSON on block. " +
|
|
895
|
+
"Stdin shape (per Claude Code hook protocol): " +
|
|
896
|
+
"{ session_id, hook_event_name, tool_name, tool_input, cwd?, transcript_path? }. " +
|
|
897
|
+
"hook_event_name is required for any policy to match; if missing or unmatched, a one-line diagnostic is written to stderr.")
|
|
639
898
|
.option("--config <path>", "manifest path (default: ~/.claude/harness.yaml)")
|
|
640
899
|
.option("--project <name>", "apply per-project overrides")
|
|
641
900
|
.option("--ledger-timeout <ms>", "per-call ledger timeout in milliseconds")
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type PackAddEntry } from "./mutate.js";
|
|
2
|
+
export interface PackAddOptions {
|
|
3
|
+
configPath?: string;
|
|
4
|
+
homeDir?: string;
|
|
5
|
+
dryRun?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface PackAddResult {
|
|
8
|
+
path: string;
|
|
9
|
+
name: string;
|
|
10
|
+
diff: string;
|
|
11
|
+
applied: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function packAdd(entry: PackAddEntry, opts?: PackAddOptions): Promise<PackAddResult>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// `harness pack add <name>` — managed insert into policy_packs[].
|
|
2
|
+
//
|
|
3
|
+
// Mirrors src/cli/add/index.ts: schema-validate-before-write under a
|
|
4
|
+
// flock; surface dup-name + bad-mode errors at the point the user runs
|
|
5
|
+
// the command, not at the next `harness apply`.
|
|
6
|
+
import * as fs from "node:fs";
|
|
7
|
+
import * as os from "node:os";
|
|
8
|
+
import * as path from "node:path";
|
|
9
|
+
import { parse as parseYaml } from "yaml";
|
|
10
|
+
import { atomicWriteFile } from "../../io/atomic-write.js";
|
|
11
|
+
import { withFileLock } from "../../io/lock.js";
|
|
12
|
+
import { unifiedDiff } from "../../io/patch.js";
|
|
13
|
+
import { formatValidationErrors, validateBeforeWrite, } from "../../io/validate-before-write.js";
|
|
14
|
+
import { isBuiltinPackName } from "../../policy-packs/index.js";
|
|
15
|
+
import { parsePackSource } from "../../policy-packs/source.js";
|
|
16
|
+
import { EX_FAIL, EX_NOINPUT, HarnessExitError } from "../exit-codes.js";
|
|
17
|
+
import { applyPackAdd } from "./mutate.js";
|
|
18
|
+
const DEFAULT_BASENAME = "harness.yaml";
|
|
19
|
+
const LOCK_BASENAME = ".harness.lock";
|
|
20
|
+
function resolveTargetPath(opts) {
|
|
21
|
+
if (opts.configPath)
|
|
22
|
+
return path.resolve(opts.configPath);
|
|
23
|
+
return path.join(opts.homeDir ?? path.join(os.homedir(), ".claude"), DEFAULT_BASENAME);
|
|
24
|
+
}
|
|
25
|
+
export async function packAdd(entry, opts = {}) {
|
|
26
|
+
const target = resolveTargetPath(opts);
|
|
27
|
+
if (!fs.existsSync(target)) {
|
|
28
|
+
throw new HarnessExitError(`harness manifest not found at ${target}; run \`harness init\` first`, EX_NOINPUT);
|
|
29
|
+
}
|
|
30
|
+
// Pre-flight: catch obviously-broken inputs before we touch the file lock.
|
|
31
|
+
// The schema validate-before-write below catches the same conditions, but
|
|
32
|
+
// surfacing a typed message here gives the user a one-liner hint instead
|
|
33
|
+
// of a zod issue tree for the common cases.
|
|
34
|
+
const sourceParsed = parsePackSource(entry.source ?? "builtin");
|
|
35
|
+
if (sourceParsed.kind === "unknown") {
|
|
36
|
+
throw new HarnessExitError(`policy_packs source ${JSON.stringify(entry.source)} is not recognised in v1 (only "builtin" resolves). See docs/policy-packs/.`, EX_FAIL);
|
|
37
|
+
}
|
|
38
|
+
if (sourceParsed.kind === "builtin" && !isBuiltinPackName(entry.name)) {
|
|
39
|
+
throw new HarnessExitError(`policy_packs name ${JSON.stringify(entry.name)} is not a known builtin pack. See docs/policy-packs/ for supported names.`, EX_FAIL);
|
|
40
|
+
}
|
|
41
|
+
const original = fs.readFileSync(target, "utf8");
|
|
42
|
+
const proposed = applyPackAdd(original, entry);
|
|
43
|
+
const diff = unifiedDiff({
|
|
44
|
+
fileName: path.basename(target),
|
|
45
|
+
oldText: original,
|
|
46
|
+
newText: proposed,
|
|
47
|
+
oldHeader: "current",
|
|
48
|
+
newHeader: "proposed",
|
|
49
|
+
});
|
|
50
|
+
// Schema gate: this is what catches duplicate-name across packs (the
|
|
51
|
+
// PolicyPacksSchema superRefine fires here).
|
|
52
|
+
const schemaResult = validateBeforeWrite(parseYaml(proposed));
|
|
53
|
+
if (!schemaResult.ok) {
|
|
54
|
+
throw new HarnessExitError(`proposed manifest fails schema validation:\n${formatValidationErrors(schemaResult.errors)}`, EX_FAIL);
|
|
55
|
+
}
|
|
56
|
+
if (opts.dryRun) {
|
|
57
|
+
return { path: target, name: entry.name, diff, applied: false };
|
|
58
|
+
}
|
|
59
|
+
const lockPath = path.join(path.dirname(target), LOCK_BASENAME);
|
|
60
|
+
await withFileLock(lockPath, () => {
|
|
61
|
+
const current = fs.readFileSync(target, "utf8");
|
|
62
|
+
const next = applyPackAdd(current, entry);
|
|
63
|
+
const recheck = validateBeforeWrite(parseYaml(next));
|
|
64
|
+
if (!recheck.ok) {
|
|
65
|
+
throw new HarnessExitError(`proposed manifest fails schema validation after lock acquisition:\n${formatValidationErrors(recheck.errors)}`, EX_FAIL);
|
|
66
|
+
}
|
|
67
|
+
atomicWriteFile(target, next);
|
|
68
|
+
});
|
|
69
|
+
return { path: target, name: entry.name, diff, applied: true };
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/cli/pack/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type LedgerEntry } from "../../policies/index.js";
|
|
2
|
+
import { type ApprovalCheckResult } from "../../policy-packs/builtin/understanding-before-execution-runtime.js";
|
|
3
|
+
import type { Manifest } from "../../schema/index.js";
|
|
4
|
+
import { type LoaderOptions } from "../loader.js";
|
|
5
|
+
export interface PackHookCodexPreToolUseOptions extends LoaderOptions {
|
|
6
|
+
/** Pack name to evaluate. Defaults to understanding-before-execution. */
|
|
7
|
+
pack?: string;
|
|
8
|
+
/** Override report directory (test injection). */
|
|
9
|
+
reportsDir?: string;
|
|
10
|
+
/** Override timeout per ledger call. */
|
|
11
|
+
ledgerTimeoutMs?: number;
|
|
12
|
+
/** Defaults to process.stdin. */
|
|
13
|
+
stdin?: NodeJS.ReadableStream;
|
|
14
|
+
/** Defaults to process.stderr. */
|
|
15
|
+
stderr?: NodeJS.WritableStream;
|
|
16
|
+
/** Inject an alternate manifest (test). */
|
|
17
|
+
manifest?: Manifest;
|
|
18
|
+
/** Inject a fake ledger query (test). */
|
|
19
|
+
ledgerQuery?: (sessionId: string) => Promise<LedgerEntry[] | {
|
|
20
|
+
degraded: string;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
export interface PackHookCodexPreToolUseResult {
|
|
24
|
+
exitCode: number;
|
|
25
|
+
blocked: boolean;
|
|
26
|
+
approvalCheck: ApprovalCheckResult;
|
|
27
|
+
/** Diagnostic line emitted to stderr (always; even on allow). */
|
|
28
|
+
diagnostic: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function runPackHookCodexPreToolUseCli(opts?: PackHookCodexPreToolUseOptions): Promise<PackHookCodexPreToolUseResult>;
|