@zintrust/core 0.4.66 → 0.4.67
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 +1 -1
- package/src/cli/workers/QueueWorkRunner.d.ts.map +1 -1
- package/src/cli/workers/QueueWorkRunner.js +35 -32
- package/src/config/app.d.ts.map +1 -1
- package/src/config/app.js +13 -1
- package/src/config/broadcast.d.ts.map +1 -1
- package/src/config/broadcast.js +5 -0
- package/src/config/env.d.ts +1 -0
- package/src/config/env.d.ts.map +1 -1
- package/src/config/env.js +43 -5
- package/src/config/logger.d.ts.map +1 -1
- package/src/config/logger.js +2 -2
- package/src/config/type.d.ts +7 -2
- package/src/config/type.d.ts.map +1 -1
- package/src/index.js +3 -3
- package/src/scheduler/ScheduleRunner.js +1 -1
- package/src/scheduler/cron/Cron.d.ts.map +1 -1
- package/src/scheduler/cron/Cron.js +6 -2
- package/src/tools/broadcast/Broadcast.d.ts.map +1 -1
- package/src/tools/broadcast/Broadcast.js +179 -35
- package/src/tools/queue/AdvancedQueue.d.ts.map +1 -1
- package/src/tools/queue/AdvancedQueue.js +41 -2
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueWorkRunner.d.ts","sourceRoot":"","sources":["../../../../src/cli/workers/QueueWorkRunner.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,cAAc,CAAC;AAwBzD,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;
|
|
1
|
+
{"version":3,"file":"QueueWorkRunner.d.ts","sourceRoot":"","sources":["../../../../src/cli/workers/QueueWorkRunner.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,cAAc,CAAC;AAwBzD,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAoUF,eAAO,MAAM,eAAe;iBACP,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;qBAuCzD,OAAO,GAAG,aAAa;EAUxC,CAAC;AAEH,eAAe,eAAe,CAAC"}
|
|
@@ -179,6 +179,38 @@ const releaseLockAfterResult = async (meta, outcome) => {
|
|
|
179
179
|
await doRelease();
|
|
180
180
|
}
|
|
181
181
|
};
|
|
182
|
+
const getPayloadWithMeta = (payloadWithoutMeta, meta) => {
|
|
183
|
+
return meta ? { ...payloadWithoutMeta, [QUEUE_META_KEY]: meta } : payloadWithoutMeta;
|
|
184
|
+
};
|
|
185
|
+
const processBroadcastJob = async (options, msg, job) => {
|
|
186
|
+
const channels = resolveQueuedBroadcastChannels(job);
|
|
187
|
+
Logger.debug('Queue worker: processing queued broadcast', {
|
|
188
|
+
queue: options.queueName,
|
|
189
|
+
messageId: msg.id,
|
|
190
|
+
channels,
|
|
191
|
+
compatibilityChannel: job.channel,
|
|
192
|
+
event: job.event,
|
|
193
|
+
queuedAt: job.timestamp,
|
|
194
|
+
delivery: job.delivery,
|
|
195
|
+
broadcaster: job.broadcaster,
|
|
196
|
+
});
|
|
197
|
+
await Broadcast.publish({
|
|
198
|
+
channels,
|
|
199
|
+
event: job.event,
|
|
200
|
+
data: job.data,
|
|
201
|
+
delivery: job.delivery,
|
|
202
|
+
broadcaster: job.broadcaster,
|
|
203
|
+
socketId: job.socketId,
|
|
204
|
+
});
|
|
205
|
+
};
|
|
206
|
+
const processKnownJob = async (kind, options, msg, payloadWithoutMeta) => {
|
|
207
|
+
if (kind === 'broadcast') {
|
|
208
|
+
await processBroadcastJob(options, msg, payloadWithoutMeta);
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
const job = payloadWithoutMeta;
|
|
212
|
+
await Notification.send(job.recipient, job.message, job.options ?? {});
|
|
213
|
+
};
|
|
182
214
|
const processMessage = async (options, msg, maxAttempts, result) => {
|
|
183
215
|
const payload = msg.payload ?? {};
|
|
184
216
|
const { payload: payloadWithoutMeta, meta } = extractQueueMeta(payload);
|
|
@@ -196,9 +228,7 @@ const processMessage = async (options, msg, maxAttempts, result) => {
|
|
|
196
228
|
const timestamp = getTimestamp(payloadWithoutMeta);
|
|
197
229
|
if (typeof timestamp === 'number' && timestamp > Date.now()) {
|
|
198
230
|
// Not due yet: re-enqueue and stop after rotating the head once.
|
|
199
|
-
const payloadForRequeue = meta
|
|
200
|
-
? { ...payloadWithoutMeta, [QUEUE_META_KEY]: meta }
|
|
201
|
-
: payloadWithoutMeta;
|
|
231
|
+
const payloadForRequeue = getPayloadWithMeta(payloadWithoutMeta, meta);
|
|
202
232
|
await Queue.enqueue(options.queueName, payloadForRequeue, options.driverName);
|
|
203
233
|
await Queue.ack(options.queueName, msg.id, options.driverName);
|
|
204
234
|
result.notDueRequeued++;
|
|
@@ -206,32 +236,7 @@ const processMessage = async (options, msg, maxAttempts, result) => {
|
|
|
206
236
|
}
|
|
207
237
|
const attempts = getAttempts(payloadWithoutMeta);
|
|
208
238
|
try {
|
|
209
|
-
|
|
210
|
-
const job = payloadWithoutMeta;
|
|
211
|
-
const channels = resolveQueuedBroadcastChannels(job);
|
|
212
|
-
Logger.debug('Queue worker: processing queued broadcast', {
|
|
213
|
-
queue: options.queueName,
|
|
214
|
-
messageId: msg.id,
|
|
215
|
-
channels,
|
|
216
|
-
compatibilityChannel: job.channel,
|
|
217
|
-
event: job.event,
|
|
218
|
-
queuedAt: job.timestamp,
|
|
219
|
-
delivery: job.delivery,
|
|
220
|
-
broadcaster: job.broadcaster,
|
|
221
|
-
});
|
|
222
|
-
await Broadcast.publish({
|
|
223
|
-
channels,
|
|
224
|
-
event: job.event,
|
|
225
|
-
data: job.data,
|
|
226
|
-
delivery: job.delivery,
|
|
227
|
-
broadcaster: job.broadcaster,
|
|
228
|
-
socketId: job.socketId,
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
const job = payloadWithoutMeta;
|
|
233
|
-
await Notification.send(job.recipient, job.message, job.options ?? {});
|
|
234
|
-
}
|
|
239
|
+
await processKnownJob(kind, options, msg, payloadWithoutMeta);
|
|
235
240
|
await releaseLockAfterResult(meta, 'success');
|
|
236
241
|
await Queue.ack(options.queueName, msg.id, options.driverName);
|
|
237
242
|
result.processed++;
|
|
@@ -249,9 +254,7 @@ const processMessage = async (options, msg, maxAttempts, result) => {
|
|
|
249
254
|
error,
|
|
250
255
|
});
|
|
251
256
|
if (canRetry) {
|
|
252
|
-
const payloadForRetry = meta
|
|
253
|
-
? { ...payloadWithoutMeta, [QUEUE_META_KEY]: meta }
|
|
254
|
-
: payloadWithoutMeta;
|
|
257
|
+
const payloadForRetry = getPayloadWithMeta(payloadWithoutMeta, meta);
|
|
255
258
|
await Queue.enqueue(options.queueName, withAttempts(payloadForRetry, nextAttempts), options.driverName);
|
|
256
259
|
result.retried++;
|
|
257
260
|
}
|
package/src/config/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/config/app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/config/app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,cAAc,CAAC;AAgJ3D,QAAA,MAAM,UAAU,QAAO,MAAM,CAAC,UAA2B,CAAC;AAqG1D,eAAO,MAAM,SAAS;IArFpB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;kCACc,OAAO;IAIxB;;OAEG;iCACa,OAAO;IAIvB;;OAEG;8BACU,OAAO;IAIpB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;+BA9FkB,MAAM,CAAC,UAAU;kCAhDd,MAAM;EAqJoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC"}
|
package/src/config/app.js
CHANGED
|
@@ -34,6 +34,18 @@ const readEnvBool = (key, defaultValue = false) => {
|
|
|
34
34
|
return defaultValue;
|
|
35
35
|
return raw.toLowerCase() === 'true' || raw === '1';
|
|
36
36
|
};
|
|
37
|
+
const resolveConfiguredTimezone = () => {
|
|
38
|
+
const raw = readEnvString('APP_TIMEZONE', readEnvString('TIME_ZONE', Env.APP_TIMEZONE)).trim();
|
|
39
|
+
if (raw === '')
|
|
40
|
+
return 'UTC';
|
|
41
|
+
try {
|
|
42
|
+
Intl.DateTimeFormat('en-US', { timeZone: raw }).resolvedOptions();
|
|
43
|
+
return raw;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return 'UTC';
|
|
47
|
+
}
|
|
48
|
+
};
|
|
37
49
|
const readAppPort = () => {
|
|
38
50
|
if (typeof anyEnv.getInt === 'function') {
|
|
39
51
|
return anyEnv.getInt('PORT', anyEnv.getInt('APP_PORT', 3000));
|
|
@@ -180,7 +192,7 @@ const appConfigObj = {
|
|
|
180
192
|
/**
|
|
181
193
|
* Application timezone
|
|
182
194
|
*/
|
|
183
|
-
timezone:
|
|
195
|
+
timezone: resolveConfiguredTimezone(),
|
|
184
196
|
/**
|
|
185
197
|
* Request timeout (milliseconds)
|
|
186
198
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/config/broadcast.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAEV,gBAAgB,EAEhB,0BAA0B,EAI3B,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,KAAK,mCAAmC,GAAG,QAAQ,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,KAAK,oCAAoC,GAAG,QAAQ,CAAC;IACnD,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,KAAK,6BAA6B,GAAG,QAAQ,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC,CAAC;AAEH,KAAK,8BAA8B,GAAG,QAAQ,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,KAAK,gCAAgC,GAAG,CACtC,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,mCAAmC,KACzC,OAAO,CAAC,oCAAoC,CAAC,GAAG,oCAAoC,CAAC;AAE1F,KAAK,yBAAyB,GAAG,QAAQ,CAAC;IACxC,SAAS,EAAE,gCAAgC,CAAC;CAC7C,CAAC,CAAC;AAEH,KAAK,mCAAmC,GAAG,CACzC,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,6BAA6B,KACnC,OAAO,CAAC,8BAA8B,CAAC,GAAG,8BAA8B,CAAC;AAE9E,KAAK,4BAA4B,GAAG,QAAQ,CAAC;IAC3C,SAAS,EAAE,mCAAmC,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,SAAS,CAAC,EAAE,yBAAyB,GAAG,gCAAgC,CAAC;IACzE,OAAO,CAAC,EAAE,4BAA4B,GAAG,mCAAmC,CAAC;IAC7E,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,sBAAsB,EAAE,OAAO,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IACpD,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACxC,CAAC,CAAC;AAEH,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,0BAA0B,CAAC;CAChE,CAAC;AA6JF,QAAA,MAAM,qBAAqB,QAAO,
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/config/broadcast.ts"],"names":[],"mappings":"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"}
|
package/src/config/broadcast.js
CHANGED
|
@@ -144,6 +144,11 @@ const createBroadcastConfig = () => {
|
|
|
144
144
|
pusher: getPusherConfig(),
|
|
145
145
|
redis: getRedisConfig(),
|
|
146
146
|
redishttps: getRedisHttpsConfig(),
|
|
147
|
+
'http-bridge': {
|
|
148
|
+
driver: 'http-bridge',
|
|
149
|
+
url: Env.get('BROADCAST_BRIDGE_URL', ''),
|
|
150
|
+
secret: Env.get('BROADCAST_BRIDGE_SECRET', Env.get('X_ZINTRUST_SOCKET_SEC', Env.get('BROADCAST_SECRET', ''))),
|
|
151
|
+
},
|
|
147
152
|
...overrides.drivers,
|
|
148
153
|
};
|
|
149
154
|
},
|
package/src/config/env.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export declare const getSourceOf: (key: string) => string | undefined;
|
|
|
21
21
|
export declare const snapshotSources: () => Record<string, string>;
|
|
22
22
|
export declare const getResolvedState: () => ResolvedEnvState;
|
|
23
23
|
export declare const get: (key: string, defaultValue?: string) => string;
|
|
24
|
+
export declare const resolveAppTimezone: () => string;
|
|
24
25
|
export declare const getInt: (key: string, defaultValue: number) => number;
|
|
25
26
|
export declare const getFloat: (key: string, defaultValue?: number) => number;
|
|
26
27
|
export declare const getBool: (key: string, defaultValue?: boolean) => boolean;
|
package/src/config/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/config/env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAClF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/config/env.ts"],"names":[],"mappings":"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"}
|
package/src/config/env.js
CHANGED
|
@@ -12,6 +12,8 @@ let externalEnvSource = null;
|
|
|
12
12
|
const DIRECT_ENV_SOURCE = 'direct-env';
|
|
13
13
|
const PACKED_ENV_ENABLE_KEY = 'USE_PACK';
|
|
14
14
|
const PACKED_ENV_KEYS_KEY = 'PACK_KEYS';
|
|
15
|
+
const APP_TIMEZONE_KEY = 'APP_TIMEZONE';
|
|
16
|
+
const TIME_ZONE_ALIAS_KEY = 'TIME_ZONE';
|
|
15
17
|
const PACKED_ENV_CONTROL_KEYS = new Set([PACKED_ENV_ENABLE_KEY, PACKED_ENV_KEYS_KEY]);
|
|
16
18
|
const createPackedEnvError = (message, details) => {
|
|
17
19
|
const error = Object.create(globalThis.Error.prototype);
|
|
@@ -142,6 +144,28 @@ const resolvePackedEnvState = (env) => {
|
|
|
142
144
|
};
|
|
143
145
|
const getResolvedEnvState = () => resolvePackedEnvState(getRawEnvSource());
|
|
144
146
|
const getEnvSource = () => getResolvedEnvState().values;
|
|
147
|
+
const getResolvedEnvEntry = (key, env) => {
|
|
148
|
+
const directValue = normalizeEnvValue(env[key]);
|
|
149
|
+
if (directValue !== '') {
|
|
150
|
+
return { value: directValue, resolvedKey: key };
|
|
151
|
+
}
|
|
152
|
+
if (key === APP_TIMEZONE_KEY) {
|
|
153
|
+
const aliasValue = normalizeEnvValue(env[TIME_ZONE_ALIAS_KEY]);
|
|
154
|
+
if (aliasValue !== '') {
|
|
155
|
+
return { value: aliasValue, resolvedKey: TIME_ZONE_ALIAS_KEY };
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return { value: '' };
|
|
159
|
+
};
|
|
160
|
+
const isValidTimeZone = (value) => {
|
|
161
|
+
try {
|
|
162
|
+
Intl.DateTimeFormat('en-US', { timeZone: value }).resolvedOptions();
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
};
|
|
145
169
|
export const getProcessLike = () => processLike;
|
|
146
170
|
export const dirnameFromExecPath = (execPath, platform) => {
|
|
147
171
|
const separator = platform === 'win32' ? '\\' : '/';
|
|
@@ -152,14 +176,21 @@ export const dirnameFromExecPath = (execPath, platform) => {
|
|
|
152
176
|
};
|
|
153
177
|
export const getOptional = (key) => {
|
|
154
178
|
const env = getEnvSource();
|
|
155
|
-
|
|
179
|
+
const resolved = getResolvedEnvEntry(key, env);
|
|
180
|
+
if (resolved.resolvedKey === undefined)
|
|
181
|
+
return undefined;
|
|
182
|
+
return resolved.value;
|
|
156
183
|
};
|
|
157
184
|
export const has = (key) => {
|
|
158
185
|
const env = getEnvSource();
|
|
159
|
-
return
|
|
186
|
+
return getResolvedEnvEntry(key, env).resolvedKey !== undefined;
|
|
160
187
|
};
|
|
161
188
|
export const getSourceOf = (key) => {
|
|
162
|
-
|
|
189
|
+
const resolvedState = getResolvedEnvState();
|
|
190
|
+
const resolved = getResolvedEnvEntry(key, resolvedState.values);
|
|
191
|
+
if (resolved.resolvedKey === undefined)
|
|
192
|
+
return undefined;
|
|
193
|
+
return resolvedState.sources[resolved.resolvedKey];
|
|
163
194
|
};
|
|
164
195
|
export const snapshotSources = () => {
|
|
165
196
|
return { ...getResolvedEnvState().sources };
|
|
@@ -168,9 +199,16 @@ export const getResolvedState = () => getResolvedEnvState();
|
|
|
168
199
|
// Private helper functions
|
|
169
200
|
export const get = (key, defaultValue) => {
|
|
170
201
|
const env = getEnvSource();
|
|
171
|
-
const value =
|
|
202
|
+
const value = getResolvedEnvEntry(key, env).value;
|
|
172
203
|
return value === '' ? (defaultValue ?? '') : value;
|
|
173
204
|
};
|
|
205
|
+
export const resolveAppTimezone = () => {
|
|
206
|
+
const raw = get(APP_TIMEZONE_KEY, 'UTC').trim();
|
|
207
|
+
if (isNonEmptyString(raw)) {
|
|
208
|
+
return isValidTimeZone(raw) ? raw : 'UTC';
|
|
209
|
+
}
|
|
210
|
+
return 'UTC';
|
|
211
|
+
};
|
|
174
212
|
export const getInt = (key, defaultValue) => {
|
|
175
213
|
const value = get(key, String(defaultValue ?? 0));
|
|
176
214
|
if (value.trim() === '')
|
|
@@ -411,7 +449,7 @@ export const Env = Object.freeze({
|
|
|
411
449
|
// Deployment
|
|
412
450
|
ENVIRONMENT: get('ENVIRONMENT', 'development'),
|
|
413
451
|
REQUEST_TIMEOUT: getInt('REQUEST_TIMEOUT', 30000),
|
|
414
|
-
APP_TIMEZONE: get(
|
|
452
|
+
APP_TIMEZONE: get(APP_TIMEZONE_KEY, 'UTC'),
|
|
415
453
|
MAX_BODY_SIZE: getInt('MAX_BODY_SIZE', 10485760),
|
|
416
454
|
SHUTDOWN_TIMEOUT: getInt('SHUTDOWN_TIMEOUT', 10000),
|
|
417
455
|
// SSE
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/config/logger.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,UAAU,OAAO;IACf,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClE;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/config/logger.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,UAAU,OAAO;IACf,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClE;AAoyBD;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAkCpG,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,MAAM,EAAE,CAYtD,CAAC;AAEF,eAAO,MAAM,MAAM;qBA3MQ,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;oBAuBjD,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;oBAuBhD,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;qBAuB/C,MAAM,UAAU,OAAO,aAAa,MAAM,KAAG,IAAI;qBA6BjD,MAAM,UAAU,OAAO,aAAa,MAAM,KAAG,IAAI;yBA2FrC,OAAO,CAAC,MAAM,EAAE,CAAC;mBA1DtB,MAAM,KAAG,OAAO;kBAiD7B,OAAO,KAAG,CAAC,MAAM,IAAI,CAAC;EAgCzC,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
package/src/config/logger.js
CHANGED
|
@@ -275,14 +275,14 @@ const shouldColorizeConsoleText = () => {
|
|
|
275
275
|
configured === 'never') {
|
|
276
276
|
return false;
|
|
277
277
|
}
|
|
278
|
+
if (getEnvString('NO_COLOR', '').trim() !== '')
|
|
279
|
+
return false;
|
|
278
280
|
if (configured === 'true' ||
|
|
279
281
|
configured === '1' ||
|
|
280
282
|
configured === 'on' ||
|
|
281
283
|
configured === 'always') {
|
|
282
284
|
return true;
|
|
283
285
|
}
|
|
284
|
-
if (getEnvString('NO_COLOR', '').trim() !== '')
|
|
285
|
-
return false;
|
|
286
286
|
if (typeof process === 'undefined')
|
|
287
287
|
return true;
|
|
288
288
|
return process.stdout?.isTTY !== false;
|
package/src/config/type.d.ts
CHANGED
|
@@ -338,7 +338,7 @@ export type CacheConfigInput = {
|
|
|
338
338
|
default: string;
|
|
339
339
|
drivers: CacheDrivers;
|
|
340
340
|
};
|
|
341
|
-
export type KnownBroadcastDriverName = 'inmemory' | 'pusher' | 'redis' | 'redishttps';
|
|
341
|
+
export type KnownBroadcastDriverName = 'inmemory' | 'pusher' | 'redis' | 'redishttps' | 'http-bridge';
|
|
342
342
|
export type InMemoryBroadcastDriverConfig = {
|
|
343
343
|
driver: 'inmemory';
|
|
344
344
|
};
|
|
@@ -364,7 +364,12 @@ export type RedisHttpsBroadcastDriverConfig = {
|
|
|
364
364
|
token: string;
|
|
365
365
|
channelPrefix: string;
|
|
366
366
|
};
|
|
367
|
-
export type
|
|
367
|
+
export type HttpBridgeBroadcastDriverConfig = {
|
|
368
|
+
driver: 'http-bridge';
|
|
369
|
+
url: string;
|
|
370
|
+
secret: string;
|
|
371
|
+
};
|
|
372
|
+
export type KnownBroadcastDriverConfig = InMemoryBroadcastDriverConfig | PusherBroadcastDriverConfig | RedisBroadcastDriverConfig | RedisHttpsBroadcastDriverConfig | HttpBridgeBroadcastDriverConfig;
|
|
368
373
|
export type BroadcastDrivers = Record<string, KnownBroadcastDriverConfig>;
|
|
369
374
|
export type BroadcastConfigInput = {
|
|
370
375
|
default: string;
|
package/src/config/type.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/config/type.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/config/type.ts"],"names":[],"mappings":"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"}
|
package/src/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @zintrust/core v0.4.
|
|
2
|
+
* @zintrust/core v0.4.67
|
|
3
3
|
*
|
|
4
4
|
* ZinTrust Framework - Production-Grade TypeScript Backend
|
|
5
5
|
* Built for performance, type safety, and exceptional developer experience
|
|
6
6
|
*
|
|
7
7
|
* Build Information:
|
|
8
|
-
* Built: 2026-04-
|
|
8
|
+
* Built: 2026-04-06T10:02:30.824Z
|
|
9
9
|
* Node: >=20.0.0
|
|
10
10
|
* License: MIT
|
|
11
11
|
*
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* Available at runtime for debugging and health checks
|
|
22
22
|
*/
|
|
23
23
|
export const ZINTRUST_VERSION = '0.1.41';
|
|
24
|
-
export const ZINTRUST_BUILD_DATE = '2026-04-
|
|
24
|
+
export const ZINTRUST_BUILD_DATE = '2026-04-06T10:02:30.746Z'; // Replaced during build
|
|
25
25
|
export { Application } from './boot/Application.js';
|
|
26
26
|
export { AwsSigV4 } from './common/index.js';
|
|
27
27
|
export { SignedRequest } from './security/SignedRequest.js';
|
|
@@ -50,7 +50,7 @@ const computeCronDelay = (schedule) => {
|
|
|
50
50
|
}
|
|
51
51
|
const tz = typeof schedule.timezone === 'string' && schedule.timezone.trim().length > 0
|
|
52
52
|
? schedule.timezone
|
|
53
|
-
:
|
|
53
|
+
: undefined;
|
|
54
54
|
const nextAt = Cron.nextRunAtMs(nowMs(), schedule.cron, tz);
|
|
55
55
|
const baseDelay = Math.max(0, nextAt - nowMs());
|
|
56
56
|
const jitter = resolveJitterMs(schedule.jitterMs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cron.d.ts","sourceRoot":"","sources":["../../../../src/scheduler/cron/Cron.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Cron.d.ts","sourceRoot":"","sources":["../../../../src/scheduler/cron/Cron.ts"],"names":[],"mappings":"AAIA,KAAK,WAAW,GAAG,QAAQ,CAAC;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG,QAAQ,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC;AAEnG,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,WAAW,CAAC;CACxB,CAAC,CAAC;AA0LH,eAAO,MAAM,IAAI;gBACH,MAAM,GAAG,QAAQ;uBA+BV,MAAM,QAAQ,MAAM,aAAa,MAAM,GAAG,MAAM;EAwBnE,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveAppTimezone } from '../../config/env.js';
|
|
1
2
|
const ANY = Object.freeze({ any: true });
|
|
2
3
|
const toInt = (value) => {
|
|
3
4
|
const n = Number.parseInt(value, 10);
|
|
@@ -179,16 +180,19 @@ export const Cron = Object.freeze({
|
|
|
179
180
|
dayOfWeek: parseField(dow, { min: 0, max: 7 }, normalizeDow),
|
|
180
181
|
});
|
|
181
182
|
},
|
|
182
|
-
nextRunAtMs(nowMs, expr, timeZone
|
|
183
|
+
nextRunAtMs(nowMs, expr, timeZone) {
|
|
183
184
|
const spec = this.parse(expr);
|
|
184
185
|
const base = new Date(nowMs);
|
|
186
|
+
const resolvedTimeZone = typeof timeZone === 'string' && timeZone.trim().length > 0
|
|
187
|
+
? timeZone.trim()
|
|
188
|
+
: resolveAppTimezone();
|
|
185
189
|
// Cron is minute-resolution; start from next minute boundary.
|
|
186
190
|
base.setUTCSeconds(0, 0);
|
|
187
191
|
base.setTime(base.getTime() + 60_000);
|
|
188
192
|
// Bound search to 366 days (minute granularity). This is defensive; typical crons resolve quickly.
|
|
189
193
|
const maxIterations = 366 * 24 * 60;
|
|
190
194
|
for (let i = 0; i < maxIterations; i++) {
|
|
191
|
-
const parts = getZonedParts(base,
|
|
195
|
+
const parts = getZonedParts(base, resolvedTimeZone);
|
|
192
196
|
if (matchesSpec(spec, parts))
|
|
193
197
|
return base.getTime();
|
|
194
198
|
base.setTime(base.getTime() + 60_000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Broadcast.d.ts","sourceRoot":"","sources":["../../../../src/tools/broadcast/Broadcast.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,KAAK,WAAW,GAAG,QAAQ,CAAC;IAC1B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC5E,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;AAC9E,KAAK,qBAAqB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC1D,KAAK,kBAAkB,GAAG,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAShE,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC,CAAC;AA0BH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,EAAE,EAAE,IAAI,CAAC;IACT,SAAS,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC9B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Broadcast.d.ts","sourceRoot":"","sources":["../../../../src/tools/broadcast/Broadcast.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,KAAK,WAAW,GAAG,QAAQ,CAAC;IAC1B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC5E,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;AAC9E,KAAK,qBAAqB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC1D,KAAK,kBAAkB,GAAG,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAShE,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC,CAAC;AA0BH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,EAAE,EAAE,IAAI,CAAC;IACT,SAAS,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC9B,CAAC,CAAC;AA+xBH,eAAO,MAAM,SAAS;mBACC,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;kBAIxD,MAAM,SAAS,MAAM,QAAQ,OAAO;0BAU5B,MAAM,SAAS,MAAM,QAAQ,OAAO;wBAKvD,qBAAqB,YACnB;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;4BAO1C,MAAM,SACR,MAAM,QACP,OAAO,YACJ;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;qBAKpC,MAAM;8BAES,qBAAqB;kCAEjB,MAAM,SAAS,MAAM,QAAQ,OAAO;;uBAKrD,MAAM,GAAG,WAAW;EAmBvC,CAAC;AAEH,eAAe,SAAS,CAAC"}
|
|
@@ -14,6 +14,7 @@ const BROADCAST_CHANNEL_SCOPES = new Set([
|
|
|
14
14
|
'persistent',
|
|
15
15
|
]);
|
|
16
16
|
const INTERNAL_SOCKET_SECRET_HEADER = 'x-zintrust-socket-secret';
|
|
17
|
+
const DEFAULT_BROADCAST_EVENTS_PATH_TEMPLATE = '/apps/{appId}/events';
|
|
17
18
|
const pickFirstNonEmpty = (...values) => {
|
|
18
19
|
for (const value of values) {
|
|
19
20
|
if (value.trim() !== '') {
|
|
@@ -108,24 +109,86 @@ const getLoopbackAlternativeBaseUrl = (value) => {
|
|
|
108
109
|
}
|
|
109
110
|
return '';
|
|
110
111
|
};
|
|
112
|
+
const resolveBroadcastAppId = () => {
|
|
113
|
+
return (pickFirstNonEmpty(Env.get('PUSHER_APP_ID', ''), Env.get('BROADCAST_APP_ID', '')) || 'internal');
|
|
114
|
+
};
|
|
115
|
+
const resolveBroadcastSecret = () => {
|
|
116
|
+
return pickFirstNonEmpty(Env.get('BROADCAST_BRIDGE_SECRET', ''), Env.get('X_ZINTRUST_SOCKET_SEC', ''), Env.get('BROADCAST_SECRET', ''), Env.get('PUSHER_APP_SECRET', ''), Env.get('BROADCAST_APP_SECRET', ''));
|
|
117
|
+
};
|
|
118
|
+
const resolveBridgePath = (appId, value) => {
|
|
119
|
+
const raw = (value ?? DEFAULT_BROADCAST_EVENTS_PATH_TEMPLATE).trim();
|
|
120
|
+
const withLeadingSlash = raw === '' ? DEFAULT_BROADCAST_EVENTS_PATH_TEMPLATE : raw;
|
|
121
|
+
const normalized = withLeadingSlash.startsWith('/') ? withLeadingSlash : `/${withLeadingSlash}`;
|
|
122
|
+
return normalized
|
|
123
|
+
.replaceAll('{appId}', encodeURIComponent(appId))
|
|
124
|
+
.replaceAll(':appId', encodeURIComponent(appId));
|
|
125
|
+
};
|
|
126
|
+
const resolveExplicitEndpoint = (value, appId) => {
|
|
127
|
+
const absoluteUrl = toAbsoluteBaseUrl(value);
|
|
128
|
+
if (absoluteUrl === '') {
|
|
129
|
+
return '';
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
const parsed = new URL(absoluteUrl);
|
|
133
|
+
if (parsed.pathname === '/' || parsed.pathname.trim() === '') {
|
|
134
|
+
parsed.pathname = resolveBridgePath(appId);
|
|
135
|
+
}
|
|
136
|
+
return parsed.toString();
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
return '';
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
const resolveLegacyBridgeEndpoint = (appId) => {
|
|
143
|
+
const host = Env.get('ZINTRUST_SOCKET_HOST', '').trim();
|
|
144
|
+
if (host === '') {
|
|
145
|
+
return '';
|
|
146
|
+
}
|
|
147
|
+
const port = Env.get('ZINTRUST_SOCKET_PORT', '').trim();
|
|
148
|
+
const protocol = pickFirstNonEmpty(Env.get('BROADCAST_BRIDGE_PROTOCOL', ''), 'http');
|
|
149
|
+
const portSuffix = port === '' ? '' : `:${port}`;
|
|
150
|
+
const baseUrl = `${protocol}://${host}${portSuffix}`;
|
|
151
|
+
try {
|
|
152
|
+
return new URL(resolveBridgePath(appId, Env.get('BROADCAST_BRIDGE_PATH', '')), baseUrl).toString();
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
return '';
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
const buildEndpointCandidates = (values) => {
|
|
159
|
+
const resolved = [];
|
|
160
|
+
for (const value of values) {
|
|
161
|
+
appendUnique(resolved, value);
|
|
162
|
+
appendUnique(resolved, getLoopbackAlternativeBaseUrl(value));
|
|
163
|
+
}
|
|
164
|
+
return resolved;
|
|
165
|
+
};
|
|
111
166
|
const getInternalPublishConfig = () => {
|
|
112
167
|
const baseUrls = [];
|
|
113
168
|
appendUnique(baseUrls, toAbsoluteBaseUrl(Env.get('BROADCAST_INTERNAL_URL', '')));
|
|
114
169
|
appendUnique(baseUrls, toAbsoluteBaseUrl(Env.get('APP_URL', '')));
|
|
115
170
|
appendUnique(baseUrls, toAbsoluteBaseUrl(Env.get('BASE_URL', Env.BASE_URL ?? '')));
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
appendUnique(resolvedBaseUrls, baseUrl);
|
|
119
|
-
appendUnique(resolvedBaseUrls, getLoopbackAlternativeBaseUrl(baseUrl));
|
|
120
|
-
}
|
|
121
|
-
const appId = pickFirstNonEmpty(Env.get('PUSHER_APP_ID', ''), Env.get('BROADCAST_APP_ID', '')) || 'internal';
|
|
122
|
-
const secret = pickFirstNonEmpty(Env.get('BROADCAST_SECRET', ''), Env.get('PUSHER_APP_SECRET', ''), Env.get('BROADCAST_APP_SECRET', ''));
|
|
171
|
+
const appId = resolveBroadcastAppId();
|
|
172
|
+
const secret = resolveBroadcastSecret();
|
|
123
173
|
return Object.freeze({
|
|
124
|
-
endpoints:
|
|
174
|
+
endpoints: buildEndpointCandidates(baseUrls).map((baseUrl) => new URL(`/apps/${encodeURIComponent(appId)}/events`, baseUrl).toString()),
|
|
125
175
|
appId,
|
|
126
176
|
secret,
|
|
127
177
|
});
|
|
128
178
|
};
|
|
179
|
+
const getBridgePublishConfig = () => {
|
|
180
|
+
const appId = resolveBroadcastAppId();
|
|
181
|
+
return Object.freeze({
|
|
182
|
+
endpoints: buildEndpointCandidates([
|
|
183
|
+
resolveExplicitEndpoint(Env.get('BROADCAST_BRIDGE_URL', ''), appId),
|
|
184
|
+
resolveLegacyBridgeEndpoint(appId),
|
|
185
|
+
]),
|
|
186
|
+
secret: resolveBroadcastSecret(),
|
|
187
|
+
});
|
|
188
|
+
};
|
|
189
|
+
const isIsolatedWorkerRuntime = () => {
|
|
190
|
+
return Env.getBool('WORKER_ISOLATED', false) || Env.getBool('DOCKER_WORKER', false);
|
|
191
|
+
};
|
|
129
192
|
const parseJsonResponseSafe = async (response) => {
|
|
130
193
|
const raw = await response.text();
|
|
131
194
|
if (raw.trim() === '') {
|
|
@@ -264,6 +327,9 @@ const sendWithConfig = async (config, channel, event, data) => {
|
|
|
264
327
|
if (driverName === 'redishttps') {
|
|
265
328
|
return RedisHttpsDriver.send(config, channel, event, data);
|
|
266
329
|
}
|
|
330
|
+
if (driverName === 'http-bridge') {
|
|
331
|
+
return publishViaHttpBridgeDriver(toHttpBridgeRuntimeConfig(config), normalizePublishInput({ channel, event, data }));
|
|
332
|
+
}
|
|
267
333
|
throw ErrorFactory.createConfigError(`Broadcast driver not implemented: ${driverName}`);
|
|
268
334
|
};
|
|
269
335
|
const normalizeDelivery = (value) => {
|
|
@@ -363,7 +429,96 @@ const tryPublishViaInternalHttp = async (input) => {
|
|
|
363
429
|
};
|
|
364
430
|
return tryInternalPublishEndpoints(config.endpoints, config.secret, payload);
|
|
365
431
|
};
|
|
432
|
+
const tryPublishViaConfiguredBridge = async (input, config) => {
|
|
433
|
+
if (config.endpoints.length === 0 || typeof globalThis.fetch !== 'function') {
|
|
434
|
+
return { result: null };
|
|
435
|
+
}
|
|
436
|
+
const payload = {
|
|
437
|
+
channels: input.channels,
|
|
438
|
+
event: input.event,
|
|
439
|
+
data: input.data,
|
|
440
|
+
...(input.socketId === undefined ? {} : { socket_id: input.socketId }),
|
|
441
|
+
};
|
|
442
|
+
return tryInternalPublishEndpoints(config.endpoints, config.secret, payload);
|
|
443
|
+
};
|
|
444
|
+
const shouldUseAutomaticHttpBridge = (config, input) => {
|
|
445
|
+
if (input.delivery === 'driver') {
|
|
446
|
+
return false;
|
|
447
|
+
}
|
|
448
|
+
return config.driver === 'inmemory' && isIsolatedWorkerRuntime();
|
|
449
|
+
};
|
|
450
|
+
const toHttpBridgeRuntimeConfig = (config) => {
|
|
451
|
+
return Object.freeze({
|
|
452
|
+
url: config.url,
|
|
453
|
+
secret: config.secret,
|
|
454
|
+
});
|
|
455
|
+
};
|
|
456
|
+
const publishViaHttpBridgeDriver = async (config, input) => {
|
|
457
|
+
const bridgeConfig = Object.freeze({
|
|
458
|
+
endpoints: buildEndpointCandidates([
|
|
459
|
+
resolveExplicitEndpoint(config.url, resolveBroadcastAppId()),
|
|
460
|
+
]),
|
|
461
|
+
secret: config.secret.trim(),
|
|
462
|
+
});
|
|
463
|
+
const bridgeResult = await tryPublishViaConfiguredBridge(input, bridgeConfig);
|
|
464
|
+
if (bridgeResult.result !== null) {
|
|
465
|
+
return {
|
|
466
|
+
ok: true,
|
|
467
|
+
transport: 'driver',
|
|
468
|
+
channels: bridgeResult.result.channels,
|
|
469
|
+
event: bridgeResult.result.event,
|
|
470
|
+
deliveries: bridgeResult.result.deliveries,
|
|
471
|
+
driver: 'http-bridge',
|
|
472
|
+
endpoint: bridgeResult.result.endpoint,
|
|
473
|
+
result: bridgeResult.result.result,
|
|
474
|
+
};
|
|
475
|
+
}
|
|
476
|
+
if (bridgeResult.error instanceof Error) {
|
|
477
|
+
throw bridgeResult.error;
|
|
478
|
+
}
|
|
479
|
+
throw ErrorFactory.createConfigError('HTTP bridge broadcast driver misconfigured: BROADCAST_BRIDGE_URL is required');
|
|
480
|
+
};
|
|
481
|
+
const tryPublishNonDriverTransports = async (normalized, selectedConfig) => {
|
|
482
|
+
const attemptedTransports = [];
|
|
483
|
+
let lastTransportError;
|
|
484
|
+
if (shouldUseAutomaticHttpBridge(selectedConfig, normalized)) {
|
|
485
|
+
attemptedTransports.push('internal-http');
|
|
486
|
+
const bridgeResult = await tryPublishViaConfiguredBridge(normalized, getBridgePublishConfig());
|
|
487
|
+
if (bridgeResult.result !== null) {
|
|
488
|
+
return { result: bridgeResult.result, attemptedTransports, lastTransportError };
|
|
489
|
+
}
|
|
490
|
+
if (bridgeResult.error !== undefined) {
|
|
491
|
+
lastTransportError = bridgeResult.error;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
attemptedTransports.push('internal-http');
|
|
495
|
+
const internalHttpResult = await tryPublishViaInternalHttp(normalized);
|
|
496
|
+
if (internalHttpResult.result !== null) {
|
|
497
|
+
return { result: internalHttpResult.result, attemptedTransports, lastTransportError };
|
|
498
|
+
}
|
|
499
|
+
if (internalHttpResult.error !== undefined) {
|
|
500
|
+
lastTransportError = internalHttpResult.error;
|
|
501
|
+
}
|
|
502
|
+
attemptedTransports.push('socket');
|
|
503
|
+
const socketResult = await tryPublishViaSocket(normalized);
|
|
504
|
+
if (socketResult.result !== null) {
|
|
505
|
+
return { result: socketResult.result, attemptedTransports, lastTransportError };
|
|
506
|
+
}
|
|
507
|
+
if (socketResult.error !== undefined) {
|
|
508
|
+
lastTransportError = socketResult.error;
|
|
509
|
+
logTransportFallback('socket', {
|
|
510
|
+
error: describeError(socketResult.error),
|
|
511
|
+
});
|
|
512
|
+
}
|
|
513
|
+
return { result: null, attemptedTransports, lastTransportError };
|
|
514
|
+
};
|
|
366
515
|
const publishWithConfig = async (config, broadcasterName, input) => {
|
|
516
|
+
if (config.driver === 'http-bridge') {
|
|
517
|
+
return {
|
|
518
|
+
...(await publishViaHttpBridgeDriver(toHttpBridgeRuntimeConfig(config), input)),
|
|
519
|
+
...(broadcasterName === undefined ? {} : { broadcaster: broadcasterName }),
|
|
520
|
+
};
|
|
521
|
+
}
|
|
367
522
|
const results = await Promise.all(input.channels.map(async (channel) => sendWithConfig(config, channel, input.event, input.data)));
|
|
368
523
|
return {
|
|
369
524
|
ok: true,
|
|
@@ -377,39 +532,28 @@ const publishWithConfig = async (config, broadcasterName, input) => {
|
|
|
377
532
|
};
|
|
378
533
|
const publishInternal = async (input) => {
|
|
379
534
|
const normalized = normalizePublishInput(input);
|
|
380
|
-
const
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
lastTransportError = internalHttpResult.error;
|
|
390
|
-
}
|
|
391
|
-
attemptedTransports.push('socket');
|
|
392
|
-
const socketResult = await tryPublishViaSocket(normalized);
|
|
393
|
-
if (socketResult.result !== null) {
|
|
394
|
-
return { ...socketResult.result, attemptedTransports };
|
|
395
|
-
}
|
|
396
|
-
if (socketResult.error !== undefined) {
|
|
397
|
-
lastTransportError = socketResult.error;
|
|
398
|
-
logTransportFallback('socket', {
|
|
399
|
-
error: describeError(socketResult.error),
|
|
400
|
-
});
|
|
401
|
-
}
|
|
535
|
+
const selectedConfig = await resolveBroadcasterConfig(normalized.broadcaster);
|
|
536
|
+
const autoTransportResult = normalized.delivery === 'driver'
|
|
537
|
+
? { result: null, attemptedTransports: [] }
|
|
538
|
+
: await tryPublishNonDriverTransports(normalized, selectedConfig);
|
|
539
|
+
if (autoTransportResult.result !== null) {
|
|
540
|
+
return {
|
|
541
|
+
...autoTransportResult.result,
|
|
542
|
+
attemptedTransports: autoTransportResult.attemptedTransports,
|
|
543
|
+
};
|
|
402
544
|
}
|
|
403
545
|
if (normalized.delivery === 'socket') {
|
|
404
|
-
if (lastTransportError instanceof Error) {
|
|
405
|
-
throw lastTransportError;
|
|
546
|
+
if (autoTransportResult.lastTransportError instanceof Error) {
|
|
547
|
+
throw autoTransportResult.lastTransportError;
|
|
406
548
|
}
|
|
407
549
|
throw ErrorFactory.createConfigError('Socket publish delivery is not available.');
|
|
408
550
|
}
|
|
409
|
-
attemptedTransports
|
|
410
|
-
|
|
551
|
+
const attemptedTransports = [
|
|
552
|
+
...autoTransportResult.attemptedTransports,
|
|
553
|
+
'driver',
|
|
554
|
+
];
|
|
411
555
|
return {
|
|
412
|
-
...(await publishWithConfig(
|
|
556
|
+
...(await publishWithConfig(selectedConfig, normalized.broadcaster, normalized)),
|
|
413
557
|
attemptedTransports,
|
|
414
558
|
};
|
|
415
559
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdvancedQueue.d.ts","sourceRoot":"","sources":["../../../../src/tools/queue/AdvancedQueue.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"AdvancedQueue.d.ts","sourceRoot":"","sources":["../../../../src/tools/queue/AdvancedQueue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAElB,SAAS,EAGT,WAAW,EACZ,MAAM,eAAe,CAAC;AAOvB,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5F,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3E,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,CAiBtE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Advanced Queue Implementation
|
|
3
3
|
* Extends ZinTrust queue functionality with deduplication and lock management
|
|
4
4
|
*/
|
|
5
|
+
import { isNonEmptyString } from '../../helper/index.js';
|
|
5
6
|
import { Env } from '../../config/env.js';
|
|
6
7
|
import { Logger } from '../../config/logger.js';
|
|
7
8
|
import { queueConfig } from '../../config/queue.js';
|
|
@@ -93,6 +94,36 @@ function shouldAttachReleaseAfterMeta(options) {
|
|
|
93
94
|
return false;
|
|
94
95
|
return typeof options.deduplication.releaseAfter !== 'number';
|
|
95
96
|
}
|
|
97
|
+
function normalizeOptionId(value) {
|
|
98
|
+
if (!isNonEmptyString(value))
|
|
99
|
+
return undefined;
|
|
100
|
+
const normalized = value.trim();
|
|
101
|
+
return normalized.length > 0 ? normalized : undefined;
|
|
102
|
+
}
|
|
103
|
+
function attachAdvancedIdentifiers(payload, options) {
|
|
104
|
+
const requestedJobId = normalizeOptionId(options.jobId);
|
|
105
|
+
const requestedUniqueId = normalizeOptionId(options.uniqueId);
|
|
106
|
+
if (requestedJobId === undefined && requestedUniqueId === undefined) {
|
|
107
|
+
return { payload, identifiersSkipped: false };
|
|
108
|
+
}
|
|
109
|
+
if (payload === null || payload === undefined || typeof payload !== 'object') {
|
|
110
|
+
return { payload, identifiersSkipped: true };
|
|
111
|
+
}
|
|
112
|
+
const payloadJobId = normalizeOptionId(payload.jobId);
|
|
113
|
+
const payloadUniqueId = normalizeOptionId(payload.uniqueId);
|
|
114
|
+
return {
|
|
115
|
+
payload: {
|
|
116
|
+
...payload,
|
|
117
|
+
...(payloadJobId === undefined && requestedJobId !== undefined
|
|
118
|
+
? { jobId: requestedJobId }
|
|
119
|
+
: {}),
|
|
120
|
+
...(payloadUniqueId === undefined && requestedUniqueId !== undefined
|
|
121
|
+
? { uniqueId: requestedUniqueId }
|
|
122
|
+
: {}),
|
|
123
|
+
},
|
|
124
|
+
identifiersSkipped: false,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
96
127
|
function attachQueueMeta(payload, options) {
|
|
97
128
|
if (!shouldAttachReleaseAfterMeta(options)) {
|
|
98
129
|
return { payload, metaAttached: false };
|
|
@@ -198,8 +229,16 @@ async function enqueueWithDeduplication(name, payload, options, defaultLockProvi
|
|
|
198
229
|
if (deduplicationResult !== null) {
|
|
199
230
|
return deduplicationResult;
|
|
200
231
|
}
|
|
201
|
-
const { payload:
|
|
202
|
-
if (
|
|
232
|
+
const { payload: payloadWithIdentifiers, identifiersSkipped } = attachAdvancedIdentifiers(payload, options);
|
|
233
|
+
if (identifiersSkipped) {
|
|
234
|
+
Logger.warn('Advanced queue identifiers could not be attached; payload is not an object', {
|
|
235
|
+
queueName: name,
|
|
236
|
+
jobId: normalizeOptionId(options.jobId),
|
|
237
|
+
uniqueId: normalizeOptionId(options.uniqueId),
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
const { payload: payloadToSend, metaAttached } = attachQueueMeta(payloadWithIdentifiers, options);
|
|
241
|
+
if (shouldAttachReleaseAfterMeta(options) && metaAttached === false) {
|
|
203
242
|
Logger.warn('releaseAfter condition metadata could not be attached; payload is not an object', {
|
|
204
243
|
queueName: name,
|
|
205
244
|
releaseAfter: options.deduplication?.releaseAfter,
|