@settlemint/sdk-cli 2.1.4-pr0d9f8515 → 2.1.4-pr18723e0c

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 +204 -149
  2. package/dist/cli.js.map +30 -30
  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-pr0d9f8515",
245348
+ version: "2.1.4-pr18723e0c",
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-pr0d9f8515",
245393
- "@settlemint/sdk-utils": "2.1.4-pr0d9f8515",
245394
- "@types/node": "22.14.1",
245396
+ "@inquirer/select": "4.2.0",
245397
+ "@settlemint/sdk-js": "2.1.4-pr18723e0c",
245398
+ "@settlemint/sdk-utils": "2.1.4-pr18723e0c",
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") {
@@ -250093,6 +250125,9 @@ function tryParseJson3(value2, defaultValue = null) {
250093
250125
  }
250094
250126
  }
250095
250127
  function extractJsonObject(value2) {
250128
+ if (value2.length > 5000) {
250129
+ throw new Error("Input too long");
250130
+ }
250096
250131
  const result = /\{([\s\S]*)\}/.exec(value2);
250097
250132
  if (!result) {
250098
250133
  return null;
@@ -251600,6 +251635,9 @@ async function codegenTsconfig(env2, thegraphSubgraphNames) {
251600
251635
  };
251601
251636
  }
251602
251637
 
251638
+ // src/constants/default-subgraph.ts
251639
+ var DEFAULT_SUBGRAPH_NAME = "kit";
251640
+
251603
251641
  // src/utils/subgraph/sanitize-name.ts
251604
251642
  var import_slugify = __toESM(require_slugify(), 1);
251605
251643
  function sanitizeName(value4, length = 35) {
@@ -251809,9 +251847,9 @@ var esm_default3 = createPrompt((config3, done) => {
251809
251847
  firstRender.current = false;
251810
251848
  if (items.length > pageSize) {
251811
251849
  helpTipBottom = `
251812
- ${theme.style.help("(Use arrow keys to reveal more choices)")}`;
251850
+ ${theme.style.help(`(${config3.instructions?.pager ?? "Use arrow keys to reveal more choices"})`)}`;
251813
251851
  } else {
251814
- helpTipTop = theme.style.help("(Use arrow keys)");
251852
+ helpTipTop = theme.style.help(`(${config3.instructions?.navigation ?? "Use arrow keys"})`);
251815
251853
  }
251816
251854
  }
251817
251855
  const page = usePagination({
@@ -251862,7 +251900,13 @@ async function subgraphPrompt({
251862
251900
  if (env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH) {
251863
251901
  return [env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH];
251864
251902
  }
251865
- 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 [];
251866
251910
  }
251867
251911
  if (!allowNew) {
251868
251912
  if (subgraphNames.length === 0) {
@@ -252815,7 +252859,7 @@ async function theGraphPrompt({
252815
252859
  envKey: "SETTLEMINT_THEGRAPH",
252816
252860
  isRequired,
252817
252861
  defaultHandler: async ({ defaultService: defaultMiddleware, choices }) => {
252818
- const filteredChoices = filterRunningOnly ? choices.filter(({ value: middleware }) => middleware === undefined || middleware?.status === "COMPLETED") : choices;
252862
+ const filteredChoices = filterRunningOnly ? choices.filter(({ value: middleware }) => isRunning(middleware)) : choices;
252819
252863
  return esm_default3({
252820
252864
  message: "Which The Graph instance do you want to connect to?",
252821
252865
  choices: filteredChoices,
@@ -253055,8 +253099,10 @@ async function getGraphEndpoint(settlemint, service, graphName) {
253055
253099
  })
253056
253100
  });
253057
253101
  const endpoints = theGraphMiddleware.subgraphs.map(({ graphqlQueryEndpoint }) => graphqlQueryEndpoint?.displayValue);
253102
+ const hasKitSubgraph = endpoints.map((endpoint) => endpoint.split("/").pop()).some((endpoint) => endpoint === DEFAULT_SUBGRAPH_NAME);
253058
253103
  return {
253059
- SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS: endpoints
253104
+ SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS: endpoints,
253105
+ SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: hasKitSubgraph ? DEFAULT_SUBGRAPH_NAME : undefined
253060
253106
  };
253061
253107
  }
253062
253108
  function getIpfsEndpoints(service) {
@@ -253143,7 +253189,7 @@ async function blockchainNodeOrLoadBalancerPrompt({
253143
253189
  envKey: "SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER",
253144
253190
  isRequired,
253145
253191
  defaultHandler: async ({ defaultService: defaultNode, choices }) => {
253146
- const filteredChoices = filterRunningOnly ? choices.filter(({ value: node }) => node === undefined || node?.status === "COMPLETED") : choices;
253192
+ const filteredChoices = filterRunningOnly ? choices.filter(({ value: node }) => isRunning(node)) : choices;
253147
253193
  return esm_default3({
253148
253194
  message: promptMessage ?? "Which blockchain node or load balancer do you want to connect to?",
253149
253195
  choices: filteredChoices,
@@ -253213,7 +253259,7 @@ function connectCommand() {
253213
253259
  env: { ...env2, ...graphEndpoints },
253214
253260
  accept: acceptDefaults,
253215
253261
  message: "Which The Graph subgraph do you want to use as the default?"
253216
- }) : [];
253262
+ }) : [graphEndpoints.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH];
253217
253263
  const portal = await portalPrompt({
253218
253264
  env: env2,
253219
253265
  middlewares,
@@ -257237,13 +257283,16 @@ function getCreateCommand({
257237
257283
  region: selectedRegion?.id ?? ""
257238
257284
  });
257239
257285
  if (wait) {
257240
- await waitForCompletion({
257286
+ const isDeployed = await waitForCompletion({
257241
257287
  settlemint,
257242
257288
  type: waitFor?.resourceType ?? type4,
257243
257289
  uniqueName: waitFor?.uniqueName ?? result.uniqueName,
257244
257290
  action: "deploy",
257245
257291
  restartIfTimeout
257246
257292
  });
257293
+ if (!isDeployed) {
257294
+ throw new Error(`Failed to deploy ${waitFor?.resourceType ?? type4} ${waitFor?.uniqueName ?? result.uniqueName}`);
257295
+ }
257247
257296
  if (waitFor) {
257248
257297
  outro(`${capitalizeFirstLetter2(waitFor.resourceType)} ${waitFor.name} created successfully`);
257249
257298
  }
@@ -257788,22 +257837,26 @@ function blockscoutInsightsCreateCommand() {
257788
257837
  if (!applicationUniqueName) {
257789
257838
  return missingApplication();
257790
257839
  }
257791
- let blockchainNodeUniqueName = loadBalancer ? undefined : blockchainNode ?? env2.SETTLEMINT_BLOCKCHAIN_NODE;
257792
- const loadBalancerUniqueName = blockchainNodeUniqueName ? undefined : loadBalancer ?? env2.SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER;
257840
+ let blockchainNodeUniqueName = blockchainNode;
257841
+ let loadBalancerUniqueName = loadBalancer;
257793
257842
  if (!blockchainNodeUniqueName && !loadBalancerUniqueName) {
257794
257843
  const blockchainNodes = await serviceSpinner("blockchain node", () => settlemint.blockchainNode.list(applicationUniqueName));
257795
257844
  const loadBalancers = await serviceSpinner("load balancer", () => settlemint.loadBalancer.list(applicationUniqueName));
257796
- const node = await blockchainNodeOrLoadBalancerPrompt({
257845
+ const nodeOrLoadbalancer = await blockchainNodeOrLoadBalancerPrompt({
257797
257846
  env: env2,
257798
257847
  nodes: blockchainNodes,
257799
257848
  loadBalancers,
257800
257849
  accept: acceptDefaults,
257801
257850
  isRequired: true
257802
257851
  });
257803
- if (!node) {
257852
+ if (!nodeOrLoadbalancer) {
257804
257853
  return nothingSelectedError("blockchain node");
257805
257854
  }
257806
- blockchainNodeUniqueName = node.uniqueName;
257855
+ if (nodeOrLoadbalancer.__typename?.endsWith("LoadBalancer")) {
257856
+ loadBalancerUniqueName = nodeOrLoadbalancer.uniqueName;
257857
+ } else {
257858
+ blockchainNodeUniqueName = nodeOrLoadbalancer.uniqueName;
257859
+ }
257807
257860
  }
257808
257861
  const result = await showSpinner(() => settlemint.insights.create({
257809
257862
  name: name3,
@@ -257916,7 +257969,7 @@ function loadBalancerEvmCreateCommand() {
257916
257969
  type: "load balancer",
257917
257970
  subType: "EVM",
257918
257971
  execute: (cmd2, baseAction) => {
257919
- addClusterServiceArgs(cmd2).option("--app, --application <application>", "The application unique name to create the load balancer in (defaults to application from env)").option("--blockchain-nodes <blockchainNodes...>", "Blockchain node unique names where the load balancer connects to (must be from the same network)").option("--blockchain-network <blockchainNetwork>", "Blockchain network unique name where the load balancer connects to").action(async (name3, {
257972
+ addClusterServiceArgs(cmd2).option("--app, --application <application>", "The application unique name to create the load balancer in (defaults to application from env)").option("--blockchain-nodes <blockchainNodes...>", "Blockchain node unique names where the load balancer connects to (must be from the same network)").option("--blockchain-network <blockchainNetwork>", "Blockchain network unique name where the load balancer connects to, can be skipped if the --blockchain-nodes option is used (defaults to network from env)").action(async (name3, {
257920
257973
  application,
257921
257974
  provider,
257922
257975
  region,
@@ -257990,7 +258043,8 @@ function loadBalancerEvmCreateCommand() {
257990
258043
  mapDefaultEnv: () => {
257991
258044
  return {
257992
258045
  SETTLEMINT_APPLICATION: applicationUniqueName,
257993
- SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER: result.uniqueName
258046
+ SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER: result.uniqueName,
258047
+ ...getBlockchainNodeOrLoadBalancerEndpoints(result)
257994
258048
  };
257995
258049
  }
257996
258050
  };
@@ -258682,7 +258736,15 @@ function getRestartCommand({
258682
258736
  stopMessage: `${capitalizeFirstLetter2(type4)} restart initiated`
258683
258737
  });
258684
258738
  if (wait) {
258685
- 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
+ }
258686
258748
  }
258687
258749
  outro(`${capitalizeFirstLetter2(type4)} ${result.name} restart initiated successfully`);
258688
258750
  });
@@ -258938,10 +259000,7 @@ function yamlOutput(data) {
258938
259000
  // src/commands/platform/config.ts
258939
259001
  function configCommand() {
258940
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 }) => {
258941
- const printToTerminal = !output;
258942
- if (printToTerminal) {
258943
- intro("Getting platform configuration");
258944
- }
259003
+ intro("Getting platform configuration");
258945
259004
  const env2 = await loadEnv(false, !!prod);
258946
259005
  const selectedInstance = instance ? sanitizeAndValidateInstanceUrl(instance) : await instancePrompt(env2, true);
258947
259006
  const settlemint = createSettleMintClient({
@@ -258971,19 +259030,17 @@ function configCommand() {
258971
259030
  }))).sort((a8, b4) => a8.providerId.localeCompare(b4.providerId) || a8.regionId.localeCompare(b4.regionId)),
258972
259031
  preDeployedContracts: platformConfig.preDeployedContracts.sort()
258973
259032
  };
258974
- if (printToTerminal) {
259033
+ if (output === "json") {
259034
+ jsonOutput(platformConfigData);
259035
+ } else if (output === "yaml") {
259036
+ yamlOutput(platformConfigData);
259037
+ } else {
258975
259038
  table("Templates (Kits)", platformConfigData.kits);
258976
259039
  table("Use cases (Smart Contract Sets)", platformConfigData.useCases);
258977
259040
  table("Providers and regions", platformConfigData.deploymentEngineTargets);
258978
259041
  list("Pre-deployed abis (Smart Contract Portal)", platformConfigData.preDeployedContracts);
258979
- } else if (output === "json") {
258980
- jsonOutput(platformConfigData);
258981
- } else if (output === "yaml") {
258982
- yamlOutput(platformConfigData);
258983
- }
258984
- if (printToTerminal) {
258985
- outro("Platform configuration retrieved");
258986
259042
  }
259043
+ outro("Platform configuration retrieved");
258987
259044
  });
258988
259045
  }
258989
259046
 
@@ -259030,6 +259087,9 @@ function getUrlPathForService(service, serviceType) {
259030
259087
  if (serviceType === "insights") {
259031
259088
  return `insights/${encodeURIComponent(service.id)}/details`;
259032
259089
  }
259090
+ if (serviceType === "load-balancer") {
259091
+ return `loadbalancers/${encodeURIComponent(service.id)}/details`;
259092
+ }
259033
259093
  return "";
259034
259094
  }
259035
259095
  function getWorkspaceUrlPath(workspace) {
@@ -259059,10 +259119,7 @@ function applicationsListCommand() {
259059
259119
  command: "platform list applications -o yaml > applications.yaml"
259060
259120
  }
259061
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 }) => {
259062
- const printToTerminal = !output || output === "wide";
259063
- if (printToTerminal) {
259064
- intro("Listing applications");
259065
- }
259122
+ intro("Listing applications");
259066
259123
  const env2 = await loadEnv(false, false);
259067
259124
  const selectedInstance = await instancePrompt(env2, true);
259068
259125
  const personalAccessToken = await getInstanceCredentials(selectedInstance);
@@ -259075,13 +259132,12 @@ function applicationsListCommand() {
259075
259132
  });
259076
259133
  const workspaceUniqueName = workspace ?? env2.SETTLEMINT_WORKSPACE ?? await selectWorkspace(settlemint, env2);
259077
259134
  const applications = await applicationsSpinner(settlemint, workspaceUniqueName);
259078
- const wide = output === "wide";
259079
259135
  const applicationsData = applications.map((application) => {
259080
259136
  const basicFields = {
259081
259137
  name: application.name,
259082
259138
  uniqueName: application.uniqueName
259083
259139
  };
259084
- if (wide || !printToTerminal) {
259140
+ if (output) {
259085
259141
  return {
259086
259142
  ...basicFields,
259087
259143
  url: getApplicationUrl(selectedInstance, application)
@@ -259089,17 +259145,15 @@ function applicationsListCommand() {
259089
259145
  }
259090
259146
  return basicFields;
259091
259147
  });
259092
- if (printToTerminal) {
259093
- const selectedWorkspace = await settlemint.workspace.read(workspaceUniqueName);
259094
- table(`Applications for workspace ${selectedWorkspace.name} (${selectedWorkspace.uniqueName}) - ${getWorkspaceUrl(selectedInstance, selectedWorkspace)}`, applicationsData);
259095
- } else if (output === "json") {
259148
+ const selectedWorkspace = await settlemint.workspace.read(workspaceUniqueName);
259149
+ if (output === "json") {
259096
259150
  jsonOutput(applicationsData);
259097
259151
  } else if (output === "yaml") {
259098
259152
  yamlOutput(applicationsData);
259153
+ } else {
259154
+ table(`Applications for workspace ${selectedWorkspace.name} (${selectedWorkspace.uniqueName}) - ${getWorkspaceUrl(selectedInstance, selectedWorkspace)}`, applicationsData);
259099
259155
  }
259100
- if (printToTerminal) {
259101
- outro("Applications listed");
259102
- }
259156
+ outro("Applications listed");
259103
259157
  });
259104
259158
  }
259105
259159
  async function selectWorkspace(settlemint, env2) {
@@ -259113,7 +259167,7 @@ function formatServiceSubType(service, printToTerminal = true) {
259113
259167
  if ("__typename" in service && typeof service.__typename === "string") {
259114
259168
  return printToTerminal ? camelCaseToWords2(service.__typename) : service.__typename;
259115
259169
  }
259116
- return printToTerminal ? "Unknown" : "Unknown";
259170
+ return "Unknown";
259117
259171
  }
259118
259172
 
259119
259173
  // src/commands/platform/utils/formatting/format-health-status.ts
@@ -259144,6 +259198,7 @@ function formatStatus(status, printToTerminal = true) {
259144
259198
  var SERVICE_TYPES = [
259145
259199
  "blockchain-network",
259146
259200
  "blockchain-node",
259201
+ "load-balancer",
259147
259202
  "custom-deployment",
259148
259203
  "insights",
259149
259204
  "integration-tool",
@@ -259182,10 +259237,7 @@ function servicesCommand() {
259182
259237
  command: "platform list services --type blockchain-network blockchain-node middleware"
259183
259238
  }
259184
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 }) => {
259185
- const printToTerminal = !output || output === "wide";
259186
- if (printToTerminal) {
259187
- intro("Listing application services");
259188
- }
259240
+ intro("Listing application services");
259189
259241
  const env2 = await loadEnv(false, false);
259190
259242
  const selectedInstance = await instancePrompt(env2, true);
259191
259243
  const personalAccessToken = await getInstanceCredentials(selectedInstance);
@@ -259197,6 +259249,7 @@ function servicesCommand() {
259197
259249
  accessToken,
259198
259250
  instance: selectedInstance
259199
259251
  });
259252
+ const printToTerminal = !output || output === "wide";
259200
259253
  const applicationUniqueName = application ?? env2.SETTLEMINT_APPLICATION ?? (printToTerminal ? await selectApplication(settlemint, env2) : null);
259201
259254
  if (!applicationUniqueName) {
259202
259255
  return nothingSelectedError("application");
@@ -259224,16 +259277,14 @@ function servicesCommand() {
259224
259277
  },
259225
259278
  services: servicesToShow
259226
259279
  };
259227
- if (printToTerminal) {
259228
- table(`Services for ${selectedApplication.name} (${applicationUniqueName}) - ${getApplicationUrl(selectedInstance, selectedApplication)}`, servicesToShow);
259229
- } else if (output === "json") {
259280
+ if (output === "json") {
259230
259281
  jsonOutput(data);
259231
259282
  } else if (output === "yaml") {
259232
259283
  yamlOutput(data);
259284
+ } else {
259285
+ table(`Services for ${selectedApplication.name} (${applicationUniqueName}) - ${getApplicationUrl(selectedInstance, selectedApplication)}`, servicesToShow);
259233
259286
  }
259234
- if (printToTerminal) {
259235
- outro("Application services listed");
259236
- }
259287
+ outro("Application services listed");
259237
259288
  });
259238
259289
  }
259239
259290
  async function selectApplication(settlemint, env2) {
@@ -259302,6 +259353,8 @@ function getItemsForServiceType(services, serviceType) {
259302
259353
  return services.blockchainNetworks;
259303
259354
  case "blockchain-node":
259304
259355
  return services.blockchainNodes;
259356
+ case "load-balancer":
259357
+ return services.loadBalancers;
259305
259358
  default:
259306
259359
  return [];
259307
259360
  }
@@ -259784,12 +259837,10 @@ console.log(JSON.stringify(hardhat.userConfig));`,
259784
259837
  if (isHardhatConfig(config3)) {
259785
259838
  return config3;
259786
259839
  }
259787
- throw new Error(`Invalid hardhat config: ${output.join(`
259788
- `)}`);
259840
+ throw new Error("Invalid hardhat config");
259789
259841
  } catch (err) {
259790
259842
  const error5 = err;
259791
- note(`Error reading hardhat.config.ts: ${error5.output?.join(`
259792
- `) ?? error5.message}`);
259843
+ note(`Error reading hardhat.config.ts: ${error5.message}`);
259793
259844
  return {};
259794
259845
  }
259795
259846
  }
@@ -260288,7 +260339,8 @@ function subgraphDeployCommand() {
260288
260339
  await writeEnvSpinner(!!prod, {
260289
260340
  ...env2,
260290
260341
  SETTLEMINT_THEGRAPH: theGraphMiddleware.uniqueName,
260291
- ...graphEndpoints
260342
+ ...graphEndpoints,
260343
+ SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH ?? graphName
260292
260344
  });
260293
260345
  outro(`Subgraph ${graphName} deployed successfully`);
260294
260346
  });
@@ -260358,8 +260410,8 @@ function subgraphRemoveCommand() {
260358
260410
  await writeEnvSpinner(!!prod, {
260359
260411
  ...env2,
260360
260412
  SETTLEMINT_THEGRAPH: theGraphMiddleware.uniqueName,
260361
- SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH === graphName ? undefined : env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH,
260362
- ...graphEndpoints
260413
+ ...graphEndpoints,
260414
+ SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH === graphName ? undefined : env2.SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH
260363
260415
  });
260364
260416
  outro(`Subgraph ${graphName} removed successfully`);
260365
260417
  });
@@ -260421,7 +260473,10 @@ function addHooksToCommand(cmd2, rootCmd, argv) {
260421
260473
  rootCmd._lastCommand = thisCommand;
260422
260474
  rootCmd._lastCommand._commandPath = commandPath;
260423
260475
  }
260424
- if (isLeafCommand(thisCommand) && !isJsonOrYamlOutput(thisCommand)) {
260476
+ if (isJsonOrYamlOutput(thisCommand)) {
260477
+ process.env.SETTLEMINT_DISABLE_TERMINAL = "true";
260478
+ }
260479
+ if (isLeafCommand(thisCommand)) {
260425
260480
  ascii();
260426
260481
  await validateSdkVersionFromCommand(thisCommand);
260427
260482
  }
@@ -260505,4 +260560,4 @@ async function sdkCliCommand(argv = process.argv) {
260505
260560
  // src/cli.ts
260506
260561
  sdkCliCommand();
260507
260562
 
260508
- //# debugId=BB52F044285C9A7564756E2164756E21
260563
+ //# debugId=7E3E9F7EA1522A1064756E2164756E21