@appfleet-cli/cli 0.1.1 → 0.1.2

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/appfleet.js CHANGED
@@ -3427,14 +3427,14 @@ var cliCommandDocs = [
3427
3427
  options: [
3428
3428
  { flags: "--workspace <workspace-id>", description: "Workspace id for local-test or hosted session metadata." },
3429
3429
  { flags: "--email <email>", description: "Optional non-secret user label for local-test identity or hosted login metadata." },
3430
- { flags: "--production-cloud", description: "Explicitly use hosted auth mode; also requires API/auth env config." },
3431
- { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL." },
3430
+ { flags: "--production-cloud", description: "Explicitly use hosted auth mode against AppFleet Cloud." },
3431
+ { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL and the default https://appfleet.xyz." },
3432
3432
  { flags: "--json", description: "Emit machine-readable JSON." }
3433
3433
  ],
3434
3434
  examples: [
3435
3435
  "appfleet auth login --workspace workspace_test",
3436
3436
  "appfleet auth login --workspace workspace_test --email demo@example.com --json",
3437
- "APPFLEET_API_BASE_URL=https://appfleet.xyz appfleet auth login --production-cloud --workspace workspace_prod --json"
3437
+ "appfleet auth login --production-cloud --workspace workspace_prod --json"
3438
3438
  ],
3439
3439
  reads: [".appfleet/cloud-session.json if it already exists"],
3440
3440
  writes: [".appfleet/cloud-session.json local-test or hosted redacted session metadata with status and expiry"],
@@ -3451,14 +3451,14 @@ var cliCommandDocs = [
3451
3451
  usage: "appfleet auth logout [--production-cloud] [--api-base-url <url>] [--json]",
3452
3452
  arguments: [],
3453
3453
  options: [
3454
- { flags: "--production-cloud", description: "Explicitly use hosted logout mode; also requires API/auth env config and hosted session metadata." },
3455
- { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL." },
3454
+ { flags: "--production-cloud", description: "Explicitly use hosted logout mode against AppFleet Cloud and hosted session metadata." },
3455
+ { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL and the default https://appfleet.xyz." },
3456
3456
  { flags: "--json", description: "Emit machine-readable JSON." }
3457
3457
  ],
3458
3458
  examples: [
3459
3459
  "appfleet auth logout",
3460
3460
  "appfleet auth logout --json",
3461
- "APPFLEET_API_BASE_URL=https://appfleet.xyz appfleet auth logout --production-cloud --json"
3461
+ "appfleet auth logout --production-cloud --json"
3462
3462
  ],
3463
3463
  reads: [".appfleet/cloud-session.json"],
3464
3464
  writes: [".appfleet/cloud-session.json is removed when present; JSON output includes a safe logged_out/not_found/missing_hosted_session status"],
@@ -3476,23 +3476,23 @@ var cliCommandDocs = [
3476
3476
  arguments: [],
3477
3477
  options: [
3478
3478
  { flags: "--workspace <workspace-id>", description: "Workspace id for the local-test sync store." },
3479
- { flags: "--production-cloud", description: "Explicitly use production cloud mode; also requires API/auth env config." },
3480
- { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL." },
3479
+ { flags: "--production-cloud", description: "Explicitly use production cloud mode against AppFleet Cloud." },
3480
+ { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL and the default https://appfleet.xyz." },
3481
3481
  { flags: "--idempotency-key <key>", description: "Override the production metadata sync idempotency key; retries reuse the same key." },
3482
3482
  { flags: "--json", description: "Emit machine-readable JSON." }
3483
3483
  ],
3484
3484
  examples: [
3485
3485
  "appfleet cloud sync",
3486
3486
  "appfleet cloud sync --workspace workspace_test --json",
3487
- "APPFLEET_PRODUCTION_CLOUD_ENABLED=true APPFLEET_API_BASE_URL=https://appfleet.xyz APPFLEET_CLOUD_AUTH_TOKEN=<redacted> appfleet cloud sync --workspace <workspace-id> --json",
3488
- "APPFLEET_API_BASE_URL=https://appfleet.xyz appfleet cloud sync --production-cloud --workspace <workspace-id> --json"
3487
+ "APPFLEET_PRODUCTION_CLOUD_ENABLED=true APPFLEET_CLOUD_AUTH_TOKEN=<redacted> appfleet cloud sync --workspace <workspace-id> --json",
3488
+ "appfleet cloud sync --production-cloud --workspace <workspace-id> --json"
3489
3489
  ],
3490
3490
  reads: [".appfleet/cloud-session.json", ".appfleet/project-memory.json", ".appfleet/cloud-metadata-sync.json"],
3491
3491
  writes: [".appfleet/cloud-metadata-sync.json", ".appfleet/project-memory.json lastSyncedAt for accepted projects"],
3492
3492
  secretSafety: [
3493
3493
  "Chooses local-test mode by default; production mode requires --production-cloud, APPFLEET_PRODUCTION_CLOUD_ENABLED=true, or APPFLEET_CLOUD_MODE=production.",
3494
- "In production mode, fails closed when APPFLEET_API_BASE_URL/--api-base-url or APPFLEET_CLOUD_AUTH_TOKEN is missing.",
3495
- "Production metadata sync posts to /api/workspaces/<workspace-id>/metadata-sync on the configured AppFleet web API base URL.",
3494
+ "In production mode, defaults to https://appfleet.xyz and fails closed when APPFLEET_CLOUD_AUTH_TOKEN is missing.",
3495
+ "Production metadata sync posts to /api/workspaces/<workspace-id>/metadata-sync on the configured or default AppFleet web API base URL.",
3496
3496
  "Production metadata sync sends redacted auth reporting plus an idempotency key, workspace id, and project metadata envelopes.",
3497
3497
  "Production metadata sync retries safe transient transport failures with the same idempotency key.",
3498
3498
  "Persists local-test and production sync metadata, project ids, fingerprints, durable queue status, idempotency metadata, and conflict reports only.",
@@ -3508,23 +3508,23 @@ var cliCommandDocs = [
3508
3508
  arguments: [],
3509
3509
  options: [
3510
3510
  { flags: "--workspace <workspace-id>", description: "Workspace id for the local-test sync store." },
3511
- { flags: "--production-cloud", description: "Explicitly use production cloud mode; also requires API/auth env config." },
3512
- { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL." },
3511
+ { flags: "--production-cloud", description: "Explicitly use production cloud mode against AppFleet Cloud." },
3512
+ { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL and the default https://appfleet.xyz." },
3513
3513
  { flags: "--idempotency-key <key>", description: "Override the production metadata sync idempotency key; retries reuse the same key." },
3514
3514
  { flags: "--json", description: "Emit machine-readable JSON." }
3515
3515
  ],
3516
3516
  examples: [
3517
3517
  "appfleet cloud metadata-sync",
3518
3518
  "appfleet cloud metadata-sync --workspace workspace_test --json",
3519
- "APPFLEET_CLOUD_MODE=production APPFLEET_API_BASE_URL=https://appfleet.xyz APPFLEET_CLOUD_AUTH_TOKEN=<redacted> appfleet cloud metadata-sync --workspace <workspace-id> --json",
3520
- "APPFLEET_API_BASE_URL=https://appfleet.xyz appfleet cloud metadata-sync --production-cloud --workspace <workspace-id> --json"
3519
+ "APPFLEET_CLOUD_MODE=production APPFLEET_CLOUD_AUTH_TOKEN=<redacted> appfleet cloud metadata-sync --workspace <workspace-id> --json",
3520
+ "appfleet cloud metadata-sync --production-cloud --workspace <workspace-id> --json"
3521
3521
  ],
3522
3522
  reads: [".appfleet/cloud-session.json", ".appfleet/project-memory.json", ".appfleet/cloud-metadata-sync.json"],
3523
3523
  writes: [".appfleet/cloud-metadata-sync.json", ".appfleet/project-memory.json lastSyncedAt for accepted projects"],
3524
3524
  secretSafety: [
3525
3525
  "Chooses local-test mode by default; production mode requires --production-cloud, APPFLEET_PRODUCTION_CLOUD_ENABLED=true, or APPFLEET_CLOUD_MODE=production.",
3526
- "In production mode, fails closed when APPFLEET_API_BASE_URL/--api-base-url or APPFLEET_CLOUD_AUTH_TOKEN is missing.",
3527
- "Production metadata sync posts to /api/workspaces/<workspace-id>/metadata-sync on the configured AppFleet web API base URL.",
3526
+ "In production mode, defaults to https://appfleet.xyz and fails closed when APPFLEET_CLOUD_AUTH_TOKEN is missing.",
3527
+ "Production metadata sync posts to /api/workspaces/<workspace-id>/metadata-sync on the configured or default AppFleet web API base URL.",
3528
3528
  "Production metadata sync sends redacted auth reporting plus an idempotency key, workspace id, and project metadata envelopes.",
3529
3529
  "Production metadata sync retries safe transient transport failures with the same idempotency key.",
3530
3530
  "Persists local-test and production sync metadata, project ids, fingerprints, durable queue status, idempotency metadata, and conflict reports only.",
@@ -8104,6 +8104,7 @@ if (import.meta.url === `file://${process.argv[1]}`) {
8104
8104
  }
8105
8105
 
8106
8106
  // src/cloud-session.ts
8107
+ var DEFAULT_PRODUCTION_API_BASE_URL = "https://appfleet.xyz";
8107
8108
  async function runCloudSessionCommand(argv, options = {}) {
8108
8109
  const now = options.now ?? (() => /* @__PURE__ */ new Date());
8109
8110
  let env = options.env ?? process.env;
@@ -9126,7 +9127,7 @@ function cloudProductionSource(argv, env) {
9126
9127
  return "default";
9127
9128
  }
9128
9129
  function resolveProductionCloudConfig(parsed, env) {
9129
- const apiBaseUrl = parsed.apiBaseUrl ?? env.APPFLEET_API_BASE_URL;
9130
+ const apiBaseUrl = parsed.apiBaseUrl ?? env.APPFLEET_API_BASE_URL ?? DEFAULT_PRODUCTION_API_BASE_URL;
9130
9131
  return {
9131
9132
  enabled: parsed.productionCloud,
9132
9133
  apiBaseUrl,
@@ -9134,7 +9135,7 @@ function resolveProductionCloudConfig(parsed, env) {
9134
9135
  databaseDsn: env.APPFLEET_DATABASE_URL,
9135
9136
  sources: {
9136
9137
  enabled: parsed.productionCloudSource,
9137
- apiBaseUrl: parsed.apiBaseUrl ? "flag" : env.APPFLEET_API_BASE_URL ? "env" : "missing",
9138
+ apiBaseUrl: parsed.apiBaseUrl ? "flag" : env.APPFLEET_API_BASE_URL ? "env" : "default",
9138
9139
  authToken: env.APPFLEET_CLOUD_AUTH_TOKEN ? env.APPFLEET_CLOUD_AUTH_TOKEN_SOURCE === "device_store" ? "device_store" : "env" : "missing",
9139
9140
  databaseDsn: env.APPFLEET_DATABASE_URL ? "env" : "missing"
9140
9141
  }
@@ -9145,14 +9146,11 @@ function productionEnvEnabled(env) {
9145
9146
  }
9146
9147
  function missingProductionConfig(config) {
9147
9148
  return [
9148
- config.apiBaseUrl ? void 0 : "APPFLEET_API_BASE_URL or --api-base-url",
9149
9149
  config.authToken ? void 0 : "APPFLEET_CLOUD_AUTH_TOKEN"
9150
9150
  ].filter((value) => value !== void 0);
9151
9151
  }
9152
9152
  function missingProductionAuthConfig(config) {
9153
- return [
9154
- config.apiBaseUrl ? void 0 : "APPFLEET_API_BASE_URL or --api-base-url"
9155
- ].filter((value) => value !== void 0);
9153
+ return [];
9156
9154
  }
9157
9155
  function resolveHostedAuthTimeoutMs(env, override) {
9158
9156
  const raw = override ?? Number.parseInt(env.APPFLEET_HOSTED_AUTH_TIMEOUT_MS ?? "", 10);
@@ -24,7 +24,7 @@ type ProductionCloudConfig = {
24
24
  databaseDsn?: string;
25
25
  sources: {
26
26
  enabled: "flag" | "env" | "default";
27
- apiBaseUrl: "flag" | "env" | "missing";
27
+ apiBaseUrl: "flag" | "env" | "default" | "missing";
28
28
  authToken: "env" | "device_store" | "missing";
29
29
  databaseDsn: "env" | "missing";
30
30
  };
@@ -5,6 +5,7 @@ import { dirname, join } from "node:path";
5
5
  import { spawn } from "node:child_process";
6
6
  import { createAppProjectMemory, createCloudSyncMetadata, createCloudSyncRuntimeConflictState, createLocalMetadataSyncQueueEntry, createProjectMemorySyncRequest, createProjectMemorySyncResult, } from "@appfleet/domain";
7
7
  import { readProjectMemories, writeProjectMemories } from "./project-memory.js";
8
+ const DEFAULT_PRODUCTION_API_BASE_URL = "https://appfleet.xyz";
8
9
  export async function runCloudSessionCommand(argv, options = {}) {
9
10
  const now = options.now ?? (() => new Date());
10
11
  let env = options.env ?? process.env;
@@ -1031,7 +1032,7 @@ function cloudProductionSource(argv, env) {
1031
1032
  return "default";
1032
1033
  }
1033
1034
  function resolveProductionCloudConfig(parsed, env) {
1034
- const apiBaseUrl = parsed.apiBaseUrl ?? env.APPFLEET_API_BASE_URL;
1035
+ const apiBaseUrl = parsed.apiBaseUrl ?? env.APPFLEET_API_BASE_URL ?? DEFAULT_PRODUCTION_API_BASE_URL;
1035
1036
  return {
1036
1037
  enabled: parsed.productionCloud,
1037
1038
  apiBaseUrl,
@@ -1043,7 +1044,7 @@ function resolveProductionCloudConfig(parsed, env) {
1043
1044
  ? "flag"
1044
1045
  : env.APPFLEET_API_BASE_URL
1045
1046
  ? "env"
1046
- : "missing",
1047
+ : "default",
1047
1048
  authToken: env.APPFLEET_CLOUD_AUTH_TOKEN
1048
1049
  ? env.APPFLEET_CLOUD_AUTH_TOKEN_SOURCE === "device_store"
1049
1050
  ? "device_store"
@@ -1059,14 +1060,11 @@ function productionEnvEnabled(env) {
1059
1060
  }
1060
1061
  function missingProductionConfig(config) {
1061
1062
  return [
1062
- config.apiBaseUrl ? undefined : "APPFLEET_API_BASE_URL or --api-base-url",
1063
1063
  config.authToken ? undefined : "APPFLEET_CLOUD_AUTH_TOKEN",
1064
1064
  ].filter((value) => value !== undefined);
1065
1065
  }
1066
1066
  function missingProductionAuthConfig(config) {
1067
- return [
1068
- config.apiBaseUrl ? undefined : "APPFLEET_API_BASE_URL or --api-base-url",
1069
- ].filter((value) => value !== undefined);
1067
+ return [];
1070
1068
  }
1071
1069
  function resolveHostedAuthTimeoutMs(env, override) {
1072
1070
  const raw = override ?? Number.parseInt(env.APPFLEET_HOSTED_AUTH_TIMEOUT_MS ?? "", 10);
@@ -52,14 +52,14 @@ export const cliCommandDocs = [
52
52
  options: [
53
53
  { flags: "--workspace <workspace-id>", description: "Workspace id for local-test or hosted session metadata." },
54
54
  { flags: "--email <email>", description: "Optional non-secret user label for local-test identity or hosted login metadata." },
55
- { flags: "--production-cloud", description: "Explicitly use hosted auth mode; also requires API/auth env config." },
56
- { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL." },
55
+ { flags: "--production-cloud", description: "Explicitly use hosted auth mode against AppFleet Cloud." },
56
+ { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL and the default https://appfleet.xyz." },
57
57
  { flags: "--json", description: "Emit machine-readable JSON." },
58
58
  ],
59
59
  examples: [
60
60
  "appfleet auth login --workspace workspace_test",
61
61
  "appfleet auth login --workspace workspace_test --email demo@example.com --json",
62
- "APPFLEET_API_BASE_URL=https://appfleet.xyz appfleet auth login --production-cloud --workspace workspace_prod --json",
62
+ "appfleet auth login --production-cloud --workspace workspace_prod --json",
63
63
  ],
64
64
  reads: [".appfleet/cloud-session.json if it already exists"],
65
65
  writes: [".appfleet/cloud-session.json local-test or hosted redacted session metadata with status and expiry"],
@@ -76,14 +76,14 @@ export const cliCommandDocs = [
76
76
  usage: "appfleet auth logout [--production-cloud] [--api-base-url <url>] [--json]",
77
77
  arguments: [],
78
78
  options: [
79
- { flags: "--production-cloud", description: "Explicitly use hosted logout mode; also requires API/auth env config and hosted session metadata." },
80
- { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL." },
79
+ { flags: "--production-cloud", description: "Explicitly use hosted logout mode against AppFleet Cloud and hosted session metadata." },
80
+ { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL and the default https://appfleet.xyz." },
81
81
  { flags: "--json", description: "Emit machine-readable JSON." },
82
82
  ],
83
83
  examples: [
84
84
  "appfleet auth logout",
85
85
  "appfleet auth logout --json",
86
- "APPFLEET_API_BASE_URL=https://appfleet.xyz appfleet auth logout --production-cloud --json",
86
+ "appfleet auth logout --production-cloud --json",
87
87
  ],
88
88
  reads: [".appfleet/cloud-session.json"],
89
89
  writes: [".appfleet/cloud-session.json is removed when present; JSON output includes a safe logged_out/not_found/missing_hosted_session status"],
@@ -101,23 +101,23 @@ export const cliCommandDocs = [
101
101
  arguments: [],
102
102
  options: [
103
103
  { flags: "--workspace <workspace-id>", description: "Workspace id for the local-test sync store." },
104
- { flags: "--production-cloud", description: "Explicitly use production cloud mode; also requires API/auth env config." },
105
- { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL." },
104
+ { flags: "--production-cloud", description: "Explicitly use production cloud mode against AppFleet Cloud." },
105
+ { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL and the default https://appfleet.xyz." },
106
106
  { flags: "--idempotency-key <key>", description: "Override the production metadata sync idempotency key; retries reuse the same key." },
107
107
  { flags: "--json", description: "Emit machine-readable JSON." },
108
108
  ],
109
109
  examples: [
110
110
  "appfleet cloud sync",
111
111
  "appfleet cloud sync --workspace workspace_test --json",
112
- "APPFLEET_PRODUCTION_CLOUD_ENABLED=true APPFLEET_API_BASE_URL=https://appfleet.xyz APPFLEET_CLOUD_AUTH_TOKEN=<redacted> appfleet cloud sync --workspace <workspace-id> --json",
113
- "APPFLEET_API_BASE_URL=https://appfleet.xyz appfleet cloud sync --production-cloud --workspace <workspace-id> --json",
112
+ "APPFLEET_PRODUCTION_CLOUD_ENABLED=true APPFLEET_CLOUD_AUTH_TOKEN=<redacted> appfleet cloud sync --workspace <workspace-id> --json",
113
+ "appfleet cloud sync --production-cloud --workspace <workspace-id> --json",
114
114
  ],
115
115
  reads: [".appfleet/cloud-session.json", ".appfleet/project-memory.json", ".appfleet/cloud-metadata-sync.json"],
116
116
  writes: [".appfleet/cloud-metadata-sync.json", ".appfleet/project-memory.json lastSyncedAt for accepted projects"],
117
117
  secretSafety: [
118
118
  "Chooses local-test mode by default; production mode requires --production-cloud, APPFLEET_PRODUCTION_CLOUD_ENABLED=true, or APPFLEET_CLOUD_MODE=production.",
119
- "In production mode, fails closed when APPFLEET_API_BASE_URL/--api-base-url or APPFLEET_CLOUD_AUTH_TOKEN is missing.",
120
- "Production metadata sync posts to /api/workspaces/<workspace-id>/metadata-sync on the configured AppFleet web API base URL.",
119
+ "In production mode, defaults to https://appfleet.xyz and fails closed when APPFLEET_CLOUD_AUTH_TOKEN is missing.",
120
+ "Production metadata sync posts to /api/workspaces/<workspace-id>/metadata-sync on the configured or default AppFleet web API base URL.",
121
121
  "Production metadata sync sends redacted auth reporting plus an idempotency key, workspace id, and project metadata envelopes.",
122
122
  "Production metadata sync retries safe transient transport failures with the same idempotency key.",
123
123
  "Persists local-test and production sync metadata, project ids, fingerprints, durable queue status, idempotency metadata, and conflict reports only.",
@@ -133,23 +133,23 @@ export const cliCommandDocs = [
133
133
  arguments: [],
134
134
  options: [
135
135
  { flags: "--workspace <workspace-id>", description: "Workspace id for the local-test sync store." },
136
- { flags: "--production-cloud", description: "Explicitly use production cloud mode; also requires API/auth env config." },
137
- { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL." },
136
+ { flags: "--production-cloud", description: "Explicitly use production cloud mode against AppFleet Cloud." },
137
+ { flags: "--api-base-url <url>", description: "Production AppFleet API base URL; overrides APPFLEET_API_BASE_URL and the default https://appfleet.xyz." },
138
138
  { flags: "--idempotency-key <key>", description: "Override the production metadata sync idempotency key; retries reuse the same key." },
139
139
  { flags: "--json", description: "Emit machine-readable JSON." },
140
140
  ],
141
141
  examples: [
142
142
  "appfleet cloud metadata-sync",
143
143
  "appfleet cloud metadata-sync --workspace workspace_test --json",
144
- "APPFLEET_CLOUD_MODE=production APPFLEET_API_BASE_URL=https://appfleet.xyz APPFLEET_CLOUD_AUTH_TOKEN=<redacted> appfleet cloud metadata-sync --workspace <workspace-id> --json",
145
- "APPFLEET_API_BASE_URL=https://appfleet.xyz appfleet cloud metadata-sync --production-cloud --workspace <workspace-id> --json",
144
+ "APPFLEET_CLOUD_MODE=production APPFLEET_CLOUD_AUTH_TOKEN=<redacted> appfleet cloud metadata-sync --workspace <workspace-id> --json",
145
+ "appfleet cloud metadata-sync --production-cloud --workspace <workspace-id> --json",
146
146
  ],
147
147
  reads: [".appfleet/cloud-session.json", ".appfleet/project-memory.json", ".appfleet/cloud-metadata-sync.json"],
148
148
  writes: [".appfleet/cloud-metadata-sync.json", ".appfleet/project-memory.json lastSyncedAt for accepted projects"],
149
149
  secretSafety: [
150
150
  "Chooses local-test mode by default; production mode requires --production-cloud, APPFLEET_PRODUCTION_CLOUD_ENABLED=true, or APPFLEET_CLOUD_MODE=production.",
151
- "In production mode, fails closed when APPFLEET_API_BASE_URL/--api-base-url or APPFLEET_CLOUD_AUTH_TOKEN is missing.",
152
- "Production metadata sync posts to /api/workspaces/<workspace-id>/metadata-sync on the configured AppFleet web API base URL.",
151
+ "In production mode, defaults to https://appfleet.xyz and fails closed when APPFLEET_CLOUD_AUTH_TOKEN is missing.",
152
+ "Production metadata sync posts to /api/workspaces/<workspace-id>/metadata-sync on the configured or default AppFleet web API base URL.",
153
153
  "Production metadata sync sends redacted auth reporting plus an idempotency key, workspace id, and project metadata envelopes.",
154
154
  "Production metadata sync retries safe transient transport failures with the same idempotency key.",
155
155
  "Persists local-test and production sync metadata, project ids, fingerprints, durable queue status, idempotency metadata, and conflict reports only.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appfleet-cli/cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "bin": {