aws-runtime-bridge 1.7.47 → 1.7.49
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/adapter/OpencodeSdkAdapter.d.ts +1 -1
- package/dist/adapter/OpencodeSdkAdapter.d.ts.map +1 -1
- package/dist/adapter/OpencodeSdkAdapter.js +11 -7
- package/dist/adapter/types.d.ts +14 -0
- package/dist/adapter/types.d.ts.map +1 -1
- package/dist/adapter/types.js +46 -2
- package/dist/adapter/types.test.js +33 -1
- package/dist/routes/runtime-binding.d.ts +17 -0
- package/dist/routes/runtime-binding.d.ts.map +1 -1
- package/dist/routes/runtime-binding.js +59 -15
- package/dist/routes/runtime-binding.test.d.ts +2 -0
- package/dist/routes/runtime-binding.test.d.ts.map +1 -0
- package/dist/routes/runtime-binding.test.js +108 -0
- package/dist/routes/terminal.d.ts +15 -0
- package/dist/routes/terminal.d.ts.map +1 -1
- package/dist/routes/terminal.js +82 -5
- package/dist/routes/terminal.test.js +51 -1
- package/dist/services/ai-source-apply.d.ts.map +1 -1
- package/dist/services/ai-source-apply.js +30 -9
- package/dist/services/ai-source-apply.test.js +50 -0
- package/node_modules/@cc-switch/sdk/dist/services/ai-config-service.d.ts +1 -0
- package/node_modules/@cc-switch/sdk/dist/services/ai-config-service.d.ts.map +1 -1
- package/node_modules/@cc-switch/sdk/dist/services/ai-config-service.js +2 -1
- package/package/aws-client-agent-mcp/dist/agent-client.d.ts +10 -0
- package/package/aws-client-agent-mcp/dist/agent-client.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/agent-client.js +25 -1
- package/package/aws-client-agent-mcp/dist/agent-client.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/agent-client.test.js +49 -0
- package/package/aws-client-agent-mcp/dist/agent-client.test.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/http-client.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/http-client.js +29 -10
- package/package/aws-client-agent-mcp/dist/http-client.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/http-client.test.js +25 -8
- package/package/aws-client-agent-mcp/dist/http-client.test.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/status-reporter.d.ts +5 -0
- package/package/aws-client-agent-mcp/dist/status-reporter.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/status-reporter.js +23 -8
- package/package/aws-client-agent-mcp/dist/status-reporter.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/status-reporter.test.js +46 -0
- package/package/aws-client-agent-mcp/dist/status-reporter.test.js.map +1 -1
- package/package/cc-switch-sdk/dist/services/ai-config-service.d.ts +1 -0
- package/package/cc-switch-sdk/dist/services/ai-config-service.d.ts.map +1 -1
- package/package/cc-switch-sdk/dist/services/ai-config-service.js +2 -1
- package/package.json +1 -1
package/dist/routes/terminal.js
CHANGED
|
@@ -11,9 +11,10 @@ import path from 'node:path';
|
|
|
11
11
|
import { TextDecoder } from 'node:util';
|
|
12
12
|
import { Router } from 'express';
|
|
13
13
|
import { v4 as uuidv4 } from 'uuid';
|
|
14
|
-
import { adapterRegistry, getToolActionInfo, registerSdkProviders, resolveSdkProviderIdByCommand, } from '../adapter/index.js';
|
|
14
|
+
import { adapterRegistry, getToolActionInfo, isTransientClipboardPasteFilePath, redactTransientClipboardPastePaths, registerSdkProviders, resolveSdkProviderIdByCommand, } from '../adapter/index.js';
|
|
15
15
|
import { validateToken } from '../middleware/auth.js';
|
|
16
16
|
import { getAgentProcessManager } from '../services/agent-process-manager.js';
|
|
17
|
+
import { getAiConfigService } from '../services/cc-switch-sdk.js';
|
|
17
18
|
import { enqueueMcpLaunchBinding } from '../services/mcp-launch-binding-queue.js';
|
|
18
19
|
import { findClaudeCodeProcesses, isProcessRunning } from '../services/process-detector.js';
|
|
19
20
|
import { sendOutput, sendQuestionRequest, sendStatus } from '../services/session-output.js';
|
|
@@ -226,7 +227,13 @@ async function executeTerminalCommand(sessionId, commandValue) {
|
|
|
226
227
|
if (state.runningProcess) {
|
|
227
228
|
throw new Error('A terminal command is already running for this session');
|
|
228
229
|
}
|
|
229
|
-
|
|
230
|
+
const displayCommand = redactTransientClipboardPastePaths(command);
|
|
231
|
+
appendCommandOutput(entry, `${formatTerminalPrompt(state.currentDirectory)}${displayCommand}\r\n`);
|
|
232
|
+
if (isTransientClipboardPasteFilePath(command)) {
|
|
233
|
+
appendCommandOutput(entry, '[Terminal Warning] 检测到剪贴板临时 paste 文件路径,已跳过执行。请粘贴文件内容或使用显式读取命令。\r\n');
|
|
234
|
+
appendCommandOutput(entry, formatTerminalPrompt(state.currentDirectory));
|
|
235
|
+
return { started: false, cwd: state.currentDirectory };
|
|
236
|
+
}
|
|
230
237
|
const handledDirectoryChange = await handleDirectoryChangeCommand(entry, state, command);
|
|
231
238
|
if (handledDirectoryChange) {
|
|
232
239
|
return { started: false, cwd: state.currentDirectory };
|
|
@@ -234,7 +241,7 @@ async function executeTerminalCommand(sessionId, commandValue) {
|
|
|
234
241
|
await sendStatus(entry.agentId, sessionId, 'tool_using', {
|
|
235
242
|
actionType: 'bash',
|
|
236
243
|
actionLabel: '终端命令',
|
|
237
|
-
actionDetail:
|
|
244
|
+
actionDetail: displayCommand,
|
|
238
245
|
});
|
|
239
246
|
const child = spawn(command, {
|
|
240
247
|
cwd: state.currentDirectory,
|
|
@@ -295,6 +302,69 @@ export function buildRuntimeEnv(agentId, workspacePath, baseEnv, envOverrides) {
|
|
|
295
302
|
env.AWS_MCP_CLAIM_LAUNCH_BINDING = 'true';
|
|
296
303
|
return env;
|
|
297
304
|
}
|
|
305
|
+
function stripWrappingQuotes(value) {
|
|
306
|
+
const trimmed = value.trim();
|
|
307
|
+
const first = trimmed[0];
|
|
308
|
+
const last = trimmed[trimmed.length - 1];
|
|
309
|
+
if ((first === '"' || first === "'") && first === last) {
|
|
310
|
+
return trimmed.slice(1, -1);
|
|
311
|
+
}
|
|
312
|
+
return trimmed;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* 主流程:SDK 模式输入若只是 mini-term 剪贴板临时文件路径,则展开为文件内容再发给模型。
|
|
316
|
+
* 具体实现:只处理整串匹配的绝对临时 paste 文件路径,避免影响显式 `type "path"` 等正常命令。
|
|
317
|
+
*/
|
|
318
|
+
export async function resolveSdkInputMessage(input) {
|
|
319
|
+
const message = String(input);
|
|
320
|
+
if (!isTransientClipboardPasteFilePath(message)) {
|
|
321
|
+
return message;
|
|
322
|
+
}
|
|
323
|
+
const filePath = stripWrappingQuotes(message);
|
|
324
|
+
if (!path.isAbsolute(filePath)) {
|
|
325
|
+
return message;
|
|
326
|
+
}
|
|
327
|
+
return fs.readFile(filePath, 'utf-8');
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* 主流程:将已持久化的 ClaudeCode AI 配置合并到启动配置,再让请求级覆盖保持最高优先级。
|
|
331
|
+
*/
|
|
332
|
+
export function buildClaudeCodeLaunchConfig(savedClaudeConfig, requestEnvOverrides) {
|
|
333
|
+
const envOverrides = {};
|
|
334
|
+
for (const source of [savedClaudeConfig?.env, requestEnvOverrides]) {
|
|
335
|
+
if (!source) {
|
|
336
|
+
continue;
|
|
337
|
+
}
|
|
338
|
+
for (const [key, value] of Object.entries(source)) {
|
|
339
|
+
const normalizedKey = key.trim();
|
|
340
|
+
if (!normalizedKey || value === undefined || value === null) {
|
|
341
|
+
continue;
|
|
342
|
+
}
|
|
343
|
+
const normalizedValue = String(value).trim();
|
|
344
|
+
if (!normalizedValue) {
|
|
345
|
+
continue;
|
|
346
|
+
}
|
|
347
|
+
envOverrides[normalizedKey] = normalizedValue;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
const model = envOverrides.ANTHROPIC_MODEL?.trim()
|
|
351
|
+
|| envOverrides.CODEX_MODEL?.trim()
|
|
352
|
+
|| undefined;
|
|
353
|
+
return { envOverrides, model };
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* 具体逻辑:读取 ClaudeCode live settings;读取失败不阻断启动,保持原 SDK 启动路径可用。
|
|
357
|
+
*/
|
|
358
|
+
async function readSavedClaudeCodeLaunchConfig() {
|
|
359
|
+
try {
|
|
360
|
+
return await getAiConfigService().readClaudeCodeConfig();
|
|
361
|
+
}
|
|
362
|
+
catch (error) {
|
|
363
|
+
const err = error;
|
|
364
|
+
console.warn(`[Runtime] Failed to read saved ClaudeCode AI config: ${err.message}`);
|
|
365
|
+
return {};
|
|
366
|
+
}
|
|
367
|
+
}
|
|
298
368
|
function formatToolResultForTimeline(result) {
|
|
299
369
|
if (result === undefined || result === null) {
|
|
300
370
|
return undefined;
|
|
@@ -506,16 +576,23 @@ async function startSdkSession(req, res) {
|
|
|
506
576
|
console.log(`[Runtime] ★★★ SDK启动 ★★★ command="${command}", normalizedCommand="${normalizedCommand}", providerId="${providerId}"`);
|
|
507
577
|
const adapter = adapterRegistry.get(providerId);
|
|
508
578
|
sessionId = uuidv4();
|
|
579
|
+
const savedClaudeConfig = providerId === 'claude-code'
|
|
580
|
+
? await readSavedClaudeCodeLaunchConfig()
|
|
581
|
+
: null;
|
|
582
|
+
const claudeLaunchConfig = providerId === 'claude-code'
|
|
583
|
+
? buildClaudeCodeLaunchConfig(savedClaudeConfig, envOverrides)
|
|
584
|
+
: buildClaudeCodeLaunchConfig(null, envOverrides);
|
|
509
585
|
// 构建SDK配置
|
|
510
586
|
const config = {
|
|
511
587
|
command: command || 'claude',
|
|
512
588
|
workingDirectory: workspacePath,
|
|
513
589
|
autoAccept: Boolean(autoAccept),
|
|
514
590
|
initialPrompt,
|
|
591
|
+
model: claudeLaunchConfig.model,
|
|
515
592
|
// MCP 配置:不再默认注入 aws-mcp;由用户在面板中安装/配置
|
|
516
593
|
mcpConfigPath,
|
|
517
594
|
extraMcpServers: extraMcpServers || {},
|
|
518
|
-
envOverrides: buildRuntimeEnv(String(agentId), String(workspacePath), process.env, envOverrides),
|
|
595
|
+
envOverrides: buildRuntimeEnv(String(agentId), String(workspacePath), process.env, claudeLaunchConfig.envOverrides),
|
|
519
596
|
};
|
|
520
597
|
// 存储会话信息
|
|
521
598
|
sdkSessions.set(sessionId, {
|
|
@@ -838,7 +915,7 @@ terminalRouter.post('/input', validateToken, async (req, res) => {
|
|
|
838
915
|
res.json({ ok: true, mode: 'shortcut' });
|
|
839
916
|
return;
|
|
840
917
|
}
|
|
841
|
-
await adapter.sendMessage(sessionId,
|
|
918
|
+
await adapter.sendMessage(sessionId, await resolveSdkInputMessage(input));
|
|
842
919
|
res.json({ ok: true, mode: 'sdk' });
|
|
843
920
|
}
|
|
844
921
|
catch (error) {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { mkdtemp, mkdir, writeFile } from 'node:fs/promises';
|
|
2
|
+
import os from 'node:os';
|
|
3
|
+
import path from 'node:path';
|
|
1
4
|
import { describe, expect, it } from 'vitest';
|
|
2
5
|
import { SDK_PROVIDER_DEFINITIONS } from '../adapter/SdkProviderSpi.js';
|
|
3
|
-
import { buildRuntimeEnv, buildToolResultTimelineActionInfo, createTerminalOutputDecoder, decodeTerminalOutputChunk, evaluatePersistedSessionReuse, formatTerminalPrompt, formatSdkOutputEvent, normalizeTerminalCommandInput, parseTerminalDirectoryChangeTarget, resolveTerminalOutputEncoding, resolveSdkProviderId, resolveStatusChangeUsage, } from './terminal.js';
|
|
6
|
+
import { buildClaudeCodeLaunchConfig, buildRuntimeEnv, buildToolResultTimelineActionInfo, createTerminalOutputDecoder, decodeTerminalOutputChunk, evaluatePersistedSessionReuse, formatTerminalPrompt, formatSdkOutputEvent, normalizeTerminalCommandInput, parseTerminalDirectoryChangeTarget, resolveSdkInputMessage, resolveTerminalOutputEncoding, resolveSdkProviderId, resolveStatusChangeUsage, } from './terminal.js';
|
|
4
7
|
describe('terminal route validation', () => {
|
|
5
8
|
it('requires agentId and workspacePath for start', () => {
|
|
6
9
|
const validateStartRequest = (body) => {
|
|
@@ -82,6 +85,41 @@ describe('terminal configuration', () => {
|
|
|
82
85
|
expect(env.AWS_AGENT_ID).toBe('agent-123');
|
|
83
86
|
expect(env.AWS_WORKSPACE_PATH).toBe('/workspace');
|
|
84
87
|
});
|
|
88
|
+
it('merges saved ClaudeCode AI settings into SDK launch env with request overrides taking precedence', () => {
|
|
89
|
+
const launchConfig = buildClaudeCodeLaunchConfig({
|
|
90
|
+
env: {
|
|
91
|
+
ANTHROPIC_BASE_URL: 'https://saved.example.com',
|
|
92
|
+
ANTHROPIC_AUTH_TOKEN: 'sk-saved',
|
|
93
|
+
ANTHROPIC_MODEL: 'claude-saved',
|
|
94
|
+
EMPTY_SAVED: ' ',
|
|
95
|
+
},
|
|
96
|
+
}, {
|
|
97
|
+
ANTHROPIC_MODEL: ' claude-request ',
|
|
98
|
+
EXTRA_VALUE: 'enabled',
|
|
99
|
+
});
|
|
100
|
+
expect(launchConfig).toEqual({
|
|
101
|
+
envOverrides: {
|
|
102
|
+
ANTHROPIC_BASE_URL: 'https://saved.example.com',
|
|
103
|
+
ANTHROPIC_AUTH_TOKEN: 'sk-saved',
|
|
104
|
+
ANTHROPIC_MODEL: 'claude-request',
|
|
105
|
+
EXTRA_VALUE: 'enabled',
|
|
106
|
+
},
|
|
107
|
+
model: 'claude-request',
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
it('uses CODEX_MODEL from request env overrides as SDK launch model', () => {
|
|
111
|
+
const launchConfig = buildClaudeCodeLaunchConfig(null, {
|
|
112
|
+
OPENAI_API_KEY: 'sk-codex',
|
|
113
|
+
CODEX_MODEL: ' gpt-5.3-codex ',
|
|
114
|
+
});
|
|
115
|
+
expect(launchConfig).toEqual({
|
|
116
|
+
envOverrides: {
|
|
117
|
+
OPENAI_API_KEY: 'sk-codex',
|
|
118
|
+
CODEX_MODEL: 'gpt-5.3-codex',
|
|
119
|
+
},
|
|
120
|
+
model: 'gpt-5.3-codex',
|
|
121
|
+
});
|
|
122
|
+
});
|
|
85
123
|
});
|
|
86
124
|
describe('persisted SDK session reuse', () => {
|
|
87
125
|
it('does not reuse a persisted session without a PID', () => {
|
|
@@ -98,6 +136,18 @@ describe('persisted SDK session reuse', () => {
|
|
|
98
136
|
});
|
|
99
137
|
});
|
|
100
138
|
describe('terminal command helpers', () => {
|
|
139
|
+
it('expands a whole mini-term clipboard paste file path into SDK input content', async () => {
|
|
140
|
+
const tempDir = await mkdtemp(path.join(os.tmpdir(), 'terminal-input-'));
|
|
141
|
+
const clipboardDir = path.join(tempDir, 'mini-term-clipboard');
|
|
142
|
+
await mkdir(clipboardDir, { recursive: true });
|
|
143
|
+
const pasteFile = path.join(clipboardDir, 'paste-1780491671137.txt');
|
|
144
|
+
await writeFile(pasteFile, 'real pasted prompt', 'utf-8');
|
|
145
|
+
await expect(resolveSdkInputMessage(`"${pasteFile}"`)).resolves.toBe('real pasted prompt');
|
|
146
|
+
});
|
|
147
|
+
it('keeps explicit commands that mention mini-term clipboard files unchanged', async () => {
|
|
148
|
+
const command = 'type "C:\\Users\\ZHUANG~1\\AppData\\Local\\Temp\\mini-term-clipboard\\paste-1780491671137.txt"';
|
|
149
|
+
await expect(resolveSdkInputMessage(command)).resolves.toBe(command);
|
|
150
|
+
});
|
|
101
151
|
it('normalizes carriage-return terminal input into executable command text', () => {
|
|
102
152
|
expect(normalizeTerminalCommandInput('npm test\r')).toBe('npm test');
|
|
103
153
|
expect(normalizeTerminalCommandInput(' pwd \n')).toBe('pwd');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-source-apply.d.ts","sourceRoot":"","sources":["../../src/services/ai-source-apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5D,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC;IACnD,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC9C,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,4BAA4B,EAAE,OAAO,CAAC;IACtC,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE;QACN,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;QACpC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;QAC1B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;KACjC,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"ai-source-apply.d.ts","sourceRoot":"","sources":["../../src/services/ai-source-apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5D,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC;IACnD,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC9C,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,4BAA4B,EAAE,OAAO,CAAC;IACtC,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE;QACN,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;QACpC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;QAC1B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;KACjC,CAAC;CACH;AAuCD;;GAEG;AACH,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,sBAAsB,CAAC,CAkDjC"}
|
|
@@ -15,6 +15,21 @@ function isInstalled(toolStatus, tool) {
|
|
|
15
15
|
function isClaudeCodeInstalled(toolStatus) {
|
|
16
16
|
return isInstalled(toolStatus, 'claude') || isInstalled(toolStatus, 'claudecode');
|
|
17
17
|
}
|
|
18
|
+
function isRecord(value) {
|
|
19
|
+
return Boolean(value && typeof value === 'object' && !Array.isArray(value));
|
|
20
|
+
}
|
|
21
|
+
function hasConfigContent(value) {
|
|
22
|
+
return Object.keys(value).length > 0;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 具体逻辑:将服务端已生成的 per-tool AI 配置规范化为可应用 patch,空对象视为未配置。
|
|
26
|
+
*/
|
|
27
|
+
function normalizeRequestedConfig(value) {
|
|
28
|
+
if (!isRecord(value) || !hasConfigContent(value)) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
18
33
|
/**
|
|
19
34
|
* 主流程:用当前统一 AI 配置覆盖各 Agent CLI 配置,并跳过未安装 CLI。
|
|
20
35
|
*/
|
|
@@ -22,27 +37,33 @@ export async function applyCurrentAiConfigToInstalledTools(options) {
|
|
|
22
37
|
const generatedConfig = options.template
|
|
23
38
|
? buildToolSpecificAiConfig(normalizeTemplate(options.template))
|
|
24
39
|
: null;
|
|
40
|
+
const requestedClaudeConfig = normalizeRequestedConfig(options.requestedSources?.claudecode);
|
|
41
|
+
const requestedCodexConfig = normalizeRequestedConfig(options.requestedSources?.codex);
|
|
42
|
+
const requestedOpenCodeConfig = normalizeRequestedConfig(options.requestedSources?.opencode);
|
|
43
|
+
const claudeConfig = generatedConfig?.claudecode || requestedClaudeConfig;
|
|
44
|
+
const codexConfig = generatedConfig?.codex || requestedCodexConfig;
|
|
45
|
+
const openCodeConfig = generatedConfig?.opencode || requestedOpenCodeConfig;
|
|
25
46
|
const skippedTools = Object.values(options.toolStatus)
|
|
26
47
|
.filter((item) => !item.installed)
|
|
27
48
|
.map((item) => item.tool);
|
|
28
49
|
let mergedClaude = null;
|
|
29
50
|
let mergedCodex = null;
|
|
30
51
|
let mergedOpencode = null;
|
|
31
|
-
if (
|
|
32
|
-
mergedClaude = await options.aiConfigService.applyClaudeCodeConfig(
|
|
52
|
+
if (claudeConfig && isClaudeCodeInstalled(options.toolStatus)) {
|
|
53
|
+
mergedClaude = await options.aiConfigService.applyClaudeCodeConfig(claudeConfig);
|
|
33
54
|
}
|
|
34
|
-
if (
|
|
35
|
-
mergedCodex = await options.aiConfigService.applyCodexConfig(
|
|
55
|
+
if (codexConfig && isInstalled(options.toolStatus, 'codex')) {
|
|
56
|
+
mergedCodex = await options.aiConfigService.applyCodexConfig(codexConfig);
|
|
36
57
|
}
|
|
37
|
-
if (
|
|
38
|
-
mergedOpencode = await options.aiConfigService.applyOpenCodeConfig(
|
|
58
|
+
if (openCodeConfig && isInstalled(options.toolStatus, 'opencode')) {
|
|
59
|
+
mergedOpencode = await options.aiConfigService.applyOpenCodeConfig(openCodeConfig);
|
|
39
60
|
}
|
|
40
61
|
return {
|
|
41
62
|
generatedFromUnifiedTemplate: Boolean(generatedConfig),
|
|
42
63
|
applied: {
|
|
43
|
-
claudecode:
|
|
44
|
-
codex:
|
|
45
|
-
opencode:
|
|
64
|
+
claudecode: claudeConfig && mergedClaude ? Object.keys(claudeConfig) : [],
|
|
65
|
+
codex: codexConfig && mergedCodex ? Object.keys(codexConfig) : [],
|
|
66
|
+
opencode: openCodeConfig && mergedOpencode ? Object.keys(openCodeConfig) : [],
|
|
46
67
|
},
|
|
47
68
|
skippedTools,
|
|
48
69
|
merged: {
|
|
@@ -48,6 +48,7 @@ describe('applyCurrentAiConfigToInstalledTools', () => {
|
|
|
48
48
|
expect(applyOpenCodeConfig).toHaveBeenCalledWith(expect.objectContaining({
|
|
49
49
|
provider: expect.objectContaining({
|
|
50
50
|
default: expect.objectContaining({
|
|
51
|
+
model: 'gpt-current',
|
|
51
52
|
options: expect.objectContaining({
|
|
52
53
|
baseURL: 'https://current.example.com/v1',
|
|
53
54
|
apiKey: 'sk-current',
|
|
@@ -78,4 +79,53 @@ describe('applyCurrentAiConfigToInstalledTools', () => {
|
|
|
78
79
|
});
|
|
79
80
|
expect(applyClaudeCodeConfig).toHaveBeenCalledOnce();
|
|
80
81
|
});
|
|
82
|
+
it('applies explicit per-tool AI sources when no unified template is present', async () => {
|
|
83
|
+
const applyClaudeCodeConfig = vi.fn(async (config) => config);
|
|
84
|
+
const applyCodexConfig = vi.fn(async (config) => config);
|
|
85
|
+
const applyOpenCodeConfig = vi.fn(async (config) => config);
|
|
86
|
+
const { applyCurrentAiConfigToInstalledTools } = await import('./ai-source-apply.js');
|
|
87
|
+
const result = await applyCurrentAiConfigToInstalledTools({
|
|
88
|
+
template: null,
|
|
89
|
+
requestedSources: {
|
|
90
|
+
claudecode: {
|
|
91
|
+
env: {
|
|
92
|
+
ANTHROPIC_BASE_URL: 'https://explicit.example.com',
|
|
93
|
+
ANTHROPIC_AUTH_TOKEN: 'sk-explicit',
|
|
94
|
+
ANTHROPIC_MODEL: 'claude-explicit',
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
codex: { model: 'gpt-explicit' },
|
|
98
|
+
opencode: {
|
|
99
|
+
provider: {
|
|
100
|
+
default: {
|
|
101
|
+
options: { baseURL: 'https://explicit.example.com/v1', apiKey: 'sk-explicit' },
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
toolStatus: {
|
|
107
|
+
claude: status('claude', true),
|
|
108
|
+
codex: status('codex', true),
|
|
109
|
+
opencode: status('opencode', true),
|
|
110
|
+
},
|
|
111
|
+
aiConfigService: {
|
|
112
|
+
applyClaudeCodeConfig,
|
|
113
|
+
applyCodexConfig,
|
|
114
|
+
applyOpenCodeConfig,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
expect(applyClaudeCodeConfig).toHaveBeenCalledWith({
|
|
118
|
+
env: {
|
|
119
|
+
ANTHROPIC_BASE_URL: 'https://explicit.example.com',
|
|
120
|
+
ANTHROPIC_AUTH_TOKEN: 'sk-explicit',
|
|
121
|
+
ANTHROPIC_MODEL: 'claude-explicit',
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
expect(applyCodexConfig).toHaveBeenCalledWith({ model: 'gpt-explicit' });
|
|
125
|
+
expect(applyOpenCodeConfig).toHaveBeenCalledOnce();
|
|
126
|
+
expect(result.generatedFromUnifiedTemplate).toBe(false);
|
|
127
|
+
expect(result.applied.claudecode).toEqual(['env']);
|
|
128
|
+
expect(result.applied.codex).toEqual(['model']);
|
|
129
|
+
expect(result.applied.opencode).toEqual(['provider']);
|
|
130
|
+
});
|
|
81
131
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-config-service.d.ts","sourceRoot":"","sources":["../../src/services/ai-config-service.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE;QACJ,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE;YACX,KAAK,EAAE,MAAM,EAAE,CAAC;YAChB,MAAM,EAAE,MAAM,EAAE,CAAC;SAClB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,sBAAsB,CAAC;KAClC,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;CAC5D;AAmBD,MAAM,WAAW,aAAa;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AA8JD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,gBAAgB,GACzB;IAAE,UAAU,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"ai-config-service.d.ts","sourceRoot":"","sources":["../../src/services/ai-config-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,7 +155,7 @@ export function buildToolSpecificAiConfig(template) {
|
|
|
155
155
|
let baseUrl = String(template.baseUrl || "").trim();
|
|
156
156
|
const apiKey = String(template.apiKey || "").trim();
|
|
157
157
|
const models = normalizeTemplateModels(template);
|
|
158
|
-
const model =
|
|
158
|
+
const model = String(template.model || "").trim() || models[0];
|
|
159
159
|
if (!baseUrl || !apiKey || !model) {
|
|
160
160
|
return null;
|
|
161
161
|
}
|
|
@@ -199,6 +199,7 @@ export function buildToolSpecificAiConfig(template) {
|
|
|
199
199
|
provider: {
|
|
200
200
|
default: {
|
|
201
201
|
npm: "@ai-sdk/openai-compatible",
|
|
202
|
+
model,
|
|
202
203
|
options: {
|
|
203
204
|
baseURL: openCodeBaseUrl,
|
|
204
205
|
apiKey,
|
|
@@ -105,6 +105,16 @@ export declare class AgentClient {
|
|
|
105
105
|
* @param since 可选的起始时间(ISO 8601),早于该时间的消息将被过滤
|
|
106
106
|
*/
|
|
107
107
|
fetchUnreadMessages(options?: FetchUnreadMessagesOptions): Promise<UnreadMessagesResult>;
|
|
108
|
+
/**
|
|
109
|
+
* 拉取服务端私信并对 poll_message 长轮询 503 做恢复。
|
|
110
|
+
* 主流程:正常调用 HTTP MCP tool -> 仅当服务端阻塞 poll_message 返回 503 时转为空结果,让本地轮询退避后继续等待。
|
|
111
|
+
*/
|
|
112
|
+
private fetchDirectMessagesWithRecovery;
|
|
113
|
+
/**
|
|
114
|
+
* 判断是否为服务端阻塞轮询的临时 HTTP 503。
|
|
115
|
+
* 主流程:只匹配明确的 MCP tool HTTP 503,避免吞掉业务工具错误或认证错误。
|
|
116
|
+
*/
|
|
117
|
+
private isRecoverableLongPollError;
|
|
108
118
|
/**
|
|
109
119
|
* 规范化服务端群消息响应。
|
|
110
120
|
* 主流程:只接受数组中的完整群消息对象,忽略 401/空响应/异常元素,避免补拉消息时崩溃。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-client.d.ts","sourceRoot":"","sources":["../src/agent-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-client.d.ts","sourceRoot":"","sources":["../src/agent-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -350,7 +350,7 @@ export class AgentClient {
|
|
|
350
350
|
const dmToolName = options.includePipelineTasks
|
|
351
351
|
? "poll_message"
|
|
352
352
|
: "get_dm_messages";
|
|
353
|
-
const directMessagesResponse = await this.
|
|
353
|
+
const directMessagesResponse = await this.fetchDirectMessagesWithRecovery(dmToolName, dmArgs);
|
|
354
354
|
const groups = await this.discoverGroupRooms();
|
|
355
355
|
const roomIds = this.collectRoomIds(groups, targetProject);
|
|
356
356
|
const groupMessageResponses = await Promise.all(roomIds.map(async (currentRoomId) => {
|
|
@@ -384,6 +384,30 @@ export class AgentClient {
|
|
|
384
384
|
new Date(right.timestamp).getTime()),
|
|
385
385
|
};
|
|
386
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* 拉取服务端私信并对 poll_message 长轮询 503 做恢复。
|
|
389
|
+
* 主流程:正常调用 HTTP MCP tool -> 仅当服务端阻塞 poll_message 返回 503 时转为空结果,让本地轮询退避后继续等待。
|
|
390
|
+
*/
|
|
391
|
+
async fetchDirectMessagesWithRecovery(toolName, args) {
|
|
392
|
+
try {
|
|
393
|
+
return await this.httpClient.callTool(toolName, args);
|
|
394
|
+
}
|
|
395
|
+
catch (error) {
|
|
396
|
+
if (toolName === "poll_message" && this.isRecoverableLongPollError(error)) {
|
|
397
|
+
logger.warn("[AgentClient] 服务端 poll_message 长轮询临时不可用,按空结果退避后继续等待:", error);
|
|
398
|
+
return { messages: [] };
|
|
399
|
+
}
|
|
400
|
+
throw error;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* 判断是否为服务端阻塞轮询的临时 HTTP 503。
|
|
405
|
+
* 主流程:只匹配明确的 MCP tool HTTP 503,避免吞掉业务工具错误或认证错误。
|
|
406
|
+
*/
|
|
407
|
+
isRecoverableLongPollError(error) {
|
|
408
|
+
return (error instanceof Error &&
|
|
409
|
+
/MCP tool poll_message call failed: 503(?:\s|$)/.test(error.message));
|
|
410
|
+
}
|
|
387
411
|
/**
|
|
388
412
|
* 规范化服务端群消息响应。
|
|
389
413
|
* 主流程:只接受数组中的完整群消息对象,忽略 401/空响应/异常元素,避免补拉消息时崩溃。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-client.js","sourceRoot":"","sources":["../src/agent-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-client.js","sourceRoot":"","sources":["../src/agent-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -307,6 +307,55 @@ describe("AgentClient", () => {
|
|
|
307
307
|
assert.equal(calledTools[0], "poll_message");
|
|
308
308
|
assert.equal(calledTools.includes("get_dm_messages"), false);
|
|
309
309
|
});
|
|
310
|
+
it("should recover server poll_message 503 as empty result for local retry", async () => {
|
|
311
|
+
const client = new AgentClient();
|
|
312
|
+
Reflect.set(client, "agentId", "agent-1");
|
|
313
|
+
Reflect.set(client, "projectName", "demo");
|
|
314
|
+
const calledTools = [];
|
|
315
|
+
Reflect.set(client, "httpClient", {
|
|
316
|
+
callTool: async (toolName) => {
|
|
317
|
+
calledTools.push(toolName);
|
|
318
|
+
if (toolName === "poll_message") {
|
|
319
|
+
throw new Error('MCP tool poll_message call failed: 503 Service Unavailable - {"error":"Async request timed out"}');
|
|
320
|
+
}
|
|
321
|
+
if (toolName === "discover_group_rooms") {
|
|
322
|
+
return { groups: [] };
|
|
323
|
+
}
|
|
324
|
+
return {};
|
|
325
|
+
},
|
|
326
|
+
});
|
|
327
|
+
const result = await client.fetchUnreadMessages({ includePipelineTasks: true });
|
|
328
|
+
assert.deepEqual(result, { directMessages: [], groupMessages: [] });
|
|
329
|
+
assert.deepEqual(calledTools, ["poll_message", "discover_group_rooms"]);
|
|
330
|
+
});
|
|
331
|
+
it("should not recover non-poll_message 503 errors", async () => {
|
|
332
|
+
const client = new AgentClient();
|
|
333
|
+
Reflect.set(client, "agentId", "agent-1");
|
|
334
|
+
Reflect.set(client, "projectName", "demo");
|
|
335
|
+
Reflect.set(client, "httpClient", {
|
|
336
|
+
callTool: async (toolName) => {
|
|
337
|
+
if (toolName === "get_dm_messages") {
|
|
338
|
+
throw new Error("MCP tool get_dm_messages call failed: 503 Service Unavailable");
|
|
339
|
+
}
|
|
340
|
+
return {};
|
|
341
|
+
},
|
|
342
|
+
});
|
|
343
|
+
await assert.rejects(() => client.fetchUnreadMessages(), /MCP tool get_dm_messages call failed: 503 Service Unavailable/);
|
|
344
|
+
});
|
|
345
|
+
it("should not recover poll_message non-503 errors", async () => {
|
|
346
|
+
const client = new AgentClient();
|
|
347
|
+
Reflect.set(client, "agentId", "agent-1");
|
|
348
|
+
Reflect.set(client, "projectName", "demo");
|
|
349
|
+
Reflect.set(client, "httpClient", {
|
|
350
|
+
callTool: async (toolName) => {
|
|
351
|
+
if (toolName === "poll_message") {
|
|
352
|
+
throw new Error("MCP tool poll_message call failed: 500 Internal Server Error");
|
|
353
|
+
}
|
|
354
|
+
return {};
|
|
355
|
+
},
|
|
356
|
+
});
|
|
357
|
+
await assert.rejects(() => client.fetchUnreadMessages({ includePipelineTasks: true }), /MCP tool poll_message call failed: 500 Internal Server Error/);
|
|
358
|
+
});
|
|
310
359
|
it("should keep get_dm_messages for non-claiming message fetches", async () => {
|
|
311
360
|
const client = new AgentClient();
|
|
312
361
|
Reflect.set(client, "agentId", "agent-1");
|