@lannguyensi/harness 0.53.0 → 0.54.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.
Files changed (60) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/dist/cli/delegate/index.d.ts +15 -2
  3. package/dist/cli/delegate/index.js +128 -4
  4. package/dist/cli/delegate/index.js.map +1 -1
  5. package/dist/cli/doctor/bypass-without-auto-approve.js +10 -4
  6. package/dist/cli/doctor/bypass-without-auto-approve.js.map +1 -1
  7. package/dist/cli/dry-run.js +32 -1
  8. package/dist/cli/dry-run.js.map +1 -1
  9. package/dist/cli/index.js +13 -5
  10. package/dist/cli/index.js.map +1 -1
  11. package/dist/cli/init/profiles.js +89 -8
  12. package/dist/cli/init/profiles.js.map +1 -1
  13. package/dist/cli/init/templates.js +163 -3
  14. package/dist/cli/init/templates.js.map +1 -1
  15. package/dist/cli/pack/hook-pre-tool-use.js +200 -95
  16. package/dist/cli/pack/hook-pre-tool-use.js.map +1 -1
  17. package/dist/cli/record/index.d.ts +8 -0
  18. package/dist/cli/record/index.js +55 -7
  19. package/dist/cli/record/index.js.map +1 -1
  20. package/dist/cli/validate/checks.js +61 -9
  21. package/dist/cli/validate/checks.js.map +1 -1
  22. package/dist/io/extract.d.ts +29 -0
  23. package/dist/io/extract.js +36 -0
  24. package/dist/io/extract.js.map +1 -1
  25. package/dist/policies/index.d.ts +1 -1
  26. package/dist/policies/index.js +1 -1
  27. package/dist/policies/index.js.map +1 -1
  28. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.d.ts +37 -0
  29. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js +41 -1
  30. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js.map +1 -1
  31. package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +1 -1
  32. package/dist/policy-packs/builtin/understanding-before-execution/index.js +1 -1
  33. package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +1 -1
  34. package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js +9 -3
  35. package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js.map +1 -1
  36. package/dist/runtime/destructive-shell-floor.d.ts +19 -0
  37. package/dist/runtime/destructive-shell-floor.js +597 -0
  38. package/dist/runtime/destructive-shell-floor.js.map +1 -0
  39. package/dist/runtime/intercept.d.ts +10 -7
  40. package/dist/runtime/intercept.js +108 -9
  41. package/dist/runtime/intercept.js.map +1 -1
  42. package/dist/runtime/read-only-bash.d.ts +21 -0
  43. package/dist/runtime/read-only-bash.js +484 -0
  44. package/dist/runtime/read-only-bash.js.map +1 -1
  45. package/dist/runtime/risk-classifier.js +68 -13
  46. package/dist/runtime/risk-classifier.js.map +1 -1
  47. package/dist/runtime/when-eval.d.ts +18 -5
  48. package/dist/runtime/when-eval.js +64 -11
  49. package/dist/runtime/when-eval.js.map +1 -1
  50. package/dist/runtime/workflow-policies.d.ts +43 -1
  51. package/dist/runtime/workflow-policies.js +158 -1
  52. package/dist/runtime/workflow-policies.js.map +1 -1
  53. package/dist/schema/extract.d.ts +4 -0
  54. package/dist/schema/extract.js +64 -1
  55. package/dist/schema/extract.js.map +1 -1
  56. package/dist/schema/index.d.ts +13 -0
  57. package/dist/schema/policies.d.ts +19 -0
  58. package/dist/schema/policies.js +17 -1
  59. package/dist/schema/policies.js.map +1 -1
  60. package/package.json +1 -1
@@ -3,3 +3,7 @@ export declare const ExtractExpressionSchema: z.ZodEffects<z.ZodString, string,
3
3
  export type ExtractExpression = z.infer<typeof ExtractExpressionSchema>;
4
4
  export declare const ExtractMapSchema: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodString, string, string>>, Record<string, string>, Record<string, string>>;
5
5
  export type ExtractMap = z.infer<typeof ExtractMapSchema>;
6
+ export declare const ToolArgsExtractExpressionSchema: z.ZodEffects<z.ZodString, string, string>;
7
+ export declare const InputMatchLiteralSchema: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>;
8
+ export declare const InputMatchMapSchema: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>, Record<string, string | number | boolean>, Record<string, string | number | boolean>>;
9
+ export type InputMatchMap = z.infer<typeof InputMatchMapSchema>;
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { ExtractGrammarError, validateExtractGrammar, } from "../io/extract.js";
2
+ import { ExtractGrammarError, parseExtractExpression, validateExtractGrammar, } from "../io/extract.js";
3
3
  export const ExtractExpressionSchema = z.string().min(1).superRefine((v, ctx) => {
4
4
  try {
5
5
  validateExtractGrammar(v);
@@ -20,4 +20,67 @@ const VAR_NAME_RE = /^[A-Z][A-Z0-9_]*$/;
20
20
  export const ExtractMapSchema = z
21
21
  .record(ExtractExpressionSchema)
22
22
  .refine((m) => Object.keys(m).every((k) => VAR_NAME_RE.test(k)), { message: "extract variable names must be SCREAMING_SNAKE_CASE" });
23
+ // ---------------------------------------------------------------------------
24
+ // trigger.input_match (task 2699b476)
25
+ // ---------------------------------------------------------------------------
26
+ //
27
+ // Same expression grammar as `trigger.extract`, but restricted to the
28
+ // `toolArgs.` namespace: the predicate answers "did THIS tool call carry
29
+ // this argument value?", and `event` / `session` / `git` are not tool
30
+ // arguments. Rejecting the other three namespaces here (rather than
31
+ // silently never matching them at runtime) is what makes a typo like
32
+ // `event.autoMerge` a loud `harness validate` error instead of a gate
33
+ // that quietly never fires.
34
+ //
35
+ // This is the same layer `bash_match` and `path_match` are declared at
36
+ // (`PolicyTriggerSchema`), so every consumer that parses a manifest,
37
+ // `harness validate`, `apply`, `doctor`, `loadManifest`, the intercept
38
+ // entrypoint, refuses the bad shape, not just the two report verbs.
39
+ export const ToolArgsExtractExpressionSchema = z
40
+ .string()
41
+ .min(1)
42
+ .superRefine((v, ctx) => {
43
+ let parsed;
44
+ try {
45
+ parsed = parseExtractExpression(v);
46
+ }
47
+ catch (err) {
48
+ if (err instanceof ExtractGrammarError) {
49
+ ctx.addIssue({
50
+ code: z.ZodIssueCode.custom,
51
+ message: err.message.replace(/^extract expression "[^"]*": /, ""),
52
+ });
53
+ return;
54
+ }
55
+ throw err;
56
+ }
57
+ if (parsed.namespace !== "toolArgs") {
58
+ ctx.addIssue({
59
+ code: z.ZodIssueCode.custom,
60
+ message: `input_match keys must read from the toolArgs namespace ` +
61
+ `(the tool call's own arguments); "${v}" reads from ${parsed.namespace}`,
62
+ });
63
+ }
64
+ });
65
+ export const InputMatchLiteralSchema = z.union([z.string(), z.number(), z.boolean()]);
66
+ export const InputMatchMapSchema = z
67
+ .record(InputMatchLiteralSchema)
68
+ .superRefine((map, ctx) => {
69
+ const keys = Object.keys(map);
70
+ if (keys.length === 0) {
71
+ ctx.addIssue({
72
+ code: z.ZodIssueCode.custom,
73
+ message: "trigger.input_match must declare at least one entry; an empty map is a silent no-op",
74
+ });
75
+ return;
76
+ }
77
+ for (const key of keys) {
78
+ const result = ToolArgsExtractExpressionSchema.safeParse(key);
79
+ if (result.success)
80
+ continue;
81
+ for (const issue of result.error.issues) {
82
+ ctx.addIssue({ code: z.ZodIssueCode.custom, path: [key], message: issue.message });
83
+ }
84
+ }
85
+ });
23
86
  //# sourceMappingURL=extract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/schema/extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;IAC9E,IAAI,CAAC;QACH,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;YACvC,kEAAkE;YAClE,iEAAiE;YACjE,iCAAiC;YACjC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;YACrE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC;AAIH,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC,uBAAuB,CAAC;KAC/B,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACvD,EAAE,OAAO,EAAE,qDAAqD,EAAE,CACnE,CAAC"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/schema/extract.ts"],"names":[],"mappings":"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"}
@@ -431,6 +431,7 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
431
431
  match: z.ZodOptional<z.ZodString>;
432
432
  path_match: z.ZodOptional<z.ZodString>;
433
433
  bash_match: z.ZodOptional<z.ZodString>;
434
+ input_match: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>, Record<string, string | number | boolean>, Record<string, string | number | boolean>>>;
434
435
  extract: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodString, string, string>>, Record<string, string>, Record<string, string>>>;
435
436
  }, "strict", z.ZodTypeAny, {
436
437
  event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
@@ -438,12 +439,14 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
438
439
  path_match?: string | undefined;
439
440
  bash_match?: string | undefined;
440
441
  extract?: Record<string, string> | undefined;
442
+ input_match?: Record<string, string | number | boolean> | undefined;
441
443
  }, {
442
444
  event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
443
445
  match?: string | undefined;
444
446
  path_match?: string | undefined;
445
447
  bash_match?: string | undefined;
446
448
  extract?: Record<string, string> | undefined;
449
+ input_match?: Record<string, string | number | boolean> | undefined;
447
450
  }>;
448
451
  requires: z.ZodOptional<z.ZodObject<{
449
452
  ledger_tag: z.ZodString;
@@ -609,6 +612,7 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
609
612
  path_match?: string | undefined;
610
613
  bash_match?: string | undefined;
611
614
  extract?: Record<string, string> | undefined;
615
+ input_match?: Record<string, string | number | boolean> | undefined;
612
616
  };
613
617
  hook: string;
614
618
  enforcement: "warn" | "block" | "require_approval";
@@ -658,6 +662,7 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
658
662
  path_match?: string | undefined;
659
663
  bash_match?: string | undefined;
660
664
  extract?: Record<string, string> | undefined;
665
+ input_match?: Record<string, string | number | boolean> | undefined;
661
666
  };
662
667
  hook: string;
663
668
  enforcement: "warn" | "block" | "require_approval";
@@ -707,6 +712,7 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
707
712
  path_match?: string | undefined;
708
713
  bash_match?: string | undefined;
709
714
  extract?: Record<string, string> | undefined;
715
+ input_match?: Record<string, string | number | boolean> | undefined;
710
716
  };
711
717
  hook: string;
712
718
  enforcement: "warn" | "block" | "require_approval";
@@ -756,6 +762,7 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
756
762
  path_match?: string | undefined;
757
763
  bash_match?: string | undefined;
758
764
  extract?: Record<string, string> | undefined;
765
+ input_match?: Record<string, string | number | boolean> | undefined;
759
766
  };
760
767
  hook: string;
761
768
  enforcement: "warn" | "block" | "require_approval";
@@ -805,6 +812,7 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
805
812
  path_match?: string | undefined;
806
813
  bash_match?: string | undefined;
807
814
  extract?: Record<string, string> | undefined;
815
+ input_match?: Record<string, string | number | boolean> | undefined;
808
816
  };
809
817
  hook: string;
810
818
  enforcement: "warn" | "block" | "require_approval";
@@ -854,6 +862,7 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
854
862
  path_match?: string | undefined;
855
863
  bash_match?: string | undefined;
856
864
  extract?: Record<string, string> | undefined;
865
+ input_match?: Record<string, string | number | boolean> | undefined;
857
866
  };
858
867
  hook: string;
859
868
  enforcement: "warn" | "block" | "require_approval";
@@ -2638,6 +2647,7 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
2638
2647
  path_match?: string | undefined;
2639
2648
  bash_match?: string | undefined;
2640
2649
  extract?: Record<string, string> | undefined;
2650
+ input_match?: Record<string, string | number | boolean> | undefined;
2641
2651
  };
2642
2652
  hook: string;
2643
2653
  enforcement: "warn" | "block" | "require_approval";
@@ -2954,6 +2964,7 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
2954
2964
  path_match?: string | undefined;
2955
2965
  bash_match?: string | undefined;
2956
2966
  extract?: Record<string, string> | undefined;
2967
+ input_match?: Record<string, string | number | boolean> | undefined;
2957
2968
  };
2958
2969
  hook: string;
2959
2970
  enforcement: "warn" | "block" | "require_approval";
@@ -3270,6 +3281,7 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
3270
3281
  path_match?: string | undefined;
3271
3282
  bash_match?: string | undefined;
3272
3283
  extract?: Record<string, string> | undefined;
3284
+ input_match?: Record<string, string | number | boolean> | undefined;
3273
3285
  };
3274
3286
  hook: string;
3275
3287
  enforcement: "warn" | "block" | "require_approval";
@@ -3586,6 +3598,7 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
3586
3598
  path_match?: string | undefined;
3587
3599
  bash_match?: string | undefined;
3588
3600
  extract?: Record<string, string> | undefined;
3601
+ input_match?: Record<string, string | number | boolean> | undefined;
3589
3602
  };
3590
3603
  hook: string;
3591
3604
  enforcement: "warn" | "block" | "require_approval";
@@ -4,6 +4,7 @@ export declare const PolicyTriggerSchema: z.ZodObject<{
4
4
  match: z.ZodOptional<z.ZodString>;
5
5
  path_match: z.ZodOptional<z.ZodString>;
6
6
  bash_match: z.ZodOptional<z.ZodString>;
7
+ input_match: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>, Record<string, string | number | boolean>, Record<string, string | number | boolean>>>;
7
8
  extract: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodString, string, string>>, Record<string, string>, Record<string, string>>>;
8
9
  }, "strict", z.ZodTypeAny, {
9
10
  event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
@@ -11,12 +12,14 @@ export declare const PolicyTriggerSchema: z.ZodObject<{
11
12
  path_match?: string | undefined;
12
13
  bash_match?: string | undefined;
13
14
  extract?: Record<string, string> | undefined;
15
+ input_match?: Record<string, string | number | boolean> | undefined;
14
16
  }, {
15
17
  event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
16
18
  match?: string | undefined;
17
19
  path_match?: string | undefined;
18
20
  bash_match?: string | undefined;
19
21
  extract?: Record<string, string> | undefined;
22
+ input_match?: Record<string, string | number | boolean> | undefined;
20
23
  }>;
21
24
  export declare const PolicyEnforcementSchema: z.ZodEnum<["block", "warn", "require_approval"]>;
22
25
  export declare const ProducerSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
@@ -111,6 +114,7 @@ export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
111
114
  match: z.ZodOptional<z.ZodString>;
112
115
  path_match: z.ZodOptional<z.ZodString>;
113
116
  bash_match: z.ZodOptional<z.ZodString>;
117
+ input_match: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>, Record<string, string | number | boolean>, Record<string, string | number | boolean>>>;
114
118
  extract: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodString, string, string>>, Record<string, string>, Record<string, string>>>;
115
119
  }, "strict", z.ZodTypeAny, {
116
120
  event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
@@ -118,12 +122,14 @@ export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
118
122
  path_match?: string | undefined;
119
123
  bash_match?: string | undefined;
120
124
  extract?: Record<string, string> | undefined;
125
+ input_match?: Record<string, string | number | boolean> | undefined;
121
126
  }, {
122
127
  event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
123
128
  match?: string | undefined;
124
129
  path_match?: string | undefined;
125
130
  bash_match?: string | undefined;
126
131
  extract?: Record<string, string> | undefined;
132
+ input_match?: Record<string, string | number | boolean> | undefined;
127
133
  }>;
128
134
  requires: z.ZodOptional<z.ZodObject<{
129
135
  ledger_tag: z.ZodString;
@@ -289,6 +295,7 @@ export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
289
295
  path_match?: string | undefined;
290
296
  bash_match?: string | undefined;
291
297
  extract?: Record<string, string> | undefined;
298
+ input_match?: Record<string, string | number | boolean> | undefined;
292
299
  };
293
300
  hook: string;
294
301
  enforcement: "warn" | "block" | "require_approval";
@@ -338,6 +345,7 @@ export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
338
345
  path_match?: string | undefined;
339
346
  bash_match?: string | undefined;
340
347
  extract?: Record<string, string> | undefined;
348
+ input_match?: Record<string, string | number | boolean> | undefined;
341
349
  };
342
350
  hook: string;
343
351
  enforcement: "warn" | "block" | "require_approval";
@@ -387,6 +395,7 @@ export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
387
395
  path_match?: string | undefined;
388
396
  bash_match?: string | undefined;
389
397
  extract?: Record<string, string> | undefined;
398
+ input_match?: Record<string, string | number | boolean> | undefined;
390
399
  };
391
400
  hook: string;
392
401
  enforcement: "warn" | "block" | "require_approval";
@@ -436,6 +445,7 @@ export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
436
445
  path_match?: string | undefined;
437
446
  bash_match?: string | undefined;
438
447
  extract?: Record<string, string> | undefined;
448
+ input_match?: Record<string, string | number | boolean> | undefined;
439
449
  };
440
450
  hook: string;
441
451
  enforcement: "warn" | "block" | "require_approval";
@@ -485,6 +495,7 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
485
495
  match: z.ZodOptional<z.ZodString>;
486
496
  path_match: z.ZodOptional<z.ZodString>;
487
497
  bash_match: z.ZodOptional<z.ZodString>;
498
+ input_match: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>, Record<string, string | number | boolean>, Record<string, string | number | boolean>>>;
488
499
  extract: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodString, string, string>>, Record<string, string>, Record<string, string>>>;
489
500
  }, "strict", z.ZodTypeAny, {
490
501
  event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
@@ -492,12 +503,14 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
492
503
  path_match?: string | undefined;
493
504
  bash_match?: string | undefined;
494
505
  extract?: Record<string, string> | undefined;
506
+ input_match?: Record<string, string | number | boolean> | undefined;
495
507
  }, {
496
508
  event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
497
509
  match?: string | undefined;
498
510
  path_match?: string | undefined;
499
511
  bash_match?: string | undefined;
500
512
  extract?: Record<string, string> | undefined;
513
+ input_match?: Record<string, string | number | boolean> | undefined;
501
514
  }>;
502
515
  requires: z.ZodOptional<z.ZodObject<{
503
516
  ledger_tag: z.ZodString;
@@ -663,6 +676,7 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
663
676
  path_match?: string | undefined;
664
677
  bash_match?: string | undefined;
665
678
  extract?: Record<string, string> | undefined;
679
+ input_match?: Record<string, string | number | boolean> | undefined;
666
680
  };
667
681
  hook: string;
668
682
  enforcement: "warn" | "block" | "require_approval";
@@ -712,6 +726,7 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
712
726
  path_match?: string | undefined;
713
727
  bash_match?: string | undefined;
714
728
  extract?: Record<string, string> | undefined;
729
+ input_match?: Record<string, string | number | boolean> | undefined;
715
730
  };
716
731
  hook: string;
717
732
  enforcement: "warn" | "block" | "require_approval";
@@ -761,6 +776,7 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
761
776
  path_match?: string | undefined;
762
777
  bash_match?: string | undefined;
763
778
  extract?: Record<string, string> | undefined;
779
+ input_match?: Record<string, string | number | boolean> | undefined;
764
780
  };
765
781
  hook: string;
766
782
  enforcement: "warn" | "block" | "require_approval";
@@ -810,6 +826,7 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
810
826
  path_match?: string | undefined;
811
827
  bash_match?: string | undefined;
812
828
  extract?: Record<string, string> | undefined;
829
+ input_match?: Record<string, string | number | boolean> | undefined;
813
830
  };
814
831
  hook: string;
815
832
  enforcement: "warn" | "block" | "require_approval";
@@ -859,6 +876,7 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
859
876
  path_match?: string | undefined;
860
877
  bash_match?: string | undefined;
861
878
  extract?: Record<string, string> | undefined;
879
+ input_match?: Record<string, string | number | boolean> | undefined;
862
880
  };
863
881
  hook: string;
864
882
  enforcement: "warn" | "block" | "require_approval";
@@ -908,6 +926,7 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
908
926
  path_match?: string | undefined;
909
927
  bash_match?: string | undefined;
910
928
  extract?: Record<string, string> | undefined;
929
+ input_match?: Record<string, string | number | boolean> | undefined;
911
930
  };
912
931
  hook: string;
913
932
  enforcement: "warn" | "block" | "require_approval";
@@ -1,15 +1,31 @@
1
1
  import { z } from "zod";
2
2
  import { MatchableEnvironmentSchema } from "./environments.js";
3
- import { ExtractMapSchema } from "./extract.js";
3
+ import { ExtractMapSchema, InputMatchMapSchema } from "./extract.js";
4
4
  import { HookEventSchema } from "./hooks.js";
5
5
  import { RequiresSchema, isBuiltinVariable, referencedVariables } from "./requires.js";
6
6
  import { RiskCategorySchema, RiskSeveritySchema } from "./risk.js";
7
+ // `trigger:`: the WHICH-tool-calls filter. Every declared field is
8
+ // ANDed: `match` on the tool name, `path_match` on the edited file path,
9
+ // `bash_match` on the shell command text, and `input_match` (task
10
+ // 2699b476) on the tool call's own arguments.
11
+ //
12
+ // `input_match` exists because the other three cannot express "this MCP
13
+ // verb, but only in the mode that actually does the dangerous thing".
14
+ // `mcp__agent-tasks__task_finish` is the motivating shape: the same verb
15
+ // either merges the PR (`autoMerge: true`) or just advances the task, and
16
+ // a name-only trigger would have to gate both or neither. Keys are
17
+ // `toolArgs.`-namespaced extract expressions (the SAME grammar and parser
18
+ // `extract` uses, `src/schema/extract.ts` + `src/io/extract.ts`), values
19
+ // are literals compared by strict equality; a missing path never matches.
20
+ // See `firstInputMatchMismatch` in `src/io/extract.ts` for the evaluator
21
+ // `policyMatchesEvent` and `harness policy dry-run` both call.
7
22
  export const PolicyTriggerSchema = z
8
23
  .object({
9
24
  event: HookEventSchema,
10
25
  match: z.string().min(1).optional(),
11
26
  path_match: z.string().min(1).optional(),
12
27
  bash_match: z.string().min(1).optional(),
28
+ input_match: InputMatchMapSchema.optional(),
13
29
  extract: ExtractMapSchema.optional(),
14
30
  })
15
31
  .strict();
@@ -1 +1 @@
1
- {"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/schema/policies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/schema/policies.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lannguyensi/harness",
3
- "version": "0.53.0",
3
+ "version": "0.54.0",
4
4
  "description": "Declarative control plane for agent harnesses — one YAML for grounding, tools, memory, and hooks.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/LanNguyenSi/harness",