@gbozee/ultimate 0.0.2-next.45 → 0.0.2-next.48

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.
@@ -9,7 +9,13 @@ function generateArithmetic(payload) {
9
9
  });
10
10
  }
11
11
  function generateGeometric(payload) {
12
- const { margin_range, risk_reward, kind, price_places = "%.1f", percent_change } = payload;
12
+ const {
13
+ margin_range,
14
+ risk_reward,
15
+ kind,
16
+ price_places = "%.1f",
17
+ percent_change
18
+ } = payload;
13
19
  const effectivePercentChange = percent_change ?? Math.abs(margin_range[1] / margin_range[0] - 1) / risk_reward;
14
20
  return Array.from({ length: risk_reward + 1 }, (_, i) => {
15
21
  const price = kind === "long" ? margin_range[1] * Math.pow(1 - effectivePercentChange, i) : margin_range[0] * Math.pow(1 + effectivePercentChange, i);
@@ -31,7 +37,13 @@ function approximateInverseNormal(p) {
31
37
  }
32
38
  }
33
39
  function generateNormal(payload) {
34
- const { margin_range, risk_reward, kind, price_places = "%.1f", stdDevFactor = 6 } = payload;
40
+ const {
41
+ margin_range,
42
+ risk_reward,
43
+ kind,
44
+ price_places = "%.1f",
45
+ stdDevFactor = 6
46
+ } = payload;
35
47
  const mean = (margin_range[0] + margin_range[1]) / 2;
36
48
  const stdDev = Math.abs(margin_range[1] - margin_range[0]) / stdDevFactor;
37
49
  const skew = kind === "long" ? -0.2 : 0.2;
@@ -46,7 +58,13 @@ function generateNormal(payload) {
46
58
  return entries.sort((a, b) => a - b);
47
59
  }
48
60
  function generateExponential(payload) {
49
- const { margin_range, risk_reward, kind, price_places = "%.1f", lambda } = payload;
61
+ const {
62
+ margin_range,
63
+ risk_reward,
64
+ kind,
65
+ price_places = "%.1f",
66
+ lambda
67
+ } = payload;
50
68
  const range = Math.abs(margin_range[1] - margin_range[0]);
51
69
  const effectiveLambda = lambda || 2.5;
52
70
  return Array.from({ length: risk_reward + 1 }, (_, i) => {
@@ -57,7 +75,13 @@ function generateExponential(payload) {
57
75
  });
58
76
  }
59
77
  function generateInverseExponential(payload) {
60
- const { margin_range, risk_reward, kind, price_places = "%.1f", curveFactor = 2 } = payload;
78
+ const {
79
+ margin_range,
80
+ risk_reward,
81
+ kind,
82
+ price_places = "%.1f",
83
+ curveFactor = 2
84
+ } = payload;
61
85
  const range = Math.abs(margin_range[1] - margin_range[0]);
62
86
  return Array.from({ length: risk_reward + 1 }, (_, i) => {
63
87
  const t = i / risk_reward;
@@ -137,7 +161,13 @@ function getEntries(params) {
137
161
  }
138
162
  var distributions_default = getEntries;
139
163
  function generateLognormal(payload) {
140
- const { margin_range, risk_reward, kind, price_places = "%.1f", stdDevFactor = 6 } = payload;
164
+ const {
165
+ margin_range,
166
+ risk_reward,
167
+ kind,
168
+ price_places = "%.1f",
169
+ stdDevFactor = 6
170
+ } = payload;
141
171
  const logMin = Math.log(margin_range[0]);
142
172
  const logMax = Math.log(margin_range[1]);
143
173
  const mean = (logMin + logMax) / 2;
package/dist/index.cjs CHANGED
@@ -114,8 +114,8 @@ function normalize(input) {
114
114
  }
115
115
  var import_node_buffer, encode = (input) => import_node_buffer.Buffer.from(input).toString("base64url"), decode = (input) => new Uint8Array(import_node_buffer.Buffer.from(normalize(input), "base64url"));
116
116
  var init_base64url = __esm(() => {
117
- import_node_buffer = require("node:buffer");
118
117
  init_buffer_utils();
118
+ import_node_buffer = require("node:buffer");
119
119
  });
120
120
 
121
121
  // node_modules/jose/dist/node/esm/util/errors.js
@@ -344,8 +344,8 @@ function cbcTag(aad, iv, ciphertext, macSize, macKey, keySize) {
344
344
  }
345
345
  var import_node_crypto4;
346
346
  var init_cbc_tag = __esm(() => {
347
- import_node_crypto4 = require("node:crypto");
348
347
  init_buffer_utils();
348
+ import_node_crypto4 = require("node:crypto");
349
349
  });
350
350
 
351
351
  // node_modules/jose/dist/node/esm/runtime/webcrypto.js
@@ -645,7 +645,6 @@ var import_node_crypto6, decrypt = (enc, cek, ciphertext, iv, tag, aad) => {
645
645
  }
646
646
  }, decrypt_default;
647
647
  var init_decrypt = __esm(() => {
648
- import_node_crypto6 = require("node:crypto");
649
648
  init_check_iv_length();
650
649
  init_check_cek_length();
651
650
  init_buffer_utils();
@@ -656,6 +655,7 @@ var init_decrypt = __esm(() => {
656
655
  init_is_key_object();
657
656
  init_ciphers();
658
657
  init_is_key_like();
658
+ import_node_crypto6 = require("node:crypto");
659
659
  decrypt_default = decrypt;
660
660
  });
661
661
 
@@ -744,14 +744,14 @@ var import_node_buffer2, import_node_crypto7, wrap = (alg, key, cek) => {
744
744
  return concat(cipher.update(encryptedKey), cipher.final());
745
745
  };
746
746
  var init_aeskw = __esm(() => {
747
- import_node_buffer2 = require("node:buffer");
748
- import_node_crypto7 = require("node:crypto");
749
747
  init_errors();
750
748
  init_buffer_utils();
751
749
  init_webcrypto();
752
750
  init_is_key_object();
753
751
  init_ciphers();
754
752
  init_is_key_like();
753
+ import_node_buffer2 = require("node:buffer");
754
+ import_node_crypto7 = require("node:crypto");
755
755
  });
756
756
 
757
757
  // node_modules/jose/dist/node/esm/lib/is_jwk.js
@@ -816,12 +816,12 @@ var import_node_crypto8, weakMap, namedCurveToJOSE = (namedCurve) => {
816
816
  }
817
817
  }, get_named_curve_default;
818
818
  var init_get_named_curve = __esm(() => {
819
- import_node_crypto8 = require("node:crypto");
820
819
  init_errors();
821
820
  init_webcrypto();
822
821
  init_is_key_object();
823
822
  init_is_key_like();
824
823
  init_is_jwk();
824
+ import_node_crypto8 = require("node:crypto");
825
825
  weakMap = new WeakMap;
826
826
  get_named_curve_default = getNamedCurve2;
827
827
  });
@@ -875,14 +875,14 @@ async function generateEpk(kee) {
875
875
  }
876
876
  var import_node_crypto9, import_node_util, generateKeyPair, ecdhAllowed = (key) => ["P-256", "P-384", "P-521", "X25519", "X448"].includes(get_named_curve_default(key));
877
877
  var init_ecdhes = __esm(() => {
878
- import_node_crypto9 = require("node:crypto");
879
- import_node_util = require("node:util");
880
878
  init_get_named_curve();
881
879
  init_buffer_utils();
882
880
  init_errors();
883
881
  init_webcrypto();
884
882
  init_is_key_object();
885
883
  init_is_key_like();
884
+ import_node_crypto9 = require("node:crypto");
885
+ import_node_util = require("node:util");
886
886
  generateKeyPair = import_node_util.promisify(import_node_crypto9.generateKeyPair);
887
887
  });
888
888
 
@@ -927,8 +927,6 @@ var import_node_util2, import_node_crypto10, pbkdf2, encrypt = async (alg, key,
927
927
  return unwrap(alg.slice(-6), derivedKey, encryptedKey);
928
928
  };
929
929
  var init_pbes2kw = __esm(() => {
930
- import_node_util2 = require("node:util");
931
- import_node_crypto10 = require("node:crypto");
932
930
  init_random();
933
931
  init_buffer_utils();
934
932
  init_base64url();
@@ -937,6 +935,8 @@ var init_pbes2kw = __esm(() => {
937
935
  init_webcrypto();
938
936
  init_is_key_object();
939
937
  init_is_key_like();
938
+ import_node_util2 = require("node:util");
939
+ import_node_crypto10 = require("node:crypto");
940
940
  pbkdf2 = import_node_util2.promisify(import_node_crypto10.pbkdf2);
941
941
  });
942
942
 
@@ -1013,12 +1013,12 @@ var import_node_crypto12, import_node_util3, checkKey = (key, alg) => {
1013
1013
  return import_node_crypto12.privateDecrypt({ key: keyObject, oaepHash, padding }, encryptedKey);
1014
1014
  };
1015
1015
  var init_rsaes = __esm(() => {
1016
- import_node_crypto12 = require("node:crypto");
1017
- import_node_util3 = require("node:util");
1018
1016
  init_check_key_length();
1019
1017
  init_webcrypto();
1020
1018
  init_is_key_object();
1021
1019
  init_is_key_like();
1020
+ import_node_crypto12 = require("node:crypto");
1021
+ import_node_util3 = require("node:util");
1022
1022
  RSA1_5 = import_node_util3.deprecate(() => import_node_crypto12.constants.RSA_PKCS1_PADDING, 'The RSA1_5 "alg" (JWE Algorithm) is deprecated and will be removed in the next major revision.');
1023
1023
  });
1024
1024
 
@@ -1087,11 +1087,11 @@ var import_node_crypto13, import_node_buffer3, genericExport = (keyType, keyForm
1087
1087
  format: "pem"
1088
1088
  });
1089
1089
  var init_asn1 = __esm(() => {
1090
- import_node_crypto13 = require("node:crypto");
1091
- import_node_buffer3 = require("node:buffer");
1092
1090
  init_webcrypto();
1093
1091
  init_is_key_object();
1094
1092
  init_is_key_like();
1093
+ import_node_crypto13 = require("node:crypto");
1094
+ import_node_buffer3 = require("node:buffer");
1095
1095
  });
1096
1096
 
1097
1097
  // node_modules/jose/dist/node/esm/runtime/jwk_to_key.js
@@ -1290,7 +1290,6 @@ var import_node_crypto15, encrypt3 = (enc, plaintext, cek, iv, aad) => {
1290
1290
  }
1291
1291
  }, encrypt_default;
1292
1292
  var init_encrypt = __esm(() => {
1293
- import_node_crypto15 = require("node:crypto");
1294
1293
  init_check_iv_length();
1295
1294
  init_check_cek_length();
1296
1295
  init_buffer_utils();
@@ -1301,6 +1300,7 @@ var init_encrypt = __esm(() => {
1301
1300
  init_errors();
1302
1301
  init_ciphers();
1303
1302
  init_is_key_like();
1303
+ import_node_crypto15 = require("node:crypto");
1304
1304
  encrypt_default = encrypt3;
1305
1305
  });
1306
1306
 
@@ -1749,12 +1749,12 @@ var import_node_crypto16, keyToJWK = (key) => {
1749
1749
  return keyObject.export({ format: "jwk" });
1750
1750
  }, key_to_jwk_default;
1751
1751
  var init_key_to_jwk = __esm(() => {
1752
- import_node_crypto16 = require("node:crypto");
1753
1752
  init_base64url();
1754
1753
  init_errors();
1755
1754
  init_webcrypto();
1756
1755
  init_is_key_object();
1757
1756
  init_is_key_like();
1757
+ import_node_crypto16 = require("node:crypto");
1758
1758
  key_to_jwk_default = keyToJWK;
1759
1759
  });
1760
1760
 
@@ -2325,10 +2325,10 @@ function keyForCrypto(alg, key) {
2325
2325
  }
2326
2326
  var import_node_crypto17, ecCurveAlgMap;
2327
2327
  var init_node_key = __esm(() => {
2328
- import_node_crypto17 = require("node:crypto");
2329
2328
  init_get_named_curve();
2330
2329
  init_errors();
2331
2330
  init_check_key_length();
2331
+ import_node_crypto17 = require("node:crypto");
2332
2332
  ecCurveAlgMap = new Map([
2333
2333
  ["ES256", "P-256"],
2334
2334
  ["ES256K", "secp256k1"],
@@ -2379,10 +2379,10 @@ function getSignVerifyKey(alg, key, usage) {
2379
2379
  }
2380
2380
  var import_node_crypto18;
2381
2381
  var init_get_sign_verify_key = __esm(() => {
2382
- import_node_crypto18 = require("node:crypto");
2383
2382
  init_webcrypto();
2384
2383
  init_is_key_like();
2385
2384
  init_is_jwk();
2385
+ import_node_crypto18 = require("node:crypto");
2386
2386
  });
2387
2387
 
2388
2388
  // node_modules/jose/dist/node/esm/runtime/sign.js
@@ -2396,12 +2396,12 @@ var crypto3, import_node_util4, oneShotSign, sign2 = async (alg, key, data) => {
2396
2396
  return oneShotSign(dsaDigest(alg), data, keyForCrypto(alg, k));
2397
2397
  }, sign_default;
2398
2398
  var init_sign = __esm(() => {
2399
- crypto3 = __toESM(require("node:crypto"));
2400
- import_node_util4 = require("node:util");
2401
2399
  init_dsa_digest();
2402
2400
  init_hmac_digest();
2403
2401
  init_node_key();
2404
2402
  init_get_sign_verify_key();
2403
+ crypto3 = __toESM(require("node:crypto"));
2404
+ import_node_util4 = require("node:util");
2405
2405
  oneShotSign = import_node_util4.promisify(crypto3.sign);
2406
2406
  sign_default = sign2;
2407
2407
  });
@@ -2427,12 +2427,12 @@ var crypto4, import_node_util5, oneShotVerify, verify2 = async (alg, key, signat
2427
2427
  }
2428
2428
  }, verify_default;
2429
2429
  var init_verify = __esm(() => {
2430
- crypto4 = __toESM(require("node:crypto"));
2431
- import_node_util5 = require("node:util");
2432
2430
  init_dsa_digest();
2433
2431
  init_node_key();
2434
2432
  init_sign();
2435
2433
  init_get_sign_verify_key();
2434
+ crypto4 = __toESM(require("node:crypto"));
2435
+ import_node_util5 = require("node:util");
2436
2436
  oneShotVerify = import_node_util5.promisify(crypto4.verify);
2437
2437
  verify_default = verify2;
2438
2438
  });
@@ -3439,11 +3439,11 @@ var http, https, import_node_events, fetchJwks = async (url, timeout, options) =
3439
3439
  }
3440
3440
  }, fetch_jwks_default;
3441
3441
  var init_fetch_jwks = __esm(() => {
3442
+ init_errors();
3443
+ init_buffer_utils();
3442
3444
  http = __toESM(require("node:http"));
3443
3445
  https = __toESM(require("node:https"));
3444
3446
  import_node_events = require("node:events");
3445
- init_errors();
3446
- init_buffer_utils();
3447
3447
  fetch_jwks_default = fetchJwks;
3448
3448
  });
3449
3449
 
@@ -3797,10 +3797,10 @@ async function generateKeyPair2(alg, options) {
3797
3797
  }
3798
3798
  var import_node_crypto19, import_node_util6, generate;
3799
3799
  var init_generate = __esm(() => {
3800
- import_node_crypto19 = require("node:crypto");
3801
- import_node_util6 = require("node:util");
3802
3800
  init_random();
3803
3801
  init_errors();
3802
+ import_node_crypto19 = require("node:crypto");
3803
+ import_node_util6 = require("node:util");
3804
3804
  generate = import_node_util6.promisify(import_node_crypto19.generateKeyPair);
3805
3805
  });
3806
3806
 
@@ -10603,17 +10603,17 @@ var require_src2 = __commonJS((exports2) => {
10603
10603
  }
10604
10604
  });
10605
10605
 
10606
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/types/Logger.js
10606
+ // node_modules/@opentelemetry/api-logs/build/src/types/Logger.js
10607
10607
  var require_Logger = __commonJS((exports2) => {
10608
10608
  Object.defineProperty(exports2, "__esModule", { value: true });
10609
10609
  });
10610
10610
 
10611
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/types/LoggerProvider.js
10611
+ // node_modules/@opentelemetry/api-logs/build/src/types/LoggerProvider.js
10612
10612
  var require_LoggerProvider = __commonJS((exports2) => {
10613
10613
  Object.defineProperty(exports2, "__esModule", { value: true });
10614
10614
  });
10615
10615
 
10616
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/types/LogRecord.js
10616
+ // node_modules/@opentelemetry/api-logs/build/src/types/LogRecord.js
10617
10617
  var require_LogRecord = __commonJS((exports2) => {
10618
10618
  Object.defineProperty(exports2, "__esModule", { value: true });
10619
10619
  exports2.SeverityNumber = undefined;
@@ -10647,17 +10647,17 @@ var require_LogRecord = __commonJS((exports2) => {
10647
10647
  })(SeverityNumber = exports2.SeverityNumber || (exports2.SeverityNumber = {}));
10648
10648
  });
10649
10649
 
10650
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/types/LoggerOptions.js
10650
+ // node_modules/@opentelemetry/api-logs/build/src/types/LoggerOptions.js
10651
10651
  var require_LoggerOptions = __commonJS((exports2) => {
10652
10652
  Object.defineProperty(exports2, "__esModule", { value: true });
10653
10653
  });
10654
10654
 
10655
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/types/AnyValue.js
10655
+ // node_modules/@opentelemetry/api-logs/build/src/types/AnyValue.js
10656
10656
  var require_AnyValue = __commonJS((exports2) => {
10657
10657
  Object.defineProperty(exports2, "__esModule", { value: true });
10658
10658
  });
10659
10659
 
10660
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/NoopLogger.js
10660
+ // node_modules/@opentelemetry/api-logs/build/src/NoopLogger.js
10661
10661
  var require_NoopLogger = __commonJS((exports2) => {
10662
10662
  Object.defineProperty(exports2, "__esModule", { value: true });
10663
10663
  exports2.NOOP_LOGGER = exports2.NoopLogger = undefined;
@@ -10669,7 +10669,7 @@ var require_NoopLogger = __commonJS((exports2) => {
10669
10669
  exports2.NOOP_LOGGER = new NoopLogger;
10670
10670
  });
10671
10671
 
10672
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/NoopLoggerProvider.js
10672
+ // node_modules/@opentelemetry/api-logs/build/src/NoopLoggerProvider.js
10673
10673
  var require_NoopLoggerProvider = __commonJS((exports2) => {
10674
10674
  Object.defineProperty(exports2, "__esModule", { value: true });
10675
10675
  exports2.NOOP_LOGGER_PROVIDER = exports2.NoopLoggerProvider = undefined;
@@ -10684,14 +10684,14 @@ var require_NoopLoggerProvider = __commonJS((exports2) => {
10684
10684
  exports2.NOOP_LOGGER_PROVIDER = new NoopLoggerProvider;
10685
10685
  });
10686
10686
 
10687
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/platform/node/globalThis.js
10687
+ // node_modules/@opentelemetry/api-logs/build/src/platform/node/globalThis.js
10688
10688
  var require_globalThis2 = __commonJS((exports2) => {
10689
10689
  Object.defineProperty(exports2, "__esModule", { value: true });
10690
10690
  exports2._globalThis = undefined;
10691
10691
  exports2._globalThis = typeof globalThis === "object" ? globalThis : global;
10692
10692
  });
10693
10693
 
10694
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/platform/node/index.js
10694
+ // node_modules/@opentelemetry/api-logs/build/src/platform/node/index.js
10695
10695
  var require_node2 = __commonJS((exports2) => {
10696
10696
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
10697
10697
  if (k2 === undefined)
@@ -10713,7 +10713,7 @@ var require_node2 = __commonJS((exports2) => {
10713
10713
  __exportStar(require_globalThis2(), exports2);
10714
10714
  });
10715
10715
 
10716
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/platform/index.js
10716
+ // node_modules/@opentelemetry/api-logs/build/src/platform/index.js
10717
10717
  var require_platform2 = __commonJS((exports2) => {
10718
10718
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
10719
10719
  if (k2 === undefined)
@@ -10735,7 +10735,7 @@ var require_platform2 = __commonJS((exports2) => {
10735
10735
  __exportStar(require_node2(), exports2);
10736
10736
  });
10737
10737
 
10738
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/internal/global-utils.js
10738
+ // node_modules/@opentelemetry/api-logs/build/src/internal/global-utils.js
10739
10739
  var require_global_utils2 = __commonJS((exports2) => {
10740
10740
  Object.defineProperty(exports2, "__esModule", { value: true });
10741
10741
  exports2.API_BACKWARDS_COMPATIBILITY_VERSION = exports2.makeGetter = exports2._global = exports2.GLOBAL_LOGS_API_KEY = undefined;
@@ -10749,7 +10749,7 @@ var require_global_utils2 = __commonJS((exports2) => {
10749
10749
  exports2.API_BACKWARDS_COMPATIBILITY_VERSION = 1;
10750
10750
  });
10751
10751
 
10752
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/api/logs.js
10752
+ // node_modules/@opentelemetry/api-logs/build/src/api/logs.js
10753
10753
  var require_logs = __commonJS((exports2) => {
10754
10754
  Object.defineProperty(exports2, "__esModule", { value: true });
10755
10755
  exports2.LogsAPI = undefined;
@@ -10785,7 +10785,7 @@ var require_logs = __commonJS((exports2) => {
10785
10785
  exports2.LogsAPI = LogsAPI;
10786
10786
  });
10787
10787
 
10788
- // node_modules/@trigger.dev/core/node_modules/@opentelemetry/api-logs/build/src/index.js
10788
+ // node_modules/@opentelemetry/api-logs/build/src/index.js
10789
10789
  var require_src3 = __commonJS((exports2) => {
10790
10790
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
10791
10791
  if (k2 === undefined)
@@ -29180,13 +29180,13 @@ var require_beautifier = __commonJS((exports2) => {
29180
29180
  exports2.default = Beautifier;
29181
29181
  });
29182
29182
 
29183
- // node_modules/binance/node_modules/nanoid/url-alphabet/index.cjs
29183
+ // node_modules/nanoid/url-alphabet/index.cjs
29184
29184
  var require_url_alphabet = __commonJS((exports2, module2) => {
29185
29185
  var urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
29186
29186
  module2.exports = { urlAlphabet };
29187
29187
  });
29188
29188
 
29189
- // node_modules/binance/node_modules/nanoid/index.cjs
29189
+ // node_modules/nanoid/index.cjs
29190
29190
  var require_nanoid = __commonJS((exports2, module2) => {
29191
29191
  var crypto5 = require("crypto");
29192
29192
  var { urlAlphabet } = require_url_alphabet();
@@ -44451,7 +44451,6 @@ var init_lib_esm = __esm(() => {
44451
44451
  init_client();
44452
44452
  init_node();
44453
44453
  init_node2();
44454
- init_errors2();
44455
44454
  init_batch();
44456
44455
  init_libsql_url();
44457
44456
  init_sql();
@@ -44461,6 +44460,7 @@ var init_lib_esm = __esm(() => {
44461
44460
  init_stream3();
44462
44461
  init_client();
44463
44462
  init_stream2();
44463
+ init_errors2();
44464
44464
  });
44465
44465
 
44466
44466
  // node_modules/@libsql/client/lib-esm/hrana.js
@@ -60662,7 +60662,13 @@ function generateArithmetic(payload) {
60662
60662
  });
60663
60663
  }
60664
60664
  function generateGeometric(payload) {
60665
- const { margin_range, risk_reward, kind, price_places = "%.1f", percent_change } = payload;
60665
+ const {
60666
+ margin_range,
60667
+ risk_reward,
60668
+ kind,
60669
+ price_places = "%.1f",
60670
+ percent_change
60671
+ } = payload;
60666
60672
  const effectivePercentChange = percent_change ?? Math.abs(margin_range[1] / margin_range[0] - 1) / risk_reward;
60667
60673
  return Array.from({ length: risk_reward + 1 }, (_, i2) => {
60668
60674
  const price = kind === "long" ? margin_range[1] * Math.pow(1 - effectivePercentChange, i2) : margin_range[0] * Math.pow(1 + effectivePercentChange, i2);
@@ -60684,7 +60690,13 @@ function approximateInverseNormal(p) {
60684
60690
  }
60685
60691
  }
60686
60692
  function generateNormal(payload) {
60687
- const { margin_range, risk_reward, kind, price_places = "%.1f", stdDevFactor = 6 } = payload;
60693
+ const {
60694
+ margin_range,
60695
+ risk_reward,
60696
+ kind,
60697
+ price_places = "%.1f",
60698
+ stdDevFactor = 6
60699
+ } = payload;
60688
60700
  const mean = (margin_range[0] + margin_range[1]) / 2;
60689
60701
  const stdDev = Math.abs(margin_range[1] - margin_range[0]) / stdDevFactor;
60690
60702
  const skew = kind === "long" ? -0.2 : 0.2;
@@ -60699,7 +60711,13 @@ function generateNormal(payload) {
60699
60711
  return entries.sort((a, b) => a - b);
60700
60712
  }
60701
60713
  function generateExponential(payload) {
60702
- const { margin_range, risk_reward, kind, price_places = "%.1f", lambda } = payload;
60714
+ const {
60715
+ margin_range,
60716
+ risk_reward,
60717
+ kind,
60718
+ price_places = "%.1f",
60719
+ lambda
60720
+ } = payload;
60703
60721
  const range = Math.abs(margin_range[1] - margin_range[0]);
60704
60722
  const effectiveLambda = lambda || 2.5;
60705
60723
  return Array.from({ length: risk_reward + 1 }, (_, i2) => {
@@ -60710,7 +60728,13 @@ function generateExponential(payload) {
60710
60728
  });
60711
60729
  }
60712
60730
  function generateInverseExponential(payload) {
60713
- const { margin_range, risk_reward, kind, price_places = "%.1f", curveFactor = 2 } = payload;
60731
+ const {
60732
+ margin_range,
60733
+ risk_reward,
60734
+ kind,
60735
+ price_places = "%.1f",
60736
+ curveFactor = 2
60737
+ } = payload;
60714
60738
  const range = Math.abs(margin_range[1] - margin_range[0]);
60715
60739
  return Array.from({ length: risk_reward + 1 }, (_, i2) => {
60716
60740
  const t2 = i2 / risk_reward;
@@ -60790,7 +60814,13 @@ function getEntries(params) {
60790
60814
  }
60791
60815
  var distributions_default = getEntries;
60792
60816
  function generateLognormal(payload) {
60793
- const { margin_range, risk_reward, kind, price_places = "%.1f", stdDevFactor = 6 } = payload;
60817
+ const {
60818
+ margin_range,
60819
+ risk_reward,
60820
+ kind,
60821
+ price_places = "%.1f",
60822
+ stdDevFactor = 6
60823
+ } = payload;
60794
60824
  const logMin = Math.log(margin_range[0]);
60795
60825
  const logMax = Math.log(margin_range[1]);
60796
60826
  const mean = (logMin + logMax) / 2;
@@ -65124,6 +65154,105 @@ async function createSpotLimitOrdersParallel(client, symbol, priceFormat, quanti
65124
65154
  })));
65125
65155
  return results.flat();
65126
65156
  }
65157
+ async function createMarginLimitOrdersParallel(client, symbol, priceFormat, quantityFormat, orders, isIsolated = false, currentPrice) {
65158
+ const createMarginOrder = (x) => {
65159
+ const v = {
65160
+ symbol: symbol.toUpperCase(),
65161
+ side: x.side.toUpperCase(),
65162
+ type: x.type || "LIMIT",
65163
+ quantity: x.quantity ? to_f(x.quantity, quantityFormat) : 0,
65164
+ price: x.price ? to_f(x.price, priceFormat) : undefined,
65165
+ timeInForce: x.timeInForce || "GTC",
65166
+ isIsolated: isIsolated ? "TRUE" : "FALSE",
65167
+ sideEffectType: x.sideEffectType || "NO_SIDE_EFFECT"
65168
+ };
65169
+ if (x.stop && x.stop > 0) {
65170
+ v.type = "STOP_LOSS_LIMIT";
65171
+ v.stopPrice = to_f(x.stop, priceFormat);
65172
+ }
65173
+ if (x.force_market || x.is_market) {
65174
+ delete v.price;
65175
+ delete v.timeInForce;
65176
+ v.type = "MARKET";
65177
+ }
65178
+ return Object.fromEntries(Object.entries(v).filter(([, value2]) => value2 !== undefined));
65179
+ };
65180
+ const newOrders = orders.map(createMarginOrder);
65181
+ const limit = import_p_limit.default(ORDERS_PER_SECOND);
65182
+ const results = await Promise.all(newOrders.map((orderPayload) => limit(async () => {
65183
+ try {
65184
+ const result = await client.marginAccountNewOrder(orderPayload);
65185
+ console.log("Margin order result:", result);
65186
+ return result;
65187
+ } catch (error) {
65188
+ console.error("Error processing margin order:", error);
65189
+ throw error;
65190
+ }
65191
+ })));
65192
+ return results;
65193
+ }
65194
+ async function getIsolatedMarginAccountInfo(client, symbol) {
65195
+ try {
65196
+ const response = await client.getIsolatedMarginAccountInfo({
65197
+ symbols: symbol
65198
+ });
65199
+ return response;
65200
+ } catch (error) {
65201
+ console.error("Error fetching isolated margin account info:", error);
65202
+ return null;
65203
+ }
65204
+ }
65205
+ async function getCrossMarginAccountDetails(client) {
65206
+ try {
65207
+ const response = await client.queryCrossMarginAccountDetails();
65208
+ return response;
65209
+ } catch (error) {
65210
+ console.error("Error fetching cross margin account details:", error);
65211
+ return null;
65212
+ }
65213
+ }
65214
+ async function cancelMarginOrders(client, symbol, isIsolated = false, orders) {
65215
+ try {
65216
+ if (orders && orders.length > 0) {
65217
+ const cancelPromises = orders.map((order) => client.marginAccountCancelOrder({
65218
+ symbol,
65219
+ orderId: order.orderId,
65220
+ origClientOrderId: order.origClientOrderId,
65221
+ isIsolated: isIsolated ? "TRUE" : "FALSE"
65222
+ }));
65223
+ return await Promise.all(cancelPromises);
65224
+ } else {
65225
+ return await client.marginAccountCancelOpenOrders({
65226
+ symbol,
65227
+ isIsolated: isIsolated ? "TRUE" : "FALSE"
65228
+ });
65229
+ }
65230
+ } catch (error) {
65231
+ console.error("Error cancelling margin orders:", error);
65232
+ throw error;
65233
+ }
65234
+ }
65235
+ async function getMarginOpenOrders(client, symbol, isIsolated = false) {
65236
+ try {
65237
+ const response = await client.queryMarginAccountOpenOrders({
65238
+ symbol,
65239
+ isIsolated: isIsolated ? "TRUE" : "FALSE"
65240
+ });
65241
+ return (response || []).map((order) => ({
65242
+ ...order,
65243
+ id: order.orderId,
65244
+ order_id: order.orderId,
65245
+ price: parseFloat(order.price),
65246
+ quantity: parseFloat(order.origQty),
65247
+ side: order.side.toLowerCase(),
65248
+ type: order.type.toLowerCase(),
65249
+ status: order.status.toLowerCase()
65250
+ }));
65251
+ } catch (error) {
65252
+ console.error("Error fetching margin open orders:", error);
65253
+ return [];
65254
+ }
65255
+ }
65127
65256
  async function placeSpotLimitOrders(client, payload) {
65128
65257
  const { price_places = "%.8f", decimal_places = "%.8f", symbol } = payload;
65129
65258
  if (payload.cancel) {
@@ -66107,6 +66236,36 @@ class BinanceExchange extends BaseExchange {
66107
66236
  throw error;
66108
66237
  }
66109
66238
  }
66239
+ async createMarginLimitOrders(payload) {
66240
+ if (!this.main_client) {
66241
+ throw new Error("Main client not available for margin trading");
66242
+ }
66243
+ return await createMarginLimitOrdersParallel(this.main_client, payload.symbol, payload.price_places || "%.8f", payload.decimal_places || "%.8f", payload.orders, payload.isIsolated || false);
66244
+ }
66245
+ async getIsolatedMarginPosition(symbol) {
66246
+ if (!this.main_client) {
66247
+ throw new Error("Main client not available for margin trading");
66248
+ }
66249
+ return await getIsolatedMarginAccountInfo(this.main_client, symbol);
66250
+ }
66251
+ async getCrossMarginAccount() {
66252
+ if (!this.main_client) {
66253
+ throw new Error("Main client not available for margin trading");
66254
+ }
66255
+ return await getCrossMarginAccountDetails(this.main_client);
66256
+ }
66257
+ async cancelMarginOrders(symbol, isIsolated = false, orders) {
66258
+ if (!this.main_client) {
66259
+ throw new Error("Main client not available for margin trading");
66260
+ }
66261
+ return await cancelMarginOrders(this.main_client, symbol, isIsolated, orders);
66262
+ }
66263
+ async getMarginOpenOrders(symbol, isIsolated = false) {
66264
+ if (!this.main_client) {
66265
+ throw new Error("Main client not available for margin trading");
66266
+ }
66267
+ return await getMarginOpenOrders(this.main_client, symbol, isIsolated);
66268
+ }
66110
66269
  }
66111
66270
  function getPricePlaces(target) {
66112
66271
  const numStr = target.toString();
@@ -68562,6 +68721,25 @@ class ExchangePosition {
68562
68721
  await this.cancelOrders({ limit: true });
68563
68722
  }
68564
68723
  }
68724
+ async placeTp({ place }) {
68725
+ const config2 = await this.exchange_account.buildReduceConfig({
68726
+ symbol: this.symbol,
68727
+ as_dict: true,
68728
+ trigger: {
68729
+ long: place || false,
68730
+ short: place || false
68731
+ }
68732
+ });
68733
+ if (config2) {
68734
+ return await this.exchange_account.reduceMajorPositionEntry({
68735
+ symbol: this.symbol,
68736
+ long: config2.long,
68737
+ short: config2.short,
68738
+ trigger: config2.trigger
68739
+ });
68740
+ }
68741
+ return null;
68742
+ }
68565
68743
  }
68566
68744
  function convert_to_exchange_order(order) {
68567
68745
  return {
package/dist/index.d.ts CHANGED
@@ -7045,6 +7045,9 @@ export declare class ExchangePosition {
7045
7045
  stop: number;
7046
7046
  }>;
7047
7047
  cleanOnActiveCompoundInstance(): Promise<void>;
7048
+ placeTp({ place }: {
7049
+ place?: boolean;
7050
+ }): Promise<any>;
7048
7051
  }
7049
7052
  declare class ExchangeAccount$1 {
7050
7053
  instance: {