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.
Files changed (44) hide show
  1. package/dist/adapter/OpencodeSdkAdapter.d.ts +1 -1
  2. package/dist/adapter/OpencodeSdkAdapter.d.ts.map +1 -1
  3. package/dist/adapter/OpencodeSdkAdapter.js +11 -7
  4. package/dist/adapter/types.d.ts +14 -0
  5. package/dist/adapter/types.d.ts.map +1 -1
  6. package/dist/adapter/types.js +46 -2
  7. package/dist/adapter/types.test.js +33 -1
  8. package/dist/routes/runtime-binding.d.ts +17 -0
  9. package/dist/routes/runtime-binding.d.ts.map +1 -1
  10. package/dist/routes/runtime-binding.js +59 -15
  11. package/dist/routes/runtime-binding.test.d.ts +2 -0
  12. package/dist/routes/runtime-binding.test.d.ts.map +1 -0
  13. package/dist/routes/runtime-binding.test.js +108 -0
  14. package/dist/routes/terminal.d.ts +15 -0
  15. package/dist/routes/terminal.d.ts.map +1 -1
  16. package/dist/routes/terminal.js +82 -5
  17. package/dist/routes/terminal.test.js +51 -1
  18. package/dist/services/ai-source-apply.d.ts.map +1 -1
  19. package/dist/services/ai-source-apply.js +30 -9
  20. package/dist/services/ai-source-apply.test.js +50 -0
  21. package/node_modules/@cc-switch/sdk/dist/services/ai-config-service.d.ts +1 -0
  22. package/node_modules/@cc-switch/sdk/dist/services/ai-config-service.d.ts.map +1 -1
  23. package/node_modules/@cc-switch/sdk/dist/services/ai-config-service.js +2 -1
  24. package/package/aws-client-agent-mcp/dist/agent-client.d.ts +10 -0
  25. package/package/aws-client-agent-mcp/dist/agent-client.d.ts.map +1 -1
  26. package/package/aws-client-agent-mcp/dist/agent-client.js +25 -1
  27. package/package/aws-client-agent-mcp/dist/agent-client.js.map +1 -1
  28. package/package/aws-client-agent-mcp/dist/agent-client.test.js +49 -0
  29. package/package/aws-client-agent-mcp/dist/agent-client.test.js.map +1 -1
  30. package/package/aws-client-agent-mcp/dist/http-client.d.ts.map +1 -1
  31. package/package/aws-client-agent-mcp/dist/http-client.js +29 -10
  32. package/package/aws-client-agent-mcp/dist/http-client.js.map +1 -1
  33. package/package/aws-client-agent-mcp/dist/http-client.test.js +25 -8
  34. package/package/aws-client-agent-mcp/dist/http-client.test.js.map +1 -1
  35. package/package/aws-client-agent-mcp/dist/status-reporter.d.ts +5 -0
  36. package/package/aws-client-agent-mcp/dist/status-reporter.d.ts.map +1 -1
  37. package/package/aws-client-agent-mcp/dist/status-reporter.js +23 -8
  38. package/package/aws-client-agent-mcp/dist/status-reporter.js.map +1 -1
  39. package/package/aws-client-agent-mcp/dist/status-reporter.test.js +46 -0
  40. package/package/aws-client-agent-mcp/dist/status-reporter.test.js.map +1 -1
  41. package/package/cc-switch-sdk/dist/services/ai-config-service.d.ts +1 -0
  42. package/package/cc-switch-sdk/dist/services/ai-config-service.d.ts.map +1 -1
  43. package/package/cc-switch-sdk/dist/services/ai-config-service.js +2 -1
  44. package/package.json +1 -1
@@ -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
- appendCommandOutput(entry, `${formatTerminalPrompt(state.currentDirectory)}${command}\r\n`);
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: command,
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, String(input));
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;AAqBD;;GAEG;AACH,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,sBAAsB,CAAC,CAsCjC"}
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 (generatedConfig?.claudecode && isClaudeCodeInstalled(options.toolStatus)) {
32
- mergedClaude = await options.aiConfigService.applyClaudeCodeConfig(generatedConfig.claudecode);
52
+ if (claudeConfig && isClaudeCodeInstalled(options.toolStatus)) {
53
+ mergedClaude = await options.aiConfigService.applyClaudeCodeConfig(claudeConfig);
33
54
  }
34
- if (generatedConfig?.codex && isInstalled(options.toolStatus, 'codex')) {
35
- mergedCodex = await options.aiConfigService.applyCodexConfig(generatedConfig.codex);
55
+ if (codexConfig && isInstalled(options.toolStatus, 'codex')) {
56
+ mergedCodex = await options.aiConfigService.applyCodexConfig(codexConfig);
36
57
  }
37
- if (generatedConfig?.opencode && isInstalled(options.toolStatus, 'opencode')) {
38
- mergedOpencode = await options.aiConfigService.applyOpenCodeConfig(generatedConfig.opencode);
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: generatedConfig?.claudecode && mergedClaude ? Object.keys(generatedConfig.claudecode) : [],
44
- codex: generatedConfig?.codex && mergedCodex ? Object.keys(generatedConfig.codex) : [],
45
- opencode: generatedConfig?.opencode && mergedOpencode ? Object.keys(generatedConfig.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
  });
@@ -13,6 +13,7 @@ export interface ClaudeCodeConfig {
13
13
  }
14
14
  export interface OpenCodeProviderConfig {
15
15
  npm?: string;
16
+ model?: string;
16
17
  options?: {
17
18
  baseURL?: string;
18
19
  apiKey?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-config-service.d.ts","sourceRoot":"","sources":["../../src/services/ai-config-service.ts"],"names":[],"mappings":"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"}
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 = models[0] || String(template.model || "").trim();
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.httpClient.callTool(dmToolName, dmArgs);
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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAwB,MAAM,aAAa,CAAC;AAE9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA6BtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,MAAM,OAAO,WAAW;IACd,QAAQ,CAAkB;IAC1B,UAAU,CAAa;IACvB,WAAW,CAAc;IACzB,YAAY,CAAe;IAC3B,OAAO,GAAkB,IAAI,CAAC;IAC9B,WAAW,GAAkB,IAAI,CAAC;IAClC,WAAW,GAAkB,IAAI,CAAC,CAAC,qBAAqB;IACxD,SAAS,GAAG,KAAK,CAAC;IAClB,cAAc,GAA0B,IAAI,CAAC;IAC7C,cAAc,GAA0B,IAAI,CAAC;IAC7C,SAAS,GAA0B,IAAI,CAAC;IACxC,cAAc,GAA0B,IAAI,CAAC;IAErD;;;OAGG;IACK,aAAa,GAAuB,IAAI,CAAC;IAEjD;QACE,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAC7C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,aAAa,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED,2CAA2C;IAEnC,uBAAuB;QAC7B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,OAAsB,EAAE,EAAE;YAC3D,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,OAAqB,EAAE,EAAE;YACzD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,OAAoB,EAAE,EAAE;YACvD,MAAM,CAAC,IAAI,CACT,yDAAyD,OAAO,CAAC,WAAW,EAAE,CAC/E,CAAC;YACF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,YAA+B,EAAE,EAAE;YAClE,MAAM,CAAC,IAAI,CACT,6CAA6C,YAAY,CAAC,MAAM,EAAE,CACnE,CAAC;YACF,qBAAqB;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACzC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACvC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IAEjC;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAClD,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACzC,CAAC;IAEO,gBAAgB;QACtB,OAAO,CAAC,CAAC,CACP,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CACvE,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,2BAA2B;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,gBAAgB;QAEhE,MAAM,CAAC,IAAI,CACT,oCAAoC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,GAAG,CACzE,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC,CAAC;QAElE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAEzD,WAAW;QACX,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEhC,wCAAwC;QACxC,2CAA2C;QAC3C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,IAAI,IAAI,CAAC;QAExD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACxD,WAAW,EAAE,gBAAgB,CAAC,WAAW;YACzC,aAAa,EAAE,gBAAgB,CAAC,aAAa;YAC7C,aAAa,EAAE,gBAAgB,CAAC,aAAa;YAC7C,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;SACpD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAiB,UAAU,EAAE;YACxE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW;YACzC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa;YAC7C,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;YAC/B,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,oBAAoB;SAC7D,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,cAAc;QAE7D,MAAM,CAAC,IAAI,CACT,uBAAuB,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,GAAG,CAC5D,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC,CAAC;QAElE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAEzD,WAAW;QACX,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEhC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;IAED,iCAAiC;IAEjC;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACnC,oBAAoB,EACpB;YACE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACnC,sBAAsB,EACtB;YACE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,IAAuB;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACnC,gBAAgB,EAChB;YACE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,IAAI;SAC8B,CACxC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,IAA6B;QAE7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACnC,uBAAuB,EACvB;YACE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,IAAI;SAC8B,CACxC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,QAAgB,EAChB,IAA6B;QAE7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAI,QAAQ,EAAE;YACjD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,WAAwB;QAC9C,MAAM,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAe,EACf,WAAoB,EACpB,MAAe;QAEf,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,yCAAyC;QACzC,MAAM,aAAa,GACjB,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QAClE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACnC,oBAAoB,EACpB;YACE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,aAAa;YAC1B,MAAM;YACN,OAAO;SACR,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,QAAgB,EAChB,OAAe,EACf,SAAS,GAAG,KAAK,EACjB,aAAsB,EACtB,SAAkB;QAElB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,MAAM,IAAI,GAA4B;YACpC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ;YACR,OAAO;YACP,YAAY,EAAE,SAAS;YACvB,SAAS;YACT,aAAa;SACd,CAAC;QAEF,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAe,SAAS,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,QAAgB,EAChB,OAAe,EACf,SAAS,GAAG,KAAK;QAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,SAAS,EACT,SAAS,CACV,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,MAAc,EACd,QAAgB,EAChB,OAAe;QAEf,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,YAAqB,EACrB,KAAK,GAAG,EAAE,EACV,KAAc;QAEd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,GAA4B;YACpC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY;YACZ,KAAK;SACN,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACnC,gBAAgB,EAChB,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,KAAK,GAAG,EAAE,EACV,MAAe,EACf,KAAc;QAEd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,GAA4B;gBACpC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW;gBAC7D,MAAM;gBACN,KAAK;aACN,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACnC,mBAAmB,EACnB,IAAI,CACL,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;YAClC,MAAM,IAAI,GAA4B;gBACpC,WAAW,EAAE,aAAa;gBAC1B,MAAM,EAAE,aAAa;gBACrB,KAAK;aACN,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACnC,mBAAmB,EACnB,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,QAAQ,GAAG,gBAAgB;aAC9B,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACxC,IAAI,CACH,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;YAClC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACtC,CAAC;QAEJ,OAAO;YACL,QAAQ;YACR,KAAK,EAAE,QAAQ,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CACvB,UAAsC,EAAE;QAExC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QAEvE,MAAM,MAAM,GAA4B;YACtC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;SAC5C,CAAC;QACF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/B,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QACjD,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,oBAAoB;YAC7C,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,iBAAiB,CAAC;QACtB,MAAM,sBAAsB,GAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAyB,UAAU,EAAE,MAAM,CAAC,CAAC;QAE7E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;YAClC,MAAM,SAAS,GAA4B;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,aAAa;gBAC1B,MAAM,EAAE,aAAa;aACtB,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAClC,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACnC,oBAAoB,EACpB,SAAS,CACV,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,qCAAqC,aAAa,EAAE,EACpD,KAAK,CACN,CAAC;gBACF,OAAO;oBACL,QAAQ,EAAE,EAAE;oBACZ,cAAc,EAAE,CAAC;oBACjB,OAAO,EAAE,KAAK;iBACiB,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC;gBAC5D,CAAC,CAAC,sBAAsB,CAAC,QAAQ;gBACjC,CAAC,CAAC,EAAE;YACN,aAAa,EAAE,qBAAqB;iBACjC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;iBAC5D,IAAI,CACH,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;gBAClC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACtC;SACJ,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,QAA+B;QAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAA2B,EAAE,CACnE,OAAO,CACL,OAAO;YACL,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YACjC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YACpC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;YACnC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CACxC,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,MAA0B,EAC1B,WAAmB;QAEnB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM;aAC1B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC;aACpD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO;YACL,GAAG,OAAO;YACV,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;SACpC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAe;QAC/C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAc,aAAa,EAAE;YAChE,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,oCAAoC;IAEpC;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAY,SAAS,EAAE;YAC1D,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAC7B,IAA6B;QAE7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,OAAO,GAA4B;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,IAAI;SACR,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACnC,8BAA8B,EAC9B,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,MAAc,EACd,aAAqB;QAErB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAU,oBAAoB,EAAE;YACnE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM;YACN,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAA0B;QAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAU,oBAAoB,EAAE;YACnE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,IAAI;SAC8B,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAA2B;QACjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAU,qBAAqB,EAAE;YACpE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,IAAI;SAC8B,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAA4B;QACnD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAU,sBAAsB,EAAE;YACrE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,IAAI;SAC8B,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,MAAc;QAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAU,aAAa,EAAE;YAC5D,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM;YACN,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,cAAsB,EACtB,MAAc;QAEd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAU,gBAAgB,EAAE;YAC/D,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,cAAc;YACd,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IAEjC;;OAEG;IACH,KAAK,CACH,OAAuB,EACvB,OAAiE;QAEjE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,MAAM,CAAC,IAAI,CACT,4CAA4C,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,qBAAqB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CACxI,CAAC;QAEF,6CAA6C;QAC7C,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CACT,mCAAmC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CACpE,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC;QAE5C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;gBAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAEnC,gBAAgB,CAAC,OAAsB;QAC7C,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,CAAC,YAAY;QACtB,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEO,mBAAmB,CAAC,OAAqB;QAC/C,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,CAAC,YAAY;QACtB,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,OAAoB;QAC5C,MAAM,CAAC,IAAI,CACT,gCAAgC,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,QAAQ,GAAG,CAC5E,CAAC;QAEF,0BAA0B;QAC1B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,0BAA0B;YAC1B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,OAAqC;QAErC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC;QAC/C,MAAM,CAAC,IAAI,CACT,mBAAmB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CACzG,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAEjD,aAAa;YACb,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,EAAE,GAAG,OAAwB,CAAC;gBACpC,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,WAAW,CACpB,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,QAAQ,EACX,KAAK,IAAI,gBAAgB,CAC1B,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAE7C,eAAe;YACf,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,EAAE,GAAG,OAAwB,CAAC;gBACpC,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,EAAE,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iCAAiC;IAEzB,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YACxC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,YAAY;QACV,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CACT,6BAA6B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CACzD,CAAC;IACJ,CAAC;IAED,iCAAiC;IAEjC;;OAEG;IACK,wBAAwB;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,CAAC,MAAyB,EAAE,EAAE;gBAC9C,sBAAsB;gBACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE3D,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,KAAsB;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,QAE3B,CAAC;QACF,IACE,CAAC,IAAI,CAAC,OAAO;YACb,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC5B,OAAO,cAAc,CAAC,cAAc,KAAK,UAAU,EACnD,CAAC;YACD,OAAO;QACT,CAAC;QACD,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;CACF"}
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");