@pushpalsdev/cli 1.0.68 → 1.0.69

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.
@@ -2183,6 +2183,8 @@ function parseSemverFromPackageVersion(value) {
2183
2183
  const raw = String(value ?? "").trim();
2184
2184
  if (!raw)
2185
2185
  return "";
2186
+ if (raw === "0.0.0-dev")
2187
+ return "";
2186
2188
  const match = raw.match(/^\d+\.\d+\.\d+(?:[-.][0-9A-Za-z.-]+)?$/);
2187
2189
  return match ? raw : "";
2188
2190
  }
@@ -3053,6 +3055,13 @@ async function cleanupLingeringWorkerpalWarmContainers(opts) {
3053
3055
  ], opts.repoRoot, opts.env, commandTimeoutMs);
3054
3056
  if (!list.ok) {
3055
3057
  const detail = list.stderr || list.stdout || `exit ${list.exitCode}`;
3058
+ if (isDockerUnavailableDetail(detail)) {
3059
+ return {
3060
+ ok: true,
3061
+ detail: `docker unavailable; skipped WorkerPal warm-container cleanup: ${detail}`,
3062
+ removed: 0
3063
+ };
3064
+ }
3056
3065
  return {
3057
3066
  ok: false,
3058
3067
  detail: `failed to inspect lingering WorkerPal warm containers: ${detail}`,
@@ -3106,6 +3115,14 @@ async function cleanupLocalWorkerpalSandboxImage(opts) {
3106
3115
  imageName
3107
3116
  };
3108
3117
  }
3118
+ if (isDockerUnavailableDetail(detail)) {
3119
+ return {
3120
+ ok: true,
3121
+ detail: `docker unavailable; skipped WorkerPal sandbox image cleanup: ${detail}`,
3122
+ removed: false,
3123
+ imageName
3124
+ };
3125
+ }
3109
3126
  return {
3110
3127
  ok: false,
3111
3128
  detail: `failed to remove local WorkerPal sandbox image ${imageName}: ${detail}`,
@@ -3205,6 +3222,10 @@ async function cleanupLingeringPushPalsGitWorktrees(opts) {
3205
3222
  function isMissingDockerImageDetail(detail) {
3206
3223
  return /\b(no such object|no such image|not found)\b/i.test(String(detail ?? ""));
3207
3224
  }
3225
+ function isDockerUnavailableDetail(detail) {
3226
+ const text = String(detail ?? "");
3227
+ return /cannot connect to (the )?docker daemon/i.test(text) || /docker daemon is not running/i.test(text) || /failed to connect to the docker api/i.test(text) || /docker_engine/i.test(text) || /is the docker daemon running/i.test(text) || /docker(?:\.exe)?: command not found/i.test(text) || /spawn\s+docker(?:\.exe)?\s+ENOENT/i.test(text) || /docker(?:\.exe)?'?\s+is not recognized as an internal or external command/i.test(text);
3228
+ }
3208
3229
  async function inspectDockerImageRuntimeTag(dockerExecutable, imageName, cwd, env, timeoutMs = WORKERPAL_IMAGE_INSPECT_TIMEOUT_MS) {
3209
3230
  const inspect = await runCommandWithEnv([
3210
3231
  dockerExecutable,
@@ -5413,6 +5434,7 @@ export {
5413
5434
  normalizeRepoPathForComparison,
5414
5435
  normalizeCliInteractiveMessage,
5415
5436
  normalizeChildProcessEnv,
5437
+ isDockerUnavailableDetail,
5416
5438
  isCliExitCommand,
5417
5439
  injectMonitoringHubBootstrap,
5418
5440
  formatWorkerExecutionReadinessLines,
@@ -435,5 +435,5 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
435
435
  @keyframes r-1pzkwqh{0%{transform:translateY(100%);}100%{transform:translateY(0%);}}
436
436
  @keyframes r-imtty0{0%{opacity:0;}100%{opacity:1;}}
437
437
  @keyframes r-q67da2{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}}
438
- @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="icon" href="/favicon.ico" /></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"></div></div><script src="/_expo/static/js/web/entry-d69cc703f72afa383e4108efd6e0f726.js" defer></script>
438
+ @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="icon" href="/favicon.ico" /></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"></div></div><script src="/_expo/static/js/web/entry-6fc2a4ed369a881b7b810e1a9df3ce7b.js" defer></script>
439
439
  </body></html>