@aiagentflow/cli 0.2.1 → 0.4.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 (50) 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 -1
  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 +55 -35
  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 +93 -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 +204 -75
  26. package/dist/core/config/schema.d.ts.map +1 -1
  27. package/dist/core/config/schema.js +18 -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 +15 -4
  32. package/dist/core/workflow/runner.js.map +1 -1
  33. package/dist/providers/gemini.d.ts +58 -0
  34. package/dist/providers/gemini.d.ts.map +1 -0
  35. package/dist/providers/gemini.js +254 -0
  36. package/dist/providers/gemini.js.map +1 -0
  37. package/dist/providers/metadata.d.ts +18 -0
  38. package/dist/providers/metadata.d.ts.map +1 -0
  39. package/dist/providers/metadata.js +32 -0
  40. package/dist/providers/metadata.js.map +1 -0
  41. package/dist/providers/openai.d.ts +54 -0
  42. package/dist/providers/openai.d.ts.map +1 -0
  43. package/dist/providers/openai.js +232 -0
  44. package/dist/providers/openai.js.map +1 -0
  45. package/dist/providers/registry.d.ts.map +1 -1
  46. package/dist/providers/registry.js +17 -1
  47. package/dist/providers/registry.js.map +1 -1
  48. package/dist/providers/types.d.ts +1 -1
  49. package/dist/providers/types.d.ts.map +1 -1
  50. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import { z } from 'zod';
13
13
  */
14
14
  export const agentRoleConfigSchema = z.object({
15
15
  /** Which provider to use for this agent role. */
16
- provider: z.enum(['anthropic', 'ollama']),
16
+ provider: z.enum(['anthropic', 'gemini', 'ollama', 'openai']),
17
17
  /** The model identifier to use. */
18
18
  model: z.string().min(1),
19
19
  /** Sampling temperature (0.0 = deterministic, higher = more creative). */
@@ -46,12 +46,29 @@ export const anthropicProviderSchema = z.object({
46
46
  export const ollamaProviderSchema = z.object({
47
47
  baseUrl: z.string().url().default('http://localhost:11434'),
48
48
  });
49
+ /**
50
+ * Schema for Google Gemini provider settings.
51
+ */
52
+ export const geminiProviderSchema = z.object({
53
+ apiKey: z.string().min(1, 'Gemini API key is required'),
54
+ baseUrl: z.string().url().default('https://generativelanguage.googleapis.com'),
55
+ });
56
+ /**
57
+ * Schema for OpenAI provider settings.
58
+ */
59
+ export const openaiProviderSchema = z.object({
60
+ apiKey: z.string().min(1, 'OpenAI API key is required'),
61
+ baseUrl: z.string().url().default('https://api.openai.com'),
62
+ organization: z.string().optional(),
63
+ });
49
64
  /**
50
65
  * Schema for provider configuration (all providers).
51
66
  */
52
67
  export const providerConfigSchema = z.object({
53
68
  anthropic: anthropicProviderSchema.optional(),
69
+ gemini: geminiProviderSchema.optional(),
54
70
  ollama: ollamaProviderSchema.optional(),
71
+ openai: openaiProviderSchema.optional(),
55
72
  });
56
73
  /**
57
74
  * Schema for project-level settings.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ export interface RunOptions {
21
21
  auto?: boolean;
22
22
  /** Explicit context file paths to load. */
23
23
  contextPaths?: string[];
24
+ /** Enable streaming output from agents. */
25
+ streaming?: boolean;
24
26
  }
25
27
  /**
26
28
  * Run a full workflow for a task.
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/core/workflow/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAKH,KAAK,eAAe,EACvB,MAAM,aAAa,CAAC;AAerB,MAAM,WAAW,UAAU;IACvB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CA0G/E"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/core/workflow/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAKH,KAAK,eAAe,EACvB,MAAM,aAAa,CAAC;AAgBrB,MAAM,WAAW,UAAU;IACvB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAmH/E"}
@@ -26,6 +26,7 @@ import { loadContextDocuments, formatContextForAgent } from './context-loader.js
26
26
  import { loadConfig } from '../config/manager.js';
27
27
  import { logger } from '../../utils/logger.js';
28
28
  import { WorkflowError } from '../errors.js';
29
+ import { createStreamRenderer } from '../../cli/utils/stream-renderer.js';
29
30
  /**
30
31
  * Run a full workflow for a task.
31
32
  *
@@ -33,7 +34,7 @@ import { WorkflowError } from '../errors.js';
33
34
  * Returns the final workflow context with all accumulated data.
34
35
  */
35
36
  export async function runWorkflow(options) {
36
- const { projectRoot, task, auto = false, contextPaths } = options;
37
+ const { projectRoot, task, auto = false, contextPaths, streaming = false } = options;
37
38
  const config = loadConfig(projectRoot);
38
39
  const tokenTracker = new TokenTracker();
39
40
  const qaPolicy = loadQAPolicy(projectRoot);
@@ -73,12 +74,22 @@ export async function runWorkflow(options) {
73
74
  const agentConfig = config.agents[agentRole];
74
75
  const spinner = ora(`Running ${agentRole} agent...`).start();
75
76
  try {
76
- const output = await agent.execute({
77
+ const agentInput = {
77
78
  task: ctx.task,
78
79
  context: buildAgentContext(ctx, qaPolicy, contextDocs),
79
80
  previousOutput: getLatestOutput(ctx),
80
- });
81
- spinner.succeed(`${agentRole} complete (${output.tokensUsed} tokens)`);
81
+ };
82
+ let output;
83
+ if (streaming) {
84
+ spinner.stop();
85
+ const renderer = createStreamRenderer(agentRole);
86
+ output = await agent.executeStreaming(agentInput, renderer.callbacks);
87
+ renderer.finish();
88
+ }
89
+ else {
90
+ output = await agent.execute(agentInput);
91
+ spinner.succeed(`${agentRole} complete (${output.tokensUsed} tokens)`);
92
+ }
82
93
  lastOutput = output.content;
83
94
  // Track token usage
84
95
  tokenTracker.record(agentRole, agentConfig.model, {
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/core/workflow/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/core/workflow/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Google Gemini provider adapter.
3
+ *
4
+ * Uses the Gemini REST API directly via fetch() — no SDK dependency.
5
+ * API key is passed as a query parameter (not in headers).
6
+ *
7
+ * Dependency direction: gemini.ts → providers/types.ts, core/errors.ts
8
+ * Used by: providers/registry.ts
9
+ */
10
+ import type { LLMProvider, ChatMessage, ChatOptions, ChatResponse, ChatChunk, ModelInfo } from './types.js';
11
+ /** Configuration required to create a Gemini provider. */
12
+ export interface GeminiProviderConfig {
13
+ readonly apiKey: string;
14
+ readonly baseUrl?: string;
15
+ }
16
+ /**
17
+ * Google Gemini provider implementation.
18
+ *
19
+ * Implements the LLMProvider interface using the Gemini generateContent API.
20
+ * System instructions are extracted from messages and sent via a dedicated field.
21
+ * API key is sent as a query parameter — URLs are not logged to avoid key leaks.
22
+ */
23
+ export declare class GeminiProvider implements LLMProvider {
24
+ readonly name: "gemini";
25
+ private readonly apiKey;
26
+ private readonly baseUrl;
27
+ constructor(config: GeminiProviderConfig);
28
+ /**
29
+ * Send a non-streaming chat completion request.
30
+ */
31
+ chat(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>;
32
+ /**
33
+ * Send a streaming chat completion request.
34
+ */
35
+ stream(messages: ChatMessage[], options?: ChatOptions): AsyncIterable<ChatChunk>;
36
+ /**
37
+ * List available models from the Gemini API.
38
+ */
39
+ listModels(): Promise<ModelInfo[]>;
40
+ /**
41
+ * Validate that the Gemini API connection is working.
42
+ */
43
+ validateConnection(): Promise<boolean>;
44
+ /**
45
+ * Build the URL for an API request, appending the API key as a query parameter.
46
+ * Never log the full URL to avoid leaking the API key.
47
+ */
48
+ private buildUrl;
49
+ private request;
50
+ /**
51
+ * Prepare messages for the Gemini API.
52
+ * Gemini uses `user` and `model` roles (not `assistant`).
53
+ * System messages are extracted to a separate `system_instruction` field.
54
+ */
55
+ private prepareMessages;
56
+ private extractUsage;
57
+ }
58
+ //# sourceMappingURL=gemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EAEZ,MAAM,YAAY,CAAC;AAGpB,0DAA0D;AAC1D,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B;AASD;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,WAAW;IAC9C,SAAgB,IAAI,EAAG,QAAQ,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,oBAAoB;IAQxC;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA+CjF;;OAEG;IACI,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC;IA0FvF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IA6BxC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAY5C;;;OAGG;IACH,OAAO,CAAC,QAAQ;YAIF,OAAO;IA4BrB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,YAAY;CAQvB"}
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Google Gemini provider adapter.
3
+ *
4
+ * Uses the Gemini REST API directly via fetch() — no SDK dependency.
5
+ * API key is passed as a query parameter (not in headers).
6
+ *
7
+ * Dependency direction: gemini.ts → providers/types.ts, core/errors.ts
8
+ * Used by: providers/registry.ts
9
+ */
10
+ import { ProviderError } from '../core/errors.js';
11
+ import { logger } from '../utils/logger.js';
12
+ /** Default Gemini API settings. */
13
+ const DEFAULTS = {
14
+ baseUrl: 'https://generativelanguage.googleapis.com',
15
+ model: 'gemini-2.0-flash',
16
+ maxTokens: 4096,
17
+ };
18
+ /**
19
+ * Google Gemini provider implementation.
20
+ *
21
+ * Implements the LLMProvider interface using the Gemini generateContent API.
22
+ * System instructions are extracted from messages and sent via a dedicated field.
23
+ * API key is sent as a query parameter — URLs are not logged to avoid key leaks.
24
+ */
25
+ export class GeminiProvider {
26
+ name = 'gemini';
27
+ apiKey;
28
+ baseUrl;
29
+ constructor(config) {
30
+ if (!config.apiKey) {
31
+ throw new ProviderError('Gemini API key is required', { provider: 'gemini' });
32
+ }
33
+ this.apiKey = config.apiKey;
34
+ this.baseUrl = config.baseUrl ?? DEFAULTS.baseUrl;
35
+ }
36
+ /**
37
+ * Send a non-streaming chat completion request.
38
+ */
39
+ async chat(messages, options) {
40
+ const model = options?.model ?? DEFAULTS.model;
41
+ const { contents, systemInstruction } = this.prepareMessages(messages, options);
42
+ const body = { contents };
43
+ if (systemInstruction) {
44
+ body.system_instruction = systemInstruction;
45
+ }
46
+ const generationConfig = {};
47
+ if (options?.maxTokens !== undefined) {
48
+ generationConfig.maxOutputTokens = options.maxTokens;
49
+ }
50
+ if (options?.temperature !== undefined) {
51
+ generationConfig.temperature = options.temperature;
52
+ }
53
+ if (options?.stopSequences?.length) {
54
+ generationConfig.stopSequences = options.stopSequences;
55
+ }
56
+ if (Object.keys(generationConfig).length > 0) {
57
+ body.generationConfig = generationConfig;
58
+ }
59
+ logger.debug(`Gemini chat request: model=${model}, contents=${contents.length}`);
60
+ const response = await this.request(`/v1beta/models/${model}:generateContent`, body);
61
+ const candidates = response.candidates;
62
+ const firstCandidate = candidates?.[0];
63
+ const content = firstCandidate?.content;
64
+ const parts = content?.parts;
65
+ const text = parts?.map((p) => p.text ?? '').join('') ?? '';
66
+ const finishReason = firstCandidate?.finishReason ?? 'unknown';
67
+ const usage = this.extractUsage(response);
68
+ return {
69
+ content: text,
70
+ model,
71
+ usage,
72
+ finishReason,
73
+ };
74
+ }
75
+ /**
76
+ * Send a streaming chat completion request.
77
+ */
78
+ async *stream(messages, options) {
79
+ const model = options?.model ?? DEFAULTS.model;
80
+ const { contents, systemInstruction } = this.prepareMessages(messages, options);
81
+ const body = { contents };
82
+ if (systemInstruction) {
83
+ body.system_instruction = systemInstruction;
84
+ }
85
+ const generationConfig = {};
86
+ if (options?.maxTokens !== undefined) {
87
+ generationConfig.maxOutputTokens = options.maxTokens;
88
+ }
89
+ if (options?.temperature !== undefined) {
90
+ generationConfig.temperature = options.temperature;
91
+ }
92
+ if (Object.keys(generationConfig).length > 0) {
93
+ body.generationConfig = generationConfig;
94
+ }
95
+ const url = `${this.baseUrl}/v1beta/models/${model}:streamGenerateContent?alt=sse&key=${this.apiKey}`;
96
+ const response = await fetch(url, {
97
+ method: 'POST',
98
+ headers: { 'Content-Type': 'application/json' },
99
+ body: JSON.stringify(body),
100
+ });
101
+ if (!response.ok) {
102
+ const errorBody = await response.text();
103
+ throw new ProviderError(`Gemini streaming request failed: ${response.status} ${response.statusText}`, { status: response.status, body: errorBody, provider: 'gemini' });
104
+ }
105
+ if (!response.body) {
106
+ throw new ProviderError('Gemini response has no body', { provider: 'gemini' });
107
+ }
108
+ const reader = response.body.getReader();
109
+ const decoder = new TextDecoder();
110
+ let buffer = '';
111
+ try {
112
+ while (true) {
113
+ const { done, value } = await reader.read();
114
+ if (done)
115
+ break;
116
+ buffer += decoder.decode(value, { stream: true });
117
+ const lines = buffer.split('\n');
118
+ buffer = lines.pop() ?? '';
119
+ for (const line of lines) {
120
+ if (!line.startsWith('data: '))
121
+ continue;
122
+ const data = line.slice(6).trim();
123
+ if (!data)
124
+ continue;
125
+ try {
126
+ const event = JSON.parse(data);
127
+ const candidates = event.candidates;
128
+ const parts = candidates?.[0]?.content?.parts;
129
+ const text = parts?.map((p) => p.text ?? '').join('') ?? '';
130
+ if (text) {
131
+ yield { content: text, done: false };
132
+ }
133
+ const finishReason = candidates?.[0]?.finishReason;
134
+ if (finishReason && finishReason !== 'STOP') {
135
+ yield { content: '', done: true };
136
+ return;
137
+ }
138
+ if (finishReason === 'STOP') {
139
+ yield { content: '', done: true };
140
+ return;
141
+ }
142
+ }
143
+ catch {
144
+ // Skip unparseable lines
145
+ }
146
+ }
147
+ }
148
+ }
149
+ finally {
150
+ reader.releaseLock();
151
+ }
152
+ yield { content: '', done: true };
153
+ }
154
+ /**
155
+ * List available models from the Gemini API.
156
+ */
157
+ async listModels() {
158
+ try {
159
+ const url = `${this.baseUrl}/v1beta/models?key=${this.apiKey}`;
160
+ const response = await fetch(url, { method: 'GET' });
161
+ if (!response.ok) {
162
+ throw new ProviderError(`Gemini models request failed: ${response.status}`, { provider: 'gemini' });
163
+ }
164
+ const body = await response.json();
165
+ const models = body.models ?? [];
166
+ return models.map((m) => ({
167
+ id: m.name.replace(/^models\//, ''),
168
+ name: m.displayName ?? m.name.replace(/^models\//, ''),
169
+ provider: 'gemini',
170
+ }));
171
+ }
172
+ catch (err) {
173
+ if (err instanceof ProviderError)
174
+ throw err;
175
+ throw new ProviderError(`Failed to list Gemini models: ${err instanceof Error ? err.message : String(err)}`, { provider: 'gemini' });
176
+ }
177
+ }
178
+ /**
179
+ * Validate that the Gemini API connection is working.
180
+ */
181
+ async validateConnection() {
182
+ try {
183
+ const url = `${this.baseUrl}/v1beta/models?key=${this.apiKey}`;
184
+ const response = await fetch(url, { method: 'GET' });
185
+ return response.ok;
186
+ }
187
+ catch {
188
+ return false;
189
+ }
190
+ }
191
+ // -- Private helpers --
192
+ /**
193
+ * Build the URL for an API request, appending the API key as a query parameter.
194
+ * Never log the full URL to avoid leaking the API key.
195
+ */
196
+ buildUrl(path) {
197
+ return `${this.baseUrl}${path}?key=${this.apiKey}`;
198
+ }
199
+ async request(path, body) {
200
+ const url = this.buildUrl(path);
201
+ let response;
202
+ try {
203
+ response = await fetch(url, {
204
+ method: 'POST',
205
+ headers: { 'Content-Type': 'application/json' },
206
+ body: JSON.stringify(body),
207
+ });
208
+ }
209
+ catch (err) {
210
+ throw new ProviderError(`Failed to connect to Gemini API: ${err instanceof Error ? err.message : String(err)}`, { provider: 'gemini', baseUrl: this.baseUrl });
211
+ }
212
+ if (!response.ok) {
213
+ const errorBody = await response.text();
214
+ throw new ProviderError(`Gemini API error: ${response.status} ${response.statusText}`, { status: response.status, body: errorBody, provider: 'gemini' });
215
+ }
216
+ return response.json();
217
+ }
218
+ /**
219
+ * Prepare messages for the Gemini API.
220
+ * Gemini uses `user` and `model` roles (not `assistant`).
221
+ * System messages are extracted to a separate `system_instruction` field.
222
+ */
223
+ prepareMessages(messages, options) {
224
+ const contents = [];
225
+ const systemParts = [];
226
+ if (options?.systemPrompt) {
227
+ systemParts.push(options.systemPrompt);
228
+ }
229
+ for (const msg of messages) {
230
+ if (msg.role === 'system') {
231
+ systemParts.push(msg.content);
232
+ continue;
233
+ }
234
+ const role = msg.role === 'assistant' ? 'model' : 'user';
235
+ contents.push({
236
+ role,
237
+ parts: [{ text: msg.content }],
238
+ });
239
+ }
240
+ const systemInstruction = systemParts.length > 0
241
+ ? { parts: [{ text: systemParts.join('\n\n') }] }
242
+ : undefined;
243
+ return { contents, systemInstruction };
244
+ }
245
+ extractUsage(response) {
246
+ const usage = response.usageMetadata;
247
+ return {
248
+ promptTokens: usage?.promptTokenCount ?? 0,
249
+ completionTokens: usage?.candidatesTokenCount ?? 0,
250
+ totalTokens: usage?.totalTokenCount ?? 0,
251
+ };
252
+ }
253
+ }
254
+ //# sourceMappingURL=gemini.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Centralized provider display metadata.
3
+ *
4
+ * Replaces scattered ternary chains in init.ts, doctor.ts, and registry.ts
5
+ * with a single source of truth for provider labels, default models, and
6
+ * description text used in the CLI wizard.
7
+ *
8
+ * Dependency direction: metadata.ts → providers/types.ts (leaf-ish module)
9
+ * Used by: cli/commands/init.ts, cli/commands/doctor.ts, providers/registry.ts
10
+ */
11
+ import type { LLMProviderName } from './types.js';
12
+ /** Human-friendly labels for each provider. */
13
+ export declare const PROVIDER_LABELS: Record<LLMProviderName, string>;
14
+ /** Default model ID to use when the user does not specify one. */
15
+ export declare const PROVIDER_DEFAULT_MODELS: Record<LLMProviderName, string>;
16
+ /** Short description shown as the choice text in the init wizard's provider selector. */
17
+ export declare const PROVIDER_DESCRIPTIONS: Record<LLMProviderName, string>;
18
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/providers/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,+CAA+C;AAC/C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAK3D,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAKnE,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAKjE,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Centralized provider display metadata.
3
+ *
4
+ * Replaces scattered ternary chains in init.ts, doctor.ts, and registry.ts
5
+ * with a single source of truth for provider labels, default models, and
6
+ * description text used in the CLI wizard.
7
+ *
8
+ * Dependency direction: metadata.ts → providers/types.ts (leaf-ish module)
9
+ * Used by: cli/commands/init.ts, cli/commands/doctor.ts, providers/registry.ts
10
+ */
11
+ /** Human-friendly labels for each provider. */
12
+ export const PROVIDER_LABELS = {
13
+ anthropic: 'Anthropic (Claude)',
14
+ gemini: 'Google Gemini',
15
+ ollama: 'Ollama (Local)',
16
+ openai: 'OpenAI (GPT)',
17
+ };
18
+ /** Default model ID to use when the user does not specify one. */
19
+ export const PROVIDER_DEFAULT_MODELS = {
20
+ anthropic: 'claude-sonnet-4-20250514',
21
+ gemini: 'gemini-2.0-flash',
22
+ ollama: 'llama3.2:latest',
23
+ openai: 'gpt-4o-mini',
24
+ };
25
+ /** Short description shown as the choice text in the init wizard's provider selector. */
26
+ export const PROVIDER_DESCRIPTIONS = {
27
+ anthropic: 'Anthropic (Claude) — requires API key',
28
+ gemini: 'Google Gemini — requires API key',
29
+ ollama: 'Ollama (Local Models) — free, no API key needed',
30
+ openai: 'OpenAI (GPT) — requires API key',
31
+ };
32
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/providers/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAoC;IAC5D,SAAS,EAAE,oBAAoB;IAC/B,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,cAAc;CACzB,CAAC;AAEF,kEAAkE;AAClE,MAAM,CAAC,MAAM,uBAAuB,GAAoC;IACpE,SAAS,EAAE,0BAA0B;IACrC,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,aAAa;CACxB,CAAC;AAEF,yFAAyF;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAoC;IAClE,SAAS,EAAE,uCAAuC;IAClD,MAAM,EAAE,kCAAkC;IAC1C,MAAM,EAAE,iDAAiD;IACzD,MAAM,EAAE,iCAAiC;CAC5C,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * OpenAI provider adapter.
3
+ *
4
+ * Uses the OpenAI Chat Completions API directly via fetch() — no SDK dependency.
5
+ * Matches the existing pattern established by the Anthropic adapter.
6
+ *
7
+ * Dependency direction: openai.ts → providers/types.ts, core/errors.ts
8
+ * Used by: providers/registry.ts
9
+ */
10
+ import type { LLMProvider, ChatMessage, ChatOptions, ChatResponse, ChatChunk, ModelInfo } from './types.js';
11
+ /** Configuration required to create an OpenAI provider. */
12
+ export interface OpenAIProviderConfig {
13
+ readonly apiKey: string;
14
+ readonly baseUrl?: string;
15
+ readonly organization?: string;
16
+ }
17
+ /**
18
+ * OpenAI provider implementation.
19
+ *
20
+ * Implements the LLMProvider interface using the OpenAI Chat Completions API.
21
+ * OpenAI supports `system` role natively in the messages array.
22
+ */
23
+ export declare class OpenAIProvider implements LLMProvider {
24
+ readonly name: "openai";
25
+ private readonly apiKey;
26
+ private readonly baseUrl;
27
+ private readonly organization?;
28
+ constructor(config: OpenAIProviderConfig);
29
+ /**
30
+ * Send a non-streaming chat completion request.
31
+ */
32
+ chat(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>;
33
+ /**
34
+ * Send a streaming chat completion request.
35
+ */
36
+ stream(messages: ChatMessage[], options?: ChatOptions): AsyncIterable<ChatChunk>;
37
+ /**
38
+ * List available models from the OpenAI API.
39
+ */
40
+ listModels(): Promise<ModelInfo[]>;
41
+ /**
42
+ * Validate that the OpenAI API connection is working.
43
+ */
44
+ validateConnection(): Promise<boolean>;
45
+ private getHeaders;
46
+ private request;
47
+ /**
48
+ * Prepare messages for the OpenAI API.
49
+ * OpenAI supports system role natively in the messages array.
50
+ */
51
+ private prepareMessages;
52
+ private extractUsage;
53
+ }
54
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EAEZ,MAAM,YAAY,CAAC;AAGpB,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAClC;AASD;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,WAAW;IAC9C,SAAgB,IAAI,EAAG,QAAQ,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;gBAE3B,MAAM,EAAE,oBAAoB;IASxC;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAoCjF;;OAEG;IACI,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC;IA8EvF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IA+BxC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAe5C,OAAO,CAAC,UAAU;YAaJ,OAAO;IA2BrB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,YAAY;CAQvB"}