@aiagentflow/cli 0.3.0 → 0.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 (48) hide show
  1. package/dist/agents/base.d.ts +8 -1
  2. package/dist/agents/base.d.ts.map +1 -1
  3. package/dist/agents/base.js +46 -0
  4. package/dist/agents/base.js.map +1 -1
  5. package/dist/agents/types.d.ts +7 -0
  6. package/dist/agents/types.d.ts.map +1 -1
  7. package/dist/agents/types.js.map +1 -1
  8. package/dist/cli/commands/doctor.d.ts.map +1 -1
  9. package/dist/cli/commands/doctor.js +1 -3
  10. package/dist/cli/commands/doctor.js.map +1 -1
  11. package/dist/cli/commands/init.d.ts.map +1 -1
  12. package/dist/cli/commands/init.js +73 -42
  13. package/dist/cli/commands/init.js.map +1 -1
  14. package/dist/cli/commands/run.d.ts.map +1 -1
  15. package/dist/cli/commands/run.js +2 -0
  16. package/dist/cli/commands/run.js.map +1 -1
  17. package/dist/cli/utils/model-picker.d.ts +20 -0
  18. package/dist/cli/utils/model-picker.d.ts.map +1 -0
  19. package/dist/cli/utils/model-picker.js +97 -0
  20. package/dist/cli/utils/model-picker.js.map +1 -0
  21. package/dist/cli/utils/stream-renderer.d.ts +21 -0
  22. package/dist/cli/utils/stream-renderer.d.ts.map +1 -0
  23. package/dist/cli/utils/stream-renderer.js +57 -0
  24. package/dist/cli/utils/stream-renderer.js.map +1 -0
  25. package/dist/core/config/schema.d.ts +142 -75
  26. package/dist/core/config/schema.d.ts.map +1 -1
  27. package/dist/core/config/schema.js +11 -1
  28. package/dist/core/config/schema.js.map +1 -1
  29. package/dist/core/workflow/runner.d.ts +2 -0
  30. package/dist/core/workflow/runner.d.ts.map +1 -1
  31. package/dist/core/workflow/runner.js +46 -8
  32. package/dist/core/workflow/runner.js.map +1 -1
  33. package/dist/prompts/library.js +24 -24
  34. package/dist/prompts/library.js.map +1 -1
  35. package/dist/providers/gemini.d.ts +58 -0
  36. package/dist/providers/gemini.d.ts.map +1 -0
  37. package/dist/providers/gemini.js +254 -0
  38. package/dist/providers/gemini.js.map +1 -0
  39. package/dist/providers/metadata.d.ts +18 -0
  40. package/dist/providers/metadata.d.ts.map +1 -0
  41. package/dist/providers/metadata.js +32 -0
  42. package/dist/providers/metadata.js.map +1 -0
  43. package/dist/providers/registry.d.ts.map +1 -1
  44. package/dist/providers/registry.js +9 -1
  45. package/dist/providers/registry.js.map +1 -1
  46. package/dist/providers/types.d.ts +1 -1
  47. package/dist/providers/types.d.ts.map +1 -1
  48. package/package.json +1 -1
@@ -13,7 +13,7 @@ import { z } from 'zod';
13
13
  */
14
14
  export declare const agentRoleConfigSchema: z.ZodObject<{
15
15
  /** Which provider to use for this agent role. */
16
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
16
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
17
17
  /** The model identifier to use. */
18
18
  model: z.ZodString;
19
19
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -22,12 +22,12 @@ export declare const agentRoleConfigSchema: z.ZodObject<{
22
22
  maxTokens: z.ZodDefault<z.ZodNumber>;
23
23
  }, "strip", z.ZodTypeAny, {
24
24
  model: string;
25
- provider: "anthropic" | "ollama" | "openai";
25
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
26
26
  temperature: number;
27
27
  maxTokens: number;
28
28
  }, {
29
29
  model: string;
30
- provider: "anthropic" | "ollama" | "openai";
30
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
31
31
  temperature?: number | undefined;
32
32
  maxTokens?: number | undefined;
33
33
  }>;
@@ -37,7 +37,7 @@ export declare const agentRoleConfigSchema: z.ZodObject<{
37
37
  export declare const agentConfigSchema: z.ZodObject<{
38
38
  architect: z.ZodObject<{
39
39
  /** Which provider to use for this agent role. */
40
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
40
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
41
41
  /** The model identifier to use. */
42
42
  model: z.ZodString;
43
43
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -46,18 +46,18 @@ export declare const agentConfigSchema: z.ZodObject<{
46
46
  maxTokens: z.ZodDefault<z.ZodNumber>;
47
47
  }, "strip", z.ZodTypeAny, {
48
48
  model: string;
49
- provider: "anthropic" | "ollama" | "openai";
49
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
50
50
  temperature: number;
51
51
  maxTokens: number;
52
52
  }, {
53
53
  model: string;
54
- provider: "anthropic" | "ollama" | "openai";
54
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
55
55
  temperature?: number | undefined;
56
56
  maxTokens?: number | undefined;
57
57
  }>;
58
58
  coder: z.ZodObject<{
59
59
  /** Which provider to use for this agent role. */
60
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
60
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
61
61
  /** The model identifier to use. */
62
62
  model: z.ZodString;
63
63
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -66,18 +66,18 @@ export declare const agentConfigSchema: z.ZodObject<{
66
66
  maxTokens: z.ZodDefault<z.ZodNumber>;
67
67
  }, "strip", z.ZodTypeAny, {
68
68
  model: string;
69
- provider: "anthropic" | "ollama" | "openai";
69
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
70
70
  temperature: number;
71
71
  maxTokens: number;
72
72
  }, {
73
73
  model: string;
74
- provider: "anthropic" | "ollama" | "openai";
74
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
75
75
  temperature?: number | undefined;
76
76
  maxTokens?: number | undefined;
77
77
  }>;
78
78
  reviewer: z.ZodObject<{
79
79
  /** Which provider to use for this agent role. */
80
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
80
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
81
81
  /** The model identifier to use. */
82
82
  model: z.ZodString;
83
83
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -86,18 +86,18 @@ export declare const agentConfigSchema: z.ZodObject<{
86
86
  maxTokens: z.ZodDefault<z.ZodNumber>;
87
87
  }, "strip", z.ZodTypeAny, {
88
88
  model: string;
89
- provider: "anthropic" | "ollama" | "openai";
89
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
90
90
  temperature: number;
91
91
  maxTokens: number;
92
92
  }, {
93
93
  model: string;
94
- provider: "anthropic" | "ollama" | "openai";
94
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
95
95
  temperature?: number | undefined;
96
96
  maxTokens?: number | undefined;
97
97
  }>;
98
98
  tester: z.ZodObject<{
99
99
  /** Which provider to use for this agent role. */
100
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
100
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
101
101
  /** The model identifier to use. */
102
102
  model: z.ZodString;
103
103
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -106,18 +106,18 @@ export declare const agentConfigSchema: z.ZodObject<{
106
106
  maxTokens: z.ZodDefault<z.ZodNumber>;
107
107
  }, "strip", z.ZodTypeAny, {
108
108
  model: string;
109
- provider: "anthropic" | "ollama" | "openai";
109
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
110
110
  temperature: number;
111
111
  maxTokens: number;
112
112
  }, {
113
113
  model: string;
114
- provider: "anthropic" | "ollama" | "openai";
114
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
115
115
  temperature?: number | undefined;
116
116
  maxTokens?: number | undefined;
117
117
  }>;
118
118
  fixer: z.ZodObject<{
119
119
  /** Which provider to use for this agent role. */
120
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
120
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
121
121
  /** The model identifier to use. */
122
122
  model: z.ZodString;
123
123
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -126,18 +126,18 @@ export declare const agentConfigSchema: z.ZodObject<{
126
126
  maxTokens: z.ZodDefault<z.ZodNumber>;
127
127
  }, "strip", z.ZodTypeAny, {
128
128
  model: string;
129
- provider: "anthropic" | "ollama" | "openai";
129
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
130
130
  temperature: number;
131
131
  maxTokens: number;
132
132
  }, {
133
133
  model: string;
134
- provider: "anthropic" | "ollama" | "openai";
134
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
135
135
  temperature?: number | undefined;
136
136
  maxTokens?: number | undefined;
137
137
  }>;
138
138
  judge: z.ZodObject<{
139
139
  /** Which provider to use for this agent role. */
140
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
140
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
141
141
  /** The model identifier to use. */
142
142
  model: z.ZodString;
143
143
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -146,86 +146,86 @@ export declare const agentConfigSchema: z.ZodObject<{
146
146
  maxTokens: z.ZodDefault<z.ZodNumber>;
147
147
  }, "strip", z.ZodTypeAny, {
148
148
  model: string;
149
- provider: "anthropic" | "ollama" | "openai";
149
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
150
150
  temperature: number;
151
151
  maxTokens: number;
152
152
  }, {
153
153
  model: string;
154
- provider: "anthropic" | "ollama" | "openai";
154
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
155
155
  temperature?: number | undefined;
156
156
  maxTokens?: number | undefined;
157
157
  }>;
158
158
  }, "strip", z.ZodTypeAny, {
159
159
  architect: {
160
160
  model: string;
161
- provider: "anthropic" | "ollama" | "openai";
161
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
162
162
  temperature: number;
163
163
  maxTokens: number;
164
164
  };
165
165
  coder: {
166
166
  model: string;
167
- provider: "anthropic" | "ollama" | "openai";
167
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
168
168
  temperature: number;
169
169
  maxTokens: number;
170
170
  };
171
171
  reviewer: {
172
172
  model: string;
173
- provider: "anthropic" | "ollama" | "openai";
173
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
174
174
  temperature: number;
175
175
  maxTokens: number;
176
176
  };
177
177
  tester: {
178
178
  model: string;
179
- provider: "anthropic" | "ollama" | "openai";
179
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
180
180
  temperature: number;
181
181
  maxTokens: number;
182
182
  };
183
183
  fixer: {
184
184
  model: string;
185
- provider: "anthropic" | "ollama" | "openai";
185
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
186
186
  temperature: number;
187
187
  maxTokens: number;
188
188
  };
189
189
  judge: {
190
190
  model: string;
191
- provider: "anthropic" | "ollama" | "openai";
191
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
192
192
  temperature: number;
193
193
  maxTokens: number;
194
194
  };
195
195
  }, {
196
196
  architect: {
197
197
  model: string;
198
- provider: "anthropic" | "ollama" | "openai";
198
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
199
199
  temperature?: number | undefined;
200
200
  maxTokens?: number | undefined;
201
201
  };
202
202
  coder: {
203
203
  model: string;
204
- provider: "anthropic" | "ollama" | "openai";
204
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
205
205
  temperature?: number | undefined;
206
206
  maxTokens?: number | undefined;
207
207
  };
208
208
  reviewer: {
209
209
  model: string;
210
- provider: "anthropic" | "ollama" | "openai";
210
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
211
211
  temperature?: number | undefined;
212
212
  maxTokens?: number | undefined;
213
213
  };
214
214
  tester: {
215
215
  model: string;
216
- provider: "anthropic" | "ollama" | "openai";
216
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
217
217
  temperature?: number | undefined;
218
218
  maxTokens?: number | undefined;
219
219
  };
220
220
  fixer: {
221
221
  model: string;
222
- provider: "anthropic" | "ollama" | "openai";
222
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
223
223
  temperature?: number | undefined;
224
224
  maxTokens?: number | undefined;
225
225
  };
226
226
  judge: {
227
227
  model: string;
228
- provider: "anthropic" | "ollama" | "openai";
228
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
229
229
  temperature?: number | undefined;
230
230
  maxTokens?: number | undefined;
231
231
  };
@@ -256,6 +256,19 @@ export declare const ollamaProviderSchema: z.ZodObject<{
256
256
  }, {
257
257
  baseUrl?: string | undefined;
258
258
  }>;
259
+ /**
260
+ * Schema for Google Gemini provider settings.
261
+ */
262
+ export declare const geminiProviderSchema: z.ZodObject<{
263
+ apiKey: z.ZodString;
264
+ baseUrl: z.ZodDefault<z.ZodString>;
265
+ }, "strip", z.ZodTypeAny, {
266
+ apiKey: string;
267
+ baseUrl: string;
268
+ }, {
269
+ apiKey: string;
270
+ baseUrl?: string | undefined;
271
+ }>;
259
272
  /**
260
273
  * Schema for OpenAI provider settings.
261
274
  */
@@ -289,6 +302,16 @@ export declare const providerConfigSchema: z.ZodObject<{
289
302
  baseUrl?: string | undefined;
290
303
  apiVersion?: string | undefined;
291
304
  }>>;
305
+ gemini: z.ZodOptional<z.ZodObject<{
306
+ apiKey: z.ZodString;
307
+ baseUrl: z.ZodDefault<z.ZodString>;
308
+ }, "strip", z.ZodTypeAny, {
309
+ apiKey: string;
310
+ baseUrl: string;
311
+ }, {
312
+ apiKey: string;
313
+ baseUrl?: string | undefined;
314
+ }>>;
292
315
  ollama: z.ZodOptional<z.ZodObject<{
293
316
  baseUrl: z.ZodDefault<z.ZodString>;
294
317
  }, "strip", z.ZodTypeAny, {
@@ -315,6 +338,10 @@ export declare const providerConfigSchema: z.ZodObject<{
315
338
  baseUrl: string;
316
339
  apiVersion: string;
317
340
  } | undefined;
341
+ gemini?: {
342
+ apiKey: string;
343
+ baseUrl: string;
344
+ } | undefined;
318
345
  ollama?: {
319
346
  baseUrl: string;
320
347
  } | undefined;
@@ -329,6 +356,10 @@ export declare const providerConfigSchema: z.ZodObject<{
329
356
  baseUrl?: string | undefined;
330
357
  apiVersion?: string | undefined;
331
358
  } | undefined;
359
+ gemini?: {
360
+ apiKey: string;
361
+ baseUrl?: string | undefined;
362
+ } | undefined;
332
363
  ollama?: {
333
364
  baseUrl?: string | undefined;
334
365
  } | undefined;
@@ -379,18 +410,22 @@ export declare const workflowConfigSchema: z.ZodObject<{
379
410
  branchPrefix: z.ZodDefault<z.ZodString>;
380
411
  /** Whether to auto-run tests after code generation. */
381
412
  autoRunTests: z.ZodDefault<z.ZodBoolean>;
413
+ /** Custom test command override (e.g., 'go test ./...'). Derived from testFramework if not set. */
414
+ testCommand: z.ZodOptional<z.ZodString>;
382
415
  }, "strip", z.ZodTypeAny, {
383
416
  maxIterations: number;
384
417
  humanApproval: boolean;
385
418
  autoCreateBranch: boolean;
386
419
  branchPrefix: string;
387
420
  autoRunTests: boolean;
421
+ testCommand?: string | undefined;
388
422
  }, {
389
423
  maxIterations?: number | undefined;
390
424
  humanApproval?: boolean | undefined;
391
425
  autoCreateBranch?: boolean | undefined;
392
426
  branchPrefix?: string | undefined;
393
427
  autoRunTests?: boolean | undefined;
428
+ testCommand?: string | undefined;
394
429
  }>;
395
430
  /**
396
431
  * The complete application configuration schema.
@@ -414,6 +449,16 @@ export declare const appConfigSchema: z.ZodObject<{
414
449
  baseUrl?: string | undefined;
415
450
  apiVersion?: string | undefined;
416
451
  }>>;
452
+ gemini: z.ZodOptional<z.ZodObject<{
453
+ apiKey: z.ZodString;
454
+ baseUrl: z.ZodDefault<z.ZodString>;
455
+ }, "strip", z.ZodTypeAny, {
456
+ apiKey: string;
457
+ baseUrl: string;
458
+ }, {
459
+ apiKey: string;
460
+ baseUrl?: string | undefined;
461
+ }>>;
417
462
  ollama: z.ZodOptional<z.ZodObject<{
418
463
  baseUrl: z.ZodDefault<z.ZodString>;
419
464
  }, "strip", z.ZodTypeAny, {
@@ -440,6 +485,10 @@ export declare const appConfigSchema: z.ZodObject<{
440
485
  baseUrl: string;
441
486
  apiVersion: string;
442
487
  } | undefined;
488
+ gemini?: {
489
+ apiKey: string;
490
+ baseUrl: string;
491
+ } | undefined;
443
492
  ollama?: {
444
493
  baseUrl: string;
445
494
  } | undefined;
@@ -454,6 +503,10 @@ export declare const appConfigSchema: z.ZodObject<{
454
503
  baseUrl?: string | undefined;
455
504
  apiVersion?: string | undefined;
456
505
  } | undefined;
506
+ gemini?: {
507
+ apiKey: string;
508
+ baseUrl?: string | undefined;
509
+ } | undefined;
457
510
  ollama?: {
458
511
  baseUrl?: string | undefined;
459
512
  } | undefined;
@@ -467,7 +520,7 @@ export declare const appConfigSchema: z.ZodObject<{
467
520
  agents: z.ZodObject<{
468
521
  architect: z.ZodObject<{
469
522
  /** Which provider to use for this agent role. */
470
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
523
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
471
524
  /** The model identifier to use. */
472
525
  model: z.ZodString;
473
526
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -476,18 +529,18 @@ export declare const appConfigSchema: z.ZodObject<{
476
529
  maxTokens: z.ZodDefault<z.ZodNumber>;
477
530
  }, "strip", z.ZodTypeAny, {
478
531
  model: string;
479
- provider: "anthropic" | "ollama" | "openai";
532
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
480
533
  temperature: number;
481
534
  maxTokens: number;
482
535
  }, {
483
536
  model: string;
484
- provider: "anthropic" | "ollama" | "openai";
537
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
485
538
  temperature?: number | undefined;
486
539
  maxTokens?: number | undefined;
487
540
  }>;
488
541
  coder: z.ZodObject<{
489
542
  /** Which provider to use for this agent role. */
490
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
543
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
491
544
  /** The model identifier to use. */
492
545
  model: z.ZodString;
493
546
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -496,18 +549,18 @@ export declare const appConfigSchema: z.ZodObject<{
496
549
  maxTokens: z.ZodDefault<z.ZodNumber>;
497
550
  }, "strip", z.ZodTypeAny, {
498
551
  model: string;
499
- provider: "anthropic" | "ollama" | "openai";
552
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
500
553
  temperature: number;
501
554
  maxTokens: number;
502
555
  }, {
503
556
  model: string;
504
- provider: "anthropic" | "ollama" | "openai";
557
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
505
558
  temperature?: number | undefined;
506
559
  maxTokens?: number | undefined;
507
560
  }>;
508
561
  reviewer: z.ZodObject<{
509
562
  /** Which provider to use for this agent role. */
510
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
563
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
511
564
  /** The model identifier to use. */
512
565
  model: z.ZodString;
513
566
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -516,18 +569,18 @@ export declare const appConfigSchema: z.ZodObject<{
516
569
  maxTokens: z.ZodDefault<z.ZodNumber>;
517
570
  }, "strip", z.ZodTypeAny, {
518
571
  model: string;
519
- provider: "anthropic" | "ollama" | "openai";
572
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
520
573
  temperature: number;
521
574
  maxTokens: number;
522
575
  }, {
523
576
  model: string;
524
- provider: "anthropic" | "ollama" | "openai";
577
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
525
578
  temperature?: number | undefined;
526
579
  maxTokens?: number | undefined;
527
580
  }>;
528
581
  tester: z.ZodObject<{
529
582
  /** Which provider to use for this agent role. */
530
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
583
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
531
584
  /** The model identifier to use. */
532
585
  model: z.ZodString;
533
586
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -536,18 +589,18 @@ export declare const appConfigSchema: z.ZodObject<{
536
589
  maxTokens: z.ZodDefault<z.ZodNumber>;
537
590
  }, "strip", z.ZodTypeAny, {
538
591
  model: string;
539
- provider: "anthropic" | "ollama" | "openai";
592
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
540
593
  temperature: number;
541
594
  maxTokens: number;
542
595
  }, {
543
596
  model: string;
544
- provider: "anthropic" | "ollama" | "openai";
597
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
545
598
  temperature?: number | undefined;
546
599
  maxTokens?: number | undefined;
547
600
  }>;
548
601
  fixer: z.ZodObject<{
549
602
  /** Which provider to use for this agent role. */
550
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
603
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
551
604
  /** The model identifier to use. */
552
605
  model: z.ZodString;
553
606
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -556,18 +609,18 @@ export declare const appConfigSchema: z.ZodObject<{
556
609
  maxTokens: z.ZodDefault<z.ZodNumber>;
557
610
  }, "strip", z.ZodTypeAny, {
558
611
  model: string;
559
- provider: "anthropic" | "ollama" | "openai";
612
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
560
613
  temperature: number;
561
614
  maxTokens: number;
562
615
  }, {
563
616
  model: string;
564
- provider: "anthropic" | "ollama" | "openai";
617
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
565
618
  temperature?: number | undefined;
566
619
  maxTokens?: number | undefined;
567
620
  }>;
568
621
  judge: z.ZodObject<{
569
622
  /** Which provider to use for this agent role. */
570
- provider: z.ZodEnum<["anthropic", "ollama", "openai"]>;
623
+ provider: z.ZodEnum<["anthropic", "gemini", "ollama", "openai"]>;
571
624
  /** The model identifier to use. */
572
625
  model: z.ZodString;
573
626
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -576,86 +629,86 @@ export declare const appConfigSchema: z.ZodObject<{
576
629
  maxTokens: z.ZodDefault<z.ZodNumber>;
577
630
  }, "strip", z.ZodTypeAny, {
578
631
  model: string;
579
- provider: "anthropic" | "ollama" | "openai";
632
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
580
633
  temperature: number;
581
634
  maxTokens: number;
582
635
  }, {
583
636
  model: string;
584
- provider: "anthropic" | "ollama" | "openai";
637
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
585
638
  temperature?: number | undefined;
586
639
  maxTokens?: number | undefined;
587
640
  }>;
588
641
  }, "strip", z.ZodTypeAny, {
589
642
  architect: {
590
643
  model: string;
591
- provider: "anthropic" | "ollama" | "openai";
644
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
592
645
  temperature: number;
593
646
  maxTokens: number;
594
647
  };
595
648
  coder: {
596
649
  model: string;
597
- provider: "anthropic" | "ollama" | "openai";
650
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
598
651
  temperature: number;
599
652
  maxTokens: number;
600
653
  };
601
654
  reviewer: {
602
655
  model: string;
603
- provider: "anthropic" | "ollama" | "openai";
656
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
604
657
  temperature: number;
605
658
  maxTokens: number;
606
659
  };
607
660
  tester: {
608
661
  model: string;
609
- provider: "anthropic" | "ollama" | "openai";
662
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
610
663
  temperature: number;
611
664
  maxTokens: number;
612
665
  };
613
666
  fixer: {
614
667
  model: string;
615
- provider: "anthropic" | "ollama" | "openai";
668
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
616
669
  temperature: number;
617
670
  maxTokens: number;
618
671
  };
619
672
  judge: {
620
673
  model: string;
621
- provider: "anthropic" | "ollama" | "openai";
674
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
622
675
  temperature: number;
623
676
  maxTokens: number;
624
677
  };
625
678
  }, {
626
679
  architect: {
627
680
  model: string;
628
- provider: "anthropic" | "ollama" | "openai";
681
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
629
682
  temperature?: number | undefined;
630
683
  maxTokens?: number | undefined;
631
684
  };
632
685
  coder: {
633
686
  model: string;
634
- provider: "anthropic" | "ollama" | "openai";
687
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
635
688
  temperature?: number | undefined;
636
689
  maxTokens?: number | undefined;
637
690
  };
638
691
  reviewer: {
639
692
  model: string;
640
- provider: "anthropic" | "ollama" | "openai";
693
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
641
694
  temperature?: number | undefined;
642
695
  maxTokens?: number | undefined;
643
696
  };
644
697
  tester: {
645
698
  model: string;
646
- provider: "anthropic" | "ollama" | "openai";
699
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
647
700
  temperature?: number | undefined;
648
701
  maxTokens?: number | undefined;
649
702
  };
650
703
  fixer: {
651
704
  model: string;
652
- provider: "anthropic" | "ollama" | "openai";
705
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
653
706
  temperature?: number | undefined;
654
707
  maxTokens?: number | undefined;
655
708
  };
656
709
  judge: {
657
710
  model: string;
658
- provider: "anthropic" | "ollama" | "openai";
711
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
659
712
  temperature?: number | undefined;
660
713
  maxTokens?: number | undefined;
661
714
  };
@@ -697,18 +750,22 @@ export declare const appConfigSchema: z.ZodObject<{
697
750
  branchPrefix: z.ZodDefault<z.ZodString>;
698
751
  /** Whether to auto-run tests after code generation. */
699
752
  autoRunTests: z.ZodDefault<z.ZodBoolean>;
753
+ /** Custom test command override (e.g., 'go test ./...'). Derived from testFramework if not set. */
754
+ testCommand: z.ZodOptional<z.ZodString>;
700
755
  }, "strip", z.ZodTypeAny, {
701
756
  maxIterations: number;
702
757
  humanApproval: boolean;
703
758
  autoCreateBranch: boolean;
704
759
  branchPrefix: string;
705
760
  autoRunTests: boolean;
761
+ testCommand?: string | undefined;
706
762
  }, {
707
763
  maxIterations?: number | undefined;
708
764
  humanApproval?: boolean | undefined;
709
765
  autoCreateBranch?: boolean | undefined;
710
766
  branchPrefix?: string | undefined;
711
767
  autoRunTests?: boolean | undefined;
768
+ testCommand?: string | undefined;
712
769
  }>;
713
770
  }, "strip", z.ZodTypeAny, {
714
771
  version: 1;
@@ -718,6 +775,10 @@ export declare const appConfigSchema: z.ZodObject<{
718
775
  baseUrl: string;
719
776
  apiVersion: string;
720
777
  } | undefined;
778
+ gemini?: {
779
+ apiKey: string;
780
+ baseUrl: string;
781
+ } | undefined;
721
782
  ollama?: {
722
783
  baseUrl: string;
723
784
  } | undefined;
@@ -730,37 +791,37 @@ export declare const appConfigSchema: z.ZodObject<{
730
791
  agents: {
731
792
  architect: {
732
793
  model: string;
733
- provider: "anthropic" | "ollama" | "openai";
794
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
734
795
  temperature: number;
735
796
  maxTokens: number;
736
797
  };
737
798
  coder: {
738
799
  model: string;
739
- provider: "anthropic" | "ollama" | "openai";
800
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
740
801
  temperature: number;
741
802
  maxTokens: number;
742
803
  };
743
804
  reviewer: {
744
805
  model: string;
745
- provider: "anthropic" | "ollama" | "openai";
806
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
746
807
  temperature: number;
747
808
  maxTokens: number;
748
809
  };
749
810
  tester: {
750
811
  model: string;
751
- provider: "anthropic" | "ollama" | "openai";
812
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
752
813
  temperature: number;
753
814
  maxTokens: number;
754
815
  };
755
816
  fixer: {
756
817
  model: string;
757
- provider: "anthropic" | "ollama" | "openai";
818
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
758
819
  temperature: number;
759
820
  maxTokens: number;
760
821
  };
761
822
  judge: {
762
823
  model: string;
763
- provider: "anthropic" | "ollama" | "openai";
824
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
764
825
  temperature: number;
765
826
  maxTokens: number;
766
827
  };
@@ -778,6 +839,7 @@ export declare const appConfigSchema: z.ZodObject<{
778
839
  autoCreateBranch: boolean;
779
840
  branchPrefix: string;
780
841
  autoRunTests: boolean;
842
+ testCommand?: string | undefined;
781
843
  };
782
844
  }, {
783
845
  providers: {
@@ -786,6 +848,10 @@ export declare const appConfigSchema: z.ZodObject<{
786
848
  baseUrl?: string | undefined;
787
849
  apiVersion?: string | undefined;
788
850
  } | undefined;
851
+ gemini?: {
852
+ apiKey: string;
853
+ baseUrl?: string | undefined;
854
+ } | undefined;
789
855
  ollama?: {
790
856
  baseUrl?: string | undefined;
791
857
  } | undefined;
@@ -798,37 +864,37 @@ export declare const appConfigSchema: z.ZodObject<{
798
864
  agents: {
799
865
  architect: {
800
866
  model: string;
801
- provider: "anthropic" | "ollama" | "openai";
867
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
802
868
  temperature?: number | undefined;
803
869
  maxTokens?: number | undefined;
804
870
  };
805
871
  coder: {
806
872
  model: string;
807
- provider: "anthropic" | "ollama" | "openai";
873
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
808
874
  temperature?: number | undefined;
809
875
  maxTokens?: number | undefined;
810
876
  };
811
877
  reviewer: {
812
878
  model: string;
813
- provider: "anthropic" | "ollama" | "openai";
879
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
814
880
  temperature?: number | undefined;
815
881
  maxTokens?: number | undefined;
816
882
  };
817
883
  tester: {
818
884
  model: string;
819
- provider: "anthropic" | "ollama" | "openai";
885
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
820
886
  temperature?: number | undefined;
821
887
  maxTokens?: number | undefined;
822
888
  };
823
889
  fixer: {
824
890
  model: string;
825
- provider: "anthropic" | "ollama" | "openai";
891
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
826
892
  temperature?: number | undefined;
827
893
  maxTokens?: number | undefined;
828
894
  };
829
895
  judge: {
830
896
  model: string;
831
- provider: "anthropic" | "ollama" | "openai";
897
+ provider: "anthropic" | "gemini" | "ollama" | "openai";
832
898
  temperature?: number | undefined;
833
899
  maxTokens?: number | undefined;
834
900
  };
@@ -846,6 +912,7 @@ export declare const appConfigSchema: z.ZodObject<{
846
912
  autoCreateBranch?: boolean | undefined;
847
913
  branchPrefix?: string | undefined;
848
914
  autoRunTests?: boolean | undefined;
915
+ testCommand?: string | undefined;
849
916
  };
850
917
  version?: 1 | undefined;
851
918
  }>;