audit-tools 0.28.1 → 0.28.3

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 (124) hide show
  1. package/dist/audit/cli/auditStep.d.ts +12 -1
  2. package/dist/audit/cli/auditStep.d.ts.map +1 -1
  3. package/dist/audit/cli/auditStep.js +1 -0
  4. package/dist/audit/cli/auditStep.js.map +1 -1
  5. package/dist/audit/cli/confirmIntentStep.d.ts.map +1 -1
  6. package/dist/audit/cli/confirmIntentStep.js +46 -35
  7. package/dist/audit/cli/confirmIntentStep.js.map +1 -1
  8. package/dist/audit/cli/dispatch/packetFilter.d.ts +1 -1
  9. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  10. package/dist/audit/cli/nextStepHelpers.js +5 -1
  11. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  12. package/dist/audit/cli/steps.d.ts +2 -2
  13. package/dist/audit/contracts/workerSchemas.d.ts +14 -14
  14. package/dist/audit/contracts/wrapperResponse.d.ts +4 -4
  15. package/dist/audit/extractors/analyzers/types.d.ts +3 -1
  16. package/dist/audit/extractors/analyzers/types.d.ts.map +1 -1
  17. package/dist/audit/extractors/analyzers/types.js +10 -1
  18. package/dist/audit/extractors/analyzers/types.js.map +1 -1
  19. package/dist/audit/orchestrator/advanceTypes.d.ts +8 -0
  20. package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
  21. package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
  22. package/dist/audit/orchestrator/executorRunners.js +1 -1
  23. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  24. package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts +19 -8
  25. package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts.map +1 -1
  26. package/dist/audit/orchestrator/intentCheckpointExecutor.js +64 -40
  27. package/dist/audit/orchestrator/intentCheckpointExecutor.js.map +1 -1
  28. package/dist/audit/orchestrator/requeueCommand.d.ts +1 -1
  29. package/dist/audit/reporting/synthesis.d.ts.map +1 -1
  30. package/dist/audit/reporting/synthesis.js +91 -26
  31. package/dist/audit/reporting/synthesis.js.map +1 -1
  32. package/dist/audit/types/analyzerCapability.d.ts +69 -12
  33. package/dist/audit/types/analyzerCapability.d.ts.map +1 -1
  34. package/dist/audit/types/analyzerCapability.js +25 -1
  35. package/dist/audit/types/analyzerCapability.js.map +1 -1
  36. package/dist/audit/types/auditScope.d.ts +51 -12
  37. package/dist/audit/types/auditScope.d.ts.map +1 -1
  38. package/dist/audit/types/auditScope.js +49 -1
  39. package/dist/audit/types/auditScope.js.map +1 -1
  40. package/dist/audit/types/auditState.d.ts +60 -11
  41. package/dist/audit/types/auditState.d.ts.map +1 -1
  42. package/dist/audit/types/auditState.js +24 -1
  43. package/dist/audit/types/auditState.js.map +1 -1
  44. package/dist/audit/types/flowCoverage.d.ts +65 -8
  45. package/dist/audit/types/flowCoverage.d.ts.map +1 -1
  46. package/dist/audit/types/flowCoverage.js +21 -0
  47. package/dist/audit/types/flowCoverage.js.map +1 -1
  48. package/dist/audit/types/reviewPlanning.d.ts +2 -2
  49. package/dist/audit/types.d.ts +12 -12
  50. package/dist/remediate/contractPipeline/artifactStore.d.ts +7 -0
  51. package/dist/remediate/contractPipeline/artifactStore.d.ts.map +1 -1
  52. package/dist/remediate/contractPipeline/artifactStore.js +13 -1
  53. package/dist/remediate/contractPipeline/artifactStore.js.map +1 -1
  54. package/dist/remediate/contractPipeline/semanticProjection.d.ts.map +1 -1
  55. package/dist/remediate/contractPipeline/semanticProjection.js +36 -14
  56. package/dist/remediate/contractPipeline/semanticProjection.js.map +1 -1
  57. package/dist/remediate/index.d.ts.map +1 -1
  58. package/dist/remediate/index.js +7 -3
  59. package/dist/remediate/index.js.map +1 -1
  60. package/dist/remediate/phases/close.d.ts.map +1 -1
  61. package/dist/remediate/phases/close.js +27 -8
  62. package/dist/remediate/phases/close.js.map +1 -1
  63. package/dist/remediate/state/itemStatus.d.ts +5 -3
  64. package/dist/remediate/state/itemStatus.d.ts.map +1 -1
  65. package/dist/remediate/state/itemStatus.js +7 -3
  66. package/dist/remediate/state/itemStatus.js.map +1 -1
  67. package/dist/remediate/state/types.d.ts +7 -2
  68. package/dist/remediate/state/types.d.ts.map +1 -1
  69. package/dist/remediate/state/types.js +7 -0
  70. package/dist/remediate/state/types.js.map +1 -1
  71. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  72. package/dist/remediate/steps/contractPipeline.js +1 -7
  73. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  74. package/dist/remediate/steps/dispatch.d.ts +109 -1
  75. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  76. package/dist/remediate/steps/dispatch.js +370 -55
  77. package/dist/remediate/steps/dispatch.js.map +1 -1
  78. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  79. package/dist/remediate/steps/nextStep.js +215 -21
  80. package/dist/remediate/steps/nextStep.js.map +1 -1
  81. package/dist/remediate/steps/prompts.d.ts +12 -0
  82. package/dist/remediate/steps/prompts.d.ts.map +1 -1
  83. package/dist/remediate/steps/prompts.js +61 -1
  84. package/dist/remediate/steps/prompts.js.map +1 -1
  85. package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
  86. package/dist/remediate/steps/rollingSession.js +59 -7
  87. package/dist/remediate/steps/rollingSession.js.map +1 -1
  88. package/dist/remediate/steps/types.d.ts +10 -1
  89. package/dist/remediate/steps/types.d.ts.map +1 -1
  90. package/dist/remediate/steps/types.js.map +1 -1
  91. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  92. package/dist/remediate/validation/artifacts.js +5 -2
  93. package/dist/remediate/validation/artifacts.js.map +1 -1
  94. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  95. package/dist/remediate/validation/contractPipelineGates.js +45 -8
  96. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  97. package/dist/shared/engine/obligationEngine.d.ts +16 -5
  98. package/dist/shared/engine/obligationEngine.d.ts.map +1 -1
  99. package/dist/shared/engine/obligationEngine.js +21 -0
  100. package/dist/shared/engine/obligationEngine.js.map +1 -1
  101. package/dist/shared/index.d.ts +5 -3
  102. package/dist/shared/index.d.ts.map +1 -1
  103. package/dist/shared/index.js +5 -3
  104. package/dist/shared/index.js.map +1 -1
  105. package/dist/shared/intent/freeFormIntentInterpreter.d.ts.map +1 -1
  106. package/dist/shared/intent/freeFormIntentInterpreter.js +5 -1
  107. package/dist/shared/intent/freeFormIntentInterpreter.js.map +1 -1
  108. package/dist/shared/providers/openAiCompatibleProvider.d.ts +5 -2
  109. package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
  110. package/dist/shared/providers/openAiCompatibleProvider.js +86 -25
  111. package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
  112. package/dist/shared/types/intentCheckpoint.d.ts +151 -34
  113. package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
  114. package/dist/shared/types/intentCheckpoint.js +113 -1
  115. package/dist/shared/types/intentCheckpoint.js.map +1 -1
  116. package/dist/shared/types/remediationOutcome.d.ts +203 -24
  117. package/dist/shared/types/remediationOutcome.d.ts.map +1 -1
  118. package/dist/shared/types/remediationOutcome.js +65 -1
  119. package/dist/shared/types/remediationOutcome.js.map +1 -1
  120. package/dist/shared/types/sessionConfig.d.ts +8 -2
  121. package/dist/shared/types/sessionConfig.d.ts.map +1 -1
  122. package/dist/shared/types/sessionConfig.js +2 -0
  123. package/dist/shared/types/sessionConfig.js.map +1 -1
  124. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import type { FileDispositionStatus } from "./disposition.js";
1
+ import { z } from "zod";
2
2
  /**
3
3
  * The accepted scope and intent for a run, confirmed by the host before
4
4
  * planning. Single-sourced so both orchestrators share one shape: audit-code
@@ -7,39 +7,55 @@ import type { FileDispositionStatus } from "./disposition.js";
7
7
  * `intent_summary` are human renders; the structured fields are what downstream
8
8
  * planning, worker prompts, and reports actually consume.
9
9
  */
10
- export interface IntentCheckpoint {
11
- schema_version: "intent-checkpoint/v1";
12
- confirmed_at: string;
10
+ export declare const IntentCheckpointSchema: z.ZodObject<{
11
+ schema_version: z.ZodLiteral<"intent-checkpoint/v1">;
12
+ confirmed_at: z.ZodString;
13
13
  /**
14
14
  * `"host"` — checkpoint has been reviewed and confirmed by the host agent.
15
15
  * `"draft"` — preliminary checkpoint pre-populated by synthesize_intake worker;
16
16
  * not yet confirmed; planning must not begin and filtering must not apply.
17
17
  */
18
- confirmed_by: "host" | "draft";
18
+ confirmed_by: z.ZodEnum<["host", "draft"]>;
19
19
  /** Human-readable description of the confirmed scope. */
20
- scope_summary: string;
20
+ scope_summary: z.ZodString;
21
21
  /** Human-readable description of the goal (e.g. full-audit / delta). */
22
- intent_summary: string;
22
+ intent_summary: z.ZodString;
23
23
  /**
24
24
  * Free-form intent; interpreted into priority/lens/scope signals at planning
25
25
  * time via freeFormIntentInterpreter. Never threaded verbatim into worker or
26
26
  * dispatch prompts (see freeFormIntentInterpreter, INV-S04).
27
27
  */
28
- free_form_intent?: string;
28
+ free_form_intent: z.ZodOptional<z.ZodString>;
29
29
  /** Paths intentionally excluded from the run, each with a reason. */
30
- excluded_scope?: Array<{
30
+ excluded_scope: z.ZodOptional<z.ZodArray<z.ZodObject<{
31
+ path: z.ZodString;
32
+ reason: z.ZodString;
33
+ }, "strict", z.ZodTypeAny, {
31
34
  path: string;
32
35
  reason: string;
33
- }>;
36
+ }, {
37
+ path: string;
38
+ reason: string;
39
+ }>, "many">>;
34
40
  /** Path globs that must never be written to. */
35
- must_not_touch?: string[];
41
+ must_not_touch: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
36
42
  /** Remediate-only finding filters; audit-code ignores these. */
37
- filters?: {
38
- severity?: string[];
39
- lenses?: string[];
40
- packages?: string[];
41
- themes?: string[];
42
- };
43
+ filters: z.ZodOptional<z.ZodObject<{
44
+ severity: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
45
+ lenses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
46
+ packages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
47
+ themes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
48
+ }, "strict", z.ZodTypeAny, {
49
+ severity?: string[] | undefined;
50
+ themes?: string[] | undefined;
51
+ lenses?: string[] | undefined;
52
+ packages?: string[] | undefined;
53
+ }, {
54
+ severity?: string[] | undefined;
55
+ themes?: string[] | undefined;
56
+ lenses?: string[] | undefined;
57
+ packages?: string[] | undefined;
58
+ }>>;
43
59
  /**
44
60
  * Clauses from free_form_intent that could not be encoded as lens-weight,
45
61
  * priority, or scope signals. Each entry carries the original clause text,
@@ -47,34 +63,56 @@ export interface IntentCheckpoint {
47
63
  * answer once resolved. These survive as explicit machine-checkable
48
64
  * contract constraints threaded into planning and worker prompts.
49
65
  */
50
- constraint_clauses?: Array<{
66
+ constraint_clauses: z.ZodOptional<z.ZodArray<z.ZodObject<{
51
67
  /** The original unencodable clause text. */
52
- text: string;
68
+ text: z.ZodString;
53
69
  /** The blocking checkpoint question generated for this clause. */
54
- checkpoint_question: string;
70
+ checkpoint_question: z.ZodString;
55
71
  /** The host's answer to the checkpoint question once resolved. */
56
- host_answer?: string;
57
- }>;
72
+ host_answer: z.ZodOptional<z.ZodString>;
73
+ }, "strict", z.ZodTypeAny, {
74
+ text: string;
75
+ checkpoint_question: string;
76
+ host_answer?: string | undefined;
77
+ }, {
78
+ text: string;
79
+ checkpoint_question: string;
80
+ host_answer?: string | undefined;
81
+ }>, "many">>;
58
82
  /**
59
83
  * Per-file or per-prefix status corrections accepted by the host. Applied
60
84
  * before coverage initialization so overridden files never become audit
61
85
  * tasks. Typically sourced from `disposition_override_proposals` in the
62
86
  * scope pre-digest shown during the `confirm_intent` step.
63
87
  */
64
- disposition_overrides?: Array<{
88
+ disposition_overrides: z.ZodOptional<z.ZodArray<z.ZodObject<{
89
+ path: z.ZodString;
90
+ status: z.ZodEnum<["included", "excluded", "generated", "vendor", "binary", "doc_only"]>;
91
+ reason: z.ZodString;
92
+ }, "strict", z.ZodTypeAny, {
65
93
  path: string;
66
- status: FileDispositionStatus;
94
+ status: "included" | "excluded" | "generated" | "vendor" | "binary" | "doc_only";
67
95
  reason: string;
68
- }>;
96
+ }, {
97
+ path: string;
98
+ status: "included" | "excluded" | "generated" | "vendor" | "binary" | "doc_only";
99
+ reason: string;
100
+ }>, "many">>;
69
101
  /**
70
102
  * Accepted or modified lens set from the host, derived from the
71
- * `lens_proposals` in the scope pre-digest. `include` is additive (always
103
+ * lens proposition table in the scope pre-digest. `include` is additive (always
72
104
  * merged with mandatory lenses); `exclude` removes non-mandatory lenses.
73
105
  */
74
- lens_selection?: {
75
- include?: string[];
76
- exclude?: string[];
77
- };
106
+ lens_selection: z.ZodOptional<z.ZodObject<{
107
+ include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
108
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
109
+ }, "strict", z.ZodTypeAny, {
110
+ include?: string[] | undefined;
111
+ exclude?: string[] | undefined;
112
+ }, {
113
+ include?: string[] | undefined;
114
+ exclude?: string[] | undefined;
115
+ }>>;
78
116
  /**
79
117
  * Conceptual design-review depth, confirmed by the host during
80
118
  * `confirm_intent`. Provider-neutral: it records *how much* conceptual review
@@ -87,9 +125,88 @@ export interface IntentCheckpoint {
87
125
  * judge.
88
126
  * `perspectives` bounds the deep fan-out count; ignored when shallow.
89
127
  */
128
+ design_review: z.ZodOptional<z.ZodObject<{
129
+ conceptual_depth: z.ZodOptional<z.ZodEnum<["shallow", "deep"]>>;
130
+ perspectives: z.ZodOptional<z.ZodNumber>;
131
+ }, "strict", z.ZodTypeAny, {
132
+ conceptual_depth?: "shallow" | "deep" | undefined;
133
+ perspectives?: number | undefined;
134
+ }, {
135
+ conceptual_depth?: "shallow" | "deep" | undefined;
136
+ perspectives?: number | undefined;
137
+ }>>;
138
+ }, "strict", z.ZodTypeAny, {
139
+ schema_version: "intent-checkpoint/v1";
140
+ confirmed_at: string;
141
+ confirmed_by: "host" | "draft";
142
+ scope_summary: string;
143
+ intent_summary: string;
144
+ excluded_scope?: {
145
+ path: string;
146
+ reason: string;
147
+ }[] | undefined;
148
+ free_form_intent?: string | undefined;
149
+ must_not_touch?: string[] | undefined;
150
+ filters?: {
151
+ severity?: string[] | undefined;
152
+ themes?: string[] | undefined;
153
+ lenses?: string[] | undefined;
154
+ packages?: string[] | undefined;
155
+ } | undefined;
156
+ constraint_clauses?: {
157
+ text: string;
158
+ checkpoint_question: string;
159
+ host_answer?: string | undefined;
160
+ }[] | undefined;
161
+ disposition_overrides?: {
162
+ path: string;
163
+ status: "included" | "excluded" | "generated" | "vendor" | "binary" | "doc_only";
164
+ reason: string;
165
+ }[] | undefined;
166
+ lens_selection?: {
167
+ include?: string[] | undefined;
168
+ exclude?: string[] | undefined;
169
+ } | undefined;
170
+ design_review?: {
171
+ conceptual_depth?: "shallow" | "deep" | undefined;
172
+ perspectives?: number | undefined;
173
+ } | undefined;
174
+ }, {
175
+ schema_version: "intent-checkpoint/v1";
176
+ confirmed_at: string;
177
+ confirmed_by: "host" | "draft";
178
+ scope_summary: string;
179
+ intent_summary: string;
180
+ excluded_scope?: {
181
+ path: string;
182
+ reason: string;
183
+ }[] | undefined;
184
+ free_form_intent?: string | undefined;
185
+ must_not_touch?: string[] | undefined;
186
+ filters?: {
187
+ severity?: string[] | undefined;
188
+ themes?: string[] | undefined;
189
+ lenses?: string[] | undefined;
190
+ packages?: string[] | undefined;
191
+ } | undefined;
192
+ constraint_clauses?: {
193
+ text: string;
194
+ checkpoint_question: string;
195
+ host_answer?: string | undefined;
196
+ }[] | undefined;
197
+ disposition_overrides?: {
198
+ path: string;
199
+ status: "included" | "excluded" | "generated" | "vendor" | "binary" | "doc_only";
200
+ reason: string;
201
+ }[] | undefined;
202
+ lens_selection?: {
203
+ include?: string[] | undefined;
204
+ exclude?: string[] | undefined;
205
+ } | undefined;
90
206
  design_review?: {
91
- conceptual_depth?: "shallow" | "deep";
92
- perspectives?: number;
93
- };
94
- }
207
+ conceptual_depth?: "shallow" | "deep" | undefined;
208
+ perspectives?: number | undefined;
209
+ } | undefined;
210
+ }>;
211
+ export type IntentCheckpoint = z.infer<typeof IntentCheckpointSchema>;
95
212
  //# sourceMappingURL=intentCheckpoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"intentCheckpoint.d.ts","sourceRoot":"","sources":["../../../src/shared/types/intentCheckpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,sBAAsB,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gEAAgE;IAChE,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC;QACzB,4CAA4C;QAC5C,IAAI,EAAE,MAAM,CAAC;QACb,kEAAkE;QAClE,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kEAAkE;QAClE,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,qBAAqB,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH;;;;OAIG;IACH,cAAc,CAAC,EAAE;QACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE;QACd,gBAAgB,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;QACtC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
1
+ {"version":3,"file":"intentCheckpoint.d.ts","sourceRoot":"","sources":["../../../src/shared/types/intentCheckpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;;IAI/B;;;;OAIG;;IAEH,yDAAyD;;IAEzD,wEAAwE;;IAExE;;;;OAIG;;IAEH,qEAAqE;;;;;;;;;;;IAIrE,gDAAgD;;IAEhD,gEAAgE;;;;;;;;;;;;;;;;;IAUhE;;;;;;OAMG;;QAKK,4CAA4C;;QAE5C,kEAAkE;;QAElE,kEAAkE;;;;;;;;;;;IAM1E;;;;;OAKG;;;;;;;;;;;;;;IAYH;;;;OAIG;;;;;;;;;;;IAQH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASI,CAAC;AACZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -1,2 +1,114 @@
1
- export {};
1
+ import { z } from "zod";
2
+ import { FileDispositionStatusSchema } from "./disposition.js";
3
+ /**
4
+ * The accepted scope and intent for a run, confirmed by the host before
5
+ * planning. Single-sourced so both orchestrators share one shape: audit-code
6
+ * uses `excluded_scope`/`must_not_touch`/`free_form_intent`; remediate-code
7
+ * additionally uses `filters` to narrow findings. `scope_summary`/
8
+ * `intent_summary` are human renders; the structured fields are what downstream
9
+ * planning, worker prompts, and reports actually consume.
10
+ */
11
+ export const IntentCheckpointSchema = z
12
+ .object({
13
+ schema_version: z.literal("intent-checkpoint/v1"),
14
+ confirmed_at: z.string(),
15
+ /**
16
+ * `"host"` — checkpoint has been reviewed and confirmed by the host agent.
17
+ * `"draft"` — preliminary checkpoint pre-populated by synthesize_intake worker;
18
+ * not yet confirmed; planning must not begin and filtering must not apply.
19
+ */
20
+ confirmed_by: z.enum(["host", "draft"]),
21
+ /** Human-readable description of the confirmed scope. */
22
+ scope_summary: z.string(),
23
+ /** Human-readable description of the goal (e.g. full-audit / delta). */
24
+ intent_summary: z.string(),
25
+ /**
26
+ * Free-form intent; interpreted into priority/lens/scope signals at planning
27
+ * time via freeFormIntentInterpreter. Never threaded verbatim into worker or
28
+ * dispatch prompts (see freeFormIntentInterpreter, INV-S04).
29
+ */
30
+ free_form_intent: z.string().optional(),
31
+ /** Paths intentionally excluded from the run, each with a reason. */
32
+ excluded_scope: z
33
+ .array(z.object({ path: z.string(), reason: z.string() }).strict())
34
+ .optional(),
35
+ /** Path globs that must never be written to. */
36
+ must_not_touch: z.array(z.string()).optional(),
37
+ /** Remediate-only finding filters; audit-code ignores these. */
38
+ filters: z
39
+ .object({
40
+ severity: z.array(z.string()).optional(),
41
+ lenses: z.array(z.string()).optional(),
42
+ packages: z.array(z.string()).optional(),
43
+ themes: z.array(z.string()).optional(),
44
+ })
45
+ .strict()
46
+ .optional(),
47
+ /**
48
+ * Clauses from free_form_intent that could not be encoded as lens-weight,
49
+ * priority, or scope signals. Each entry carries the original clause text,
50
+ * the blocking checkpoint question raised for it, and the optional host
51
+ * answer once resolved. These survive as explicit machine-checkable
52
+ * contract constraints threaded into planning and worker prompts.
53
+ */
54
+ constraint_clauses: z
55
+ .array(z
56
+ .object({
57
+ /** The original unencodable clause text. */
58
+ text: z.string(),
59
+ /** The blocking checkpoint question generated for this clause. */
60
+ checkpoint_question: z.string(),
61
+ /** The host's answer to the checkpoint question once resolved. */
62
+ host_answer: z.string().optional(),
63
+ })
64
+ .strict())
65
+ .optional(),
66
+ /**
67
+ * Per-file or per-prefix status corrections accepted by the host. Applied
68
+ * before coverage initialization so overridden files never become audit
69
+ * tasks. Typically sourced from `disposition_override_proposals` in the
70
+ * scope pre-digest shown during the `confirm_intent` step.
71
+ */
72
+ disposition_overrides: z
73
+ .array(z
74
+ .object({
75
+ path: z.string(),
76
+ status: FileDispositionStatusSchema,
77
+ reason: z.string(),
78
+ })
79
+ .strict())
80
+ .optional(),
81
+ /**
82
+ * Accepted or modified lens set from the host, derived from the
83
+ * lens proposition table in the scope pre-digest. `include` is additive (always
84
+ * merged with mandatory lenses); `exclude` removes non-mandatory lenses.
85
+ */
86
+ lens_selection: z
87
+ .object({
88
+ include: z.array(z.string()).optional(),
89
+ exclude: z.array(z.string()).optional(),
90
+ })
91
+ .strict()
92
+ .optional(),
93
+ /**
94
+ * Conceptual design-review depth, confirmed by the host during
95
+ * `confirm_intent`. Provider-neutral: it records *how much* conceptual review
96
+ * to do, never *which model* runs it (model choice is resolved JIT at dispatch
97
+ * against the active provider's discovered roster).
98
+ * - `conceptual_depth: "shallow"` (default when omitted) — a single conceptual
99
+ * reviewer.
100
+ * - `conceptual_depth: "deep"` — fan out `perspectives` independent reviewers
101
+ * with maximally dissimilar perspectives, then compile via an independent
102
+ * judge.
103
+ * `perspectives` bounds the deep fan-out count; ignored when shallow.
104
+ */
105
+ design_review: z
106
+ .object({
107
+ conceptual_depth: z.enum(["shallow", "deep"]).optional(),
108
+ perspectives: z.number().int().min(1).optional(),
109
+ })
110
+ .strict()
111
+ .optional(),
112
+ })
113
+ .strict();
2
114
  //# sourceMappingURL=intentCheckpoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intentCheckpoint.js","sourceRoot":"","sources":["../../../src/shared/types/intentCheckpoint.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"intentCheckpoint.js","sourceRoot":"","sources":["../../../src/shared/types/intentCheckpoint.ts"],"names":[],"mappings":"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"}
@@ -1,41 +1,220 @@
1
- export type RemediationOutcomeStatus = "resolved" | "verified_no_change" | "inappropriate" | "ignored" | "blocked";
2
- export interface RemediationOutcome {
3
- finding_id: string;
1
+ import { z } from "zod";
2
+ export declare const RemediationOutcomeStatusSchema: z.ZodEnum<["resolved", "verified_no_change", "inappropriate", "ignored", "blocked"]>;
3
+ export type RemediationOutcomeStatus = z.infer<typeof RemediationOutcomeStatusSchema>;
4
+ export declare const RemediationOutcomeSchema: z.ZodObject<{
5
+ finding_id: z.ZodString;
4
6
  /** Audit lens the finding came from (free string in the wire contract). */
5
- lens: string;
7
+ lens: z.ZodString;
6
8
  /** Distinct file extensions of the finding's affected files (e.g. [".ts"]). */
7
- file_exts: string[];
8
- outcome: RemediationOutcomeStatus;
9
+ file_exts: z.ZodArray<z.ZodString, "many">;
10
+ outcome: z.ZodEnum<["resolved", "verified_no_change", "inappropriate", "ignored", "blocked"]>;
9
11
  /** How many times the item was sent back for rework before this outcome. */
10
- rework_count: number;
12
+ rework_count: z.ZodNumber;
11
13
  /** The run's closing-action status (e.g. "success", "failed"). */
12
- closing_status: string;
14
+ closing_status: z.ZodString;
13
15
  /** Human-readable explanation for non-success closing statuses. */
14
- closing_status_reason?: string;
16
+ closing_status_reason: z.ZodOptional<z.ZodString>;
15
17
  /**
16
18
  * For non-resolved outcomes: the failure or rationale text (e.g. why a
17
19
  * finding was deemed inappropriate, ignored, or blocked). Absent for
18
20
  * `resolved` and `verified_no_change` outcomes.
19
21
  */
20
- reason?: string;
22
+ reason: z.ZodOptional<z.ZodString>;
21
23
  /** ISO-8601 timestamp when work on this item first left pending. */
22
- started_at?: string;
24
+ started_at: z.ZodOptional<z.ZodString>;
23
25
  /** ISO-8601 timestamp when the item reached its terminal status. */
24
- completed_at?: string;
26
+ completed_at: z.ZodOptional<z.ZodString>;
25
27
  /** Milliseconds between completed_at and started_at when both are present. */
26
- duration_ms?: number;
27
- }
28
- export interface RemediationOutcomesReport {
29
- contract_version: string;
30
- total: number;
31
- by_outcome: Record<RemediationOutcomeStatus, number>;
32
- by_lens: Record<string, Partial<Record<RemediationOutcomeStatus, number>>>;
28
+ duration_ms: z.ZodOptional<z.ZodNumber>;
29
+ }, "strict", z.ZodTypeAny, {
30
+ lens: string;
31
+ finding_id: string;
32
+ file_exts: string[];
33
+ outcome: "blocked" | "resolved" | "verified_no_change" | "inappropriate" | "ignored";
34
+ rework_count: number;
35
+ closing_status: string;
36
+ reason?: string | undefined;
37
+ closing_status_reason?: string | undefined;
38
+ started_at?: string | undefined;
39
+ completed_at?: string | undefined;
40
+ duration_ms?: number | undefined;
41
+ }, {
42
+ lens: string;
43
+ finding_id: string;
44
+ file_exts: string[];
45
+ outcome: "blocked" | "resolved" | "verified_no_change" | "inappropriate" | "ignored";
46
+ rework_count: number;
47
+ closing_status: string;
48
+ reason?: string | undefined;
49
+ closing_status_reason?: string | undefined;
50
+ started_at?: string | undefined;
51
+ completed_at?: string | undefined;
52
+ duration_ms?: number | undefined;
53
+ }>;
54
+ export type RemediationOutcome = z.infer<typeof RemediationOutcomeSchema>;
55
+ export declare const RemediationOutcomesReportSchema: z.ZodObject<{
56
+ contract_version: z.ZodString;
57
+ total: z.ZodNumber;
58
+ by_outcome: z.ZodObject<{
59
+ resolved: z.ZodNumber;
60
+ verified_no_change: z.ZodNumber;
61
+ inappropriate: z.ZodNumber;
62
+ ignored: z.ZodNumber;
63
+ blocked: z.ZodNumber;
64
+ }, "strict", z.ZodTypeAny, {
65
+ blocked: number;
66
+ resolved: number;
67
+ verified_no_change: number;
68
+ inappropriate: number;
69
+ ignored: number;
70
+ }, {
71
+ blocked: number;
72
+ resolved: number;
73
+ verified_no_change: number;
74
+ inappropriate: number;
75
+ ignored: number;
76
+ }>;
77
+ by_lens: z.ZodRecord<z.ZodString, z.ZodObject<{
78
+ resolved: z.ZodOptional<z.ZodNumber>;
79
+ verified_no_change: z.ZodOptional<z.ZodNumber>;
80
+ inappropriate: z.ZodOptional<z.ZodNumber>;
81
+ ignored: z.ZodOptional<z.ZodNumber>;
82
+ blocked: z.ZodOptional<z.ZodNumber>;
83
+ }, "strict", z.ZodTypeAny, {
84
+ blocked?: number | undefined;
85
+ resolved?: number | undefined;
86
+ verified_no_change?: number | undefined;
87
+ inappropriate?: number | undefined;
88
+ ignored?: number | undefined;
89
+ }, {
90
+ blocked?: number | undefined;
91
+ resolved?: number | undefined;
92
+ verified_no_change?: number | undefined;
93
+ inappropriate?: number | undefined;
94
+ ignored?: number | undefined;
95
+ }>>;
33
96
  /** Earliest item started_at across all outcomes. */
34
- started_at?: string;
97
+ started_at: z.ZodOptional<z.ZodString>;
35
98
  /** Latest item completed_at across all outcomes. */
36
- completed_at?: string;
99
+ completed_at: z.ZodOptional<z.ZodString>;
37
100
  /** Milliseconds between aggregate completed_at and started_at. */
38
- duration_ms?: number;
39
- outcomes: RemediationOutcome[];
40
- }
101
+ duration_ms: z.ZodOptional<z.ZodNumber>;
102
+ outcomes: z.ZodArray<z.ZodObject<{
103
+ finding_id: z.ZodString;
104
+ /** Audit lens the finding came from (free string in the wire contract). */
105
+ lens: z.ZodString;
106
+ /** Distinct file extensions of the finding's affected files (e.g. [".ts"]). */
107
+ file_exts: z.ZodArray<z.ZodString, "many">;
108
+ outcome: z.ZodEnum<["resolved", "verified_no_change", "inappropriate", "ignored", "blocked"]>;
109
+ /** How many times the item was sent back for rework before this outcome. */
110
+ rework_count: z.ZodNumber;
111
+ /** The run's closing-action status (e.g. "success", "failed"). */
112
+ closing_status: z.ZodString;
113
+ /** Human-readable explanation for non-success closing statuses. */
114
+ closing_status_reason: z.ZodOptional<z.ZodString>;
115
+ /**
116
+ * For non-resolved outcomes: the failure or rationale text (e.g. why a
117
+ * finding was deemed inappropriate, ignored, or blocked). Absent for
118
+ * `resolved` and `verified_no_change` outcomes.
119
+ */
120
+ reason: z.ZodOptional<z.ZodString>;
121
+ /** ISO-8601 timestamp when work on this item first left pending. */
122
+ started_at: z.ZodOptional<z.ZodString>;
123
+ /** ISO-8601 timestamp when the item reached its terminal status. */
124
+ completed_at: z.ZodOptional<z.ZodString>;
125
+ /** Milliseconds between completed_at and started_at when both are present. */
126
+ duration_ms: z.ZodOptional<z.ZodNumber>;
127
+ }, "strict", z.ZodTypeAny, {
128
+ lens: string;
129
+ finding_id: string;
130
+ file_exts: string[];
131
+ outcome: "blocked" | "resolved" | "verified_no_change" | "inappropriate" | "ignored";
132
+ rework_count: number;
133
+ closing_status: string;
134
+ reason?: string | undefined;
135
+ closing_status_reason?: string | undefined;
136
+ started_at?: string | undefined;
137
+ completed_at?: string | undefined;
138
+ duration_ms?: number | undefined;
139
+ }, {
140
+ lens: string;
141
+ finding_id: string;
142
+ file_exts: string[];
143
+ outcome: "blocked" | "resolved" | "verified_no_change" | "inappropriate" | "ignored";
144
+ rework_count: number;
145
+ closing_status: string;
146
+ reason?: string | undefined;
147
+ closing_status_reason?: string | undefined;
148
+ started_at?: string | undefined;
149
+ completed_at?: string | undefined;
150
+ duration_ms?: number | undefined;
151
+ }>, "many">;
152
+ }, "strip", z.ZodTypeAny, {
153
+ contract_version: string;
154
+ total: number;
155
+ by_outcome: {
156
+ blocked: number;
157
+ resolved: number;
158
+ verified_no_change: number;
159
+ inappropriate: number;
160
+ ignored: number;
161
+ };
162
+ by_lens: Record<string, {
163
+ blocked?: number | undefined;
164
+ resolved?: number | undefined;
165
+ verified_no_change?: number | undefined;
166
+ inappropriate?: number | undefined;
167
+ ignored?: number | undefined;
168
+ }>;
169
+ outcomes: {
170
+ lens: string;
171
+ finding_id: string;
172
+ file_exts: string[];
173
+ outcome: "blocked" | "resolved" | "verified_no_change" | "inappropriate" | "ignored";
174
+ rework_count: number;
175
+ closing_status: string;
176
+ reason?: string | undefined;
177
+ closing_status_reason?: string | undefined;
178
+ started_at?: string | undefined;
179
+ completed_at?: string | undefined;
180
+ duration_ms?: number | undefined;
181
+ }[];
182
+ started_at?: string | undefined;
183
+ completed_at?: string | undefined;
184
+ duration_ms?: number | undefined;
185
+ }, {
186
+ contract_version: string;
187
+ total: number;
188
+ by_outcome: {
189
+ blocked: number;
190
+ resolved: number;
191
+ verified_no_change: number;
192
+ inappropriate: number;
193
+ ignored: number;
194
+ };
195
+ by_lens: Record<string, {
196
+ blocked?: number | undefined;
197
+ resolved?: number | undefined;
198
+ verified_no_change?: number | undefined;
199
+ inappropriate?: number | undefined;
200
+ ignored?: number | undefined;
201
+ }>;
202
+ outcomes: {
203
+ lens: string;
204
+ finding_id: string;
205
+ file_exts: string[];
206
+ outcome: "blocked" | "resolved" | "verified_no_change" | "inappropriate" | "ignored";
207
+ rework_count: number;
208
+ closing_status: string;
209
+ reason?: string | undefined;
210
+ closing_status_reason?: string | undefined;
211
+ started_at?: string | undefined;
212
+ completed_at?: string | undefined;
213
+ duration_ms?: number | undefined;
214
+ }[];
215
+ started_at?: string | undefined;
216
+ completed_at?: string | undefined;
217
+ duration_ms?: number | undefined;
218
+ }>;
219
+ export type RemediationOutcomesReport = z.infer<typeof RemediationOutcomesReportSchema>;
41
220
  //# sourceMappingURL=remediationOutcome.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remediationOutcome.d.ts","sourceRoot":"","sources":["../../../src/shared/types/remediationOutcome.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,wBAAwB,GAChC,UAAU,GACV,oBAAoB,GACpB,eAAe,GACf,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,wBAAwB,CAAC;IAClC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3E,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC"}
1
+ {"version":3,"file":"remediationOutcome.d.ts","sourceRoot":"","sources":["../../../src/shared/types/remediationOutcome.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,8BAA8B,sFAMzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;IAGjC,2EAA2E;;IAE3E,+EAA+E;;;IAG/E,4EAA4E;;IAE5E,kEAAkE;;IAElE,mEAAmE;;IAEnE;;;;OAIG;;IAEH,oEAAoE;;IAEpE,oEAAoE;;IAEpE,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvE,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAmB1E,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK1C,oDAAoD;;IAEpD,oDAAoD;;IAEpD,kEAAkE;;;;QArDhE,2EAA2E;;QAE3E,+EAA+E;;;QAG/E,4EAA4E;;QAE5E,kEAAkE;;QAElE,mEAAmE;;QAEnE;;;;WAIG;;QAEH,oEAAoE;;QAEpE,oEAAoE;;QAEpE,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmChF,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC"}