@codexhost/cli-darwin-x64 0.11.0 → 0.12.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/README.md CHANGED
@@ -7,7 +7,7 @@ Run Pi and Claude Code as first-class external harnesses inside Codex Desktop.
7
7
  ## Install
8
8
 
9
9
  ```bash
10
- npm install -g @codexhost/cli@0.11.0
10
+ npm install -g @codexhost/cli@0.12.0
11
11
  ```
12
12
 
13
13
  Do not install this package directly. npm selects it through the optional dependencies of `@codexhost/cli`.
@@ -1 +1 @@
1
- {"schemaVersion":1,"version":"0.11.0","distribution":"npm","target":"macos-x64"}
1
+ {"schemaVersion":1,"version":"0.12.0","distribution":"npm","target":"macos-x64"}
@@ -14615,6 +14615,7 @@ var CONSOLE_HOST_METHODS = Object.freeze([
14615
14615
  "codexhost/harness/display-settings/get",
14616
14616
  "codexhost/harness/display-settings/set",
14617
14617
  "codexhost/harness/inspect",
14618
+ "codexhost/harness/installation",
14618
14619
  "codexhost/harness/launch-settings/get",
14619
14620
  "codexhost/harness/launch-settings/set",
14620
14621
  "codexhost/harness/web-ui/open",
@@ -15264,14 +15265,17 @@ var harnessLaunchSettingsSchema = external_exports.object({
15264
15265
  // packages/shared-contracts/dist/harness-installation.js
15265
15266
  var harnessInstallationParamsSchema = external_exports.object({
15266
15267
  harnessId: harnessIdSchema,
15267
- action: external_exports.enum(["check", "update"])
15268
+ action: external_exports.enum(["check", "update", "install"])
15268
15269
  }).strict();
15269
15270
  var harnessInstallationStateSchema = external_exports.object({
15270
15271
  currentVersion: external_exports.string().min(1).max(128),
15271
15272
  latestVersion: external_exports.string().min(1).max(128),
15272
15273
  updateAvailable: external_exports.boolean(),
15273
15274
  canUpdate: external_exports.boolean(),
15274
- message: external_exports.string().max(2048).optional()
15275
+ // Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
15276
+ message: external_exports.string().max(2048).optional(),
15277
+ messageCode: external_exports.string().min(1).max(128).optional(),
15278
+ latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
15275
15279
  }).strict();
15276
15280
 
15277
15281
  // packages/shared-contracts/dist/codex-accounts.js
@@ -15568,6 +15572,38 @@ var updateStatusResultSchema = external_exports.strictObject({
15568
15572
  status: updateStatusSchema.nullable()
15569
15573
  });
15570
15574
 
15575
+ // packages/shared-contracts/dist/remote-runtime.js
15576
+ var remoteUpdatePhaseSchema = external_exports.enum([
15577
+ "idle",
15578
+ "installing",
15579
+ "restarting",
15580
+ "succeeded",
15581
+ "failed"
15582
+ ]);
15583
+ var runtimeStatusSchema = external_exports.object({
15584
+ runningVersion: external_exports.string().nullable(),
15585
+ installedVersion: external_exports.string().nullable(),
15586
+ restartRequired: external_exports.boolean(),
15587
+ remote: external_exports.boolean(),
15588
+ updateSupported: external_exports.boolean(),
15589
+ update: external_exports.object({
15590
+ phase: remoteUpdatePhaseSchema,
15591
+ targetVersion: external_exports.string().nullable(),
15592
+ error: external_exports.string().nullable()
15593
+ })
15594
+ });
15595
+ var remoteUpdateParamsSchema = external_exports.object({
15596
+ version: external_exports.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u)
15597
+ }).strict();
15598
+ var remoteSshSetupParamsSchema = external_exports.object({
15599
+ hostname: external_exports.string().min(1).max(1024).refine((value) => !value.startsWith("-") && !/\s/u.test(value)),
15600
+ port: external_exports.number().int().min(1).max(65535).nullable(),
15601
+ identity: external_exports.string().max(4096).nullable(),
15602
+ action: external_exports.enum(["inspect", "install", "update", "repair"]),
15603
+ version: external_exports.string().regex(/^\d+\.\d+\.\d+$/u).nullable()
15604
+ }).strict();
15605
+ var remoteSshSetupResultSchema = external_exports.object({ state: external_exports.enum(["installed", "not-installed"]) }).strict();
15606
+
15571
15607
  // packages/shared-contracts/dist/index.js
15572
15608
  var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
15573
15609
 
@@ -16521,13 +16557,19 @@ async function recoverUpdateOperationLock(stateDirectory) {
16521
16557
  return;
16522
16558
  let ownerPid;
16523
16559
  let statusPath;
16560
+ let remoteUpdate = false;
16524
16561
  try {
16525
16562
  const value = JSON.parse(await readFile4(lockPath, "utf8"));
16526
16563
  ownerPid = value.ownerPid;
16527
16564
  statusPath = value.statusPath;
16565
+ remoteUpdate = value.remoteUpdate === true;
16528
16566
  } catch {
16529
16567
  return;
16530
16568
  }
16569
+ if (remoteUpdate && typeof ownerPid === "number" && Number.isSafeInteger(ownerPid) && ownerPid > 0 && !processIsAlive2(ownerPid)) {
16570
+ await rm3(lockPath, { force: true });
16571
+ return;
16572
+ }
16531
16573
  if (typeof statusPath !== "string" || !path10.isAbsolute(statusPath))
16532
16574
  return;
16533
16575
  try {