@lannguyensi/harness 0.15.0 → 0.17.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 (61) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +63 -1
  3. package/dist/cli/doctor/format.js +24 -0
  4. package/dist/cli/doctor/format.js.map +1 -1
  5. package/dist/cli/doctor/index.d.ts +7 -0
  6. package/dist/cli/doctor/index.js +10 -0
  7. package/dist/cli/doctor/index.js.map +1 -1
  8. package/dist/cli/doctor/rogue-ledger.d.ts +25 -0
  9. package/dist/cli/doctor/rogue-ledger.js +106 -0
  10. package/dist/cli/doctor/rogue-ledger.js.map +1 -0
  11. package/dist/cli/doctor/types.d.ts +10 -1
  12. package/dist/cli/doctor/types.js.map +1 -1
  13. package/dist/cli/index.js +210 -0
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/init/composer.js +42 -0
  16. package/dist/cli/init/composer.js.map +1 -1
  17. package/dist/cli/init/templates.d.ts +1 -1
  18. package/dist/cli/init/templates.js +42 -0
  19. package/dist/cli/init/templates.js.map +1 -1
  20. package/dist/cli/pack/hook-branch-protection.d.ts +30 -0
  21. package/dist/cli/pack/hook-branch-protection.js +279 -0
  22. package/dist/cli/pack/hook-branch-protection.js.map +1 -0
  23. package/dist/cli/pack/hook-codex-pre-tool-use.d.ts +1 -1
  24. package/dist/cli/pack/hook-codex-pre-tool-use.js +27 -2
  25. package/dist/cli/pack/hook-codex-pre-tool-use.js.map +1 -1
  26. package/dist/cli/pack/hook-pre-tool-use.js +52 -10
  27. package/dist/cli/pack/hook-pre-tool-use.js.map +1 -1
  28. package/dist/cli/pack/understanding-report-schema-hint.d.ts +13 -0
  29. package/dist/cli/pack/understanding-report-schema-hint.js +54 -0
  30. package/dist/cli/pack/understanding-report-schema-hint.js.map +1 -0
  31. package/dist/cli/session-start/branch-check.d.ts +44 -0
  32. package/dist/cli/session-start/branch-check.js +165 -0
  33. package/dist/cli/session-start/branch-check.js.map +1 -0
  34. package/dist/cli/uninstall/index.d.ts +68 -0
  35. package/dist/cli/uninstall/index.js +586 -0
  36. package/dist/cli/uninstall/index.js.map +1 -0
  37. package/dist/cli/uninstall/snapshot.d.ts +40 -0
  38. package/dist/cli/uninstall/snapshot.js +34 -0
  39. package/dist/cli/uninstall/snapshot.js.map +1 -0
  40. package/dist/policy-packs/builtin/branch-protection-runtime.d.ts +47 -0
  41. package/dist/policy-packs/builtin/branch-protection-runtime.js +92 -0
  42. package/dist/policy-packs/builtin/branch-protection-runtime.js.map +1 -0
  43. package/dist/policy-packs/builtin/branch-protection.d.ts +9 -0
  44. package/dist/policy-packs/builtin/branch-protection.js +146 -0
  45. package/dist/policy-packs/builtin/branch-protection.js.map +1 -0
  46. package/dist/policy-packs/registry.d.ts +1 -1
  47. package/dist/policy-packs/registry.js +10 -3
  48. package/dist/policy-packs/registry.js.map +1 -1
  49. package/dist/runtime/agent-facing.d.ts +9 -0
  50. package/dist/runtime/agent-facing.js +47 -0
  51. package/dist/runtime/agent-facing.js.map +1 -0
  52. package/dist/runtime/index.d.ts +1 -0
  53. package/dist/runtime/index.js +1 -0
  54. package/dist/runtime/index.js.map +1 -1
  55. package/dist/runtime/intercept.js +20 -2
  56. package/dist/runtime/intercept.js.map +1 -1
  57. package/dist/schema/index.d.ts +63 -0
  58. package/dist/schema/policies.d.ts +90 -0
  59. package/dist/schema/policies.js +29 -0
  60. package/dist/schema/policies.js.map +1 -1
  61. package/package.json +2 -1
@@ -552,6 +552,19 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
552
552
  description: string;
553
553
  kind: "ask";
554
554
  }>]>, "many">>;
555
+ ux: z.ZodOptional<z.ZodObject<{
556
+ cannot: z.ZodString;
557
+ required: z.ZodArray<z.ZodString, "many">;
558
+ run: z.ZodArray<z.ZodString, "many">;
559
+ }, "strict", z.ZodTypeAny, {
560
+ cannot: string;
561
+ required: string[];
562
+ run: string[];
563
+ }, {
564
+ cannot: string;
565
+ required: string[];
566
+ run: string[];
567
+ }>>;
555
568
  }, "strict", z.ZodTypeAny, {
556
569
  name: string;
557
570
  description: string;
@@ -587,6 +600,11 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
587
600
  description: string;
588
601
  kind: "ask";
589
602
  })[] | undefined;
603
+ ux?: {
604
+ cannot: string;
605
+ required: string[];
606
+ run: string[];
607
+ } | undefined;
590
608
  }, {
591
609
  name: string;
592
610
  description: string;
@@ -622,6 +640,11 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
622
640
  description: string;
623
641
  kind: "ask";
624
642
  })[] | undefined;
643
+ ux?: {
644
+ cannot: string;
645
+ required: string[];
646
+ run: string[];
647
+ } | undefined;
625
648
  }>, {
626
649
  name: string;
627
650
  description: string;
@@ -657,6 +680,11 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
657
680
  description: string;
658
681
  kind: "ask";
659
682
  })[] | undefined;
683
+ ux?: {
684
+ cannot: string;
685
+ required: string[];
686
+ run: string[];
687
+ } | undefined;
660
688
  }, {
661
689
  name: string;
662
690
  description: string;
@@ -692,6 +720,11 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
692
720
  description: string;
693
721
  kind: "ask";
694
722
  })[] | undefined;
723
+ ux?: {
724
+ cannot: string;
725
+ required: string[];
726
+ run: string[];
727
+ } | undefined;
695
728
  }>, "many">, {
696
729
  name: string;
697
730
  description: string;
@@ -727,6 +760,11 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
727
760
  description: string;
728
761
  kind: "ask";
729
762
  })[] | undefined;
763
+ ux?: {
764
+ cannot: string;
765
+ required: string[];
766
+ run: string[];
767
+ } | undefined;
730
768
  }[], {
731
769
  name: string;
732
770
  description: string;
@@ -762,6 +800,11 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
762
800
  description: string;
763
801
  kind: "ask";
764
802
  })[] | undefined;
803
+ ux?: {
804
+ cannot: string;
805
+ required: string[];
806
+ run: string[];
807
+ } | undefined;
765
808
  }[]>>;
766
809
  policy_packs: z.ZodDefault<z.ZodEffects<z.ZodArray<z.ZodObject<{
767
810
  name: z.ZodString;
@@ -2196,6 +2239,11 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
2196
2239
  description: string;
2197
2240
  kind: "ask";
2198
2241
  })[] | undefined;
2242
+ ux?: {
2243
+ cannot: string;
2244
+ required: string[];
2245
+ run: string[];
2246
+ } | undefined;
2199
2247
  }[];
2200
2248
  policy_packs: {
2201
2249
  name: string;
@@ -2446,6 +2494,11 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
2446
2494
  description: string;
2447
2495
  kind: "ask";
2448
2496
  })[] | undefined;
2497
+ ux?: {
2498
+ cannot: string;
2499
+ required: string[];
2500
+ run: string[];
2501
+ } | undefined;
2449
2502
  }[] | undefined;
2450
2503
  policy_packs?: {
2451
2504
  name: string;
@@ -2696,6 +2749,11 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
2696
2749
  description: string;
2697
2750
  kind: "ask";
2698
2751
  })[] | undefined;
2752
+ ux?: {
2753
+ cannot: string;
2754
+ required: string[];
2755
+ run: string[];
2756
+ } | undefined;
2699
2757
  }[];
2700
2758
  policy_packs: {
2701
2759
  name: string;
@@ -2946,6 +3004,11 @@ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
2946
3004
  description: string;
2947
3005
  kind: "ask";
2948
3006
  })[] | undefined;
3007
+ ux?: {
3008
+ cannot: string;
3009
+ required: string[];
3010
+ run: string[];
3011
+ } | undefined;
2949
3012
  }[] | undefined;
2950
3013
  policy_packs?: {
2951
3014
  name: string;
@@ -59,6 +59,19 @@ export declare const ProducerSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObjec
59
59
  description: string;
60
60
  kind: "ask";
61
61
  }>]>;
62
+ export declare const PolicyUxSchema: z.ZodObject<{
63
+ cannot: z.ZodString;
64
+ required: z.ZodArray<z.ZodString, "many">;
65
+ run: z.ZodArray<z.ZodString, "many">;
66
+ }, "strict", z.ZodTypeAny, {
67
+ cannot: string;
68
+ required: string[];
69
+ run: string[];
70
+ }, {
71
+ cannot: string;
72
+ required: string[];
73
+ run: string[];
74
+ }>;
62
75
  export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
63
76
  name: z.ZodString;
64
77
  description: z.ZodString;
@@ -188,6 +201,19 @@ export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
188
201
  description: string;
189
202
  kind: "ask";
190
203
  }>]>, "many">>;
204
+ ux: z.ZodOptional<z.ZodObject<{
205
+ cannot: z.ZodString;
206
+ required: z.ZodArray<z.ZodString, "many">;
207
+ run: z.ZodArray<z.ZodString, "many">;
208
+ }, "strict", z.ZodTypeAny, {
209
+ cannot: string;
210
+ required: string[];
211
+ run: string[];
212
+ }, {
213
+ cannot: string;
214
+ required: string[];
215
+ run: string[];
216
+ }>>;
191
217
  }, "strict", z.ZodTypeAny, {
192
218
  name: string;
193
219
  description: string;
@@ -223,6 +249,11 @@ export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
223
249
  description: string;
224
250
  kind: "ask";
225
251
  })[] | undefined;
252
+ ux?: {
253
+ cannot: string;
254
+ required: string[];
255
+ run: string[];
256
+ } | undefined;
226
257
  }, {
227
258
  name: string;
228
259
  description: string;
@@ -258,6 +289,11 @@ export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
258
289
  description: string;
259
290
  kind: "ask";
260
291
  })[] | undefined;
292
+ ux?: {
293
+ cannot: string;
294
+ required: string[];
295
+ run: string[];
296
+ } | undefined;
261
297
  }>, {
262
298
  name: string;
263
299
  description: string;
@@ -293,6 +329,11 @@ export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
293
329
  description: string;
294
330
  kind: "ask";
295
331
  })[] | undefined;
332
+ ux?: {
333
+ cannot: string;
334
+ required: string[];
335
+ run: string[];
336
+ } | undefined;
296
337
  }, {
297
338
  name: string;
298
339
  description: string;
@@ -328,6 +369,11 @@ export declare const PolicySchema: z.ZodEffects<z.ZodObject<{
328
369
  description: string;
329
370
  kind: "ask";
330
371
  })[] | undefined;
372
+ ux?: {
373
+ cannot: string;
374
+ required: string[];
375
+ run: string[];
376
+ } | undefined;
331
377
  }>;
332
378
  export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodObject<{
333
379
  name: z.ZodString;
@@ -458,6 +504,19 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
458
504
  description: string;
459
505
  kind: "ask";
460
506
  }>]>, "many">>;
507
+ ux: z.ZodOptional<z.ZodObject<{
508
+ cannot: z.ZodString;
509
+ required: z.ZodArray<z.ZodString, "many">;
510
+ run: z.ZodArray<z.ZodString, "many">;
511
+ }, "strict", z.ZodTypeAny, {
512
+ cannot: string;
513
+ required: string[];
514
+ run: string[];
515
+ }, {
516
+ cannot: string;
517
+ required: string[];
518
+ run: string[];
519
+ }>>;
461
520
  }, "strict", z.ZodTypeAny, {
462
521
  name: string;
463
522
  description: string;
@@ -493,6 +552,11 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
493
552
  description: string;
494
553
  kind: "ask";
495
554
  })[] | undefined;
555
+ ux?: {
556
+ cannot: string;
557
+ required: string[];
558
+ run: string[];
559
+ } | undefined;
496
560
  }, {
497
561
  name: string;
498
562
  description: string;
@@ -528,6 +592,11 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
528
592
  description: string;
529
593
  kind: "ask";
530
594
  })[] | undefined;
595
+ ux?: {
596
+ cannot: string;
597
+ required: string[];
598
+ run: string[];
599
+ } | undefined;
531
600
  }>, {
532
601
  name: string;
533
602
  description: string;
@@ -563,6 +632,11 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
563
632
  description: string;
564
633
  kind: "ask";
565
634
  })[] | undefined;
635
+ ux?: {
636
+ cannot: string;
637
+ required: string[];
638
+ run: string[];
639
+ } | undefined;
566
640
  }, {
567
641
  name: string;
568
642
  description: string;
@@ -598,6 +672,11 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
598
672
  description: string;
599
673
  kind: "ask";
600
674
  })[] | undefined;
675
+ ux?: {
676
+ cannot: string;
677
+ required: string[];
678
+ run: string[];
679
+ } | undefined;
601
680
  }>, "many">, {
602
681
  name: string;
603
682
  description: string;
@@ -633,6 +712,11 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
633
712
  description: string;
634
713
  kind: "ask";
635
714
  })[] | undefined;
715
+ ux?: {
716
+ cannot: string;
717
+ required: string[];
718
+ run: string[];
719
+ } | undefined;
636
720
  }[], {
637
721
  name: string;
638
722
  description: string;
@@ -668,6 +752,12 @@ export declare const PoliciesSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodO
668
752
  description: string;
669
753
  kind: "ask";
670
754
  })[] | undefined;
755
+ ux?: {
756
+ cannot: string;
757
+ required: string[];
758
+ run: string[];
759
+ } | undefined;
671
760
  }[]>;
672
761
  export type Policy = z.infer<typeof PolicySchema>;
673
762
  export type Producer = z.infer<typeof ProducerSchema>;
763
+ export type PolicyUx = z.infer<typeof PolicyUxSchema>;
@@ -51,6 +51,34 @@ export const ProducerSchema = z.discriminatedUnion("kind", [
51
51
  })
52
52
  .strict(),
53
53
  ]);
54
+ // `ux:` is the agent-facing translation of an engine-internal block.
55
+ //
56
+ // When a policy denies a tool call, the engine has two readers: the
57
+ // audit ledger (which wants every internal detail: tag, hint,
58
+ // matchedCount, session) and the agent (which only needs to know what
59
+ // it cannot do, what condition is missing, and which command satisfies
60
+ // it). The legacy deny envelope leaks engine vocabulary
61
+ // ("no matching ledger entry for tag preflight:harness") to both.
62
+ //
63
+ // `ux:`, when declared, replaces the agent-facing reason text with a
64
+ // structured, plain-language form: a `cannot` sentence, a `required:`
65
+ // list of human-readable preconditions, and a `run:` list of exact
66
+ // commands. The internal decision (PolicyDecision.reason, recordHint,
67
+ // matchedCount) is unchanged and still written to the audit ledger.
68
+ //
69
+ // All three fields are templates: `${VAR}` references resolve against
70
+ // the same extract.values map the ledger_tag was substituted with, so
71
+ // the rendered text reflects the exact context the agent just hit at
72
+ // block time.
73
+ // Builtins (SESSION_ID / REPO / BRANCH / TOOL_NAME / CWD) are
74
+ // available even when the policy declares no `trigger.extract` map.
75
+ export const PolicyUxSchema = z
76
+ .object({
77
+ cannot: z.string().min(1),
78
+ required: z.array(z.string().min(1)).min(1),
79
+ run: z.array(z.string().min(1)).min(1),
80
+ })
81
+ .strict();
54
82
  export const PolicySchema = z
55
83
  .object({
56
84
  name: z.string().min(1),
@@ -60,6 +88,7 @@ export const PolicySchema = z
60
88
  hook: z.string().min(1),
61
89
  enforcement: PolicyEnforcementSchema,
62
90
  producers: z.array(ProducerSchema).min(1).optional(),
91
+ ux: PolicyUxSchema.optional(),
63
92
  })
64
93
  .strict()
65
94
  .superRefine((policy, ctx) => {
@@ -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.15.0",
3
+ "version": "0.17.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",
@@ -37,6 +37,7 @@
37
37
  "test:watch": "vitest",
38
38
  "test:cov": "vitest run --coverage",
39
39
  "typecheck": "tsc --noEmit",
40
+ "check:ug-schema-drift": "node scripts/check-ug-schema-drift.mjs",
40
41
  "prepublishOnly": "npm run build"
41
42
  },
42
43
  "dependencies": {