@zintrust/core 0.4.34 → 0.4.36
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/package.json +4 -4
- package/src/cache/drivers/RedisDriver.d.ts.map +1 -1
- package/src/cache/drivers/RedisDriver.js +1 -1
- package/src/cli/OptionalCliExtensions.d.ts.map +1 -1
- package/src/cli/OptionalCliExtensions.js +1 -0
- package/src/cli/commands/WorkerCommands.d.ts +2 -1
- package/src/cli/commands/WorkerCommands.d.ts.map +1 -1
- package/src/cli/commands/WorkerCommands.js +111 -62
- package/src/cli/services/WorkerStartupDiagnostics.d.ts +41 -0
- package/src/cli/services/WorkerStartupDiagnostics.d.ts.map +1 -0
- package/src/cli/services/WorkerStartupDiagnostics.js +348 -0
- package/src/cli/utils/DistPackager.d.ts.map +1 -1
- package/src/cli/utils/DistPackager.js +22 -18
- package/src/config/workers.d.ts +2 -1
- package/src/config/workers.d.ts.map +1 -1
- package/src/config/workers.js +6 -1
- package/src/index.d.ts +11 -11
- package/src/index.d.ts.map +1 -1
- package/src/index.js +13 -13
- package/src/proxy/CloudflareProxyShared.d.ts +50 -0
- package/src/proxy/CloudflareProxyShared.d.ts.map +1 -0
- package/src/proxy/CloudflareProxyShared.js +117 -0
- package/src/proxy/d1/ZintrustD1Proxy.d.ts.map +1 -1
- package/src/proxy/d1/ZintrustD1Proxy.js +49 -158
- package/src/proxy/kv/ZintrustKvProxy.d.ts.map +1 -1
- package/src/proxy/kv/ZintrustKvProxy.js +41 -142
- package/src/security/CsrfTokenManager.d.ts.map +1 -1
- package/src/security/CsrfTokenManager.js +1 -1
- package/src/security/JwtSessions.d.ts.map +1 -1
- package/src/security/JwtSessions.js +1 -1
- package/src/security/TokenRevocation.d.ts.map +1 -1
- package/src/security/TokenRevocation.js +1 -1
- package/src/tools/queue/LockProvider.d.ts.map +1 -1
- package/src/tools/queue/LockProvider.js +1 -1
- package/src/tools/redis/RedisTransport.d.ts +34 -0
- package/src/tools/redis/RedisTransport.d.ts.map +1 -0
- package/src/tools/redis/RedisTransport.js +251 -0
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
import { Env } from '../../config/env.js';
|
|
2
|
+
import { Logger } from '../../config/logger.js';
|
|
3
|
+
import { queueConfig } from '../../config/queue.js';
|
|
4
|
+
import { ErrorFactory } from '../../exceptions/ZintrustError.js';
|
|
5
|
+
import { isNonEmptyString, isObject } from '../../helper/index.js';
|
|
6
|
+
const SECRET_KEY_PATTERN = /(SECRET|PASSWORD|TOKEN|KEY)$/i;
|
|
7
|
+
const uniqueStrings = (values) => {
|
|
8
|
+
const seen = new Set();
|
|
9
|
+
const out = [];
|
|
10
|
+
for (const value of values) {
|
|
11
|
+
const normalized = value.trim();
|
|
12
|
+
if (!isNonEmptyString(normalized))
|
|
13
|
+
continue;
|
|
14
|
+
if (seen.has(normalized))
|
|
15
|
+
continue;
|
|
16
|
+
seen.add(normalized);
|
|
17
|
+
out.push(normalized);
|
|
18
|
+
}
|
|
19
|
+
return out;
|
|
20
|
+
};
|
|
21
|
+
const getSnapshotValue = (snapshot, key) => {
|
|
22
|
+
const value = snapshot[key];
|
|
23
|
+
return typeof value === 'string' ? value.trim() : '';
|
|
24
|
+
};
|
|
25
|
+
const getExplicitEnv = (snapshot, key) => getSnapshotValue(snapshot, key);
|
|
26
|
+
const getResolvedEnv = (key) => Env.get(key, '').trim();
|
|
27
|
+
const resolveRedisProxyKeyId = (snapshot) => {
|
|
28
|
+
const explicit = getExplicitEnv(snapshot, 'REDIS_PROXY_KEY_ID');
|
|
29
|
+
if (isNonEmptyString(explicit))
|
|
30
|
+
return explicit;
|
|
31
|
+
const appName = getExplicitEnv(snapshot, 'APP_NAME') || Env.get('APP_NAME', 'zintrust').trim();
|
|
32
|
+
return (appName || 'zintrust').trim().toLowerCase().replaceAll(/\s+/g, '_');
|
|
33
|
+
};
|
|
34
|
+
const resolveRedisProxySecret = (snapshot) => {
|
|
35
|
+
const explicit = getExplicitEnv(snapshot, 'REDIS_PROXY_SECRET');
|
|
36
|
+
if (isNonEmptyString(explicit))
|
|
37
|
+
return explicit;
|
|
38
|
+
return getExplicitEnv(snapshot, 'APP_KEY') || Env.get('APP_KEY', '').trim();
|
|
39
|
+
};
|
|
40
|
+
const resolveRedisProxyUrl = (snapshot) => {
|
|
41
|
+
const explicit = getExplicitEnv(snapshot, 'REDIS_PROXY_URL');
|
|
42
|
+
if (isNonEmptyString(explicit))
|
|
43
|
+
return explicit;
|
|
44
|
+
if (!Env.getBool('USE_REDIS_PROXY', false))
|
|
45
|
+
return '';
|
|
46
|
+
const host = getExplicitEnv(snapshot, 'REDIS_PROXY_HOST') || Env.get('REDIS_PROXY_HOST', '127.0.0.1').trim();
|
|
47
|
+
const port = getExplicitEnv(snapshot, 'REDIS_PROXY_PORT') || Env.get('REDIS_PROXY_PORT', '8791').trim();
|
|
48
|
+
return host === '' || port === '' ? '' : `http://${host}:${port}`;
|
|
49
|
+
};
|
|
50
|
+
const DIAGNOSTIC_VALUE_RESOLVERS = Object.freeze({
|
|
51
|
+
RUNTIME_MODE: (_snapshot, flags) => flags.runtimeMode,
|
|
52
|
+
WORKER_ENABLED: (_snapshot, flags) => String(flags.workerEnabled),
|
|
53
|
+
WORKER_AUTO_START: (_snapshot, flags) => String(flags.workerAutoStart),
|
|
54
|
+
DOCKER_WORKER: (_snapshot, flags) => String(flags.dockerWorker),
|
|
55
|
+
QUEUE_ENABLED: (_snapshot, flags) => String(flags.queueEnabled),
|
|
56
|
+
QUEUE_DRIVER: (_snapshot, flags) => flags.queueDriver,
|
|
57
|
+
WORKER_PERSISTENCE_DRIVER: (_snapshot, flags) => flags.persistenceDriver,
|
|
58
|
+
REDIS_PROXY_URL: (snapshot) => resolveRedisProxyUrl(snapshot),
|
|
59
|
+
REDIS_PROXY_HOST: (snapshot) => getExplicitEnv(snapshot, 'REDIS_PROXY_HOST') ||
|
|
60
|
+
Env.get('REDIS_PROXY_HOST', '127.0.0.1').trim(),
|
|
61
|
+
REDIS_PROXY_SECRET: (snapshot) => resolveRedisProxySecret(snapshot),
|
|
62
|
+
REDIS_PROXY_KEY_ID: (snapshot) => resolveRedisProxyKeyId(snapshot),
|
|
63
|
+
REDIS_QUEUE_DB: (snapshot) => getExplicitEnv(snapshot, 'REDIS_QUEUE_DB') || Env.get('REDIS_QUEUE_DB', '1').trim(),
|
|
64
|
+
WORKER_PERSISTENCE_DB_CONNECTION: (snapshot) => getExplicitEnv(snapshot, 'WORKER_PERSISTENCE_DB_CONNECTION') ||
|
|
65
|
+
Env.get('WORKER_PERSISTENCE_DB_CONNECTION', 'default').trim(),
|
|
66
|
+
WORKER_PERSISTENCE_TABLE: (snapshot) => getExplicitEnv(snapshot, 'WORKER_PERSISTENCE_TABLE') ||
|
|
67
|
+
Env.get('WORKER_PERSISTENCE_TABLE', 'zintrust_workers').trim(),
|
|
68
|
+
DB_CONNECTION: (snapshot) => getExplicitEnv(snapshot, 'DB_CONNECTION') || Env.get('DB_CONNECTION', '').trim(),
|
|
69
|
+
});
|
|
70
|
+
const getDiagnosticResolvedValue = (snapshot, key, flags) => DIAGNOSTIC_VALUE_RESOLVERS[key]?.(snapshot, flags) ?? getResolvedEnv(key);
|
|
71
|
+
const maskResolvedValue = (key, value) => {
|
|
72
|
+
if (!isNonEmptyString(value))
|
|
73
|
+
return '[missing]';
|
|
74
|
+
if (SECRET_KEY_PATTERN.test(key))
|
|
75
|
+
return '[set]';
|
|
76
|
+
return value;
|
|
77
|
+
};
|
|
78
|
+
const getQueueDriver = () => {
|
|
79
|
+
try {
|
|
80
|
+
return { value: queueConfig.default };
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
84
|
+
return {
|
|
85
|
+
value: Env.get('QUEUE_DRIVER', 'sync').trim() || 'sync',
|
|
86
|
+
issue: {
|
|
87
|
+
severity: 'error',
|
|
88
|
+
message: `Queue config failed to resolve: ${message}`,
|
|
89
|
+
envKeys: extractEnvKeysFromMessage(message),
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
const getPersistenceDriver = () => {
|
|
95
|
+
const raw = Env.get('WORKER_PERSISTENCE_DRIVER', '').trim().toLowerCase();
|
|
96
|
+
return raw === '' ? 'memory (implicit)' : raw;
|
|
97
|
+
};
|
|
98
|
+
const extractEnvKeysFromMessage = (message) => {
|
|
99
|
+
const matches = message.match(/\b[A-Z][A-Z0-9_]{2,}\b/g) ?? [];
|
|
100
|
+
return uniqueStrings(matches);
|
|
101
|
+
};
|
|
102
|
+
const inferEnvKeysFromContext = (message, flags) => {
|
|
103
|
+
const lower = message.toLowerCase();
|
|
104
|
+
const inferred = [];
|
|
105
|
+
if (lower.includes('redis') && lower.includes('host is required')) {
|
|
106
|
+
inferred.push('REDIS_HOST');
|
|
107
|
+
}
|
|
108
|
+
if (lower.includes('worker persistence') && lower.includes('database client')) {
|
|
109
|
+
inferred.push('WORKER_PERSISTENCE_DB_CONNECTION', 'DB_CONNECTION');
|
|
110
|
+
}
|
|
111
|
+
if (lower.includes('worker persistence') && lower.includes('redis config')) {
|
|
112
|
+
inferred.push('REDIS_HOST', 'REDIS_PORT');
|
|
113
|
+
}
|
|
114
|
+
if (flags.queueDriver === 'sqs') {
|
|
115
|
+
inferred.push('AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_REGION', 'AWS_SQS_QUEUE_URL');
|
|
116
|
+
}
|
|
117
|
+
return uniqueStrings(inferred);
|
|
118
|
+
};
|
|
119
|
+
const getFirstFault = (error, flags) => {
|
|
120
|
+
if (!(error instanceof Error))
|
|
121
|
+
return null;
|
|
122
|
+
const errorCode = isObject(error) && typeof error['code'] === 'string' ? error['code'] : undefined;
|
|
123
|
+
const envKeys = uniqueStrings([
|
|
124
|
+
...extractEnvKeysFromMessage(error.message),
|
|
125
|
+
...inferEnvKeysFromContext(error.message, flags),
|
|
126
|
+
]);
|
|
127
|
+
return {
|
|
128
|
+
message: envKeys.length > 0
|
|
129
|
+
? `${error.message} | likely env keys: ${envKeys.join(', ')}`
|
|
130
|
+
: error.message,
|
|
131
|
+
code: errorCode,
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
const getQueueDriverEnvKeys = (snapshot, queueDriver) => {
|
|
135
|
+
if (queueDriver === 'sqs') {
|
|
136
|
+
return ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_REGION', 'AWS_SQS_QUEUE_URL'];
|
|
137
|
+
}
|
|
138
|
+
if (queueDriver === 'database') {
|
|
139
|
+
return ['QUEUE_DB_CONNECTION', 'DB_CONNECTION'];
|
|
140
|
+
}
|
|
141
|
+
if (queueDriver === 'rabbitmq') {
|
|
142
|
+
return ['RABBITMQ_HOST', 'RABBITMQ_PORT', 'RABBITMQ_USER', 'RABBITMQ_PASSWORD'];
|
|
143
|
+
}
|
|
144
|
+
const usesRedisProxy = Env.getBool('USE_REDIS_PROXY', false) ||
|
|
145
|
+
isNonEmptyString(getExplicitEnv(snapshot, 'REDIS_PROXY_URL'));
|
|
146
|
+
if (queueDriver === 'redis' && usesRedisProxy) {
|
|
147
|
+
return [
|
|
148
|
+
'REDIS_PROXY_URL',
|
|
149
|
+
'REDIS_PROXY_HOST',
|
|
150
|
+
'REDIS_PROXY_SECRET',
|
|
151
|
+
'REDIS_PROXY_KEY_ID',
|
|
152
|
+
'APP_KEY',
|
|
153
|
+
'REDIS_QUEUE_DB',
|
|
154
|
+
];
|
|
155
|
+
}
|
|
156
|
+
if (queueDriver === 'redis') {
|
|
157
|
+
return ['REDIS_HOST', 'REDIS_PORT', 'REDIS_PASSWORD', 'REDIS_QUEUE_DB'];
|
|
158
|
+
}
|
|
159
|
+
return [];
|
|
160
|
+
};
|
|
161
|
+
const getPersistenceEnvKeys = (persistenceDriver) => {
|
|
162
|
+
if (persistenceDriver === 'database' || persistenceDriver === 'db') {
|
|
163
|
+
return ['WORKER_PERSISTENCE_DB_CONNECTION', 'WORKER_PERSISTENCE_TABLE', 'DB_CONNECTION'];
|
|
164
|
+
}
|
|
165
|
+
if (persistenceDriver === 'redis') {
|
|
166
|
+
return ['WORKER_PERSISTENCE_REDIS_DB', 'REDIS_HOST', 'REDIS_PORT', 'REDIS_PASSWORD'];
|
|
167
|
+
}
|
|
168
|
+
return [];
|
|
169
|
+
};
|
|
170
|
+
const buildFlags = () => {
|
|
171
|
+
const queueDriver = getQueueDriver();
|
|
172
|
+
return {
|
|
173
|
+
runtimeMode: Env.get('RUNTIME_MODE', 'node-server').trim() || 'node-server',
|
|
174
|
+
workerEnabled: Env.getBool('WORKER_ENABLED', false),
|
|
175
|
+
workerAutoStart: Env.getBool('WORKER_AUTO_START', false),
|
|
176
|
+
dockerWorker: Env.getBool('DOCKER_WORKER', false),
|
|
177
|
+
queueEnabled: Env.getBool('QUEUE_ENABLED', false),
|
|
178
|
+
queueDriver: queueDriver.value,
|
|
179
|
+
persistenceDriver: getPersistenceDriver(),
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
const buildEnvStatus = (snapshot, flags, firstFault) => {
|
|
183
|
+
const relevantKeys = uniqueStrings([
|
|
184
|
+
'RUNTIME_MODE',
|
|
185
|
+
'WORKER_ENABLED',
|
|
186
|
+
'WORKER_AUTO_START',
|
|
187
|
+
'DOCKER_WORKER',
|
|
188
|
+
'QUEUE_ENABLED',
|
|
189
|
+
'QUEUE_DRIVER',
|
|
190
|
+
'WORKER_PERSISTENCE_DRIVER',
|
|
191
|
+
...getQueueDriverEnvKeys(snapshot, flags.queueDriver),
|
|
192
|
+
...getPersistenceEnvKeys(flags.persistenceDriver),
|
|
193
|
+
...(firstFault ? extractEnvKeysFromMessage(firstFault.message) : []),
|
|
194
|
+
]);
|
|
195
|
+
return relevantKeys.map((key) => {
|
|
196
|
+
const explicitValue = getExplicitEnv(snapshot, key);
|
|
197
|
+
const effectiveValue = getDiagnosticResolvedValue(snapshot, key, flags);
|
|
198
|
+
return {
|
|
199
|
+
key,
|
|
200
|
+
present: isNonEmptyString(explicitValue) || isNonEmptyString(effectiveValue),
|
|
201
|
+
explicitValue,
|
|
202
|
+
resolvedValue: maskResolvedValue(key, effectiveValue),
|
|
203
|
+
};
|
|
204
|
+
});
|
|
205
|
+
};
|
|
206
|
+
const buildIssues = (envStatus, flags, firstFault, queueIssue) => {
|
|
207
|
+
const issues = [];
|
|
208
|
+
if (queueIssue !== undefined) {
|
|
209
|
+
issues.push(queueIssue);
|
|
210
|
+
}
|
|
211
|
+
if (!flags.workerEnabled) {
|
|
212
|
+
issues.push({
|
|
213
|
+
severity: flags.dockerWorker ? 'error' : 'warn',
|
|
214
|
+
message: 'WORKER_ENABLED is false, so the worker runtime will not process jobs.',
|
|
215
|
+
envKeys: ['WORKER_ENABLED'],
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
if (!flags.queueEnabled) {
|
|
219
|
+
issues.push({
|
|
220
|
+
severity: 'warn',
|
|
221
|
+
message: 'QUEUE_ENABLED is false, so queue-backed workers cannot process jobs.',
|
|
222
|
+
envKeys: ['QUEUE_ENABLED'],
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
if (flags.workerEnabled && !flags.workerAutoStart) {
|
|
226
|
+
issues.push({
|
|
227
|
+
severity: 'warn',
|
|
228
|
+
message: 'WORKER_AUTO_START is false, so worker:start-all will skip auto-start.',
|
|
229
|
+
envKeys: ['WORKER_AUTO_START'],
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
const missingEnvKeys = envStatus.filter((entry) => !entry.present).map((entry) => entry.key);
|
|
233
|
+
if (flags.queueDriver === 'sqs') {
|
|
234
|
+
const sqsMissing = missingEnvKeys.filter((key) => ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_REGION', 'AWS_SQS_QUEUE_URL'].includes(key));
|
|
235
|
+
if (sqsMissing.length > 0) {
|
|
236
|
+
issues.push({
|
|
237
|
+
severity: 'error',
|
|
238
|
+
message: 'SQS queue driver is selected but required AWS queue env keys are missing.',
|
|
239
|
+
envKeys: sqsMissing,
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
if (firstFault !== null) {
|
|
244
|
+
const firstFaultKeys = uniqueStrings([
|
|
245
|
+
...extractEnvKeysFromMessage(firstFault.message),
|
|
246
|
+
...inferEnvKeysFromContext(firstFault.message, flags),
|
|
247
|
+
]);
|
|
248
|
+
if (firstFaultKeys.length > 0) {
|
|
249
|
+
issues.push({
|
|
250
|
+
severity: 'error',
|
|
251
|
+
message: 'The first failure points to missing or invalid runtime env configuration.',
|
|
252
|
+
envKeys: firstFaultKeys,
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return issues;
|
|
257
|
+
};
|
|
258
|
+
const buildLogPointers = (flags) => flags.runtimeMode === 'containers'
|
|
259
|
+
? [
|
|
260
|
+
'worker:start-all stderr/stdout',
|
|
261
|
+
'zin docker --wrangler-config wrangler.containers-proxy.jsonc --env <env> output',
|
|
262
|
+
'worker container logs for the node dist/bin/zin.js worker:start-all process',
|
|
263
|
+
]
|
|
264
|
+
: ['worker:start-all stderr/stdout'];
|
|
265
|
+
const buildNextSteps = (flags) => flags.runtimeMode === 'containers'
|
|
266
|
+
? [
|
|
267
|
+
'zin worker:doctor --json',
|
|
268
|
+
'node dist/bin/zin.js worker:start-all',
|
|
269
|
+
'node scripts/docker-image-smoke.mjs worker --skip-build --image <image>',
|
|
270
|
+
]
|
|
271
|
+
: ['zin worker:doctor --json'];
|
|
272
|
+
const collect = (error) => {
|
|
273
|
+
const snapshot = Env.snapshot();
|
|
274
|
+
const queueDriver = getQueueDriver();
|
|
275
|
+
const flags = buildFlags();
|
|
276
|
+
const firstFault = getFirstFault(error, flags);
|
|
277
|
+
const envStatus = buildEnvStatus(snapshot, flags, firstFault);
|
|
278
|
+
const issues = buildIssues(envStatus, flags, firstFault, queueDriver.issue);
|
|
279
|
+
const missingFromIssues = issues.flatMap((issue) => issue.envKeys);
|
|
280
|
+
const missingEnvKeys = uniqueStrings(missingFromIssues);
|
|
281
|
+
return {
|
|
282
|
+
flags,
|
|
283
|
+
issues,
|
|
284
|
+
missingEnvKeys,
|
|
285
|
+
envStatus,
|
|
286
|
+
firstFault,
|
|
287
|
+
logPointers: buildLogPointers(flags),
|
|
288
|
+
nextSteps: buildNextSteps(flags),
|
|
289
|
+
};
|
|
290
|
+
};
|
|
291
|
+
const appendSection = (lines, title, items) => {
|
|
292
|
+
if (items.length === 0)
|
|
293
|
+
return;
|
|
294
|
+
lines.push('', title, ...items);
|
|
295
|
+
};
|
|
296
|
+
const renderIssues = (report) => report.issues.map((issue) => {
|
|
297
|
+
const envSuffix = issue.envKeys.length > 0 ? ` [${issue.envKeys.join(', ')}]` : '';
|
|
298
|
+
return `- ${issue.severity.toUpperCase()}: ${issue.message}${envSuffix}`;
|
|
299
|
+
});
|
|
300
|
+
const renderEnvStatus = (report) => report.envStatus.map((entry) => {
|
|
301
|
+
const state = entry.present ? entry.resolvedValue : '[missing]';
|
|
302
|
+
return `- ${entry.key}: ${state}`;
|
|
303
|
+
});
|
|
304
|
+
const renderBullets = (items) => items.map((item) => `- ${item}`);
|
|
305
|
+
const renderLines = (report) => {
|
|
306
|
+
const lines = [
|
|
307
|
+
'=== Worker Startup Diagnostics ===',
|
|
308
|
+
'',
|
|
309
|
+
`Runtime Mode: ${report.flags.runtimeMode}`,
|
|
310
|
+
`Worker Enabled: ${report.flags.workerEnabled}`,
|
|
311
|
+
`Worker Auto Start: ${report.flags.workerAutoStart}`,
|
|
312
|
+
`Docker Worker: ${report.flags.dockerWorker}`,
|
|
313
|
+
`Queue Enabled: ${report.flags.queueEnabled}`,
|
|
314
|
+
`Queue Driver: ${report.flags.queueDriver}`,
|
|
315
|
+
`Persistence Driver: ${report.flags.persistenceDriver}`,
|
|
316
|
+
];
|
|
317
|
+
appendSection(lines, 'First Fault:', report.firstFault === null ? [] : [`- ${report.firstFault.message}`]);
|
|
318
|
+
appendSection(lines, 'Issues:', renderIssues(report));
|
|
319
|
+
appendSection(lines, 'Relevant Env:', renderEnvStatus(report));
|
|
320
|
+
appendSection(lines, 'Log Pointers:', renderBullets(report.logPointers));
|
|
321
|
+
appendSection(lines, 'Next Steps:', renderBullets(report.nextSteps));
|
|
322
|
+
return lines;
|
|
323
|
+
};
|
|
324
|
+
const log = (error, context = 'worker startup') => {
|
|
325
|
+
const report = collect(error);
|
|
326
|
+
Logger.error(`${context} first-fault summary`, {
|
|
327
|
+
flags: report.flags,
|
|
328
|
+
missingEnvKeys: report.missingEnvKeys,
|
|
329
|
+
firstFault: report.firstFault,
|
|
330
|
+
issues: report.issues,
|
|
331
|
+
logPointers: report.logPointers,
|
|
332
|
+
nextSteps: report.nextSteps,
|
|
333
|
+
});
|
|
334
|
+
if (report.missingEnvKeys.length > 0) {
|
|
335
|
+
Logger.error('Likely missing env keys for worker startup', report.missingEnvKeys);
|
|
336
|
+
}
|
|
337
|
+
return report;
|
|
338
|
+
};
|
|
339
|
+
const hasBlockingIssues = (report) => report.issues.some((issue) => issue.severity === 'error');
|
|
340
|
+
export const WorkerStartupDiagnostics = Object.freeze({
|
|
341
|
+
collect,
|
|
342
|
+
renderLines,
|
|
343
|
+
log,
|
|
344
|
+
hasBlockingIssues,
|
|
345
|
+
createCliError(message) {
|
|
346
|
+
return ErrorFactory.createCliError(message);
|
|
347
|
+
},
|
|
348
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DistPackager.d.ts","sourceRoot":"","sources":["../../../../src/cli/utils/DistPackager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DistPackager.d.ts","sourceRoot":"","sources":["../../../../src/cli/utils/DistPackager.ts"],"names":[],"mappings":"AAgKA,eAAO,MAAM,YAAY;IACvB;;;OAGG;sBACe,MAAM,aAAY,MAAM,GAAmB,IAAI;EAgBjE,CAAC"}
|
|
@@ -85,14 +85,15 @@ const buildDistPackageJson = (rootPkg) => {
|
|
|
85
85
|
};
|
|
86
86
|
};
|
|
87
87
|
const writeDistEntrypoints = (distPath) => {
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
88
|
+
const entrypoints = [
|
|
89
|
+
['index.js', "export * from './src/index.js';\n"],
|
|
90
|
+
['index.d.ts', "export * from './src/index';\n"],
|
|
91
|
+
['start.js', "export * from './src/start.js'; export { default } from './src/start.js';\n"],
|
|
92
|
+
['start.d.ts', "export * from './src/start'; export { default } from './src/start';\n"],
|
|
93
|
+
];
|
|
94
|
+
for (const [relativePath, content] of entrypoints) {
|
|
95
|
+
fs.writeFileSync(path.join(distPath, relativePath), content);
|
|
96
|
+
}
|
|
96
97
|
};
|
|
97
98
|
const writeDistPackageJson = (distPath, pkg) => {
|
|
98
99
|
const distPackageJsonPath = path.join(distPath, 'package.json');
|
|
@@ -100,18 +101,21 @@ const writeDistPackageJson = (distPath, pkg) => {
|
|
|
100
101
|
};
|
|
101
102
|
const warnIfMissingDistArtifacts = (distPath) => {
|
|
102
103
|
const expected = [
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
['src/index.js', 'Dist artifact missing (did you run build?)'],
|
|
105
|
+
['bin/zintrust.js', 'Dist artifact missing (did you run build?)'],
|
|
106
|
+
['bin/zin.js', 'Dist artifact missing (did you run build?)'],
|
|
107
|
+
['public', 'Docs public root missing'],
|
|
106
108
|
];
|
|
107
|
-
for (const
|
|
108
|
-
|
|
109
|
-
|
|
109
|
+
for (const [relativePath, message] of expected) {
|
|
110
|
+
const candidate = path.join(distPath, ...relativePath.split('/'));
|
|
111
|
+
if (fs.existsSync(candidate)) {
|
|
112
|
+
continue;
|
|
110
113
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
if (relativePath === 'public') {
|
|
115
|
+
Logger.warn(`${message} at ${candidate} (expected dist/public)`);
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
Logger.warn(`${message}: ${candidate}`);
|
|
115
119
|
}
|
|
116
120
|
};
|
|
117
121
|
export const DistPackager = Object.freeze({
|
package/src/config/workers.d.ts
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* Background worker management settings
|
|
4
4
|
* Sealed namespace for immutability
|
|
5
5
|
*/
|
|
6
|
+
import { type RedisTransportOptions } from '../tools/redis/RedisTransport';
|
|
6
7
|
import type { RedisConfig, WorkersGlobalConfig } from './type';
|
|
7
8
|
import type IORedis from 'ioredis';
|
|
8
|
-
export declare const createRedisConnection: (config: RedisConfig, maxRetries?: number) => IORedis;
|
|
9
|
+
export declare const createRedisConnection: (config: RedisConfig, maxRetries?: number, options?: RedisTransportOptions) => IORedis;
|
|
9
10
|
declare const createWorkersConfig: () => WorkersGlobalConfig;
|
|
10
11
|
export type WorkersConfig = ReturnType<typeof createWorkersConfig>;
|
|
11
12
|
export declare const workersConfig: WorkersConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../../src/config/workers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../../src/config/workers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAItC,OAAO,KAAK,EACV,WAAW,EAIX,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAoMnC,eAAO,MAAM,qBAAqB,GAChC,QAAQ,WAAW,EACnB,mBAAc,EACd,UAAU,qBAAqB,KAC9B,OA6BF,CAAC;AAgFF,QAAA,MAAM,mBAAmB,QAAO,mBA2D/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAqBnE,eAAO,MAAM,aAAa,EAAE,aAY1B,CAAC"}
|
package/src/config/workers.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Background worker management settings
|
|
4
4
|
* Sealed namespace for immutability
|
|
5
5
|
*/
|
|
6
|
+
import { createRedisProxyConnection, ensureRedisTransportMode, } from '../tools/redis/RedisTransport.js';
|
|
6
7
|
import { Cloudflare } from './cloudflare.js';
|
|
7
8
|
import { Env } from './env.js';
|
|
8
9
|
import { Logger } from './logger.js';
|
|
@@ -149,7 +150,11 @@ const resolveEffectiveRedisConfig = (config, isWorkersRuntime, proxySettings) =>
|
|
|
149
150
|
}
|
|
150
151
|
return config;
|
|
151
152
|
};
|
|
152
|
-
export const createRedisConnection = (config, maxRetries = 3) => {
|
|
153
|
+
export const createRedisConnection = (config, maxRetries = 3, options) => {
|
|
154
|
+
const mode = ensureRedisTransportMode(config, options);
|
|
155
|
+
if (mode === 'proxy') {
|
|
156
|
+
return createRedisProxyConnection(config, options);
|
|
157
|
+
}
|
|
153
158
|
const isWorkersRuntime = Cloudflare.getWorkersEnv() !== null;
|
|
154
159
|
const proxySettings = getProxySettings();
|
|
155
160
|
const effectiveConfig = resolveEffectiveRedisConfig(config, isWorkersRuntime, proxySettings);
|
package/src/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { AwsSigV4 } from './common/index';
|
|
|
13
13
|
export { SignedRequest } from './security/SignedRequest';
|
|
14
14
|
export { Server } from './boot/Server';
|
|
15
15
|
export { ServiceContainer } from './container/ServiceContainer';
|
|
16
|
-
export {
|
|
16
|
+
export { createPaginator, getNextPageUrl, getPrevPageUrl, Paginator } from './database/Paginator';
|
|
17
17
|
export type { CreatePaginatorInput, PaginationLinks, PaginationQuery, Paginator as PaginatorType, } from './database/Paginator';
|
|
18
18
|
export { Controller } from './http/Controller';
|
|
19
19
|
export { FileUpload } from './http/FileUpload';
|
|
@@ -30,7 +30,7 @@ export type { IRequest, ValidatedRequest } from './http/Request';
|
|
|
30
30
|
export { RequestContext } from './http/RequestContext';
|
|
31
31
|
export { Response } from './http/Response';
|
|
32
32
|
export type { IResponse } from './http/Response';
|
|
33
|
-
export {
|
|
33
|
+
export { getValidatedBody, getValidatedHeaders, getValidatedParams, getValidatedQuery, hasValidatedBody, requireValidatedBody, ValidationHelper, } from './http/ValidationHelper';
|
|
34
34
|
export { CsrfMiddleware } from './middleware/CsrfMiddleware';
|
|
35
35
|
export { ErrorHandlerMiddleware } from './middleware/ErrorHandlerMiddleware';
|
|
36
36
|
export { LoggingMiddleware } from './middleware/LoggingMiddleware';
|
|
@@ -49,7 +49,7 @@ export type { IDatabase } from './orm/Database';
|
|
|
49
49
|
export { Model } from './orm/Model';
|
|
50
50
|
export type { IModel, ModelConfig, ModelStatic } from './orm/Model';
|
|
51
51
|
export { QueryBuilder } from './orm/QueryBuilder';
|
|
52
|
-
export type {
|
|
52
|
+
export type { InsertResult, IQueryBuilder, PaginationOptions } from './orm/QueryBuilder';
|
|
53
53
|
export type { IRelationship } from './orm/Relationships';
|
|
54
54
|
export { DateTime } from './time/DateTime';
|
|
55
55
|
export type { IDateTime } from './time/DateTime';
|
|
@@ -58,12 +58,12 @@ export { OpenApiGenerator } from './openapi/OpenApiGenerator';
|
|
|
58
58
|
export type { OpenApiGeneratorOptions } from './openapi/OpenApiGenerator';
|
|
59
59
|
export { Router } from './routes/Router';
|
|
60
60
|
export type { IRouter } from './routes/Router';
|
|
61
|
-
export {
|
|
61
|
+
export { normalizeRouteMeta, RouteRegistry } from './routes/RouteRegistry';
|
|
62
62
|
export type { RouteMeta, RouteMetaInput, RouteRegistration } from './routes/RouteRegistry';
|
|
63
63
|
export { DatabaseAdapterRegistry } from './orm/DatabaseAdapterRegistry';
|
|
64
|
-
export {
|
|
64
|
+
export { generateSecureJobId, generateUuid, getString, Utilities, type UtilitiesType, } from './common/utility';
|
|
65
65
|
export { delay, ensureDirSafe } from './common/index';
|
|
66
|
-
export {
|
|
66
|
+
export { collect, Collection } from './collections/index';
|
|
67
67
|
export type { ICollection, PrimitiveKey } from './collections/index';
|
|
68
68
|
export { HttpClient } from './tools/http/Http';
|
|
69
69
|
export type { IHttpRequest, IHttpResponse } from './tools/http/Http';
|
|
@@ -92,12 +92,12 @@ export type { IJwtManager, JwtAlgorithm, JwtManagerType, JwtOptions, JwtPayload,
|
|
|
92
92
|
export { JwtSessions } from './security/JwtSessions';
|
|
93
93
|
export { PasswordResetTokenBroker } from './security/PasswordResetTokenBroker';
|
|
94
94
|
export type { IPasswordResetTokenBroker, IPasswordResetTokenStore, PasswordResetTokenBrokerOptions, PasswordResetTokenBrokerType, PasswordResetTokenRecord, } from './security/PasswordResetTokenBroker';
|
|
95
|
-
export {
|
|
95
|
+
export { createSanitizer, Sanitizer, type SanitizerType } from './security/Sanitizer';
|
|
96
96
|
export { TokenRevocation } from './security/TokenRevocation';
|
|
97
97
|
export { Xss } from './security/Xss';
|
|
98
98
|
export { XssProtection } from './security/XssProtection';
|
|
99
99
|
export { ErrorFactory } from './exceptions/ZintrustError';
|
|
100
|
-
export {
|
|
100
|
+
export { detectCloudflareWorkers, detectRuntimePlatform, RUNTIME_PLATFORM, RuntimeServices, type RuntimeCrypto, type RuntimeEnvReader, type RuntimeFs, type RuntimePlatform, type RuntimeServices as RuntimeServicesType, type RuntimeTimers, } from './runtime/RuntimeServices';
|
|
101
101
|
export { EventDispatcher } from './events/EventDispatcher';
|
|
102
102
|
export type { EventListener, EventMap, IEventDispatcher } from './events/EventDispatcher';
|
|
103
103
|
export { SessionManager } from './session/SessionManager';
|
|
@@ -133,7 +133,7 @@ export type { AggregatedHealthStatus, HealthCheckResult, IServiceHealthMonitor,
|
|
|
133
133
|
export { getServiceId, isCanonicalServiceId, normalizeServiceManifest, } from './microservices/ServiceManifest';
|
|
134
134
|
export type { ProjectRuntimeModule, ServiceManifestEntry } from './microservices/ServiceManifest';
|
|
135
135
|
export { ProjectRuntime } from './runtime/ProjectRuntime';
|
|
136
|
-
export {
|
|
136
|
+
export { clearMiddlewareConfigCache, middlewareConfig, MiddlewareKeys } from './config/middleware';
|
|
137
137
|
export type { MiddlewareKey } from './config/middleware';
|
|
138
138
|
export type { MiddlewareConfigType } from './config/type';
|
|
139
139
|
export { createBaseDrivers, queueConfig } from './config/queue';
|
|
@@ -152,7 +152,7 @@ export type { StartupConfig } from './config/startup';
|
|
|
152
152
|
export { Constants, DEFAULTS, ENV_KEYS, HTTP_HEADERS, MIME_TYPES } from './config/constants';
|
|
153
153
|
export { FeatureFlags } from './config/features';
|
|
154
154
|
export { Cloudflare } from './config/cloudflare';
|
|
155
|
-
export {
|
|
155
|
+
export { getDatabaseCredentials, getJwtSecrets, SECRETS, SecretsManager, } from './config/SecretsManager';
|
|
156
156
|
export type { DatabaseCredentials, JwtSecrets } from './config/SecretsManager';
|
|
157
157
|
export type { MailDriverConfig, MailDriverName, WorkersEnv } from './config/type';
|
|
158
158
|
export { StartupConfigValidator } from './config/StartupConfigValidator';
|
|
@@ -227,7 +227,7 @@ export * from './helper/index';
|
|
|
227
227
|
export { ZintrustLang } from './lang/lang';
|
|
228
228
|
export { createRedisConnection, workersConfig } from './config/workers';
|
|
229
229
|
export type { RouteOptions } from './routes/Router';
|
|
230
|
-
export {
|
|
230
|
+
export { createRedisKey, extractOriginalKey, getBullMQSafeQueueName, getPrefix, isAppKey, RedisKeys, type RedisKeyType, } from './tools/redis/RedisKeyManager';
|
|
231
231
|
export { CloudflareSocket } from './sockets/CloudflareSocket';
|
|
232
232
|
export { detectRuntime } from './runtime/detectRuntime';
|
|
233
233
|
//# sourceMappingURL=index.d.ts.map
|
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|