mycontext-cli 2.0.8 → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/dist/agents/communication/AgentCommunicationManager.d.ts +3 -3
  2. package/dist/agents/communication/AgentCommunicationManager.d.ts.map +1 -1
  3. package/dist/agents/communication/AgentCommunicationManager.js +7 -6
  4. package/dist/agents/communication/AgentCommunicationManager.js.map +1 -1
  5. package/dist/agents/evolution/CodeEvolutionEngine.d.ts.map +1 -1
  6. package/dist/agents/evolution/CodeEvolutionEngine.js +10 -7
  7. package/dist/agents/evolution/CodeEvolutionEngine.js.map +1 -1
  8. package/dist/agents/implementations/ArchitectAgent.js +2 -2
  9. package/dist/agents/implementations/ArchitectAgent.js.map +1 -1
  10. package/dist/agents/implementations/BackendDevAgent.d.ts.map +1 -1
  11. package/dist/agents/implementations/BackendDevAgent.js +4 -1
  12. package/dist/agents/implementations/BackendDevAgent.js.map +1 -1
  13. package/dist/agents/implementations/BuildStrategyAgent.d.ts.map +1 -1
  14. package/dist/agents/implementations/BuildStrategyAgent.js +4 -3
  15. package/dist/agents/implementations/BuildStrategyAgent.js.map +1 -1
  16. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  17. package/dist/agents/implementations/CodeGenSubAgent.js +6 -5
  18. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  19. package/dist/agents/implementations/DocsSubAgent.js +2 -2
  20. package/dist/agents/implementations/DocsSubAgent.js.map +1 -1
  21. package/dist/agents/implementations/EnhancementAgent.d.ts.map +1 -1
  22. package/dist/agents/implementations/EnhancementAgent.js +6 -4
  23. package/dist/agents/implementations/EnhancementAgent.js.map +1 -1
  24. package/dist/agents/implementations/InteractiveAgent.d.ts.map +1 -1
  25. package/dist/agents/implementations/InteractiveAgent.js +8 -1
  26. package/dist/agents/implementations/InteractiveAgent.js.map +1 -1
  27. package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -1
  28. package/dist/agents/implementations/PromptConstructorAgent.js +79 -31
  29. package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -1
  30. package/dist/agents/implementations/QASubAgent.js +2 -2
  31. package/dist/agents/implementations/QASubAgent.js.map +1 -1
  32. package/dist/agents/implementations/SecurityAgent.js +2 -2
  33. package/dist/agents/implementations/SecurityAgent.js.map +1 -1
  34. package/dist/agents/implementations/WorkflowAgent.d.ts +0 -1
  35. package/dist/agents/implementations/WorkflowAgent.d.ts.map +1 -1
  36. package/dist/agents/implementations/WorkflowAgent.js +6 -10
  37. package/dist/agents/implementations/WorkflowAgent.js.map +1 -1
  38. package/dist/agents/intelligence/ProjectIntelligence.js +5 -5
  39. package/dist/agents/intelligence/ProjectIntelligence.js.map +1 -1
  40. package/dist/agents/orchestrator/SubAgentOrchestrator.d.ts.map +1 -1
  41. package/dist/agents/orchestrator/SubAgentOrchestrator.js +4 -4
  42. package/dist/agents/orchestrator/SubAgentOrchestrator.js.map +1 -1
  43. package/dist/cli.js +8 -40
  44. package/dist/cli.js.map +1 -1
  45. package/dist/commands/analyze.d.ts.map +1 -1
  46. package/dist/commands/analyze.js +9 -9
  47. package/dist/commands/analyze.js.map +1 -1
  48. package/dist/commands/enhance.d.ts.map +1 -1
  49. package/dist/commands/enhance.js +23 -78
  50. package/dist/commands/enhance.js.map +1 -1
  51. package/dist/commands/generate-components.d.ts.map +1 -1
  52. package/dist/commands/generate-components.js +12 -7
  53. package/dist/commands/generate-components.js.map +1 -1
  54. package/dist/commands/generate-todos.js +1 -1
  55. package/dist/commands/generate-todos.js.map +1 -1
  56. package/dist/commands/generate.d.ts.map +1 -1
  57. package/dist/commands/generate.js +57 -41
  58. package/dist/commands/generate.js.map +1 -1
  59. package/dist/commands/playbooks.d.ts.map +1 -1
  60. package/dist/commands/playbooks.js +14 -8
  61. package/dist/commands/playbooks.js.map +1 -1
  62. package/dist/commands/preview.js +1 -1
  63. package/dist/commands/preview.js.map +1 -1
  64. package/dist/commands/refine.d.ts.map +1 -1
  65. package/dist/commands/refine.js +5 -3
  66. package/dist/commands/refine.js.map +1 -1
  67. package/dist/commands/sanitize.d.ts.map +1 -1
  68. package/dist/commands/sanitize.js +11 -4
  69. package/dist/commands/sanitize.js.map +1 -1
  70. package/dist/commands/setup-database.d.ts.map +1 -1
  71. package/dist/commands/setup-database.js +9 -7
  72. package/dist/commands/setup-database.js.map +1 -1
  73. package/dist/commands/setup-instantdb.d.ts.map +1 -1
  74. package/dist/commands/setup-instantdb.js +9 -7
  75. package/dist/commands/setup-instantdb.js.map +1 -1
  76. package/dist/config/build-strategies.json +2 -2
  77. package/dist/{agents/personalities/definitions.d.ts → constants/subAgentPersonalities.d.ts} +2 -2
  78. package/dist/constants/subAgentPersonalities.d.ts.map +1 -0
  79. package/dist/{agents/personalities/definitions.js → constants/subAgentPersonalities.js} +2 -2
  80. package/dist/constants/subAgentPersonalities.js.map +1 -0
  81. package/dist/package.json +1 -1
  82. package/dist/types/analysis.d.ts +67 -0
  83. package/dist/types/analysis.d.ts.map +1 -0
  84. package/dist/types/analysis.js +7 -0
  85. package/dist/types/analysis.js.map +1 -0
  86. package/dist/types/components.d.ts +90 -0
  87. package/dist/types/components.d.ts.map +1 -0
  88. package/dist/types/components.js +7 -0
  89. package/dist/types/components.js.map +1 -0
  90. package/dist/types/enhancement.d.ts +127 -0
  91. package/dist/types/enhancement.d.ts.map +1 -0
  92. package/dist/types/enhancement.js +7 -0
  93. package/dist/types/enhancement.js.map +1 -0
  94. package/dist/types/index.d.ts +4 -0
  95. package/dist/types/index.d.ts.map +1 -1
  96. package/dist/types/index.js +25 -0
  97. package/dist/types/index.js.map +1 -1
  98. package/dist/types/progress.d.ts +88 -0
  99. package/dist/types/progress.d.ts.map +1 -0
  100. package/dist/types/progress.js +7 -0
  101. package/dist/types/progress.js.map +1 -0
  102. package/dist/utils/ProjectHealthMonitor.d.ts.map +1 -1
  103. package/dist/utils/ProjectHealthMonitor.js +47 -36
  104. package/dist/utils/ProjectHealthMonitor.js.map +1 -1
  105. package/dist/utils/agentDefinitions.d.ts +2 -2
  106. package/dist/utils/agentDefinitions.d.ts.map +1 -1
  107. package/dist/utils/agentDefinitions.js +40 -33
  108. package/dist/utils/agentDefinitions.js.map +1 -1
  109. package/dist/utils/buildStrategyManager.d.ts.map +1 -1
  110. package/dist/utils/buildStrategyManager.js +1 -1
  111. package/dist/utils/buildStrategyManager.js.map +1 -1
  112. package/dist/utils/claudeAgentClient.d.ts +0 -1
  113. package/dist/utils/claudeAgentClient.d.ts.map +1 -1
  114. package/dist/utils/claudeAgentClient.js +46 -39
  115. package/dist/utils/claudeAgentClient.js.map +1 -1
  116. package/dist/utils/hybridAIClient.d.ts +1 -9
  117. package/dist/utils/hybridAIClient.d.ts.map +1 -1
  118. package/dist/utils/hybridAIClient.js +81 -78
  119. package/dist/utils/hybridAIClient.js.map +1 -1
  120. package/dist/utils/mcpAgentIntegration.d.ts.map +1 -1
  121. package/dist/utils/mcpAgentIntegration.js +1 -1
  122. package/dist/utils/mcpAgentIntegration.js.map +1 -1
  123. package/dist/utils/mcpTools.d.ts +5 -5
  124. package/dist/utils/mcpTools.d.ts.map +1 -1
  125. package/dist/utils/mcpTools.js +319 -241
  126. package/dist/utils/mcpTools.js.map +1 -1
  127. package/dist/utils/progressTracker.d.ts +3 -79
  128. package/dist/utils/progressTracker.d.ts.map +1 -1
  129. package/dist/utils/progressTracker.js +92 -68
  130. package/dist/utils/progressTracker.js.map +1 -1
  131. package/dist/utils/typeTemplateGenerator.d.ts.map +1 -1
  132. package/dist/utils/typeTemplateGenerator.js +125 -79
  133. package/dist/utils/typeTemplateGenerator.js.map +1 -1
  134. package/package.json +1 -1
  135. package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts +0 -110
  136. package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts.map +0 -1
  137. package/dist/agents/implementations/ClaudeAgentWorkflow.js +0 -661
  138. package/dist/agents/implementations/ClaudeAgentWorkflow.js.map +0 -1
  139. package/dist/agents/personalities/definitions.d.ts.map +0 -1
  140. package/dist/agents/personalities/definitions.js.map +0 -1
  141. package/dist/commands/model.d.ts +0 -22
  142. package/dist/commands/model.d.ts.map +0 -1
  143. package/dist/commands/model.js +0 -130
  144. package/dist/commands/model.js.map +0 -1
  145. package/dist/commands/normalize.d.ts +0 -5
  146. package/dist/commands/normalize.d.ts.map +0 -1
  147. package/dist/commands/normalize.js +0 -128
  148. package/dist/commands/normalize.js.map +0 -1
  149. package/dist/commands/pricing.d.ts +0 -15
  150. package/dist/commands/pricing.d.ts.map +0 -1
  151. package/dist/commands/pricing.js +0 -94
  152. package/dist/commands/pricing.js.map +0 -1
  153. package/dist/config/ai-providers.json +0 -102
  154. package/dist/config/pricing.json +0 -55
  155. package/dist/utils/aiClientFactory.d.ts +0 -93
  156. package/dist/utils/aiClientFactory.d.ts.map +0 -1
  157. package/dist/utils/aiClientFactory.js +0 -290
  158. package/dist/utils/aiClientFactory.js.map +0 -1
  159. package/dist/utils/aiClientRouter.d.ts +0 -121
  160. package/dist/utils/aiClientRouter.d.ts.map +0 -1
  161. package/dist/utils/aiClientRouter.js +0 -401
  162. package/dist/utils/aiClientRouter.js.map +0 -1
  163. package/dist/utils/apiKeyManager.d.ts +0 -137
  164. package/dist/utils/apiKeyManager.d.ts.map +0 -1
  165. package/dist/utils/apiKeyManager.js +0 -479
  166. package/dist/utils/apiKeyManager.js.map +0 -1
  167. package/dist/utils/claudeClient.d.ts +0 -28
  168. package/dist/utils/claudeClient.d.ts.map +0 -1
  169. package/dist/utils/claudeClient.js +0 -233
  170. package/dist/utils/claudeClient.js.map +0 -1
  171. package/dist/utils/geminiClient.d.ts +0 -61
  172. package/dist/utils/geminiClient.d.ts.map +0 -1
  173. package/dist/utils/geminiClient.js +0 -173
  174. package/dist/utils/geminiClient.js.map +0 -1
  175. package/dist/utils/githubModelsClient.d.ts +0 -27
  176. package/dist/utils/githubModelsClient.d.ts.map +0 -1
  177. package/dist/utils/githubModelsClient.js +0 -332
  178. package/dist/utils/githubModelsClient.js.map +0 -1
  179. package/dist/utils/huggingFaceClient.d.ts +0 -44
  180. package/dist/utils/huggingFaceClient.d.ts.map +0 -1
  181. package/dist/utils/huggingFaceClient.js +0 -169
  182. package/dist/utils/huggingFaceClient.js.map +0 -1
  183. package/dist/utils/openaiClient.d.ts +0 -24
  184. package/dist/utils/openaiClient.d.ts.map +0 -1
  185. package/dist/utils/openaiClient.js +0 -204
  186. package/dist/utils/openaiClient.js.map +0 -1
  187. package/dist/utils/qwenClient.d.ts +0 -22
  188. package/dist/utils/qwenClient.d.ts.map +0 -1
  189. package/dist/utils/qwenClient.js +0 -185
  190. package/dist/utils/qwenClient.js.map +0 -1
  191. package/dist/utils/streamingHandler.d.ts +0 -98
  192. package/dist/utils/streamingHandler.d.ts.map +0 -1
  193. package/dist/utils/streamingHandler.js +0 -259
  194. package/dist/utils/streamingHandler.js.map +0 -1
  195. package/dist/utils/xaiClient.d.ts +0 -19
  196. package/dist/utils/xaiClient.d.ts.map +0 -1
  197. package/dist/utils/xaiClient.js +0 -135
  198. package/dist/utils/xaiClient.js.map +0 -1
@@ -1,259 +0,0 @@
1
- "use strict";
2
- /**
3
- * Streaming Handler for Claude Agent SDK
4
- *
5
- * Handles streaming messages, progress tracking, and user feedback
6
- * for long-running agent operations.
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.StreamingHandler = void 0;
13
- exports.streamWithProgress = streamWithProgress;
14
- exports.simpleStream = simpleStream;
15
- const chalk_1 = __importDefault(require("chalk"));
16
- const ora_1 = __importDefault(require("ora"));
17
- /**
18
- * Handles streaming from Claude Agent SDK with progress tracking
19
- */
20
- class StreamingHandler {
21
- constructor(options = {}) {
22
- this.spinner = null;
23
- this.stats = {
24
- totalTokens: 0,
25
- inputTokens: 0,
26
- outputTokens: 0,
27
- toolsUsed: [],
28
- duration: 0,
29
- messagesProcessed: 0,
30
- };
31
- this.startTime = 0;
32
- this.options = {
33
- showProgress: options.showProgress !== false,
34
- showTokens: options.showTokens !== false,
35
- showToolUsage: options.showToolUsage !== false,
36
- ...options,
37
- };
38
- }
39
- /**
40
- * Start streaming handler
41
- */
42
- start(message = 'Processing...') {
43
- this.startTime = Date.now();
44
- if (this.options.showProgress) {
45
- this.spinner = (0, ora_1.default)(message).start();
46
- }
47
- }
48
- /**
49
- * Process streaming messages from query
50
- */
51
- async processStream(query) {
52
- let fullResponse = '';
53
- try {
54
- for await (const message of query) {
55
- this.stats.messagesProcessed++;
56
- // Handle different message types
57
- switch (message.type) {
58
- case 'assistant':
59
- const text = this.handleAssistantMessage(message);
60
- fullResponse += text;
61
- break;
62
- case 'result':
63
- this.handleToolResult(message);
64
- break;
65
- case 'system':
66
- this.handleSystemMessage(message);
67
- break;
68
- default:
69
- // Handle other message types
70
- if (message.type === 'partial_assistant') {
71
- this.handlePartialMessage(message);
72
- }
73
- else if (message.type === 'permission_denial') {
74
- this.handlePermissionDenial(message);
75
- }
76
- break;
77
- }
78
- }
79
- this.stats.duration = Date.now() - this.startTime;
80
- this.complete();
81
- return fullResponse;
82
- }
83
- catch (error) {
84
- this.error(error);
85
- throw error;
86
- }
87
- }
88
- /**
89
- * Handle assistant message
90
- */
91
- handleAssistantMessage(message) {
92
- let text = '';
93
- if (message.message && message.message.content) {
94
- for (const content of message.message.content) {
95
- if (content.type === 'text') {
96
- text += content.text;
97
- // Stream tokens if enabled
98
- if (this.options.onToken) {
99
- this.options.onToken(content.text);
100
- }
101
- }
102
- else if (content.type === 'tool_use') {
103
- // Track tool usage
104
- const toolName = content.name;
105
- if (!this.stats.toolsUsed.includes(toolName)) {
106
- this.stats.toolsUsed.push(toolName);
107
- }
108
- if (this.options.showToolUsage) {
109
- this.updateSpinner(`🔧 Using tool: ${toolName}`);
110
- }
111
- if (this.options.onToolUse) {
112
- this.options.onToolUse(toolName, content.input);
113
- }
114
- }
115
- }
116
- // Update token stats if available
117
- if (message.message.usage) {
118
- this.stats.inputTokens += message.message.usage.input_tokens || 0;
119
- this.stats.outputTokens += message.message.usage.output_tokens || 0;
120
- this.stats.totalTokens = this.stats.inputTokens + this.stats.outputTokens;
121
- }
122
- }
123
- return text;
124
- }
125
- /**
126
- * Handle partial assistant message (streaming)
127
- */
128
- handlePartialMessage(message) {
129
- if (message.message && message.message.content) {
130
- for (const content of message.message.content) {
131
- if (content.type === 'text') {
132
- // Update progress with partial text
133
- const preview = content.text.substring(0, 50);
134
- if (this.options.showProgress) {
135
- this.updateSpinner(`📝 ${preview}...`);
136
- }
137
- if (this.options.onProgress) {
138
- this.options.onProgress(content.text);
139
- }
140
- }
141
- }
142
- }
143
- }
144
- /**
145
- * Handle tool result message
146
- */
147
- handleToolResult(message) {
148
- if (this.options.showToolUsage && message.content) {
149
- const preview = JSON.stringify(message.content).substring(0, 50);
150
- this.updateSpinner(`✅ Tool result: ${preview}...`);
151
- }
152
- }
153
- /**
154
- * Handle system message
155
- */
156
- handleSystemMessage(message) {
157
- if (message.message) {
158
- if (this.options.showProgress) {
159
- this.updateSpinner(`ℹ️ ${message.message}`);
160
- }
161
- }
162
- }
163
- /**
164
- * Handle permission denial
165
- */
166
- handlePermissionDenial(message) {
167
- if (this.spinner) {
168
- this.spinner.warn(chalk_1.default.yellow(`⚠️ Permission denied: ${message.message || 'Unknown operation'}`));
169
- this.spinner = (0, ora_1.default)().start();
170
- }
171
- }
172
- /**
173
- * Update spinner text
174
- */
175
- updateSpinner(text) {
176
- if (this.spinner) {
177
- this.spinner.text = text;
178
- }
179
- }
180
- /**
181
- * Complete streaming successfully
182
- */
183
- complete(message) {
184
- if (this.spinner) {
185
- this.spinner.succeed(message || chalk_1.default.green('✅ Completed'));
186
- }
187
- // Show stats if enabled
188
- if (this.options.showTokens && this.stats.totalTokens > 0) {
189
- console.log(chalk_1.default.gray(` Tokens: ${this.stats.totalTokens} (in: ${this.stats.inputTokens}, out: ${this.stats.outputTokens})`));
190
- }
191
- if (this.options.showToolUsage && this.stats.toolsUsed.length > 0) {
192
- console.log(chalk_1.default.gray(` Tools used: ${this.stats.toolsUsed.join(', ')}`));
193
- }
194
- if (this.options.showProgress) {
195
- console.log(chalk_1.default.gray(` Duration: ${(this.stats.duration / 1000).toFixed(2)}s`));
196
- }
197
- }
198
- /**
199
- * Handle error during streaming
200
- */
201
- error(error) {
202
- if (this.spinner) {
203
- this.spinner.fail(chalk_1.default.red(`❌ Error: ${error.message}`));
204
- }
205
- if (this.options.onError) {
206
- this.options.onError(error);
207
- }
208
- }
209
- /**
210
- * Stop spinner without completion
211
- */
212
- stop() {
213
- if (this.spinner) {
214
- this.spinner.stop();
215
- }
216
- }
217
- /**
218
- * Get current statistics
219
- */
220
- getStats() {
221
- return { ...this.stats };
222
- }
223
- /**
224
- * Reset statistics
225
- */
226
- resetStats() {
227
- this.stats = {
228
- totalTokens: 0,
229
- inputTokens: 0,
230
- outputTokens: 0,
231
- toolsUsed: [],
232
- duration: 0,
233
- messagesProcessed: 0,
234
- };
235
- }
236
- }
237
- exports.StreamingHandler = StreamingHandler;
238
- /**
239
- * Convenience function to create and use streaming handler
240
- */
241
- async function streamWithProgress(query, options = {}) {
242
- const handler = new StreamingHandler(options);
243
- handler.start();
244
- const content = await handler.processStream(query);
245
- const stats = handler.getStats();
246
- return { content, stats };
247
- }
248
- /**
249
- * Simplified streaming with default options
250
- */
251
- async function simpleStream(query) {
252
- const { content } = await streamWithProgress(query, {
253
- showProgress: true,
254
- showTokens: true,
255
- showToolUsage: true,
256
- });
257
- return content;
258
- }
259
- //# sourceMappingURL=streamingHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"streamingHandler.js","sourceRoot":"","sources":["../../src/utils/streamingHandler.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAuRH,gDAWC;AAKD,oCAOC;AA5SD,kDAA0B;AAC1B,8CAA+B;AAsB/B;;GAEG;AACH,MAAa,gBAAgB;IAa3B,YAAY,UAA4B,EAAE;QAZlC,YAAO,GAAe,IAAI,CAAC;QAC3B,UAAK,GAAmB;YAC9B,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,CAAC;YACX,iBAAiB,EAAE,CAAC;SACrB,CAAC;QACM,cAAS,GAAW,CAAC,CAAC;QAI5B,IAAI,CAAC,OAAO,GAAG;YACb,YAAY,EAAE,OAAO,CAAC,YAAY,KAAK,KAAK;YAC5C,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,KAAK;YACxC,aAAa,EAAE,OAAO,CAAC,aAAa,KAAK,KAAK;YAC9C,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAkB,eAAe;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAA,aAAG,EAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,KAAY;QAC9B,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAE/B,iCAAiC;gBACjC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrB,KAAK,WAAW;wBACd,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;wBAClD,YAAY,IAAI,IAAI,CAAC;wBACrB,MAAM;oBAER,KAAK,QAAQ;wBACX,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBAC/B,MAAM;oBAER,KAAK,QAAQ;wBACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;wBAClC,MAAM;oBAER;wBACE,6BAA6B;wBAC7B,IAAK,OAAe,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;4BAClD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;wBACrC,CAAC;6BAAM,IAAK,OAAe,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;4BACzD,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;wBACvC,CAAC;wBACD,MAAM;gBACV,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEhB,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,OAAY;QACzC,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;oBAErB,2BAA2B;oBAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACvC,mBAAmB;oBACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;oBAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACtC,CAAC;oBAED,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC/B,IAAI,CAAC,aAAa,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;oBACnD,CAAC;oBAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;gBAClE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;gBACpE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,OAAY;QACvC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC5B,oCAAoC;oBACpC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;wBAC9B,IAAI,CAAC,aAAa,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;oBACzC,CAAC;oBAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;wBAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,OAAY;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,CAAC,kBAAkB,OAAO,KAAK,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAY;QACtC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC9B,IAAI,CAAC,aAAa,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,OAAY;QACzC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,yBAAyB,OAAO,CAAC,OAAO,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,OAAO,GAAG,IAAA,aAAG,GAAE,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAgB;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,WAAW,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,UAAU,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACnI,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAY;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,GAAG;YACX,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,CAAC;YACX,iBAAiB,EAAE,CAAC;SACrB,CAAC;IACJ,CAAC;CACF;AAtPD,4CAsPC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,KAAY,EACZ,UAA4B,EAAE;IAE9B,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAEjC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,KAAY;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE;QAClD,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,19 +0,0 @@
1
- export interface XaiOptions {
2
- model?: string;
3
- temperature?: number;
4
- maxTokens?: number;
5
- }
6
- export declare class XaiClient {
7
- private baseUrl;
8
- private apiKey;
9
- constructor(apiKey?: string);
10
- hasApiKey(): boolean;
11
- checkConnection(): Promise<boolean>;
12
- generateText(prompt: string, options?: Partial<XaiOptions>): Promise<string>;
13
- generateComponent(prompt: string, options?: Partial<XaiOptions>): Promise<string>;
14
- generateComponentRefinement(componentCode: string, prompt: string, options?: Partial<XaiOptions>): Promise<string>;
15
- private request;
16
- private extractContent;
17
- private getDefaultModel;
18
- }
19
- //# sourceMappingURL=xaiClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xaiClient.d.ts","sourceRoot":"","sources":["../../src/utils/xaiClient.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAqD;IACpE,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,CAAC,EAAE,MAAM;IAS3B,SAAS,IAAI,OAAO;IAId,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBnC,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAChC,OAAO,CAAC,MAAM,CAAC;IAcZ,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAChC,OAAO,CAAC,MAAM,CAAC;IAUZ,2BAA2B,CAC/B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAChC,OAAO,CAAC,MAAM,CAAC;YAoBJ,OAAO;IA+DrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,eAAe;CAQxB"}
@@ -1,135 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XaiClient = void 0;
4
- class XaiClient {
5
- constructor(apiKey) {
6
- this.baseUrl = process.env.XAI_BASE_URL || "https://api.x.ai/v1";
7
- this.apiKey = null;
8
- this.apiKey =
9
- apiKey ||
10
- process.env.MYCONTEXT_XAI_API_KEY ||
11
- process.env.MYCONTEXT_GROK_TOKEN ||
12
- process.env.XAI_API_KEY ||
13
- null;
14
- }
15
- hasApiKey() {
16
- return Boolean(this.apiKey);
17
- }
18
- async checkConnection() {
19
- if (!this.hasApiKey())
20
- return false;
21
- try {
22
- // Lightweight ping by requesting a very small completion
23
- const res = await this.request("/chat/completions", {
24
- model: this.getDefaultModel(),
25
- messages: [{ role: "user", content: "ping" }],
26
- max_tokens: 1,
27
- temperature: 0.0,
28
- }, 8000);
29
- return Boolean(res?.id);
30
- }
31
- catch {
32
- return false;
33
- }
34
- }
35
- async generateText(prompt, options = {}) {
36
- const model = options.model || this.getDefaultModel();
37
- const response = await this.request("/chat/completions", {
38
- model: model,
39
- messages: [
40
- { role: "system", content: "You are a helpful assistant." },
41
- { role: "user", content: prompt },
42
- ],
43
- max_tokens: options.maxTokens ?? 8000, // Increased from 2048
44
- temperature: options.temperature ?? 0.2,
45
- });
46
- return this.extractContent(response) || "";
47
- }
48
- async generateComponent(prompt, options = {}) {
49
- // Increase token limits for component generation
50
- const enhancedOptions = {
51
- ...options,
52
- maxTokens: options.maxTokens ?? 8000, // Increased from 2048
53
- temperature: options.temperature ?? 0.3, // Slightly higher for creativity
54
- };
55
- return this.generateText(prompt, enhancedOptions);
56
- }
57
- async generateComponentRefinement(componentCode, prompt, options = {}) {
58
- const messages = [
59
- {
60
- role: "system",
61
- content: "You are an expert React/TypeScript code assistant.",
62
- },
63
- {
64
- role: "user",
65
- content: `${prompt}\n\n\u0060\u0060\u0060tsx\n${componentCode}\n\u0060\u0060\u0060`,
66
- },
67
- ];
68
- const response = await this.request("/chat/completions", {
69
- model: options.model || this.getDefaultModel(),
70
- messages,
71
- max_tokens: options.maxTokens ?? 8000, // Increased from 4096
72
- temperature: options.temperature ?? 0.2,
73
- });
74
- return this.extractContent(response) || "";
75
- }
76
- async request(path, body, timeoutMs = 30000) {
77
- if (!this.apiKey)
78
- throw new Error("Missing X.AI API key (set MYCONTEXT_GROK_TOKEN or XAI_API_KEY)");
79
- const controller = new AbortController();
80
- const t = setTimeout(() => controller.abort(), timeoutMs);
81
- try {
82
- const res = await fetch(`${this.baseUrl}${path}`, {
83
- method: "POST",
84
- headers: {
85
- "Content-Type": "application/json",
86
- Authorization: `Bearer ${this.apiKey}`,
87
- },
88
- body: JSON.stringify(body),
89
- signal: controller.signal,
90
- });
91
- if (!res.ok) {
92
- const text = await res.text();
93
- throw new Error(`XAI request failed: ${res.status} ${res.statusText} – ${text}`);
94
- }
95
- // Try to parse JSON response, handle malformed responses
96
- const responseText = await res.text();
97
- console.log("🔍 DEBUG: X.AI response preview:", responseText.substring(0, 200));
98
- try {
99
- // Check if response looks like JSON
100
- if (!responseText.trim().startsWith("{") &&
101
- !responseText.trim().startsWith("[")) {
102
- console.warn("❌ DEBUG: X.AI response doesn't look like JSON, got:", responseText.substring(0, 100));
103
- throw new Error(`X.AI returned non-JSON response: ${responseText.substring(0, 100)}...`);
104
- }
105
- return JSON.parse(responseText);
106
- }
107
- catch (parseError) {
108
- console.error("❌ DEBUG: X.AI JSON parsing failed:", parseError);
109
- console.error("❌ DEBUG: Full X.AI response:", responseText);
110
- throw new Error(`X.AI response parsing failed: ${parseError instanceof Error ? parseError.message : String(parseError)}`);
111
- }
112
- }
113
- finally {
114
- clearTimeout(t);
115
- }
116
- }
117
- extractContent(resp) {
118
- try {
119
- const content = resp?.choices?.[0]?.message?.content;
120
- return typeof content === "string" ? content : null;
121
- }
122
- catch {
123
- return null;
124
- }
125
- }
126
- getDefaultModel() {
127
- // Reasonable default; allow override via env
128
- const model = process.env.XAI_MODEL ||
129
- process.env.MYCONTEXT_MODEL ||
130
- "grok-4-fast-reasoning";
131
- return model;
132
- }
133
- }
134
- exports.XaiClient = XaiClient;
135
- //# sourceMappingURL=xaiClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xaiClient.js","sourceRoot":"","sources":["../../src/utils/xaiClient.ts"],"names":[],"mappings":"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"}