@hoox-sh/hoox-shared 1.3.0 → 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/README.md +6 -0
- package/dist/agent-config-fields.js +23 -29
- package/dist/analytics.d.ts +3 -4
- package/dist/analytics.d.ts.map +1 -1
- package/dist/analytics.js +56 -16
- package/dist/api-client.js +12 -21
- package/dist/colors.js +5 -21
- package/dist/config.js +11 -27
- package/dist/cron-handler.js +0 -16
- package/dist/d1/index.js +12 -27
- package/dist/d1/repository.js +7 -21
- 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.map +1 -1
- package/dist/errors.js +11 -25
- package/dist/exchange-client.js +2 -18
- package/dist/exchanges/base-exchange-client.js +0 -16
- package/dist/exchanges/index.js +0 -16
- package/dist/format-time.js +2 -18
- package/dist/formatters.js +12 -28
- package/dist/health.js +7 -21
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3895 -3653
- package/dist/kill-switch.js +14 -20
- package/dist/kvKeys.d.ts +11 -0
- package/dist/kvKeys.d.ts.map +1 -1
- package/dist/kvKeys.js +44 -45
- package/dist/kvUtils.d.ts +34 -1
- package/dist/kvUtils.d.ts.map +1 -1
- package/dist/kvUtils.js +60 -23
- package/dist/legal.js +5 -21
- package/dist/middleware/auth.d.ts +6 -3
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +27 -29
- package/dist/middleware/cors.js +4 -20
- package/dist/middleware/index.d.ts +3 -2
- package/dist/middleware/index.d.ts.map +1 -1
- package/dist/middleware/index.js +222 -164
- package/dist/middleware/logger.js +13 -27
- package/dist/middleware/rate-limit.js +2 -18
- package/dist/middleware/security-headers.js +2 -18
- package/dist/middleware/validate.d.ts +16 -0
- package/dist/middleware/validate.d.ts.map +1 -1
- package/dist/middleware/validate.js +39 -19
- package/dist/middleware/wait-until.d.ts +32 -0
- package/dist/middleware/wait-until.d.ts.map +1 -0
- package/dist/middleware/wait-until.js +30 -0
- package/dist/operator-transport.js +13 -17
- package/dist/path-utils.js +15 -31
- package/dist/queue-handler.d.ts +6 -0
- package/dist/queue-handler.d.ts.map +1 -1
- package/dist/queue-handler.js +51 -36
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +12 -18
- package/dist/schemas/index.d.ts +2 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +91 -38
- package/dist/schemas/registry.d.ts +13 -0
- package/dist/schemas/registry.d.ts.map +1 -1
- package/dist/schemas/registry.js +82 -30
- package/dist/schemas/types.d.ts +5 -0
- package/dist/schemas/types.d.ts.map +1 -1
- package/dist/schemas/validators.d.ts.map +1 -1
- package/dist/schemas/validators.js +8 -22
- package/dist/service-bindings.js +31 -34
- package/dist/session.js +2 -18
- package/dist/sse.js +10 -18
- package/dist/stores/config-store.js +8 -22
- package/dist/stores/service-store.js +17 -30
- package/dist/stores/ui-store.js +0 -16
- package/dist/tenant.d.ts +61 -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 +26 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +16 -26
- package/dist/wizard/engine.d.ts.map +1 -1
- package/dist/wizard/engine.js +39 -56
- package/dist/wizard/index.d.ts +1 -0
- package/dist/wizard/index.d.ts.map +1 -1
- package/dist/wizard/index.js +54 -68
- 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 +16 -54
- 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/schemas/index.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/schemas/registry.ts
|
|
19
3
|
function deriveCalledBy(manifests) {
|
|
20
4
|
const calledBy = {};
|
|
@@ -22,9 +6,12 @@ function deriveCalledBy(manifests) {
|
|
|
22
6
|
if (!calledBy[workerName])
|
|
23
7
|
calledBy[workerName] = new Set;
|
|
24
8
|
for (const svc of manifest.services) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
9
|
+
let callers = calledBy[svc.service];
|
|
10
|
+
if (!callers) {
|
|
11
|
+
callers = new Set;
|
|
12
|
+
calledBy[svc.service] = callers;
|
|
13
|
+
}
|
|
14
|
+
callers.add(workerName);
|
|
28
15
|
}
|
|
29
16
|
}
|
|
30
17
|
const result = {};
|
|
@@ -37,6 +24,7 @@ var manifests = {
|
|
|
37
24
|
hoox: {
|
|
38
25
|
name: "hoox",
|
|
39
26
|
path: "workers/hoox-worker",
|
|
27
|
+
defaultEnabled: true,
|
|
40
28
|
vars: {
|
|
41
29
|
WEBHOOK_API_KEY_BINDING: {
|
|
42
30
|
type: "secret",
|
|
@@ -46,7 +34,11 @@ var manifests = {
|
|
|
46
34
|
type: "secret",
|
|
47
35
|
description: "Inter-worker auth key"
|
|
48
36
|
},
|
|
49
|
-
HA_TOKEN_BINDING: { type: "secret", description: "Home Assistant token" }
|
|
37
|
+
HA_TOKEN_BINDING: { type: "secret", description: "Home Assistant token" },
|
|
38
|
+
TELEGRAM_ALLOWED_CHAT_IDS: {
|
|
39
|
+
type: "secret",
|
|
40
|
+
description: "Comma-separated chat IDs for webhook notify (fail-closed when unset); alias AUTHORIZED_CHAT_IDS"
|
|
41
|
+
}
|
|
50
42
|
},
|
|
51
43
|
services: [
|
|
52
44
|
{
|
|
@@ -72,7 +64,8 @@ var manifests = {
|
|
|
72
64
|
ai: true,
|
|
73
65
|
queues: { producer: ["trade-execution"] },
|
|
74
66
|
durableObjects: [
|
|
75
|
-
{ name: "IDEMPOTENCY_STORE", className: "IdempotencyStore" }
|
|
67
|
+
{ name: "IDEMPOTENCY_STORE", className: "IdempotencyStore" },
|
|
68
|
+
{ name: "RATE_LIMITER", className: "RateLimiterStore" }
|
|
76
69
|
]
|
|
77
70
|
},
|
|
78
71
|
middleware: [
|
|
@@ -87,6 +80,7 @@ var manifests = {
|
|
|
87
80
|
"trade-worker": {
|
|
88
81
|
name: "trade-worker",
|
|
89
82
|
path: "workers/trade-worker",
|
|
83
|
+
defaultEnabled: true,
|
|
90
84
|
vars: {
|
|
91
85
|
INTERNAL_KEY_BINDING: {
|
|
92
86
|
type: "secret",
|
|
@@ -96,15 +90,26 @@ var manifests = {
|
|
|
96
90
|
type: "secret",
|
|
97
91
|
description: "Telegram outbound auth"
|
|
98
92
|
},
|
|
99
|
-
|
|
100
|
-
BINANCE_SECRET_BINDING: {
|
|
93
|
+
EXCHANGE_KEY_BINDING: {
|
|
101
94
|
type: "secret",
|
|
102
|
-
description: "
|
|
95
|
+
description: "Unified exchange API key (Binance / Bybit / MEXC)"
|
|
103
96
|
},
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
97
|
+
EXCHANGE_SECRET_BINDING: {
|
|
98
|
+
type: "secret",
|
|
99
|
+
description: "Unified exchange API secret"
|
|
100
|
+
},
|
|
101
|
+
EXCHANGE_TESTNET_KEY_BINDING: {
|
|
102
|
+
type: "secret",
|
|
103
|
+
description: "Optional unified testnet API key"
|
|
104
|
+
},
|
|
105
|
+
EXCHANGE_TESTNET_SECRET_BINDING: {
|
|
106
|
+
type: "secret",
|
|
107
|
+
description: "Optional unified testnet API secret"
|
|
108
|
+
},
|
|
109
|
+
WALLET_EXECUTE_KEY_BINDING: {
|
|
110
|
+
type: "secret",
|
|
111
|
+
description: "Mesh key for DEX swaps via web3-wallet-worker"
|
|
112
|
+
}
|
|
108
113
|
},
|
|
109
114
|
services: [
|
|
110
115
|
{
|
|
@@ -116,6 +121,11 @@ var manifests = {
|
|
|
116
121
|
binding: "TELEGRAM_SERVICE",
|
|
117
122
|
service: "telegram-worker",
|
|
118
123
|
description: "Notifications"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
binding: "WEB3_WALLET_SERVICE",
|
|
127
|
+
service: "web3-wallet-worker",
|
|
128
|
+
description: "DEX spot swaps (Uniswap / Jupiter)"
|
|
119
129
|
}
|
|
120
130
|
],
|
|
121
131
|
infrastructure: {
|
|
@@ -146,6 +156,7 @@ var manifests = {
|
|
|
146
156
|
"telegram-worker": {
|
|
147
157
|
name: "telegram-worker",
|
|
148
158
|
path: "workers/telegram-worker",
|
|
159
|
+
defaultEnabled: true,
|
|
149
160
|
vars: {
|
|
150
161
|
INTERNAL_KEY_BINDING: {
|
|
151
162
|
type: "secret",
|
|
@@ -159,6 +170,10 @@ var manifests = {
|
|
|
159
170
|
TELEGRAM_SECRET_TOKEN: {
|
|
160
171
|
type: "secret",
|
|
161
172
|
description: "Webhook verification token"
|
|
173
|
+
},
|
|
174
|
+
AUTHORIZED_CHAT_IDS: {
|
|
175
|
+
type: "secret",
|
|
176
|
+
description: "Comma-separated chat IDs; inbound webhook fail-closed when unset; outbound /alert allowlist"
|
|
162
177
|
}
|
|
163
178
|
},
|
|
164
179
|
services: [],
|
|
@@ -179,6 +194,7 @@ var manifests = {
|
|
|
179
194
|
"d1-worker": {
|
|
180
195
|
name: "d1-worker",
|
|
181
196
|
path: "workers/d1-worker",
|
|
197
|
+
defaultEnabled: true,
|
|
182
198
|
vars: {
|
|
183
199
|
INTERNAL_KEY_BINDING: {
|
|
184
200
|
type: "secret",
|
|
@@ -201,11 +217,28 @@ var manifests = {
|
|
|
201
217
|
"web3-wallet-worker": {
|
|
202
218
|
name: "web3-wallet-worker",
|
|
203
219
|
path: "workers/web3-wallet-worker",
|
|
220
|
+
defaultEnabled: false,
|
|
204
221
|
vars: {
|
|
205
222
|
WALLET_PK_SECRET: { type: "secret", description: "Wallet private key" },
|
|
206
223
|
WALLET_MNEMONIC_SECRET: {
|
|
207
224
|
type: "secret",
|
|
208
225
|
description: "Wallet mnemonic phrase"
|
|
226
|
+
},
|
|
227
|
+
WALLET_EXECUTE_KEY_BINDING: {
|
|
228
|
+
type: "secret",
|
|
229
|
+
description: "Mesh key for privileged wallet routes"
|
|
230
|
+
},
|
|
231
|
+
SOLANA_PRIVATE_KEY: {
|
|
232
|
+
type: "secret",
|
|
233
|
+
description: "Solana signing key (base58 seed or Phantom export)"
|
|
234
|
+
},
|
|
235
|
+
JUPITER_API_KEY: {
|
|
236
|
+
type: "secret",
|
|
237
|
+
description: "Jupiter Swap V2 API key"
|
|
238
|
+
},
|
|
239
|
+
RPC_URL_SOLANA: {
|
|
240
|
+
type: "plaintext",
|
|
241
|
+
description: "Solana JSON-RPC URL"
|
|
209
242
|
}
|
|
210
243
|
},
|
|
211
244
|
services: [
|
|
@@ -221,6 +254,7 @@ var manifests = {
|
|
|
221
254
|
"agent-worker": {
|
|
222
255
|
name: "agent-worker",
|
|
223
256
|
path: "workers/agent-worker",
|
|
257
|
+
defaultEnabled: true,
|
|
224
258
|
vars: {
|
|
225
259
|
AGENT_INTERNAL_KEY: { type: "secret", description: "Agent worker auth" },
|
|
226
260
|
INTERNAL_KEY_BINDING: {
|
|
@@ -257,6 +291,7 @@ var manifests = {
|
|
|
257
291
|
"email-worker": {
|
|
258
292
|
name: "email-worker",
|
|
259
293
|
path: "workers/email-worker",
|
|
294
|
+
defaultEnabled: false,
|
|
260
295
|
vars: {
|
|
261
296
|
INTERNAL_KEY_BINDING: {
|
|
262
297
|
type: "secret",
|
|
@@ -294,6 +329,7 @@ var manifests = {
|
|
|
294
329
|
"analytics-worker": {
|
|
295
330
|
name: "analytics-worker",
|
|
296
331
|
path: "workers/analytics-worker",
|
|
332
|
+
defaultEnabled: true,
|
|
297
333
|
vars: {
|
|
298
334
|
CLOUDFLARE_API_TOKEN: {
|
|
299
335
|
type: "secret",
|
|
@@ -313,6 +349,7 @@ var manifests = {
|
|
|
313
349
|
"report-worker": {
|
|
314
350
|
name: "report-worker",
|
|
315
351
|
path: "workers/report-worker",
|
|
352
|
+
defaultEnabled: false,
|
|
316
353
|
vars: {
|
|
317
354
|
CF_API_TOKEN_BINDING: {
|
|
318
355
|
type: "secret",
|
|
@@ -347,6 +384,7 @@ var manifests = {
|
|
|
347
384
|
"pyne-worker": {
|
|
348
385
|
name: "pyne-worker",
|
|
349
386
|
path: "workers/pyne-worker",
|
|
387
|
+
defaultEnabled: true,
|
|
350
388
|
vars: {
|
|
351
389
|
API_KEY: {
|
|
352
390
|
type: "secret",
|
|
@@ -384,6 +422,7 @@ var manifests = {
|
|
|
384
422
|
dashboard: {
|
|
385
423
|
name: "dashboard",
|
|
386
424
|
path: "workers/dashboard",
|
|
425
|
+
defaultEnabled: true,
|
|
387
426
|
vars: {
|
|
388
427
|
DASHBOARD_USER: {
|
|
389
428
|
type: "secret",
|
|
@@ -426,7 +465,17 @@ var manifests = {
|
|
|
426
465
|
var CALLED_BY = deriveCalledBy(manifests);
|
|
427
466
|
var WORKER_MANIFESTS = manifests;
|
|
428
467
|
var WORKER_NAMES = Object.keys(manifests).sort();
|
|
429
|
-
|
|
468
|
+
var WORKER_CATALOG = WORKER_NAMES.map((name) => {
|
|
469
|
+
const m = manifests[name];
|
|
470
|
+
return {
|
|
471
|
+
name: m.name,
|
|
472
|
+
path: m.path,
|
|
473
|
+
defaultEnabled: m.defaultEnabled
|
|
474
|
+
};
|
|
475
|
+
});
|
|
476
|
+
function getWorkerDefaultEnabled(name) {
|
|
477
|
+
return manifests[name]?.defaultEnabled;
|
|
478
|
+
}
|
|
430
479
|
// src/schemas/validators.ts
|
|
431
480
|
import { parse } from "jsonc-parser";
|
|
432
481
|
function validateWranglerJsonc(workerName, manifest, jsoncContent) {
|
|
@@ -465,7 +514,7 @@ function validateWranglerJsonc(workerName, manifest, jsoncContent) {
|
|
|
465
514
|
}
|
|
466
515
|
}
|
|
467
516
|
for (const [name, def] of Object.entries(manifest.vars)) {
|
|
468
|
-
if (def.type === "secret" && !name.endsWith("_BINDING") && !name.endsWith("_SECRET") && !name.startsWith("CLOUDFLARE_") && name !== "TELEGRAM_SECRET_TOKEN" && name !== "MAILGUN_API_KEY" && name !== "EMAIL_SCAN_SUBJECT" && name !== "DASHBOARD_USER" && name !== "DASHBOARD_PASS" && name !== "SESSION_SECRET" && name !== "AGENT_INTERNAL_KEY") {
|
|
517
|
+
if (def.type === "secret" && !name.endsWith("_BINDING") && !name.endsWith("_SECRET") && !name.startsWith("CLOUDFLARE_") && name !== "TELEGRAM_SECRET_TOKEN" && name !== "TELEGRAM_ALLOWED_CHAT_IDS" && name !== "AUTHORIZED_CHAT_IDS" && name !== "MAILGUN_API_KEY" && name !== "EMAIL_SCAN_SUBJECT" && name !== "DASHBOARD_USER" && name !== "DASHBOARD_PASS" && name !== "SESSION_SECRET" && name !== "AGENT_INTERNAL_KEY") {
|
|
469
518
|
errors.push({
|
|
470
519
|
worker: workerName,
|
|
471
520
|
severity: "warning",
|
|
@@ -582,6 +631,8 @@ function generateWranglerJsonc(manifest) {
|
|
|
582
631
|
parts.push(` "vars": {`);
|
|
583
632
|
for (const [i, name] of varKeys.entries()) {
|
|
584
633
|
const def = manifest.vars[name];
|
|
634
|
+
if (!def)
|
|
635
|
+
continue;
|
|
585
636
|
const comma = i < varKeys.length - 1 ? "," : "";
|
|
586
637
|
const val = def.type === "secret" ? "__SECRET__" : JSON.stringify(def.default ?? "");
|
|
587
638
|
parts.push(` "${name}": ${val}${comma}`);
|
|
@@ -693,13 +744,15 @@ function validateAll(workerName, manifest, files) {
|
|
|
693
744
|
};
|
|
694
745
|
}
|
|
695
746
|
export {
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
validateDevVars,
|
|
699
|
-
validateAll,
|
|
700
|
-
generateWranglerJsonc,
|
|
701
|
-
generateDevVars,
|
|
702
|
-
WORKER_NAMES,
|
|
747
|
+
CALLED_BY,
|
|
748
|
+
WORKER_CATALOG,
|
|
703
749
|
WORKER_MANIFESTS,
|
|
704
|
-
|
|
750
|
+
WORKER_NAMES,
|
|
751
|
+
generateDevVars,
|
|
752
|
+
generateWranglerJsonc,
|
|
753
|
+
getWorkerDefaultEnabled,
|
|
754
|
+
validateAll,
|
|
755
|
+
validateDevVars,
|
|
756
|
+
validateRootSecrets,
|
|
757
|
+
validateWranglerJsonc
|
|
705
758
|
};
|
|
@@ -9,4 +9,17 @@ export declare const CALLED_BY: Record<string, string[]>;
|
|
|
9
9
|
export declare const WORKER_MANIFESTS: Record<string, WorkerManifest>;
|
|
10
10
|
/** List of all worker names in the registry. */
|
|
11
11
|
export declare const WORKER_NAMES: string[];
|
|
12
|
+
/**
|
|
13
|
+
* Catalog entry for CLI worker enable/disable — one row per known worker.
|
|
14
|
+
* `defaultEnabled` is the seed value when the worker is first added to config.
|
|
15
|
+
*/
|
|
16
|
+
export interface WorkerCatalogEntry {
|
|
17
|
+
name: string;
|
|
18
|
+
path: string;
|
|
19
|
+
defaultEnabled: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** Full catalog of known workers with default enable flags (sorted by name). */
|
|
22
|
+
export declare const WORKER_CATALOG: WorkerCatalogEntry[];
|
|
23
|
+
/** Lookup defaultEnabled for a known worker; undefined if not in catalog. */
|
|
24
|
+
export declare function getWorkerDefaultEnabled(name: string): boolean | undefined;
|
|
12
25
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/schemas/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/schemas/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAqejD,qEAAqE;AACrE,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAA6B,CAAC;AAE7E,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAa,CAAC;AAE1E,gDAAgD;AAChD,eAAO,MAAM,YAAY,EAAE,MAAM,EAAkC,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,gFAAgF;AAChF,eAAO,MAAM,cAAc,EAAE,kBAAkB,EAO7C,CAAC;AAEH,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEzE"}
|
package/dist/schemas/registry.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/schemas/registry.ts
|
|
19
3
|
function deriveCalledBy(manifests) {
|
|
20
4
|
const calledBy = {};
|
|
@@ -22,9 +6,12 @@ function deriveCalledBy(manifests) {
|
|
|
22
6
|
if (!calledBy[workerName])
|
|
23
7
|
calledBy[workerName] = new Set;
|
|
24
8
|
for (const svc of manifest.services) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
9
|
+
let callers = calledBy[svc.service];
|
|
10
|
+
if (!callers) {
|
|
11
|
+
callers = new Set;
|
|
12
|
+
calledBy[svc.service] = callers;
|
|
13
|
+
}
|
|
14
|
+
callers.add(workerName);
|
|
28
15
|
}
|
|
29
16
|
}
|
|
30
17
|
const result = {};
|
|
@@ -37,6 +24,7 @@ var manifests = {
|
|
|
37
24
|
hoox: {
|
|
38
25
|
name: "hoox",
|
|
39
26
|
path: "workers/hoox-worker",
|
|
27
|
+
defaultEnabled: true,
|
|
40
28
|
vars: {
|
|
41
29
|
WEBHOOK_API_KEY_BINDING: {
|
|
42
30
|
type: "secret",
|
|
@@ -46,7 +34,11 @@ var manifests = {
|
|
|
46
34
|
type: "secret",
|
|
47
35
|
description: "Inter-worker auth key"
|
|
48
36
|
},
|
|
49
|
-
HA_TOKEN_BINDING: { type: "secret", description: "Home Assistant token" }
|
|
37
|
+
HA_TOKEN_BINDING: { type: "secret", description: "Home Assistant token" },
|
|
38
|
+
TELEGRAM_ALLOWED_CHAT_IDS: {
|
|
39
|
+
type: "secret",
|
|
40
|
+
description: "Comma-separated chat IDs for webhook notify (fail-closed when unset); alias AUTHORIZED_CHAT_IDS"
|
|
41
|
+
}
|
|
50
42
|
},
|
|
51
43
|
services: [
|
|
52
44
|
{
|
|
@@ -72,7 +64,8 @@ var manifests = {
|
|
|
72
64
|
ai: true,
|
|
73
65
|
queues: { producer: ["trade-execution"] },
|
|
74
66
|
durableObjects: [
|
|
75
|
-
{ name: "IDEMPOTENCY_STORE", className: "IdempotencyStore" }
|
|
67
|
+
{ name: "IDEMPOTENCY_STORE", className: "IdempotencyStore" },
|
|
68
|
+
{ name: "RATE_LIMITER", className: "RateLimiterStore" }
|
|
76
69
|
]
|
|
77
70
|
},
|
|
78
71
|
middleware: [
|
|
@@ -87,6 +80,7 @@ var manifests = {
|
|
|
87
80
|
"trade-worker": {
|
|
88
81
|
name: "trade-worker",
|
|
89
82
|
path: "workers/trade-worker",
|
|
83
|
+
defaultEnabled: true,
|
|
90
84
|
vars: {
|
|
91
85
|
INTERNAL_KEY_BINDING: {
|
|
92
86
|
type: "secret",
|
|
@@ -96,15 +90,26 @@ var manifests = {
|
|
|
96
90
|
type: "secret",
|
|
97
91
|
description: "Telegram outbound auth"
|
|
98
92
|
},
|
|
99
|
-
|
|
100
|
-
|
|
93
|
+
EXCHANGE_KEY_BINDING: {
|
|
94
|
+
type: "secret",
|
|
95
|
+
description: "Unified exchange API key (Binance / Bybit / MEXC)"
|
|
96
|
+
},
|
|
97
|
+
EXCHANGE_SECRET_BINDING: {
|
|
101
98
|
type: "secret",
|
|
102
|
-
description: "
|
|
99
|
+
description: "Unified exchange API secret"
|
|
103
100
|
},
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
101
|
+
EXCHANGE_TESTNET_KEY_BINDING: {
|
|
102
|
+
type: "secret",
|
|
103
|
+
description: "Optional unified testnet API key"
|
|
104
|
+
},
|
|
105
|
+
EXCHANGE_TESTNET_SECRET_BINDING: {
|
|
106
|
+
type: "secret",
|
|
107
|
+
description: "Optional unified testnet API secret"
|
|
108
|
+
},
|
|
109
|
+
WALLET_EXECUTE_KEY_BINDING: {
|
|
110
|
+
type: "secret",
|
|
111
|
+
description: "Mesh key for DEX swaps via web3-wallet-worker"
|
|
112
|
+
}
|
|
108
113
|
},
|
|
109
114
|
services: [
|
|
110
115
|
{
|
|
@@ -116,6 +121,11 @@ var manifests = {
|
|
|
116
121
|
binding: "TELEGRAM_SERVICE",
|
|
117
122
|
service: "telegram-worker",
|
|
118
123
|
description: "Notifications"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
binding: "WEB3_WALLET_SERVICE",
|
|
127
|
+
service: "web3-wallet-worker",
|
|
128
|
+
description: "DEX spot swaps (Uniswap / Jupiter)"
|
|
119
129
|
}
|
|
120
130
|
],
|
|
121
131
|
infrastructure: {
|
|
@@ -146,6 +156,7 @@ var manifests = {
|
|
|
146
156
|
"telegram-worker": {
|
|
147
157
|
name: "telegram-worker",
|
|
148
158
|
path: "workers/telegram-worker",
|
|
159
|
+
defaultEnabled: true,
|
|
149
160
|
vars: {
|
|
150
161
|
INTERNAL_KEY_BINDING: {
|
|
151
162
|
type: "secret",
|
|
@@ -159,6 +170,10 @@ var manifests = {
|
|
|
159
170
|
TELEGRAM_SECRET_TOKEN: {
|
|
160
171
|
type: "secret",
|
|
161
172
|
description: "Webhook verification token"
|
|
173
|
+
},
|
|
174
|
+
AUTHORIZED_CHAT_IDS: {
|
|
175
|
+
type: "secret",
|
|
176
|
+
description: "Comma-separated chat IDs; inbound webhook fail-closed when unset; outbound /alert allowlist"
|
|
162
177
|
}
|
|
163
178
|
},
|
|
164
179
|
services: [],
|
|
@@ -179,6 +194,7 @@ var manifests = {
|
|
|
179
194
|
"d1-worker": {
|
|
180
195
|
name: "d1-worker",
|
|
181
196
|
path: "workers/d1-worker",
|
|
197
|
+
defaultEnabled: true,
|
|
182
198
|
vars: {
|
|
183
199
|
INTERNAL_KEY_BINDING: {
|
|
184
200
|
type: "secret",
|
|
@@ -201,11 +217,28 @@ var manifests = {
|
|
|
201
217
|
"web3-wallet-worker": {
|
|
202
218
|
name: "web3-wallet-worker",
|
|
203
219
|
path: "workers/web3-wallet-worker",
|
|
220
|
+
defaultEnabled: false,
|
|
204
221
|
vars: {
|
|
205
222
|
WALLET_PK_SECRET: { type: "secret", description: "Wallet private key" },
|
|
206
223
|
WALLET_MNEMONIC_SECRET: {
|
|
207
224
|
type: "secret",
|
|
208
225
|
description: "Wallet mnemonic phrase"
|
|
226
|
+
},
|
|
227
|
+
WALLET_EXECUTE_KEY_BINDING: {
|
|
228
|
+
type: "secret",
|
|
229
|
+
description: "Mesh key for privileged wallet routes"
|
|
230
|
+
},
|
|
231
|
+
SOLANA_PRIVATE_KEY: {
|
|
232
|
+
type: "secret",
|
|
233
|
+
description: "Solana signing key (base58 seed or Phantom export)"
|
|
234
|
+
},
|
|
235
|
+
JUPITER_API_KEY: {
|
|
236
|
+
type: "secret",
|
|
237
|
+
description: "Jupiter Swap V2 API key"
|
|
238
|
+
},
|
|
239
|
+
RPC_URL_SOLANA: {
|
|
240
|
+
type: "plaintext",
|
|
241
|
+
description: "Solana JSON-RPC URL"
|
|
209
242
|
}
|
|
210
243
|
},
|
|
211
244
|
services: [
|
|
@@ -221,6 +254,7 @@ var manifests = {
|
|
|
221
254
|
"agent-worker": {
|
|
222
255
|
name: "agent-worker",
|
|
223
256
|
path: "workers/agent-worker",
|
|
257
|
+
defaultEnabled: true,
|
|
224
258
|
vars: {
|
|
225
259
|
AGENT_INTERNAL_KEY: { type: "secret", description: "Agent worker auth" },
|
|
226
260
|
INTERNAL_KEY_BINDING: {
|
|
@@ -257,6 +291,7 @@ var manifests = {
|
|
|
257
291
|
"email-worker": {
|
|
258
292
|
name: "email-worker",
|
|
259
293
|
path: "workers/email-worker",
|
|
294
|
+
defaultEnabled: false,
|
|
260
295
|
vars: {
|
|
261
296
|
INTERNAL_KEY_BINDING: {
|
|
262
297
|
type: "secret",
|
|
@@ -294,6 +329,7 @@ var manifests = {
|
|
|
294
329
|
"analytics-worker": {
|
|
295
330
|
name: "analytics-worker",
|
|
296
331
|
path: "workers/analytics-worker",
|
|
332
|
+
defaultEnabled: true,
|
|
297
333
|
vars: {
|
|
298
334
|
CLOUDFLARE_API_TOKEN: {
|
|
299
335
|
type: "secret",
|
|
@@ -313,6 +349,7 @@ var manifests = {
|
|
|
313
349
|
"report-worker": {
|
|
314
350
|
name: "report-worker",
|
|
315
351
|
path: "workers/report-worker",
|
|
352
|
+
defaultEnabled: false,
|
|
316
353
|
vars: {
|
|
317
354
|
CF_API_TOKEN_BINDING: {
|
|
318
355
|
type: "secret",
|
|
@@ -347,6 +384,7 @@ var manifests = {
|
|
|
347
384
|
"pyne-worker": {
|
|
348
385
|
name: "pyne-worker",
|
|
349
386
|
path: "workers/pyne-worker",
|
|
387
|
+
defaultEnabled: true,
|
|
350
388
|
vars: {
|
|
351
389
|
API_KEY: {
|
|
352
390
|
type: "secret",
|
|
@@ -384,6 +422,7 @@ var manifests = {
|
|
|
384
422
|
dashboard: {
|
|
385
423
|
name: "dashboard",
|
|
386
424
|
path: "workers/dashboard",
|
|
425
|
+
defaultEnabled: true,
|
|
387
426
|
vars: {
|
|
388
427
|
DASHBOARD_USER: {
|
|
389
428
|
type: "secret",
|
|
@@ -426,8 +465,21 @@ var manifests = {
|
|
|
426
465
|
var CALLED_BY = deriveCalledBy(manifests);
|
|
427
466
|
var WORKER_MANIFESTS = manifests;
|
|
428
467
|
var WORKER_NAMES = Object.keys(manifests).sort();
|
|
468
|
+
var WORKER_CATALOG = WORKER_NAMES.map((name) => {
|
|
469
|
+
const m = manifests[name];
|
|
470
|
+
return {
|
|
471
|
+
name: m.name,
|
|
472
|
+
path: m.path,
|
|
473
|
+
defaultEnabled: m.defaultEnabled
|
|
474
|
+
};
|
|
475
|
+
});
|
|
476
|
+
function getWorkerDefaultEnabled(name) {
|
|
477
|
+
return manifests[name]?.defaultEnabled;
|
|
478
|
+
}
|
|
429
479
|
export {
|
|
430
|
-
|
|
480
|
+
CALLED_BY,
|
|
481
|
+
WORKER_CATALOG,
|
|
431
482
|
WORKER_MANIFESTS,
|
|
432
|
-
|
|
483
|
+
WORKER_NAMES,
|
|
484
|
+
getWorkerDefaultEnabled
|
|
433
485
|
};
|
package/dist/schemas/types.d.ts
CHANGED
|
@@ -10,6 +10,11 @@ export interface WorkerManifest {
|
|
|
10
10
|
name: string;
|
|
11
11
|
/** Path relative to project root (e.g. "workers/trade-worker") */
|
|
12
12
|
path: string;
|
|
13
|
+
/**
|
|
14
|
+
* Default for `workers.<name>.enabled` in the root wrangler.jsonc catalog.
|
|
15
|
+
* Used by `hoox workers enable|disable` and when seeding missing workers.
|
|
16
|
+
*/
|
|
17
|
+
defaultEnabled: boolean;
|
|
13
18
|
/** Vars the worker declares in its wrangler.jsonc `vars` section */
|
|
14
19
|
vars: Record<string, VarDef>;
|
|
15
20
|
/** Service bindings this worker calls */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schemas/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,gDAAgD;IAChD,cAAc,EAAE,aAAa,CAAC;IAC9B,+DAA+D;IAC/D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;IACpB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;IACpB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schemas/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,gDAAgD;IAChD,cAAc,EAAE,aAAa,CAAC;IAC9B,+DAA+D;IAC/D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;IACpB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;IACpB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/schemas/validators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAalE;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/schemas/validators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAalE;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CA8GnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,gBAAgB,EAAE,MAAM,GACvB,eAAe,EAAE,CA2CnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,GACrB,eAAe,EAAE,CA6BnB;AAID;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAoItE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAYhE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE;IACL,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAWhE"}
|
|
@@ -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/schemas/validators.ts
|
|
19
3
|
import { parse } from "jsonc-parser";
|
|
20
4
|
function validateWranglerJsonc(workerName, manifest, jsoncContent) {
|
|
@@ -53,7 +37,7 @@ function validateWranglerJsonc(workerName, manifest, jsoncContent) {
|
|
|
53
37
|
}
|
|
54
38
|
}
|
|
55
39
|
for (const [name, def] of Object.entries(manifest.vars)) {
|
|
56
|
-
if (def.type === "secret" && !name.endsWith("_BINDING") && !name.endsWith("_SECRET") && !name.startsWith("CLOUDFLARE_") && name !== "TELEGRAM_SECRET_TOKEN" && name !== "MAILGUN_API_KEY" && name !== "EMAIL_SCAN_SUBJECT" && name !== "DASHBOARD_USER" && name !== "DASHBOARD_PASS" && name !== "SESSION_SECRET" && name !== "AGENT_INTERNAL_KEY") {
|
|
40
|
+
if (def.type === "secret" && !name.endsWith("_BINDING") && !name.endsWith("_SECRET") && !name.startsWith("CLOUDFLARE_") && name !== "TELEGRAM_SECRET_TOKEN" && name !== "TELEGRAM_ALLOWED_CHAT_IDS" && name !== "AUTHORIZED_CHAT_IDS" && name !== "MAILGUN_API_KEY" && name !== "EMAIL_SCAN_SUBJECT" && name !== "DASHBOARD_USER" && name !== "DASHBOARD_PASS" && name !== "SESSION_SECRET" && name !== "AGENT_INTERNAL_KEY") {
|
|
57
41
|
errors.push({
|
|
58
42
|
worker: workerName,
|
|
59
43
|
severity: "warning",
|
|
@@ -170,6 +154,8 @@ function generateWranglerJsonc(manifest) {
|
|
|
170
154
|
parts.push(` "vars": {`);
|
|
171
155
|
for (const [i, name] of varKeys.entries()) {
|
|
172
156
|
const def = manifest.vars[name];
|
|
157
|
+
if (!def)
|
|
158
|
+
continue;
|
|
173
159
|
const comma = i < varKeys.length - 1 ? "," : "";
|
|
174
160
|
const val = def.type === "secret" ? "__SECRET__" : JSON.stringify(def.default ?? "");
|
|
175
161
|
parts.push(` "${name}": ${val}${comma}`);
|
|
@@ -281,10 +267,10 @@ function validateAll(workerName, manifest, files) {
|
|
|
281
267
|
};
|
|
282
268
|
}
|
|
283
269
|
export {
|
|
284
|
-
|
|
285
|
-
validateRootSecrets,
|
|
286
|
-
validateDevVars,
|
|
287
|
-
validateAll,
|
|
270
|
+
generateDevVars,
|
|
288
271
|
generateWranglerJsonc,
|
|
289
|
-
|
|
272
|
+
validateAll,
|
|
273
|
+
validateDevVars,
|
|
274
|
+
validateRootSecrets,
|
|
275
|
+
validateWranglerJsonc
|
|
290
276
|
};
|