@open330/oac 2026.2.5

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 (56) hide show
  1. package/CHANGELOG.md +115 -0
  2. package/LICENSE +21 -0
  3. package/README.md +597 -0
  4. package/dist/budget/index.d.ts +117 -0
  5. package/dist/budget/index.js +23 -0
  6. package/dist/budget/index.js.map +1 -0
  7. package/dist/chunk-4IUL7ECC.js +3152 -0
  8. package/dist/chunk-4IUL7ECC.js.map +1 -0
  9. package/dist/chunk-5GAUWC3L.js +469 -0
  10. package/dist/chunk-5GAUWC3L.js.map +1 -0
  11. package/dist/chunk-6A37SKAJ.js +58 -0
  12. package/dist/chunk-6A37SKAJ.js.map +1 -0
  13. package/dist/chunk-7C7SC4TZ.js +358 -0
  14. package/dist/chunk-7C7SC4TZ.js.map +1 -0
  15. package/dist/chunk-CJAJ4MBO.js +475 -0
  16. package/dist/chunk-CJAJ4MBO.js.map +1 -0
  17. package/dist/chunk-LQC5DLT7.js +317 -0
  18. package/dist/chunk-LQC5DLT7.js.map +1 -0
  19. package/dist/chunk-OTPXGXO7.js +2368 -0
  20. package/dist/chunk-OTPXGXO7.js.map +1 -0
  21. package/dist/chunk-QPVNC7S4.js +1833 -0
  22. package/dist/chunk-QPVNC7S4.js.map +1 -0
  23. package/dist/cli/cli.d.ts +13 -0
  24. package/dist/cli/cli.js +16 -0
  25. package/dist/cli/cli.js.map +1 -0
  26. package/dist/cli/index.d.ts +1 -0
  27. package/dist/cli/index.js +22 -0
  28. package/dist/cli/index.js.map +1 -0
  29. package/dist/completion/index.d.ts +91 -0
  30. package/dist/completion/index.js +587 -0
  31. package/dist/completion/index.js.map +1 -0
  32. package/dist/config-DequKoFA.d.ts +1468 -0
  33. package/dist/core/index.d.ts +64 -0
  34. package/dist/core/index.js +87 -0
  35. package/dist/core/index.js.map +1 -0
  36. package/dist/dashboard/index.d.ts +14 -0
  37. package/dist/dashboard/index.js +1253 -0
  38. package/dist/dashboard/index.js.map +1 -0
  39. package/dist/discovery/index.d.ts +285 -0
  40. package/dist/discovery/index.js +50 -0
  41. package/dist/discovery/index.js.map +1 -0
  42. package/dist/event-bus-KiuR6e3P.d.ts +91 -0
  43. package/dist/execution/index.d.ts +215 -0
  44. package/dist/execution/index.js +27 -0
  45. package/dist/execution/index.js.map +1 -0
  46. package/dist/repo/index.d.ts +33 -0
  47. package/dist/repo/index.js +19 -0
  48. package/dist/repo/index.js.map +1 -0
  49. package/dist/tracking/index.d.ts +357 -0
  50. package/dist/tracking/index.js +15 -0
  51. package/dist/tracking/index.js.map +1 -0
  52. package/dist/types-CYCwgojB.d.ts +34 -0
  53. package/dist/types-Ck7IucqK.d.ts +195 -0
  54. package/docs/config-reference.md +271 -0
  55. package/docs/multi-agent-support-technical-spec.md +312 -0
  56. package/package.json +82 -0
@@ -0,0 +1,1468 @@
1
+ import { z } from 'zod';
2
+
3
+ declare const RepoTargetSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
4
+ name: z.ZodString;
5
+ branch: z.ZodOptional<z.ZodString>;
6
+ }, "strict", z.ZodTypeAny, {
7
+ name: string;
8
+ branch?: string | undefined;
9
+ }, {
10
+ name: string;
11
+ branch?: string | undefined;
12
+ }>]>;
13
+ declare const ProviderSchema: z.ZodDefault<z.ZodObject<{
14
+ id: z.ZodDefault<z.ZodString>;
15
+ options: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
16
+ }, "strict", z.ZodTypeAny, {
17
+ options: Record<string, unknown>;
18
+ id: string;
19
+ }, {
20
+ options?: Record<string, unknown> | undefined;
21
+ id?: string | undefined;
22
+ }>>;
23
+ declare const BudgetSchema: z.ZodDefault<z.ZodObject<{
24
+ totalTokens: z.ZodDefault<z.ZodNumber>;
25
+ reservePercent: z.ZodDefault<z.ZodNumber>;
26
+ estimationPadding: z.ZodDefault<z.ZodNumber>;
27
+ }, "strict", z.ZodTypeAny, {
28
+ totalTokens: number;
29
+ reservePercent: number;
30
+ estimationPadding: number;
31
+ }, {
32
+ totalTokens?: number | undefined;
33
+ reservePercent?: number | undefined;
34
+ estimationPadding?: number | undefined;
35
+ }>>;
36
+ declare const DiscoveryScannersSchema: z.ZodDefault<z.ZodObject<{
37
+ lint: z.ZodDefault<z.ZodBoolean>;
38
+ todo: z.ZodDefault<z.ZodBoolean>;
39
+ testGap: z.ZodDefault<z.ZodBoolean>;
40
+ deadCode: z.ZodDefault<z.ZodBoolean>;
41
+ githubIssues: z.ZodDefault<z.ZodBoolean>;
42
+ }, "strict", z.ZodTypeAny, {
43
+ lint: boolean;
44
+ todo: boolean;
45
+ testGap: boolean;
46
+ deadCode: boolean;
47
+ githubIssues: boolean;
48
+ }, {
49
+ lint?: boolean | undefined;
50
+ todo?: boolean | undefined;
51
+ testGap?: boolean | undefined;
52
+ deadCode?: boolean | undefined;
53
+ githubIssues?: boolean | undefined;
54
+ }>>;
55
+ declare const DiscoverySchema: z.ZodDefault<z.ZodObject<{
56
+ scanners: z.ZodDefault<z.ZodObject<{
57
+ lint: z.ZodDefault<z.ZodBoolean>;
58
+ todo: z.ZodDefault<z.ZodBoolean>;
59
+ testGap: z.ZodDefault<z.ZodBoolean>;
60
+ deadCode: z.ZodDefault<z.ZodBoolean>;
61
+ githubIssues: z.ZodDefault<z.ZodBoolean>;
62
+ }, "strict", z.ZodTypeAny, {
63
+ lint: boolean;
64
+ todo: boolean;
65
+ testGap: boolean;
66
+ deadCode: boolean;
67
+ githubIssues: boolean;
68
+ }, {
69
+ lint?: boolean | undefined;
70
+ todo?: boolean | undefined;
71
+ testGap?: boolean | undefined;
72
+ deadCode?: boolean | undefined;
73
+ githubIssues?: boolean | undefined;
74
+ }>>;
75
+ issueLabels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
76
+ minPriority: z.ZodDefault<z.ZodNumber>;
77
+ maxTasks: z.ZodDefault<z.ZodNumber>;
78
+ customScanners: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
79
+ exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
80
+ }, "strict", z.ZodTypeAny, {
81
+ scanners: {
82
+ lint: boolean;
83
+ todo: boolean;
84
+ testGap: boolean;
85
+ deadCode: boolean;
86
+ githubIssues: boolean;
87
+ };
88
+ issueLabels: string[];
89
+ minPriority: number;
90
+ maxTasks: number;
91
+ customScanners: string[];
92
+ exclude: string[];
93
+ }, {
94
+ scanners?: {
95
+ lint?: boolean | undefined;
96
+ todo?: boolean | undefined;
97
+ testGap?: boolean | undefined;
98
+ deadCode?: boolean | undefined;
99
+ githubIssues?: boolean | undefined;
100
+ } | undefined;
101
+ issueLabels?: string[] | undefined;
102
+ minPriority?: number | undefined;
103
+ maxTasks?: number | undefined;
104
+ customScanners?: string[] | undefined;
105
+ exclude?: string[] | undefined;
106
+ }>>;
107
+ declare const ValidationSchema: z.ZodDefault<z.ZodObject<{
108
+ lint: z.ZodDefault<z.ZodBoolean>;
109
+ test: z.ZodDefault<z.ZodBoolean>;
110
+ typeCheck: z.ZodDefault<z.ZodBoolean>;
111
+ maxDiffLines: z.ZodDefault<z.ZodNumber>;
112
+ }, "strict", z.ZodTypeAny, {
113
+ lint: boolean;
114
+ test: boolean;
115
+ typeCheck: boolean;
116
+ maxDiffLines: number;
117
+ }, {
118
+ lint?: boolean | undefined;
119
+ test?: boolean | undefined;
120
+ typeCheck?: boolean | undefined;
121
+ maxDiffLines?: number | undefined;
122
+ }>>;
123
+ declare const PrSchema: z.ZodDefault<z.ZodObject<{
124
+ draft: z.ZodDefault<z.ZodBoolean>;
125
+ labels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
126
+ reviewers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
127
+ assignees: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
128
+ }, "strict", z.ZodTypeAny, {
129
+ draft: boolean;
130
+ labels: string[];
131
+ reviewers: string[];
132
+ assignees: string[];
133
+ }, {
134
+ draft?: boolean | undefined;
135
+ labels?: string[] | undefined;
136
+ reviewers?: string[] | undefined;
137
+ assignees?: string[] | undefined;
138
+ }>>;
139
+ declare const ExecutionSchema: z.ZodDefault<z.ZodObject<{
140
+ concurrency: z.ZodDefault<z.ZodNumber>;
141
+ taskTimeout: z.ZodDefault<z.ZodNumber>;
142
+ maxRetries: z.ZodDefault<z.ZodNumber>;
143
+ mode: z.ZodDefault<z.ZodEnum<["new-pr", "update-pr", "direct-commit"]>>;
144
+ branchPattern: z.ZodDefault<z.ZodString>;
145
+ validation: z.ZodDefault<z.ZodObject<{
146
+ lint: z.ZodDefault<z.ZodBoolean>;
147
+ test: z.ZodDefault<z.ZodBoolean>;
148
+ typeCheck: z.ZodDefault<z.ZodBoolean>;
149
+ maxDiffLines: z.ZodDefault<z.ZodNumber>;
150
+ }, "strict", z.ZodTypeAny, {
151
+ lint: boolean;
152
+ test: boolean;
153
+ typeCheck: boolean;
154
+ maxDiffLines: number;
155
+ }, {
156
+ lint?: boolean | undefined;
157
+ test?: boolean | undefined;
158
+ typeCheck?: boolean | undefined;
159
+ maxDiffLines?: number | undefined;
160
+ }>>;
161
+ pr: z.ZodDefault<z.ZodObject<{
162
+ draft: z.ZodDefault<z.ZodBoolean>;
163
+ labels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
164
+ reviewers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
165
+ assignees: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
166
+ }, "strict", z.ZodTypeAny, {
167
+ draft: boolean;
168
+ labels: string[];
169
+ reviewers: string[];
170
+ assignees: string[];
171
+ }, {
172
+ draft?: boolean | undefined;
173
+ labels?: string[] | undefined;
174
+ reviewers?: string[] | undefined;
175
+ assignees?: string[] | undefined;
176
+ }>>;
177
+ }, "strict", z.ZodTypeAny, {
178
+ validation: {
179
+ lint: boolean;
180
+ test: boolean;
181
+ typeCheck: boolean;
182
+ maxDiffLines: number;
183
+ };
184
+ concurrency: number;
185
+ taskTimeout: number;
186
+ maxRetries: number;
187
+ mode: "new-pr" | "update-pr" | "direct-commit";
188
+ branchPattern: string;
189
+ pr: {
190
+ draft: boolean;
191
+ labels: string[];
192
+ reviewers: string[];
193
+ assignees: string[];
194
+ };
195
+ }, {
196
+ validation?: {
197
+ lint?: boolean | undefined;
198
+ test?: boolean | undefined;
199
+ typeCheck?: boolean | undefined;
200
+ maxDiffLines?: number | undefined;
201
+ } | undefined;
202
+ concurrency?: number | undefined;
203
+ taskTimeout?: number | undefined;
204
+ maxRetries?: number | undefined;
205
+ mode?: "new-pr" | "update-pr" | "direct-commit" | undefined;
206
+ branchPattern?: string | undefined;
207
+ pr?: {
208
+ draft?: boolean | undefined;
209
+ labels?: string[] | undefined;
210
+ reviewers?: string[] | undefined;
211
+ assignees?: string[] | undefined;
212
+ } | undefined;
213
+ }>>;
214
+ declare const LinearIntegrationSchema: z.ZodEffects<z.ZodDefault<z.ZodObject<{
215
+ enabled: z.ZodDefault<z.ZodBoolean>;
216
+ apiKey: z.ZodOptional<z.ZodString>;
217
+ teamId: z.ZodOptional<z.ZodString>;
218
+ }, "strict", z.ZodTypeAny, {
219
+ enabled: boolean;
220
+ apiKey?: string | undefined;
221
+ teamId?: string | undefined;
222
+ }, {
223
+ enabled?: boolean | undefined;
224
+ apiKey?: string | undefined;
225
+ teamId?: string | undefined;
226
+ }>>, {
227
+ enabled: boolean;
228
+ apiKey?: string | undefined;
229
+ teamId?: string | undefined;
230
+ }, {
231
+ enabled?: boolean | undefined;
232
+ apiKey?: string | undefined;
233
+ teamId?: string | undefined;
234
+ } | undefined>;
235
+ declare const JiraIntegrationSchema: z.ZodEffects<z.ZodDefault<z.ZodObject<{
236
+ enabled: z.ZodDefault<z.ZodBoolean>;
237
+ baseUrl: z.ZodOptional<z.ZodString>;
238
+ email: z.ZodOptional<z.ZodString>;
239
+ apiToken: z.ZodOptional<z.ZodString>;
240
+ projectKey: z.ZodOptional<z.ZodString>;
241
+ }, "strict", z.ZodTypeAny, {
242
+ enabled: boolean;
243
+ baseUrl?: string | undefined;
244
+ email?: string | undefined;
245
+ apiToken?: string | undefined;
246
+ projectKey?: string | undefined;
247
+ }, {
248
+ enabled?: boolean | undefined;
249
+ baseUrl?: string | undefined;
250
+ email?: string | undefined;
251
+ apiToken?: string | undefined;
252
+ projectKey?: string | undefined;
253
+ }>>, {
254
+ enabled: boolean;
255
+ baseUrl?: string | undefined;
256
+ email?: string | undefined;
257
+ apiToken?: string | undefined;
258
+ projectKey?: string | undefined;
259
+ }, {
260
+ enabled?: boolean | undefined;
261
+ baseUrl?: string | undefined;
262
+ email?: string | undefined;
263
+ apiToken?: string | undefined;
264
+ projectKey?: string | undefined;
265
+ } | undefined>;
266
+ declare const CompletionSchema: z.ZodDefault<z.ZodObject<{
267
+ integrations: z.ZodDefault<z.ZodObject<{
268
+ linear: z.ZodEffects<z.ZodDefault<z.ZodObject<{
269
+ enabled: z.ZodDefault<z.ZodBoolean>;
270
+ apiKey: z.ZodOptional<z.ZodString>;
271
+ teamId: z.ZodOptional<z.ZodString>;
272
+ }, "strict", z.ZodTypeAny, {
273
+ enabled: boolean;
274
+ apiKey?: string | undefined;
275
+ teamId?: string | undefined;
276
+ }, {
277
+ enabled?: boolean | undefined;
278
+ apiKey?: string | undefined;
279
+ teamId?: string | undefined;
280
+ }>>, {
281
+ enabled: boolean;
282
+ apiKey?: string | undefined;
283
+ teamId?: string | undefined;
284
+ }, {
285
+ enabled?: boolean | undefined;
286
+ apiKey?: string | undefined;
287
+ teamId?: string | undefined;
288
+ } | undefined>;
289
+ jira: z.ZodEffects<z.ZodDefault<z.ZodObject<{
290
+ enabled: z.ZodDefault<z.ZodBoolean>;
291
+ baseUrl: z.ZodOptional<z.ZodString>;
292
+ email: z.ZodOptional<z.ZodString>;
293
+ apiToken: z.ZodOptional<z.ZodString>;
294
+ projectKey: z.ZodOptional<z.ZodString>;
295
+ }, "strict", z.ZodTypeAny, {
296
+ enabled: boolean;
297
+ baseUrl?: string | undefined;
298
+ email?: string | undefined;
299
+ apiToken?: string | undefined;
300
+ projectKey?: string | undefined;
301
+ }, {
302
+ enabled?: boolean | undefined;
303
+ baseUrl?: string | undefined;
304
+ email?: string | undefined;
305
+ apiToken?: string | undefined;
306
+ projectKey?: string | undefined;
307
+ }>>, {
308
+ enabled: boolean;
309
+ baseUrl?: string | undefined;
310
+ email?: string | undefined;
311
+ apiToken?: string | undefined;
312
+ projectKey?: string | undefined;
313
+ }, {
314
+ enabled?: boolean | undefined;
315
+ baseUrl?: string | undefined;
316
+ email?: string | undefined;
317
+ apiToken?: string | undefined;
318
+ projectKey?: string | undefined;
319
+ } | undefined>;
320
+ }, "strict", z.ZodTypeAny, {
321
+ linear: {
322
+ enabled: boolean;
323
+ apiKey?: string | undefined;
324
+ teamId?: string | undefined;
325
+ };
326
+ jira: {
327
+ enabled: boolean;
328
+ baseUrl?: string | undefined;
329
+ email?: string | undefined;
330
+ apiToken?: string | undefined;
331
+ projectKey?: string | undefined;
332
+ };
333
+ }, {
334
+ linear?: {
335
+ enabled?: boolean | undefined;
336
+ apiKey?: string | undefined;
337
+ teamId?: string | undefined;
338
+ } | undefined;
339
+ jira?: {
340
+ enabled?: boolean | undefined;
341
+ baseUrl?: string | undefined;
342
+ email?: string | undefined;
343
+ apiToken?: string | undefined;
344
+ projectKey?: string | undefined;
345
+ } | undefined;
346
+ }>>;
347
+ monitor: z.ZodDefault<z.ZodObject<{
348
+ enabled: z.ZodDefault<z.ZodBoolean>;
349
+ pollInterval: z.ZodDefault<z.ZodNumber>;
350
+ autoRespondToReviews: z.ZodDefault<z.ZodBoolean>;
351
+ autoDeleteBranch: z.ZodDefault<z.ZodBoolean>;
352
+ }, "strict", z.ZodTypeAny, {
353
+ enabled: boolean;
354
+ pollInterval: number;
355
+ autoRespondToReviews: boolean;
356
+ autoDeleteBranch: boolean;
357
+ }, {
358
+ enabled?: boolean | undefined;
359
+ pollInterval?: number | undefined;
360
+ autoRespondToReviews?: boolean | undefined;
361
+ autoDeleteBranch?: boolean | undefined;
362
+ }>>;
363
+ }, "strict", z.ZodTypeAny, {
364
+ integrations: {
365
+ linear: {
366
+ enabled: boolean;
367
+ apiKey?: string | undefined;
368
+ teamId?: string | undefined;
369
+ };
370
+ jira: {
371
+ enabled: boolean;
372
+ baseUrl?: string | undefined;
373
+ email?: string | undefined;
374
+ apiToken?: string | undefined;
375
+ projectKey?: string | undefined;
376
+ };
377
+ };
378
+ monitor: {
379
+ enabled: boolean;
380
+ pollInterval: number;
381
+ autoRespondToReviews: boolean;
382
+ autoDeleteBranch: boolean;
383
+ };
384
+ }, {
385
+ integrations?: {
386
+ linear?: {
387
+ enabled?: boolean | undefined;
388
+ apiKey?: string | undefined;
389
+ teamId?: string | undefined;
390
+ } | undefined;
391
+ jira?: {
392
+ enabled?: boolean | undefined;
393
+ baseUrl?: string | undefined;
394
+ email?: string | undefined;
395
+ apiToken?: string | undefined;
396
+ projectKey?: string | undefined;
397
+ } | undefined;
398
+ } | undefined;
399
+ monitor?: {
400
+ enabled?: boolean | undefined;
401
+ pollInterval?: number | undefined;
402
+ autoRespondToReviews?: boolean | undefined;
403
+ autoDeleteBranch?: boolean | undefined;
404
+ } | undefined;
405
+ }>>;
406
+ declare const TrackingSchema: z.ZodDefault<z.ZodObject<{
407
+ directory: z.ZodDefault<z.ZodString>;
408
+ autoCommit: z.ZodDefault<z.ZodBoolean>;
409
+ gitTracked: z.ZodDefault<z.ZodBoolean>;
410
+ }, "strict", z.ZodTypeAny, {
411
+ directory: string;
412
+ autoCommit: boolean;
413
+ gitTracked: boolean;
414
+ }, {
415
+ directory?: string | undefined;
416
+ autoCommit?: boolean | undefined;
417
+ gitTracked?: boolean | undefined;
418
+ }>>;
419
+ declare const DashboardSchema: z.ZodDefault<z.ZodObject<{
420
+ port: z.ZodDefault<z.ZodNumber>;
421
+ openBrowser: z.ZodDefault<z.ZodBoolean>;
422
+ }, "strict", z.ZodTypeAny, {
423
+ port: number;
424
+ openBrowser: boolean;
425
+ }, {
426
+ port?: number | undefined;
427
+ openBrowser?: boolean | undefined;
428
+ }>>;
429
+ declare const AnalyzeSchema: z.ZodDefault<z.ZodObject<{
430
+ /** Auto-run analysis before `oac run` if context is stale or missing. */
431
+ autoAnalyze: z.ZodDefault<z.ZodBoolean>;
432
+ /** Max age in ms before context is considered stale (default: 24h). */
433
+ staleAfterMs: z.ZodDefault<z.ZodNumber>;
434
+ /** Directory for persisted context, relative to repo root. */
435
+ contextDir: z.ZodDefault<z.ZodString>;
436
+ }, "strict", z.ZodTypeAny, {
437
+ autoAnalyze: boolean;
438
+ staleAfterMs: number;
439
+ contextDir: string;
440
+ }, {
441
+ autoAnalyze?: boolean | undefined;
442
+ staleAfterMs?: number | undefined;
443
+ contextDir?: string | undefined;
444
+ }>>;
445
+ declare const OacConfigSchema: z.ZodObject<{
446
+ repos: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
447
+ name: z.ZodString;
448
+ branch: z.ZodOptional<z.ZodString>;
449
+ }, "strict", z.ZodTypeAny, {
450
+ name: string;
451
+ branch?: string | undefined;
452
+ }, {
453
+ name: string;
454
+ branch?: string | undefined;
455
+ }>]>, "many">>;
456
+ provider: z.ZodDefault<z.ZodObject<{
457
+ id: z.ZodDefault<z.ZodString>;
458
+ options: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
459
+ }, "strict", z.ZodTypeAny, {
460
+ options: Record<string, unknown>;
461
+ id: string;
462
+ }, {
463
+ options?: Record<string, unknown> | undefined;
464
+ id?: string | undefined;
465
+ }>>;
466
+ budget: z.ZodDefault<z.ZodObject<{
467
+ totalTokens: z.ZodDefault<z.ZodNumber>;
468
+ reservePercent: z.ZodDefault<z.ZodNumber>;
469
+ estimationPadding: z.ZodDefault<z.ZodNumber>;
470
+ }, "strict", z.ZodTypeAny, {
471
+ totalTokens: number;
472
+ reservePercent: number;
473
+ estimationPadding: number;
474
+ }, {
475
+ totalTokens?: number | undefined;
476
+ reservePercent?: number | undefined;
477
+ estimationPadding?: number | undefined;
478
+ }>>;
479
+ discovery: z.ZodDefault<z.ZodObject<{
480
+ scanners: z.ZodDefault<z.ZodObject<{
481
+ lint: z.ZodDefault<z.ZodBoolean>;
482
+ todo: z.ZodDefault<z.ZodBoolean>;
483
+ testGap: z.ZodDefault<z.ZodBoolean>;
484
+ deadCode: z.ZodDefault<z.ZodBoolean>;
485
+ githubIssues: z.ZodDefault<z.ZodBoolean>;
486
+ }, "strict", z.ZodTypeAny, {
487
+ lint: boolean;
488
+ todo: boolean;
489
+ testGap: boolean;
490
+ deadCode: boolean;
491
+ githubIssues: boolean;
492
+ }, {
493
+ lint?: boolean | undefined;
494
+ todo?: boolean | undefined;
495
+ testGap?: boolean | undefined;
496
+ deadCode?: boolean | undefined;
497
+ githubIssues?: boolean | undefined;
498
+ }>>;
499
+ issueLabels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
500
+ minPriority: z.ZodDefault<z.ZodNumber>;
501
+ maxTasks: z.ZodDefault<z.ZodNumber>;
502
+ customScanners: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
503
+ exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
504
+ }, "strict", z.ZodTypeAny, {
505
+ scanners: {
506
+ lint: boolean;
507
+ todo: boolean;
508
+ testGap: boolean;
509
+ deadCode: boolean;
510
+ githubIssues: boolean;
511
+ };
512
+ issueLabels: string[];
513
+ minPriority: number;
514
+ maxTasks: number;
515
+ customScanners: string[];
516
+ exclude: string[];
517
+ }, {
518
+ scanners?: {
519
+ lint?: boolean | undefined;
520
+ todo?: boolean | undefined;
521
+ testGap?: boolean | undefined;
522
+ deadCode?: boolean | undefined;
523
+ githubIssues?: boolean | undefined;
524
+ } | undefined;
525
+ issueLabels?: string[] | undefined;
526
+ minPriority?: number | undefined;
527
+ maxTasks?: number | undefined;
528
+ customScanners?: string[] | undefined;
529
+ exclude?: string[] | undefined;
530
+ }>>;
531
+ execution: z.ZodDefault<z.ZodObject<{
532
+ concurrency: z.ZodDefault<z.ZodNumber>;
533
+ taskTimeout: z.ZodDefault<z.ZodNumber>;
534
+ maxRetries: z.ZodDefault<z.ZodNumber>;
535
+ mode: z.ZodDefault<z.ZodEnum<["new-pr", "update-pr", "direct-commit"]>>;
536
+ branchPattern: z.ZodDefault<z.ZodString>;
537
+ validation: z.ZodDefault<z.ZodObject<{
538
+ lint: z.ZodDefault<z.ZodBoolean>;
539
+ test: z.ZodDefault<z.ZodBoolean>;
540
+ typeCheck: z.ZodDefault<z.ZodBoolean>;
541
+ maxDiffLines: z.ZodDefault<z.ZodNumber>;
542
+ }, "strict", z.ZodTypeAny, {
543
+ lint: boolean;
544
+ test: boolean;
545
+ typeCheck: boolean;
546
+ maxDiffLines: number;
547
+ }, {
548
+ lint?: boolean | undefined;
549
+ test?: boolean | undefined;
550
+ typeCheck?: boolean | undefined;
551
+ maxDiffLines?: number | undefined;
552
+ }>>;
553
+ pr: z.ZodDefault<z.ZodObject<{
554
+ draft: z.ZodDefault<z.ZodBoolean>;
555
+ labels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
556
+ reviewers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
557
+ assignees: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
558
+ }, "strict", z.ZodTypeAny, {
559
+ draft: boolean;
560
+ labels: string[];
561
+ reviewers: string[];
562
+ assignees: string[];
563
+ }, {
564
+ draft?: boolean | undefined;
565
+ labels?: string[] | undefined;
566
+ reviewers?: string[] | undefined;
567
+ assignees?: string[] | undefined;
568
+ }>>;
569
+ }, "strict", z.ZodTypeAny, {
570
+ validation: {
571
+ lint: boolean;
572
+ test: boolean;
573
+ typeCheck: boolean;
574
+ maxDiffLines: number;
575
+ };
576
+ concurrency: number;
577
+ taskTimeout: number;
578
+ maxRetries: number;
579
+ mode: "new-pr" | "update-pr" | "direct-commit";
580
+ branchPattern: string;
581
+ pr: {
582
+ draft: boolean;
583
+ labels: string[];
584
+ reviewers: string[];
585
+ assignees: string[];
586
+ };
587
+ }, {
588
+ validation?: {
589
+ lint?: boolean | undefined;
590
+ test?: boolean | undefined;
591
+ typeCheck?: boolean | undefined;
592
+ maxDiffLines?: number | undefined;
593
+ } | undefined;
594
+ concurrency?: number | undefined;
595
+ taskTimeout?: number | undefined;
596
+ maxRetries?: number | undefined;
597
+ mode?: "new-pr" | "update-pr" | "direct-commit" | undefined;
598
+ branchPattern?: string | undefined;
599
+ pr?: {
600
+ draft?: boolean | undefined;
601
+ labels?: string[] | undefined;
602
+ reviewers?: string[] | undefined;
603
+ assignees?: string[] | undefined;
604
+ } | undefined;
605
+ }>>;
606
+ completion: z.ZodDefault<z.ZodObject<{
607
+ integrations: z.ZodDefault<z.ZodObject<{
608
+ linear: z.ZodEffects<z.ZodDefault<z.ZodObject<{
609
+ enabled: z.ZodDefault<z.ZodBoolean>;
610
+ apiKey: z.ZodOptional<z.ZodString>;
611
+ teamId: z.ZodOptional<z.ZodString>;
612
+ }, "strict", z.ZodTypeAny, {
613
+ enabled: boolean;
614
+ apiKey?: string | undefined;
615
+ teamId?: string | undefined;
616
+ }, {
617
+ enabled?: boolean | undefined;
618
+ apiKey?: string | undefined;
619
+ teamId?: string | undefined;
620
+ }>>, {
621
+ enabled: boolean;
622
+ apiKey?: string | undefined;
623
+ teamId?: string | undefined;
624
+ }, {
625
+ enabled?: boolean | undefined;
626
+ apiKey?: string | undefined;
627
+ teamId?: string | undefined;
628
+ } | undefined>;
629
+ jira: z.ZodEffects<z.ZodDefault<z.ZodObject<{
630
+ enabled: z.ZodDefault<z.ZodBoolean>;
631
+ baseUrl: z.ZodOptional<z.ZodString>;
632
+ email: z.ZodOptional<z.ZodString>;
633
+ apiToken: z.ZodOptional<z.ZodString>;
634
+ projectKey: z.ZodOptional<z.ZodString>;
635
+ }, "strict", z.ZodTypeAny, {
636
+ enabled: boolean;
637
+ baseUrl?: string | undefined;
638
+ email?: string | undefined;
639
+ apiToken?: string | undefined;
640
+ projectKey?: string | undefined;
641
+ }, {
642
+ enabled?: boolean | undefined;
643
+ baseUrl?: string | undefined;
644
+ email?: string | undefined;
645
+ apiToken?: string | undefined;
646
+ projectKey?: string | undefined;
647
+ }>>, {
648
+ enabled: boolean;
649
+ baseUrl?: string | undefined;
650
+ email?: string | undefined;
651
+ apiToken?: string | undefined;
652
+ projectKey?: string | undefined;
653
+ }, {
654
+ enabled?: boolean | undefined;
655
+ baseUrl?: string | undefined;
656
+ email?: string | undefined;
657
+ apiToken?: string | undefined;
658
+ projectKey?: string | undefined;
659
+ } | undefined>;
660
+ }, "strict", z.ZodTypeAny, {
661
+ linear: {
662
+ enabled: boolean;
663
+ apiKey?: string | undefined;
664
+ teamId?: string | undefined;
665
+ };
666
+ jira: {
667
+ enabled: boolean;
668
+ baseUrl?: string | undefined;
669
+ email?: string | undefined;
670
+ apiToken?: string | undefined;
671
+ projectKey?: string | undefined;
672
+ };
673
+ }, {
674
+ linear?: {
675
+ enabled?: boolean | undefined;
676
+ apiKey?: string | undefined;
677
+ teamId?: string | undefined;
678
+ } | undefined;
679
+ jira?: {
680
+ enabled?: boolean | undefined;
681
+ baseUrl?: string | undefined;
682
+ email?: string | undefined;
683
+ apiToken?: string | undefined;
684
+ projectKey?: string | undefined;
685
+ } | undefined;
686
+ }>>;
687
+ monitor: z.ZodDefault<z.ZodObject<{
688
+ enabled: z.ZodDefault<z.ZodBoolean>;
689
+ pollInterval: z.ZodDefault<z.ZodNumber>;
690
+ autoRespondToReviews: z.ZodDefault<z.ZodBoolean>;
691
+ autoDeleteBranch: z.ZodDefault<z.ZodBoolean>;
692
+ }, "strict", z.ZodTypeAny, {
693
+ enabled: boolean;
694
+ pollInterval: number;
695
+ autoRespondToReviews: boolean;
696
+ autoDeleteBranch: boolean;
697
+ }, {
698
+ enabled?: boolean | undefined;
699
+ pollInterval?: number | undefined;
700
+ autoRespondToReviews?: boolean | undefined;
701
+ autoDeleteBranch?: boolean | undefined;
702
+ }>>;
703
+ }, "strict", z.ZodTypeAny, {
704
+ integrations: {
705
+ linear: {
706
+ enabled: boolean;
707
+ apiKey?: string | undefined;
708
+ teamId?: string | undefined;
709
+ };
710
+ jira: {
711
+ enabled: boolean;
712
+ baseUrl?: string | undefined;
713
+ email?: string | undefined;
714
+ apiToken?: string | undefined;
715
+ projectKey?: string | undefined;
716
+ };
717
+ };
718
+ monitor: {
719
+ enabled: boolean;
720
+ pollInterval: number;
721
+ autoRespondToReviews: boolean;
722
+ autoDeleteBranch: boolean;
723
+ };
724
+ }, {
725
+ integrations?: {
726
+ linear?: {
727
+ enabled?: boolean | undefined;
728
+ apiKey?: string | undefined;
729
+ teamId?: string | undefined;
730
+ } | undefined;
731
+ jira?: {
732
+ enabled?: boolean | undefined;
733
+ baseUrl?: string | undefined;
734
+ email?: string | undefined;
735
+ apiToken?: string | undefined;
736
+ projectKey?: string | undefined;
737
+ } | undefined;
738
+ } | undefined;
739
+ monitor?: {
740
+ enabled?: boolean | undefined;
741
+ pollInterval?: number | undefined;
742
+ autoRespondToReviews?: boolean | undefined;
743
+ autoDeleteBranch?: boolean | undefined;
744
+ } | undefined;
745
+ }>>;
746
+ tracking: z.ZodDefault<z.ZodObject<{
747
+ directory: z.ZodDefault<z.ZodString>;
748
+ autoCommit: z.ZodDefault<z.ZodBoolean>;
749
+ gitTracked: z.ZodDefault<z.ZodBoolean>;
750
+ }, "strict", z.ZodTypeAny, {
751
+ directory: string;
752
+ autoCommit: boolean;
753
+ gitTracked: boolean;
754
+ }, {
755
+ directory?: string | undefined;
756
+ autoCommit?: boolean | undefined;
757
+ gitTracked?: boolean | undefined;
758
+ }>>;
759
+ dashboard: z.ZodDefault<z.ZodObject<{
760
+ port: z.ZodDefault<z.ZodNumber>;
761
+ openBrowser: z.ZodDefault<z.ZodBoolean>;
762
+ }, "strict", z.ZodTypeAny, {
763
+ port: number;
764
+ openBrowser: boolean;
765
+ }, {
766
+ port?: number | undefined;
767
+ openBrowser?: boolean | undefined;
768
+ }>>;
769
+ analyze: z.ZodDefault<z.ZodObject<{
770
+ /** Auto-run analysis before `oac run` if context is stale or missing. */
771
+ autoAnalyze: z.ZodDefault<z.ZodBoolean>;
772
+ /** Max age in ms before context is considered stale (default: 24h). */
773
+ staleAfterMs: z.ZodDefault<z.ZodNumber>;
774
+ /** Directory for persisted context, relative to repo root. */
775
+ contextDir: z.ZodDefault<z.ZodString>;
776
+ }, "strict", z.ZodTypeAny, {
777
+ autoAnalyze: boolean;
778
+ staleAfterMs: number;
779
+ contextDir: string;
780
+ }, {
781
+ autoAnalyze?: boolean | undefined;
782
+ staleAfterMs?: number | undefined;
783
+ contextDir?: string | undefined;
784
+ }>>;
785
+ }, "strict", z.ZodTypeAny, {
786
+ repos: (string | {
787
+ name: string;
788
+ branch?: string | undefined;
789
+ })[];
790
+ provider: {
791
+ options: Record<string, unknown>;
792
+ id: string;
793
+ };
794
+ budget: {
795
+ totalTokens: number;
796
+ reservePercent: number;
797
+ estimationPadding: number;
798
+ };
799
+ discovery: {
800
+ scanners: {
801
+ lint: boolean;
802
+ todo: boolean;
803
+ testGap: boolean;
804
+ deadCode: boolean;
805
+ githubIssues: boolean;
806
+ };
807
+ issueLabels: string[];
808
+ minPriority: number;
809
+ maxTasks: number;
810
+ customScanners: string[];
811
+ exclude: string[];
812
+ };
813
+ execution: {
814
+ validation: {
815
+ lint: boolean;
816
+ test: boolean;
817
+ typeCheck: boolean;
818
+ maxDiffLines: number;
819
+ };
820
+ concurrency: number;
821
+ taskTimeout: number;
822
+ maxRetries: number;
823
+ mode: "new-pr" | "update-pr" | "direct-commit";
824
+ branchPattern: string;
825
+ pr: {
826
+ draft: boolean;
827
+ labels: string[];
828
+ reviewers: string[];
829
+ assignees: string[];
830
+ };
831
+ };
832
+ completion: {
833
+ integrations: {
834
+ linear: {
835
+ enabled: boolean;
836
+ apiKey?: string | undefined;
837
+ teamId?: string | undefined;
838
+ };
839
+ jira: {
840
+ enabled: boolean;
841
+ baseUrl?: string | undefined;
842
+ email?: string | undefined;
843
+ apiToken?: string | undefined;
844
+ projectKey?: string | undefined;
845
+ };
846
+ };
847
+ monitor: {
848
+ enabled: boolean;
849
+ pollInterval: number;
850
+ autoRespondToReviews: boolean;
851
+ autoDeleteBranch: boolean;
852
+ };
853
+ };
854
+ tracking: {
855
+ directory: string;
856
+ autoCommit: boolean;
857
+ gitTracked: boolean;
858
+ };
859
+ dashboard: {
860
+ port: number;
861
+ openBrowser: boolean;
862
+ };
863
+ analyze: {
864
+ autoAnalyze: boolean;
865
+ staleAfterMs: number;
866
+ contextDir: string;
867
+ };
868
+ }, {
869
+ repos?: (string | {
870
+ name: string;
871
+ branch?: string | undefined;
872
+ })[] | undefined;
873
+ provider?: {
874
+ options?: Record<string, unknown> | undefined;
875
+ id?: string | undefined;
876
+ } | undefined;
877
+ budget?: {
878
+ totalTokens?: number | undefined;
879
+ reservePercent?: number | undefined;
880
+ estimationPadding?: number | undefined;
881
+ } | undefined;
882
+ discovery?: {
883
+ scanners?: {
884
+ lint?: boolean | undefined;
885
+ todo?: boolean | undefined;
886
+ testGap?: boolean | undefined;
887
+ deadCode?: boolean | undefined;
888
+ githubIssues?: boolean | undefined;
889
+ } | undefined;
890
+ issueLabels?: string[] | undefined;
891
+ minPriority?: number | undefined;
892
+ maxTasks?: number | undefined;
893
+ customScanners?: string[] | undefined;
894
+ exclude?: string[] | undefined;
895
+ } | undefined;
896
+ execution?: {
897
+ validation?: {
898
+ lint?: boolean | undefined;
899
+ test?: boolean | undefined;
900
+ typeCheck?: boolean | undefined;
901
+ maxDiffLines?: number | undefined;
902
+ } | undefined;
903
+ concurrency?: number | undefined;
904
+ taskTimeout?: number | undefined;
905
+ maxRetries?: number | undefined;
906
+ mode?: "new-pr" | "update-pr" | "direct-commit" | undefined;
907
+ branchPattern?: string | undefined;
908
+ pr?: {
909
+ draft?: boolean | undefined;
910
+ labels?: string[] | undefined;
911
+ reviewers?: string[] | undefined;
912
+ assignees?: string[] | undefined;
913
+ } | undefined;
914
+ } | undefined;
915
+ completion?: {
916
+ integrations?: {
917
+ linear?: {
918
+ enabled?: boolean | undefined;
919
+ apiKey?: string | undefined;
920
+ teamId?: string | undefined;
921
+ } | undefined;
922
+ jira?: {
923
+ enabled?: boolean | undefined;
924
+ baseUrl?: string | undefined;
925
+ email?: string | undefined;
926
+ apiToken?: string | undefined;
927
+ projectKey?: string | undefined;
928
+ } | undefined;
929
+ } | undefined;
930
+ monitor?: {
931
+ enabled?: boolean | undefined;
932
+ pollInterval?: number | undefined;
933
+ autoRespondToReviews?: boolean | undefined;
934
+ autoDeleteBranch?: boolean | undefined;
935
+ } | undefined;
936
+ } | undefined;
937
+ tracking?: {
938
+ directory?: string | undefined;
939
+ autoCommit?: boolean | undefined;
940
+ gitTracked?: boolean | undefined;
941
+ } | undefined;
942
+ dashboard?: {
943
+ port?: number | undefined;
944
+ openBrowser?: boolean | undefined;
945
+ } | undefined;
946
+ analyze?: {
947
+ autoAnalyze?: boolean | undefined;
948
+ staleAfterMs?: number | undefined;
949
+ contextDir?: string | undefined;
950
+ } | undefined;
951
+ }>;
952
+ declare const OacConfig: z.ZodObject<{
953
+ repos: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
954
+ name: z.ZodString;
955
+ branch: z.ZodOptional<z.ZodString>;
956
+ }, "strict", z.ZodTypeAny, {
957
+ name: string;
958
+ branch?: string | undefined;
959
+ }, {
960
+ name: string;
961
+ branch?: string | undefined;
962
+ }>]>, "many">>;
963
+ provider: z.ZodDefault<z.ZodObject<{
964
+ id: z.ZodDefault<z.ZodString>;
965
+ options: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
966
+ }, "strict", z.ZodTypeAny, {
967
+ options: Record<string, unknown>;
968
+ id: string;
969
+ }, {
970
+ options?: Record<string, unknown> | undefined;
971
+ id?: string | undefined;
972
+ }>>;
973
+ budget: z.ZodDefault<z.ZodObject<{
974
+ totalTokens: z.ZodDefault<z.ZodNumber>;
975
+ reservePercent: z.ZodDefault<z.ZodNumber>;
976
+ estimationPadding: z.ZodDefault<z.ZodNumber>;
977
+ }, "strict", z.ZodTypeAny, {
978
+ totalTokens: number;
979
+ reservePercent: number;
980
+ estimationPadding: number;
981
+ }, {
982
+ totalTokens?: number | undefined;
983
+ reservePercent?: number | undefined;
984
+ estimationPadding?: number | undefined;
985
+ }>>;
986
+ discovery: z.ZodDefault<z.ZodObject<{
987
+ scanners: z.ZodDefault<z.ZodObject<{
988
+ lint: z.ZodDefault<z.ZodBoolean>;
989
+ todo: z.ZodDefault<z.ZodBoolean>;
990
+ testGap: z.ZodDefault<z.ZodBoolean>;
991
+ deadCode: z.ZodDefault<z.ZodBoolean>;
992
+ githubIssues: z.ZodDefault<z.ZodBoolean>;
993
+ }, "strict", z.ZodTypeAny, {
994
+ lint: boolean;
995
+ todo: boolean;
996
+ testGap: boolean;
997
+ deadCode: boolean;
998
+ githubIssues: boolean;
999
+ }, {
1000
+ lint?: boolean | undefined;
1001
+ todo?: boolean | undefined;
1002
+ testGap?: boolean | undefined;
1003
+ deadCode?: boolean | undefined;
1004
+ githubIssues?: boolean | undefined;
1005
+ }>>;
1006
+ issueLabels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1007
+ minPriority: z.ZodDefault<z.ZodNumber>;
1008
+ maxTasks: z.ZodDefault<z.ZodNumber>;
1009
+ customScanners: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1010
+ exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1011
+ }, "strict", z.ZodTypeAny, {
1012
+ scanners: {
1013
+ lint: boolean;
1014
+ todo: boolean;
1015
+ testGap: boolean;
1016
+ deadCode: boolean;
1017
+ githubIssues: boolean;
1018
+ };
1019
+ issueLabels: string[];
1020
+ minPriority: number;
1021
+ maxTasks: number;
1022
+ customScanners: string[];
1023
+ exclude: string[];
1024
+ }, {
1025
+ scanners?: {
1026
+ lint?: boolean | undefined;
1027
+ todo?: boolean | undefined;
1028
+ testGap?: boolean | undefined;
1029
+ deadCode?: boolean | undefined;
1030
+ githubIssues?: boolean | undefined;
1031
+ } | undefined;
1032
+ issueLabels?: string[] | undefined;
1033
+ minPriority?: number | undefined;
1034
+ maxTasks?: number | undefined;
1035
+ customScanners?: string[] | undefined;
1036
+ exclude?: string[] | undefined;
1037
+ }>>;
1038
+ execution: z.ZodDefault<z.ZodObject<{
1039
+ concurrency: z.ZodDefault<z.ZodNumber>;
1040
+ taskTimeout: z.ZodDefault<z.ZodNumber>;
1041
+ maxRetries: z.ZodDefault<z.ZodNumber>;
1042
+ mode: z.ZodDefault<z.ZodEnum<["new-pr", "update-pr", "direct-commit"]>>;
1043
+ branchPattern: z.ZodDefault<z.ZodString>;
1044
+ validation: z.ZodDefault<z.ZodObject<{
1045
+ lint: z.ZodDefault<z.ZodBoolean>;
1046
+ test: z.ZodDefault<z.ZodBoolean>;
1047
+ typeCheck: z.ZodDefault<z.ZodBoolean>;
1048
+ maxDiffLines: z.ZodDefault<z.ZodNumber>;
1049
+ }, "strict", z.ZodTypeAny, {
1050
+ lint: boolean;
1051
+ test: boolean;
1052
+ typeCheck: boolean;
1053
+ maxDiffLines: number;
1054
+ }, {
1055
+ lint?: boolean | undefined;
1056
+ test?: boolean | undefined;
1057
+ typeCheck?: boolean | undefined;
1058
+ maxDiffLines?: number | undefined;
1059
+ }>>;
1060
+ pr: z.ZodDefault<z.ZodObject<{
1061
+ draft: z.ZodDefault<z.ZodBoolean>;
1062
+ labels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1063
+ reviewers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1064
+ assignees: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1065
+ }, "strict", z.ZodTypeAny, {
1066
+ draft: boolean;
1067
+ labels: string[];
1068
+ reviewers: string[];
1069
+ assignees: string[];
1070
+ }, {
1071
+ draft?: boolean | undefined;
1072
+ labels?: string[] | undefined;
1073
+ reviewers?: string[] | undefined;
1074
+ assignees?: string[] | undefined;
1075
+ }>>;
1076
+ }, "strict", z.ZodTypeAny, {
1077
+ validation: {
1078
+ lint: boolean;
1079
+ test: boolean;
1080
+ typeCheck: boolean;
1081
+ maxDiffLines: number;
1082
+ };
1083
+ concurrency: number;
1084
+ taskTimeout: number;
1085
+ maxRetries: number;
1086
+ mode: "new-pr" | "update-pr" | "direct-commit";
1087
+ branchPattern: string;
1088
+ pr: {
1089
+ draft: boolean;
1090
+ labels: string[];
1091
+ reviewers: string[];
1092
+ assignees: string[];
1093
+ };
1094
+ }, {
1095
+ validation?: {
1096
+ lint?: boolean | undefined;
1097
+ test?: boolean | undefined;
1098
+ typeCheck?: boolean | undefined;
1099
+ maxDiffLines?: number | undefined;
1100
+ } | undefined;
1101
+ concurrency?: number | undefined;
1102
+ taskTimeout?: number | undefined;
1103
+ maxRetries?: number | undefined;
1104
+ mode?: "new-pr" | "update-pr" | "direct-commit" | undefined;
1105
+ branchPattern?: string | undefined;
1106
+ pr?: {
1107
+ draft?: boolean | undefined;
1108
+ labels?: string[] | undefined;
1109
+ reviewers?: string[] | undefined;
1110
+ assignees?: string[] | undefined;
1111
+ } | undefined;
1112
+ }>>;
1113
+ completion: z.ZodDefault<z.ZodObject<{
1114
+ integrations: z.ZodDefault<z.ZodObject<{
1115
+ linear: z.ZodEffects<z.ZodDefault<z.ZodObject<{
1116
+ enabled: z.ZodDefault<z.ZodBoolean>;
1117
+ apiKey: z.ZodOptional<z.ZodString>;
1118
+ teamId: z.ZodOptional<z.ZodString>;
1119
+ }, "strict", z.ZodTypeAny, {
1120
+ enabled: boolean;
1121
+ apiKey?: string | undefined;
1122
+ teamId?: string | undefined;
1123
+ }, {
1124
+ enabled?: boolean | undefined;
1125
+ apiKey?: string | undefined;
1126
+ teamId?: string | undefined;
1127
+ }>>, {
1128
+ enabled: boolean;
1129
+ apiKey?: string | undefined;
1130
+ teamId?: string | undefined;
1131
+ }, {
1132
+ enabled?: boolean | undefined;
1133
+ apiKey?: string | undefined;
1134
+ teamId?: string | undefined;
1135
+ } | undefined>;
1136
+ jira: z.ZodEffects<z.ZodDefault<z.ZodObject<{
1137
+ enabled: z.ZodDefault<z.ZodBoolean>;
1138
+ baseUrl: z.ZodOptional<z.ZodString>;
1139
+ email: z.ZodOptional<z.ZodString>;
1140
+ apiToken: z.ZodOptional<z.ZodString>;
1141
+ projectKey: z.ZodOptional<z.ZodString>;
1142
+ }, "strict", z.ZodTypeAny, {
1143
+ enabled: boolean;
1144
+ baseUrl?: string | undefined;
1145
+ email?: string | undefined;
1146
+ apiToken?: string | undefined;
1147
+ projectKey?: string | undefined;
1148
+ }, {
1149
+ enabled?: boolean | undefined;
1150
+ baseUrl?: string | undefined;
1151
+ email?: string | undefined;
1152
+ apiToken?: string | undefined;
1153
+ projectKey?: string | undefined;
1154
+ }>>, {
1155
+ enabled: boolean;
1156
+ baseUrl?: string | undefined;
1157
+ email?: string | undefined;
1158
+ apiToken?: string | undefined;
1159
+ projectKey?: string | undefined;
1160
+ }, {
1161
+ enabled?: boolean | undefined;
1162
+ baseUrl?: string | undefined;
1163
+ email?: string | undefined;
1164
+ apiToken?: string | undefined;
1165
+ projectKey?: string | undefined;
1166
+ } | undefined>;
1167
+ }, "strict", z.ZodTypeAny, {
1168
+ linear: {
1169
+ enabled: boolean;
1170
+ apiKey?: string | undefined;
1171
+ teamId?: string | undefined;
1172
+ };
1173
+ jira: {
1174
+ enabled: boolean;
1175
+ baseUrl?: string | undefined;
1176
+ email?: string | undefined;
1177
+ apiToken?: string | undefined;
1178
+ projectKey?: string | undefined;
1179
+ };
1180
+ }, {
1181
+ linear?: {
1182
+ enabled?: boolean | undefined;
1183
+ apiKey?: string | undefined;
1184
+ teamId?: string | undefined;
1185
+ } | undefined;
1186
+ jira?: {
1187
+ enabled?: boolean | undefined;
1188
+ baseUrl?: string | undefined;
1189
+ email?: string | undefined;
1190
+ apiToken?: string | undefined;
1191
+ projectKey?: string | undefined;
1192
+ } | undefined;
1193
+ }>>;
1194
+ monitor: z.ZodDefault<z.ZodObject<{
1195
+ enabled: z.ZodDefault<z.ZodBoolean>;
1196
+ pollInterval: z.ZodDefault<z.ZodNumber>;
1197
+ autoRespondToReviews: z.ZodDefault<z.ZodBoolean>;
1198
+ autoDeleteBranch: z.ZodDefault<z.ZodBoolean>;
1199
+ }, "strict", z.ZodTypeAny, {
1200
+ enabled: boolean;
1201
+ pollInterval: number;
1202
+ autoRespondToReviews: boolean;
1203
+ autoDeleteBranch: boolean;
1204
+ }, {
1205
+ enabled?: boolean | undefined;
1206
+ pollInterval?: number | undefined;
1207
+ autoRespondToReviews?: boolean | undefined;
1208
+ autoDeleteBranch?: boolean | undefined;
1209
+ }>>;
1210
+ }, "strict", z.ZodTypeAny, {
1211
+ integrations: {
1212
+ linear: {
1213
+ enabled: boolean;
1214
+ apiKey?: string | undefined;
1215
+ teamId?: string | undefined;
1216
+ };
1217
+ jira: {
1218
+ enabled: boolean;
1219
+ baseUrl?: string | undefined;
1220
+ email?: string | undefined;
1221
+ apiToken?: string | undefined;
1222
+ projectKey?: string | undefined;
1223
+ };
1224
+ };
1225
+ monitor: {
1226
+ enabled: boolean;
1227
+ pollInterval: number;
1228
+ autoRespondToReviews: boolean;
1229
+ autoDeleteBranch: boolean;
1230
+ };
1231
+ }, {
1232
+ integrations?: {
1233
+ linear?: {
1234
+ enabled?: boolean | undefined;
1235
+ apiKey?: string | undefined;
1236
+ teamId?: string | undefined;
1237
+ } | undefined;
1238
+ jira?: {
1239
+ enabled?: boolean | undefined;
1240
+ baseUrl?: string | undefined;
1241
+ email?: string | undefined;
1242
+ apiToken?: string | undefined;
1243
+ projectKey?: string | undefined;
1244
+ } | undefined;
1245
+ } | undefined;
1246
+ monitor?: {
1247
+ enabled?: boolean | undefined;
1248
+ pollInterval?: number | undefined;
1249
+ autoRespondToReviews?: boolean | undefined;
1250
+ autoDeleteBranch?: boolean | undefined;
1251
+ } | undefined;
1252
+ }>>;
1253
+ tracking: z.ZodDefault<z.ZodObject<{
1254
+ directory: z.ZodDefault<z.ZodString>;
1255
+ autoCommit: z.ZodDefault<z.ZodBoolean>;
1256
+ gitTracked: z.ZodDefault<z.ZodBoolean>;
1257
+ }, "strict", z.ZodTypeAny, {
1258
+ directory: string;
1259
+ autoCommit: boolean;
1260
+ gitTracked: boolean;
1261
+ }, {
1262
+ directory?: string | undefined;
1263
+ autoCommit?: boolean | undefined;
1264
+ gitTracked?: boolean | undefined;
1265
+ }>>;
1266
+ dashboard: z.ZodDefault<z.ZodObject<{
1267
+ port: z.ZodDefault<z.ZodNumber>;
1268
+ openBrowser: z.ZodDefault<z.ZodBoolean>;
1269
+ }, "strict", z.ZodTypeAny, {
1270
+ port: number;
1271
+ openBrowser: boolean;
1272
+ }, {
1273
+ port?: number | undefined;
1274
+ openBrowser?: boolean | undefined;
1275
+ }>>;
1276
+ analyze: z.ZodDefault<z.ZodObject<{
1277
+ /** Auto-run analysis before `oac run` if context is stale or missing. */
1278
+ autoAnalyze: z.ZodDefault<z.ZodBoolean>;
1279
+ /** Max age in ms before context is considered stale (default: 24h). */
1280
+ staleAfterMs: z.ZodDefault<z.ZodNumber>;
1281
+ /** Directory for persisted context, relative to repo root. */
1282
+ contextDir: z.ZodDefault<z.ZodString>;
1283
+ }, "strict", z.ZodTypeAny, {
1284
+ autoAnalyze: boolean;
1285
+ staleAfterMs: number;
1286
+ contextDir: string;
1287
+ }, {
1288
+ autoAnalyze?: boolean | undefined;
1289
+ staleAfterMs?: number | undefined;
1290
+ contextDir?: string | undefined;
1291
+ }>>;
1292
+ }, "strict", z.ZodTypeAny, {
1293
+ repos: (string | {
1294
+ name: string;
1295
+ branch?: string | undefined;
1296
+ })[];
1297
+ provider: {
1298
+ options: Record<string, unknown>;
1299
+ id: string;
1300
+ };
1301
+ budget: {
1302
+ totalTokens: number;
1303
+ reservePercent: number;
1304
+ estimationPadding: number;
1305
+ };
1306
+ discovery: {
1307
+ scanners: {
1308
+ lint: boolean;
1309
+ todo: boolean;
1310
+ testGap: boolean;
1311
+ deadCode: boolean;
1312
+ githubIssues: boolean;
1313
+ };
1314
+ issueLabels: string[];
1315
+ minPriority: number;
1316
+ maxTasks: number;
1317
+ customScanners: string[];
1318
+ exclude: string[];
1319
+ };
1320
+ execution: {
1321
+ validation: {
1322
+ lint: boolean;
1323
+ test: boolean;
1324
+ typeCheck: boolean;
1325
+ maxDiffLines: number;
1326
+ };
1327
+ concurrency: number;
1328
+ taskTimeout: number;
1329
+ maxRetries: number;
1330
+ mode: "new-pr" | "update-pr" | "direct-commit";
1331
+ branchPattern: string;
1332
+ pr: {
1333
+ draft: boolean;
1334
+ labels: string[];
1335
+ reviewers: string[];
1336
+ assignees: string[];
1337
+ };
1338
+ };
1339
+ completion: {
1340
+ integrations: {
1341
+ linear: {
1342
+ enabled: boolean;
1343
+ apiKey?: string | undefined;
1344
+ teamId?: string | undefined;
1345
+ };
1346
+ jira: {
1347
+ enabled: boolean;
1348
+ baseUrl?: string | undefined;
1349
+ email?: string | undefined;
1350
+ apiToken?: string | undefined;
1351
+ projectKey?: string | undefined;
1352
+ };
1353
+ };
1354
+ monitor: {
1355
+ enabled: boolean;
1356
+ pollInterval: number;
1357
+ autoRespondToReviews: boolean;
1358
+ autoDeleteBranch: boolean;
1359
+ };
1360
+ };
1361
+ tracking: {
1362
+ directory: string;
1363
+ autoCommit: boolean;
1364
+ gitTracked: boolean;
1365
+ };
1366
+ dashboard: {
1367
+ port: number;
1368
+ openBrowser: boolean;
1369
+ };
1370
+ analyze: {
1371
+ autoAnalyze: boolean;
1372
+ staleAfterMs: number;
1373
+ contextDir: string;
1374
+ };
1375
+ }, {
1376
+ repos?: (string | {
1377
+ name: string;
1378
+ branch?: string | undefined;
1379
+ })[] | undefined;
1380
+ provider?: {
1381
+ options?: Record<string, unknown> | undefined;
1382
+ id?: string | undefined;
1383
+ } | undefined;
1384
+ budget?: {
1385
+ totalTokens?: number | undefined;
1386
+ reservePercent?: number | undefined;
1387
+ estimationPadding?: number | undefined;
1388
+ } | undefined;
1389
+ discovery?: {
1390
+ scanners?: {
1391
+ lint?: boolean | undefined;
1392
+ todo?: boolean | undefined;
1393
+ testGap?: boolean | undefined;
1394
+ deadCode?: boolean | undefined;
1395
+ githubIssues?: boolean | undefined;
1396
+ } | undefined;
1397
+ issueLabels?: string[] | undefined;
1398
+ minPriority?: number | undefined;
1399
+ maxTasks?: number | undefined;
1400
+ customScanners?: string[] | undefined;
1401
+ exclude?: string[] | undefined;
1402
+ } | undefined;
1403
+ execution?: {
1404
+ validation?: {
1405
+ lint?: boolean | undefined;
1406
+ test?: boolean | undefined;
1407
+ typeCheck?: boolean | undefined;
1408
+ maxDiffLines?: number | undefined;
1409
+ } | undefined;
1410
+ concurrency?: number | undefined;
1411
+ taskTimeout?: number | undefined;
1412
+ maxRetries?: number | undefined;
1413
+ mode?: "new-pr" | "update-pr" | "direct-commit" | undefined;
1414
+ branchPattern?: string | undefined;
1415
+ pr?: {
1416
+ draft?: boolean | undefined;
1417
+ labels?: string[] | undefined;
1418
+ reviewers?: string[] | undefined;
1419
+ assignees?: string[] | undefined;
1420
+ } | undefined;
1421
+ } | undefined;
1422
+ completion?: {
1423
+ integrations?: {
1424
+ linear?: {
1425
+ enabled?: boolean | undefined;
1426
+ apiKey?: string | undefined;
1427
+ teamId?: string | undefined;
1428
+ } | undefined;
1429
+ jira?: {
1430
+ enabled?: boolean | undefined;
1431
+ baseUrl?: string | undefined;
1432
+ email?: string | undefined;
1433
+ apiToken?: string | undefined;
1434
+ projectKey?: string | undefined;
1435
+ } | undefined;
1436
+ } | undefined;
1437
+ monitor?: {
1438
+ enabled?: boolean | undefined;
1439
+ pollInterval?: number | undefined;
1440
+ autoRespondToReviews?: boolean | undefined;
1441
+ autoDeleteBranch?: boolean | undefined;
1442
+ } | undefined;
1443
+ } | undefined;
1444
+ tracking?: {
1445
+ directory?: string | undefined;
1446
+ autoCommit?: boolean | undefined;
1447
+ gitTracked?: boolean | undefined;
1448
+ } | undefined;
1449
+ dashboard?: {
1450
+ port?: number | undefined;
1451
+ openBrowser?: boolean | undefined;
1452
+ } | undefined;
1453
+ analyze?: {
1454
+ autoAnalyze?: boolean | undefined;
1455
+ staleAfterMs?: number | undefined;
1456
+ contextDir?: string | undefined;
1457
+ } | undefined;
1458
+ }>;
1459
+ type OacConfig = z.output<typeof OacConfigSchema>;
1460
+ type OacConfigInput = z.input<typeof OacConfigSchema>;
1461
+ interface LoadConfigOptions {
1462
+ env?: Record<string, string | undefined>;
1463
+ }
1464
+ declare function defineConfig(config: OacConfigInput): OacConfigInput;
1465
+ declare function interpolateEnvVars(value: string, env?: Record<string, string | undefined>, path?: string[]): string;
1466
+ declare function loadConfig(config?: unknown, options?: LoadConfigOptions): OacConfig;
1467
+
1468
+ export { AnalyzeSchema as A, BudgetSchema as B, CompletionSchema as C, DashboardSchema as D, ExecutionSchema as E, JiraIntegrationSchema as J, LinearIntegrationSchema as L, OacConfig as O, PrSchema as P, RepoTargetSchema as R, TrackingSchema as T, ValidationSchema as V, DiscoveryScannersSchema as a, DiscoverySchema as b, type LoadConfigOptions as c, type OacConfigInput as d, OacConfigSchema as e, ProviderSchema as f, defineConfig as g, interpolateEnvVars as i, loadConfig as l };