@harness-engineering/cli 2.3.1 → 2.4.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.
Files changed (68) hide show
  1. package/dist/agents/skills/claude-code/harness-compliance/SKILL.md +19 -0
  2. package/dist/agents/skills/codex/harness-compliance/SKILL.md +19 -0
  3. package/dist/agents/skills/cursor/harness-compliance/SKILL.md +19 -0
  4. package/dist/agents/skills/gemini-cli/harness-compliance/SKILL.md +19 -0
  5. package/dist/agents-md-2M46KG4F.js +10 -0
  6. package/dist/{architecture-544ISXDI.js → architecture-3ZSN5RDQ.js} +5 -5
  7. package/dist/{assess-project-PBO6XFJC.js → assess-project-KZWFQEJE.js} +5 -3
  8. package/dist/bin/harness-mcp.js +16 -16
  9. package/dist/bin/harness.js +29 -27
  10. package/dist/{check-phase-gate-BZU4DGF3.js → check-phase-gate-EWV5VYTG.js} +5 -5
  11. package/dist/{chunk-YNG7BWGB.js → chunk-2TGCYJMT.js} +340 -12
  12. package/dist/{chunk-TIQU5VY7.js → chunk-5FDBXUFW.js} +1 -1
  13. package/dist/{chunk-7BNK4M23.js → chunk-5XLLIYYL.js} +1 -1
  14. package/dist/{chunk-KJR4Z2YC.js → chunk-73KZ2E47.js} +9 -9
  15. package/dist/{chunk-J4MX5DIA.js → chunk-7RZZV73V.js} +5 -5
  16. package/dist/{chunk-TIJXG4UB.js → chunk-B2ZYMQGT.js} +64 -30
  17. package/dist/{chunk-XPRGWHBL.js → chunk-BCFDGOMA.js} +1 -1
  18. package/dist/{chunk-YI6NTL72.js → chunk-GLKASJZE.js} +6 -6
  19. package/dist/{chunk-N6DVSOLZ.js → chunk-GOSUZC5H.js} +608 -211
  20. package/dist/{chunk-22OKI5QI.js → chunk-I2KULMPD.js} +10 -10
  21. package/dist/{chunk-R6GLLMRZ.js → chunk-IEHXZB6J.js} +9 -9
  22. package/dist/{chunk-U2SF3KAQ.js → chunk-KOK7BFP2.js} +3 -3
  23. package/dist/{chunk-QZ67TDLJ.js → chunk-KRQTN46U.js} +3 -3
  24. package/dist/{chunk-EMJFHTPZ.js → chunk-LHHO7AH4.js} +3 -3
  25. package/dist/{chunk-2564TBT6.js → chunk-LJF6UY4R.js} +2 -2
  26. package/dist/{chunk-DBJC4ULT.js → chunk-MXOQEI72.js} +48 -8
  27. package/dist/{chunk-JMACX5FN.js → chunk-NM3ZIWVN.js} +2 -2
  28. package/dist/{chunk-KT5PWWWO.js → chunk-NTOKQJOX.js} +2 -2
  29. package/dist/chunk-O63AAPIZ.js +190 -0
  30. package/dist/{chunk-WMZKZCCE.js → chunk-OUXYITL5.js} +2 -2
  31. package/dist/{chunk-T2ZMHXCX.js → chunk-PPQ3TY2R.js} +2 -2
  32. package/dist/{chunk-LBYGGNEZ.js → chunk-QV5EBDWA.js} +1 -1
  33. package/dist/{chunk-IYA3NS5P.js → chunk-RRTTJ3VB.js} +2 -2
  34. package/dist/{chunk-A36MGB3V.js → chunk-TPNA2I4J.js} +206 -97
  35. package/dist/{chunk-LYMPKO6N.js → chunk-UPV7VDUB.js} +2 -2
  36. package/dist/{chunk-DHWFOHPX.js → chunk-UQJV7NNM.js} +2 -2
  37. package/dist/ci-workflow-5TBUHJFC.js +10 -0
  38. package/dist/{dist-ZS3Y3YWP.js → dist-HA6IIPRC.js} +41 -3
  39. package/dist/dist-O733ZU6I.js +49 -0
  40. package/dist/{dist-SQAOKWXM.js → dist-QPWXPCPL.js} +1 -1
  41. package/dist/{docs-VW2KDPI3.js → docs-D6WI2LCF.js} +5 -5
  42. package/dist/engine-GBEVIZZQ.js +10 -0
  43. package/dist/{entropy-P62LCVJI.js → entropy-V6M4KJDC.js} +4 -4
  44. package/dist/{feedback-O3TZAPGX.js → feedback-22I4HHXM.js} +1 -1
  45. package/dist/{generate-agent-definitions-WVCOZDKI.js → generate-agent-definitions-UM7T3WLA.js} +5 -5
  46. package/dist/{glob-helper-JE3MO4UD.js → glob-helper-XE2UGEOV.js} +1 -1
  47. package/dist/{graph-loader-TJU4E7KL.js → graph-loader-EQBOIHFZ.js} +1 -1
  48. package/dist/index.d.ts +158 -2
  49. package/dist/index.js +26 -26
  50. package/dist/loader-5V72NYMF.js +12 -0
  51. package/dist/{mcp-ST26QMDK.js → mcp-5KQGFG5U.js} +16 -16
  52. package/dist/{performance-5HQG3IU6.js → performance-MVORVVMG.js} +5 -5
  53. package/dist/{review-pipeline-VRDL5A7J.js → review-pipeline-JYSVCNGJ.js} +4 -4
  54. package/dist/runtime-KZC2OQI7.js +11 -0
  55. package/dist/{scan-SFX5U3TE.js → scan-4PPP6ZXT.js} +1 -1
  56. package/dist/{security-IMFAE6MW.js → security-WOVOBLCI.js} +1 -1
  57. package/dist/{tool-tiers-7QGZ3FKY.js → tool-tiers-QVWKAZX4.js} +5 -1
  58. package/dist/{validate-GW2DG64P.js → validate-55HGQKWR.js} +5 -5
  59. package/dist/validate-cross-check-H3PSV4VY.js +10 -0
  60. package/package.json +5 -5
  61. package/dist/agents-md-5JG3AE5A.js +0 -10
  62. package/dist/chunk-RL4VMEXL.js +0 -53
  63. package/dist/ci-workflow-ZO6FPO3V.js +0 -10
  64. package/dist/dist-3EWNRFFQ.js +0 -21
  65. package/dist/engine-LFQ2JSHY.js +0 -10
  66. package/dist/loader-UB2A65DN.js +0 -12
  67. package/dist/runtime-TQQT2MWQ.js +0 -11
  68. package/dist/validate-cross-check-F5YQVXLT.js +0 -10
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  init_dist,
6
6
  paginate
7
- } from "./chunk-YNG7BWGB.js";
7
+ } from "./chunk-2TGCYJMT.js";
8
8
 
9
9
  // src/mcp/tools/review-pipeline.ts
10
10
  init_dist();
@@ -79,7 +79,7 @@ var runCodeReviewDefinition = {
79
79
  };
80
80
  async function handleRunCodeReview(input) {
81
81
  try {
82
- const { parseDiff, runReviewPipeline } = await import("./dist-ZS3Y3YWP.js");
82
+ const { parseDiff, runReviewPipeline } = await import("./dist-HA6IIPRC.js");
83
83
  const parseResult = parseDiff(input.diff);
84
84
  if (!parseResult.ok) {
85
85
  return {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-YNG7BWGB.js";
3
+ } from "./chunk-2TGCYJMT.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
7
- } from "./chunk-RL4VMEXL.js";
7
+ } from "./chunk-O63AAPIZ.js";
8
8
 
9
9
  // src/persona/generators/ci-workflow.ts
10
10
  init_dist();
@@ -0,0 +1,10 @@
1
+ import {
2
+ generateCIWorkflow
3
+ } from "./chunk-UQJV7NNM.js";
4
+ import "./chunk-2TGCYJMT.js";
5
+ import "./chunk-O63AAPIZ.js";
6
+ import "./chunk-BCFDGOMA.js";
7
+ import "./chunk-KFQGP6VL.js";
8
+ export {
9
+ generateCIWorkflow
10
+ };
@@ -23,6 +23,7 @@ import {
23
23
  CINotifier,
24
24
  COMPLIANCE_DESCRIPTOR,
25
25
  CORROBORATED_AGREEMENT,
26
+ CacheMetricsRecorder,
26
27
  CategoryBaselineSchema,
27
28
  CategoryForecastSchema,
28
29
  CategoryRegressionSchema,
@@ -88,6 +89,7 @@ import {
88
89
  NoOpExecutor,
89
90
  NoOpSink,
90
91
  NoOpTelemetryAdapter,
92
+ OTLPExporter,
91
93
  OpenAICacheAdapter,
92
94
  PII_FIELD_DENYLIST,
93
95
  PII_LINE_RE,
@@ -125,6 +127,7 @@ import {
125
127
  SharableSecurityRulesSchema,
126
128
  SkillEventSchema,
127
129
  SolutionDocFrontmatterSchema,
130
+ SpanKind,
128
131
  SpecImpactEstimateSchema,
129
132
  SpecImpactEstimator,
130
133
  SpecImpactSignalsSchema,
@@ -294,6 +297,7 @@ import {
294
297
  init_dist,
295
298
  injectionRules,
296
299
  insecureDefaultsRules,
300
+ invalidateCheckState,
297
301
  isBadPort,
298
302
  isDuplicateFinding,
299
303
  isRegression,
@@ -428,6 +432,7 @@ import {
428
432
  validateAgentConfigs,
429
433
  validateAgentsMap,
430
434
  validateBoundaries,
435
+ validateBranchName,
431
436
  validateCommitMessage,
432
437
  validateConfig,
433
438
  validateDependencies,
@@ -447,17 +452,31 @@ import {
447
452
  writeSessionSummary,
448
453
  writeTaint,
449
454
  xssRules
450
- } from "./chunk-YNG7BWGB.js";
455
+ } from "./chunk-2TGCYJMT.js";
451
456
  import {
457
+ AuthAuditEntrySchema,
458
+ AuthTokenPublicSchema,
459
+ AuthTokenSchema,
460
+ BridgeKindSchema,
452
461
  DEFAULT_SKILL_CONTEXT_BUDGET,
453
462
  Err,
463
+ GatewayEventSchema,
464
+ OTLPKeyValueSchema,
465
+ OTLPSpanSchema,
454
466
  Ok,
467
+ PromptCacheStatsSchema,
455
468
  SESSION_SECTION_NAMES,
456
469
  STANDARD_COGNITIVE_MODES,
470
+ TokenScopeSchema,
471
+ TrajectoryMetadataSchema,
472
+ WebhookDeliverySchema,
473
+ WebhookDeliveryStatusSchema,
474
+ WebhookSubscriptionPublicSchema,
475
+ WebhookSubscriptionSchema,
457
476
  isErr,
458
477
  isOk
459
- } from "./chunk-RL4VMEXL.js";
460
- import "./chunk-XPRGWHBL.js";
478
+ } from "./chunk-O63AAPIZ.js";
479
+ import "./chunk-BCFDGOMA.js";
461
480
  import "./chunk-KFQGP6VL.js";
462
481
  init_dist();
463
482
  export {
@@ -474,17 +493,22 @@ export {
474
493
  ArchConfigSchema,
475
494
  ArchDiffResultSchema,
476
495
  ArchMetricCategorySchema,
496
+ AuthAuditEntrySchema,
497
+ AuthTokenPublicSchema,
498
+ AuthTokenSchema,
477
499
  BUG_DETECTION_DESCRIPTOR,
478
500
  BUG_TRACK_CATEGORIES,
479
501
  BaselineManager,
480
502
  BenchmarkRunner,
481
503
  BlueprintGenerator,
504
+ BridgeKindSchema,
482
505
  BundleConstraintsSchema,
483
506
  BundleSchema,
484
507
  CACHE_TTL_MS,
485
508
  CINotifier,
486
509
  COMPLIANCE_DESCRIPTOR,
487
510
  CORROBORATED_AGREEMENT,
511
+ CacheMetricsRecorder,
488
512
  CategoryBaselineSchema,
489
513
  CategoryForecastSchema,
490
514
  CategoryRegressionSchema,
@@ -534,6 +558,7 @@ export {
534
558
  ForbiddenImportCollector,
535
559
  GateConfigSchema,
536
560
  GateResultSchema,
561
+ GatewayEventSchema,
537
562
  GeminiCacheAdapter,
538
563
  GitHubIssuesSyncAdapter,
539
564
  HandoffSchema,
@@ -551,6 +576,9 @@ export {
551
576
  NoOpExecutor,
552
577
  NoOpSink,
553
578
  NoOpTelemetryAdapter,
579
+ OTLPExporter,
580
+ OTLPKeyValueSchema,
581
+ OTLPSpanSchema,
554
582
  Ok,
555
583
  OpenAICacheAdapter,
556
584
  PII_FIELD_DENYLIST,
@@ -563,6 +591,7 @@ export {
563
591
  PredictionResultSchema,
564
592
  PredictionWarningSchema,
565
593
  ProjectScanner,
594
+ PromptCacheStatsSchema,
566
595
  PulseAdapterAlreadyRegisteredError,
567
596
  PulseConfigSchema,
568
597
  PulseDbSourceSchema,
@@ -592,6 +621,7 @@ export {
592
621
  SharableSecurityRulesSchema,
593
622
  SkillEventSchema,
594
623
  SolutionDocFrontmatterSchema,
624
+ SpanKind,
595
625
  SpecImpactEstimateSchema,
596
626
  SpecImpactEstimator,
597
627
  SpecImpactSignalsSchema,
@@ -606,6 +636,8 @@ export {
606
636
  TimelineFileSchema,
607
637
  TimelineManager,
608
638
  TimelineSnapshotSchema,
639
+ TokenScopeSchema,
640
+ TrajectoryMetadataSchema,
609
641
  TransitionSchema,
610
642
  TrendAttributionSchema,
611
643
  TrendLineSchema,
@@ -620,6 +652,10 @@ export {
620
652
  ViolationSchema,
621
653
  ViolationSnapshotSchema,
622
654
  WHATWG_BAD_PORTS,
655
+ WebhookDeliverySchema,
656
+ WebhookDeliveryStatusSchema,
657
+ WebhookSubscriptionPublicSchema,
658
+ WebhookSubscriptionSchema,
623
659
  acquireCompoundLock,
624
660
  addProvenance,
625
661
  agentConfigRules,
@@ -760,6 +796,7 @@ export {
760
796
  goRules,
761
797
  injectionRules,
762
798
  insecureDefaultsRules,
799
+ invalidateCheckState,
763
800
  isBadPort,
764
801
  isDuplicateFinding,
765
802
  isErr,
@@ -896,6 +933,7 @@ export {
896
933
  validateAgentConfigs,
897
934
  validateAgentsMap,
898
935
  validateBoundaries,
936
+ validateBranchName,
899
937
  validateCommitMessage,
900
938
  validateConfig,
901
939
  validateDependencies,
@@ -0,0 +1,49 @@
1
+ import {
2
+ AuthAuditEntrySchema,
3
+ AuthTokenPublicSchema,
4
+ AuthTokenSchema,
5
+ BridgeKindSchema,
6
+ DEFAULT_SKILL_CONTEXT_BUDGET,
7
+ Err,
8
+ GatewayEventSchema,
9
+ OTLPKeyValueSchema,
10
+ OTLPSpanSchema,
11
+ Ok,
12
+ PromptCacheStatsSchema,
13
+ SESSION_SECTION_NAMES,
14
+ STANDARD_COGNITIVE_MODES,
15
+ TokenScopeSchema,
16
+ TrajectoryMetadataSchema,
17
+ WebhookDeliverySchema,
18
+ WebhookDeliveryStatusSchema,
19
+ WebhookSubscriptionPublicSchema,
20
+ WebhookSubscriptionSchema,
21
+ init_dist,
22
+ isErr,
23
+ isOk
24
+ } from "./chunk-O63AAPIZ.js";
25
+ import "./chunk-KFQGP6VL.js";
26
+ init_dist();
27
+ export {
28
+ AuthAuditEntrySchema,
29
+ AuthTokenPublicSchema,
30
+ AuthTokenSchema,
31
+ BridgeKindSchema,
32
+ DEFAULT_SKILL_CONTEXT_BUDGET,
33
+ Err,
34
+ GatewayEventSchema,
35
+ OTLPKeyValueSchema,
36
+ OTLPSpanSchema,
37
+ Ok,
38
+ PromptCacheStatsSchema,
39
+ SESSION_SECTION_NAMES,
40
+ STANDARD_COGNITIVE_MODES,
41
+ TokenScopeSchema,
42
+ TrajectoryMetadataSchema,
43
+ WebhookDeliverySchema,
44
+ WebhookDeliveryStatusSchema,
45
+ WebhookSubscriptionPublicSchema,
46
+ WebhookSubscriptionSchema,
47
+ isErr,
48
+ isOk
49
+ };
@@ -80,7 +80,7 @@ import {
80
80
  resolveSkipDirs,
81
81
  saveGraph,
82
82
  skipDirGlobs
83
- } from "./chunk-XPRGWHBL.js";
83
+ } from "./chunk-BCFDGOMA.js";
84
84
  import "./chunk-KFQGP6VL.js";
85
85
  init_dist();
86
86
  export {
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  checkDocsDefinition,
3
3
  handleCheckDocs
4
- } from "./chunk-22OKI5QI.js";
4
+ } from "./chunk-I2KULMPD.js";
5
5
  import "./chunk-EPUKTTJZ.js";
6
6
  import "./chunk-W6Y7ZW3Y.js";
7
- import "./chunk-DBJC4ULT.js";
7
+ import "./chunk-MXOQEI72.js";
8
8
  import "./chunk-ZCZD7FHU.js";
9
- import "./chunk-YNG7BWGB.js";
10
- import "./chunk-RL4VMEXL.js";
11
- import "./chunk-XPRGWHBL.js";
9
+ import "./chunk-2TGCYJMT.js";
10
+ import "./chunk-O63AAPIZ.js";
11
+ import "./chunk-BCFDGOMA.js";
12
12
  import "./chunk-3WGJMBKH.js";
13
13
  import "./chunk-KFQGP6VL.js";
14
14
  export {
@@ -0,0 +1,10 @@
1
+ import {
2
+ TemplateEngine
3
+ } from "./chunk-NM3ZIWVN.js";
4
+ import "./chunk-2TGCYJMT.js";
5
+ import "./chunk-O63AAPIZ.js";
6
+ import "./chunk-BCFDGOMA.js";
7
+ import "./chunk-KFQGP6VL.js";
8
+ export {
9
+ TemplateEngine
10
+ };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  detectEntropyDefinition,
3
3
  handleDetectEntropy
4
- } from "./chunk-YI6NTL72.js";
4
+ } from "./chunk-GLKASJZE.js";
5
5
  import "./chunk-EPUKTTJZ.js";
6
6
  import "./chunk-W6Y7ZW3Y.js";
7
- import "./chunk-YNG7BWGB.js";
8
- import "./chunk-RL4VMEXL.js";
9
- import "./chunk-XPRGWHBL.js";
7
+ import "./chunk-2TGCYJMT.js";
8
+ import "./chunk-O63AAPIZ.js";
9
+ import "./chunk-BCFDGOMA.js";
10
10
  import "./chunk-KFQGP6VL.js";
11
11
  export {
12
12
  detectEntropyDefinition,
@@ -5,7 +5,7 @@ import {
5
5
  handleCreateSelfReview,
6
6
  handleRequestPeerReview,
7
7
  requestPeerReviewDefinition
8
- } from "./chunk-R6GLLMRZ.js";
8
+ } from "./chunk-IEHXZB6J.js";
9
9
  import "./chunk-EPUKTTJZ.js";
10
10
  import "./chunk-W6Y7ZW3Y.js";
11
11
  import "./chunk-KFQGP6VL.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createGenerateAgentDefinitionsCommand,
3
3
  generateAgentDefinitions
4
- } from "./chunk-LBYGGNEZ.js";
4
+ } from "./chunk-QV5EBDWA.js";
5
5
  import "./chunk-KET4QQZB.js";
6
- import "./chunk-KT5PWWWO.js";
6
+ import "./chunk-NTOKQJOX.js";
7
7
  import "./chunk-3ISINLYT.js";
8
8
  import "./chunk-6B6UN6SG.js";
9
- import "./chunk-YNG7BWGB.js";
10
- import "./chunk-RL4VMEXL.js";
11
- import "./chunk-XPRGWHBL.js";
9
+ import "./chunk-2TGCYJMT.js";
10
+ import "./chunk-O63AAPIZ.js";
11
+ import "./chunk-BCFDGOMA.js";
12
12
  import "./chunk-3WGJMBKH.js";
13
13
  import "./chunk-KFQGP6VL.js";
14
14
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_SKIP_DIRS,
3
3
  init_dist
4
- } from "./chunk-XPRGWHBL.js";
4
+ } from "./chunk-BCFDGOMA.js";
5
5
  import "./chunk-KFQGP6VL.js";
6
6
 
7
7
  // src/mcp/utils/glob-helper.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  clearGraphStoreCache,
3
3
  loadGraphStore
4
- } from "./chunk-TIQU5VY7.js";
4
+ } from "./chunk-5FDBXUFW.js";
5
5
  import "./chunk-KFQGP6VL.js";
6
6
  export {
7
7
  clearGraphStoreCache,
package/dist/index.d.ts CHANGED
@@ -909,14 +909,123 @@ declare const HarnessConfigSchema: z.ZodObject<{
909
909
  }, {
910
910
  enabled?: boolean | undefined;
911
911
  }>>;
912
- /** Central telemetry collection settings */
912
+ /** Compliance and convention enforcement settings */
913
+ compliance: z.ZodOptional<z.ZodObject<{
914
+ /** Branch naming convention settings */
915
+ branching: z.ZodDefault<z.ZodObject<{
916
+ /** Allowed branch name prefixes */
917
+ prefixes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
918
+ /** Whether to enforce kebab-case for the branch slug */
919
+ enforceKebabCase: z.ZodDefault<z.ZodBoolean>;
920
+ /**
921
+ * Optional regex that fully replaces the default prefix and kebab-case checks.
922
+ * When set, only the ignore list and this regex are evaluated; `prefixes`,
923
+ * `enforceKebabCase`, and `maxLength` are bypassed.
924
+ */
925
+ customRegex: z.ZodOptional<z.ZodString>;
926
+ /** List of ignored branch names (exact match or glob) */
927
+ ignore: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
928
+ /** Maximum slug length (characters after the first `/`). Set to 0 to disable. */
929
+ maxLength: z.ZodDefault<z.ZodNumber>;
930
+ }, "strip", z.ZodTypeAny, {
931
+ maxLength: number;
932
+ prefixes: string[];
933
+ enforceKebabCase: boolean;
934
+ ignore: string[];
935
+ customRegex?: string | undefined;
936
+ }, {
937
+ maxLength?: number | undefined;
938
+ prefixes?: string[] | undefined;
939
+ enforceKebabCase?: boolean | undefined;
940
+ customRegex?: string | undefined;
941
+ ignore?: string[] | undefined;
942
+ }>>;
943
+ }, "strip", z.ZodTypeAny, {
944
+ branching: {
945
+ maxLength: number;
946
+ prefixes: string[];
947
+ enforceKebabCase: boolean;
948
+ ignore: string[];
949
+ customRegex?: string | undefined;
950
+ };
951
+ }, {
952
+ branching?: {
953
+ maxLength?: number | undefined;
954
+ prefixes?: string[] | undefined;
955
+ enforceKebabCase?: boolean | undefined;
956
+ customRegex?: string | undefined;
957
+ ignore?: string[] | undefined;
958
+ } | undefined;
959
+ }>>;
960
+ /** Central telemetry + trace export settings */
913
961
  telemetry: z.ZodOptional<z.ZodObject<{
914
- /** Whether anonymous telemetry is enabled (default: true) */
962
+ /** Whether anonymous central telemetry (PostHog) is enabled (default: true). */
915
963
  enabled: z.ZodDefault<z.ZodBoolean>;
964
+ /** Trace exporter configuration. Currently the only export channel is OTLP/HTTP. */
965
+ export: z.ZodOptional<z.ZodObject<{
966
+ otlp: z.ZodOptional<z.ZodObject<{
967
+ /** Full URL to the OTLP/HTTP traces ingestion endpoint. */
968
+ endpoint: z.ZodString;
969
+ /** Whether the exporter is active. Default: true. */
970
+ enabled: z.ZodDefault<z.ZodBoolean>;
971
+ /** Optional headers forwarded on every flush (e.g. collector auth tokens). */
972
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
973
+ /** Flush cadence in milliseconds. Default: 2000. */
974
+ flushIntervalMs: z.ZodDefault<z.ZodNumber>;
975
+ /** Maximum buffered spans before forcing an early flush. Default: 64. */
976
+ batchSize: z.ZodDefault<z.ZodNumber>;
977
+ }, "strip", z.ZodTypeAny, {
978
+ enabled: boolean;
979
+ endpoint: string;
980
+ flushIntervalMs: number;
981
+ batchSize: number;
982
+ headers?: Record<string, string> | undefined;
983
+ }, {
984
+ endpoint: string;
985
+ enabled?: boolean | undefined;
986
+ headers?: Record<string, string> | undefined;
987
+ flushIntervalMs?: number | undefined;
988
+ batchSize?: number | undefined;
989
+ }>>;
990
+ }, "strip", z.ZodTypeAny, {
991
+ otlp?: {
992
+ enabled: boolean;
993
+ endpoint: string;
994
+ flushIntervalMs: number;
995
+ batchSize: number;
996
+ headers?: Record<string, string> | undefined;
997
+ } | undefined;
998
+ }, {
999
+ otlp?: {
1000
+ endpoint: string;
1001
+ enabled?: boolean | undefined;
1002
+ headers?: Record<string, string> | undefined;
1003
+ flushIntervalMs?: number | undefined;
1004
+ batchSize?: number | undefined;
1005
+ } | undefined;
1006
+ }>>;
916
1007
  }, "strip", z.ZodTypeAny, {
917
1008
  enabled: boolean;
1009
+ export?: {
1010
+ otlp?: {
1011
+ enabled: boolean;
1012
+ endpoint: string;
1013
+ flushIntervalMs: number;
1014
+ batchSize: number;
1015
+ headers?: Record<string, string> | undefined;
1016
+ } | undefined;
1017
+ } | undefined;
918
1018
  }, {
919
1019
  enabled?: boolean | undefined;
1020
+ export?: {
1021
+ otlp?: {
1022
+ endpoint: string;
1023
+ enabled?: boolean | undefined;
1024
+ headers?: Record<string, string> | undefined;
1025
+ flushIntervalMs?: number | undefined;
1026
+ batchSize?: number | undefined;
1027
+ } | undefined;
1028
+ } | undefined;
920
1029
  }>>;
921
1030
  /** How often (in ms) to check for CLI updates */
922
1031
  updateCheckInterval: z.ZodOptional<z.ZodNumber>;
@@ -1081,8 +1190,26 @@ declare const HarnessConfigSchema: z.ZodObject<{
1081
1190
  adoption?: {
1082
1191
  enabled: boolean;
1083
1192
  } | undefined;
1193
+ compliance?: {
1194
+ branching: {
1195
+ maxLength: number;
1196
+ prefixes: string[];
1197
+ enforceKebabCase: boolean;
1198
+ ignore: string[];
1199
+ customRegex?: string | undefined;
1200
+ };
1201
+ } | undefined;
1084
1202
  telemetry?: {
1085
1203
  enabled: boolean;
1204
+ export?: {
1205
+ otlp?: {
1206
+ enabled: boolean;
1207
+ endpoint: string;
1208
+ flushIntervalMs: number;
1209
+ batchSize: number;
1210
+ headers?: Record<string, string> | undefined;
1211
+ } | undefined;
1212
+ } | undefined;
1086
1213
  } | undefined;
1087
1214
  updateCheckInterval?: number | undefined;
1088
1215
  graph?: {
@@ -1240,8 +1367,26 @@ declare const HarnessConfigSchema: z.ZodObject<{
1240
1367
  adoption?: {
1241
1368
  enabled?: boolean | undefined;
1242
1369
  } | undefined;
1370
+ compliance?: {
1371
+ branching?: {
1372
+ maxLength?: number | undefined;
1373
+ prefixes?: string[] | undefined;
1374
+ enforceKebabCase?: boolean | undefined;
1375
+ customRegex?: string | undefined;
1376
+ ignore?: string[] | undefined;
1377
+ } | undefined;
1378
+ } | undefined;
1243
1379
  telemetry?: {
1244
1380
  enabled?: boolean | undefined;
1381
+ export?: {
1382
+ otlp?: {
1383
+ endpoint: string;
1384
+ enabled?: boolean | undefined;
1385
+ headers?: Record<string, string> | undefined;
1386
+ flushIntervalMs?: number | undefined;
1387
+ batchSize?: number | undefined;
1388
+ } | undefined;
1389
+ } | undefined;
1245
1390
  } | undefined;
1246
1391
  updateCheckInterval?: number | undefined;
1247
1392
  graph?: {
@@ -1709,6 +1854,16 @@ declare function renderClaudeCodeAgent(def: AgentDefinition): string;
1709
1854
 
1710
1855
  declare function renderGeminiAgent(def: AgentDefinition): string;
1711
1856
 
1857
+ /**
1858
+ * Shared MCP tool type definitions.
1859
+ *
1860
+ * Lives in its own module (rather than `server.ts`) so that tool-definition
1861
+ * files like `./tools/gateway-tools.ts` and the tier-allowlist in
1862
+ * `./tool-tiers.ts` can import `ToolDefinition` without creating a circular
1863
+ * dependency back to `server.ts` (which in turn imports each tool's
1864
+ * definition object). Flagged by `harness check-deps` at the end of
1865
+ * Phase 2 — fix landed in the Task 14 exit-gate sweep.
1866
+ */
1712
1867
  type ToolDefinition = {
1713
1868
  name: string;
1714
1869
  description: string;
@@ -1716,6 +1871,7 @@ type ToolDefinition = {
1716
1871
  /** When true, output scanning is skipped for this tool (internal content, not external). */
1717
1872
  trustedOutput?: boolean;
1718
1873
  };
1874
+
1719
1875
  declare function getToolDefinitions(): ToolDefinition[];
1720
1876
  declare function createHarnessServer(projectRoot?: string, toolFilter?: string[]): Server;
1721
1877
  declare function startServer(toolFilter?: string[]): Promise<void>;
package/dist/index.js CHANGED
@@ -12,22 +12,22 @@ import {
12
12
  runSnapshotCapture,
13
13
  runUninstall,
14
14
  runUninstallConstraints
15
- } from "./chunk-N6DVSOLZ.js";
15
+ } from "./chunk-GOSUZC5H.js";
16
16
  import {
17
17
  generateRuntime
18
- } from "./chunk-WMZKZCCE.js";
18
+ } from "./chunk-OUXYITL5.js";
19
19
  import {
20
20
  generateAgentsMd
21
- } from "./chunk-IYA3NS5P.js";
21
+ } from "./chunk-RRTTJ3VB.js";
22
22
  import {
23
23
  generateCIWorkflow
24
- } from "./chunk-DHWFOHPX.js";
24
+ } from "./chunk-UQJV7NNM.js";
25
25
  import {
26
26
  runCrossCheck
27
- } from "./chunk-T2ZMHXCX.js";
27
+ } from "./chunk-PPQ3TY2R.js";
28
28
  import {
29
29
  TemplateEngine
30
- } from "./chunk-JMACX5FN.js";
30
+ } from "./chunk-NM3ZIWVN.js";
31
31
  import "./chunk-CQ553GZO.js";
32
32
  import {
33
33
  detectTrigger,
@@ -43,7 +43,7 @@ import {
43
43
  OutputFormatter,
44
44
  OutputMode,
45
45
  runCheckPhaseGate
46
- } from "./chunk-U2SF3KAQ.js";
46
+ } from "./chunk-KOK7BFP2.js";
47
47
  import {
48
48
  AGENT_DESCRIPTIONS,
49
49
  DEFAULT_TOOLS,
@@ -52,33 +52,33 @@ import {
52
52
  generateAgentDefinitions,
53
53
  renderClaudeCodeAgent,
54
54
  renderGeminiAgent
55
- } from "./chunk-LBYGGNEZ.js";
55
+ } from "./chunk-QV5EBDWA.js";
56
56
  import "./chunk-KET4QQZB.js";
57
57
  import {
58
58
  listPersonas,
59
59
  loadPersona
60
- } from "./chunk-KT5PWWWO.js";
60
+ } from "./chunk-NTOKQJOX.js";
61
61
  import {
62
62
  runScan
63
- } from "./chunk-7BNK4M23.js";
63
+ } from "./chunk-5XLLIYYL.js";
64
64
  import {
65
65
  createHarnessServer,
66
66
  generateSlashCommands,
67
67
  getToolDefinitions,
68
68
  startServer
69
- } from "./chunk-A36MGB3V.js";
70
- import "./chunk-LYMPKO6N.js";
71
- import "./chunk-TIJXG4UB.js";
69
+ } from "./chunk-TPNA2I4J.js";
70
+ import "./chunk-UPV7VDUB.js";
71
+ import "./chunk-B2ZYMQGT.js";
72
72
  import "./chunk-IOW3MW2K.js";
73
- import "./chunk-R6GLLMRZ.js";
74
- import "./chunk-EMJFHTPZ.js";
75
- import "./chunk-TIQU5VY7.js";
76
- import "./chunk-QZ67TDLJ.js";
77
- import "./chunk-J4MX5DIA.js";
78
- import "./chunk-2564TBT6.js";
79
- import "./chunk-22OKI5QI.js";
80
- import "./chunk-YI6NTL72.js";
81
- import "./chunk-KJR4Z2YC.js";
73
+ import "./chunk-IEHXZB6J.js";
74
+ import "./chunk-LHHO7AH4.js";
75
+ import "./chunk-5FDBXUFW.js";
76
+ import "./chunk-KRQTN46U.js";
77
+ import "./chunk-7RZZV73V.js";
78
+ import "./chunk-LJF6UY4R.js";
79
+ import "./chunk-I2KULMPD.js";
80
+ import "./chunk-GLKASJZE.js";
81
+ import "./chunk-73KZ2E47.js";
82
82
  import "./chunk-EPUKTTJZ.js";
83
83
  import "./chunk-W6Y7ZW3Y.js";
84
84
  import "./chunk-27AJKSQY.js";
@@ -86,14 +86,14 @@ import {
86
86
  findConfigFile,
87
87
  loadConfig,
88
88
  resolveConfig
89
- } from "./chunk-DBJC4ULT.js";
89
+ } from "./chunk-MXOQEI72.js";
90
90
  import "./chunk-3ISINLYT.js";
91
91
  import "./chunk-6B6UN6SG.js";
92
92
  import "./chunk-ZCZD7FHU.js";
93
93
  import "./chunk-BM3PWGXQ.js";
94
- import "./chunk-YNG7BWGB.js";
95
- import "./chunk-RL4VMEXL.js";
96
- import "./chunk-XPRGWHBL.js";
94
+ import "./chunk-2TGCYJMT.js";
95
+ import "./chunk-O63AAPIZ.js";
96
+ import "./chunk-BCFDGOMA.js";
97
97
  import {
98
98
  generateSkillFiles
99
99
  } from "./chunk-ZP5E7YET.js";