dexbot 1.4.11 → 1.4.12
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/README.md +4 -4
- package/dist/analysis/chart_utils.d.ts.map +1 -1
- package/dist/analysis/chart_utils.js +9 -18
- package/dist/analysis/chart_utils.js.map +1 -1
- package/dist/analysis/math_utils.d.ts.map +1 -1
- package/dist/analysis/math_utils.js +6 -16
- package/dist/analysis/math_utils.js.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +31 -38
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/hurst_analyzer.js +7 -10
- package/dist/analysis/trend_detection/hurst_analyzer.js.map +1 -1
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js +10 -14
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js.map +1 -1
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js +10 -15
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js.map +1 -1
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js +7 -10
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js.map +1 -1
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +4 -12
- package/dist/bot.js.map +1 -1
- package/dist/credential-daemon.d.ts +0 -1
- package/dist/credential-daemon.d.ts.map +1 -1
- package/dist/credential-daemon.js +3 -123
- package/dist/credential-daemon.js.map +1 -1
- package/dist/dexbot.d.ts +0 -87
- package/dist/dexbot.d.ts.map +1 -1
- package/dist/dexbot.js +11 -14
- package/dist/dexbot.js.map +1 -1
- package/dist/market_adapter/ama_signal_runner.js +8 -9
- package/dist/market_adapter/ama_signal_runner.js.map +1 -1
- package/dist/market_adapter/candle_utils.js +1 -7
- package/dist/market_adapter/candle_utils.js.map +1 -1
- package/dist/market_adapter/core/asymmetric_bounds.js +1 -4
- package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
- package/dist/market_adapter/core/config_normalizers.js +5 -9
- package/dist/market_adapter/core/config_normalizers.js.map +1 -1
- package/dist/market_adapter/core/kibana_candles.js +8 -15
- package/dist/market_adapter/core/kibana_candles.js.map +1 -1
- package/dist/market_adapter/core/kibana_client.js +7 -13
- package/dist/market_adapter/core/kibana_client.js.map +1 -1
- package/dist/market_adapter/core/kibana_market_candles.js +6 -12
- package/dist/market_adapter/core/kibana_market_candles.js.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.js +92 -102
- package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
- package/dist/market_adapter/core/strategies/ama.js +5 -10
- package/dist/market_adapter/core/strategies/ama.js.map +1 -1
- package/dist/market_adapter/core/strategies/ama_slope_model.js +21 -24
- package/dist/market_adapter/core/strategies/ama_slope_model.js.map +1 -1
- package/dist/market_adapter/core/strategies/atr/calculator.js +3 -5
- package/dist/market_adapter/core/strategies/atr/calculator.js.map +1 -1
- package/dist/market_adapter/core/strategies/collateral_manager.js +4 -6
- package/dist/market_adapter/core/strategies/collateral_manager.js.map +1 -1
- package/dist/market_adapter/core/strategies/regime_gate.js +15 -22
- package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -1
- package/dist/market_adapter/index.d.ts +23 -23
- package/dist/market_adapter/index.d.ts.map +1 -1
- package/dist/market_adapter/index.js +24 -82
- package/dist/market_adapter/index.js.map +1 -1
- 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.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.js +59 -98
- package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
- package/dist/market_adapter/inputs/kibana_source.js +11 -17
- package/dist/market_adapter/inputs/kibana_source.js.map +1 -1
- package/dist/market_adapter/interval_utils.js +1 -2
- package/dist/market_adapter/interval_utils.js.map +1 -1
- package/dist/market_adapter/log_format.js +1 -7
- package/dist/market_adapter/log_format.js.map +1 -1
- package/dist/market_adapter/lp_chart_core.js +20 -22
- package/dist/market_adapter/lp_chart_core.js.map +1 -1
- package/dist/market_adapter/lp_chart_runner.d.ts +1 -1
- package/dist/market_adapter/lp_chart_runner.d.ts.map +1 -1
- package/dist/market_adapter/lp_chart_runner.js +41 -57
- package/dist/market_adapter/lp_chart_runner.js.map +1 -1
- package/dist/market_adapter/lp_chart_strategy_loader.js +30 -34
- package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -1
- package/dist/market_adapter/market_adapter.d.ts +2 -2
- package/dist/market_adapter/market_adapter.d.ts.map +1 -1
- package/dist/market_adapter/market_adapter.js +157 -221
- package/dist/market_adapter/market_adapter.js.map +1 -1
- package/dist/market_adapter/merge_lp_data.js +17 -18
- package/dist/market_adapter/merge_lp_data.js.map +1 -1
- package/dist/market_adapter/test_helpers.js +3 -14
- package/dist/market_adapter/test_helpers.js.map +1 -1
- package/dist/market_adapter/utils/adapter_client.js +7 -16
- package/dist/market_adapter/utils/adapter_client.js.map +1 -1
- package/dist/market_adapter/utils/atomic_write.js +3 -5
- package/dist/market_adapter/utils/atomic_write.js.map +1 -1
- package/dist/market_adapter/utils/chain.d.ts.map +1 -1
- package/dist/market_adapter/utils/chain.js +9 -17
- package/dist/market_adapter/utils/chain.js.map +1 -1
- package/dist/market_adapter/utils/data_discovery.js +8 -10
- package/dist/market_adapter/utils/data_discovery.js.map +1 -1
- package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts.map +1 -1
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js +11 -14
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js.map +1 -1
- package/dist/market_adapter/utils/file_lock.js +14 -19
- package/dist/market_adapter/utils/file_lock.js.map +1 -1
- package/dist/market_adapter/utils/native_history.js +8 -14
- package/dist/market_adapter/utils/native_history.js.map +1 -1
- package/dist/market_adapter/utils/paths.js +3 -6
- package/dist/market_adapter/utils/paths.js.map +1 -1
- package/dist/modules/account_bots.d.ts +1 -1
- package/dist/modules/account_bots.d.ts.map +1 -1
- package/dist/modules/account_bots.js +90 -97
- package/dist/modules/account_bots.js.map +1 -1
- package/dist/modules/account_orders.d.ts +0 -9
- package/dist/modules/account_orders.d.ts.map +1 -1
- package/dist/modules/account_orders.js +26 -121
- package/dist/modules/account_orders.js.map +1 -1
- package/dist/modules/authority_resolver.js +12 -18
- package/dist/modules/authority_resolver.js.map +1 -1
- package/dist/modules/bitshares-native/chain_client.js +16 -21
- package/dist/modules/bitshares-native/chain_client.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.browser.js +12 -72
- package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.js +13 -40
- package/dist/modules/bitshares-native/crypto/ecc.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc_selector.js +5 -6
- package/dist/modules/bitshares-native/crypto/ecc_selector.js.map +1 -1
- package/dist/modules/bitshares-native/index.d.ts +8 -8
- package/dist/modules/bitshares-native/index.d.ts.map +1 -1
- package/dist/modules/bitshares-native/index.js +11 -68
- package/dist/modules/bitshares-native/index.js.map +1 -1
- package/dist/modules/bitshares-native/lru_cache.js +3 -6
- package/dist/modules/bitshares-native/lru_cache.js.map +1 -1
- package/dist/modules/bitshares-native/resolvers.js +9 -11
- package/dist/modules/bitshares-native/resolvers.js.map +1 -1
- package/dist/modules/bitshares-native/serial/chain_constants.js +3 -28
- package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
- package/dist/modules/bitshares-native/serial/index.d.ts +4 -4
- package/dist/modules/bitshares-native/serial/index.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/index.js +5 -46
- package/dist/modules/bitshares-native/serial/index.js.map +1 -1
- package/dist/modules/bitshares-native/serial/operations.d.ts +98 -98
- package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/operations.js +372 -473
- package/dist/modules/bitshares-native/serial/operations.js.map +1 -1
- package/dist/modules/bitshares-native/serial/serializer.js +3 -8
- package/dist/modules/bitshares-native/serial/serializer.js.map +1 -1
- package/dist/modules/bitshares-native/serial/types.js +9 -74
- package/dist/modules/bitshares-native/serial/types.js.map +1 -1
- package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -1
- package/dist/modules/bitshares-native/signing_client.js +11 -48
- package/dist/modules/bitshares-native/signing_client.js.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.js +24 -27
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
- package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
- package/dist/modules/bitshares-native/transport.js +14 -26
- package/dist/modules/bitshares-native/transport.js.map +1 -1
- package/dist/modules/bitshares-native/tx/builder.js +29 -72
- package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
- package/dist/modules/bitshares-native/tx/tx_cache.js +12 -21
- package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -1
- package/dist/modules/bitshares_client.d.ts +21 -0
- package/dist/modules/bitshares_client.d.ts.map +1 -1
- package/dist/modules/bitshares_client.js +32 -86
- 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 +30 -49
- package/dist/modules/bot_settings.js.map +1 -1
- package/dist/modules/bots_file_lock.d.ts.map +1 -1
- package/dist/modules/bots_file_lock.js +5 -13
- package/dist/modules/bots_file_lock.js.map +1 -1
- package/dist/modules/broadcast_failure.js +1 -3
- package/dist/modules/broadcast_failure.js.map +1 -1
- package/dist/modules/chain_keys.d.ts +4 -9
- package/dist/modules/chain_keys.d.ts.map +1 -1
- package/dist/modules/chain_keys.js +77 -182
- package/dist/modules/chain_keys.js.map +1 -1
- package/dist/modules/chain_orders.d.ts +2 -2
- package/dist/modules/chain_orders.d.ts.map +1 -1
- package/dist/modules/chain_orders.js +81 -144
- package/dist/modules/chain_orders.js.map +1 -1
- package/dist/modules/config.d.ts.map +1 -1
- package/dist/modules/config.js +23 -28
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/constants.d.ts +2 -9
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +38 -73
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/cr_planner.js +15 -26
- package/dist/modules/cr_planner.js.map +1 -1
- package/dist/modules/credential_policy.d.ts +3 -6
- package/dist/modules/credential_policy.d.ts.map +1 -1
- package/dist/modules/credential_policy.js +62 -153
- package/dist/modules/credential_policy.js.map +1 -1
- package/dist/modules/credential_runtime.d.ts +1 -1
- package/dist/modules/credential_runtime.d.ts.map +1 -1
- package/dist/modules/credential_runtime.js +34 -41
- package/dist/modules/credential_runtime.js.map +1 -1
- package/dist/modules/credential_session_cache.d.ts +1 -1
- package/dist/modules/credential_session_cache.d.ts.map +1 -1
- package/dist/modules/credential_session_cache.js +5 -42
- package/dist/modules/credential_session_cache.js.map +1 -1
- package/dist/modules/credit_runtime.d.ts.map +1 -1
- package/dist/modules/credit_runtime.js +126 -162
- package/dist/modules/credit_runtime.js.map +1 -1
- package/dist/modules/crypto/browser_provider.d.ts +1 -1
- package/dist/modules/crypto/browser_provider.d.ts.map +1 -1
- package/dist/modules/crypto/browser_provider.js +7 -11
- package/dist/modules/crypto/browser_provider.js.map +1 -1
- package/dist/modules/crypto/index.d.ts +6 -6
- package/dist/modules/crypto/index.d.ts.map +1 -1
- package/dist/modules/crypto/index.js +12 -30
- package/dist/modules/crypto/index.js.map +1 -1
- package/dist/modules/crypto/node_provider.d.ts +1 -1
- package/dist/modules/crypto/node_provider.d.ts.map +1 -1
- package/dist/modules/crypto/node_provider.js +3 -5
- package/dist/modules/crypto/node_provider.js.map +1 -1
- package/dist/modules/crypto/provider.js +1 -2
- package/dist/modules/crypto/pure_ripemd160.js +1 -3
- package/dist/modules/crypto/pure_ripemd160.js.map +1 -1
- package/dist/modules/crypto/pure_scrypt.js +1 -4
- package/dist/modules/crypto/pure_scrypt.js.map +1 -1
- package/dist/modules/crypto/pure_secp256k1.d.ts +1 -1
- package/dist/modules/crypto/pure_secp256k1.d.ts.map +1 -1
- package/dist/modules/crypto/pure_secp256k1.js +1 -16
- package/dist/modules/crypto/pure_secp256k1.js.map +1 -1
- package/dist/modules/crypto/sync.d.ts.map +1 -1
- package/dist/modules/crypto/sync.js +16 -17
- package/dist/modules/crypto/sync.js.map +1 -1
- package/dist/modules/daemon_node_health.js +14 -16
- package/dist/modules/daemon_node_health.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts +19 -14
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +127 -164
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +28 -27
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +55 -45
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_credential_client.d.ts +6 -2
- package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
- package/dist/modules/dexbot_credential_client.js +21 -31
- package/dist/modules/dexbot_credential_client.js.map +1 -1
- package/dist/modules/dexbot_fill_runtime.d.ts +23 -23
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_fill_runtime.js +119 -77
- package/dist/modules/dexbot_fill_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +46 -38
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +81 -81
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/dexbot_startup_runtime.d.ts +3 -3
- package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_startup_runtime.js +43 -81
- package/dist/modules/dexbot_startup_runtime.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts +11 -11
- package/dist/modules/dexbot_state_recovery.js +32 -78
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- package/dist/modules/env.js +3 -7
- package/dist/modules/env.js.map +1 -1
- package/dist/modules/fund_registry.d.ts.map +1 -1
- package/dist/modules/fund_registry.js +12 -24
- package/dist/modules/fund_registry.js.map +1 -1
- package/dist/modules/general_settings.js +10 -16
- package/dist/modules/general_settings.js.map +1 -1
- package/dist/modules/graceful_shutdown.d.ts.map +1 -1
- package/dist/modules/graceful_shutdown.js +12 -19
- 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 +27 -65
- package/dist/modules/key_store.js.map +1 -1
- package/dist/modules/launcher/bot_supervisor.d.ts +1 -1
- package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
- package/dist/modules/launcher/bot_supervisor.js +89 -118
- package/dist/modules/launcher/bot_supervisor.js.map +1 -1
- package/dist/modules/launcher/child_env.js +1 -5
- package/dist/modules/launcher/child_env.js.map +1 -1
- package/dist/modules/launcher/credential_bootstrap.js +22 -31
- package/dist/modules/launcher/credential_bootstrap.js.map +1 -1
- package/dist/modules/launcher/credential_daemon.js +37 -75
- package/dist/modules/launcher/credential_daemon.js.map +1 -1
- package/dist/modules/launcher/credential_secret.js +2 -37
- package/dist/modules/launcher/credential_secret.js.map +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.js +25 -31
- package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
- package/dist/modules/launcher/headless_password.js +10 -12
- package/dist/modules/launcher/headless_password.js.map +1 -1
- package/dist/modules/launcher/launch_modes.js +3 -9
- package/dist/modules/launcher/launch_modes.js.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.js +25 -35
- package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.js +42 -45
- package/dist/modules/launcher/market_adapter_watchdog.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 +67 -138
- package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
- package/dist/modules/launcher/runtime_entry.d.ts +1 -11
- package/dist/modules/launcher/runtime_entry.d.ts.map +1 -1
- package/dist/modules/launcher/runtime_entry.js +12 -15
- package/dist/modules/launcher/runtime_entry.js.map +1 -1
- package/dist/modules/launcher/status_reporting.d.ts +1 -1
- package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
- package/dist/modules/launcher/status_reporting.js +15 -36
- package/dist/modules/launcher/status_reporting.js.map +1 -1
- package/dist/modules/launcher/supervisor_control.js +4 -9
- package/dist/modules/launcher/supervisor_control.js.map +1 -1
- package/dist/modules/logger.d.ts +1 -1
- package/dist/modules/logger.d.ts.map +1 -1
- package/dist/modules/logger.js +3 -38
- package/dist/modules/logger.js.map +1 -1
- package/dist/modules/market_adapter_whitelist.js +9 -18
- package/dist/modules/market_adapter_whitelist.js.map +1 -1
- package/dist/modules/node_failure_ledger.js +1 -3
- package/dist/modules/node_failure_ledger.js.map +1 -1
- package/dist/modules/node_health_cache.d.ts.map +1 -1
- package/dist/modules/node_health_cache.js +15 -25
- package/dist/modules/node_health_cache.js.map +1 -1
- package/dist/modules/node_manager.d.ts +1 -1
- package/dist/modules/node_manager.d.ts.map +1 -1
- package/dist/modules/node_manager.js +44 -43
- package/dist/modules/node_manager.js.map +1 -1
- package/dist/modules/order/accounting.d.ts.map +1 -1
- package/dist/modules/order/accounting.js +102 -118
- package/dist/modules/order/accounting.js.map +1 -1
- package/dist/modules/order/async_lock.d.ts +3 -15
- package/dist/modules/order/async_lock.d.ts.map +1 -1
- package/dist/modules/order/async_lock.js +6 -26
- package/dist/modules/order/async_lock.js.map +1 -1
- package/dist/modules/order/export.js +34 -75
- package/dist/modules/order/export.js.map +1 -1
- package/dist/modules/order/format.d.ts +1 -3
- package/dist/modules/order/format.d.ts.map +1 -1
- package/dist/modules/order/format.js +4 -24
- package/dist/modules/order/format.js.map +1 -1
- package/dist/modules/order/grid.d.ts +3 -3
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +206 -262
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile.js +77 -94
- package/dist/modules/order/grid_reconcile.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +117 -149
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/index.d.ts.map +1 -1
- package/dist/modules/order/index.js +11 -45
- package/dist/modules/order/index.js.map +1 -1
- package/dist/modules/order/logger.js +28 -69
- package/dist/modules/order/logger.js.map +1 -1
- package/dist/modules/order/logger_state.d.ts.map +1 -1
- package/dist/modules/order/logger_state.js +3 -4
- package/dist/modules/order/logger_state.js.map +1 -1
- package/dist/modules/order/manager.d.ts +10 -0
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +131 -151
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/processed_fill_store.js +2 -7
- package/dist/modules/order/processed_fill_store.js.map +1 -1
- package/dist/modules/order/strategy.js +23 -25
- package/dist/modules/order/strategy.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts +27 -0
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +232 -181
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +1 -25
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +49 -172
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts +46 -2
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +165 -143
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/order/utils/system.d.ts +3 -1
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +152 -211
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/timeout.js +1 -4
- package/dist/modules/order/utils/timeout.js.map +1 -1
- package/dist/modules/order/utils/validate.js +91 -142
- package/dist/modules/order/utils/validate.js.map +1 -1
- package/dist/modules/order/utils/withPoolRef.js +21 -61
- package/dist/modules/order/utils/withPoolRef.js.map +1 -1
- package/dist/modules/order/working_grid.js +6 -9
- package/dist/modules/order/working_grid.js.map +1 -1
- package/dist/modules/path_api.d.ts.map +1 -1
- package/dist/modules/path_api.js +8 -11
- package/dist/modules/path_api.js.map +1 -1
- package/dist/modules/paths.d.ts.map +1 -1
- package/dist/modules/paths.js +61 -67
- package/dist/modules/paths.js.map +1 -1
- package/dist/modules/process_discovery.js +13 -21
- package/dist/modules/process_discovery.js.map +1 -1
- package/dist/modules/runtime.js +7 -11
- package/dist/modules/runtime.js.map +1 -1
- package/dist/modules/runtime_settings.d.ts.map +1 -1
- package/dist/modules/runtime_settings.js +14 -16
- package/dist/modules/runtime_settings.js.map +1 -1
- package/dist/modules/settings_merge.js +1 -3
- package/dist/modules/settings_merge.js.map +1 -1
- package/dist/modules/socket_json_client.js +3 -5
- package/dist/modules/socket_json_client.js.map +1 -1
- package/dist/modules/storage/browser_adapter.js +1 -4
- package/dist/modules/storage/browser_adapter.js.map +1 -1
- package/dist/modules/storage/index.d.ts +3 -2
- package/dist/modules/storage/index.d.ts.map +1 -1
- package/dist/modules/storage/index.js +5 -8
- package/dist/modules/storage/index.js.map +1 -1
- package/dist/modules/storage/node_adapter.d.ts +3 -4
- package/dist/modules/storage/node_adapter.d.ts.map +1 -1
- package/dist/modules/storage/node_adapter.js +12 -16
- package/dist/modules/storage/node_adapter.js.map +1 -1
- package/dist/modules/storage/types.js +1 -2
- package/dist/modules/types.d.ts +0 -6
- package/dist/modules/types.d.ts.map +1 -1
- package/dist/modules/types.js +1 -2
- package/dist/modules/types.js.map +1 -1
- package/dist/modules/utils/base58check.js +8 -15
- package/dist/modules/utils/base58check.js.map +1 -1
- package/dist/modules/utils/build_dir.js +3 -7
- package/dist/modules/utils/build_dir.js.map +1 -1
- package/dist/modules/utils/errors.js +1 -5
- package/dist/modules/utils/errors.js.map +1 -1
- package/dist/modules/utils/math_utils.d.ts +1 -1
- package/dist/modules/utils/math_utils.d.ts.map +1 -1
- package/dist/modules/utils/math_utils.js +2 -7
- package/dist/modules/utils/math_utils.js.map +1 -1
- package/dist/modules/validate_profiles.d.ts.map +1 -1
- package/dist/modules/validate_profiles.js +18 -25
- package/dist/modules/validate_profiles.js.map +1 -1
- package/dist/pm2.d.ts +4 -70
- package/dist/pm2.d.ts.map +1 -1
- package/dist/pm2.js +106 -132
- package/dist/pm2.js.map +1 -1
- package/dist/scripts/analyze-git.js +13 -17
- package/dist/scripts/analyze-git.js.map +1 -1
- package/dist/scripts/analyze-orders.d.ts.map +1 -1
- package/dist/scripts/analyze-orders.js +48 -63
- package/dist/scripts/analyze-orders.js.map +1 -1
- package/dist/scripts/diagnose-kibana-candles.d.ts.map +1 -1
- package/dist/scripts/diagnose-kibana-candles.js +2 -1
- package/dist/scripts/diagnose-kibana-candles.js.map +1 -1
- package/dist/scripts/diagnose-pool-history.d.ts.map +1 -1
- package/dist/scripts/diagnose-pool-history.js +2 -1
- package/dist/scripts/diagnose-pool-history.js.map +1 -1
- package/dist/scripts/divergence-calc.d.ts.map +1 -1
- package/dist/scripts/divergence-calc.js +2 -2
- package/dist/scripts/divergence-calc.js.map +1 -1
- package/dist/scripts/fix-err-message.js +17 -22
- package/dist/scripts/fix-err-message.js.map +1 -1
- package/dist/scripts/generate_lp_chart.d.ts.map +1 -1
- package/dist/scripts/generate_lp_chart.js +7 -15
- package/dist/scripts/generate_lp_chart.js.map +1 -1
- package/dist/scripts/generate_mainnet_corpus_report.d.ts.map +1 -1
- package/dist/scripts/generate_mainnet_corpus_report.js +3 -2
- package/dist/scripts/generate_mainnet_corpus_report.js.map +1 -1
- package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -1
- package/dist/scripts/generate_market_adapter_whitelist.js +18 -24
- package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -1
- package/dist/scripts/native_release_gates.js +15 -19
- package/dist/scripts/native_release_gates.js.map +1 -1
- package/dist/scripts/print_grid.d.ts.map +1 -1
- package/dist/scripts/print_grid.js +2 -2
- package/dist/scripts/print_grid.js.map +1 -1
- package/dist/scripts/run-tests.js +12 -17
- package/dist/scripts/run-tests.js.map +1 -1
- package/dist/scripts/runner.d.ts.map +1 -1
- package/dist/scripts/runner.js +18 -20
- package/dist/scripts/runner.js.map +1 -1
- package/dist/scripts/sync-version.js +2 -2
- package/dist/scripts/sync-version.js.map +1 -1
- package/dist/scripts/test-credit-renewal.d.ts.map +1 -1
- package/dist/scripts/test-credit-renewal.js +4 -3
- package/dist/scripts/test-credit-renewal.js.map +1 -1
- package/dist/scripts/update.js +77 -89
- package/dist/scripts/update.js.map +1 -1
- package/dist/scripts/validate_bots.d.ts.map +1 -1
- package/dist/scripts/validate_bots.js +2 -2
- package/dist/scripts/validate_bots.js.map +1 -1
- package/dist/scripts/verify-browser-bundle.js +12 -17
- package/dist/scripts/verify-browser-bundle.js.map +1 -1
- package/dist/unlock.d.ts +0 -30
- package/dist/unlock.d.ts.map +1 -1
- package/dist/unlock.js +95 -143
- package/dist/unlock.js.map +1 -1
- package/package.json +5 -8
- package/scripts/README.md +1 -1
- package/scripts/create-bot-symlinks.sh +2 -2
- package/dist/modules/utils/fs_utils.d.ts +0 -18
- package/dist/modules/utils/fs_utils.d.ts.map +0 -1
- package/dist/modules/utils/fs_utils.js +0 -32
- package/dist/modules/utils/fs_utils.js.map +0 -1
- package/dist/scripts/migrate_bot_keys.d.ts +0 -3
- package/dist/scripts/migrate_bot_keys.d.ts.map +0 -1
- package/dist/scripts/migrate_bot_keys.js +0 -225
- package/dist/scripts/migrate_bot_keys.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Verify that the browser-safe surface actually bundles for the web.
|
|
4
3
|
*
|
|
@@ -19,17 +18,13 @@
|
|
|
19
18
|
* Usage: npx tsx scripts/verify-browser-bundle.ts
|
|
20
19
|
* Invoked by: npm run verify:browser-bundle
|
|
21
20
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const fs_1 = require("fs");
|
|
28
|
-
const os_1 = require("os");
|
|
29
|
-
const path_1 = require("path");
|
|
30
|
-
const module_1 = __importDefault(require("module"));
|
|
21
|
+
import { spawnSync } from 'child_process';
|
|
22
|
+
import { existsSync, readFileSync, unlinkSync } from 'fs';
|
|
23
|
+
import { tmpdir } from 'os';
|
|
24
|
+
import { join as pathJoin } from 'path';
|
|
25
|
+
import mod from 'module';
|
|
31
26
|
// Complete list of Node.js built-in modules — generated at runtime.
|
|
32
|
-
const NODE_BUILTINS = [...(
|
|
27
|
+
const NODE_BUILTINS = [...(mod.builtinModules || [])];
|
|
33
28
|
// Older Node versions may not expose builtinModules — fallback to common set.
|
|
34
29
|
if (NODE_BUILTINS.length === 0) {
|
|
35
30
|
NODE_BUILTINS.push('fs', 'path', 'crypto', 'net', 'tls', 'http', 'https', 'child_process', 'os', 'tty', 'perf_hooks', 'module', 'vm', 'url', 'querystring', 'stream', 'buffer', 'assert', 'events', 'util', 'punycode', 'string_decoder', 'timers', 'console', 'readline', 'cluster', 'dns', 'dgram', 'worker_threads', 'inspector', 'trace_events', 'async_hooks', 'diagnostics_channel');
|
|
@@ -290,7 +285,7 @@ let failed = 0;
|
|
|
290
285
|
const needsDist = TESTS.some(t => t.dist);
|
|
291
286
|
if (needsDist) {
|
|
292
287
|
console.log('Building dist/ via tsc (required for dist-level tests)...');
|
|
293
|
-
const build =
|
|
288
|
+
const build = spawnSync('npx', ['tsc'], {
|
|
294
289
|
cwd: process.cwd(),
|
|
295
290
|
stdio: 'inherit',
|
|
296
291
|
encoding: 'utf-8',
|
|
@@ -305,14 +300,14 @@ for (const { label, entry, expectFail, externalizeNodeBuiltins } of TESTS) {
|
|
|
305
300
|
// Write to a temp file (not /dev/null) so we can scan the bundle for
|
|
306
301
|
// "(disabled):" markers that esbuild inserts when a module is replaced
|
|
307
302
|
// via the package.json "browser" field.
|
|
308
|
-
const outfile = (
|
|
303
|
+
const outfile = pathJoin(tmpdir(), `verify-browser-bundle-${process.pid}-${Math.random().toString(36).slice(2, 10)}.js`);
|
|
309
304
|
const args = [
|
|
310
305
|
'esbuild', '--platform=browser', '--bundle',
|
|
311
306
|
`--outfile=${outfile}`,
|
|
312
307
|
...(externalizeNodeBuiltins ? EXTERNAL_ARGS : []),
|
|
313
308
|
entry,
|
|
314
309
|
];
|
|
315
|
-
const result =
|
|
310
|
+
const result = spawnSync('npx', args, {
|
|
316
311
|
cwd: process.cwd(),
|
|
317
312
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
318
313
|
encoding: 'utf-8',
|
|
@@ -327,16 +322,16 @@ for (const { label, entry, expectFail, externalizeNodeBuiltins } of TESTS) {
|
|
|
327
322
|
// pattern this layer exists to catch. Other disabled modules (e.g. lazy
|
|
328
323
|
// Node-only fallbacks like storage/node_adapter) are expected and ignored.
|
|
329
324
|
let entryDisabled = false;
|
|
330
|
-
if (outcomeCorrect && !expectFail &&
|
|
325
|
+
if (outcomeCorrect && !expectFail && existsSync(outfile)) {
|
|
331
326
|
try {
|
|
332
|
-
const bundle =
|
|
327
|
+
const bundle = readFileSync(outfile, 'utf-8');
|
|
333
328
|
const entryKey = entry.replace(/\.js$/, '');
|
|
334
329
|
entryDisabled = bundle.includes(`(disabled):${entryKey}`);
|
|
335
330
|
}
|
|
336
331
|
catch { }
|
|
337
332
|
}
|
|
338
333
|
try {
|
|
339
|
-
|
|
334
|
+
unlinkSync(outfile);
|
|
340
335
|
}
|
|
341
336
|
catch { }
|
|
342
337
|
if (outcomeCorrect && !entryDisabled) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-browser-bundle.js","sourceRoot":"","sources":["../../scripts/verify-browser-bundle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify-browser-bundle.js","sourceRoot":"","sources":["../../scripts/verify-browser-bundle.ts"],"names":[],"mappings":"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"}
|
package/dist/unlock.d.ts
CHANGED
|
@@ -1,34 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* unlock.ts - Credential Daemon Launcher
|
|
4
|
-
*
|
|
5
|
-
* Starts credential daemon with master password and launches the bot process.
|
|
6
|
-
*
|
|
7
|
-
* Default mode: daemonizes to background and auto-restarts on crash.
|
|
8
|
-
* Use --foreground to run in terminal (no auto-restart).
|
|
9
|
-
*
|
|
10
|
-
* Usage:
|
|
11
|
-
* dexbot unlock Background + auto-restart (default)
|
|
12
|
-
* dexbot unlock --foreground Terminal mode (no auto-restart)
|
|
13
|
-
* dexbot unlock claw-only
|
|
14
|
-
* dexbot unlock --claw-only
|
|
15
|
-
* dexbot unlock --isolated
|
|
16
|
-
* dexbot unlock --isolated <botName>
|
|
17
|
-
* dexbot unlock --dryrun
|
|
18
|
-
* dexbot unlock --dryrun <botName>
|
|
19
|
-
* dexbot unlock --headless Non-interactive (requires env var or --password-file)
|
|
20
|
-
* dexbot unlock --headless --password-file <path>
|
|
21
|
-
* dexbot stat, status Runtime status
|
|
22
|
-
* dexbot stop Stop the monolithic runtime
|
|
23
|
-
* dexbot restart Restart the monolithic runtime
|
|
24
|
-
* dexbot delete Shut down and clean up
|
|
25
|
-
*
|
|
26
|
-
* Repo-root users can run `./unlock` instead.
|
|
27
|
-
*
|
|
28
|
-
* Environment:
|
|
29
|
-
* BOT_NAME Fallback bot name when none is given as positional arg
|
|
30
|
-
* DEXBOT_MASTER_PASSWORD Master password for --headless mode (less secure than file)
|
|
31
|
-
*/
|
|
32
2
|
declare const waitForChildSpawn: any, pidMatchesScriptCandidates: any, candidateRuntimeScriptPaths: any;
|
|
33
3
|
declare const isLikelyCredentialDaemonProcess: any, ensureNoForeignCredentialDaemon: any, findCredentialSocketOwnerPid: any, buildDexbotStartArgs: any;
|
|
34
4
|
declare function waitForStableChildStartup(child: any, { label, timeoutMs }?: any): any;
|
package/dist/unlock.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../unlock.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../unlock.ts"],"names":[],"mappings":";AAsEA,QAAA,MAII,iBAAiB,OAAE,0BAA0B,OAAE,2BAA2B,KAC9B,CAAC;AAQjD,QAAA,MAKI,+BAA+B,OAG/B,+BAA+B,OAAE,4BAA4B,OAE7D,oBAAoB,KAG4B,CAAC;AA8ErD,iBAAS,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAuB,EAAE,SAAoC,EAAE,GAAE,GAAQ,OA+BzH;AA2ND,iBAAe,IAAI,CAAC,EAAE,IAAmB,EAAE,cAAyC,EAAE,GAAE,GAAQ,iBAmS/F;AAiVD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,IAAI,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,CAAA"}
|
package/dist/unlock.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import { pathToFileURL } from 'node:url';
|
|
4
|
+
import { dirname as _esmDirname } from 'node:path';
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = _esmDirname(__filename);
|
|
3
7
|
// node-only entry point — credential daemon launcher (Unix socket, child_process, fs)
|
|
4
8
|
/**
|
|
5
9
|
* unlock.ts - Credential Daemon Launcher
|
|
@@ -31,96 +35,43 @@
|
|
|
31
35
|
* BOT_NAME Fallback bot name when none is given as positional arg
|
|
32
36
|
* DEXBOT_MASTER_PASSWORD Master password for --headless mode (less secure than file)
|
|
33
37
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
63
|
-
__setModuleDefault(result, mod);
|
|
64
|
-
return result;
|
|
65
|
-
};
|
|
66
|
-
})();
|
|
67
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
68
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
69
|
-
};
|
|
70
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
71
|
-
exports.waitForChildSpawn = exports.pidMatchesScriptCandidates = exports.isLikelyCredentialDaemonProcess = exports.findCredentialSocketOwnerPid = exports.ensureNoForeignCredentialDaemon = exports.candidateRuntimeScriptPaths = exports.buildDexbotStartArgs = void 0;
|
|
72
|
-
exports.main = main;
|
|
73
|
-
exports.waitForStableChildStartup = waitForStableChildStartup;
|
|
74
|
-
const config_1 = require("./modules/config");
|
|
75
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
76
|
-
const path_api_1 = require("./modules/path_api");
|
|
77
|
-
const storage_1 = require("./modules/storage");
|
|
78
|
-
const node_child_process_1 = require("node:child_process");
|
|
79
|
-
const credential_daemon_1 = require("./modules/launcher/credential_daemon");
|
|
80
|
-
const child_env_1 = require("./modules/launcher/child_env");
|
|
81
|
-
const launch_modes_1 = require("./modules/launcher/launch_modes");
|
|
82
|
-
const constants_1 = require("./modules/constants");
|
|
83
|
-
const runtime_1 = require("./modules/runtime");
|
|
84
|
-
const paths_1 = require("./modules/paths");
|
|
85
|
-
const runtime_entry_1 = require("./modules/launcher/runtime_entry");
|
|
86
|
-
const supervisor_control_1 = require("./modules/launcher/supervisor_control");
|
|
87
|
-
const graceful_shutdown_1 = require("./modules/graceful_shutdown");
|
|
88
|
-
const bot_settings_1 = require("./modules/bot_settings");
|
|
89
|
-
const chainKeys = __importStar(require("./modules/chain_keys"));
|
|
90
|
-
const credentialPolicy = __importStar(require("./modules/credential_policy"));
|
|
91
|
-
const market_adapter_whitelist_1 = require("./modules/market_adapter_whitelist");
|
|
92
|
-
const fs_utils_1 = require("./modules/utils/fs_utils");
|
|
93
|
-
const market_adapter_watchdog_1 = require("./modules/launcher/market_adapter_watchdog");
|
|
94
|
-
const market_adapter_runtime_1 = require("./modules/launcher/market_adapter_runtime");
|
|
95
|
-
const config_2 = require("./modules/config");
|
|
96
|
-
const migrate_bot_keys_1 = require("./scripts/migrate_bot_keys");
|
|
97
|
-
const errors_1 = require("./modules/utils/errors");
|
|
98
|
-
const timeout_1 = require("./modules/order/utils/timeout");
|
|
99
|
-
(0, config_1.setUmask)(0o077);
|
|
100
|
-
const storage = (0, storage_1.getStorage)();
|
|
38
|
+
import { createRequire } from 'node:module';
|
|
39
|
+
const require = createRequire(import.meta.url);
|
|
40
|
+
import { setUmask } from './modules/config.js';
|
|
41
|
+
import fs from 'node:fs';
|
|
42
|
+
import { path } from './modules/path_api.js';
|
|
43
|
+
import { getStorage } from './modules/storage/index.js';
|
|
44
|
+
import { spawn } from 'node:child_process';
|
|
45
|
+
import { createCredentialDaemonController } from './modules/launcher/credential_daemon.js';
|
|
46
|
+
import { buildScopedChildEnv } from './modules/launcher/child_env.js';
|
|
47
|
+
import { parseUnlockArgs } from './modules/launcher/launch_modes.js';
|
|
48
|
+
import { UPDATER, LAUNCHER } from './modules/constants.js';
|
|
49
|
+
import { runtime } from './modules/runtime.js';
|
|
50
|
+
import { PATHS } from './modules/paths.js';
|
|
51
|
+
import { buildRuntimeScriptArgs } from './modules/launcher/runtime_entry.js';
|
|
52
|
+
import { sendControlCommand } from './modules/launcher/supervisor_control.js';
|
|
53
|
+
import { registerCleanup, setupGracefulShutdown } from './modules/graceful_shutdown.js';
|
|
54
|
+
import { normalizeBotEntry, resolveRawBotEntries, loadSettingsFile } from './modules/bot_settings.js';
|
|
55
|
+
import * as chainKeys from './modules/chain_keys.js';
|
|
56
|
+
import * as credentialPolicy from './modules/credential_policy.js';
|
|
57
|
+
import { getWhitelistFlags } from './modules/market_adapter_whitelist.js';
|
|
58
|
+
import { createMarketAdapterWatchdog } from './modules/launcher/market_adapter_watchdog.js';
|
|
59
|
+
import { isLikelyMarketAdapterProcess } from './modules/launcher/market_adapter_runtime.js';
|
|
60
|
+
import { Config } from './modules/config.js';
|
|
61
|
+
import { getErrorMessage } from './modules/utils/errors.js';
|
|
62
|
+
import { withTimeout } from './modules/order/utils/timeout.js';
|
|
63
|
+
setUmask(0o077);
|
|
64
|
+
const storage = getStorage();
|
|
65
|
+
const { ensureDir } = storage;
|
|
101
66
|
const { createBotSupervisor, SOCKET_PATH, forwardSignal, isPidAlive, waitForPidExit, readMarketAdapterLockPid, stopMarketAdapterFromLock, usesAmaGridPrice, waitForChildSpawn, pidMatchesScriptCandidates, candidateRuntimeScriptPaths, } = require('./modules/launcher/bot_supervisor');
|
|
102
|
-
exports.waitForChildSpawn = waitForChildSpawn;
|
|
103
|
-
exports.pidMatchesScriptCandidates = pidMatchesScriptCandidates;
|
|
104
|
-
exports.candidateRuntimeScriptPaths = candidateRuntimeScriptPaths;
|
|
105
67
|
const { statusTitle, statusLabel, statusBool, statusActiveBotName, statusSuccess, statusError, colorStatus, STATUS_COLORS, readProcStat, readProcMemMB, readProcCpuTime, readProcCpuPercent, readProcUptime, formatMemoryWithUptime, printControlStatus, } = require('./modules/launcher/status_reporting');
|
|
106
68
|
const { MONOLITHIC_PID_FILE, MONOLITHIC_BOT_PID_FILE, MONOLITHIC_BOT_INFO_FILE, MONOLITHIC_CRED_PID_FILE, MONOLITHIC_OUT_LOG, MONOLITHIC_ERROR_LOG, CREDENTIAL_SOCKET_FILE, cleanupStateFiles, readLiveMonolithicPid, readMonolithicBotInfo, isLikelyCredentialDaemonProcess, isExpectedMonolithicBotPid, isProcessInDstate, stopCredentialDaemonPid, stopCredentialDaemon, ensureNoForeignCredentialDaemon, findCredentialSocketOwnerPid, cleanupCredentialRuntimeFiles, readCredentialDaemonStatus, ensureLogDir: ensureMonolithicLogDir, buildDexbotStartArgs, createUpdateScheduler, listConfiguredBots, getControlBotNames, getControlActionLabel, getControlServiceNames, printControlActionSummary, formatBotCount, } = require('./modules/launcher/monolithic_runtime');
|
|
107
|
-
exports.isLikelyCredentialDaemonProcess = isLikelyCredentialDaemonProcess;
|
|
108
|
-
exports.ensureNoForeignCredentialDaemon = ensureNoForeignCredentialDaemon;
|
|
109
|
-
exports.findCredentialSocketOwnerPid = findCredentialSocketOwnerPid;
|
|
110
|
-
exports.buildDexbotStartArgs = buildDexbotStartArgs;
|
|
111
|
-
// Auto-migrate bot state files from old stable-ID key format to sanitized-name format
|
|
112
|
-
try {
|
|
113
|
-
(0, migrate_bot_keys_1.runMigration)();
|
|
114
|
-
}
|
|
115
|
-
catch (err) {
|
|
116
|
-
console.error(`Migration error: ${(0, errors_1.getErrorMessage)(err)}`);
|
|
117
|
-
}
|
|
118
69
|
const CODE_ROOT = __dirname;
|
|
119
|
-
const BOTS_FILE =
|
|
120
|
-
const LOGS_DIR =
|
|
121
|
-
const SUPERVISOR_OUT_LOG =
|
|
122
|
-
const SUPERVISOR_ERROR_LOG =
|
|
123
|
-
const controller =
|
|
70
|
+
const BOTS_FILE = PATHS.PROFILES.BOTS_JSON;
|
|
71
|
+
const LOGS_DIR = PATHS.LOGS_DIR;
|
|
72
|
+
const SUPERVISOR_OUT_LOG = path.join(LOGS_DIR, 'supervisor.log');
|
|
73
|
+
const SUPERVISOR_ERROR_LOG = path.join(LOGS_DIR, 'supervisor-error.log');
|
|
74
|
+
const controller = createCredentialDaemonController({ root: PATHS.PROJECT_ROOT, codeRoot: CODE_ROOT });
|
|
124
75
|
const DEFAULT_STARTUP_GRACE_MS = 750;
|
|
125
76
|
const botProcessRef = { current: null };
|
|
126
77
|
function printLauncherHeader({ botName = null, clawOnly = false, creditOnly = false, isolated = false, dryrun = false, headless = false } = {}) {
|
|
@@ -220,14 +171,14 @@ function waitForStableChildStartup(child, { label = 'child process', timeoutMs =
|
|
|
220
171
|
});
|
|
221
172
|
}
|
|
222
173
|
function resolveBotEntryForName(botName) {
|
|
223
|
-
const { config } =
|
|
224
|
-
const raw =
|
|
174
|
+
const { config } = loadSettingsFile(BOTS_FILE);
|
|
175
|
+
const raw = resolveRawBotEntries(config);
|
|
225
176
|
const match = raw.find((b) => b && b.name === botName);
|
|
226
177
|
if (!match)
|
|
227
178
|
return null;
|
|
228
179
|
const entryCopy = JSON.parse(JSON.stringify(match));
|
|
229
180
|
entryCopy.active = true;
|
|
230
|
-
return
|
|
181
|
+
return normalizeBotEntry(entryCopy);
|
|
231
182
|
}
|
|
232
183
|
function getLaunchedBotNames(botName) {
|
|
233
184
|
return botName
|
|
@@ -236,7 +187,7 @@ function getLaunchedBotNames(botName) {
|
|
|
236
187
|
}
|
|
237
188
|
// ── Isolated supervisor mode ───────────────────────────────────────
|
|
238
189
|
function isSupervisorTransientError(err) {
|
|
239
|
-
const msg = String(err &&
|
|
190
|
+
const msg = String(err && getErrorMessage(err) || '');
|
|
240
191
|
return msg.includes('No supervisor socket found') || msg.includes('Connection timed out');
|
|
241
192
|
}
|
|
242
193
|
function waitForSupervisorReady({ child = null, timeoutMs = 15000, intervalMs = 250 } = {}) {
|
|
@@ -255,7 +206,7 @@ function waitForSupervisorReady({ child = null, timeoutMs = 15000, intervalMs =
|
|
|
255
206
|
const startedAt = Date.now();
|
|
256
207
|
const poll = async () => {
|
|
257
208
|
try {
|
|
258
|
-
await
|
|
209
|
+
await sendControlCommand({ cmd: 'status' });
|
|
259
210
|
finish(resolve, true);
|
|
260
211
|
}
|
|
261
212
|
catch (err) {
|
|
@@ -283,12 +234,12 @@ function waitForSupervisorReady({ child = null, timeoutMs = 15000, intervalMs =
|
|
|
283
234
|
}
|
|
284
235
|
function ensureSupervisorLogDir() {
|
|
285
236
|
if (!storage.exists(LOGS_DIR)) {
|
|
286
|
-
|
|
237
|
+
ensureDir(LOGS_DIR);
|
|
287
238
|
}
|
|
288
239
|
}
|
|
289
240
|
async function sendIsolatedDeleteIfAvailable() {
|
|
290
241
|
try {
|
|
291
|
-
const resp = await
|
|
242
|
+
const resp = await sendControlCommand({ cmd: 'delete' });
|
|
292
243
|
if (resp.ok && resp.status) {
|
|
293
244
|
printControlStatus(resp.status);
|
|
294
245
|
}
|
|
@@ -306,28 +257,28 @@ async function sendIsolatedDeleteIfAvailable() {
|
|
|
306
257
|
}
|
|
307
258
|
async function launchDetachedSupervisor({ botName = null, credentialDaemonPid = null } = {}) {
|
|
308
259
|
try {
|
|
309
|
-
await
|
|
310
|
-
throw new Error(`another isolated supervisor is already running at ${
|
|
260
|
+
await sendControlCommand({ cmd: 'status' });
|
|
261
|
+
throw new Error(`another isolated supervisor is already running at ${Config.DEXBOT_SUPERVISOR_SOCKET || SOCKET_PATH}`);
|
|
311
262
|
}
|
|
312
263
|
catch (err) {
|
|
313
|
-
if (!String(err &&
|
|
264
|
+
if (!String(err && getErrorMessage(err) || '').includes('No supervisor socket found')) {
|
|
314
265
|
throw err;
|
|
315
266
|
}
|
|
316
267
|
}
|
|
317
268
|
ensureSupervisorLogDir();
|
|
318
269
|
const stdoutFd = storage.open(SUPERVISOR_OUT_LOG, 'a', 0o600);
|
|
319
270
|
const stderrFd = storage.open(SUPERVISOR_ERROR_LOG, 'a', 0o600);
|
|
320
|
-
const args =
|
|
271
|
+
const args = buildRuntimeScriptArgs({
|
|
321
272
|
codeRoot: CODE_ROOT,
|
|
322
273
|
scriptSegments: ['unlock'],
|
|
323
274
|
scriptArgs: ['--isolated', ...(botName ? [botName] : [])],
|
|
324
275
|
});
|
|
325
276
|
let child = null;
|
|
326
277
|
try {
|
|
327
|
-
child =
|
|
328
|
-
cwd:
|
|
278
|
+
child = spawn(Config.EXEC_PATH, args, {
|
|
279
|
+
cwd: PATHS.PROJECT_ROOT,
|
|
329
280
|
detached: true,
|
|
330
|
-
env:
|
|
281
|
+
env: buildScopedChildEnv({
|
|
331
282
|
extra: {
|
|
332
283
|
DEXBOT_ISOLATED_CHILD: '1',
|
|
333
284
|
...(credentialDaemonPid ? { DEXBOT_MANAGED_CRED_PID: String(credentialDaemonPid) } : {}),
|
|
@@ -345,7 +296,7 @@ async function launchDetachedSupervisor({ botName = null, credentialDaemonPid =
|
|
|
345
296
|
catch (err) {
|
|
346
297
|
if (child && child.pid) {
|
|
347
298
|
try {
|
|
348
|
-
|
|
299
|
+
runtime.kill(child.pid, 'SIGTERM');
|
|
349
300
|
}
|
|
350
301
|
catch (_) { }
|
|
351
302
|
}
|
|
@@ -374,7 +325,7 @@ async function runIsolated({ botName, botEntry = null, stayResident = false, sta
|
|
|
374
325
|
else {
|
|
375
326
|
supervisor = createBotSupervisor();
|
|
376
327
|
}
|
|
377
|
-
|
|
328
|
+
registerCleanup('Bot supervisor', () => supervisor.shutdown());
|
|
378
329
|
await supervisor.start();
|
|
379
330
|
await supervisor.waitForStableStartup({ timeoutMs: startupGraceMs });
|
|
380
331
|
printLauncherStartupSummary({ botNames: getLaunchedBotNames(botName || null), mode: 'isolated' });
|
|
@@ -409,7 +360,7 @@ async function runIsolated({ botName, botEntry = null, stayResident = false, sta
|
|
|
409
360
|
return;
|
|
410
361
|
}
|
|
411
362
|
const elapsedMs = Date.now() - pollStartedAt;
|
|
412
|
-
if (elapsedMs >=
|
|
363
|
+
if (elapsedMs >= LAUNCHER.MONOLITHIC.SUPERVISOR_POLL_TIMEOUT_MS) {
|
|
413
364
|
clearInterval(interval);
|
|
414
365
|
cleanupSignalHandlers();
|
|
415
366
|
reject(new Error(`Supervisor poll timeout after ${Math.ceil(elapsedMs / 1000)}s: ` +
|
|
@@ -429,11 +380,11 @@ async function main({ argv = process.argv, startupGraceMs = DEFAULT_STARTUP_GRAC
|
|
|
429
380
|
if (typeof chainKeys.checkKeysFileSecurity === 'function')
|
|
430
381
|
chainKeys.checkKeysFileSecurity();
|
|
431
382
|
if (typeof credentialPolicy.checkPolicyFileSecurity === 'function')
|
|
432
|
-
credentialPolicy.checkPolicyFileSecurity(
|
|
433
|
-
const parsed =
|
|
434
|
-
const isDetachedSupervisorChild =
|
|
435
|
-
const forceForegroundIsolated =
|
|
436
|
-
const isMonolithicBgChild =
|
|
383
|
+
credentialPolicy.checkPolicyFileSecurity(PATHS.PROFILES.DAEMON_POLICIES_JSON);
|
|
384
|
+
const parsed = parseUnlockArgs(argv);
|
|
385
|
+
const isDetachedSupervisorChild = Config.DEXBOT_ISOLATED_CHILD;
|
|
386
|
+
const forceForegroundIsolated = Config.DEXBOT_ISOLATED_FOREGROUND;
|
|
387
|
+
const isMonolithicBgChild = Config.DEXBOT_MONOLITHIC_BG;
|
|
437
388
|
const forceForeground = argv.includes('--foreground');
|
|
438
389
|
if (parsed.control) {
|
|
439
390
|
await handleControl({ cmd: parsed.control.cmd, target: parsed.control.target ?? undefined });
|
|
@@ -548,8 +499,8 @@ async function main({ argv = process.argv, startupGraceMs = DEFAULT_STARTUP_GRAC
|
|
|
548
499
|
catch (_) { }
|
|
549
500
|
throw _e;
|
|
550
501
|
}
|
|
551
|
-
const child =
|
|
552
|
-
cwd:
|
|
502
|
+
const child = spawn(Config.EXEC_PATH, [__filename, ...argv.slice(2)], {
|
|
503
|
+
cwd: PATHS.PROJECT_ROOT,
|
|
553
504
|
detached: true,
|
|
554
505
|
env: {
|
|
555
506
|
...process.env,
|
|
@@ -587,17 +538,17 @@ async function main({ argv = process.argv, startupGraceMs = DEFAULT_STARTUP_GRAC
|
|
|
587
538
|
daemonReleased = true;
|
|
588
539
|
printLauncherStartupSummary({ botNames: launchedBotNames, mode: 'isolated' });
|
|
589
540
|
console.log(`Supervisor PID: ${supervisorPid}`);
|
|
590
|
-
console.log(`Control socket: ${
|
|
541
|
+
console.log(`Control socket: ${Config.DEXBOT_SUPERVISOR_SOCKET || SOCKET_PATH}`);
|
|
591
542
|
console.log(`Supervisor logs: ${SUPERVISOR_OUT_LOG}`);
|
|
592
543
|
process.exitCode = 0;
|
|
593
544
|
return;
|
|
594
545
|
}
|
|
595
546
|
// Monolithic foreground mode — spawn and supervise the bot process directly
|
|
596
|
-
const updater =
|
|
547
|
+
const updater = UPDATER.ACTIVE ? createUpdateScheduler({ botProcessRef }) : null;
|
|
597
548
|
const cancelUpdater = updater ? updater.cancel : () => { };
|
|
598
|
-
const watchdog =
|
|
549
|
+
const watchdog = createMarketAdapterWatchdog({
|
|
599
550
|
codeRoot: CODE_ROOT,
|
|
600
|
-
root:
|
|
551
|
+
root: PATHS.PROJECT_ROOT,
|
|
601
552
|
logsDir: LOGS_DIR,
|
|
602
553
|
});
|
|
603
554
|
const cancelWatchdog = watchdog.schedule(MONOLITHIC_ERROR_LOG);
|
|
@@ -618,8 +569,8 @@ async function main({ argv = process.argv, startupGraceMs = DEFAULT_STARTUP_GRAC
|
|
|
618
569
|
do {
|
|
619
570
|
launchedBotNames = getLaunchedBotNames(effectiveBotName || botName);
|
|
620
571
|
const dexbotArgs = buildDexbotStartArgs(effectiveBotName || botName, dryrun);
|
|
621
|
-
const botProcess =
|
|
622
|
-
cwd:
|
|
572
|
+
const botProcess = spawn(Config.EXEC_PATH, dexbotArgs, {
|
|
573
|
+
cwd: PATHS.PROJECT_ROOT,
|
|
623
574
|
env: process.env,
|
|
624
575
|
stdio: isMonolithicBgChild ? 'pipe' : 'inherit',
|
|
625
576
|
});
|
|
@@ -636,8 +587,8 @@ async function main({ argv = process.argv, startupGraceMs = DEFAULT_STARTUP_GRAC
|
|
|
636
587
|
catch (_) { }
|
|
637
588
|
}
|
|
638
589
|
if (isMonolithicBgChild && botProcess.stdout) {
|
|
639
|
-
const outStream =
|
|
640
|
-
const errStream =
|
|
590
|
+
const outStream = fs.createWriteStream(MONOLITHIC_OUT_LOG, { flags: 'a' });
|
|
591
|
+
const errStream = fs.createWriteStream(MONOLITHIC_ERROR_LOG, { flags: 'a' });
|
|
641
592
|
botProcess.stdout.pipe(outStream);
|
|
642
593
|
botProcess.stderr.pipe(errStream);
|
|
643
594
|
botProcess.stdout.on('error', () => { });
|
|
@@ -684,18 +635,18 @@ async function main({ argv = process.argv, startupGraceMs = DEFAULT_STARTUP_GRAC
|
|
|
684
635
|
}
|
|
685
636
|
else if (exitCode !== 0) {
|
|
686
637
|
const uptime = Date.now() - lastStartTime;
|
|
687
|
-
if (uptime >=
|
|
638
|
+
if (uptime >= LAUNCHER.MONOLITHIC.minUptimeMs) {
|
|
688
639
|
restartCount = 0;
|
|
689
640
|
}
|
|
690
641
|
restartCount++;
|
|
691
|
-
if (restartCount >
|
|
692
|
-
console.error(statusError(`Bot crashed ${
|
|
642
|
+
if (restartCount > LAUNCHER.MONOLITHIC.maxRestarts) {
|
|
643
|
+
console.error(statusError(`Bot crashed ${LAUNCHER.MONOLITHIC.maxRestarts} times without stable uptime. Exiting.`));
|
|
693
644
|
process.exitCode = exitCode || 1;
|
|
694
645
|
keepRunning = false;
|
|
695
646
|
}
|
|
696
647
|
else {
|
|
697
|
-
console.log(`Bot crashed (exit ${exitCode}), restarting in ${
|
|
698
|
-
await new Promise((r) => setTimeout(r,
|
|
648
|
+
console.log(`Bot crashed (exit ${exitCode}), restarting in ${LAUNCHER.MONOLITHIC.restartDelayMs / 1000}s (attempt ${restartCount}/${LAUNCHER.MONOLITHIC.maxRestarts})...`);
|
|
649
|
+
await new Promise((r) => setTimeout(r, LAUNCHER.MONOLITHIC.restartDelayMs));
|
|
699
650
|
}
|
|
700
651
|
}
|
|
701
652
|
else {
|
|
@@ -781,7 +732,7 @@ async function printCredentialDaemonStatusBlock(credPid, credForeign) {
|
|
|
781
732
|
*/
|
|
782
733
|
function printMarketAdapterStatusBlock() {
|
|
783
734
|
const adapterPid = readMarketAdapterLockPid();
|
|
784
|
-
const adapterAlive = adapterPid > 0 &&
|
|
735
|
+
const adapterAlive = adapterPid > 0 && isLikelyMarketAdapterProcess(adapterPid);
|
|
785
736
|
console.log(` ${statusTitle('Market adapter:')}`);
|
|
786
737
|
if (adapterAlive) {
|
|
787
738
|
console.log(` ${statusLabel('PID:')} ${adapterPid}`);
|
|
@@ -801,7 +752,7 @@ function printMarketAdapterStatusBlock() {
|
|
|
801
752
|
}
|
|
802
753
|
console.log(` ${statusLabel('Active:')} ${formatBotCount(amaBots.length)}`);
|
|
803
754
|
for (const b of amaBots) {
|
|
804
|
-
const flags =
|
|
755
|
+
const flags = getWhitelistFlags(botKeyFromName(b.name));
|
|
805
756
|
const indicators = [];
|
|
806
757
|
if (flags.asymmetricBounds)
|
|
807
758
|
indicators.push('range');
|
|
@@ -841,7 +792,7 @@ async function handleControl({ cmd, target }) {
|
|
|
841
792
|
}
|
|
842
793
|
await stopMarketAdapterFromLock();
|
|
843
794
|
try {
|
|
844
|
-
|
|
795
|
+
runtime.kill(pid, 'SIGUSR2');
|
|
845
796
|
}
|
|
846
797
|
catch (err) {
|
|
847
798
|
if (err.code !== 'ESRCH')
|
|
@@ -900,15 +851,15 @@ async function handleControl({ cmd, target }) {
|
|
|
900
851
|
monolithicExited = true;
|
|
901
852
|
}
|
|
902
853
|
else {
|
|
903
|
-
|
|
904
|
-
const timeoutMs = effectiveCmd === 'delete' ?
|
|
854
|
+
runtime.kill(pid, 'SIGTERM');
|
|
855
|
+
const timeoutMs = effectiveCmd === 'delete' ? LAUNCHER.MONOLITHIC.controlStopTimeoutMs : 5000;
|
|
905
856
|
monolithicExited = await waitForPidExit(pid, timeoutMs);
|
|
906
857
|
if (!monolithicExited && effectiveCmd === 'delete') {
|
|
907
858
|
if (isProcessInDstate(pid)) {
|
|
908
859
|
console.warn(`monolithic wrapper PID ${pid} is in D-state, skipping SIGKILL.`);
|
|
909
860
|
}
|
|
910
861
|
else {
|
|
911
|
-
|
|
862
|
+
runtime.kill(pid, 'SIGKILL');
|
|
912
863
|
monolithicExited = await waitForPidExit(pid, 2000);
|
|
913
864
|
if (!monolithicExited) {
|
|
914
865
|
console.warn(`monolithic wrapper PID ${pid} did not exit after SIGKILL (may be in uninterruptible sleep). Cleaning up state.`);
|
|
@@ -999,7 +950,7 @@ async function handleControl({ cmd, target }) {
|
|
|
999
950
|
controller.releaseManagedDaemon();
|
|
1000
951
|
}
|
|
1001
952
|
try {
|
|
1002
|
-
const resp = await
|
|
953
|
+
const resp = await sendControlCommand(controlCmd);
|
|
1003
954
|
if (resp.ok && resp.status) {
|
|
1004
955
|
printControlStatus(resp.status);
|
|
1005
956
|
}
|
|
@@ -1017,40 +968,41 @@ async function handleControl({ cmd, target }) {
|
|
|
1017
968
|
console.log('No runtime processes found.');
|
|
1018
969
|
return;
|
|
1019
970
|
}
|
|
1020
|
-
console.error(statusError(`control ${cmd}: ${
|
|
971
|
+
console.error(statusError(`control ${cmd}: ${getErrorMessage(err)}`));
|
|
1021
972
|
process.exitCode = 1;
|
|
1022
973
|
}
|
|
1023
974
|
process.exit(0);
|
|
1024
975
|
}
|
|
1025
976
|
// ── Bootstrap ──────────────────────────────────────────────────────
|
|
1026
|
-
const isUnlockStartDirectRun =
|
|
1027
|
-
|
|
977
|
+
const isUnlockStartDirectRun = !!process.argv[1] && (import.meta.url === pathToFileURL(process.argv[1]).href ||
|
|
978
|
+
path.parse(process.argv[1]).name === 'unlock');
|
|
1028
979
|
if (isUnlockStartDirectRun) {
|
|
1029
|
-
|
|
1030
|
-
if (
|
|
1031
|
-
|
|
980
|
+
setupGracefulShutdown();
|
|
981
|
+
if (Config.DEXBOT_ISOLATED_CHILD) {
|
|
982
|
+
registerCleanup('Credential daemon', () => stopCredentialDaemonPid(Config.DEXBOT_MANAGED_CRED_PID));
|
|
1032
983
|
}
|
|
1033
|
-
else if (
|
|
1034
|
-
|
|
1035
|
-
|
|
984
|
+
else if (Config.DEXBOT_MONOLITHIC_BG) {
|
|
985
|
+
registerCleanup('PID files', cleanupStateFiles);
|
|
986
|
+
registerCleanup('Bot process', async () => {
|
|
1036
987
|
const bot = botProcessRef.current;
|
|
1037
988
|
if (bot && !bot.killed) {
|
|
1038
989
|
forwardSignal(bot, 'SIGTERM');
|
|
1039
|
-
await
|
|
990
|
+
await withTimeout(new Promise((resolve) => bot.once('close', resolve)), LAUNCHER.MONOLITHIC.SHUTDOWN_GRACE_MS, { onTimeout: 'resolve', defaultValue: undefined });
|
|
1040
991
|
}
|
|
1041
992
|
});
|
|
1042
993
|
}
|
|
1043
994
|
else {
|
|
1044
|
-
|
|
995
|
+
registerCleanup('Credential daemon', () => controller.stopManagedDaemon());
|
|
1045
996
|
}
|
|
1046
997
|
(async () => {
|
|
1047
998
|
try {
|
|
1048
999
|
await main();
|
|
1049
1000
|
}
|
|
1050
1001
|
catch (err) {
|
|
1051
|
-
console.error(statusError(`unlock failed: ${
|
|
1002
|
+
console.error(statusError(`unlock failed: ${getErrorMessage(err) || err}`));
|
|
1052
1003
|
process.exit(1);
|
|
1053
1004
|
}
|
|
1054
1005
|
})();
|
|
1055
1006
|
}
|
|
1007
|
+
export { buildDexbotStartArgs, candidateRuntimeScriptPaths, ensureNoForeignCredentialDaemon, findCredentialSocketOwnerPid, isLikelyCredentialDaemonProcess, main, pidMatchesScriptCandidates, waitForChildSpawn, waitForStableChildStartup };
|
|
1056
1008
|
//# sourceMappingURL=unlock.js.map
|