@hsuite/smart-engines-cli 1.6.0 → 1.8.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 (67) hide show
  1. package/README.md +59 -9
  2. package/dist/__tests__/helpers/fixtures-image-hygiene.d.ts +18 -0
  3. package/dist/__tests__/helpers/fixtures-image-hygiene.d.ts.map +1 -0
  4. package/dist/__tests__/helpers/fixtures-image-hygiene.js +42 -0
  5. package/dist/__tests__/helpers/fixtures-image-hygiene.js.map +1 -0
  6. package/dist/_lib/baas.d.ts +12 -17
  7. package/dist/_lib/baas.d.ts.map +1 -1
  8. package/dist/_lib/baas.js +13 -1
  9. package/dist/_lib/baas.js.map +1 -1
  10. package/dist/_lib/cluster-convergence.d.ts +8 -0
  11. package/dist/_lib/cluster-convergence.d.ts.map +1 -1
  12. package/dist/_lib/cluster-convergence.js +2 -0
  13. package/dist/_lib/cluster-convergence.js.map +1 -1
  14. package/dist/_lib/cluster.d.ts +16 -10
  15. package/dist/_lib/cluster.d.ts.map +1 -1
  16. package/dist/_lib/cluster.js +23 -4
  17. package/dist/_lib/cluster.js.map +1 -1
  18. package/dist/_lib/framework.js +2 -2
  19. package/dist/_lib/image-hygiene.d.ts +36 -0
  20. package/dist/_lib/image-hygiene.d.ts.map +1 -0
  21. package/dist/_lib/image-hygiene.js +233 -0
  22. package/dist/_lib/image-hygiene.js.map +1 -0
  23. package/dist/_lib/run-fn.d.ts +34 -0
  24. package/dist/_lib/run-fn.d.ts.map +1 -0
  25. package/dist/_lib/run-fn.js +15 -0
  26. package/dist/_lib/run-fn.js.map +1 -0
  27. package/dist/_lib/subscription-client.d.ts +20 -0
  28. package/dist/_lib/subscription-client.d.ts.map +1 -1
  29. package/dist/_lib/subscription-client.js +23 -1
  30. package/dist/_lib/subscription-client.js.map +1 -1
  31. package/dist/_lib/transport.d.ts +62 -0
  32. package/dist/_lib/transport.d.ts.map +1 -0
  33. package/dist/_lib/transport.js +120 -0
  34. package/dist/_lib/transport.js.map +1 -0
  35. package/dist/commands/customer-scope.d.ts +48 -0
  36. package/dist/commands/customer-scope.d.ts.map +1 -0
  37. package/dist/commands/customer-scope.js +89 -0
  38. package/dist/commands/customer-scope.js.map +1 -0
  39. package/dist/commands/deploy.d.ts.map +1 -1
  40. package/dist/commands/deploy.js +3 -2
  41. package/dist/commands/deploy.js.map +1 -1
  42. package/dist/commands/governance.d.ts.map +1 -1
  43. package/dist/commands/governance.js +13 -2
  44. package/dist/commands/governance.js.map +1 -1
  45. package/dist/commands/init.d.ts.map +1 -1
  46. package/dist/commands/init.js +37 -7
  47. package/dist/commands/init.js.map +1 -1
  48. package/dist/commands/personhood.d.ts.map +1 -1
  49. package/dist/commands/personhood.js +9 -4
  50. package/dist/commands/personhood.js.map +1 -1
  51. package/dist/commands/redeploy.d.ts.map +1 -1
  52. package/dist/commands/redeploy.js +3 -2
  53. package/dist/commands/redeploy.js.map +1 -1
  54. package/dist/commands/status.d.ts +45 -0
  55. package/dist/commands/status.d.ts.map +1 -1
  56. package/dist/commands/status.js +149 -1
  57. package/dist/commands/status.js.map +1 -1
  58. package/dist/commands/transactions.d.ts.map +1 -1
  59. package/dist/commands/transactions.js +2 -1
  60. package/dist/commands/transactions.js.map +1 -1
  61. package/dist/commands/verify.d.ts +4 -1
  62. package/dist/commands/verify.d.ts.map +1 -1
  63. package/dist/commands/verify.js +37 -22
  64. package/dist/commands/verify.js.map +1 -1
  65. package/dist/index.js +7 -0
  66. package/dist/index.js.map +1 -1
  67. package/package.json +1 -1
package/README.md CHANGED
@@ -36,10 +36,11 @@ showcase smart-app expects.
36
36
  ```bash
37
37
  hsuite init # writes ./.env.local (testnet)
38
38
  hsuite init --out smart-app/.env.local # custom output path
39
- hsuite init --network devnet # devnet faucet instead
39
+ hsuite init --network devnet # XRPL faucet chain: devnet instead of testnet
40
+ hsuite init --hsuite-network devnet # HSUITE cluster: devnet instead of testnet (orthogonal to --network; or $HSUITE_NETWORK)
40
41
  hsuite init --no-fund # generate wallet only, skip faucet
41
42
  hsuite init --force # overwrite an existing .env.local
42
- hsuite init --gateway https://... # override the cluster gateway URL
43
+ hsuite init --gateway https://... # explicit gateway URL, overrides --hsuite-network
43
44
  ```
44
45
 
45
46
  The generated `.env.local`:
@@ -98,6 +99,42 @@ After this, your smart-app boots in cluster-mode automatically.
98
99
 
99
100
  ---
100
101
 
102
+ ## Plaintext transport: HTTPS by default, one explicit opt-in
103
+
104
+ The CLI mints and carries credentials (`hsuite init`, `hsuite subscribe`), so it
105
+ does not talk plaintext `http://` to a public host. Every command that takes a
106
+ `--server` / `--gateway` — or reaches the validator through
107
+ `_lib/subscription-client.ts` — routes through ONE resolver
108
+ (`src/_lib/transport.ts`); no call site derives the flag from the URL scheme.
109
+
110
+ | Target | Behaviour |
111
+ |---|---|
112
+ | `https://…` | Accepted |
113
+ | `http://localhost`, `http://127.0.0.1`, `http://[::1]` | Accepted — the local-dev flow needs no flag |
114
+ | `http://<cluster-service>.svc[.cluster.local]` | Deferred to the SDK transport policy (which admits it) |
115
+ | any other `http://…` | **Refused** before the client is built |
116
+
117
+ A refusal names the opt-in:
118
+
119
+ ```
120
+ ✗ refusing to send credentials over plaintext http:// to gateway.example.com: the
121
+ smart-engines transport policy admits plain http:// only toward an in-cluster
122
+ service name (*.svc, *.cluster.local). Use https://, or re-run with --insecure
123
+ (or HSUITE_ALLOW_INSECURE=1) to allow it — local development only.
124
+ ```
125
+
126
+ The opt-in is one mechanism, either spelling:
127
+
128
+ ```sh
129
+ hsuite --insecure deploy --manifest ./app.json # global flag, before or after the subcommand
130
+ HSUITE_ALLOW_INSECURE=1 hsuite deploy --manifest ./app.json
131
+ ```
132
+
133
+ It is global (`--insecure` is registered once on the root program, not per
134
+ command) and applies to every command in the same invocation. The flag sets
135
+ `HSUITE_ALLOW_INSECURE=1`; only the exact value `1` counts. Use it only against
136
+ a host you operate yourself.
137
+
101
138
  ## Deployment commands
102
139
 
103
140
  Eight commands take a smart-app from a manifest to a running, manageable
@@ -110,10 +147,11 @@ deployment on the cluster. They all share base flags:
110
147
  | `--app-id <id>` | `DEPLOYED_APP_ID` → `SUBSCRIPTION_APP_ID` | App to act on |
111
148
 
112
149
  Every command constructs exactly **one** `BaasClient`
113
- (`{ hostUrl, appId, pathPrefix: '/host', allowInsecure, timeout }`) and
114
- authenticates it with the env XRPL signerconnecting straight to the public
115
- round-robin gateway (no cluster-discovery factory, whose per-cluster hostnames
116
- aren't reachable from a dev machine).
150
+ (`{ hostUrl, appId, pathPrefix: '/host', allowInsecure, timeout }`, where
151
+ `allowInsecure` comes from the shared resolver above`undefined` unless the
152
+ target is loopback or opted in) and authenticates it with the env XRPL signer —
153
+ connecting straight to the public round-robin gateway (no cluster-discovery
154
+ factory, whose per-cluster hostnames aren't reachable from a dev machine).
117
155
 
118
156
  ### The manifest (one canonical shape)
119
157
 
@@ -165,8 +203,8 @@ same set the smart-app's env schema reads (`XRPL_*`, `SUBSCRIPTION_APP_ID`,
165
203
  deploy-time / CLI-only knobs (e.g. `SUBSCRIPTION_NFT_SERIAL`, `VALIDATOR_API_KEY`)
166
204
  are **not** forwarded. The list lives in
167
205
  `packages/hsuite-cli/src/_lib/runtime-env.ts` (`RUNTIME_ENV_KEYS`), mirroring the
168
- smart-app schema (`apps/showcase/smart-app/src/config/env-validation.ts` in the
169
- hsuite-ecosystem repo).
206
+ smart-app schema (`smart-app/src/config/env-validation.ts` in the
207
+ `HSuiteNetwork/showcase-smart-app` repo).
170
208
 
171
209
  **Precedence:** the forwarded `.env.local` values are the base;
172
210
  **`manifest.backend.env` is overlaid last and WINS** for any key it sets. Use
@@ -263,6 +301,17 @@ The `strategy` field on the manifest/deploy request is **advisory**: a
263
301
  `recreate` request is coerced to `RollingUpdate` for multi-replica apps (with a
264
302
  warning).
265
303
 
304
+ ### Image-hygiene gate (HSUITEPT-5)
305
+
306
+ Right after `docker build` — and before any tag / login / push, also with
307
+ `--skip-build` — `hsuite deploy` scans the built image's compiled output
308
+ (`dist/`, `build/`, `lib/` under the image `WorkingDir`) and **aborts** if it
309
+ ships `.map`, `.d.ts` or `.tsbuildinfo` files: a pentest pulled a customer image
310
+ whose `dist/` read like source. Not skippable. Build the backend with
311
+ `sourceMap` / `declaration` off and `removeComments` on (a production tsconfig),
312
+ or keep those files out of the image (`.dockerignore`). `node_modules/` is never
313
+ scanned.
314
+
266
315
  ### `hsuite deploy` — THE canonical deploy path
267
316
 
268
317
  `hsuite deploy --manifest <file>` is the **single, canonical path** to deploy a
@@ -403,7 +452,8 @@ hsuite subscribe --env .env.local --tier builder
403
452
  ## Companion packages
404
453
 
405
454
  - **[`@hsuite/smart-engines-sdk`](https://www.npmjs.com/package/@hsuite/smart-engines-sdk)** — the underlying SDK that `hsuite` wraps. Use it directly when you need finer-grained control over auth, BaaS calls, or chain operations.
406
- - **[hsuite-ecosystem/apps/showcase](https://github.com/HSuiteNetwork/hsuite-ecosystem/tree/main/apps/showcase)** — a reference NestJS backend + Ionic dApp that demonstrate the full integration. Fork it as a starting point.
455
+ - **[showcase-smart-app](https://github.com/HSuiteNetwork/showcase-smart-app)** — a reference NestJS backend + Ionic dApp that demonstrate the full integration.
456
+ - **[boilerplate-smart-app](https://github.com/HSuiteNetwork/boilerplate-smart-app)** — the fork-and-go starting point for a new smart-app.
407
457
 
408
458
  ---
409
459
 
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Canned answers for the image-hygiene gate legs every `buildAndPush` runs
3
+ * (HSUITEPT-5): `docker inspect` → WorkingDir, `docker create` → container id,
4
+ * `docker cp` → the current {@link hygieneTar}, `docker rm` → nothing.
5
+ *
6
+ * Fold into any fake `execFileSync` / `runFn` as its fallthrough
7
+ * (`return hygieneLeg(file, args)`), so the gate sees a CLEAN image by default
8
+ * and the suite under test keeps asserting only its own legs. Plant an
9
+ * offending file with `hygieneTar = tarWith('dist/main.js.map')`.
10
+ */
11
+ export declare const HYGIENE_CID: string;
12
+ /** Empty archive = clean image. Reassign per test; reset in `beforeEach` where it matters. */
13
+ export declare let hygieneTar: Buffer;
14
+ export declare function setHygieneTar(tar: Buffer): void;
15
+ export declare function hygieneLeg(file: string, args: string[]): unknown;
16
+ /** One-entry ustar archive (enough to plant an offending file). */
17
+ export declare function tarWith(name: string): Buffer;
18
+ //# sourceMappingURL=fixtures-image-hygiene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures-image-hygiene.d.ts","sourceRoot":"","sources":["../../../src/__tests__/helpers/fixtures-image-hygiene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,QAAiB,CAAC;AAE1C,8FAA8F;AAC9F,eAAO,IAAI,UAAU,EAAE,MAA2B,CAAC;AAEnD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAMhE;AAED,mEAAmE;AACnE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hygieneTar = exports.HYGIENE_CID = void 0;
4
+ exports.setHygieneTar = setHygieneTar;
5
+ exports.hygieneLeg = hygieneLeg;
6
+ exports.tarWith = tarWith;
7
+ /**
8
+ * Canned answers for the image-hygiene gate legs every `buildAndPush` runs
9
+ * (HSUITEPT-5): `docker inspect` → WorkingDir, `docker create` → container id,
10
+ * `docker cp` → the current {@link hygieneTar}, `docker rm` → nothing.
11
+ *
12
+ * Fold into any fake `execFileSync` / `runFn` as its fallthrough
13
+ * (`return hygieneLeg(file, args)`), so the gate sees a CLEAN image by default
14
+ * and the suite under test keeps asserting only its own legs. Plant an
15
+ * offending file with `hygieneTar = tarWith('dist/main.js.map')`.
16
+ */
17
+ exports.HYGIENE_CID = 'c'.repeat(64);
18
+ /** Empty archive = clean image. Reassign per test; reset in `beforeEach` where it matters. */
19
+ exports.hygieneTar = Buffer.alloc(1024);
20
+ function setHygieneTar(tar) {
21
+ exports.hygieneTar = tar;
22
+ }
23
+ function hygieneLeg(file, args) {
24
+ if (file !== 'docker')
25
+ return undefined;
26
+ if (args[0] === 'inspect')
27
+ return '/app\n';
28
+ if (args[0] === 'create')
29
+ return `${exports.HYGIENE_CID}\n`;
30
+ if (args[0] === 'cp')
31
+ return exports.hygieneTar;
32
+ return undefined;
33
+ }
34
+ /** One-entry ustar archive (enough to plant an offending file). */
35
+ function tarWith(name) {
36
+ const header = Buffer.alloc(512);
37
+ header.write(name, 0, 100, 'utf8');
38
+ header.write('00000000000\0', 124, 12, 'ascii');
39
+ header.write('0', 156, 1, 'ascii');
40
+ return Buffer.concat([header, Buffer.alloc(1024)]);
41
+ }
42
+ //# sourceMappingURL=fixtures-image-hygiene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures-image-hygiene.js","sourceRoot":"","sources":["../../../src/__tests__/helpers/fixtures-image-hygiene.ts"],"names":[],"mappings":";;;AAeA,sCAEC;AAED,gCAMC;AAGD,0BAMC;AAlCD;;;;;;;;;GASG;AACU,QAAA,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE1C,8FAA8F;AACnF,QAAA,UAAU,GAAW,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAEnD,SAAgB,aAAa,CAAC,GAAW;IACvC,kBAAU,GAAG,GAAG,CAAC;AACnB,CAAC;AAED,SAAgB,UAAU,CAAC,IAAY,EAAE,IAAc;IACrD,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC3C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,OAAO,GAAG,mBAAW,IAAI,CAAC;IACpD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,kBAAU,CAAC;IACxC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mEAAmE;AACnE,SAAgB,OAAO,CAAC,IAAY;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { BaasClient } from '@hsuite/smart-engines-sdk';
2
2
  import type { EnvMap } from './env';
3
+ import type { RunFn } from './run-fn';
3
4
  /** Default per-app deploy timeout — `init` runs the smart-app entity DKG ceremony. */
4
5
  export declare const DEFAULT_DEPLOY_TIMEOUT_MS = 240000;
5
6
  /**
@@ -18,23 +19,11 @@ export type RegistryCreds = {
18
19
  repository: string;
19
20
  };
20
21
  /**
21
- * `execFileSync`-shaped seam. Throwing on a non-zero exit is the contract
22
- * `execFileSync` provides.
23
- *
24
- * The return value MATTERS for stdout-capturing invocations (the `docker push`
25
- * and `docker inspect` legs in {@link buildAndPush}): `execFileSync` returns the
26
- * child's stdout, and with `encoding: 'utf8'` that is a `string`. We parse the
27
- * push summary / `RepoDigests` out of it to recover the pushed manifest digest.
28
- * Legs run with inherited stdio (build/tag/login) return nothing meaningful.
29
- * Unit tests supply a fake that returns canned push/inspect stdout.
22
+ * The shell-out seam. Declared in `./run-fn` so `image-hygiene.ts` can take it
23
+ * without importing this module back (dependency-cruiser `no-circular`), and
24
+ * re-exported here because every existing caller imports it from `baas`.
30
25
  */
31
- export type RunFn = (file: string, args: string[], options: {
32
- input?: string;
33
- stdio?: unknown;
34
- env?: NodeJS.ProcessEnv;
35
- cwd?: string;
36
- encoding?: BufferEncoding;
37
- }) => unknown;
26
+ export type { RunFn } from './run-fn';
38
27
  export type ConnectAndAuthOpts = {
39
28
  /** Public gateway/host URL. */
40
29
  gateway: string;
@@ -51,7 +40,7 @@ export type ConnectAndAuthOpts = {
51
40
  clientFactory?: (config: {
52
41
  hostUrl: string;
53
42
  appId: string;
54
- allowInsecure: boolean;
43
+ allowInsecure: boolean | undefined;
55
44
  pathPrefix: string;
56
45
  timeout: number;
57
46
  }) => BaasClient;
@@ -88,6 +77,8 @@ export type BuildAndPushOpts = {
88
77
  platform?: string;
89
78
  /** Test seam — defaults to `execFileSync`. */
90
79
  runFn?: RunFn;
80
+ /** Progress sink for the image-hygiene gate (defaults to silent). */
81
+ log?: (message: string) => void;
91
82
  /** Push retry attempts (round-robin robot-auth can need a couple). Default 6. */
92
83
  pushAttempts?: number;
93
84
  /**
@@ -125,6 +116,10 @@ export declare function imageTarget(registry: RegistryCreds, tag: string): strin
125
116
  * - optional `<build>` (shell command) in `context`
126
117
  * - `docker build --platform linux/amd64 --provenance=false --sbom=false
127
118
  * -t hsuite-local/<name>:<tag> -f <dockerfile> <context>`
119
+ * - image-hygiene gate ({@link assertImageHygiene}, HSUITEPT-5): the built
120
+ * image's compiled output must ship no source maps / declarations — runs
121
+ * even with `--skip-build` (the image is about to be deployed either way)
122
+ * and ABORTS before any tag / login / push
128
123
  * - `docker tag <local> <server>/<repo>:<tag>`
129
124
  * - `docker login <server> -u <username> --password-stdin` ← username a
130
125
  * DISCRETE argv element; password on stdin
@@ -1 +1 @@
1
- {"version":3,"file":"baas.d.ts","sourceRoot":"","sources":["../../src/_lib/baas.ts"],"names":[],"mappings":"AA+CA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAIpC,sFAAsF;AACtF,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AAEpD,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,KAAK,GAAG,CAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,KACE,OAAO,CAAC;AAEb,MAAM,MAAM,kBAAkB,GAAG;IAC/B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,UAAU,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBlF;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,aAAa,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA4H3D;AAwDD,MAAM,MAAM,eAAe,GAAG;IAC5B,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAIzD"}
1
+ {"version":3,"file":"baas.d.ts","sourceRoot":"","sources":["../../src/_lib/baas.ts"],"names":[],"mappings":"AA+CA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAItC,sFAAsF;AACtF,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AAEpD,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;QACnC,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,UAAU,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBlF;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,aAAa,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,qEAAqE;IACrE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAmI3D;AAwDD,MAAM,MAAM,eAAe,GAAG;IAC5B,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAIzD"}
package/dist/_lib/baas.js CHANGED
@@ -55,6 +55,8 @@ const child_process_1 = require("child_process");
55
55
  const smart_engines_sdk_1 = require("@hsuite/smart-engines-sdk");
56
56
  const env_1 = require("./env");
57
57
  const docker_1 = require("./docker");
58
+ const image_hygiene_1 = require("./image-hygiene");
59
+ const transport_1 = require("./transport");
58
60
  /** Default per-app deploy timeout — `init` runs the smart-app entity DKG ceremony. */
59
61
  exports.DEFAULT_DEPLOY_TIMEOUT_MS = 240_000;
60
62
  /**
@@ -75,7 +77,7 @@ async function connectAndAuth(opts) {
75
77
  const config = {
76
78
  hostUrl: opts.gateway,
77
79
  appId: opts.appId ?? 'pending',
78
- allowInsecure: opts.gateway.startsWith('http://'),
80
+ allowInsecure: (0, transport_1.resolveAllowInsecure)(opts.gateway),
79
81
  pathPrefix: '/host',
80
82
  timeout: opts.timeout ?? exports.DEFAULT_DEPLOY_TIMEOUT_MS,
81
83
  };
@@ -104,6 +106,10 @@ function imageTarget(registry, tag) {
104
106
  * - optional `<build>` (shell command) in `context`
105
107
  * - `docker build --platform linux/amd64 --provenance=false --sbom=false
106
108
  * -t hsuite-local/<name>:<tag> -f <dockerfile> <context>`
109
+ * - image-hygiene gate ({@link assertImageHygiene}, HSUITEPT-5): the built
110
+ * image's compiled output must ship no source maps / declarations — runs
111
+ * even with `--skip-build` (the image is about to be deployed either way)
112
+ * and ABORTS before any tag / login / push
107
113
  * - `docker tag <local> <server>/<repo>:<tag>`
108
114
  * - `docker login <server> -u <username> --password-stdin` ← username a
109
115
  * DISCRETE argv element; password on stdin
@@ -187,6 +193,12 @@ function buildAndPush(opts) {
187
193
  env: dockerEnv,
188
194
  });
189
195
  }
196
+ // HSUITEPT-5: never push (or deploy an already-pushed) image whose compiled
197
+ // output reads like source. Throws `ImageHygieneError` with the offending
198
+ // entries; nothing below runs. Not skippable — this is the platform-owned
199
+ // choke point for customer image hygiene, and app-side build config is
200
+ // never relied on.
201
+ (0, image_hygiene_1.assertImageHygiene)({ image: localTag, run, env: dockerEnv, log: opts.log });
190
202
  // #1679: aim the whole docker sequence at ONE origin when the caller resolved
191
203
  // a pin. `opts.registry` itself is left alone — see `pushHost`'s docblock for
192
204
  // why collapsing it breaks the downstream fan-out.
@@ -1 +1 @@
1
- {"version":3,"file":"baas.js","sourceRoot":"","sources":["../../src/_lib/baas.ts"],"names":[],"mappings":";;;AA0HA,wCAiBC;AAuDD,kCAEC;AAoCD,oCA4HC;AAyED,kCAIC;AAjbD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,iDAA6C;AAC7C,iEAAuD;AAEvD,+BAA2C;AAC3C,qCAAkE;AAElE,sFAAsF;AACzE,QAAA,yBAAyB,GAAG,OAAO,CAAC;AAEjD;;;;;;GAMG;AACU,QAAA,sBAAsB,GAAG,aAAa,CAAC;AAuDpD;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,IAAwB;IAC3D,MAAM,MAAM,GAAG,IAAA,wBAAkB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;QAC9B,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;QACjD,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,iCAAyB;KACnD,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,8BAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1E,MAAM,MAAM,CAAC,YAAY,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAoDD;;GAEG;AACH,SAAgB,WAAW,CAAC,QAAuB,EAAE,GAAW;IAC9D,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,SAAgB,YAAY,CAAC,IAAsB;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAK,4BAAiC,CAAC;IAC7D,MAAM,SAAS,GAAsB;QACnC,GAAG,OAAO,CAAC,GAAG;QACd,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7D,CAAC;IACF,6EAA6E;IAC7E,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAClD,+EAA+E;IAC/E,yEAAyE;IACzE,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAEnD,+EAA+E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,4EAA4E;IAC5E,8EAA8E;IAC9E,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YAC5B,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAuB;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACzD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,2EAA2E;QAC3E,sEAAsE;QACtE,EAAE;QACF,yEAAyE;QACzE,4EAA4E;QAC5E,iEAAiE;QACjE,2EAA2E;QAC3E,qEAAqE;QACrE,4EAA4E;QAC5E,oEAAoE;QACpE,6DAA6D;QAC7D,sEAAsE;QACtE,yEAAyE;QACzE,oEAAoE;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,8BAAsB,CAAC;QACzD,GAAG,CACD,QAAQ,EACR;YACE,OAAO;YACP,YAAY;YACZ,QAAQ;YACR,oBAAoB;YACpB,cAAc;YACd,IAAI;YACJ,QAAQ;YACR,IAAI;YACJ,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,OAAO;SACb,EACD;YACE,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,GAAG,EAAE,SAAS;SACf,CACF,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,mDAAmD;IACnD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,MAAM,MAAM,GAAG,UAAU;QACvB,CAAC,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE;QACzD,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACrD,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAE/E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,wEAAwE;QACxE,sEAAsE;QACtE,wEAAwE;QACxE,OAAO,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,8EAA8E;IAC9E,6CAA6C;IAC7C,GAAG,CACD,QAAQ,EACR,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EACtE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,CACrE,CAAC;IAEF,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,kEAAkE;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;IACxC,IAAI,OAAgB,CAAC;IACrB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,uEAAuE;YACvE,qEAAqE;YACrE,wBAAwB;YACxB,OAAO,GAAG,QAAQ,CAChB,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAC3F,CAAC;YACF,MAAM,GAAG,IAAI,CAAC;YACd,MAAM;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,cAAe,OAAiB,EAAE,OAAO,IAAI,SAAS,EAAE,CAC7F,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,OAAO,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,IAAA,wBAAe,EAAC,OAAO,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,gGAAgG;AAChG,SAAS,QAAQ,CAAC,GAAY;IAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,GAAG,IAAI,OAAQ,GAAc,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAQ,GAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnG,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,4BAA4B,CACnC,GAAU,EACV,MAAc,EACd,GAAsB,EACtB,UAAyB;IAEzB,yEAAyE;IACzE,8EAA8E;IAC9E,6EAA6E;IAC7E,wBAAwB;IACxB,MAAM,GAAG,GAAG,MAAM,CAAC;IACnB,MAAM,UAAU,GAAG,QAAQ,CACzB,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE;QACzD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;QACnC,QAAQ,EAAE,MAAM;QAChB,GAAG;KACJ,CAAC,CACH,CAAC;IACF,MAAM,cAAc,GAAG,IAAA,8BAAqB,EAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,UAAU,GAAG,0DAA0D;YACrE,mFAAmF;YACnF,wDAAwD,CAC3D,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,uBAAuB,GAAG,2BAA2B,UAAU,oBAAoB;YACjF,UAAU,cAAc,2DAA2D;YACnF,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAWD;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,IAAqB;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAK,4BAAiC,CAAC;IAC7D,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"baas.js","sourceRoot":"","sources":["../../src/_lib/baas.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,14 @@ export type ClusterRuntimeObservation = {
56
56
  state?: string;
57
57
  /** Runtime state as THIS cluster's deployer sees it. */
58
58
  runtimeState?: string;
59
+ /**
60
+ * #2927 — replica count as THIS cluster's k8s ACTUALLY has running, per its
61
+ * own runtime record. This is the field the testnet incident exposed: the
62
+ * round-robin `hsuite status` reported `replicas=1` while sn2 was at 0 for
63
+ * hours — a per-cluster read is what makes that divergence visible instead
64
+ * of averaged away by whichever cluster answered the round-robin call.
65
+ */
66
+ replicas?: number;
59
67
  /** Image ref THIS cluster has pinned — the field that exposes the divergence. */
60
68
  image?: string;
61
69
  /** This cluster's own reconcile error (carries the digest MISMATCH text). */
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-convergence.d.ts","sourceRoot":"","sources":["../../src/_lib/cluster-convergence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cluster-convergence.d.ts","sourceRoot":"","sources":["../../src/_lib/cluster-convergence.ts"],"names":[],"mappings":"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"}
@@ -145,6 +145,8 @@ async function probeOne(ip, opts) {
145
145
  obs.runtimeState = body.runtime.runtimeState;
146
146
  if (body.runtime?.lastError)
147
147
  obs.lastError = body.runtime.lastError;
148
+ if (typeof body.runtime?.replicas === 'number')
149
+ obs.replicas = body.runtime.replicas;
148
150
  return obs;
149
151
  }
150
152
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-convergence.js","sourceRoot":"","sources":["../../src/_lib/cluster-convergence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cluster-convergence.js","sourceRoot":"","sources":["../../src/_lib/cluster-convergence.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,21 @@
1
1
  /**
2
- * Cluster bootstrap constants.
2
+ * Public SDK-bootstrap host for the Smart Engines network the CLI targets.
3
3
  *
4
- * The CLI bootstraps against the public round-robin host
5
- * `gateway.testnet.hsuite.network` — DNS A-records over the genesis cluster
6
- * ingress LBs.
4
+ * Resolved from the `HSUITE_NETWORK` env var (via the SDK's
5
+ * `networkFromEnv`)defaults to testnet, the only live public network
6
+ * today, when unset or set to an unknown name. This is the SAME `network`
7
+ * axis the SDK's `network-presets.ts` documents (which HSUITE cluster/
8
+ * gateway to talk to); it is UNRELATED to `hsuite init --network`, which
9
+ * picks the XRPL chain (testnet | devnet) the faucet funds from.
7
10
  *
8
- * Decentralized cluster discovery is owned by the canonical
9
- * `BaasClient.connectToCluster({ bootstrap: [...] })` factory in
10
- * `@hsuite/smart-engines-sdk`; the CLI consumes that factory rather than
11
- * maintaining a parallel discovery path.
11
+ * Resolved ONCE at module load, so this only sees a REAL environment
12
+ * variable shell-exported, or otherwise present in `process.env` before
13
+ * the CLI process starts. `index.ts`'s `dotenv.config()` call runs AFTER
14
+ * every command module (including this one, transitively) has already been
15
+ * imported, so a `.env`-file-only `HSUITE_NETWORK` is too late to affect
16
+ * this constant. `hsuite init --hsuite-network <name>` resolves at ACTION
17
+ * time instead (after dotenv has run), so it sees both sources — see
18
+ * `commands/init.ts`.
12
19
  */
13
- /** Public SDK-bootstrap host for the Smart Engines testnet. */
14
- export declare const DEFAULT_GATEWAY = "https://gateway.testnet.hsuite.network";
20
+ export declare const DEFAULT_GATEWAY: string;
15
21
  //# sourceMappingURL=cluster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../src/_lib/cluster.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,+DAA+D;AAC/D,eAAO,MAAM,eAAe,2CAA2C,CAAC"}
1
+ {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../src/_lib/cluster.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,EAAE,MACuC,CAAC"}
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_GATEWAY = void 0;
2
4
  /**
3
5
  * Cluster bootstrap constants.
4
6
  *
@@ -11,8 +13,25 @@
11
13
  * `@hsuite/smart-engines-sdk`; the CLI consumes that factory rather than
12
14
  * maintaining a parallel discovery path.
13
15
  */
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DEFAULT_GATEWAY = void 0;
16
- /** Public SDK-bootstrap host for the Smart Engines testnet. */
17
- exports.DEFAULT_GATEWAY = 'https://gateway.testnet.hsuite.network';
16
+ const smart_engines_sdk_1 = require("@hsuite/smart-engines-sdk");
17
+ /**
18
+ * Public SDK-bootstrap host for the Smart Engines network the CLI targets.
19
+ *
20
+ * Resolved from the `HSUITE_NETWORK` env var (via the SDK's
21
+ * `networkFromEnv`) — defaults to testnet, the only live public network
22
+ * today, when unset or set to an unknown name. This is the SAME `network`
23
+ * axis the SDK's `network-presets.ts` documents (which HSUITE cluster/
24
+ * gateway to talk to); it is UNRELATED to `hsuite init --network`, which
25
+ * picks the XRPL chain (testnet | devnet) the faucet funds from.
26
+ *
27
+ * Resolved ONCE at module load, so this only sees a REAL environment
28
+ * variable — shell-exported, or otherwise present in `process.env` before
29
+ * the CLI process starts. `index.ts`'s `dotenv.config()` call runs AFTER
30
+ * every command module (including this one, transitively) has already been
31
+ * imported, so a `.env`-file-only `HSUITE_NETWORK` is too late to affect
32
+ * this constant. `hsuite init --hsuite-network <name>` resolves at ACTION
33
+ * time instead (after dotenv has run), so it sees both sources — see
34
+ * `commands/init.ts`.
35
+ */
36
+ exports.DEFAULT_GATEWAY = smart_engines_sdk_1.KNOWN_NETWORKS[(0, smart_engines_sdk_1.networkFromEnv)(undefined, process.env)].bootstrap[0];
18
37
  //# sourceMappingURL=cluster.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../src/_lib/cluster.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,+DAA+D;AAClD,QAAA,eAAe,GAAG,wCAAwC,CAAC"}
1
+ {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../src/_lib/cluster.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,iEAA2E;AAE3E;;;;;;;;;;;;;;;;;;GAkBG;AACU,QAAA,eAAe,GAC1B,kCAAc,CAAC,IAAA,kCAAc,EAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC"}
@@ -15,8 +15,8 @@ exports.resolveSdkVersion = resolveSdkVersion;
15
15
  *
16
16
  * Detection is dependency-driven (reads the project's `package.json`), matching
17
17
  * the real showcase apps:
18
- * - backend (`apps/showcase/smart-app`): `@hsuite/smart-engines-sdk` + `@nestjs/core`
19
- * - frontend (`apps/showcase/ionic-dapp`): `@hsuite/native-connect-*` + `@ionic/angular`
18
+ * - backend (`smart-app/` in showcase-smart-app): `@hsuite/smart-engines-sdk` + `@nestjs/core`
19
+ * - frontend (`ionic-dapp/` in showcase-smart-app): `@hsuite/native-connect-*` + `@ionic/angular`
20
20
  *
21
21
  * This module is PURE I/O-at-the-edge: it reads one file and classifies. No
22
22
  * network, no clock.
@@ -0,0 +1,36 @@
1
+ import type { RunFn } from './run-fn';
2
+ /** Compiled-output directories a smart-app image conventionally ships under its `WorkingDir`. */
3
+ export declare const IMAGE_HYGIENE_SCAN_DIRS: readonly ["dist", "build", "lib"];
4
+ /** Entry suffixes that must never ship in a customer image. */
5
+ export declare const IMAGE_HYGIENE_FORBIDDEN_SUFFIXES: readonly [".map", ".d.ts", ".tsbuildinfo"];
6
+ /** Thrown when the built image ships source maps / declarations. `violations` lists every entry. */
7
+ export declare class ImageHygieneError extends Error {
8
+ readonly image: string;
9
+ readonly violations: string[];
10
+ constructor(image: string, violations: string[]);
11
+ }
12
+ /**
13
+ * Entry names of a (ustar / PAX / GNU) tar archive. Contents are skipped by
14
+ * size; only names are returned. Tolerant: stops at the first zero block or a
15
+ * truncated header, so a non-archive buffer yields `[]`.
16
+ */
17
+ export declare function listTarEntries(tar: Buffer): string[];
18
+ /** Entries that must never ship in a customer image. */
19
+ export declare function findImageHygieneViolations(entries: readonly string[]): string[];
20
+ export type AssertImageHygieneOpts = {
21
+ /** Local image ref to scan (the freshly built `hsuite-local/<name>:<tag>`). */
22
+ image: string;
23
+ /** `execFileSync`-shaped seam (see {@link RunFn}). */
24
+ run: RunFn;
25
+ /** Env threaded to every docker leg (carries `DOCKER_HOST`). */
26
+ env: NodeJS.ProcessEnv;
27
+ /** Progress / warning sink. */
28
+ log?: (message: string) => void;
29
+ };
30
+ /**
31
+ * Scan the built image's compiled output and THROW {@link ImageHygieneError}
32
+ * if it ships source maps, declaration files or tsbuildinfo. See the module
33
+ * header for the mechanism and the fail-closed contract.
34
+ */
35
+ export declare function assertImageHygiene(opts: AssertImageHygieneOpts): void;
36
+ //# sourceMappingURL=image-hygiene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-hygiene.d.ts","sourceRoot":"","sources":["../../src/_lib/image-hygiene.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,iGAAiG;AACjG,eAAO,MAAM,uBAAuB,mCAAoC,CAAC;AAEzE,+DAA+D;AAC/D,eAAO,MAAM,gCAAgC,4CAA6C,CAAC;AAqB3F,oGAAoG;AACpG,qBAAa,iBAAkB,SAAQ,KAAK;IAExC,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE;gBADpB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAAE;CAWhC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BpD;AAED,wDAAwD;AACxD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAE/E;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,GAAG,EAAE,KAAK,CAAC;IACX,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAyCrE"}