@0xmaxma/claude-gateway 1.7.0 → 1.7.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.SessionProcess = exports.MAX_HISTORY_MESSAGES = void 0;
39
+ exports.SessionProcess = exports.INTERRUPTED_NO_REPLY_TEXT = exports.MAX_HISTORY_MESSAGES = void 0;
40
40
  exports.resolveMaxHistoryMessages = resolveMaxHistoryMessages;
41
41
  const child_process_1 = require("child_process");
42
42
  const events_1 = require("events");
@@ -61,6 +61,13 @@ const CHANNEL_REPLY_TOOLS = new Set([
61
61
  'mcp__gateway__discord_reply',
62
62
  'mcp__gateway__line_reply',
63
63
  ]);
64
+ // Shared wording for a turn that ended (gracefully or via a mid-turn exit) with no
65
+ // assistant text at all — used both to patch the in-memory prompt fed to the next
66
+ // spawn (buildInitialPrompt below) and, in AgentRunner, to persist a real assistant
67
+ // message to durable history so a dangling last-message-from-user turn doesn't leave
68
+ // the web sidebar's "typing…" indicator stuck (isSessionPending only clears once the
69
+ // last committed message is from the assistant).
70
+ exports.INTERRUPTED_NO_REPLY_TEXT = '[Session was interrupted before I could respond.]';
64
71
  /**
65
72
  * Resolve the per-spawn history re-injection cap with precedence
66
73
  * per-agent → global → MAX_HISTORY_MESSAGES. Non-finite or negative values are
@@ -120,6 +127,12 @@ class SessionProcess extends events_1.EventEmitter {
120
127
  this.restartRequested = false;
121
128
  this._processing = false;
122
129
  this._pendingRestart = false;
130
+ // Set by interrupt() right before SIGINT, cleared at the start of the next
131
+ // sendMessage(). Lets a caller's process-exit handler tell a /stop-triggered
132
+ // exit (CLI's SIGINT handler fell through to default termination instead of
133
+ // flushing a terminal `result` line) apart from a genuine crash — see
134
+ // consumeInterruptFlag().
135
+ this.interruptRequested = false;
123
136
  this.restartWatcher = null;
124
137
  this.queryMode = false;
125
138
  // Latest context-window token usage (input context + output) for the most
@@ -276,7 +289,7 @@ class SessionProcess extends events_1.EventEmitter {
276
289
  // If the last message is a dangling user turn (session was interrupted before Claude responded),
277
290
  // inject a synthetic assistant acknowledgement so the conversation structure stays valid.
278
291
  if (recent[recent.length - 1]?.role === 'user') {
279
- recent.push({ role: 'assistant', content: '[Session was interrupted before I could respond.]', ts: Date.now() });
292
+ recent.push({ role: 'assistant', content: exports.INTERRUPTED_NO_REPLY_TEXT, ts: Date.now() });
280
293
  }
281
294
  const historyText = recent
282
295
  .map(m => {
@@ -980,7 +993,17 @@ class SessionProcess extends events_1.EventEmitter {
980
993
  });
981
994
  setTimeout(() => {
982
995
  if (!this.stopping) {
983
- this.spawnProcess().catch(err => this.logger.error('restart failed', { error: err.message }));
996
+ this.spawnProcess()
997
+ // Tell anyone waiting on this SessionProcess (getOrSpawnSession's
998
+ // !isRunning() gap, below) that a new child is attached and
999
+ // sendMessage() will no longer silently no-op. Emitted on every
1000
+ // successful crash-triggered respawn — cheap, and nothing currently
1001
+ // listens outside that one call site.
1002
+ .then(() => this.emit('restarted'))
1003
+ .catch(err => {
1004
+ this.logger.error('restart failed', { error: err.message });
1005
+ this.emit('restartFailed', err);
1006
+ });
984
1007
  }
985
1008
  }, AUTO_RESTART_DELAY_MS);
986
1009
  }
@@ -1026,6 +1049,9 @@ class SessionProcess extends events_1.EventEmitter {
1026
1049
  });
1027
1050
  return;
1028
1051
  }
1052
+ // A new turn starting means any prior interrupt() is no longer "the last
1053
+ // thing that happened" — don't let it misattribute a future crash.
1054
+ this.interruptRequested = false;
1029
1055
  // Signal queued state + ensure typing signal file exists for this turn.
1030
1056
  // If the previous turn already called stop() and cleared the typing loop,
1031
1057
  // re-creating the signal file here lets stop() restart the loop for queued turns.
@@ -1150,9 +1176,22 @@ class SessionProcess extends events_1.EventEmitter {
1150
1176
  return false;
1151
1177
  if (!this._processing)
1152
1178
  return false;
1179
+ this.interruptRequested = true;
1153
1180
  this.process.kill('SIGINT');
1154
1181
  return true;
1155
1182
  }
1183
+ /**
1184
+ * Reads and clears the interrupt() flag. True means the process exit a
1185
+ * caller is currently handling followed a /stop SIGINT rather than an
1186
+ * unrelated crash — e.g. so the exit can resolve the turn the same way a
1187
+ * gracefully-flushed interrupted `result` line would, instead of surfacing
1188
+ * a "process exited unexpectedly" error for something the user asked for.
1189
+ */
1190
+ consumeInterruptFlag() {
1191
+ const requested = this.interruptRequested;
1192
+ this.interruptRequested = false;
1193
+ return requested;
1194
+ }
1156
1195
  markPendingRestart() {
1157
1196
  if (!this._processing) {
1158
1197
  this.emit('deferredRestartReady');
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"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"}
package/mcp/server.ts CHANGED
@@ -102,7 +102,7 @@ mcp.setRequestHandler(ListToolsRequestSchema, async () => ({
102
102
  tools: visibleTools,
103
103
  }));
104
104
 
105
- mcp.setRequestHandler(CallToolRequestSchema, async (req) => {
105
+ mcp.setRequestHandler(CallToolRequestSchema, async (req, extra) => {
106
106
  const toolName = req.params.name;
107
107
  const args = (req.params.arguments ?? {}) as Record<string, unknown>;
108
108
 
@@ -114,19 +114,50 @@ mcp.setRequestHandler(CallToolRequestSchema, async (req) => {
114
114
  };
115
115
  }
116
116
 
117
- return mod.handleTool(toolName, args);
117
+ // extra.signal fires on notifications/cancelled for THIS call (the SDK matches
118
+ // it by requestId) — the CLI sends that when a user Stop/Ctrl-C interrupts an
119
+ // in-flight tool call. Threaded through so a long-running module (image
120
+ // generation's poll loop) can react instead of running to its full timeout.
121
+ // Also combine with shutdownController.signal: the CLI sending that
122
+ // notification is only a "SHOULD" in the MCP spec, not a "MUST", and in
123
+ // practice a Stop that lets the CLI process exit cleanly (rather than
124
+ // staying alive to keep chatting) closes this server's stdin without ever
125
+ // sending notifications/cancelled — extra.signal would then never fire, and
126
+ // an in-flight image generation would poll to its full timeout instead of
127
+ // cancelling. stdin closing is a reliable, protocol-independent signal that
128
+ // the turn is over either way, so it backstops the notification.
129
+ const combinedSignal = AbortSignal.any([extra.signal, shutdownController.signal]);
130
+ return mod.handleTool(toolName, args, combinedSignal);
118
131
  });
119
132
 
120
133
  // Connect MCP transport
121
134
  await mcp.connect(new StdioServerTransport());
122
135
 
123
- // Graceful shutdown
136
+ // Graceful shutdown — used by stdin-close, SIGINT, and SIGTERM paths.
137
+ // Awaits any in-flight image cancel (E3) before exiting so the provider
138
+ // actually stops generating when the user presses Stop, rather than the
139
+ // process dying mid-request and the cancel call never reaching the server.
140
+ const imageModuleRef = modules.find((m) => m.id === 'image') as { drainCancel?: () => Promise<void> } | undefined;
124
141
  let shuttingDown = false;
125
142
  function shutdown(): void {
126
143
  if (shuttingDown) return;
127
144
  shuttingDown = true;
128
145
  shutdownController.abort();
129
- setTimeout(() => process.exit(0), 2000);
146
+ // Hard cap: never let shutdown block on the drain. cancelJob() is bounded by
147
+ // its own AbortSignal.timeout (up to 30s), which is far longer than a
148
+ // supervisor's SIGTERM→SIGKILL grace period. Force-exit after a short window
149
+ // so a slow/hung provider cancel can't keep the process alive and risk SIGKILL
150
+ // mid-drain. Whichever fires first wins; unref() so the timer itself never
151
+ // holds the loop open.
152
+ const forceExit = setTimeout(() => process.exit(0), 2000);
153
+ forceExit.unref();
154
+ // Give the event loop one tick so the poll loop's sleep() onAbort listener
155
+ // fires and cancelledResult() sets activeCancelPromise before we try to drain it.
156
+ setImmediate(async () => {
157
+ try { await imageModuleRef?.drainCancel?.(); } catch { /* non-fatal */ }
158
+ clearTimeout(forceExit);
159
+ process.exit(0);
160
+ });
130
161
  }
131
162
  process.stdin.on('end', shutdown);
132
163
  process.stdin.on('close', shutdown);
@@ -109,14 +109,17 @@ export class ImageModule implements ToolModule {
109
109
  return imageToolDefs;
110
110
  }
111
111
 
112
- async handleTool(name: string, args: Record<string, unknown>): Promise<McpToolResult> {
112
+ async handleTool(name: string, args: Record<string, unknown>, signal?: AbortSignal): Promise<McpToolResult> {
113
113
  if (name !== 'generate_image') {
114
114
  return { content: [{ type: 'text', text: `Unknown tool: ${name}` }], isError: true };
115
115
  }
116
116
  const action = typeof args.action === 'string' ? args.action : 'generate';
117
117
  switch (action) {
118
118
  case 'generate':
119
- return this.handleGenerate(args);
119
+ // Only "generate" gets the signal — it's the one action with a multi-second
120
+ // poll loop worth reacting to a Stop mid-flight (#2216 follow-up on the
121
+ // getpod side). status/list/list_refs are single bounded requests already.
122
+ return this.handleGenerate(args, signal);
120
123
  case 'status':
121
124
  return this.handleStatus(args);
122
125
  case 'list':
@@ -257,7 +260,7 @@ export class ImageModule implements ToolModule {
257
260
  };
258
261
  }
259
262
 
260
- private async handleGenerate(args: Record<string, unknown>): Promise<McpToolResult> {
263
+ private async handleGenerate(args: Record<string, unknown>, signal?: AbortSignal): Promise<McpToolResult> {
261
264
  const prompt = typeof args.prompt === 'string' ? args.prompt.trim() : '';
262
265
  const model = typeof args.model === 'string' ? args.model.trim() : '';
263
266
  if (!prompt) {
@@ -369,14 +372,22 @@ export class ImageModule implements ToolModule {
369
372
  return { content: [{ type: 'text', text: 'generate_image: image service did not return a task_id' }], isError: true };
370
373
  }
371
374
 
372
- // Poll (E2) until done/failed or budget exceeded.
375
+ // Poll (E2) until done/failed, budget exceeded, or the caller cancels this call
376
+ // (Stop mid-generation — #2216 follow-up). Checked at the top of every
377
+ // iteration AND inside the sleep itself, so a cancel lands within one wakeup
378
+ // instead of waiting out the full poll interval.
373
379
  const deadline = Date.now() + this.pollTimeoutMs();
374
380
  let last: JobResponse = submit;
375
381
  while (Date.now() < deadline) {
376
- await sleep(DEFAULT_POLL_INTERVAL_MS);
377
- const polled = await this.fetchJob(taskId);
382
+ if (signal?.aborted) return this.cancelledResult(taskId);
383
+ await sleep(DEFAULT_POLL_INTERVAL_MS, signal);
384
+ if (signal?.aborted) return this.cancelledResult(taskId);
385
+ const polled = await this.fetchJob(taskId, signal);
378
386
  if (polled.__transportError) {
379
- // transient transport error keep polling until deadline
387
+ // transient transport error (or abort signal fired mid-fetch) — check
388
+ // signal before continuing so a Stop-triggered abort isn't swallowed
389
+ // as a retryable error and the cancel fires on the next loop iteration.
390
+ if (signal?.aborted) return this.cancelledResult(taskId);
380
391
  continue;
381
392
  }
382
393
  if (polled.httpError) return this.mapHttpError(polled.httpError.status, polled.httpError.body);
@@ -528,14 +539,65 @@ export class ImageModule implements ToolModule {
528
539
  return Number.isFinite(raw) && raw > 0 ? raw : DEFAULT_POLL_TIMEOUT_MS;
529
540
  }
530
541
 
542
+ /**
543
+ * Best-effort E3 cancel — fires and never throws, so a failed cancel call can
544
+ * never break the caller's own (already-cancelled) tool response. The api-side
545
+ * cancel is itself idempotent/no-op-safe on an already-terminal or unknown task.
546
+ * cancelledResult() tracks the returned promise (activeCancelPromise) so a
547
+ * process-exiting shutdown can await it via drainCancel() instead of racing it.
548
+ */
549
+ private async cancelJob(taskId: string): Promise<void> {
550
+ try {
551
+ await fetch(`${this.baseUrl()}/v1/images/jobs/${encodeURIComponent(taskId)}/cancel`, {
552
+ method: 'POST',
553
+ headers: this.headers(),
554
+ signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS),
555
+ });
556
+ } catch {
557
+ // non-fatal — the local tool call already reports itself cancelled either way
558
+ }
559
+ }
560
+
561
+ // Tracks the in-flight cancel call so drainCancel() can await it before the
562
+ // server process exits — a Stop that lets the CLI process die cleanly closes
563
+ // this server's stdin, which fires process.exit() shortly after; without
564
+ // this, that exit can race the fire-and-forget cancelJob() fetch and kill it
565
+ // before the request ever reaches the provider.
566
+ private activeCancelPromise: Promise<void> | null = null;
567
+
568
+ /** Wait for any in-flight E3 cancel to complete. Called by the shutdown handler. */
569
+ async drainCancel(): Promise<void> {
570
+ if (this.activeCancelPromise) await this.activeCancelPromise;
571
+ }
572
+
573
+ /** Tool result for a Stop-triggered cancellation, firing the E3 cancel first. */
574
+ private cancelledResult(taskId: string): McpToolResult {
575
+ this.activeCancelPromise = this.cancelJob(taskId).finally(() => {
576
+ this.activeCancelPromise = null;
577
+ });
578
+ return {
579
+ content: [{
580
+ type: 'text',
581
+ text: `generate_image: cancelled (task_id ${taskId}).`,
582
+ }],
583
+ isError: true,
584
+ };
585
+ }
586
+
531
587
  /** Fetch a job (E2), classifying transport vs HTTP errors so the poller can retry transient ones. */
532
- private async fetchJob(taskId: string): Promise<{ job?: JobResponse; httpError?: { status: number; body: string }; __transportError?: unknown }> {
588
+ private async fetchJob(taskId: string, signal?: AbortSignal): Promise<{ job?: JobResponse; httpError?: { status: number; body: string }; __transportError?: unknown }> {
533
589
  let res: Response;
534
590
  try {
591
+ // Combine with the caller's cancel signal (not just the request timeout) so
592
+ // a Stop that lands mid-fetch aborts the request immediately instead of
593
+ // waiting out REQUEST_TIMEOUT_MS before the poll loop even gets to check.
594
+ const fetchSignal = signal
595
+ ? AbortSignal.any([AbortSignal.timeout(REQUEST_TIMEOUT_MS), signal])
596
+ : AbortSignal.timeout(REQUEST_TIMEOUT_MS);
535
597
  res = await fetch(`${this.baseUrl()}/v1/images/jobs/${encodeURIComponent(taskId)}`, {
536
598
  method: 'GET',
537
599
  headers: this.headers(),
538
- signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS),
600
+ signal: fetchSignal,
539
601
  });
540
602
  } catch (err) {
541
603
  return { __transportError: err };
@@ -654,12 +716,14 @@ export class ImageModule implements ToolModule {
654
716
  text: JSON.stringify({
655
717
  status: 'done',
656
718
  task_id: taskId,
719
+ ...(model ? { model } : {}),
657
720
  byok: job.byok ?? false,
658
721
  cost: job.cost ?? 0,
659
722
  files,
660
723
  ...(artifacts ? { artifacts } : {}),
661
724
  ...(droppedImages > 0 ? { dropped_images: droppedImages } : {}),
662
725
  note: 'Image saved. Deliver it to the user with your channel delivery tool — api_reply/reply (files: [...]), or line_image on LINE. Do NOT open/Read the file to inspect it first; attach it and answer briefly.'
726
+ + (model ? ` Mention which model made it (${model}).` : '')
663
727
  + (artifacts ? ' To edit this image later, reference it via its artifact_ref (e.g. image: "artifact:...").' : '')
664
728
  + (droppedImages > 0 ? ` (${droppedImages} extra image(s) beyond the cap were not saved)` : ''),
665
729
  }),
@@ -720,8 +784,19 @@ export class ImageModule implements ToolModule {
720
784
  }
721
785
  }
722
786
 
723
- function sleep(ms: number): Promise<void> {
724
- return new Promise((r) => setTimeout(r, ms));
787
+ // Resolves early (without rejecting) on abort — the poll loop re-checks
788
+ // signal.aborted itself right after, so this only needs to shorten the wait.
789
+ // The abort listener is removed when the timer fires normally: sleep() is called
790
+ // once per poll iteration against the SAME long-lived signal (up to ~75 times for
791
+ // the default 150s/2s budget), so leaving { once: true } listeners around on the
792
+ // non-abort path would pile them onto that one signal and trip Node's
793
+ // MaxListenersExceededWarning.
794
+ function sleep(ms: number, signal?: AbortSignal): Promise<void> {
795
+ return new Promise((r) => {
796
+ const onAbort = () => { clearTimeout(t); r(); };
797
+ const t = setTimeout(() => { signal?.removeEventListener('abort', onAbort); r(); }, ms);
798
+ signal?.addEventListener('abort', onAbort, { once: true });
799
+ });
725
800
  }
726
801
 
727
802
  function sanitize(s: string): string {
package/mcp/types.ts CHANGED
@@ -77,8 +77,13 @@ export interface ChannelModule {
77
77
  /** MCP tools exposed by this module */
78
78
  getTools(): McpToolDefinition[];
79
79
 
80
- /** Execute a tool call */
81
- handleTool(name: string, args: Record<string, unknown>): Promise<McpToolResult>;
80
+ /**
81
+ * Execute a tool call. `signal` fires when the MCP client cancels this specific
82
+ * call (e.g. the CLI sends notifications/cancelled after a user Stop/Ctrl-C
83
+ * interrupts an in-flight tool call) — optional so existing modules that don't
84
+ * need it are unaffected.
85
+ */
86
+ handleTool(name: string, args: Record<string, unknown>, signal?: AbortSignal): Promise<McpToolResult>;
82
87
 
83
88
  /** Initialize bot client for tool calls (non-blocking) */
84
89
  initBot?(): Promise<void>;
@@ -99,7 +104,8 @@ export interface ToolModule {
99
104
  toolVisibility: ToolVisibility;
100
105
  isEnabled(): boolean;
101
106
  getTools(): McpToolDefinition[];
102
- handleTool(name: string, args: Record<string, unknown>): Promise<McpToolResult>;
107
+ /** See ChannelModule.handleTool's `signal` doc same optional-cancellation contract. */
108
+ handleTool(name: string, args: Record<string, unknown>, signal?: AbortSignal): Promise<McpToolResult>;
103
109
  skillsDir?: string;
104
110
  }
105
111
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xmaxma/claude-gateway",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
4
4
  "description": "Multi-agent gateway for Claude",
5
5
  "repository": {
6
6
  "type": "git",