ocx 1.3.2 → 1.3.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/index.js CHANGED
@@ -10894,7 +10894,7 @@ class GhostConfigProvider {
10894
10894
  // package.json
10895
10895
  var package_default = {
10896
10896
  name: "ocx",
10897
- version: "1.3.2",
10897
+ version: "1.3.3",
10898
10898
  description: "OCX CLI - ShadCN-style registry for OpenCode extensions. Install agents, plugins, skills, and MCP servers.",
10899
10899
  author: "kdcokenny",
10900
10900
  license: "MIT",
@@ -18231,12 +18231,13 @@ async function replacePlaceholders(dir, values) {
18231
18231
 
18232
18232
  // src/self-update/version-provider.ts
18233
18233
  class BuildTimeVersionProvider {
18234
- version = "1.3.2";
18234
+ version = "1.3.3";
18235
18235
  }
18236
18236
  var defaultVersionProvider = new BuildTimeVersionProvider;
18237
18237
 
18238
18238
  // src/self-update/check.ts
18239
18239
  var VERSION_CHECK_TIMEOUT_MS = 200;
18240
+ var EXPLICIT_UPDATE_TIMEOUT_MS = 1e4;
18240
18241
  var PACKAGE_NAME = "ocx";
18241
18242
  function parseVersion2(v) {
18242
18243
  const [main2 = ""] = v.split("-");
@@ -18261,26 +18262,35 @@ function compareSemver2(a, b) {
18261
18262
  return vA.minor - vB.minor;
18262
18263
  return vA.patch - vB.patch;
18263
18264
  }
18264
- async function checkForUpdate(versionProvider) {
18265
+ async function checkForUpdate(versionProvider, timeoutMs = VERSION_CHECK_TIMEOUT_MS) {
18265
18266
  const provider = versionProvider ?? defaultVersionProvider;
18266
18267
  const current = provider.version || "0.0.0-dev";
18267
18268
  if (current === "0.0.0-dev") {
18268
- return null;
18269
+ return { ok: false, reason: "dev-version" };
18269
18270
  }
18270
18271
  try {
18271
- const result = await fetchPackageVersion(PACKAGE_NAME, undefined, AbortSignal.timeout(VERSION_CHECK_TIMEOUT_MS));
18272
+ const result = await fetchPackageVersion(PACKAGE_NAME, undefined, AbortSignal.timeout(timeoutMs));
18272
18273
  const latest = result.version;
18273
18274
  const comparison = compareSemver2(latest, current);
18274
18275
  if (comparison === null) {
18275
- return null;
18276
+ return { ok: false, reason: "invalid-response" };
18276
18277
  }
18277
18278
  return {
18279
+ ok: true,
18278
18280
  current,
18279
18281
  latest,
18280
18282
  updateAvailable: comparison > 0
18281
18283
  };
18282
- } catch {
18283
- return null;
18284
+ } catch (error) {
18285
+ if (error instanceof Error) {
18286
+ if (error.name === "AbortError" || error.name === "TimeoutError") {
18287
+ return { ok: false, reason: "timeout" };
18288
+ }
18289
+ if (error instanceof NetworkError || error.name === "NetworkError") {
18290
+ return { ok: false, reason: "network-error" };
18291
+ }
18292
+ }
18293
+ return { ok: false, reason: "invalid-response" };
18284
18294
  }
18285
18295
  }
18286
18296
 
@@ -18502,11 +18512,17 @@ async function verifyChecksum(filePath, expectedHash, filename) {
18502
18512
 
18503
18513
  // src/commands/self/update.ts
18504
18514
  var SEMVER_PATTERN = /^\d+\.\d+\.\d+(-[\w.]+)?$/;
18515
+ var UPDATE_ERROR_MESSAGES = {
18516
+ "dev-version": "Cannot check for updates in development mode. Install via npm for update support.",
18517
+ timeout: "Update check timed out after 10s. Try again or check your network.",
18518
+ "network-error": "Cannot reach npm registry. Verify your internet connection.",
18519
+ "invalid-response": "Received invalid response from npm registry. Try again later."
18520
+ };
18505
18521
  async function updateCommand(options2) {
18506
18522
  const method = options2.method ? parseInstallMethod(options2.method) : detectInstallMethod();
18507
- const result = await checkForUpdate();
18508
- if (!result) {
18509
- throw new SelfUpdateError("Failed to check for updates");
18523
+ const result = await checkForUpdate(undefined, EXPLICIT_UPDATE_TIMEOUT_MS);
18524
+ if (!result.ok) {
18525
+ throw new SelfUpdateError(UPDATE_ERROR_MESSAGES[result.reason]);
18510
18526
  }
18511
18527
  const { current, latest, updateAvailable } = result;
18512
18528
  if (!updateAvailable && !options2.force) {
@@ -18522,6 +18538,7 @@ async function updateCommand(options2) {
18522
18538
  case "npm":
18523
18539
  case "pnpm":
18524
18540
  case "bun":
18541
+ case "yarn":
18525
18542
  case "unknown": {
18526
18543
  await updateViaPackageManager(method, current, targetVersion);
18527
18544
  break;
@@ -18632,14 +18649,14 @@ function registerUpdateCheckHook(program2) {
18632
18649
  return;
18633
18650
  try {
18634
18651
  const result = await checkForUpdate();
18635
- if (result?.updateAvailable) {
18652
+ if (result.ok && result.updateAvailable) {
18636
18653
  notifyUpdate(result.current, result.latest);
18637
18654
  }
18638
18655
  } catch {}
18639
18656
  });
18640
18657
  }
18641
18658
  // src/index.ts
18642
- var version = "1.3.2";
18659
+ var version = "1.3.3";
18643
18660
  async function main2() {
18644
18661
  const program2 = new Command().name("ocx").description("OpenCode Extensions - Install agents, skills, plugins, and commands").version(version);
18645
18662
  registerInitCommand(program2);
@@ -18668,4 +18685,4 @@ export {
18668
18685
  buildRegistry
18669
18686
  };
18670
18687
 
18671
- //# debugId=B7C7102D18EED5CE64756E2164756E21
18688
+ //# debugId=E86EB091512F901064756E2164756E21