@trigger.dev/core 0.0.0-v3-trigger-dirs-20240423091017 → 0.0.0-v3-update-command-20240423125505
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/dist/v3/index.d.mts +17014 -178
- package/dist/v3/index.d.ts +17014 -178
- package/dist/v3/index.js +1273 -48
- package/dist/v3/index.js.map +1 -1
- package/dist/v3/index.mjs +1261 -50
- package/dist/v3/index.mjs.map +1 -1
- package/dist/v3/otel/index.d.mts +34 -6
- package/dist/v3/otel/index.d.ts +34 -6
- package/package.json +7 -71
- package/dist/consoleInterceptor-pKvaiAI6.d.ts +0 -6677
- package/dist/consoleInterceptor-tCKb2R0l.d.mts +0 -6677
- package/dist/manager-KhqZOMNe.d.mts +0 -1158
- package/dist/manager-KhqZOMNe.d.ts +0 -1158
- package/dist/messages-oFuHKbi4.d.mts +0 -8696
- package/dist/messages-oFuHKbi4.d.ts +0 -8696
- package/dist/tracingSDK-XMTLzw35.d.mts +0 -35
- package/dist/tracingSDK-XMTLzw35.d.ts +0 -35
- package/dist/v3/dev/index.d.mts +0 -28
- package/dist/v3/dev/index.d.ts +0 -28
- package/dist/v3/dev/index.js +0 -93
- package/dist/v3/dev/index.js.map +0 -1
- package/dist/v3/dev/index.mjs +0 -91
- package/dist/v3/dev/index.mjs.map +0 -1
- package/dist/v3/prod/index.d.mts +0 -45
- package/dist/v3/prod/index.d.ts +0 -45
- package/dist/v3/prod/index.js +0 -205
- package/dist/v3/prod/index.js.map +0 -1
- package/dist/v3/prod/index.mjs +0 -203
- package/dist/v3/prod/index.mjs.map +0 -1
- package/dist/v3/utils/structuredLogger.d.mts +0 -31
- package/dist/v3/utils/structuredLogger.d.ts +0 -31
- package/dist/v3/utils/structuredLogger.js +0 -88
- package/dist/v3/utils/structuredLogger.js.map +0 -1
- package/dist/v3/utils/structuredLogger.mjs +0 -86
- package/dist/v3/utils/structuredLogger.mjs.map +0 -1
- package/dist/v3/workers/index.d.mts +0 -49
- package/dist/v3/workers/index.d.ts +0 -49
- package/dist/v3/workers/index.js +0 -2056
- package/dist/v3/workers/index.js.map +0 -1
- package/dist/v3/workers/index.mjs +0 -2051
- package/dist/v3/workers/index.mjs.map +0 -1
- package/dist/v3/zodIpc.d.mts +0 -32
- package/dist/v3/zodIpc.d.ts +0 -32
- package/dist/v3/zodIpc.js +0 -268
- package/dist/v3/zodIpc.js.map +0 -1
- package/dist/v3/zodIpc.mjs +0 -266
- package/dist/v3/zodIpc.mjs.map +0 -1
- package/dist/v3/zodMessageHandler.d.mts +0 -69
- package/dist/v3/zodMessageHandler.d.ts +0 -69
- package/dist/v3/zodMessageHandler.js +0 -168
- package/dist/v3/zodMessageHandler.js.map +0 -1
- package/dist/v3/zodMessageHandler.mjs +0 -163
- package/dist/v3/zodMessageHandler.mjs.map +0 -1
- package/dist/v3/zodNamespace.d.mts +0 -3663
- package/dist/v3/zodNamespace.d.ts +0 -3663
- package/dist/v3/zodNamespace.js +0 -356
- package/dist/v3/zodNamespace.js.map +0 -1
- package/dist/v3/zodNamespace.mjs +0 -354
- package/dist/v3/zodNamespace.mjs.map +0 -1
- package/dist/v3/zodSocket.d.mts +0 -88
- package/dist/v3/zodSocket.d.ts +0 -88
- package/dist/v3/zodSocket.js +0 -309
- package/dist/v3/zodSocket.js.map +0 -1
- package/dist/v3/zodSocket.mjs +0 -305
- package/dist/v3/zodSocket.mjs.map +0 -1
package/dist/v3/index.mjs
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { SpanStatusCode, propagation, context, trace, DiagLogLevel, diag, DiagConsoleLogger } from '@opentelemetry/api';
|
|
2
|
+
import { SpanStatusCode, propagation, context, trace, DiagLogLevel, diag, DiagConsoleLogger, SpanKind } from '@opentelemetry/api';
|
|
3
3
|
import { fromZodError } from 'zod-validation-error';
|
|
4
4
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
5
|
+
import { io } from 'socket.io-client';
|
|
6
|
+
import { randomUUID } from 'crypto';
|
|
5
7
|
import nodePath from 'node:path';
|
|
6
8
|
import { SeverityNumber, logs } from '@opentelemetry/api-logs';
|
|
7
9
|
import { PreciseDate } from '@google-cloud/precise-date';
|
|
8
10
|
import humanizeDuration from 'humanize-duration';
|
|
11
|
+
import { setTimeout as setTimeout$1 } from 'node:timers/promises';
|
|
9
12
|
import util from 'node:util';
|
|
10
13
|
import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';
|
|
11
14
|
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
@@ -26,11 +29,28 @@ var __accessCheck = (obj, member, msg) => {
|
|
|
26
29
|
if (!member.has(obj))
|
|
27
30
|
throw TypeError("Cannot " + msg);
|
|
28
31
|
};
|
|
32
|
+
var __privateGet = (obj, member, getter) => {
|
|
33
|
+
__accessCheck(obj, member, "read from private field");
|
|
34
|
+
return getter ? getter.call(obj) : member.get(obj);
|
|
35
|
+
};
|
|
29
36
|
var __privateAdd = (obj, member, value) => {
|
|
30
37
|
if (member.has(obj))
|
|
31
38
|
throw TypeError("Cannot add the same private member more than once");
|
|
32
39
|
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
33
40
|
};
|
|
41
|
+
var __privateSet = (obj, member, value, setter) => {
|
|
42
|
+
__accessCheck(obj, member, "write to private field");
|
|
43
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
44
|
+
return value;
|
|
45
|
+
};
|
|
46
|
+
var __privateWrapper = (obj, member, setter, getter) => ({
|
|
47
|
+
set _(value) {
|
|
48
|
+
__privateSet(obj, member, value, setter);
|
|
49
|
+
},
|
|
50
|
+
get _() {
|
|
51
|
+
return __privateGet(obj, member, getter);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
34
54
|
var __privateMethod = (obj, member, method) => {
|
|
35
55
|
__accessCheck(obj, member, "access private method");
|
|
36
56
|
return method;
|
|
@@ -2352,6 +2372,729 @@ getStore_fn2 = /* @__PURE__ */ __name(function() {
|
|
|
2352
2372
|
__name(_ApiClientManager, "ApiClientManager");
|
|
2353
2373
|
var ApiClientManager = _ApiClientManager;
|
|
2354
2374
|
var apiClientManager = new ApiClientManager();
|
|
2375
|
+
var _ZodSchemaParsedError = class _ZodSchemaParsedError extends Error {
|
|
2376
|
+
constructor(error, payload) {
|
|
2377
|
+
super(error.message);
|
|
2378
|
+
this.error = error;
|
|
2379
|
+
this.payload = payload;
|
|
2380
|
+
}
|
|
2381
|
+
};
|
|
2382
|
+
__name(_ZodSchemaParsedError, "ZodSchemaParsedError");
|
|
2383
|
+
var ZodSchemaParsedError = _ZodSchemaParsedError;
|
|
2384
|
+
var ZodMessageSchema = z.object({
|
|
2385
|
+
version: z.literal("v1").default("v1"),
|
|
2386
|
+
type: z.string(),
|
|
2387
|
+
payload: z.unknown()
|
|
2388
|
+
});
|
|
2389
|
+
var _schema, _handlers;
|
|
2390
|
+
var _ZodMessageHandler = class _ZodMessageHandler {
|
|
2391
|
+
constructor(options) {
|
|
2392
|
+
__privateAdd(this, _schema, void 0);
|
|
2393
|
+
__privateAdd(this, _handlers, void 0);
|
|
2394
|
+
__privateSet(this, _schema, options.schema);
|
|
2395
|
+
__privateSet(this, _handlers, options.messages);
|
|
2396
|
+
}
|
|
2397
|
+
async handleMessage(message) {
|
|
2398
|
+
const parsedMessage = this.parseMessage(message);
|
|
2399
|
+
if (!__privateGet(this, _handlers)) {
|
|
2400
|
+
throw new Error("No handlers provided");
|
|
2401
|
+
}
|
|
2402
|
+
const handler = __privateGet(this, _handlers)[parsedMessage.type];
|
|
2403
|
+
if (!handler) {
|
|
2404
|
+
console.error(`No handler for message type: ${String(parsedMessage.type)}`);
|
|
2405
|
+
return;
|
|
2406
|
+
}
|
|
2407
|
+
const ack = await handler(parsedMessage.payload);
|
|
2408
|
+
return ack;
|
|
2409
|
+
}
|
|
2410
|
+
parseMessage(message) {
|
|
2411
|
+
const parsedMessage = ZodMessageSchema.safeParse(message);
|
|
2412
|
+
if (!parsedMessage.success) {
|
|
2413
|
+
throw new Error(`Failed to parse message: ${JSON.stringify(parsedMessage.error)}`);
|
|
2414
|
+
}
|
|
2415
|
+
const schema = __privateGet(this, _schema)[parsedMessage.data.type];
|
|
2416
|
+
if (!schema) {
|
|
2417
|
+
throw new Error(`Unknown message type: ${parsedMessage.data.type}`);
|
|
2418
|
+
}
|
|
2419
|
+
const parsedPayload = schema.safeParse(parsedMessage.data.payload);
|
|
2420
|
+
if (!parsedPayload.success) {
|
|
2421
|
+
throw new Error(`Failed to parse message payload: ${JSON.stringify(parsedPayload.error)}`);
|
|
2422
|
+
}
|
|
2423
|
+
return {
|
|
2424
|
+
type: parsedMessage.data.type,
|
|
2425
|
+
payload: parsedPayload.data
|
|
2426
|
+
};
|
|
2427
|
+
}
|
|
2428
|
+
registerHandlers(emitter, logger2) {
|
|
2429
|
+
const log = logger2 ?? console;
|
|
2430
|
+
if (!__privateGet(this, _handlers)) {
|
|
2431
|
+
log.info("No handlers provided");
|
|
2432
|
+
return;
|
|
2433
|
+
}
|
|
2434
|
+
for (const eventName of Object.keys(__privateGet(this, _schema))) {
|
|
2435
|
+
emitter.on(eventName, async (message, callback) => {
|
|
2436
|
+
log.info(`handling ${eventName}`, {
|
|
2437
|
+
payload: message,
|
|
2438
|
+
hasCallback: !!callback
|
|
2439
|
+
});
|
|
2440
|
+
let ack;
|
|
2441
|
+
if ("payload" in message) {
|
|
2442
|
+
ack = await this.handleMessage({
|
|
2443
|
+
type: eventName,
|
|
2444
|
+
...message
|
|
2445
|
+
});
|
|
2446
|
+
} else {
|
|
2447
|
+
const { version, ...payload } = message;
|
|
2448
|
+
ack = await this.handleMessage({
|
|
2449
|
+
type: eventName,
|
|
2450
|
+
version,
|
|
2451
|
+
payload
|
|
2452
|
+
});
|
|
2453
|
+
}
|
|
2454
|
+
if (callback && typeof callback === "function") {
|
|
2455
|
+
callback(ack);
|
|
2456
|
+
}
|
|
2457
|
+
});
|
|
2458
|
+
}
|
|
2459
|
+
}
|
|
2460
|
+
};
|
|
2461
|
+
_schema = new WeakMap();
|
|
2462
|
+
_handlers = new WeakMap();
|
|
2463
|
+
__name(_ZodMessageHandler, "ZodMessageHandler");
|
|
2464
|
+
var ZodMessageHandler = _ZodMessageHandler;
|
|
2465
|
+
var _schema2, _sender;
|
|
2466
|
+
var _ZodMessageSender = class _ZodMessageSender {
|
|
2467
|
+
constructor(options) {
|
|
2468
|
+
__privateAdd(this, _schema2, void 0);
|
|
2469
|
+
__privateAdd(this, _sender, void 0);
|
|
2470
|
+
__privateSet(this, _schema2, options.schema);
|
|
2471
|
+
__privateSet(this, _sender, options.sender);
|
|
2472
|
+
}
|
|
2473
|
+
async send(type, payload) {
|
|
2474
|
+
const schema = __privateGet(this, _schema2)[type];
|
|
2475
|
+
if (!schema) {
|
|
2476
|
+
throw new Error(`Unknown message type: ${type}`);
|
|
2477
|
+
}
|
|
2478
|
+
const parsedPayload = schema.safeParse(payload);
|
|
2479
|
+
if (!parsedPayload.success) {
|
|
2480
|
+
throw new ZodSchemaParsedError(parsedPayload.error, payload);
|
|
2481
|
+
}
|
|
2482
|
+
await __privateGet(this, _sender).call(this, {
|
|
2483
|
+
type,
|
|
2484
|
+
payload,
|
|
2485
|
+
version: "v1"
|
|
2486
|
+
});
|
|
2487
|
+
}
|
|
2488
|
+
async forwardMessage(message) {
|
|
2489
|
+
const parsedMessage = ZodMessageSchema.safeParse(message);
|
|
2490
|
+
if (!parsedMessage.success) {
|
|
2491
|
+
throw new Error(`Failed to parse message: ${JSON.stringify(parsedMessage.error)}`);
|
|
2492
|
+
}
|
|
2493
|
+
const schema = __privateGet(this, _schema2)[parsedMessage.data.type];
|
|
2494
|
+
if (!schema) {
|
|
2495
|
+
throw new Error(`Unknown message type: ${parsedMessage.data.type}`);
|
|
2496
|
+
}
|
|
2497
|
+
const parsedPayload = schema.safeParse(parsedMessage.data.payload);
|
|
2498
|
+
if (!parsedPayload.success) {
|
|
2499
|
+
throw new Error(`Failed to parse message payload: ${JSON.stringify(parsedPayload.error)}`);
|
|
2500
|
+
}
|
|
2501
|
+
await __privateGet(this, _sender).call(this, {
|
|
2502
|
+
type: parsedMessage.data.type,
|
|
2503
|
+
payload: parsedPayload.data,
|
|
2504
|
+
version: "v1"
|
|
2505
|
+
});
|
|
2506
|
+
}
|
|
2507
|
+
};
|
|
2508
|
+
_schema2 = new WeakMap();
|
|
2509
|
+
_sender = new WeakMap();
|
|
2510
|
+
__name(_ZodMessageSender, "ZodMessageSender");
|
|
2511
|
+
var ZodMessageSender = _ZodMessageSender;
|
|
2512
|
+
var messageSchema = z.object({
|
|
2513
|
+
version: z.literal("v1").default("v1"),
|
|
2514
|
+
type: z.string(),
|
|
2515
|
+
payload: z.unknown()
|
|
2516
|
+
});
|
|
2517
|
+
var _schema3, _handlers2;
|
|
2518
|
+
var _ZodSocketMessageHandler = class _ZodSocketMessageHandler {
|
|
2519
|
+
constructor(options) {
|
|
2520
|
+
__privateAdd(this, _schema3, void 0);
|
|
2521
|
+
__privateAdd(this, _handlers2, void 0);
|
|
2522
|
+
__privateSet(this, _schema3, options.schema);
|
|
2523
|
+
__privateSet(this, _handlers2, options.handlers);
|
|
2524
|
+
}
|
|
2525
|
+
async handleMessage(message) {
|
|
2526
|
+
const parsedMessage = this.parseMessage(message);
|
|
2527
|
+
if (!__privateGet(this, _handlers2)) {
|
|
2528
|
+
throw new Error("No handlers provided");
|
|
2529
|
+
}
|
|
2530
|
+
const handler = __privateGet(this, _handlers2)[parsedMessage.type];
|
|
2531
|
+
if (!handler) {
|
|
2532
|
+
console.error(`No handler for message type: ${String(parsedMessage.type)}`);
|
|
2533
|
+
return;
|
|
2534
|
+
}
|
|
2535
|
+
const ack = await handler(parsedMessage.payload);
|
|
2536
|
+
return ack;
|
|
2537
|
+
}
|
|
2538
|
+
parseMessage(message) {
|
|
2539
|
+
const parsedMessage = messageSchema.safeParse(message);
|
|
2540
|
+
if (!parsedMessage.success) {
|
|
2541
|
+
throw new Error(`Failed to parse message: ${JSON.stringify(parsedMessage.error)}`);
|
|
2542
|
+
}
|
|
2543
|
+
const schema = __privateGet(this, _schema3)[parsedMessage.data.type]["message"];
|
|
2544
|
+
if (!schema) {
|
|
2545
|
+
throw new Error(`Unknown message type: ${parsedMessage.data.type}`);
|
|
2546
|
+
}
|
|
2547
|
+
const parsedPayload = schema.safeParse(parsedMessage.data.payload);
|
|
2548
|
+
if (!parsedPayload.success) {
|
|
2549
|
+
throw new Error(`Failed to parse message payload: ${JSON.stringify(parsedPayload.error)}`);
|
|
2550
|
+
}
|
|
2551
|
+
return {
|
|
2552
|
+
type: parsedMessage.data.type,
|
|
2553
|
+
payload: parsedPayload.data
|
|
2554
|
+
};
|
|
2555
|
+
}
|
|
2556
|
+
registerHandlers(emitter, logger2) {
|
|
2557
|
+
const log = logger2 ?? console;
|
|
2558
|
+
if (!__privateGet(this, _handlers2)) {
|
|
2559
|
+
log.info("No handlers provided");
|
|
2560
|
+
return;
|
|
2561
|
+
}
|
|
2562
|
+
for (const eventName of Object.keys(__privateGet(this, _handlers2))) {
|
|
2563
|
+
emitter.on(eventName, async (message, callback) => {
|
|
2564
|
+
log.info(`handling ${eventName}`, {
|
|
2565
|
+
payload: message,
|
|
2566
|
+
hasCallback: !!callback
|
|
2567
|
+
});
|
|
2568
|
+
let ack;
|
|
2569
|
+
try {
|
|
2570
|
+
if ("payload" in message) {
|
|
2571
|
+
ack = await this.handleMessage({
|
|
2572
|
+
type: eventName,
|
|
2573
|
+
...message
|
|
2574
|
+
});
|
|
2575
|
+
} else {
|
|
2576
|
+
const { version, ...payload } = message;
|
|
2577
|
+
ack = await this.handleMessage({
|
|
2578
|
+
type: eventName,
|
|
2579
|
+
version,
|
|
2580
|
+
payload
|
|
2581
|
+
});
|
|
2582
|
+
}
|
|
2583
|
+
} catch (error) {
|
|
2584
|
+
log.error("Error while handling message", {
|
|
2585
|
+
error
|
|
2586
|
+
});
|
|
2587
|
+
return;
|
|
2588
|
+
}
|
|
2589
|
+
if (callback && typeof callback === "function") {
|
|
2590
|
+
callback(ack);
|
|
2591
|
+
}
|
|
2592
|
+
});
|
|
2593
|
+
}
|
|
2594
|
+
}
|
|
2595
|
+
};
|
|
2596
|
+
_schema3 = new WeakMap();
|
|
2597
|
+
_handlers2 = new WeakMap();
|
|
2598
|
+
__name(_ZodSocketMessageHandler, "ZodSocketMessageHandler");
|
|
2599
|
+
var ZodSocketMessageHandler = _ZodSocketMessageHandler;
|
|
2600
|
+
var _schema4, _socket;
|
|
2601
|
+
var _ZodSocketMessageSender = class _ZodSocketMessageSender {
|
|
2602
|
+
constructor(options) {
|
|
2603
|
+
__privateAdd(this, _schema4, void 0);
|
|
2604
|
+
__privateAdd(this, _socket, void 0);
|
|
2605
|
+
__privateSet(this, _schema4, options.schema);
|
|
2606
|
+
__privateSet(this, _socket, options.socket);
|
|
2607
|
+
}
|
|
2608
|
+
send(type, payload) {
|
|
2609
|
+
const schema = __privateGet(this, _schema4)[type]["message"];
|
|
2610
|
+
if (!schema) {
|
|
2611
|
+
throw new Error(`Unknown message type: ${type}`);
|
|
2612
|
+
}
|
|
2613
|
+
const parsedPayload = schema.safeParse(payload);
|
|
2614
|
+
if (!parsedPayload.success) {
|
|
2615
|
+
throw new Error(`Failed to parse message payload: ${JSON.stringify(parsedPayload.error)}`);
|
|
2616
|
+
}
|
|
2617
|
+
__privateGet(this, _socket).emit(type, {
|
|
2618
|
+
payload,
|
|
2619
|
+
version: "v1"
|
|
2620
|
+
});
|
|
2621
|
+
return;
|
|
2622
|
+
}
|
|
2623
|
+
async sendWithAck(type, payload) {
|
|
2624
|
+
const schema = __privateGet(this, _schema4)[type]["message"];
|
|
2625
|
+
if (!schema) {
|
|
2626
|
+
throw new Error(`Unknown message type: ${type}`);
|
|
2627
|
+
}
|
|
2628
|
+
const parsedPayload = schema.safeParse(payload);
|
|
2629
|
+
if (!parsedPayload.success) {
|
|
2630
|
+
throw new Error(`Failed to parse message payload: ${JSON.stringify(parsedPayload.error)}`);
|
|
2631
|
+
}
|
|
2632
|
+
const callbackResult = await __privateGet(this, _socket).emitWithAck(type, {
|
|
2633
|
+
payload,
|
|
2634
|
+
version: "v1"
|
|
2635
|
+
});
|
|
2636
|
+
return callbackResult;
|
|
2637
|
+
}
|
|
2638
|
+
};
|
|
2639
|
+
_schema4 = new WeakMap();
|
|
2640
|
+
_socket = new WeakMap();
|
|
2641
|
+
__name(_ZodSocketMessageSender, "ZodSocketMessageSender");
|
|
2642
|
+
var ZodSocketMessageSender = _ZodSocketMessageSender;
|
|
2643
|
+
var _sender2, _handler, _logger;
|
|
2644
|
+
var _ZodSocketConnection = class _ZodSocketConnection {
|
|
2645
|
+
constructor(opts) {
|
|
2646
|
+
__privateAdd(this, _sender2, void 0);
|
|
2647
|
+
__privateAdd(this, _handler, void 0);
|
|
2648
|
+
__privateAdd(this, _logger, void 0);
|
|
2649
|
+
const uri = `${opts.secure ? "wss" : "ws"}://${opts.host}:${opts.port ?? (opts.secure ? "443" : "80")}/${opts.namespace}`;
|
|
2650
|
+
const logger2 = new SimpleStructuredLogger(opts.namespace, LogLevel.info);
|
|
2651
|
+
logger2.log("new zod socket", {
|
|
2652
|
+
uri
|
|
2653
|
+
});
|
|
2654
|
+
this.socket = io(uri, {
|
|
2655
|
+
transports: [
|
|
2656
|
+
"websocket"
|
|
2657
|
+
],
|
|
2658
|
+
auth: {
|
|
2659
|
+
token: opts.authToken
|
|
2660
|
+
},
|
|
2661
|
+
extraHeaders: opts.extraHeaders,
|
|
2662
|
+
reconnectionDelay: 500,
|
|
2663
|
+
reconnectionDelayMax: 1e3
|
|
2664
|
+
});
|
|
2665
|
+
__privateSet(this, _logger, logger2.child({
|
|
2666
|
+
socketId: this.socket.id
|
|
2667
|
+
}));
|
|
2668
|
+
__privateSet(this, _handler, new ZodSocketMessageHandler({
|
|
2669
|
+
schema: opts.serverMessages,
|
|
2670
|
+
handlers: opts.handlers
|
|
2671
|
+
}));
|
|
2672
|
+
__privateGet(this, _handler).registerHandlers(this.socket, __privateGet(this, _logger));
|
|
2673
|
+
__privateSet(this, _sender2, new ZodSocketMessageSender({
|
|
2674
|
+
schema: opts.clientMessages,
|
|
2675
|
+
socket: this.socket
|
|
2676
|
+
}));
|
|
2677
|
+
this.socket.on("connect_error", async (error) => {
|
|
2678
|
+
__privateGet(this, _logger).error(`connect_error: ${error}`);
|
|
2679
|
+
if (opts.onError) {
|
|
2680
|
+
await opts.onError(this.socket, error, __privateGet(this, _logger));
|
|
2681
|
+
}
|
|
2682
|
+
});
|
|
2683
|
+
this.socket.on("connect", async () => {
|
|
2684
|
+
__privateGet(this, _logger).info("connect");
|
|
2685
|
+
if (opts.onConnection) {
|
|
2686
|
+
await opts.onConnection(this.socket, __privateGet(this, _handler), __privateGet(this, _sender2), __privateGet(this, _logger));
|
|
2687
|
+
}
|
|
2688
|
+
});
|
|
2689
|
+
this.socket.on("disconnect", async (reason, description) => {
|
|
2690
|
+
__privateGet(this, _logger).info("disconnect", {
|
|
2691
|
+
reason,
|
|
2692
|
+
description
|
|
2693
|
+
});
|
|
2694
|
+
if (opts.onDisconnect) {
|
|
2695
|
+
await opts.onDisconnect(this.socket, reason, description, __privateGet(this, _logger));
|
|
2696
|
+
}
|
|
2697
|
+
});
|
|
2698
|
+
}
|
|
2699
|
+
close() {
|
|
2700
|
+
this.socket.close();
|
|
2701
|
+
}
|
|
2702
|
+
connect() {
|
|
2703
|
+
this.socket.connect();
|
|
2704
|
+
}
|
|
2705
|
+
get send() {
|
|
2706
|
+
return __privateGet(this, _sender2).send.bind(__privateGet(this, _sender2));
|
|
2707
|
+
}
|
|
2708
|
+
get sendWithAck() {
|
|
2709
|
+
return __privateGet(this, _sender2).sendWithAck.bind(__privateGet(this, _sender2));
|
|
2710
|
+
}
|
|
2711
|
+
};
|
|
2712
|
+
_sender2 = new WeakMap();
|
|
2713
|
+
_handler = new WeakMap();
|
|
2714
|
+
_logger = new WeakMap();
|
|
2715
|
+
__name(_ZodSocketConnection, "ZodSocketConnection");
|
|
2716
|
+
var ZodSocketConnection = _ZodSocketConnection;
|
|
2717
|
+
|
|
2718
|
+
// src/v3/zodNamespace.ts
|
|
2719
|
+
var LogLevel;
|
|
2720
|
+
(function(LogLevel2) {
|
|
2721
|
+
LogLevel2[LogLevel2["log"] = 0] = "log";
|
|
2722
|
+
LogLevel2[LogLevel2["error"] = 1] = "error";
|
|
2723
|
+
LogLevel2[LogLevel2["warn"] = 2] = "warn";
|
|
2724
|
+
LogLevel2[LogLevel2["info"] = 3] = "info";
|
|
2725
|
+
LogLevel2[LogLevel2["debug"] = 4] = "debug";
|
|
2726
|
+
})(LogLevel || (LogLevel = {}));
|
|
2727
|
+
var _structuredLog, structuredLog_fn;
|
|
2728
|
+
var _SimpleStructuredLogger = class _SimpleStructuredLogger {
|
|
2729
|
+
constructor(name, level = [
|
|
2730
|
+
"1",
|
|
2731
|
+
"true"
|
|
2732
|
+
].includes(process.env.DEBUG ?? "") ? LogLevel.debug : LogLevel.info, fields) {
|
|
2733
|
+
__privateAdd(this, _structuredLog);
|
|
2734
|
+
this.name = name;
|
|
2735
|
+
this.level = level;
|
|
2736
|
+
this.fields = fields;
|
|
2737
|
+
}
|
|
2738
|
+
child(fields, level) {
|
|
2739
|
+
return new _SimpleStructuredLogger(this.name, level, {
|
|
2740
|
+
...this.fields,
|
|
2741
|
+
...fields
|
|
2742
|
+
});
|
|
2743
|
+
}
|
|
2744
|
+
log(message, ...args) {
|
|
2745
|
+
if (this.level < LogLevel.log)
|
|
2746
|
+
return;
|
|
2747
|
+
__privateMethod(this, _structuredLog, structuredLog_fn).call(this, console.log, message, "log", ...args);
|
|
2748
|
+
}
|
|
2749
|
+
error(message, ...args) {
|
|
2750
|
+
if (this.level < LogLevel.error)
|
|
2751
|
+
return;
|
|
2752
|
+
__privateMethod(this, _structuredLog, structuredLog_fn).call(this, console.error, message, "error", ...args);
|
|
2753
|
+
}
|
|
2754
|
+
warn(message, ...args) {
|
|
2755
|
+
if (this.level < LogLevel.warn)
|
|
2756
|
+
return;
|
|
2757
|
+
__privateMethod(this, _structuredLog, structuredLog_fn).call(this, console.warn, message, "warn", ...args);
|
|
2758
|
+
}
|
|
2759
|
+
info(message, ...args) {
|
|
2760
|
+
if (this.level < LogLevel.info)
|
|
2761
|
+
return;
|
|
2762
|
+
__privateMethod(this, _structuredLog, structuredLog_fn).call(this, console.info, message, "info", ...args);
|
|
2763
|
+
}
|
|
2764
|
+
debug(message, ...args) {
|
|
2765
|
+
if (this.level < LogLevel.debug)
|
|
2766
|
+
return;
|
|
2767
|
+
__privateMethod(this, _structuredLog, structuredLog_fn).call(this, console.debug, message, "debug", ...args);
|
|
2768
|
+
}
|
|
2769
|
+
};
|
|
2770
|
+
_structuredLog = new WeakSet();
|
|
2771
|
+
structuredLog_fn = /* @__PURE__ */ __name(function(loggerFunction, message, level, ...args) {
|
|
2772
|
+
const structuredLog = {
|
|
2773
|
+
...args.length === 1 ? args[0] : args,
|
|
2774
|
+
...this.fields,
|
|
2775
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
2776
|
+
name: this.name,
|
|
2777
|
+
message,
|
|
2778
|
+
level
|
|
2779
|
+
};
|
|
2780
|
+
loggerFunction(JSON.stringify(structuredLog));
|
|
2781
|
+
}, "#structuredLog");
|
|
2782
|
+
__name(_SimpleStructuredLogger, "SimpleStructuredLogger");
|
|
2783
|
+
var SimpleStructuredLogger = _SimpleStructuredLogger;
|
|
2784
|
+
var _logger2, _handler2;
|
|
2785
|
+
var _ZodNamespace = class _ZodNamespace {
|
|
2786
|
+
constructor(opts) {
|
|
2787
|
+
__privateAdd(this, _logger2, void 0);
|
|
2788
|
+
__privateAdd(this, _handler2, void 0);
|
|
2789
|
+
__privateSet(this, _logger2, opts.logger ?? new SimpleStructuredLogger(opts.name));
|
|
2790
|
+
__privateSet(this, _handler2, new ZodSocketMessageHandler({
|
|
2791
|
+
schema: opts.clientMessages,
|
|
2792
|
+
handlers: opts.handlers
|
|
2793
|
+
}));
|
|
2794
|
+
this.io = opts.io;
|
|
2795
|
+
this.namespace = this.io.of(opts.name);
|
|
2796
|
+
this.sender = new ZodMessageSender({
|
|
2797
|
+
schema: opts.serverMessages,
|
|
2798
|
+
sender: async (message) => {
|
|
2799
|
+
return new Promise((resolve, reject) => {
|
|
2800
|
+
try {
|
|
2801
|
+
this.namespace.emit(message.type, message.payload);
|
|
2802
|
+
resolve();
|
|
2803
|
+
} catch (err) {
|
|
2804
|
+
reject(err);
|
|
2805
|
+
}
|
|
2806
|
+
});
|
|
2807
|
+
}
|
|
2808
|
+
});
|
|
2809
|
+
if (opts.preAuth) {
|
|
2810
|
+
this.namespace.use(async (socket, next) => {
|
|
2811
|
+
const logger2 = __privateGet(this, _logger2).child({
|
|
2812
|
+
socketId: socket.id,
|
|
2813
|
+
socketStage: "preAuth"
|
|
2814
|
+
});
|
|
2815
|
+
if (typeof opts.preAuth === "function") {
|
|
2816
|
+
await opts.preAuth(socket, next, logger2);
|
|
2817
|
+
}
|
|
2818
|
+
});
|
|
2819
|
+
}
|
|
2820
|
+
if (opts.authToken) {
|
|
2821
|
+
this.namespace.use((socket, next) => {
|
|
2822
|
+
const logger2 = __privateGet(this, _logger2).child({
|
|
2823
|
+
socketId: socket.id,
|
|
2824
|
+
socketStage: "auth"
|
|
2825
|
+
});
|
|
2826
|
+
const { auth } = socket.handshake;
|
|
2827
|
+
if (!("token" in auth)) {
|
|
2828
|
+
logger2.error("no token");
|
|
2829
|
+
return socket.disconnect(true);
|
|
2830
|
+
}
|
|
2831
|
+
if (auth.token !== opts.authToken) {
|
|
2832
|
+
logger2.error("invalid token");
|
|
2833
|
+
return socket.disconnect(true);
|
|
2834
|
+
}
|
|
2835
|
+
logger2.info("success");
|
|
2836
|
+
next();
|
|
2837
|
+
});
|
|
2838
|
+
}
|
|
2839
|
+
if (opts.postAuth) {
|
|
2840
|
+
this.namespace.use(async (socket, next) => {
|
|
2841
|
+
const logger2 = __privateGet(this, _logger2).child({
|
|
2842
|
+
socketId: socket.id,
|
|
2843
|
+
socketStage: "auth"
|
|
2844
|
+
});
|
|
2845
|
+
if (typeof opts.postAuth === "function") {
|
|
2846
|
+
await opts.postAuth(socket, next, logger2);
|
|
2847
|
+
}
|
|
2848
|
+
});
|
|
2849
|
+
}
|
|
2850
|
+
this.namespace.on("connection", async (socket) => {
|
|
2851
|
+
const logger2 = __privateGet(this, _logger2).child({
|
|
2852
|
+
socketId: socket.id,
|
|
2853
|
+
socketStage: "connection"
|
|
2854
|
+
});
|
|
2855
|
+
logger2.info("connected");
|
|
2856
|
+
__privateGet(this, _handler2).registerHandlers(socket, logger2);
|
|
2857
|
+
socket.on("disconnect", async (reason, description) => {
|
|
2858
|
+
logger2.info("disconnect", {
|
|
2859
|
+
reason,
|
|
2860
|
+
description
|
|
2861
|
+
});
|
|
2862
|
+
if (opts.onDisconnect) {
|
|
2863
|
+
await opts.onDisconnect(socket, reason, description, logger2);
|
|
2864
|
+
}
|
|
2865
|
+
});
|
|
2866
|
+
socket.on("error", async (error) => {
|
|
2867
|
+
logger2.error("error", {
|
|
2868
|
+
error
|
|
2869
|
+
});
|
|
2870
|
+
if (opts.onError) {
|
|
2871
|
+
await opts.onError(socket, error, logger2);
|
|
2872
|
+
}
|
|
2873
|
+
});
|
|
2874
|
+
if (opts.onConnection) {
|
|
2875
|
+
await opts.onConnection(socket, __privateGet(this, _handler2), this.sender, logger2);
|
|
2876
|
+
}
|
|
2877
|
+
});
|
|
2878
|
+
}
|
|
2879
|
+
fetchSockets() {
|
|
2880
|
+
return this.namespace.fetchSockets();
|
|
2881
|
+
}
|
|
2882
|
+
};
|
|
2883
|
+
_logger2 = new WeakMap();
|
|
2884
|
+
_handler2 = new WeakMap();
|
|
2885
|
+
__name(_ZodNamespace, "ZodNamespace");
|
|
2886
|
+
var ZodNamespace = _ZodNamespace;
|
|
2887
|
+
var messageSchema2 = z.object({
|
|
2888
|
+
version: z.literal("v1").default("v1"),
|
|
2889
|
+
type: z.string(),
|
|
2890
|
+
payload: z.unknown()
|
|
2891
|
+
});
|
|
2892
|
+
var _schema5, _handlers3, _sender3, _a;
|
|
2893
|
+
var ZodIpcMessageHandler = (_a = class {
|
|
2894
|
+
constructor(options) {
|
|
2895
|
+
__privateAdd(this, _schema5, void 0);
|
|
2896
|
+
__privateAdd(this, _handlers3, void 0);
|
|
2897
|
+
__privateAdd(this, _sender3, void 0);
|
|
2898
|
+
__privateSet(this, _schema5, options.schema);
|
|
2899
|
+
__privateSet(this, _handlers3, options.handlers);
|
|
2900
|
+
__privateSet(this, _sender3, options.sender);
|
|
2901
|
+
}
|
|
2902
|
+
async handleMessage(message) {
|
|
2903
|
+
const parsedMessage = this.parseMessage(message);
|
|
2904
|
+
if (!__privateGet(this, _handlers3)) {
|
|
2905
|
+
throw new Error("No handlers provided");
|
|
2906
|
+
}
|
|
2907
|
+
const handler = __privateGet(this, _handlers3)[parsedMessage.type];
|
|
2908
|
+
if (!handler) {
|
|
2909
|
+
return;
|
|
2910
|
+
}
|
|
2911
|
+
const ack = await handler(parsedMessage.payload, __privateGet(this, _sender3));
|
|
2912
|
+
return ack;
|
|
2913
|
+
}
|
|
2914
|
+
parseMessage(message) {
|
|
2915
|
+
const parsedMessage = messageSchema2.safeParse(message);
|
|
2916
|
+
if (!parsedMessage.success) {
|
|
2917
|
+
throw new Error(`Failed to parse message: ${JSON.stringify(parsedMessage.error)}`);
|
|
2918
|
+
}
|
|
2919
|
+
const schema = __privateGet(this, _schema5)[parsedMessage.data.type]["message"];
|
|
2920
|
+
if (!schema) {
|
|
2921
|
+
throw new Error(`Unknown message type: ${parsedMessage.data.type}`);
|
|
2922
|
+
}
|
|
2923
|
+
const parsedPayload = schema.safeParse(parsedMessage.data.payload);
|
|
2924
|
+
if (!parsedPayload.success) {
|
|
2925
|
+
throw new Error(`Failed to parse message payload: ${JSON.stringify(parsedPayload.error)}`);
|
|
2926
|
+
}
|
|
2927
|
+
return {
|
|
2928
|
+
type: parsedMessage.data.type,
|
|
2929
|
+
payload: parsedPayload.data
|
|
2930
|
+
};
|
|
2931
|
+
}
|
|
2932
|
+
}, _schema5 = new WeakMap(), _handlers3 = new WeakMap(), _sender3 = new WeakMap(), __name(_a, "ZodIpcMessageHandler"), _a);
|
|
2933
|
+
var Packet = z.discriminatedUnion("type", [
|
|
2934
|
+
z.object({
|
|
2935
|
+
type: z.literal("CONNECT"),
|
|
2936
|
+
sessionId: z.string().optional()
|
|
2937
|
+
}),
|
|
2938
|
+
z.object({
|
|
2939
|
+
type: z.literal("ACK"),
|
|
2940
|
+
message: z.any(),
|
|
2941
|
+
id: z.number()
|
|
2942
|
+
}),
|
|
2943
|
+
z.object({
|
|
2944
|
+
type: z.literal("EVENT"),
|
|
2945
|
+
message: z.any(),
|
|
2946
|
+
id: z.number().optional()
|
|
2947
|
+
})
|
|
2948
|
+
]);
|
|
2949
|
+
var _sessionId, _messageCounter, _handler3, _acks, _registerHandlers, registerHandlers_fn, _handlePacket, handlePacket_fn, _sendPacket, sendPacket_fn;
|
|
2950
|
+
var _ZodIpcConnection = class _ZodIpcConnection {
|
|
2951
|
+
constructor(opts) {
|
|
2952
|
+
__privateAdd(this, _registerHandlers);
|
|
2953
|
+
__privateAdd(this, _handlePacket);
|
|
2954
|
+
__privateAdd(this, _sendPacket);
|
|
2955
|
+
__privateAdd(this, _sessionId, void 0);
|
|
2956
|
+
__privateAdd(this, _messageCounter, void 0);
|
|
2957
|
+
__privateAdd(this, _handler3, void 0);
|
|
2958
|
+
__privateAdd(this, _acks, void 0);
|
|
2959
|
+
this.opts = opts;
|
|
2960
|
+
__privateSet(this, _messageCounter, 0);
|
|
2961
|
+
__privateSet(this, _acks, /* @__PURE__ */ new Map());
|
|
2962
|
+
__privateSet(this, _handler3, new ZodIpcMessageHandler({
|
|
2963
|
+
schema: opts.listenSchema,
|
|
2964
|
+
handlers: opts.handlers,
|
|
2965
|
+
sender: {
|
|
2966
|
+
send: this.send.bind(this),
|
|
2967
|
+
sendWithAck: this.sendWithAck.bind(this)
|
|
2968
|
+
}
|
|
2969
|
+
}));
|
|
2970
|
+
__privateMethod(this, _registerHandlers, registerHandlers_fn).call(this);
|
|
2971
|
+
}
|
|
2972
|
+
async connect() {
|
|
2973
|
+
__privateMethod(this, _sendPacket, sendPacket_fn).call(this, {
|
|
2974
|
+
type: "CONNECT"
|
|
2975
|
+
});
|
|
2976
|
+
}
|
|
2977
|
+
async send(type, payload) {
|
|
2978
|
+
const schema = this.opts.emitSchema[type]["message"];
|
|
2979
|
+
if (!schema) {
|
|
2980
|
+
throw new Error(`Unknown message type: ${type}`);
|
|
2981
|
+
}
|
|
2982
|
+
const parsedPayload = schema.safeParse(payload);
|
|
2983
|
+
if (!parsedPayload.success) {
|
|
2984
|
+
throw new ZodSchemaParsedError(parsedPayload.error, payload);
|
|
2985
|
+
}
|
|
2986
|
+
await __privateMethod(this, _sendPacket, sendPacket_fn).call(this, {
|
|
2987
|
+
type: "EVENT",
|
|
2988
|
+
message: {
|
|
2989
|
+
type,
|
|
2990
|
+
payload,
|
|
2991
|
+
version: "v1"
|
|
2992
|
+
}
|
|
2993
|
+
});
|
|
2994
|
+
}
|
|
2995
|
+
async sendWithAck(type, payload, timeoutInMs) {
|
|
2996
|
+
const currentId = __privateWrapper(this, _messageCounter)._++;
|
|
2997
|
+
return new Promise(async (resolve, reject) => {
|
|
2998
|
+
const defaultTimeoutInMs = 2e3;
|
|
2999
|
+
const timeout = setTimeout(() => {
|
|
3000
|
+
reject(JSON.stringify({
|
|
3001
|
+
reason: "sendWithAck() timeout",
|
|
3002
|
+
timeoutInMs: timeoutInMs ?? defaultTimeoutInMs,
|
|
3003
|
+
type,
|
|
3004
|
+
payload
|
|
3005
|
+
}));
|
|
3006
|
+
}, timeoutInMs ?? defaultTimeoutInMs);
|
|
3007
|
+
__privateGet(this, _acks).set(currentId, {
|
|
3008
|
+
resolve,
|
|
3009
|
+
reject,
|
|
3010
|
+
timeout
|
|
3011
|
+
});
|
|
3012
|
+
const schema = this.opts.emitSchema[type]["message"];
|
|
3013
|
+
if (!schema) {
|
|
3014
|
+
clearTimeout(timeout);
|
|
3015
|
+
return reject(`Unknown message type: ${type}`);
|
|
3016
|
+
}
|
|
3017
|
+
const parsedPayload = schema.safeParse(payload);
|
|
3018
|
+
if (!parsedPayload.success) {
|
|
3019
|
+
clearTimeout(timeout);
|
|
3020
|
+
return reject(`Failed to parse message payload: ${JSON.stringify(parsedPayload.error)}`);
|
|
3021
|
+
}
|
|
3022
|
+
await __privateMethod(this, _sendPacket, sendPacket_fn).call(this, {
|
|
3023
|
+
type: "EVENT",
|
|
3024
|
+
message: {
|
|
3025
|
+
type,
|
|
3026
|
+
payload,
|
|
3027
|
+
version: "v1"
|
|
3028
|
+
},
|
|
3029
|
+
id: currentId
|
|
3030
|
+
});
|
|
3031
|
+
});
|
|
3032
|
+
}
|
|
3033
|
+
};
|
|
3034
|
+
_sessionId = new WeakMap();
|
|
3035
|
+
_messageCounter = new WeakMap();
|
|
3036
|
+
_handler3 = new WeakMap();
|
|
3037
|
+
_acks = new WeakMap();
|
|
3038
|
+
_registerHandlers = new WeakSet();
|
|
3039
|
+
registerHandlers_fn = /* @__PURE__ */ __name(async function() {
|
|
3040
|
+
if (!this.opts.process.on) {
|
|
3041
|
+
return;
|
|
3042
|
+
}
|
|
3043
|
+
this.opts.process.on("message", async (message) => {
|
|
3044
|
+
__privateMethod(this, _handlePacket, handlePacket_fn).call(this, message);
|
|
3045
|
+
});
|
|
3046
|
+
}, "#registerHandlers");
|
|
3047
|
+
_handlePacket = new WeakSet();
|
|
3048
|
+
handlePacket_fn = /* @__PURE__ */ __name(async function(packet) {
|
|
3049
|
+
const parsedPacket = Packet.safeParse(packet);
|
|
3050
|
+
if (!parsedPacket.success) {
|
|
3051
|
+
return;
|
|
3052
|
+
}
|
|
3053
|
+
switch (parsedPacket.data.type) {
|
|
3054
|
+
case "ACK": {
|
|
3055
|
+
const ack = __privateGet(this, _acks).get(parsedPacket.data.id);
|
|
3056
|
+
if (!ack) {
|
|
3057
|
+
return;
|
|
3058
|
+
}
|
|
3059
|
+
clearTimeout(ack.timeout);
|
|
3060
|
+
ack.resolve(parsedPacket.data.message);
|
|
3061
|
+
break;
|
|
3062
|
+
}
|
|
3063
|
+
case "CONNECT": {
|
|
3064
|
+
if (!parsedPacket.data.sessionId) {
|
|
3065
|
+
const id = randomUUID();
|
|
3066
|
+
await __privateMethod(this, _sendPacket, sendPacket_fn).call(this, {
|
|
3067
|
+
type: "CONNECT",
|
|
3068
|
+
sessionId: id
|
|
3069
|
+
});
|
|
3070
|
+
return;
|
|
3071
|
+
}
|
|
3072
|
+
if (__privateGet(this, _sessionId)) {
|
|
3073
|
+
return;
|
|
3074
|
+
}
|
|
3075
|
+
__privateSet(this, _sessionId, parsedPacket.data.sessionId);
|
|
3076
|
+
break;
|
|
3077
|
+
}
|
|
3078
|
+
case "EVENT": {
|
|
3079
|
+
const result = await __privateGet(this, _handler3).handleMessage(parsedPacket.data.message);
|
|
3080
|
+
if (typeof parsedPacket.data.id === "undefined") {
|
|
3081
|
+
return;
|
|
3082
|
+
}
|
|
3083
|
+
await __privateMethod(this, _sendPacket, sendPacket_fn).call(this, {
|
|
3084
|
+
type: "ACK",
|
|
3085
|
+
id: parsedPacket.data.id,
|
|
3086
|
+
message: result
|
|
3087
|
+
});
|
|
3088
|
+
break;
|
|
3089
|
+
}
|
|
3090
|
+
}
|
|
3091
|
+
}, "#handlePacket");
|
|
3092
|
+
_sendPacket = new WeakSet();
|
|
3093
|
+
sendPacket_fn = /* @__PURE__ */ __name(async function(packet1) {
|
|
3094
|
+
await this.opts.process.send?.(packet1);
|
|
3095
|
+
}, "#sendPacket");
|
|
3096
|
+
__name(_ZodIpcConnection, "ZodIpcConnection");
|
|
3097
|
+
var ZodIpcConnection = _ZodIpcConnection;
|
|
2355
3098
|
function parseError(error) {
|
|
2356
3099
|
if (error instanceof Error) {
|
|
2357
3100
|
return {
|
|
@@ -2993,6 +3736,223 @@ function formatDurationInDays(milliseconds) {
|
|
|
2993
3736
|
return duration;
|
|
2994
3737
|
}
|
|
2995
3738
|
__name(formatDurationInDays, "formatDurationInDays");
|
|
3739
|
+
async function unboundedTimeout(delay = 0, value, options) {
|
|
3740
|
+
const maxDelay = 2147483647;
|
|
3741
|
+
const fullTimeouts = Math.floor(delay / maxDelay);
|
|
3742
|
+
const remainingDelay = delay % maxDelay;
|
|
3743
|
+
let lastTimeoutResult = await setTimeout$1(remainingDelay, value, options);
|
|
3744
|
+
for (let i = 0; i < fullTimeouts; i++) {
|
|
3745
|
+
lastTimeoutResult = await setTimeout$1(maxDelay, value, options);
|
|
3746
|
+
}
|
|
3747
|
+
return lastTimeoutResult;
|
|
3748
|
+
}
|
|
3749
|
+
__name(unboundedTimeout, "unboundedTimeout");
|
|
3750
|
+
|
|
3751
|
+
// src/v3/runtime/devRuntimeManager.ts
|
|
3752
|
+
var _DevRuntimeManager = class _DevRuntimeManager {
|
|
3753
|
+
constructor() {
|
|
3754
|
+
__publicField(this, "_taskWaits", /* @__PURE__ */ new Map());
|
|
3755
|
+
__publicField(this, "_batchWaits", /* @__PURE__ */ new Map());
|
|
3756
|
+
__publicField(this, "_pendingCompletionNotifications", /* @__PURE__ */ new Map());
|
|
3757
|
+
}
|
|
3758
|
+
disable() {
|
|
3759
|
+
}
|
|
3760
|
+
async waitForDuration(ms) {
|
|
3761
|
+
await unboundedTimeout(ms);
|
|
3762
|
+
}
|
|
3763
|
+
async waitUntil(date) {
|
|
3764
|
+
return this.waitForDuration(date.getTime() - Date.now());
|
|
3765
|
+
}
|
|
3766
|
+
async waitForTask(params) {
|
|
3767
|
+
const pendingCompletion = this._pendingCompletionNotifications.get(params.id);
|
|
3768
|
+
if (pendingCompletion) {
|
|
3769
|
+
this._pendingCompletionNotifications.delete(params.id);
|
|
3770
|
+
return pendingCompletion;
|
|
3771
|
+
}
|
|
3772
|
+
const promise = new Promise((resolve) => {
|
|
3773
|
+
this._taskWaits.set(params.id, {
|
|
3774
|
+
resolve
|
|
3775
|
+
});
|
|
3776
|
+
});
|
|
3777
|
+
return await promise;
|
|
3778
|
+
}
|
|
3779
|
+
async waitForBatch(params) {
|
|
3780
|
+
if (!params.runs.length) {
|
|
3781
|
+
return Promise.resolve({
|
|
3782
|
+
id: params.id,
|
|
3783
|
+
items: []
|
|
3784
|
+
});
|
|
3785
|
+
}
|
|
3786
|
+
const promise = Promise.all(params.runs.map((runId) => {
|
|
3787
|
+
return new Promise((resolve, reject) => {
|
|
3788
|
+
const pendingCompletion = this._pendingCompletionNotifications.get(runId);
|
|
3789
|
+
if (pendingCompletion) {
|
|
3790
|
+
this._pendingCompletionNotifications.delete(runId);
|
|
3791
|
+
resolve(pendingCompletion);
|
|
3792
|
+
return;
|
|
3793
|
+
}
|
|
3794
|
+
this._taskWaits.set(runId, {
|
|
3795
|
+
resolve
|
|
3796
|
+
});
|
|
3797
|
+
});
|
|
3798
|
+
}));
|
|
3799
|
+
const results = await promise;
|
|
3800
|
+
return {
|
|
3801
|
+
id: params.id,
|
|
3802
|
+
items: results
|
|
3803
|
+
};
|
|
3804
|
+
}
|
|
3805
|
+
resumeTask(completion, execution) {
|
|
3806
|
+
const wait = this._taskWaits.get(execution.run.id);
|
|
3807
|
+
if (!wait) {
|
|
3808
|
+
this._pendingCompletionNotifications.set(execution.run.id, completion);
|
|
3809
|
+
return;
|
|
3810
|
+
}
|
|
3811
|
+
wait.resolve(completion);
|
|
3812
|
+
this._taskWaits.delete(execution.run.id);
|
|
3813
|
+
}
|
|
3814
|
+
};
|
|
3815
|
+
__name(_DevRuntimeManager, "DevRuntimeManager");
|
|
3816
|
+
var DevRuntimeManager = _DevRuntimeManager;
|
|
3817
|
+
|
|
3818
|
+
// src/v3/runtime/prodRuntimeManager.ts
|
|
3819
|
+
var _ProdRuntimeManager = class _ProdRuntimeManager {
|
|
3820
|
+
constructor(ipc, options = {}) {
|
|
3821
|
+
this.ipc = ipc;
|
|
3822
|
+
this.options = options;
|
|
3823
|
+
this._taskWaits = /* @__PURE__ */ new Map();
|
|
3824
|
+
this._batchWaits = /* @__PURE__ */ new Map();
|
|
3825
|
+
}
|
|
3826
|
+
disable() {
|
|
3827
|
+
}
|
|
3828
|
+
async waitForDuration(ms) {
|
|
3829
|
+
const now = Date.now();
|
|
3830
|
+
const resolveAfterDuration = unboundedTimeout(ms, "duration");
|
|
3831
|
+
if (ms <= this.waitThresholdInMs) {
|
|
3832
|
+
await resolveAfterDuration;
|
|
3833
|
+
return;
|
|
3834
|
+
}
|
|
3835
|
+
const waitForRestore = new Promise((resolve, reject) => {
|
|
3836
|
+
this._waitForRestore = {
|
|
3837
|
+
resolve,
|
|
3838
|
+
reject
|
|
3839
|
+
};
|
|
3840
|
+
});
|
|
3841
|
+
const { willCheckpointAndRestore } = await this.ipc.sendWithAck("WAIT_FOR_DURATION", {
|
|
3842
|
+
ms,
|
|
3843
|
+
now
|
|
3844
|
+
});
|
|
3845
|
+
if (!willCheckpointAndRestore) {
|
|
3846
|
+
await resolveAfterDuration;
|
|
3847
|
+
return;
|
|
3848
|
+
}
|
|
3849
|
+
this.ipc.send("READY_FOR_CHECKPOINT", {});
|
|
3850
|
+
await Promise.race([
|
|
3851
|
+
waitForRestore,
|
|
3852
|
+
resolveAfterDuration
|
|
3853
|
+
]);
|
|
3854
|
+
this.ipc.send("CANCEL_CHECKPOINT", {});
|
|
3855
|
+
}
|
|
3856
|
+
resumeAfterRestore() {
|
|
3857
|
+
if (!this._waitForRestore) {
|
|
3858
|
+
return;
|
|
3859
|
+
}
|
|
3860
|
+
clock.reset();
|
|
3861
|
+
this._waitForRestore.resolve("restore");
|
|
3862
|
+
this._waitForRestore = void 0;
|
|
3863
|
+
}
|
|
3864
|
+
async waitUntil(date) {
|
|
3865
|
+
return this.waitForDuration(date.getTime() - Date.now());
|
|
3866
|
+
}
|
|
3867
|
+
async waitForTask(params) {
|
|
3868
|
+
const promise = new Promise((resolve) => {
|
|
3869
|
+
this._taskWaits.set(params.id, {
|
|
3870
|
+
resolve
|
|
3871
|
+
});
|
|
3872
|
+
});
|
|
3873
|
+
await this.ipc.send("WAIT_FOR_TASK", {
|
|
3874
|
+
friendlyId: params.id
|
|
3875
|
+
});
|
|
3876
|
+
const result = await promise;
|
|
3877
|
+
clock.reset();
|
|
3878
|
+
return result;
|
|
3879
|
+
}
|
|
3880
|
+
async waitForBatch(params) {
|
|
3881
|
+
if (!params.runs.length) {
|
|
3882
|
+
return Promise.resolve({
|
|
3883
|
+
id: params.id,
|
|
3884
|
+
items: []
|
|
3885
|
+
});
|
|
3886
|
+
}
|
|
3887
|
+
const promise = Promise.all(params.runs.map((runId) => {
|
|
3888
|
+
return new Promise((resolve, reject) => {
|
|
3889
|
+
this._taskWaits.set(runId, {
|
|
3890
|
+
resolve
|
|
3891
|
+
});
|
|
3892
|
+
});
|
|
3893
|
+
}));
|
|
3894
|
+
await this.ipc.send("WAIT_FOR_BATCH", {
|
|
3895
|
+
batchFriendlyId: params.id,
|
|
3896
|
+
runFriendlyIds: params.runs
|
|
3897
|
+
});
|
|
3898
|
+
const results = await promise;
|
|
3899
|
+
clock.reset();
|
|
3900
|
+
return {
|
|
3901
|
+
id: params.id,
|
|
3902
|
+
items: results
|
|
3903
|
+
};
|
|
3904
|
+
}
|
|
3905
|
+
resumeTask(completion, execution) {
|
|
3906
|
+
const wait = this._taskWaits.get(execution.run.id);
|
|
3907
|
+
if (!wait) {
|
|
3908
|
+
return;
|
|
3909
|
+
}
|
|
3910
|
+
wait.resolve(completion);
|
|
3911
|
+
this._taskWaits.delete(execution.run.id);
|
|
3912
|
+
}
|
|
3913
|
+
get waitThresholdInMs() {
|
|
3914
|
+
return this.options.waitThresholdInMs ?? 3e4;
|
|
3915
|
+
}
|
|
3916
|
+
};
|
|
3917
|
+
__name(_ProdRuntimeManager, "ProdRuntimeManager");
|
|
3918
|
+
var ProdRuntimeManager = _ProdRuntimeManager;
|
|
3919
|
+
var _originClockTime, originClockTime_get, _originPreciseDate, originPreciseDate_get;
|
|
3920
|
+
var _PreciseWallClock = class _PreciseWallClock {
|
|
3921
|
+
constructor(options = {}) {
|
|
3922
|
+
__privateAdd(this, _originClockTime);
|
|
3923
|
+
__privateAdd(this, _originPreciseDate);
|
|
3924
|
+
this._origin = {
|
|
3925
|
+
clockTime: options.origin ?? process.hrtime(),
|
|
3926
|
+
preciseDate: options.now ?? new PreciseDate()
|
|
3927
|
+
};
|
|
3928
|
+
}
|
|
3929
|
+
preciseNow() {
|
|
3930
|
+
const elapsedHrTime = process.hrtime(__privateGet(this, _originClockTime, originClockTime_get));
|
|
3931
|
+
const elapsedNanoseconds = BigInt(elapsedHrTime[0]) * BigInt(1e9) + BigInt(elapsedHrTime[1]);
|
|
3932
|
+
const preciseDate = new PreciseDate(__privateGet(this, _originPreciseDate, originPreciseDate_get).getFullTime() + elapsedNanoseconds);
|
|
3933
|
+
const dateStruct = preciseDate.toStruct();
|
|
3934
|
+
return [
|
|
3935
|
+
dateStruct.seconds,
|
|
3936
|
+
dateStruct.nanos
|
|
3937
|
+
];
|
|
3938
|
+
}
|
|
3939
|
+
reset() {
|
|
3940
|
+
this._origin = {
|
|
3941
|
+
clockTime: process.hrtime(),
|
|
3942
|
+
preciseDate: new PreciseDate()
|
|
3943
|
+
};
|
|
3944
|
+
}
|
|
3945
|
+
};
|
|
3946
|
+
_originClockTime = new WeakSet();
|
|
3947
|
+
originClockTime_get = /* @__PURE__ */ __name(function() {
|
|
3948
|
+
return this._origin.clockTime;
|
|
3949
|
+
}, "#originClockTime");
|
|
3950
|
+
_originPreciseDate = new WeakSet();
|
|
3951
|
+
originPreciseDate_get = /* @__PURE__ */ __name(function() {
|
|
3952
|
+
return this._origin.preciseDate;
|
|
3953
|
+
}, "#originPreciseDate");
|
|
3954
|
+
__name(_PreciseWallClock, "PreciseWallClock");
|
|
3955
|
+
var PreciseWallClock = _PreciseWallClock;
|
|
2996
3956
|
var _TriggerTracer = class _TriggerTracer {
|
|
2997
3957
|
constructor(_config) {
|
|
2998
3958
|
this._config = _config;
|
|
@@ -3075,27 +4035,27 @@ var _ConsoleInterceptor = class _ConsoleInterceptor {
|
|
|
3075
4035
|
}
|
|
3076
4036
|
// Intercept the console and send logs to the OpenTelemetry logger
|
|
3077
4037
|
// during the execution of the callback
|
|
3078
|
-
async intercept(
|
|
4038
|
+
async intercept(console2, callback) {
|
|
3079
4039
|
const originalConsole = {
|
|
3080
|
-
log:
|
|
3081
|
-
info:
|
|
3082
|
-
warn:
|
|
3083
|
-
error:
|
|
3084
|
-
debug:
|
|
4040
|
+
log: console2.log,
|
|
4041
|
+
info: console2.info,
|
|
4042
|
+
warn: console2.warn,
|
|
4043
|
+
error: console2.error,
|
|
4044
|
+
debug: console2.debug
|
|
3085
4045
|
};
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
4046
|
+
console2.log = this.log.bind(this);
|
|
4047
|
+
console2.info = this.info.bind(this);
|
|
4048
|
+
console2.warn = this.warn.bind(this);
|
|
4049
|
+
console2.error = this.error.bind(this);
|
|
4050
|
+
console2.debug = this.debug.bind(this);
|
|
3091
4051
|
try {
|
|
3092
4052
|
return await callback();
|
|
3093
4053
|
} finally {
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
4054
|
+
console2.log = originalConsole.log;
|
|
4055
|
+
console2.info = originalConsole.info;
|
|
4056
|
+
console2.warn = originalConsole.warn;
|
|
4057
|
+
console2.error = originalConsole.error;
|
|
4058
|
+
console2.debug = originalConsole.debug;
|
|
3099
4059
|
}
|
|
3100
4060
|
}
|
|
3101
4061
|
debug(...args) {
|
|
@@ -3373,8 +4333,8 @@ function omit(obj, ...keys) {
|
|
|
3373
4333
|
return result;
|
|
3374
4334
|
}
|
|
3375
4335
|
__name(omit, "omit");
|
|
3376
|
-
var
|
|
3377
|
-
var AsyncResourceDetector = (
|
|
4336
|
+
var _a2;
|
|
4337
|
+
var AsyncResourceDetector = (_a2 = class {
|
|
3378
4338
|
constructor() {
|
|
3379
4339
|
__publicField(this, "_resolved", false);
|
|
3380
4340
|
this._promise = new Promise((resolver) => {
|
|
@@ -3394,7 +4354,7 @@ var AsyncResourceDetector = (_a = class {
|
|
|
3394
4354
|
this._resolved = true;
|
|
3395
4355
|
this._resolver(attributes);
|
|
3396
4356
|
}
|
|
3397
|
-
}, __name(
|
|
4357
|
+
}, __name(_a2, "AsyncResourceDetector"), _a2);
|
|
3398
4358
|
var _TracingSDK = class _TracingSDK {
|
|
3399
4359
|
constructor(config) {
|
|
3400
4360
|
this.config = config;
|
|
@@ -3518,35 +4478,6 @@ function recordSpanException(span, error) {
|
|
|
3518
4478
|
}
|
|
3519
4479
|
__name(recordSpanException, "recordSpanException");
|
|
3520
4480
|
|
|
3521
|
-
// package.json
|
|
3522
|
-
var dependencies = {
|
|
3523
|
-
"@google-cloud/precise-date": "^4.0.0",
|
|
3524
|
-
"@opentelemetry/api": "^1.8.0",
|
|
3525
|
-
"@opentelemetry/api-logs": "^0.48.0",
|
|
3526
|
-
"@opentelemetry/exporter-logs-otlp-http": "^0.49.1",
|
|
3527
|
-
"@opentelemetry/exporter-trace-otlp-http": "^0.49.1",
|
|
3528
|
-
"@opentelemetry/instrumentation": "^0.49.1",
|
|
3529
|
-
"@opentelemetry/resources": "^1.22.0",
|
|
3530
|
-
"@opentelemetry/sdk-logs": "^0.49.1",
|
|
3531
|
-
"@opentelemetry/sdk-node": "^0.49.1",
|
|
3532
|
-
"@opentelemetry/sdk-trace-base": "^1.22.0",
|
|
3533
|
-
"@opentelemetry/sdk-trace-node": "^1.22.0",
|
|
3534
|
-
"@opentelemetry/semantic-conventions": "^1.22.0",
|
|
3535
|
-
"humanize-duration": "^3.27.3",
|
|
3536
|
-
superjson: "^2.2.1",
|
|
3537
|
-
ulidx: "^2.2.1",
|
|
3538
|
-
zod: "3.22.3",
|
|
3539
|
-
"zod-error": "1.5.0",
|
|
3540
|
-
"zod-validation-error": "^1.5.0",
|
|
3541
|
-
"socket.io-client": "4.7.4"
|
|
3542
|
-
};
|
|
3543
|
-
|
|
3544
|
-
// src/v3/utils/detectDependencyVersion.ts
|
|
3545
|
-
function detectDependencyVersion(dependency) {
|
|
3546
|
-
return dependencies[dependency];
|
|
3547
|
-
}
|
|
3548
|
-
__name(detectDependencyVersion, "detectDependencyVersion");
|
|
3549
|
-
|
|
3550
4481
|
// src/v3/utils/ioSerialization.ts
|
|
3551
4482
|
async function parsePacket(value) {
|
|
3552
4483
|
if (!value.data) {
|
|
@@ -3815,6 +4746,286 @@ function safeJsonParse2(value) {
|
|
|
3815
4746
|
}
|
|
3816
4747
|
__name(safeJsonParse2, "safeJsonParse");
|
|
3817
4748
|
|
|
4749
|
+
// src/v3/workers/taskExecutor.ts
|
|
4750
|
+
var _callRun, callRun_fn, _callTaskInit, callTaskInit_fn, _callTaskCleanup, callTaskCleanup_fn, _handleError, handleError_fn;
|
|
4751
|
+
var _TaskExecutor = class _TaskExecutor {
|
|
4752
|
+
constructor(task, options) {
|
|
4753
|
+
__privateAdd(this, _callRun);
|
|
4754
|
+
__privateAdd(this, _callTaskInit);
|
|
4755
|
+
__privateAdd(this, _callTaskCleanup);
|
|
4756
|
+
__privateAdd(this, _handleError);
|
|
4757
|
+
this.task = task;
|
|
4758
|
+
this._tracingSDK = options.tracingSDK;
|
|
4759
|
+
this._tracer = options.tracer;
|
|
4760
|
+
this._consoleInterceptor = options.consoleInterceptor;
|
|
4761
|
+
this._config = options.projectConfig;
|
|
4762
|
+
this._importedConfig = options.importedConfig;
|
|
4763
|
+
this._handleErrorFn = options.handleErrorFn;
|
|
4764
|
+
}
|
|
4765
|
+
async execute(execution, worker, traceContext) {
|
|
4766
|
+
const ctx = TaskRunContext.parse(execution);
|
|
4767
|
+
const attemptMessage = `Attempt ${execution.attempt.number}`;
|
|
4768
|
+
const originalPacket = {
|
|
4769
|
+
data: execution.run.payload,
|
|
4770
|
+
dataType: execution.run.payloadType
|
|
4771
|
+
};
|
|
4772
|
+
const result = await taskContextManager.runWith({
|
|
4773
|
+
ctx,
|
|
4774
|
+
worker
|
|
4775
|
+
}, async () => {
|
|
4776
|
+
this._tracingSDK.asyncResourceDetector.resolveWithAttributes({
|
|
4777
|
+
...taskContextManager.attributes,
|
|
4778
|
+
[SemanticInternalAttributes.SDK_VERSION]: this.task.packageVersion,
|
|
4779
|
+
[SemanticInternalAttributes.SDK_LANGUAGE]: "typescript"
|
|
4780
|
+
});
|
|
4781
|
+
return await this._tracer.startActiveSpan(attemptMessage, async (span) => {
|
|
4782
|
+
return await this._consoleInterceptor.intercept(console, async () => {
|
|
4783
|
+
let parsedPayload;
|
|
4784
|
+
let initOutput;
|
|
4785
|
+
try {
|
|
4786
|
+
const payloadPacket = await conditionallyImportPacket(originalPacket, this._tracer);
|
|
4787
|
+
parsedPayload = await parsePacket(payloadPacket);
|
|
4788
|
+
initOutput = await __privateMethod(this, _callTaskInit, callTaskInit_fn).call(this, parsedPayload, ctx);
|
|
4789
|
+
const output = await __privateMethod(this, _callRun, callRun_fn).call(this, parsedPayload, ctx, initOutput);
|
|
4790
|
+
try {
|
|
4791
|
+
const stringifiedOutput = await stringifyIO(output);
|
|
4792
|
+
const finalOutput = await conditionallyExportPacket(stringifiedOutput, `${execution.attempt.id}/output`, this._tracer);
|
|
4793
|
+
const attributes = await createPacketAttributes(finalOutput, SemanticInternalAttributes.OUTPUT, SemanticInternalAttributes.OUTPUT_TYPE);
|
|
4794
|
+
if (attributes) {
|
|
4795
|
+
span.setAttributes(attributes);
|
|
4796
|
+
}
|
|
4797
|
+
return {
|
|
4798
|
+
ok: true,
|
|
4799
|
+
id: execution.run.id,
|
|
4800
|
+
output: finalOutput.data,
|
|
4801
|
+
outputType: finalOutput.dataType
|
|
4802
|
+
};
|
|
4803
|
+
} catch (stringifyError) {
|
|
4804
|
+
recordSpanException(span, stringifyError);
|
|
4805
|
+
return {
|
|
4806
|
+
ok: false,
|
|
4807
|
+
id: execution.run.id,
|
|
4808
|
+
error: {
|
|
4809
|
+
type: "INTERNAL_ERROR",
|
|
4810
|
+
code: TaskRunErrorCodes.TASK_OUTPUT_ERROR,
|
|
4811
|
+
message: stringifyError instanceof Error ? stringifyError.message : typeof stringifyError === "string" ? stringifyError : void 0
|
|
4812
|
+
}
|
|
4813
|
+
};
|
|
4814
|
+
}
|
|
4815
|
+
} catch (runError) {
|
|
4816
|
+
try {
|
|
4817
|
+
const handleErrorResult = await __privateMethod(this, _handleError, handleError_fn).call(this, execution, runError, parsedPayload, ctx);
|
|
4818
|
+
recordSpanException(span, handleErrorResult.error ?? runError);
|
|
4819
|
+
return {
|
|
4820
|
+
id: execution.run.id,
|
|
4821
|
+
ok: false,
|
|
4822
|
+
error: handleErrorResult.error ? parseError(handleErrorResult.error) : parseError(runError),
|
|
4823
|
+
retry: handleErrorResult.status === "retry" ? handleErrorResult.retry : void 0,
|
|
4824
|
+
skippedRetrying: handleErrorResult.status === "skipped"
|
|
4825
|
+
};
|
|
4826
|
+
} catch (handleErrorError) {
|
|
4827
|
+
recordSpanException(span, handleErrorError);
|
|
4828
|
+
return {
|
|
4829
|
+
ok: false,
|
|
4830
|
+
id: execution.run.id,
|
|
4831
|
+
error: {
|
|
4832
|
+
type: "INTERNAL_ERROR",
|
|
4833
|
+
code: TaskRunErrorCodes.HANDLE_ERROR_ERROR,
|
|
4834
|
+
message: handleErrorError instanceof Error ? handleErrorError.message : typeof handleErrorError === "string" ? handleErrorError : void 0
|
|
4835
|
+
}
|
|
4836
|
+
};
|
|
4837
|
+
}
|
|
4838
|
+
} finally {
|
|
4839
|
+
await __privateMethod(this, _callTaskCleanup, callTaskCleanup_fn).call(this, parsedPayload, ctx, initOutput);
|
|
4840
|
+
}
|
|
4841
|
+
});
|
|
4842
|
+
}, {
|
|
4843
|
+
kind: SpanKind.CONSUMER,
|
|
4844
|
+
attributes: {
|
|
4845
|
+
[SemanticInternalAttributes.STYLE_ICON]: "attempt",
|
|
4846
|
+
...accessoryAttributes({
|
|
4847
|
+
items: [
|
|
4848
|
+
{
|
|
4849
|
+
text: ctx.task.filePath
|
|
4850
|
+
},
|
|
4851
|
+
{
|
|
4852
|
+
text: `${ctx.task.exportName}.run()`
|
|
4853
|
+
}
|
|
4854
|
+
],
|
|
4855
|
+
style: "codepath"
|
|
4856
|
+
})
|
|
4857
|
+
}
|
|
4858
|
+
}, this._tracer.extractContext(traceContext));
|
|
4859
|
+
});
|
|
4860
|
+
return result;
|
|
4861
|
+
}
|
|
4862
|
+
};
|
|
4863
|
+
_callRun = new WeakSet();
|
|
4864
|
+
callRun_fn = /* @__PURE__ */ __name(async function(payload, ctx, init) {
|
|
4865
|
+
const runFn = this.task.fns.run;
|
|
4866
|
+
const middlewareFn = this.task.fns.middleware;
|
|
4867
|
+
if (!runFn) {
|
|
4868
|
+
throw new Error("Task does not have a run function");
|
|
4869
|
+
}
|
|
4870
|
+
if (!middlewareFn) {
|
|
4871
|
+
return runFn(payload, {
|
|
4872
|
+
ctx
|
|
4873
|
+
});
|
|
4874
|
+
}
|
|
4875
|
+
return middlewareFn(payload, {
|
|
4876
|
+
ctx,
|
|
4877
|
+
next: async () => runFn(payload, {
|
|
4878
|
+
ctx,
|
|
4879
|
+
init
|
|
4880
|
+
})
|
|
4881
|
+
});
|
|
4882
|
+
}, "#callRun");
|
|
4883
|
+
_callTaskInit = new WeakSet();
|
|
4884
|
+
callTaskInit_fn = /* @__PURE__ */ __name(async function(payload1, ctx1) {
|
|
4885
|
+
const initFn = this.task.fns.init;
|
|
4886
|
+
if (!initFn) {
|
|
4887
|
+
return {};
|
|
4888
|
+
}
|
|
4889
|
+
return this._tracer.startActiveSpan("init", async (span) => {
|
|
4890
|
+
return await initFn(payload1, {
|
|
4891
|
+
ctx: ctx1
|
|
4892
|
+
});
|
|
4893
|
+
});
|
|
4894
|
+
}, "#callTaskInit");
|
|
4895
|
+
_callTaskCleanup = new WeakSet();
|
|
4896
|
+
callTaskCleanup_fn = /* @__PURE__ */ __name(async function(payload2, ctx2, init1) {
|
|
4897
|
+
const cleanupFn = this.task.fns.cleanup;
|
|
4898
|
+
if (!cleanupFn) {
|
|
4899
|
+
return;
|
|
4900
|
+
}
|
|
4901
|
+
return this._tracer.startActiveSpan("cleanup", async (span) => {
|
|
4902
|
+
return await cleanupFn(payload2, {
|
|
4903
|
+
ctx: ctx2,
|
|
4904
|
+
init: init1
|
|
4905
|
+
});
|
|
4906
|
+
});
|
|
4907
|
+
}, "#callTaskCleanup");
|
|
4908
|
+
_handleError = new WeakSet();
|
|
4909
|
+
handleError_fn = /* @__PURE__ */ __name(async function(execution, error, payload3, ctx3) {
|
|
4910
|
+
const retriesConfig = this._importedConfig?.retries ?? this._config.retries;
|
|
4911
|
+
const retry = this.task.retry ?? retriesConfig?.default;
|
|
4912
|
+
if (!retry) {
|
|
4913
|
+
return {
|
|
4914
|
+
status: "noop"
|
|
4915
|
+
};
|
|
4916
|
+
}
|
|
4917
|
+
const delay = calculateNextRetryDelay(retry, execution.attempt.number);
|
|
4918
|
+
if (execution.environment.type === "DEVELOPMENT" && typeof retriesConfig?.enabledInDev === "boolean" && !retriesConfig.enabledInDev) {
|
|
4919
|
+
return {
|
|
4920
|
+
status: "skipped"
|
|
4921
|
+
};
|
|
4922
|
+
}
|
|
4923
|
+
return this._tracer.startActiveSpan("handleError()", async (span) => {
|
|
4924
|
+
const handleErrorResult = this.task.fns.handleError ? await this.task.fns.handleError(payload3, error, {
|
|
4925
|
+
ctx: ctx3,
|
|
4926
|
+
retry,
|
|
4927
|
+
retryDelayInMs: delay,
|
|
4928
|
+
retryAt: delay ? new Date(Date.now() + delay) : void 0
|
|
4929
|
+
}) : this._importedConfig ? await this._handleErrorFn?.(payload3, error, {
|
|
4930
|
+
ctx: ctx3,
|
|
4931
|
+
retry,
|
|
4932
|
+
retryDelayInMs: delay,
|
|
4933
|
+
retryAt: delay ? new Date(Date.now() + delay) : void 0
|
|
4934
|
+
}) : void 0;
|
|
4935
|
+
if (!handleErrorResult) {
|
|
4936
|
+
return typeof delay === "undefined" ? {
|
|
4937
|
+
status: "noop"
|
|
4938
|
+
} : {
|
|
4939
|
+
status: "retry",
|
|
4940
|
+
retry: {
|
|
4941
|
+
timestamp: Date.now() + delay,
|
|
4942
|
+
delay
|
|
4943
|
+
}
|
|
4944
|
+
};
|
|
4945
|
+
}
|
|
4946
|
+
if (handleErrorResult.skipRetrying) {
|
|
4947
|
+
return {
|
|
4948
|
+
status: "skipped",
|
|
4949
|
+
error: handleErrorResult.error
|
|
4950
|
+
};
|
|
4951
|
+
}
|
|
4952
|
+
if (typeof handleErrorResult.retryAt !== "undefined") {
|
|
4953
|
+
return {
|
|
4954
|
+
status: "retry",
|
|
4955
|
+
retry: {
|
|
4956
|
+
timestamp: handleErrorResult.retryAt.getTime(),
|
|
4957
|
+
delay: handleErrorResult.retryAt.getTime() - Date.now()
|
|
4958
|
+
},
|
|
4959
|
+
error: handleErrorResult.error
|
|
4960
|
+
};
|
|
4961
|
+
}
|
|
4962
|
+
if (typeof handleErrorResult.retryDelayInMs === "number") {
|
|
4963
|
+
return {
|
|
4964
|
+
status: "retry",
|
|
4965
|
+
retry: {
|
|
4966
|
+
timestamp: Date.now() + handleErrorResult.retryDelayInMs,
|
|
4967
|
+
delay: handleErrorResult.retryDelayInMs
|
|
4968
|
+
},
|
|
4969
|
+
error: handleErrorResult.error
|
|
4970
|
+
};
|
|
4971
|
+
}
|
|
4972
|
+
if (handleErrorResult.retry && typeof handleErrorResult.retry === "object") {
|
|
4973
|
+
const delay2 = calculateNextRetryDelay(handleErrorResult.retry, execution.attempt.number);
|
|
4974
|
+
return typeof delay2 === "undefined" ? {
|
|
4975
|
+
status: "noop",
|
|
4976
|
+
error: handleErrorResult.error
|
|
4977
|
+
} : {
|
|
4978
|
+
status: "retry",
|
|
4979
|
+
retry: {
|
|
4980
|
+
timestamp: Date.now() + delay2,
|
|
4981
|
+
delay: delay2
|
|
4982
|
+
},
|
|
4983
|
+
error: handleErrorResult.error
|
|
4984
|
+
};
|
|
4985
|
+
}
|
|
4986
|
+
return {
|
|
4987
|
+
status: "noop",
|
|
4988
|
+
error: handleErrorResult.error
|
|
4989
|
+
};
|
|
4990
|
+
}, {
|
|
4991
|
+
attributes: {
|
|
4992
|
+
[SemanticInternalAttributes.STYLE_ICON]: "exclamation-circle"
|
|
4993
|
+
}
|
|
4994
|
+
});
|
|
4995
|
+
}, "#handleError");
|
|
4996
|
+
__name(_TaskExecutor, "TaskExecutor");
|
|
4997
|
+
var TaskExecutor = _TaskExecutor;
|
|
4998
|
+
|
|
4999
|
+
// package.json
|
|
5000
|
+
var dependencies = {
|
|
5001
|
+
"@google-cloud/precise-date": "^4.0.0",
|
|
5002
|
+
"@opentelemetry/api": "^1.8.0",
|
|
5003
|
+
"@opentelemetry/api-logs": "^0.48.0",
|
|
5004
|
+
"@opentelemetry/exporter-logs-otlp-http": "^0.49.1",
|
|
5005
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.49.1",
|
|
5006
|
+
"@opentelemetry/instrumentation": "^0.49.1",
|
|
5007
|
+
"@opentelemetry/resources": "^1.22.0",
|
|
5008
|
+
"@opentelemetry/sdk-logs": "^0.49.1",
|
|
5009
|
+
"@opentelemetry/sdk-node": "^0.49.1",
|
|
5010
|
+
"@opentelemetry/sdk-trace-base": "^1.22.0",
|
|
5011
|
+
"@opentelemetry/sdk-trace-node": "^1.22.0",
|
|
5012
|
+
"@opentelemetry/semantic-conventions": "^1.22.0",
|
|
5013
|
+
"humanize-duration": "^3.27.3",
|
|
5014
|
+
"socket.io": "^4.7.4",
|
|
5015
|
+
"socket.io-client": "^4.7.4",
|
|
5016
|
+
superjson: "^2.2.1",
|
|
5017
|
+
ulidx: "^2.2.1",
|
|
5018
|
+
zod: "3.22.3",
|
|
5019
|
+
"zod-error": "1.5.0",
|
|
5020
|
+
"zod-validation-error": "^1.5.0"
|
|
5021
|
+
};
|
|
5022
|
+
|
|
5023
|
+
// src/v3/utils/detectDependencyVersion.ts
|
|
5024
|
+
function detectDependencyVersion(dependency) {
|
|
5025
|
+
return dependencies[dependency];
|
|
5026
|
+
}
|
|
5027
|
+
__name(detectDependencyVersion, "detectDependencyVersion");
|
|
5028
|
+
|
|
3818
5029
|
// src/v3/task-catalog/standardTaskCatalog.ts
|
|
3819
5030
|
var _StandardTaskCatalog = class _StandardTaskCatalog {
|
|
3820
5031
|
constructor() {
|
|
@@ -3903,6 +5114,6 @@ function parseBatchTriggerTaskRequestBody(body) {
|
|
|
3903
5114
|
}
|
|
3904
5115
|
__name(parseBatchTriggerTaskRequestBody, "parseBatchTriggerTaskRequestBody");
|
|
3905
5116
|
|
|
3906
|
-
export { APIConnectionError, APIError, ApiClient, ApiClientManager, AuthenticationError, BackgroundWorkerClientMessages, BackgroundWorkerMetadata, BackgroundWorkerProperties, BackgroundWorkerServerMessages, BadRequestError, BatchTaskRunExecutionResult, BatchTriggerTaskRequestBody, BatchTriggerTaskResponse, CanceledRunResponse, CancellationSpanEvent, ClientToSharedQueueMessages, Config, ConflictError, ConsoleInterceptor, CoordinatorToPlatformMessages, CoordinatorToProdWorkerMessages, CreateAuthorizationCodeResponseSchema, CreateBackgroundWorkerRequestBody, CreateBackgroundWorkerResponse, CreateScheduleOptions, CreateUploadPayloadUrlResponseBody, DeletedScheduleObject, DeploymentErrorData, EnvironmentType, EventFilter, ExceptionEventProperties, ExceptionSpanEvent, ExternalBuildData, FetchRetryBackoffStrategy, FetchRetryByStatusOptions, FetchRetryHeadersStrategy, FetchRetryOptions, FetchRetryStrategy, FetchTimeoutOptions, FixedWindowRateLimit, GetBatchResponseBody, GetDeploymentResponseBody, GetEnvironmentVariablesResponseBody, GetPersonalAccessTokenRequestSchema, GetPersonalAccessTokenResponseSchema, GetProjectEnvResponse, GetProjectResponseBody, GetProjectsResponseBody, ImageDetailsMetadata, InitializeDeploymentRequestBody, InitializeDeploymentResponseBody, InternalServerError, ListScheduleOptions, ListSchedulesResult, Machine, MachineCpu, MachineMemory, NotFoundError, OFFLOAD_IO_PACKET_LENGTH_LIMIT, OTEL_ATTRIBUTE_PER_EVENT_COUNT_LIMIT, OTEL_ATTRIBUTE_PER_LINK_COUNT_LIMIT, OTEL_LINK_COUNT_LIMIT, OTEL_LOG_ATTRIBUTE_COUNT_LIMIT, OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_LIMIT, OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT, OTEL_SPAN_EVENT_COUNT_LIMIT, OtelTaskLogger, OtherSpanEvent, PRIMARY_VARIANT, PermissionDeniedError, PlatformToCoordinatorMessages, PlatformToProviderMessages, PostStartCauses, PreStopCauses, ProdChildToWorkerMessages, ProdTaskRunExecution, ProdTaskRunExecutionPayload, ProdWorkerSocketData, ProdWorkerToChildMessages, ProdWorkerToCoordinatorMessages, ProviderToPlatformMessages, QueueOptions, RateLimitError, RateLimitOptions, ReplayRunResponse, RetryOptions, ScheduleObject, ScheduledTaskPayload, SemanticInternalAttributes, SharedQueueToClientMessages, SlidingWindowRateLimit, SpanEvent, SpanEvents, SpanMessagingEvent, StandardTaskCatalog, StartDeploymentIndexingRequestBody, StartDeploymentIndexingResponseBody, TaskContextSpanProcessor, TaskEventStyle, TaskFileMetadata, TaskMetadata, TaskMetadataFailedToParseData, TaskMetadataWithFilePath, TaskResource, TaskRun, TaskRunBuiltInError, TaskRunContext, TaskRunCustomErrorObject, TaskRunError, TaskRunErrorCodes, TaskRunExecution, TaskRunExecutionAttempt, TaskRunExecutionBatch, TaskRunExecutionEnvironment, TaskRunExecutionOrganization, TaskRunExecutionPayload, TaskRunExecutionProject, TaskRunExecutionQueue, TaskRunExecutionResult, TaskRunExecutionRetry, TaskRunExecutionTask, TaskRunFailedExecutionResult, TaskRunInternalError, TaskRunStringError, TaskRunSuccessfulExecutionResult, TracingSDK, TriggerTaskRequestBody, TriggerTaskResponse, TriggerTracer, UncaughtExceptionMessage, UnprocessableEntityError, UpdateScheduleOptions, WaitReason, WhoAmIResponseSchema, accessoryAttributes, apiClientManager, calculateNextRetryDelay, calculateResetAt2 as calculateResetAt, childToWorkerMessages, clientWebsocketMessages, clock, conditionallyExportPacket, conditionallyImportPacket, correctErrorStackTrace, createErrorTaskError, createPacketAttributes, createPacketAttributesAsJson, defaultFetchRetryOptions, defaultRetryOptions, detectDependencyVersion, eventFilterMatches, flattenAttributes, formatDuration, formatDurationInDays, formatDurationMilliseconds, formatDurationNanoseconds, getEnvVar, groupTaskMetadataIssuesByTask, iconStringForSeverity, imposeAttributeLimits, isCancellationSpanEvent, isExceptionSpanEvent, logLevels, logger, millisecondsToNanoseconds, nanosecondsToMilliseconds, omit, packetRequiresOffloading, parseBatchTriggerTaskRequestBody, parseError, parsePacket, parseTriggerTaskRequestBody, prettyPrintPacket, primitiveValueOrflattenedAttributes, recordSpanException, runtime, serverWebsocketMessages, stringPatternMatchers, stringifyIO, taskCatalog, taskContextManager, unflattenAttributes, workerToChildMessages };
|
|
5117
|
+
export { APIConnectionError, APIError, ApiClient, ApiClientManager, AuthenticationError, BackgroundWorkerClientMessages, BackgroundWorkerMetadata, BackgroundWorkerProperties, BackgroundWorkerServerMessages, BadRequestError, BatchTaskRunExecutionResult, BatchTriggerTaskRequestBody, BatchTriggerTaskResponse, CanceledRunResponse, CancellationSpanEvent, ClientToSharedQueueMessages, Config, ConflictError, ConsoleInterceptor, CoordinatorToPlatformMessages, CoordinatorToProdWorkerMessages, CreateAuthorizationCodeResponseSchema, CreateBackgroundWorkerRequestBody, CreateBackgroundWorkerResponse, CreateScheduleOptions, CreateUploadPayloadUrlResponseBody, DeletedScheduleObject, DeploymentErrorData, DevRuntimeManager, PreciseWallClock as DurableClock, EnvironmentType, EventFilter, ExceptionEventProperties, ExceptionSpanEvent, ExternalBuildData, FetchRetryBackoffStrategy, FetchRetryByStatusOptions, FetchRetryHeadersStrategy, FetchRetryOptions, FetchRetryStrategy, FetchTimeoutOptions, FixedWindowRateLimit, GetBatchResponseBody, GetDeploymentResponseBody, GetEnvironmentVariablesResponseBody, GetPersonalAccessTokenRequestSchema, GetPersonalAccessTokenResponseSchema, GetProjectEnvResponse, GetProjectResponseBody, GetProjectsResponseBody, ImageDetailsMetadata, InitializeDeploymentRequestBody, InitializeDeploymentResponseBody, InternalServerError, ListScheduleOptions, ListSchedulesResult, LogLevel, Machine, MachineCpu, MachineMemory, NotFoundError, OFFLOAD_IO_PACKET_LENGTH_LIMIT, OTEL_ATTRIBUTE_PER_EVENT_COUNT_LIMIT, OTEL_ATTRIBUTE_PER_LINK_COUNT_LIMIT, OTEL_LINK_COUNT_LIMIT, OTEL_LOG_ATTRIBUTE_COUNT_LIMIT, OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_LIMIT, OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT, OTEL_SPAN_EVENT_COUNT_LIMIT, OtelTaskLogger, OtherSpanEvent, PRIMARY_VARIANT, PermissionDeniedError, PlatformToCoordinatorMessages, PlatformToProviderMessages, PostStartCauses, PreStopCauses, ProdChildToWorkerMessages, ProdRuntimeManager, ProdTaskRunExecution, ProdTaskRunExecutionPayload, ProdWorkerSocketData, ProdWorkerToChildMessages, ProdWorkerToCoordinatorMessages, ProviderToPlatformMessages, QueueOptions, RateLimitError, RateLimitOptions, ReplayRunResponse, RetryOptions, ScheduleObject, ScheduledTaskPayload, SemanticInternalAttributes, SharedQueueToClientMessages, SimpleStructuredLogger, SlidingWindowRateLimit, SpanEvent, SpanEvents, SpanMessagingEvent, StandardTaskCatalog, StartDeploymentIndexingRequestBody, StartDeploymentIndexingResponseBody, TaskContextSpanProcessor, TaskEventStyle, TaskExecutor, TaskFileMetadata, TaskMetadata, TaskMetadataFailedToParseData, TaskMetadataWithFilePath, TaskResource, TaskRun, TaskRunBuiltInError, TaskRunContext, TaskRunCustomErrorObject, TaskRunError, TaskRunErrorCodes, TaskRunExecution, TaskRunExecutionAttempt, TaskRunExecutionBatch, TaskRunExecutionEnvironment, TaskRunExecutionOrganization, TaskRunExecutionPayload, TaskRunExecutionProject, TaskRunExecutionQueue, TaskRunExecutionResult, TaskRunExecutionRetry, TaskRunExecutionTask, TaskRunFailedExecutionResult, TaskRunInternalError, TaskRunStringError, TaskRunSuccessfulExecutionResult, TracingSDK, TriggerTaskRequestBody, TriggerTaskResponse, TriggerTracer, UncaughtExceptionMessage, UnprocessableEntityError, UpdateScheduleOptions, WaitReason, WhoAmIResponseSchema, ZodIpcConnection, ZodMessageHandler, ZodMessageSchema, ZodMessageSender, ZodNamespace, ZodSchemaParsedError, ZodSocketConnection, ZodSocketMessageHandler, ZodSocketMessageSender, accessoryAttributes, apiClientManager, calculateNextRetryDelay, calculateResetAt2 as calculateResetAt, childToWorkerMessages, clientWebsocketMessages, clock, conditionallyExportPacket, conditionallyImportPacket, correctErrorStackTrace, createErrorTaskError, createPacketAttributes, createPacketAttributesAsJson, defaultFetchRetryOptions, defaultRetryOptions, detectDependencyVersion, eventFilterMatches, flattenAttributes, formatDuration, formatDurationInDays, formatDurationMilliseconds, formatDurationNanoseconds, getEnvVar, groupTaskMetadataIssuesByTask, iconStringForSeverity, imposeAttributeLimits, isCancellationSpanEvent, isExceptionSpanEvent, logLevels, logger, millisecondsToNanoseconds, nanosecondsToMilliseconds, omit, packetRequiresOffloading, parseBatchTriggerTaskRequestBody, parseError, parsePacket, parseTriggerTaskRequestBody, prettyPrintPacket, primitiveValueOrflattenedAttributes, recordSpanException, runtime, serverWebsocketMessages, stringPatternMatchers, stringifyIO, taskCatalog, taskContextManager, unflattenAttributes, workerToChildMessages };
|
|
3907
5118
|
//# sourceMappingURL=out.js.map
|
|
3908
5119
|
//# sourceMappingURL=index.mjs.map
|