mycontext-cli 1.0.94 → 1.0.95

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 (31) hide show
  1. package/README.md +99 -5
  2. package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts +110 -0
  3. package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts.map +1 -0
  4. package/dist/agents/implementations/ClaudeAgentWorkflow.js +555 -0
  5. package/dist/agents/implementations/ClaudeAgentWorkflow.js.map +1 -0
  6. package/dist/agents/implementations/WorkflowAgent.d.ts +1 -0
  7. package/dist/agents/implementations/WorkflowAgent.d.ts.map +1 -1
  8. package/dist/agents/implementations/WorkflowAgent.js +8 -0
  9. package/dist/agents/implementations/WorkflowAgent.js.map +1 -1
  10. package/dist/package.json +2 -1
  11. package/dist/utils/claudeAgentClient.d.ts +98 -0
  12. package/dist/utils/claudeAgentClient.d.ts.map +1 -0
  13. package/dist/utils/claudeAgentClient.js +409 -0
  14. package/dist/utils/claudeAgentClient.js.map +1 -0
  15. package/dist/utils/contextManager.d.ts +86 -0
  16. package/dist/utils/contextManager.d.ts.map +1 -0
  17. package/dist/utils/contextManager.js +322 -0
  18. package/dist/utils/contextManager.js.map +1 -0
  19. package/dist/utils/hybridAIClient.d.ts +25 -1
  20. package/dist/utils/hybridAIClient.d.ts.map +1 -1
  21. package/dist/utils/hybridAIClient.js +69 -2
  22. package/dist/utils/hybridAIClient.js.map +1 -1
  23. package/dist/utils/mcpAgentIntegration.d.ts +104 -0
  24. package/dist/utils/mcpAgentIntegration.d.ts.map +1 -0
  25. package/dist/utils/mcpAgentIntegration.js +382 -0
  26. package/dist/utils/mcpAgentIntegration.js.map +1 -0
  27. package/dist/utils/toolPermissions.d.ts +105 -0
  28. package/dist/utils/toolPermissions.d.ts.map +1 -0
  29. package/dist/utils/toolPermissions.js +408 -0
  30. package/dist/utils/toolPermissions.js.map +1 -0
  31. package/package.json +2 -1
@@ -0,0 +1,86 @@
1
+ export interface ProjectContext {
2
+ prd?: string;
3
+ types?: string;
4
+ brand?: string;
5
+ componentList?: any;
6
+ projectStructure?: string;
7
+ previousOutputs?: Record<string, any>;
8
+ userPrompt?: string;
9
+ workingDirectory?: string;
10
+ contextVersion?: string;
11
+ lastUpdated?: string;
12
+ }
13
+ export interface ContextCompactionOptions {
14
+ maxContextSize?: number;
15
+ preserveRecent?: boolean;
16
+ compressionLevel?: 'low' | 'medium' | 'high';
17
+ }
18
+ export declare class ContextManager {
19
+ private contextDir;
20
+ private contextFile;
21
+ private maxContextSize;
22
+ private compressionLevel;
23
+ constructor(workingDirectory?: string);
24
+ /**
25
+ * Load project context from files and memory
26
+ */
27
+ loadContext(): Promise<ProjectContext>;
28
+ /**
29
+ * Save context to memory for persistence
30
+ */
31
+ saveContext(context: ProjectContext): Promise<void>;
32
+ /**
33
+ * Compact context to reduce size while preserving important information
34
+ */
35
+ compactContext(context: ProjectContext, options?: ContextCompactionOptions): Promise<ProjectContext>;
36
+ /**
37
+ * Merge new context with existing context
38
+ */
39
+ mergeContext(existingContext: ProjectContext, newContext: Partial<ProjectContext>): Promise<ProjectContext>;
40
+ /**
41
+ * Get context summary for debugging
42
+ */
43
+ getContextSummary(context: ProjectContext): string;
44
+ /**
45
+ * Clear context memory
46
+ */
47
+ clearContext(): Promise<void>;
48
+ /**
49
+ * Load context from individual files
50
+ */
51
+ private loadContextFiles;
52
+ /**
53
+ * Load context from memory file
54
+ */
55
+ private loadMemoryContext;
56
+ /**
57
+ * Calculate context size in bytes
58
+ */
59
+ private calculateContextSize;
60
+ /**
61
+ * Compress text by removing unnecessary whitespace and comments
62
+ */
63
+ private compressText;
64
+ /**
65
+ * Preserve only recent outputs
66
+ */
67
+ private preserveRecentOutputs;
68
+ /**
69
+ * Set context size limits
70
+ */
71
+ setContextLimits(maxSize: number, compressionLevel: 'low' | 'medium' | 'high'): void;
72
+ /**
73
+ * Get context statistics
74
+ */
75
+ getContextStats(context: ProjectContext): {
76
+ totalSize: number;
77
+ fileCount: number;
78
+ lastUpdated: string;
79
+ compressionRatio: number;
80
+ };
81
+ /**
82
+ * Calculate original size before compression
83
+ */
84
+ private calculateOriginalSize;
85
+ }
86
+ //# sourceMappingURL=contextManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextManager.d.ts","sourceRoot":"","sources":["../../src/utils/contextManager.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,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC9C;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,gBAAgB,CAA4B;gBAExC,gBAAgB,CAAC,EAAE,MAAM;IAOrC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAsB5C;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzD;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,cAAc,CAAC;IA0D1B;;OAEG;IACG,YAAY,CAChB,eAAe,EAAE,cAAc,EAC/B,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,GAClC,OAAO,CAAC,cAAc,CAAC;IAyB1B;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM;IAelD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnC;;OAEG;YACW,gBAAgB;IAgC9B;;OAEG;YACW,iBAAiB;IAc/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI;IAKpF;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG;QACxC,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IAqBD;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAI9B"}
@@ -0,0 +1,322 @@
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.ContextManager = void 0;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const chalk_1 = __importDefault(require("chalk"));
43
+ class ContextManager {
44
+ constructor(workingDirectory) {
45
+ this.contextDir = path.join(workingDirectory || process.cwd(), '.mycontext');
46
+ this.contextFile = path.join(this.contextDir, 'context.json');
47
+ this.maxContextSize = 50000; // Default 50KB context limit
48
+ this.compressionLevel = 'medium';
49
+ }
50
+ /**
51
+ * Load project context from files and memory
52
+ */
53
+ async loadContext() {
54
+ const context = {
55
+ workingDirectory: this.contextDir.replace('/.mycontext', ''),
56
+ contextVersion: '1.0',
57
+ lastUpdated: new Date().toISOString(),
58
+ };
59
+ try {
60
+ // Load from context files
61
+ await this.loadContextFiles(context);
62
+ // Load from memory file if exists
63
+ await this.loadMemoryContext(context);
64
+ console.log(chalk_1.default.green('✅ Context loaded successfully'));
65
+ return context;
66
+ }
67
+ catch (error) {
68
+ console.log(chalk_1.default.yellow(`⚠️ Context loading warning: ${error.message}`));
69
+ return context;
70
+ }
71
+ }
72
+ /**
73
+ * Save context to memory for persistence
74
+ */
75
+ async saveContext(context) {
76
+ try {
77
+ // Ensure context directory exists
78
+ if (!fs.existsSync(this.contextDir)) {
79
+ fs.mkdirSync(this.contextDir, { recursive: true });
80
+ }
81
+ // Update metadata
82
+ context.lastUpdated = new Date().toISOString();
83
+ context.contextVersion = context.contextVersion || '1.0';
84
+ // Save to memory file
85
+ fs.writeFileSync(this.contextFile, JSON.stringify(context, null, 2));
86
+ console.log(chalk_1.default.green('✅ Context saved successfully'));
87
+ }
88
+ catch (error) {
89
+ console.log(chalk_1.default.red(`❌ Context save failed: ${error.message}`));
90
+ }
91
+ }
92
+ /**
93
+ * Compact context to reduce size while preserving important information
94
+ */
95
+ async compactContext(context, options = {}) {
96
+ const maxSize = options.maxContextSize || this.maxContextSize;
97
+ const preserveRecent = options.preserveRecent !== false;
98
+ const compressionLevel = options.compressionLevel || this.compressionLevel;
99
+ const compactedContext = { ...context };
100
+ try {
101
+ // Calculate current context size
102
+ const currentSize = this.calculateContextSize(context);
103
+ if (currentSize <= maxSize) {
104
+ console.log(chalk_1.default.green('✅ Context size is within limits'));
105
+ return context;
106
+ }
107
+ console.log(chalk_1.default.yellow(`⚠️ Context size (${currentSize} bytes) exceeds limit (${maxSize} bytes). Compacting...`));
108
+ // Apply compression based on level
109
+ switch (compressionLevel) {
110
+ case 'low':
111
+ compactedContext.prd = this.compressText(context.prd || '', 0.8);
112
+ compactedContext.brand = this.compressText(context.brand || '', 0.8);
113
+ break;
114
+ case 'medium':
115
+ compactedContext.prd = this.compressText(context.prd || '', 0.6);
116
+ compactedContext.brand = this.compressText(context.brand || '', 0.6);
117
+ compactedContext.projectStructure = this.compressText(context.projectStructure || '', 0.7);
118
+ break;
119
+ case 'high':
120
+ compactedContext.prd = this.compressText(context.prd || '', 0.4);
121
+ compactedContext.brand = this.compressText(context.brand || '', 0.4);
122
+ compactedContext.projectStructure = this.compressText(context.projectStructure || '', 0.5);
123
+ compactedContext.types = this.compressText(context.types || '', 0.6);
124
+ break;
125
+ }
126
+ // Preserve recent outputs if requested
127
+ if (preserveRecent && context.previousOutputs) {
128
+ compactedContext.previousOutputs = this.preserveRecentOutputs(context.previousOutputs);
129
+ }
130
+ // Update metadata
131
+ compactedContext.lastUpdated = new Date().toISOString();
132
+ compactedContext.contextVersion = '1.0-compacted';
133
+ const newSize = this.calculateContextSize(compactedContext);
134
+ console.log(chalk_1.default.green(`✅ Context compacted: ${currentSize} → ${newSize} bytes`));
135
+ return compactedContext;
136
+ }
137
+ catch (error) {
138
+ console.log(chalk_1.default.red(`❌ Context compaction failed: ${error.message}`));
139
+ return context;
140
+ }
141
+ }
142
+ /**
143
+ * Merge new context with existing context
144
+ */
145
+ async mergeContext(existingContext, newContext) {
146
+ const mergedContext = {
147
+ ...existingContext,
148
+ ...newContext,
149
+ lastUpdated: new Date().toISOString(),
150
+ };
151
+ // Merge previous outputs intelligently
152
+ if (existingContext.previousOutputs && newContext.previousOutputs) {
153
+ mergedContext.previousOutputs = {
154
+ ...existingContext.previousOutputs,
155
+ ...newContext.previousOutputs,
156
+ };
157
+ }
158
+ // Check if compaction is needed
159
+ const size = this.calculateContextSize(mergedContext);
160
+ if (size > this.maxContextSize) {
161
+ console.log(chalk_1.default.yellow('⚠️ Merged context exceeds size limit, compacting...'));
162
+ return await this.compactContext(mergedContext);
163
+ }
164
+ return mergedContext;
165
+ }
166
+ /**
167
+ * Get context summary for debugging
168
+ */
169
+ getContextSummary(context) {
170
+ const summary = {
171
+ prd: context.prd ? `${context.prd.length} chars` : 'Not loaded',
172
+ types: context.types ? `${context.types.length} chars` : 'Not loaded',
173
+ brand: context.brand ? `${context.brand.length} chars` : 'Not loaded',
174
+ componentList: context.componentList ? `${Object.keys(context.componentList).length} components` : 'Not loaded',
175
+ projectStructure: context.projectStructure ? `${context.projectStructure.length} chars` : 'Not loaded',
176
+ previousOutputs: context.previousOutputs ? `${Object.keys(context.previousOutputs).length} outputs` : 'None',
177
+ totalSize: `${this.calculateContextSize(context)} bytes`,
178
+ lastUpdated: context.lastUpdated || 'Unknown',
179
+ };
180
+ return JSON.stringify(summary, null, 2);
181
+ }
182
+ /**
183
+ * Clear context memory
184
+ */
185
+ async clearContext() {
186
+ try {
187
+ if (fs.existsSync(this.contextFile)) {
188
+ fs.unlinkSync(this.contextFile);
189
+ console.log(chalk_1.default.green('✅ Context memory cleared'));
190
+ }
191
+ }
192
+ catch (error) {
193
+ console.log(chalk_1.default.red(`❌ Context clear failed: ${error.message}`));
194
+ }
195
+ }
196
+ /**
197
+ * Load context from individual files
198
+ */
199
+ async loadContextFiles(context) {
200
+ const files = [
201
+ { key: 'prd', file: '01-prd.md' },
202
+ { key: 'types', file: '02-types.ts' },
203
+ { key: 'brand', file: '03-branding.md' },
204
+ { key: 'projectStructure', file: '05-project-structure.md' },
205
+ ];
206
+ for (const { key, file } of files) {
207
+ const filePath = path.join(this.contextDir, file);
208
+ if (fs.existsSync(filePath)) {
209
+ try {
210
+ const content = fs.readFileSync(filePath, 'utf8');
211
+ context[key] = content;
212
+ }
213
+ catch (error) {
214
+ console.log(chalk_1.default.yellow(`⚠️ Could not load ${file}`));
215
+ }
216
+ }
217
+ }
218
+ // Load component list
219
+ const componentListPath = path.join(this.contextDir, '04-component-list.json');
220
+ if (fs.existsSync(componentListPath)) {
221
+ try {
222
+ const content = fs.readFileSync(componentListPath, 'utf8');
223
+ context.componentList = JSON.parse(content);
224
+ }
225
+ catch (error) {
226
+ console.log(chalk_1.default.yellow('⚠️ Could not load component list'));
227
+ }
228
+ }
229
+ }
230
+ /**
231
+ * Load context from memory file
232
+ */
233
+ async loadMemoryContext(context) {
234
+ if (fs.existsSync(this.contextFile)) {
235
+ try {
236
+ const content = fs.readFileSync(this.contextFile, 'utf8');
237
+ const memoryContext = JSON.parse(content);
238
+ // Merge memory context with file context
239
+ Object.assign(context, memoryContext);
240
+ }
241
+ catch (error) {
242
+ console.log(chalk_1.default.yellow('⚠️ Could not load memory context'));
243
+ }
244
+ }
245
+ }
246
+ /**
247
+ * Calculate context size in bytes
248
+ */
249
+ calculateContextSize(context) {
250
+ return JSON.stringify(context).length;
251
+ }
252
+ /**
253
+ * Compress text by removing unnecessary whitespace and comments
254
+ */
255
+ compressText(text, compressionRatio) {
256
+ if (!text)
257
+ return '';
258
+ // Remove excessive whitespace
259
+ let compressed = text.replace(/\s+/g, ' ').trim();
260
+ // Remove comments if compression ratio is high
261
+ if (compressionRatio < 0.7) {
262
+ compressed = compressed.replace(/\/\*[\s\S]*?\*\//g, '');
263
+ compressed = compressed.replace(/\/\/.*$/gm, '');
264
+ }
265
+ // Truncate if still too long
266
+ const targetLength = Math.floor(text.length * compressionRatio);
267
+ if (compressed.length > targetLength) {
268
+ compressed = compressed.substring(0, targetLength) + '...';
269
+ }
270
+ return compressed;
271
+ }
272
+ /**
273
+ * Preserve only recent outputs
274
+ */
275
+ preserveRecentOutputs(outputs) {
276
+ const sortedEntries = Object.entries(outputs)
277
+ .sort(([, a], [, b]) => {
278
+ const timestampA = a.timestamp || '0';
279
+ const timestampB = b.timestamp || '0';
280
+ return new Date(timestampB).getTime() - new Date(timestampA).getTime();
281
+ })
282
+ .slice(0, 10); // Keep only 10 most recent
283
+ return Object.fromEntries(sortedEntries);
284
+ }
285
+ /**
286
+ * Set context size limits
287
+ */
288
+ setContextLimits(maxSize, compressionLevel) {
289
+ this.maxContextSize = maxSize;
290
+ this.compressionLevel = compressionLevel;
291
+ }
292
+ /**
293
+ * Get context statistics
294
+ */
295
+ getContextStats(context) {
296
+ const totalSize = this.calculateContextSize(context);
297
+ const fileCount = [
298
+ context.prd,
299
+ context.types,
300
+ context.brand,
301
+ context.componentList,
302
+ context.projectStructure,
303
+ ].filter(Boolean).length;
304
+ const originalSize = this.calculateOriginalSize(context);
305
+ const compressionRatio = originalSize > 0 ? totalSize / originalSize : 1;
306
+ return {
307
+ totalSize,
308
+ fileCount,
309
+ lastUpdated: context.lastUpdated || 'Unknown',
310
+ compressionRatio,
311
+ };
312
+ }
313
+ /**
314
+ * Calculate original size before compression
315
+ */
316
+ calculateOriginalSize(context) {
317
+ // This is an approximation - in a real implementation, you'd track original sizes
318
+ return this.calculateContextSize(context) * 1.5;
319
+ }
320
+ }
321
+ exports.ContextManager = ContextManager;
322
+ //# sourceMappingURL=contextManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextManager.js","sourceRoot":"","sources":["../../src/utils/contextManager.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,14 @@ import { GitHubModelsClient } from "./githubModelsClient";
3
3
  import { XaiClient } from "./xaiClient";
4
4
  import { OpenAIClient } from "./openaiClient";
5
5
  import { ClaudeClient } from "./claudeClient";
6
+ import { ClaudeAgentClient } from "./claudeAgentClient";
6
7
  import { QwenClient } from "./qwenClient";
7
8
  import { GeminiClient } from "./geminiClient";
8
9
  import { HostedApiClient } from "./hostedApiClient";
9
10
  export interface AIProvider {
10
11
  name: string;
11
12
  priority: number;
12
- client: HuggingFaceClient | GitHubModelsClient | OpenAIClient | ClaudeClient | QwenClient | GeminiClient | XaiClient | HostedApiClient;
13
+ client: HuggingFaceClient | GitHubModelsClient | OpenAIClient | ClaudeClient | ClaudeAgentClient | QwenClient | GeminiClient | XaiClient | HostedApiClient;
13
14
  isAvailable: () => Promise<boolean>;
14
15
  }
15
16
  export interface AIProviderConfig {
@@ -112,5 +113,28 @@ export declare class HybridAIClient {
112
113
  setGeminiApiKey(apiKey: string): void;
113
114
  getAvailableProviders(): Promise<AIProvider[]>;
114
115
  getAllProviders(): Promise<AIProvider[]>;
116
+ /**
117
+ * Set Claude Agent API key
118
+ */
119
+ setClaudeAgentApiKey(apiKey: string): void;
120
+ /**
121
+ * Generate component using Claude Agent SDK with enhanced context
122
+ */
123
+ generateComponentWithAgent(prompt: string, context?: any, options?: any): Promise<string>;
124
+ /**
125
+ * Run agent workflow with Claude Agent SDK
126
+ */
127
+ runAgentWorkflow(workflowPrompt: string, context?: any, options?: any): Promise<{
128
+ content: string;
129
+ context: any;
130
+ }>;
131
+ /**
132
+ * Check if Claude Agent SDK is available
133
+ */
134
+ isClaudeAgentAvailable(): Promise<boolean>;
135
+ /**
136
+ * Get Claude Agent SDK client if available
137
+ */
138
+ getClaudeAgentClient(): ClaudeAgentClient | null;
115
139
  }
116
140
  //# sourceMappingURL=hybridAIClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hybridAIClient.d.ts","sourceRoot":"","sources":["../../src/utils/hybridAIClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybridAIClient.d.ts","sourceRoot":"","sources":["../../src/utils/hybridAIClient.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ const githubModelsClient_1 = require("./githubModelsClient");
41
41
  const xaiClient_1 = require("./xaiClient");
42
42
  const openaiClient_1 = require("./openaiClient");
43
43
  const claudeClient_1 = require("./claudeClient");
44
+ const claudeAgentClient_1 = require("./claudeAgentClient");
44
45
  const qwenClient_1 = require("./qwenClient");
45
46
  const geminiClient_1 = require("./geminiClient");
46
47
  const hostedApiClient_1 = require("./hostedApiClient");
@@ -75,13 +76,25 @@ class HybridAIClient {
75
76
  */
76
77
  async initializeProviders() {
77
78
  // Add user API key providers first (highest priority)
78
- // Claude
79
+ // Claude Agent SDK (highest priority for advanced features)
80
+ if (this.config?.claude?.enabled) {
81
+ const claudeAgentClient = new claudeAgentClient_1.ClaudeAgentClient();
82
+ if (claudeAgentClient.hasApiKey()) {
83
+ this.providers.push({
84
+ name: "claude-agent",
85
+ priority: 0, // Highest priority for Agent SDK
86
+ client: claudeAgentClient,
87
+ isAvailable: () => claudeAgentClient.checkConnection(),
88
+ });
89
+ }
90
+ }
91
+ // Claude (fallback to regular Claude client)
79
92
  if (this.config?.claude?.enabled) {
80
93
  const claudeClient = new claudeClient_1.ClaudeClient();
81
94
  if (claudeClient.hasApiKey()) {
82
95
  this.providers.push({
83
96
  name: "claude",
84
- priority: 1, // Highest priority for user keys
97
+ priority: 1, // High priority for user keys
85
98
  client: claudeClient,
86
99
  isAvailable: () => claudeClient.checkConnection(),
87
100
  });
@@ -682,6 +695,60 @@ class HybridAIClient {
682
695
  async getAllProviders() {
683
696
  return this.providers;
684
697
  }
698
+ /**
699
+ * Set Claude Agent API key
700
+ */
701
+ setClaudeAgentApiKey(apiKey) {
702
+ const claudeAgentProvider = this.providers.find((p) => p.name === "claude-agent");
703
+ if (claudeAgentProvider) {
704
+ claudeAgentProvider.client.setApiKey(apiKey);
705
+ }
706
+ }
707
+ /**
708
+ * Generate component using Claude Agent SDK with enhanced context
709
+ */
710
+ async generateComponentWithAgent(prompt, context = {}, options = {}) {
711
+ const claudeAgentProvider = this.providers.find((p) => p.name === "claude-agent");
712
+ if (claudeAgentProvider && (await claudeAgentProvider.isAvailable())) {
713
+ const agentClient = claudeAgentProvider.client;
714
+ return await agentClient.generateComponent(prompt, context, options);
715
+ }
716
+ // Fallback to regular component generation
717
+ const result = await this.generateComponent(prompt, options);
718
+ return typeof result === "string" ? result : result.code;
719
+ }
720
+ /**
721
+ * Run agent workflow with Claude Agent SDK
722
+ */
723
+ async runAgentWorkflow(workflowPrompt, context = {}, options = {}) {
724
+ const claudeAgentProvider = this.providers.find((p) => p.name === "claude-agent");
725
+ if (claudeAgentProvider && (await claudeAgentProvider.isAvailable())) {
726
+ const agentClient = claudeAgentProvider.client;
727
+ return await agentClient.runAgentWorkflow(workflowPrompt, context, options);
728
+ }
729
+ // Fallback to regular text generation
730
+ const result = await this.generateText(workflowPrompt, options);
731
+ const content = typeof result === "string" ? result : result.text;
732
+ return { content, context };
733
+ }
734
+ /**
735
+ * Check if Claude Agent SDK is available
736
+ */
737
+ async isClaudeAgentAvailable() {
738
+ const claudeAgentProvider = this.providers.find((p) => p.name === "claude-agent");
739
+ return claudeAgentProvider
740
+ ? await claudeAgentProvider.isAvailable()
741
+ : false;
742
+ }
743
+ /**
744
+ * Get Claude Agent SDK client if available
745
+ */
746
+ getClaudeAgentClient() {
747
+ const claudeAgentProvider = this.providers.find((p) => p.name === "claude-agent");
748
+ return claudeAgentProvider
749
+ ? claudeAgentProvider.client
750
+ : null;
751
+ }
685
752
  }
686
753
  exports.HybridAIClient = HybridAIClient;
687
754
  //# sourceMappingURL=hybridAIClient.js.map