dexbot 1.6.4 → 1.6.5

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 (126) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +12 -12
  3. package/analysis/README.md +8 -1
  4. package/analysis/ama_fitting/package.json +1 -1
  5. package/analysis/analyze_dynamic_weight.ts +9 -3
  6. package/analysis/tradingview/analyze_tradingview.ts +5 -0
  7. package/analysis/tradingview/tradingview_uplot_chart_generator.ts +2 -2
  8. package/analysis/trend_detection/DYNAMIC_WEIGHT_RESEARCH.md +35 -2
  9. package/analysis/trend_detection/dynamic_weight_chart_generator.ts +82 -10
  10. package/analysis/trend_detection/package.json +1 -1
  11. package/claw/modules/dexbot_profiles.ts +4 -3
  12. package/claw/package.json +1 -1
  13. package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
  14. package/claw/runtimes/openclaw-plugin/package.json +1 -1
  15. package/claw/tests/test_claw_mcp_transport.ts +2 -2
  16. package/claw/tests/test_dexbot_profiles.ts +18 -1
  17. package/dist/analysis/analyze_dynamic_weight.js +9 -3
  18. package/dist/analysis/analyze_dynamic_weight.js.map +1 -1
  19. package/dist/analysis/tradingview/analyze_tradingview.d.ts.map +1 -1
  20. package/dist/analysis/tradingview/analyze_tradingview.js +5 -0
  21. package/dist/analysis/tradingview/analyze_tradingview.js.map +1 -1
  22. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +2 -2
  23. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +1 -1
  24. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +82 -10
  25. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +1 -1
  26. package/dist/dexbot.d.ts.map +1 -1
  27. package/dist/dexbot.js +27 -68
  28. package/dist/dexbot.js.map +1 -1
  29. package/dist/market_adapter/core/asymmetric_bounds.d.ts +2 -2
  30. package/dist/market_adapter/core/asymmetric_bounds.d.ts.map +1 -1
  31. package/dist/market_adapter/core/asymmetric_bounds.js +15 -12
  32. package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
  33. package/dist/market_adapter/interval_utils.d.ts +1 -1
  34. package/dist/market_adapter/interval_utils.js +1 -1
  35. package/dist/modules/account_bots.d.ts +55 -5
  36. package/dist/modules/account_bots.d.ts.map +1 -1
  37. package/dist/modules/account_bots.js +258 -117
  38. package/dist/modules/account_bots.js.map +1 -1
  39. package/dist/modules/bot_defaults.d.ts +98 -0
  40. package/dist/modules/bot_defaults.d.ts.map +1 -0
  41. package/dist/modules/bot_defaults.js +169 -0
  42. package/dist/modules/bot_defaults.js.map +1 -0
  43. package/dist/modules/bot_settings.d.ts.map +1 -1
  44. package/dist/modules/bot_settings.js +4 -1
  45. package/dist/modules/bot_settings.js.map +1 -1
  46. package/dist/modules/config.d.ts +1 -0
  47. package/dist/modules/config.d.ts.map +1 -1
  48. package/dist/modules/config.js +1 -0
  49. package/dist/modules/config.js.map +1 -1
  50. package/dist/modules/constants.d.ts +11 -2
  51. package/dist/modules/constants.d.ts.map +1 -1
  52. package/dist/modules/constants.js +40 -27
  53. package/dist/modules/constants.js.map +1 -1
  54. package/dist/modules/dexbot_maintenance_runtime.d.ts +1 -1
  55. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  56. package/dist/modules/dexbot_maintenance_runtime.js +9 -4
  57. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  58. package/dist/modules/launcher/adapter_requirement.js +1 -1
  59. package/dist/modules/launcher/launch_modes.d.ts +17 -1
  60. package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
  61. package/dist/modules/launcher/launch_modes.js +18 -1
  62. package/dist/modules/launcher/launch_modes.js.map +1 -1
  63. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
  64. package/dist/modules/launcher/monolithic_runtime.js +8 -1
  65. package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
  66. package/dist/modules/market_adapter_whitelist.d.ts +40 -1
  67. package/dist/modules/market_adapter_whitelist.d.ts.map +1 -1
  68. package/dist/modules/market_adapter_whitelist.js +161 -11
  69. package/dist/modules/market_adapter_whitelist.js.map +1 -1
  70. package/dist/modules/order/grid.d.ts +9 -0
  71. package/dist/modules/order/grid.d.ts.map +1 -1
  72. package/dist/modules/order/grid.js +23 -5
  73. package/dist/modules/order/grid.js.map +1 -1
  74. package/dist/modules/order/manager.js +3 -2
  75. package/dist/modules/order/manager.js.map +1 -1
  76. package/dist/modules/order/utils/system.d.ts +5 -1
  77. package/dist/modules/order/utils/system.d.ts.map +1 -1
  78. package/dist/modules/order/utils/system.js +5 -2
  79. package/dist/modules/order/utils/system.js.map +1 -1
  80. package/dist/modules/settings_merge.d.ts +10 -1
  81. package/dist/modules/settings_merge.d.ts.map +1 -1
  82. package/dist/modules/settings_merge.js +27 -17
  83. package/dist/modules/settings_merge.js.map +1 -1
  84. package/dist/modules/validate_profiles.d.ts.map +1 -1
  85. package/dist/modules/validate_profiles.js +4 -3
  86. package/dist/modules/validate_profiles.js.map +1 -1
  87. package/dist/scripts/chart_command.d.ts +48 -0
  88. package/dist/scripts/chart_command.d.ts.map +1 -0
  89. package/dist/scripts/chart_command.js +504 -0
  90. package/dist/scripts/chart_command.js.map +1 -0
  91. package/dist/scripts/dw.d.ts +3 -0
  92. package/dist/scripts/dw.d.ts.map +1 -0
  93. package/dist/scripts/dw.js +30 -0
  94. package/dist/scripts/dw.js.map +1 -0
  95. package/dist/scripts/tv.d.ts +1 -31
  96. package/dist/scripts/tv.d.ts.map +1 -1
  97. package/dist/scripts/tv.js +10 -463
  98. package/dist/scripts/tv.js.map +1 -1
  99. package/dist/scripts/update.js +99 -62
  100. package/dist/scripts/update.js.map +1 -1
  101. package/dist/scripts/update_dist_freshness.d.ts +46 -0
  102. package/dist/scripts/update_dist_freshness.d.ts.map +1 -0
  103. package/dist/scripts/update_dist_freshness.js +115 -0
  104. package/dist/scripts/update_dist_freshness.js.map +1 -0
  105. package/dist/unlock.js +1 -1
  106. package/dist/unlock.js.map +1 -1
  107. package/docs/BITSHARES_ONBOARDING.md +10 -7
  108. package/docs/DEXBOT_COMPARISON.md +3 -3
  109. package/docs/EVOLUTION.md +8 -7
  110. package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +4 -4
  111. package/docs/GRID_RECALCULATION.md +20 -24
  112. package/docs/GRID_RECONCILE.md +2 -2
  113. package/docs/LOGGING.md +1 -0
  114. package/docs/README.md +16 -16
  115. package/docs/WORKFLOW.md +1 -2
  116. package/docs/architecture.md +2 -2
  117. package/docs/developer_guide.md +1 -0
  118. package/market_adapter/README.md +36 -60
  119. package/modules/README.md +2 -1
  120. package/package.json +1 -2
  121. package/scripts/README.md +18 -25
  122. package/scripts/reset-settings.sh +1 -1
  123. package/dist/scripts/generate_market_adapter_whitelist.d.ts +0 -15
  124. package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +0 -1
  125. package/dist/scripts/generate_market_adapter_whitelist.js +0 -191
  126. package/dist/scripts/generate_market_adapter_whitelist.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"monolithic_runtime.d.ts","sourceRoot":"","sources":["../../../modules/launcher/monolithic_runtime.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuBrD,QAAA,MAAM,mBAAmB,QAAgC,CAAC;AAC1D,QAAA,MAAM,uBAAuB,QAAoC,CAAC;AAClE,QAAA,MAAM,wBAAwB,QAAqC,CAAC;AACpE,QAAA,MAAM,wBAAwB,QAAqC,CAAC;AACpE,QAAA,MAAM,kBAAkB,QAA0C,CAAC;AACnE,QAAA,MAAM,oBAAoB,QAAgD,CAAC;AAE3E,QAAA,MAAM,sBAAsB,QAA4B,CAAC;AACzD,QAAA,MAAM,qBAAqB,QAA+B,CAAC;AAE3D,iBAAS,cAAc,CAAC,KAAK,EAAE,GAAG,UAEjC;AAID,iBAAS,iBAAiB,SAIzB;AAED,iBAAS,qBAAqB;;;EAqB7B;AAED,iBAAS,qBAAqB,QAQ7B;AAID,iBAAS,+BAA+B,CAAC,GAAG,EAAE,GAAG,WAEhD;AAgBD,iBAAS,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,WAczD;AAID,iBAAS,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAU/C;AAED,iBAAe,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,iBAiD1D;AAED,iBAAS,6BAA6B,SAGrC;AAED,iBAAe,oBAAoB;;;GAkBlC;AAED,iBAAe,+BAA+B,CAAC,EAAE,OAAc,EAAE,GAAE,GAAQ,oBAQ1E;AAED,iBAAS,4BAA4B,WAKpC;AAED,iBAAe,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAe1H;AAID,iBAAS,YAAY,SAEpB;AAED,iBAAS,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,GAAE,GAAW,YAQ9D;AAID,iBAAS,qBAAqB,CAAC,EAAE,aAAa,EAAE,IAAmB,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAAO;;;EA8DhJ;AAID,iBAAS,kBAAkB,CAAC,QAAQ,CAAC,EAAE,GAAG;;;;IAazC;AAED,iBAAS,0BAA0B,CAAC,QAAQ,CAAC,EAAE,GAAG,UAKjD;AAmBD,iBAAS,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,GAAE,GAAW,OAIjE;AAED,iBAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,6DAKtC;AAED,iBAAS,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,YAetD;AAED,iBAAS,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAE,GAAQ,QAYpF;AAED,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,0BAA0B,EAAE,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"monolithic_runtime.d.ts","sourceRoot":"","sources":["../../../modules/launcher/monolithic_runtime.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAwBrD,QAAA,MAAM,mBAAmB,QAAgC,CAAC;AAC1D,QAAA,MAAM,uBAAuB,QAAoC,CAAC;AAClE,QAAA,MAAM,wBAAwB,QAAqC,CAAC;AACpE,QAAA,MAAM,wBAAwB,QAAqC,CAAC;AACpE,QAAA,MAAM,kBAAkB,QAA0C,CAAC;AACnE,QAAA,MAAM,oBAAoB,QAAgD,CAAC;AAE3E,QAAA,MAAM,sBAAsB,QAA4B,CAAC;AACzD,QAAA,MAAM,qBAAqB,QAA+B,CAAC;AAE3D,iBAAS,cAAc,CAAC,KAAK,EAAE,GAAG,UAEjC;AAID,iBAAS,iBAAiB,SAIzB;AAED,iBAAS,qBAAqB;;;EAqB7B;AAED,iBAAS,qBAAqB,QAQ7B;AAID,iBAAS,+BAA+B,CAAC,GAAG,EAAE,GAAG,WAEhD;AAgBD,iBAAS,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,WAczD;AAID,iBAAS,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAU/C;AAED,iBAAe,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,iBAiD1D;AAED,iBAAS,6BAA6B,SAGrC;AAED,iBAAe,oBAAoB;;;GAkBlC;AAED,iBAAe,+BAA+B,CAAC,EAAE,OAAc,EAAE,GAAE,GAAQ,oBAQ1E;AAED,iBAAS,4BAA4B,WAKpC;AAED,iBAAe,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAe1H;AAID,iBAAS,YAAY,SAEpB;AAED,iBAAS,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,GAAE,GAAW,YAa9D;AAID,iBAAS,qBAAqB,CAAC,EAAE,aAAa,EAAE,IAAmB,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAAO;;;EA8DhJ;AAID,iBAAS,kBAAkB,CAAC,QAAQ,CAAC,EAAE,GAAG;;;;IAazC;AAED,iBAAS,0BAA0B,CAAC,QAAQ,CAAC,EAAE,GAAG,UAKjD;AAmBD,iBAAS,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,GAAE,GAAW,OAIjE;AAED,iBAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,6DAKtC;AAED,iBAAS,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,YAetD;AAED,iBAAS,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAE,GAAQ,QAYpF;AAED,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,0BAA0B,EAAE,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,cAAc,EAAE,CAAA"}
@@ -17,6 +17,7 @@ const storage = getStorage();
17
17
  const { unlink: safeUnlink } = storage;
18
18
  import { isPidAlive, usesAmaGridPrice, parseCronExpression, getNextCronDate, isNodeProcessWithExactScript, } from './bot_supervisor.js';
19
19
  import { buildRuntimeScriptArgs, SCRIPTS_ROOT as CODE_ROOT } from './runtime_entry.js';
20
+ import { LAUNCHER_WORKER_COMMAND } from './launch_modes.js';
20
21
  import { getErrorMessage } from '../utils/errors.js';
21
22
  import { isSameBotName } from '../utils/sanitize_key.js';
22
23
  import { buildAdapterFingerprint } from './adapter_requirement.js';
@@ -213,7 +214,13 @@ function ensureLogDir() {
213
214
  storage.ensureDir(PATHS.LOGS_DIR);
214
215
  }
215
216
  function buildDexbotStartArgs(botName, dryrun = false) {
216
- const scriptArgs = [dryrun ? 'drystart' : 'test'];
217
+ // Launch the supervised worker as `worker` so the process table identifies
218
+ // it as the bot worker instead of the internal runner name. The worker is
219
+ // distinguished from the `unlock` supervisor by DEXBOT_LAUNCHER_WORKER
220
+ // (set at spawn); without it `worker` is not a public command.
221
+ const scriptArgs = [LAUNCHER_WORKER_COMMAND];
222
+ if (dryrun)
223
+ scriptArgs.push('--dryrun');
217
224
  if (botName)
218
225
  scriptArgs.push(botName);
219
226
  return buildRuntimeScriptArgs({
@@ -1 +1 @@
1
- {"version":3,"file":"monolithic_runtime.js","sourceRoot":"","sources":["../../../modules/launcher/monolithic_runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monolithic_runtime.js","sourceRoot":"","sources":["../../../modules/launcher/monolithic_runtime.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,49 @@ interface WhitelistFlags {
4
4
  dynamicWeight: boolean;
5
5
  asymmetricBounds: boolean;
6
6
  }
7
+ /** No whitelist file / missing entry / malformed entry: every flag off. */
8
+ declare const DEFAULT_WHITELIST_FLAGS: WhitelistFlags;
9
+ /** AMA enabled only — legacy `whitelist: [botKey]` array entries, and the
10
+ * generator's base shape for a fresh AMA-bot entry (CLI flags override). */
11
+ declare const AMA_ONLY_WHITELIST_FLAGS: WhitelistFlags;
12
+ /** Legacy per-entry `true` shorthand: every flag on. */
13
+ declare const ALL_ENABLED_WHITELIST_FLAGS: WhitelistFlags;
7
14
  declare function resetMarketAdapterWhitelistCache(): void;
8
15
  declare function getWhitelistFlags(botKey: string): WhitelistFlags;
9
16
  declare function isBotWhitelisted(botKey: string): boolean;
10
17
  declare function isBotDynamicWeightWhitelisted(botKey: string): boolean;
11
18
  declare function isBotAsymmetricBoundsWhitelisted(botKey: string): boolean;
12
- export { whitelistFile, resetMarketAdapterWhitelistCache, getWhitelistFlags, isBotWhitelisted, isBotDynamicWeightWhitelisted, isBotAsymmetricBoundsWhitelisted };
19
+ /**
20
+ * Stores the market-adapter flags for a single bot key. This is the bot
21
+ * editor's write-through path for section `6) Adapter` and writes the same
22
+ * file/shape the market adapter reads back.
23
+ * @param {string} botKey - Whitelist key (sanitized bot name).
24
+ * @param {Partial<WhitelistFlags>} flags - Flags to apply; omitted keys keep
25
+ * their current value.
26
+ * @returns {boolean} false when nothing was written (empty key or malformed file).
27
+ */
28
+ declare function setWhitelistFlags(botKey: string, flags: Partial<WhitelistFlags>): boolean;
29
+ /**
30
+ * Moves a whitelist entry to a new key (bot renamed in the editor). The
31
+ * entry value is carried over unchanged (legacy array-form entries were
32
+ * already normalized to the object form on read).
33
+ * @param {string} oldKey - Key derived from the previous bot name.
34
+ * @param {string} newKey - Key derived from the new bot name.
35
+ * @returns {boolean} true when the move happened or was a no-op; false when
36
+ * it was refused — the target key is occupied (checked even when there is
37
+ * no source entry, so callers never follow up by overwriting the occupant)
38
+ * or the file is unreadable. On refusal the surviving entry wins so the
39
+ * other bot's flags are never lost.
40
+ */
41
+ declare function renameWhitelistEntry(oldKey: string, newKey: string): boolean;
42
+ /**
43
+ * Removes the whitelist entry for a bot the editor just deleted. Mirrors the
44
+ * rename/set safeguards: an empty key or a missing entry is a no-op, and a
45
+ * malformed file aborts the write so it is never silently replaced.
46
+ * @param {string} botKey - Whitelist key (sanitized bot name).
47
+ * @returns {boolean} true when the entry is gone after the call (removed or
48
+ * never existed); false when a malformed file blocked the write.
49
+ */
50
+ declare function removeWhitelistEntry(botKey: string): boolean;
51
+ export { whitelistFile, resetMarketAdapterWhitelistCache, getWhitelistFlags, isBotWhitelisted, isBotDynamicWeightWhitelisted, isBotAsymmetricBoundsWhitelisted, setWhitelistFlags, renameWhitelistEntry, removeWhitelistEntry, DEFAULT_WHITELIST_FLAGS, AMA_ONLY_WHITELIST_FLAGS, ALL_ENABLED_WHITELIST_FLAGS };
13
52
  //# sourceMappingURL=market_adapter_whitelist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"market_adapter_whitelist.d.ts","sourceRoot":"","sources":["../../modules/market_adapter_whitelist.ts"],"names":[],"mappings":"AAaA,iBAAS,aAAa,IAAI,MAAM,CAE/B;AAED,UAAU,cAAc;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAID,iBAAS,gCAAgC,IAAI,IAAI,CAEhD;AA+CD,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAMzD;AAED,iBAAS,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,iBAAS,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,iBAAS,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,OAAO,EAAE,aAAa,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,CAAA"}
1
+ {"version":3,"file":"market_adapter_whitelist.d.ts","sourceRoot":"","sources":["../../modules/market_adapter_whitelist.ts"],"names":[],"mappings":"AAaA,iBAAS,aAAa,IAAI,MAAM,CAE/B;AAED,UAAU,cAAc;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AASD,2EAA2E;AAC3E,QAAA,MAAM,uBAAuB,EAAE,cAI7B,CAAC;AAEH;6EAC6E;AAC7E,QAAA,MAAM,wBAAwB,EAAE,cAI9B,CAAC;AAEH,wDAAwD;AACxD,QAAA,MAAM,2BAA2B,EAAE,cAIjC,CAAC;AAIH,iBAAS,gCAAgC,IAAI,IAAI,CAEhD;AA+CD,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAMzD;AAED,iBAAS,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,iBAAS,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,iBAAS,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjE;AAkDD;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAclF;AAED;;;;;;;;;;;GAWG;AACH,iBAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAerE;AAED;;;;;;;GAOG;AACH,iBAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CASrD;AAED,OAAO,EAAE,aAAa,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,CAAA"}
@@ -11,22 +11,47 @@ const { readJSON } = storage;
11
11
  function whitelistFile() {
12
12
  return Config.DEXBOT_TEST_MARKET_ADAPTER_WHITELIST_FILE || PATHS.PROFILES.MARKET_ADAPTER_WHITELIST_JSON();
13
13
  }
14
+ // --- Canonical flag shapes -------------------------------------------------
15
+ // Single source of truth for market-adapter whitelist flag defaults. Every
16
+ // consumer (read fallbacks, legacy upgrades, the whitelist generator, profile
17
+ // validation) derives its shape from these constants so a future flag addition
18
+ // cannot drift between files. Frozen; call sites spread them into fresh
19
+ // objects, so a frozen constant is never handed out directly.
20
+ /** No whitelist file / missing entry / malformed entry: every flag off. */
21
+ const DEFAULT_WHITELIST_FLAGS = Object.freeze({
22
+ ama: false,
23
+ dynamicWeight: false,
24
+ asymmetricBounds: false,
25
+ });
26
+ /** AMA enabled only — legacy `whitelist: [botKey]` array entries, and the
27
+ * generator's base shape for a fresh AMA-bot entry (CLI flags override). */
28
+ const AMA_ONLY_WHITELIST_FLAGS = Object.freeze({
29
+ ama: true,
30
+ dynamicWeight: false,
31
+ asymmetricBounds: false,
32
+ });
33
+ /** Legacy per-entry `true` shorthand: every flag on. */
34
+ const ALL_ENABLED_WHITELIST_FLAGS = Object.freeze({
35
+ ama: true,
36
+ dynamicWeight: true,
37
+ asymmetricBounds: true,
38
+ });
14
39
  let _whitelistCache = null;
15
40
  function resetMarketAdapterWhitelistCache() {
16
41
  _whitelistCache = null;
17
42
  }
18
43
  function normalizeEntry(entry) {
19
44
  if (entry === true) {
20
- return { ama: true, dynamicWeight: true, asymmetricBounds: true };
45
+ return { ...ALL_ENABLED_WHITELIST_FLAGS };
21
46
  }
22
47
  if (!entry || typeof entry !== 'object') {
23
- return { ama: false, dynamicWeight: false, asymmetricBounds: false };
48
+ return { ...DEFAULT_WHITELIST_FLAGS };
24
49
  }
25
- return {
26
- ama: entry.ama === true,
27
- dynamicWeight: entry.dynamicWeight === true,
28
- asymmetricBounds: entry.asymmetricBounds === true,
29
- };
50
+ const flags = { ...DEFAULT_WHITELIST_FLAGS };
51
+ for (const key of Object.keys(DEFAULT_WHITELIST_FLAGS)) {
52
+ flags[key] = entry[key] === true;
53
+ }
54
+ return flags;
30
55
  }
31
56
  function loadMarketAdapterWhitelist() {
32
57
  if (_whitelistCache !== null)
@@ -41,7 +66,7 @@ function loadMarketAdapterWhitelist() {
41
66
  const map = new Map();
42
67
  if (Array.isArray(raw)) {
43
68
  for (const botKey of raw) {
44
- map.set(String(botKey), { ama: true, dynamicWeight: false, asymmetricBounds: false });
69
+ map.set(String(botKey), { ...AMA_ONLY_WHITELIST_FLAGS });
45
70
  }
46
71
  }
47
72
  else if (raw && typeof raw === 'object') {
@@ -61,9 +86,9 @@ function loadMarketAdapterWhitelist() {
61
86
  function getWhitelistFlags(botKey) {
62
87
  const whitelist = loadMarketAdapterWhitelist();
63
88
  if (whitelist === false || !botKey) {
64
- return { ama: false, dynamicWeight: false, asymmetricBounds: false };
89
+ return { ...DEFAULT_WHITELIST_FLAGS };
65
90
  }
66
- return whitelist.get(String(botKey)) || { ama: false, dynamicWeight: false, asymmetricBounds: false };
91
+ return whitelist.get(String(botKey)) || { ...DEFAULT_WHITELIST_FLAGS };
67
92
  }
68
93
  function isBotWhitelisted(botKey) {
69
94
  return getWhitelistFlags(botKey).ama === true;
@@ -74,5 +99,130 @@ function isBotDynamicWeightWhitelisted(botKey) {
74
99
  function isBotAsymmetricBoundsWhitelisted(botKey) {
75
100
  return getWhitelistFlags(botKey).asymmetricBounds === true;
76
101
  }
77
- export { whitelistFile, resetMarketAdapterWhitelistCache, getWhitelistFlags, isBotWhitelisted, isBotDynamicWeightWhitelisted, isBotAsymmetricBoundsWhitelisted };
102
+ /**
103
+ * Reads the whitelist document from disk, normalizing its `whitelist` payload
104
+ * into a plain botKey-keyed object (the legacy array form is upgraded to the
105
+ * object form on the next write).
106
+ * @returns {{ doc: any, entries: Record<string, any> }|null} null when the
107
+ * file exists but cannot be parsed — callers must abort the write so a
108
+ * malformed file is never silently replaced by an empty one.
109
+ */
110
+ function readWhitelistDocument() {
111
+ if (!storage.exists(whitelistFile())) {
112
+ return { doc: {}, entries: {} };
113
+ }
114
+ let json;
115
+ try {
116
+ json = readJSON(whitelistFile());
117
+ }
118
+ catch (err) {
119
+ console.warn(`[WARN] Refusing to update malformed ${whitelistFile()}: ${getErrorMessage(err)}. Fix or delete the file first.`);
120
+ return null;
121
+ }
122
+ const raw = json?.whitelist;
123
+ const entries = {};
124
+ if (Array.isArray(raw)) {
125
+ for (const botKey of raw) {
126
+ if (botKey)
127
+ entries[String(botKey)] = { ...AMA_ONLY_WHITELIST_FLAGS };
128
+ }
129
+ }
130
+ else if (raw && typeof raw === 'object') {
131
+ for (const [botKey, entry] of Object.entries(raw)) {
132
+ entries[String(botKey)] = entry;
133
+ }
134
+ }
135
+ const doc = (json && typeof json === 'object' && !Array.isArray(json)) ? json : {};
136
+ return { doc, entries };
137
+ }
138
+ /**
139
+ * Writes the whitelist document back (sorted keys, same shape the market
140
+ * adapter reads) and invalidates the in-process read cache.
141
+ * @param {any} doc - Top-level document to preserve (extra keys survive).
142
+ * @param {Record<string, any>} entries - botKey-keyed whitelist entries.
143
+ */
144
+ function writeWhitelistDocument(doc, entries) {
145
+ doc.whitelist = Object.fromEntries(Object.entries(entries).sort((a, b) => String(a[0]).localeCompare(String(b[0]))));
146
+ storage.writeJSON(whitelistFile(), doc);
147
+ resetMarketAdapterWhitelistCache();
148
+ }
149
+ /**
150
+ * Stores the market-adapter flags for a single bot key. This is the bot
151
+ * editor's write-through path for section `6) Adapter` and writes the same
152
+ * file/shape the market adapter reads back.
153
+ * @param {string} botKey - Whitelist key (sanitized bot name).
154
+ * @param {Partial<WhitelistFlags>} flags - Flags to apply; omitted keys keep
155
+ * their current value.
156
+ * @returns {boolean} false when nothing was written (empty key or malformed file).
157
+ */
158
+ function setWhitelistFlags(botKey, flags) {
159
+ const key = String(botKey ?? '').trim();
160
+ if (!key)
161
+ return false;
162
+ const loaded = readWhitelistDocument();
163
+ if (!loaded)
164
+ return false;
165
+ const current = normalizeEntry(loaded.entries[key]);
166
+ const pick = (next, fallback) => next === undefined ? fallback : next === true;
167
+ loaded.entries[key] = {
168
+ ama: pick(flags.ama, current.ama),
169
+ dynamicWeight: pick(flags.dynamicWeight, current.dynamicWeight),
170
+ asymmetricBounds: pick(flags.asymmetricBounds, current.asymmetricBounds),
171
+ };
172
+ writeWhitelistDocument(loaded.doc, loaded.entries);
173
+ return true;
174
+ }
175
+ /**
176
+ * Moves a whitelist entry to a new key (bot renamed in the editor). The
177
+ * entry value is carried over unchanged (legacy array-form entries were
178
+ * already normalized to the object form on read).
179
+ * @param {string} oldKey - Key derived from the previous bot name.
180
+ * @param {string} newKey - Key derived from the new bot name.
181
+ * @returns {boolean} true when the move happened or was a no-op; false when
182
+ * it was refused — the target key is occupied (checked even when there is
183
+ * no source entry, so callers never follow up by overwriting the occupant)
184
+ * or the file is unreadable. On refusal the surviving entry wins so the
185
+ * other bot's flags are never lost.
186
+ */
187
+ function renameWhitelistEntry(oldKey, newKey) {
188
+ const from = String(oldKey ?? '').trim();
189
+ const to = String(newKey ?? '').trim();
190
+ if (!from || !to || from === to)
191
+ return true;
192
+ const loaded = readWhitelistDocument();
193
+ if (!loaded)
194
+ return false;
195
+ if (to in loaded.entries) {
196
+ console.warn(`[WARN] Whitelist entry '${to}' already exists; keeping it and leaving '${from}' in place.`);
197
+ return false;
198
+ }
199
+ if (!(from in loaded.entries))
200
+ return true;
201
+ loaded.entries[to] = loaded.entries[from];
202
+ delete loaded.entries[from];
203
+ writeWhitelistDocument(loaded.doc, loaded.entries);
204
+ return true;
205
+ }
206
+ /**
207
+ * Removes the whitelist entry for a bot the editor just deleted. Mirrors the
208
+ * rename/set safeguards: an empty key or a missing entry is a no-op, and a
209
+ * malformed file aborts the write so it is never silently replaced.
210
+ * @param {string} botKey - Whitelist key (sanitized bot name).
211
+ * @returns {boolean} true when the entry is gone after the call (removed or
212
+ * never existed); false when a malformed file blocked the write.
213
+ */
214
+ function removeWhitelistEntry(botKey) {
215
+ const key = String(botKey ?? '').trim();
216
+ if (!key)
217
+ return true;
218
+ const loaded = readWhitelistDocument();
219
+ if (!loaded)
220
+ return false;
221
+ if (!(key in loaded.entries))
222
+ return true;
223
+ delete loaded.entries[key];
224
+ writeWhitelistDocument(loaded.doc, loaded.entries);
225
+ return true;
226
+ }
227
+ export { whitelistFile, resetMarketAdapterWhitelistCache, getWhitelistFlags, isBotWhitelisted, isBotDynamicWeightWhitelisted, isBotAsymmetricBoundsWhitelisted, setWhitelistFlags, renameWhitelistEntry, removeWhitelistEntry, DEFAULT_WHITELIST_FLAGS, AMA_ONLY_WHITELIST_FLAGS, ALL_ENABLED_WHITELIST_FLAGS };
78
228
  //# sourceMappingURL=market_adapter_whitelist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"market_adapter_whitelist.js","sourceRoot":"","sources":["../../modules/market_adapter_whitelist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market_adapter_whitelist.js","sourceRoot":"","sources":["../../modules/market_adapter_whitelist.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,15 @@
92
92
  *
93
93
  * ===============================================================================
94
94
  */
95
+ /**
96
+ * Central resolution for the RMS structural-divergence threshold (percent).
97
+ * Single source of truth: per-bot override wins, global GRID_COMPARISON default
98
+ * is the fallback. Used by compareGrids() and re-exported for the maintenance
99
+ * runtime so the reset log always shows the level that actually fired.
100
+ * @param {any} manager - OrderManager instance (may be null)
101
+ * @returns {number} Threshold in percent (0 = disabled)
102
+ */
103
+ export declare function resolveRmsThresholdPct(manager: any): number;
95
104
  import { calculateGapSlots as _mathGapSlots } from './utils/math.js';
96
105
  declare const calculateGapSlots: typeof _mathGapSlots;
97
106
  export { calculateGapSlots };
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../modules/order/grid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../modules/order/grid.ts"],"names":[],"mappings":"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"}
@@ -95,13 +95,24 @@
95
95
  import { createRequire } from 'node:module';
96
96
  const require = createRequire(import.meta.url);
97
97
  import { ORDER_TYPES, ORDER_STATES, COW_ACTIONS, DEFAULT_CONFIG, GRID_LIMITS, TIMING, PIPELINE_TIMING, MARKET_ADAPTER, INCREMENT_BOUNDS } from '../constants.js';
98
- const { GRID_COMPARISON } = GRID_LIMITS;
99
98
  import * as Format from './format.js';
100
99
  import { resolveMaxAsymmetryFactor, applyAsymmetricBounds, applyNarrowingSideGuard, } from '../../market_adapter/core/asymmetric_bounds.js';
101
100
  // FIX: Extract magic numbers to named constants for maintainability
102
101
  const GRID_CONSTANTS = {
103
102
  RMS_PERCENTAGE_SCALE: 100, // Convert RMS percentage threshold from percent to decimal
104
103
  };
104
+ /**
105
+ * Central resolution for the RMS structural-divergence threshold (percent).
106
+ * Single source of truth: per-bot override wins, global GRID_COMPARISON default
107
+ * is the fallback. Used by compareGrids() and re-exported for the maintenance
108
+ * runtime so the reset log always shows the level that actually fired.
109
+ * @param {any} manager - OrderManager instance (may be null)
110
+ * @returns {number} Threshold in percent (0 = disabled)
111
+ */
112
+ export function resolveRmsThresholdPct(manager) {
113
+ return manager?.config?.gridLimits?.GRID_COMPARISON?.RMS_PERCENTAGE
114
+ ?? GRID_LIMITS.GRID_COMPARISON.RMS_PERCENTAGE;
115
+ }
105
116
  function _snapshotFundState(manager) {
106
117
  return {
107
118
  buyFree: Number(manager.accountTotals?.buyFree || 0),
@@ -1884,8 +1895,9 @@ export async function compareGrids(calculatedGrid, persistedGrid, manager = null
1884
1895
  // Check if metrics exceed threshold and flag sides for regeneration
1885
1896
  // Set RMS_PERCENTAGE to 0 to disable RMS divergence checks
1886
1897
  let buyUpdated = false, sellUpdated = false;
1887
- if (manager && (manager.config?.gridLimits?.GRID_COMPARISON?.RMS_PERCENTAGE ?? GRID_COMPARISON.RMS_PERCENTAGE) > 0) {
1888
- const limit = (manager.config?.gridLimits?.GRID_COMPARISON?.RMS_PERCENTAGE ?? GRID_COMPARISON.RMS_PERCENTAGE) / GRID_CONSTANTS.RMS_PERCENTAGE_SCALE;
1898
+ const rmsThresholdPct = resolveRmsThresholdPct(manager);
1899
+ if (manager && rmsThresholdPct > 0) {
1900
+ const limit = rmsThresholdPct / GRID_CONSTANTS.RMS_PERCENTAGE_SCALE;
1889
1901
  if (buyMetric > limit) {
1890
1902
  // RC-3: Use Set for automatic duplicate prevention
1891
1903
  if (!(manager._gridSidesUpdated instanceof Set))
@@ -1900,11 +1912,16 @@ export async function compareGrids(calculatedGrid, persistedGrid, manager = null
1900
1912
  manager._gridSidesUpdated.add(ORDER_TYPES.SELL);
1901
1913
  sellUpdated = true;
1902
1914
  }
1915
+ manager.logger?.log?.(`[RMS] BUY check: metric=${Format.formatPercent(buyMetric * 100, 2)}% (threshold=${rmsThresholdPct}%) → ${buyUpdated ? 'TRIGGER-RESYNC' : 'no trigger'} | SELL check: metric=${Format.formatPercent(sellMetric * 100, 2)}% (threshold=${rmsThresholdPct}%) → ${sellUpdated ? 'TRIGGER-RESYNC' : 'no trigger'}`, 'debug');
1916
+ }
1917
+ else if (manager) {
1918
+ manager.logger?.log?.(`[RMS] checks disabled (threshold=${rmsThresholdPct}%) — buy=${Format.formatPercent(buyMetric * 100, 2)}%, sell=${Format.formatPercent(sellMetric * 100, 2)}%`, 'debug');
1903
1919
  }
1904
1920
  return {
1905
1921
  buy: { metric: buyMetric, updated: buyUpdated },
1906
1922
  sell: { metric: sellMetric, updated: sellUpdated },
1907
- totalMetric: (buyMetric + sellMetric) / 2
1923
+ totalMetric: (buyMetric + sellMetric) / 2,
1924
+ thresholdPct: rmsThresholdPct
1908
1925
  };
1909
1926
  }
1910
1927
  /**
@@ -1937,7 +1954,8 @@ export async function monitorDivergence(manager, calculatedGrid, persistedGrid)
1937
1954
  needsUpdate: buyUpdated || sellUpdated,
1938
1955
  buy: { updated: buyUpdated, ratio: ratioResult.buyUpdated, rms: rmsResult.buy.updated, metric: rmsResult.buy.metric, shrink: ratioResult.buyShrink === true },
1939
1956
  sell: { updated: sellUpdated, ratio: ratioResult.sellUpdated, rms: rmsResult.sell.updated, metric: rmsResult.sell.metric, shrink: ratioResult.sellShrink === true },
1940
- orderType: getOrderTypeFromUpdatedFlags(buyUpdated, sellUpdated)
1957
+ orderType: getOrderTypeFromUpdatedFlags(buyUpdated, sellUpdated),
1958
+ thresholdPct: rmsResult.thresholdPct
1941
1959
  };
1942
1960
  }
1943
1961
  /**