mycontext-cli 2.0.27 → 2.0.29

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 (173) hide show
  1. package/README.md +71 -342
  2. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  3. package/dist/agents/implementations/CodeGenSubAgent.js +67 -14
  4. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  5. package/dist/agents/implementations/DesignPipelineAgent.d.ts +80 -0
  6. package/dist/agents/implementations/DesignPipelineAgent.d.ts.map +1 -0
  7. package/dist/agents/implementations/DesignPipelineAgent.js +1406 -0
  8. package/dist/agents/implementations/DesignPipelineAgent.js.map +1 -0
  9. package/dist/agents/implementations/FeatureAssemblyAgent.d.ts +67 -0
  10. package/dist/agents/implementations/FeatureAssemblyAgent.d.ts.map +1 -0
  11. package/dist/agents/implementations/FeatureAssemblyAgent.js +564 -0
  12. package/dist/agents/implementations/FeatureAssemblyAgent.js.map +1 -0
  13. package/dist/agents/implementations/PromptConstructorAgent.d.ts +10 -0
  14. package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -1
  15. package/dist/agents/implementations/PromptConstructorAgent.js +172 -12
  16. package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -1
  17. package/dist/agents/implementations/RoleBasedGenerator.d.ts +52 -0
  18. package/dist/agents/implementations/RoleBasedGenerator.d.ts.map +1 -0
  19. package/dist/agents/implementations/RoleBasedGenerator.js +370 -0
  20. package/dist/agents/implementations/RoleBasedGenerator.js.map +1 -0
  21. package/dist/cli.js +111 -56
  22. package/dist/cli.js.map +1 -1
  23. package/dist/clients/ClaudeSDKClient.d.ts +48 -0
  24. package/dist/clients/ClaudeSDKClient.d.ts.map +1 -0
  25. package/dist/clients/ClaudeSDKClient.js +158 -0
  26. package/dist/clients/ClaudeSDKClient.js.map +1 -0
  27. package/dist/clients/MyContextAIClient.d.ts +73 -0
  28. package/dist/clients/MyContextAIClient.d.ts.map +1 -0
  29. package/dist/clients/MyContextAIClient.js +280 -0
  30. package/dist/clients/MyContextAIClient.js.map +1 -0
  31. package/dist/clients/ProviderChain.d.ts +87 -0
  32. package/dist/clients/ProviderChain.d.ts.map +1 -0
  33. package/dist/clients/ProviderChain.js +246 -0
  34. package/dist/clients/ProviderChain.js.map +1 -0
  35. package/dist/clients/XAIClient.d.ts +48 -0
  36. package/dist/clients/XAIClient.d.ts.map +1 -0
  37. package/dist/clients/XAIClient.js +152 -0
  38. package/dist/clients/XAIClient.js.map +1 -0
  39. package/dist/commands/assemble-features.d.ts +40 -0
  40. package/dist/commands/assemble-features.d.ts.map +1 -0
  41. package/dist/commands/assemble-features.js +383 -0
  42. package/dist/commands/assemble-features.js.map +1 -0
  43. package/dist/commands/clone-starter.d.ts +32 -0
  44. package/dist/commands/clone-starter.d.ts.map +1 -0
  45. package/dist/commands/clone-starter.js +218 -0
  46. package/dist/commands/clone-starter.js.map +1 -0
  47. package/dist/commands/design-analyze.d.ts +46 -0
  48. package/dist/commands/design-analyze.d.ts.map +1 -0
  49. package/dist/commands/design-analyze.js +232 -0
  50. package/dist/commands/design-analyze.js.map +1 -0
  51. package/dist/commands/generate-components.d.ts +11 -0
  52. package/dist/commands/generate-components.d.ts.map +1 -1
  53. package/dist/commands/generate-components.js +342 -12
  54. package/dist/commands/generate-components.js.map +1 -1
  55. package/dist/commands/generate-context-files.d.ts +9 -0
  56. package/dist/commands/generate-context-files.d.ts.map +1 -1
  57. package/dist/commands/generate-context-files.js +57 -0
  58. package/dist/commands/generate-context-files.js.map +1 -1
  59. package/dist/commands/generate.d.ts +5 -0
  60. package/dist/commands/generate.d.ts.map +1 -1
  61. package/dist/commands/generate.js +109 -2
  62. package/dist/commands/generate.js.map +1 -1
  63. package/dist/commands/init.d.ts +1 -0
  64. package/dist/commands/init.d.ts.map +1 -1
  65. package/dist/commands/init.js +32 -10
  66. package/dist/commands/init.js.map +1 -1
  67. package/dist/commands/preview-components.d.ts +12 -0
  68. package/dist/commands/preview-components.d.ts.map +1 -0
  69. package/dist/commands/preview-components.js +122 -0
  70. package/dist/commands/preview-components.js.map +1 -0
  71. package/dist/commands/refine-component.d.ts +43 -0
  72. package/dist/commands/refine-component.d.ts.map +1 -0
  73. package/dist/commands/refine-component.js +313 -0
  74. package/dist/commands/refine-component.js.map +1 -0
  75. package/dist/commands/review-context.d.ts +47 -0
  76. package/dist/commands/review-context.d.ts.map +1 -0
  77. package/dist/commands/review-context.js +335 -0
  78. package/dist/commands/review-context.js.map +1 -0
  79. package/dist/commands/setup-complete.d.ts.map +1 -1
  80. package/dist/commands/setup-complete.js +38 -2
  81. package/dist/commands/setup-complete.js.map +1 -1
  82. package/dist/commands/workflow.d.ts.map +1 -1
  83. package/dist/commands/workflow.js +86 -7
  84. package/dist/commands/workflow.js.map +1 -1
  85. package/dist/config/intent-dictionary.json +3700 -0
  86. package/dist/package.json +12 -1
  87. package/dist/services/ContextValidator.d.ts +99 -0
  88. package/dist/services/ContextValidator.d.ts.map +1 -0
  89. package/dist/services/ContextValidator.js +433 -0
  90. package/dist/services/ContextValidator.js.map +1 -0
  91. package/dist/services/IntentEnricher.d.ts +61 -0
  92. package/dist/services/IntentEnricher.d.ts.map +1 -0
  93. package/dist/services/IntentEnricher.js +318 -0
  94. package/dist/services/IntentEnricher.js.map +1 -0
  95. package/dist/services/IntentValidator.d.ts +114 -0
  96. package/dist/services/IntentValidator.d.ts.map +1 -0
  97. package/dist/services/IntentValidator.js +680 -0
  98. package/dist/services/IntentValidator.js.map +1 -0
  99. package/dist/services/MutationLogger.d.ts +54 -0
  100. package/dist/services/MutationLogger.d.ts.map +1 -0
  101. package/dist/services/MutationLogger.js +164 -0
  102. package/dist/services/MutationLogger.js.map +1 -0
  103. package/dist/services/RegressionRunner.d.ts +49 -0
  104. package/dist/services/RegressionRunner.d.ts.map +1 -0
  105. package/dist/services/RegressionRunner.js +285 -0
  106. package/dist/services/RegressionRunner.js.map +1 -0
  107. package/dist/services/TriggerLogger.d.ts +101 -0
  108. package/dist/services/TriggerLogger.d.ts.map +1 -0
  109. package/dist/services/TriggerLogger.js +263 -0
  110. package/dist/services/TriggerLogger.js.map +1 -0
  111. package/dist/types/design-pipeline.d.ts +300 -0
  112. package/dist/types/design-pipeline.d.ts.map +1 -0
  113. package/dist/types/design-pipeline.js +9 -0
  114. package/dist/types/design-pipeline.js.map +1 -0
  115. package/dist/types/feature-bundle.d.ts +239 -0
  116. package/dist/types/feature-bundle.d.ts.map +1 -0
  117. package/dist/types/feature-bundle.js +9 -0
  118. package/dist/types/feature-bundle.js.map +1 -0
  119. package/dist/types/index.d.ts +2 -0
  120. package/dist/types/index.d.ts.map +1 -1
  121. package/dist/types/index.js +2 -0
  122. package/dist/types/index.js.map +1 -1
  123. package/dist/types/intent-dictionary.d.ts +525 -0
  124. package/dist/types/intent-dictionary.d.ts.map +1 -0
  125. package/dist/types/intent-dictionary.js +11 -0
  126. package/dist/types/intent-dictionary.js.map +1 -0
  127. package/dist/types/role-permissions.d.ts +167 -0
  128. package/dist/types/role-permissions.d.ts.map +1 -0
  129. package/dist/types/role-permissions.js +9 -0
  130. package/dist/types/role-permissions.js.map +1 -0
  131. package/dist/utils/contextEnricher.d.ts +41 -0
  132. package/dist/utils/contextEnricher.d.ts.map +1 -0
  133. package/dist/utils/contextEnricher.js +327 -0
  134. package/dist/utils/contextEnricher.js.map +1 -0
  135. package/dist/utils/designFallbacks.d.ts +48 -0
  136. package/dist/utils/designFallbacks.d.ts.map +1 -0
  137. package/dist/utils/designFallbacks.js +885 -0
  138. package/dist/utils/designFallbacks.js.map +1 -0
  139. package/dist/utils/designManifestManager.d.ts +89 -0
  140. package/dist/utils/designManifestManager.d.ts.map +1 -0
  141. package/dist/utils/designManifestManager.js +533 -0
  142. package/dist/utils/designManifestManager.js.map +1 -0
  143. package/dist/utils/designPipelineStateManager.d.ts +63 -0
  144. package/dist/utils/designPipelineStateManager.d.ts.map +1 -0
  145. package/dist/utils/designPipelineStateManager.js +174 -0
  146. package/dist/utils/designPipelineStateManager.js.map +1 -0
  147. package/dist/utils/envExampleGenerator.d.ts.map +1 -1
  148. package/dist/utils/envExampleGenerator.js +41 -171
  149. package/dist/utils/envExampleGenerator.js.map +1 -1
  150. package/dist/utils/featureBundleManager.d.ts +90 -0
  151. package/dist/utils/featureBundleManager.d.ts.map +1 -0
  152. package/dist/utils/featureBundleManager.js +340 -0
  153. package/dist/utils/featureBundleManager.js.map +1 -0
  154. package/dist/utils/githubCloner.d.ts +93 -0
  155. package/dist/utils/githubCloner.d.ts.map +1 -0
  156. package/dist/utils/githubCloner.js +305 -0
  157. package/dist/utils/githubCloner.js.map +1 -0
  158. package/dist/utils/hybridAIClient.d.ts.map +1 -1
  159. package/dist/utils/hybridAIClient.js +21 -0
  160. package/dist/utils/hybridAIClient.js.map +1 -1
  161. package/dist/utils/openRouterClient.d.ts +10 -0
  162. package/dist/utils/openRouterClient.d.ts.map +1 -0
  163. package/dist/utils/openRouterClient.js +61 -0
  164. package/dist/utils/openRouterClient.js.map +1 -0
  165. package/dist/utils/rolePermissionMapper.d.ts +89 -0
  166. package/dist/utils/rolePermissionMapper.d.ts.map +1 -0
  167. package/dist/utils/rolePermissionMapper.js +337 -0
  168. package/dist/utils/rolePermissionMapper.js.map +1 -0
  169. package/dist/utils/unifiedDesignContextLoader.d.ts +76 -0
  170. package/dist/utils/unifiedDesignContextLoader.d.ts.map +1 -0
  171. package/dist/utils/unifiedDesignContextLoader.js +344 -0
  172. package/dist/utils/unifiedDesignContextLoader.js.map +1 -0
  173. package/package.json +12 -1
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MyContextAIClient = void 0;
7
+ const openai_1 = __importDefault(require("openai"));
8
+ /**
9
+ * MyContext AI Client - Fine-tuned GPT-4o Mini for component generation
10
+ *
11
+ * This client uses our proprietary fine-tuned model trained on the Intent Dictionary System
12
+ * to achieve 95%+ accuracy in generating shadcn/ui components from natural language.
13
+ *
14
+ * **Usage Options**:
15
+ * 1. Hosted API (coming soon): Set MYCONTEXT_API_KEY for api.mycontext.dev
16
+ * 2. Self-hosted fine-tuned model: Train your own using fine-tuning-strategy.md
17
+ * 3. Fallback to Claude SDK or XAI: Use BYOK mode with your provider keys
18
+ *
19
+ * **Business Model**: Open source CLI, optional paid hosted API
20
+ */
21
+ class MyContextAIClient {
22
+ constructor(modelId) {
23
+ this.clientType = "direct-api";
24
+ this.supportsTools = false;
25
+ this.supportsStreaming = false;
26
+ this.openai = null;
27
+ this.apiKey = null;
28
+ this.isHostedAPI = false; // Future: detect api.mycontext.dev vs self-hosted
29
+ // Check for MyContext AI API key (future hosted service)
30
+ const myContextApiKey = process.env.MYCONTEXT_API_KEY;
31
+ if (myContextApiKey) {
32
+ // Future: Route to api.mycontext.dev
33
+ this.apiKey = myContextApiKey;
34
+ this.isHostedAPI = true;
35
+ this.modelId = "mycontext-ai"; // Hosted model alias
36
+ }
37
+ else {
38
+ // Self-hosted fine-tuned model
39
+ this.modelId =
40
+ modelId ||
41
+ process.env.MYCONTEXT_MODEL_ID ||
42
+ "ft:gpt-4o-mini-2024-07-18:mycontext:intent-dict:abc123";
43
+ this.apiKey = process.env.OPENAI_API_KEY || null;
44
+ this.isHostedAPI = false;
45
+ }
46
+ if (this.apiKey) {
47
+ this.openai = new openai_1.default({
48
+ apiKey: this.apiKey,
49
+ // Future: baseURL for hosted API
50
+ ...(this.isHostedAPI && { baseURL: "https://api.mycontext.dev/v1" }),
51
+ });
52
+ }
53
+ }
54
+ /**
55
+ * Check if API key is available
56
+ */
57
+ hasApiKey() {
58
+ return !!this.apiKey;
59
+ }
60
+ /**
61
+ * Set API key for OpenAI client
62
+ */
63
+ setApiKey(apiKey) {
64
+ this.apiKey = apiKey;
65
+ this.openai = new openai_1.default({
66
+ apiKey: this.apiKey,
67
+ });
68
+ }
69
+ /**
70
+ * Check connection to OpenAI API
71
+ */
72
+ async checkConnection() {
73
+ if (!this.apiKey) {
74
+ return false;
75
+ }
76
+ try {
77
+ await this.openai?.models.list();
78
+ return true;
79
+ }
80
+ catch (error) {
81
+ console.warn("MyContext AI connection check failed:", error);
82
+ return false;
83
+ }
84
+ }
85
+ /**
86
+ * Generate text using MyContext AI
87
+ */
88
+ async generateText(prompt, options = {}) {
89
+ if (!this.apiKey) {
90
+ throw new Error("OpenAI API key not configured for MyContext AI");
91
+ }
92
+ try {
93
+ const response = await this.openai.chat.completions.create({
94
+ model: this.modelId,
95
+ messages: [
96
+ {
97
+ role: "system",
98
+ content: this.buildSystemPrompt(),
99
+ },
100
+ {
101
+ role: "user",
102
+ content: prompt,
103
+ },
104
+ ],
105
+ temperature: options.temperature || 0.1, // Low temperature for consistency
106
+ max_tokens: options.maxTokens || 4000,
107
+ });
108
+ return response.choices[0]?.message?.content || "";
109
+ }
110
+ catch (error) {
111
+ throw new Error(`MyContext AI generation failed: ${error}`);
112
+ }
113
+ }
114
+ /**
115
+ * Generate React component using MyContext AI with Intent Dictionary context
116
+ */
117
+ async generateComponent(prompt, context, options = {}) {
118
+ if (!this.apiKey) {
119
+ throw new Error("OpenAI API key not configured for MyContext AI");
120
+ }
121
+ try {
122
+ // Build enriched context with Intent Dictionary
123
+ const enrichedContext = this.buildEnrichedContext(context);
124
+ const response = await this.openai.chat.completions.create({
125
+ model: this.modelId,
126
+ messages: [
127
+ {
128
+ role: "system",
129
+ content: this.buildComponentSystemPrompt(enrichedContext),
130
+ },
131
+ {
132
+ role: "user",
133
+ content: prompt,
134
+ },
135
+ ],
136
+ temperature: options.temperature || 0.1,
137
+ max_tokens: options.maxTokens || 4000,
138
+ });
139
+ return response.choices[0]?.message?.content || "";
140
+ }
141
+ catch (error) {
142
+ throw new Error(`MyContext AI component generation failed: ${error}`);
143
+ }
144
+ }
145
+ /**
146
+ * Generate component refinement using MyContext AI
147
+ */
148
+ async generateComponentRefinement(componentCode, prompt, context, options = {}) {
149
+ if (!this.apiKey) {
150
+ throw new Error("OpenAI API key not configured for MyContext AI");
151
+ }
152
+ try {
153
+ const enrichedContext = this.buildEnrichedContext(context);
154
+ const response = await this.openai.chat.completions.create({
155
+ model: this.modelId,
156
+ messages: [
157
+ {
158
+ role: "system",
159
+ content: this.buildRefinementSystemPrompt(enrichedContext),
160
+ },
161
+ {
162
+ role: "user",
163
+ content: `Component to refine:\n\`\`\`tsx\n${componentCode}\n\`\`\n\nRefinement request: ${prompt}`,
164
+ },
165
+ ],
166
+ temperature: options.temperature || 0.1,
167
+ max_tokens: options.maxTokens || 4000,
168
+ });
169
+ return response.choices[0]?.message?.content || "";
170
+ }
171
+ catch (error) {
172
+ throw new Error(`MyContext AI refinement failed: ${error}`);
173
+ }
174
+ }
175
+ /**
176
+ * List available models (returns our fine-tuned model)
177
+ */
178
+ async listModels() {
179
+ return [this.modelId];
180
+ }
181
+ /**
182
+ * Build system prompt for general text generation
183
+ */
184
+ buildSystemPrompt() {
185
+ return `You are MyContext AI, a specialized AI model fine-tuned for generating high-quality React components and UI code.
186
+
187
+ Key capabilities:
188
+ - Generate production-ready React components with TypeScript
189
+ - Use shadcn/ui components and patterns
190
+ - Include proper accessibility attributes
191
+ - Follow modern React best practices
192
+ - Provide complete, runnable code
193
+
194
+ Always provide complete, production-ready code with proper imports and TypeScript types.`;
195
+ }
196
+ /**
197
+ * Build system prompt for component generation with Intent Dictionary context
198
+ */
199
+ buildComponentSystemPrompt(enrichedContext) {
200
+ const intentContext = enrichedContext.enriched_intents
201
+ ?.map((intent) => `- ${intent.canonical_intent}: ${intent.shadcn_components.join(", ")}`)
202
+ .join("\n") || "";
203
+ const validationReport = enrichedContext.intent_validation_report;
204
+ const confidenceScore = validationReport
205
+ ? (validationReport.confidence_score * 100).toFixed(0)
206
+ : "N/A";
207
+ return `You are MyContext AI, fine-tuned for 95%+ accurate shadcn/ui component generation using the Intent Dictionary System.
208
+
209
+ INTENT DICTIONARY CONTEXT:
210
+ ${intentContext}
211
+
212
+ VALIDATION REPORT:
213
+ - Confidence Score: ${confidenceScore}%
214
+ - Validated Intents: ${validationReport?.validated_intents.length || 0}
215
+ - Ambiguous Intents: ${validationReport?.ambiguous_intents.length || 0}
216
+
217
+ GENERATION RULES:
218
+ 1. Generate complete, production-ready React components
219
+ 2. Use only shadcn/ui components from the intent dictionary
220
+ 3. Include proper TypeScript types and interfaces
221
+ 4. Add accessibility attributes (ARIA labels, roles, etc.)
222
+ 5. Follow exact component patterns specified in intent mappings
223
+ 6. Never hallucinate components or props not in the dictionary
224
+ 7. Include proper imports and exports
225
+ 8. Use modern React patterns (hooks, functional components)
226
+ 9. Add proper error handling and loading states
227
+ 10. Ensure responsive design with Tailwind CSS
228
+
229
+ OUTPUT FORMAT:
230
+ - Complete React component with TypeScript
231
+ - Proper imports from shadcn/ui
232
+ - Interface definitions for props
233
+ - Accessibility attributes
234
+ - Responsive design classes
235
+ - Error handling and loading states
236
+
237
+ Never generate incomplete or placeholder code. Always provide production-ready components.`;
238
+ }
239
+ /**
240
+ * Build system prompt for component refinement
241
+ */
242
+ buildRefinementSystemPrompt(enrichedContext) {
243
+ return `You are MyContext AI, specialized in refining and improving React components.
244
+
245
+ REFINEMENT RULES:
246
+ 1. Maintain existing functionality while implementing requested changes
247
+ 2. Preserve TypeScript types and interfaces
248
+ 3. Keep accessibility attributes intact
249
+ 4. Follow shadcn/ui patterns and conventions
250
+ 5. Ensure code remains production-ready
251
+ 6. Add proper error handling if needed
252
+ 7. Maintain responsive design
253
+ 8. Preserve existing imports and structure
254
+
255
+ Always provide the complete refined component, not just the changes.`;
256
+ }
257
+ /**
258
+ * Build enriched context from agent context
259
+ */
260
+ buildEnrichedContext(context) {
261
+ return {
262
+ technical_context: {
263
+ prd: context?.prd || "",
264
+ types: context?.types || "",
265
+ brand: context?.brand || "",
266
+ },
267
+ enriched_intents: [],
268
+ intent_validation_report: undefined,
269
+ intent_clarifications: [],
270
+ };
271
+ }
272
+ /**
273
+ * Cleanup resources
274
+ */
275
+ async cleanup() {
276
+ // No cleanup needed for OpenAI client
277
+ }
278
+ }
279
+ exports.MyContextAIClient = MyContextAIClient;
280
+ //# sourceMappingURL=MyContextAIClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MyContextAIClient.js","sourceRoot":"","sources":["../../src/clients/MyContextAIClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import { AIClient, AIClientOptions, AgentContext } from "../interfaces/AIClient";
2
+ import { MyContextAIClient } from "./MyContextAIClient";
3
+ /**
4
+ * Simplified Provider Chain for MyContext CLI
5
+ *
6
+ * Primary: MyContext AI (Fine-tuned GPT-4o Mini)
7
+ * Fallback 1: Claude SDK
8
+ * Fallback 2: XAI (Grok)
9
+ *
10
+ * This replaces the complex HybridAIClient with a streamlined approach
11
+ * focused on our specialized fine-tuned model.
12
+ */
13
+ export declare class ProviderChain implements AIClient {
14
+ readonly clientType: "hybrid";
15
+ readonly supportsTools = true;
16
+ readonly supportsStreaming = false;
17
+ private providers;
18
+ private myContextAI;
19
+ private claudeSDK;
20
+ private xai;
21
+ constructor();
22
+ /**
23
+ * Check if any provider has API key configured
24
+ */
25
+ hasApiKey(): boolean;
26
+ /**
27
+ * Set API key for all providers
28
+ */
29
+ setApiKey(apiKey: string): void;
30
+ /**
31
+ * Check connection to any available provider
32
+ */
33
+ checkConnection(): Promise<boolean>;
34
+ /**
35
+ * Generate text using the first available provider
36
+ */
37
+ generateText(prompt: string, options?: AIClientOptions): Promise<string>;
38
+ /**
39
+ * Generate React component using MyContext AI with fallbacks
40
+ */
41
+ generateComponent(prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<string>;
42
+ /**
43
+ * Generate component refinement using the first available provider
44
+ */
45
+ generateComponentRefinement(componentCode: string, prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<string>;
46
+ /**
47
+ * List models from all providers
48
+ */
49
+ listModels(): Promise<string[]>;
50
+ /**
51
+ * Get the primary provider (MyContext AI)
52
+ */
53
+ getPrimaryProvider(): MyContextAIClient;
54
+ /**
55
+ * Get provider by name
56
+ */
57
+ getProvider(name: string): AIClient | null;
58
+ /**
59
+ * Get provider status
60
+ */
61
+ getProviderStatus(): Array<{
62
+ name: string;
63
+ hasKey: boolean;
64
+ connected: boolean;
65
+ }>;
66
+ /**
67
+ * Check all provider connections
68
+ */
69
+ checkAllConnections(): Promise<Array<{
70
+ name: string;
71
+ hasKey: boolean;
72
+ connected: boolean;
73
+ }>>;
74
+ /**
75
+ * Cleanup all providers
76
+ */
77
+ cleanup(): Promise<void>;
78
+ }
79
+ /**
80
+ * Get the global provider chain instance
81
+ */
82
+ export declare function getProviderChain(): ProviderChain;
83
+ /**
84
+ * Reset the global provider chain instance
85
+ */
86
+ export declare function resetProviderChain(): void;
87
+ //# sourceMappingURL=ProviderChain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderChain.d.ts","sourceRoot":"","sources":["../../src/clients/ProviderChain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD;;;;;;;;;GASG;AACH,qBAAa,aAAc,YAAW,QAAQ;IAC5C,QAAQ,CAAC,UAAU,EAAG,QAAQ,CAAU;IACxC,QAAQ,CAAC,aAAa,QAAQ;IAC9B,QAAQ,CAAC,iBAAiB,SAAS;IAEnC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,GAAG,CAAY;;IAevB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ/B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBzC;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAsBlB;;OAEG;IACG,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,EACtB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC;IA4BlB;;OAEG;IACG,2BAA2B,CAC/B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,EACtB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC;IA2BlB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAqBrC;;OAEG;IACH,kBAAkB,IAAI,iBAAiB;IAIvC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAgB1C;;OAEG;IACH,iBAAiB,IAAI,KAAK,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IAQF;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAClC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAC7D;IAyBD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB/B;AAOD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC"}
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderChain = void 0;
4
+ exports.getProviderChain = getProviderChain;
5
+ exports.resetProviderChain = resetProviderChain;
6
+ const MyContextAIClient_1 = require("./MyContextAIClient");
7
+ const ClaudeSDKClient_1 = require("./ClaudeSDKClient");
8
+ const XAIClient_1 = require("./XAIClient");
9
+ /**
10
+ * Simplified Provider Chain for MyContext CLI
11
+ *
12
+ * Primary: MyContext AI (Fine-tuned GPT-4o Mini)
13
+ * Fallback 1: Claude SDK
14
+ * Fallback 2: XAI (Grok)
15
+ *
16
+ * This replaces the complex HybridAIClient with a streamlined approach
17
+ * focused on our specialized fine-tuned model.
18
+ */
19
+ class ProviderChain {
20
+ constructor() {
21
+ this.clientType = "hybrid";
22
+ this.supportsTools = true;
23
+ this.supportsStreaming = false;
24
+ // Initialize providers in order of preference
25
+ this.myContextAI = new MyContextAIClient_1.MyContextAIClient();
26
+ this.claudeSDK = new ClaudeSDKClient_1.ClaudeSDKClient();
27
+ this.xai = new XAIClient_1.XAIClient();
28
+ this.providers = [
29
+ this.myContextAI, // Primary: Fine-tuned model
30
+ this.claudeSDK, // Fallback 1: Claude SDK
31
+ this.xai, // Fallback 2: XAI (Grok)
32
+ ];
33
+ }
34
+ /**
35
+ * Check if any provider has API key configured
36
+ */
37
+ hasApiKey() {
38
+ return this.providers.some((provider) => provider.hasApiKey());
39
+ }
40
+ /**
41
+ * Set API key for all providers
42
+ */
43
+ setApiKey(apiKey) {
44
+ this.providers.forEach((provider) => {
45
+ if (provider.setApiKey) {
46
+ provider.setApiKey(apiKey);
47
+ }
48
+ });
49
+ }
50
+ /**
51
+ * Check connection to any available provider
52
+ */
53
+ async checkConnection() {
54
+ for (const provider of this.providers) {
55
+ try {
56
+ const isConnected = await provider.checkConnection();
57
+ if (isConnected) {
58
+ return true;
59
+ }
60
+ }
61
+ catch (error) {
62
+ console.warn(`Provider ${provider.constructor.name} connection failed:`, error);
63
+ continue;
64
+ }
65
+ }
66
+ return false;
67
+ }
68
+ /**
69
+ * Generate text using the first available provider
70
+ */
71
+ async generateText(prompt, options = {}) {
72
+ for (const provider of this.providers) {
73
+ try {
74
+ if (!provider.hasApiKey()) {
75
+ console.warn(`Provider ${provider.constructor.name} has no API key, skipping`);
76
+ continue;
77
+ }
78
+ const result = await provider.generateText(prompt, options);
79
+ console.log(`✅ Generated text using ${provider.constructor.name}`);
80
+ return result;
81
+ }
82
+ catch (error) {
83
+ console.warn(`❌ Provider ${provider.constructor.name} failed:`, error);
84
+ continue;
85
+ }
86
+ }
87
+ throw new Error("All AI providers failed to generate text");
88
+ }
89
+ /**
90
+ * Generate React component using MyContext AI with fallbacks
91
+ */
92
+ async generateComponent(prompt, context, options = {}) {
93
+ for (const provider of this.providers) {
94
+ try {
95
+ if (!provider.hasApiKey()) {
96
+ console.warn(`Provider ${provider.constructor.name} has no API key, skipping`);
97
+ continue;
98
+ }
99
+ const result = await provider.generateComponent(prompt, context, options);
100
+ console.log(`✅ Generated component using ${provider.constructor.name}`);
101
+ return result;
102
+ }
103
+ catch (error) {
104
+ console.warn(`❌ Provider ${provider.constructor.name} failed:`, error);
105
+ continue;
106
+ }
107
+ }
108
+ throw new Error("All AI providers failed to generate component");
109
+ }
110
+ /**
111
+ * Generate component refinement using the first available provider
112
+ */
113
+ async generateComponentRefinement(componentCode, prompt, context, options = {}) {
114
+ for (const provider of this.providers) {
115
+ try {
116
+ if (!provider.hasApiKey()) {
117
+ console.warn(`Provider ${provider.constructor.name} has no API key, skipping`);
118
+ continue;
119
+ }
120
+ const result = await provider.generateComponentRefinement(componentCode, prompt, context, options);
121
+ console.log(`✅ Refined component using ${provider.constructor.name}`);
122
+ return result;
123
+ }
124
+ catch (error) {
125
+ console.warn(`❌ Provider ${provider.constructor.name} failed:`, error);
126
+ continue;
127
+ }
128
+ }
129
+ throw new Error("All AI providers failed to refine component");
130
+ }
131
+ /**
132
+ * List models from all providers
133
+ */
134
+ async listModels() {
135
+ const allModels = [];
136
+ for (const provider of this.providers) {
137
+ try {
138
+ if (provider.hasApiKey()) {
139
+ const models = await provider.listModels();
140
+ allModels.push(...models);
141
+ }
142
+ }
143
+ catch (error) {
144
+ console.warn(`Failed to list models from ${provider.constructor.name}:`, error);
145
+ continue;
146
+ }
147
+ }
148
+ return [...new Set(allModels)]; // Remove duplicates
149
+ }
150
+ /**
151
+ * Get the primary provider (MyContext AI)
152
+ */
153
+ getPrimaryProvider() {
154
+ return this.myContextAI;
155
+ }
156
+ /**
157
+ * Get provider by name
158
+ */
159
+ getProvider(name) {
160
+ switch (name.toLowerCase()) {
161
+ case "mycontext":
162
+ case "mycontext-ai":
163
+ return this.myContextAI;
164
+ case "claude":
165
+ case "claude-sdk":
166
+ return this.claudeSDK;
167
+ case "xai":
168
+ case "grok":
169
+ return this.xai;
170
+ default:
171
+ return null;
172
+ }
173
+ }
174
+ /**
175
+ * Get provider status
176
+ */
177
+ getProviderStatus() {
178
+ return this.providers.map((provider) => ({
179
+ name: provider.constructor.name,
180
+ hasKey: provider.hasApiKey(),
181
+ connected: false, // Will be updated by checkConnection
182
+ }));
183
+ }
184
+ /**
185
+ * Check all provider connections
186
+ */
187
+ async checkAllConnections() {
188
+ const statuses = await Promise.all(this.providers.map(async (provider) => {
189
+ const hasKey = provider.hasApiKey();
190
+ let connected = false;
191
+ if (hasKey) {
192
+ try {
193
+ connected = await provider.checkConnection();
194
+ }
195
+ catch (error) {
196
+ connected = false;
197
+ }
198
+ }
199
+ return {
200
+ name: provider.constructor.name,
201
+ hasKey,
202
+ connected,
203
+ };
204
+ }));
205
+ return statuses;
206
+ }
207
+ /**
208
+ * Cleanup all providers
209
+ */
210
+ async cleanup() {
211
+ await Promise.all(this.providers.map(async (provider) => {
212
+ if (provider.cleanup) {
213
+ try {
214
+ await provider.cleanup();
215
+ }
216
+ catch (error) {
217
+ console.warn(`Failed to cleanup ${provider.constructor.name}:`, error);
218
+ }
219
+ }
220
+ }));
221
+ }
222
+ }
223
+ exports.ProviderChain = ProviderChain;
224
+ /**
225
+ * Singleton instance of the provider chain
226
+ */
227
+ let providerChainInstance = null;
228
+ /**
229
+ * Get the global provider chain instance
230
+ */
231
+ function getProviderChain() {
232
+ if (!providerChainInstance) {
233
+ providerChainInstance = new ProviderChain();
234
+ }
235
+ return providerChainInstance;
236
+ }
237
+ /**
238
+ * Reset the global provider chain instance
239
+ */
240
+ function resetProviderChain() {
241
+ if (providerChainInstance) {
242
+ providerChainInstance.cleanup();
243
+ }
244
+ providerChainInstance = null;
245
+ }
246
+ //# sourceMappingURL=ProviderChain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderChain.js","sourceRoot":"","sources":["../../src/clients/ProviderChain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { AIClient, AIClientOptions, AgentContext } from "../interfaces/AIClient";
2
+ /**
3
+ * XAI Client - Fallback provider using X AI API (Grok)
4
+ *
5
+ * This is a simplified client that uses the X AI API directly
6
+ * as a secondary fallback when MyContext AI and Claude SDK are not available.
7
+ */
8
+ export declare class XAIClient implements AIClient {
9
+ readonly clientType: "direct-api";
10
+ readonly supportsTools = false;
11
+ readonly supportsStreaming = false;
12
+ private apiKey;
13
+ private baseUrl;
14
+ constructor();
15
+ /**
16
+ * Check if API key is available
17
+ */
18
+ hasApiKey(): boolean;
19
+ /**
20
+ * Set API key for X AI API
21
+ */
22
+ setApiKey(apiKey: string): void;
23
+ /**
24
+ * Check connection to X AI API
25
+ */
26
+ checkConnection(): Promise<boolean>;
27
+ /**
28
+ * Generate text using X AI API
29
+ */
30
+ generateText(prompt: string, options?: AIClientOptions): Promise<string>;
31
+ /**
32
+ * Generate React component using X AI API
33
+ */
34
+ generateComponent(prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<string>;
35
+ /**
36
+ * Generate component refinement using X AI API
37
+ */
38
+ generateComponentRefinement(componentCode: string, prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<string>;
39
+ /**
40
+ * List available models
41
+ */
42
+ listModels(): Promise<string[]>;
43
+ /**
44
+ * Cleanup resources
45
+ */
46
+ cleanup(): Promise<void>;
47
+ }
48
+ //# sourceMappingURL=XAIClient.d.ts.map