mycontext-cli 2.0.26 → 2.0.28

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 (129) hide show
  1. package/README.md +36 -355
  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 +65 -0
  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 +1 -0
  52. package/dist/commands/generate-components.d.ts.map +1 -1
  53. package/dist/commands/generate-components.js +42 -9
  54. package/dist/commands/generate-components.js.map +1 -1
  55. package/dist/commands/generate.d.ts.map +1 -1
  56. package/dist/commands/generate.js +34 -1
  57. package/dist/commands/generate.js.map +1 -1
  58. package/dist/commands/setup-complete.d.ts.map +1 -1
  59. package/dist/commands/setup-complete.js +38 -2
  60. package/dist/commands/setup-complete.js.map +1 -1
  61. package/dist/commands/workflow.d.ts.map +1 -1
  62. package/dist/commands/workflow.js +86 -7
  63. package/dist/commands/workflow.js.map +1 -1
  64. package/dist/config/intent-dictionary.json +3700 -0
  65. package/dist/package.json +3 -1
  66. package/dist/services/IntentEnricher.d.ts +61 -0
  67. package/dist/services/IntentEnricher.d.ts.map +1 -0
  68. package/dist/services/IntentEnricher.js +318 -0
  69. package/dist/services/IntentEnricher.js.map +1 -0
  70. package/dist/services/IntentValidator.d.ts +114 -0
  71. package/dist/services/IntentValidator.d.ts.map +1 -0
  72. package/dist/services/IntentValidator.js +680 -0
  73. package/dist/services/IntentValidator.js.map +1 -0
  74. package/dist/types/design-pipeline.d.ts +300 -0
  75. package/dist/types/design-pipeline.d.ts.map +1 -0
  76. package/dist/types/design-pipeline.js +9 -0
  77. package/dist/types/design-pipeline.js.map +1 -0
  78. package/dist/types/feature-bundle.d.ts +239 -0
  79. package/dist/types/feature-bundle.d.ts.map +1 -0
  80. package/dist/types/feature-bundle.js +9 -0
  81. package/dist/types/feature-bundle.js.map +1 -0
  82. package/dist/types/index.d.ts +2 -0
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/dist/types/index.js +2 -0
  85. package/dist/types/index.js.map +1 -1
  86. package/dist/types/intent-dictionary.d.ts +525 -0
  87. package/dist/types/intent-dictionary.d.ts.map +1 -0
  88. package/dist/types/intent-dictionary.js +11 -0
  89. package/dist/types/intent-dictionary.js.map +1 -0
  90. package/dist/types/role-permissions.d.ts +167 -0
  91. package/dist/types/role-permissions.d.ts.map +1 -0
  92. package/dist/types/role-permissions.js +9 -0
  93. package/dist/types/role-permissions.js.map +1 -0
  94. package/dist/utils/contextEnricher.d.ts +41 -0
  95. package/dist/utils/contextEnricher.d.ts.map +1 -0
  96. package/dist/utils/contextEnricher.js +327 -0
  97. package/dist/utils/contextEnricher.js.map +1 -0
  98. package/dist/utils/designFallbacks.d.ts +48 -0
  99. package/dist/utils/designFallbacks.d.ts.map +1 -0
  100. package/dist/utils/designFallbacks.js +885 -0
  101. package/dist/utils/designFallbacks.js.map +1 -0
  102. package/dist/utils/designManifestManager.d.ts +89 -0
  103. package/dist/utils/designManifestManager.d.ts.map +1 -0
  104. package/dist/utils/designManifestManager.js +533 -0
  105. package/dist/utils/designManifestManager.js.map +1 -0
  106. package/dist/utils/designPipelineStateManager.d.ts +63 -0
  107. package/dist/utils/designPipelineStateManager.d.ts.map +1 -0
  108. package/dist/utils/designPipelineStateManager.js +174 -0
  109. package/dist/utils/designPipelineStateManager.js.map +1 -0
  110. package/dist/utils/envExampleGenerator.d.ts.map +1 -1
  111. package/dist/utils/envExampleGenerator.js +35 -171
  112. package/dist/utils/envExampleGenerator.js.map +1 -1
  113. package/dist/utils/featureBundleManager.d.ts +90 -0
  114. package/dist/utils/featureBundleManager.d.ts.map +1 -0
  115. package/dist/utils/featureBundleManager.js +340 -0
  116. package/dist/utils/featureBundleManager.js.map +1 -0
  117. package/dist/utils/githubCloner.d.ts +93 -0
  118. package/dist/utils/githubCloner.d.ts.map +1 -0
  119. package/dist/utils/githubCloner.js +305 -0
  120. package/dist/utils/githubCloner.js.map +1 -0
  121. package/dist/utils/rolePermissionMapper.d.ts +89 -0
  122. package/dist/utils/rolePermissionMapper.d.ts.map +1 -0
  123. package/dist/utils/rolePermissionMapper.js +337 -0
  124. package/dist/utils/rolePermissionMapper.js.map +1 -0
  125. package/dist/utils/unifiedDesignContextLoader.d.ts +76 -0
  126. package/dist/utils/unifiedDesignContextLoader.d.ts.map +1 -0
  127. package/dist/utils/unifiedDesignContextLoader.js +344 -0
  128. package/dist/utils/unifiedDesignContextLoader.js.map +1 -0
  129. package/package.json +3 -1
@@ -0,0 +1,48 @@
1
+ import { AIClient, AIClientOptions, AgentContext } from "../interfaces/AIClient";
2
+ /**
3
+ * Claude SDK Client - Fallback provider using Claude API
4
+ *
5
+ * This is a simplified client that uses the Claude API directly
6
+ * as a fallback when MyContext AI is not available.
7
+ */
8
+ export declare class ClaudeSDKClient 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 Claude API
21
+ */
22
+ setApiKey(apiKey: string): void;
23
+ /**
24
+ * Check connection to Claude API
25
+ */
26
+ checkConnection(): Promise<boolean>;
27
+ /**
28
+ * Generate text using Claude API
29
+ */
30
+ generateText(prompt: string, options?: AIClientOptions): Promise<string>;
31
+ /**
32
+ * Generate React component using Claude API
33
+ */
34
+ generateComponent(prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<string>;
35
+ /**
36
+ * Generate component refinement using Claude 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=ClaudeSDKClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaudeSDKClient.d.ts","sourceRoot":"","sources":["../../src/clients/ClaudeSDKClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,YAAY,EACb,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,QAAQ,CAAC,UAAU,EAAG,YAAY,CAAU;IAC5C,QAAQ,CAAC,aAAa,SAAS;IAC/B,QAAQ,CAAC,iBAAiB,SAAS;IAEnC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAkC;;IAMjD;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAgCzC;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAuClB;;OAEG;IACG,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,EACtB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAoBlB;;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;IAmBlB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQrC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClaudeSDKClient = void 0;
4
+ /**
5
+ * Claude SDK Client - Fallback provider using Claude API
6
+ *
7
+ * This is a simplified client that uses the Claude API directly
8
+ * as a fallback when MyContext AI is not available.
9
+ */
10
+ class ClaudeSDKClient {
11
+ constructor() {
12
+ this.clientType = "direct-api";
13
+ this.supportsTools = false;
14
+ this.supportsStreaming = false;
15
+ this.apiKey = null;
16
+ this.baseUrl = "https://api.anthropic.com/v1";
17
+ this.apiKey = process.env.ANTHROPIC_API_KEY || null;
18
+ }
19
+ /**
20
+ * Check if API key is available
21
+ */
22
+ hasApiKey() {
23
+ return !!this.apiKey;
24
+ }
25
+ /**
26
+ * Set API key for Claude API
27
+ */
28
+ setApiKey(apiKey) {
29
+ this.apiKey = apiKey;
30
+ }
31
+ /**
32
+ * Check connection to Claude API
33
+ */
34
+ async checkConnection() {
35
+ if (!this.apiKey) {
36
+ return false;
37
+ }
38
+ try {
39
+ const response = await fetch(`${this.baseUrl}/messages`, {
40
+ method: "POST",
41
+ headers: {
42
+ "Content-Type": "application/json",
43
+ "x-api-key": this.apiKey,
44
+ "anthropic-version": "2023-06-01",
45
+ },
46
+ body: JSON.stringify({
47
+ model: "claude-3-haiku-20240307",
48
+ max_tokens: 10,
49
+ messages: [
50
+ {
51
+ role: "user",
52
+ content: "test",
53
+ },
54
+ ],
55
+ }),
56
+ });
57
+ return response.ok;
58
+ }
59
+ catch (error) {
60
+ console.warn("Claude SDK connection check failed:", error);
61
+ return false;
62
+ }
63
+ }
64
+ /**
65
+ * Generate text using Claude API
66
+ */
67
+ async generateText(prompt, options = {}) {
68
+ if (!this.apiKey) {
69
+ throw new Error("Anthropic API key not configured for Claude SDK");
70
+ }
71
+ try {
72
+ const response = await fetch(`${this.baseUrl}/messages`, {
73
+ method: "POST",
74
+ headers: {
75
+ "Content-Type": "application/json",
76
+ "x-api-key": this.apiKey,
77
+ "anthropic-version": "2023-06-01",
78
+ },
79
+ body: JSON.stringify({
80
+ model: options.model || "claude-3-haiku-20240307",
81
+ max_tokens: options.maxTokens || 4000,
82
+ temperature: options.temperature || 0.7,
83
+ messages: [
84
+ {
85
+ role: "user",
86
+ content: prompt,
87
+ },
88
+ ],
89
+ }),
90
+ });
91
+ if (!response.ok) {
92
+ throw new Error(`Claude API error: ${response.status} ${response.statusText}`);
93
+ }
94
+ const data = await response.json();
95
+ return data.content[0].text || "";
96
+ }
97
+ catch (error) {
98
+ throw new Error(`Claude SDK generation failed: ${error}`);
99
+ }
100
+ }
101
+ /**
102
+ * Generate React component using Claude API
103
+ */
104
+ async generateComponent(prompt, context, options = {}) {
105
+ const systemPrompt = `You are a React component generator. Generate production-ready React components with TypeScript.
106
+
107
+ Requirements:
108
+ - Use functional components with hooks
109
+ - Include proper TypeScript types
110
+ - Add accessibility attributes
111
+ - Use Tailwind CSS for styling
112
+ - Include proper imports and exports
113
+ - Generate complete, runnable code
114
+
115
+ ${context?.prd ? `Project Requirements: ${context.prd}` : ""}
116
+ ${context?.types ? `Type Definitions: ${context.types}` : ""}
117
+ ${context?.brand ? `Brand Guidelines: ${context.brand}` : ""}`;
118
+ const fullPrompt = `${systemPrompt}\n\nGenerate a React component for: ${prompt}`;
119
+ return this.generateText(fullPrompt, options);
120
+ }
121
+ /**
122
+ * Generate component refinement using Claude API
123
+ */
124
+ async generateComponentRefinement(componentCode, prompt, context, options = {}) {
125
+ const systemPrompt = `You are a React component refiner. Improve and modify existing React components.
126
+
127
+ Requirements:
128
+ - Maintain existing functionality
129
+ - Preserve TypeScript types
130
+ - Keep accessibility attributes
131
+ - Follow React best practices
132
+ - Provide complete refined component
133
+
134
+ ${context?.prd ? `Project Requirements: ${context.prd}` : ""}
135
+ ${context?.types ? `Type Definitions: ${context.types}` : ""}
136
+ ${context?.brand ? `Brand Guidelines: ${context.brand}` : ""}`;
137
+ const fullPrompt = `${systemPrompt}\n\nComponent to refine:\n\`\`\`tsx\n${componentCode}\n\`\`\n\nRefinement request: ${prompt}`;
138
+ return this.generateText(fullPrompt, options);
139
+ }
140
+ /**
141
+ * List available models
142
+ */
143
+ async listModels() {
144
+ return [
145
+ "claude-3-haiku-20240307",
146
+ "claude-3-sonnet-20240229",
147
+ "claude-3-opus-20240229",
148
+ ];
149
+ }
150
+ /**
151
+ * Cleanup resources
152
+ */
153
+ async cleanup() {
154
+ // No cleanup needed for fetch-based client
155
+ }
156
+ }
157
+ exports.ClaudeSDKClient = ClaudeSDKClient;
158
+ //# sourceMappingURL=ClaudeSDKClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaudeSDKClient.js","sourceRoot":"","sources":["../../src/clients/ClaudeSDKClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { AIClient, AIClientOptions, AgentContext } from "../interfaces/AIClient";
2
+ /**
3
+ * MyContext AI Client - Fine-tuned GPT-4o Mini for component generation
4
+ *
5
+ * This client uses our proprietary fine-tuned model trained on the Intent Dictionary System
6
+ * to achieve 95%+ accuracy in generating shadcn/ui components from natural language.
7
+ *
8
+ * **Usage Options**:
9
+ * 1. Hosted API (coming soon): Set MYCONTEXT_API_KEY for api.mycontext.dev
10
+ * 2. Self-hosted fine-tuned model: Train your own using fine-tuning-strategy.md
11
+ * 3. Fallback to Claude SDK or XAI: Use BYOK mode with your provider keys
12
+ *
13
+ * **Business Model**: Open source CLI, optional paid hosted API
14
+ */
15
+ export declare class MyContextAIClient implements AIClient {
16
+ readonly clientType: "direct-api";
17
+ readonly supportsTools = false;
18
+ readonly supportsStreaming = false;
19
+ private openai;
20
+ private modelId;
21
+ private apiKey;
22
+ private isHostedAPI;
23
+ constructor(modelId?: string);
24
+ /**
25
+ * Check if API key is available
26
+ */
27
+ hasApiKey(): boolean;
28
+ /**
29
+ * Set API key for OpenAI client
30
+ */
31
+ setApiKey(apiKey: string): void;
32
+ /**
33
+ * Check connection to OpenAI API
34
+ */
35
+ checkConnection(): Promise<boolean>;
36
+ /**
37
+ * Generate text using MyContext AI
38
+ */
39
+ generateText(prompt: string, options?: AIClientOptions): Promise<string>;
40
+ /**
41
+ * Generate React component using MyContext AI with Intent Dictionary context
42
+ */
43
+ generateComponent(prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<string>;
44
+ /**
45
+ * Generate component refinement using MyContext AI
46
+ */
47
+ generateComponentRefinement(componentCode: string, prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<string>;
48
+ /**
49
+ * List available models (returns our fine-tuned model)
50
+ */
51
+ listModels(): Promise<string[]>;
52
+ /**
53
+ * Build system prompt for general text generation
54
+ */
55
+ private buildSystemPrompt;
56
+ /**
57
+ * Build system prompt for component generation with Intent Dictionary context
58
+ */
59
+ private buildComponentSystemPrompt;
60
+ /**
61
+ * Build system prompt for component refinement
62
+ */
63
+ private buildRefinementSystemPrompt;
64
+ /**
65
+ * Build enriched context from agent context
66
+ */
67
+ private buildEnrichedContext;
68
+ /**
69
+ * Cleanup resources
70
+ */
71
+ cleanup(): Promise<void>;
72
+ }
73
+ //# sourceMappingURL=MyContextAIClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MyContextAIClient.d.ts","sourceRoot":"","sources":["../../src/clients/MyContextAIClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,YAAY,EACb,MAAM,wBAAwB,CAAC;AAGhC;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,QAAQ,CAAC,UAAU,EAAG,YAAY,CAAU;IAC5C,QAAQ,CAAC,aAAa,SAAS;IAC/B,QAAQ,CAAC,iBAAiB,SAAS;IAEnC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,OAAO,CAAC,EAAE,MAAM;IA4B5B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO/B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAczC;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC;IA4BlB;;OAEG;IACG,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,EACtB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC;IA+BlB;;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;IA8BlB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAmDlC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAkBnC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -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"}