@scalebun/cli 2.0.6 → 2.0.7

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.
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.registerOtaSignCommand = registerOtaSignCommand;
40
+ const fs = __importStar(require("fs"));
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const credentials_1 = require("../utils/credentials");
43
+ const client_1 = require("../api/client");
44
+ const resolve_1 = require("../utils/resolve");
45
+ const output_1 = require("../utils/output");
46
+ const prompt_1 = require("../utils/prompt");
47
+ const signing_1 = require("../utils/signing");
48
+ const native_id_1 = require("../utils/native-id");
49
+ const bundle_1 = require("../utils/bundle");
50
+ const ota_keys_1 = require("./ota-keys");
51
+ const bundleStore_1 = require("../utils/bundleStore");
52
+ /**
53
+ * Sign a bundle you already built, without uploading it.
54
+ *
55
+ * WHY THIS EXISTS: `ota publish` builds, signs and uploads in one shot, which
56
+ * forces whoever holds the signing key to also be whoever performs the release.
57
+ * Plenty of teams want those to be different people — the key lives on a build
58
+ * machine, the release is driven from the dashboard by someone who should never
59
+ * see it. This command splits the two: it signs locally and writes a small
60
+ * ticket beside the bundle. The private key never moves.
61
+ *
62
+ * WHY IT MUST TALK TO THE SERVER: under SB-OTA-RSA-SHA256-V1 the signature
63
+ * covers releaseId, bundleId and releaseSequence, and the server reserves those.
64
+ * Signing cannot happen fully offline, so this presigns first, then signs the
65
+ * identity it was given. That reservation carries an expiry, which is why the
66
+ * ticket records one and the picker shows it.
67
+ */
68
+ function registerOtaSignCommand(ota) {
69
+ ota
70
+ .command('sign')
71
+ .description('Sign a locally built bundle for upload from the dashboard')
72
+ .option('--app-id <id>', 'Scalebun app ID (resolved from scalebun.json when omitted)')
73
+ .option('--channel <name>', 'Channel this release targets', 'production')
74
+ .option('--bundle <path>', 'Bundle to sign, anywhere on disk (skips the picker — use this in CI)')
75
+ .option('--dir <dir>', 'Folder to list bundles from (default: ./bundles)')
76
+ .option('--key-dir <dir>', 'Directory holding the RSA signing key (default: ./.scalebun)')
77
+ .option('--key-id <id>', 'Signing key id (defaults to the local key id)')
78
+ .option('--target-version <range>', 'App version range this release targets', '>=1.0.0')
79
+ .action(async (opts) => {
80
+ const creds = (0, credentials_1.readCredentials)();
81
+ if (!creds)
82
+ (0, output_1.fail)('Not signed in.', ['Run `scalebun login` first.'], output_1.ExitCode.Usage);
83
+ const appId = await (0, resolve_1.resolveAppId)({ appId: opts.appId });
84
+ const client = new client_1.ApiClient(creds);
85
+ // ── pick the bundle ──────────────────────────────────────────────────
86
+ let chosen;
87
+ if (opts.bundle) {
88
+ // Any path, not just bundles/ — `ota bundle build --output <dir>` is a
89
+ // supported thing to do, and a signature belongs beside whatever file it
90
+ // signs. Try it as a path first, then as a name within the listing.
91
+ chosen =
92
+ (0, bundleStore_1.loadBundleAt)(opts.bundle) ??
93
+ (0, bundleStore_1.listLocalBundles)(opts.dir).find((b) => b.name === opts.bundle);
94
+ if (!chosen) {
95
+ (0, output_1.fail)(`No such bundle: ${opts.bundle}`, ['Pass a path to a .bundle file, or a name from bundles/.'], output_1.ExitCode.Usage);
96
+ }
97
+ }
98
+ else {
99
+ const all = (0, bundleStore_1.listLocalBundles)(opts.dir);
100
+ if (!all.length) {
101
+ (0, output_1.fail)(`No local bundles found in ${opts.dir ?? 'bundles/'}.`, ['Build one first: scalebun ota bundle --platform android'], output_1.ExitCode.Usage);
102
+ }
103
+ if (!process.stdin.isTTY) {
104
+ // One bundle is unambiguous, so CI does not need to name it. More than
105
+ // one IS ambiguous, and guessing there would eventually sign the wrong
106
+ // build — which is the whole failure this picker exists to prevent.
107
+ if (all.length > 1) {
108
+ (0, output_1.fail)(`${all.length} bundles exist and this shell is not interactive.`, [
109
+ 'Pass --bundle <path> to choose one explicitly. Newest first:',
110
+ ...all.slice(0, 3).map((x) => ` ${x.name}`),
111
+ ], output_1.ExitCode.Usage);
112
+ }
113
+ console.log(chalk_1.default.dim(`Signing the only local bundle: ${all[0].name}`));
114
+ chosen = all[0];
115
+ }
116
+ else {
117
+ // Show every bundle, not just unsigned ones: re-signing is normal (an
118
+ // earlier ticket expires) and hiding signed builds would make the list
119
+ // lie about what is on disk.
120
+ chosen = await (0, prompt_1.select)('Which bundle do you want to sign?', all.map((b) => ({ label: (0, bundleStore_1.describeBundle)(b), value: b })));
121
+ }
122
+ }
123
+ const b = chosen;
124
+ if (!b.meta) {
125
+ (0, output_1.fail)(`${b.name} has no build metadata beside it.`, [
126
+ `Expected: ${b.metaPath}`,
127
+ 'It was built by an older CLI, or moved without its sidecar.',
128
+ 'Rebuild it with `scalebun ota bundle build`.',
129
+ ], output_1.ExitCode.Usage);
130
+ }
131
+ if ((0, bundleStore_1.sigState)(b) === 'signed') {
132
+ console.log(chalk_1.default.dim('\n This bundle already has a valid signature; signing again replaces it.'));
133
+ }
134
+ // ── load the key ─────────────────────────────────────────────────────
135
+ const privatePem = (0, ota_keys_1.readLocalPrivatePem)(opts.keyDir);
136
+ if (!privatePem) {
137
+ (0, output_1.fail)('No signing key found.', [
138
+ 'Generate one: scalebun ota keys generate --app-id ' + appId,
139
+ 'Or point at an existing key with --key-dir <dir>.',
140
+ ], output_1.ExitCode.Usage);
141
+ }
142
+ const keyId = opts.keyId ?? (0, ota_keys_1.readLocalKeyId)(opts.keyDir);
143
+ if (!keyId) {
144
+ (0, output_1.fail)('A signing key is present but its key id is unknown.', ['Pass --key-id <id>.'], output_1.ExitCode.Usage);
145
+ }
146
+ // ── reserve identity ─────────────────────────────────────────────────
147
+ const platform = b.meta.platform;
148
+ const rnVersion = (0, bundle_1.detectProjectRnVersion)(process.cwd());
149
+ const nativeApplicationId = (0, native_id_1.detectNativeApplicationId)(process.cwd(), platform);
150
+ let presigned;
151
+ try {
152
+ presigned = await client.post(`/saas/apps/${appId}/ota/bundles/presign`, {
153
+ channelId: opts.channel,
154
+ platform,
155
+ nativeApplicationId,
156
+ sha256: b.meta.sha256,
157
+ sizeBytes: b.meta.size,
158
+ rnVersion: rnVersion ?? undefined,
159
+ });
160
+ }
161
+ catch (err) {
162
+ (0, output_1.fail)(`Could not reserve a release: ${err?.message ?? err}`, [], output_1.ExitCode.Rejected);
163
+ return;
164
+ }
165
+ if (!presigned.projectId ||
166
+ !presigned.applicationId ||
167
+ !presigned.releaseId ||
168
+ presigned.releaseSequence == null) {
169
+ (0, output_1.fail)('The server did not return SB-OTA-RSA-SHA256-V1 release identity.', ['The signature has to cover it, so signing cannot continue without it.'], output_1.ExitCode.Rejected);
170
+ }
171
+ // ── sign, locally ────────────────────────────────────────────────────
172
+ const payload = {
173
+ signatureAlgorithm: 'SB-OTA-RSA-SHA256-V1',
174
+ hashAlgorithm: 'SHA-256',
175
+ keyId: keyId,
176
+ projectId: presigned.projectId,
177
+ applicationId: presigned.applicationId,
178
+ releaseId: presigned.releaseId,
179
+ bundleId: presigned.bundleId,
180
+ platform: platform,
181
+ artifactType: 'full',
182
+ targetAppVersion: opts.targetVersion,
183
+ targetRuntimeVersion: rnVersion ?? '',
184
+ minimumSdkVersion: presigned.minimumSdkVersion ?? '',
185
+ releaseSequence: presigned.releaseSequence,
186
+ issuedAtEpochSeconds: Math.floor(Date.now() / 1000),
187
+ expiresAtEpochSeconds: 0,
188
+ artifactSize: b.meta.size,
189
+ artifactSha256: b.meta.sha256,
190
+ baseBundleId: '',
191
+ baseArtifactSha256: '',
192
+ resultArtifactSha256: b.meta.sha256,
193
+ };
194
+ const envelope = (0, signing_1.buildReleaseEnvelope)(payload, privatePem);
195
+ const uploadExpiresAt = new Date(Date.now() + presigned.expiresIn * 1000).toISOString();
196
+ const ticket = {
197
+ protocol: envelope.protocol,
198
+ keyId: envelope.keyId,
199
+ signedPayload: envelope.signedPayload,
200
+ signature: envelope.signature,
201
+ bundleId: presigned.bundleId,
202
+ releaseId: presigned.releaseId,
203
+ releaseSequence: presigned.releaseSequence,
204
+ appId,
205
+ artifactSha256: b.meta.sha256,
206
+ signedAt: new Date().toISOString(),
207
+ uploadExpiresAt,
208
+ uploadUrl: presigned.uploadUrl,
209
+ };
210
+ fs.writeFileSync((0, bundleStore_1.sigPathFor)(b.bundlePath), JSON.stringify(ticket, null, 2) + '\n');
211
+ // Clear out tickets that can never be used again. Re-signing the same
212
+ // bundle already replaced its own; this removes the dead ones left behind
213
+ // for OTHER bundles, which are what make a file picker dangerous — they
214
+ // look exactly like a usable signature and are not.
215
+ const sweptExpired = (0, bundleStore_1.pruneExpiredSignatures)(opts.dir);
216
+ const mins = Math.round(presigned.expiresIn / 60);
217
+ console.log(`\n🔏 Signed ${b.name}`);
218
+ console.log(` Key : ${keyId}`);
219
+ console.log(` Release : ${presigned.releaseId} (sequence ${presigned.releaseSequence})`);
220
+ console.log(` Signature : ${(0, bundleStore_1.sigPathFor)(b.bundlePath)}`);
221
+ console.log(chalk_1.default.yellow(`\n Upload within ${mins} minutes — the reserved slot expires after that.`));
222
+ if (sweptExpired.length) {
223
+ console.log(chalk_1.default.dim(` Removed ${sweptExpired.length} expired signature${sweptExpired.length === 1 ? '' : 's'}: ${sweptExpired.join(', ')}`));
224
+ }
225
+ console.log(' Upload the bundle and this .sbsig together from the dashboard,');
226
+ console.log(' under OTA → Bundles → Upload.\n');
227
+ console.log(chalk_1.default.dim(' The signature contains no secret; your private key never left this machine.\n'));
228
+ (0, prompt_1.closePrompts)();
229
+ });
230
+ }
231
+ //# sourceMappingURL=ota-sign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ota-sign.js","sourceRoot":"","sources":["../../src/commands/ota-sign.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quickstart.d.ts","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiDpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsF1D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmThE"}
1
+ {"version":3,"file":"quickstart.d.ts","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuDpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsF1D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqdhE"}
@@ -282,13 +282,27 @@ function registerQuickstartCommand(program) {
282
282
  // signing only binds where a key is pinned in the app's own config.
283
283
  step(4, 'Bundle signing (recommended)');
284
284
  const keyPath = path.resolve('.scalebun', 'ota-signing-key.pem');
285
+ // Drives the closing advice in step 7: an app with no signing key can
286
+ // publish, but only on SHA-256 integrity, and nothing stops a release
287
+ // the customer's key never authorised.
288
+ let signingReady = false;
285
289
  if (fs.existsSync(keyPath)) {
286
290
  console.log(`✅ Signing key already present: ${keyPath}`);
291
+ signingReady = true;
287
292
  }
288
293
  else {
289
294
  const yn = (await ask(' No signing key found. Generate + register one now? [Y/n]: ')).trim().toLowerCase();
290
295
  if (yn !== 'n') {
291
- const keyId = `quickstart-${new Date().toISOString().slice(0, 7)}`;
296
+ // Let the operator name the key. It is the label they will see in the
297
+ // dashboard and the id every signed release carries, and it outlives
298
+ // this setup by years — `quickstart-2026-09` says nothing about which
299
+ // app, environment or team it belongs to once there are several.
300
+ const defaultKeyId = `${(appLabel || 'app').toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '').slice(0, 24) || 'app'}-${new Date().toISOString().slice(0, 7)}`;
301
+ const rawKeyId = (await ask(` Name this signing key [${defaultKeyId}]: `)).trim();
302
+ const keyId = (rawKeyId || defaultKeyId).replace(/[^A-Za-z0-9._-]+/g, '-');
303
+ if (rawKeyId && keyId !== rawKeyId) {
304
+ console.log(chalk_1.default.dim(` Using "${keyId}" — a key id may only contain letters, digits, dot, dash or underscore.`));
305
+ }
292
306
  const { privatePem, publicPem, info } = (0, signing_1.generateRsaKeyPair)();
293
307
  fs.mkdirSync(path.dirname(keyPath), { recursive: true });
294
308
  fs.writeFileSync(keyPath, privatePem, { mode: 0o600 });
@@ -303,7 +317,7 @@ function registerQuickstartCommand(program) {
303
317
  publicKey: publicPem,
304
318
  keyId,
305
319
  algorithm: 'RSA_SHA256',
306
- name: `quickstart ${new Date().toISOString().slice(0, 10)}`,
320
+ name: keyId,
307
321
  });
308
322
  // Registering only says "trust this key". Until possession is proven
309
323
  // the key is not ACTIVE and every promote is refused as high-risk
@@ -322,6 +336,7 @@ function registerQuickstartCommand(program) {
322
336
  console.log(chalk_1.default.dim(' Finish it with: scalebun ota keys verify'));
323
337
  }
324
338
  }
339
+ signingReady = true;
325
340
  console.log(` 🔏 RSA-${info.modulusBits} key generated (${keyPath}) and public half registered.`);
326
341
  console.log(` Key ID: ${keyId} Fingerprint: SHA-256:${info.fingerprintDisplay.slice(0, 23)}…`);
327
342
  console.log(` Git: ${gitignoreOutcome}`);
@@ -333,6 +348,65 @@ function registerQuickstartCommand(program) {
333
348
  // projectId wrong — appId is the easy wrong guess, both are `cm…`
334
349
  // cuids — and the device downloads the release, refuses it with
335
350
  // PROJECT_MISMATCH, and reverts. The CLI knows both ids.
351
+ // Embed an UNUSED standby key alongside the active one.
352
+ //
353
+ // Trust only changes at store speed — the anchor is compiled in, so a
354
+ // key the binary does not already carry can never be added over the
355
+ // air. With a single key, rotating (or recovering from a leak) means
356
+ // shipping a native build and waiting for adoption while still signing
357
+ // with the key you are trying to retire. A standby the device already
358
+ // trusts turns that into: start signing with it.
359
+ //
360
+ // It is deliberately NOT registered with the server. Pre-trusted but
361
+ // unusable is the point: nothing can sign with it until you choose to
362
+ // register it, so it costs nothing to carry and is there when needed.
363
+ //
364
+ // Resolved HERE, above the per-platform writes, because it used to be
365
+ // generated inside the Android branch — so an iOS app got the active
366
+ // key and no standby, and the rotation path the standby exists for
367
+ // did not exist on iOS at all.
368
+ const standbyId = `${keyId}-standby`;
369
+ const standbyPath = path.join(path.dirname(keyPath), 'ota-standby-key.pem');
370
+ const standbyPubPath = path.join(path.dirname(keyPath), 'ota-standby-key.pub.pem');
371
+ let standbyPem = null;
372
+ let standbyIsNew = false;
373
+ if (projectId) {
374
+ try {
375
+ if (!fs.existsSync(standbyPath)) {
376
+ const standby = (0, signing_1.generateRsaKeyPair)();
377
+ fs.writeFileSync(standbyPath, standby.privatePem, { mode: 0o600 });
378
+ (0, credentials_1.restrictToCurrentUser)(standbyPath, 'your OTA standby signing key');
379
+ fs.writeFileSync(standbyPubPath, standby.publicPem);
380
+ standbyPem = standby.publicPem;
381
+ standbyIsNew = true;
382
+ }
383
+ else if (fs.existsSync(standbyPubPath)) {
384
+ // Already generated on an earlier run. Re-read it so a project
385
+ // that gains an iOS app later still gets the standby embedded.
386
+ standbyPem = fs.readFileSync(standbyPubPath, 'utf8');
387
+ }
388
+ }
389
+ catch (err) {
390
+ console.log(chalk_1.default.yellow(` ⚠️ Could not prepare the standby key: ${err.message}`));
391
+ }
392
+ }
393
+ /** Write active + standby into one platform's anchor. */
394
+ const embedKeys = (write) => {
395
+ const res = write({
396
+ cwd: process.cwd(),
397
+ projectId: projectId,
398
+ keyId,
399
+ publicKeyPem: publicPem,
400
+ });
401
+ if (!standbyPem)
402
+ return res;
403
+ return write({
404
+ cwd: process.cwd(),
405
+ projectId: projectId,
406
+ keyId: standbyId,
407
+ publicKeyPem: standbyPem,
408
+ });
409
+ };
336
410
  if (!projectId) {
337
411
  console.log(chalk_1.default.dim(' Trust anchor skipped — project id could not be resolved.'));
338
412
  }
@@ -341,13 +415,8 @@ function registerQuickstartCommand(program) {
341
415
  }
342
416
  else {
343
417
  try {
344
- const res = (0, trustAnchor_1.writeAndroidTrustAnchor)({
345
- cwd: process.cwd(),
346
- projectId,
347
- keyId,
348
- publicKeyPem: publicPem,
349
- });
350
- console.log(` ✅ Trust anchor written: ${res.path}`);
418
+ const res = embedKeys(trustAnchor_1.writeAndroidTrustAnchor);
419
+ console.log(` ✅ Android trust anchor written: ${res.path}`);
351
420
  console.log(chalk_1.default.dim(` projectId ${projectId} · trusts ${res.keyIds.join(', ')}` +
352
421
  (res.merged ? ' (existing keys preserved)' : '')));
353
422
  console.log(chalk_1.default.dim(' Rebuild the app so the device enforces this key.'));
@@ -356,7 +425,48 @@ function registerQuickstartCommand(program) {
356
425
  console.log(chalk_1.default.yellow(` ⚠️ Could not write the trust anchor: ${err.message}`));
357
426
  }
358
427
  }
359
- console.log(chalk_1.default.dim(' iOS: add the SPKI key to your app bundle (ScaleBunOtaKeys.plist)'));
428
+ // iOS, written rather than described same reasoning as Android
429
+ // above, plus one failure Android does not have. The file can be
430
+ // correct and still not ship, because Xcode copies only what the
431
+ // target references; the device then builds an empty registry and
432
+ // refuses every release. So the one step the CLI cannot do is the
433
+ // one it has to be loudest about.
434
+ if (!projectId) {
435
+ // Already reported above; nothing useful to add per-platform.
436
+ }
437
+ else if (!(0, trustAnchor_1.hasIosProject)(process.cwd())) {
438
+ console.log(chalk_1.default.dim(' No ios/<App> directory — skipping the iOS trust anchor.'));
439
+ }
440
+ else {
441
+ try {
442
+ const ios = embedKeys(trustAnchor_1.writeIosTrustAnchor);
443
+ console.log(` ✅ iOS trust anchor written: ${ios.path}`);
444
+ console.log(chalk_1.default.dim(` projectId ${projectId} · trusts ${ios.keyIds.join(', ')}` +
445
+ (ios.merged ? ' (existing keys preserved)' : '')));
446
+ if (!ios.inXcodeResources) {
447
+ console.log(chalk_1.default.yellow(` ⚠️ Not yet in the Xcode project. Open the workspace, drag`));
448
+ console.log(chalk_1.default.yellow(` ${trustAnchor_1.IOS_ANCHOR_FILENAME} into the app group and tick your app target`));
449
+ console.log(chalk_1.default.yellow(' so it lands in Build Phases → Copy Bundle Resources.'));
450
+ console.log(chalk_1.default.dim(' Until then the app ships without it and refuses every'));
451
+ console.log(chalk_1.default.dim(' release with UNKNOWN_KEY_ID.'));
452
+ }
453
+ else {
454
+ console.log(chalk_1.default.dim(' Already referenced by the Xcode project — rebuild to enforce it.'));
455
+ }
456
+ }
457
+ catch (err) {
458
+ console.log(chalk_1.default.yellow(` ⚠️ Could not write the iOS trust anchor: ${err.message}`));
459
+ }
460
+ }
461
+ // Printed once, after both platforms: the standby is one key pair
462
+ // embedded in whichever anchors exist, not a per-platform artifact.
463
+ if (standbyIsNew) {
464
+ console.log(` ✅ Standby key embedded too: ${standbyId}`);
465
+ console.log(chalk_1.default.dim(' Not registered, so nothing can sign with it yet. To rotate later:'));
466
+ console.log(chalk_1.default.dim(` scalebun ota keys register --key-id ${standbyId} --public-key ${standbyPubPath}`));
467
+ console.log(chalk_1.default.dim(' Devices already trust it, so that rotation needs NO app update.'));
468
+ console.log(chalk_1.default.yellow(` Keep ${standbyPath} offline — it is your recovery key.`));
469
+ }
360
470
  console.log(chalk_1.default.dim(' The SDK verifies every release natively against the embedded key and'));
361
471
  console.log(chalk_1.default.dim(' REFUSES any that does not match. See docs/ota/SB-OTA-RSA-SHA256-V1.md.'));
362
472
  }
@@ -421,7 +531,21 @@ function registerQuickstartCommand(program) {
421
531
  console.log(` ${chalk_1.default.cyan('scalebun ota pause')} --app-id ${appId} ${chalk_1.default.dim('# stop new deliveries')}`);
422
532
  console.log(` ${chalk_1.default.cyan('scalebun ota rollback')} --app-id ${appId} ${chalk_1.default.dim('# revert every device')}`);
423
533
  console.log(` ${chalk_1.default.cyan('scalebun ci init')} ${chalk_1.default.dim('# generate a CI workflow (GitHub/GitLab)')}`);
424
- console.log(`\n Dashboard: releases, adoption and rollback analytics live under ${chalk_1.default.bold('OTA')} for ${chalk_1.default.bold(appLabel || appId)}.\n`);
534
+ console.log(`\n Dashboard: releases, adoption and rollback analytics live under ${chalk_1.default.bold('OTA')} for ${chalk_1.default.bold(appLabel || appId)}.`);
535
+ // Say what to do next, and be specific about the cost of skipping it.
536
+ // Without a signing key a release still ships — SHA-256 proves the bytes
537
+ // arrived intact, but nothing proves WHO produced them, so a device will
538
+ // accept any bundle whose hash matches what the server declared.
539
+ if (!signingReady) {
540
+ console.log(chalk_1.default.yellow(`\n ⚠️ No signing key is set up for this app.`));
541
+ console.log(' Releases will ship on SHA-256 integrity alone: the bytes are checked,');
542
+ console.log(' but nothing proves who signed them. Set one up next — one command,');
543
+ console.log(' and it registers and proves ownership for you:');
544
+ console.log(chalk_1.default.green(`\n scalebun ota keys generate --app-id ${appId}`));
545
+ console.log(chalk_1.default.dim('\n Then rebuild the app: the public key is compiled into the binary,'));
546
+ console.log(chalk_1.default.dim(' so it cannot be delivered over the air.'));
547
+ }
548
+ console.log('');
425
549
  }
426
550
  catch (err) {
427
551
  console.error(`\n❌ Quickstart stopped: ${err?.message ?? err}`);
@@ -1 +1 @@
1
- {"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -8,6 +8,7 @@ const login_1 = require("./commands/login");
8
8
  const doctor_1 = require("./commands/doctor");
9
9
  const ota_publish_1 = require("./commands/ota-publish");
10
10
  const ota_bundle_1 = require("./commands/ota-bundle");
11
+ const ota_sign_1 = require("./commands/ota-sign");
11
12
  const ota_channels_1 = require("./commands/ota-channels");
12
13
  const ota_delete_bundle_1 = require("./commands/ota-delete-bundle");
13
14
  const ota_keys_1 = require("./commands/ota-keys");
@@ -193,6 +194,7 @@ program
193
194
  const ota = program.command('ota').description('OTA update management');
194
195
  (0, ota_publish_1.registerOtaPublishCommand)(ota);
195
196
  (0, ota_bundle_1.registerOtaBundleCommand)(ota);
197
+ (0, ota_sign_1.registerOtaSignCommand)(ota);
196
198
  (0, ota_channels_1.registerOtaChannelsCommand)(ota);
197
199
  (0, ota_delete_bundle_1.registerOtaDeleteBundleCommand)(ota);
198
200
  (0, ota_keys_1.registerOtaKeysCommand)(ota);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AACpC,4CAAwD;AACxD,8CAA0D;AAC1D,wDAAmE;AACnE,sDAAiE;AACjE,0DAAqE;AACrE,oEAA8E;AAC9E,kDAA6D;AAC7D,wDAAoE;AACpE,8CAA0D;AAC1D,kEAA6E;AAC7E,gDAA2D;AAC3D,sDAAuF;AACvF,kDAA0B;AAC1B,mCAA0C;AAC1C,wCAA8D;AAC9D,4CAAqD;AACrD,6EAA6E;AAC7E,2CAA0D;AAC1D,0CAAuD;AACvD,4CAA2E;AAC3E,wDAAoE;AACpE,wDAAmE;AACnE,6CAA6C;AAC7C,yCAAkF;AAClF,2CAAqD;AAErD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,4EAA4E;AAC5E,MAAM,OAAO,GAAG,iDAAiD,CAAC;AAElE,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,mCAAmC;AACnC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE;;;;;;;GAOG;AACH,KAAK,UAAU,WAAW;IACxB,IAAI,IAAA,sBAAa,GAAE,EAAE,CAAC;QACpB,6EAA6E;QAC7E,4EAA4E;QAC5E,8EAA8E;QAC9E,4EAA4E;QAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAA,uBAAY,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,iBAAM,EAAC,IAAI,EAAE,CAAC,GAAG,iBAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,eAAM,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,IAAA,iBAAY,GAAE,CAAC;IACf,0EAA0E;IAC1E,0EAA0E;IAC1E,8BAA8B;IAC9B,MAAM,GAAG,GAAG,IAAA,oBAAU,GAAE,CAAC;IACzB,IAAA,yBAAiB,EAAC,GAAG,CAAC,CAAC;IACvB,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB;IACvB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,IAAA,eAAM,GAAE;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,IAAA,eAAO,GAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB;IAC9B,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACvB,MAAM,IAAA,gBAAQ,EAAC,OAAO,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IACD,MAAM,WAAW,EAAE,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAc;IACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE3C;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAAC,IAAc;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;IAErB,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAA,sBAAa,GAAE,CAAC;QAC/B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,IAAA,kBAAS,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,mEAAmE,CAAC,CAAC;QACnG,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACtF,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;QACvF,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,GAAG,CAAC,CAAC;IACjD,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,OAAO,CAAC,OAAO,CAAC;IACjB,2EAA2E;IAC3E,+EAA+E;KAC9E,MAAM,CAAC,aAAa,EAAE,qDAAqD,CAAC;KAC5E,MAAM,CAAC,WAAW,EAAE,2DAA2D,CAAC;IACjF,0EAA0E;IAC1E,4EAA4E;IAC5E,oEAAoE;KACnE,MAAM,CAAC,QAAQ,EAAE,oDAAoD,CAAC;KACtE,MAAM,CAAC,mBAAmB,EAAE,mDAAmD,CAAC;IACjF,0EAA0E;IAC1E,2EAA2E;IAC3E,qDAAqD;KACpD,QAAQ,CAAC,cAAc,CAAC;IACzB,wEAAwE;IACxE,uEAAuE;IACvE,8DAA8D;KAC7D,kBAAkB,EAAE;KACpB,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,EAAE;IAChC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,iBAAiB,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEL,4EAA4E;AAC5E,4EAA4E;AAC5E,4DAA4D;AAC5D,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,sCAAyB,EAAC,OAAO,CAAC,CAAC;AACnC,IAAA,gCAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAE9B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;AACxE,IAAA,uCAAyB,EAAC,GAAG,CAAC,CAAC;AAC/B,IAAA,qCAAwB,EAAC,GAAG,CAAC,CAAC;AAC9B,IAAA,yCAA0B,EAAC,GAAG,CAAC,CAAC;AAChC,IAAA,kDAA8B,EAAC,GAAG,CAAC,CAAC;AACpC,IAAA,iCAAsB,EAAC,GAAG,CAAC,CAAC;AAC5B,IAAA,wCAA0B,EAAC,GAAG,CAAC,CAAC;AAChC,IAAA,wCAA0B,EAAC,GAAG,CAAC,CAAC;AAChC,IAAA,uCAAyB,EAAC,GAAG,CAAC,CAAC;AAC/B,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAE/B;;;;;;GAMG;AACH,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,OAAO,EAAE,iDAAiD,CAAC;KAClE,MAAM,CAAC,GAAG,EAAE;IACX,IAAA,yBAAiB,GAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAC;AACnG,IAAA,iDAA8B,EAAC,OAAO,CAAC,CAAC;AACxC,IAAA,+BAAqB,EAAC,OAAO,CAAC,CAAC;AAE/B,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,KAAK,iBAAiB,EAAE,CAAC;AAC3B,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}