mycontext-cli 2.0.8 → 2.0.9

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 (198) hide show
  1. package/dist/agents/communication/AgentCommunicationManager.d.ts +3 -3
  2. package/dist/agents/communication/AgentCommunicationManager.d.ts.map +1 -1
  3. package/dist/agents/communication/AgentCommunicationManager.js +7 -6
  4. package/dist/agents/communication/AgentCommunicationManager.js.map +1 -1
  5. package/dist/agents/evolution/CodeEvolutionEngine.d.ts.map +1 -1
  6. package/dist/agents/evolution/CodeEvolutionEngine.js +10 -7
  7. package/dist/agents/evolution/CodeEvolutionEngine.js.map +1 -1
  8. package/dist/agents/implementations/ArchitectAgent.js +2 -2
  9. package/dist/agents/implementations/ArchitectAgent.js.map +1 -1
  10. package/dist/agents/implementations/BackendDevAgent.d.ts.map +1 -1
  11. package/dist/agents/implementations/BackendDevAgent.js +4 -1
  12. package/dist/agents/implementations/BackendDevAgent.js.map +1 -1
  13. package/dist/agents/implementations/BuildStrategyAgent.d.ts.map +1 -1
  14. package/dist/agents/implementations/BuildStrategyAgent.js +4 -3
  15. package/dist/agents/implementations/BuildStrategyAgent.js.map +1 -1
  16. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  17. package/dist/agents/implementations/CodeGenSubAgent.js +6 -5
  18. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  19. package/dist/agents/implementations/DocsSubAgent.js +2 -2
  20. package/dist/agents/implementations/DocsSubAgent.js.map +1 -1
  21. package/dist/agents/implementations/EnhancementAgent.d.ts.map +1 -1
  22. package/dist/agents/implementations/EnhancementAgent.js +6 -4
  23. package/dist/agents/implementations/EnhancementAgent.js.map +1 -1
  24. package/dist/agents/implementations/InteractiveAgent.d.ts.map +1 -1
  25. package/dist/agents/implementations/InteractiveAgent.js +8 -1
  26. package/dist/agents/implementations/InteractiveAgent.js.map +1 -1
  27. package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -1
  28. package/dist/agents/implementations/PromptConstructorAgent.js +79 -31
  29. package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -1
  30. package/dist/agents/implementations/QASubAgent.js +2 -2
  31. package/dist/agents/implementations/QASubAgent.js.map +1 -1
  32. package/dist/agents/implementations/SecurityAgent.js +2 -2
  33. package/dist/agents/implementations/SecurityAgent.js.map +1 -1
  34. package/dist/agents/implementations/WorkflowAgent.d.ts +0 -1
  35. package/dist/agents/implementations/WorkflowAgent.d.ts.map +1 -1
  36. package/dist/agents/implementations/WorkflowAgent.js +6 -10
  37. package/dist/agents/implementations/WorkflowAgent.js.map +1 -1
  38. package/dist/agents/intelligence/ProjectIntelligence.js +5 -5
  39. package/dist/agents/intelligence/ProjectIntelligence.js.map +1 -1
  40. package/dist/agents/orchestrator/SubAgentOrchestrator.d.ts.map +1 -1
  41. package/dist/agents/orchestrator/SubAgentOrchestrator.js +4 -4
  42. package/dist/agents/orchestrator/SubAgentOrchestrator.js.map +1 -1
  43. package/dist/cli.js +8 -40
  44. package/dist/cli.js.map +1 -1
  45. package/dist/commands/analyze.d.ts.map +1 -1
  46. package/dist/commands/analyze.js +9 -9
  47. package/dist/commands/analyze.js.map +1 -1
  48. package/dist/commands/enhance.d.ts.map +1 -1
  49. package/dist/commands/enhance.js +23 -78
  50. package/dist/commands/enhance.js.map +1 -1
  51. package/dist/commands/generate-components.d.ts.map +1 -1
  52. package/dist/commands/generate-components.js +12 -7
  53. package/dist/commands/generate-components.js.map +1 -1
  54. package/dist/commands/generate-todos.js +1 -1
  55. package/dist/commands/generate-todos.js.map +1 -1
  56. package/dist/commands/generate.d.ts.map +1 -1
  57. package/dist/commands/generate.js +57 -41
  58. package/dist/commands/generate.js.map +1 -1
  59. package/dist/commands/playbooks.d.ts.map +1 -1
  60. package/dist/commands/playbooks.js +14 -8
  61. package/dist/commands/playbooks.js.map +1 -1
  62. package/dist/commands/preview.js +1 -1
  63. package/dist/commands/preview.js.map +1 -1
  64. package/dist/commands/refine.d.ts.map +1 -1
  65. package/dist/commands/refine.js +5 -3
  66. package/dist/commands/refine.js.map +1 -1
  67. package/dist/commands/sanitize.d.ts.map +1 -1
  68. package/dist/commands/sanitize.js +11 -4
  69. package/dist/commands/sanitize.js.map +1 -1
  70. package/dist/commands/setup-database.d.ts.map +1 -1
  71. package/dist/commands/setup-database.js +9 -7
  72. package/dist/commands/setup-database.js.map +1 -1
  73. package/dist/commands/setup-instantdb.d.ts.map +1 -1
  74. package/dist/commands/setup-instantdb.js +9 -7
  75. package/dist/commands/setup-instantdb.js.map +1 -1
  76. package/dist/config/build-strategies.json +2 -2
  77. package/dist/{agents/personalities/definitions.d.ts → constants/subAgentPersonalities.d.ts} +2 -2
  78. package/dist/constants/subAgentPersonalities.d.ts.map +1 -0
  79. package/dist/{agents/personalities/definitions.js → constants/subAgentPersonalities.js} +2 -2
  80. package/dist/constants/subAgentPersonalities.js.map +1 -0
  81. package/dist/package.json +1 -1
  82. package/dist/types/analysis.d.ts +67 -0
  83. package/dist/types/analysis.d.ts.map +1 -0
  84. package/dist/types/analysis.js +7 -0
  85. package/dist/types/analysis.js.map +1 -0
  86. package/dist/types/components.d.ts +90 -0
  87. package/dist/types/components.d.ts.map +1 -0
  88. package/dist/types/components.js +7 -0
  89. package/dist/types/components.js.map +1 -0
  90. package/dist/types/enhancement.d.ts +127 -0
  91. package/dist/types/enhancement.d.ts.map +1 -0
  92. package/dist/types/enhancement.js +7 -0
  93. package/dist/types/enhancement.js.map +1 -0
  94. package/dist/types/index.d.ts +4 -0
  95. package/dist/types/index.d.ts.map +1 -1
  96. package/dist/types/index.js +25 -0
  97. package/dist/types/index.js.map +1 -1
  98. package/dist/types/progress.d.ts +88 -0
  99. package/dist/types/progress.d.ts.map +1 -0
  100. package/dist/types/progress.js +7 -0
  101. package/dist/types/progress.js.map +1 -0
  102. package/dist/utils/ProjectHealthMonitor.d.ts.map +1 -1
  103. package/dist/utils/ProjectHealthMonitor.js +47 -36
  104. package/dist/utils/ProjectHealthMonitor.js.map +1 -1
  105. package/dist/utils/agentDefinitions.d.ts +2 -2
  106. package/dist/utils/agentDefinitions.d.ts.map +1 -1
  107. package/dist/utils/agentDefinitions.js +40 -33
  108. package/dist/utils/agentDefinitions.js.map +1 -1
  109. package/dist/utils/buildStrategyManager.d.ts.map +1 -1
  110. package/dist/utils/buildStrategyManager.js +1 -1
  111. package/dist/utils/buildStrategyManager.js.map +1 -1
  112. package/dist/utils/claudeAgentClient.d.ts +0 -1
  113. package/dist/utils/claudeAgentClient.d.ts.map +1 -1
  114. package/dist/utils/claudeAgentClient.js +46 -39
  115. package/dist/utils/claudeAgentClient.js.map +1 -1
  116. package/dist/utils/hybridAIClient.d.ts +1 -9
  117. package/dist/utils/hybridAIClient.d.ts.map +1 -1
  118. package/dist/utils/hybridAIClient.js +81 -78
  119. package/dist/utils/hybridAIClient.js.map +1 -1
  120. package/dist/utils/mcpAgentIntegration.d.ts.map +1 -1
  121. package/dist/utils/mcpAgentIntegration.js +1 -1
  122. package/dist/utils/mcpAgentIntegration.js.map +1 -1
  123. package/dist/utils/mcpTools.d.ts +5 -5
  124. package/dist/utils/mcpTools.d.ts.map +1 -1
  125. package/dist/utils/mcpTools.js +319 -241
  126. package/dist/utils/mcpTools.js.map +1 -1
  127. package/dist/utils/progressTracker.d.ts +3 -79
  128. package/dist/utils/progressTracker.d.ts.map +1 -1
  129. package/dist/utils/progressTracker.js +92 -68
  130. package/dist/utils/progressTracker.js.map +1 -1
  131. package/dist/utils/typeTemplateGenerator.d.ts.map +1 -1
  132. package/dist/utils/typeTemplateGenerator.js +125 -79
  133. package/dist/utils/typeTemplateGenerator.js.map +1 -1
  134. package/package.json +1 -1
  135. package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts +0 -110
  136. package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts.map +0 -1
  137. package/dist/agents/implementations/ClaudeAgentWorkflow.js +0 -661
  138. package/dist/agents/implementations/ClaudeAgentWorkflow.js.map +0 -1
  139. package/dist/agents/personalities/definitions.d.ts.map +0 -1
  140. package/dist/agents/personalities/definitions.js.map +0 -1
  141. package/dist/commands/model.d.ts +0 -22
  142. package/dist/commands/model.d.ts.map +0 -1
  143. package/dist/commands/model.js +0 -130
  144. package/dist/commands/model.js.map +0 -1
  145. package/dist/commands/normalize.d.ts +0 -5
  146. package/dist/commands/normalize.d.ts.map +0 -1
  147. package/dist/commands/normalize.js +0 -128
  148. package/dist/commands/normalize.js.map +0 -1
  149. package/dist/commands/pricing.d.ts +0 -15
  150. package/dist/commands/pricing.d.ts.map +0 -1
  151. package/dist/commands/pricing.js +0 -94
  152. package/dist/commands/pricing.js.map +0 -1
  153. package/dist/config/ai-providers.json +0 -102
  154. package/dist/config/pricing.json +0 -55
  155. package/dist/utils/aiClientFactory.d.ts +0 -93
  156. package/dist/utils/aiClientFactory.d.ts.map +0 -1
  157. package/dist/utils/aiClientFactory.js +0 -290
  158. package/dist/utils/aiClientFactory.js.map +0 -1
  159. package/dist/utils/aiClientRouter.d.ts +0 -121
  160. package/dist/utils/aiClientRouter.d.ts.map +0 -1
  161. package/dist/utils/aiClientRouter.js +0 -401
  162. package/dist/utils/aiClientRouter.js.map +0 -1
  163. package/dist/utils/apiKeyManager.d.ts +0 -137
  164. package/dist/utils/apiKeyManager.d.ts.map +0 -1
  165. package/dist/utils/apiKeyManager.js +0 -479
  166. package/dist/utils/apiKeyManager.js.map +0 -1
  167. package/dist/utils/claudeClient.d.ts +0 -28
  168. package/dist/utils/claudeClient.d.ts.map +0 -1
  169. package/dist/utils/claudeClient.js +0 -233
  170. package/dist/utils/claudeClient.js.map +0 -1
  171. package/dist/utils/geminiClient.d.ts +0 -61
  172. package/dist/utils/geminiClient.d.ts.map +0 -1
  173. package/dist/utils/geminiClient.js +0 -173
  174. package/dist/utils/geminiClient.js.map +0 -1
  175. package/dist/utils/githubModelsClient.d.ts +0 -27
  176. package/dist/utils/githubModelsClient.d.ts.map +0 -1
  177. package/dist/utils/githubModelsClient.js +0 -332
  178. package/dist/utils/githubModelsClient.js.map +0 -1
  179. package/dist/utils/huggingFaceClient.d.ts +0 -44
  180. package/dist/utils/huggingFaceClient.d.ts.map +0 -1
  181. package/dist/utils/huggingFaceClient.js +0 -169
  182. package/dist/utils/huggingFaceClient.js.map +0 -1
  183. package/dist/utils/openaiClient.d.ts +0 -24
  184. package/dist/utils/openaiClient.d.ts.map +0 -1
  185. package/dist/utils/openaiClient.js +0 -204
  186. package/dist/utils/openaiClient.js.map +0 -1
  187. package/dist/utils/qwenClient.d.ts +0 -22
  188. package/dist/utils/qwenClient.d.ts.map +0 -1
  189. package/dist/utils/qwenClient.js +0 -185
  190. package/dist/utils/qwenClient.js.map +0 -1
  191. package/dist/utils/streamingHandler.d.ts +0 -98
  192. package/dist/utils/streamingHandler.d.ts.map +0 -1
  193. package/dist/utils/streamingHandler.js +0 -259
  194. package/dist/utils/streamingHandler.js.map +0 -1
  195. package/dist/utils/xaiClient.d.ts +0 -19
  196. package/dist/utils/xaiClient.d.ts.map +0 -1
  197. package/dist/utils/xaiClient.js +0 -135
  198. package/dist/utils/xaiClient.js.map +0 -1
@@ -1,233 +0,0 @@
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.ClaudeClient = void 0;
40
- const node_fetch_1 = __importDefault(require("node-fetch"));
41
- const fs = __importStar(require("fs"));
42
- const path = __importStar(require("path"));
43
- class ClaudeClient {
44
- constructor() {
45
- // AIClient interface properties
46
- this.clientType = 'direct-api';
47
- this.supportsTools = false;
48
- this.supportsStreaming = false;
49
- this.baseUrl = "https://api.anthropic.com/v1";
50
- this.token =
51
- process.env.MYCONTEXT_CLAUDE_API_KEY ||
52
- process.env.ANTHROPIC_API_KEY ||
53
- null;
54
- if (!this.token) {
55
- const loaded = this.loadTokenFromEnvFiles();
56
- if (loaded) {
57
- this.token = loaded;
58
- }
59
- }
60
- }
61
- hasApiKey() {
62
- return !!this.token;
63
- }
64
- /**
65
- * Load token from project-level env files without external deps
66
- * Priority: .mycontext/.env -> .env
67
- */
68
- loadTokenFromEnvFiles() {
69
- try {
70
- const cwd = process.cwd();
71
- const candidates = [
72
- path.join(cwd, ".mycontext", ".env"),
73
- path.join(cwd, ".env"),
74
- ];
75
- for (const file of candidates) {
76
- if (fs.existsSync(file)) {
77
- const content = fs.readFileSync(file, "utf8");
78
- const lines = content.split("\n");
79
- for (const line of lines) {
80
- const trimmed = line.trim();
81
- if (trimmed.startsWith("MYCONTEXT_CLAUDE_API_KEY=") ||
82
- trimmed.startsWith("ANTHROPIC_API_KEY=")) {
83
- const keyValue = trimmed.split("=", 2);
84
- if (keyValue.length === 2) {
85
- const value = keyValue[1].replace(/^["']|["']$/g, ""); // Remove quotes
86
- if (value && !value.startsWith("$")) {
87
- // Not a variable reference
88
- return value;
89
- }
90
- }
91
- }
92
- }
93
- }
94
- }
95
- }
96
- catch (error) {
97
- // Ignore file read errors
98
- }
99
- return null;
100
- }
101
- async checkConnection() {
102
- if (!this.token)
103
- return false;
104
- try {
105
- const response = await (0, node_fetch_1.default)(`${this.baseUrl}/messages`, {
106
- method: "POST",
107
- headers: {
108
- "x-api-key": this.token,
109
- "anthropic-version": "2023-06-01",
110
- "Content-Type": "application/json",
111
- },
112
- body: JSON.stringify({
113
- model: "claude-3-haiku-20240307",
114
- max_tokens: 1,
115
- messages: [{ role: "user", content: "test" }],
116
- }),
117
- });
118
- return response.ok;
119
- }
120
- catch (error) {
121
- console.log(`[ClaudeClient] Connection check failed: ${error}`);
122
- return false;
123
- }
124
- }
125
- async generateText(prompt, options = { model: "claude-3-haiku-20240307" }) {
126
- if (!this.token) {
127
- throw new Error("Claude API key not configured");
128
- }
129
- const model = options.model || "claude-3-haiku-20240307";
130
- const messages = [
131
- {
132
- role: "user",
133
- content: prompt,
134
- },
135
- ];
136
- const payload = {
137
- model,
138
- messages,
139
- max_tokens: options.maxTokens || 4096,
140
- temperature: options.temperature || 0.2,
141
- };
142
- const response = await (0, node_fetch_1.default)(`${this.baseUrl}/messages`, {
143
- method: "POST",
144
- headers: {
145
- "x-api-key": this.token,
146
- "anthropic-version": "2023-06-01",
147
- "Content-Type": "application/json",
148
- },
149
- body: JSON.stringify(payload),
150
- });
151
- if (!response.ok) {
152
- const errorText = await response.text();
153
- throw new Error(`Claude API error (${response.status}): ${errorText}`);
154
- }
155
- const data = await response.json();
156
- return data.content[0]?.text || "";
157
- }
158
- async generateComponent(prompt, context, options) {
159
- // For component generation, we want more structured output
160
- let enhancedPrompt = `You are a React component generator. Generate a complete, production-ready React component based on the following requirements:
161
-
162
- ${prompt}
163
-
164
- Please provide:
165
- 1. The complete component code in a code block
166
- 2. A brief explanation of the implementation
167
-
168
- Format your response with the code in a \`\`\`tsx code block.`;
169
- // Add context if available (though this client doesn't fully utilize it)
170
- if (context) {
171
- if (context.brand) {
172
- enhancedPrompt += `\n\nBrand Guidelines:\n${context.brand.substring(0, 500)}...`;
173
- }
174
- if (context.types) {
175
- enhancedPrompt += `\n\nType Definitions:\n${context.types.substring(0, 500)}...`;
176
- }
177
- }
178
- const claudeOptions = {
179
- model: options?.model || "claude-3-haiku-20240307",
180
- temperature: options?.temperature,
181
- maxTokens: options?.maxTokens,
182
- };
183
- return this.generateText(enhancedPrompt, claudeOptions);
184
- }
185
- async generateComponentRefinement(componentCode, prompt, context, options) {
186
- const enhancedPrompt = `You are a React component refactoring expert. Please refine the following component:
187
-
188
- \`\`\`tsx
189
- ${componentCode}
190
- \`\`\`
191
-
192
- Requirements:
193
- ${prompt}
194
-
195
- Please provide:
196
- 1. The complete refactored component code
197
- 2. A brief explanation of the changes made
198
-
199
- Format your response with the code in a \`\`\`tsx code block.`;
200
- const claudeOptions = {
201
- model: options?.model || "claude-3-haiku-20240307",
202
- temperature: options?.temperature,
203
- maxTokens: options?.maxTokens,
204
- };
205
- return this.generateText(enhancedPrompt, claudeOptions);
206
- }
207
- async listModels() {
208
- if (!this.token)
209
- return [];
210
- try {
211
- const response = await (0, node_fetch_1.default)(`${this.baseUrl}/models`, {
212
- method: "GET",
213
- headers: {
214
- "x-api-key": this.token,
215
- "anthropic-version": "2023-06-01",
216
- },
217
- });
218
- if (!response.ok)
219
- return [];
220
- const data = await response.json();
221
- return data.data?.map((model) => model.id) || [];
222
- }
223
- catch (error) {
224
- console.log(`[ClaudeClient] Failed to list models: ${error}`);
225
- return [];
226
- }
227
- }
228
- setApiKey(apiKey) {
229
- this.token = apiKey;
230
- }
231
- }
232
- exports.ClaudeClient = ClaudeClient;
233
- //# sourceMappingURL=claudeClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claudeClient.js","sourceRoot":"","sources":["../../src/utils/claudeClient.ts"],"names":[],"mappings":"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"}
@@ -1,61 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,173 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GeminiClient = void 0;
4
- class GeminiClient {
5
- constructor(apiKey) {
6
- this.name = "gemini";
7
- this.priority = 2;
8
- this.client = this;
9
- this.apiKey = apiKey || process.env.MYCONTEXT_GEMINI_API_KEY || "";
10
- this.baseUrl = "https://generativelanguage.googleapis.com/v1beta";
11
- }
12
- async generateText(prompt, options = {}) {
13
- if (!this.apiKey) {
14
- throw new Error("Gemini API key not found. Set MYCONTEXT_GEMINI_API_KEY environment variable.");
15
- }
16
- const model = options.model || "gemini-2.0-flash";
17
- const maxTokens = Math.min(options.maxTokens || 4000, 4000);
18
- const temperature = options.temperature || 0.2;
19
- try {
20
- const response = await fetch(`${this.baseUrl}/models/${model}:generateContent`, {
21
- method: "POST",
22
- headers: {
23
- "Content-Type": "application/json",
24
- "X-goog-api-key": this.apiKey,
25
- },
26
- body: JSON.stringify({
27
- contents: [
28
- {
29
- parts: [
30
- {
31
- text: prompt,
32
- },
33
- ],
34
- },
35
- ],
36
- generationConfig: {
37
- maxOutputTokens: Math.min(maxTokens, 4000),
38
- temperature: temperature,
39
- topP: 0.95,
40
- topK: 64,
41
- },
42
- }),
43
- });
44
- if (!response.ok) {
45
- const errorData = (await response.json().catch(() => ({})));
46
- throw new Error(`Gemini API error: ${response.status} ${response.statusText}. ${errorData?.error?.message || "Unknown error"}`);
47
- }
48
- const data = (await response.json());
49
- if (!data.candidates || data.candidates.length === 0) {
50
- throw new Error("No response generated from Gemini");
51
- }
52
- const candidate = data.candidates[0];
53
- const text = candidate.content.parts[0]?.text || "";
54
- return {
55
- text,
56
- provider: "gemini",
57
- usage: data.usageMetadata
58
- ? {
59
- tokens: data.usageMetadata.totalTokenCount,
60
- model: model,
61
- }
62
- : undefined,
63
- };
64
- }
65
- catch (error) {
66
- if (error instanceof Error) {
67
- throw error;
68
- }
69
- throw new Error(`Gemini API request failed: ${error}`);
70
- }
71
- }
72
- async generateComponent(prompt, options = {}) {
73
- const result = await this.generateText(prompt, options);
74
- // Extract component code from the response
75
- const codeMatch = result.text.match(/```(?:tsx?|jsx?|typescript|javascript)?\n([\s\S]*?)\n```/);
76
- const code = codeMatch ? codeMatch[1] : result.text;
77
- // Extract component name
78
- const nameMatch = code.match(/export\s+(?:default\s+)?(?:function|const)\s+(\w+)/);
79
- const componentName = nameMatch ? nameMatch[1] : "Component";
80
- // Extract dependencies
81
- const importMatches = code.match(/import\s+.*?from\s+["']([^"']+)["']/g) || [];
82
- const dependencies = importMatches
83
- .map((imp) => {
84
- const match = imp.match(/from\s+["']([^"']+)["']/);
85
- return match ? match[1] : "";
86
- })
87
- .filter(Boolean);
88
- // Extract shadcn components
89
- const shadcnMatches = code.match(/from\s+["']@\/components\/ui\/([^"']+)["']/g) || [];
90
- const shadcnComponents = shadcnMatches
91
- .map((imp) => {
92
- const match = imp.match(/@\/components\/ui\/([^"']+)/);
93
- return match ? match[1] : "";
94
- })
95
- .filter(Boolean);
96
- // Calculate quality score
97
- const qualityScore = this.calculateQualityScore(code);
98
- // Count lines of code
99
- const linesOfCode = code.split("\n").length;
100
- return {
101
- code,
102
- metadata: {
103
- componentName,
104
- dependencies,
105
- shadcnComponents,
106
- qualityScore,
107
- linesOfCode,
108
- },
109
- provider: "gemini",
110
- usage: result.usage,
111
- };
112
- }
113
- calculateQualityScore(code) {
114
- let score = 50; // Base score
115
- // Check for TypeScript
116
- if (code.includes("interface") || code.includes("type ")) {
117
- score += 10;
118
- }
119
- // Check for proper React patterns
120
- if (code.includes("React.FC") ||
121
- code.includes("useState") ||
122
- code.includes("useEffect")) {
123
- score += 10;
124
- }
125
- // Check for accessibility
126
- if (code.includes("aria-") ||
127
- code.includes("role=") ||
128
- code.includes("alt=")) {
129
- score += 10;
130
- }
131
- // Check for proper imports
132
- if (code.includes("import React") && code.includes("from 'react'")) {
133
- score += 5;
134
- }
135
- // Check for proper exports
136
- if (code.includes("export") &&
137
- (code.includes("function") || code.includes("const"))) {
138
- score += 5;
139
- }
140
- // Check for error handling
141
- if (code.includes("try") && code.includes("catch")) {
142
- score += 5;
143
- }
144
- // Check for comments
145
- if (code.includes("//") || code.includes("/*")) {
146
- score += 5;
147
- }
148
- return Math.min(score, 100);
149
- }
150
- async isAvailable() {
151
- if (!this.apiKey) {
152
- return false;
153
- }
154
- try {
155
- await this.generateText("Test", { maxTokens: 1 });
156
- return true;
157
- }
158
- catch {
159
- return false;
160
- }
161
- }
162
- getProviderName() {
163
- return "gemini";
164
- }
165
- hasApiKey() {
166
- return !!this.apiKey;
167
- }
168
- setApiKey(apiKey) {
169
- this.apiKey = apiKey;
170
- }
171
- }
172
- exports.GeminiClient = GeminiClient;
173
- //# sourceMappingURL=geminiClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geminiClient.js","sourceRoot":"","sources":["../../src/utils/geminiClient.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- export interface GitHubOptions {
2
- model: string;
3
- modelCandidates?: string[];
4
- temperature?: number;
5
- maxTokens?: number;
6
- }
7
- export declare class GitHubModelsClient {
8
- private baseUrl;
9
- private token;
10
- constructor();
11
- hasApiKey(): boolean;
12
- /**
13
- * Load token from project-level env files without external deps
14
- * Priority: .mycontext/.env -> .env
15
- */
16
- private loadTokenFromEnvFiles;
17
- private headers;
18
- checkConnection(): Promise<boolean>;
19
- generateText(prompt: string, opts?: Partial<GitHubOptions>): Promise<string>;
20
- /**
21
- * Attempt to list available models from GitHub Models. Falls back to a curated set.
22
- */
23
- listModels(): Promise<string[]>;
24
- generateComponent(prompt: string, opts?: Partial<GitHubOptions>): Promise<string>;
25
- generateComponentRefinement(componentCode: string, prompt: string, opts?: Partial<GitHubOptions>): Promise<string>;
26
- }
27
- //# sourceMappingURL=githubModelsClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"githubModelsClient.d.ts","sourceRoot":"","sources":["../../src/utils/githubModelsClient.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAgB;;IAiB7B,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,OAAO;IAMT,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IA0BnC,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,OAAO,CAAC,aAAa,CAAM,GAChC,OAAO,CAAC,MAAM,CAAC;IAiJlB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAgG/B,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC;IAOZ,2BAA2B,CAC/B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC;CAMnB"}