ninepm 0.39.0 → 0.41.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/dist/index.d.ts CHANGED
@@ -103,6 +103,7 @@ export interface DeletedSiteResult {
103
103
  files: number;
104
104
  artifacts: boolean;
105
105
  metadata: boolean;
106
+ errors?: string[];
106
107
  }
107
108
  export interface CreatedRuntimeToken {
108
109
  token: string;
@@ -113,7 +114,7 @@ export interface CreatedServiceToken {
113
114
  clientSecret: string;
114
115
  }
115
116
  export type FetchLike = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
116
- export declare const CLI_VERSION = "0.39.0";
117
+ export declare const CLI_VERSION = "0.41.0";
117
118
  type CredentialBackend = "macos-keychain" | "windows-dpapi" | "linux-secret-service" | "file-plaintext" | "none";
118
119
  export interface CredentialDiagnostics {
119
120
  platform: NodeJS.Platform;
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ import { MAX_DEPLOY_DESCRIPTION_LENGTH, normalizeDeployDescription } from "./dep
14
14
  import { MAX_STATIC_ASSET_FILE_BYTES, MAX_WORKER_ENTRY_COMPRESSED_BYTES, MAX_WORKER_SCRIPT_COMPRESSED_BYTES, WORKER_ENTRY_COMPRESSED_WARN_BYTES, assetFileTooLargeMessage, formatMebibytes, formatMegabytes, oversizedAssets, workerBundleNearLimitMessage, workerBundleTooLargeMessage, workerEntryNearLimitMessage, workerEntryTooLargeMessage, } from "./deploy-limits.js";
15
15
  import { buildFileManifest, readManifestFile } from "./manifest.js";
16
16
  import { API_KEY_HELP, API_URL_HELP, CLI_CLIENT_ID, DEFAULT_API_URL, reportCliError } from "./cli-config.js";
17
- export const CLI_VERSION = "0.39.0";
17
+ export const CLI_VERSION = "0.41.0";
18
18
  const PUBLIC_DASHBOARD_URL = "https://9pm.ai/dashboard";
19
19
  const TOKEN_SERVICE = "9pm";
20
20
  const TOKEN_ACCOUNT = "default";
@@ -3080,7 +3080,17 @@ async function main() {
3080
3080
  confirmSlug: command.confirmSlug,
3081
3081
  });
3082
3082
  console.log(`Deleted ${deleted.slug}.`);
3083
- console.log(`Removed ${deleted.workers} Worker(s), ${deleted.databases} database(s), ${deleted.files} file(s), ${deleted.customDomains} custom domain(s), ${deleted.containerApplications ?? 0} container app(s), ${deleted.containerImages ?? 0} container image(s), ${deleted.accessApps} access app(s), and ${deleted.serviceTokens} service token(s).`);
3083
+ console.log(`Removed ${deleted.workers} Worker(s), ${deleted.databases} database(s), ${deleted.files} file(s), ${deleted.customDomains} custom domain(s), ${deleted.containerImages ?? 0} container image(s), ${deleted.accessApps} access app(s), and ${deleted.serviceTokens} service token(s). Queued ${deleted.containerApplications ?? 0} container app(s) for teardown.`);
3084
+ // #722: a partial external-cleanup failure never fails the delete, and used to be
3085
+ // silently discarded here — visible only in the raw JSON, if a caller happened to
3086
+ // read it. Surfacing it is the whole reason a human running this command manually
3087
+ // can now notice what a CI script's own `finally` block cannot.
3088
+ if (deleted.errors && deleted.errors.length > 0) {
3089
+ console.log("Some cleanup steps did not complete:");
3090
+ for (const error of deleted.errors) {
3091
+ console.log(` - ${error}`);
3092
+ }
3093
+ }
3084
3094
  return;
3085
3095
  }
3086
3096
  if (command.kind === "latest") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ninepm",
3
- "version": "0.39.0",
3
+ "version": "0.41.0",
4
4
  "description": "CLI for deploying built apps to 9pm.ai.",
5
5
  "homepage": "https://9pm.ai",
6
6
  "keywords": [