@ccpocket/bridge 1.91.1 → 1.92.0

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/parser.d.ts CHANGED
@@ -60,6 +60,7 @@ export interface QueuedInputItem {
60
60
  path: string;
61
61
  }>;
62
62
  }
63
+ export type InputDelivery = "steer" | "queue";
63
64
  export type ClientMessage = {
64
65
  type: "client_capabilities";
65
66
  appVersion?: string;
@@ -85,6 +86,8 @@ export type ClientMessage = {
85
86
  sandboxMode?: string;
86
87
  model?: string;
87
88
  effort?: "low" | "medium" | "high" | "xhigh" | "max";
89
+ /** Claude Code fast mode (supported models only). */
90
+ claudeFastMode?: boolean;
88
91
  maxTurns?: number;
89
92
  maxBudgetUsd?: number;
90
93
  fallbackModel?: string;
@@ -129,6 +132,12 @@ export type ClientMessage = {
129
132
  name: string;
130
133
  path: string;
131
134
  }>;
135
+ /**
136
+ * How input sent during an active turn is delivered. `steer` injects it
137
+ * into the running turn; `queue` holds it for the next turn. Omitted by
138
+ * older clients: Codex queues and Claude interrupts the turn.
139
+ */
140
+ delivery?: InputDelivery;
132
141
  } | {
133
142
  type: "update_queued_input";
134
143
  sessionId: string;
@@ -178,6 +187,12 @@ export type ClientMessage = {
178
187
  type: "set_codex_speed";
179
188
  serviceTier: string;
180
189
  sessionId?: string;
190
+ } | {
191
+ type: "set_claude_settings";
192
+ sessionId: string;
193
+ model?: string;
194
+ effort?: "low" | "medium" | "high" | "xhigh" | "max";
195
+ fastMode?: boolean;
181
196
  } | {
182
197
  type: "set_codex_recovery";
183
198
  sessionId: string;
@@ -277,6 +292,8 @@ export type ClientMessage = {
277
292
  sandboxMode?: string;
278
293
  model?: string;
279
294
  effort?: "low" | "medium" | "high" | "xhigh" | "max";
295
+ /** Claude Code fast mode (supported models only). */
296
+ claudeFastMode?: boolean;
280
297
  maxTurns?: number;
281
298
  maxBudgetUsd?: number;
282
299
  fallbackModel?: string;
package/dist/parser.js CHANGED
@@ -66,6 +66,7 @@ function hasValidSessionOptions(msg) {
66
66
  isOptionalString(msg.sandboxMode) &&
67
67
  isOptionalString(msg.model) &&
68
68
  isOptionalEnum(msg.effort, CLAUDE_EFFORTS) &&
69
+ isOptionalBoolean(msg.claudeFastMode) &&
69
70
  (msg.maxTurns === undefined ||
70
71
  (Number.isInteger(msg.maxTurns) && Number(msg.maxTurns) >= 1)) &&
71
72
  (msg.maxBudgetUsd === undefined ||
@@ -192,6 +193,10 @@ export function parseClientMessage(data) {
192
193
  case "input":
193
194
  if (typeof msg.text !== "string")
194
195
  return null;
196
+ if (msg.delivery !== undefined &&
197
+ msg.delivery !== "steer" &&
198
+ msg.delivery !== "queue")
199
+ return null;
195
200
  if (msg.clientMessageId !== undefined &&
196
201
  typeof msg.clientMessageId !== "string")
197
202
  return null;
@@ -306,6 +311,20 @@ export function parseClientMessage(data) {
306
311
  if (msg.sessionId !== undefined && typeof msg.sessionId !== "string")
307
312
  return null;
308
313
  break;
314
+ case "set_claude_settings":
315
+ if (typeof msg.sessionId !== "string" || !msg.sessionId)
316
+ return null;
317
+ if (!isOptionalNonEmptyString(msg.model))
318
+ return null;
319
+ if (!isOptionalEnum(msg.effort, CLAUDE_EFFORTS))
320
+ return null;
321
+ if (!isOptionalBoolean(msg.fastMode))
322
+ return null;
323
+ if (msg.model === undefined &&
324
+ msg.effort === undefined &&
325
+ msg.fastMode === undefined)
326
+ return null;
327
+ break;
309
328
  case "set_codex_recovery":
310
329
  if (typeof msg.enabled !== "boolean")
311
330
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,14 @@ export interface ClaudeModelMetadata {
19
19
  displayName?: string;
20
20
  description?: string;
21
21
  effortLevels: ClaudeEffortLevel[];
22
+ supportsFastMode?: boolean;
23
+ }
24
+ /** Model settings the user selected for a running Claude session. */
25
+ export interface ClaudeSessionSettings {
26
+ /** Selected model value from the model list (alias or id). */
27
+ model?: string;
28
+ effort?: ClaudeEffortLevel;
29
+ fastMode?: boolean;
22
30
  }
23
31
  /**
24
32
  * Drop per-token pricing segments (" · $4/$20 per Mtok") from the SDK model
@@ -57,6 +65,8 @@ export interface StartOptions {
57
65
  permissionMode?: PermissionMode;
58
66
  model?: string;
59
67
  effort?: ClaudeEffortLevel;
68
+ /** Start in Claude Code fast mode (supported models only). */
69
+ fastMode?: boolean;
60
70
  maxTurns?: number;
61
71
  maxBudgetUsd?: number;
62
72
  fallbackModel?: string;
@@ -97,6 +107,11 @@ export interface SdkProcessEvents {
97
107
  exit: [number | null];
98
108
  /** Fired just before "exit" to allow re-persisting session metadata. */
99
109
  session_end: [];
110
+ /**
111
+ * A turn finished and the idle status was published; the session can take
112
+ * the next prompt. Not fired for stop/exit.
113
+ */
114
+ input_ready: [];
100
115
  }
101
116
  export declare class SdkProcess extends EventEmitter<SdkProcessEvents> {
102
117
  private queryInstance;
@@ -109,6 +124,9 @@ export declare class SdkProcess extends EventEmitter<SdkProcessEvents> {
109
124
  get permissionMode(): PermissionMode | undefined;
110
125
  private _model;
111
126
  get model(): string | undefined;
127
+ private _settings;
128
+ /** User-selected model/effort/fast mode (not the resolved model id). */
129
+ get settings(): ClaudeSessionSettings;
112
130
  private authClassification;
113
131
  private authGeneration;
114
132
  private authResolution;
@@ -119,6 +137,8 @@ export declare class SdkProcess extends EventEmitter<SdkProcessEvents> {
119
137
  private userMessageResolve;
120
138
  private stopped;
121
139
  private pendingInputQueue;
140
+ /** Mid-turn messages waiting for the SDK to pull the next prompt. */
141
+ private pendingSteerQueue;
122
142
  private _projectPath;
123
143
  private toolCallsSinceLastResult;
124
144
  private fileEditsSinceLastResult;
@@ -128,9 +148,22 @@ export declare class SdkProcess extends EventEmitter<SdkProcessEvents> {
128
148
  * whose Agent/Task call has returned belong to a background agent.
129
149
  */
130
150
  private completedToolUseIds;
151
+ /** Last cumulative query cost reported by a result (SDK total_cost_usd). */
152
+ private lastCumulativeCostUsd;
131
153
  private launchStartedAt;
132
154
  get status(): ProcessStatus;
133
155
  get isWaitingForInput(): boolean;
156
+ /** True while a turn is in progress and new prompts cannot start a turn. */
157
+ get isTurnActive(): boolean;
158
+ /**
159
+ * Inject input into the running turn without interrupting it (Claude Code
160
+ * `priority: "next"`). When no turn is active the input is sent normally.
161
+ * Returns whether the input was steered into an active turn.
162
+ */
163
+ steerInput(text: string, images?: Array<{
164
+ base64: string;
165
+ mimeType: string;
166
+ }>): boolean;
134
167
  get sessionId(): string | null;
135
168
  get isRunning(): boolean;
136
169
  start(projectPath: string, options?: StartOptions): void;
@@ -193,6 +226,12 @@ export declare class SdkProcess extends EventEmitter<SdkProcessEvents> {
193
226
  * Requires enableFileCheckpointing to be enabled (done in start()).
194
227
  */
195
228
  rewindFiles(userMessageId: string, dryRun?: boolean): Promise<RewindFilesResult>;
229
+ /**
230
+ * Change model, effort or fast mode for subsequent responses. Values that
231
+ * are undefined are left unchanged. Takes effect from the next request; a
232
+ * running turn keeps its current model.
233
+ */
234
+ updateSettings(next: ClaudeSessionSettings): Promise<ClaudeSessionSettings>;
196
235
  listAvailableModels(): Promise<ClaudeModelMetadata[]>;
197
236
  /**
198
237
  * Proactively fetch supported commands from the SDK.
@@ -227,6 +266,12 @@ export declare class SdkProcess extends EventEmitter<SdkProcessEvents> {
227
266
  private handleCanUseTool;
228
267
  private waitForPermission;
229
268
  private resolvePendingPermission;
269
+ /**
270
+ * total_cost_usd is a running total for the query() call, while clients
271
+ * show and sum cost per result. Report the spend since the previous result;
272
+ * a smaller total means the CLI reset it (e.g. /clear).
273
+ */
274
+ private withPerTurnCost;
230
275
  private recordCompletedToolUses;
231
276
  /**
232
277
  * A subagent is foreground while the main turn is active and its Agent/Task
@@ -87,6 +87,7 @@ function normalizeClaudeModelMetadata(model) {
87
87
  ...(model.displayName ? { displayName: model.displayName } : {}),
88
88
  ...(description ? { description } : {}),
89
89
  effortLevels: model.supportsEffort === false ? [] : effortLevels,
90
+ ...(model.supportsFastMode === true ? { supportsFastMode: true } : {}),
90
91
  };
91
92
  }
92
93
  async function* createIdleUserMessageStream() {
@@ -284,6 +285,8 @@ export function resolvePermissionMode(current, requested) {
284
285
  return requested ?? current;
285
286
  }
286
287
  const CLAUDE_SYSTEM_INJECTED_USER_TEXT = /^<(?:local-command-caveat|local-command-std(?:err|out)|task-notification|teammate-message|bash-(?:input|stdout))>/;
288
+ /** Assistant content block types that clients know how to render. */
289
+ const CLIENT_ASSISTANT_BLOCK_TYPES = new Set(["text", "tool_use", "thinking"]);
287
290
  /** Marker the CLI records as a user message after an interrupt. */
288
291
  const CLAUDE_INTERRUPT_MARKER_TEXT = /^\[Request interrupted by user(?: for tool use)?\]$/;
289
292
  const UNKNOWN_CLAUDE_ASSISTANT_ERROR = {
@@ -353,6 +356,32 @@ function isInternalClaudeResultError(error) {
353
356
  return (error.startsWith("[ede_diagnostic]") ||
354
357
  error.includes("Bun is not defined"));
355
358
  }
359
+ const CLAUDE_LOCAL_COMMAND_TEXT = /^<local-command-(?:caveat|std(?:err|out))>/;
360
+ /**
361
+ * Local command echoes (e.g. "Set model to …" after setModel) are emitted as
362
+ * user frames outside any turn; they must not mark the session as running.
363
+ */
364
+ function isClaudeLocalCommandFrame(msg) {
365
+ if (msg.type !== "user")
366
+ return false;
367
+ const content = msg.message?.content;
368
+ const texts = [];
369
+ if (typeof content === "string") {
370
+ texts.push(content);
371
+ }
372
+ else if (Array.isArray(content)) {
373
+ for (const block of content) {
374
+ if (!block || typeof block !== "object")
375
+ return false;
376
+ const typed = block;
377
+ if (typed.type !== "text" || typeof typed.text !== "string")
378
+ return false;
379
+ texts.push(typed.text);
380
+ }
381
+ }
382
+ return (texts.length > 0 &&
383
+ texts.every((text) => CLAUDE_LOCAL_COMMAND_TEXT.test(text.trimStart())));
384
+ }
356
385
  function isClaudeSystemInjectedUserText(text) {
357
386
  const normalized = text.trimStart();
358
387
  return (CLAUDE_SYSTEM_INJECTED_USER_TEXT.test(normalized) ||
@@ -449,8 +478,14 @@ function convertSdkMessage(msg) {
449
478
  const content = Array.isArray(rawContent)
450
479
  ? rawContent.filter((block) => {
451
480
  if (!block || typeof block !== "object")
452
- return true;
481
+ return false;
453
482
  const candidate = block;
483
+ // Server-side tool blocks (advisor, web search, ...) and redacted
484
+ // thinking have no client rendering; clients show unknown block
485
+ // types as raw placeholders.
486
+ if (!CLIENT_ASSISTANT_BLOCK_TYPES.has(candidate.type)) {
487
+ return false;
488
+ }
454
489
  return !(candidate.type === "thinking" &&
455
490
  typeof candidate.thinking === "string" &&
456
491
  candidate.thinking.trim().length === 0);
@@ -579,6 +614,9 @@ export class SdkProcess extends EventEmitter {
579
614
  get permissionMode() { return this._permissionMode; }
580
615
  _model;
581
616
  get model() { return this._model; }
617
+ _settings = {};
618
+ /** User-selected model/effort/fast mode (not the resolved model id). */
619
+ get settings() { return { ...this._settings }; }
582
620
  authClassification = "unknown";
583
621
  authGeneration = 0;
584
622
  authResolution = Promise.resolve();
@@ -590,6 +628,8 @@ export class SdkProcess extends EventEmitter {
590
628
  userMessageResolve = null;
591
629
  stopped = false;
592
630
  pendingInputQueue = [];
631
+ /** Mid-turn messages waiting for the SDK to pull the next prompt. */
632
+ pendingSteerQueue = [];
593
633
  _projectPath = null;
594
634
  toolCallsSinceLastResult = 0;
595
635
  fileEditsSinceLastResult = 0;
@@ -599,6 +639,8 @@ export class SdkProcess extends EventEmitter {
599
639
  * whose Agent/Task call has returned belong to a background agent.
600
640
  */
601
641
  completedToolUseIds = new Set();
642
+ /** Last cumulative query cost reported by a result (SDK total_cost_usd). */
643
+ lastCumulativeCostUsd = null;
602
644
  launchStartedAt = 0;
603
645
  get status() {
604
646
  return this._status;
@@ -606,6 +648,40 @@ export class SdkProcess extends EventEmitter {
606
648
  get isWaitingForInput() {
607
649
  return this.userMessageResolve !== null;
608
650
  }
651
+ /** True while a turn is in progress and new prompts cannot start a turn. */
652
+ get isTurnActive() {
653
+ return (this._status === "running" ||
654
+ this._status === "compacting" ||
655
+ this._status === "waiting_approval");
656
+ }
657
+ /**
658
+ * Inject input into the running turn without interrupting it (Claude Code
659
+ * `priority: "next"`). When no turn is active the input is sent normally.
660
+ * Returns whether the input was steered into an active turn.
661
+ */
662
+ steerInput(text, images) {
663
+ if (!this.isTurnActive) {
664
+ if (images && images.length > 0)
665
+ this.dispatchInputWithImages(text, images);
666
+ else
667
+ this.dispatchInput(text);
668
+ return false;
669
+ }
670
+ const message = {
671
+ ...this.buildUserMessage(text, images),
672
+ priority: "next",
673
+ };
674
+ const resolve = this.userMessageResolve;
675
+ if (resolve) {
676
+ this.userMessageResolve = null;
677
+ resolve(message);
678
+ }
679
+ else {
680
+ this.pendingSteerQueue.push(message);
681
+ }
682
+ console.log(`[sdk-process] Steered input into running turn${images?.length ? ` with ${images.length} image(s)` : ""}`);
683
+ return true;
684
+ }
609
685
  get sessionId() {
610
686
  return this._sessionId;
611
687
  }
@@ -641,6 +717,7 @@ export class SdkProcess extends EventEmitter {
641
717
  this.fileEditsSinceLastResult = 0;
642
718
  this.pendingAssistantError = null;
643
719
  this.completedToolUseIds.clear();
720
+ this.lastCumulativeCostUsd = null;
644
721
  this.launchStartedAt = Date.now();
645
722
  if (options?.initialInput) {
646
723
  this.pendingInputQueue.push({ text: options.initialInput });
@@ -732,6 +809,19 @@ export class SdkProcess extends EventEmitter {
732
809
  },
733
810
  },
734
811
  });
812
+ this._settings = {
813
+ ...(options?.model ? { model: options.model } : {}),
814
+ ...(options?.effort ? { effort: options.effort } : {}),
815
+ ...(options?.fastMode ? { fastMode: true } : {}),
816
+ };
817
+ if (options?.fastMode) {
818
+ this.queryInstance
819
+ .applyFlagSettings({ fastMode: true })
820
+ .catch((err) => {
821
+ console.warn(`[sdk-process] Failed to enable fast mode: ${err}`);
822
+ this._settings = { ...this._settings, fastMode: false };
823
+ });
824
+ }
735
825
  const queryInstance = this.queryInstance;
736
826
  const authGeneration = this.authGeneration;
737
827
  this.authResolution = this.resolveAuthClassification(queryInstance, authGeneration);
@@ -762,6 +852,7 @@ export class SdkProcess extends EventEmitter {
762
852
  this.authResolution = Promise.resolve();
763
853
  this.authResolutionPending = false;
764
854
  this.pendingInputQueue = [];
855
+ this.pendingSteerQueue = [];
765
856
  if (this.queryInstance) {
766
857
  console.log("[sdk-process] Stopping query");
767
858
  this.queryInstance.close();
@@ -982,6 +1073,39 @@ export class SdkProcess extends EventEmitter {
982
1073
  return { canRewind: false, error: err instanceof Error ? err.message : String(err) };
983
1074
  }
984
1075
  }
1076
+ /**
1077
+ * Change model, effort or fast mode for subsequent responses. Values that
1078
+ * are undefined are left unchanged. Takes effect from the next request; a
1079
+ * running turn keeps its current model.
1080
+ */
1081
+ async updateSettings(next) {
1082
+ const queryInstance = this.queryInstance;
1083
+ if (!queryInstance)
1084
+ throw new Error("No active Claude session.");
1085
+ const modelChanged = next.model !== undefined && next.model !== this._settings.model;
1086
+ if (modelChanged) {
1087
+ await queryInstance.setModel(next.model === "default" ? undefined : next.model);
1088
+ // The model is in effect even if a later flag update fails.
1089
+ this._settings = { ...this._settings, model: next.model };
1090
+ }
1091
+ const flags = {};
1092
+ if (next.effort !== undefined && (modelChanged || next.effort !== this._settings.effort)) {
1093
+ flags.effortLevel = next.effort;
1094
+ }
1095
+ if (next.fastMode !== undefined && next.fastMode !== (this._settings.fastMode ?? false)) {
1096
+ flags.fastMode = next.fastMode;
1097
+ }
1098
+ if (Object.keys(flags).length > 0) {
1099
+ await queryInstance.applyFlagSettings(flags);
1100
+ }
1101
+ this._settings = {
1102
+ ...this._settings,
1103
+ ...(next.model !== undefined ? { model: next.model } : {}),
1104
+ ...(next.effort !== undefined ? { effort: next.effort } : {}),
1105
+ ...(next.fastMode !== undefined ? { fastMode: next.fastMode } : {}),
1106
+ };
1107
+ return this.settings;
1108
+ }
985
1109
  async listAvailableModels() {
986
1110
  if (!this.queryInstance)
987
1111
  return [];
@@ -1071,6 +1195,20 @@ export class SdkProcess extends EventEmitter {
1071
1195
  const turnInProgress = this._status === "running" ||
1072
1196
  this._status === "compacting" ||
1073
1197
  this._status === "waiting_approval";
1198
+ const steered = this.pendingSteerQueue.shift();
1199
+ if (steered) {
1200
+ if (turnInProgress) {
1201
+ yield steered;
1202
+ }
1203
+ else {
1204
+ // The turn ended before the SDK pulled the steer; send it as a
1205
+ // normal prompt so it starts the next turn.
1206
+ const { priority: _priority, ...prompt } = steered;
1207
+ this.setStatus("running");
1208
+ yield prompt;
1209
+ }
1210
+ continue;
1211
+ }
1074
1212
  if (this.pendingInputQueue.length > 0 && !turnInProgress) {
1075
1213
  const { text, images } = this.pendingInputQueue.shift();
1076
1214
  console.log(`[sdk-process] Sending queued input${images ? ` with ${images.length} image(s)` : ""} (remaining: ${this.pendingInputQueue.length})`);
@@ -1188,6 +1326,7 @@ export class SdkProcess extends EventEmitter {
1188
1326
  }
1189
1327
  if (this.stopped || authGeneration !== this.authGeneration)
1190
1328
  return;
1329
+ serverMsg = this.withPerTurnCost(serverMsg);
1191
1330
  if (this.authClassification !== "api_key" ||
1192
1331
  this.authResolutionPending) {
1193
1332
  const { cost: _estimatedApiCost, ...withoutCost } = serverMsg;
@@ -1238,7 +1377,11 @@ export class SdkProcess extends EventEmitter {
1238
1377
  if (typeof initModel === "string" && initModel) {
1239
1378
  this._model = initModel;
1240
1379
  }
1241
- this.setStatus("idle");
1380
+ // The CLI emits init at the start of every turn in streaming-input
1381
+ // mode. Only the first one ends startup; later ones arrive after a
1382
+ // user message was sent, so the turn is already running.
1383
+ if (this._status === "starting")
1384
+ this.setStatus("idle");
1242
1385
  }
1243
1386
  // Detect permission mode changes from SDK status messages (SSOT).
1244
1387
  // When the CLI internally transitions (e.g. "Always allow" edits →
@@ -1364,6 +1507,24 @@ export class SdkProcess extends EventEmitter {
1364
1507
  this.emitMessage(event);
1365
1508
  }
1366
1509
  }
1510
+ /**
1511
+ * total_cost_usd is a running total for the query() call, while clients
1512
+ * show and sum cost per result. Report the spend since the previous result;
1513
+ * a smaller total means the CLI reset it (e.g. /clear).
1514
+ */
1515
+ withPerTurnCost(msg) {
1516
+ if (typeof msg.cost !== "number")
1517
+ return msg;
1518
+ const cumulative = msg.cost;
1519
+ if (!Number.isFinite(cumulative) || cumulative <= 0)
1520
+ return msg;
1521
+ const previous = this.lastCumulativeCostUsd;
1522
+ this.lastCumulativeCostUsd = cumulative;
1523
+ const perTurn = previous !== null && cumulative >= previous
1524
+ ? cumulative - previous
1525
+ : cumulative;
1526
+ return { ...msg, cost: Math.round(perTurn * 1e6) / 1e6 };
1527
+ }
1367
1528
  recordCompletedToolUses(msg) {
1368
1529
  if (msg.type !== "user")
1369
1530
  return;
@@ -1415,6 +1576,8 @@ export class SdkProcess extends EventEmitter {
1415
1576
  }
1416
1577
  break;
1417
1578
  case "user":
1579
+ if (isClaudeLocalCommandFrame(msg))
1580
+ break;
1418
1581
  if (this.pendingPermissions.size === 0) {
1419
1582
  this.setStatus("running");
1420
1583
  }
@@ -1423,6 +1586,9 @@ export class SdkProcess extends EventEmitter {
1423
1586
  this.pendingPermissions.clear();
1424
1587
  this.setStatus("idle");
1425
1588
  this.deliverQueuedInputIfWaiting();
1589
+ if (!this.stopped && this.queryInstance && !this.isTurnActive) {
1590
+ this.emit("input_ready");
1591
+ }
1426
1592
  break;
1427
1593
  }
1428
1594
  }