@karlorz/codexhost-cli-win32-x64 0.13.3-5 → 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.
@@ -14823,6 +14823,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
14823
14823
  url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
14824
14824
  });
14825
14825
  var CONSOLE_HOST_METHODS = Object.freeze([
14826
+ "codexhost/voice/gateway-status",
14826
14827
  "codexhost/console/remote-connections",
14827
14828
  "codexhost/runtime/status",
14828
14829
  "codexhost/remote/ssh-setup",
@@ -15932,6 +15933,52 @@ var remoteConnectionsReplySchema = external_exports.union([
15932
15933
  external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
15933
15934
  ]);
15934
15935
 
15936
+ // ../../shared-contracts/dist/voice-settings.js
15937
+ var voiceRoutesSchema = external_exports.strictObject({
15938
+ chatExperience: external_exports.enum(["chatgpt", "codex"]),
15939
+ chatConnection: external_exports.enum(["desktop", "gateway"]),
15940
+ workConnection: external_exports.enum(["desktop", "gateway"])
15941
+ });
15942
+ var DEFAULT_VOICE_ROUTES = Object.freeze({
15943
+ chatExperience: "chatgpt",
15944
+ chatConnection: "desktop",
15945
+ workConnection: "gateway"
15946
+ });
15947
+ var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
15948
+ var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
15949
+ external_exports.strictObject({
15950
+ operation: external_exports.literal("get"),
15951
+ runtime: external_exports.strictObject({
15952
+ id: external_exports.string().uuid(),
15953
+ revision: external_exports.string().max(64),
15954
+ activeCall: external_exports.boolean()
15955
+ }).optional()
15956
+ }),
15957
+ external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
15958
+ external_exports.strictObject({
15959
+ operation: external_exports.literal("set"),
15960
+ settings: voiceSettingsSchema,
15961
+ revision: external_exports.string().max(64)
15962
+ }),
15963
+ external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
15964
+ ]);
15965
+ var voiceSettingsStateSchema = external_exports.strictObject({
15966
+ settings: voiceSettingsSchema,
15967
+ initialized: external_exports.boolean(),
15968
+ revision: external_exports.string(),
15969
+ activeInject: external_exports.boolean().nullable(),
15970
+ envOverride: external_exports.enum(["0", "1"]).nullable(),
15971
+ activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
15972
+ routesActive: external_exports.boolean().nullable(),
15973
+ activeCall: external_exports.boolean().nullable(),
15974
+ gatewayReady: external_exports.boolean().nullable(),
15975
+ restartAvailable: external_exports.boolean(),
15976
+ restart: external_exports.strictObject({
15977
+ phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
15978
+ error: external_exports.string().nullable()
15979
+ })
15980
+ });
15981
+
15935
15982
  // ../../shared-contracts/dist/index.js
15936
15983
  var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
15937
15984
 
@@ -53901,7 +53948,19 @@ function resolveHarnessExecutable(spec, input, dependencies = {}) {
53901
53948
 
53902
53949
  // ../../harness-discovery/dist/installation.js
53903
53950
  import { execFile as execFile2 } from "node:child_process";
53951
+ import { open as open3 } from "node:fs/promises";
53904
53952
  import { homedir } from "node:os";
53953
+ async function readLauncherScript(command) {
53954
+ const file2 = await open3(command, "r");
53955
+ try {
53956
+ const buffer = Buffer.alloc(4096);
53957
+ const { bytesRead } = await file2.read(buffer, 0, buffer.length, 0);
53958
+ const prefix = buffer.toString("utf8", 0, bytesRead);
53959
+ return prefix.startsWith("#!") || /\.(cmd|bat|ps1)$/i.test(command) ? prefix : "";
53960
+ } finally {
53961
+ await file2.close();
53962
+ }
53963
+ }
53905
53964
  function runInstallationCommand(command, args, environment, timeout = 3e4) {
53906
53965
  const env = withNodeRuntimeOnPath(environment);
53907
53966
  const invocation = /\.[cm]?js$/i.test(command) ? commandInvocation(process.execPath, [command, ...args], env) : commandInvocation(command, args, env);
@@ -54193,7 +54252,7 @@ function resolveClaudeCodeExecutable(input = {}, dependencies = {}) {
54193
54252
 
54194
54253
  // dist/pending-session.js
54195
54254
  import { randomUUID as randomUUID3 } from "node:crypto";
54196
- import { mkdir as mkdir3, open as open3, readFile as readFile4, rename as rename3, rm as rm4, stat as stat3, unlink as unlink2 } from "node:fs/promises";
54255
+ import { mkdir as mkdir3, open as open4, readFile as readFile4, rename as rename3, rm as rm4, stat as stat3, unlink as unlink2 } from "node:fs/promises";
54197
54256
  import os5 from "node:os";
54198
54257
  import path10 from "node:path";
54199
54258
  var reservationSchema = external_exports.strictObject({
@@ -54233,7 +54292,7 @@ var ClaudePendingSessions = class {
54233
54292
  await mkdir3(this.#directory, { recursive: true, mode: 448 });
54234
54293
  await mkdir3(directory, { mode: 448 });
54235
54294
  try {
54236
- const file2 = await open3(path10.join(directory, "session.json"), "wx", 384);
54295
+ const file2 = await open4(path10.join(directory, "session.json"), "wx", 384);
54237
54296
  try {
54238
54297
  await file2.writeFile(JSON.stringify(reservation));
54239
54298
  await file2.sync();
@@ -54271,7 +54330,7 @@ var ClaudePendingSessions = class {
54271
54330
  const directory = this.#path(ref, cwd);
54272
54331
  const temporary = path10.join(directory, `${randomUUID3()}.tmp`);
54273
54332
  try {
54274
- const file2 = await open3(temporary, "wx", 384);
54333
+ const file2 = await open4(temporary, "wx", 384);
54275
54334
  try {
54276
54335
  await file2.writeFile(JSON.stringify(reservationSchema.parse({
54277
54336
  version: 1,
@@ -54292,7 +54351,7 @@ var ClaudePendingSessions = class {
54292
54351
  async #sync(directory) {
54293
54352
  if (process.platform === "win32")
54294
54353
  return;
54295
- const handle = await open3(directory, "r");
54354
+ const handle = await open4(directory, "r");
54296
54355
  try {
54297
54356
  await handle.sync();
54298
54357
  } finally {
@@ -54301,7 +54360,7 @@ var ClaudePendingSessions = class {
54301
54360
  }
54302
54361
  async claim(ref, cwd) {
54303
54362
  await this.read(ref, cwd);
54304
- const claim = await open3(path10.join(this.#path(ref, cwd), "started"), "wx", 384);
54363
+ const claim = await open4(path10.join(this.#path(ref, cwd), "started"), "wx", 384);
54305
54364
  try {
54306
54365
  await claim.sync();
54307
54366
  } finally {
@@ -54457,6 +54516,12 @@ function subagentRole(argumentsValue) {
54457
54516
  function subagentBackground(argumentsValue) {
54458
54517
  return isRecord7(argumentsValue) && argumentsValue.run_in_background === true;
54459
54518
  }
54519
+ function subagentModel(argumentsValue) {
54520
+ if (!isRecord7(argumentsValue))
54521
+ return void 0;
54522
+ const model2 = boundedString(argumentsValue.model, SUBAGENT_DESCRIPTION_LIMIT);
54523
+ return model2 === "inherit" ? void 0 : model2;
54524
+ }
54460
54525
  function targetedSubagentId(argumentsValue) {
54461
54526
  if (!isRecord7(argumentsValue))
54462
54527
  return void 0;
@@ -54730,6 +54795,10 @@ var ClaudeNativeTurnAccumulator = class {
54730
54795
  const parentTool = parentCallId ? this.#tools.get(parentCallId) : void 0;
54731
54796
  if (parentCallId && parentTool && (message.type === "assistant" || message.type === "user")) {
54732
54797
  if (parentTool.subagent) {
54798
+ const model2 = message.type === "assistant" ? subagentModel(message.message) : void 0;
54799
+ if (model2 && model2 !== "<synthetic>") {
54800
+ events.push({ type: "subagent.updated", callId: parentCallId, status: "running", model: model2 });
54801
+ }
54733
54802
  events.push({ type: "subagent.transcript.changed", callId: parentCallId });
54734
54803
  } else if (parentTool.workflow) {
54735
54804
  events.push({ type: "workflow.activity", callId: parentCallId });
@@ -55099,6 +55168,7 @@ var ClaudeNativeTurnAccumulator = class {
55099
55168
  } else if (subagent) {
55100
55169
  const prompt = subagentPrompt(argumentsResult.data);
55101
55170
  const role = subagentRole(argumentsResult.data);
55171
+ const model2 = block.name === "SendMessage" ? void 0 : subagentModel(argumentsResult.data);
55102
55172
  const agentId = targetedSubagentId(argumentsResult.data);
55103
55173
  events.push({
55104
55174
  type: "subagent.started",
@@ -55107,6 +55177,7 @@ var ClaudeNativeTurnAccumulator = class {
55107
55177
  description: subagentDescription(argumentsResult.data, block.name),
55108
55178
  ...prompt ? { prompt } : {},
55109
55179
  ...role ? { role } : {},
55180
+ ...model2 ? { model: model2 } : {},
55110
55181
  background: block.name === "SendMessage" || subagentBackground(argumentsResult.data),
55111
55182
  ...agentId ? { nativeSubagentId: agentId } : {}
55112
55183
  });
@@ -57707,6 +57778,7 @@ var ClaudeSubagentLifecycle = class {
57707
57778
  ...event.nativeSubagentId ? { nativeSubagentId: event.nativeSubagentId } : {},
57708
57779
  description: event.description,
57709
57780
  ...event.role ? { role: event.role } : {},
57781
+ ...event.model ? { model: event.model } : {},
57710
57782
  background: event.background,
57711
57783
  status: "running"
57712
57784
  };
@@ -57733,6 +57805,7 @@ var ClaudeSubagentLifecycle = class {
57733
57805
  ...event.nativeSubagentId ? { nativeSubagentId: event.nativeSubagentId } : {},
57734
57806
  ...event.description ? { description: event.description } : {},
57735
57807
  ...event.role ? { role: event.role } : {},
57808
+ ...event.model ? { model: event.model } : {},
57736
57809
  ...event.resultSummary ? { resultSummary: event.resultSummary } : {}
57737
57810
  };
57738
57811
  active.item = { ...active.item, subagents: [subagent] };
@@ -58067,7 +58140,7 @@ var ClaudeTaskTracker = class {
58067
58140
  };
58068
58141
 
58069
58142
  // dist/background-command-items.js
58070
- import { open as open4 } from "node:fs/promises";
58143
+ import { open as open5 } from "node:fs/promises";
58071
58144
  import { StringDecoder } from "node:string_decoder";
58072
58145
  var POLL_INTERVAL_MS = 1e3;
58073
58146
  var READ_CHUNK_BYTES = 64 * 1024;
@@ -58150,7 +58223,7 @@ var ClaudeBackgroundCommandItems = class {
58150
58223
  return;
58151
58224
  let handle;
58152
58225
  try {
58153
- handle = await open4(followed.outputFile, "r");
58226
+ handle = await open5(followed.outputFile, "r");
58154
58227
  } catch {
58155
58228
  return;
58156
58229
  }
@@ -61174,6 +61247,24 @@ function createClaudeInstallation(environment, command) {
61174
61247
  environment,
61175
61248
  ...command ? { command } : {}
61176
61249
  });
61250
+ const launcherScript = await readLauncherScript(executable);
61251
+ if (launcherScript.includes("CLAWGOD_CLI=")) {
61252
+ return {
61253
+ currentVersion: versionFromOutput(await runInstallationCommand(executable, ["--version"], {
61254
+ ...environment,
61255
+ DISABLE_AUTOUPDATER: "1"
61256
+ })),
61257
+ latestVersion: "Unknown",
61258
+ latestVersionKind: "unknown",
61259
+ updateAvailable: false,
61260
+ canUpdate: false,
61261
+ messageCode: "original-installer",
61262
+ notice: {
61263
+ en: "Managed by clawgod. Use clawgod's updater or installer to preserve the installed patches. The latest patched version is not checked here.",
61264
+ "zh-CN": "此安装由 clawgod 管理。请使用 clawgod 的更新程序或安装程序保留补丁;此处不检查最新补丁版本。"
61265
+ }
61266
+ };
61267
+ }
61177
61268
  const home = environment.HOME ?? environment.USERPROFILE ?? homedir2();
61178
61269
  const config2 = environment.CLAUDE_CONFIG_DIR ? path17.resolve(home, environment.CLAUDE_CONFIG_DIR) : path17.join(home, ".claude");
61179
61270
  const managedFile = process.platform === "darwin" ? "/Library/Application Support/ClaudeCode/managed-settings.json" : process.platform === "win32" ? path17.join(environment.ProgramFiles ?? "C:\\Program Files", "ClaudeCode", "managed-settings.json") : "/etc/claude-code/managed-settings.json";
@@ -15299,6 +15299,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
15299
15299
  url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
15300
15300
  });
15301
15301
  var CONSOLE_HOST_METHODS = Object.freeze([
15302
+ "codexhost/voice/gateway-status",
15302
15303
  "codexhost/console/remote-connections",
15303
15304
  "codexhost/runtime/status",
15304
15305
  "codexhost/remote/ssh-setup",
@@ -16408,6 +16409,52 @@ var remoteConnectionsReplySchema = external_exports.union([
16408
16409
  external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
16409
16410
  ]);
16410
16411
 
16412
+ // ../../shared-contracts/dist/voice-settings.js
16413
+ var voiceRoutesSchema = external_exports.strictObject({
16414
+ chatExperience: external_exports.enum(["chatgpt", "codex"]),
16415
+ chatConnection: external_exports.enum(["desktop", "gateway"]),
16416
+ workConnection: external_exports.enum(["desktop", "gateway"])
16417
+ });
16418
+ var DEFAULT_VOICE_ROUTES = Object.freeze({
16419
+ chatExperience: "chatgpt",
16420
+ chatConnection: "desktop",
16421
+ workConnection: "gateway"
16422
+ });
16423
+ var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
16424
+ var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
16425
+ external_exports.strictObject({
16426
+ operation: external_exports.literal("get"),
16427
+ runtime: external_exports.strictObject({
16428
+ id: external_exports.string().uuid(),
16429
+ revision: external_exports.string().max(64),
16430
+ activeCall: external_exports.boolean()
16431
+ }).optional()
16432
+ }),
16433
+ external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
16434
+ external_exports.strictObject({
16435
+ operation: external_exports.literal("set"),
16436
+ settings: voiceSettingsSchema,
16437
+ revision: external_exports.string().max(64)
16438
+ }),
16439
+ external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
16440
+ ]);
16441
+ var voiceSettingsStateSchema = external_exports.strictObject({
16442
+ settings: voiceSettingsSchema,
16443
+ initialized: external_exports.boolean(),
16444
+ revision: external_exports.string(),
16445
+ activeInject: external_exports.boolean().nullable(),
16446
+ envOverride: external_exports.enum(["0", "1"]).nullable(),
16447
+ activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
16448
+ routesActive: external_exports.boolean().nullable(),
16449
+ activeCall: external_exports.boolean().nullable(),
16450
+ gatewayReady: external_exports.boolean().nullable(),
16451
+ restartAvailable: external_exports.boolean(),
16452
+ restart: external_exports.strictObject({
16453
+ phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
16454
+ error: external_exports.string().nullable()
16455
+ })
16456
+ });
16457
+
16411
16458
  // ../../shared-contracts/dist/index.js
16412
16459
  var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
16413
16460
 
@@ -14817,6 +14817,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
14817
14817
  url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
14818
14818
  });
14819
14819
  var CONSOLE_HOST_METHODS = Object.freeze([
14820
+ "codexhost/voice/gateway-status",
14820
14821
  "codexhost/console/remote-connections",
14821
14822
  "codexhost/runtime/status",
14822
14823
  "codexhost/remote/ssh-setup",
@@ -15921,6 +15922,52 @@ var remoteConnectionsReplySchema = external_exports.union([
15921
15922
  external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
15922
15923
  ]);
15923
15924
 
15925
+ // ../../shared-contracts/dist/voice-settings.js
15926
+ var voiceRoutesSchema = external_exports.strictObject({
15927
+ chatExperience: external_exports.enum(["chatgpt", "codex"]),
15928
+ chatConnection: external_exports.enum(["desktop", "gateway"]),
15929
+ workConnection: external_exports.enum(["desktop", "gateway"])
15930
+ });
15931
+ var DEFAULT_VOICE_ROUTES = Object.freeze({
15932
+ chatExperience: "chatgpt",
15933
+ chatConnection: "desktop",
15934
+ workConnection: "gateway"
15935
+ });
15936
+ var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
15937
+ var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
15938
+ external_exports.strictObject({
15939
+ operation: external_exports.literal("get"),
15940
+ runtime: external_exports.strictObject({
15941
+ id: external_exports.string().uuid(),
15942
+ revision: external_exports.string().max(64),
15943
+ activeCall: external_exports.boolean()
15944
+ }).optional()
15945
+ }),
15946
+ external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
15947
+ external_exports.strictObject({
15948
+ operation: external_exports.literal("set"),
15949
+ settings: voiceSettingsSchema,
15950
+ revision: external_exports.string().max(64)
15951
+ }),
15952
+ external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
15953
+ ]);
15954
+ var voiceSettingsStateSchema = external_exports.strictObject({
15955
+ settings: voiceSettingsSchema,
15956
+ initialized: external_exports.boolean(),
15957
+ revision: external_exports.string(),
15958
+ activeInject: external_exports.boolean().nullable(),
15959
+ envOverride: external_exports.enum(["0", "1"]).nullable(),
15960
+ activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
15961
+ routesActive: external_exports.boolean().nullable(),
15962
+ activeCall: external_exports.boolean().nullable(),
15963
+ gatewayReady: external_exports.boolean().nullable(),
15964
+ restartAvailable: external_exports.boolean(),
15965
+ restart: external_exports.strictObject({
15966
+ phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
15967
+ error: external_exports.string().nullable()
15968
+ })
15969
+ });
15970
+
15924
15971
  // ../../shared-contracts/dist/index.js
15925
15972
  var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
15926
15973
 
@@ -27878,6 +27878,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
27878
27878
  url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
27879
27879
  });
27880
27880
  var CONSOLE_HOST_METHODS = Object.freeze([
27881
+ "codexhost/voice/gateway-status",
27881
27882
  "codexhost/console/remote-connections",
27882
27883
  "codexhost/runtime/status",
27883
27884
  "codexhost/remote/ssh-setup",
@@ -28987,6 +28988,52 @@ var remoteConnectionsReplySchema = external_exports.union([
28987
28988
  external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
28988
28989
  ]);
28989
28990
 
28991
+ // ../../shared-contracts/dist/voice-settings.js
28992
+ var voiceRoutesSchema = external_exports.strictObject({
28993
+ chatExperience: external_exports.enum(["chatgpt", "codex"]),
28994
+ chatConnection: external_exports.enum(["desktop", "gateway"]),
28995
+ workConnection: external_exports.enum(["desktop", "gateway"])
28996
+ });
28997
+ var DEFAULT_VOICE_ROUTES = Object.freeze({
28998
+ chatExperience: "chatgpt",
28999
+ chatConnection: "desktop",
29000
+ workConnection: "gateway"
29001
+ });
29002
+ var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
29003
+ var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
29004
+ external_exports.strictObject({
29005
+ operation: external_exports.literal("get"),
29006
+ runtime: external_exports.strictObject({
29007
+ id: external_exports.string().uuid(),
29008
+ revision: external_exports.string().max(64),
29009
+ activeCall: external_exports.boolean()
29010
+ }).optional()
29011
+ }),
29012
+ external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
29013
+ external_exports.strictObject({
29014
+ operation: external_exports.literal("set"),
29015
+ settings: voiceSettingsSchema,
29016
+ revision: external_exports.string().max(64)
29017
+ }),
29018
+ external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
29019
+ ]);
29020
+ var voiceSettingsStateSchema = external_exports.strictObject({
29021
+ settings: voiceSettingsSchema,
29022
+ initialized: external_exports.boolean(),
29023
+ revision: external_exports.string(),
29024
+ activeInject: external_exports.boolean().nullable(),
29025
+ envOverride: external_exports.enum(["0", "1"]).nullable(),
29026
+ activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
29027
+ routesActive: external_exports.boolean().nullable(),
29028
+ activeCall: external_exports.boolean().nullable(),
29029
+ gatewayReady: external_exports.boolean().nullable(),
29030
+ restartAvailable: external_exports.boolean(),
29031
+ restart: external_exports.strictObject({
29032
+ phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
29033
+ error: external_exports.string().nullable()
29034
+ })
29035
+ });
29036
+
28990
29037
  // ../../shared-contracts/dist/index.js
28991
29038
  var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
28992
29039
 
@@ -19061,6 +19061,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
19061
19061
  url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
19062
19062
  });
19063
19063
  var CONSOLE_HOST_METHODS = Object.freeze([
19064
+ "codexhost/voice/gateway-status",
19064
19065
  "codexhost/console/remote-connections",
19065
19066
  "codexhost/runtime/status",
19066
19067
  "codexhost/remote/ssh-setup",
@@ -20174,6 +20175,52 @@ var remoteConnectionsReplySchema = external_exports.union([
20174
20175
  external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
20175
20176
  ]);
20176
20177
 
20178
+ // ../../shared-contracts/dist/voice-settings.js
20179
+ var voiceRoutesSchema = external_exports.strictObject({
20180
+ chatExperience: external_exports.enum(["chatgpt", "codex"]),
20181
+ chatConnection: external_exports.enum(["desktop", "gateway"]),
20182
+ workConnection: external_exports.enum(["desktop", "gateway"])
20183
+ });
20184
+ var DEFAULT_VOICE_ROUTES = Object.freeze({
20185
+ chatExperience: "chatgpt",
20186
+ chatConnection: "desktop",
20187
+ workConnection: "gateway"
20188
+ });
20189
+ var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
20190
+ var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
20191
+ external_exports.strictObject({
20192
+ operation: external_exports.literal("get"),
20193
+ runtime: external_exports.strictObject({
20194
+ id: external_exports.string().uuid(),
20195
+ revision: external_exports.string().max(64),
20196
+ activeCall: external_exports.boolean()
20197
+ }).optional()
20198
+ }),
20199
+ external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
20200
+ external_exports.strictObject({
20201
+ operation: external_exports.literal("set"),
20202
+ settings: voiceSettingsSchema,
20203
+ revision: external_exports.string().max(64)
20204
+ }),
20205
+ external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
20206
+ ]);
20207
+ var voiceSettingsStateSchema = external_exports.strictObject({
20208
+ settings: voiceSettingsSchema,
20209
+ initialized: external_exports.boolean(),
20210
+ revision: external_exports.string(),
20211
+ activeInject: external_exports.boolean().nullable(),
20212
+ envOverride: external_exports.enum(["0", "1"]).nullable(),
20213
+ activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
20214
+ routesActive: external_exports.boolean().nullable(),
20215
+ activeCall: external_exports.boolean().nullable(),
20216
+ gatewayReady: external_exports.boolean().nullable(),
20217
+ restartAvailable: external_exports.boolean(),
20218
+ restart: external_exports.strictObject({
20219
+ phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
20220
+ error: external_exports.string().nullable()
20221
+ })
20222
+ });
20223
+
20177
20224
  // ../../shared-contracts/dist/index.js
20178
20225
  var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
20179
20226
 
@@ -246,7 +246,19 @@ function resolveHarnessExecutable(spec, input, dependencies = {}) {
246
246
 
247
247
  // ../../harness-discovery/dist/installation.js
248
248
  import { execFile } from "node:child_process";
249
+ import { open } from "node:fs/promises";
249
250
  import { homedir } from "node:os";
251
+ async function readLauncherScript(command) {
252
+ const file2 = await open(command, "r");
253
+ try {
254
+ const buffer = Buffer.alloc(4096);
255
+ const { bytesRead } = await file2.read(buffer, 0, buffer.length, 0);
256
+ const prefix = buffer.toString("utf8", 0, bytesRead);
257
+ return prefix.startsWith("#!") || /\.(cmd|bat|ps1)$/i.test(command) ? prefix : "";
258
+ } finally {
259
+ await file2.close();
260
+ }
261
+ }
250
262
  function runInstallationCommand(command, args, environment, timeout = 3e4) {
251
263
  const env = withNodeRuntimeOnPath(environment);
252
264
  const invocation = /\.[cm]?js$/i.test(command) ? commandInvocation(process.execPath, [command, ...args], env) : commandInvocation(command, args, env);
@@ -274,6 +286,9 @@ function installationVersion(value) {
274
286
  throw new Error("Harness returned an invalid version");
275
287
  return value.trim().replace(/^v/, "");
276
288
  }
289
+ function versionFromOutput(output) {
290
+ return installationVersion(output.match(/\b\d+(?:\.\d+){1,3}(?:-[\w.-]+)?(?:\+[\w.-]+)?\b/)?.[0]);
291
+ }
277
292
  function createInstallationManager(options) {
278
293
  let checking;
279
294
  let updating;
@@ -15414,6 +15429,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
15414
15429
  url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
15415
15430
  });
15416
15431
  var CONSOLE_HOST_METHODS = Object.freeze([
15432
+ "codexhost/voice/gateway-status",
15417
15433
  "codexhost/console/remote-connections",
15418
15434
  "codexhost/runtime/status",
15419
15435
  "codexhost/remote/ssh-setup",
@@ -16523,6 +16539,52 @@ var remoteConnectionsReplySchema = external_exports.union([
16523
16539
  external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
16524
16540
  ]);
16525
16541
 
16542
+ // ../../shared-contracts/dist/voice-settings.js
16543
+ var voiceRoutesSchema = external_exports.strictObject({
16544
+ chatExperience: external_exports.enum(["chatgpt", "codex"]),
16545
+ chatConnection: external_exports.enum(["desktop", "gateway"]),
16546
+ workConnection: external_exports.enum(["desktop", "gateway"])
16547
+ });
16548
+ var DEFAULT_VOICE_ROUTES = Object.freeze({
16549
+ chatExperience: "chatgpt",
16550
+ chatConnection: "desktop",
16551
+ workConnection: "gateway"
16552
+ });
16553
+ var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
16554
+ var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
16555
+ external_exports.strictObject({
16556
+ operation: external_exports.literal("get"),
16557
+ runtime: external_exports.strictObject({
16558
+ id: external_exports.string().uuid(),
16559
+ revision: external_exports.string().max(64),
16560
+ activeCall: external_exports.boolean()
16561
+ }).optional()
16562
+ }),
16563
+ external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
16564
+ external_exports.strictObject({
16565
+ operation: external_exports.literal("set"),
16566
+ settings: voiceSettingsSchema,
16567
+ revision: external_exports.string().max(64)
16568
+ }),
16569
+ external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
16570
+ ]);
16571
+ var voiceSettingsStateSchema = external_exports.strictObject({
16572
+ settings: voiceSettingsSchema,
16573
+ initialized: external_exports.boolean(),
16574
+ revision: external_exports.string(),
16575
+ activeInject: external_exports.boolean().nullable(),
16576
+ envOverride: external_exports.enum(["0", "1"]).nullable(),
16577
+ activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
16578
+ routesActive: external_exports.boolean().nullable(),
16579
+ activeCall: external_exports.boolean().nullable(),
16580
+ gatewayReady: external_exports.boolean().nullable(),
16581
+ restartAvailable: external_exports.boolean(),
16582
+ restart: external_exports.strictObject({
16583
+ phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
16584
+ error: external_exports.string().nullable()
16585
+ })
16586
+ });
16587
+
16526
16588
  // ../../shared-contracts/dist/index.js
16527
16589
  var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
16528
16590
 
@@ -24006,8 +24068,12 @@ var GrokAcpTransport = class {
24006
24068
  const response = await connection.request("session/set_model", {
24007
24069
  sessionId: this.#sessionId,
24008
24070
  modelId,
24009
- ...reasoningEffort ? { reasoningEffort } : {},
24010
- ...contextWindowTokens !== void 0 ? { _meta: { contextWindow: contextWindowTokens } } : {}
24071
+ ...reasoningEffort || contextWindowTokens !== void 0 ? {
24072
+ _meta: {
24073
+ ...reasoningEffort ? { reasoningEffort } : {},
24074
+ ...contextWindowTokens !== void 0 ? { contextWindow: contextWindowTokens } : {}
24075
+ }
24076
+ } : {}
24011
24077
  });
24012
24078
  if (!isRecord13(response) || !isRecord13(response._meta) || !isRecord13(response._meta.model)) {
24013
24079
  throw new GrokTransportError("protocolError", "Grok rejected Model configuration");
@@ -26561,6 +26627,24 @@ function createGrokInstallation(environment, command) {
26561
26627
  let installer = "";
26562
26628
  return createInstallationManager({
26563
26629
  async check() {
26630
+ const launcher = await readLauncherScript(resolveGrokExecutable({ environment, ...command ? { command } : {} }));
26631
+ if (launcher.includes("GROKGOD_HOME=") && launcher.includes("GROKGOD_BIN=")) {
26632
+ return {
26633
+ currentVersion: versionFromOutput(await run(["--version"], void 0, {
26634
+ GROK_DISABLE_AUTOUPDATER: "1",
26635
+ GROKGOD_UPDATE_CHECK_DISABLE: "1"
26636
+ })),
26637
+ latestVersion: "Unknown",
26638
+ latestVersionKind: "unknown",
26639
+ updateAvailable: false,
26640
+ canUpdate: false,
26641
+ messageCode: "original-installer",
26642
+ notice: {
26643
+ en: "Managed by grokgod. Use grokgod's updater or installer to preserve the installed patches. The latest patched version is not checked here.",
26644
+ "zh-CN": "此安装由 grokgod 管理。请使用 grokgod 的更新程序或安装程序保留补丁;此处不检查最新补丁版本。"
26645
+ }
26646
+ };
26647
+ }
26564
26648
  const state = JSON.parse(await run(["update", "--check", "--json"]));
26565
26649
  if (state.error || typeof state.updateAvailable !== "boolean")
26566
26650
  throw new Error("Grok update check failed");
@@ -15184,6 +15184,7 @@ var consoleOpenResultSchema = external_exports.strictObject({
15184
15184
  url: external_exports.string().max(2048).regex(/^http:\/\/(?:127\.0\.0\.1|localhost):\d{1,5}\/(?:\?.*)?$/u)
15185
15185
  });
15186
15186
  var CONSOLE_HOST_METHODS = Object.freeze([
15187
+ "codexhost/voice/gateway-status",
15187
15188
  "codexhost/console/remote-connections",
15188
15189
  "codexhost/runtime/status",
15189
15190
  "codexhost/remote/ssh-setup",
@@ -16293,6 +16294,52 @@ var remoteConnectionsReplySchema = external_exports.union([
16293
16294
  external_exports.strictObject({ error: external_exports.strictObject({ code: external_exports.number().int(), message: external_exports.string() }) })
16294
16295
  ]);
16295
16296
 
16297
+ // ../../shared-contracts/dist/voice-settings.js
16298
+ var voiceRoutesSchema = external_exports.strictObject({
16299
+ chatExperience: external_exports.enum(["chatgpt", "codex"]),
16300
+ chatConnection: external_exports.enum(["desktop", "gateway"]),
16301
+ workConnection: external_exports.enum(["desktop", "gateway"])
16302
+ });
16303
+ var DEFAULT_VOICE_ROUTES = Object.freeze({
16304
+ chatExperience: "chatgpt",
16305
+ chatConnection: "desktop",
16306
+ workConnection: "gateway"
16307
+ });
16308
+ var voiceSettingsSchema = voiceRoutesSchema.extend({ inject: external_exports.boolean() });
16309
+ var voiceSettingsRequestSchema = external_exports.discriminatedUnion("operation", [
16310
+ external_exports.strictObject({
16311
+ operation: external_exports.literal("get"),
16312
+ runtime: external_exports.strictObject({
16313
+ id: external_exports.string().uuid(),
16314
+ revision: external_exports.string().max(64),
16315
+ activeCall: external_exports.boolean()
16316
+ }).optional()
16317
+ }),
16318
+ external_exports.strictObject({ operation: external_exports.literal("migrate"), routes: voiceRoutesSchema }),
16319
+ external_exports.strictObject({
16320
+ operation: external_exports.literal("set"),
16321
+ settings: voiceSettingsSchema,
16322
+ revision: external_exports.string().max(64)
16323
+ }),
16324
+ external_exports.strictObject({ operation: external_exports.literal("restart"), confirm: external_exports.literal(true) })
16325
+ ]);
16326
+ var voiceSettingsStateSchema = external_exports.strictObject({
16327
+ settings: voiceSettingsSchema,
16328
+ initialized: external_exports.boolean(),
16329
+ revision: external_exports.string(),
16330
+ activeInject: external_exports.boolean().nullable(),
16331
+ envOverride: external_exports.enum(["0", "1"]).nullable(),
16332
+ activeEnvOverride: external_exports.enum(["0", "1"]).nullable(),
16333
+ routesActive: external_exports.boolean().nullable(),
16334
+ activeCall: external_exports.boolean().nullable(),
16335
+ gatewayReady: external_exports.boolean().nullable(),
16336
+ restartAvailable: external_exports.boolean(),
16337
+ restart: external_exports.strictObject({
16338
+ phase: external_exports.enum(["idle", "restarting", "succeeded", "failed"]),
16339
+ error: external_exports.string().nullable()
16340
+ })
16341
+ });
16342
+
16296
16343
  // ../../shared-contracts/dist/index.js
16297
16344
  var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
16298
16345