@keyou007/agent-bot 0.1.16-alpha.3 → 0.1.16-alpha.4

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.
@@ -7,31 +7,6 @@ export class SessionMetadataHydrator {
7
7
  this.runtimes = runtimes;
8
8
  }
9
9
  async hydrate(session) {
10
- if (session.runtimeKind === "codex"
11
- && session.remoteSessionId
12
- && session.lastTurnId
13
- && session.status === "running"
14
- && session.lastTurnStatus === "running") {
15
- const runtime = this.runtimes.forAgent(session.agentName);
16
- const loaded = runtime.getSession(session.localSessionId) ?? await runtime.resumeSession({
17
- localSessionId: session.localSessionId,
18
- remoteSessionId: session.remoteSessionId,
19
- activeTurnId: session.lastTurnId,
20
- lastTurnId: session.lastTurnId,
21
- lastTurnStatus: session.lastTurnStatus,
22
- agentName: session.agentName,
23
- cwd: session.cwd,
24
- title: session.title,
25
- model: session.model,
26
- reasoningEffort: session.reasoningEffort,
27
- permissionMode: session.permissionMode ?? "auto",
28
- });
29
- const synchronized = await runtime.synchronizeSession(loaded.localSessionId);
30
- if (synchronized.title) {
31
- this.store.updateRuntimeSession(session.localSessionId, { title: synchronized.title });
32
- }
33
- return this.store.getSession(session.localSessionId) ?? session;
34
- }
35
10
  if (session.title || !session.runtimeKind || !session.remoteSessionId)
36
11
  return session;
37
12
  if (session.runtimeKind === "codex" && !session.lastTurnId)
@@ -1 +1 @@
1
- {"version":3,"file":"SessionMetadataHydrator.js","sourceRoot":"","sources":["../../src/startup/SessionMetadataHydrator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,OAAO,uBAAuB;IAEf,KAAK;IACL,QAAQ;IAF3B,YACmB,KAAiB,EACjB,QAA8B;qBAD9B,KAAK;wBACL,QAAQ;IACxB,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAAsB;QAClC,IACE,OAAO,CAAC,WAAW,KAAK,OAAO;eAC5B,OAAO,CAAC,eAAe;eACvB,OAAO,CAAC,UAAU;eAClB,OAAO,CAAC,MAAM,KAAK,SAAS;eAC5B,OAAO,CAAC,cAAc,KAAK,SAAS,EACvC,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,MAAM,OAAO,CAAC,aAAa,CAAC;gBACvF,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,YAAY,EAAE,OAAO,CAAC,UAAU;gBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,MAAM;aACjD,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC7E,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YACzF,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC;QAClE,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,eAAe;YAAE,OAAO,OAAO,CAAC;QACtF,IAAI,OAAO,CAAC,WAAW,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO,OAAO,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9G,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC;IAClE,CAAC;CACF"}
1
+ {"version":3,"file":"SessionMetadataHydrator.js","sourceRoot":"","sources":["../../src/startup/SessionMetadataHydrator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,OAAO,uBAAuB;IAEf,KAAK;IACL,QAAQ;IAF3B,YACmB,KAAiB,EACjB,QAA8B;qBAD9B,KAAK;wBACL,QAAQ;IACxB,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAAsB;QAClC,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,eAAe;YAAE,OAAO,OAAO,CAAC;QACtF,IAAI,OAAO,CAAC,WAAW,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO,OAAO,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9G,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC;IAClE,CAAC;CACF"}
@@ -321,6 +321,14 @@ export class StateStore {
321
321
  `).all();
322
322
  return rows.map(mapTurnAttempt);
323
323
  }
324
+ listCancellationRequestedTurnAttempts() {
325
+ const rows = this.db.prepare(`
326
+ SELECT * FROM turn_attempts
327
+ WHERE status = 'cancelling'
328
+ ORDER BY created_at ASC, rowid ASC
329
+ `).all();
330
+ return rows.map(mapTurnAttempt);
331
+ }
324
332
  updateTurnAttempt(attemptId, patch) {
325
333
  const existing = this.getTurnAttempt(attemptId);
326
334
  if (!existing)
@@ -356,6 +364,19 @@ export class StateStore {
356
364
  `).get(turnId);
357
365
  return row ? mapTurnAttempt(row) : undefined;
358
366
  }
367
+ requestTurnAttemptCancellation(turnId) {
368
+ const existing = this.findIncompleteTurnAttemptByTurnId(turnId);
369
+ if (!existing)
370
+ return undefined;
371
+ this.updateTurnAttempt(existing.attemptId, { status: "cancelling" });
372
+ return existing;
373
+ }
374
+ restoreTurnAttemptAfterCancellationFailure(attempt) {
375
+ const current = this.getTurnAttempt(attempt.attemptId);
376
+ if (current?.status !== "cancelling")
377
+ return;
378
+ this.updateTurnAttempt(attempt.attemptId, { status: attempt.status });
379
+ }
359
380
  touchTurnAttempt(turnId, activityAt = new Date()) {
360
381
  const timestamp = activityAt.toISOString();
361
382
  const throttleCutoff = new Date(activityAt.getTime() - 15_000).toISOString();
@@ -394,6 +415,17 @@ export class StateStore {
394
415
  });
395
416
  return this.getTurnAttempt(attemptId);
396
417
  }
418
+ prepareUnstartedTurnAttemptRetry(attemptId) {
419
+ const existing = this.getTurnAttempt(attemptId);
420
+ if (!existing || existing.turnId || !isIncompleteTurnAttemptStatus(existing.status))
421
+ return undefined;
422
+ this.updateTurnAttempt(attemptId, {
423
+ pendingTurnId: null,
424
+ retryCount: existing.retryCount + 1,
425
+ status: "recovering",
426
+ });
427
+ return this.getTurnAttempt(attemptId);
428
+ }
397
429
  rebindPendingTurnMessages(localSessionId, sourceTurnId, targetTurnId) {
398
430
  const now = new Date().toISOString();
399
431
  const rebind = this.db.transaction(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"StateStore.js","sourceRoot":"","sources":["../../src/state/StateStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StateStore.js","sourceRoot":"","sources":["../../src/state/StateStore.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@keyou007/agent-bot",
3
- "version": "0.1.16-alpha.3",
3
+ "version": "0.1.16-alpha.4",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@keyou007/agent-bot",
9
- "version": "0.1.16-alpha.3",
9
+ "version": "0.1.16-alpha.4",
10
10
  "license": "GPL-3.0-only",
11
11
  "dependencies": {
12
12
  "@agentclientprotocol/sdk": "1.2.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keyou007/agent-bot",
3
- "version": "0.1.16-alpha.3",
3
+ "version": "0.1.16-alpha.4",
4
4
  "type": "module",
5
5
  "description": "Use Codex, TraeX, and compatible coding agents from Lark/Feishu.",
6
6
  "license": "GPL-3.0-only",
@@ -18,6 +18,8 @@ export class LocalControlServer {
18
18
  if (process.platform !== "win32") fs.rmSync(this.endpoint, { force: true });
19
19
  const server = net.createServer((socket) => {
20
20
  socket.setEncoding("utf8");
21
+ // CLI callers may time out or be terminated while a long request is still running.
22
+ socket.on("error", () => undefined);
21
23
  let input = "";
22
24
  socket.on("data", (chunk: string) => {
23
25
  input += chunk;
@@ -55,7 +57,7 @@ export class LocalControlServer {
55
57
  } catch (error) {
56
58
  response = { ok: false, message: error instanceof Error ? error.message : String(error) };
57
59
  }
58
- socket.end(`${JSON.stringify(response)}\n`);
60
+ if (!socket.destroyed && socket.writable) socket.end(`${JSON.stringify(response)}\n`);
59
61
  }
60
62
  }
61
63
 
@@ -1004,7 +1004,7 @@ export class CardRenderer {
1004
1004
  const totalPages = usesHistoricalPrefixPages ? pages.length + 1 : pages.length;
1005
1005
  const page = Math.max(0, Math.min(Math.trunc(requestedPage), pages.length - 1));
1006
1006
  const actions: TaskListCardAction[] = [
1007
- ...(pages.length > 1 ? [{
1007
+ ...(usesHistoricalPrefixPages || pages.length > 1 ? [{
1008
1008
  text: "最新页",
1009
1009
  value: { action: "activity_history", turnId: state.turnId, page: "latest" },
1010
1010
  }] : []),
@@ -2277,7 +2277,7 @@ function unwrapPowerShellCommand(command: string): string | undefined {
2277
2277
  if (!commandFlag) return undefined;
2278
2278
  const payload = args.slice(commandFlag.index + commandFlag[0].length).trim();
2279
2279
  if (!payload) return undefined;
2280
- return unwrapQuotedPayload(payload);
2280
+ return unwrapShellPayload(payload);
2281
2281
  }
2282
2282
 
2283
2283
  function unwrapPosixShellCommand(command: string): string | undefined {
@@ -2308,7 +2308,7 @@ function unwrapPosixShellCommand(command: string): string | undefined {
2308
2308
  if (!commandFlag) return undefined;
2309
2309
  const payload = args.slice(commandFlag.index + commandFlag[0].length).trim();
2310
2310
  if (!payload) return undefined;
2311
- return unwrapQuotedPayload(payload);
2311
+ return unwrapShellPayload(payload);
2312
2312
  }
2313
2313
 
2314
2314
  function readCommandWord(command: string, start: number): { value: string; end: number } | undefined {
@@ -2341,10 +2341,64 @@ function isPosixShell(executable: string): boolean {
2341
2341
  || executable === "fish";
2342
2342
  }
2343
2343
 
2344
- function unwrapQuotedPayload(payload: string): string {
2345
- const quote = payload[0];
2346
- if ((quote === "\"" || quote === "'") && payload.at(-1) === quote) return payload.slice(1, -1).trim();
2347
- return payload;
2344
+ function unwrapShellPayload(payload: string): string | undefined {
2345
+ if (payload[0] !== "\"" && payload[0] !== "'") return payload;
2346
+ const decoded = decodeQuotedShellWord(payload)?.trim();
2347
+ return decoded || undefined;
2348
+ }
2349
+
2350
+ function decodeQuotedShellWord(value: string): string | undefined {
2351
+ let result = "";
2352
+ let quote: "'" | "\"" | undefined;
2353
+ let sawQuote = false;
2354
+
2355
+ for (let index = 0; index < value.length; index += 1) {
2356
+ const character = value[index] ?? "";
2357
+
2358
+ if (quote === "'") {
2359
+ if (character === "'") quote = undefined;
2360
+ else result += character;
2361
+ continue;
2362
+ }
2363
+
2364
+ if (quote === "\"") {
2365
+ if (character === "\"") {
2366
+ quote = undefined;
2367
+ continue;
2368
+ }
2369
+ if (character === "\\") {
2370
+ const next = value[index + 1];
2371
+ if (next === "\n") {
2372
+ index += 1;
2373
+ continue;
2374
+ }
2375
+ if (next === "$" || next === "`" || next === "\"" || next === "\\") {
2376
+ result += next;
2377
+ index += 1;
2378
+ continue;
2379
+ }
2380
+ }
2381
+ result += character;
2382
+ continue;
2383
+ }
2384
+
2385
+ if (character === "'" || character === "\"") {
2386
+ quote = character;
2387
+ sawQuote = true;
2388
+ continue;
2389
+ }
2390
+ if (/\s/.test(character)) return undefined;
2391
+ if (character === "\\") {
2392
+ const next = value[index + 1];
2393
+ if (next === undefined) return undefined;
2394
+ result += next;
2395
+ index += 1;
2396
+ continue;
2397
+ }
2398
+ result += character;
2399
+ }
2400
+
2401
+ return sawQuote && quote === undefined ? result : undefined;
2348
2402
  }
2349
2403
 
2350
2404
  function codeBlock(value: string, maxLength: number): string {
@@ -119,7 +119,7 @@ const SESSION_PROMPT_PREVIEW_LENGTH = 50;
119
119
  const DIRECTORY_PAGE_SIZE = 15;
120
120
  const RESET_HISTORY_PAGE_SIZE = 10;
121
121
  const MAX_LLM_TURN_RETRIES = 3;
122
- const RECOVERY_ACTIVITY_WINDOW_MS = 5 * 60 * 1_000;
122
+ const RECOVERY_ACTIVITY_WINDOW_MS = 10 * 60 * 1_000;
123
123
  const RECOVERY_HEARTBEAT_INTERVAL_MS = 60 * 1_000;
124
124
  const SHELL_COMMAND_JOB_POLL_INTERVAL_MS = 1_000;
125
125
  const SHELL_COMMAND_JOB_RELAUNCH_DELAY_MS = 5_000;
@@ -1912,6 +1912,7 @@ export class ProxySessionController {
1912
1912
  }
1913
1913
 
1914
1914
  private async runStartupRecovery(): Promise<void> {
1915
+ await this.finishPersistedCancellationRequests();
1915
1916
  await this.recoverShellCommandJobs();
1916
1917
  this.backfillTurnAttemptsForUpgrade();
1917
1918
  const attempts = this.store.listIncompleteTurnAttempts();
@@ -1942,6 +1943,40 @@ export class ProxySessionController {
1942
1943
  this.restorePersistedQueuedPrompts();
1943
1944
  }
1944
1945
 
1946
+ private async finishPersistedCancellationRequests(): Promise<void> {
1947
+ for (const attempt of this.store.listCancellationRequestedTurnAttempts()) {
1948
+ const session = this.store.getSession(attempt.localSessionId);
1949
+ if (!attempt.turnId) {
1950
+ this.store.updateTurnAttempt(attempt.attemptId, { status: "cancelled" });
1951
+ if (session?.status === "starting" || session?.status === "running") {
1952
+ this.store.updateSession(session.localSessionId, { status: "ready" });
1953
+ }
1954
+ continue;
1955
+ }
1956
+ if (session) {
1957
+ this.outbound.registerSession(
1958
+ session.localSessionId,
1959
+ attempt.contextKey,
1960
+ session.title,
1961
+ session.cwd,
1962
+ this.agentLabel(session.agentName),
1963
+ );
1964
+ }
1965
+ try {
1966
+ await this.handleRuntimeEvent({
1967
+ type: "turn_cancelled",
1968
+ sessionId: attempt.localSessionId,
1969
+ turnId: attempt.turnId,
1970
+ });
1971
+ } catch (error) {
1972
+ this.logger.warn(
1973
+ { error, attemptId: attempt.attemptId, turnId: attempt.turnId },
1974
+ "Failed to finish a persisted user-requested turn cancellation.",
1975
+ );
1976
+ }
1977
+ }
1978
+ }
1979
+
1945
1980
  private backfillTurnAttemptsForUpgrade(): void {
1946
1981
  for (const session of this.store.listAllSessions()) {
1947
1982
  if (session.status !== "starting" && session.status !== "running" && session.status !== "ready") continue;
@@ -2001,7 +2036,7 @@ export class ProxySessionController {
2001
2036
  session.localSessionId,
2002
2037
  attempt.contextKey,
2003
2038
  oldCardTurnId,
2004
- "执行中断已超过 5 分钟,未自动恢复。",
2039
+ "执行中断已超过 10 分钟,未自动恢复。",
2005
2040
  ).catch((error: unknown) => {
2006
2041
  this.logger.warn(
2007
2042
  { error, attemptId: attempt.attemptId, turnId: oldCardTurnId },
@@ -3082,28 +3117,80 @@ export class ProxySessionController {
3082
3117
  });
3083
3118
  }
3084
3119
  let turnId: string;
3120
+ let runtimeText = text;
3121
+ let cardPrompt = options.displayPrompt ?? text;
3122
+ let retriedStart = false;
3085
3123
  try {
3086
- const pendingTurnId = await this.outbound.startPendingTurn(
3087
- loaded.record.localSessionId,
3088
- loaded.record.contextKey,
3089
- title,
3090
- replyTarget,
3091
- options.displayPrompt ?? text,
3092
- );
3093
- this.store.updateTurnAttempt(attemptId, { pendingTurnId: pendingTurnId ?? null });
3094
- turnId = await loaded.runtime.startTurn(
3095
- loaded.record.localSessionId,
3096
- runtimePrompt(text, localImagePaths),
3097
- );
3098
- } catch (error) {
3099
- this.store.updateTurnAttempt(attemptId, {
3100
- status: options.preserveAttemptOnFailure ? "recovering" : "failed",
3101
- });
3102
- await this.outbound.failPendingTurn(
3103
- loaded.record.localSessionId,
3104
- error instanceof Error ? error.message : String(error),
3105
- );
3106
- throw error;
3124
+ while (true) {
3125
+ let pendingTurnId: string | undefined;
3126
+ try {
3127
+ pendingTurnId = await this.outbound.startPendingTurn(
3128
+ loaded.record.localSessionId,
3129
+ loaded.record.contextKey,
3130
+ title,
3131
+ replyTarget,
3132
+ cardPrompt,
3133
+ );
3134
+ } catch (error) {
3135
+ this.store.updateTurnAttempt(attemptId, {
3136
+ status: options.preserveAttemptOnFailure ? "recovering" : "failed",
3137
+ });
3138
+ throw error;
3139
+ }
3140
+ this.store.updateTurnAttempt(attemptId, { pendingTurnId: pendingTurnId ?? null });
3141
+
3142
+ try {
3143
+ turnId = await loaded.runtime.startTurn(
3144
+ loaded.record.localSessionId,
3145
+ runtimePrompt(runtimeText, localImagePaths),
3146
+ );
3147
+ break;
3148
+ } catch (error) {
3149
+ const message = error instanceof Error ? error.message : String(error);
3150
+ const attempt = this.store.getTurnAttempt(attemptId);
3151
+ const retryAttempt = attempt
3152
+ && isRetryableLlmTurnFailure(message)
3153
+ && attempt.retryCount < MAX_LLM_TURN_RETRIES
3154
+ ? this.store.prepareUnstartedTurnAttemptRetry(attemptId)
3155
+ : undefined;
3156
+ if (!retryAttempt) {
3157
+ const exhausted = attempt
3158
+ && isRetryableLlmTurnFailure(message)
3159
+ && attempt.retryCount >= MAX_LLM_TURN_RETRIES;
3160
+ const finalMessage = exhausted
3161
+ ? `${message}\n\n已自动重试 ${MAX_LLM_TURN_RETRIES} 次,仍未成功。`
3162
+ : message;
3163
+ this.store.updateTurnAttempt(attemptId, {
3164
+ status: options.preserveAttemptOnFailure ? "recovering" : "failed",
3165
+ });
3166
+ await this.outbound.failPendingTurn(loaded.record.localSessionId, finalMessage);
3167
+ if (finalMessage === message) throw error;
3168
+ throw new Error(finalMessage, { cause: error });
3169
+ }
3170
+
3171
+ retriedStart = true;
3172
+ this.llmRetryingSessions.add(loaded.record.localSessionId);
3173
+ this.store.audit(loaded.record.contextKey, "llm_turn_start_retry_started", {
3174
+ attemptId,
3175
+ retryNumber: retryAttempt.retryCount,
3176
+ maxRetries: MAX_LLM_TURN_RETRIES,
3177
+ error: message,
3178
+ });
3179
+ await this.outbound.failPendingTurn(
3180
+ loaded.record.localSessionId,
3181
+ `${message}\n\n检测到临时模型服务错误,正在自动重试(${retryAttempt.retryCount}/${MAX_LLM_TURN_RETRIES})。`,
3182
+ ).catch((presentationError: unknown) => {
3183
+ this.logger.warn(
3184
+ { error: presentationError, sessionId: loaded.record.localSessionId },
3185
+ "Failed to finalize the pending thinking card before an LLM start retry.",
3186
+ );
3187
+ });
3188
+ runtimeText = llmRetryRuntimePrompt(retryAttempt.promptText, retryAttempt.retryCount);
3189
+ cardPrompt = llmRetryCardPrompt(options.displayPrompt ?? retryAttempt.promptText, retryAttempt.retryCount);
3190
+ }
3191
+ }
3192
+ } finally {
3193
+ if (retriedStart) this.llmRetryingSessions.delete(loaded.record.localSessionId);
3107
3194
  }
3108
3195
  const attempt = this.store.getTurnAttempt(attemptId);
3109
3196
  this.store.updateTurnAttempt(attemptId, {
@@ -3956,7 +4043,13 @@ export class ProxySessionController {
3956
4043
  await this.outbound.sendText(record.contextKey, "当前没有正在执行的任务。");
3957
4044
  return;
3958
4045
  }
3959
- await runtime.interruptRemoteTurn(record.remoteSessionId, turnId);
4046
+ const cancellationAttempt = this.store.requestTurnAttemptCancellation(turnId);
4047
+ try {
4048
+ await runtime.interruptRemoteTurn(record.remoteSessionId, turnId);
4049
+ } catch (error) {
4050
+ if (cancellationAttempt) this.store.restoreTurnAttemptAfterCancellationFailure(cancellationAttempt);
4051
+ throw error;
4052
+ }
3960
4053
  this.store.audit(record.contextKey, "turn_interrupt_sent", {
3961
4054
  localSessionId: record.localSessionId,
3962
4055
  remoteSessionId: record.remoteSessionId,
@@ -3972,7 +4065,13 @@ export class ProxySessionController {
3972
4065
  await this.outbound.sendText(record.contextKey, "当前没有正在执行的任务。");
3973
4066
  return;
3974
4067
  }
3975
- await loaded.runtime.cancelTurn(record.localSessionId, turnId);
4068
+ const cancellationAttempt = this.store.requestTurnAttemptCancellation(turnId);
4069
+ try {
4070
+ await loaded.runtime.cancelTurn(record.localSessionId, turnId);
4071
+ } catch (error) {
4072
+ if (cancellationAttempt) this.store.restoreTurnAttemptAfterCancellationFailure(cancellationAttempt);
4073
+ throw error;
4074
+ }
3976
4075
  }
3977
4076
 
3978
4077
  private async resetCurrentSessionToTurn(
@@ -7036,7 +7135,8 @@ function isRetryableLlmTurnFailure(message: string): boolean {
7036
7135
  /service unavailable|internal server error|bad gateway|gateway timeout/u,
7037
7136
  /(?:^|\D)(?:500|502|503|504)(?:\D|$)|upstream (?:error|failure|timeout)/u,
7038
7137
  /deadline exceeded|request timed out|request timeout|response timeout/u,
7039
- /connection (?:reset|closed|aborted)|network error|socket hang up/u,
7138
+ /connection (?:reset|closed|aborted|disconnected)|network error|socket hang up/u,
7139
+ /app server .*(?:closed|disconnected|exited|reset|aborted)/u,
7040
7140
  /stream (?:closed|disconnected|interrupted|error)/u,
7041
7141
  /\b(?:llm|model|provider|inference)\b.*\b(?:error|failed|failure|unavailable|timeout|timed out)\b/u,
7042
7142
  ].some((pattern) => pattern.test(normalized));