@trigger.dev/core 0.0.0-prerelease-20240603154820 → 0.0.0-prerelease-20240723165848
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/api-Pl9fxB8v.d.mts +13879 -0
- package/dist/api-sNoooMbT.d.ts +13879 -0
- package/dist/{catalog-dRKTgwQ7.d.ts → catalog-H7yFiZ60.d.mts} +52 -52
- package/dist/{catalog-XTlJQaMn.d.mts → catalog-h79CG5Wy.d.ts} +52 -52
- package/dist/{manager-JkbddlcO.d.mts → common-CLW82lkt.d.mts} +280 -16
- package/dist/{manager-JkbddlcO.d.ts → common-CLW82lkt.d.ts} +280 -16
- package/dist/{eventFilterMatches-2kHImluE.d.mts → eventFilter-66NaBAMi.d.mts} +1 -3
- package/dist/{eventFilterMatches-2kHImluE.d.ts → eventFilter-66NaBAMi.d.ts} +1 -3
- package/dist/eventFilterMatches.d.mts +6 -0
- package/dist/eventFilterMatches.d.ts +6 -0
- package/dist/eventFilterMatches.js +165 -0
- package/dist/eventFilterMatches.js.map +1 -0
- package/dist/eventFilterMatches.mjs +163 -0
- package/dist/eventFilterMatches.mjs.map +1 -0
- package/dist/index.d.mts +14 -16716
- package/dist/index.d.ts +14 -16716
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/json-DBPEJQRe.d.mts +16 -0
- package/dist/json-DBPEJQRe.d.ts +16 -0
- package/dist/manager-KvCabW1a.d.mts +18 -0
- package/dist/manager-OBA35PzR.d.ts +18 -0
- package/dist/{messages-6_-q72KG.d.mts → messages-JvHJ83wv.d.mts} +2978 -291
- package/dist/{messages-6_-q72KG.d.ts → messages-JvHJ83wv.d.ts} +2978 -291
- package/dist/replacements.d.mts +22 -0
- package/dist/replacements.d.ts +22 -0
- package/dist/replacements.js +33 -0
- package/dist/replacements.js.map +1 -0
- package/dist/replacements.mjs +28 -0
- package/dist/replacements.mjs.map +1 -0
- package/dist/requestFilter-HNZQEpQb.d.ts +180 -0
- package/dist/requestFilter-b5W2_1oP.d.mts +180 -0
- package/dist/requestFilterMatches.d.mts +13 -0
- package/dist/requestFilterMatches.d.ts +13 -0
- package/dist/requestFilterMatches.js +238 -0
- package/dist/requestFilterMatches.js.map +1 -0
- package/dist/requestFilterMatches.mjs +235 -0
- package/dist/requestFilterMatches.mjs.map +1 -0
- package/dist/retry.d.mts +10 -0
- package/dist/retry.d.ts +10 -0
- package/dist/retry.js +100 -0
- package/dist/retry.js.map +1 -0
- package/dist/retry.mjs +97 -0
- package/dist/retry.mjs.map +1 -0
- package/dist/schemas/index.d.mts +2611 -0
- package/dist/schemas/index.d.ts +2611 -0
- package/dist/schemas/index.js +1630 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/index.mjs +1463 -0
- package/dist/schemas/index.mjs.map +1 -0
- package/dist/{schemas-r4ZP9S-F.d.mts → schemas-C9ssfehv.d.mts} +270 -33
- package/dist/{schemas-r4ZP9S-F.d.ts → schemas-C9ssfehv.d.ts} +270 -33
- package/dist/taskLogger-CzADe4je.d.ts +33 -0
- package/dist/taskLogger-r_AFTX45.d.mts +33 -0
- package/dist/tracer-N0p2Fuuv.d.mts +23 -0
- package/dist/tracer-N0p2Fuuv.d.ts +23 -0
- package/dist/types.d.mts +11 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/types.mjs +3 -0
- package/dist/types.mjs.map +1 -0
- package/dist/utils.d.mts +7 -0
- package/dist/utils.d.ts +7 -0
- package/dist/utils.js +33 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.mjs +30 -0
- package/dist/utils.mjs.map +1 -0
- package/dist/v3/dev/index.d.mts +2 -1
- package/dist/v3/dev/index.d.ts +2 -1
- package/dist/v3/dev/index.js.map +1 -1
- package/dist/v3/dev/index.mjs.map +1 -1
- package/dist/v3/errors.d.mts +39 -0
- package/dist/v3/errors.d.ts +39 -0
- package/dist/v3/errors.js +204 -0
- package/dist/v3/errors.js.map +1 -0
- package/dist/v3/errors.mjs +195 -0
- package/dist/v3/errors.mjs.map +1 -0
- package/dist/v3/index.d.mts +172 -4737
- package/dist/v3/index.d.ts +172 -4737
- package/dist/v3/index.js +871 -620
- package/dist/v3/index.js.map +1 -1
- package/dist/v3/index.mjs +856 -620
- package/dist/v3/index.mjs.map +1 -1
- package/dist/v3/logger-api.d.mts +24 -0
- package/dist/v3/logger-api.d.ts +24 -0
- package/dist/v3/logger-api.js +118 -0
- package/dist/v3/logger-api.js.map +1 -0
- package/dist/v3/logger-api.mjs +116 -0
- package/dist/v3/logger-api.mjs.map +1 -0
- package/dist/v3/otel/index.js +36 -12
- package/dist/v3/otel/index.js.map +1 -1
- package/dist/v3/otel/index.mjs +36 -12
- package/dist/v3/otel/index.mjs.map +1 -1
- package/dist/v3/prod/index.d.mts +4 -3
- package/dist/v3/prod/index.d.ts +4 -3
- package/dist/v3/prod/index.js +7 -131
- package/dist/v3/prod/index.js.map +1 -1
- package/dist/v3/prod/index.mjs +7 -131
- package/dist/v3/prod/index.mjs.map +1 -1
- package/dist/v3/schemas/index.d.mts +4807 -0
- package/dist/v3/schemas/index.d.ts +4807 -0
- package/dist/v3/schemas/index.js +2065 -0
- package/dist/v3/schemas/index.js.map +1 -0
- package/dist/v3/schemas/index.mjs +1924 -0
- package/dist/v3/schemas/index.mjs.map +1 -0
- package/dist/v3/semanticInternalAttributes.d.mts +56 -0
- package/dist/v3/semanticInternalAttributes.d.ts +56 -0
- package/dist/v3/semanticInternalAttributes.js +61 -0
- package/dist/v3/semanticInternalAttributes.js.map +1 -0
- package/dist/v3/semanticInternalAttributes.mjs +59 -0
- package/dist/v3/semanticInternalAttributes.mjs.map +1 -0
- package/dist/v3/utils/durations.d.mts +15 -0
- package/dist/v3/utils/durations.d.ts +15 -0
- package/dist/v3/utils/durations.js +93 -0
- package/dist/v3/utils/durations.js.map +1 -0
- package/dist/v3/utils/durations.mjs +82 -0
- package/dist/v3/utils/durations.mjs.map +1 -0
- package/dist/v3/utils/flattenAttributes.d.mts +8 -0
- package/dist/v3/utils/flattenAttributes.d.ts +8 -0
- package/dist/v3/utils/flattenAttributes.js +131 -0
- package/dist/v3/utils/flattenAttributes.js.map +1 -0
- package/dist/v3/utils/flattenAttributes.mjs +126 -0
- package/dist/v3/utils/flattenAttributes.mjs.map +1 -0
- package/dist/v3/utils/ioSerialization.d.mts +21 -0
- package/dist/v3/utils/ioSerialization.d.ts +21 -0
- package/dist/v3/utils/ioSerialization.js +2403 -0
- package/dist/v3/utils/ioSerialization.js.map +1 -0
- package/dist/v3/utils/ioSerialization.mjs +2394 -0
- package/dist/v3/utils/ioSerialization.mjs.map +1 -0
- package/dist/v3/utils/omit.d.mts +3 -0
- package/dist/v3/utils/omit.d.ts +3 -0
- package/dist/v3/utils/omit.js +20 -0
- package/dist/v3/utils/omit.js.map +1 -0
- package/dist/v3/utils/omit.mjs +18 -0
- package/dist/v3/utils/omit.mjs.map +1 -0
- package/dist/v3/utils/retries.d.mts +46 -0
- package/dist/v3/utils/retries.d.ts +46 -0
- package/dist/v3/utils/retries.js +118 -0
- package/dist/v3/utils/retries.js.map +1 -0
- package/dist/v3/utils/retries.mjs +113 -0
- package/dist/v3/utils/retries.mjs.map +1 -0
- package/dist/v3/utils/timers.d.mts +6 -0
- package/dist/v3/utils/timers.d.ts +6 -0
- package/dist/v3/utils/timers.js +31 -0
- package/dist/v3/utils/timers.js.map +1 -0
- package/dist/v3/utils/timers.mjs +28 -0
- package/dist/v3/utils/timers.mjs.map +1 -0
- package/dist/v3/workers/index.d.mts +56 -8
- package/dist/v3/workers/index.d.ts +56 -8
- package/dist/v3/workers/index.js +755 -279
- package/dist/v3/workers/index.js.map +1 -1
- package/dist/v3/workers/index.mjs +753 -280
- package/dist/v3/workers/index.mjs.map +1 -1
- package/dist/v3/zodIpc.js.map +1 -1
- package/dist/v3/zodIpc.mjs.map +1 -1
- package/dist/v3/zodMessageHandler.d.mts +16 -3
- package/dist/v3/zodMessageHandler.d.ts +16 -3
- package/dist/v3/zodMessageHandler.js +77 -23
- package/dist/v3/zodMessageHandler.js.map +1 -1
- package/dist/v3/zodMessageHandler.mjs +77 -23
- package/dist/v3/zodMessageHandler.mjs.map +1 -1
- package/dist/v3/zodNamespace.js +59 -28
- package/dist/v3/zodNamespace.js.map +1 -1
- package/dist/v3/zodNamespace.mjs +60 -29
- package/dist/v3/zodNamespace.mjs.map +1 -1
- package/dist/v3/zodSocket.d.mts +8 -3
- package/dist/v3/zodSocket.d.ts +8 -3
- package/dist/v3/zodSocket.js +56 -25
- package/dist/v3/zodSocket.js.map +1 -1
- package/dist/v3/zodSocket.mjs +57 -26
- package/dist/v3/zodSocket.mjs.map +1 -1
- package/dist/v3/zodfetch.d.mts +15 -58
- package/dist/v3/zodfetch.d.ts +15 -58
- package/dist/v3/zodfetch.js +246 -156
- package/dist/v3/zodfetch.js.map +1 -1
- package/dist/v3/zodfetch.mjs +244 -149
- package/dist/v3/zodfetch.mjs.map +1 -1
- package/dist/versions.d.mts +11 -0
- package/dist/versions.d.ts +11 -0
- package/dist/versions.js +31 -0
- package/dist/versions.js.map +1 -0
- package/dist/versions.mjs +27 -0
- package/dist/versions.mjs.map +1 -0
- package/package.json +154 -10
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Span, SpanOptions } from '@opentelemetry/api';
|
|
2
|
+
import { Logger } from '@opentelemetry/api-logs';
|
|
3
|
+
import { T as TriggerTracer } from './tracer-N0p2Fuuv.js';
|
|
4
|
+
|
|
5
|
+
type LogLevel = "none" | "error" | "warn" | "info" | "debug" | "log";
|
|
6
|
+
declare const logLevels: Array<LogLevel>;
|
|
7
|
+
type TaskLoggerConfig = {
|
|
8
|
+
logger: Logger;
|
|
9
|
+
tracer: TriggerTracer;
|
|
10
|
+
level: LogLevel;
|
|
11
|
+
};
|
|
12
|
+
interface TaskLogger {
|
|
13
|
+
debug(message: string, properties?: Record<string, unknown>): void;
|
|
14
|
+
log(message: string, properties?: Record<string, unknown>): void;
|
|
15
|
+
info(message: string, properties?: Record<string, unknown>): void;
|
|
16
|
+
warn(message: string, properties?: Record<string, unknown>): void;
|
|
17
|
+
error(message: string, properties?: Record<string, unknown>): void;
|
|
18
|
+
trace<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions): Promise<T>;
|
|
19
|
+
}
|
|
20
|
+
declare class OtelTaskLogger implements TaskLogger {
|
|
21
|
+
#private;
|
|
22
|
+
private readonly _config;
|
|
23
|
+
private readonly _level;
|
|
24
|
+
constructor(_config: TaskLoggerConfig);
|
|
25
|
+
debug(message: string, properties?: Record<string, unknown>): void;
|
|
26
|
+
log(message: string, properties?: Record<string, unknown>): void;
|
|
27
|
+
info(message: string, properties?: Record<string, unknown>): void;
|
|
28
|
+
warn(message: string, properties?: Record<string, unknown>): void;
|
|
29
|
+
error(message: string, properties?: Record<string, unknown>): void;
|
|
30
|
+
trace<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions): Promise<T>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { type LogLevel as L, OtelTaskLogger as O, type TaskLogger as T, logLevels as l };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Span, SpanOptions } from '@opentelemetry/api';
|
|
2
|
+
import { Logger } from '@opentelemetry/api-logs';
|
|
3
|
+
import { T as TriggerTracer } from './tracer-N0p2Fuuv.mjs';
|
|
4
|
+
|
|
5
|
+
type LogLevel = "none" | "error" | "warn" | "info" | "debug" | "log";
|
|
6
|
+
declare const logLevels: Array<LogLevel>;
|
|
7
|
+
type TaskLoggerConfig = {
|
|
8
|
+
logger: Logger;
|
|
9
|
+
tracer: TriggerTracer;
|
|
10
|
+
level: LogLevel;
|
|
11
|
+
};
|
|
12
|
+
interface TaskLogger {
|
|
13
|
+
debug(message: string, properties?: Record<string, unknown>): void;
|
|
14
|
+
log(message: string, properties?: Record<string, unknown>): void;
|
|
15
|
+
info(message: string, properties?: Record<string, unknown>): void;
|
|
16
|
+
warn(message: string, properties?: Record<string, unknown>): void;
|
|
17
|
+
error(message: string, properties?: Record<string, unknown>): void;
|
|
18
|
+
trace<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions): Promise<T>;
|
|
19
|
+
}
|
|
20
|
+
declare class OtelTaskLogger implements TaskLogger {
|
|
21
|
+
#private;
|
|
22
|
+
private readonly _config;
|
|
23
|
+
private readonly _level;
|
|
24
|
+
constructor(_config: TaskLoggerConfig);
|
|
25
|
+
debug(message: string, properties?: Record<string, unknown>): void;
|
|
26
|
+
log(message: string, properties?: Record<string, unknown>): void;
|
|
27
|
+
info(message: string, properties?: Record<string, unknown>): void;
|
|
28
|
+
warn(message: string, properties?: Record<string, unknown>): void;
|
|
29
|
+
error(message: string, properties?: Record<string, unknown>): void;
|
|
30
|
+
trace<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions): Promise<T>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { type LogLevel as L, OtelTaskLogger as O, type TaskLogger as T, logLevels as l };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Context, Span, SpanOptions, Tracer } from '@opentelemetry/api';
|
|
2
|
+
import { Logger } from '@opentelemetry/api-logs';
|
|
3
|
+
|
|
4
|
+
type TriggerTracerConfig = {
|
|
5
|
+
name: string;
|
|
6
|
+
version: string;
|
|
7
|
+
} | {
|
|
8
|
+
tracer: Tracer;
|
|
9
|
+
logger: Logger;
|
|
10
|
+
};
|
|
11
|
+
declare class TriggerTracer {
|
|
12
|
+
private readonly _config;
|
|
13
|
+
constructor(_config: TriggerTracerConfig);
|
|
14
|
+
private _tracer;
|
|
15
|
+
private get tracer();
|
|
16
|
+
private _logger;
|
|
17
|
+
private get logger();
|
|
18
|
+
extractContext(traceContext?: Record<string, unknown>): Context;
|
|
19
|
+
startActiveSpan<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions, ctx?: Context): Promise<T>;
|
|
20
|
+
startSpan(name: string, options?: SpanOptions, ctx?: Context): Span;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { TriggerTracer as T };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Context, Span, SpanOptions, Tracer } from '@opentelemetry/api';
|
|
2
|
+
import { Logger } from '@opentelemetry/api-logs';
|
|
3
|
+
|
|
4
|
+
type TriggerTracerConfig = {
|
|
5
|
+
name: string;
|
|
6
|
+
version: string;
|
|
7
|
+
} | {
|
|
8
|
+
tracer: Tracer;
|
|
9
|
+
logger: Logger;
|
|
10
|
+
};
|
|
11
|
+
declare class TriggerTracer {
|
|
12
|
+
private readonly _config;
|
|
13
|
+
constructor(_config: TriggerTracerConfig);
|
|
14
|
+
private _tracer;
|
|
15
|
+
private get tracer();
|
|
16
|
+
private _logger;
|
|
17
|
+
private get logger();
|
|
18
|
+
extractContext(traceContext?: Record<string, unknown>): Context;
|
|
19
|
+
startActiveSpan<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions, ctx?: Context): Promise<T>;
|
|
20
|
+
startSpan(name: string, options?: SpanOptions, ctx?: Context): Span;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { TriggerTracer as T };
|
package/dist/types.d.mts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type Prettify<T> = {
|
|
2
|
+
[K in keyof T]: T[K];
|
|
3
|
+
} & {};
|
|
4
|
+
interface AsyncMap {
|
|
5
|
+
delete: (key: string) => Promise<boolean>;
|
|
6
|
+
get: (key: string) => Promise<any>;
|
|
7
|
+
has: (key: string) => Promise<boolean>;
|
|
8
|
+
set: (key: string, value: any) => Promise<any>;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export type { AsyncMap, Prettify };
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type Prettify<T> = {
|
|
2
|
+
[K in keyof T]: T[K];
|
|
3
|
+
} & {};
|
|
4
|
+
interface AsyncMap {
|
|
5
|
+
delete: (key: string) => Promise<boolean>;
|
|
6
|
+
get: (key: string) => Promise<any>;
|
|
7
|
+
has: (key: string) => Promise<boolean>;
|
|
8
|
+
set: (key: string, value: any) => Promise<any>;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export type { AsyncMap, Prettify };
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
package/dist/types.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
package/dist/utils.d.mts
ADDED
package/dist/utils.d.ts
ADDED
package/dist/utils.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
+
|
|
6
|
+
// src/utils.ts
|
|
7
|
+
function deepMergeFilters(...filters) {
|
|
8
|
+
const result = {};
|
|
9
|
+
for (const filter of filters) {
|
|
10
|
+
for (const key in filter) {
|
|
11
|
+
if (filter.hasOwnProperty(key)) {
|
|
12
|
+
const filterValue = filter[key];
|
|
13
|
+
const existingValue = result[key];
|
|
14
|
+
if (existingValue && typeof existingValue === "object" && typeof filterValue === "object" && !Array.isArray(existingValue) && !Array.isArray(filterValue) && existingValue !== null && filterValue !== null) {
|
|
15
|
+
result[key] = deepMergeFilters(existingValue, filterValue);
|
|
16
|
+
} else {
|
|
17
|
+
result[key] = filterValue;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
__name(deepMergeFilters, "deepMergeFilters");
|
|
25
|
+
function assertExhaustive(x) {
|
|
26
|
+
throw new Error("Unexpected object: " + x);
|
|
27
|
+
}
|
|
28
|
+
__name(assertExhaustive, "assertExhaustive");
|
|
29
|
+
|
|
30
|
+
exports.assertExhaustive = assertExhaustive;
|
|
31
|
+
exports.deepMergeFilters = deepMergeFilters;
|
|
32
|
+
//# sourceMappingURL=out.js.map
|
|
33
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils.ts"],"names":["deepMergeFilters","filters","result","filter","key","hasOwnProperty","filterValue","existingValue","Array","isArray","assertExhaustive","x","Error"],"mappings":";;;;AAKO,SAASA,oBAAoBC,SAAqC;AACvE,QAAMC,SAAsB,CAAC;AAE7B,aAAWC,UAAUF,SAAS;AAC5B,eAAWG,OAAOD,QAAQ;AACxB,UAAIA,OAAOE,eAAeD,GAAAA,GAAM;AAC9B,cAAME,cAAcH,OAAOC,GAAAA;AAC3B,cAAMG,gBAAgBL,OAAOE,GAAAA;AAE7B,YACEG,iBACA,OAAOA,kBAAkB,YACzB,OAAOD,gBAAgB,YACvB,CAACE,MAAMC,QAAQF,aAAAA,KACf,CAACC,MAAMC,QAAQH,WAAAA,KACfC,kBAAkB,QAClBD,gBAAgB,MAChB;AACAJ,iBAAOE,GAAAA,IAAOJ,iBAAiBO,eAAeD,WAAAA;QAChD,OAAO;AACLJ,iBAAOE,GAAAA,IAAOE;QAChB;MACF;IACF;EACF;AAEA,SAAOJ;AACT;AA3BgBF;AA6BT,SAASU,iBAAiBC,GAAiB;AAChD,QAAM,IAAIC,MAAM,wBAAwBD,CAAAA;AAC1C;AAFgBD","sourcesContent":["// EventFilter is typed as type EventFilter = { [key: string]: EventFilter | string[] | number[] | boolean[] }\n\nimport { EventFilter } from \"./schemas\";\n\n// This function should take any number of EventFilters and return a new EventFilter that is the result of merging of them.\nexport function deepMergeFilters(...filters: EventFilter[]): EventFilter {\n const result: EventFilter = {};\n\n for (const filter of filters) {\n for (const key in filter) {\n if (filter.hasOwnProperty(key)) {\n const filterValue = filter[key];\n const existingValue = result[key];\n\n if (\n existingValue &&\n typeof existingValue === \"object\" &&\n typeof filterValue === \"object\" &&\n !Array.isArray(existingValue) &&\n !Array.isArray(filterValue) &&\n existingValue !== null &&\n filterValue !== null\n ) {\n result[key] = deepMergeFilters(existingValue, filterValue);\n } else {\n result[key] = filterValue;\n }\n }\n }\n }\n\n return result;\n}\n\nexport function assertExhaustive(x: never): never {\n throw new Error(\"Unexpected object: \" + x);\n}\n"]}
|
package/dist/utils.mjs
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
4
|
+
// src/utils.ts
|
|
5
|
+
function deepMergeFilters(...filters) {
|
|
6
|
+
const result = {};
|
|
7
|
+
for (const filter of filters) {
|
|
8
|
+
for (const key in filter) {
|
|
9
|
+
if (filter.hasOwnProperty(key)) {
|
|
10
|
+
const filterValue = filter[key];
|
|
11
|
+
const existingValue = result[key];
|
|
12
|
+
if (existingValue && typeof existingValue === "object" && typeof filterValue === "object" && !Array.isArray(existingValue) && !Array.isArray(filterValue) && existingValue !== null && filterValue !== null) {
|
|
13
|
+
result[key] = deepMergeFilters(existingValue, filterValue);
|
|
14
|
+
} else {
|
|
15
|
+
result[key] = filterValue;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
__name(deepMergeFilters, "deepMergeFilters");
|
|
23
|
+
function assertExhaustive(x) {
|
|
24
|
+
throw new Error("Unexpected object: " + x);
|
|
25
|
+
}
|
|
26
|
+
__name(assertExhaustive, "assertExhaustive");
|
|
27
|
+
|
|
28
|
+
export { assertExhaustive, deepMergeFilters };
|
|
29
|
+
//# sourceMappingURL=out.js.map
|
|
30
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils.ts"],"names":["deepMergeFilters","filters","result","filter","key","hasOwnProperty","filterValue","existingValue","Array","isArray","assertExhaustive","x","Error"],"mappings":";;;;AAKO,SAASA,oBAAoBC,SAAqC;AACvE,QAAMC,SAAsB,CAAC;AAE7B,aAAWC,UAAUF,SAAS;AAC5B,eAAWG,OAAOD,QAAQ;AACxB,UAAIA,OAAOE,eAAeD,GAAAA,GAAM;AAC9B,cAAME,cAAcH,OAAOC,GAAAA;AAC3B,cAAMG,gBAAgBL,OAAOE,GAAAA;AAE7B,YACEG,iBACA,OAAOA,kBAAkB,YACzB,OAAOD,gBAAgB,YACvB,CAACE,MAAMC,QAAQF,aAAAA,KACf,CAACC,MAAMC,QAAQH,WAAAA,KACfC,kBAAkB,QAClBD,gBAAgB,MAChB;AACAJ,iBAAOE,GAAAA,IAAOJ,iBAAiBO,eAAeD,WAAAA;QAChD,OAAO;AACLJ,iBAAOE,GAAAA,IAAOE;QAChB;MACF;IACF;EACF;AAEA,SAAOJ;AACT;AA3BgBF;AA6BT,SAASU,iBAAiBC,GAAiB;AAChD,QAAM,IAAIC,MAAM,wBAAwBD,CAAAA;AAC1C;AAFgBD","sourcesContent":["// EventFilter is typed as type EventFilter = { [key: string]: EventFilter | string[] | number[] | boolean[] }\n\nimport { EventFilter } from \"./schemas\";\n\n// This function should take any number of EventFilters and return a new EventFilter that is the result of merging of them.\nexport function deepMergeFilters(...filters: EventFilter[]): EventFilter {\n const result: EventFilter = {};\n\n for (const filter of filters) {\n for (const key in filter) {\n if (filter.hasOwnProperty(key)) {\n const filterValue = filter[key];\n const existingValue = result[key];\n\n if (\n existingValue &&\n typeof existingValue === \"object\" &&\n typeof filterValue === \"object\" &&\n !Array.isArray(existingValue) &&\n !Array.isArray(filterValue) &&\n existingValue !== null &&\n filterValue !== null\n ) {\n result[key] = deepMergeFilters(existingValue, filterValue);\n } else {\n result[key] = filterValue;\n }\n }\n }\n }\n\n return result;\n}\n\nexport function assertExhaustive(x: never): never {\n throw new Error(\"Unexpected object: \" + x);\n}\n"]}
|
package/dist/v3/dev/index.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { T as TaskRunExecutionResult, B as BatchTaskRunExecutionResult, a as TaskRunContext } from '../../common-CLW82lkt.mjs';
|
|
2
|
+
import { R as RuntimeManager } from '../../manager-KvCabW1a.mjs';
|
|
2
3
|
import 'zod';
|
|
3
4
|
|
|
4
5
|
declare class DevRuntimeManager implements RuntimeManager {
|
package/dist/v3/dev/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { T as TaskRunExecutionResult, B as BatchTaskRunExecutionResult, a as TaskRunContext } from '../../common-CLW82lkt.js';
|
|
2
|
+
import { R as RuntimeManager } from '../../manager-OBA35PzR.js';
|
|
2
3
|
import 'zod';
|
|
3
4
|
|
|
4
5
|
declare class DevRuntimeManager implements RuntimeManager {
|
package/dist/v3/dev/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/v3/utils/timers.ts","../../../src/v3/runtime/devRuntimeManager.ts"],"names":["setInterval","setTimeout","unboundedTimeout","delay","value","options","maxDelay","fullTimeouts","Math","floor","remainingDelay","lastTimeoutResult","i","DevRuntimeManager","_taskWaits","Map","_batchWaits","_pendingCompletionNotifications","disable","waitForDuration","ms","waitUntil","date","getTime","Date","now","waitForTask","params","pendingCompletion","get","id","delete","promise","Promise","resolve","set","waitForBatch","runs","length","items","all","map","runId","reject","results","resumeTask","completion","wait"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/v3/utils/timers.ts","../../../src/v3/runtime/devRuntimeManager.ts"],"names":["setInterval","setTimeout","unboundedTimeout","delay","value","options","maxDelay","fullTimeouts","Math","floor","remainingDelay","lastTimeoutResult","i","DevRuntimeManager","_taskWaits","Map","_batchWaits","_pendingCompletionNotifications","disable","waitForDuration","ms","waitUntil","date","getTime","Date","now","waitForTask","params","pendingCompletion","get","id","delete","promise","Promise","resolve","set","waitForBatch","runs","length","items","all","map","runId","reject","results","resumeTask","completion","wait"],"mappings":";;;;;;;;;AAAA,SAASA,aAAaC,kBAAkB;AAExC,eAAsBC,iBACpBC,QAAgB,GAChBC,OACAC,SACY;AACZ,QAAMC,WAAW;AAEjB,QAAMC,eAAeC,KAAKC,MAAMN,QAAQG,QAAAA;AACxC,QAAMI,iBAAiBP,QAAQG;AAE/B,MAAIK,oBAAoB,MAAMV,WAAWS,gBAAgBN,OAAOC,OAAAA;AAEhE,WAASO,IAAI,GAAGA,IAAIL,cAAcK,KAAK;AACrCD,wBAAoB,MAAMV,WAAWK,UAAUF,OAAOC,OAAAA;EACxD;AAEA,SAAOM;AACT;AAjBsBT;;;ACOf,IAAMW,qBAAN,MAAMA,mBAAAA;EAAN;AACLC,sCAAgF,oBAAIC,IAAAA;AAEpFC,uCAGI,oBAAID,IAAAA;AAERE,2DAAuE,oBAAIF,IAAAA;;EAE3EG,UAAgB;EAEhB;EAEA,MAAMC,gBAAgBC,IAA2B;AAC/C,UAAMlB,iBAAiBkB,EAAAA;EACzB;EAEA,MAAMC,UAAUC,MAA2B;AACzC,WAAO,KAAKH,gBAAgBG,KAAKC,QAAO,IAAKC,KAAKC,IAAG,CAAA;EACvD;EAEA,MAAMC,YAAYC,QAA8E;AAC9F,UAAMC,oBAAoB,KAAKX,gCAAgCY,IAAIF,OAAOG,EAAE;AAE5E,QAAIF,mBAAmB;AACrB,WAAKX,gCAAgCc,OAAOJ,OAAOG,EAAE;AAErD,aAAOF;IACT;AAEA,UAAMI,UAAU,IAAIC,QAAgC,CAACC,YAAY;AAC/D,WAAKpB,WAAWqB,IAAIR,OAAOG,IAAI;QAAEI;MAAQ,CAAA;IAC3C,CAAA;AAEA,WAAO,MAAMF;EACf;EAEA,MAAMI,aAAaT,QAIsB;AACvC,QAAI,CAACA,OAAOU,KAAKC,QAAQ;AACvB,aAAOL,QAAQC,QAAQ;QAAEJ,IAAIH,OAAOG;QAAIS,OAAO,CAAA;MAAG,CAAA;IACpD;AAEA,UAAMP,UAAUC,QAAQO,IACtBb,OAAOU,KAAKI,IAAI,CAACC,UAAU;AACzB,aAAO,IAAIT,QAAgC,CAACC,SAASS,WAAW;AAC9D,cAAMf,oBAAoB,KAAKX,gCAAgCY,IAAIa,KAAAA;AAEnE,YAAId,mBAAmB;AACrB,eAAKX,gCAAgCc,OAAOW,KAAAA;AAE5CR,kBAAQN,iBAAAA;AAER;QACF;AAEA,aAAKd,WAAWqB,IAAIO,OAAO;UAAER;QAAQ,CAAA;MACvC,CAAA;IACF,CAAA,CAAA;AAGF,UAAMU,UAAU,MAAMZ;AAEtB,WAAO;MACLF,IAAIH,OAAOG;MACXS,OAAOK;IACT;EACF;EAEAC,WAAWC,YAAoCJ,OAAqB;AAClE,UAAMK,OAAO,KAAKjC,WAAWe,IAAIa,KAAAA;AAEjC,QAAI,CAACK,MAAM;AAET,WAAK9B,gCAAgCkB,IAAIO,OAAOI,UAAAA;AAEhD;IACF;AAEAC,SAAKb,QAAQY,UAAAA;AAEb,SAAKhC,WAAWiB,OAAOW,KAAAA;EACzB;AACF;AAvFa7B;AAAN,IAAMA,oBAAN","sourcesContent":["import { setInterval, setTimeout } from \"node:timers/promises\";\n\nexport async function unboundedTimeout<T = void>(\n delay: number = 0,\n value?: T,\n options?: Parameters<typeof setTimeout>[2]\n): Promise<T> {\n const maxDelay = 2147483647; // Highest value that will fit in a 32-bit signed integer\n\n const fullTimeouts = Math.floor(delay / maxDelay);\n const remainingDelay = delay % maxDelay;\n\n let lastTimeoutResult = await setTimeout(remainingDelay, value, options);\n\n for (let i = 0; i < fullTimeouts; i++) {\n lastTimeoutResult = await setTimeout(maxDelay, value, options);\n }\n\n return lastTimeoutResult;\n}\n\nexport async function checkpointSafeTimeout(delay: number = 0): Promise<void> {\n const scanIntervalMs = 1000;\n\n // Every scanIntervalMs, check if delay has elapsed\n for await (const start of setInterval(scanIntervalMs, Date.now())) {\n if (Date.now() - start > delay) {\n break;\n }\n }\n}\n","import {\n BatchTaskRunExecutionResult,\n TaskRunContext,\n TaskRunExecution,\n TaskRunExecutionResult,\n} from \"../schemas\";\nimport { RuntimeManager } from \"./manager\";\nimport { unboundedTimeout } from \"../utils/timers\";\n\nexport class DevRuntimeManager implements RuntimeManager {\n _taskWaits: Map<string, { resolve: (value: TaskRunExecutionResult) => void }> = new Map();\n\n _batchWaits: Map<\n string,\n { resolve: (value: BatchTaskRunExecutionResult) => void; reject: (err?: any) => void }\n > = new Map();\n\n _pendingCompletionNotifications: Map<string, TaskRunExecutionResult> = new Map();\n\n disable(): void {\n // do nothing\n }\n\n async waitForDuration(ms: number): Promise<void> {\n await unboundedTimeout(ms);\n }\n\n async waitUntil(date: Date): Promise<void> {\n return this.waitForDuration(date.getTime() - Date.now());\n }\n\n async waitForTask(params: { id: string; ctx: TaskRunContext }): Promise<TaskRunExecutionResult> {\n const pendingCompletion = this._pendingCompletionNotifications.get(params.id);\n\n if (pendingCompletion) {\n this._pendingCompletionNotifications.delete(params.id);\n\n return pendingCompletion;\n }\n\n const promise = new Promise<TaskRunExecutionResult>((resolve) => {\n this._taskWaits.set(params.id, { resolve });\n });\n\n return await promise;\n }\n\n async waitForBatch(params: {\n id: string;\n runs: string[];\n ctx: TaskRunContext;\n }): Promise<BatchTaskRunExecutionResult> {\n if (!params.runs.length) {\n return Promise.resolve({ id: params.id, items: [] });\n }\n\n const promise = Promise.all(\n params.runs.map((runId) => {\n return new Promise<TaskRunExecutionResult>((resolve, reject) => {\n const pendingCompletion = this._pendingCompletionNotifications.get(runId);\n\n if (pendingCompletion) {\n this._pendingCompletionNotifications.delete(runId);\n\n resolve(pendingCompletion);\n\n return;\n }\n\n this._taskWaits.set(runId, { resolve });\n });\n })\n );\n\n const results = await promise;\n\n return {\n id: params.id,\n items: results,\n };\n }\n\n resumeTask(completion: TaskRunExecutionResult, runId: string): void {\n const wait = this._taskWaits.get(runId);\n\n if (!wait) {\n // We need to store the completion in case the task is awaited later\n this._pendingCompletionNotifications.set(runId, completion);\n\n return;\n }\n\n wait.resolve(completion);\n\n this._taskWaits.delete(runId);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/v3/utils/timers.ts","../../../src/v3/runtime/devRuntimeManager.ts"],"names":["setInterval","setTimeout","unboundedTimeout","delay","value","options","maxDelay","fullTimeouts","Math","floor","remainingDelay","lastTimeoutResult","i","DevRuntimeManager","_taskWaits","Map","_batchWaits","_pendingCompletionNotifications","disable","waitForDuration","ms","waitUntil","date","getTime","Date","now","waitForTask","params","pendingCompletion","get","id","delete","promise","Promise","resolve","set","waitForBatch","runs","length","items","all","map","runId","reject","results","resumeTask","completion","wait"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/v3/utils/timers.ts","../../../src/v3/runtime/devRuntimeManager.ts"],"names":["setInterval","setTimeout","unboundedTimeout","delay","value","options","maxDelay","fullTimeouts","Math","floor","remainingDelay","lastTimeoutResult","i","DevRuntimeManager","_taskWaits","Map","_batchWaits","_pendingCompletionNotifications","disable","waitForDuration","ms","waitUntil","date","getTime","Date","now","waitForTask","params","pendingCompletion","get","id","delete","promise","Promise","resolve","set","waitForBatch","runs","length","items","all","map","runId","reject","results","resumeTask","completion","wait"],"mappings":";;;;;;;;;AAAA,SAASA,aAAaC,kBAAkB;AAExC,eAAsBC,iBACpBC,QAAgB,GAChBC,OACAC,SACY;AACZ,QAAMC,WAAW;AAEjB,QAAMC,eAAeC,KAAKC,MAAMN,QAAQG,QAAAA;AACxC,QAAMI,iBAAiBP,QAAQG;AAE/B,MAAIK,oBAAoB,MAAMV,WAAWS,gBAAgBN,OAAOC,OAAAA;AAEhE,WAASO,IAAI,GAAGA,IAAIL,cAAcK,KAAK;AACrCD,wBAAoB,MAAMV,WAAWK,UAAUF,OAAOC,OAAAA;EACxD;AAEA,SAAOM;AACT;AAjBsBT;;;ACOf,IAAMW,qBAAN,MAAMA,mBAAAA;EAAN;AACLC,sCAAgF,oBAAIC,IAAAA;AAEpFC,uCAGI,oBAAID,IAAAA;AAERE,2DAAuE,oBAAIF,IAAAA;;EAE3EG,UAAgB;EAEhB;EAEA,MAAMC,gBAAgBC,IAA2B;AAC/C,UAAMlB,iBAAiBkB,EAAAA;EACzB;EAEA,MAAMC,UAAUC,MAA2B;AACzC,WAAO,KAAKH,gBAAgBG,KAAKC,QAAO,IAAKC,KAAKC,IAAG,CAAA;EACvD;EAEA,MAAMC,YAAYC,QAA8E;AAC9F,UAAMC,oBAAoB,KAAKX,gCAAgCY,IAAIF,OAAOG,EAAE;AAE5E,QAAIF,mBAAmB;AACrB,WAAKX,gCAAgCc,OAAOJ,OAAOG,EAAE;AAErD,aAAOF;IACT;AAEA,UAAMI,UAAU,IAAIC,QAAgC,CAACC,YAAY;AAC/D,WAAKpB,WAAWqB,IAAIR,OAAOG,IAAI;QAAEI;MAAQ,CAAA;IAC3C,CAAA;AAEA,WAAO,MAAMF;EACf;EAEA,MAAMI,aAAaT,QAIsB;AACvC,QAAI,CAACA,OAAOU,KAAKC,QAAQ;AACvB,aAAOL,QAAQC,QAAQ;QAAEJ,IAAIH,OAAOG;QAAIS,OAAO,CAAA;MAAG,CAAA;IACpD;AAEA,UAAMP,UAAUC,QAAQO,IACtBb,OAAOU,KAAKI,IAAI,CAACC,UAAU;AACzB,aAAO,IAAIT,QAAgC,CAACC,SAASS,WAAW;AAC9D,cAAMf,oBAAoB,KAAKX,gCAAgCY,IAAIa,KAAAA;AAEnE,YAAId,mBAAmB;AACrB,eAAKX,gCAAgCc,OAAOW,KAAAA;AAE5CR,kBAAQN,iBAAAA;AAER;QACF;AAEA,aAAKd,WAAWqB,IAAIO,OAAO;UAAER;QAAQ,CAAA;MACvC,CAAA;IACF,CAAA,CAAA;AAGF,UAAMU,UAAU,MAAMZ;AAEtB,WAAO;MACLF,IAAIH,OAAOG;MACXS,OAAOK;IACT;EACF;EAEAC,WAAWC,YAAoCJ,OAAqB;AAClE,UAAMK,OAAO,KAAKjC,WAAWe,IAAIa,KAAAA;AAEjC,QAAI,CAACK,MAAM;AAET,WAAK9B,gCAAgCkB,IAAIO,OAAOI,UAAAA;AAEhD;IACF;AAEAC,SAAKb,QAAQY,UAAAA;AAEb,SAAKhC,WAAWiB,OAAOW,KAAAA;EACzB;AACF;AAvFa7B;AAAN,IAAMA,oBAAN","sourcesContent":["import { setInterval, setTimeout } from \"node:timers/promises\";\n\nexport async function unboundedTimeout<T = void>(\n delay: number = 0,\n value?: T,\n options?: Parameters<typeof setTimeout>[2]\n): Promise<T> {\n const maxDelay = 2147483647; // Highest value that will fit in a 32-bit signed integer\n\n const fullTimeouts = Math.floor(delay / maxDelay);\n const remainingDelay = delay % maxDelay;\n\n let lastTimeoutResult = await setTimeout(remainingDelay, value, options);\n\n for (let i = 0; i < fullTimeouts; i++) {\n lastTimeoutResult = await setTimeout(maxDelay, value, options);\n }\n\n return lastTimeoutResult;\n}\n\nexport async function checkpointSafeTimeout(delay: number = 0): Promise<void> {\n const scanIntervalMs = 1000;\n\n // Every scanIntervalMs, check if delay has elapsed\n for await (const start of setInterval(scanIntervalMs, Date.now())) {\n if (Date.now() - start > delay) {\n break;\n }\n }\n}\n","import {\n BatchTaskRunExecutionResult,\n TaskRunContext,\n TaskRunExecution,\n TaskRunExecutionResult,\n} from \"../schemas\";\nimport { RuntimeManager } from \"./manager\";\nimport { unboundedTimeout } from \"../utils/timers\";\n\nexport class DevRuntimeManager implements RuntimeManager {\n _taskWaits: Map<string, { resolve: (value: TaskRunExecutionResult) => void }> = new Map();\n\n _batchWaits: Map<\n string,\n { resolve: (value: BatchTaskRunExecutionResult) => void; reject: (err?: any) => void }\n > = new Map();\n\n _pendingCompletionNotifications: Map<string, TaskRunExecutionResult> = new Map();\n\n disable(): void {\n // do nothing\n }\n\n async waitForDuration(ms: number): Promise<void> {\n await unboundedTimeout(ms);\n }\n\n async waitUntil(date: Date): Promise<void> {\n return this.waitForDuration(date.getTime() - Date.now());\n }\n\n async waitForTask(params: { id: string; ctx: TaskRunContext }): Promise<TaskRunExecutionResult> {\n const pendingCompletion = this._pendingCompletionNotifications.get(params.id);\n\n if (pendingCompletion) {\n this._pendingCompletionNotifications.delete(params.id);\n\n return pendingCompletion;\n }\n\n const promise = new Promise<TaskRunExecutionResult>((resolve) => {\n this._taskWaits.set(params.id, { resolve });\n });\n\n return await promise;\n }\n\n async waitForBatch(params: {\n id: string;\n runs: string[];\n ctx: TaskRunContext;\n }): Promise<BatchTaskRunExecutionResult> {\n if (!params.runs.length) {\n return Promise.resolve({ id: params.id, items: [] });\n }\n\n const promise = Promise.all(\n params.runs.map((runId) => {\n return new Promise<TaskRunExecutionResult>((resolve, reject) => {\n const pendingCompletion = this._pendingCompletionNotifications.get(runId);\n\n if (pendingCompletion) {\n this._pendingCompletionNotifications.delete(runId);\n\n resolve(pendingCompletion);\n\n return;\n }\n\n this._taskWaits.set(runId, { resolve });\n });\n })\n );\n\n const results = await promise;\n\n return {\n id: params.id,\n items: results,\n };\n }\n\n resumeTask(completion: TaskRunExecutionResult, runId: string): void {\n const wait = this._taskWaits.get(runId);\n\n if (!wait) {\n // We need to store the completion in case the task is awaited later\n this._pendingCompletionNotifications.set(runId, completion);\n\n return;\n }\n\n wait.resolve(completion);\n\n this._taskWaits.delete(runId);\n }\n}\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { b as TaskRunError } from '../common-CLW82lkt.mjs';
|
|
3
|
+
|
|
4
|
+
declare class AbortTaskRunError extends Error {
|
|
5
|
+
constructor(message: string);
|
|
6
|
+
}
|
|
7
|
+
declare function parseError(error: unknown): TaskRunError;
|
|
8
|
+
declare function createErrorTaskError(error: TaskRunError): any;
|
|
9
|
+
declare const SerializedError: z.ZodObject<{
|
|
10
|
+
message: z.ZodString;
|
|
11
|
+
name: z.ZodOptional<z.ZodString>;
|
|
12
|
+
stackTrace: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
message: string;
|
|
15
|
+
name?: string | undefined;
|
|
16
|
+
stackTrace?: string | undefined;
|
|
17
|
+
}, {
|
|
18
|
+
message: string;
|
|
19
|
+
name?: string | undefined;
|
|
20
|
+
stackTrace?: string | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
type SerializedError = z.infer<typeof SerializedError>;
|
|
23
|
+
declare function createJsonErrorObject(error: TaskRunError): SerializedError;
|
|
24
|
+
declare function sanitizeError(error: TaskRunError): TaskRunError;
|
|
25
|
+
declare function correctErrorStackTrace(stackTrace: string, projectDir?: string, options?: {
|
|
26
|
+
removeFirstLine?: boolean;
|
|
27
|
+
isDev?: boolean;
|
|
28
|
+
}): string;
|
|
29
|
+
declare function groupTaskMetadataIssuesByTask(tasks: any, issues: z.ZodIssue[]): Record<number, {
|
|
30
|
+
id: any;
|
|
31
|
+
exportName: string;
|
|
32
|
+
filePath: string;
|
|
33
|
+
issues: Array<{
|
|
34
|
+
message: string;
|
|
35
|
+
path?: string;
|
|
36
|
+
}>;
|
|
37
|
+
}>;
|
|
38
|
+
|
|
39
|
+
export { AbortTaskRunError, SerializedError, correctErrorStackTrace, createErrorTaskError, createJsonErrorObject, groupTaskMetadataIssuesByTask, parseError, sanitizeError };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { b as TaskRunError } from '../common-CLW82lkt.js';
|
|
3
|
+
|
|
4
|
+
declare class AbortTaskRunError extends Error {
|
|
5
|
+
constructor(message: string);
|
|
6
|
+
}
|
|
7
|
+
declare function parseError(error: unknown): TaskRunError;
|
|
8
|
+
declare function createErrorTaskError(error: TaskRunError): any;
|
|
9
|
+
declare const SerializedError: z.ZodObject<{
|
|
10
|
+
message: z.ZodString;
|
|
11
|
+
name: z.ZodOptional<z.ZodString>;
|
|
12
|
+
stackTrace: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
message: string;
|
|
15
|
+
name?: string | undefined;
|
|
16
|
+
stackTrace?: string | undefined;
|
|
17
|
+
}, {
|
|
18
|
+
message: string;
|
|
19
|
+
name?: string | undefined;
|
|
20
|
+
stackTrace?: string | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
type SerializedError = z.infer<typeof SerializedError>;
|
|
23
|
+
declare function createJsonErrorObject(error: TaskRunError): SerializedError;
|
|
24
|
+
declare function sanitizeError(error: TaskRunError): TaskRunError;
|
|
25
|
+
declare function correctErrorStackTrace(stackTrace: string, projectDir?: string, options?: {
|
|
26
|
+
removeFirstLine?: boolean;
|
|
27
|
+
isDev?: boolean;
|
|
28
|
+
}): string;
|
|
29
|
+
declare function groupTaskMetadataIssuesByTask(tasks: any, issues: z.ZodIssue[]): Record<number, {
|
|
30
|
+
id: any;
|
|
31
|
+
exportName: string;
|
|
32
|
+
filePath: string;
|
|
33
|
+
issues: Array<{
|
|
34
|
+
message: string;
|
|
35
|
+
path?: string;
|
|
36
|
+
}>;
|
|
37
|
+
}>;
|
|
38
|
+
|
|
39
|
+
export { AbortTaskRunError, SerializedError, correctErrorStackTrace, createErrorTaskError, createJsonErrorObject, groupTaskMetadataIssuesByTask, parseError, sanitizeError };
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var zod = require('zod');
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var _AbortTaskRunError = class _AbortTaskRunError extends Error {
|
|
8
|
+
constructor(message) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = "AbortTaskRunError";
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
__name(_AbortTaskRunError, "AbortTaskRunError");
|
|
14
|
+
var AbortTaskRunError = _AbortTaskRunError;
|
|
15
|
+
function parseError(error) {
|
|
16
|
+
if (error instanceof Error) {
|
|
17
|
+
return {
|
|
18
|
+
type: "BUILT_IN_ERROR",
|
|
19
|
+
name: error.name,
|
|
20
|
+
message: error.message,
|
|
21
|
+
stackTrace: error.stack ?? ""
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (typeof error === "string") {
|
|
25
|
+
return {
|
|
26
|
+
type: "STRING_ERROR",
|
|
27
|
+
raw: error
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
return {
|
|
32
|
+
type: "CUSTOM_ERROR",
|
|
33
|
+
raw: JSON.stringify(error)
|
|
34
|
+
};
|
|
35
|
+
} catch (e) {
|
|
36
|
+
return {
|
|
37
|
+
type: "CUSTOM_ERROR",
|
|
38
|
+
raw: String(error)
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
__name(parseError, "parseError");
|
|
43
|
+
function createErrorTaskError(error) {
|
|
44
|
+
switch (error.type) {
|
|
45
|
+
case "BUILT_IN_ERROR": {
|
|
46
|
+
const e = new Error(error.message);
|
|
47
|
+
e.name = error.name;
|
|
48
|
+
e.stack = error.stackTrace;
|
|
49
|
+
return e;
|
|
50
|
+
}
|
|
51
|
+
case "STRING_ERROR": {
|
|
52
|
+
return error.raw;
|
|
53
|
+
}
|
|
54
|
+
case "CUSTOM_ERROR": {
|
|
55
|
+
return JSON.parse(error.raw);
|
|
56
|
+
}
|
|
57
|
+
case "INTERNAL_ERROR": {
|
|
58
|
+
return new Error(`trigger.dev internal error (${error.code})`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
__name(createErrorTaskError, "createErrorTaskError");
|
|
63
|
+
var SerializedError = zod.z.object({
|
|
64
|
+
message: zod.z.string(),
|
|
65
|
+
name: zod.z.string().optional(),
|
|
66
|
+
stackTrace: zod.z.string().optional()
|
|
67
|
+
});
|
|
68
|
+
function createJsonErrorObject(error) {
|
|
69
|
+
switch (error.type) {
|
|
70
|
+
case "BUILT_IN_ERROR": {
|
|
71
|
+
return {
|
|
72
|
+
name: error.name,
|
|
73
|
+
message: error.message,
|
|
74
|
+
stackTrace: error.stackTrace
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
case "STRING_ERROR": {
|
|
78
|
+
return {
|
|
79
|
+
message: error.raw
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
case "CUSTOM_ERROR": {
|
|
83
|
+
return {
|
|
84
|
+
message: error.raw
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
case "INTERNAL_ERROR": {
|
|
88
|
+
return {
|
|
89
|
+
message: `trigger.dev internal error (${error.code})`
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
__name(createJsonErrorObject, "createJsonErrorObject");
|
|
95
|
+
function sanitizeError(error) {
|
|
96
|
+
switch (error.type) {
|
|
97
|
+
case "BUILT_IN_ERROR": {
|
|
98
|
+
return {
|
|
99
|
+
type: "BUILT_IN_ERROR",
|
|
100
|
+
message: error.message?.replace(/\0/g, ""),
|
|
101
|
+
name: error.name?.replace(/\0/g, ""),
|
|
102
|
+
stackTrace: error.stackTrace?.replace(/\0/g, "")
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
case "STRING_ERROR": {
|
|
106
|
+
return {
|
|
107
|
+
type: "STRING_ERROR",
|
|
108
|
+
raw: error.raw.replace(/\0/g, "")
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
case "CUSTOM_ERROR": {
|
|
112
|
+
return {
|
|
113
|
+
type: "CUSTOM_ERROR",
|
|
114
|
+
raw: error.raw.replace(/\0/g, "")
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
case "INTERNAL_ERROR": {
|
|
118
|
+
return {
|
|
119
|
+
type: "INTERNAL_ERROR",
|
|
120
|
+
code: error.code,
|
|
121
|
+
message: error.message?.replace(/\0/g, ""),
|
|
122
|
+
stackTrace: error.stackTrace?.replace(/\0/g, "")
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
__name(sanitizeError, "sanitizeError");
|
|
128
|
+
function correctErrorStackTrace(stackTrace, projectDir, options) {
|
|
129
|
+
const [errorLine, ...traceLines] = stackTrace.split("\n");
|
|
130
|
+
return [
|
|
131
|
+
options?.removeFirstLine ? void 0 : errorLine,
|
|
132
|
+
...traceLines.map((line) => correctStackTraceLine(line, projectDir, options?.isDev))
|
|
133
|
+
].filter(Boolean).join("\n");
|
|
134
|
+
}
|
|
135
|
+
__name(correctErrorStackTrace, "correctErrorStackTrace");
|
|
136
|
+
var LINES_TO_IGNORE = [
|
|
137
|
+
/ConsoleInterceptor/,
|
|
138
|
+
/TriggerTracer/,
|
|
139
|
+
/TaskExecutor/,
|
|
140
|
+
/EXECUTE_TASK_RUN/,
|
|
141
|
+
/@trigger.dev\/core/,
|
|
142
|
+
/packages\/core\/src\/v3/,
|
|
143
|
+
/safeJsonProcess/,
|
|
144
|
+
/__entryPoint.ts/,
|
|
145
|
+
/ZodIpc/,
|
|
146
|
+
/startActiveSpan/,
|
|
147
|
+
/processTicksAndRejections/
|
|
148
|
+
];
|
|
149
|
+
function correctStackTraceLine(line, projectDir, isDev) {
|
|
150
|
+
if (LINES_TO_IGNORE.some((regex) => regex.test(line))) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (isDev && projectDir && !line.includes(projectDir)) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
return line.trim();
|
|
157
|
+
}
|
|
158
|
+
__name(correctStackTraceLine, "correctStackTraceLine");
|
|
159
|
+
function groupTaskMetadataIssuesByTask(tasks, issues) {
|
|
160
|
+
return issues.reduce((acc, issue) => {
|
|
161
|
+
if (issue.path.length === 0) {
|
|
162
|
+
return acc;
|
|
163
|
+
}
|
|
164
|
+
const taskIndex = issue.path[1];
|
|
165
|
+
if (typeof taskIndex !== "number") {
|
|
166
|
+
return acc;
|
|
167
|
+
}
|
|
168
|
+
const task = tasks[taskIndex];
|
|
169
|
+
if (!task) {
|
|
170
|
+
return acc;
|
|
171
|
+
}
|
|
172
|
+
const restOfPath = issue.path.slice(2);
|
|
173
|
+
const taskId = task.id;
|
|
174
|
+
const taskName = task.exportName;
|
|
175
|
+
const filePath = task.filePath;
|
|
176
|
+
const key = taskIndex;
|
|
177
|
+
const existing = acc[key] ?? {
|
|
178
|
+
id: taskId,
|
|
179
|
+
exportName: taskName,
|
|
180
|
+
filePath,
|
|
181
|
+
issues: []
|
|
182
|
+
};
|
|
183
|
+
existing.issues.push({
|
|
184
|
+
message: issue.message,
|
|
185
|
+
path: restOfPath.length === 0 ? void 0 : restOfPath.join(".")
|
|
186
|
+
});
|
|
187
|
+
return {
|
|
188
|
+
...acc,
|
|
189
|
+
[key]: existing
|
|
190
|
+
};
|
|
191
|
+
}, {});
|
|
192
|
+
}
|
|
193
|
+
__name(groupTaskMetadataIssuesByTask, "groupTaskMetadataIssuesByTask");
|
|
194
|
+
|
|
195
|
+
exports.AbortTaskRunError = AbortTaskRunError;
|
|
196
|
+
exports.SerializedError = SerializedError;
|
|
197
|
+
exports.correctErrorStackTrace = correctErrorStackTrace;
|
|
198
|
+
exports.createErrorTaskError = createErrorTaskError;
|
|
199
|
+
exports.createJsonErrorObject = createJsonErrorObject;
|
|
200
|
+
exports.groupTaskMetadataIssuesByTask = groupTaskMetadataIssuesByTask;
|
|
201
|
+
exports.parseError = parseError;
|
|
202
|
+
exports.sanitizeError = sanitizeError;
|
|
203
|
+
//# sourceMappingURL=out.js.map
|
|
204
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/v3/errors.ts"],"names":["z","AbortTaskRunError","Error","constructor","message","name","parseError","error","type","stackTrace","stack","raw","JSON","stringify","e","String","createErrorTaskError","parse","code","SerializedError","object","string","optional","createJsonErrorObject","sanitizeError","replace","correctErrorStackTrace","projectDir","options","errorLine","traceLines","split","removeFirstLine","undefined","map","line","correctStackTraceLine","isDev","filter","Boolean","join","LINES_TO_IGNORE","some","regex","test","includes","trim","groupTaskMetadataIssuesByTask","tasks","issues","reduce","acc","issue","path","length","taskIndex","task","restOfPath","slice","taskId","id","taskName","exportName","filePath","key","existing","push"],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport { TaskRunError } from \"./schemas/common\";\n\nexport class AbortTaskRunError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"AbortTaskRunError\";\n }\n}\n\nexport function parseError(error: unknown): TaskRunError {\n if (error instanceof Error) {\n return {\n type: \"BUILT_IN_ERROR\",\n name: error.name,\n message: error.message,\n stackTrace: error.stack ?? \"\",\n };\n }\n\n if (typeof error === \"string\") {\n return {\n type: \"STRING_ERROR\",\n raw: error,\n };\n }\n\n try {\n return {\n type: \"CUSTOM_ERROR\",\n raw: JSON.stringify(error),\n };\n } catch (e) {\n return {\n type: \"CUSTOM_ERROR\",\n raw: String(error),\n };\n }\n}\n\nexport function createErrorTaskError(error: TaskRunError): any {\n switch (error.type) {\n case \"BUILT_IN_ERROR\": {\n const e = new Error(error.message);\n\n e.name = error.name;\n e.stack = error.stackTrace;\n\n return e;\n }\n case \"STRING_ERROR\": {\n return error.raw;\n }\n case \"CUSTOM_ERROR\": {\n return JSON.parse(error.raw);\n }\n case \"INTERNAL_ERROR\": {\n return new Error(`trigger.dev internal error (${error.code})`);\n }\n }\n}\n\nexport const SerializedError = z.object({\n message: z.string(),\n name: z.string().optional(),\n stackTrace: z.string().optional(),\n});\n\nexport type SerializedError = z.infer<typeof SerializedError>;\n\nexport function createJsonErrorObject(error: TaskRunError): SerializedError {\n switch (error.type) {\n case \"BUILT_IN_ERROR\": {\n return {\n name: error.name,\n message: error.message,\n stackTrace: error.stackTrace,\n };\n }\n case \"STRING_ERROR\": {\n return {\n message: error.raw,\n };\n }\n case \"CUSTOM_ERROR\": {\n return {\n message: error.raw,\n };\n }\n case \"INTERNAL_ERROR\": {\n return {\n message: `trigger.dev internal error (${error.code})`,\n };\n }\n }\n}\n\n// Removes any null characters from the error message\nexport function sanitizeError(error: TaskRunError): TaskRunError {\n switch (error.type) {\n case \"BUILT_IN_ERROR\": {\n return {\n type: \"BUILT_IN_ERROR\",\n message: error.message?.replace(/\\0/g, \"\"),\n name: error.name?.replace(/\\0/g, \"\"),\n stackTrace: error.stackTrace?.replace(/\\0/g, \"\"),\n };\n }\n case \"STRING_ERROR\": {\n return {\n type: \"STRING_ERROR\",\n raw: error.raw.replace(/\\0/g, \"\"),\n };\n }\n case \"CUSTOM_ERROR\": {\n return {\n type: \"CUSTOM_ERROR\",\n raw: error.raw.replace(/\\0/g, \"\"),\n };\n }\n case \"INTERNAL_ERROR\": {\n return {\n type: \"INTERNAL_ERROR\",\n code: error.code,\n message: error.message?.replace(/\\0/g, \"\"),\n stackTrace: error.stackTrace?.replace(/\\0/g, \"\"),\n };\n }\n }\n}\n\nexport function correctErrorStackTrace(\n stackTrace: string,\n projectDir?: string,\n options?: { removeFirstLine?: boolean; isDev?: boolean }\n) {\n const [errorLine, ...traceLines] = stackTrace.split(\"\\n\");\n\n return [\n options?.removeFirstLine ? undefined : errorLine,\n ...traceLines.map((line) => correctStackTraceLine(line, projectDir, options?.isDev)),\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nconst LINES_TO_IGNORE = [\n /ConsoleInterceptor/,\n /TriggerTracer/,\n /TaskExecutor/,\n /EXECUTE_TASK_RUN/,\n /@trigger.dev\\/core/,\n /packages\\/core\\/src\\/v3/,\n /safeJsonProcess/,\n /__entryPoint.ts/,\n /ZodIpc/,\n /startActiveSpan/,\n /processTicksAndRejections/,\n];\n\nfunction correctStackTraceLine(line: string, projectDir?: string, isDev?: boolean) {\n if (LINES_TO_IGNORE.some((regex) => regex.test(line))) {\n return;\n }\n\n // Check to see if the path is inside the project directory\n if (isDev && projectDir && !line.includes(projectDir)) {\n return;\n }\n\n return line.trim();\n}\n\nexport function groupTaskMetadataIssuesByTask(tasks: any, issues: z.ZodIssue[]) {\n return issues.reduce(\n (acc, issue) => {\n if (issue.path.length === 0) {\n return acc;\n }\n\n const taskIndex = issue.path[1];\n\n if (typeof taskIndex !== \"number\") {\n return acc;\n }\n\n const task = tasks[taskIndex];\n\n if (!task) {\n return acc;\n }\n\n const restOfPath = issue.path.slice(2);\n\n const taskId = task.id;\n const taskName = task.exportName;\n const filePath = task.filePath;\n\n const key = taskIndex;\n\n const existing = acc[key] ?? {\n id: taskId,\n exportName: taskName,\n filePath,\n issues: [] as Array<{ message: string; path?: string }>,\n };\n\n existing.issues.push({\n message: issue.message,\n path: restOfPath.length === 0 ? undefined : restOfPath.join(\".\"),\n });\n\n return {\n ...acc,\n [key]: existing,\n };\n },\n {} as Record<\n number,\n {\n id: any;\n exportName: string;\n filePath: string;\n issues: Array<{ message: string; path?: string }>;\n }\n >\n );\n}\n"]}
|