@scalebun/cli 1.0.1 → 1.6.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.
Files changed (52) hide show
  1. package/lib/api/client.d.ts +6 -0
  2. package/lib/api/client.d.ts.map +1 -1
  3. package/lib/api/client.js +56 -2
  4. package/lib/api/client.js.map +1 -1
  5. package/lib/commands/ci-init.d.ts.map +1 -1
  6. package/lib/commands/ci-init.js +10 -1
  7. package/lib/commands/ci-init.js.map +1 -1
  8. package/lib/commands/doctor.d.ts +5 -0
  9. package/lib/commands/doctor.d.ts.map +1 -1
  10. package/lib/commands/doctor.js +11 -2
  11. package/lib/commands/doctor.js.map +1 -1
  12. package/lib/commands/login.d.ts +12 -0
  13. package/lib/commands/login.d.ts.map +1 -1
  14. package/lib/commands/login.js +112 -89
  15. package/lib/commands/login.js.map +1 -1
  16. package/lib/commands/ota-bundle.d.ts.map +1 -1
  17. package/lib/commands/ota-bundle.js +2 -0
  18. package/lib/commands/ota-bundle.js.map +1 -1
  19. package/lib/commands/ota-delete-bundle.d.ts +8 -0
  20. package/lib/commands/ota-delete-bundle.d.ts.map +1 -1
  21. package/lib/commands/ota-delete-bundle.js +60 -0
  22. package/lib/commands/ota-delete-bundle.js.map +1 -1
  23. package/lib/commands/ota-keys.d.ts +3 -0
  24. package/lib/commands/ota-keys.d.ts.map +1 -1
  25. package/lib/commands/ota-keys.js +1 -0
  26. package/lib/commands/ota-keys.js.map +1 -1
  27. package/lib/commands/ota-publish.d.ts +10 -0
  28. package/lib/commands/ota-publish.d.ts.map +1 -1
  29. package/lib/commands/ota-publish.js +108 -11
  30. package/lib/commands/ota-publish.js.map +1 -1
  31. package/lib/commands/quickstart.d.ts +4 -0
  32. package/lib/commands/quickstart.d.ts.map +1 -0
  33. package/lib/commands/quickstart.js +274 -0
  34. package/lib/commands/quickstart.js.map +1 -0
  35. package/lib/index.js +9 -1
  36. package/lib/index.js.map +1 -1
  37. package/lib/utils/bundle.d.ts +33 -0
  38. package/lib/utils/bundle.d.ts.map +1 -1
  39. package/lib/utils/bundle.js +62 -17
  40. package/lib/utils/bundle.js.map +1 -1
  41. package/lib/utils/credentials.d.ts +12 -1
  42. package/lib/utils/credentials.d.ts.map +1 -1
  43. package/lib/utils/credentials.js +40 -1
  44. package/lib/utils/credentials.js.map +1 -1
  45. package/lib/utils/transportSecurity.d.ts +36 -0
  46. package/lib/utils/transportSecurity.d.ts.map +1 -0
  47. package/lib/utils/transportSecurity.js +74 -0
  48. package/lib/utils/transportSecurity.js.map +1 -0
  49. package/lib/utils/ui.d.ts.map +1 -1
  50. package/lib/utils/ui.js +20 -8
  51. package/lib/utils/ui.js.map +1 -1
  52. package/package.json +1 -1
@@ -1,8 +1,50 @@
1
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
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.registerOtaDeleteBundleCommand = registerOtaDeleteBundleCommand;
37
+ const readline = __importStar(require("readline"));
4
38
  const credentials_1 = require("../utils/credentials");
5
39
  const client_1 = require("../api/client");
40
+ /**
41
+ * `scalebun ota delete-bundle` — permanent, irreversible artifact deletion.
42
+ *
43
+ * It asks first. This used to delete on sight: one mis-pasted --bundle-id and
44
+ * the artifact was gone, with devices possibly still running it. `ota rollback`
45
+ * already had this shape (prompt on a TTY, explicit --yes off-TTY); a command
46
+ * whose own description says "permanently" needs it at least as much.
47
+ */
6
48
  function registerOtaDeleteBundleCommand(ota) {
7
49
  ota
8
50
  .command('delete-bundle')
@@ -10,12 +52,30 @@ function registerOtaDeleteBundleCommand(ota) {
10
52
  .description('Delete an OTA bundle permanently')
11
53
  .requiredOption('--app-id <id>', 'Scalebun app ID')
12
54
  .requiredOption('--bundle-id <id>', 'OTA bundle ID to delete')
55
+ .option('--yes', 'Skip the confirmation prompt (required in CI / non-interactive shells)')
13
56
  .action(async (opts) => {
14
57
  const creds = (0, credentials_1.readCredentials)();
15
58
  if (!creds) {
16
59
  console.error('❌ Not logged in. Run `scalebun login` first.');
17
60
  process.exit(1);
18
61
  }
62
+ if (!opts.yes) {
63
+ if (!process.stdin.isTTY) {
64
+ console.error('❌ Refusing to delete without confirmation in a non-interactive shell.\n' +
65
+ ' Re-run with --yes if this is intentional.');
66
+ process.exit(1);
67
+ }
68
+ console.log(`\n⚠️ This permanently deletes bundle ${opts.bundleId} from app ${opts.appId}.\n` +
69
+ ' Devices still running it keep their local copy, but it can never be\n' +
70
+ ' re-served, and any release pointing at it becomes undeliverable.\n');
71
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
72
+ const answer = await new Promise((resolve) => rl.question(' Type the bundle id to confirm: ', resolve));
73
+ rl.close();
74
+ if (answer.trim() !== opts.bundleId) {
75
+ console.log('Aborted — nothing was deleted.');
76
+ return;
77
+ }
78
+ }
19
79
  const client = new client_1.ApiClient(creds);
20
80
  try {
21
81
  console.log(`🗑️ Deleting bundle ${opts.bundleId} from App ${opts.appId}…`);
@@ -1 +1 @@
1
- {"version":3,"file":"ota-delete-bundle.js","sourceRoot":"","sources":["../../src/commands/ota-delete-bundle.ts"],"names":[],"mappings":";;AAIA,wEAwBC;AA3BD,sDAAuD;AACvD,0CAA0C;AAE1C,SAAgB,8BAA8B,CAAC,GAAY;IACzD,GAAG;SACA,OAAO,CAAC,eAAe,CAAC;SACxB,KAAK,CAAC,QAAQ,CAAC;SACf,WAAW,CAAC,kCAAkC,CAAC;SAC/C,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAClD,cAAc,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,IAAyC,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAC5E,MAAM,MAAM,CAAC,MAAM,CAAM,cAAc,IAAI,CAAC,KAAK,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,QAAQ,wBAAwB,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"ota-delete-bundle.js","sourceRoot":"","sources":["../../src/commands/ota-delete-bundle.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,wEAiDC;AA9DD,mDAAqC;AAErC,sDAAuD;AACvD,0CAA0C;AAE1C;;;;;;;GAOG;AACH,SAAgB,8BAA8B,CAAC,GAAY;IACzD,GAAG;SACA,OAAO,CAAC,eAAe,CAAC;SACxB,KAAK,CAAC,QAAQ,CAAC;SACf,WAAW,CAAC,kCAAkC,CAAC;SAC/C,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAClD,cAAc,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;SAC7D,MAAM,CAAC,OAAO,EAAE,wEAAwE,CAAC;SACzF,MAAM,CAAC,KAAK,EAAE,IAAwD,EAAE,EAAE;QACzE,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CACX,yEAAyE;oBACvE,8CAA8C,CACjD,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,GAAG,CACT,yCAAyC,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,KAAK,KAAK;gBAChF,0EAA0E;gBAC1E,uEAAuE,CAC1E,CAAC;YACF,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACtF,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE,CACnD,EAAE,CAAC,QAAQ,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAC3D,CAAC;YACF,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAC5E,MAAM,MAAM,CAAC,MAAM,CAAM,cAAc,IAAI,CAAC,KAAK,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,QAAQ,wBAAwB,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import { Command } from 'commander';
2
+ import * as crypto from 'crypto';
3
+ /** Hex-encoded raw 32-byte ed25519 public key from a Node KeyObject. */
4
+ export declare function rawPublicKeyHex(publicKey: crypto.KeyObject): string;
2
5
  export declare function registerOtaKeysCommand(ota: Command): void;
3
6
  /**
4
7
  * Sign a bundle hash with the locally-held private key.
@@ -1 +1 @@
1
- {"version":3,"file":"ota-keys.d.ts","sourceRoot":"","sources":["../../src/commands/ota-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCpC,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA0JzD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAcf"}
1
+ {"version":3,"file":"ota-keys.d.ts","sourceRoot":"","sources":["../../src/commands/ota-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AA+BjC,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,MAAM,CAInE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA0JzD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAcf"}
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.rawPublicKeyHex = rawPublicKeyHex;
36
37
  exports.registerOtaKeysCommand = registerOtaKeysCommand;
37
38
  exports.signBundleHash = signBundleHash;
38
39
  const crypto = __importStar(require("crypto"));
@@ -1 +1 @@
1
- {"version":3,"file":"ota-keys.js","sourceRoot":"","sources":["../../src/commands/ota-keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ota-keys.js","sourceRoot":"","sources":["../../src/commands/ota-keys.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,0CAIC;AAED,wDA0JC;AASD,wCAiBC;AA1ND,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAC7B,sDAAuD;AACvD,0CAA0C;AAE1C;;;;;;;;;;;;GAYG;AAEH,MAAM,OAAO,GAAG,WAAW,CAAC;AAC5B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAU/C,wEAAwE;AACxE,SAAgB,eAAe,CAAC,SAA2B;IACzD,0EAA0E;IAC1E,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAW,CAAC;IACzE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,sBAAsB,CAAC,GAAY;IACjD,GAAG;SACA,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CACV,0EAA0E,CAC3E;SACA,MAAM,CAAC,eAAe,EAAE,0CAA0C,CAAC;SACnE,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC;SAC7D,MAAM,CACL,aAAa,EACb,6CAA6C,OAAO,GAAG,CACxD;SACA,MAAM,CAAC,SAAS,EAAE,mCAAmC,CAAC;SACtD,MAAM,CACL,KAAK,EAAE,IAKN,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAExD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CACX,qCAAqC,WAAW,KAAK;gBACnD,iFAAiF;gBACjF,oFAAoF,CACvF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAExE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,EAAE,CAAC,aAAa,CACd,WAAW,EACX,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAW;QAC7D,yEAAyE;QACzE,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;QAEF,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,0CAA0C,OAAO,kBAAkB,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,IAAI,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC9D,OAAO,CAAC,KAAK,CACX,2DAA2D,CAC5D,CAAC;gBACF,OAAO,CAAC,KAAK,CACX,2DAA2D,SAAS,EAAE,CACvE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,mBAAmB,EAAE;oBAC7D,SAAS,EAAE,SAAS;oBACpB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;iBAClE,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,KAAK,CACX,qDAAqD,IAAI,CAAC,KAAK,iBAAiB,SAAS,IAAI,CAC9F,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,+DAA+D,CAChE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,4BAA4B,SAAS,IAAI,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CACF,CAAC;IAEJ,GAAG;SACA,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,qDAAqD,CAAC;SAClE,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAClD,cAAc,CAAC,oBAAoB,EAAE,oCAAoC,CAAC;SAC1E,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC;SAC7D,MAAM,CACL,KAAK,EAAE,IAAyD,EAAE,EAAE;QAClE,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,mBAAmB,EAAE;gBAC7D,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,KAAK;aACzB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CACF,CAAC;IAEJ,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yCAAyC,CAAC;SACtD,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAClD,MAAM,CAAC,KAAK,EAAE,IAAuB,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC3B,cAAc,IAAI,CAAC,KAAK,mBAAmB,CAC5C,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CACT,iEAAiE,CAClE,CAAC;gBACF,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACjD,OAAO,CAAC,GAAG,CACT,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAC1F,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAC5B,SAAiB,EACjB,MAAe;IAEf,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,EAC/B,gBAAgB,CACjB,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7C,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,+EAA+E;IAC/E,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/E,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC"}
@@ -12,5 +12,15 @@ export type InstallMode = 'IMMEDIATE' | 'ON_NEXT_RESTART' | 'ON_NEXT_RESUME';
12
12
  * 6. POST /saas/apps/:appId/ota/bundles/:id/promote → configure installMode & rollout
13
13
  * 7. Print success
14
14
  */
15
+ /**
16
+ * Parse `--rollout`, refusing anything that isn't 0-100.
17
+ *
18
+ * This was `parseInt(x, 10) || 100`, which turned BOTH `--rollout 0` and any
19
+ * typo into a 100% rollout — the opposite of what the operator asked for. A
20
+ * dark release (0%) is a documented, legitimate way to promote a bundle without
21
+ * exposing it, so silently inverting it exposes every production device to an
22
+ * untested bundle. Exits rather than guessing.
23
+ */
24
+ export declare function parseRolloutPercent(raw: string | undefined): number;
15
25
  export declare function registerOtaPublishCommand(ota: Command): void;
16
26
  //# sourceMappingURL=ota-publish.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ota-publish.d.ts","sourceRoot":"","sources":["../../src/commands/ota-publish.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAuW5D"}
1
+ {"version":3,"file":"ota-publish.d.ts","sourceRoot":"","sources":["../../src/commands/ota-publish.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAWnE;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAuc5D"}
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.parseRolloutPercent = parseRolloutPercent;
36
37
  exports.registerOtaPublishCommand = registerOtaPublishCommand;
37
38
  const fs = __importStar(require("fs"));
38
39
  const crypto = __importStar(require("crypto"));
@@ -53,6 +54,26 @@ const ota_keys_1 = require("./ota-keys");
53
54
  * 6. POST /saas/apps/:appId/ota/bundles/:id/promote → configure installMode & rollout
54
55
  * 7. Print success
55
56
  */
57
+ /**
58
+ * Parse `--rollout`, refusing anything that isn't 0-100.
59
+ *
60
+ * This was `parseInt(x, 10) || 100`, which turned BOTH `--rollout 0` and any
61
+ * typo into a 100% rollout — the opposite of what the operator asked for. A
62
+ * dark release (0%) is a documented, legitimate way to promote a bundle without
63
+ * exposing it, so silently inverting it exposes every production device to an
64
+ * untested bundle. Exits rather than guessing.
65
+ */
66
+ function parseRolloutPercent(raw) {
67
+ if (raw === undefined || raw === '')
68
+ return 100;
69
+ const n = Number(raw);
70
+ if (!Number.isInteger(n) || n < 0 || n > 100) {
71
+ console.error(`❌ --rollout must be a whole number from 0 to 100 (got "${raw}").\n` +
72
+ ' 0 stages the release without serving it to anyone; 100 serves everyone.');
73
+ process.exit(1);
74
+ }
75
+ return n;
76
+ }
56
77
  function registerOtaPublishCommand(ota) {
57
78
  ota
58
79
  .command('publish')
@@ -70,6 +91,7 @@ function registerOtaPublishCommand(ota) {
70
91
  .option('--release-note <text>', 'Release note for dashboard display and device changelog')
71
92
  .option('--hermes', 'Compile to Hermes bytecode (the default — flag kept for compatibility)')
72
93
  .option('--hermes-disabled', 'Ship plain JS instead of Hermes bytecode (~20-30% slower cold start)')
94
+ .option('--allow-plain-js', 'Publish uncompiled JS if hermesc fails, instead of aborting')
73
95
  .option('--key-dir <dir>', 'Directory holding the ed25519 signing key (default: ./.scalebun)')
74
96
  .option('--skip-bundle', 'Skip react-native bundle (provide --bundle-path instead)')
75
97
  .option('--bundle-path <path>', 'Path to a pre-built bundle file')
@@ -90,6 +112,9 @@ function registerOtaPublishCommand(ota) {
90
112
  process.exit(1);
91
113
  }
92
114
  const installMode = rawInstallMode;
115
+ // Validate BEFORE building: a bad --rollout should cost a second, not a
116
+ // full Hermes compile.
117
+ const rolloutPercent = parseRolloutPercent(opts.rollout);
93
118
  const targetChannel = opts.channelId || opts.channel || 'default';
94
119
  const client = new client_1.ApiClient(creds);
95
120
  const platform = opts.platform;
@@ -102,6 +127,10 @@ function registerOtaPublishCommand(ota) {
102
127
  // The SDK reads it back at boot to prove the bundle it installed is the
103
128
  // one actually executing.
104
129
  const identityToken = crypto.randomBytes(16).toString('hex');
130
+ // Sourcemap outcome tracking — the publish summary must report what
131
+ // actually happened, not what was requested.
132
+ let sourcemapStored = false;
133
+ let sourcemapRegistered = false;
105
134
  // Step 1: Build the bundle (or use pre-built)
106
135
  let bundlePath;
107
136
  let hermesBytecodeVersion = null;
@@ -134,6 +163,7 @@ function registerOtaPublishCommand(ota) {
134
163
  entryFile: opts.entryFile,
135
164
  dev: false,
136
165
  hermes: useHermes,
166
+ allowPlainJs: opts.allowPlainJs ?? false,
137
167
  sourcemap: opts.sourcemap,
138
168
  identityToken,
139
169
  });
@@ -141,6 +171,24 @@ function registerOtaPublishCommand(ota) {
141
171
  hermesBytecodeVersion = result.hermesBytecodeVersion;
142
172
  bundleCarriesMarker = true;
143
173
  console.log(` ✅ Bundle built: ${bundlePath}`);
174
+ // ASSETS DO NOT SHIP OVER OTA.
175
+ //
176
+ // An update is one artifact: the JS/bytecode bundle. Images and fonts
177
+ // are resolved from what the INSTALLED BINARY already contains, so an
178
+ // asset added since the last store build is referenced by the new JS
179
+ // and is not on the device. The update installs cleanly, reports
180
+ // success, and renders a missing image — the worst kind of failure.
181
+ // Metro writes those files next to the bundle and the publish flow
182
+ // has always discarded them without a word. Now it says so.
183
+ if (result.assets.length) {
184
+ const shown = result.assets.slice(0, 5);
185
+ console.log(` ℹ️ This bundle references ${result.assets.length} asset(s). ` +
186
+ 'OTA ships JS only — assets resolve from the installed binary.');
187
+ console.log(` ${shown.join(', ')}${result.assets.length > shown.length ? `, +${result.assets.length - shown.length} more` : ''}`);
188
+ console.log(' Any image or font ADDED since your last store build will be ' +
189
+ 'missing on device. Changing which existing asset you use is fine; ' +
190
+ 'a new one needs a native release (fonts always do).');
191
+ }
144
192
  // You asked for bytecode and didn't get it: that is a failed build,
145
193
  // not a warning. This degradation has shipped silently twice now —
146
194
  // first via `npx hermesc` (not a real package), then via spawnSync's
@@ -252,7 +300,6 @@ function registerOtaPublishCommand(ota) {
252
300
  else {
253
301
  console.log('🚀 Promoting release to active target channel…');
254
302
  try {
255
- const rolloutPercent = parseInt(opts.rollout, 10) || 100;
256
303
  await client.post(`/saas/apps/${opts.appId}/ota/bundles/${presigned.bundleId}/promote`, {
257
304
  targetAppVersion: opts.targetVersion || '>=1.0.0',
258
305
  rolloutPercent,
@@ -282,14 +329,9 @@ function registerOtaPublishCommand(ota) {
282
329
  try {
283
330
  await client.putBytes(presigned.sourcemapUploadUrl, fs.readFileSync(sourcemapPath), 'application/json');
284
331
  console.log(' ✅ Sourcemap uploaded');
285
- if (!opts.keepArtifacts) {
286
- try {
287
- fs.unlinkSync(sourcemapPath);
288
- }
289
- catch {
290
- /* non-fatal */
291
- }
292
- }
332
+ sourcemapStored = true;
333
+ // Cleanup happens AFTER symbolication registration below — the
334
+ // symbols upload reads this same file.
293
335
  }
294
336
  catch (err) {
295
337
  console.warn(` ⚠️ Sourcemap upload failed: ${err.message}\n` +
@@ -299,6 +341,50 @@ function registerOtaPublishCommand(ota) {
299
341
  else if (sourcemapPath && !presigned.sourcemapUploadUrl) {
300
342
  console.warn(' ⚠️ Backend did not return a sourcemap upload URL — is it up to date?');
301
343
  }
344
+ // D6: register the map with SYMBOLICATION, not just storage. The
345
+ // presigned PUT above lands the map in the OTA bundle bucket —
346
+ // `OtaBundle.sourcemapKey` — which NOTHING reads: the symbolication
347
+ // worker only consumes `symbolUpload` rows, written by
348
+ // POST /apps/:appId/symbols. Without this second upload, every
349
+ // `--sourcemap` publish paid to store a map no crash could ever use.
350
+ // That endpoint authenticates with the app's SDK SECRET key (a server
351
+ // credential, deliberately not the client key baked into the binary),
352
+ // so this step is opt-in via SCALEBUN_SDK_SECRET.
353
+ if (sourcemapPath && fs.existsSync(sourcemapPath)) {
354
+ const sdkSecret = process.env.SCALEBUN_SDK_SECRET;
355
+ if (!sdkSecret) {
356
+ console.warn(' ⚠️ SCALEBUN_SDK_SECRET not set — the sourcemap was stored but NOT ' +
357
+ 'registered for crash symbolication. Set the app\'s SDK secret key ' +
358
+ 'in that env var to enable symbolicated stack traces.');
359
+ }
360
+ else {
361
+ console.log('🔣 Registering sourcemap for crash symbolication…');
362
+ try {
363
+ const boundary = `----scalebun${Date.now().toString(16)}`;
364
+ const mapBytes = fs.readFileSync(sourcemapPath);
365
+ const field = (name, value) => `--${boundary}\r\nContent-Disposition: form-data; name="${name}"\r\n\r\n${value}\r\n`;
366
+ const head = Buffer.from(field('platform', 'js') +
367
+ (rnVersion ? field('version', opts.targetVersion ?? '') : '') +
368
+ field('buildUuid', sha256) +
369
+ `--${boundary}\r\nContent-Disposition: form-data; name="file"; filename="bundle.jsbundle.map"\r\nContent-Type: application/json\r\n\r\n`, 'utf-8');
370
+ const tail = Buffer.from(`\r\n--${boundary}--\r\n`, 'utf-8');
371
+ await client.postMultipart(`/apps/${opts.appId}/symbols`, Buffer.concat([head, mapBytes, tail]), `multipart/form-data; boundary=${boundary}`, { 'x-scalebun-secret-key': sdkSecret });
372
+ console.log(' ✅ Sourcemap registered — crashes from this bundle will symbolicate');
373
+ sourcemapRegistered = true;
374
+ }
375
+ catch (err) {
376
+ console.warn(` ⚠️ Symbolication registration failed: ${err.message}`);
377
+ }
378
+ }
379
+ if (!opts.keepArtifacts) {
380
+ try {
381
+ fs.unlinkSync(sourcemapPath);
382
+ }
383
+ catch {
384
+ /* non-fatal */
385
+ }
386
+ }
387
+ }
302
388
  // Step 8: Print detailed success summary
303
389
  const installModeLabel = installMode === 'IMMEDIATE'
304
390
  ? '⚡ IMMEDIATE (SDK restarts the app right after install)'
@@ -313,9 +399,20 @@ function registerOtaPublishCommand(ota) {
313
399
  console.log(` SHA-256: ${finalized.sha256}`);
314
400
  console.log(` Size: ${(finalized.sizeBytes / 1024).toFixed(1)} KB`);
315
401
  if (opts.sourcemap) {
316
- console.log(` Sourcemap: Uploaded (Stack traces will auto-symbolicate)`);
402
+ // Report what actually happened. This line used to print success
403
+ // whenever --sourcemap was passed — even when no map was produced,
404
+ // the upload failed, or SCALEBUN_SDK_SECRET was unset so nothing was
405
+ // registered for symbolication. CI logs then certified symbolication
406
+ // that would not happen, and the first production crash arrived
407
+ // minified.
408
+ const smState = sourcemapRegistered
409
+ ? 'Uploaded and registered ✓ (stack traces will symbolicate)'
410
+ : sourcemapStored
411
+ ? 'Uploaded, NOT registered — set SCALEBUN_SDK_SECRET to symbolicate'
412
+ : 'NOT uploaded — stack traces from this bundle stay minified';
413
+ console.log(` Sourcemap: ${smState}`);
317
414
  }
318
- const rolloutNow = opts.skipPromote ? 0 : parseInt(opts.rollout, 10) || 100;
415
+ const rolloutNow = opts.skipPromote ? 0 : rolloutPercent;
319
416
  console.log('');
320
417
  console.log('Manage this release:');
321
418
  console.log(` scalebun ota releases --app-id ${opts.appId} # see live state`);
@@ -1 +1 @@
1
- {"version":3,"file":"ota-publish.js","sourceRoot":"","sources":["../../src/commands/ota-publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ota-publish.js","sourceRoot":"","sources":["../../src/commands/ota-publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerAppsCommand(program: Command): void;
3
+ export declare function registerQuickstartCommand(program: Command): void;
4
+ //# sourceMappingURL=quickstart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickstart.d.ts","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsFpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8D1D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoJhE"}