oh-my-customcode 0.87.2 → 0.87.3

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/cli/index.js CHANGED
@@ -2301,7 +2301,7 @@ var init_package = __esm(() => {
2301
2301
  workspaces: [
2302
2302
  "packages/*"
2303
2303
  ],
2304
- version: "0.87.2",
2304
+ version: "0.87.3",
2305
2305
  description: "Batteries-included agent harness for Claude Code",
2306
2306
  type: "module",
2307
2307
  bin: {
@@ -25032,6 +25032,7 @@ var en_default = {
25032
25032
  selfUpdateDone: "✓ oh-my-customcode updated ({{from}} → {{to}})",
25033
25033
  selfUpdateFailed: "⚠ Self-update check failed — continuing with external updates",
25034
25034
  selfUpdateReexec: "↻ Re-executing with updated CLI (v{{version}})...",
25035
+ reexecArgvMissing: "⚠ Cannot re-exec: process.argv[1] is empty — continuing without re-exec",
25035
25036
  allProjectSkippedSource: " ℹ Skipped: {{name}} (source project cannot self-update)",
25036
25037
  rtkMissing: "[RTK] RTK is not installed. Attempting installation...",
25037
25038
  rtkInstalled: "[RTK] ✓ RTK installed — 60-90% token savings activated",
@@ -25449,6 +25450,7 @@ var ko_default = {
25449
25450
  selfUpdateDone: "✓ oh-my-customcode 업데이트 완료 ({{from}} → {{to}})",
25450
25451
  selfUpdateFailed: "⚠ 자체 업데이트 확인 실패 — 외부 업데이트를 계속 진행합니다",
25451
25452
  selfUpdateReexec: "↻ 새 CLI(v{{version}})로 재실행 중...",
25453
+ reexecArgvMissing: "⚠ 재실행 불가: process.argv[1]이 비어있습니다 — 재실행 없이 계속합니다",
25452
25454
  allProjectSkippedSource: " ℹ 스킵: {{name}} (소스 프로젝트는 자체 업데이트할 수 없음)",
25453
25455
  rtkMissing: "[RTK] RTK가 설치되지 않았습니다. 설치를 시도합니다...",
25454
25456
  rtkInstalled: "[RTK] ✓ RTK 설치 완료 — 토큰 60-90% 절감 활성화",
@@ -25934,7 +25936,7 @@ function executeSelfUpdate(options = {}) {
25934
25936
  currentVersion,
25935
25937
  packageName,
25936
25938
  cachePath: options.cachePath,
25937
- cacheTtlMs: options.cacheTtlMs,
25939
+ cacheTtlMs: options.forceRefresh ? 0 : options.cacheTtlMs,
25938
25940
  fetchLatestVersion: options.fetchLatestVersion,
25939
25941
  now: options.now,
25940
25942
  argv,
@@ -30681,6 +30683,7 @@ function syncCommand(program2) {
30681
30683
 
30682
30684
  // src/cli/update.ts
30683
30685
  init_package();
30686
+ import { constants as osConstants } from "node:os";
30684
30687
 
30685
30688
  // src/core/updater.ts
30686
30689
  init_package();
@@ -31460,34 +31463,46 @@ async function checkCliVersion(checkFn) {
31460
31463
  }
31461
31464
  } catch {}
31462
31465
  }
31463
- async function reexecUpdatedCli(toVersion) {
31466
+ function exitWithChildStatus(child) {
31467
+ if (child.signal) {
31468
+ const signalNumber = osConstants.signals[child.signal] ?? 0;
31469
+ process.exit(128 + signalNumber);
31470
+ }
31471
+ process.exit(child.status ?? 1);
31472
+ }
31473
+ async function reexecUpdatedCli(toVersion, spawnFn) {
31474
+ const cliEntry = process.argv[1];
31475
+ if (!cliEntry) {
31476
+ console.warn(i18n.t("cli.update.reexecArgvMissing"));
31477
+ return;
31478
+ }
31464
31479
  console.log(i18n.t("cli.update.selfUpdateReexec", { version: toVersion }));
31465
31480
  const { spawnSync: spawnSync4 } = await import("node:child_process");
31466
- const child = spawnSync4(process.execPath, [process.argv[1] ?? "", ...process.argv.slice(2)], {
31481
+ const child = (spawnFn ?? spawnSync4)(process.execPath, [cliEntry, ...process.argv.slice(2)], {
31467
31482
  stdio: "inherit",
31468
31483
  env: { ...process.env, OMCUSTOM_SKIP_SELF_UPDATE: "true" }
31469
31484
  });
31470
- process.exit(child.status ?? 1);
31485
+ exitWithChildStatus(child);
31471
31486
  }
31472
- async function handleSelfUpdate() {
31487
+ async function handleSelfUpdate(spawnFn) {
31473
31488
  try {
31474
- const selfUpdateResult = executeSelfUpdate();
31489
+ const selfUpdateResult = executeSelfUpdate({ forceRefresh: true });
31475
31490
  if (selfUpdateResult.updated) {
31476
31491
  console.log(i18n.t("cli.update.selfUpdateDone", {
31477
31492
  from: selfUpdateResult.fromVersion,
31478
31493
  to: selfUpdateResult.toVersion
31479
31494
  }));
31480
31495
  if (process.env.OMCUSTOM_SKIP_SELF_UPDATE !== "true") {
31481
- await reexecUpdatedCli(selfUpdateResult.toVersion);
31496
+ await reexecUpdatedCli(selfUpdateResult.toVersion, spawnFn);
31482
31497
  }
31483
31498
  }
31484
31499
  } catch {
31485
31500
  console.warn(i18n.t("cli.update.selfUpdateFailed"));
31486
31501
  }
31487
31502
  }
31488
- async function updateCommand(options = {}, cliVersionCheck = checkSelfUpdate) {
31503
+ async function updateCommand(options = {}, cliVersionCheck = checkSelfUpdate, spawnFn) {
31489
31504
  if (!options.skipSelf) {
31490
- await handleSelfUpdate();
31505
+ await handleSelfUpdate(spawnFn);
31491
31506
  } else {
31492
31507
  await checkCliVersion(cliVersionCheck);
31493
31508
  }
package/dist/index.js CHANGED
@@ -1974,7 +1974,7 @@ var package_default = {
1974
1974
  workspaces: [
1975
1975
  "packages/*"
1976
1976
  ],
1977
- version: "0.87.2",
1977
+ version: "0.87.3",
1978
1978
  description: "Batteries-included agent harness for Claude Code",
1979
1979
  type: "module",
1980
1980
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.87.2",
6
+ "version": "0.87.3",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.87.2",
2
+ "version": "0.87.3",
3
3
  "lastUpdated": "2026-04-14T00:00:00.000Z",
4
4
  "components": [
5
5
  {