dexbot 1.4.24 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +67 -0
- package/README.md +7 -2
- package/analysis/README.md +61 -5
- package/analysis/ama_fitting/package.json +1 -1
- package/analysis/analyze_derivatives.ts +1 -1
- package/analysis/bot_key_utils.ts +272 -3
- package/analysis/bot_usage/discover_bot_accounts.ts +64 -9
- package/analysis/bot_usage/kibana_bot_queries.ts +40 -1
- package/analysis/chart_utils.ts +6 -3
- package/analysis/grid_correction_check.ts +932 -0
- package/analysis/resolve_bot_accounts.ts +199 -0
- package/analysis/trade_profitability.ts +36 -8
- package/analysis/tradingview/README.md +25 -0
- package/analysis/tradingview/analyze_tradingview.ts +2 -2
- package/analysis/trend_detection/package.json +1 -1
- package/claw/modules/claw_launcher.ts +5 -4
- package/claw/modules/credit_runtime_adapter.ts +2 -1
- package/claw/modules/dexbot_profiles.ts +4 -3
- package/claw/package.json +1 -1
- package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
- package/claw/runtimes/openclaw-plugin/package.json +1 -1
- package/claw/tests/test_claw_mcp_transport.ts +2 -2
- package/dist/analysis/analyze_derivatives.js +1 -1
- package/dist/analysis/bot_key_utils.d.ts +28 -1
- package/dist/analysis/bot_key_utils.d.ts.map +1 -1
- package/dist/analysis/bot_key_utils.js +385 -3
- package/dist/analysis/bot_key_utils.js.map +1 -1
- package/dist/analysis/bot_usage/discover_bot_accounts.js +60 -10
- package/dist/analysis/bot_usage/discover_bot_accounts.js.map +1 -1
- package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +45 -1
- package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +1 -1
- package/dist/analysis/bot_usage/kibana_bot_queries.js +39 -1
- package/dist/analysis/bot_usage/kibana_bot_queries.js.map +1 -1
- package/dist/analysis/chart_utils.d.ts +2 -1
- package/dist/analysis/chart_utils.d.ts.map +1 -1
- package/dist/analysis/chart_utils.js +4 -1
- package/dist/analysis/chart_utils.js.map +1 -1
- package/dist/analysis/grid_correction_check.d.ts +90 -0
- package/dist/analysis/grid_correction_check.d.ts.map +1 -0
- package/dist/analysis/grid_correction_check.js +901 -0
- package/dist/analysis/grid_correction_check.js.map +1 -0
- package/dist/analysis/resolve_bot_accounts.d.ts +3 -0
- package/dist/analysis/resolve_bot_accounts.d.ts.map +1 -0
- package/dist/analysis/resolve_bot_accounts.js +216 -0
- package/dist/analysis/resolve_bot_accounts.js.map +1 -0
- package/dist/analysis/trade_profitability.d.ts.map +1 -1
- package/dist/analysis/trade_profitability.js +40 -8
- package/dist/analysis/trade_profitability.js.map +1 -1
- package/dist/analysis/tradingview/analyze_tradingview.js +2 -2
- package/dist/analysis/tradingview/analyze_tradingview.js.map +1 -1
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +2 -1
- package/dist/bot.js.map +1 -1
- package/dist/dexbot.d.ts.map +1 -1
- package/dist/dexbot.js +134 -22
- package/dist/dexbot.js.map +1 -1
- package/dist/market_adapter/ama_signal_runner.js +2 -2
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +2 -1
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts +4 -1
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.js +3 -2
- package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
- package/dist/modules/account_bots.d.ts +42 -1
- package/dist/modules/account_bots.d.ts.map +1 -1
- package/dist/modules/account_bots.js +221 -22
- package/dist/modules/account_bots.js.map +1 -1
- package/dist/modules/account_orders.d.ts +7 -10
- package/dist/modules/account_orders.d.ts.map +1 -1
- package/dist/modules/account_orders.js +26 -2
- package/dist/modules/account_orders.js.map +1 -1
- package/dist/modules/bitshares_client.d.ts +4 -1
- package/dist/modules/bitshares_client.d.ts.map +1 -1
- package/dist/modules/bitshares_client.js +12 -4
- package/dist/modules/bitshares_client.js.map +1 -1
- package/dist/modules/bot_settings.d.ts.map +1 -1
- package/dist/modules/bot_settings.js +2 -1
- package/dist/modules/bot_settings.js.map +1 -1
- package/dist/modules/chain_orders.d.ts.map +1 -1
- package/dist/modules/chain_orders.js +21 -2
- package/dist/modules/chain_orders.js.map +1 -1
- package/dist/modules/cli_colors.d.ts +39 -0
- package/dist/modules/cli_colors.d.ts.map +1 -0
- package/dist/modules/cli_colors.js +42 -0
- package/dist/modules/cli_colors.js.map +1 -0
- package/dist/modules/config.d.ts.map +1 -1
- package/dist/modules/config.js +27 -0
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/constants.d.ts +14 -1
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +66 -11
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/credit_pricing.d.ts +61 -0
- package/dist/modules/credit_pricing.d.ts.map +1 -0
- package/dist/modules/credit_pricing.js +237 -0
- package/dist/modules/credit_pricing.js.map +1 -0
- package/dist/modules/credit_runtime.d.ts +1 -0
- package/dist/modules/credit_runtime.d.ts.map +1 -1
- package/dist/modules/credit_runtime.js +49 -107
- package/dist/modules/credit_runtime.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts +25 -0
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +82 -12
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +39 -17
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +875 -134
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_fill_runtime.d.ts +11 -1
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_fill_runtime.js +108 -1
- package/dist/modules/dexbot_fill_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +29 -14
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +279 -63
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/dexbot_startup_runtime.d.ts +1 -0
- package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_startup_runtime.js +58 -7
- package/dist/modules/dexbot_startup_runtime.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
- package/dist/modules/dexbot_state_recovery.js +55 -3
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- package/dist/modules/fund_registry.d.ts +1 -1
- package/dist/modules/fund_registry.js +1 -1
- package/dist/modules/graceful_shutdown.d.ts +12 -1
- package/dist/modules/graceful_shutdown.d.ts.map +1 -1
- package/dist/modules/graceful_shutdown.js +39 -1
- package/dist/modules/graceful_shutdown.js.map +1 -1
- package/dist/modules/key_store.d.ts.map +1 -1
- package/dist/modules/key_store.js +38 -1
- package/dist/modules/key_store.js.map +1 -1
- package/dist/modules/launcher/adapter_requirement.d.ts +38 -0
- package/dist/modules/launcher/adapter_requirement.d.ts.map +1 -0
- package/dist/modules/launcher/adapter_requirement.js +141 -0
- package/dist/modules/launcher/adapter_requirement.js.map +1 -0
- package/dist/modules/launcher/bot_supervisor.d.ts +2 -2
- package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
- package/dist/modules/launcher/bot_supervisor.js +32 -3
- package/dist/modules/launcher/bot_supervisor.js.map +1 -1
- package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
- package/dist/modules/launcher/launch_modes.js +5 -4
- package/dist/modules/launcher/launch_modes.js.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.d.ts +1 -1
- package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.js +12 -8
- package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
- package/dist/modules/launcher/status_reporting.d.ts +6 -6
- package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
- package/dist/modules/launcher/status_reporting.js +9 -6
- package/dist/modules/launcher/status_reporting.js.map +1 -1
- package/dist/modules/order/accounting.d.ts.map +1 -1
- package/dist/modules/order/accounting.js +20 -3
- package/dist/modules/order/accounting.js.map +1 -1
- package/dist/modules/order/export.d.ts +1 -1
- package/dist/modules/order/export.js +1 -1
- package/dist/modules/order/grid.d.ts +1 -1
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +335 -43
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile.d.ts +4 -2
- package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile.js +242 -222
- package/dist/modules/order/grid_reconcile.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts +11 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +132 -6
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/logger.d.ts +23 -1
- package/dist/modules/order/logger.d.ts.map +1 -1
- package/dist/modules/order/logger.js +60 -17
- package/dist/modules/order/logger.js.map +1 -1
- package/dist/modules/order/manager.d.ts +68 -14
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +281 -52
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/strategy.d.ts.map +1 -1
- package/dist/modules/order/strategy.js +25 -8
- package/dist/modules/order/strategy.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +262 -167
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +47 -5
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +175 -11
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts +16 -15
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +199 -32
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/order/utils/slot.d.ts +8 -0
- package/dist/modules/order/utils/slot.d.ts.map +1 -0
- package/dist/modules/order/utils/slot.js +16 -0
- package/dist/modules/order/utils/slot.js.map +1 -0
- package/dist/modules/order/utils/system.d.ts +52 -4
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +109 -16
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/validate.d.ts +6 -9
- package/dist/modules/order/utils/validate.d.ts.map +1 -1
- package/dist/modules/order/utils/validate.js +107 -85
- package/dist/modules/order/utils/validate.js.map +1 -1
- package/dist/modules/order/working_grid.d.ts +5 -0
- package/dist/modules/order/working_grid.d.ts.map +1 -1
- package/dist/modules/order/working_grid.js +21 -0
- package/dist/modules/order/working_grid.js.map +1 -1
- package/dist/modules/paths.d.ts +4 -2
- package/dist/modules/paths.d.ts.map +1 -1
- package/dist/modules/paths.js +79 -24
- package/dist/modules/paths.js.map +1 -1
- package/dist/modules/utils/chain_logs.d.ts +11 -0
- package/dist/modules/utils/chain_logs.d.ts.map +1 -0
- package/dist/modules/utils/chain_logs.js +23 -0
- package/dist/modules/utils/chain_logs.js.map +1 -0
- package/dist/modules/utils/sanitize_key.d.ts +7 -0
- package/dist/modules/utils/sanitize_key.d.ts.map +1 -1
- package/dist/modules/utils/sanitize_key.js +15 -0
- package/dist/modules/utils/sanitize_key.js.map +1 -1
- package/dist/pm2.d.ts +11 -1
- package/dist/pm2.d.ts.map +1 -1
- package/dist/pm2.js +66 -15
- package/dist/pm2.js.map +1 -1
- package/dist/scripts/analyze-credit.d.ts +4 -0
- package/dist/scripts/analyze-credit.d.ts.map +1 -0
- package/dist/scripts/analyze-credit.js +760 -0
- package/dist/scripts/analyze-credit.js.map +1 -0
- package/dist/scripts/analyze-orders.d.ts +1 -10
- package/dist/scripts/analyze-orders.d.ts.map +1 -1
- package/dist/scripts/analyze-orders.js +34 -36
- package/dist/scripts/analyze-orders.js.map +1 -1
- package/dist/scripts/generate_market_adapter_whitelist.d.ts +2 -5
- package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -1
- package/dist/scripts/generate_market_adapter_whitelist.js +83 -1
- package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -1
- package/dist/scripts/test-credit-renewal.d.ts.map +1 -1
- package/dist/scripts/test-credit-renewal.js +37 -5
- package/dist/scripts/test-credit-renewal.js.map +1 -1
- package/dist/scripts/tv.d.ts +11 -0
- package/dist/scripts/tv.d.ts.map +1 -0
- package/dist/scripts/tv.js +357 -0
- package/dist/scripts/tv.js.map +1 -0
- package/dist/scripts/update.js +77 -10
- package/dist/scripts/update.js.map +1 -1
- package/dist/unlock.d.ts.map +1 -1
- package/dist/unlock.js +20 -8
- package/dist/unlock.js.map +1 -1
- package/docs/DEXBOT_COMPARISON.md +11 -11
- package/docs/EVOLUTION.md +10 -8
- package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +1 -1
- package/docs/GRID_RECALCULATION.md +6 -0
- package/docs/MPA_CREDIT_USAGE.md +3 -1
- package/docs/README.md +2 -2
- package/docs/WORKFLOW.md +3 -1
- package/market_adapter/README.md +10 -0
- package/package.json +3 -1
- package/scripts/README.md +16 -0
package/dist/modules/paths.js
CHANGED
|
@@ -5,6 +5,7 @@ import { Config } from './config.js';
|
|
|
5
5
|
import { isDistRuntime } from './utils/build_dir.js';
|
|
6
6
|
import { fileURLToPath } from 'node:url';
|
|
7
7
|
import { dirname as _esmDirname } from 'node:path';
|
|
8
|
+
import { hasProcess } from './env.js';
|
|
8
9
|
const __filename = fileURLToPath(import.meta.url);
|
|
9
10
|
const __dirname = _esmDirname(__filename);
|
|
10
11
|
const MODULE_DIR = path.dirname(__dirname);
|
|
@@ -58,15 +59,36 @@ function dirHasState(dir) {
|
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
/**
|
|
61
|
-
* User-level config home: XDG_CONFIG_HOME when set (
|
|
62
|
-
* else ~/.config. All user state roots derive from this single
|
|
62
|
+
* User-level config home: XDG_CONFIG_HOME when set (live env via Config/process.env),
|
|
63
|
+
* else ~/.config. All user state roots derive from this single location so
|
|
63
64
|
* npm installs, source checkouts, and overrides agree on one location.
|
|
65
|
+
*
|
|
66
|
+
* NOTE: Previously a snapshot const; now a live function so env changes are
|
|
67
|
+
* reflected without module reload (ESM cache does not invalidate via require.cache).
|
|
64
68
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
function getEnvLive(key) {
|
|
70
|
+
if (hasProcess() && process.env[key] !== undefined)
|
|
71
|
+
return process.env[key];
|
|
72
|
+
return Config[key];
|
|
73
|
+
}
|
|
74
|
+
function getEnvDirect(key) {
|
|
75
|
+
return hasProcess() && process.env[key] !== undefined ? process.env[key] : undefined;
|
|
76
|
+
}
|
|
77
|
+
function getHomeConfigDir() {
|
|
78
|
+
const xdg = getEnvDirect('XDG_CONFIG_HOME') ?? Config.XDG_CONFIG_HOME;
|
|
79
|
+
if (xdg && xdg.trim())
|
|
80
|
+
return path.join(path.resolve(xdg), 'dexbot2');
|
|
81
|
+
return path.join(homedir(), '.config', 'dexbot2');
|
|
82
|
+
}
|
|
83
|
+
function getHomeProfilesDir() {
|
|
84
|
+
return path.join(getHomeConfigDir(), 'profiles');
|
|
85
|
+
}
|
|
86
|
+
// Snapshot constants — prefer getHomeConfigDir()/getHomeProfilesDir() for live values.
|
|
87
|
+
// ESM named imports capture the snapshot; CJS require() interop is patched below via
|
|
88
|
+
// Object.defineProperty to return live values (see bottom of file). Future ESM code
|
|
89
|
+
// should call getHome*() directly; HOME_* remains for backward compat only.
|
|
90
|
+
const HOME_CONFIG_DIR = getHomeConfigDir();
|
|
91
|
+
const HOME_PROFILES_DIR = getHomeProfilesDir();
|
|
70
92
|
/**
|
|
71
93
|
* Resolve the profiles (user state) directory.
|
|
72
94
|
*
|
|
@@ -84,13 +106,22 @@ const HOME_PROFILES_DIR = path.join(HOME_CONFIG_DIR, 'profiles');
|
|
|
84
106
|
* npm packages — their dir must never hold user state.
|
|
85
107
|
*/
|
|
86
108
|
function resolveProfilesDir(projectRoot = PROJECT_ROOT) {
|
|
87
|
-
|
|
88
|
-
|
|
109
|
+
const profileRoot = getEnvDirect('DEXBOT_PROFILE_ROOT');
|
|
110
|
+
if (profileRoot) {
|
|
111
|
+
return profileRoot;
|
|
89
112
|
}
|
|
90
|
-
|
|
91
|
-
|
|
113
|
+
const dexbot2Root = getEnvDirect('DEXBOT2_ROOT');
|
|
114
|
+
if (dexbot2Root) {
|
|
115
|
+
return path.join(dexbot2Root, 'profiles');
|
|
92
116
|
}
|
|
93
|
-
|
|
117
|
+
// Fallback to Config only for legacy direct Config mutation (not env)
|
|
118
|
+
const cfgProfile = Config.DEXBOT_PROFILE_ROOT;
|
|
119
|
+
if (cfgProfile)
|
|
120
|
+
return cfgProfile;
|
|
121
|
+
const cfgRoot = Config.DEXBOT2_ROOT;
|
|
122
|
+
if (cfgRoot)
|
|
123
|
+
return path.join(cfgRoot, 'profiles');
|
|
124
|
+
const homeDir = getHomeProfilesDir();
|
|
94
125
|
const repoDir = path.join(projectRoot, 'profiles');
|
|
95
126
|
const cwdDir = path.join(process.cwd(), 'profiles');
|
|
96
127
|
// An existing home config is authoritative — the user has migrated.
|
|
@@ -129,13 +160,15 @@ const PROFILES_DIR = resolveProfilesDir();
|
|
|
129
160
|
function resolveMarketAdapterDirs(profilesDir = PROFILES_DIR, projectRoot = PROJECT_ROOT) {
|
|
130
161
|
const sourceDir = path.join(projectRoot, 'market_adapter');
|
|
131
162
|
const useSourceLayout = profilesDir === path.join(projectRoot, 'profiles') && fs.existsSync(sourceDir);
|
|
132
|
-
const
|
|
133
|
-
|
|
163
|
+
const dataEnv = getEnvLive('DEXBOT_MARKET_ADAPTER_DATA_DIR');
|
|
164
|
+
const stateEnv = getEnvLive('DEXBOT_MARKET_ADAPTER_STATE_DIR');
|
|
165
|
+
const dataRoot = dataEnv
|
|
166
|
+
? path.resolve(dataEnv)
|
|
134
167
|
: useSourceLayout
|
|
135
168
|
? path.join(sourceDir, 'data')
|
|
136
169
|
: path.join(profilesDir, 'market_adapter', 'data');
|
|
137
|
-
const stateRoot =
|
|
138
|
-
? path.resolve(
|
|
170
|
+
const stateRoot = stateEnv
|
|
171
|
+
? path.resolve(stateEnv)
|
|
139
172
|
: useSourceLayout
|
|
140
173
|
? path.join(sourceDir, 'state')
|
|
141
174
|
: path.join(profilesDir, 'market_adapter', 'state');
|
|
@@ -162,8 +195,9 @@ const MARKET_ADAPTER = resolveMarketAdapterDirs(PROFILES_DIR, PROJECT_ROOT);
|
|
|
162
195
|
function resolveClawDirs(profilesDir = PROFILES_DIR, projectRoot = PROJECT_ROOT) {
|
|
163
196
|
const sourceDir = path.join(projectRoot, 'claw');
|
|
164
197
|
const useSourceLayout = profilesDir === path.join(projectRoot, 'profiles');
|
|
165
|
-
const
|
|
166
|
-
|
|
198
|
+
const clawEnv = getEnvLive('DEXBOT_CLAW_DATA_DIR');
|
|
199
|
+
const dataRoot = clawEnv
|
|
200
|
+
? path.resolve(clawEnv)
|
|
167
201
|
: useSourceLayout
|
|
168
202
|
? path.join(sourceDir, 'data')
|
|
169
203
|
: path.join(profilesDir, 'claw', 'data');
|
|
@@ -189,8 +223,9 @@ const CLAW = resolveClawDirs(PROFILES_DIR, PROJECT_ROOT);
|
|
|
189
223
|
function resolveAnalysisDirs(profilesDir = PROFILES_DIR, projectRoot = PROJECT_ROOT) {
|
|
190
224
|
const sourceDir = path.join(projectRoot, 'analysis');
|
|
191
225
|
const useSourceLayout = profilesDir === path.join(projectRoot, 'profiles') && fs.existsSync(sourceDir);
|
|
192
|
-
const
|
|
193
|
-
|
|
226
|
+
const analysisEnv = getEnvLive('DEXBOT_ANALYSIS_DIR');
|
|
227
|
+
const outRoot = analysisEnv
|
|
228
|
+
? path.resolve(analysisEnv)
|
|
194
229
|
: useSourceLayout
|
|
195
230
|
? sourceDir
|
|
196
231
|
: path.join(profilesDir, 'analysis');
|
|
@@ -221,13 +256,13 @@ function computeRelocationNotices(profilesDir, projectRoot) {
|
|
|
221
256
|
const maSourceDir = path.join(projectRoot, 'market_adapter');
|
|
222
257
|
const maRelocated = !(profilesDir === repoProfiles && fs.existsSync(maSourceDir));
|
|
223
258
|
if (maRelocated
|
|
224
|
-
&& !
|
|
259
|
+
&& !getEnvLive('DEXBOT_MARKET_ADAPTER_DATA_DIR') && !getEnvLive('DEXBOT_MARKET_ADAPTER_STATE_DIR')
|
|
225
260
|
&& (dirHasState(path.join(maSourceDir, 'data')) || dirHasState(path.join(maSourceDir, 'state')))) {
|
|
226
261
|
notices.push(`[paths] Market adapter state exists at ${maSourceDir} but now resolves to ${path.join(profilesDir, 'market_adapter')}; move the data or set DEXBOT_MARKET_ADAPTER_DATA_DIR / DEXBOT_MARKET_ADAPTER_STATE_DIR to migrate`);
|
|
227
262
|
}
|
|
228
263
|
const clawSourceData = path.join(projectRoot, 'claw', 'data');
|
|
229
264
|
if (profilesDir !== repoProfiles
|
|
230
|
-
&& !
|
|
265
|
+
&& !getEnvLive('DEXBOT_CLAW_DATA_DIR')
|
|
231
266
|
&& dirHasState(clawSourceData)) {
|
|
232
267
|
notices.push(`[paths] Claw state exists at ${clawSourceData} but now resolves to ${path.join(profilesDir, 'claw', 'data')}; move the data or set DEXBOT_CLAW_DATA_DIR to migrate`);
|
|
233
268
|
}
|
|
@@ -236,7 +271,7 @@ function computeRelocationNotices(profilesDir, projectRoot) {
|
|
|
236
271
|
// silently orphaned now that the runtime dir resolves under the profiles
|
|
237
272
|
// dir once. Check the resolver-based and repo-based variants and warn if
|
|
238
273
|
// they hold state but the new location does not match.
|
|
239
|
-
if (!
|
|
274
|
+
if (!getEnvLive('DEXBOT_CRED_RUNTIME_DIR')) {
|
|
240
275
|
const newCrDir = path.join(profilesDir, 'credit_runtime');
|
|
241
276
|
const orphanCandidates = [
|
|
242
277
|
path.join(profilesDir, 'profiles', 'credit_runtime'),
|
|
@@ -297,5 +332,25 @@ function getNodeHealthCacheFile(stateDir) {
|
|
|
297
332
|
function getRecalculateTriggerFile(botKey) {
|
|
298
333
|
return path.join(PATHS.PROFILES_DIR, `recalculate.${botKey}.trigger`);
|
|
299
334
|
}
|
|
300
|
-
export { PATHS, HOME_PROFILES_DIR, resolveProfilesDir, resolveMarketAdapterDirs, resolveClawDirs, resolveAnalysisDirs, isGlobalNpmPackageDir, getNodeBlacklistFile, getNodeHealthCacheFile, getRecalculateTriggerFile, computeRelocationNotices };
|
|
335
|
+
export { PATHS, HOME_PROFILES_DIR, HOME_CONFIG_DIR, getHomeConfigDir, getHomeProfilesDir, resolveProfilesDir, resolveMarketAdapterDirs, resolveClawDirs, resolveAnalysisDirs, isGlobalNpmPackageDir, getNodeBlacklistFile, getNodeHealthCacheFile, getRecalculateTriggerFile, computeRelocationNotices };
|
|
336
|
+
// Live getters for CJS require() interop (ESM cache not invalidated via require.cache)
|
|
337
|
+
try {
|
|
338
|
+
// @ts-ignore - patch CJS wrapper if present
|
|
339
|
+
const g = globalThis;
|
|
340
|
+
if (g.module && g.module.exports) {
|
|
341
|
+
Object.defineProperty(g.module.exports, 'HOME_PROFILES_DIR', { get: getHomeProfilesDir, enumerable: true, configurable: true });
|
|
342
|
+
Object.defineProperty(g.module.exports, 'HOME_CONFIG_DIR', { get: getHomeConfigDir, enumerable: true, configurable: true });
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
catch { }
|
|
346
|
+
// Also patch this module's own exports object when loaded via require() interop (Node experimental require(esm))
|
|
347
|
+
try {
|
|
348
|
+
// @ts-ignore
|
|
349
|
+
const exp = typeof exports !== 'undefined' ? exports : undefined;
|
|
350
|
+
if (exp) {
|
|
351
|
+
Object.defineProperty(exp, 'HOME_PROFILES_DIR', { get: getHomeProfilesDir, enumerable: true, configurable: true });
|
|
352
|
+
Object.defineProperty(exp, 'HOME_CONFIG_DIR', { get: getHomeConfigDir, enumerable: true, configurable: true });
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
catch { }
|
|
301
356
|
//# sourceMappingURL=paths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../modules/paths.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../modules/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain connection chatter ([Transport] / [NodeManager] / [bitshares_client]
|
|
3
|
+
* status lines) would drown CLI overviews, and the native loggers don't honor
|
|
4
|
+
* setSuppressConnectionLog — so drop their prefixed lines at the console
|
|
5
|
+
* level for the whole run. console.error stays untouched so real failures
|
|
6
|
+
* (thrown errors, per-target fetch failures) still surface.
|
|
7
|
+
*/
|
|
8
|
+
declare const CHAIN_LOG_RE: RegExp;
|
|
9
|
+
declare function muteChainLogs(): void;
|
|
10
|
+
export { muteChainLogs, CHAIN_LOG_RE };
|
|
11
|
+
//# sourceMappingURL=chain_logs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain_logs.d.ts","sourceRoot":"","sources":["../../../modules/utils/chain_logs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,QAAA,MAAM,YAAY,QAAiD,CAAC;AAEpE,iBAAS,aAAa,IAAI,IAAI,CAW7B;AAED,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain connection chatter ([Transport] / [NodeManager] / [bitshares_client]
|
|
3
|
+
* status lines) would drown CLI overviews, and the native loggers don't honor
|
|
4
|
+
* setSuppressConnectionLog — so drop their prefixed lines at the console
|
|
5
|
+
* level for the whole run. console.error stays untouched so real failures
|
|
6
|
+
* (thrown errors, per-target fetch failures) still surface.
|
|
7
|
+
*/
|
|
8
|
+
const CHAIN_LOG_RE = /\[(Transport|NodeManager|bitshares_client)\]/;
|
|
9
|
+
function muteChainLogs() {
|
|
10
|
+
const _consoleLog = console.log.bind(console);
|
|
11
|
+
const _consoleInfo = console.info.bind(console);
|
|
12
|
+
const _consoleWarn = console.warn.bind(console);
|
|
13
|
+
const mute = (orig) => (...args) => {
|
|
14
|
+
if (args.length > 0 && typeof args[0] === 'string' && CHAIN_LOG_RE.test(args[0]))
|
|
15
|
+
return;
|
|
16
|
+
orig(...args);
|
|
17
|
+
};
|
|
18
|
+
console.log = mute(_consoleLog);
|
|
19
|
+
console.info = mute(_consoleInfo);
|
|
20
|
+
console.warn = mute(_consoleWarn);
|
|
21
|
+
}
|
|
22
|
+
export { muteChainLogs, CHAIN_LOG_RE };
|
|
23
|
+
//# sourceMappingURL=chain_logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain_logs.js","sourceRoot":"","sources":["../../../modules/utils/chain_logs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,YAAY,GAAG,8CAA8C,CAAC;AAEpE,SAAS,aAAa;IAClB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,CAAC,IAA8B,EAAE,EAAE,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;QAChE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO;QACzF,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAuB,CAAC;IACtD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAwB,CAAC;IACzD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAwB,CAAC;AAC7D,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -4,4 +4,11 @@
|
|
|
4
4
|
* Falls back to 'bot' for empty input/results.
|
|
5
5
|
*/
|
|
6
6
|
export declare function sanitizeKey(source: unknown): string;
|
|
7
|
+
/**
|
|
8
|
+
* Case-insensitive bot-name comparison.
|
|
9
|
+
* Names producing the same sanitized botKey match (case, spacing
|
|
10
|
+
* and separator differences are ignored).
|
|
11
|
+
* Empty/blank inputs never match (avoids sanitizeKey '' -> 'bot' collision).
|
|
12
|
+
*/
|
|
13
|
+
export declare function isSameBotName(a: unknown, b: unknown): boolean;
|
|
7
14
|
//# sourceMappingURL=sanitize_key.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize_key.d.ts","sourceRoot":"","sources":["../../../modules/utils/sanitize_key.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAOnD"}
|
|
1
|
+
{"version":3,"file":"sanitize_key.d.ts","sourceRoot":"","sources":["../../../modules/utils/sanitize_key.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAOnD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAK7D"}
|
|
@@ -12,4 +12,19 @@ export function sanitizeKey(source) {
|
|
|
12
12
|
.replace(/[^a-z0-9]+/g, '-')
|
|
13
13
|
.replace(/^-+|-+$/g, '') || 'bot';
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Case-insensitive bot-name comparison.
|
|
17
|
+
* Names producing the same sanitized botKey match (case, spacing
|
|
18
|
+
* and separator differences are ignored).
|
|
19
|
+
* Empty/blank inputs never match (avoids sanitizeKey '' -> 'bot' collision).
|
|
20
|
+
*/
|
|
21
|
+
export function isSameBotName(a, b) {
|
|
22
|
+
if (typeof a !== 'string' || typeof b !== 'string')
|
|
23
|
+
return a === b;
|
|
24
|
+
if (!a.trim() || !b.trim())
|
|
25
|
+
return a === b;
|
|
26
|
+
if (a === b)
|
|
27
|
+
return true;
|
|
28
|
+
return sanitizeKey(a) === sanitizeKey(b);
|
|
29
|
+
}
|
|
15
30
|
//# sourceMappingURL=sanitize_key.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize_key.js","sourceRoot":"","sources":["../../../modules/utils/sanitize_key.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAe;IACzC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC;SAClB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;AACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"sanitize_key.js","sourceRoot":"","sources":["../../../modules/utils/sanitize_key.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAe;IACzC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC;SAClB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,CAAU,EAAE,CAAU;IAClD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACnE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
package/dist/pm2.d.ts
CHANGED
|
@@ -83,7 +83,16 @@ declare function restartPM2Processes(target: any, { headless, passwordFile }?: {
|
|
|
83
83
|
headless?: boolean;
|
|
84
84
|
passwordFile?: string | null;
|
|
85
85
|
}): Promise<void>;
|
|
86
|
-
|
|
86
|
+
/**
|
|
87
|
+
* Reload PM2 processes without touching the credential daemon.
|
|
88
|
+
* Mirrors restartPM2Processes but never ensures or refreshes dexbot-cred,
|
|
89
|
+
* so bots keep their existing key access.
|
|
90
|
+
* @param {string} target - 'all' or specific bot name.
|
|
91
|
+
* @returns {Promise<void>}
|
|
92
|
+
* @throws {Error} If target not found, is dexbot-cred, or reloading fails.
|
|
93
|
+
*/
|
|
94
|
+
declare function reloadPM2Processes(target: any): Promise<void>;
|
|
95
|
+
export { buildCredentialDaemonApp, buildEcosystemApps, buildScopedChildEnv, countManagedBots, deletePM2Processes, ensureCredentialDaemonPM2, generateEcosystemConfig, isServiceApp, main, needsMarketAdapter, reloadPM2Processes, restartPM2Processes, stopPM2Processes, startManagedRuntimePM2, usesAmaGridPrice };
|
|
87
96
|
declare const _default: {
|
|
88
97
|
buildCredentialDaemonApp: typeof buildCredentialDaemonApp;
|
|
89
98
|
buildEcosystemApps: typeof buildEcosystemApps;
|
|
@@ -95,6 +104,7 @@ declare const _default: {
|
|
|
95
104
|
isServiceApp: typeof isServiceApp;
|
|
96
105
|
main: typeof main;
|
|
97
106
|
needsMarketAdapter: typeof needsMarketAdapter;
|
|
107
|
+
reloadPM2Processes: typeof reloadPM2Processes;
|
|
98
108
|
restartPM2Processes: typeof restartPM2Processes;
|
|
99
109
|
stopPM2Processes: typeof stopPM2Processes;
|
|
100
110
|
startManagedRuntimePM2: typeof startManagedRuntimePM2;
|
package/dist/pm2.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pm2.d.ts","sourceRoot":"","sources":["../pm2.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"pm2.d.ts","sourceRoot":"","sources":["../pm2.ts"],"names":[],"mappings":";AA2FA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AActE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AA+C3E,iBAAS,kBAAkB,CAAC,IAAI,EAAE,GAAG,OAEpC;AAED,iBAAS,YAAY,CAAC,GAAG,EAAE,GAAG,WAG7B;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,GAAG,OAElC;AAoCD;;;;;;GAMG;AACH,iBAAS,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,cAAqB,EAAE,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,OA0DlG;AAED,iBAAS,wBAAwB,CAAC,EAAE,aAAkB,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,GAAG,CAAA;CAAO;;;;;;;;;;;;EAkBrF;AAED;;;;;;;GAOG;AACH,iBAAS,uBAAuB,CAAC,EAAE,aAAoB,EAAE,QAAgB,EAAE,WAAkB,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,OAgEjL;AAqBD,iBAAe,yBAAyB,CAAC,EAAE,YAAoB,EAAE,QAAgB,EAAE,YAAmB,EAAE,GAAE;IACtG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,oBAkCL;AAkBD;;;;;;GAMG;AACH,iBAAe,IAAI,CAAC,EAAE,aAAoB,EAAE,QAAgB,EAAE,QAAgB,EAAE,YAAmB,EAAE,GAAE;IACnG,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,iBA4EL;AAiED,iBAAe,sBAAsB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,SAAS,CAAC,EAAE,GAAG,CAAA;CAAO,iBAwC9F;AAwLD;;;;;GAKG;AACH,iBAAe,gBAAgB,CAAC,MAAM,EAAE,GAAG,iBA8C1C;AAED;;;;;GAKG;AACH,iBAAe,kBAAkB,CAAC,MAAM,EAAE,GAAG,iBA2C5C;AAED,iBAAe,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,QAAgB,EAAE,YAAmB,EAAE,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,iBAqBnJ;AAED;;;;;;;GAOG;AACH,iBAAe,kBAAkB,CAAC,MAAM,EAAE,GAAG,iBAiB5C;AA2ID,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,CAAC;;;;;;;;;;;;;;;;;;AAGpT,wBAgBE"}
|
package/dist/pm2.js
CHANGED
|
@@ -24,6 +24,8 @@ const __dirname = _esmDirname(__filename);
|
|
|
24
24
|
* dexbot pm2 stop <bot-name> - Stop specific bot process
|
|
25
25
|
* dexbot pm2 delete all - Delete all dexbot processes from PM2
|
|
26
26
|
* dexbot pm2 delete <bot-name> - Delete specific bot from PM2
|
|
27
|
+
* dexbot pm2 reload all - Reload managed apps without touching dexbot-cred
|
|
28
|
+
* dexbot pm2 reload <bot-name> - Reload a bot without touching dexbot-cred
|
|
27
29
|
* dexbot pm2 restart all - Restart managed apps; re-unlock dexbot-cred only if needed
|
|
28
30
|
* dexbot pm2 restart <target> - Restart a bot or safely re-unlock dexbot-cred
|
|
29
31
|
|
|
@@ -94,6 +96,8 @@ import { Config } from './modules/config.js';
|
|
|
94
96
|
import { waitForConnected } from './modules/bitshares_client.js';
|
|
95
97
|
import * as readline from 'node:readline';
|
|
96
98
|
import { getErrorMessage } from './modules/utils/errors.js';
|
|
99
|
+
import { isSameBotName } from './modules/utils/sanitize_key.js';
|
|
100
|
+
import { CLI_COLORS } from './modules/cli_colors.js';
|
|
97
101
|
import { getStorage } from './modules/storage/index.js';
|
|
98
102
|
import { usesAmaGridPrice } from './modules/dexbot_maintenance_runtime.js';
|
|
99
103
|
setUmask(0o077);
|
|
@@ -103,9 +107,9 @@ const { ensureDir, unlink: safeUnlink } = storage;
|
|
|
103
107
|
// Setup graceful shutdown handlers
|
|
104
108
|
setupGracefulShutdown();
|
|
105
109
|
const PM2_COLORS = {
|
|
106
|
-
reset:
|
|
107
|
-
ok:
|
|
108
|
-
error:
|
|
110
|
+
reset: CLI_COLORS.reset,
|
|
111
|
+
ok: CLI_COLORS.brightGreen,
|
|
112
|
+
error: CLI_COLORS.boldRed,
|
|
109
113
|
};
|
|
110
114
|
function colorPm2Output(text, color, stream = process.stdout) {
|
|
111
115
|
return stream.isTTY && !Config.NO_COLOR
|
|
@@ -299,7 +303,7 @@ module.exports = { apps: ${JSON.stringify(appsClaw, null, 2)} }
|
|
|
299
303
|
const { config } = loadSettingsFile(BOTS_JSON, { exitOnError });
|
|
300
304
|
const bots = selectActiveBotEntries(config);
|
|
301
305
|
if (botNameFilter) {
|
|
302
|
-
const filtered = bots.filter((b) => b.name
|
|
306
|
+
const filtered = bots.filter((b) => isSameBotName(b.name, botNameFilter));
|
|
303
307
|
if (filtered.length === 0) {
|
|
304
308
|
fail(`Bot '${botNameFilter}' not found or not active in ${BOTS_JSON}`);
|
|
305
309
|
}
|
|
@@ -380,10 +384,11 @@ async function ensureCredentialDaemonPM2({ forceRefresh = false, headless = fals
|
|
|
380
384
|
async function assertActiveBotTarget(target) {
|
|
381
385
|
try {
|
|
382
386
|
const { config } = await readBotsFileWithLock(BOTS_JSON, parseJsonWithComments);
|
|
383
|
-
const
|
|
384
|
-
if (!
|
|
387
|
+
const match = selectActiveBotEntries(config).find((b) => isSameBotName(b.name, target));
|
|
388
|
+
if (!match) {
|
|
385
389
|
throw new Error(`Bot '${target}' not found or not active in ${BOTS_JSON}`);
|
|
386
390
|
}
|
|
391
|
+
return match.name;
|
|
387
392
|
}
|
|
388
393
|
catch (err) {
|
|
389
394
|
if (String(err && getErrorMessage(err) || '').includes('not found or not active')) {
|
|
@@ -767,12 +772,14 @@ async function stopPM2Processes(target) {
|
|
|
767
772
|
return;
|
|
768
773
|
}
|
|
769
774
|
// Validate bot exists in configuration before stopping (with lock protection)
|
|
775
|
+
// and resolve to the canonical stored name (PM2 process names are case-sensitive).
|
|
770
776
|
try {
|
|
771
777
|
const { config } = await readBotsFileWithLock(BOTS_JSON, parseJsonWithComments);
|
|
772
|
-
const
|
|
773
|
-
if (!
|
|
778
|
+
const match = selectActiveBotEntries(config).find((b) => isSameBotName(b.name, target));
|
|
779
|
+
if (!match) {
|
|
774
780
|
throw new Error(`Bot '${target}' not found or not active in ${BOTS_JSON}`);
|
|
775
781
|
}
|
|
782
|
+
target = match.name;
|
|
776
783
|
}
|
|
777
784
|
catch (err) {
|
|
778
785
|
throw new Error(`Failed to read bots configuration: ${getErrorMessage(err)}`);
|
|
@@ -814,12 +821,14 @@ async function deletePM2Processes(target) {
|
|
|
814
821
|
return;
|
|
815
822
|
}
|
|
816
823
|
// Validate bot exists in configuration before deleting (with lock protection)
|
|
824
|
+
// and resolve to the canonical stored name (PM2 process names are case-sensitive).
|
|
817
825
|
try {
|
|
818
826
|
const { config } = await readBotsFileWithLock(BOTS_JSON, parseJsonWithComments);
|
|
819
|
-
const
|
|
820
|
-
if (!
|
|
827
|
+
const match = selectActiveBotEntries(config).find((b) => isSameBotName(b.name, target));
|
|
828
|
+
if (!match) {
|
|
821
829
|
throw new Error(`Bot '${target}' not found or not active in ${BOTS_JSON}`);
|
|
822
830
|
}
|
|
831
|
+
target = match.name;
|
|
823
832
|
}
|
|
824
833
|
catch (err) {
|
|
825
834
|
throw new Error(`Failed to read bots configuration: ${getErrorMessage(err)}`);
|
|
@@ -843,11 +852,34 @@ async function restartPM2Processes(target, { headless = false, passwordFile = nu
|
|
|
843
852
|
console.log(`Credential daemon '${target}' restarted with a fresh unlock.`);
|
|
844
853
|
return;
|
|
845
854
|
}
|
|
846
|
-
await assertActiveBotTarget(target);
|
|
855
|
+
target = await assertActiveBotTarget(target);
|
|
847
856
|
await ensureCredentialDaemonPM2({ logReuse: false, headless, passwordFile });
|
|
848
857
|
await execPM2Command('restart', target);
|
|
849
858
|
console.log(`PM2 process '${target}' restarted.`);
|
|
850
859
|
}
|
|
860
|
+
/**
|
|
861
|
+
* Reload PM2 processes without touching the credential daemon.
|
|
862
|
+
* Mirrors restartPM2Processes but never ensures or refreshes dexbot-cred,
|
|
863
|
+
* so bots keep their existing key access.
|
|
864
|
+
* @param {string} target - 'all' or specific bot name.
|
|
865
|
+
* @returns {Promise<void>}
|
|
866
|
+
* @throws {Error} If target not found, is dexbot-cred, or reloading fails.
|
|
867
|
+
*/
|
|
868
|
+
async function reloadPM2Processes(target) {
|
|
869
|
+
console.log(`Reloading PM2 processes: ${target}`);
|
|
870
|
+
if (target === 'all') {
|
|
871
|
+
generateEcosystemConfig({ clawOnly: false, exitOnError: false });
|
|
872
|
+
await runManagedAppsPm2Action('restart');
|
|
873
|
+
console.log('Managed dexbot PM2 apps reloaded. dexbot-cred was left untouched.');
|
|
874
|
+
return;
|
|
875
|
+
}
|
|
876
|
+
if (target === CREDENTIAL_DAEMON_APP_NAME) {
|
|
877
|
+
throw new Error(`reload does not apply to '${CREDENTIAL_DAEMON_APP_NAME}'; use 'dexbot pm2 restart ${CREDENTIAL_DAEMON_APP_NAME}' to re-unlock it.`);
|
|
878
|
+
}
|
|
879
|
+
target = await assertActiveBotTarget(target);
|
|
880
|
+
await execPM2Command('restart', target);
|
|
881
|
+
console.log(`PM2 process '${target}' reloaded (dexbot-cred untouched).`);
|
|
882
|
+
}
|
|
851
883
|
/**
|
|
852
884
|
* Show help text for PM2 CLI usage.
|
|
853
885
|
*/
|
|
@@ -861,8 +893,9 @@ Commands:
|
|
|
861
893
|
update Run the update script immediately
|
|
862
894
|
stop <bot-name|all> Stop PM2 process(es) - only dexbot processes
|
|
863
895
|
delete <bot-name|all> Delete PM2 process(es) - only dexbot processes
|
|
896
|
+
reload <bot-name|all> Reload managed apps without touching dexbot-cred
|
|
864
897
|
restart <bot-name|all|dexbot-cred>
|
|
865
|
-
|
|
898
|
+
Restart managed apps safely; dexbot-cred uses fresh unlock flow
|
|
866
899
|
help Show this help message
|
|
867
900
|
|
|
868
901
|
Flags:
|
|
@@ -878,9 +911,11 @@ Examples:
|
|
|
878
911
|
dexbot pm2 --password-file /run/secrets/bot-password
|
|
879
912
|
# Start all bots with password from file
|
|
880
913
|
dexbot pm2 stop all # Stop all dexbot processes
|
|
881
|
-
dexbot pm2 stop
|
|
914
|
+
dexbot pm2 stop AAA-BBB # Stop specific bot
|
|
882
915
|
dexbot pm2 delete all # Delete all dexbot processes from PM2
|
|
883
|
-
dexbot pm2 delete
|
|
916
|
+
dexbot pm2 delete AAA-BBB # Delete specific bot from PM2
|
|
917
|
+
dexbot pm2 reload all # Reload managed apps, dexbot-cred untouched
|
|
918
|
+
dexbot pm2 reload AAA-BBB # Reload a single bot, dexbot-cred untouched
|
|
884
919
|
dexbot pm2 restart all # Safe restart path for managed apps
|
|
885
920
|
dexbot pm2 restart dexbot-cred # Re-unlock credential daemon
|
|
886
921
|
|
|
@@ -962,6 +997,21 @@ if (isPm2DirectRun) {
|
|
|
962
997
|
process.exit(1);
|
|
963
998
|
}
|
|
964
999
|
}
|
|
1000
|
+
else if (command === 'reload') {
|
|
1001
|
+
if (!target) {
|
|
1002
|
+
console.error(pm2Error('Error: Target required. Specify bot name or "all".'));
|
|
1003
|
+
showPM2Help();
|
|
1004
|
+
process.exit(1);
|
|
1005
|
+
}
|
|
1006
|
+
try {
|
|
1007
|
+
await reloadPM2Processes(target);
|
|
1008
|
+
process.exit(0);
|
|
1009
|
+
}
|
|
1010
|
+
catch (err) {
|
|
1011
|
+
console.error(pm2Error(`Failed to reload processes: ${getErrorMessage(err)}`));
|
|
1012
|
+
process.exit(1);
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
965
1015
|
else if (command === 'help') {
|
|
966
1016
|
showPM2Help();
|
|
967
1017
|
process.exit(0);
|
|
@@ -978,7 +1028,7 @@ if (isPm2DirectRun) {
|
|
|
978
1028
|
}
|
|
979
1029
|
})();
|
|
980
1030
|
}
|
|
981
|
-
export { buildCredentialDaemonApp, buildEcosystemApps, buildScopedChildEnv, countManagedBots, deletePM2Processes, ensureCredentialDaemonPM2, generateEcosystemConfig, isServiceApp, main, needsMarketAdapter, restartPM2Processes, stopPM2Processes, startManagedRuntimePM2, usesAmaGridPrice };
|
|
1031
|
+
export { buildCredentialDaemonApp, buildEcosystemApps, buildScopedChildEnv, countManagedBots, deletePM2Processes, ensureCredentialDaemonPM2, generateEcosystemConfig, isServiceApp, main, needsMarketAdapter, reloadPM2Processes, restartPM2Processes, stopPM2Processes, startManagedRuntimePM2, usesAmaGridPrice };
|
|
982
1032
|
export default {
|
|
983
1033
|
buildCredentialDaemonApp,
|
|
984
1034
|
buildEcosystemApps,
|
|
@@ -990,6 +1040,7 @@ export default {
|
|
|
990
1040
|
isServiceApp,
|
|
991
1041
|
main,
|
|
992
1042
|
needsMarketAdapter,
|
|
1043
|
+
reloadPM2Processes,
|
|
993
1044
|
restartPM2Processes,
|
|
994
1045
|
stopPM2Processes,
|
|
995
1046
|
startManagedRuntimePM2,
|