mycontext-cli 1.0.1 → 1.0.3

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 (47) hide show
  1. package/README.md +34 -36
  2. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  3. package/dist/agents/implementations/CodeGenSubAgent.js +13 -0
  4. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  5. package/dist/cli.js +20 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/enhance.d.ts.map +1 -1
  8. package/dist/commands/enhance.js +11 -0
  9. package/dist/commands/enhance.js.map +1 -1
  10. package/dist/commands/generate-components.d.ts.map +1 -1
  11. package/dist/commands/generate-components.js +1 -0
  12. package/dist/commands/generate-components.js.map +1 -1
  13. package/dist/commands/generate-todos.d.ts +25 -0
  14. package/dist/commands/generate-todos.d.ts.map +1 -0
  15. package/dist/commands/generate-todos.js +249 -0
  16. package/dist/commands/generate-todos.js.map +1 -0
  17. package/dist/commands/generate.d.ts.map +1 -1
  18. package/dist/commands/generate.js +1 -0
  19. package/dist/commands/generate.js.map +1 -1
  20. package/dist/commands/model.d.ts.map +1 -1
  21. package/dist/commands/model.js +8 -5
  22. package/dist/commands/model.js.map +1 -1
  23. package/dist/commands/predict.d.ts.map +1 -1
  24. package/dist/commands/predict.js +11 -0
  25. package/dist/commands/predict.js.map +1 -1
  26. package/dist/commands/refine.d.ts.map +1 -1
  27. package/dist/commands/refine.js +11 -0
  28. package/dist/commands/refine.js.map +1 -1
  29. package/dist/config/ai-providers.json +44 -12
  30. package/dist/types/index.d.ts +6 -0
  31. package/dist/types/index.d.ts.map +1 -1
  32. package/dist/utils/contextLoader.d.ts +50 -0
  33. package/dist/utils/contextLoader.d.ts.map +1 -0
  34. package/dist/utils/contextLoader.js +288 -0
  35. package/dist/utils/contextLoader.js.map +1 -0
  36. package/dist/utils/geminiClient.d.ts +61 -0
  37. package/dist/utils/geminiClient.d.ts.map +1 -0
  38. package/dist/utils/geminiClient.js +173 -0
  39. package/dist/utils/geminiClient.js.map +1 -0
  40. package/dist/utils/hybridAIClient.d.ts +8 -1
  41. package/dist/utils/hybridAIClient.d.ts.map +1 -1
  42. package/dist/utils/hybridAIClient.js +102 -53
  43. package/dist/utils/hybridAIClient.js.map +1 -1
  44. package/dist/utils/qwenClient.d.ts.map +1 -1
  45. package/dist/utils/qwenClient.js +39 -34
  46. package/dist/utils/qwenClient.js.map +1 -1
  47. package/package.json +1 -1
@@ -7,14 +7,14 @@
7
7
  "name": "openai/gpt-5",
8
8
  "description": "GPT-5 for component generation on GitHub Models",
9
9
  "capabilities": ["generation", "typescript", "jsx", "docs"],
10
- "maxTokens": 4096,
10
+ "maxTokens": 4000,
11
11
  "temperature": 0.2
12
12
  },
13
13
  "component-refiner": {
14
14
  "name": "openai/gpt-5",
15
15
  "description": "GPT-5 for high-quality refinement and editing",
16
16
  "capabilities": ["refinement", "accessibility", "styling", "perf"],
17
- "maxTokens": 4096,
17
+ "maxTokens": 4000,
18
18
  "temperature": 0.2
19
19
  }
20
20
  },
@@ -57,14 +57,14 @@
57
57
  "name": "grok-2-latest",
58
58
  "description": "Grok for component generation",
59
59
  "capabilities": ["generation", "typescript", "jsx"],
60
- "maxTokens": 4096,
60
+ "maxTokens": 4000,
61
61
  "temperature": 0.2
62
62
  },
63
63
  "component-refiner": {
64
64
  "name": "grok-2-latest",
65
65
  "description": "Grok for refinement",
66
66
  "capabilities": ["refinement", "accessibility", "styling"],
67
- "maxTokens": 4096,
67
+ "maxTokens": 4000,
68
68
  "temperature": 0.2
69
69
  }
70
70
  },
@@ -82,28 +82,28 @@
82
82
  "name": "gpt-3.5-turbo",
83
83
  "description": "GPT-3.5-turbo for component generation",
84
84
  "capabilities": ["generation", "typescript", "jsx", "docs"],
85
- "maxTokens": 4096,
85
+ "maxTokens": 4000,
86
86
  "temperature": 0.2
87
87
  },
88
88
  "component-refiner": {
89
89
  "name": "gpt-3.5-turbo",
90
90
  "description": "GPT-3.5-turbo for high-quality refinement and editing",
91
91
  "capabilities": ["refinement", "accessibility", "styling", "perf"],
92
- "maxTokens": 4096,
92
+ "maxTokens": 4000,
93
93
  "temperature": 0.2
94
94
  },
95
95
  "text-generator": {
96
96
  "name": "gpt-3.5-turbo",
97
97
  "description": "GPT-3.5-turbo for PRD, types, and brand generation",
98
98
  "capabilities": ["generation", "analysis", "documentation"],
99
- "maxTokens": 4096,
99
+ "maxTokens": 4000,
100
100
  "temperature": 0.3
101
101
  },
102
102
  "component-generator-gpt4": {
103
103
  "name": "gpt-4",
104
104
  "description": "GPT-4 for advanced component generation (requires API access)",
105
105
  "capabilities": ["generation", "typescript", "jsx", "docs"],
106
- "maxTokens": 4096,
106
+ "maxTokens": 4000,
107
107
  "temperature": 0.2
108
108
  }
109
109
  },
@@ -121,28 +121,28 @@
121
121
  "name": "claude-3-5-sonnet-20241022",
122
122
  "description": "Claude 3.5 Sonnet for component generation",
123
123
  "capabilities": ["generation", "typescript", "jsx", "docs"],
124
- "maxTokens": 4096,
124
+ "maxTokens": 4000,
125
125
  "temperature": 0.2
126
126
  },
127
127
  "component-refiner": {
128
128
  "name": "claude-3-5-sonnet-20241022",
129
129
  "description": "Claude 3.5 Sonnet for high-quality refinement and editing",
130
130
  "capabilities": ["refinement", "accessibility", "styling", "perf"],
131
- "maxTokens": 4096,
131
+ "maxTokens": 4000,
132
132
  "temperature": 0.2
133
133
  },
134
134
  "text-generator": {
135
135
  "name": "claude-3-5-sonnet-20241022",
136
136
  "description": "Claude 3.5 Sonnet for PRD, types, and brand generation",
137
137
  "capabilities": ["generation", "analysis", "documentation"],
138
- "maxTokens": 4096,
138
+ "maxTokens": 4000,
139
139
  "temperature": 0.3
140
140
  },
141
141
  "component-generator-haiku": {
142
142
  "name": "claude-3-haiku-20240307",
143
143
  "description": "Claude 3 Haiku for fast component generation",
144
144
  "capabilities": ["generation", "typescript", "jsx"],
145
- "maxTokens": 4096,
145
+ "maxTokens": 4000,
146
146
  "temperature": 0.2
147
147
  }
148
148
  },
@@ -184,6 +184,38 @@
184
184
  "retries": 2
185
185
  }
186
186
  },
187
+ "gemini": {
188
+ "enabled": true,
189
+ "priority": 2,
190
+ "models": {
191
+ "component-generator": {
192
+ "name": "gemini-2.0-flash",
193
+ "description": "Gemini 2.0 Flash for component generation",
194
+ "capabilities": ["generation", "typescript", "jsx", "docs", "code-generation"],
195
+ "maxTokens": 4000,
196
+ "temperature": 0.2
197
+ },
198
+ "component-refiner": {
199
+ "name": "gemini-2.0-flash",
200
+ "description": "Gemini 2.0 Flash for component refinement",
201
+ "capabilities": ["refinement", "accessibility", "styling", "perf", "code-generation"],
202
+ "maxTokens": 4000,
203
+ "temperature": 0.2
204
+ },
205
+ "text-generator": {
206
+ "name": "gemini-2.0-flash",
207
+ "description": "Gemini 2.0 Flash for PRD, types, and brand generation",
208
+ "capabilities": ["generation", "analysis", "documentation", "code-generation"],
209
+ "maxTokens": 4000,
210
+ "temperature": 0.3
211
+ }
212
+ },
213
+ "api": {
214
+ "baseUrl": "https://generativelanguage.googleapis.com/v1beta",
215
+ "timeout": 60000,
216
+ "retries": 2
217
+ }
218
+ },
187
219
  "fallback": {
188
220
  "enabled": false,
189
221
  "priority": 99
@@ -151,4 +151,10 @@ export interface FunctionParameter {
151
151
  required: boolean;
152
152
  description: string;
153
153
  }
154
+ export interface AIProvider {
155
+ name: string;
156
+ priority: number;
157
+ client: any;
158
+ isAvailable: () => Promise<boolean>;
159
+ }
154
160
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ export interface ProjectContext {
2
+ prd?: string;
3
+ types?: string;
4
+ brand?: string;
5
+ componentList?: any;
6
+ userStories?: string;
7
+ technicalSpecs?: string;
8
+ projectStructure?: string;
9
+ }
10
+ export interface ContextLoadOptions {
11
+ verbose?: boolean;
12
+ required?: boolean;
13
+ }
14
+ /**
15
+ * Loads project context from .mycontext directory
16
+ * Provides fallback to context/ directory for backward compatibility
17
+ */
18
+ export declare class ContextLoader {
19
+ private projectPath;
20
+ constructor(projectPath?: string);
21
+ /**
22
+ * Load all available context files
23
+ */
24
+ loadProjectContext(options?: ContextLoadOptions): Promise<ProjectContext>;
25
+ /**
26
+ * Load context from a specific directory
27
+ */
28
+ private loadFromDirectory;
29
+ /**
30
+ * Get a description from context files, with fallback priority
31
+ */
32
+ getDescriptionFromContext(options?: ContextLoadOptions): Promise<string | null>;
33
+ /**
34
+ * Check if context files exist
35
+ */
36
+ hasContextFiles(): Promise<boolean>;
37
+ /**
38
+ * Get context summary for display
39
+ */
40
+ getContextSummary(context: ProjectContext): string;
41
+ }
42
+ /**
43
+ * Convenience function to load project context
44
+ */
45
+ export declare function loadProjectContext(projectPath?: string, options?: ContextLoadOptions): Promise<ProjectContext>;
46
+ /**
47
+ * Convenience function to get description from context
48
+ */
49
+ export declare function getDescriptionFromContext(projectPath?: string, options?: ContextLoadOptions): Promise<string | null>;
50
+ //# sourceMappingURL=contextLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextLoader.d.ts","sourceRoot":"","sources":["../../src/utils/contextLoader.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,GAAE,MAAsB;IAI/C;;OAEG;IACG,kBAAkB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAyCnF;;OAEG;YACW,iBAAiB;IAyI/B;;OAEG;IACG,yBAAyB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuBzF;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM;CAanD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB"}
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.ContextLoader = void 0;
40
+ exports.loadProjectContext = loadProjectContext;
41
+ exports.getDescriptionFromContext = getDescriptionFromContext;
42
+ const fs = __importStar(require("fs-extra"));
43
+ const path = __importStar(require("path"));
44
+ const chalk_1 = __importDefault(require("chalk"));
45
+ /**
46
+ * Loads project context from .mycontext directory
47
+ * Provides fallback to context/ directory for backward compatibility
48
+ */
49
+ class ContextLoader {
50
+ constructor(projectPath = process.cwd()) {
51
+ this.projectPath = projectPath;
52
+ }
53
+ /**
54
+ * Load all available context files
55
+ */
56
+ async loadProjectContext(options = {}) {
57
+ const context = {};
58
+ const { verbose = false, required = false } = options;
59
+ try {
60
+ // Try .mycontext directory first (new structure)
61
+ const mycontextDir = path.join(this.projectPath, ".mycontext");
62
+ if (await fs.pathExists(mycontextDir)) {
63
+ await this.loadFromDirectory(mycontextDir, context, verbose);
64
+ }
65
+ else if (required) {
66
+ throw new Error("No .mycontext directory found. Run 'mycontext init' first.");
67
+ }
68
+ else {
69
+ // Fallback to context/ directory (legacy structure)
70
+ const contextDir = path.join(this.projectPath, "context");
71
+ if (await fs.pathExists(contextDir)) {
72
+ if (verbose) {
73
+ console.log(chalk_1.default.gray("📁 Using legacy context/ directory"));
74
+ }
75
+ await this.loadFromDirectory(contextDir, context, verbose);
76
+ }
77
+ }
78
+ if (verbose && Object.keys(context).length > 0) {
79
+ console.log(chalk_1.default.green("✅ Context loaded successfully"));
80
+ console.log(chalk_1.default.gray(` Available: ${Object.keys(context).join(", ")}`));
81
+ }
82
+ return context;
83
+ }
84
+ catch (error) {
85
+ if (required) {
86
+ throw error;
87
+ }
88
+ if (verbose) {
89
+ console.log(chalk_1.default.yellow("⚠️ Some context files could not be loaded"));
90
+ }
91
+ return context;
92
+ }
93
+ }
94
+ /**
95
+ * Load context from a specific directory
96
+ */
97
+ async loadFromDirectory(dir, context, verbose) {
98
+ // Load PRD
99
+ const prdCandidates = [
100
+ "01-prd.md",
101
+ "prd.md",
102
+ "01_PRD.md",
103
+ "PRD.md"
104
+ ];
105
+ for (const candidate of prdCandidates) {
106
+ const prdPath = path.join(dir, candidate);
107
+ if (await fs.pathExists(prdPath)) {
108
+ context.prd = await fs.readFile(prdPath, "utf8");
109
+ if (verbose) {
110
+ console.log(chalk_1.default.gray(` 📄 PRD: ${candidate}`));
111
+ }
112
+ break;
113
+ }
114
+ }
115
+ // Load Types
116
+ const typesCandidates = [
117
+ "02-types.ts",
118
+ "types.ts",
119
+ "02_types.ts",
120
+ "types/index.ts"
121
+ ];
122
+ for (const candidate of typesCandidates) {
123
+ const typesPath = path.join(dir, candidate);
124
+ if (await fs.pathExists(typesPath)) {
125
+ context.types = await fs.readFile(typesPath, "utf8");
126
+ if (verbose) {
127
+ console.log(chalk_1.default.gray(` 📄 Types: ${candidate}`));
128
+ }
129
+ break;
130
+ }
131
+ }
132
+ // Load Brand
133
+ const brandCandidates = [
134
+ "03-branding.md",
135
+ "branding.md",
136
+ "03_branding.md",
137
+ "brand/globals.css",
138
+ "brand/branding.md"
139
+ ];
140
+ for (const candidate of brandCandidates) {
141
+ const brandPath = path.join(dir, candidate);
142
+ if (await fs.pathExists(brandPath)) {
143
+ context.brand = await fs.readFile(brandPath, "utf8");
144
+ if (verbose) {
145
+ console.log(chalk_1.default.gray(` 📄 Brand: ${candidate}`));
146
+ }
147
+ break;
148
+ }
149
+ }
150
+ // Load Component List
151
+ const compListCandidates = [
152
+ "04-component-list.json",
153
+ "component-list.json",
154
+ "04_component_list.json",
155
+ "components-list.json"
156
+ ];
157
+ for (const candidate of compListCandidates) {
158
+ const compListPath = path.join(dir, candidate);
159
+ if (await fs.pathExists(compListPath)) {
160
+ try {
161
+ const compListRaw = await fs.readFile(compListPath, "utf8");
162
+ context.componentList = JSON.parse(compListRaw);
163
+ if (verbose) {
164
+ console.log(chalk_1.default.gray(` 📄 Component List: ${candidate}`));
165
+ }
166
+ break;
167
+ }
168
+ catch (error) {
169
+ // Invalid JSON, try next candidate
170
+ continue;
171
+ }
172
+ }
173
+ }
174
+ // Load User Stories
175
+ const userStoriesCandidates = [
176
+ "02_user_stories.md",
177
+ "user_stories.md",
178
+ "01a-brief.md",
179
+ "01b-requirements.md"
180
+ ];
181
+ for (const candidate of userStoriesCandidates) {
182
+ const userStoriesPath = path.join(dir, candidate);
183
+ if (await fs.pathExists(userStoriesPath)) {
184
+ context.userStories = await fs.readFile(userStoriesPath, "utf8");
185
+ if (verbose) {
186
+ console.log(chalk_1.default.gray(` 📄 User Stories: ${candidate}`));
187
+ }
188
+ break;
189
+ }
190
+ }
191
+ // Load Technical Specs
192
+ const techSpecsCandidates = [
193
+ "03_technical_specs.md",
194
+ "technical_specs.md",
195
+ "01c-flows.md"
196
+ ];
197
+ for (const candidate of techSpecsCandidates) {
198
+ const techSpecsPath = path.join(dir, candidate);
199
+ if (await fs.pathExists(techSpecsPath)) {
200
+ context.technicalSpecs = await fs.readFile(techSpecsPath, "utf8");
201
+ if (verbose) {
202
+ console.log(chalk_1.default.gray(` 📄 Technical Specs: ${candidate}`));
203
+ }
204
+ break;
205
+ }
206
+ }
207
+ // Load Project Structure
208
+ const structureCandidates = [
209
+ "05-project-structure.md",
210
+ "project-structure.md",
211
+ "05_project_structure.md"
212
+ ];
213
+ for (const candidate of structureCandidates) {
214
+ const structurePath = path.join(dir, candidate);
215
+ if (await fs.pathExists(structurePath)) {
216
+ context.projectStructure = await fs.readFile(structurePath, "utf8");
217
+ if (verbose) {
218
+ console.log(chalk_1.default.gray(` 📄 Project Structure: ${candidate}`));
219
+ }
220
+ break;
221
+ }
222
+ }
223
+ }
224
+ /**
225
+ * Get a description from context files, with fallback priority
226
+ */
227
+ async getDescriptionFromContext(options = {}) {
228
+ const context = await this.loadProjectContext(options);
229
+ // Priority order: PRD > Types > User Stories > Technical Specs
230
+ if (context.prd && context.prd.trim()) {
231
+ return context.prd.trim();
232
+ }
233
+ if (context.types && context.types.trim()) {
234
+ return context.types.trim();
235
+ }
236
+ if (context.userStories && context.userStories.trim()) {
237
+ return context.userStories.trim();
238
+ }
239
+ if (context.technicalSpecs && context.technicalSpecs.trim()) {
240
+ return context.technicalSpecs.trim();
241
+ }
242
+ return null;
243
+ }
244
+ /**
245
+ * Check if context files exist
246
+ */
247
+ async hasContextFiles() {
248
+ const context = await this.loadProjectContext();
249
+ return Object.keys(context).length > 0;
250
+ }
251
+ /**
252
+ * Get context summary for display
253
+ */
254
+ getContextSummary(context) {
255
+ const parts = [];
256
+ if (context.prd)
257
+ parts.push("PRD");
258
+ if (context.types)
259
+ parts.push("Types");
260
+ if (context.brand)
261
+ parts.push("Brand");
262
+ if (context.componentList)
263
+ parts.push("Components");
264
+ if (context.userStories)
265
+ parts.push("User Stories");
266
+ if (context.technicalSpecs)
267
+ parts.push("Technical Specs");
268
+ if (context.projectStructure)
269
+ parts.push("Project Structure");
270
+ return parts.length > 0 ? parts.join(", ") : "No context found";
271
+ }
272
+ }
273
+ exports.ContextLoader = ContextLoader;
274
+ /**
275
+ * Convenience function to load project context
276
+ */
277
+ async function loadProjectContext(projectPath, options) {
278
+ const loader = new ContextLoader(projectPath);
279
+ return loader.loadProjectContext(options);
280
+ }
281
+ /**
282
+ * Convenience function to get description from context
283
+ */
284
+ async function getDescriptionFromContext(projectPath, options) {
285
+ const loader = new ContextLoader(projectPath);
286
+ return loader.getDescriptionFromContext(options);
287
+ }
288
+ //# sourceMappingURL=contextLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextLoader.js","sourceRoot":"","sources":["../../src/utils/contextLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { AIProvider } from "../types";
2
+ export interface GeminiResponse {
3
+ candidates: Array<{
4
+ content: {
5
+ parts: Array<{
6
+ text: string;
7
+ }>;
8
+ };
9
+ finishReason: string;
10
+ }>;
11
+ usageMetadata?: {
12
+ promptTokenCount: number;
13
+ candidatesTokenCount: number;
14
+ totalTokenCount: number;
15
+ };
16
+ }
17
+ export declare class GeminiClient implements AIProvider {
18
+ name: string;
19
+ priority: number;
20
+ client: this;
21
+ private apiKey;
22
+ private baseUrl;
23
+ constructor(apiKey?: string);
24
+ generateText(prompt: string, options?: {
25
+ maxTokens?: number;
26
+ temperature?: number;
27
+ model?: string;
28
+ }): Promise<{
29
+ text: string;
30
+ provider: string;
31
+ usage?: {
32
+ tokens: number;
33
+ model: string;
34
+ };
35
+ }>;
36
+ generateComponent(prompt: string, options?: {
37
+ maxTokens?: number;
38
+ temperature?: number;
39
+ model?: string;
40
+ }): Promise<{
41
+ code: string;
42
+ metadata: {
43
+ componentName: string;
44
+ dependencies: string[];
45
+ shadcnComponents: string[];
46
+ qualityScore: number;
47
+ linesOfCode: number;
48
+ };
49
+ provider: string;
50
+ usage?: {
51
+ tokens: number;
52
+ model: string;
53
+ };
54
+ }>;
55
+ private calculateQualityScore;
56
+ isAvailable(): Promise<boolean>;
57
+ getProviderName(): string;
58
+ hasApiKey(): boolean;
59
+ setApiKey(apiKey: string): void;
60
+ }
61
+ //# sourceMappingURL=geminiClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geminiClient.d.ts","sourceRoot":"","sources":["../../src/utils/geminiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,KAAK,CAAC;QAChB,OAAO,EAAE;YACP,KAAK,EAAE,KAAK,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC;aACd,CAAC,CAAC;SACJ,CAAC;QACF,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE;QACd,gBAAgB,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,qBAAa,YAAa,YAAW,UAAU;IACtC,IAAI,SAAY;IAChB,QAAQ,SAAK;IACb,MAAM,OAAQ;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAKrB,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IA4EI,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE;YACR,aAAa,EAAE,MAAM,CAAC;YACtB,YAAY,EAAE,MAAM,EAAE,CAAC;YACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;YAC3B,YAAY,EAAE,MAAM,CAAC;YACrB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IAuDF,OAAO,CAAC,qBAAqB;IAoDvB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAarC,eAAe,IAAI,MAAM;IAIzB,SAAS,IAAI,OAAO;IAIpB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGhC"}