@zigrivers/mmr 1.3.0 → 1.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 (130) hide show
  1. package/README.md +444 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +4 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/ack.d.ts +11 -0
  6. package/dist/commands/ack.d.ts.map +1 -0
  7. package/dist/commands/ack.js +123 -0
  8. package/dist/commands/ack.js.map +1 -0
  9. package/dist/commands/config.d.ts +5 -0
  10. package/dist/commands/config.d.ts.map +1 -1
  11. package/dist/commands/config.js +248 -14
  12. package/dist/commands/config.js.map +1 -1
  13. package/dist/commands/jobs.d.ts.map +1 -1
  14. package/dist/commands/jobs.js +3 -4
  15. package/dist/commands/jobs.js.map +1 -1
  16. package/dist/commands/reconcile.d.ts.map +1 -1
  17. package/dist/commands/reconcile.js +12 -5
  18. package/dist/commands/reconcile.js.map +1 -1
  19. package/dist/commands/results.d.ts.map +1 -1
  20. package/dist/commands/results.js +13 -5
  21. package/dist/commands/results.js.map +1 -1
  22. package/dist/commands/review.d.ts +25 -0
  23. package/dist/commands/review.d.ts.map +1 -1
  24. package/dist/commands/review.js +459 -44
  25. package/dist/commands/review.js.map +1 -1
  26. package/dist/commands/sessions.d.ts +58 -0
  27. package/dist/commands/sessions.d.ts.map +1 -0
  28. package/dist/commands/sessions.js +266 -0
  29. package/dist/commands/sessions.js.map +1 -0
  30. package/dist/commands/status.d.ts.map +1 -1
  31. package/dist/commands/status.js +2 -3
  32. package/dist/commands/status.js.map +1 -1
  33. package/dist/config/defaults.d.ts +2 -2
  34. package/dist/config/defaults.d.ts.map +1 -1
  35. package/dist/config/defaults.js +76 -0
  36. package/dist/config/defaults.js.map +1 -1
  37. package/dist/config/loader.d.ts +22 -0
  38. package/dist/config/loader.d.ts.map +1 -1
  39. package/dist/config/loader.js +279 -36
  40. package/dist/config/loader.js.map +1 -1
  41. package/dist/config/schema.d.ts +897 -53
  42. package/dist/config/schema.d.ts.map +1 -1
  43. package/dist/config/schema.js +155 -4
  44. package/dist/config/schema.js.map +1 -1
  45. package/dist/core/ack-store.d.ts +109 -0
  46. package/dist/core/ack-store.d.ts.map +1 -0
  47. package/dist/core/ack-store.js +363 -0
  48. package/dist/core/ack-store.js.map +1 -0
  49. package/dist/core/auth.d.ts +10 -1
  50. package/dist/core/auth.d.ts.map +1 -1
  51. package/dist/core/auth.js +106 -35
  52. package/dist/core/auth.js.map +1 -1
  53. package/dist/core/compensator.d.ts +33 -4
  54. package/dist/core/compensator.d.ts.map +1 -1
  55. package/dist/core/compensator.js +120 -15
  56. package/dist/core/compensator.js.map +1 -1
  57. package/dist/core/diff-introspect.d.ts +21 -0
  58. package/dist/core/diff-introspect.d.ts.map +1 -0
  59. package/dist/core/diff-introspect.js +42 -0
  60. package/dist/core/diff-introspect.js.map +1 -0
  61. package/dist/core/dispatcher.d.ts +10 -0
  62. package/dist/core/dispatcher.d.ts.map +1 -1
  63. package/dist/core/dispatcher.js +91 -20
  64. package/dist/core/dispatcher.js.map +1 -1
  65. package/dist/core/git-show.d.ts +31 -0
  66. package/dist/core/git-show.d.ts.map +1 -0
  67. package/dist/core/git-show.js +72 -0
  68. package/dist/core/git-show.js.map +1 -0
  69. package/dist/core/host-isolation.d.ts +24 -0
  70. package/dist/core/host-isolation.d.ts.map +1 -0
  71. package/dist/core/host-isolation.js +107 -0
  72. package/dist/core/host-isolation.js.map +1 -0
  73. package/dist/core/http-dispatcher.d.ts +20 -0
  74. package/dist/core/http-dispatcher.d.ts.map +1 -0
  75. package/dist/core/http-dispatcher.js +125 -0
  76. package/dist/core/http-dispatcher.js.map +1 -0
  77. package/dist/core/job-store.d.ts +7 -1
  78. package/dist/core/job-store.d.ts.map +1 -1
  79. package/dist/core/job-store.js +21 -1
  80. package/dist/core/job-store.js.map +1 -1
  81. package/dist/core/jsonpath.d.ts +15 -0
  82. package/dist/core/jsonpath.d.ts.map +1 -0
  83. package/dist/core/jsonpath.js +63 -0
  84. package/dist/core/jsonpath.js.map +1 -0
  85. package/dist/core/oss-examples.d.ts +18 -0
  86. package/dist/core/oss-examples.d.ts.map +1 -0
  87. package/dist/core/oss-examples.js +66 -0
  88. package/dist/core/oss-examples.js.map +1 -0
  89. package/dist/core/parser.d.ts +8 -3
  90. package/dist/core/parser.d.ts.map +1 -1
  91. package/dist/core/parser.js +157 -6
  92. package/dist/core/parser.js.map +1 -1
  93. package/dist/core/project-root.d.ts +10 -0
  94. package/dist/core/project-root.d.ts.map +1 -0
  95. package/dist/core/project-root.js +23 -0
  96. package/dist/core/project-root.js.map +1 -0
  97. package/dist/core/reconciler.d.ts +1 -1
  98. package/dist/core/reconciler.d.ts.map +1 -1
  99. package/dist/core/reconciler.js +100 -18
  100. package/dist/core/reconciler.js.map +1 -1
  101. package/dist/core/redact.d.ts +17 -0
  102. package/dist/core/redact.d.ts.map +1 -0
  103. package/dist/core/redact.js +140 -0
  104. package/dist/core/redact.js.map +1 -0
  105. package/dist/core/results-pipeline.d.ts +8 -2
  106. package/dist/core/results-pipeline.d.ts.map +1 -1
  107. package/dist/core/results-pipeline.js +50 -3
  108. package/dist/core/results-pipeline.js.map +1 -1
  109. package/dist/core/runtime-probe.d.ts +14 -0
  110. package/dist/core/runtime-probe.d.ts.map +1 -0
  111. package/dist/core/runtime-probe.js +57 -0
  112. package/dist/core/runtime-probe.js.map +1 -0
  113. package/dist/core/stable-id.d.ts +19 -0
  114. package/dist/core/stable-id.d.ts.map +1 -0
  115. package/dist/core/stable-id.js +148 -0
  116. package/dist/core/stable-id.js.map +1 -0
  117. package/dist/core/trust-mode.d.ts +29 -0
  118. package/dist/core/trust-mode.d.ts.map +1 -0
  119. package/dist/core/trust-mode.js +103 -0
  120. package/dist/core/trust-mode.js.map +1 -0
  121. package/dist/formatters/markdown.d.ts.map +1 -1
  122. package/dist/formatters/markdown.js +9 -0
  123. package/dist/formatters/markdown.js.map +1 -1
  124. package/dist/formatters/text.d.ts.map +1 -1
  125. package/dist/formatters/text.js +9 -0
  126. package/dist/formatters/text.js.map +1 -1
  127. package/dist/types.d.ts +44 -1
  128. package/dist/types.d.ts.map +1 -1
  129. package/dist/types.js.map +1 -1
  130. package/package.json +2 -2
@@ -1,12 +1,137 @@
1
1
  import { z } from 'zod';
2
2
  export declare const Severity: z.ZodEnum<["P0", "P1", "P2", "P3"]>;
3
3
  export declare const OutputFormat: z.ZodEnum<["json", "text", "markdown"]>;
4
- declare const ChannelConfigSchema: z.ZodObject<{
4
+ declare const HttpAuthConfigSchema: z.ZodObject<{
5
+ check_endpoint: z.ZodOptional<z.ZodString>;
6
+ check_method: z.ZodDefault<z.ZodString>;
7
+ check_status_ok: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
8
+ timeout: z.ZodDefault<z.ZodNumber>;
9
+ recovery: z.ZodOptional<z.ZodString>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ timeout: number;
12
+ check_method: string;
13
+ check_status_ok: number[];
14
+ recovery?: string | undefined;
15
+ check_endpoint?: string | undefined;
16
+ }, {
17
+ timeout?: number | undefined;
18
+ recovery?: string | undefined;
19
+ check_endpoint?: string | undefined;
20
+ check_method?: string | undefined;
21
+ check_status_ok?: number[] | undefined;
22
+ }>;
23
+ /**
24
+ * Derive the auth-probe URL from an openai-chat endpoint by replacing a
25
+ * trailing `/chat/completions` with `/models` (handles both `.../v1/chat/...`
26
+ * and bare `.../chat/...` shapes). Returns undefined when there is no trailing
27
+ * `/chat/completions` — callers then require an explicit `auth.check_endpoint`.
28
+ */
29
+ export declare function deriveProbeUrl(endpoint: string): string | undefined;
30
+ type SeverityConfig = z.infer<typeof Severity>;
31
+ export interface RegexFindingsParserConfig {
32
+ kind: 'regex-findings';
33
+ pattern: string;
34
+ flags?: string;
35
+ default_severity?: SeverityConfig;
36
+ fields: {
37
+ id?: number;
38
+ category?: number;
39
+ severity?: number;
40
+ location: number;
41
+ description: number;
42
+ suggestion?: number;
43
+ };
44
+ }
45
+ export interface UnwrapJsonpathParserConfig {
46
+ kind: 'unwrap-jsonpath';
47
+ wrap: string;
48
+ then?: OutputParserConfig;
49
+ }
50
+ export type OutputParserConfig = string | UnwrapJsonpathParserConfig | RegexFindingsParserConfig;
51
+ export declare const RegexFindingsParserSchema: z.ZodObject<{
52
+ kind: z.ZodLiteral<"regex-findings">;
53
+ pattern: z.ZodString;
54
+ flags: z.ZodDefault<z.ZodString>;
55
+ default_severity: z.ZodDefault<z.ZodEnum<["P0", "P1", "P2", "P3"]>>;
56
+ fields: z.ZodObject<{
57
+ id: z.ZodOptional<z.ZodNumber>;
58
+ category: z.ZodOptional<z.ZodNumber>;
59
+ severity: z.ZodOptional<z.ZodNumber>;
60
+ location: z.ZodNumber;
61
+ description: z.ZodNumber;
62
+ suggestion: z.ZodOptional<z.ZodNumber>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ location: number;
65
+ description: number;
66
+ id?: number | undefined;
67
+ category?: number | undefined;
68
+ severity?: number | undefined;
69
+ suggestion?: number | undefined;
70
+ }, {
71
+ location: number;
72
+ description: number;
73
+ id?: number | undefined;
74
+ category?: number | undefined;
75
+ severity?: number | undefined;
76
+ suggestion?: number | undefined;
77
+ }>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ fields: {
80
+ location: number;
81
+ description: number;
82
+ id?: number | undefined;
83
+ category?: number | undefined;
84
+ severity?: number | undefined;
85
+ suggestion?: number | undefined;
86
+ };
87
+ kind: "regex-findings";
88
+ pattern: string;
89
+ flags: string;
90
+ default_severity: "P0" | "P1" | "P2" | "P3";
91
+ }, {
92
+ fields: {
93
+ location: number;
94
+ description: number;
95
+ id?: number | undefined;
96
+ category?: number | undefined;
97
+ severity?: number | undefined;
98
+ suggestion?: number | undefined;
99
+ };
100
+ kind: "regex-findings";
101
+ pattern: string;
102
+ flags?: string | undefined;
103
+ default_severity?: "P0" | "P1" | "P2" | "P3" | undefined;
104
+ }>;
105
+ export declare const UnwrapJsonpathParserSchema: z.ZodObject<{
106
+ kind: z.ZodLiteral<"unwrap-jsonpath">;
107
+ wrap: z.ZodString;
108
+ then: z.ZodDefault<z.ZodLazy<z.ZodType<OutputParserConfig, z.ZodTypeDef, OutputParserConfig>>>;
109
+ }, "strip", z.ZodTypeAny, {
110
+ kind: "unwrap-jsonpath";
111
+ wrap: string;
112
+ then: OutputParserConfig;
113
+ }, {
114
+ kind: "unwrap-jsonpath";
115
+ wrap: string;
116
+ then?: OutputParserConfig | undefined;
117
+ }>;
118
+ export declare const OutputParserSchema: z.ZodType<OutputParserConfig>;
119
+ declare const SubprocessChannelSchema: z.ZodObject<{
5
120
  enabled: z.ZodDefault<z.ZodBoolean>;
6
- command: z.ZodString;
121
+ command: z.ZodOptional<z.ZodString>;
7
122
  flags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
8
123
  env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
9
- auth: z.ZodObject<{
124
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
125
+ prompt_wrapper: z.ZodDefault<z.ZodString>;
126
+ prompt_delivery: z.ZodOptional<z.ZodEnum<["stdin", "prompt-file"]>>;
127
+ cwd: z.ZodOptional<z.ZodString>;
128
+ output_parser: z.ZodDefault<z.ZodType<OutputParserConfig, z.ZodTypeDef, OutputParserConfig>>;
129
+ stderr: z.ZodDefault<z.ZodEnum<["suppress", "capture", "passthrough"]>>;
130
+ timeout: z.ZodOptional<z.ZodNumber>;
131
+ extends: z.ZodOptional<z.ZodString>;
132
+ abstract: z.ZodDefault<z.ZodBoolean>;
133
+ kind: z.ZodLiteral<"subprocess">;
134
+ auth: z.ZodOptional<z.ZodObject<{
10
135
  check: z.ZodString;
11
136
  timeout: z.ZodDefault<z.ZodNumber>;
12
137
  failure_exit_codes: z.ZodArray<z.ZodNumber, "many">;
@@ -21,42 +146,432 @@ declare const ChannelConfigSchema: z.ZodObject<{
21
146
  failure_exit_codes: number[];
22
147
  recovery: string;
23
148
  timeout?: number | undefined;
24
- }>;
149
+ }>>;
150
+ }, "strip", z.ZodTypeAny, {
151
+ kind: "subprocess";
152
+ flags: string[];
153
+ enabled: boolean;
154
+ env: Record<string, string>;
155
+ prompt_wrapper: string;
156
+ output_parser: OutputParserConfig;
157
+ stderr: "passthrough" | "suppress" | "capture";
158
+ abstract: boolean;
159
+ timeout?: number | undefined;
160
+ auth?: {
161
+ check: string;
162
+ timeout: number;
163
+ failure_exit_codes: number[];
164
+ recovery: string;
165
+ } | undefined;
166
+ command?: string | undefined;
167
+ headers?: Record<string, string> | undefined;
168
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
169
+ cwd?: string | undefined;
170
+ extends?: string | undefined;
171
+ }, {
172
+ kind: "subprocess";
173
+ timeout?: number | undefined;
174
+ flags?: string[] | undefined;
175
+ auth?: {
176
+ check: string;
177
+ failure_exit_codes: number[];
178
+ recovery: string;
179
+ timeout?: number | undefined;
180
+ } | undefined;
181
+ enabled?: boolean | undefined;
182
+ command?: string | undefined;
183
+ env?: Record<string, string> | undefined;
184
+ headers?: Record<string, string> | undefined;
185
+ prompt_wrapper?: string | undefined;
186
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
187
+ cwd?: string | undefined;
188
+ output_parser?: OutputParserConfig | undefined;
189
+ stderr?: "passthrough" | "suppress" | "capture" | undefined;
190
+ extends?: string | undefined;
191
+ abstract?: boolean | undefined;
192
+ }>;
193
+ declare const HttpChannelSchema: z.ZodObject<{
194
+ enabled: z.ZodDefault<z.ZodBoolean>;
195
+ command: z.ZodOptional<z.ZodString>;
196
+ flags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
197
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
198
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
25
199
  prompt_wrapper: z.ZodDefault<z.ZodString>;
26
- output_parser: z.ZodDefault<z.ZodString>;
200
+ prompt_delivery: z.ZodOptional<z.ZodEnum<["stdin", "prompt-file"]>>;
201
+ cwd: z.ZodOptional<z.ZodString>;
202
+ output_parser: z.ZodDefault<z.ZodType<OutputParserConfig, z.ZodTypeDef, OutputParserConfig>>;
27
203
  stderr: z.ZodDefault<z.ZodEnum<["suppress", "capture", "passthrough"]>>;
28
204
  timeout: z.ZodOptional<z.ZodNumber>;
205
+ extends: z.ZodOptional<z.ZodString>;
206
+ abstract: z.ZodDefault<z.ZodBoolean>;
207
+ kind: z.ZodLiteral<"http">;
208
+ endpoint: z.ZodString;
209
+ model: z.ZodString;
210
+ endpoint_convention: z.ZodLiteral<"openai-chat">;
211
+ api_key_env: z.ZodOptional<z.ZodString>;
212
+ api_key_header: z.ZodDefault<z.ZodString>;
213
+ api_key_prefix: z.ZodDefault<z.ZodString>;
214
+ auth: z.ZodDefault<z.ZodObject<{
215
+ check_endpoint: z.ZodOptional<z.ZodString>;
216
+ check_method: z.ZodDefault<z.ZodString>;
217
+ check_status_ok: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
218
+ timeout: z.ZodDefault<z.ZodNumber>;
219
+ recovery: z.ZodOptional<z.ZodString>;
220
+ }, "strip", z.ZodTypeAny, {
221
+ timeout: number;
222
+ check_method: string;
223
+ check_status_ok: number[];
224
+ recovery?: string | undefined;
225
+ check_endpoint?: string | undefined;
226
+ }, {
227
+ timeout?: number | undefined;
228
+ recovery?: string | undefined;
229
+ check_endpoint?: string | undefined;
230
+ check_method?: string | undefined;
231
+ check_status_ok?: number[] | undefined;
232
+ }>>;
29
233
  }, "strip", z.ZodTypeAny, {
30
- enabled: boolean;
31
- command: string;
234
+ kind: "http";
32
235
  flags: string[];
33
- env: Record<string, string>;
34
236
  auth: {
237
+ timeout: number;
238
+ check_method: string;
239
+ check_status_ok: number[];
240
+ recovery?: string | undefined;
241
+ check_endpoint?: string | undefined;
242
+ };
243
+ enabled: boolean;
244
+ env: Record<string, string>;
245
+ prompt_wrapper: string;
246
+ output_parser: OutputParserConfig;
247
+ stderr: "passthrough" | "suppress" | "capture";
248
+ abstract: boolean;
249
+ endpoint: string;
250
+ model: string;
251
+ endpoint_convention: "openai-chat";
252
+ api_key_header: string;
253
+ api_key_prefix: string;
254
+ timeout?: number | undefined;
255
+ command?: string | undefined;
256
+ headers?: Record<string, string> | undefined;
257
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
258
+ cwd?: string | undefined;
259
+ extends?: string | undefined;
260
+ api_key_env?: string | undefined;
261
+ }, {
262
+ kind: "http";
263
+ endpoint: string;
264
+ model: string;
265
+ endpoint_convention: "openai-chat";
266
+ timeout?: number | undefined;
267
+ flags?: string[] | undefined;
268
+ auth?: {
269
+ timeout?: number | undefined;
270
+ recovery?: string | undefined;
271
+ check_endpoint?: string | undefined;
272
+ check_method?: string | undefined;
273
+ check_status_ok?: number[] | undefined;
274
+ } | undefined;
275
+ enabled?: boolean | undefined;
276
+ command?: string | undefined;
277
+ env?: Record<string, string> | undefined;
278
+ headers?: Record<string, string> | undefined;
279
+ prompt_wrapper?: string | undefined;
280
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
281
+ cwd?: string | undefined;
282
+ output_parser?: OutputParserConfig | undefined;
283
+ stderr?: "passthrough" | "suppress" | "capture" | undefined;
284
+ extends?: string | undefined;
285
+ abstract?: boolean | undefined;
286
+ api_key_env?: string | undefined;
287
+ api_key_header?: string | undefined;
288
+ api_key_prefix?: string | undefined;
289
+ }>;
290
+ declare const ChannelConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
291
+ enabled: z.ZodDefault<z.ZodBoolean>;
292
+ command: z.ZodOptional<z.ZodString>;
293
+ flags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
294
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
295
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
296
+ prompt_wrapper: z.ZodDefault<z.ZodString>;
297
+ prompt_delivery: z.ZodOptional<z.ZodEnum<["stdin", "prompt-file"]>>;
298
+ cwd: z.ZodOptional<z.ZodString>;
299
+ output_parser: z.ZodDefault<z.ZodType<OutputParserConfig, z.ZodTypeDef, OutputParserConfig>>;
300
+ stderr: z.ZodDefault<z.ZodEnum<["suppress", "capture", "passthrough"]>>;
301
+ timeout: z.ZodOptional<z.ZodNumber>;
302
+ extends: z.ZodOptional<z.ZodString>;
303
+ abstract: z.ZodDefault<z.ZodBoolean>;
304
+ kind: z.ZodLiteral<"subprocess">;
305
+ auth: z.ZodOptional<z.ZodObject<{
306
+ check: z.ZodString;
307
+ timeout: z.ZodDefault<z.ZodNumber>;
308
+ failure_exit_codes: z.ZodArray<z.ZodNumber, "many">;
309
+ recovery: z.ZodString;
310
+ }, "strip", z.ZodTypeAny, {
35
311
  check: string;
36
312
  timeout: number;
37
313
  failure_exit_codes: number[];
38
314
  recovery: string;
39
- };
315
+ }, {
316
+ check: string;
317
+ failure_exit_codes: number[];
318
+ recovery: string;
319
+ timeout?: number | undefined;
320
+ }>>;
321
+ }, "strip", z.ZodTypeAny, {
322
+ kind: "subprocess";
323
+ flags: string[];
324
+ enabled: boolean;
325
+ env: Record<string, string>;
40
326
  prompt_wrapper: string;
41
- output_parser: string;
327
+ output_parser: OutputParserConfig;
42
328
  stderr: "passthrough" | "suppress" | "capture";
329
+ abstract: boolean;
43
330
  timeout?: number | undefined;
331
+ auth?: {
332
+ check: string;
333
+ timeout: number;
334
+ failure_exit_codes: number[];
335
+ recovery: string;
336
+ } | undefined;
337
+ command?: string | undefined;
338
+ headers?: Record<string, string> | undefined;
339
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
340
+ cwd?: string | undefined;
341
+ extends?: string | undefined;
44
342
  }, {
45
- command: string;
46
- auth: {
343
+ kind: "subprocess";
344
+ timeout?: number | undefined;
345
+ flags?: string[] | undefined;
346
+ auth?: {
47
347
  check: string;
48
348
  failure_exit_codes: number[];
49
349
  recovery: string;
50
350
  timeout?: number | undefined;
351
+ } | undefined;
352
+ enabled?: boolean | undefined;
353
+ command?: string | undefined;
354
+ env?: Record<string, string> | undefined;
355
+ headers?: Record<string, string> | undefined;
356
+ prompt_wrapper?: string | undefined;
357
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
358
+ cwd?: string | undefined;
359
+ output_parser?: OutputParserConfig | undefined;
360
+ stderr?: "passthrough" | "suppress" | "capture" | undefined;
361
+ extends?: string | undefined;
362
+ abstract?: boolean | undefined;
363
+ }>, z.ZodObject<{
364
+ enabled: z.ZodDefault<z.ZodBoolean>;
365
+ command: z.ZodOptional<z.ZodString>;
366
+ flags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
367
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
368
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
369
+ prompt_wrapper: z.ZodDefault<z.ZodString>;
370
+ prompt_delivery: z.ZodOptional<z.ZodEnum<["stdin", "prompt-file"]>>;
371
+ cwd: z.ZodOptional<z.ZodString>;
372
+ output_parser: z.ZodDefault<z.ZodType<OutputParserConfig, z.ZodTypeDef, OutputParserConfig>>;
373
+ stderr: z.ZodDefault<z.ZodEnum<["suppress", "capture", "passthrough"]>>;
374
+ timeout: z.ZodOptional<z.ZodNumber>;
375
+ extends: z.ZodOptional<z.ZodString>;
376
+ abstract: z.ZodDefault<z.ZodBoolean>;
377
+ kind: z.ZodLiteral<"http">;
378
+ endpoint: z.ZodString;
379
+ model: z.ZodString;
380
+ endpoint_convention: z.ZodLiteral<"openai-chat">;
381
+ api_key_env: z.ZodOptional<z.ZodString>;
382
+ api_key_header: z.ZodDefault<z.ZodString>;
383
+ api_key_prefix: z.ZodDefault<z.ZodString>;
384
+ auth: z.ZodDefault<z.ZodObject<{
385
+ check_endpoint: z.ZodOptional<z.ZodString>;
386
+ check_method: z.ZodDefault<z.ZodString>;
387
+ check_status_ok: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
388
+ timeout: z.ZodDefault<z.ZodNumber>;
389
+ recovery: z.ZodOptional<z.ZodString>;
390
+ }, "strip", z.ZodTypeAny, {
391
+ timeout: number;
392
+ check_method: string;
393
+ check_status_ok: number[];
394
+ recovery?: string | undefined;
395
+ check_endpoint?: string | undefined;
396
+ }, {
397
+ timeout?: number | undefined;
398
+ recovery?: string | undefined;
399
+ check_endpoint?: string | undefined;
400
+ check_method?: string | undefined;
401
+ check_status_ok?: number[] | undefined;
402
+ }>>;
403
+ }, "strip", z.ZodTypeAny, {
404
+ kind: "http";
405
+ flags: string[];
406
+ auth: {
407
+ timeout: number;
408
+ check_method: string;
409
+ check_status_ok: number[];
410
+ recovery?: string | undefined;
411
+ check_endpoint?: string | undefined;
51
412
  };
413
+ enabled: boolean;
414
+ env: Record<string, string>;
415
+ prompt_wrapper: string;
416
+ output_parser: OutputParserConfig;
417
+ stderr: "passthrough" | "suppress" | "capture";
418
+ abstract: boolean;
419
+ endpoint: string;
420
+ model: string;
421
+ endpoint_convention: "openai-chat";
422
+ api_key_header: string;
423
+ api_key_prefix: string;
424
+ timeout?: number | undefined;
425
+ command?: string | undefined;
426
+ headers?: Record<string, string> | undefined;
427
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
428
+ cwd?: string | undefined;
429
+ extends?: string | undefined;
430
+ api_key_env?: string | undefined;
431
+ }, {
432
+ kind: "http";
433
+ endpoint: string;
434
+ model: string;
435
+ endpoint_convention: "openai-chat";
52
436
  timeout?: number | undefined;
53
- enabled?: boolean | undefined;
54
437
  flags?: string[] | undefined;
438
+ auth?: {
439
+ timeout?: number | undefined;
440
+ recovery?: string | undefined;
441
+ check_endpoint?: string | undefined;
442
+ check_method?: string | undefined;
443
+ check_status_ok?: number[] | undefined;
444
+ } | undefined;
445
+ enabled?: boolean | undefined;
446
+ command?: string | undefined;
55
447
  env?: Record<string, string> | undefined;
448
+ headers?: Record<string, string> | undefined;
56
449
  prompt_wrapper?: string | undefined;
57
- output_parser?: string | undefined;
450
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
451
+ cwd?: string | undefined;
452
+ output_parser?: OutputParserConfig | undefined;
58
453
  stderr?: "passthrough" | "suppress" | "capture" | undefined;
454
+ extends?: string | undefined;
455
+ abstract?: boolean | undefined;
456
+ api_key_env?: string | undefined;
457
+ api_key_header?: string | undefined;
458
+ api_key_prefix?: string | undefined;
459
+ }>]>, {
460
+ kind: "subprocess";
461
+ flags: string[];
462
+ enabled: boolean;
463
+ env: Record<string, string>;
464
+ prompt_wrapper: string;
465
+ output_parser: OutputParserConfig;
466
+ stderr: "passthrough" | "suppress" | "capture";
467
+ abstract: boolean;
468
+ timeout?: number | undefined;
469
+ auth?: {
470
+ check: string;
471
+ timeout: number;
472
+ failure_exit_codes: number[];
473
+ recovery: string;
474
+ } | undefined;
475
+ command?: string | undefined;
476
+ headers?: Record<string, string> | undefined;
477
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
478
+ cwd?: string | undefined;
479
+ extends?: string | undefined;
480
+ } | {
481
+ kind: "http";
482
+ flags: string[];
483
+ auth: {
484
+ timeout: number;
485
+ check_method: string;
486
+ check_status_ok: number[];
487
+ recovery?: string | undefined;
488
+ check_endpoint?: string | undefined;
489
+ };
490
+ enabled: boolean;
491
+ env: Record<string, string>;
492
+ prompt_wrapper: string;
493
+ output_parser: OutputParserConfig;
494
+ stderr: "passthrough" | "suppress" | "capture";
495
+ abstract: boolean;
496
+ endpoint: string;
497
+ model: string;
498
+ endpoint_convention: "openai-chat";
499
+ api_key_header: string;
500
+ api_key_prefix: string;
501
+ timeout?: number | undefined;
502
+ command?: string | undefined;
503
+ headers?: Record<string, string> | undefined;
504
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
505
+ cwd?: string | undefined;
506
+ extends?: string | undefined;
507
+ api_key_env?: string | undefined;
508
+ }, unknown>, {
509
+ kind: "subprocess";
510
+ flags: string[];
511
+ enabled: boolean;
512
+ env: Record<string, string>;
513
+ prompt_wrapper: string;
514
+ output_parser: OutputParserConfig;
515
+ stderr: "passthrough" | "suppress" | "capture";
516
+ abstract: boolean;
517
+ timeout?: number | undefined;
518
+ auth?: {
519
+ check: string;
520
+ timeout: number;
521
+ failure_exit_codes: number[];
522
+ recovery: string;
523
+ } | undefined;
524
+ command?: string | undefined;
525
+ headers?: Record<string, string> | undefined;
526
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
527
+ cwd?: string | undefined;
528
+ extends?: string | undefined;
529
+ } | {
530
+ kind: "http";
531
+ flags: string[];
532
+ auth: {
533
+ timeout: number;
534
+ check_method: string;
535
+ check_status_ok: number[];
536
+ recovery?: string | undefined;
537
+ check_endpoint?: string | undefined;
538
+ };
539
+ enabled: boolean;
540
+ env: Record<string, string>;
541
+ prompt_wrapper: string;
542
+ output_parser: OutputParserConfig;
543
+ stderr: "passthrough" | "suppress" | "capture";
544
+ abstract: boolean;
545
+ endpoint: string;
546
+ model: string;
547
+ endpoint_convention: "openai-chat";
548
+ api_key_header: string;
549
+ api_key_prefix: string;
550
+ timeout?: number | undefined;
551
+ command?: string | undefined;
552
+ headers?: Record<string, string> | undefined;
553
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
554
+ cwd?: string | undefined;
555
+ extends?: string | undefined;
556
+ api_key_env?: string | undefined;
557
+ }, unknown>;
558
+ export declare const CompensatorConfigSchema: z.ZodEffects<z.ZodObject<{
559
+ channel: z.ZodOptional<z.ZodString>;
560
+ channel_focus_map: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
561
+ }, "strict", z.ZodTypeAny, {
562
+ channel?: string | undefined;
563
+ channel_focus_map?: Record<string, string> | undefined;
564
+ }, {
565
+ channel?: string | undefined;
566
+ channel_focus_map?: Record<string, string> | undefined;
567
+ }>, {
568
+ channel?: string | undefined;
569
+ channel_focus_map?: Record<string, string> | undefined;
570
+ }, {
571
+ channel?: string | undefined;
572
+ channel_focus_map?: Record<string, string> | undefined;
59
573
  }>;
574
+ export type CompensatorConfig = z.infer<typeof CompensatorConfigSchema>;
60
575
  export declare const MmrConfigSchema: z.ZodObject<{
61
576
  version: z.ZodNumber;
62
577
  defaults: z.ZodDefault<z.ZodObject<{
@@ -65,18 +580,90 @@ export declare const MmrConfigSchema: z.ZodObject<{
65
580
  format: z.ZodDefault<z.ZodEnum<["json", "text", "markdown"]>>;
66
581
  parallel: z.ZodDefault<z.ZodBoolean>;
67
582
  job_retention_days: z.ZodDefault<z.ZodNumber>;
583
+ loop_control: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodObject<{
584
+ max_rounds_default: z.ZodDefault<z.ZodNumber>;
585
+ repeat_suppression_enabled: z.ZodDefault<z.ZodBoolean>;
586
+ repeat_downgrade_after: z.ZodOptional<z.ZodNumber>;
587
+ repeat_suppress_after: z.ZodOptional<z.ZodNumber>;
588
+ }, "strip", z.ZodTypeAny, {
589
+ max_rounds_default: number;
590
+ repeat_suppression_enabled: boolean;
591
+ repeat_downgrade_after?: number | undefined;
592
+ repeat_suppress_after?: number | undefined;
593
+ }, {
594
+ max_rounds_default?: number | undefined;
595
+ repeat_suppression_enabled?: boolean | undefined;
596
+ repeat_downgrade_after?: number | undefined;
597
+ repeat_suppress_after?: number | undefined;
598
+ }>, {
599
+ max_rounds_default: number;
600
+ repeat_suppression_enabled: boolean;
601
+ repeat_downgrade_after?: number | undefined;
602
+ repeat_suppress_after?: number | undefined;
603
+ }, {
604
+ max_rounds_default?: number | undefined;
605
+ repeat_suppression_enabled?: boolean | undefined;
606
+ repeat_downgrade_after?: number | undefined;
607
+ repeat_suppress_after?: number | undefined;
608
+ }>, {
609
+ max_rounds_default: number;
610
+ repeat_suppression_enabled: boolean;
611
+ repeat_downgrade_after?: number | undefined;
612
+ repeat_suppress_after?: number | undefined;
613
+ }, {
614
+ max_rounds_default?: number | undefined;
615
+ repeat_suppression_enabled?: boolean | undefined;
616
+ repeat_downgrade_after?: number | undefined;
617
+ repeat_suppress_after?: number | undefined;
618
+ }>>;
619
+ compensator: z.ZodOptional<z.ZodEffects<z.ZodObject<{
620
+ channel: z.ZodOptional<z.ZodString>;
621
+ channel_focus_map: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
622
+ }, "strict", z.ZodTypeAny, {
623
+ channel?: string | undefined;
624
+ channel_focus_map?: Record<string, string> | undefined;
625
+ }, {
626
+ channel?: string | undefined;
627
+ channel_focus_map?: Record<string, string> | undefined;
628
+ }>, {
629
+ channel?: string | undefined;
630
+ channel_focus_map?: Record<string, string> | undefined;
631
+ }, {
632
+ channel?: string | undefined;
633
+ channel_focus_map?: Record<string, string> | undefined;
634
+ }>>;
68
635
  }, "strip", z.ZodTypeAny, {
69
636
  timeout: number;
70
637
  fix_threshold: "P0" | "P1" | "P2" | "P3";
71
638
  format: "json" | "text" | "markdown";
72
639
  parallel: boolean;
73
640
  job_retention_days: number;
641
+ loop_control: {
642
+ max_rounds_default: number;
643
+ repeat_suppression_enabled: boolean;
644
+ repeat_downgrade_after?: number | undefined;
645
+ repeat_suppress_after?: number | undefined;
646
+ };
647
+ compensator?: {
648
+ channel?: string | undefined;
649
+ channel_focus_map?: Record<string, string> | undefined;
650
+ } | undefined;
74
651
  }, {
75
652
  timeout?: number | undefined;
76
653
  fix_threshold?: "P0" | "P1" | "P2" | "P3" | undefined;
77
654
  format?: "json" | "text" | "markdown" | undefined;
78
655
  parallel?: boolean | undefined;
79
656
  job_retention_days?: number | undefined;
657
+ loop_control?: {
658
+ max_rounds_default?: number | undefined;
659
+ repeat_suppression_enabled?: boolean | undefined;
660
+ repeat_downgrade_after?: number | undefined;
661
+ repeat_suppress_after?: number | undefined;
662
+ } | undefined;
663
+ compensator?: {
664
+ channel?: string | undefined;
665
+ channel_focus_map?: Record<string, string> | undefined;
666
+ } | undefined;
80
667
  }>>;
81
668
  review_criteria: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
82
669
  templates: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
@@ -86,12 +673,22 @@ export declare const MmrConfigSchema: z.ZodObject<{
86
673
  }, {
87
674
  criteria?: string[] | undefined;
88
675
  }>>>;
89
- channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
676
+ channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodEffects<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
90
677
  enabled: z.ZodDefault<z.ZodBoolean>;
91
- command: z.ZodString;
678
+ command: z.ZodOptional<z.ZodString>;
92
679
  flags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
93
680
  env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
94
- auth: z.ZodObject<{
681
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
682
+ prompt_wrapper: z.ZodDefault<z.ZodString>;
683
+ prompt_delivery: z.ZodOptional<z.ZodEnum<["stdin", "prompt-file"]>>;
684
+ cwd: z.ZodOptional<z.ZodString>;
685
+ output_parser: z.ZodDefault<z.ZodType<OutputParserConfig, z.ZodTypeDef, OutputParserConfig>>;
686
+ stderr: z.ZodDefault<z.ZodEnum<["suppress", "capture", "passthrough"]>>;
687
+ timeout: z.ZodOptional<z.ZodNumber>;
688
+ extends: z.ZodOptional<z.ZodString>;
689
+ abstract: z.ZodDefault<z.ZodBoolean>;
690
+ kind: z.ZodLiteral<"subprocess">;
691
+ auth: z.ZodOptional<z.ZodObject<{
95
692
  check: z.ZodString;
96
693
  timeout: z.ZodDefault<z.ZodNumber>;
97
694
  failure_exit_codes: z.ZodArray<z.ZodNumber, "many">;
@@ -106,42 +703,245 @@ export declare const MmrConfigSchema: z.ZodObject<{
106
703
  failure_exit_codes: number[];
107
704
  recovery: string;
108
705
  timeout?: number | undefined;
109
- }>;
706
+ }>>;
707
+ }, "strip", z.ZodTypeAny, {
708
+ kind: "subprocess";
709
+ flags: string[];
710
+ enabled: boolean;
711
+ env: Record<string, string>;
712
+ prompt_wrapper: string;
713
+ output_parser: OutputParserConfig;
714
+ stderr: "passthrough" | "suppress" | "capture";
715
+ abstract: boolean;
716
+ timeout?: number | undefined;
717
+ auth?: {
718
+ check: string;
719
+ timeout: number;
720
+ failure_exit_codes: number[];
721
+ recovery: string;
722
+ } | undefined;
723
+ command?: string | undefined;
724
+ headers?: Record<string, string> | undefined;
725
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
726
+ cwd?: string | undefined;
727
+ extends?: string | undefined;
728
+ }, {
729
+ kind: "subprocess";
730
+ timeout?: number | undefined;
731
+ flags?: string[] | undefined;
732
+ auth?: {
733
+ check: string;
734
+ failure_exit_codes: number[];
735
+ recovery: string;
736
+ timeout?: number | undefined;
737
+ } | undefined;
738
+ enabled?: boolean | undefined;
739
+ command?: string | undefined;
740
+ env?: Record<string, string> | undefined;
741
+ headers?: Record<string, string> | undefined;
742
+ prompt_wrapper?: string | undefined;
743
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
744
+ cwd?: string | undefined;
745
+ output_parser?: OutputParserConfig | undefined;
746
+ stderr?: "passthrough" | "suppress" | "capture" | undefined;
747
+ extends?: string | undefined;
748
+ abstract?: boolean | undefined;
749
+ }>, z.ZodObject<{
750
+ enabled: z.ZodDefault<z.ZodBoolean>;
751
+ command: z.ZodOptional<z.ZodString>;
752
+ flags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
753
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
754
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
110
755
  prompt_wrapper: z.ZodDefault<z.ZodString>;
111
- output_parser: z.ZodDefault<z.ZodString>;
756
+ prompt_delivery: z.ZodOptional<z.ZodEnum<["stdin", "prompt-file"]>>;
757
+ cwd: z.ZodOptional<z.ZodString>;
758
+ output_parser: z.ZodDefault<z.ZodType<OutputParserConfig, z.ZodTypeDef, OutputParserConfig>>;
112
759
  stderr: z.ZodDefault<z.ZodEnum<["suppress", "capture", "passthrough"]>>;
113
760
  timeout: z.ZodOptional<z.ZodNumber>;
761
+ extends: z.ZodOptional<z.ZodString>;
762
+ abstract: z.ZodDefault<z.ZodBoolean>;
763
+ kind: z.ZodLiteral<"http">;
764
+ endpoint: z.ZodString;
765
+ model: z.ZodString;
766
+ endpoint_convention: z.ZodLiteral<"openai-chat">;
767
+ api_key_env: z.ZodOptional<z.ZodString>;
768
+ api_key_header: z.ZodDefault<z.ZodString>;
769
+ api_key_prefix: z.ZodDefault<z.ZodString>;
770
+ auth: z.ZodDefault<z.ZodObject<{
771
+ check_endpoint: z.ZodOptional<z.ZodString>;
772
+ check_method: z.ZodDefault<z.ZodString>;
773
+ check_status_ok: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
774
+ timeout: z.ZodDefault<z.ZodNumber>;
775
+ recovery: z.ZodOptional<z.ZodString>;
776
+ }, "strip", z.ZodTypeAny, {
777
+ timeout: number;
778
+ check_method: string;
779
+ check_status_ok: number[];
780
+ recovery?: string | undefined;
781
+ check_endpoint?: string | undefined;
782
+ }, {
783
+ timeout?: number | undefined;
784
+ recovery?: string | undefined;
785
+ check_endpoint?: string | undefined;
786
+ check_method?: string | undefined;
787
+ check_status_ok?: number[] | undefined;
788
+ }>>;
114
789
  }, "strip", z.ZodTypeAny, {
790
+ kind: "http";
791
+ flags: string[];
792
+ auth: {
793
+ timeout: number;
794
+ check_method: string;
795
+ check_status_ok: number[];
796
+ recovery?: string | undefined;
797
+ check_endpoint?: string | undefined;
798
+ };
115
799
  enabled: boolean;
116
- command: string;
800
+ env: Record<string, string>;
801
+ prompt_wrapper: string;
802
+ output_parser: OutputParserConfig;
803
+ stderr: "passthrough" | "suppress" | "capture";
804
+ abstract: boolean;
805
+ endpoint: string;
806
+ model: string;
807
+ endpoint_convention: "openai-chat";
808
+ api_key_header: string;
809
+ api_key_prefix: string;
810
+ timeout?: number | undefined;
811
+ command?: string | undefined;
812
+ headers?: Record<string, string> | undefined;
813
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
814
+ cwd?: string | undefined;
815
+ extends?: string | undefined;
816
+ api_key_env?: string | undefined;
817
+ }, {
818
+ kind: "http";
819
+ endpoint: string;
820
+ model: string;
821
+ endpoint_convention: "openai-chat";
822
+ timeout?: number | undefined;
823
+ flags?: string[] | undefined;
824
+ auth?: {
825
+ timeout?: number | undefined;
826
+ recovery?: string | undefined;
827
+ check_endpoint?: string | undefined;
828
+ check_method?: string | undefined;
829
+ check_status_ok?: number[] | undefined;
830
+ } | undefined;
831
+ enabled?: boolean | undefined;
832
+ command?: string | undefined;
833
+ env?: Record<string, string> | undefined;
834
+ headers?: Record<string, string> | undefined;
835
+ prompt_wrapper?: string | undefined;
836
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
837
+ cwd?: string | undefined;
838
+ output_parser?: OutputParserConfig | undefined;
839
+ stderr?: "passthrough" | "suppress" | "capture" | undefined;
840
+ extends?: string | undefined;
841
+ abstract?: boolean | undefined;
842
+ api_key_env?: string | undefined;
843
+ api_key_header?: string | undefined;
844
+ api_key_prefix?: string | undefined;
845
+ }>]>, {
846
+ kind: "subprocess";
117
847
  flags: string[];
848
+ enabled: boolean;
118
849
  env: Record<string, string>;
119
- auth: {
850
+ prompt_wrapper: string;
851
+ output_parser: OutputParserConfig;
852
+ stderr: "passthrough" | "suppress" | "capture";
853
+ abstract: boolean;
854
+ timeout?: number | undefined;
855
+ auth?: {
120
856
  check: string;
121
857
  timeout: number;
122
858
  failure_exit_codes: number[];
123
859
  recovery: string;
860
+ } | undefined;
861
+ command?: string | undefined;
862
+ headers?: Record<string, string> | undefined;
863
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
864
+ cwd?: string | undefined;
865
+ extends?: string | undefined;
866
+ } | {
867
+ kind: "http";
868
+ flags: string[];
869
+ auth: {
870
+ timeout: number;
871
+ check_method: string;
872
+ check_status_ok: number[];
873
+ recovery?: string | undefined;
874
+ check_endpoint?: string | undefined;
124
875
  };
876
+ enabled: boolean;
877
+ env: Record<string, string>;
125
878
  prompt_wrapper: string;
126
- output_parser: string;
879
+ output_parser: OutputParserConfig;
127
880
  stderr: "passthrough" | "suppress" | "capture";
881
+ abstract: boolean;
882
+ endpoint: string;
883
+ model: string;
884
+ endpoint_convention: "openai-chat";
885
+ api_key_header: string;
886
+ api_key_prefix: string;
128
887
  timeout?: number | undefined;
129
- }, {
130
- command: string;
131
- auth: {
888
+ command?: string | undefined;
889
+ headers?: Record<string, string> | undefined;
890
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
891
+ cwd?: string | undefined;
892
+ extends?: string | undefined;
893
+ api_key_env?: string | undefined;
894
+ }, unknown>, {
895
+ kind: "subprocess";
896
+ flags: string[];
897
+ enabled: boolean;
898
+ env: Record<string, string>;
899
+ prompt_wrapper: string;
900
+ output_parser: OutputParserConfig;
901
+ stderr: "passthrough" | "suppress" | "capture";
902
+ abstract: boolean;
903
+ timeout?: number | undefined;
904
+ auth?: {
132
905
  check: string;
906
+ timeout: number;
133
907
  failure_exit_codes: number[];
134
908
  recovery: string;
135
- timeout?: number | undefined;
909
+ } | undefined;
910
+ command?: string | undefined;
911
+ headers?: Record<string, string> | undefined;
912
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
913
+ cwd?: string | undefined;
914
+ extends?: string | undefined;
915
+ } | {
916
+ kind: "http";
917
+ flags: string[];
918
+ auth: {
919
+ timeout: number;
920
+ check_method: string;
921
+ check_status_ok: number[];
922
+ recovery?: string | undefined;
923
+ check_endpoint?: string | undefined;
136
924
  };
925
+ enabled: boolean;
926
+ env: Record<string, string>;
927
+ prompt_wrapper: string;
928
+ output_parser: OutputParserConfig;
929
+ stderr: "passthrough" | "suppress" | "capture";
930
+ abstract: boolean;
931
+ endpoint: string;
932
+ model: string;
933
+ endpoint_convention: "openai-chat";
934
+ api_key_header: string;
935
+ api_key_prefix: string;
137
936
  timeout?: number | undefined;
138
- enabled?: boolean | undefined;
139
- flags?: string[] | undefined;
140
- env?: Record<string, string> | undefined;
141
- prompt_wrapper?: string | undefined;
142
- output_parser?: string | undefined;
143
- stderr?: "passthrough" | "suppress" | "capture" | undefined;
144
- }>>>;
937
+ command?: string | undefined;
938
+ headers?: Record<string, string> | undefined;
939
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
940
+ cwd?: string | undefined;
941
+ extends?: string | undefined;
942
+ api_key_env?: string | undefined;
943
+ }, unknown>>>;
944
+ channels_disabled: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
145
945
  }, "strip", z.ZodTypeAny, {
146
946
  version: number;
147
947
  defaults: {
@@ -150,27 +950,72 @@ export declare const MmrConfigSchema: z.ZodObject<{
150
950
  format: "json" | "text" | "markdown";
151
951
  parallel: boolean;
152
952
  job_retention_days: number;
953
+ loop_control: {
954
+ max_rounds_default: number;
955
+ repeat_suppression_enabled: boolean;
956
+ repeat_downgrade_after?: number | undefined;
957
+ repeat_suppress_after?: number | undefined;
958
+ };
959
+ compensator?: {
960
+ channel?: string | undefined;
961
+ channel_focus_map?: Record<string, string> | undefined;
962
+ } | undefined;
153
963
  };
154
964
  channels: Record<string, {
155
- enabled: boolean;
156
- command: string;
965
+ kind: "subprocess";
157
966
  flags: string[];
967
+ enabled: boolean;
158
968
  env: Record<string, string>;
159
- auth: {
969
+ prompt_wrapper: string;
970
+ output_parser: OutputParserConfig;
971
+ stderr: "passthrough" | "suppress" | "capture";
972
+ abstract: boolean;
973
+ timeout?: number | undefined;
974
+ auth?: {
160
975
  check: string;
161
976
  timeout: number;
162
977
  failure_exit_codes: number[];
163
978
  recovery: string;
979
+ } | undefined;
980
+ command?: string | undefined;
981
+ headers?: Record<string, string> | undefined;
982
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
983
+ cwd?: string | undefined;
984
+ extends?: string | undefined;
985
+ } | {
986
+ kind: "http";
987
+ flags: string[];
988
+ auth: {
989
+ timeout: number;
990
+ check_method: string;
991
+ check_status_ok: number[];
992
+ recovery?: string | undefined;
993
+ check_endpoint?: string | undefined;
164
994
  };
995
+ enabled: boolean;
996
+ env: Record<string, string>;
165
997
  prompt_wrapper: string;
166
- output_parser: string;
998
+ output_parser: OutputParserConfig;
167
999
  stderr: "passthrough" | "suppress" | "capture";
1000
+ abstract: boolean;
1001
+ endpoint: string;
1002
+ model: string;
1003
+ endpoint_convention: "openai-chat";
1004
+ api_key_header: string;
1005
+ api_key_prefix: string;
168
1006
  timeout?: number | undefined;
1007
+ command?: string | undefined;
1008
+ headers?: Record<string, string> | undefined;
1009
+ prompt_delivery?: "stdin" | "prompt-file" | undefined;
1010
+ cwd?: string | undefined;
1011
+ extends?: string | undefined;
1012
+ api_key_env?: string | undefined;
169
1013
  }>;
170
1014
  review_criteria?: string[] | undefined;
171
1015
  templates?: Record<string, {
172
1016
  criteria?: string[] | undefined;
173
1017
  }> | undefined;
1018
+ channels_disabled?: string[] | undefined;
174
1019
  }, {
175
1020
  version: number;
176
1021
  defaults?: {
@@ -179,29 +1024,28 @@ export declare const MmrConfigSchema: z.ZodObject<{
179
1024
  format?: "json" | "text" | "markdown" | undefined;
180
1025
  parallel?: boolean | undefined;
181
1026
  job_retention_days?: number | undefined;
1027
+ loop_control?: {
1028
+ max_rounds_default?: number | undefined;
1029
+ repeat_suppression_enabled?: boolean | undefined;
1030
+ repeat_downgrade_after?: number | undefined;
1031
+ repeat_suppress_after?: number | undefined;
1032
+ } | undefined;
1033
+ compensator?: {
1034
+ channel?: string | undefined;
1035
+ channel_focus_map?: Record<string, string> | undefined;
1036
+ } | undefined;
182
1037
  } | undefined;
183
1038
  review_criteria?: string[] | undefined;
184
1039
  templates?: Record<string, {
185
1040
  criteria?: string[] | undefined;
186
1041
  }> | undefined;
187
- channels?: Record<string, {
188
- command: string;
189
- auth: {
190
- check: string;
191
- failure_exit_codes: number[];
192
- recovery: string;
193
- timeout?: number | undefined;
194
- };
195
- timeout?: number | undefined;
196
- enabled?: boolean | undefined;
197
- flags?: string[] | undefined;
198
- env?: Record<string, string> | undefined;
199
- prompt_wrapper?: string | undefined;
200
- output_parser?: string | undefined;
201
- stderr?: "passthrough" | "suppress" | "capture" | undefined;
202
- }> | undefined;
1042
+ channels?: Record<string, unknown> | undefined;
1043
+ channels_disabled?: string[] | undefined;
203
1044
  }>;
204
1045
  export type MmrConfigParsed = z.infer<typeof MmrConfigSchema>;
205
1046
  export type ChannelConfigParsed = z.infer<typeof ChannelConfigSchema>;
1047
+ export type SubprocessChannelParsed = z.infer<typeof SubprocessChannelSchema>;
1048
+ export type HttpChannelParsed = z.infer<typeof HttpChannelSchema>;
1049
+ export type HttpAuthConfigParsed = z.infer<typeof HttpAuthConfigSchema>;
206
1050
  export {};
207
1051
  //# sourceMappingURL=schema.d.ts.map