@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
@@ -0,0 +1,232 @@
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 { ProviderError } from '../core/errors.js';
11
+ import { logger } from '../utils/logger.js';
12
+ /** Default OpenAI API settings. */
13
+ const DEFAULTS = {
14
+ baseUrl: 'https://api.openai.com',
15
+ model: 'gpt-4o-mini',
16
+ maxTokens: 4096,
17
+ };
18
+ /**
19
+ * OpenAI provider implementation.
20
+ *
21
+ * Implements the LLMProvider interface using the OpenAI Chat Completions API.
22
+ * OpenAI supports `system` role natively in the messages array.
23
+ */
24
+ export class OpenAIProvider {
25
+ name = 'openai';
26
+ apiKey;
27
+ baseUrl;
28
+ organization;
29
+ constructor(config) {
30
+ if (!config.apiKey) {
31
+ throw new ProviderError('OpenAI API key is required', { provider: 'openai' });
32
+ }
33
+ this.apiKey = config.apiKey;
34
+ this.baseUrl = config.baseUrl ?? DEFAULTS.baseUrl;
35
+ this.organization = config.organization;
36
+ }
37
+ /**
38
+ * Send a non-streaming chat completion request.
39
+ */
40
+ async chat(messages, options) {
41
+ const apiMessages = this.prepareMessages(messages, options);
42
+ const model = options?.model ?? DEFAULTS.model;
43
+ const body = {
44
+ model,
45
+ messages: apiMessages,
46
+ };
47
+ if (options?.maxTokens !== undefined) {
48
+ body.max_tokens = options.maxTokens;
49
+ }
50
+ if (options?.temperature !== undefined) {
51
+ body.temperature = options.temperature;
52
+ }
53
+ if (options?.stopSequences?.length) {
54
+ body.stop = options.stopSequences;
55
+ }
56
+ logger.debug(`OpenAI chat request: model=${model}, messages=${apiMessages.length}`);
57
+ const response = await this.request('/v1/chat/completions', body);
58
+ const choice = response.choices?.[0];
59
+ const message = choice?.message;
60
+ const content = message?.content ?? '';
61
+ const usage = this.extractUsage(response);
62
+ return {
63
+ content,
64
+ model: response.model ?? model,
65
+ usage,
66
+ finishReason: choice?.finish_reason ?? 'unknown',
67
+ };
68
+ }
69
+ /**
70
+ * Send a streaming chat completion request.
71
+ */
72
+ async *stream(messages, options) {
73
+ const apiMessages = this.prepareMessages(messages, options);
74
+ const model = options?.model ?? DEFAULTS.model;
75
+ const body = {
76
+ model,
77
+ messages: apiMessages,
78
+ stream: true,
79
+ };
80
+ if (options?.maxTokens !== undefined) {
81
+ body.max_tokens = options.maxTokens;
82
+ }
83
+ if (options?.temperature !== undefined) {
84
+ body.temperature = options.temperature;
85
+ }
86
+ const response = await fetch(`${this.baseUrl}/v1/chat/completions`, {
87
+ method: 'POST',
88
+ headers: this.getHeaders(),
89
+ body: JSON.stringify(body),
90
+ });
91
+ if (!response.ok) {
92
+ const errorBody = await response.text();
93
+ throw new ProviderError(`OpenAI streaming request failed: ${response.status} ${response.statusText}`, { status: response.status, body: errorBody, provider: 'openai' });
94
+ }
95
+ if (!response.body) {
96
+ throw new ProviderError('OpenAI response has no body', { provider: 'openai' });
97
+ }
98
+ const reader = response.body.getReader();
99
+ const decoder = new TextDecoder();
100
+ let buffer = '';
101
+ try {
102
+ while (true) {
103
+ const { done, value } = await reader.read();
104
+ if (done)
105
+ break;
106
+ buffer += decoder.decode(value, { stream: true });
107
+ const lines = buffer.split('\n');
108
+ buffer = lines.pop() ?? '';
109
+ for (const line of lines) {
110
+ if (!line.startsWith('data: '))
111
+ continue;
112
+ const data = line.slice(6).trim();
113
+ if (data === '[DONE]') {
114
+ yield { content: '', done: true };
115
+ return;
116
+ }
117
+ try {
118
+ const event = JSON.parse(data);
119
+ const delta = event.choices?.[0]?.delta;
120
+ if (delta?.content) {
121
+ yield { content: delta.content, done: false };
122
+ }
123
+ if (event.choices?.[0]?.finish_reason) {
124
+ yield { content: '', done: true };
125
+ return;
126
+ }
127
+ }
128
+ catch {
129
+ // Skip unparseable lines
130
+ }
131
+ }
132
+ }
133
+ }
134
+ finally {
135
+ reader.releaseLock();
136
+ }
137
+ yield { content: '', done: true };
138
+ }
139
+ /**
140
+ * List available models from the OpenAI API.
141
+ */
142
+ async listModels() {
143
+ try {
144
+ const response = await fetch(`${this.baseUrl}/v1/models`, {
145
+ method: 'GET',
146
+ headers: this.getHeaders(),
147
+ });
148
+ if (!response.ok) {
149
+ throw new ProviderError(`OpenAI models request failed: ${response.status}`, { provider: 'openai' });
150
+ }
151
+ const body = await response.json();
152
+ const models = body.data ?? [];
153
+ return models.map((m) => ({
154
+ id: m.id,
155
+ name: m.id,
156
+ provider: 'openai',
157
+ }));
158
+ }
159
+ catch (err) {
160
+ if (err instanceof ProviderError)
161
+ throw err;
162
+ throw new ProviderError(`Failed to list OpenAI models: ${err instanceof Error ? err.message : String(err)}`, { provider: 'openai' });
163
+ }
164
+ }
165
+ /**
166
+ * Validate that the OpenAI API connection is working.
167
+ */
168
+ async validateConnection() {
169
+ try {
170
+ const response = await fetch(`${this.baseUrl}/v1/models`, {
171
+ method: 'GET',
172
+ headers: this.getHeaders(),
173
+ });
174
+ return response.ok;
175
+ }
176
+ catch {
177
+ return false;
178
+ }
179
+ }
180
+ // ── Private helpers ──
181
+ getHeaders() {
182
+ const headers = {
183
+ 'Content-Type': 'application/json',
184
+ 'Authorization': `Bearer ${this.apiKey}`,
185
+ };
186
+ if (this.organization) {
187
+ headers['OpenAI-Organization'] = this.organization;
188
+ }
189
+ return headers;
190
+ }
191
+ async request(path, body) {
192
+ let response;
193
+ try {
194
+ response = await fetch(`${this.baseUrl}${path}`, {
195
+ method: 'POST',
196
+ headers: this.getHeaders(),
197
+ body: JSON.stringify(body),
198
+ });
199
+ }
200
+ catch (err) {
201
+ throw new ProviderError(`Failed to connect to OpenAI API: ${err instanceof Error ? err.message : String(err)}`, { provider: 'openai', baseUrl: this.baseUrl });
202
+ }
203
+ if (!response.ok) {
204
+ const errorBody = await response.text();
205
+ throw new ProviderError(`OpenAI API error: ${response.status} ${response.statusText}`, { status: response.status, body: errorBody, provider: 'openai' });
206
+ }
207
+ return response.json();
208
+ }
209
+ /**
210
+ * Prepare messages for the OpenAI API.
211
+ * OpenAI supports system role natively in the messages array.
212
+ */
213
+ prepareMessages(messages, options) {
214
+ const apiMessages = [];
215
+ if (options?.systemPrompt) {
216
+ apiMessages.push({ role: 'system', content: options.systemPrompt });
217
+ }
218
+ for (const msg of messages) {
219
+ apiMessages.push({ role: msg.role, content: msg.content });
220
+ }
221
+ return apiMessages;
222
+ }
223
+ extractUsage(response) {
224
+ const usage = response.usage;
225
+ return {
226
+ promptTokens: usage?.prompt_tokens ?? 0,
227
+ completionTokens: usage?.completion_tokens ?? 0,
228
+ totalTokens: usage?.total_tokens ?? 0,
229
+ };
230
+ }
231
+ }
232
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AA6B9D;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,WAAW,CAiBzF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,EAAE,CAEzD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmBlC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAmD9D;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,WAAW,CAiBzF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,EAAE,CAEzD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmBlC"}
@@ -11,6 +11,8 @@
11
11
  */
12
12
  import { AnthropicProvider } from './anthropic.js';
13
13
  import { OllamaProvider } from './ollama.js';
14
+ import { GeminiProvider } from './gemini.js';
15
+ import { OpenAIProvider } from './openai.js';
14
16
  import { ProviderError } from '../core/errors.js';
15
17
  import { logger } from '../utils/logger.js';
16
18
  /**
@@ -25,10 +27,24 @@ const PROVIDER_FACTORIES = {
25
27
  }
26
28
  return new AnthropicProvider(anthropicConfig);
27
29
  },
30
+ gemini: (config) => {
31
+ const geminiConfig = config.gemini;
32
+ if (!geminiConfig) {
33
+ throw new ProviderError('Gemini provider is not configured. Run "aiagentflow init" to set up.', { provider: 'gemini' });
34
+ }
35
+ return new GeminiProvider(geminiConfig);
36
+ },
28
37
  ollama: (config) => {
29
38
  const ollamaConfig = config.ollama;
30
39
  return new OllamaProvider(ollamaConfig);
31
40
  },
41
+ openai: (config) => {
42
+ const openaiConfig = config.openai;
43
+ if (!openaiConfig) {
44
+ throw new ProviderError('OpenAI provider is not configured. Run "aiagentflow init" to set up.', { provider: 'openai' });
45
+ }
46
+ return new OpenAIProvider(openaiConfig);
47
+ },
32
48
  };
33
49
  /** Cache of created provider instances (one per provider name). */
34
50
  const providerCache = new Map();
@@ -75,7 +91,7 @@ export async function validateAllProviders(config) {
75
91
  for (const name of getSupportedProviders()) {
76
92
  try {
77
93
  // Only validate providers that are actually configured
78
- if (name === 'anthropic' && !config.anthropic) {
94
+ if (name !== 'ollama' && !config[name]) {
79
95
  results[name] = false;
80
96
  continue;
81
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,iBAAiB,EAAgC,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,cAAc,EAA6B,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;GAGG;AACH,MAAM,kBAAkB,GAAqE;IACzF,SAAS,EAAE,CAAC,MAAsB,EAAE,EAAE;QAClC,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,MAAM,IAAI,aAAa,CACnB,yEAAyE,EACzE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAC5B,CAAC;QACN,CAAC;QACD,OAAO,IAAI,iBAAiB,CAAC,eAA0C,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,EAAE,CAAC,MAAsB,EAAE,EAAE;QAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,OAAO,IAAI,cAAc,CAAC,YAAgD,CAAC,CAAC;IAChF,CAAC;CACJ,CAAC;AAEF,mEAAmE;AACnE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAgC,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAqB,EAAE,MAAsB;IACxE,sCAAsC;IACtC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,aAAa,CACnB,sBAAsB,IAAI,iBAAiB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACvF,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CACjE,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAC9B,aAAa,CAAC,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAsB,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAsB;IAEtB,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC;YACD,uDAAuD;YACvD,IAAI,IAAI,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACtB,SAAS;YACb,CAAC;YAED,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  * Used by: all provider implementations, registry, agents, workflow engine
10
10
  */
11
11
  /** Supported LLM provider names. Add new providers here. */
12
- export type LLMProviderName = 'anthropic' | 'ollama';
12
+ export type LLMProviderName = 'anthropic' | 'gemini' | 'ollama' | 'openai';
13
13
  /** Role in a chat conversation. */
14
14
  export type ChatRole = 'system' | 'user' | 'assistant';
15
15
  /** A single message in a chat conversation. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,QAAQ,CAAC;AAErD,mCAAmC;AACnC,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAEvD,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IACxB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IACzB,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,uCAAuC;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CACjC;AAED,8CAA8C;AAC9C,MAAM,WAAW,SAAS;IACtB,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC;AAED,4CAA4C;AAC5C,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IACxB,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAE/B;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE5E;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAEjF;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEnC;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3E,mCAAmC;AACnC,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAEvD,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IACxB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IACzB,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,uCAAuC;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CACjC;AAED,8CAA8C;AAC9C,MAAM,WAAW,SAAS;IACtB,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC;AAED,4CAA4C;AAC5C,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IACxB,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAE/B;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE5E;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAEjF;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEnC;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiagentflow/cli",
3
- "version": "0.2.1",
3
+ "version": "0.4.0",
4
4
  "description": "A local-first, CLI-driven multi-agent AI software engineering workflow orchestrator — feed specs, PRDs, and guidelines to auto-generate implementation plans and code",
5
5
  "type": "module",
6
6
  "bin": {