@chrishdx/llm-dev-server 1.1.5 → 1.1.7
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/backend/bin/wrapper.js +121 -0
- package/backend/dist/controllers/AuthController.d.ts +3 -0
- package/backend/dist/controllers/AuthController.d.ts.map +1 -1
- package/backend/dist/controllers/AuthController.js +40 -0
- package/backend/dist/controllers/AuthController.js.map +1 -1
- package/backend/dist/routes/auth.routes.d.ts.map +1 -1
- package/backend/dist/routes/auth.routes.js +3 -0
- package/backend/dist/routes/auth.routes.js.map +1 -1
- package/backend/dist/routes/index.d.ts.map +1 -1
- package/backend/dist/routes/index.js +4 -0
- package/backend/dist/routes/index.js.map +1 -1
- package/backend/dist/routes/system.routes.d.ts +15 -0
- package/backend/dist/routes/system.routes.d.ts.map +1 -0
- package/backend/dist/routes/system.routes.js +152 -0
- package/backend/dist/routes/system.routes.js.map +1 -0
- package/backend/dist/routes/test.routes.d.ts +3 -0
- package/backend/dist/routes/test.routes.d.ts.map +1 -0
- package/backend/dist/routes/test.routes.js +211 -0
- package/backend/dist/routes/test.routes.js.map +1 -0
- package/backend/dist/services/SystemService.d.ts +88 -0
- package/backend/dist/services/SystemService.d.ts.map +1 -0
- package/backend/dist/services/SystemService.js +299 -0
- package/backend/dist/services/SystemService.js.map +1 -0
- package/backend/dist/services/auth/TokenRefreshService.d.ts +4 -0
- package/backend/dist/services/auth/TokenRefreshService.d.ts.map +1 -1
- package/backend/dist/services/auth/TokenRefreshService.js +14 -0
- package/backend/dist/services/auth/TokenRefreshService.js.map +1 -1
- package/backend/dist/services/conversation/ConversationService.d.ts.map +1 -1
- package/backend/dist/services/conversation/ConversationService.js +23 -3
- package/backend/dist/services/conversation/ConversationService.js.map +1 -1
- package/backend/dist/services/llm/ClaudeProvider.d.ts +10 -8
- package/backend/dist/services/llm/ClaudeProvider.d.ts.map +1 -1
- package/backend/dist/services/llm/ClaudeProvider.js +103 -303
- package/backend/dist/services/llm/ClaudeProvider.js.map +1 -1
- package/backend/dist/services/llm/LLMProviderBase.d.ts +5 -0
- package/backend/dist/services/llm/LLMProviderBase.d.ts.map +1 -1
- package/backend/dist/services/llm/LLMProviderBase.js.map +1 -1
- package/backend/package.json +1 -1
- package/backend/public/assets/index-CrDmFy4C.js +242 -0
- package/backend/public/index.html +1 -1
- package/package.json +18 -17
- package/shared/dist/types/api.d.ts +38 -2
- package/shared/dist/types/api.d.ts.map +1 -1
- package/backend/bin/llm-dev-server.js +0 -3
- package/backend/public/assets/index-C5FA1UMN.js +0 -189
|
@@ -4,14 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ClaudeProvider = void 0;
|
|
7
|
-
const child_process_1 = require("child_process");
|
|
8
|
-
const readline_1 = __importDefault(require("readline"));
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const promises_1 = __importDefault(require("fs/promises"));
|
|
11
7
|
const LLMProviderBase_1 = require("./LLMProviderBase");
|
|
12
8
|
const models_1 = require("../../models");
|
|
13
9
|
const crypto_1 = require("../../utils/crypto");
|
|
14
|
-
const environment_1 = __importDefault(require("../../config/environment"));
|
|
15
10
|
const logger_1 = __importDefault(require("../../utils/logger"));
|
|
16
11
|
const CLAUDE_CLIENT_ID = '9d1c250a-e61b-44d9-88ed-5944d1962f5e';
|
|
17
12
|
const CLAUDE_TOKEN_URL = 'https://console.anthropic.com/v1/oauth/token';
|
|
@@ -20,88 +15,27 @@ class ClaudeProvider extends LLMProviderBase_1.LLMProviderBase {
|
|
|
20
15
|
super(providerConfig);
|
|
21
16
|
}
|
|
22
17
|
async initialize() {
|
|
23
|
-
logger_1.default.info(`Initializing Claude provider for working directory: ${this.config.workingDirectory}`);
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
// Verify auth token exists
|
|
18
|
+
logger_1.default.info(`Initializing Claude provider (SDK V2) for working directory: ${this.config.workingDirectory}`);
|
|
19
|
+
// Load SDK dynamically (it's an ES module)
|
|
20
|
+
try {
|
|
21
|
+
this.sdk = await import("@anthropic-ai/claude-agent-sdk");
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
logger_1.default.error("Failed to load Claude Agent SDK:", error);
|
|
25
|
+
throw new Error("Failed to load Claude Agent SDK. Make sure it's installed.");
|
|
26
|
+
}
|
|
27
|
+
// Verify auth token exists and get OAuth access token
|
|
35
28
|
const token = await models_1.AuthToken.findByPk(this.config.tokenId);
|
|
36
29
|
if (!token || token.provider !== "claude") {
|
|
37
30
|
throw new Error("Invalid Claude auth token");
|
|
38
31
|
}
|
|
39
|
-
//
|
|
40
|
-
|
|
32
|
+
// Decrypt and store access token
|
|
33
|
+
this.accessToken = (0, crypto_1.decrypt)(token.accessToken);
|
|
41
34
|
// Use session from config if provided
|
|
42
35
|
if (this.config.sessionId) {
|
|
43
36
|
this.currentSessionId = this.config.sessionId;
|
|
44
37
|
}
|
|
45
|
-
logger_1.default.info("Claude provider initialized");
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Sync credentials from database to file for CLI usage
|
|
49
|
-
* Writes credentials in the format that works on both macOS (with Keychain) and Linux (without Keychain)
|
|
50
|
-
*/
|
|
51
|
-
async syncCredentialsToFile(token) {
|
|
52
|
-
try {
|
|
53
|
-
// Decrypt tokens from database
|
|
54
|
-
const accessToken = (0, crypto_1.decrypt)(token.accessToken);
|
|
55
|
-
const refreshToken = token.refreshToken
|
|
56
|
-
? (0, crypto_1.decrypt)(token.refreshToken)
|
|
57
|
-
: undefined;
|
|
58
|
-
// Write credentials in the format Claude CLI expects (matching n8n-nodes-claude-cli)
|
|
59
|
-
const credentialsData = {
|
|
60
|
-
claudeAiOauth: {
|
|
61
|
-
accessToken: accessToken,
|
|
62
|
-
refreshToken: refreshToken,
|
|
63
|
-
expiresAt: token.expiresAt
|
|
64
|
-
? new Date(token.expiresAt).getTime()
|
|
65
|
-
: Date.now() + 3600000,
|
|
66
|
-
issuedAt: token.issuedAt
|
|
67
|
-
? new Date(token.issuedAt).getTime()
|
|
68
|
-
: Date.now(),
|
|
69
|
-
scopes: token.scopes || ["user:inference"],
|
|
70
|
-
subscriptionType: "pro", // Default value
|
|
71
|
-
rateLimitTier: "default_claude_ai", // Default value
|
|
72
|
-
},
|
|
73
|
-
claudeAiProfile: {
|
|
74
|
-
email: token.email || null,
|
|
75
|
-
organization: token.organization || null,
|
|
76
|
-
subscriptionType: "pro",
|
|
77
|
-
rateLimitTier: "default_claude_ai",
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
const credentialsJson = JSON.stringify(credentialsData, null, 2);
|
|
81
|
-
// Write to CLAUDE_CONFIG_DIR
|
|
82
|
-
const claudeConfigDir = path_1.default.join(environment_1.default.DATA_DIR, "claude");
|
|
83
|
-
const customCredentialsPath = path_1.default.join(claudeConfigDir, ".credentials.json");
|
|
84
|
-
await promises_1.default.mkdir(claudeConfigDir, { recursive: true, mode: 0o700 });
|
|
85
|
-
await promises_1.default.writeFile(customCredentialsPath, credentialsJson, {
|
|
86
|
-
encoding: "utf8",
|
|
87
|
-
mode: 0o600,
|
|
88
|
-
});
|
|
89
|
-
logger_1.default.info(`Claude credentials synced to: ${customCredentialsPath}`);
|
|
90
|
-
// ALSO write to default HOME/.claude/ path (where CLI looks by default)
|
|
91
|
-
const homeDir = process.env.HOME || "/root";
|
|
92
|
-
const defaultClaudeDir = path_1.default.join(homeDir, ".claude");
|
|
93
|
-
const defaultCredentialsPath = path_1.default.join(defaultClaudeDir, ".credentials.json");
|
|
94
|
-
await promises_1.default.mkdir(defaultClaudeDir, { recursive: true, mode: 0o700 });
|
|
95
|
-
await promises_1.default.writeFile(defaultCredentialsPath, credentialsJson, {
|
|
96
|
-
encoding: "utf8",
|
|
97
|
-
mode: 0o600,
|
|
98
|
-
});
|
|
99
|
-
logger_1.default.info(`Claude credentials synced to default path: ${defaultCredentialsPath}`);
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
logger_1.default.error("Failed to sync Claude credentials to file:", error);
|
|
103
|
-
throw new Error("Failed to prepare Claude credentials");
|
|
104
|
-
}
|
|
38
|
+
logger_1.default.info("Claude provider (SDK V2) initialized");
|
|
105
39
|
}
|
|
106
40
|
/**
|
|
107
41
|
* Check if token needs refresh (expires within 5 minutes)
|
|
@@ -144,47 +78,13 @@ class ClaudeProvider extends LLMProviderBase_1.LLMProviderBase {
|
|
|
144
78
|
const tokens = await tokenResponse.json();
|
|
145
79
|
// Update token in database
|
|
146
80
|
const newExpiresAt = new Date(Date.now() + tokens.expires_in * 1000);
|
|
147
|
-
const newIssuedAt = Date.now();
|
|
148
81
|
await token.update({
|
|
149
82
|
accessToken: (0, crypto_1.encrypt)(tokens.access_token),
|
|
150
83
|
refreshToken: tokens.refresh_token ? (0, crypto_1.encrypt)(tokens.refresh_token) : token.refreshToken,
|
|
151
84
|
expiresAt: newExpiresAt,
|
|
152
85
|
});
|
|
153
|
-
//
|
|
154
|
-
|
|
155
|
-
claudeAiOauth: {
|
|
156
|
-
accessToken: tokens.access_token,
|
|
157
|
-
refreshToken: tokens.refresh_token || (0, crypto_1.decrypt)(token.refreshToken),
|
|
158
|
-
expiresAt: newExpiresAt.getTime(),
|
|
159
|
-
issuedAt: newIssuedAt,
|
|
160
|
-
scopes: token.scopes || ["user:inference"],
|
|
161
|
-
subscriptionType: "pro",
|
|
162
|
-
rateLimitTier: "default_claude_ai",
|
|
163
|
-
},
|
|
164
|
-
claudeAiProfile: {
|
|
165
|
-
email: token.email || null,
|
|
166
|
-
organization: token.organization || null,
|
|
167
|
-
subscriptionType: "pro",
|
|
168
|
-
rateLimitTier: "default_claude_ai",
|
|
169
|
-
},
|
|
170
|
-
};
|
|
171
|
-
const credentialsJson = JSON.stringify(credentialsData, null, 2);
|
|
172
|
-
// Write to both locations
|
|
173
|
-
try {
|
|
174
|
-
const claudeConfigDir = path_1.default.join(environment_1.default.DATA_DIR, 'claude');
|
|
175
|
-
const credentialsPath = path_1.default.join(claudeConfigDir, '.credentials.json');
|
|
176
|
-
await promises_1.default.mkdir(claudeConfigDir, { recursive: true, mode: 0o700 });
|
|
177
|
-
await promises_1.default.writeFile(credentialsPath, credentialsJson, { encoding: 'utf8', mode: 0o600 });
|
|
178
|
-
const homeDir = process.env.HOME || "/root";
|
|
179
|
-
const defaultClaudeDir = path_1.default.join(homeDir, ".claude");
|
|
180
|
-
const defaultCredentialsPath = path_1.default.join(defaultClaudeDir, ".credentials.json");
|
|
181
|
-
await promises_1.default.mkdir(defaultClaudeDir, { recursive: true, mode: 0o700 });
|
|
182
|
-
await promises_1.default.writeFile(defaultCredentialsPath, credentialsJson, { encoding: 'utf8', mode: 0o600 });
|
|
183
|
-
logger_1.default.info("Claude credentials file updated after token refresh");
|
|
184
|
-
}
|
|
185
|
-
catch (fileError) {
|
|
186
|
-
logger_1.default.warn("Could not update credentials file:", fileError);
|
|
187
|
-
}
|
|
86
|
+
// Update in-memory access token
|
|
87
|
+
this.accessToken = tokens.access_token;
|
|
188
88
|
logger_1.default.info("Claude token refreshed successfully, new expiry:", newExpiresAt);
|
|
189
89
|
}
|
|
190
90
|
catch (error) {
|
|
@@ -192,53 +92,98 @@ class ClaudeProvider extends LLMProviderBase_1.LLMProviderBase {
|
|
|
192
92
|
throw new Error(`Token refresh failed: ${error instanceof Error ? error.message : String(error)}. Please run /login to re-authenticate.`);
|
|
193
93
|
}
|
|
194
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Helper to extract text from assistant messages
|
|
97
|
+
*/
|
|
98
|
+
getAssistantText(msg) {
|
|
99
|
+
if (msg.type !== 'assistant')
|
|
100
|
+
return null;
|
|
101
|
+
return msg.message.content
|
|
102
|
+
.filter((block) => block.type === 'text')
|
|
103
|
+
.map((block) => block.text)
|
|
104
|
+
.join('');
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Helper to get token usage from SDK message
|
|
108
|
+
*/
|
|
109
|
+
getTokenUsage(msg) {
|
|
110
|
+
const usage = msg.usage;
|
|
111
|
+
if (!usage) {
|
|
112
|
+
return { input: 0, output: 0, total: 0 };
|
|
113
|
+
}
|
|
114
|
+
const inputTokens = usage.input_tokens || 0;
|
|
115
|
+
const outputTokens = usage.output_tokens || 0;
|
|
116
|
+
return {
|
|
117
|
+
input: inputTokens,
|
|
118
|
+
output: outputTokens,
|
|
119
|
+
total: inputTokens + outputTokens,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
195
122
|
async sendMessage(params) {
|
|
196
123
|
// Check and refresh token if needed before sending
|
|
197
124
|
await this.checkAndRefreshToken();
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
const args = [
|
|
201
|
-
"--print",
|
|
202
|
-
"--output-format",
|
|
203
|
-
onChunk ? "stream-json" : "json",
|
|
204
|
-
"--dangerously-skip-permissions", // Skip permission prompts for automation
|
|
205
|
-
];
|
|
206
|
-
if (this.config.model) {
|
|
207
|
-
args.push("--model", this.config.model);
|
|
208
|
-
}
|
|
209
|
-
if (systemPrompt) {
|
|
210
|
-
args.push("--append-system-prompt", systemPrompt);
|
|
211
|
-
}
|
|
212
|
-
if (this.currentSessionId) {
|
|
213
|
-
args.push("--session-id", this.currentSessionId);
|
|
125
|
+
if (!this.accessToken) {
|
|
126
|
+
throw new Error("No access token available");
|
|
214
127
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
attachments.forEach((attachment) => {
|
|
218
|
-
args.push("--add-dir", attachment);
|
|
219
|
-
});
|
|
128
|
+
if (!this.sdk) {
|
|
129
|
+
throw new Error("SDK not initialized. Call initialize() first.");
|
|
220
130
|
}
|
|
221
|
-
|
|
222
|
-
args.push("-p", content);
|
|
223
|
-
// Spawn Claude CLI
|
|
224
|
-
const cliPath = this.resolveClaudeCli();
|
|
225
|
-
logger_1.default.info(`Spawning Claude CLI: ${cliPath}`);
|
|
226
|
-
logger_1.default.info(`Claude CLI args: ${args.join(" ")}`);
|
|
227
|
-
logger_1.default.info(`Claude CLI env CLAUDE_CONFIG_DIR: ${this.env?.CLAUDE_CONFIG_DIR ?? "not set"}`);
|
|
228
|
-
logger_1.default.info(`Claude CLI env HOME: ${this.env?.HOME}`);
|
|
229
|
-
logger_1.default.info(`Claude CLI cwd: ${this.config.workingDirectory}`);
|
|
131
|
+
const { content, systemPrompt, onChunk } = params;
|
|
230
132
|
try {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
133
|
+
let session;
|
|
134
|
+
// Create session options with OAuth token
|
|
135
|
+
const sessionOptions = {
|
|
136
|
+
model: this.config.model || 'claude-sonnet-4-5-20250929',
|
|
137
|
+
apiKey: this.accessToken, // Use OAuth token as API key
|
|
138
|
+
workingDirectory: this.config.workingDirectory,
|
|
139
|
+
systemPrompt: systemPrompt,
|
|
140
|
+
};
|
|
141
|
+
// Create or resume session
|
|
142
|
+
if (this.currentSessionId) {
|
|
143
|
+
logger_1.default.info(`Resuming Claude session: ${this.currentSessionId}`);
|
|
144
|
+
session = this.sdk.unstable_v2_resumeSession(this.currentSessionId, sessionOptions);
|
|
238
145
|
}
|
|
239
146
|
else {
|
|
240
|
-
|
|
147
|
+
logger_1.default.info("Creating new Claude session");
|
|
148
|
+
session = this.sdk.unstable_v2_createSession(sessionOptions);
|
|
149
|
+
}
|
|
150
|
+
// Send message
|
|
151
|
+
await session.send(content);
|
|
152
|
+
// Stream response
|
|
153
|
+
let fullContent = "";
|
|
154
|
+
let tokenUsage = { input: 0, output: 0, total: 0 };
|
|
155
|
+
let newSessionId;
|
|
156
|
+
for await (const msg of session.stream()) {
|
|
157
|
+
// Update session ID from any message
|
|
158
|
+
if (msg.session_id) {
|
|
159
|
+
newSessionId = msg.session_id;
|
|
160
|
+
}
|
|
161
|
+
// Handle assistant messages
|
|
162
|
+
const text = this.getAssistantText(msg);
|
|
163
|
+
if (text) {
|
|
164
|
+
fullContent += text;
|
|
165
|
+
if (onChunk) {
|
|
166
|
+
onChunk(text);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Update token usage
|
|
170
|
+
const msgUsage = this.getTokenUsage(msg);
|
|
171
|
+
if (msgUsage.total > 0) {
|
|
172
|
+
tokenUsage = msgUsage;
|
|
173
|
+
}
|
|
241
174
|
}
|
|
175
|
+
// Close session (cleanup)
|
|
176
|
+
session.close();
|
|
177
|
+
// Update current session ID if we got a new one
|
|
178
|
+
if (newSessionId) {
|
|
179
|
+
this.currentSessionId = newSessionId;
|
|
180
|
+
}
|
|
181
|
+
this.messageCount++;
|
|
182
|
+
return {
|
|
183
|
+
content: fullContent,
|
|
184
|
+
tokenUsage,
|
|
185
|
+
sessionId: this.currentSessionId,
|
|
186
|
+
};
|
|
242
187
|
}
|
|
243
188
|
catch (error) {
|
|
244
189
|
// Check if error is due to expired token
|
|
@@ -248,145 +193,17 @@ class ClaudeProvider extends LLMProviderBase_1.LLMProviderBase {
|
|
|
248
193
|
const token = await models_1.AuthToken.findByPk(this.config.tokenId);
|
|
249
194
|
if (token) {
|
|
250
195
|
await this.refreshToken(token);
|
|
251
|
-
// Retry the request
|
|
252
|
-
|
|
253
|
-
env: this.env,
|
|
254
|
-
cwd: this.config.workingDirectory,
|
|
255
|
-
stdio: ["ignore", "pipe", "pipe"],
|
|
256
|
-
});
|
|
257
|
-
if (onChunk) {
|
|
258
|
-
return await this.handleStreamingResponse(child, onChunk);
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
return await this.handleJsonResponse(child);
|
|
262
|
-
}
|
|
196
|
+
// Retry the request with new token
|
|
197
|
+
return this.sendMessage(params);
|
|
263
198
|
}
|
|
264
199
|
}
|
|
200
|
+
logger_1.default.error("Failed to send message:", error);
|
|
265
201
|
throw error;
|
|
266
202
|
}
|
|
267
203
|
}
|
|
268
|
-
async handleJsonResponse(child) {
|
|
269
|
-
let stdout = "";
|
|
270
|
-
let stderr = "";
|
|
271
|
-
child.stdout?.on("data", (data) => {
|
|
272
|
-
const chunk = data.toString();
|
|
273
|
-
stdout += chunk;
|
|
274
|
-
logger_1.default.info(`Claude stdout chunk (${chunk.length} bytes): ${chunk.substring(0, 200)}...`);
|
|
275
|
-
});
|
|
276
|
-
child.stderr?.on("data", (data) => {
|
|
277
|
-
const chunk = data.toString();
|
|
278
|
-
stderr += chunk;
|
|
279
|
-
logger_1.default.info(`Claude stderr chunk: ${chunk}`);
|
|
280
|
-
});
|
|
281
|
-
return new Promise((resolve, reject) => {
|
|
282
|
-
child.on("close", async (code) => {
|
|
283
|
-
// Check for token expiry error
|
|
284
|
-
if (code !== 0) {
|
|
285
|
-
const output = stderr || stdout || "";
|
|
286
|
-
if (output.includes("authentication_error") || output.includes("OAuth token has expired")) {
|
|
287
|
-
// Token expired - refresh and retry
|
|
288
|
-
logger_1.default.info("Token expired error detected, attempting refresh...");
|
|
289
|
-
try {
|
|
290
|
-
const token = await models_1.AuthToken.findByPk(this.config.tokenId);
|
|
291
|
-
if (token && token.refreshToken) {
|
|
292
|
-
await this.refreshToken(token);
|
|
293
|
-
reject(new Error("TOKEN_REFRESHED_RETRY_NEEDED"));
|
|
294
|
-
return;
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
catch (refreshError) {
|
|
298
|
-
logger_1.default.error("Failed to refresh token:", refreshError);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
logger_1.default.error("Claude CLI failed with code:", code);
|
|
302
|
-
logger_1.default.error("Claude CLI stderr:", stderr);
|
|
303
|
-
logger_1.default.error("Claude CLI stdout:", stdout);
|
|
304
|
-
reject(new Error(`Claude CLI exited with code ${code}: ${stderr || stdout || "No output"}`));
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
try {
|
|
308
|
-
// Claude returns JSON with result field
|
|
309
|
-
const output = JSON.parse(stdout);
|
|
310
|
-
// Check if Claude returned an error
|
|
311
|
-
if (output.is_error) {
|
|
312
|
-
reject(new Error(output.result?.toString() || "Claude returned an error"));
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
315
|
-
// Extract session ID if present
|
|
316
|
-
if (output.session_id) {
|
|
317
|
-
this.currentSessionId = output.session_id;
|
|
318
|
-
}
|
|
319
|
-
const result = {
|
|
320
|
-
content: typeof output.result === "string"
|
|
321
|
-
? output.result
|
|
322
|
-
: JSON.stringify(output.result),
|
|
323
|
-
tokenUsage: {
|
|
324
|
-
input: output.usage?.input_tokens || 0,
|
|
325
|
-
output: output.usage?.output_tokens || 0,
|
|
326
|
-
total: (output.usage?.input_tokens || 0) +
|
|
327
|
-
(output.usage?.output_tokens || 0),
|
|
328
|
-
},
|
|
329
|
-
sessionId: this.currentSessionId,
|
|
330
|
-
};
|
|
331
|
-
this.messageCount++;
|
|
332
|
-
resolve(result);
|
|
333
|
-
}
|
|
334
|
-
catch (error) {
|
|
335
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
336
|
-
reject(new Error(`Failed to parse Claude response: ${message}`));
|
|
337
|
-
}
|
|
338
|
-
});
|
|
339
|
-
child.on("error", (error) => {
|
|
340
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
341
|
-
reject(new Error(`Failed to spawn Claude CLI: ${message}`));
|
|
342
|
-
});
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
async handleStreamingResponse(child, onChunk) {
|
|
346
|
-
let fullContent = "";
|
|
347
|
-
let sessionId;
|
|
348
|
-
let usage = { input: 0, output: 0, total: 0 };
|
|
349
|
-
const rl = readline_1.default.createInterface({
|
|
350
|
-
input: child.stdout,
|
|
351
|
-
crlfDelay: Infinity,
|
|
352
|
-
});
|
|
353
|
-
for await (const line of rl) {
|
|
354
|
-
try {
|
|
355
|
-
const event = JSON.parse(line);
|
|
356
|
-
if (event.type === "message") {
|
|
357
|
-
const chunk = event.content || "";
|
|
358
|
-
fullContent += chunk;
|
|
359
|
-
onChunk(chunk);
|
|
360
|
-
}
|
|
361
|
-
else if (event.type === "result") {
|
|
362
|
-
if (event.session_id) {
|
|
363
|
-
sessionId = event.session_id;
|
|
364
|
-
this.currentSessionId = sessionId;
|
|
365
|
-
}
|
|
366
|
-
if (event.usage) {
|
|
367
|
-
usage = {
|
|
368
|
-
input: event.usage.input_tokens || 0,
|
|
369
|
-
output: event.usage.output_tokens || 0,
|
|
370
|
-
total: (event.usage.input_tokens || 0) +
|
|
371
|
-
(event.usage.output_tokens || 0),
|
|
372
|
-
};
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
catch (error) {
|
|
377
|
-
logger_1.default.warn("Failed to parse streaming event:", line);
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
this.messageCount++;
|
|
381
|
-
return {
|
|
382
|
-
content: fullContent,
|
|
383
|
-
tokenUsage: usage,
|
|
384
|
-
sessionId,
|
|
385
|
-
};
|
|
386
|
-
}
|
|
387
204
|
async resumeSession(sessionId) {
|
|
388
205
|
this.currentSessionId = sessionId;
|
|
389
|
-
logger_1.default.info(`
|
|
206
|
+
logger_1.default.info(`Set Claude session for resume: ${sessionId}`);
|
|
390
207
|
return true;
|
|
391
208
|
}
|
|
392
209
|
async endSession() {
|
|
@@ -403,24 +220,7 @@ class ClaudeProvider extends LLMProviderBase_1.LLMProviderBase {
|
|
|
403
220
|
async cleanup() {
|
|
404
221
|
this.currentSessionId = undefined;
|
|
405
222
|
this.messageCount = 0;
|
|
406
|
-
|
|
407
|
-
resolveClaudeCli() {
|
|
408
|
-
if (environment_1.default.CLAUDE_CLI_PATH) {
|
|
409
|
-
return environment_1.default.CLAUDE_CLI_PATH;
|
|
410
|
-
}
|
|
411
|
-
// Use system-installed claude CLI
|
|
412
|
-
const possiblePaths = [
|
|
413
|
-
"/Users/christianschindler/.local/bin/claude",
|
|
414
|
-
"/usr/local/bin/claude",
|
|
415
|
-
"claude", // Will use PATH
|
|
416
|
-
];
|
|
417
|
-
const fs = require("fs");
|
|
418
|
-
for (const cliPath of possiblePaths) {
|
|
419
|
-
if (cliPath === "claude" || fs.existsSync(cliPath)) {
|
|
420
|
-
return cliPath;
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
throw new Error("Claude CLI not found. Install it from https://claude.ai/download");
|
|
223
|
+
this.accessToken = undefined;
|
|
424
224
|
}
|
|
425
225
|
}
|
|
426
226
|
exports.ClaudeProvider = ClaudeProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeProvider.js","sourceRoot":"","sources":["../../../src/services/llm/ClaudeProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ClaudeProvider.js","sourceRoot":"","sources":["../../../src/services/llm/ClaudeProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,15 @@ export interface LLMProviderConfig {
|
|
|
6
6
|
model?: string;
|
|
7
7
|
sessionId?: string;
|
|
8
8
|
}
|
|
9
|
+
export interface ConversationMessage {
|
|
10
|
+
role: 'user' | 'assistant';
|
|
11
|
+
content: string;
|
|
12
|
+
}
|
|
9
13
|
export interface SendMessageParams {
|
|
10
14
|
content: string;
|
|
11
15
|
systemPrompt?: string;
|
|
12
16
|
attachments?: string[];
|
|
17
|
+
conversationHistory?: ConversationMessage[];
|
|
13
18
|
onChunk?: (chunk: string) => void;
|
|
14
19
|
}
|
|
15
20
|
export interface SendMessageResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLMProviderBase.d.ts","sourceRoot":"","sources":["../../../src/services/llm/LLMProviderBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,8BAAsB,eAAe;IACnC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACpC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,SAAS,CAAC,YAAY,EAAE,MAAM,CAAK;gBAEvB,MAAM,EAAE,iBAAiB;IAKrC;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAE3E;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;OAEG;IACH,WAAW,IAAI,WAAW;IAI1B;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;CAG/B;AAED,eAAe,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"LLMProviderBase.d.ts","sourceRoot":"","sources":["../../../src/services/llm/LLMProviderBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,8BAAsB,eAAe;IACnC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACpC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,SAAS,CAAC,YAAY,EAAE,MAAM,CAAK;gBAEvB,MAAM,EAAE,iBAAiB;IAKrC;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAE3E;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;OAEG;IACH,WAAW,IAAI,WAAW;IAI1B;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;CAG/B;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLMProviderBase.js","sourceRoot":"","sources":["../../../src/services/llm/LLMProviderBase.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"LLMProviderBase.js","sourceRoot":"","sources":["../../../src/services/llm/LLMProviderBase.ts"],"names":[],"mappings":";;;AAwCA;;GAEG;AACH,MAAsB,eAAe;IAKnC,YAAY,MAAyB;QAF3B,iBAAY,GAAW,CAAC,CAAC;QAGjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAgCD;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;CACF;AA5DD,0CA4DC;AAED,kBAAe,eAAe,CAAC"}
|