@hoox-sh/hoox-shared 1.4.0 → 1.6.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/README.md +6 -0
- package/dist/agent-config-fields.d.ts +5 -0
- package/dist/agent-config-fields.d.ts.map +1 -1
- package/dist/agent-config-fields.js +21 -29
- package/dist/analytics.d.ts +3 -4
- package/dist/analytics.d.ts.map +1 -1
- package/dist/analytics.js +64 -19
- package/dist/api-client.js +12 -21
- package/dist/colors.js +5 -21
- package/dist/config.d.ts +10 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +267 -51
- package/dist/cron-handler.js +0 -16
- package/dist/d1/index.js +8 -25
- package/dist/d1/repository.js +3 -19
- package/dist/d1/schemas.js +4 -20
- package/dist/dashboard-manifest.d.ts +2 -1
- package/dist/dashboard-manifest.d.ts.map +1 -1
- package/dist/dashboard-manifest.js +37 -33
- package/dist/entitlements.d.ts +46 -0
- package/dist/entitlements.d.ts.map +1 -0
- package/dist/entitlements.js +15 -0
- package/dist/errors.d.ts +1 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -23
- package/dist/exchange-client.d.ts +0 -19
- package/dist/exchange-client.d.ts.map +1 -1
- package/dist/exchange-client.js +1 -83
- package/dist/exchanges/base-exchange-client.d.ts.map +1 -1
- package/dist/exchanges/base-exchange-client.js +4 -19
- package/dist/exchanges/index.js +4 -19
- package/dist/format-time.js +2 -18
- package/dist/formatters.js +12 -28
- package/dist/health.js +3 -19
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3568 -3766
- package/dist/kill-switch.js +12 -20
- package/dist/kvKeys.d.ts +8 -0
- package/dist/kvKeys.d.ts.map +1 -1
- package/dist/kvKeys.js +42 -46
- package/dist/kvUtils.js +8 -24
- package/dist/legal.js +5 -21
- package/dist/middleware/auth.d.ts +9 -0
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +9 -25
- package/dist/middleware/cors.js +4 -20
- package/dist/middleware/index.js +144 -165
- package/dist/middleware/logger.d.ts +2 -0
- package/dist/middleware/logger.d.ts.map +1 -1
- package/dist/middleware/logger.js +9 -25
- package/dist/middleware/rate-limit.d.ts +7 -0
- package/dist/middleware/rate-limit.d.ts.map +1 -1
- package/dist/middleware/rate-limit.js +5 -20
- package/dist/middleware/security-headers.js +2 -18
- package/dist/middleware/validate.d.ts +2 -0
- package/dist/middleware/validate.d.ts.map +1 -1
- package/dist/middleware/validate.js +5 -21
- package/dist/middleware/wait-until.js +2 -18
- package/dist/operator-transport.js +13 -17
- package/dist/path-utils.d.ts.map +1 -1
- package/dist/path-utils.js +28 -34
- package/dist/queue-handler.d.ts.map +1 -1
- package/dist/queue-handler.js +19 -24
- package/dist/router.d.ts +5 -0
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +0 -16
- package/dist/schemas/index.js +75 -50
- package/dist/schemas/registry.d.ts.map +1 -1
- package/dist/schemas/registry.js +33 -21
- package/dist/schemas/validators.d.ts.map +1 -1
- package/dist/schemas/validators.js +41 -43
- package/dist/service-bindings.d.ts +4 -0
- package/dist/service-bindings.d.ts.map +1 -1
- package/dist/service-bindings.js +13 -29
- package/dist/session.d.ts +10 -3
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +111 -51
- package/dist/sse.d.ts.map +1 -1
- package/dist/sse.js +34 -24
- package/dist/stores/config-store.d.ts +2 -50
- package/dist/stores/config-store.d.ts.map +1 -1
- package/dist/stores/config-store.js +153 -156
- package/dist/stores/service-store.d.ts +2 -192
- package/dist/stores/service-store.d.ts.map +1 -1
- package/dist/stores/service-store.js +40 -35
- package/dist/stores/ui-store.d.ts +2 -48
- package/dist/stores/ui-store.d.ts.map +1 -1
- package/dist/stores/ui-store.js +0 -16
- package/dist/tenant.d.ts +62 -0
- package/dist/tenant.d.ts.map +1 -0
- package/dist/tenant.js +56 -0
- package/dist/test-utils.js +11 -27
- package/dist/types.d.ts +10 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +29 -24
- package/dist/wizard/engine.d.ts.map +1 -1
- package/dist/wizard/engine.js +33 -27
- package/dist/wizard/index.d.ts +1 -0
- package/dist/wizard/index.d.ts.map +1 -1
- package/dist/wizard/index.js +48 -39
- package/dist/wizard/persistence.d.ts +4 -0
- package/dist/wizard/persistence.d.ts.map +1 -1
- package/dist/wizard/persistence.js +7 -19
- package/dist/wizard/presets.d.ts.map +1 -1
- package/dist/wizard/presets.js +13 -25
- package/dist/wizard/types.d.ts +6 -0
- package/dist/wizard/types.d.ts.map +1 -1
- package/dist/wizard/types.js +5 -0
- package/package.json +7 -2
package/dist/kill-switch.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __returnValue = (v) => v;
|
|
4
|
-
function __exportSetter(name, newValue) {
|
|
5
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
6
|
-
}
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, {
|
|
10
|
-
get: all[name],
|
|
11
|
-
enumerable: true,
|
|
12
|
-
configurable: true,
|
|
13
|
-
set: __exportSetter.bind(all, name)
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
17
|
-
|
|
18
2
|
// src/kvKeys.ts
|
|
19
3
|
var KV_TRADE_DEFAULT_LEVERAGE = "trade:default_leverage";
|
|
20
4
|
var KV_TRADE_MAX_POSITION_SIZE = "trade:max_position_size";
|
|
@@ -26,6 +10,10 @@ var KV_BOT_ENABLED = "bot:enabled";
|
|
|
26
10
|
var KV_BOT_DEFAULT_CHAT_ID = "bot:default_chat_id";
|
|
27
11
|
var KV_BOT_NOTIFY_ON_EXECUTION = "bot:notify_on_execution";
|
|
28
12
|
var KV_BOT_NOTIFY_ON_ERROR = "bot:notify_on_error";
|
|
13
|
+
var KV_BOT_NOTIFY_ON_STARTUP = "bot:notify_on_startup";
|
|
14
|
+
var KV_BOT_AI_SUMMARIES_ENABLED = "bot:ai_summaries_enabled";
|
|
15
|
+
var KV_BOT_SUMMARY_STYLE = "bot:summary_style";
|
|
16
|
+
var KV_BOT_INCLUDE_PNL = "bot:include_pnl";
|
|
29
17
|
var KV_TELEGRAM_ALLOWED_CHAT_IDS = "telegram:allowed_chat_ids";
|
|
30
18
|
var KV_WEBHOOK_IP_CHECK_ENABLED = "webhook:tradingview:ip_check_enabled";
|
|
31
19
|
var KV_WEBHOOK_ALLOWED_IPS = "webhook:tradingview:allowed_ips";
|
|
@@ -57,6 +45,10 @@ var KVKeys = {
|
|
|
57
45
|
KV_BOT_DEFAULT_CHAT_ID,
|
|
58
46
|
KV_BOT_NOTIFY_ON_EXECUTION,
|
|
59
47
|
KV_BOT_NOTIFY_ON_ERROR,
|
|
48
|
+
KV_BOT_NOTIFY_ON_STARTUP,
|
|
49
|
+
KV_BOT_AI_SUMMARIES_ENABLED,
|
|
50
|
+
KV_BOT_SUMMARY_STYLE,
|
|
51
|
+
KV_BOT_INCLUDE_PNL,
|
|
60
52
|
KV_TELEGRAM_ALLOWED_CHAT_IDS,
|
|
61
53
|
KV_WEBHOOK_IP_CHECK_ENABLED,
|
|
62
54
|
KV_WEBHOOK_ALLOWED_IPS,
|
|
@@ -124,9 +116,9 @@ async function isTradingPaused(kv, options) {
|
|
|
124
116
|
return result.enabled;
|
|
125
117
|
}
|
|
126
118
|
export {
|
|
127
|
-
|
|
128
|
-
isTradingPaused,
|
|
129
|
-
checkKillSwitch,
|
|
119
|
+
KILL_SWITCH_ACTIVE_PREFIX,
|
|
130
120
|
KILL_SWITCH_KEYS,
|
|
131
|
-
|
|
121
|
+
checkKillSwitch,
|
|
122
|
+
isTradingPaused,
|
|
123
|
+
isTruthyKillSwitchFlag
|
|
132
124
|
};
|
package/dist/kvKeys.d.ts
CHANGED
|
@@ -25,6 +25,10 @@ export declare const KV_BOT_ENABLED = "bot:enabled";
|
|
|
25
25
|
export declare const KV_BOT_DEFAULT_CHAT_ID = "bot:default_chat_id";
|
|
26
26
|
export declare const KV_BOT_NOTIFY_ON_EXECUTION = "bot:notify_on_execution";
|
|
27
27
|
export declare const KV_BOT_NOTIFY_ON_ERROR = "bot:notify_on_error";
|
|
28
|
+
export declare const KV_BOT_NOTIFY_ON_STARTUP = "bot:notify_on_startup";
|
|
29
|
+
export declare const KV_BOT_AI_SUMMARIES_ENABLED = "bot:ai_summaries_enabled";
|
|
30
|
+
export declare const KV_BOT_SUMMARY_STYLE = "bot:summary_style";
|
|
31
|
+
export declare const KV_BOT_INCLUDE_PNL = "bot:include_pnl";
|
|
28
32
|
/** JSON array of string|number — gateway notify chatId allowlist (fail-closed). */
|
|
29
33
|
export declare const KV_TELEGRAM_ALLOWED_CHAT_IDS = "telegram:allowed_chat_ids";
|
|
30
34
|
export declare const KV_WEBHOOK_IP_CHECK_ENABLED = "webhook:tradingview:ip_check_enabled";
|
|
@@ -57,6 +61,10 @@ export declare const KVKeys: {
|
|
|
57
61
|
KV_BOT_DEFAULT_CHAT_ID: string;
|
|
58
62
|
KV_BOT_NOTIFY_ON_EXECUTION: string;
|
|
59
63
|
KV_BOT_NOTIFY_ON_ERROR: string;
|
|
64
|
+
KV_BOT_NOTIFY_ON_STARTUP: string;
|
|
65
|
+
KV_BOT_AI_SUMMARIES_ENABLED: string;
|
|
66
|
+
KV_BOT_SUMMARY_STYLE: string;
|
|
67
|
+
KV_BOT_INCLUDE_PNL: string;
|
|
60
68
|
KV_TELEGRAM_ALLOWED_CHAT_IDS: string;
|
|
61
69
|
KV_WEBHOOK_IP_CHECK_ENABLED: string;
|
|
62
70
|
KV_WEBHOOK_ALLOWED_IPS: string;
|
package/dist/kvKeys.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kvKeys.d.ts","sourceRoot":"","sources":["../src/kvKeys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAGH,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AACpE,eAAO,MAAM,mCAAmC,qCACZ,CAAC;AACrC,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAC5E,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAGhD,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AACpE,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,mFAAmF;AACnF,eAAO,MAAM,4BAA4B,8BAA8B,CAAC;AAGxE,eAAO,MAAM,2BAA2B,yCACA,CAAC;AACzC,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AACxE,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAG1D,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAC9D,eAAO,MAAM,4BAA4B,8BAA8B,CAAC;AAGxE,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAGtD,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAG5E,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AAGpE,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AACxD,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAKpD,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"kvKeys.d.ts","sourceRoot":"","sources":["../src/kvKeys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAGH,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AACpE,eAAO,MAAM,mCAAmC,qCACZ,CAAC;AACrC,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAC5E,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAGhD,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AACpE,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,2BAA2B,6BAA6B,CAAC;AACtE,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AACpD,mFAAmF;AACnF,eAAO,MAAM,4BAA4B,8BAA8B,CAAC;AAGxE,eAAO,MAAM,2BAA2B,yCACA,CAAC;AACzC,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AACxE,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAG1D,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAC9D,eAAO,MAAM,4BAA4B,8BAA8B,CAAC;AAGxE,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAGtD,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAG5E,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AAGpE,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AACxD,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAKpD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmClB,CAAC"}
|
package/dist/kvKeys.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __returnValue = (v) => v;
|
|
4
|
-
function __exportSetter(name, newValue) {
|
|
5
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
6
|
-
}
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, {
|
|
10
|
-
get: all[name],
|
|
11
|
-
enumerable: true,
|
|
12
|
-
configurable: true,
|
|
13
|
-
set: __exportSetter.bind(all, name)
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
17
|
-
|
|
18
2
|
// src/kvKeys.ts
|
|
19
3
|
var KV_TRADE_DEFAULT_LEVERAGE = "trade:default_leverage";
|
|
20
4
|
var KV_TRADE_MAX_POSITION_SIZE = "trade:max_position_size";
|
|
@@ -26,6 +10,10 @@ var KV_BOT_ENABLED = "bot:enabled";
|
|
|
26
10
|
var KV_BOT_DEFAULT_CHAT_ID = "bot:default_chat_id";
|
|
27
11
|
var KV_BOT_NOTIFY_ON_EXECUTION = "bot:notify_on_execution";
|
|
28
12
|
var KV_BOT_NOTIFY_ON_ERROR = "bot:notify_on_error";
|
|
13
|
+
var KV_BOT_NOTIFY_ON_STARTUP = "bot:notify_on_startup";
|
|
14
|
+
var KV_BOT_AI_SUMMARIES_ENABLED = "bot:ai_summaries_enabled";
|
|
15
|
+
var KV_BOT_SUMMARY_STYLE = "bot:summary_style";
|
|
16
|
+
var KV_BOT_INCLUDE_PNL = "bot:include_pnl";
|
|
29
17
|
var KV_TELEGRAM_ALLOWED_CHAT_IDS = "telegram:allowed_chat_ids";
|
|
30
18
|
var KV_WEBHOOK_IP_CHECK_ENABLED = "webhook:tradingview:ip_check_enabled";
|
|
31
19
|
var KV_WEBHOOK_ALLOWED_IPS = "webhook:tradingview:allowed_ips";
|
|
@@ -57,6 +45,10 @@ var KVKeys = {
|
|
|
57
45
|
KV_BOT_DEFAULT_CHAT_ID,
|
|
58
46
|
KV_BOT_NOTIFY_ON_EXECUTION,
|
|
59
47
|
KV_BOT_NOTIFY_ON_ERROR,
|
|
48
|
+
KV_BOT_NOTIFY_ON_STARTUP,
|
|
49
|
+
KV_BOT_AI_SUMMARIES_ENABLED,
|
|
50
|
+
KV_BOT_SUMMARY_STYLE,
|
|
51
|
+
KV_BOT_INCLUDE_PNL,
|
|
60
52
|
KV_TELEGRAM_ALLOWED_CHAT_IDS,
|
|
61
53
|
KV_WEBHOOK_IP_CHECK_ENABLED,
|
|
62
54
|
KV_WEBHOOK_ALLOWED_IPS,
|
|
@@ -79,35 +71,39 @@ var KVKeys = {
|
|
|
79
71
|
QUEUE_MODE_DISABLED
|
|
80
72
|
};
|
|
81
73
|
export {
|
|
82
|
-
|
|
83
|
-
QUEUE_MODE_EVERYWHERE,
|
|
84
|
-
QUEUE_MODE_DISABLED,
|
|
85
|
-
KV_WEBHOOK_QUEUE_MODE,
|
|
86
|
-
KV_WEBHOOK_IP_CHECK_ENABLED,
|
|
87
|
-
KV_WEBHOOK_ALLOWED_IPS,
|
|
88
|
-
KV_TRADE_TRAILING_STOP_PERCENT,
|
|
89
|
-
KV_TRADE_ROUTING,
|
|
90
|
-
KV_TRADE_MAX_POSITION_SIZE,
|
|
91
|
-
KV_TRADE_MAX_DAILY_DRAWDOWN_PERCENT,
|
|
92
|
-
KV_TRADE_KILL_SWITCH,
|
|
93
|
-
KV_TRADE_DEFAULT_LEVERAGE,
|
|
94
|
-
KV_TELEGRAM_ALLOWED_CHAT_IDS,
|
|
95
|
-
KV_HOUSEKEEPING_LAST_CHECK,
|
|
96
|
-
KV_HEALTH_CHECK,
|
|
97
|
-
KV_GLOBAL_KILL_SWITCH,
|
|
98
|
-
KV_EMAIL_USE_IMAP,
|
|
99
|
-
KV_EMAIL_SCAN_SUBJECT,
|
|
100
|
-
KV_EMAIL_QUANTITY_MULTIPLIER,
|
|
101
|
-
KV_EMAIL_COIN_PATTERN,
|
|
102
|
-
KV_EMAIL_ACTION_PATTERN,
|
|
103
|
-
KV_DASHBOARD_AI_HEALTH_SUMMARY,
|
|
104
|
-
KV_BOT_NOTIFY_ON_EXECUTION,
|
|
105
|
-
KV_BOT_NOTIFY_ON_ERROR,
|
|
106
|
-
KV_BOT_ENABLED,
|
|
107
|
-
KV_BOT_DEFAULT_CHAT_ID,
|
|
108
|
-
KV_AGENT_OPENAI_KEY,
|
|
109
|
-
KV_AGENT_GOOGLE_KEY,
|
|
110
|
-
KV_AGENT_CONFIG,
|
|
74
|
+
KVKeys,
|
|
111
75
|
KV_AGENT_ANTHROPIC_KEY,
|
|
112
|
-
|
|
76
|
+
KV_AGENT_CONFIG,
|
|
77
|
+
KV_AGENT_GOOGLE_KEY,
|
|
78
|
+
KV_AGENT_OPENAI_KEY,
|
|
79
|
+
KV_BOT_AI_SUMMARIES_ENABLED,
|
|
80
|
+
KV_BOT_DEFAULT_CHAT_ID,
|
|
81
|
+
KV_BOT_ENABLED,
|
|
82
|
+
KV_BOT_INCLUDE_PNL,
|
|
83
|
+
KV_BOT_NOTIFY_ON_ERROR,
|
|
84
|
+
KV_BOT_NOTIFY_ON_EXECUTION,
|
|
85
|
+
KV_BOT_NOTIFY_ON_STARTUP,
|
|
86
|
+
KV_BOT_SUMMARY_STYLE,
|
|
87
|
+
KV_DASHBOARD_AI_HEALTH_SUMMARY,
|
|
88
|
+
KV_EMAIL_ACTION_PATTERN,
|
|
89
|
+
KV_EMAIL_COIN_PATTERN,
|
|
90
|
+
KV_EMAIL_QUANTITY_MULTIPLIER,
|
|
91
|
+
KV_EMAIL_SCAN_SUBJECT,
|
|
92
|
+
KV_EMAIL_USE_IMAP,
|
|
93
|
+
KV_GLOBAL_KILL_SWITCH,
|
|
94
|
+
KV_HEALTH_CHECK,
|
|
95
|
+
KV_HOUSEKEEPING_LAST_CHECK,
|
|
96
|
+
KV_TELEGRAM_ALLOWED_CHAT_IDS,
|
|
97
|
+
KV_TRADE_DEFAULT_LEVERAGE,
|
|
98
|
+
KV_TRADE_KILL_SWITCH,
|
|
99
|
+
KV_TRADE_MAX_DAILY_DRAWDOWN_PERCENT,
|
|
100
|
+
KV_TRADE_MAX_POSITION_SIZE,
|
|
101
|
+
KV_TRADE_ROUTING,
|
|
102
|
+
KV_TRADE_TRAILING_STOP_PERCENT,
|
|
103
|
+
KV_WEBHOOK_ALLOWED_IPS,
|
|
104
|
+
KV_WEBHOOK_IP_CHECK_ENABLED,
|
|
105
|
+
KV_WEBHOOK_QUEUE_MODE,
|
|
106
|
+
QUEUE_MODE_DISABLED,
|
|
107
|
+
QUEUE_MODE_EVERYWHERE,
|
|
108
|
+
QUEUE_MODE_FAILOVER
|
|
113
109
|
};
|
package/dist/kvUtils.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __returnValue = (v) => v;
|
|
4
|
-
function __exportSetter(name, newValue) {
|
|
5
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
6
|
-
}
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, {
|
|
10
|
-
get: all[name],
|
|
11
|
-
enumerable: true,
|
|
12
|
-
configurable: true,
|
|
13
|
-
set: __exportSetter.bind(all, name)
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
17
|
-
|
|
18
2
|
// src/errors.ts
|
|
19
3
|
function toError(err, fallback = "Unknown error") {
|
|
20
4
|
if (err instanceof Error)
|
|
@@ -72,14 +56,14 @@ function sanitizeOutput(data) {
|
|
|
72
56
|
const obj = data;
|
|
73
57
|
const keys = Object.keys(obj);
|
|
74
58
|
if (keys.length < 10) {
|
|
75
|
-
const
|
|
59
|
+
const sanitized = {};
|
|
76
60
|
for (const k of keys) {
|
|
77
61
|
if (k === "stack" || k === "cause")
|
|
78
62
|
continue;
|
|
79
63
|
const v = obj[k];
|
|
80
|
-
|
|
64
|
+
sanitized[k] = v instanceof Error ? { name: v.name, message: v.message } : sanitizeOutput(v);
|
|
81
65
|
}
|
|
82
|
-
return
|
|
66
|
+
return sanitized;
|
|
83
67
|
}
|
|
84
68
|
if (!hasSensitiveFields(obj) && !hasErrorValues(obj)) {
|
|
85
69
|
return obj;
|
|
@@ -214,10 +198,10 @@ function headersToObject(headers) {
|
|
|
214
198
|
return result;
|
|
215
199
|
}
|
|
216
200
|
export {
|
|
217
|
-
|
|
218
|
-
kvPutMany,
|
|
219
|
-
kvGetManyAsRecord,
|
|
220
|
-
kvGetMany,
|
|
201
|
+
KV_BULK_GET_MAX_KEYS,
|
|
221
202
|
headersToObject,
|
|
222
|
-
|
|
203
|
+
kvGetMany,
|
|
204
|
+
kvGetManyAsRecord,
|
|
205
|
+
kvPutMany,
|
|
206
|
+
logKvTimestamp
|
|
223
207
|
};
|
package/dist/legal.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __returnValue = (v) => v;
|
|
4
|
-
function __exportSetter(name, newValue) {
|
|
5
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
6
|
-
}
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, {
|
|
10
|
-
get: all[name],
|
|
11
|
-
enumerable: true,
|
|
12
|
-
configurable: true,
|
|
13
|
-
set: __exportSetter.bind(all, name)
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
17
|
-
|
|
18
2
|
// src/legal.ts
|
|
19
3
|
var COPYRIGHT = `Copyright (C) ${new Date().getFullYear()} Hoox Team. All rights reserved.`;
|
|
20
4
|
var TRADEMARKS = [
|
|
@@ -31,10 +15,10 @@ ${TRADEMARK_NOTICE}
|
|
|
31
15
|
${DISCLAIMER}`;
|
|
32
16
|
var DISCLAIMER_HEADER = "X-Disclaimer";
|
|
33
17
|
export {
|
|
34
|
-
|
|
35
|
-
TRADEMARKS,
|
|
36
|
-
FULL_LEGAL_NOTICE,
|
|
37
|
-
DISCLAIMER_HEADER,
|
|
18
|
+
COPYRIGHT,
|
|
38
19
|
DISCLAIMER,
|
|
39
|
-
|
|
20
|
+
DISCLAIMER_HEADER,
|
|
21
|
+
FULL_LEGAL_NOTICE,
|
|
22
|
+
TRADEMARKS,
|
|
23
|
+
TRADEMARK_NOTICE
|
|
40
24
|
};
|
|
@@ -21,6 +21,15 @@ import type { MiddlewareHandler } from "../types/router";
|
|
|
21
21
|
* we pad both encodings to the same max length before XOR comparison.
|
|
22
22
|
*/
|
|
23
23
|
export declare function timingSafeEqual(a: string, b: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Web Crypto constant-time string comparison (Cloudflare recommended).
|
|
26
|
+
*
|
|
27
|
+
* Hashes both inputs with SHA-256 so lengths never leak, then compares
|
|
28
|
+
* equal-length digests via `crypto.subtle.timingSafeEqual`.
|
|
29
|
+
*
|
|
30
|
+
* Falls back to the synchronous XOR implementation if subtle crypto is
|
|
31
|
+
* unavailable (e.g. very constrained test harnesses).
|
|
32
|
+
*/
|
|
24
33
|
export declare function timingSafeEqualAsync(a: string, b: string): Promise<boolean>;
|
|
25
34
|
/**
|
|
26
35
|
* Environment bindings accepted for operator Bearer auth.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAe7D;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAe7D;AAUD;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,OAAO,CAAC,CAelB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,GAAG,GAAG,GACzB,MAAM,GAAG,SAAS,CAUpB;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,GAAG,eAAe,GACzB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAE1B;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,eAAe,GAAG,GAAG,GACzB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyB1B;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,iBAAiB,CAAC,eAAe,CAAC,CAUjF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAS7D,6FAA6F;AAC7F,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,mBAAmB,GAC5B,MAAM,EAAE,CASV;AAiCD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,eAAe,EACpB,OAAO,GAAE,mBAA4C,GACpD,QAAQ,GAAG,IAAI,CAcjB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,mBAA4C,GACpD,iBAAiB,CAAC,eAAe,CAAC,CAoBpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,eAAe,EACpB,OAAO,GAAE,mBAA4C,GACpD;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAezC"}
|
package/dist/middleware/auth.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __returnValue = (v) => v;
|
|
4
|
-
function __exportSetter(name, newValue) {
|
|
5
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
6
|
-
}
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, {
|
|
10
|
-
get: all[name],
|
|
11
|
-
enumerable: true,
|
|
12
|
-
configurable: true,
|
|
13
|
-
set: __exportSetter.bind(all, name)
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
17
|
-
|
|
18
2
|
// src/middleware/auth.ts
|
|
19
3
|
function timingSafeEqual(a, b) {
|
|
20
4
|
const encoder = new TextEncoder;
|
|
@@ -152,14 +136,14 @@ function checkInternalAuth(request, env, keyName = "INTERNAL_KEY_BINDING") {
|
|
|
152
136
|
return { authorized: true };
|
|
153
137
|
}
|
|
154
138
|
export {
|
|
155
|
-
|
|
156
|
-
timingSafeEqual,
|
|
157
|
-
resolveOperatorApiKey,
|
|
158
|
-
requireOperatorAuth,
|
|
159
|
-
requireInternalAuth,
|
|
160
|
-
requireAuth,
|
|
161
|
-
createOperatorAuthMiddleware,
|
|
162
|
-
createInternalAuthMiddleware,
|
|
139
|
+
checkInternalAuth,
|
|
163
140
|
collectInternalAuthKeys,
|
|
164
|
-
|
|
141
|
+
createInternalAuthMiddleware,
|
|
142
|
+
createOperatorAuthMiddleware,
|
|
143
|
+
requireAuth,
|
|
144
|
+
requireInternalAuth,
|
|
145
|
+
requireOperatorAuth,
|
|
146
|
+
resolveOperatorApiKey,
|
|
147
|
+
timingSafeEqual,
|
|
148
|
+
timingSafeEqualAsync
|
|
165
149
|
};
|
package/dist/middleware/cors.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __returnValue = (v) => v;
|
|
4
|
-
function __exportSetter(name, newValue) {
|
|
5
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
6
|
-
}
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, {
|
|
10
|
-
get: all[name],
|
|
11
|
-
enumerable: true,
|
|
12
|
-
configurable: true,
|
|
13
|
-
set: __exportSetter.bind(all, name)
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
17
|
-
|
|
18
2
|
// src/middleware/cors.ts
|
|
19
3
|
var DEFAULT_OPTIONS = {
|
|
20
4
|
allowOrigin: "",
|
|
@@ -69,9 +53,9 @@ function handleCorsPreflightRequest(request, options) {
|
|
|
69
53
|
});
|
|
70
54
|
}
|
|
71
55
|
export {
|
|
72
|
-
|
|
73
|
-
publicCorsHeaders,
|
|
74
|
-
internalCorsHeaders,
|
|
56
|
+
corsHeaders,
|
|
75
57
|
handleCorsPreflightRequest,
|
|
76
|
-
|
|
58
|
+
internalCorsHeaders,
|
|
59
|
+
publicCorsHeaders,
|
|
60
|
+
resolveCorsOptions
|
|
77
61
|
};
|