@settlemint/sdk-cli 2.1.4-pr05b60a44 → 2.1.4-pr09bd8ab0

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 (3) hide show
  1. package/dist/cli.js +198 -144
  2. package/dist/cli.js.map +28 -28
  3. package/package.json +5 -5
package/dist/cli.js CHANGED
@@ -3709,23 +3709,51 @@ var require_decrypt = __commonJS((exports, module) => {
3709
3709
  module.exports = decrypt;
3710
3710
  });
3711
3711
 
3712
- // ../../node_modules/@noble/ciphers/_assert.js
3713
- var require__assert = __commonJS((exports) => {
3712
+ // ../../node_modules/@noble/ciphers/utils.js
3713
+ var require_utils3 = __commonJS((exports) => {
3714
+ /*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */
3714
3715
  Object.defineProperty(exports, "__esModule", { value: true });
3716
+ exports.wrapCipher = exports.Hash = exports.nextTick = exports.isLE = undefined;
3717
+ exports.isBytes = isBytes;
3715
3718
  exports.abool = abool;
3719
+ exports.anumber = anumber;
3716
3720
  exports.abytes = abytes;
3717
- exports.aexists = aexists;
3718
3721
  exports.ahash = ahash;
3719
- exports.anumber = anumber;
3722
+ exports.aexists = aexists;
3720
3723
  exports.aoutput = aoutput;
3721
- exports.isBytes = isBytes;
3724
+ exports.u8 = u8;
3725
+ exports.u32 = u32;
3726
+ exports.clean = clean;
3727
+ exports.createView = createView;
3728
+ exports.bytesToHex = bytesToHex;
3729
+ exports.hexToBytes = hexToBytes;
3730
+ exports.hexToNumber = hexToNumber;
3731
+ exports.bytesToNumberBE = bytesToNumberBE;
3732
+ exports.numberToBytesBE = numberToBytesBE;
3733
+ exports.utf8ToBytes = utf8ToBytes;
3734
+ exports.bytesToUtf8 = bytesToUtf8;
3735
+ exports.toBytes = toBytes;
3736
+ exports.overlapBytes = overlapBytes;
3737
+ exports.complexOverlapBytes = complexOverlapBytes;
3738
+ exports.concatBytes = concatBytes;
3739
+ exports.checkOpts = checkOpts;
3740
+ exports.equalBytes = equalBytes;
3741
+ exports.getOutput = getOutput;
3742
+ exports.setBigUint64 = setBigUint64;
3743
+ exports.u64Lengths = u64Lengths;
3744
+ exports.isAligned32 = isAligned32;
3745
+ exports.copyBytes = copyBytes;
3746
+ function isBytes(a) {
3747
+ return a instanceof Uint8Array || ArrayBuffer.isView(a) && a.constructor.name === "Uint8Array";
3748
+ }
3749
+ function abool(b) {
3750
+ if (typeof b !== "boolean")
3751
+ throw new Error(`boolean expected, not ${b}`);
3752
+ }
3722
3753
  function anumber(n) {
3723
3754
  if (!Number.isSafeInteger(n) || n < 0)
3724
3755
  throw new Error("positive integer expected, got " + n);
3725
3756
  }
3726
- function isBytes(a) {
3727
- return a instanceof Uint8Array || ArrayBuffer.isView(a) && a.constructor.name === "Uint8Array";
3728
- }
3729
3757
  function abytes(b, ...lengths) {
3730
3758
  if (!isBytes(b))
3731
3759
  throw new Error("Uint8Array expected");
@@ -3734,7 +3762,7 @@ var require__assert = __commonJS((exports) => {
3734
3762
  }
3735
3763
  function ahash(h) {
3736
3764
  if (typeof h !== "function" || typeof h.create !== "function")
3737
- throw new Error("Hash should be wrapped by utils.wrapConstructor");
3765
+ throw new Error("Hash should be wrapped by utils.createHasher");
3738
3766
  anumber(h.outputLen);
3739
3767
  anumber(h.blockLen);
3740
3768
  }
@@ -3751,49 +3779,27 @@ var require__assert = __commonJS((exports) => {
3751
3779
  throw new Error("digestInto() expects output buffer of length at least " + min);
3752
3780
  }
3753
3781
  }
3754
- function abool(b) {
3755
- if (typeof b !== "boolean")
3756
- throw new Error(`boolean expected, not ${b}`);
3782
+ function u8(arr) {
3783
+ return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);
3757
3784
  }
3758
- });
3759
-
3760
- // ../../node_modules/@noble/ciphers/utils.js
3761
- var require_utils3 = __commonJS((exports) => {
3762
- Object.defineProperty(exports, "__esModule", { value: true });
3763
- exports.wrapCipher = exports.Hash = exports.nextTick = exports.isLE = exports.createView = exports.u32 = exports.u8 = undefined;
3764
- exports.bytesToHex = bytesToHex;
3765
- exports.hexToBytes = hexToBytes;
3766
- exports.hexToNumber = hexToNumber;
3767
- exports.bytesToNumberBE = bytesToNumberBE;
3768
- exports.numberToBytesBE = numberToBytesBE;
3769
- exports.utf8ToBytes = utf8ToBytes;
3770
- exports.bytesToUtf8 = bytesToUtf8;
3771
- exports.toBytes = toBytes;
3772
- exports.overlapBytes = overlapBytes;
3773
- exports.complexOverlapBytes = complexOverlapBytes;
3774
- exports.concatBytes = concatBytes;
3775
- exports.checkOpts = checkOpts;
3776
- exports.equalBytes = equalBytes;
3777
- exports.getOutput = getOutput;
3778
- exports.setBigUint64 = setBigUint64;
3779
- exports.u64Lengths = u64Lengths;
3780
- exports.isAligned32 = isAligned32;
3781
- exports.copyBytes = copyBytes;
3782
- exports.clean = clean;
3783
- /*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */
3784
- var _assert_js_1 = require__assert();
3785
- var u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);
3786
- exports.u8 = u8;
3787
- var u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
3788
- exports.u32 = u32;
3789
- var createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
3790
- exports.createView = createView;
3791
- exports.isLE = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
3792
- if (!exports.isLE)
3793
- throw new Error("Non little-endian hardware is not supported");
3785
+ function u32(arr) {
3786
+ return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
3787
+ }
3788
+ function clean(...arrays) {
3789
+ for (let i = 0;i < arrays.length; i++) {
3790
+ arrays[i].fill(0);
3791
+ }
3792
+ }
3793
+ function createView(arr) {
3794
+ return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
3795
+ }
3796
+ exports.isLE = (() => new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68)();
3797
+ var hasHexBuiltin = /* @__PURE__ */ (() => typeof Uint8Array.from([]).toHex === "function" && typeof Uint8Array.fromHex === "function")();
3794
3798
  var hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, "0"));
3795
3799
  function bytesToHex(bytes) {
3796
- (0, _assert_js_1.abytes)(bytes);
3800
+ abytes(bytes);
3801
+ if (hasHexBuiltin)
3802
+ return bytes.toHex();
3797
3803
  let hex = "";
3798
3804
  for (let i = 0;i < bytes.length; i++) {
3799
3805
  hex += hexes[bytes[i]];
@@ -3813,6 +3819,8 @@ var require_utils3 = __commonJS((exports) => {
3813
3819
  function hexToBytes(hex) {
3814
3820
  if (typeof hex !== "string")
3815
3821
  throw new Error("hex string expected, got " + typeof hex);
3822
+ if (hasHexBuiltin)
3823
+ return Uint8Array.fromHex(hex);
3816
3824
  const hl = hex.length;
3817
3825
  const al = hl / 2;
3818
3826
  if (hl % 2)
@@ -3853,7 +3861,7 @@ var require_utils3 = __commonJS((exports) => {
3853
3861
  function toBytes(data) {
3854
3862
  if (typeof data === "string")
3855
3863
  data = utf8ToBytes(data);
3856
- else if ((0, _assert_js_1.isBytes)(data))
3864
+ else if (isBytes(data))
3857
3865
  data = copyBytes(data);
3858
3866
  else
3859
3867
  throw new Error("Uint8Array expected, got " + typeof data);
@@ -3870,7 +3878,7 @@ var require_utils3 = __commonJS((exports) => {
3870
3878
  let sum = 0;
3871
3879
  for (let i = 0;i < arrays.length; i++) {
3872
3880
  const a = arrays[i];
3873
- (0, _assert_js_1.abytes)(a);
3881
+ abytes(a);
3874
3882
  sum += a.length;
3875
3883
  }
3876
3884
  const res = new Uint8Array(sum);
@@ -3901,26 +3909,28 @@ var require_utils3 = __commonJS((exports) => {
3901
3909
  exports.Hash = Hash;
3902
3910
  var wrapCipher = (params, constructor) => {
3903
3911
  function wrappedCipher(key, ...args) {
3904
- (0, _assert_js_1.abytes)(key);
3912
+ abytes(key);
3913
+ if (!exports.isLE)
3914
+ throw new Error("Non little-endian hardware is not yet supported");
3905
3915
  if (params.nonceLength !== undefined) {
3906
3916
  const nonce = args[0];
3907
3917
  if (!nonce)
3908
3918
  throw new Error("nonce / iv required");
3909
3919
  if (params.varSizeNonce)
3910
- (0, _assert_js_1.abytes)(nonce);
3920
+ abytes(nonce);
3911
3921
  else
3912
- (0, _assert_js_1.abytes)(nonce, params.nonceLength);
3922
+ abytes(nonce, params.nonceLength);
3913
3923
  }
3914
3924
  const tagl = params.tagLength;
3915
3925
  if (tagl && args[1] !== undefined) {
3916
- (0, _assert_js_1.abytes)(args[1]);
3926
+ abytes(args[1]);
3917
3927
  }
3918
3928
  const cipher = constructor(key, ...args);
3919
3929
  const checkOutput = (fnLength, output) => {
3920
3930
  if (output !== undefined) {
3921
3931
  if (fnLength !== 2)
3922
3932
  throw new Error("cipher output not supported");
3923
- (0, _assert_js_1.abytes)(output);
3933
+ abytes(output);
3924
3934
  }
3925
3935
  };
3926
3936
  let called = false;
@@ -3929,12 +3939,12 @@ var require_utils3 = __commonJS((exports) => {
3929
3939
  if (called)
3930
3940
  throw new Error("cannot encrypt() twice with same key + nonce");
3931
3941
  called = true;
3932
- (0, _assert_js_1.abytes)(data);
3942
+ abytes(data);
3933
3943
  checkOutput(cipher.encrypt.length, output);
3934
3944
  return cipher.encrypt(data, output);
3935
3945
  },
3936
3946
  decrypt(data, output) {
3937
- (0, _assert_js_1.abytes)(data);
3947
+ abytes(data);
3938
3948
  if (tagl && data.length < tagl)
3939
3949
  throw new Error("invalid ciphertext length: smaller than tagLength=" + tagl);
3940
3950
  checkOutput(cipher.decrypt.length, output);
@@ -3968,11 +3978,12 @@ var require_utils3 = __commonJS((exports) => {
3968
3978
  view.setUint32(byteOffset + h, wh, isLE);
3969
3979
  view.setUint32(byteOffset + l, wl, isLE);
3970
3980
  }
3971
- function u64Lengths(ciphertext, AAD) {
3981
+ function u64Lengths(dataLength, aadLength, isLE) {
3982
+ abool(isLE);
3972
3983
  const num = new Uint8Array(16);
3973
- const view = (0, exports.createView)(num);
3974
- setBigUint64(view, 0, BigInt(AAD ? AAD.length : 0), true);
3975
- setBigUint64(view, 8, BigInt(ciphertext.length), true);
3984
+ const view = createView(num);
3985
+ setBigUint64(view, 0, BigInt(aadLength), isLE);
3986
+ setBigUint64(view, 8, BigInt(dataLength), isLE);
3976
3987
  return num;
3977
3988
  }
3978
3989
  function isAligned32(bytes) {
@@ -3981,11 +3992,6 @@ var require_utils3 = __commonJS((exports) => {
3981
3992
  function copyBytes(bytes) {
3982
3993
  return Uint8Array.from(bytes);
3983
3994
  }
3984
- function clean(...arrays) {
3985
- for (let i = 0;i < arrays.length; i++) {
3986
- arrays[i].fill(0);
3987
- }
3988
- }
3989
3995
  });
3990
3996
 
3991
3997
  // ../../node_modules/eciesjs/dist/consts.js
@@ -4068,14 +4074,13 @@ var require_webcrypto = __commonJS((exports) => {
4068
4074
  exports.getWebcryptoSubtle = getWebcryptoSubtle;
4069
4075
  exports.managedNonce = managedNonce;
4070
4076
  var crypto_1 = require_cryptoNode();
4071
- var _assert_js_1 = require__assert();
4072
- var utils_js_1 = require_utils3();
4077
+ var utils_ts_1 = require_utils3();
4073
4078
  function randomBytes(bytesLength = 32) {
4074
4079
  if (crypto_1.crypto && typeof crypto_1.crypto.getRandomValues === "function") {
4075
4080
  return crypto_1.crypto.getRandomValues(new Uint8Array(bytesLength));
4076
4081
  }
4077
4082
  if (crypto_1.crypto && typeof crypto_1.crypto.randomBytes === "function") {
4078
- return crypto_1.crypto.randomBytes(bytesLength);
4083
+ return Uint8Array.from(crypto_1.crypto.randomBytes(bytesLength));
4079
4084
  }
4080
4085
  throw new Error("crypto.getRandomValues must be defined");
4081
4086
  }
@@ -4086,12 +4091,12 @@ var require_webcrypto = __commonJS((exports) => {
4086
4091
  }
4087
4092
  function managedNonce(fn) {
4088
4093
  const { nonceLength } = fn;
4089
- (0, _assert_js_1.anumber)(nonceLength);
4094
+ (0, utils_ts_1.anumber)(nonceLength);
4090
4095
  return (key, ...args) => ({
4091
4096
  encrypt(plaintext, ...argsEnc) {
4092
4097
  const nonce = randomBytes(nonceLength);
4093
4098
  const ciphertext = fn(key, nonce, ...args).encrypt(plaintext, ...argsEnc);
4094
- const out = (0, utils_js_1.concatBytes)(nonce, ciphertext);
4099
+ const out = (0, utils_ts_1.concatBytes)(nonce, ciphertext);
4095
4100
  ciphertext.fill(0);
4096
4101
  return out;
4097
4102
  },
@@ -4136,21 +4141,21 @@ var require_webcrypto = __commonJS((exports) => {
4136
4141
  }
4137
4142
  function generate(algo) {
4138
4143
  return (key, nonce, AAD) => {
4139
- (0, _assert_js_1.abytes)(key);
4140
- (0, _assert_js_1.abytes)(nonce);
4144
+ (0, utils_ts_1.abytes)(key);
4145
+ (0, utils_ts_1.abytes)(nonce);
4141
4146
  const keyParams = { name: algo, length: key.length * 8 };
4142
4147
  const cryptParams = getCryptParams(algo, nonce, AAD);
4143
4148
  let consumed = false;
4144
4149
  return {
4145
4150
  encrypt(plaintext) {
4146
- (0, _assert_js_1.abytes)(plaintext);
4151
+ (0, utils_ts_1.abytes)(plaintext);
4147
4152
  if (consumed)
4148
4153
  throw new Error("Cannot encrypt() twice with same key / nonce");
4149
4154
  consumed = true;
4150
4155
  return exports.utils.encrypt(key, keyParams, cryptParams, plaintext);
4151
4156
  },
4152
4157
  decrypt(ciphertext) {
4153
- (0, _assert_js_1.abytes)(ciphertext);
4158
+ (0, utils_ts_1.abytes)(ciphertext);
4154
4159
  return exports.utils.decrypt(key, keyParams, cryptParams, ciphertext);
4155
4160
  }
4156
4161
  };
@@ -4162,7 +4167,7 @@ var require_webcrypto = __commonJS((exports) => {
4162
4167
  });
4163
4168
 
4164
4169
  // ../../node_modules/@noble/hashes/_assert.js
4165
- var require__assert2 = __commonJS((exports) => {
4170
+ var require__assert = __commonJS((exports) => {
4166
4171
  Object.defineProperty(exports, "__esModule", { value: true });
4167
4172
  exports.anumber = anumber;
4168
4173
  exports.abytes = abytes;
@@ -4236,7 +4241,7 @@ var require_utils4 = __commonJS((exports) => {
4236
4241
  exports.wrapXOFConstructorWithOpts = wrapXOFConstructorWithOpts;
4237
4242
  exports.randomBytes = randomBytes;
4238
4243
  var crypto_1 = require_cryptoNode2();
4239
- var _assert_ts_1 = require__assert2();
4244
+ var _assert_ts_1 = require__assert();
4240
4245
  function isBytes(a) {
4241
4246
  return a instanceof Uint8Array || ArrayBuffer.isView(a) && a.constructor.name === "Uint8Array";
4242
4247
  }
@@ -4402,7 +4407,7 @@ var require__md = __commonJS((exports) => {
4402
4407
  exports.setBigUint64 = setBigUint64;
4403
4408
  exports.Chi = Chi;
4404
4409
  exports.Maj = Maj;
4405
- var _assert_ts_1 = require__assert2();
4410
+ var _assert_ts_1 = require__assert();
4406
4411
  var utils_ts_1 = require_utils4();
4407
4412
  function setBigUint64(view, byteOffset, value, isLE) {
4408
4413
  if (typeof view.setBigUint64 === "function")
@@ -6925,7 +6930,7 @@ var require_ed25519 = __commonJS((exports) => {
6925
6930
  var require_hmac = __commonJS((exports) => {
6926
6931
  Object.defineProperty(exports, "__esModule", { value: true });
6927
6932
  exports.hmac = exports.HMAC = undefined;
6928
- var _assert_ts_1 = require__assert2();
6933
+ var _assert_ts_1 = require__assert();
6929
6934
  var utils_ts_1 = require_utils4();
6930
6935
 
6931
6936
  class HMAC extends utils_ts_1.Hash {
@@ -8253,7 +8258,7 @@ var require_hkdf = __commonJS((exports) => {
8253
8258
  exports.hkdf = undefined;
8254
8259
  exports.extract = extract;
8255
8260
  exports.expand = expand;
8256
- var _assert_ts_1 = require__assert2();
8261
+ var _assert_ts_1 = require__assert();
8257
8262
  var hmac_ts_1 = require_hmac();
8258
8263
  var utils_ts_1 = require_utils4();
8259
8264
  function extract(hash, ikm, salt) {
@@ -245340,7 +245345,7 @@ function pruneCurrentEnv(currentEnv, env2) {
245340
245345
  var package_default = {
245341
245346
  name: "@settlemint/sdk-cli",
245342
245347
  description: "Command-line interface for SettleMint SDK, providing development tools and project management capabilities",
245343
- version: "2.1.4-pr05b60a44",
245348
+ version: "2.1.4-pr09bd8ab0",
245344
245349
  type: "module",
245345
245350
  private: false,
245346
245351
  license: "FSL-1.1-MIT",
@@ -245388,10 +245393,10 @@ var package_default = {
245388
245393
  "@inquirer/confirm": "5.1.9",
245389
245394
  "@inquirer/input": "4.1.9",
245390
245395
  "@inquirer/password": "4.0.12",
245391
- "@inquirer/select": "4.1.1",
245392
- "@settlemint/sdk-js": "2.1.4-pr05b60a44",
245393
- "@settlemint/sdk-utils": "2.1.4-pr05b60a44",
245394
- "@types/node": "22.14.1",
245396
+ "@inquirer/select": "4.2.0",
245397
+ "@settlemint/sdk-js": "2.1.4-pr09bd8ab0",
245398
+ "@settlemint/sdk-utils": "2.1.4-pr09bd8ab0",
245399
+ "@types/node": "22.15.1",
245395
245400
  "@types/semver": "7.7.0",
245396
245401
  "@types/which": "3.0.4",
245397
245402
  "get-tsconfig": "4.10.0",
@@ -246548,13 +246553,21 @@ class Separator {
246548
246553
  // ../utils/dist/terminal.mjs
246549
246554
  import { spawn } from "node:child_process";
246550
246555
  var import_console_table_printer2 = __toESM(require_dist2(), 1);
246551
- var ascii = () => console.log(magentaBright(`
246556
+ function shouldPrint() {
246557
+ return process.env.SETTLEMINT_DISABLE_TERMINAL !== "true";
246558
+ }
246559
+ var ascii = () => {
246560
+ if (!shouldPrint()) {
246561
+ return;
246562
+ }
246563
+ console.log(magentaBright(`
246552
246564
  _________ __ __ .__ _____ .__ __
246553
246565
  / _____/ _____/ |__/ |_| | ____ / \\ |__| _____/ |_
246554
246566
  \\_____ \\_/ __ \\ __\\ __\\ | _/ __ \\ / \\ / \\| |/ \\ __\\
246555
246567
  / \\ ___/| | | | | |_\\ ___// Y \\ | | \\ |
246556
246568
  /_________/\\_____>__| |__| |____/\\_____>____|____/__|___|__/__|
246557
246569
  `));
246570
+ };
246558
246571
  var maskTokens2 = (output) => {
246559
246572
  return output.replace(/sm_(pat|aat|sat)_[0-9a-zA-Z]+/g, "***");
246560
246573
  };
@@ -246604,11 +246617,17 @@ async function executeCommand(command, args, options) {
246604
246617
  });
246605
246618
  }
246606
246619
  var intro = (msg) => {
246620
+ if (!shouldPrint()) {
246621
+ return;
246622
+ }
246607
246623
  console.log("");
246608
246624
  console.log(magentaBright(maskTokens2(msg)));
246609
246625
  console.log("");
246610
246626
  };
246611
246627
  var note = (message, level = "info") => {
246628
+ if (!shouldPrint()) {
246629
+ return;
246630
+ }
246612
246631
  const maskedMessage = maskTokens2(message);
246613
246632
  console.log("");
246614
246633
  if (level === "warn") {
@@ -246633,6 +246652,9 @@ function list(title, items) {
246633
246652
  ${formatItems(items)}`);
246634
246653
  }
246635
246654
  var outro = (msg) => {
246655
+ if (!shouldPrint()) {
246656
+ return;
246657
+ }
246636
246658
  console.log("");
246637
246659
  console.log(inverse(greenBright(maskTokens2(msg))));
246638
246660
  console.log("");
@@ -246652,7 +246674,7 @@ var spinner = async (options) => {
246652
246674
  ${error.stack}`));
246653
246675
  throw new SpinnerError(errorMessage, error);
246654
246676
  };
246655
- if (is_in_ci_default) {
246677
+ if (is_in_ci_default || !shouldPrint()) {
246656
246678
  try {
246657
246679
  return await options.task();
246658
246680
  } catch (err) {
@@ -246680,6 +246702,9 @@ function camelCaseToWords(s) {
246680
246702
  return capitalized.replace(/\s+/g, " ").trim();
246681
246703
  }
246682
246704
  function table(title, data) {
246705
+ if (!shouldPrint()) {
246706
+ return;
246707
+ }
246683
246708
  note(title);
246684
246709
  if (!data || data.length === 0) {
246685
246710
  note("No data to display");
@@ -248210,6 +248235,7 @@ var getEnv = (gqlClient) => {
248210
248235
  };
248211
248236
  var LoadBalancerFragment = graphql(`
248212
248237
  fragment LoadBalancer on LoadBalancer {
248238
+ __typename
248213
248239
  id
248214
248240
  uniqueName
248215
248241
  name
@@ -250037,10 +250063,16 @@ async function getPackageManagerExecutable(targetDir) {
250037
250063
  }
250038
250064
  return { command: "npx", args: [] };
250039
250065
  }
250066
+ function shouldPrint2() {
250067
+ return process.env.SETTLEMINT_DISABLE_TERMINAL !== "true";
250068
+ }
250040
250069
  var maskTokens3 = (output) => {
250041
250070
  return output.replace(/sm_(pat|aat|sat)_[0-9a-zA-Z]+/g, "***");
250042
250071
  };
250043
250072
  var note2 = (message, level = "info") => {
250073
+ if (!shouldPrint2()) {
250074
+ return;
250075
+ }
250044
250076
  const maskedMessage = maskTokens3(message);
250045
250077
  console.log("");
250046
250078
  if (level === "warn") {
@@ -251603,6 +251635,9 @@ async function codegenTsconfig(env2, thegraphSubgraphNames) {
251603
251635
  };
251604
251636
  }
251605
251637
 
251638
+ // src/constants/default-subgraph.ts
251639
+ var DEFAULT_SUBGRAPH_NAME = "kit";
251640
+
251606
251641
  // src/utils/subgraph/sanitize-name.ts
251607
251642
  var import_slugify = __toESM(require_slugify(), 1);
251608
251643
  function sanitizeName(value4, length = 35) {
@@ -251812,9 +251847,9 @@ var esm_default3 = createPrompt((config3, done) => {
251812
251847
  firstRender.current = false;
251813
251848
  if (items.length > pageSize) {
251814
251849
  helpTipBottom = `
251815
- ${theme.style.help("(Use arrow keys to reveal more choices)")}`;
251850
+ ${theme.style.help(`(${config3.instructions?.pager ?? "Use arrow keys to reveal more choices"})`)}`;
251816
251851
  } else {
251817
- helpTipTop = theme.style.help("(Use arrow keys)");
251852
+ helpTipTop = theme.style.help(`(${config3.instructions?.navigation ?? "Use arrow keys"})`);
251818
251853
  }
251819
251854
  }
251820
251855
  const page = usePagination({
@@ -251865,7 +251900,13 @@ async function subgraphPrompt({
251865
251900
  if (env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH) {
251866
251901
  return [env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH];
251867
251902
  }
251868
- return subgraphNames.length === 1 ? subgraphNames : [];
251903
+ if (subgraphNames.length === 1) {
251904
+ return subgraphNames;
251905
+ }
251906
+ if (subgraphNames.includes(DEFAULT_SUBGRAPH_NAME)) {
251907
+ return [DEFAULT_SUBGRAPH_NAME];
251908
+ }
251909
+ return [];
251869
251910
  }
251870
251911
  if (!allowNew) {
251871
251912
  if (subgraphNames.length === 0) {
@@ -252818,7 +252859,7 @@ async function theGraphPrompt({
252818
252859
  envKey: "SETTLEMINT_THEGRAPH",
252819
252860
  isRequired,
252820
252861
  defaultHandler: async ({ defaultService: defaultMiddleware, choices }) => {
252821
- const filteredChoices = filterRunningOnly ? choices.filter(({ value: middleware }) => middleware === undefined || middleware?.status === "COMPLETED") : choices;
252862
+ const filteredChoices = filterRunningOnly ? choices.filter(({ value: middleware }) => isRunning(middleware)) : choices;
252822
252863
  return esm_default3({
252823
252864
  message: "Which The Graph instance do you want to connect to?",
252824
252865
  choices: filteredChoices,
@@ -253058,8 +253099,10 @@ async function getGraphEndpoint(settlemint, service, graphName) {
253058
253099
  })
253059
253100
  });
253060
253101
  const endpoints = theGraphMiddleware.subgraphs.map(({ graphqlQueryEndpoint }) => graphqlQueryEndpoint?.displayValue);
253102
+ const hasKitSubgraph = endpoints.map((endpoint) => endpoint.split("/").pop()).some((endpoint) => endpoint === DEFAULT_SUBGRAPH_NAME);
253061
253103
  return {
253062
- SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS: endpoints
253104
+ SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS: endpoints,
253105
+ SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: hasKitSubgraph ? DEFAULT_SUBGRAPH_NAME : undefined
253063
253106
  };
253064
253107
  }
253065
253108
  function getIpfsEndpoints(service) {
@@ -253146,7 +253189,7 @@ async function blockchainNodeOrLoadBalancerPrompt({
253146
253189
  envKey: "SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER",
253147
253190
  isRequired,
253148
253191
  defaultHandler: async ({ defaultService: defaultNode, choices }) => {
253149
- const filteredChoices = filterRunningOnly ? choices.filter(({ value: node }) => node === undefined || node?.status === "COMPLETED") : choices;
253192
+ const filteredChoices = filterRunningOnly ? choices.filter(({ value: node }) => isRunning(node)) : choices;
253150
253193
  return esm_default3({
253151
253194
  message: promptMessage ?? "Which blockchain node or load balancer do you want to connect to?",
253152
253195
  choices: filteredChoices,
@@ -253216,7 +253259,7 @@ function connectCommand() {
253216
253259
  env: { ...env2, ...graphEndpoints },
253217
253260
  accept: acceptDefaults,
253218
253261
  message: "Which The Graph subgraph do you want to use as the default?"
253219
- }) : [];
253262
+ }) : [graphEndpoints.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH];
253220
253263
  const portal = await portalPrompt({
253221
253264
  env: env2,
253222
253265
  middlewares,
@@ -257240,13 +257283,16 @@ function getCreateCommand({
257240
257283
  region: selectedRegion?.id ?? ""
257241
257284
  });
257242
257285
  if (wait) {
257243
- await waitForCompletion({
257286
+ const isDeployed = await waitForCompletion({
257244
257287
  settlemint,
257245
257288
  type: waitFor?.resourceType ?? type4,
257246
257289
  uniqueName: waitFor?.uniqueName ?? result.uniqueName,
257247
257290
  action: "deploy",
257248
257291
  restartIfTimeout
257249
257292
  });
257293
+ if (!isDeployed) {
257294
+ throw new Error(`Failed to deploy ${waitFor?.resourceType ?? type4} ${waitFor?.uniqueName ?? result.uniqueName}`);
257295
+ }
257250
257296
  if (waitFor) {
257251
257297
  outro(`${capitalizeFirstLetter2(waitFor.resourceType)} ${waitFor.name} created successfully`);
257252
257298
  }
@@ -257791,22 +257837,26 @@ function blockscoutInsightsCreateCommand() {
257791
257837
  if (!applicationUniqueName) {
257792
257838
  return missingApplication();
257793
257839
  }
257794
- let blockchainNodeUniqueName = loadBalancer ? undefined : blockchainNode ?? env2.SETTLEMINT_BLOCKCHAIN_NODE;
257795
- const loadBalancerUniqueName = blockchainNodeUniqueName ? undefined : loadBalancer ?? env2.SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER;
257840
+ let blockchainNodeUniqueName = blockchainNode;
257841
+ let loadBalancerUniqueName = loadBalancer;
257796
257842
  if (!blockchainNodeUniqueName && !loadBalancerUniqueName) {
257797
257843
  const blockchainNodes = await serviceSpinner("blockchain node", () => settlemint.blockchainNode.list(applicationUniqueName));
257798
257844
  const loadBalancers = await serviceSpinner("load balancer", () => settlemint.loadBalancer.list(applicationUniqueName));
257799
- const node = await blockchainNodeOrLoadBalancerPrompt({
257845
+ const nodeOrLoadbalancer = await blockchainNodeOrLoadBalancerPrompt({
257800
257846
  env: env2,
257801
257847
  nodes: blockchainNodes,
257802
257848
  loadBalancers,
257803
257849
  accept: acceptDefaults,
257804
257850
  isRequired: true
257805
257851
  });
257806
- if (!node) {
257852
+ if (!nodeOrLoadbalancer) {
257807
257853
  return nothingSelectedError("blockchain node");
257808
257854
  }
257809
- blockchainNodeUniqueName = node.uniqueName;
257855
+ if (nodeOrLoadbalancer.__typename?.endsWith("LoadBalancer")) {
257856
+ loadBalancerUniqueName = nodeOrLoadbalancer.uniqueName;
257857
+ } else {
257858
+ blockchainNodeUniqueName = nodeOrLoadbalancer.uniqueName;
257859
+ }
257810
257860
  }
257811
257861
  const result = await showSpinner(() => settlemint.insights.create({
257812
257862
  name: name3,
@@ -257993,7 +258043,8 @@ function loadBalancerEvmCreateCommand() {
257993
258043
  mapDefaultEnv: () => {
257994
258044
  return {
257995
258045
  SETTLEMINT_APPLICATION: applicationUniqueName,
257996
- SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER: result.uniqueName
258046
+ SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER: result.uniqueName,
258047
+ ...getBlockchainNodeOrLoadBalancerEndpoints(result)
257997
258048
  };
257998
258049
  }
257999
258050
  };
@@ -258685,7 +258736,15 @@ function getRestartCommand({
258685
258736
  stopMessage: `${capitalizeFirstLetter2(type4)} restart initiated`
258686
258737
  });
258687
258738
  if (wait) {
258688
- await waitForCompletion({ settlemint, type: type4, uniqueName: serviceUniqueName, action: "restart" });
258739
+ const isRestarted = await waitForCompletion({
258740
+ settlemint,
258741
+ type: type4,
258742
+ uniqueName: serviceUniqueName,
258743
+ action: "restart"
258744
+ });
258745
+ if (!isRestarted) {
258746
+ throw new Error(`Failed to restart ${type4} ${uniqueName}`);
258747
+ }
258689
258748
  }
258690
258749
  outro(`${capitalizeFirstLetter2(type4)} ${result.name} restart initiated successfully`);
258691
258750
  });
@@ -258941,10 +259000,7 @@ function yamlOutput(data) {
258941
259000
  // src/commands/platform/config.ts
258942
259001
  function configCommand() {
258943
259002
  return new Command("config").alias("cfg").description("Get platform configuration").option("--prod", "Connect to your production environment").option("-i, --instance <instance>", "The instance to connect to (defaults to the instance in the .env file)").addOption(new Option("-o, --output <output>", "The output format").choices(["json", "yaml"])).action(async ({ prod, instance, output }) => {
258944
- const printToTerminal = !output;
258945
- if (printToTerminal) {
258946
- intro("Getting platform configuration");
258947
- }
259003
+ intro("Getting platform configuration");
258948
259004
  const env2 = await loadEnv(false, !!prod);
258949
259005
  const selectedInstance = instance ? sanitizeAndValidateInstanceUrl(instance) : await instancePrompt(env2, true);
258950
259006
  const settlemint = createSettleMintClient({
@@ -258974,19 +259030,17 @@ function configCommand() {
258974
259030
  }))).sort((a8, b4) => a8.providerId.localeCompare(b4.providerId) || a8.regionId.localeCompare(b4.regionId)),
258975
259031
  preDeployedContracts: platformConfig.preDeployedContracts.sort()
258976
259032
  };
258977
- if (printToTerminal) {
259033
+ if (output === "json") {
259034
+ jsonOutput(platformConfigData);
259035
+ } else if (output === "yaml") {
259036
+ yamlOutput(platformConfigData);
259037
+ } else {
258978
259038
  table("Templates (Kits)", platformConfigData.kits);
258979
259039
  table("Use cases (Smart Contract Sets)", platformConfigData.useCases);
258980
259040
  table("Providers and regions", platformConfigData.deploymentEngineTargets);
258981
259041
  list("Pre-deployed abis (Smart Contract Portal)", platformConfigData.preDeployedContracts);
258982
- } else if (output === "json") {
258983
- jsonOutput(platformConfigData);
258984
- } else if (output === "yaml") {
258985
- yamlOutput(platformConfigData);
258986
- }
258987
- if (printToTerminal) {
258988
- outro("Platform configuration retrieved");
258989
259042
  }
259043
+ outro("Platform configuration retrieved");
258990
259044
  });
258991
259045
  }
258992
259046
 
@@ -259033,6 +259087,9 @@ function getUrlPathForService(service, serviceType) {
259033
259087
  if (serviceType === "insights") {
259034
259088
  return `insights/${encodeURIComponent(service.id)}/details`;
259035
259089
  }
259090
+ if (serviceType === "load-balancer") {
259091
+ return `loadbalancers/${encodeURIComponent(service.id)}/details`;
259092
+ }
259036
259093
  return "";
259037
259094
  }
259038
259095
  function getWorkspaceUrlPath(workspace) {
@@ -259062,10 +259119,7 @@ function applicationsListCommand() {
259062
259119
  command: "platform list applications -o yaml > applications.yaml"
259063
259120
  }
259064
259121
  ])).option("-w, --workspace <workspace>", "The workspace unique name to list applications for (defaults to workspace from env)").addOption(new Option("-o, --output <output>", "The output format").choices(["wide", "json", "yaml"])).action(async ({ workspace, output }) => {
259065
- const printToTerminal = !output || output === "wide";
259066
- if (printToTerminal) {
259067
- intro("Listing applications");
259068
- }
259122
+ intro("Listing applications");
259069
259123
  const env2 = await loadEnv(false, false);
259070
259124
  const selectedInstance = await instancePrompt(env2, true);
259071
259125
  const personalAccessToken = await getInstanceCredentials(selectedInstance);
@@ -259078,13 +259132,12 @@ function applicationsListCommand() {
259078
259132
  });
259079
259133
  const workspaceUniqueName = workspace ?? env2.SETTLEMINT_WORKSPACE ?? await selectWorkspace(settlemint, env2);
259080
259134
  const applications = await applicationsSpinner(settlemint, workspaceUniqueName);
259081
- const wide = output === "wide";
259082
259135
  const applicationsData = applications.map((application) => {
259083
259136
  const basicFields = {
259084
259137
  name: application.name,
259085
259138
  uniqueName: application.uniqueName
259086
259139
  };
259087
- if (wide || !printToTerminal) {
259140
+ if (output) {
259088
259141
  return {
259089
259142
  ...basicFields,
259090
259143
  url: getApplicationUrl(selectedInstance, application)
@@ -259092,17 +259145,15 @@ function applicationsListCommand() {
259092
259145
  }
259093
259146
  return basicFields;
259094
259147
  });
259095
- if (printToTerminal) {
259096
- const selectedWorkspace = await settlemint.workspace.read(workspaceUniqueName);
259097
- table(`Applications for workspace ${selectedWorkspace.name} (${selectedWorkspace.uniqueName}) - ${getWorkspaceUrl(selectedInstance, selectedWorkspace)}`, applicationsData);
259098
- } else if (output === "json") {
259148
+ const selectedWorkspace = await settlemint.workspace.read(workspaceUniqueName);
259149
+ if (output === "json") {
259099
259150
  jsonOutput(applicationsData);
259100
259151
  } else if (output === "yaml") {
259101
259152
  yamlOutput(applicationsData);
259153
+ } else {
259154
+ table(`Applications for workspace ${selectedWorkspace.name} (${selectedWorkspace.uniqueName}) - ${getWorkspaceUrl(selectedInstance, selectedWorkspace)}`, applicationsData);
259102
259155
  }
259103
- if (printToTerminal) {
259104
- outro("Applications listed");
259105
- }
259156
+ outro("Applications listed");
259106
259157
  });
259107
259158
  }
259108
259159
  async function selectWorkspace(settlemint, env2) {
@@ -259116,7 +259167,7 @@ function formatServiceSubType(service, printToTerminal = true) {
259116
259167
  if ("__typename" in service && typeof service.__typename === "string") {
259117
259168
  return printToTerminal ? camelCaseToWords2(service.__typename) : service.__typename;
259118
259169
  }
259119
- return printToTerminal ? "Unknown" : "Unknown";
259170
+ return "Unknown";
259120
259171
  }
259121
259172
 
259122
259173
  // src/commands/platform/utils/formatting/format-health-status.ts
@@ -259147,6 +259198,7 @@ function formatStatus(status, printToTerminal = true) {
259147
259198
  var SERVICE_TYPES = [
259148
259199
  "blockchain-network",
259149
259200
  "blockchain-node",
259201
+ "load-balancer",
259150
259202
  "custom-deployment",
259151
259203
  "insights",
259152
259204
  "integration-tool",
@@ -259185,10 +259237,7 @@ function servicesCommand() {
259185
259237
  command: "platform list services --type blockchain-network blockchain-node middleware"
259186
259238
  }
259187
259239
  ])).option("--app, --application <application>", "The application unique name to list the services in (defaults to application from env)").addOption(new Option("-t, --type <type...>", "The type(s) of service to list").choices(SERVICE_TYPES)).addOption(new Option("-o, --output <output>", "The output format").choices(["wide", "json", "yaml"])).action(async ({ application, type: type4, output }) => {
259188
- const printToTerminal = !output || output === "wide";
259189
- if (printToTerminal) {
259190
- intro("Listing application services");
259191
- }
259240
+ intro("Listing application services");
259192
259241
  const env2 = await loadEnv(false, false);
259193
259242
  const selectedInstance = await instancePrompt(env2, true);
259194
259243
  const personalAccessToken = await getInstanceCredentials(selectedInstance);
@@ -259200,6 +259249,7 @@ function servicesCommand() {
259200
259249
  accessToken,
259201
259250
  instance: selectedInstance
259202
259251
  });
259252
+ const printToTerminal = !output || output === "wide";
259203
259253
  const applicationUniqueName = application ?? env2.SETTLEMINT_APPLICATION ?? (printToTerminal ? await selectApplication(settlemint, env2) : null);
259204
259254
  if (!applicationUniqueName) {
259205
259255
  return nothingSelectedError("application");
@@ -259227,16 +259277,14 @@ function servicesCommand() {
259227
259277
  },
259228
259278
  services: servicesToShow
259229
259279
  };
259230
- if (printToTerminal) {
259231
- table(`Services for ${selectedApplication.name} (${applicationUniqueName}) - ${getApplicationUrl(selectedInstance, selectedApplication)}`, servicesToShow);
259232
- } else if (output === "json") {
259280
+ if (output === "json") {
259233
259281
  jsonOutput(data);
259234
259282
  } else if (output === "yaml") {
259235
259283
  yamlOutput(data);
259284
+ } else {
259285
+ table(`Services for ${selectedApplication.name} (${applicationUniqueName}) - ${getApplicationUrl(selectedInstance, selectedApplication)}`, servicesToShow);
259236
259286
  }
259237
- if (printToTerminal) {
259238
- outro("Application services listed");
259239
- }
259287
+ outro("Application services listed");
259240
259288
  });
259241
259289
  }
259242
259290
  async function selectApplication(settlemint, env2) {
@@ -259305,6 +259353,8 @@ function getItemsForServiceType(services, serviceType) {
259305
259353
  return services.blockchainNetworks;
259306
259354
  case "blockchain-node":
259307
259355
  return services.blockchainNodes;
259356
+ case "load-balancer":
259357
+ return services.loadBalancers;
259308
259358
  default:
259309
259359
  return [];
259310
259360
  }
@@ -260289,7 +260339,8 @@ function subgraphDeployCommand() {
260289
260339
  await writeEnvSpinner(!!prod, {
260290
260340
  ...env2,
260291
260341
  SETTLEMINT_THEGRAPH: theGraphMiddleware.uniqueName,
260292
- ...graphEndpoints
260342
+ ...graphEndpoints,
260343
+ SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH ?? graphName
260293
260344
  });
260294
260345
  outro(`Subgraph ${graphName} deployed successfully`);
260295
260346
  });
@@ -260359,8 +260410,8 @@ function subgraphRemoveCommand() {
260359
260410
  await writeEnvSpinner(!!prod, {
260360
260411
  ...env2,
260361
260412
  SETTLEMINT_THEGRAPH: theGraphMiddleware.uniqueName,
260362
- SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH === graphName ? undefined : env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH,
260363
- ...graphEndpoints
260413
+ ...graphEndpoints,
260414
+ SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH === graphName ? undefined : env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH
260364
260415
  });
260365
260416
  outro(`Subgraph ${graphName} removed successfully`);
260366
260417
  });
@@ -260422,7 +260473,10 @@ function addHooksToCommand(cmd2, rootCmd, argv) {
260422
260473
  rootCmd._lastCommand = thisCommand;
260423
260474
  rootCmd._lastCommand._commandPath = commandPath;
260424
260475
  }
260425
- if (isLeafCommand(thisCommand) && !isJsonOrYamlOutput(thisCommand)) {
260476
+ if (isJsonOrYamlOutput(thisCommand)) {
260477
+ process.env.SETTLEMINT_DISABLE_TERMINAL = "true";
260478
+ }
260479
+ if (isLeafCommand(thisCommand)) {
260426
260480
  ascii();
260427
260481
  await validateSdkVersionFromCommand(thisCommand);
260428
260482
  }
@@ -260506,4 +260560,4 @@ async function sdkCliCommand(argv = process.argv) {
260506
260560
  // src/cli.ts
260507
260561
  sdkCliCommand();
260508
260562
 
260509
- //# debugId=41A23B2F51149BFD64756E2164756E21
260563
+ //# debugId=1895DDFC302F0BFD64756E2164756E21