@karlorz/codexhost-cli-win32-x64 0.13.3-4 → 0.13.3-6

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.
@@ -15318,6 +15318,36 @@ var hostInteractionIdSchema = opaqueIdSchema.brand();
15318
15318
  var threadPrewarmDiscardParamsSchema = external_exports.object({ threadId: hostThreadIdSchema });
15319
15319
  var threadPrewarmDiscardResultSchema = external_exports.object({ discarded: external_exports.boolean() });
15320
15320
 
15321
+ // ../../shared-contracts/dist/realtime-call.js
15322
+ var REALTIME_CALL_FORWARDED_HEADERS = [
15323
+ "openai-alpha",
15324
+ "thread-id",
15325
+ "session-id",
15326
+ "originator",
15327
+ "x-codex-turn-metadata"
15328
+ ];
15329
+ var FORWARDED_HEADERS = new Set(REALTIME_CALL_FORWARDED_HEADERS);
15330
+ var REALTIME_CALL_ID_PATTERN = /^rtc_[A-Za-z0-9_-]{1,128}$/u;
15331
+ var requestId = external_exports.string().min(1).max(128);
15332
+ var realtimeCallParamsSchema = external_exports.discriminatedUnion("operation", [
15333
+ external_exports.object({
15334
+ operation: external_exports.literal("create"),
15335
+ requestId,
15336
+ body: external_exports.string().min(1).max(16 << 20),
15337
+ headers: external_exports.record(external_exports.string(), external_exports.string()).default({})
15338
+ }),
15339
+ external_exports.object({ operation: external_exports.literal("cancel"), requestId }),
15340
+ external_exports.object({
15341
+ operation: external_exports.literal("hangup"),
15342
+ callId: external_exports.string().regex(REALTIME_CALL_ID_PATTERN)
15343
+ })
15344
+ ]);
15345
+ var realtimeCallResponseSchema = external_exports.object({
15346
+ status: external_exports.number().int().min(200).max(599),
15347
+ body: external_exports.string(),
15348
+ headers: external_exports.record(external_exports.string(), external_exports.string())
15349
+ });
15350
+
15321
15351
  // ../../shared-contracts/dist/console.js
15322
15352
  var consoleAnnouncementSchema = external_exports.strictObject({
15323
15353
  title: external_exports.string().trim().min(1).max(200),
@@ -15330,6 +15360,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
15330
15360
  url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
15331
15361
  });
15332
15362
  var CONSOLE_HOST_METHODS = Object.freeze([
15363
+ "codexhost/voice/gateway-status",
15333
15364
  "codexhost/console/remote-connections",
15334
15365
  "codexhost/runtime/status",
15335
15366
  "codexhost/remote/ssh-setup",
@@ -16439,6 +16470,52 @@ var remoteConnectionsReplySchema = external_exports.union([
16439
16470
  external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
16440
16471
  ]);
16441
16472
 
16473
+ // ../../shared-contracts/dist/voice-settings.js
16474
+ var voiceRoutesSchema = external_exports.strictObject({
16475
+ chatExperience: external_exports.enum(["chatgpt", "codex"]),
16476
+ chatConnection: external_exports.enum(["desktop", "gateway"]),
16477
+ workConnection: external_exports.enum(["desktop", "gateway"])
16478
+ });
16479
+ var DEFAULT_VOICE_ROUTES = Object.freeze({
16480
+ chatExperience: "chatgpt",
16481
+ chatConnection: "desktop",
16482
+ workConnection: "gateway"
16483
+ });
16484
+ var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
16485
+ var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
16486
+ external_exports.strictObject({
16487
+ operation: external_exports.literal("get"),
16488
+ runtime: external_exports.strictObject({
16489
+ id: external_exports.string().uuid(),
16490
+ revision: external_exports.string().max(64),
16491
+ activeCall: external_exports.boolean()
16492
+ }).optional()
16493
+ }),
16494
+ external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
16495
+ external_exports.strictObject({
16496
+ operation: external_exports.literal("set"),
16497
+ settings: voiceSettingsSchema,
16498
+ revision: external_exports.string().max(64)
16499
+ }),
16500
+ external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
16501
+ ]);
16502
+ var voiceSettingsStateSchema = external_exports.strictObject({
16503
+ settings: voiceSettingsSchema,
16504
+ initialized: external_exports.boolean(),
16505
+ revision: external_exports.string(),
16506
+ activeInject: external_exports.boolean().nullable(),
16507
+ envOverride: external_exports.enum(["0", "1"]).nullable(),
16508
+ activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
16509
+ routesActive: external_exports.boolean().nullable(),
16510
+ activeCall: external_exports.boolean().nullable(),
16511
+ gatewayReady: external_exports.boolean().nullable(),
16512
+ restartAvailable: external_exports.boolean(),
16513
+ restart: external_exports.strictObject({
16514
+ phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
16515
+ error: external_exports.string().nullable()
16516
+ })
16517
+ });
16518
+
16442
16519
  // ../../shared-contracts/dist/index.js
16443
16520
  var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
16444
16521
 
@@ -18001,8 +18078,8 @@ function piUsageRecord(message3, extra = {}) {
18001
18078
  const usage = isRecord4(message3.usage) ? message3.usage : null;
18002
18079
  const input = nonNegativeSafeInteger(usage?.input);
18003
18080
  const output = nonNegativeSafeInteger(usage?.output);
18004
- const requestId = typeof message3.responseId === "string" && message3.responseId.length > 0 ? message3.responseId : typeof message3.timestamp === "number" && Number.isSafeInteger(message3.timestamp) ? `t${message3.timestamp}` : null;
18005
- if (!usage || input === null || output === null || requestId === null) {
18081
+ const requestId2 = typeof message3.responseId === "string" && message3.responseId.length > 0 ? message3.responseId : typeof message3.timestamp === "number" && Number.isSafeInteger(message3.timestamp) ? `t${message3.timestamp}` : null;
18082
+ if (!usage || input === null || output === null || requestId2 === null) {
18006
18083
  return { kind: "missing" };
18007
18084
  }
18008
18085
  const cacheRead = nonNegativeSafeInteger(usage.cacheRead);
@@ -18013,7 +18090,7 @@ function piUsageRecord(message3, extra = {}) {
18013
18090
  return {
18014
18091
  kind: "request",
18015
18092
  request: parseHostUsageRequest({
18016
- requestId,
18093
+ requestId: requestId2,
18017
18094
  ...extra.historical ? { historical: true } : {},
18018
18095
  // Pi's provider is a user-configurable name, not a standard provider ID.
18019
18096
  ...typeof message3.model === "string" && message3.model.length > 0 ? { model: message3.model } : {},
@@ -19735,26 +19812,26 @@ var PiSubagentRpc = class {
19735
19812
  if (!Array.isArray(data?.commands) || !data.commands.some((command) => command?.name === "subagents-inspect-rpc" && command.source === "extension")) {
19736
19813
  throw new Error("Installed Pi has no pi-subagents Host inspection command");
19737
19814
  }
19738
- const requestId = randomUUID4();
19815
+ const requestId2 = randomUUID4();
19739
19816
  const reply = new Promise((resolve, reject) => {
19740
19817
  const timer = setTimeout(() => {
19741
- this.#pending.delete(requestId);
19818
+ this.#pending.delete(requestId2);
19742
19819
  reject(new Error("Pi subagent inspection timed out"));
19743
19820
  }, this.timeoutMs);
19744
- this.#pending.set(requestId, { resolve, reject, timer });
19821
+ this.#pending.set(requestId2, { resolve, reject, timer });
19745
19822
  });
19746
19823
  try {
19747
- const message3 = `/subagents-inspect-rpc ${requestId} ${address.runId}${address.childId ? ` ${address.childId}` : ""} --lines 200`;
19824
+ const message3 = `/subagents-inspect-rpc ${requestId2} ${address.runId}${address.childId ? ` ${address.childId}` : ""} --lines 200`;
19748
19825
  const [, result] = await Promise.all([this.send("prompt", { message: message3 }), reply]);
19749
19826
  if (!result.error && (result.asyncId !== address.runId && result.asyncId !== address.childId || result.childId !== address.childId)) {
19750
19827
  throw new Error("Pi subagent inspection identity does not match the request");
19751
19828
  }
19752
19829
  return result;
19753
19830
  } finally {
19754
- const pending = this.#pending.get(requestId);
19831
+ const pending = this.#pending.get(requestId2);
19755
19832
  if (pending) {
19756
19833
  clearTimeout(pending.timer);
19757
- this.#pending.delete(requestId);
19834
+ this.#pending.delete(requestId2);
19758
19835
  }
19759
19836
  }
19760
19837
  }
@@ -20613,11 +20690,11 @@ var PiRpcSession = class {
20613
20690
  #startInteraction(active, value) {
20614
20691
  if (!this.#isBlockingInteraction(value))
20615
20692
  return;
20616
- const requestId = value.id;
20693
+ const requestId2 = value.id;
20617
20694
  const method = value.method;
20618
20695
  const title = value.title;
20619
20696
  const timeoutMs = value.timeout;
20620
- if (typeof requestId !== "string" || requestId.length === 0 || typeof method !== "string" || typeof title !== "string" || title.length === 0 || timeoutMs !== void 0 && (typeof timeoutMs !== "number" || !Number.isFinite(timeoutMs) || timeoutMs < 0) || active.interactions.has(requestId)) {
20697
+ if (typeof requestId2 !== "string" || requestId2.length === 0 || typeof method !== "string" || typeof title !== "string" || title.length === 0 || timeoutMs !== void 0 && (typeof timeoutMs !== "number" || !Number.isFinite(timeoutMs) || timeoutMs < 0) || active.interactions.has(requestId2)) {
20621
20698
  throw new PiRpcFaultError("protocolError", "Pi RPC returned an invalid Interaction request");
20622
20699
  }
20623
20700
  let request;
@@ -20626,7 +20703,7 @@ var PiRpcSession = class {
20626
20703
  throw new PiRpcFaultError("protocolError", "Pi RPC select request has invalid options");
20627
20704
  }
20628
20705
  request = {
20629
- requestId,
20706
+ requestId: requestId2,
20630
20707
  method,
20631
20708
  title,
20632
20709
  options: [...value.options],
@@ -20637,7 +20714,7 @@ var PiRpcSession = class {
20637
20714
  throw new PiRpcFaultError("protocolError", "Pi RPC confirm request has no message");
20638
20715
  }
20639
20716
  request = {
20640
- requestId,
20717
+ requestId: requestId2,
20641
20718
  method,
20642
20719
  title,
20643
20720
  message: value.message,
@@ -20648,7 +20725,7 @@ var PiRpcSession = class {
20648
20725
  throw new PiRpcFaultError("protocolError", "Pi RPC input placeholder is invalid");
20649
20726
  }
20650
20727
  request = {
20651
- requestId,
20728
+ requestId: requestId2,
20652
20729
  method,
20653
20730
  title,
20654
20731
  ...typeof value.placeholder === "string" ? { placeholder: value.placeholder } : {},
@@ -20659,7 +20736,7 @@ var PiRpcSession = class {
20659
20736
  throw new PiRpcFaultError("protocolError", "Pi RPC editor prefill is invalid");
20660
20737
  }
20661
20738
  request = {
20662
- requestId,
20739
+ requestId: requestId2,
20663
20740
  method: "editor",
20664
20741
  title,
20665
20742
  ...typeof value.prefill === "string" ? { prefill: value.prefill } : {},
@@ -20669,16 +20746,16 @@ var PiRpcSession = class {
20669
20746
  const pending = { request, timeout: null };
20670
20747
  if (request.timeoutMs !== void 0) {
20671
20748
  pending.timeout = setTimeout(() => {
20672
- if (this.#activeTurn !== active || !active.interactions.has(requestId))
20749
+ if (this.#activeTurn !== active || !active.interactions.has(requestId2))
20673
20750
  return;
20674
- void this.#resolveInteraction({ requestId, cancelled: true }, "expired").catch((error51) => {
20751
+ void this.#resolveInteraction({ requestId: requestId2, cancelled: true }, "expired").catch((error51) => {
20675
20752
  if (this.#closed || this.#failed)
20676
20753
  return;
20677
20754
  this.#fail(new PiRpcFaultError("protocolError", `Pi RPC Interaction timeout handling failed: ${message2(error51)}`));
20678
20755
  });
20679
20756
  }, request.timeoutMs);
20680
20757
  }
20681
- active.interactions.set(requestId, pending);
20758
+ active.interactions.set(requestId2, pending);
20682
20759
  active.onEvent({ type: "interaction.requested", request });
20683
20760
  }
20684
20761
  #handleResponse(value) {
@@ -20932,13 +21009,13 @@ var PiRpcSession = class {
20932
21009
  this.#options.onFault?.(finalFault);
20933
21010
  }
20934
21011
  #closeInteractions(active, reason) {
20935
- for (const [requestId, pending] of active.interactions) {
20936
- active.interactions.delete(requestId);
21012
+ for (const [requestId2, pending] of active.interactions) {
21013
+ active.interactions.delete(requestId2);
20937
21014
  if (pending.timeout)
20938
21015
  clearTimeout(pending.timeout);
20939
21016
  active.onEvent({
20940
21017
  type: "interaction.closed",
20941
- requestId,
21018
+ requestId: requestId2,
20942
21019
  reason
20943
21020
  });
20944
21021
  }
@@ -27767,6 +27767,36 @@ var hostInteractionIdSchema = opaqueIdSchema.brand();
27767
27767
  var threadPrewarmDiscardParamsSchema = external_exports.object({ threadId: hostThreadIdSchema });
27768
27768
  var threadPrewarmDiscardResultSchema = external_exports.object({ discarded: external_exports.boolean() });
27769
27769
 
27770
+ // ../../shared-contracts/dist/realtime-call.js
27771
+ var REALTIME_CALL_FORWARDED_HEADERS = [
27772
+ "openai-alpha",
27773
+ "thread-id",
27774
+ "session-id",
27775
+ "originator",
27776
+ "x-codex-turn-metadata"
27777
+ ];
27778
+ var FORWARDED_HEADERS = new Set(REALTIME_CALL_FORWARDED_HEADERS);
27779
+ var REALTIME_CALL_ID_PATTERN = /^rtc_[A-Za-z0-9_-]{1,128}$/u;
27780
+ var requestId = external_exports.string().min(1).max(128);
27781
+ var realtimeCallParamsSchema = external_exports.discriminatedUnion("operation", [
27782
+ external_exports.object({
27783
+ operation: external_exports.literal("create"),
27784
+ requestId,
27785
+ body: external_exports.string().min(1).max(16 << 20),
27786
+ headers: external_exports.record(external_exports.string(), external_exports.string()).default({})
27787
+ }),
27788
+ external_exports.object({ operation: external_exports.literal("cancel"), requestId }),
27789
+ external_exports.object({
27790
+ operation: external_exports.literal("hangup"),
27791
+ callId: external_exports.string().regex(REALTIME_CALL_ID_PATTERN)
27792
+ })
27793
+ ]);
27794
+ var realtimeCallResponseSchema = external_exports.object({
27795
+ status: external_exports.number().int().min(200).max(599),
27796
+ body: external_exports.string(),
27797
+ headers: external_exports.record(external_exports.string(), external_exports.string())
27798
+ });
27799
+
27770
27800
  // ../../shared-contracts/dist/console.js
27771
27801
  var consoleAnnouncementSchema = external_exports.strictObject({
27772
27802
  title: external_exports.string().trim().min(1).max(200),
@@ -27779,6 +27809,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
27779
27809
  url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
27780
27810
  });
27781
27811
  var CONSOLE_HOST_METHODS = Object.freeze([
27812
+ "codexhost/voice/gateway-status",
27782
27813
  "codexhost/console/remote-connections",
27783
27814
  "codexhost/runtime/status",
27784
27815
  "codexhost/remote/ssh-setup",
@@ -28888,6 +28919,52 @@ var remoteConnectionsReplySchema = external_exports.union([
28888
28919
  external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
28889
28920
  ]);
28890
28921
 
28922
+ // ../../shared-contracts/dist/voice-settings.js
28923
+ var voiceRoutesSchema = external_exports.strictObject({
28924
+ chatExperience: external_exports.enum(["chatgpt", "codex"]),
28925
+ chatConnection: external_exports.enum(["desktop", "gateway"]),
28926
+ workConnection: external_exports.enum(["desktop", "gateway"])
28927
+ });
28928
+ var DEFAULT_VOICE_ROUTES = Object.freeze({
28929
+ chatExperience: "chatgpt",
28930
+ chatConnection: "desktop",
28931
+ workConnection: "gateway"
28932
+ });
28933
+ var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
28934
+ var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
28935
+ external_exports.strictObject({
28936
+ operation: external_exports.literal("get"),
28937
+ runtime: external_exports.strictObject({
28938
+ id: external_exports.string().uuid(),
28939
+ revision: external_exports.string().max(64),
28940
+ activeCall: external_exports.boolean()
28941
+ }).optional()
28942
+ }),
28943
+ external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
28944
+ external_exports.strictObject({
28945
+ operation: external_exports.literal("set"),
28946
+ settings: voiceSettingsSchema,
28947
+ revision: external_exports.string().max(64)
28948
+ }),
28949
+ external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
28950
+ ]);
28951
+ var voiceSettingsStateSchema = external_exports.strictObject({
28952
+ settings: voiceSettingsSchema,
28953
+ initialized: external_exports.boolean(),
28954
+ revision: external_exports.string(),
28955
+ activeInject: external_exports.boolean().nullable(),
28956
+ envOverride: external_exports.enum(["0", "1"]).nullable(),
28957
+ activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
28958
+ routesActive: external_exports.boolean().nullable(),
28959
+ activeCall: external_exports.boolean().nullable(),
28960
+ gatewayReady: external_exports.boolean().nullable(),
28961
+ restartAvailable: external_exports.boolean(),
28962
+ restart: external_exports.strictObject({
28963
+ phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
28964
+ error: external_exports.string().nullable()
28965
+ })
28966
+ });
28967
+
28891
28968
  // ../../shared-contracts/dist/index.js
28892
28969
  var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
28893
28970
 
@@ -37211,10 +37288,10 @@ var Protocol = class {
37211
37288
  while (queuedMessage = await this._taskMessageQueue.dequeue(taskId, extra.sessionId)) {
37212
37289
  if (queuedMessage.type === "response" || queuedMessage.type === "error") {
37213
37290
  const message = queuedMessage.message;
37214
- const requestId = message.id;
37215
- const resolver = this._requestResolvers.get(requestId);
37291
+ const requestId2 = message.id;
37292
+ const resolver = this._requestResolvers.get(requestId2);
37216
37293
  if (resolver) {
37217
- this._requestResolvers.delete(requestId);
37294
+ this._requestResolvers.delete(requestId2);
37218
37295
  if (queuedMessage.type === "response") {
37219
37296
  resolver(message);
37220
37297
  } else {
@@ -37224,7 +37301,7 @@ var Protocol = class {
37224
37301
  }
37225
37302
  } else {
37226
37303
  const messageType = queuedMessage.type === "response" ? "Response" : "Error";
37227
- this._onerror(new Error(`${messageType} handler missing for request ${requestId}`));
37304
+ this._onerror(new Error(`${messageType} handler missing for request ${requestId2}`));
37228
37305
  }
37229
37306
  continue;
37230
37307
  }
@@ -37993,13 +38070,13 @@ var Protocol = class {
37993
38070
  const messages = await this._taskMessageQueue.dequeueAll(taskId, sessionId);
37994
38071
  for (const message of messages) {
37995
38072
  if (message.type === "request" && isJSONRPCRequest(message.message)) {
37996
- const requestId = message.message.id;
37997
- const resolver = this._requestResolvers.get(requestId);
38073
+ const requestId2 = message.message.id;
38074
+ const resolver = this._requestResolvers.get(requestId2);
37998
38075
  if (resolver) {
37999
38076
  resolver(new McpError(ErrorCode.InternalError, "Task cancelled or completed"));
38000
- this._requestResolvers.delete(requestId);
38077
+ this._requestResolvers.delete(requestId2);
38001
38078
  } else {
38002
- this._onerror(new Error(`Resolver missing for request ${requestId} during task ${taskId} cleanup`));
38079
+ this._onerror(new Error(`Resolver missing for request ${requestId2} during task ${taskId} cleanup`));
38003
38080
  }
38004
38081
  }
38005
38082
  }
@@ -27364,6 +27364,36 @@ var hostInteractionIdSchema = opaqueIdSchema.brand();
27364
27364
  var threadPrewarmDiscardParamsSchema = external_exports.object({ threadId: hostThreadIdSchema });
27365
27365
  var threadPrewarmDiscardResultSchema = external_exports.object({ discarded: external_exports.boolean() });
27366
27366
 
27367
+ // ../../shared-contracts/dist/realtime-call.js
27368
+ var REALTIME_CALL_FORWARDED_HEADERS = [
27369
+ "openai-alpha",
27370
+ "thread-id",
27371
+ "session-id",
27372
+ "originator",
27373
+ "x-codex-turn-metadata"
27374
+ ];
27375
+ var FORWARDED_HEADERS = new Set(REALTIME_CALL_FORWARDED_HEADERS);
27376
+ var REALTIME_CALL_ID_PATTERN = /^rtc_[A-Za-z0-9_-]{1,128}$/u;
27377
+ var requestId = external_exports.string().min(1).max(128);
27378
+ var realtimeCallParamsSchema = external_exports.discriminatedUnion("operation", [
27379
+ external_exports.object({
27380
+ operation: external_exports.literal("create"),
27381
+ requestId,
27382
+ body: external_exports.string().min(1).max(16 << 20),
27383
+ headers: external_exports.record(external_exports.string(), external_exports.string()).default({})
27384
+ }),
27385
+ external_exports.object({ operation: external_exports.literal("cancel"), requestId }),
27386
+ external_exports.object({
27387
+ operation: external_exports.literal("hangup"),
27388
+ callId: external_exports.string().regex(REALTIME_CALL_ID_PATTERN)
27389
+ })
27390
+ ]);
27391
+ var realtimeCallResponseSchema = external_exports.object({
27392
+ status: external_exports.number().int().min(200).max(599),
27393
+ body: external_exports.string(),
27394
+ headers: external_exports.record(external_exports.string(), external_exports.string())
27395
+ });
27396
+
27367
27397
  // ../../shared-contracts/dist/console.js
27368
27398
  var consoleAnnouncementSchema = external_exports.strictObject({
27369
27399
  title: external_exports.string().trim().min(1).max(200),
@@ -27376,6 +27406,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
27376
27406
  url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
27377
27407
  });
27378
27408
  var CONSOLE_HOST_METHODS = Object.freeze([
27409
+ "codexhost/voice/gateway-status",
27379
27410
  "codexhost/console/remote-connections",
27380
27411
  "codexhost/runtime/status",
27381
27412
  "codexhost/remote/ssh-setup",
@@ -28485,6 +28516,52 @@ var remoteConnectionsReplySchema = external_exports.union([
28485
28516
  external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
28486
28517
  ]);
28487
28518
 
28519
+ // ../../shared-contracts/dist/voice-settings.js
28520
+ var voiceRoutesSchema = external_exports.strictObject({
28521
+ chatExperience: external_exports.enum(["chatgpt", "codex"]),
28522
+ chatConnection: external_exports.enum(["desktop", "gateway"]),
28523
+ workConnection: external_exports.enum(["desktop", "gateway"])
28524
+ });
28525
+ var DEFAULT_VOICE_ROUTES = Object.freeze({
28526
+ chatExperience: "chatgpt",
28527
+ chatConnection: "desktop",
28528
+ workConnection: "gateway"
28529
+ });
28530
+ var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
28531
+ var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
28532
+ external_exports.strictObject({
28533
+ operation: external_exports.literal("get"),
28534
+ runtime: external_exports.strictObject({
28535
+ id: external_exports.string().uuid(),
28536
+ revision: external_exports.string().max(64),
28537
+ activeCall: external_exports.boolean()
28538
+ }).optional()
28539
+ }),
28540
+ external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
28541
+ external_exports.strictObject({
28542
+ operation: external_exports.literal("set"),
28543
+ settings: voiceSettingsSchema,
28544
+ revision: external_exports.string().max(64)
28545
+ }),
28546
+ external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
28547
+ ]);
28548
+ var voiceSettingsStateSchema = external_exports.strictObject({
28549
+ settings: voiceSettingsSchema,
28550
+ initialized: external_exports.boolean(),
28551
+ revision: external_exports.string(),
28552
+ activeInject: external_exports.boolean().nullable(),
28553
+ envOverride: external_exports.enum(["0", "1"]).nullable(),
28554
+ activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
28555
+ routesActive: external_exports.boolean().nullable(),
28556
+ activeCall: external_exports.boolean().nullable(),
28557
+ gatewayReady: external_exports.boolean().nullable(),
28558
+ restartAvailable: external_exports.boolean(),
28559
+ restart: external_exports.strictObject({
28560
+ phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
28561
+ error: external_exports.string().nullable()
28562
+ })
28563
+ });
28564
+
28488
28565
  // ../../shared-contracts/dist/index.js
28489
28566
  var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
28490
28567
 
@@ -37213,10 +37290,10 @@ var Protocol = class {
37213
37290
  while (queuedMessage = await this._taskMessageQueue.dequeue(taskId, extra.sessionId)) {
37214
37291
  if (queuedMessage.type === "response" || queuedMessage.type === "error") {
37215
37292
  const message = queuedMessage.message;
37216
- const requestId = message.id;
37217
- const resolver = this._requestResolvers.get(requestId);
37293
+ const requestId2 = message.id;
37294
+ const resolver = this._requestResolvers.get(requestId2);
37218
37295
  if (resolver) {
37219
- this._requestResolvers.delete(requestId);
37296
+ this._requestResolvers.delete(requestId2);
37220
37297
  if (queuedMessage.type === "response") {
37221
37298
  resolver(message);
37222
37299
  } else {
@@ -37226,7 +37303,7 @@ var Protocol = class {
37226
37303
  }
37227
37304
  } else {
37228
37305
  const messageType = queuedMessage.type === "response" ? "Response" : "Error";
37229
- this._onerror(new Error(`${messageType} handler missing for request ${requestId}`));
37306
+ this._onerror(new Error(`${messageType} handler missing for request ${requestId2}`));
37230
37307
  }
37231
37308
  continue;
37232
37309
  }
@@ -37995,13 +38072,13 @@ var Protocol = class {
37995
38072
  const messages = await this._taskMessageQueue.dequeueAll(taskId, sessionId);
37996
38073
  for (const message of messages) {
37997
38074
  if (message.type === "request" && isJSONRPCRequest(message.message)) {
37998
- const requestId = message.message.id;
37999
- const resolver = this._requestResolvers.get(requestId);
38075
+ const requestId2 = message.message.id;
38076
+ const resolver = this._requestResolvers.get(requestId2);
38000
38077
  if (resolver) {
38001
38078
  resolver(new McpError(ErrorCode.InternalError, "Task cancelled or completed"));
38002
- this._requestResolvers.delete(requestId);
38079
+ this._requestResolvers.delete(requestId2);
38003
38080
  } else {
38004
- this._onerror(new Error(`Resolver missing for request ${requestId} during task ${taskId} cleanup`));
38081
+ this._onerror(new Error(`Resolver missing for request ${requestId2} during task ${taskId} cleanup`));
38005
38082
  }
38006
38083
  }
38007
38084
  }