mycontext-cli 2.0.8 → 2.0.10

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 (202) 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/init.d.ts +1 -0
  60. package/dist/commands/init.d.ts.map +1 -1
  61. package/dist/commands/init.js +59 -13
  62. package/dist/commands/init.js.map +1 -1
  63. package/dist/commands/playbooks.d.ts.map +1 -1
  64. package/dist/commands/playbooks.js +14 -8
  65. package/dist/commands/playbooks.js.map +1 -1
  66. package/dist/commands/preview.js +1 -1
  67. package/dist/commands/preview.js.map +1 -1
  68. package/dist/commands/refine.d.ts.map +1 -1
  69. package/dist/commands/refine.js +5 -3
  70. package/dist/commands/refine.js.map +1 -1
  71. package/dist/commands/sanitize.d.ts.map +1 -1
  72. package/dist/commands/sanitize.js +11 -4
  73. package/dist/commands/sanitize.js.map +1 -1
  74. package/dist/commands/setup-database.d.ts.map +1 -1
  75. package/dist/commands/setup-database.js +9 -7
  76. package/dist/commands/setup-database.js.map +1 -1
  77. package/dist/commands/setup-instantdb.d.ts.map +1 -1
  78. package/dist/commands/setup-instantdb.js +9 -7
  79. package/dist/commands/setup-instantdb.js.map +1 -1
  80. package/dist/config/build-strategies.json +2 -2
  81. package/dist/{agents/personalities/definitions.d.ts → constants/subAgentPersonalities.d.ts} +2 -2
  82. package/dist/constants/subAgentPersonalities.d.ts.map +1 -0
  83. package/dist/{agents/personalities/definitions.js → constants/subAgentPersonalities.js} +2 -2
  84. package/dist/constants/subAgentPersonalities.js.map +1 -0
  85. package/dist/package.json +1 -1
  86. package/dist/types/analysis.d.ts +67 -0
  87. package/dist/types/analysis.d.ts.map +1 -0
  88. package/dist/types/analysis.js +7 -0
  89. package/dist/types/analysis.js.map +1 -0
  90. package/dist/types/components.d.ts +90 -0
  91. package/dist/types/components.d.ts.map +1 -0
  92. package/dist/types/components.js +7 -0
  93. package/dist/types/components.js.map +1 -0
  94. package/dist/types/enhancement.d.ts +127 -0
  95. package/dist/types/enhancement.d.ts.map +1 -0
  96. package/dist/types/enhancement.js +7 -0
  97. package/dist/types/enhancement.js.map +1 -0
  98. package/dist/types/index.d.ts +4 -0
  99. package/dist/types/index.d.ts.map +1 -1
  100. package/dist/types/index.js +25 -0
  101. package/dist/types/index.js.map +1 -1
  102. package/dist/types/progress.d.ts +88 -0
  103. package/dist/types/progress.d.ts.map +1 -0
  104. package/dist/types/progress.js +7 -0
  105. package/dist/types/progress.js.map +1 -0
  106. package/dist/utils/ProjectHealthMonitor.d.ts.map +1 -1
  107. package/dist/utils/ProjectHealthMonitor.js +47 -36
  108. package/dist/utils/ProjectHealthMonitor.js.map +1 -1
  109. package/dist/utils/agentDefinitions.d.ts +2 -2
  110. package/dist/utils/agentDefinitions.d.ts.map +1 -1
  111. package/dist/utils/agentDefinitions.js +40 -33
  112. package/dist/utils/agentDefinitions.js.map +1 -1
  113. package/dist/utils/buildStrategyManager.d.ts.map +1 -1
  114. package/dist/utils/buildStrategyManager.js +1 -1
  115. package/dist/utils/buildStrategyManager.js.map +1 -1
  116. package/dist/utils/claudeAgentClient.d.ts +0 -1
  117. package/dist/utils/claudeAgentClient.d.ts.map +1 -1
  118. package/dist/utils/claudeAgentClient.js +46 -39
  119. package/dist/utils/claudeAgentClient.js.map +1 -1
  120. package/dist/utils/hybridAIClient.d.ts +1 -9
  121. package/dist/utils/hybridAIClient.d.ts.map +1 -1
  122. package/dist/utils/hybridAIClient.js +81 -78
  123. package/dist/utils/hybridAIClient.js.map +1 -1
  124. package/dist/utils/mcpAgentIntegration.d.ts.map +1 -1
  125. package/dist/utils/mcpAgentIntegration.js +1 -1
  126. package/dist/utils/mcpAgentIntegration.js.map +1 -1
  127. package/dist/utils/mcpTools.d.ts +5 -5
  128. package/dist/utils/mcpTools.d.ts.map +1 -1
  129. package/dist/utils/mcpTools.js +319 -241
  130. package/dist/utils/mcpTools.js.map +1 -1
  131. package/dist/utils/progressTracker.d.ts +3 -79
  132. package/dist/utils/progressTracker.d.ts.map +1 -1
  133. package/dist/utils/progressTracker.js +92 -68
  134. package/dist/utils/progressTracker.js.map +1 -1
  135. package/dist/utils/typeTemplateGenerator.d.ts.map +1 -1
  136. package/dist/utils/typeTemplateGenerator.js +125 -79
  137. package/dist/utils/typeTemplateGenerator.js.map +1 -1
  138. package/package.json +1 -1
  139. package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts +0 -110
  140. package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts.map +0 -1
  141. package/dist/agents/implementations/ClaudeAgentWorkflow.js +0 -661
  142. package/dist/agents/implementations/ClaudeAgentWorkflow.js.map +0 -1
  143. package/dist/agents/personalities/definitions.d.ts.map +0 -1
  144. package/dist/agents/personalities/definitions.js.map +0 -1
  145. package/dist/commands/model.d.ts +0 -22
  146. package/dist/commands/model.d.ts.map +0 -1
  147. package/dist/commands/model.js +0 -130
  148. package/dist/commands/model.js.map +0 -1
  149. package/dist/commands/normalize.d.ts +0 -5
  150. package/dist/commands/normalize.d.ts.map +0 -1
  151. package/dist/commands/normalize.js +0 -128
  152. package/dist/commands/normalize.js.map +0 -1
  153. package/dist/commands/pricing.d.ts +0 -15
  154. package/dist/commands/pricing.d.ts.map +0 -1
  155. package/dist/commands/pricing.js +0 -94
  156. package/dist/commands/pricing.js.map +0 -1
  157. package/dist/config/ai-providers.json +0 -102
  158. package/dist/config/pricing.json +0 -55
  159. package/dist/utils/aiClientFactory.d.ts +0 -93
  160. package/dist/utils/aiClientFactory.d.ts.map +0 -1
  161. package/dist/utils/aiClientFactory.js +0 -290
  162. package/dist/utils/aiClientFactory.js.map +0 -1
  163. package/dist/utils/aiClientRouter.d.ts +0 -121
  164. package/dist/utils/aiClientRouter.d.ts.map +0 -1
  165. package/dist/utils/aiClientRouter.js +0 -401
  166. package/dist/utils/aiClientRouter.js.map +0 -1
  167. package/dist/utils/apiKeyManager.d.ts +0 -137
  168. package/dist/utils/apiKeyManager.d.ts.map +0 -1
  169. package/dist/utils/apiKeyManager.js +0 -479
  170. package/dist/utils/apiKeyManager.js.map +0 -1
  171. package/dist/utils/claudeClient.d.ts +0 -28
  172. package/dist/utils/claudeClient.d.ts.map +0 -1
  173. package/dist/utils/claudeClient.js +0 -233
  174. package/dist/utils/claudeClient.js.map +0 -1
  175. package/dist/utils/geminiClient.d.ts +0 -61
  176. package/dist/utils/geminiClient.d.ts.map +0 -1
  177. package/dist/utils/geminiClient.js +0 -173
  178. package/dist/utils/geminiClient.js.map +0 -1
  179. package/dist/utils/githubModelsClient.d.ts +0 -27
  180. package/dist/utils/githubModelsClient.d.ts.map +0 -1
  181. package/dist/utils/githubModelsClient.js +0 -332
  182. package/dist/utils/githubModelsClient.js.map +0 -1
  183. package/dist/utils/huggingFaceClient.d.ts +0 -44
  184. package/dist/utils/huggingFaceClient.d.ts.map +0 -1
  185. package/dist/utils/huggingFaceClient.js +0 -169
  186. package/dist/utils/huggingFaceClient.js.map +0 -1
  187. package/dist/utils/openaiClient.d.ts +0 -24
  188. package/dist/utils/openaiClient.d.ts.map +0 -1
  189. package/dist/utils/openaiClient.js +0 -204
  190. package/dist/utils/openaiClient.js.map +0 -1
  191. package/dist/utils/qwenClient.d.ts +0 -22
  192. package/dist/utils/qwenClient.d.ts.map +0 -1
  193. package/dist/utils/qwenClient.js +0 -185
  194. package/dist/utils/qwenClient.js.map +0 -1
  195. package/dist/utils/streamingHandler.d.ts +0 -98
  196. package/dist/utils/streamingHandler.d.ts.map +0 -1
  197. package/dist/utils/streamingHandler.js +0 -259
  198. package/dist/utils/streamingHandler.js.map +0 -1
  199. package/dist/utils/xaiClient.d.ts +0 -19
  200. package/dist/utils/xaiClient.d.ts.map +0 -1
  201. package/dist/utils/xaiClient.js +0 -135
  202. package/dist/utils/xaiClient.js.map +0 -1
@@ -1,479 +0,0 @@
1
- "use strict";
2
- /**
3
- * Secure API Key Management System for MyContext CLI
4
- *
5
- * Handles storage, validation, and secure access to API keys for multiple AI providers.
6
- * Supports environment variables, encrypted local storage, and secure key rotation.
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.listAPIKeys = exports.removeAPIKey = exports.validateAPIKey = exports.setAPIKey = exports.getAPIKey = exports.apiKeyManager = exports.APIKeyManager = void 0;
43
- const fs = __importStar(require("fs-extra"));
44
- const path = __importStar(require("path"));
45
- const os = __importStar(require("os"));
46
- const crypto = __importStar(require("crypto"));
47
- const errorHandler_1 = require("./errorHandler");
48
- const logger_1 = require("./logger");
49
- class APIKeyManager {
50
- constructor() {
51
- this.keys = new Map();
52
- this.providers = new Map();
53
- this.configPath = path.join(os.homedir(), ".mycontext", "api-keys.json");
54
- this.encryptionKey = this.getEncryptionKey();
55
- this.initializeProviders();
56
- }
57
- static getInstance() {
58
- if (!APIKeyManager.instance) {
59
- APIKeyManager.instance = new APIKeyManager();
60
- }
61
- return APIKeyManager.instance;
62
- }
63
- /**
64
- * Initialize supported AI providers
65
- */
66
- initializeProviders() {
67
- const providers = [
68
- {
69
- name: "qwen",
70
- envVar: "MYCONTEXT_QWEN_API_KEY",
71
- validationUrl: "https://openrouter.ai/api/v1/models",
72
- requiredPermissions: ["chat:completions"],
73
- rateLimits: { requests: 1000, window: 3600 },
74
- },
75
- {
76
- name: "xai",
77
- envVar: "XAI_API_KEY",
78
- validationUrl: "https://api.x.ai/v1/models",
79
- requiredPermissions: ["chat:completions"],
80
- rateLimits: { requests: 100, window: 3600 },
81
- },
82
- {
83
- name: "openai",
84
- envVar: "OPENAI_API_KEY",
85
- validationUrl: "https://api.openai.com/v1/models",
86
- requiredPermissions: ["chat:completions"],
87
- rateLimits: { requests: 3000, window: 3600 },
88
- },
89
- {
90
- name: "anthropic",
91
- envVar: "ANTHROPIC_API_KEY",
92
- validationUrl: "https://api.anthropic.com/v1/models",
93
- requiredPermissions: ["messages"],
94
- rateLimits: { requests: 100, window: 3600 },
95
- },
96
- {
97
- name: "google",
98
- envVar: "GOOGLE_API_KEY",
99
- validationUrl: "https://generativelanguage.googleapis.com/v1beta/models",
100
- requiredPermissions: ["generateContent"],
101
- rateLimits: { requests: 1000, window: 3600 },
102
- },
103
- ];
104
- providers.forEach((provider) => {
105
- this.providers.set(provider.name, provider);
106
- });
107
- }
108
- /**
109
- * Get or generate encryption key for secure storage
110
- */
111
- getEncryptionKey() {
112
- const keyPath = path.join(os.homedir(), ".mycontext", ".encryption-key");
113
- try {
114
- if (fs.existsSync(keyPath)) {
115
- return fs.readFileSync(keyPath, "utf-8");
116
- }
117
- }
118
- catch (error) {
119
- logger_1.logger.verbose("Could not read existing encryption key:", error);
120
- }
121
- // Generate new encryption key
122
- const newKey = crypto.randomBytes(32).toString("hex");
123
- try {
124
- fs.ensureDirSync(path.dirname(keyPath));
125
- fs.writeFileSync(keyPath, newKey, { mode: 0o600 }); // Read/write for owner only
126
- return newKey;
127
- }
128
- catch (error) {
129
- logger_1.logger.verbose("Could not save encryption key, using fallback:", error);
130
- // Fallback to environment-based key
131
- return (process.env.MYCONTEXT_ENCRYPTION_KEY ||
132
- crypto.randomBytes(32).toString("hex"));
133
- }
134
- }
135
- /**
136
- * Encrypt sensitive data
137
- */
138
- encrypt(data) {
139
- const iv = crypto.randomBytes(16);
140
- // Use PBKDF2 to derive a key from the encryption key
141
- const key = crypto.pbkdf2Sync(this.encryptionKey, iv, 100000, 32, "sha256");
142
- const cipher = crypto.createCipheriv("aes-256-cbc", key, iv);
143
- let encrypted = cipher.update(data, "utf8", "hex");
144
- encrypted += cipher.final("hex");
145
- return iv.toString("hex") + ":" + encrypted;
146
- }
147
- /**
148
- * Decrypt sensitive data
149
- */
150
- decrypt(encryptedData) {
151
- try {
152
- const [ivHex, encrypted] = encryptedData.split(":");
153
- const iv = Buffer.from(ivHex, "hex");
154
- // Use PBKDF2 to derive the same key from the encryption key
155
- const key = crypto.pbkdf2Sync(this.encryptionKey, iv, 100000, 32, "sha256");
156
- const decipher = crypto.createDecipheriv("aes-256-cbc", key, iv);
157
- let decrypted = decipher.update(encrypted, "hex", "utf8");
158
- decrypted += decipher.final("utf8");
159
- return decrypted;
160
- }
161
- catch (error) {
162
- throw new Error("Failed to decrypt API key data");
163
- }
164
- }
165
- /**
166
- * Load API keys from secure storage
167
- */
168
- async loadKeys() {
169
- try {
170
- if (!fs.existsSync(this.configPath)) {
171
- return;
172
- }
173
- const encryptedData = await fs.readFile(this.configPath, "utf-8");
174
- const decryptedData = this.decrypt(encryptedData);
175
- const keysData = JSON.parse(decryptedData);
176
- this.keys.clear();
177
- Object.entries(keysData).forEach(([provider, config]) => {
178
- this.keys.set(provider, config);
179
- });
180
- logger_1.logger.verbose(`Loaded ${this.keys.size} API keys from secure storage`);
181
- }
182
- catch (error) {
183
- logger_1.logger.verbose("Failed to load API keys from storage:", error);
184
- // Continue with environment variables only
185
- }
186
- }
187
- /**
188
- * Save API keys to secure storage
189
- */
190
- async saveKeys() {
191
- try {
192
- const keysData = {};
193
- this.keys.forEach((config, provider) => {
194
- keysData[provider] = config;
195
- });
196
- const jsonData = JSON.stringify(keysData, null, 2);
197
- const encryptedData = this.encrypt(jsonData);
198
- await fs.ensureDir(path.dirname(this.configPath));
199
- await fs.writeFile(this.configPath, encryptedData, { mode: 0o600 });
200
- logger_1.logger.verbose(`Saved ${this.keys.size} API keys to secure storage`);
201
- }
202
- catch (error) {
203
- throw (0, errorHandler_1.createError)(error, { operation: "save_api_keys" }, errorHandler_1.ErrorType.FILE_SYSTEM_ERROR);
204
- }
205
- }
206
- /**
207
- * Get API key for a provider
208
- */
209
- async getKey(provider) {
210
- // Check environment variables first
211
- const envKey = this.getKeyFromEnvironment(provider);
212
- if (envKey) {
213
- return envKey;
214
- }
215
- // Check stored keys
216
- const storedKey = this.keys.get(provider);
217
- if (storedKey?.key) {
218
- // Update last used timestamp
219
- storedKey.lastUsed = new Date().toISOString();
220
- await this.saveKeys();
221
- return storedKey.key;
222
- }
223
- return null;
224
- }
225
- /**
226
- * Get API key from environment variables
227
- */
228
- getKeyFromEnvironment(provider) {
229
- const providerConfig = this.providers.get(provider);
230
- if (!providerConfig) {
231
- return null;
232
- }
233
- return process.env[providerConfig.envVar] || null;
234
- }
235
- /**
236
- * Set API key for a provider
237
- */
238
- async setKey(provider, key, options = {}) {
239
- // Validate the key format
240
- if (!this.validateKeyFormat(provider, key)) {
241
- throw (0, errorHandler_1.createError)(new Error(`Invalid API key format for ${provider}`), { operation: "set_api_key", provider }, errorHandler_1.ErrorType.VALIDATION_ERROR);
242
- }
243
- const config = {
244
- provider,
245
- key,
246
- createdAt: new Date().toISOString(),
247
- isValid: true,
248
- ...options,
249
- };
250
- this.keys.set(provider, config);
251
- await this.saveKeys();
252
- logger_1.logger.success(`API key set for ${provider}`);
253
- }
254
- /**
255
- * Validate API key format
256
- */
257
- validateKeyFormat(provider, key) {
258
- if (!key || typeof key !== "string" || key.length < 10) {
259
- return false;
260
- }
261
- // Provider-specific validation
262
- switch (provider) {
263
- case "xai":
264
- return key.startsWith("xai_") && key.length >= 50;
265
- case "openai":
266
- return key.startsWith("sk-") && key.length >= 50;
267
- case "anthropic":
268
- return key.startsWith("sk-ant-") && key.length >= 50;
269
- case "google":
270
- return key.length >= 30; // Google API keys vary in format
271
- default:
272
- return key.length >= 20; // Generic minimum
273
- }
274
- }
275
- /**
276
- * Validate API key with provider
277
- */
278
- async validateKey(provider, key) {
279
- const apiKey = key || (await this.getKey(provider));
280
- if (!apiKey) {
281
- return {
282
- isValid: false,
283
- provider,
284
- error: "No API key found",
285
- };
286
- }
287
- const providerConfig = this.providers.get(provider);
288
- if (!providerConfig) {
289
- return {
290
- isValid: false,
291
- provider,
292
- error: "Unknown provider",
293
- };
294
- }
295
- // Basic format validation
296
- if (!this.validateKeyFormat(provider, apiKey)) {
297
- return {
298
- isValid: false,
299
- provider,
300
- error: "Invalid key format",
301
- };
302
- }
303
- // Online validation if URL is provided
304
- if (providerConfig.validationUrl) {
305
- try {
306
- const isValid = await this.validateWithProvider(provider, apiKey, providerConfig.validationUrl);
307
- return {
308
- isValid,
309
- provider,
310
- permissions: providerConfig.requiredPermissions,
311
- rateLimit: providerConfig.rateLimits,
312
- error: isValid ? undefined : "Key validation failed",
313
- };
314
- }
315
- catch (error) {
316
- return {
317
- isValid: false,
318
- provider,
319
- error: `Validation error: ${error instanceof Error ? error.message : "Unknown error"}`,
320
- };
321
- }
322
- }
323
- // Offline validation only
324
- return {
325
- isValid: true,
326
- provider,
327
- permissions: providerConfig.requiredPermissions,
328
- rateLimit: providerConfig.rateLimits,
329
- };
330
- }
331
- /**
332
- * Validate API key with provider's API
333
- */
334
- async validateWithProvider(provider, key, validationUrl) {
335
- try {
336
- const response = await fetch(validationUrl, {
337
- method: "GET",
338
- headers: {
339
- Authorization: `Bearer ${key}`,
340
- "User-Agent": "MyContext-CLI/1.0.0",
341
- },
342
- signal: AbortSignal.timeout(10000), // 10 second timeout
343
- });
344
- return response.ok;
345
- }
346
- catch (error) {
347
- logger_1.logger.verbose(`Failed to validate ${provider} API key:`, error);
348
- return false;
349
- }
350
- }
351
- /**
352
- * Remove API key for a provider
353
- */
354
- async removeKey(provider) {
355
- if (this.keys.has(provider)) {
356
- this.keys.delete(provider);
357
- await this.saveKeys();
358
- logger_1.logger.success(`API key removed for ${provider}`);
359
- }
360
- else {
361
- logger_1.logger.info(`No stored API key found for ${provider}`);
362
- }
363
- }
364
- /**
365
- * List all configured API keys
366
- */
367
- listKeys() {
368
- const result = [];
369
- this.providers.forEach((config, provider) => {
370
- const envKey = this.getKeyFromEnvironment(provider);
371
- const storedKey = this.keys.get(provider);
372
- let source = "none";
373
- let hasKey = false;
374
- if (envKey) {
375
- source = "environment";
376
- hasKey = true;
377
- }
378
- else if (storedKey?.key) {
379
- source = "storage";
380
- hasKey = true;
381
- }
382
- result.push({ provider, hasKey, source });
383
- });
384
- return result;
385
- }
386
- /**
387
- * Get provider configuration
388
- */
389
- getProviderConfig(provider) {
390
- return this.providers.get(provider);
391
- }
392
- /**
393
- * List all supported providers
394
- */
395
- getSupportedProviders() {
396
- return Array.from(this.providers.keys());
397
- }
398
- /**
399
- * Clear all stored API keys
400
- */
401
- async clearAllKeys() {
402
- this.keys.clear();
403
- await this.saveKeys();
404
- logger_1.logger.success("All stored API keys cleared");
405
- }
406
- /**
407
- * Export API keys (for backup purposes)
408
- */
409
- async exportKeys(password) {
410
- const keysData = {};
411
- this.keys.forEach((config, provider) => {
412
- keysData[provider] = config;
413
- });
414
- const jsonData = JSON.stringify(keysData, null, 2);
415
- const encryptedData = this.encrypt(jsonData);
416
- // Additional encryption with user password
417
- const salt = crypto.randomBytes(16);
418
- const key = crypto.pbkdf2Sync(password, salt, 100000, 32, "sha256");
419
- const iv = crypto.randomBytes(16);
420
- const cipher = crypto.createCipheriv("aes-256-cbc", key, iv);
421
- let encrypted = cipher.update(encryptedData, "utf8", "hex");
422
- encrypted += cipher.final("hex");
423
- encrypted =
424
- salt.toString("hex") + ":" + iv.toString("hex") + ":" + encrypted;
425
- return JSON.stringify({
426
- version: "1.0",
427
- salt: salt.toString("hex"),
428
- data: encrypted,
429
- timestamp: new Date().toISOString(),
430
- });
431
- }
432
- /**
433
- * Import API keys from backup
434
- */
435
- async importKeys(backupData, password) {
436
- try {
437
- const backup = JSON.parse(backupData);
438
- if (backup.version !== "1.0") {
439
- throw new Error("Unsupported backup version");
440
- }
441
- // Decrypt with user password
442
- const [saltHex, ivHex, encrypted] = backup.data.split(":");
443
- const salt = Buffer.from(saltHex, "hex");
444
- const iv = Buffer.from(ivHex, "hex");
445
- const key = crypto.pbkdf2Sync(password, salt, 100000, 32, "sha256");
446
- const decipher = crypto.createDecipheriv("aes-256-cbc", key, iv);
447
- let decrypted = decipher.update(encrypted, "hex", "utf8");
448
- decrypted += decipher.final("utf8");
449
- // Decrypt with internal key
450
- const keysData = JSON.parse(this.decrypt(decrypted));
451
- // Validate and import keys
452
- for (const [provider, config] of Object.entries(keysData)) {
453
- if (this.validateKeyFormat(provider, config.key)) {
454
- this.keys.set(provider, config);
455
- }
456
- }
457
- await this.saveKeys();
458
- logger_1.logger.success(`Imported ${Object.keys(keysData).length} API keys from backup`);
459
- }
460
- catch (error) {
461
- throw (0, errorHandler_1.createError)(error, { operation: "import_api_keys" }, errorHandler_1.ErrorType.VALIDATION_ERROR);
462
- }
463
- }
464
- }
465
- exports.APIKeyManager = APIKeyManager;
466
- // Export singleton instance
467
- exports.apiKeyManager = APIKeyManager.getInstance();
468
- // Utility functions
469
- const getAPIKey = (provider) => exports.apiKeyManager.getKey(provider);
470
- exports.getAPIKey = getAPIKey;
471
- const setAPIKey = (provider, key, options) => exports.apiKeyManager.setKey(provider, key, options);
472
- exports.setAPIKey = setAPIKey;
473
- const validateAPIKey = (provider, key) => exports.apiKeyManager.validateKey(provider, key);
474
- exports.validateAPIKey = validateAPIKey;
475
- const removeAPIKey = (provider) => exports.apiKeyManager.removeKey(provider);
476
- exports.removeAPIKey = removeAPIKey;
477
- const listAPIKeys = () => exports.apiKeyManager.listKeys();
478
- exports.listAPIKeys = listAPIKeys;
479
- //# sourceMappingURL=apiKeyManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiKeyManager.js","sourceRoot":"","sources":["../../src/utils/apiKeyManager.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { AIClient, AIClientOptions, AgentContext } from "../interfaces/AIClient";
2
- export interface ClaudeOptions {
3
- model: string;
4
- modelCandidates?: string[];
5
- temperature?: number;
6
- maxTokens?: number;
7
- }
8
- export declare class ClaudeClient implements AIClient {
9
- readonly clientType: "direct-api";
10
- readonly supportsTools = false;
11
- readonly supportsStreaming = false;
12
- private baseUrl;
13
- private token;
14
- constructor();
15
- hasApiKey(): boolean;
16
- /**
17
- * Load token from project-level env files without external deps
18
- * Priority: .mycontext/.env -> .env
19
- */
20
- private loadTokenFromEnvFiles;
21
- checkConnection(): Promise<boolean>;
22
- generateText(prompt: string, options?: ClaudeOptions): Promise<string>;
23
- generateComponent(prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<string>;
24
- generateComponentRefinement(componentCode: string, prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<string>;
25
- listModels(): Promise<string[]>;
26
- setApiKey(apiKey: string): void;
27
- }
28
- //# sourceMappingURL=claudeClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claudeClient.d.ts","sourceRoot":"","sources":["../../src/utils/claudeClient.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,YAAY,EACb,MAAM,wBAAwB,CAAC;AAEhC,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,YAAa,YAAW,QAAQ;IAE3C,QAAQ,CAAC,UAAU,EAAG,YAAY,CAAU;IAC5C,QAAQ,CAAC,aAAa,SAAS;IAC/B,QAAQ,CAAC,iBAAiB,SAAS;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAgB;;IAiB7B,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAqCvB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBnC,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,aAAoD,GAC5D,OAAO,CAAC,MAAM,CAAC;IAuCZ,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,CAAC;IA+BZ,2BAA2B,CAC/B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,CAAC;IAyBZ,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBrC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGhC"}