@motivation-labs/crosscheck 0.4.0 → 0.4.1-beta.1216e4e.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +26 -9
  2. package/crosscheck.config.example.yml +98 -5
  3. package/dist/__tests__/backtrace.test.d.ts +2 -0
  4. package/dist/__tests__/backtrace.test.d.ts.map +1 -0
  5. package/dist/__tests__/backtrace.test.js +158 -0
  6. package/dist/__tests__/backtrace.test.js.map +1 -0
  7. package/dist/__tests__/loader.test.d.ts +2 -0
  8. package/dist/__tests__/loader.test.d.ts.map +1 -0
  9. package/dist/__tests__/loader.test.js +131 -0
  10. package/dist/__tests__/loader.test.js.map +1 -0
  11. package/dist/__tests__/optimize.test.js +16 -3
  12. package/dist/__tests__/optimize.test.js.map +1 -1
  13. package/dist/ck.d.ts +3 -0
  14. package/dist/ck.d.ts.map +1 -0
  15. package/dist/ck.js +8 -0
  16. package/dist/ck.js.map +1 -0
  17. package/dist/cli.js +12 -4
  18. package/dist/cli.js.map +1 -1
  19. package/dist/commands/diagnose.d.ts +1 -0
  20. package/dist/commands/diagnose.d.ts.map +1 -1
  21. package/dist/commands/diagnose.js +14 -0
  22. package/dist/commands/diagnose.js.map +1 -1
  23. package/dist/commands/init.d.ts.map +1 -1
  24. package/dist/commands/init.js +63 -29
  25. package/dist/commands/init.js.map +1 -1
  26. package/dist/commands/review.d.ts.map +1 -1
  27. package/dist/commands/review.js +12 -6
  28. package/dist/commands/review.js.map +1 -1
  29. package/dist/commands/serve.d.ts +7 -1
  30. package/dist/commands/serve.d.ts.map +1 -1
  31. package/dist/commands/serve.js +152 -34
  32. package/dist/commands/serve.js.map +1 -1
  33. package/dist/commands/status.d.ts.map +1 -1
  34. package/dist/commands/status.js +1 -0
  35. package/dist/commands/status.js.map +1 -1
  36. package/dist/commands/watch.d.ts +7 -1
  37. package/dist/commands/watch.d.ts.map +1 -1
  38. package/dist/commands/watch.js +348 -135
  39. package/dist/commands/watch.js.map +1 -1
  40. package/dist/config/loader.d.ts +10 -0
  41. package/dist/config/loader.d.ts.map +1 -1
  42. package/dist/config/loader.js +196 -0
  43. package/dist/config/loader.js.map +1 -1
  44. package/dist/config/schema.d.ts +461 -35
  45. package/dist/config/schema.d.ts.map +1 -1
  46. package/dist/config/schema.js +72 -5
  47. package/dist/config/schema.js.map +1 -1
  48. package/dist/github/client.d.ts +26 -0
  49. package/dist/github/client.d.ts.map +1 -1
  50. package/dist/github/client.js +159 -2
  51. package/dist/github/client.js.map +1 -1
  52. package/dist/github/detector.d.ts +9 -2
  53. package/dist/github/detector.d.ts.map +1 -1
  54. package/dist/github/detector.js +86 -10
  55. package/dist/github/detector.js.map +1 -1
  56. package/dist/lib/backtrace.d.ts +20 -0
  57. package/dist/lib/backtrace.d.ts.map +1 -0
  58. package/dist/lib/backtrace.js +75 -0
  59. package/dist/lib/backtrace.js.map +1 -0
  60. package/dist/lib/board.d.ts +54 -0
  61. package/dist/lib/board.d.ts.map +1 -0
  62. package/dist/lib/board.js +406 -0
  63. package/dist/lib/board.js.map +1 -0
  64. package/dist/lib/runner.d.ts +10 -1
  65. package/dist/lib/runner.d.ts.map +1 -1
  66. package/dist/lib/runner.js +129 -51
  67. package/dist/lib/runner.js.map +1 -1
  68. package/dist/lib/verdict.d.ts +1 -0
  69. package/dist/lib/verdict.d.ts.map +1 -1
  70. package/dist/lib/verdict.js +27 -7
  71. package/dist/lib/verdict.js.map +1 -1
  72. package/dist/lib/workflow.d.ts +14 -14
  73. package/dist/lib/workflow.d.ts.map +1 -1
  74. package/dist/lib/workflow.js +22 -5
  75. package/dist/lib/workflow.js.map +1 -1
  76. package/dist/reviewers/claude.d.ts +1 -1
  77. package/dist/reviewers/claude.d.ts.map +1 -1
  78. package/dist/reviewers/claude.js +4 -6
  79. package/dist/reviewers/claude.js.map +1 -1
  80. package/dist/reviewers/codex.d.ts +2 -2
  81. package/dist/reviewers/codex.d.ts.map +1 -1
  82. package/dist/reviewers/codex.js +6 -6
  83. package/dist/reviewers/codex.js.map +1 -1
  84. package/dist/reviewers/fix.d.ts +5 -0
  85. package/dist/reviewers/fix.d.ts.map +1 -0
  86. package/dist/reviewers/fix.js +87 -0
  87. package/dist/reviewers/fix.js.map +1 -0
  88. package/get-started.md +202 -23
  89. package/get-started.zh.md +2 -3
  90. package/package.json +4 -3
@@ -1,20 +1,40 @@
1
1
  import { z } from 'zod';
2
2
  export declare const VendorConfigSchema: z.ZodObject<{
3
3
  enabled: z.ZodDefault<z.ZodBoolean>;
4
- model: z.ZodOptional<z.ZodString>;
4
+ model: z.ZodDefault<z.ZodNullable<z.ZodString>>;
5
5
  auth: z.ZodDefault<z.ZodEnum<["subscription", "api-key"]>>;
6
6
  effort: z.ZodDefault<z.ZodEnum<["low", "medium", "high", "max"]>>;
7
7
  }, "strip", z.ZodTypeAny, {
8
8
  enabled: boolean;
9
+ model: string | null;
9
10
  auth: "subscription" | "api-key";
10
11
  effort: "low" | "medium" | "high" | "max";
11
- model?: string | undefined;
12
12
  }, {
13
13
  enabled?: boolean | undefined;
14
- model?: string | undefined;
14
+ model?: string | null | undefined;
15
15
  auth?: "subscription" | "api-key" | undefined;
16
16
  effort?: "low" | "medium" | "high" | "max" | undefined;
17
17
  }>;
18
+ export declare const CodexVendorConfigSchema: z.ZodObject<{
19
+ enabled: z.ZodDefault<z.ZodBoolean>;
20
+ model: z.ZodDefault<z.ZodNullable<z.ZodString>>;
21
+ auth: z.ZodDefault<z.ZodEnum<["subscription", "api-key"]>>;
22
+ effort: z.ZodDefault<z.ZodEnum<["low", "medium", "high", "max"]>>;
23
+ } & {
24
+ quality: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ enabled: boolean;
27
+ model: string | null;
28
+ auth: "subscription" | "api-key";
29
+ effort: "low" | "medium" | "high" | "max";
30
+ quality: "low" | "medium" | "high";
31
+ }, {
32
+ enabled?: boolean | undefined;
33
+ model?: string | null | undefined;
34
+ auth?: "subscription" | "api-key" | undefined;
35
+ effort?: "low" | "medium" | "high" | "max" | undefined;
36
+ quality?: "low" | "medium" | "high" | undefined;
37
+ }>;
18
38
  export declare const QualityConfigSchema: z.ZodObject<{
19
39
  tier: z.ZodDefault<z.ZodEnum<["fast", "balanced", "thorough"]>>;
20
40
  focus: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
@@ -51,15 +71,27 @@ export declare const RepoConfigSchema: z.ZodObject<{
51
71
  export declare const RoutingConfigSchema: z.ZodObject<{
52
72
  codex_reviews_patterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
53
73
  claude_reviews_patterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
74
+ claude_branch_prefixes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
75
+ codex_branch_prefixes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
54
76
  allowed_authors: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
77
+ author_routes: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEnum<["claude", "codex"]>>>;
78
+ fallback_reviewer: z.ZodDefault<z.ZodNullable<z.ZodEnum<["auto", "codex", "claude"]>>>;
55
79
  }, "strip", z.ZodTypeAny, {
56
80
  codex_reviews_patterns: string[];
57
81
  claude_reviews_patterns: string[];
82
+ claude_branch_prefixes: string[];
83
+ codex_branch_prefixes: string[];
58
84
  allowed_authors: string[];
85
+ author_routes: Record<string, "claude" | "codex">;
86
+ fallback_reviewer: "claude" | "codex" | "auto" | null;
59
87
  }, {
60
88
  codex_reviews_patterns?: string[] | undefined;
61
89
  claude_reviews_patterns?: string[] | undefined;
90
+ claude_branch_prefixes?: string[] | undefined;
91
+ codex_branch_prefixes?: string[] | undefined;
62
92
  allowed_authors?: string[] | undefined;
93
+ author_routes?: Record<string, "claude" | "codex"> | undefined;
94
+ fallback_reviewer?: "claude" | "codex" | "auto" | null | undefined;
63
95
  }>;
64
96
  export declare const ServerConfigSchema: z.ZodObject<{
65
97
  port: z.ZodDefault<z.ZodNumber>;
@@ -104,66 +136,261 @@ export declare const ImpactConfigSchema: z.ZodObject<{
104
136
  hourly_rate_usd?: number | undefined;
105
137
  defect_cost_usd?: number | undefined;
106
138
  }>;
139
+ export declare const BacktraceConfigSchema: z.ZodObject<{
140
+ enabled: z.ZodDefault<z.ZodBoolean>;
141
+ }, "strip", z.ZodTypeAny, {
142
+ enabled: boolean;
143
+ }, {
144
+ enabled?: boolean | undefined;
145
+ }>;
146
+ export declare const PostReviewDeliverySchema: z.ZodObject<{
147
+ mode: z.ZodDefault<z.ZodEnum<["pull_request", "commit", "comment"]>>;
148
+ pr_title: z.ZodDefault<z.ZodString>;
149
+ label: z.ZodDefault<z.ZodString>;
150
+ }, "strip", z.ZodTypeAny, {
151
+ mode: "pull_request" | "commit" | "comment";
152
+ pr_title: string;
153
+ label: string;
154
+ }, {
155
+ mode?: "pull_request" | "commit" | "comment" | undefined;
156
+ pr_title?: string | undefined;
157
+ label?: string | undefined;
158
+ }>;
159
+ export declare const PostReviewFixSchema: z.ZodObject<{
160
+ enabled: z.ZodDefault<z.ZodBoolean>;
161
+ trigger: z.ZodDefault<z.ZodEnum<["on_issues", "always", "never"]>>;
162
+ min_severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
163
+ fixer: z.ZodDefault<z.ZodEnum<["same-as-author", "same-as-reviewer", "codex", "claude"]>>;
164
+ delivery: z.ZodDefault<z.ZodObject<{
165
+ mode: z.ZodDefault<z.ZodEnum<["pull_request", "commit", "comment"]>>;
166
+ pr_title: z.ZodDefault<z.ZodString>;
167
+ label: z.ZodDefault<z.ZodString>;
168
+ }, "strip", z.ZodTypeAny, {
169
+ mode: "pull_request" | "commit" | "comment";
170
+ pr_title: string;
171
+ label: string;
172
+ }, {
173
+ mode?: "pull_request" | "commit" | "comment" | undefined;
174
+ pr_title?: string | undefined;
175
+ label?: string | undefined;
176
+ }>>;
177
+ }, "strip", z.ZodTypeAny, {
178
+ enabled: boolean;
179
+ trigger: "never" | "on_issues" | "always";
180
+ min_severity: "error" | "warning" | "info";
181
+ fixer: "claude" | "codex" | "same-as-author" | "same-as-reviewer";
182
+ delivery: {
183
+ mode: "pull_request" | "commit" | "comment";
184
+ pr_title: string;
185
+ label: string;
186
+ };
187
+ }, {
188
+ enabled?: boolean | undefined;
189
+ trigger?: "never" | "on_issues" | "always" | undefined;
190
+ min_severity?: "error" | "warning" | "info" | undefined;
191
+ fixer?: "claude" | "codex" | "same-as-author" | "same-as-reviewer" | undefined;
192
+ delivery?: {
193
+ mode?: "pull_request" | "commit" | "comment" | undefined;
194
+ pr_title?: string | undefined;
195
+ label?: string | undefined;
196
+ } | undefined;
197
+ }>;
198
+ export declare const PostReviewConfigSchema: z.ZodObject<{
199
+ auto_fix: z.ZodDefault<z.ZodObject<{
200
+ enabled: z.ZodDefault<z.ZodBoolean>;
201
+ trigger: z.ZodDefault<z.ZodEnum<["on_issues", "always", "never"]>>;
202
+ min_severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
203
+ fixer: z.ZodDefault<z.ZodEnum<["same-as-author", "same-as-reviewer", "codex", "claude"]>>;
204
+ delivery: z.ZodDefault<z.ZodObject<{
205
+ mode: z.ZodDefault<z.ZodEnum<["pull_request", "commit", "comment"]>>;
206
+ pr_title: z.ZodDefault<z.ZodString>;
207
+ label: z.ZodDefault<z.ZodString>;
208
+ }, "strip", z.ZodTypeAny, {
209
+ mode: "pull_request" | "commit" | "comment";
210
+ pr_title: string;
211
+ label: string;
212
+ }, {
213
+ mode?: "pull_request" | "commit" | "comment" | undefined;
214
+ pr_title?: string | undefined;
215
+ label?: string | undefined;
216
+ }>>;
217
+ }, "strip", z.ZodTypeAny, {
218
+ enabled: boolean;
219
+ trigger: "never" | "on_issues" | "always";
220
+ min_severity: "error" | "warning" | "info";
221
+ fixer: "claude" | "codex" | "same-as-author" | "same-as-reviewer";
222
+ delivery: {
223
+ mode: "pull_request" | "commit" | "comment";
224
+ pr_title: string;
225
+ label: string;
226
+ };
227
+ }, {
228
+ enabled?: boolean | undefined;
229
+ trigger?: "never" | "on_issues" | "always" | undefined;
230
+ min_severity?: "error" | "warning" | "info" | undefined;
231
+ fixer?: "claude" | "codex" | "same-as-author" | "same-as-reviewer" | undefined;
232
+ delivery?: {
233
+ mode?: "pull_request" | "commit" | "comment" | undefined;
234
+ pr_title?: string | undefined;
235
+ label?: string | undefined;
236
+ } | undefined;
237
+ }>>;
238
+ }, "strip", z.ZodTypeAny, {
239
+ auto_fix: {
240
+ enabled: boolean;
241
+ trigger: "never" | "on_issues" | "always";
242
+ min_severity: "error" | "warning" | "info";
243
+ fixer: "claude" | "codex" | "same-as-author" | "same-as-reviewer";
244
+ delivery: {
245
+ mode: "pull_request" | "commit" | "comment";
246
+ pr_title: string;
247
+ label: string;
248
+ };
249
+ };
250
+ }, {
251
+ auto_fix?: {
252
+ enabled?: boolean | undefined;
253
+ trigger?: "never" | "on_issues" | "always" | undefined;
254
+ min_severity?: "error" | "warning" | "info" | undefined;
255
+ fixer?: "claude" | "codex" | "same-as-author" | "same-as-reviewer" | undefined;
256
+ delivery?: {
257
+ mode?: "pull_request" | "commit" | "comment" | undefined;
258
+ pr_title?: string | undefined;
259
+ label?: string | undefined;
260
+ } | undefined;
261
+ } | undefined;
262
+ }>;
263
+ export declare const DisplayThemeSchema: z.ZodObject<{
264
+ bar_fill: z.ZodDefault<z.ZodString>;
265
+ bar_empty: z.ZodDefault<z.ZodString>;
266
+ cr_approve: z.ZodDefault<z.ZodString>;
267
+ cr_needs_work: z.ZodDefault<z.ZodString>;
268
+ cr_block: z.ZodDefault<z.ZodString>;
269
+ fix_fill: z.ZodDefault<z.ZodString>;
270
+ }, "strip", z.ZodTypeAny, {
271
+ bar_fill: string;
272
+ bar_empty: string;
273
+ cr_approve: string;
274
+ cr_needs_work: string;
275
+ cr_block: string;
276
+ fix_fill: string;
277
+ }, {
278
+ bar_fill?: string | undefined;
279
+ bar_empty?: string | undefined;
280
+ cr_approve?: string | undefined;
281
+ cr_needs_work?: string | undefined;
282
+ cr_block?: string | undefined;
283
+ fix_fill?: string | undefined;
284
+ }>;
285
+ export declare const DisplayConfigSchema: z.ZodObject<{
286
+ theme: z.ZodDefault<z.ZodObject<{
287
+ bar_fill: z.ZodDefault<z.ZodString>;
288
+ bar_empty: z.ZodDefault<z.ZodString>;
289
+ cr_approve: z.ZodDefault<z.ZodString>;
290
+ cr_needs_work: z.ZodDefault<z.ZodString>;
291
+ cr_block: z.ZodDefault<z.ZodString>;
292
+ fix_fill: z.ZodDefault<z.ZodString>;
293
+ }, "strip", z.ZodTypeAny, {
294
+ bar_fill: string;
295
+ bar_empty: string;
296
+ cr_approve: string;
297
+ cr_needs_work: string;
298
+ cr_block: string;
299
+ fix_fill: string;
300
+ }, {
301
+ bar_fill?: string | undefined;
302
+ bar_empty?: string | undefined;
303
+ cr_approve?: string | undefined;
304
+ cr_needs_work?: string | undefined;
305
+ cr_block?: string | undefined;
306
+ fix_fill?: string | undefined;
307
+ }>>;
308
+ }, "strip", z.ZodTypeAny, {
309
+ theme: {
310
+ bar_fill: string;
311
+ bar_empty: string;
312
+ cr_approve: string;
313
+ cr_needs_work: string;
314
+ cr_block: string;
315
+ fix_fill: string;
316
+ };
317
+ }, {
318
+ theme?: {
319
+ bar_fill?: string | undefined;
320
+ bar_empty?: string | undefined;
321
+ cr_approve?: string | undefined;
322
+ cr_needs_work?: string | undefined;
323
+ cr_block?: string | undefined;
324
+ fix_fill?: string | undefined;
325
+ } | undefined;
326
+ }>;
107
327
  export declare const ConfigSchema: z.ZodObject<{
328
+ deployment: z.ZodOptional<z.ZodEnum<["personal", "team"]>>;
108
329
  mode: z.ZodDefault<z.ZodEnum<["single-vendor", "cross-vendor"]>>;
109
330
  vendors: z.ZodDefault<z.ZodObject<{
110
331
  codex: z.ZodDefault<z.ZodObject<{
111
332
  enabled: z.ZodDefault<z.ZodBoolean>;
112
- model: z.ZodOptional<z.ZodString>;
333
+ model: z.ZodDefault<z.ZodNullable<z.ZodString>>;
113
334
  auth: z.ZodDefault<z.ZodEnum<["subscription", "api-key"]>>;
114
335
  effort: z.ZodDefault<z.ZodEnum<["low", "medium", "high", "max"]>>;
336
+ } & {
337
+ quality: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
115
338
  }, "strip", z.ZodTypeAny, {
116
339
  enabled: boolean;
340
+ model: string | null;
117
341
  auth: "subscription" | "api-key";
118
342
  effort: "low" | "medium" | "high" | "max";
119
- model?: string | undefined;
343
+ quality: "low" | "medium" | "high";
120
344
  }, {
121
345
  enabled?: boolean | undefined;
122
- model?: string | undefined;
346
+ model?: string | null | undefined;
123
347
  auth?: "subscription" | "api-key" | undefined;
124
348
  effort?: "low" | "medium" | "high" | "max" | undefined;
349
+ quality?: "low" | "medium" | "high" | undefined;
125
350
  }>>;
126
351
  claude: z.ZodDefault<z.ZodObject<{
127
352
  enabled: z.ZodDefault<z.ZodBoolean>;
128
- model: z.ZodOptional<z.ZodString>;
353
+ model: z.ZodDefault<z.ZodNullable<z.ZodString>>;
129
354
  auth: z.ZodDefault<z.ZodEnum<["subscription", "api-key"]>>;
130
355
  effort: z.ZodDefault<z.ZodEnum<["low", "medium", "high", "max"]>>;
131
356
  }, "strip", z.ZodTypeAny, {
132
357
  enabled: boolean;
358
+ model: string | null;
133
359
  auth: "subscription" | "api-key";
134
360
  effort: "low" | "medium" | "high" | "max";
135
- model?: string | undefined;
136
361
  }, {
137
362
  enabled?: boolean | undefined;
138
- model?: string | undefined;
363
+ model?: string | null | undefined;
139
364
  auth?: "subscription" | "api-key" | undefined;
140
365
  effort?: "low" | "medium" | "high" | "max" | undefined;
141
366
  }>>;
142
367
  }, "strip", z.ZodTypeAny, {
143
- codex: {
368
+ claude: {
144
369
  enabled: boolean;
370
+ model: string | null;
145
371
  auth: "subscription" | "api-key";
146
372
  effort: "low" | "medium" | "high" | "max";
147
- model?: string | undefined;
148
373
  };
149
- claude: {
374
+ codex: {
150
375
  enabled: boolean;
376
+ model: string | null;
151
377
  auth: "subscription" | "api-key";
152
378
  effort: "low" | "medium" | "high" | "max";
153
- model?: string | undefined;
379
+ quality: "low" | "medium" | "high";
154
380
  };
155
381
  }, {
156
- codex?: {
382
+ claude?: {
157
383
  enabled?: boolean | undefined;
158
- model?: string | undefined;
384
+ model?: string | null | undefined;
159
385
  auth?: "subscription" | "api-key" | undefined;
160
386
  effort?: "low" | "medium" | "high" | "max" | undefined;
161
387
  } | undefined;
162
- claude?: {
388
+ codex?: {
163
389
  enabled?: boolean | undefined;
164
- model?: string | undefined;
390
+ model?: string | null | undefined;
165
391
  auth?: "subscription" | "api-key" | undefined;
166
392
  effort?: "low" | "medium" | "high" | "max" | undefined;
393
+ quality?: "low" | "medium" | "high" | undefined;
167
394
  } | undefined;
168
395
  }>>;
169
396
  quality: z.ZodDefault<z.ZodObject<{
@@ -190,6 +417,7 @@ export declare const ConfigSchema: z.ZodObject<{
190
417
  per_review_usd?: number | undefined;
191
418
  }>>;
192
419
  orgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
420
+ users: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
193
421
  repos: z.ZodDefault<z.ZodArray<z.ZodObject<{
194
422
  owner: z.ZodString;
195
423
  name: z.ZodString;
@@ -203,15 +431,27 @@ export declare const ConfigSchema: z.ZodObject<{
203
431
  routing: z.ZodDefault<z.ZodObject<{
204
432
  codex_reviews_patterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
205
433
  claude_reviews_patterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
434
+ claude_branch_prefixes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
435
+ codex_branch_prefixes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
206
436
  allowed_authors: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
437
+ author_routes: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEnum<["claude", "codex"]>>>;
438
+ fallback_reviewer: z.ZodDefault<z.ZodNullable<z.ZodEnum<["auto", "codex", "claude"]>>>;
207
439
  }, "strip", z.ZodTypeAny, {
208
440
  codex_reviews_patterns: string[];
209
441
  claude_reviews_patterns: string[];
442
+ claude_branch_prefixes: string[];
443
+ codex_branch_prefixes: string[];
210
444
  allowed_authors: string[];
445
+ author_routes: Record<string, "claude" | "codex">;
446
+ fallback_reviewer: "claude" | "codex" | "auto" | null;
211
447
  }, {
212
448
  codex_reviews_patterns?: string[] | undefined;
213
449
  claude_reviews_patterns?: string[] | undefined;
450
+ claude_branch_prefixes?: string[] | undefined;
451
+ codex_branch_prefixes?: string[] | undefined;
214
452
  allowed_authors?: string[] | undefined;
453
+ author_routes?: Record<string, "claude" | "codex"> | undefined;
454
+ fallback_reviewer?: "claude" | "codex" | "auto" | null | undefined;
215
455
  }>>;
216
456
  server: z.ZodDefault<z.ZodObject<{
217
457
  port: z.ZodDefault<z.ZodNumber>;
@@ -256,32 +496,148 @@ export declare const ConfigSchema: z.ZodObject<{
256
496
  hourly_rate_usd?: number | undefined;
257
497
  defect_cost_usd?: number | undefined;
258
498
  }>>;
499
+ backtrace: z.ZodDefault<z.ZodObject<{
500
+ enabled: z.ZodDefault<z.ZodBoolean>;
501
+ }, "strip", z.ZodTypeAny, {
502
+ enabled: boolean;
503
+ }, {
504
+ enabled?: boolean | undefined;
505
+ }>>;
506
+ post_review: z.ZodDefault<z.ZodObject<{
507
+ auto_fix: z.ZodDefault<z.ZodObject<{
508
+ enabled: z.ZodDefault<z.ZodBoolean>;
509
+ trigger: z.ZodDefault<z.ZodEnum<["on_issues", "always", "never"]>>;
510
+ min_severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
511
+ fixer: z.ZodDefault<z.ZodEnum<["same-as-author", "same-as-reviewer", "codex", "claude"]>>;
512
+ delivery: z.ZodDefault<z.ZodObject<{
513
+ mode: z.ZodDefault<z.ZodEnum<["pull_request", "commit", "comment"]>>;
514
+ pr_title: z.ZodDefault<z.ZodString>;
515
+ label: z.ZodDefault<z.ZodString>;
516
+ }, "strip", z.ZodTypeAny, {
517
+ mode: "pull_request" | "commit" | "comment";
518
+ pr_title: string;
519
+ label: string;
520
+ }, {
521
+ mode?: "pull_request" | "commit" | "comment" | undefined;
522
+ pr_title?: string | undefined;
523
+ label?: string | undefined;
524
+ }>>;
525
+ }, "strip", z.ZodTypeAny, {
526
+ enabled: boolean;
527
+ trigger: "never" | "on_issues" | "always";
528
+ min_severity: "error" | "warning" | "info";
529
+ fixer: "claude" | "codex" | "same-as-author" | "same-as-reviewer";
530
+ delivery: {
531
+ mode: "pull_request" | "commit" | "comment";
532
+ pr_title: string;
533
+ label: string;
534
+ };
535
+ }, {
536
+ enabled?: boolean | undefined;
537
+ trigger?: "never" | "on_issues" | "always" | undefined;
538
+ min_severity?: "error" | "warning" | "info" | undefined;
539
+ fixer?: "claude" | "codex" | "same-as-author" | "same-as-reviewer" | undefined;
540
+ delivery?: {
541
+ mode?: "pull_request" | "commit" | "comment" | undefined;
542
+ pr_title?: string | undefined;
543
+ label?: string | undefined;
544
+ } | undefined;
545
+ }>>;
546
+ }, "strip", z.ZodTypeAny, {
547
+ auto_fix: {
548
+ enabled: boolean;
549
+ trigger: "never" | "on_issues" | "always";
550
+ min_severity: "error" | "warning" | "info";
551
+ fixer: "claude" | "codex" | "same-as-author" | "same-as-reviewer";
552
+ delivery: {
553
+ mode: "pull_request" | "commit" | "comment";
554
+ pr_title: string;
555
+ label: string;
556
+ };
557
+ };
558
+ }, {
559
+ auto_fix?: {
560
+ enabled?: boolean | undefined;
561
+ trigger?: "never" | "on_issues" | "always" | undefined;
562
+ min_severity?: "error" | "warning" | "info" | undefined;
563
+ fixer?: "claude" | "codex" | "same-as-author" | "same-as-reviewer" | undefined;
564
+ delivery?: {
565
+ mode?: "pull_request" | "commit" | "comment" | undefined;
566
+ pr_title?: string | undefined;
567
+ label?: string | undefined;
568
+ } | undefined;
569
+ } | undefined;
570
+ }>>;
571
+ display: z.ZodDefault<z.ZodObject<{
572
+ theme: z.ZodDefault<z.ZodObject<{
573
+ bar_fill: z.ZodDefault<z.ZodString>;
574
+ bar_empty: z.ZodDefault<z.ZodString>;
575
+ cr_approve: z.ZodDefault<z.ZodString>;
576
+ cr_needs_work: z.ZodDefault<z.ZodString>;
577
+ cr_block: z.ZodDefault<z.ZodString>;
578
+ fix_fill: z.ZodDefault<z.ZodString>;
579
+ }, "strip", z.ZodTypeAny, {
580
+ bar_fill: string;
581
+ bar_empty: string;
582
+ cr_approve: string;
583
+ cr_needs_work: string;
584
+ cr_block: string;
585
+ fix_fill: string;
586
+ }, {
587
+ bar_fill?: string | undefined;
588
+ bar_empty?: string | undefined;
589
+ cr_approve?: string | undefined;
590
+ cr_needs_work?: string | undefined;
591
+ cr_block?: string | undefined;
592
+ fix_fill?: string | undefined;
593
+ }>>;
594
+ }, "strip", z.ZodTypeAny, {
595
+ theme: {
596
+ bar_fill: string;
597
+ bar_empty: string;
598
+ cr_approve: string;
599
+ cr_needs_work: string;
600
+ cr_block: string;
601
+ fix_fill: string;
602
+ };
603
+ }, {
604
+ theme?: {
605
+ bar_fill?: string | undefined;
606
+ bar_empty?: string | undefined;
607
+ cr_approve?: string | undefined;
608
+ cr_needs_work?: string | undefined;
609
+ cr_block?: string | undefined;
610
+ fix_fill?: string | undefined;
611
+ } | undefined;
612
+ }>>;
259
613
  }, "strip", z.ZodTypeAny, {
614
+ quality: {
615
+ tier: "fast" | "balanced" | "thorough";
616
+ focus: string[];
617
+ custom_prompt?: string | undefined;
618
+ };
260
619
  mode: "single-vendor" | "cross-vendor";
261
620
  vendors: {
262
- codex: {
621
+ claude: {
263
622
  enabled: boolean;
623
+ model: string | null;
264
624
  auth: "subscription" | "api-key";
265
625
  effort: "low" | "medium" | "high" | "max";
266
- model?: string | undefined;
267
626
  };
268
- claude: {
627
+ codex: {
269
628
  enabled: boolean;
629
+ model: string | null;
270
630
  auth: "subscription" | "api-key";
271
631
  effort: "low" | "medium" | "high" | "max";
272
- model?: string | undefined;
632
+ quality: "low" | "medium" | "high";
273
633
  };
274
634
  };
275
- quality: {
276
- tier: "fast" | "balanced" | "thorough";
277
- focus: string[];
278
- custom_prompt?: string | undefined;
279
- };
280
635
  budget: {
281
636
  codex_monthly_usd: number | null;
282
637
  per_review_usd: number;
283
638
  };
284
639
  orgs: string[];
640
+ users: string[];
285
641
  repos: {
286
642
  owner: string;
287
643
  name: string;
@@ -289,7 +645,11 @@ export declare const ConfigSchema: z.ZodObject<{
289
645
  routing: {
290
646
  codex_reviews_patterns: string[];
291
647
  claude_reviews_patterns: string[];
648
+ claude_branch_prefixes: string[];
649
+ codex_branch_prefixes: string[];
292
650
  allowed_authors: string[];
651
+ author_routes: Record<string, "claude" | "codex">;
652
+ fallback_reviewer: "claude" | "codex" | "auto" | null;
293
653
  };
294
654
  server: {
295
655
  port: number;
@@ -308,32 +668,62 @@ export declare const ConfigSchema: z.ZodObject<{
308
668
  hourly_rate_usd: number;
309
669
  defect_cost_usd: number;
310
670
  };
671
+ backtrace: {
672
+ enabled: boolean;
673
+ };
674
+ post_review: {
675
+ auto_fix: {
676
+ enabled: boolean;
677
+ trigger: "never" | "on_issues" | "always";
678
+ min_severity: "error" | "warning" | "info";
679
+ fixer: "claude" | "codex" | "same-as-author" | "same-as-reviewer";
680
+ delivery: {
681
+ mode: "pull_request" | "commit" | "comment";
682
+ pr_title: string;
683
+ label: string;
684
+ };
685
+ };
686
+ };
687
+ display: {
688
+ theme: {
689
+ bar_fill: string;
690
+ bar_empty: string;
691
+ cr_approve: string;
692
+ cr_needs_work: string;
693
+ cr_block: string;
694
+ fix_fill: string;
695
+ };
696
+ };
697
+ deployment?: "personal" | "team" | undefined;
311
698
  }, {
699
+ quality?: {
700
+ tier?: "fast" | "balanced" | "thorough" | undefined;
701
+ focus?: string[] | undefined;
702
+ custom_prompt?: string | undefined;
703
+ } | undefined;
312
704
  mode?: "single-vendor" | "cross-vendor" | undefined;
705
+ deployment?: "personal" | "team" | undefined;
313
706
  vendors?: {
314
- codex?: {
707
+ claude?: {
315
708
  enabled?: boolean | undefined;
316
- model?: string | undefined;
709
+ model?: string | null | undefined;
317
710
  auth?: "subscription" | "api-key" | undefined;
318
711
  effort?: "low" | "medium" | "high" | "max" | undefined;
319
712
  } | undefined;
320
- claude?: {
713
+ codex?: {
321
714
  enabled?: boolean | undefined;
322
- model?: string | undefined;
715
+ model?: string | null | undefined;
323
716
  auth?: "subscription" | "api-key" | undefined;
324
717
  effort?: "low" | "medium" | "high" | "max" | undefined;
718
+ quality?: "low" | "medium" | "high" | undefined;
325
719
  } | undefined;
326
720
  } | undefined;
327
- quality?: {
328
- tier?: "fast" | "balanced" | "thorough" | undefined;
329
- focus?: string[] | undefined;
330
- custom_prompt?: string | undefined;
331
- } | undefined;
332
721
  budget?: {
333
722
  codex_monthly_usd?: number | null | undefined;
334
723
  per_review_usd?: number | undefined;
335
724
  } | undefined;
336
725
  orgs?: string[] | undefined;
726
+ users?: string[] | undefined;
337
727
  repos?: {
338
728
  owner: string;
339
729
  name: string;
@@ -341,7 +731,11 @@ export declare const ConfigSchema: z.ZodObject<{
341
731
  routing?: {
342
732
  codex_reviews_patterns?: string[] | undefined;
343
733
  claude_reviews_patterns?: string[] | undefined;
734
+ claude_branch_prefixes?: string[] | undefined;
735
+ codex_branch_prefixes?: string[] | undefined;
344
736
  allowed_authors?: string[] | undefined;
737
+ author_routes?: Record<string, "claude" | "codex"> | undefined;
738
+ fallback_reviewer?: "claude" | "codex" | "auto" | null | undefined;
345
739
  } | undefined;
346
740
  server?: {
347
741
  port?: number | undefined;
@@ -360,11 +754,43 @@ export declare const ConfigSchema: z.ZodObject<{
360
754
  hourly_rate_usd?: number | undefined;
361
755
  defect_cost_usd?: number | undefined;
362
756
  } | undefined;
757
+ backtrace?: {
758
+ enabled?: boolean | undefined;
759
+ } | undefined;
760
+ post_review?: {
761
+ auto_fix?: {
762
+ enabled?: boolean | undefined;
763
+ trigger?: "never" | "on_issues" | "always" | undefined;
764
+ min_severity?: "error" | "warning" | "info" | undefined;
765
+ fixer?: "claude" | "codex" | "same-as-author" | "same-as-reviewer" | undefined;
766
+ delivery?: {
767
+ mode?: "pull_request" | "commit" | "comment" | undefined;
768
+ pr_title?: string | undefined;
769
+ label?: string | undefined;
770
+ } | undefined;
771
+ } | undefined;
772
+ } | undefined;
773
+ display?: {
774
+ theme?: {
775
+ bar_fill?: string | undefined;
776
+ bar_empty?: string | undefined;
777
+ cr_approve?: string | undefined;
778
+ cr_needs_work?: string | undefined;
779
+ cr_block?: string | undefined;
780
+ fix_fill?: string | undefined;
781
+ } | undefined;
782
+ } | undefined;
363
783
  }>;
364
784
  export type Config = z.infer<typeof ConfigSchema>;
365
785
  export type VendorConfig = z.infer<typeof VendorConfigSchema>;
786
+ export type CodexVendorConfig = z.infer<typeof CodexVendorConfigSchema>;
366
787
  export type QualityConfig = z.infer<typeof QualityConfigSchema>;
367
788
  export type LogsConfig = z.infer<typeof LogsConfigSchema>;
368
789
  export type TunnelConfig = z.infer<typeof TunnelConfigSchema>;
369
790
  export type ImpactConfig = z.infer<typeof ImpactConfigSchema>;
791
+ export type PostReviewConfig = z.infer<typeof PostReviewConfigSchema>;
792
+ export type PostReviewFixConfig = z.infer<typeof PostReviewFixSchema>;
793
+ export type DisplayConfig = z.infer<typeof DisplayConfigSchema>;
794
+ export type DisplayTheme = z.infer<typeof DisplayThemeSchema>;
795
+ export type BacktraceConfig = z.infer<typeof BacktraceConfigSchema>;
370
796
  //# sourceMappingURL=schema.d.ts.map