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.
- package/dist/agents/communication/AgentCommunicationManager.d.ts +3 -3
- package/dist/agents/communication/AgentCommunicationManager.d.ts.map +1 -1
- package/dist/agents/communication/AgentCommunicationManager.js +7 -6
- package/dist/agents/communication/AgentCommunicationManager.js.map +1 -1
- package/dist/agents/evolution/CodeEvolutionEngine.d.ts.map +1 -1
- package/dist/agents/evolution/CodeEvolutionEngine.js +10 -7
- package/dist/agents/evolution/CodeEvolutionEngine.js.map +1 -1
- package/dist/agents/implementations/ArchitectAgent.js +2 -2
- package/dist/agents/implementations/ArchitectAgent.js.map +1 -1
- package/dist/agents/implementations/BackendDevAgent.d.ts.map +1 -1
- package/dist/agents/implementations/BackendDevAgent.js +4 -1
- package/dist/agents/implementations/BackendDevAgent.js.map +1 -1
- package/dist/agents/implementations/BuildStrategyAgent.d.ts.map +1 -1
- package/dist/agents/implementations/BuildStrategyAgent.js +4 -3
- package/dist/agents/implementations/BuildStrategyAgent.js.map +1 -1
- package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
- package/dist/agents/implementations/CodeGenSubAgent.js +6 -5
- package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
- package/dist/agents/implementations/DocsSubAgent.js +2 -2
- package/dist/agents/implementations/DocsSubAgent.js.map +1 -1
- package/dist/agents/implementations/EnhancementAgent.d.ts.map +1 -1
- package/dist/agents/implementations/EnhancementAgent.js +6 -4
- package/dist/agents/implementations/EnhancementAgent.js.map +1 -1
- package/dist/agents/implementations/InteractiveAgent.d.ts.map +1 -1
- package/dist/agents/implementations/InteractiveAgent.js +8 -1
- package/dist/agents/implementations/InteractiveAgent.js.map +1 -1
- package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -1
- package/dist/agents/implementations/PromptConstructorAgent.js +79 -31
- package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -1
- package/dist/agents/implementations/QASubAgent.js +2 -2
- package/dist/agents/implementations/QASubAgent.js.map +1 -1
- package/dist/agents/implementations/SecurityAgent.js +2 -2
- package/dist/agents/implementations/SecurityAgent.js.map +1 -1
- package/dist/agents/implementations/WorkflowAgent.d.ts +0 -1
- package/dist/agents/implementations/WorkflowAgent.d.ts.map +1 -1
- package/dist/agents/implementations/WorkflowAgent.js +6 -10
- package/dist/agents/implementations/WorkflowAgent.js.map +1 -1
- package/dist/agents/intelligence/ProjectIntelligence.js +5 -5
- package/dist/agents/intelligence/ProjectIntelligence.js.map +1 -1
- package/dist/agents/orchestrator/SubAgentOrchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator/SubAgentOrchestrator.js +4 -4
- package/dist/agents/orchestrator/SubAgentOrchestrator.js.map +1 -1
- package/dist/cli.js +8 -40
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +9 -9
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/enhance.d.ts.map +1 -1
- package/dist/commands/enhance.js +23 -78
- package/dist/commands/enhance.js.map +1 -1
- package/dist/commands/generate-components.d.ts.map +1 -1
- package/dist/commands/generate-components.js +12 -7
- package/dist/commands/generate-components.js.map +1 -1
- package/dist/commands/generate-todos.js +1 -1
- package/dist/commands/generate-todos.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +57 -41
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/playbooks.d.ts.map +1 -1
- package/dist/commands/playbooks.js +14 -8
- package/dist/commands/playbooks.js.map +1 -1
- package/dist/commands/preview.js +1 -1
- package/dist/commands/preview.js.map +1 -1
- package/dist/commands/refine.d.ts.map +1 -1
- package/dist/commands/refine.js +5 -3
- package/dist/commands/refine.js.map +1 -1
- package/dist/commands/sanitize.d.ts.map +1 -1
- package/dist/commands/sanitize.js +11 -4
- package/dist/commands/sanitize.js.map +1 -1
- package/dist/commands/setup-database.d.ts.map +1 -1
- package/dist/commands/setup-database.js +9 -7
- package/dist/commands/setup-database.js.map +1 -1
- package/dist/commands/setup-instantdb.d.ts.map +1 -1
- package/dist/commands/setup-instantdb.js +9 -7
- package/dist/commands/setup-instantdb.js.map +1 -1
- package/dist/config/build-strategies.json +2 -2
- package/dist/{agents/personalities/definitions.d.ts → constants/subAgentPersonalities.d.ts} +2 -2
- package/dist/constants/subAgentPersonalities.d.ts.map +1 -0
- package/dist/{agents/personalities/definitions.js → constants/subAgentPersonalities.js} +2 -2
- package/dist/constants/subAgentPersonalities.js.map +1 -0
- package/dist/package.json +1 -1
- package/dist/types/analysis.d.ts +67 -0
- package/dist/types/analysis.d.ts.map +1 -0
- package/dist/types/analysis.js +7 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/types/components.d.ts +90 -0
- package/dist/types/components.d.ts.map +1 -0
- package/dist/types/components.js +7 -0
- package/dist/types/components.js.map +1 -0
- package/dist/types/enhancement.d.ts +127 -0
- package/dist/types/enhancement.d.ts.map +1 -0
- package/dist/types/enhancement.js +7 -0
- package/dist/types/enhancement.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +25 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/progress.d.ts +88 -0
- package/dist/types/progress.d.ts.map +1 -0
- package/dist/types/progress.js +7 -0
- package/dist/types/progress.js.map +1 -0
- package/dist/utils/ProjectHealthMonitor.d.ts.map +1 -1
- package/dist/utils/ProjectHealthMonitor.js +47 -36
- package/dist/utils/ProjectHealthMonitor.js.map +1 -1
- package/dist/utils/agentDefinitions.d.ts +2 -2
- package/dist/utils/agentDefinitions.d.ts.map +1 -1
- package/dist/utils/agentDefinitions.js +40 -33
- package/dist/utils/agentDefinitions.js.map +1 -1
- package/dist/utils/buildStrategyManager.d.ts.map +1 -1
- package/dist/utils/buildStrategyManager.js +1 -1
- package/dist/utils/buildStrategyManager.js.map +1 -1
- package/dist/utils/claudeAgentClient.d.ts +0 -1
- package/dist/utils/claudeAgentClient.d.ts.map +1 -1
- package/dist/utils/claudeAgentClient.js +46 -39
- package/dist/utils/claudeAgentClient.js.map +1 -1
- package/dist/utils/hybridAIClient.d.ts +1 -9
- package/dist/utils/hybridAIClient.d.ts.map +1 -1
- package/dist/utils/hybridAIClient.js +81 -78
- package/dist/utils/hybridAIClient.js.map +1 -1
- package/dist/utils/mcpAgentIntegration.d.ts.map +1 -1
- package/dist/utils/mcpAgentIntegration.js +1 -1
- package/dist/utils/mcpAgentIntegration.js.map +1 -1
- package/dist/utils/mcpTools.d.ts +5 -5
- package/dist/utils/mcpTools.d.ts.map +1 -1
- package/dist/utils/mcpTools.js +319 -241
- package/dist/utils/mcpTools.js.map +1 -1
- package/dist/utils/progressTracker.d.ts +3 -79
- package/dist/utils/progressTracker.d.ts.map +1 -1
- package/dist/utils/progressTracker.js +92 -68
- package/dist/utils/progressTracker.js.map +1 -1
- package/dist/utils/typeTemplateGenerator.d.ts.map +1 -1
- package/dist/utils/typeTemplateGenerator.js +125 -79
- package/dist/utils/typeTemplateGenerator.js.map +1 -1
- package/package.json +1 -1
- package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts +0 -110
- package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts.map +0 -1
- package/dist/agents/implementations/ClaudeAgentWorkflow.js +0 -661
- package/dist/agents/implementations/ClaudeAgentWorkflow.js.map +0 -1
- package/dist/agents/personalities/definitions.d.ts.map +0 -1
- package/dist/agents/personalities/definitions.js.map +0 -1
- package/dist/commands/model.d.ts +0 -22
- package/dist/commands/model.d.ts.map +0 -1
- package/dist/commands/model.js +0 -130
- package/dist/commands/model.js.map +0 -1
- package/dist/commands/normalize.d.ts +0 -5
- package/dist/commands/normalize.d.ts.map +0 -1
- package/dist/commands/normalize.js +0 -128
- package/dist/commands/normalize.js.map +0 -1
- package/dist/commands/pricing.d.ts +0 -15
- package/dist/commands/pricing.d.ts.map +0 -1
- package/dist/commands/pricing.js +0 -94
- package/dist/commands/pricing.js.map +0 -1
- package/dist/config/ai-providers.json +0 -102
- package/dist/config/pricing.json +0 -55
- package/dist/utils/aiClientFactory.d.ts +0 -93
- package/dist/utils/aiClientFactory.d.ts.map +0 -1
- package/dist/utils/aiClientFactory.js +0 -290
- package/dist/utils/aiClientFactory.js.map +0 -1
- package/dist/utils/aiClientRouter.d.ts +0 -121
- package/dist/utils/aiClientRouter.d.ts.map +0 -1
- package/dist/utils/aiClientRouter.js +0 -401
- package/dist/utils/aiClientRouter.js.map +0 -1
- package/dist/utils/apiKeyManager.d.ts +0 -137
- package/dist/utils/apiKeyManager.d.ts.map +0 -1
- package/dist/utils/apiKeyManager.js +0 -479
- package/dist/utils/apiKeyManager.js.map +0 -1
- package/dist/utils/claudeClient.d.ts +0 -28
- package/dist/utils/claudeClient.d.ts.map +0 -1
- package/dist/utils/claudeClient.js +0 -233
- package/dist/utils/claudeClient.js.map +0 -1
- package/dist/utils/geminiClient.d.ts +0 -61
- package/dist/utils/geminiClient.d.ts.map +0 -1
- package/dist/utils/geminiClient.js +0 -173
- package/dist/utils/geminiClient.js.map +0 -1
- package/dist/utils/githubModelsClient.d.ts +0 -27
- package/dist/utils/githubModelsClient.d.ts.map +0 -1
- package/dist/utils/githubModelsClient.js +0 -332
- package/dist/utils/githubModelsClient.js.map +0 -1
- package/dist/utils/huggingFaceClient.d.ts +0 -44
- package/dist/utils/huggingFaceClient.d.ts.map +0 -1
- package/dist/utils/huggingFaceClient.js +0 -169
- package/dist/utils/huggingFaceClient.js.map +0 -1
- package/dist/utils/openaiClient.d.ts +0 -24
- package/dist/utils/openaiClient.d.ts.map +0 -1
- package/dist/utils/openaiClient.js +0 -204
- package/dist/utils/openaiClient.js.map +0 -1
- package/dist/utils/qwenClient.d.ts +0 -22
- package/dist/utils/qwenClient.d.ts.map +0 -1
- package/dist/utils/qwenClient.js +0 -185
- package/dist/utils/qwenClient.js.map +0 -1
- package/dist/utils/streamingHandler.d.ts +0 -98
- package/dist/utils/streamingHandler.d.ts.map +0 -1
- package/dist/utils/streamingHandler.js +0 -259
- package/dist/utils/streamingHandler.js.map +0 -1
- package/dist/utils/xaiClient.d.ts +0 -19
- package/dist/utils/xaiClient.d.ts.map +0 -1
- package/dist/utils/xaiClient.js +0 -135
- package/dist/utils/xaiClient.js.map +0 -1
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.OpenAIClient = void 0;
|
|
40
|
-
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
41
|
-
const fs = __importStar(require("fs"));
|
|
42
|
-
const path = __importStar(require("path"));
|
|
43
|
-
class OpenAIClient {
|
|
44
|
-
constructor() {
|
|
45
|
-
this.baseUrl = "https://api.openai.com/v1";
|
|
46
|
-
this.token =
|
|
47
|
-
process.env.MYCONTEXT_OPENAI_API_KEY ||
|
|
48
|
-
process.env.OPENAI_API_KEY ||
|
|
49
|
-
null;
|
|
50
|
-
if (!this.token) {
|
|
51
|
-
const loaded = this.loadTokenFromEnvFiles();
|
|
52
|
-
if (loaded) {
|
|
53
|
-
this.token = loaded;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
hasApiKey() {
|
|
58
|
-
return !!this.token;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Load token from project-level env files without external deps
|
|
62
|
-
* Priority: .mycontext/.env -> .env
|
|
63
|
-
*/
|
|
64
|
-
loadTokenFromEnvFiles() {
|
|
65
|
-
try {
|
|
66
|
-
const cwd = process.cwd();
|
|
67
|
-
const candidates = [
|
|
68
|
-
path.join(cwd, ".mycontext", ".env"),
|
|
69
|
-
path.join(cwd, ".env"),
|
|
70
|
-
];
|
|
71
|
-
for (const file of candidates) {
|
|
72
|
-
if (fs.existsSync(file)) {
|
|
73
|
-
const content = fs.readFileSync(file, "utf8");
|
|
74
|
-
const lines = content.split("\n");
|
|
75
|
-
for (const line of lines) {
|
|
76
|
-
const trimmed = line.trim();
|
|
77
|
-
if (trimmed.startsWith("MYCONTEXT_OPENAI_API_KEY=") ||
|
|
78
|
-
trimmed.startsWith("OPENAI_API_KEY=")) {
|
|
79
|
-
const keyValue = trimmed.split("=", 2);
|
|
80
|
-
if (keyValue.length === 2) {
|
|
81
|
-
const value = keyValue[1].replace(/^["']|["']$/g, ""); // Remove quotes
|
|
82
|
-
if (value && !value.startsWith("$")) {
|
|
83
|
-
// Not a variable reference
|
|
84
|
-
return value;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
catch (error) {
|
|
93
|
-
// Ignore file read errors
|
|
94
|
-
}
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
async checkConnection() {
|
|
98
|
-
if (!this.token)
|
|
99
|
-
return false;
|
|
100
|
-
try {
|
|
101
|
-
const response = await (0, node_fetch_1.default)(`${this.baseUrl}/models`, {
|
|
102
|
-
method: "GET",
|
|
103
|
-
headers: {
|
|
104
|
-
Authorization: `Bearer ${this.token}`,
|
|
105
|
-
"Content-Type": "application/json",
|
|
106
|
-
},
|
|
107
|
-
timeout: 5000,
|
|
108
|
-
});
|
|
109
|
-
return response.ok;
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
console.log(`[OpenAIClient] Connection check failed: ${error}`);
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
async generateText(prompt, options = { model: "gpt-3.5-turbo" }) {
|
|
117
|
-
if (!this.token) {
|
|
118
|
-
throw new Error("OpenAI API key not configured");
|
|
119
|
-
}
|
|
120
|
-
const model = options.model || "gpt-3.5-turbo";
|
|
121
|
-
const messages = [
|
|
122
|
-
{
|
|
123
|
-
role: "user",
|
|
124
|
-
content: prompt,
|
|
125
|
-
},
|
|
126
|
-
];
|
|
127
|
-
const payload = {
|
|
128
|
-
model,
|
|
129
|
-
messages,
|
|
130
|
-
temperature: options.temperature || 0.2,
|
|
131
|
-
max_tokens: options.maxTokens || 4096,
|
|
132
|
-
};
|
|
133
|
-
const response = await (0, node_fetch_1.default)(`${this.baseUrl}/chat/completions`, {
|
|
134
|
-
method: "POST",
|
|
135
|
-
headers: {
|
|
136
|
-
Authorization: `Bearer ${this.token}`,
|
|
137
|
-
"Content-Type": "application/json",
|
|
138
|
-
},
|
|
139
|
-
body: JSON.stringify(payload),
|
|
140
|
-
});
|
|
141
|
-
if (!response.ok) {
|
|
142
|
-
const errorText = await response.text();
|
|
143
|
-
throw new Error(`OpenAI API error (${response.status}): ${errorText}`);
|
|
144
|
-
}
|
|
145
|
-
const data = await response.json();
|
|
146
|
-
return data.choices[0]?.message?.content || "";
|
|
147
|
-
}
|
|
148
|
-
async generateComponent(prompt, options = { model: "gpt-3.5-turbo" }) {
|
|
149
|
-
// For component generation, we want more structured output
|
|
150
|
-
const enhancedPrompt = `You are a React component generator. Generate a complete, production-ready React component based on the following requirements:
|
|
151
|
-
|
|
152
|
-
${prompt}
|
|
153
|
-
|
|
154
|
-
Please provide:
|
|
155
|
-
1. The complete component code in a code block
|
|
156
|
-
2. A brief explanation of the implementation
|
|
157
|
-
|
|
158
|
-
Format your response with the code in a \`\`\`tsx code block.`;
|
|
159
|
-
return this.generateText(enhancedPrompt, options);
|
|
160
|
-
}
|
|
161
|
-
async generateComponentRefinement(componentCode, prompt, options = { model: "gpt-3.5-turbo" }) {
|
|
162
|
-
const enhancedPrompt = `You are a React component refactoring expert. Please refine the following component:
|
|
163
|
-
|
|
164
|
-
\`\`\`tsx
|
|
165
|
-
${componentCode}
|
|
166
|
-
\`\`\`
|
|
167
|
-
|
|
168
|
-
Requirements:
|
|
169
|
-
${prompt}
|
|
170
|
-
|
|
171
|
-
Please provide:
|
|
172
|
-
1. The complete refactored component code
|
|
173
|
-
2. A brief explanation of the changes made
|
|
174
|
-
|
|
175
|
-
Format your response with the code in a \`\`\`tsx code block.`;
|
|
176
|
-
return this.generateText(enhancedPrompt, options);
|
|
177
|
-
}
|
|
178
|
-
async listModels() {
|
|
179
|
-
if (!this.token)
|
|
180
|
-
return [];
|
|
181
|
-
try {
|
|
182
|
-
const response = await (0, node_fetch_1.default)(`${this.baseUrl}/models`, {
|
|
183
|
-
method: "GET",
|
|
184
|
-
headers: {
|
|
185
|
-
Authorization: `Bearer ${this.token}`,
|
|
186
|
-
"Content-Type": "application/json",
|
|
187
|
-
},
|
|
188
|
-
});
|
|
189
|
-
if (!response.ok)
|
|
190
|
-
return [];
|
|
191
|
-
const data = await response.json();
|
|
192
|
-
return data.data?.map((model) => model.id) || [];
|
|
193
|
-
}
|
|
194
|
-
catch (error) {
|
|
195
|
-
console.log(`[OpenAIClient] Failed to list models: ${error}`);
|
|
196
|
-
return [];
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
setApiKey(apiKey) {
|
|
200
|
-
this.token = apiKey;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
exports.OpenAIClient = OpenAIClient;
|
|
204
|
-
//# sourceMappingURL=openaiClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openaiClient.js","sourceRoot":"","sources":["../../src/utils/openaiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export interface QwenOptions {
|
|
2
|
-
model?: string;
|
|
3
|
-
temperature?: number;
|
|
4
|
-
maxTokens?: number;
|
|
5
|
-
}
|
|
6
|
-
export declare class QwenClient {
|
|
7
|
-
private baseUrl;
|
|
8
|
-
private apiKey;
|
|
9
|
-
constructor(apiKey?: string);
|
|
10
|
-
hasApiKey(): boolean;
|
|
11
|
-
private loadTokenFromEnvFiles;
|
|
12
|
-
private getHeaders;
|
|
13
|
-
checkConnection(): Promise<boolean>;
|
|
14
|
-
generateText(prompt: string, options?: Partial<QwenOptions>): Promise<string>;
|
|
15
|
-
generateComponent(prompt: string, options?: Partial<QwenOptions>): Promise<string>;
|
|
16
|
-
generateComponentRefinement(componentCode: string, prompt: string, options?: Partial<QwenOptions>): Promise<string>;
|
|
17
|
-
private generateWithMessages;
|
|
18
|
-
private extractContent;
|
|
19
|
-
listModels(): Promise<string[]>;
|
|
20
|
-
setApiKey(apiKey: string): void;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=qwenClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qwenClient.d.ts","sourceRoot":"","sources":["../../src/utils/qwenClient.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,CAAC,EAAE,MAAM;IAI3B,SAAS,IAAI,OAAO;IAIpB,OAAO,CAAC,qBAAqB;IAiC7B,OAAO,CAAC,UAAU;IASZ,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBnC,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,WAAW,CAAM,GACjC,OAAO,CAAC,MAAM,CAAC;IAMZ,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,WAAW,CAAM,GACjC,OAAO,CAAC,MAAM,CAAC;IAwBZ,2BAA2B,CAC/B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,WAAW,CAAM,GACjC,OAAO,CAAC,MAAM,CAAC;YA0BJ,oBAAoB;IA6ClC,OAAO,CAAC,cAAc;IAehB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAuBrC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGhC"}
|
package/dist/utils/qwenClient.js
DELETED
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QwenClient = void 0;
|
|
4
|
-
class QwenClient {
|
|
5
|
-
constructor(apiKey) {
|
|
6
|
-
this.baseUrl = "https://openrouter.ai/api/v1";
|
|
7
|
-
this.apiKey = null;
|
|
8
|
-
this.apiKey = apiKey || this.loadTokenFromEnvFiles();
|
|
9
|
-
}
|
|
10
|
-
hasApiKey() {
|
|
11
|
-
return !!this.apiKey;
|
|
12
|
-
}
|
|
13
|
-
loadTokenFromEnvFiles() {
|
|
14
|
-
// Check environment variables
|
|
15
|
-
const envKey = process.env.MYCONTEXT_QWEN_API_KEY || process.env.QWEN_API_KEY;
|
|
16
|
-
if (envKey)
|
|
17
|
-
return envKey;
|
|
18
|
-
// Check .mycontext/.env file
|
|
19
|
-
try {
|
|
20
|
-
const fs = require("fs");
|
|
21
|
-
const path = require("path");
|
|
22
|
-
const envPath = path.join(process.cwd(), ".mycontext", ".env");
|
|
23
|
-
if (fs.existsSync(envPath)) {
|
|
24
|
-
const envContent = fs.readFileSync(envPath, "utf8");
|
|
25
|
-
const lines = envContent.split("\n");
|
|
26
|
-
for (const line of lines) {
|
|
27
|
-
const trimmed = line.trim();
|
|
28
|
-
if (trimmed.startsWith("MYCONTEXT_QWEN_API_KEY=")) {
|
|
29
|
-
const key = trimmed.split("=")[1]?.trim();
|
|
30
|
-
if (key && !key.startsWith("$")) {
|
|
31
|
-
return key;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
// Ignore file read errors
|
|
39
|
-
}
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
getHeaders() {
|
|
43
|
-
return {
|
|
44
|
-
Authorization: `Bearer ${this.apiKey}`,
|
|
45
|
-
"Content-Type": "application/json",
|
|
46
|
-
"HTTP-Referer": "https://mycontext.fbien.com",
|
|
47
|
-
"X-Title": "MyContext CLI",
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
async checkConnection() {
|
|
51
|
-
if (!this.apiKey)
|
|
52
|
-
return false;
|
|
53
|
-
try {
|
|
54
|
-
const response = await fetch(`${this.baseUrl}/models`, {
|
|
55
|
-
method: "GET",
|
|
56
|
-
headers: this.getHeaders(),
|
|
57
|
-
signal: AbortSignal.timeout(10000),
|
|
58
|
-
});
|
|
59
|
-
return response.ok;
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async generateText(prompt, options = {}) {
|
|
66
|
-
const messages = [{ role: "user", content: prompt }];
|
|
67
|
-
return this.generateWithMessages(messages, options);
|
|
68
|
-
}
|
|
69
|
-
async generateComponent(prompt, options = {}) {
|
|
70
|
-
const systemPrompt = `You are an expert React/Next.js developer specializing in creating production-ready components using TypeScript, Tailwind CSS, and shadcn/ui.
|
|
71
|
-
|
|
72
|
-
Key requirements:
|
|
73
|
-
- Use TypeScript with proper type definitions
|
|
74
|
-
- Import shadcn/ui components from '@/components/ui/<component>'
|
|
75
|
-
- Use Tailwind CSS for styling with design tokens
|
|
76
|
-
- Follow Next.js App Router patterns (Server Components by default, "use client" when needed)
|
|
77
|
-
- Include proper accessibility attributes
|
|
78
|
-
- Add comprehensive JSDoc comments
|
|
79
|
-
- Export both named and default exports
|
|
80
|
-
- Include action functions as separate exports
|
|
81
|
-
- Use proper error handling and loading states
|
|
82
|
-
|
|
83
|
-
Generate clean, production-ready React component code.`;
|
|
84
|
-
const messages = [
|
|
85
|
-
{ role: "system", content: systemPrompt },
|
|
86
|
-
{ role: "user", content: prompt },
|
|
87
|
-
];
|
|
88
|
-
return this.generateWithMessages(messages, options);
|
|
89
|
-
}
|
|
90
|
-
async generateComponentRefinement(componentCode, prompt, options = {}) {
|
|
91
|
-
const systemPrompt = `You are an expert React/Next.js developer specializing in refining and improving existing components.
|
|
92
|
-
|
|
93
|
-
Key requirements:
|
|
94
|
-
- Maintain TypeScript type safety
|
|
95
|
-
- Preserve existing functionality while improving code quality
|
|
96
|
-
- Use shadcn/ui components from '@/components/ui/<component>'
|
|
97
|
-
- Apply Tailwind CSS best practices
|
|
98
|
-
- Improve accessibility and performance
|
|
99
|
-
- Add proper error handling and loading states
|
|
100
|
-
- Maintain consistent code style
|
|
101
|
-
- Add comprehensive JSDoc comments where missing
|
|
102
|
-
|
|
103
|
-
Refine the provided component code based on the user's request.`;
|
|
104
|
-
const messages = [
|
|
105
|
-
{ role: "system", content: systemPrompt },
|
|
106
|
-
{
|
|
107
|
-
role: "user",
|
|
108
|
-
content: `Current component code:\n\`\`\`tsx\n${componentCode}\n\`\`\`\n\nRefinement request: ${prompt}`,
|
|
109
|
-
},
|
|
110
|
-
];
|
|
111
|
-
return this.generateWithMessages(messages, options);
|
|
112
|
-
}
|
|
113
|
-
async generateWithMessages(messages, options = {}) {
|
|
114
|
-
if (!this.apiKey) {
|
|
115
|
-
throw new Error("Qwen API key not found. Set MYCONTEXT_QWEN_API_KEY environment variable.");
|
|
116
|
-
}
|
|
117
|
-
const model = options.model || "qwen/qwen3-coder:free";
|
|
118
|
-
const temperature = options.temperature ?? 0.2;
|
|
119
|
-
const maxTokens = Math.min(options.maxTokens ?? 4000, 4000);
|
|
120
|
-
try {
|
|
121
|
-
const response = await fetch(`${this.baseUrl}/chat/completions`, {
|
|
122
|
-
method: "POST",
|
|
123
|
-
headers: this.getHeaders(),
|
|
124
|
-
body: JSON.stringify({
|
|
125
|
-
model,
|
|
126
|
-
messages,
|
|
127
|
-
temperature,
|
|
128
|
-
max_tokens: maxTokens,
|
|
129
|
-
stream: false,
|
|
130
|
-
}),
|
|
131
|
-
signal: AbortSignal.timeout(60000),
|
|
132
|
-
});
|
|
133
|
-
if (!response.ok) {
|
|
134
|
-
const errorText = await response.text();
|
|
135
|
-
throw new Error(`Qwen API error: ${response.status} ${response.statusText} - ${errorText}`);
|
|
136
|
-
}
|
|
137
|
-
const data = await response.json();
|
|
138
|
-
return this.extractContent(data);
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
if (error instanceof Error) {
|
|
142
|
-
throw new Error(`Qwen generation failed: ${error.message}`);
|
|
143
|
-
}
|
|
144
|
-
throw new Error("Qwen generation failed: Unknown error");
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
extractContent(response) {
|
|
148
|
-
try {
|
|
149
|
-
if (response.choices &&
|
|
150
|
-
response.choices[0] &&
|
|
151
|
-
response.choices[0].message) {
|
|
152
|
-
return response.choices[0].message.content || "";
|
|
153
|
-
}
|
|
154
|
-
return "";
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
return "";
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
async listModels() {
|
|
161
|
-
if (!this.apiKey)
|
|
162
|
-
return [];
|
|
163
|
-
try {
|
|
164
|
-
const response = await fetch(`${this.baseUrl}/models`, {
|
|
165
|
-
method: "GET",
|
|
166
|
-
headers: this.getHeaders(),
|
|
167
|
-
signal: AbortSignal.timeout(10000),
|
|
168
|
-
});
|
|
169
|
-
if (!response.ok)
|
|
170
|
-
return [];
|
|
171
|
-
const data = (await response.json());
|
|
172
|
-
return (data.data
|
|
173
|
-
?.map((model) => model.id)
|
|
174
|
-
.filter((id) => id.includes("qwen")) || []);
|
|
175
|
-
}
|
|
176
|
-
catch (error) {
|
|
177
|
-
return [];
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
setApiKey(apiKey) {
|
|
181
|
-
this.apiKey = apiKey;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
exports.QwenClient = QwenClient;
|
|
185
|
-
//# sourceMappingURL=qwenClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qwenClient.js","sourceRoot":"","sources":["../../src/utils/qwenClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Streaming Handler for Claude Agent SDK
|
|
3
|
-
*
|
|
4
|
-
* Handles streaming messages, progress tracking, and user feedback
|
|
5
|
-
* for long-running agent operations.
|
|
6
|
-
*/
|
|
7
|
-
import type { Query } from '@anthropic-ai/claude-agent-sdk';
|
|
8
|
-
export interface StreamingOptions {
|
|
9
|
-
showProgress?: boolean;
|
|
10
|
-
showTokens?: boolean;
|
|
11
|
-
showToolUsage?: boolean;
|
|
12
|
-
onProgress?: (message: string) => void;
|
|
13
|
-
onToken?: (token: string) => void;
|
|
14
|
-
onToolUse?: (tool: string, input: any) => void;
|
|
15
|
-
onError?: (error: Error) => void;
|
|
16
|
-
}
|
|
17
|
-
export interface StreamingStats {
|
|
18
|
-
totalTokens: number;
|
|
19
|
-
inputTokens: number;
|
|
20
|
-
outputTokens: number;
|
|
21
|
-
toolsUsed: string[];
|
|
22
|
-
duration: number;
|
|
23
|
-
messagesProcessed: number;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Handles streaming from Claude Agent SDK with progress tracking
|
|
27
|
-
*/
|
|
28
|
-
export declare class StreamingHandler {
|
|
29
|
-
private spinner;
|
|
30
|
-
private stats;
|
|
31
|
-
private startTime;
|
|
32
|
-
private options;
|
|
33
|
-
constructor(options?: StreamingOptions);
|
|
34
|
-
/**
|
|
35
|
-
* Start streaming handler
|
|
36
|
-
*/
|
|
37
|
-
start(message?: string): void;
|
|
38
|
-
/**
|
|
39
|
-
* Process streaming messages from query
|
|
40
|
-
*/
|
|
41
|
-
processStream(query: Query): Promise<string>;
|
|
42
|
-
/**
|
|
43
|
-
* Handle assistant message
|
|
44
|
-
*/
|
|
45
|
-
private handleAssistantMessage;
|
|
46
|
-
/**
|
|
47
|
-
* Handle partial assistant message (streaming)
|
|
48
|
-
*/
|
|
49
|
-
private handlePartialMessage;
|
|
50
|
-
/**
|
|
51
|
-
* Handle tool result message
|
|
52
|
-
*/
|
|
53
|
-
private handleToolResult;
|
|
54
|
-
/**
|
|
55
|
-
* Handle system message
|
|
56
|
-
*/
|
|
57
|
-
private handleSystemMessage;
|
|
58
|
-
/**
|
|
59
|
-
* Handle permission denial
|
|
60
|
-
*/
|
|
61
|
-
private handlePermissionDenial;
|
|
62
|
-
/**
|
|
63
|
-
* Update spinner text
|
|
64
|
-
*/
|
|
65
|
-
private updateSpinner;
|
|
66
|
-
/**
|
|
67
|
-
* Complete streaming successfully
|
|
68
|
-
*/
|
|
69
|
-
complete(message?: string): void;
|
|
70
|
-
/**
|
|
71
|
-
* Handle error during streaming
|
|
72
|
-
*/
|
|
73
|
-
error(error: Error): void;
|
|
74
|
-
/**
|
|
75
|
-
* Stop spinner without completion
|
|
76
|
-
*/
|
|
77
|
-
stop(): void;
|
|
78
|
-
/**
|
|
79
|
-
* Get current statistics
|
|
80
|
-
*/
|
|
81
|
-
getStats(): StreamingStats;
|
|
82
|
-
/**
|
|
83
|
-
* Reset statistics
|
|
84
|
-
*/
|
|
85
|
-
resetStats(): void;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Convenience function to create and use streaming handler
|
|
89
|
-
*/
|
|
90
|
-
export declare function streamWithProgress(query: Query, options?: StreamingOptions): Promise<{
|
|
91
|
-
content: string;
|
|
92
|
-
stats: StreamingStats;
|
|
93
|
-
}>;
|
|
94
|
-
/**
|
|
95
|
-
* Simplified streaming with default options
|
|
96
|
-
*/
|
|
97
|
-
export declare function simpleStream(query: Query): Promise<string>;
|
|
98
|
-
//# sourceMappingURL=streamingHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"streamingHandler.d.ts","sourceRoot":"","sources":["../../src/utils/streamingHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,KAAK,CAOX;IACF,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,OAAO,CAAmB;gBAEtB,OAAO,GAAE,gBAAqB;IAS1C;;OAEG;IACH,KAAK,CAAC,OAAO,GAAE,MAAwB;IAOvC;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IA2ClD;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAwC9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;IAmBzB;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK;IAUlB;;OAEG;IACH,IAAI;IAMJ;;OAEG;IACH,QAAQ,IAAI,cAAc;IAI1B;;OAEG;IACH,UAAU;CAUX;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAAC,CAQrD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAOhE"}
|