@trigger.dev/core 0.0.0-prerelease-20240926084729 → 0.0.0-prerelease-20241003205750
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/commonjs/schemas/api.d.ts +8 -8
- package/dist/commonjs/v3/apiClient/index.d.ts +55 -55
- package/dist/commonjs/v3/config.d.ts +8 -0
- package/dist/commonjs/v3/errors.js +4 -1
- package/dist/commonjs/v3/errors.js.map +1 -1
- package/dist/commonjs/v3/index.d.ts +1 -0
- package/dist/commonjs/v3/index.js +1 -0
- package/dist/commonjs/v3/index.js.map +1 -1
- package/dist/commonjs/v3/runMetadata/index.d.ts +2 -1
- package/dist/commonjs/v3/runMetadata/index.js +9 -2
- package/dist/commonjs/v3/runMetadata/index.js.map +1 -1
- package/dist/commonjs/v3/schemas/api.d.ts +285 -266
- package/dist/commonjs/v3/schemas/api.js +3 -0
- package/dist/commonjs/v3/schemas/api.js.map +1 -1
- package/dist/commonjs/v3/schemas/build.d.ts +66 -52
- package/dist/commonjs/v3/schemas/common.d.ts +116 -102
- package/dist/commonjs/v3/schemas/common.js +3 -0
- package/dist/commonjs/v3/schemas/common.js.map +1 -1
- package/dist/commonjs/v3/schemas/messages.d.ts +2267 -2119
- package/dist/commonjs/v3/schemas/resources.d.ts +36 -28
- package/dist/commonjs/v3/schemas/resources.js +1 -0
- package/dist/commonjs/v3/schemas/resources.js.map +1 -1
- package/dist/commonjs/v3/schemas/schemas.d.ts +282 -257
- package/dist/commonjs/v3/schemas/schemas.js +1 -0
- package/dist/commonjs/v3/schemas/schemas.js.map +1 -1
- package/dist/commonjs/v3/timeout/api.d.ts +11 -0
- package/dist/commonjs/v3/timeout/api.js +38 -0
- package/dist/commonjs/v3/timeout/api.js.map +1 -0
- package/dist/commonjs/v3/timeout/types.d.ts +9 -0
- package/dist/commonjs/v3/timeout/types.js +15 -0
- package/dist/commonjs/v3/timeout/types.js.map +1 -0
- package/dist/commonjs/v3/timeout/usageTimeoutManager.d.ts +10 -0
- package/dist/commonjs/v3/timeout/usageTimeoutManager.js +32 -0
- package/dist/commonjs/v3/timeout/usageTimeoutManager.js.map +1 -0
- package/dist/commonjs/v3/timeout-api.d.ts +3 -0
- package/dist/commonjs/v3/timeout-api.js +9 -0
- package/dist/commonjs/v3/timeout-api.js.map +1 -0
- package/dist/commonjs/v3/tracer.d.ts +1 -1
- package/dist/commonjs/v3/tracer.js +28 -14
- package/dist/commonjs/v3/tracer.js.map +1 -1
- package/dist/commonjs/v3/types/index.d.ts +10 -0
- package/dist/commonjs/v3/utils/globals.d.ts +4 -0
- package/dist/commonjs/v3/utils/globals.js.map +1 -1
- package/dist/commonjs/v3/workers/index.d.ts +1 -0
- package/dist/commonjs/v3/workers/index.js +3 -1
- package/dist/commonjs/v3/workers/index.js.map +1 -1
- package/dist/commonjs/v3/workers/taskExecutor.d.ts +1 -1
- package/dist/commonjs/v3/workers/taskExecutor.js +41 -35
- package/dist/commonjs/v3/workers/taskExecutor.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/schemas/api.d.ts +8 -8
- package/dist/esm/v3/apiClient/index.d.ts +55 -55
- package/dist/esm/v3/config.d.ts +8 -0
- package/dist/esm/v3/errors.js +4 -1
- package/dist/esm/v3/errors.js.map +1 -1
- package/dist/esm/v3/index.d.ts +1 -0
- package/dist/esm/v3/index.js +1 -0
- package/dist/esm/v3/index.js.map +1 -1
- package/dist/esm/v3/runMetadata/index.d.ts +2 -1
- package/dist/esm/v3/runMetadata/index.js +9 -2
- package/dist/esm/v3/runMetadata/index.js.map +1 -1
- package/dist/esm/v3/schemas/api.d.ts +285 -266
- package/dist/esm/v3/schemas/api.js +3 -0
- package/dist/esm/v3/schemas/api.js.map +1 -1
- package/dist/esm/v3/schemas/build.d.ts +66 -52
- package/dist/esm/v3/schemas/common.d.ts +116 -102
- package/dist/esm/v3/schemas/common.js +3 -0
- package/dist/esm/v3/schemas/common.js.map +1 -1
- package/dist/esm/v3/schemas/messages.d.ts +2231 -2083
- package/dist/esm/v3/schemas/resources.d.ts +36 -28
- package/dist/esm/v3/schemas/resources.js +1 -0
- package/dist/esm/v3/schemas/resources.js.map +1 -1
- package/dist/esm/v3/schemas/schemas.d.ts +282 -257
- package/dist/esm/v3/schemas/schemas.js +1 -0
- package/dist/esm/v3/schemas/schemas.js.map +1 -1
- package/dist/esm/v3/timeout/api.d.ts +11 -0
- package/dist/esm/v3/timeout/api.js +34 -0
- package/dist/esm/v3/timeout/api.js.map +1 -0
- package/dist/esm/v3/timeout/types.d.ts +9 -0
- package/dist/esm/v3/timeout/types.js +11 -0
- package/dist/esm/v3/timeout/types.js.map +1 -0
- package/dist/esm/v3/timeout/usageTimeoutManager.d.ts +10 -0
- package/dist/esm/v3/timeout/usageTimeoutManager.js +28 -0
- package/dist/esm/v3/timeout/usageTimeoutManager.js.map +1 -0
- package/dist/esm/v3/timeout-api.d.ts +3 -0
- package/dist/esm/v3/timeout-api.js +6 -0
- package/dist/esm/v3/timeout-api.js.map +1 -0
- package/dist/esm/v3/tracer.d.ts +1 -1
- package/dist/esm/v3/tracer.js +28 -14
- package/dist/esm/v3/tracer.js.map +1 -1
- package/dist/esm/v3/types/index.d.ts +10 -0
- package/dist/esm/v3/utils/globals.d.ts +4 -0
- package/dist/esm/v3/utils/globals.js.map +1 -1
- package/dist/esm/v3/workers/index.d.ts +1 -0
- package/dist/esm/v3/workers/index.js +1 -0
- package/dist/esm/v3/workers/index.js.map +1 -1
- package/dist/esm/v3/workers/taskExecutor.d.ts +1 -1
- package/dist/esm/v3/workers/taskExecutor.js +41 -35
- package/dist/esm/v3/workers/taskExecutor.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
|
@@ -129,6 +129,7 @@ const taskMetadata = {
|
|
|
129
129
|
machine: MachineConfig.optional(),
|
|
130
130
|
triggerSource: z.string().optional(),
|
|
131
131
|
schedule: ScheduleMetadata.optional(),
|
|
132
|
+
maxDuration: z.number().optional(),
|
|
132
133
|
};
|
|
133
134
|
export const TaskMetadata = z.object(taskMetadata);
|
|
134
135
|
export const TaskFile = z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/v3/schemas/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7E;;EAEE;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;AAG3F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,gBAAgB;IAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAIH,uMAAuM;AACvM,uDAAuD;AACvD,gCAAgC;AAChC,iDAAiD;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC;IACF,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;CACvF,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,oBAAoB;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QACd,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QACd,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC3D,oBAAoB;IACpB,sBAAsB;CACvB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACxC;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,+CAA+C;IAC/C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC3C,+CAA+C;IAC/C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC3C;;;OAGG;IACH,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B;;8GAE0G;IAC1G,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IAC9D,8CAA8C;IAC9C,SAAS,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG;IACnB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/v3/schemas/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TimeoutManager } from "./types.js";
|
|
2
|
+
export declare class TimeoutAPI implements TimeoutManager {
|
|
3
|
+
#private;
|
|
4
|
+
private static _instance?;
|
|
5
|
+
private constructor();
|
|
6
|
+
static getInstance(): TimeoutAPI;
|
|
7
|
+
get signal(): AbortSignal | undefined;
|
|
8
|
+
abortAfterTimeout(timeoutInSeconds: number): AbortSignal;
|
|
9
|
+
setGlobalManager(manager: TimeoutManager): boolean;
|
|
10
|
+
disable(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { getGlobal, registerGlobal, unregisterGlobal } from "../utils/globals.js";
|
|
2
|
+
const API_NAME = "timeout";
|
|
3
|
+
class NoopTimeoutManager {
|
|
4
|
+
abortAfterTimeout(timeoutInSeconds) {
|
|
5
|
+
return new AbortController().signal;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
const NOOP_TIMEOUT_MANAGER = new NoopTimeoutManager();
|
|
9
|
+
export class TimeoutAPI {
|
|
10
|
+
static _instance;
|
|
11
|
+
constructor() { }
|
|
12
|
+
static getInstance() {
|
|
13
|
+
if (!this._instance) {
|
|
14
|
+
this._instance = new TimeoutAPI();
|
|
15
|
+
}
|
|
16
|
+
return this._instance;
|
|
17
|
+
}
|
|
18
|
+
get signal() {
|
|
19
|
+
return this.#getManagerManager().signal;
|
|
20
|
+
}
|
|
21
|
+
abortAfterTimeout(timeoutInSeconds) {
|
|
22
|
+
return this.#getManagerManager().abortAfterTimeout(timeoutInSeconds);
|
|
23
|
+
}
|
|
24
|
+
setGlobalManager(manager) {
|
|
25
|
+
return registerGlobal(API_NAME, manager);
|
|
26
|
+
}
|
|
27
|
+
disable() {
|
|
28
|
+
unregisterGlobal(API_NAME);
|
|
29
|
+
}
|
|
30
|
+
#getManagerManager() {
|
|
31
|
+
return getGlobal(API_NAME) ?? NOOP_TIMEOUT_MANAGER;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/v3/timeout/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGlF,MAAM,QAAQ,GAAG,SAAS,CAAC;AAE3B,MAAM,kBAAkB;IACtB,iBAAiB,CAAC,gBAAwB;QACxC,OAAO,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC;IACtC,CAAC;CACF;AAED,MAAM,oBAAoB,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAEtD,MAAM,OAAO,UAAU;IACb,MAAM,CAAC,SAAS,CAAc;IAEtC,gBAAuB,CAAC;IAEjB,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC;IAC1C,CAAC;IAEM,iBAAiB,CAAC,gBAAwB;QAC/C,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAEM,gBAAgB,CAAC,OAAuB;QAC7C,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO;QACZ,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,kBAAkB;QAChB,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC;IACrD,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface TimeoutManager {
|
|
2
|
+
abortAfterTimeout: (timeoutInSeconds: number) => AbortSignal;
|
|
3
|
+
signal?: AbortSignal;
|
|
4
|
+
}
|
|
5
|
+
export declare class TaskRunExceededMaxDuration extends Error {
|
|
6
|
+
readonly timeoutInSeconds: number;
|
|
7
|
+
readonly usageInSeconds: number;
|
|
8
|
+
constructor(timeoutInSeconds: number, usageInSeconds: number);
|
|
9
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class TaskRunExceededMaxDuration extends Error {
|
|
2
|
+
timeoutInSeconds;
|
|
3
|
+
usageInSeconds;
|
|
4
|
+
constructor(timeoutInSeconds, usageInSeconds) {
|
|
5
|
+
super(`Run exceeded maxDuration of ${timeoutInSeconds} seconds`);
|
|
6
|
+
this.timeoutInSeconds = timeoutInSeconds;
|
|
7
|
+
this.usageInSeconds = usageInSeconds;
|
|
8
|
+
this.name = "TaskRunExceededMaxDuration";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/v3/timeout/types.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAEjC;IACA;IAFlB,YACkB,gBAAwB,EACxB,cAAsB;QAEtC,KAAK,CAAC,+BAA+B,gBAAgB,UAAU,CAAC,CAAC;QAHjD,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,mBAAc,GAAd,cAAc,CAAQ;QAGtC,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UsageManager } from "../usage/types.js";
|
|
2
|
+
import { TimeoutManager } from "./types.js";
|
|
3
|
+
export declare class UsageTimeoutManager implements TimeoutManager {
|
|
4
|
+
private readonly usageManager;
|
|
5
|
+
private _abortController;
|
|
6
|
+
private _abortSignal;
|
|
7
|
+
constructor(usageManager: UsageManager);
|
|
8
|
+
get signal(): AbortSignal | undefined;
|
|
9
|
+
abortAfterTimeout(timeoutInSeconds: number): AbortSignal;
|
|
10
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { TaskRunExceededMaxDuration } from "./types.js";
|
|
2
|
+
export class UsageTimeoutManager {
|
|
3
|
+
usageManager;
|
|
4
|
+
_abortController;
|
|
5
|
+
_abortSignal;
|
|
6
|
+
constructor(usageManager) {
|
|
7
|
+
this.usageManager = usageManager;
|
|
8
|
+
this._abortController = new AbortController();
|
|
9
|
+
}
|
|
10
|
+
get signal() {
|
|
11
|
+
return this._abortSignal;
|
|
12
|
+
}
|
|
13
|
+
abortAfterTimeout(timeoutInSeconds) {
|
|
14
|
+
this._abortSignal = this._abortController.signal;
|
|
15
|
+
// Now we need to start an interval that will measure usage and abort the signal if the usage is too high
|
|
16
|
+
const intervalId = setInterval(() => {
|
|
17
|
+
const sample = this.usageManager.sample();
|
|
18
|
+
if (sample) {
|
|
19
|
+
if (sample.cpuTime > timeoutInSeconds * 1000) {
|
|
20
|
+
clearInterval(intervalId);
|
|
21
|
+
this._abortController.abort(new TaskRunExceededMaxDuration(timeoutInSeconds, sample.cpuTime / 1000));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}, 1000);
|
|
25
|
+
return this._abortSignal;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=usageTimeoutManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usageTimeoutManager.js","sourceRoot":"","sources":["../../../../src/v3/timeout/usageTimeoutManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAkB,MAAM,YAAY,CAAC;AAExE,MAAM,OAAO,mBAAmB;IAID;IAHrB,gBAAgB,CAAkB;IAClC,YAAY,CAA0B;IAE9C,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,iBAAiB,CAAC,gBAAwB;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAEjD,yGAAyG;QACzG,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,MAAM,CAAC,OAAO,GAAG,gBAAgB,GAAG,IAAI,EAAE,CAAC;oBAC7C,aAAa,CAAC,UAAU,CAAC,CAAC;oBAE1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CACzB,IAAI,0BAA0B,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CACxE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Split module-level variable definition into separate files to allow
|
|
2
|
+
// tree-shaking on each api instance.
|
|
3
|
+
import { TimeoutAPI } from "./timeout/api.js";
|
|
4
|
+
/** Entrypoint for timeout API */
|
|
5
|
+
export const timeout = TimeoutAPI.getInstance();
|
|
6
|
+
//# sourceMappingURL=timeout-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout-api.js","sourceRoot":"","sources":["../../../src/v3/timeout-api.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,qCAAqC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,iCAAiC;AACjC,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC"}
|
package/dist/esm/v3/tracer.d.ts
CHANGED
|
@@ -15,6 +15,6 @@ export declare class TriggerTracer {
|
|
|
15
15
|
private _logger;
|
|
16
16
|
private get logger();
|
|
17
17
|
extractContext(traceContext?: Record<string, unknown>): Context;
|
|
18
|
-
startActiveSpan<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions, ctx?: Context): Promise<T>;
|
|
18
|
+
startActiveSpan<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions, ctx?: Context, signal?: AbortSignal): Promise<T>;
|
|
19
19
|
startSpan(name: string, options?: SpanOptions, ctx?: Context): Span;
|
|
20
20
|
}
|
package/dist/esm/v3/tracer.js
CHANGED
|
@@ -4,6 +4,7 @@ import { SemanticInternalAttributes } from "./semanticInternalAttributes.js";
|
|
|
4
4
|
import { clock } from "./clock-api.js";
|
|
5
5
|
import { usage } from "./usage-api.js";
|
|
6
6
|
import { taskContext } from "./task-context-api.js";
|
|
7
|
+
import { recordSpanException } from "./otel/index.js";
|
|
7
8
|
export class TriggerTracer {
|
|
8
9
|
_config;
|
|
9
10
|
constructor(_config) {
|
|
@@ -30,14 +31,22 @@ export class TriggerTracer {
|
|
|
30
31
|
extractContext(traceContext) {
|
|
31
32
|
return propagation.extract(context.active(), traceContext ?? {});
|
|
32
33
|
}
|
|
33
|
-
startActiveSpan(name, fn, options, ctx) {
|
|
34
|
+
startActiveSpan(name, fn, options, ctx, signal) {
|
|
34
35
|
const parentContext = ctx ?? context.active();
|
|
35
36
|
const attributes = options?.attributes ?? {};
|
|
37
|
+
let spanEnded = false;
|
|
36
38
|
return this.tracer.startActiveSpan(name, {
|
|
37
39
|
...options,
|
|
38
40
|
attributes,
|
|
39
41
|
startTime: clock.preciseNow(),
|
|
40
42
|
}, parentContext, async (span) => {
|
|
43
|
+
signal?.addEventListener("abort", () => {
|
|
44
|
+
if (!spanEnded) {
|
|
45
|
+
spanEnded = true;
|
|
46
|
+
recordSpanException(span, signal.reason);
|
|
47
|
+
span.end();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
41
50
|
if (taskContext.ctx) {
|
|
42
51
|
this.tracer
|
|
43
52
|
.startSpan(name, {
|
|
@@ -55,24 +64,29 @@ export class TriggerTracer {
|
|
|
55
64
|
return await fn(span);
|
|
56
65
|
}
|
|
57
66
|
catch (e) {
|
|
58
|
-
if (
|
|
59
|
-
|
|
67
|
+
if (!spanEnded) {
|
|
68
|
+
if (typeof e === "string" || e instanceof Error) {
|
|
69
|
+
span.recordException(e);
|
|
70
|
+
}
|
|
71
|
+
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
60
72
|
}
|
|
61
|
-
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
62
73
|
throw e;
|
|
63
74
|
}
|
|
64
75
|
finally {
|
|
65
|
-
if (
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
:
|
|
73
|
-
|
|
76
|
+
if (!spanEnded) {
|
|
77
|
+
spanEnded = true;
|
|
78
|
+
if (taskContext.ctx) {
|
|
79
|
+
const usageSample = usage.stop(usageMeasurement);
|
|
80
|
+
const machine = taskContext.ctx.machine;
|
|
81
|
+
span.setAttributes({
|
|
82
|
+
[SemanticInternalAttributes.USAGE_DURATION_MS]: usageSample.cpuTime,
|
|
83
|
+
[SemanticInternalAttributes.USAGE_COST_IN_CENTS]: machine?.centsPerMs
|
|
84
|
+
? usageSample.cpuTime * machine.centsPerMs
|
|
85
|
+
: 0,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
span.end(clock.preciseNow());
|
|
74
89
|
}
|
|
75
|
-
span.end(clock.preciseNow());
|
|
76
90
|
}
|
|
77
91
|
});
|
|
78
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../../src/v3/tracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EACd,OAAO,EACP,WAAW,EACX,KAAK,GAGN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAU,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../../src/v3/tracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EACd,OAAO,EACP,WAAW,EACX,KAAK,GAGN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAU,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAYtD,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;IAAG,CAAC;IAErD,OAAO,CAAqB;IACpC,IAAY,MAAM;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAEzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,OAAO,CAAqB;IACpC,IAAY,MAAM;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAEzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,cAAc,CAAC,YAAsC;QACnD,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,eAAe,CACb,IAAY,EACZ,EAA8B,EAC9B,OAAqB,EACrB,GAAa,EACb,MAAoB;QAEpB,MAAM,aAAa,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAE9C,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;QAE7C,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAChC,IAAI,EACJ;YACE,GAAG,OAAO;YACV,UAAU;YACV,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE;SAC9B,EACD,aAAa,EACb,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,SAAS,GAAG,IAAI,CAAC;oBACjB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBACzC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM;qBACR,SAAS,CACR,IAAI,EACJ;oBACE,GAAG,OAAO;oBACV,UAAU,EAAE;wBACV,GAAG,UAAU;wBACb,CAAC,0BAA0B,CAAC,YAAY,CAAC,EAAE,IAAI;wBAC/C,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM;qBAChE;iBACF,EACD,aAAa,CACd;qBACA,GAAG,EAAE,CAAC;YACX,CAAC;YAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAEvC,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;wBAChD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;oBAC1B,CAAC;oBAED,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjD,CAAC;gBAED,MAAM,CAAC,CAAC;YACV,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,SAAS,GAAG,IAAI,CAAC;oBAEjB,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC;wBACpB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;wBACjD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;wBAExC,IAAI,CAAC,aAAa,CAAC;4BACjB,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,OAAO;4BACnE,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,UAAU;gCACnE,CAAC,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU;gCAC1C,CAAC,CAAC,CAAC;yBACN,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,OAAqB,EAAE,GAAa;QAC1D,MAAM,aAAa,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAE9C,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;QAE7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM;aACR,SAAS,CACR,IAAI,EACJ;YACE,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,GAAG,UAAU;gBACb,CAAC,0BAA0B,CAAC,YAAY,CAAC,EAAE,IAAI;gBAC/C,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM;aAChE;SACF,EACD,aAAa,CACd;aACA,GAAG,EAAE,CAAC;QAET,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -7,16 +7,24 @@ export type RunFnParams<TInitOutput extends InitOutput> = Prettify<{
|
|
|
7
7
|
ctx: Context;
|
|
8
8
|
/** If you use the `init` function, this will be whatever you returned. */
|
|
9
9
|
init?: TInitOutput;
|
|
10
|
+
/** Abort signal that is aborted when a task run exceeds it's maxDuration. Can be used to automatically cancel downstream requests */
|
|
11
|
+
signal?: AbortSignal;
|
|
10
12
|
}>;
|
|
11
13
|
export type MiddlewareFnParams = Prettify<{
|
|
12
14
|
ctx: Context;
|
|
13
15
|
next: () => Promise<void>;
|
|
16
|
+
/** Abort signal that is aborted when a task run exceeds it's maxDuration. Can be used to automatically cancel downstream requests */
|
|
17
|
+
signal?: AbortSignal;
|
|
14
18
|
}>;
|
|
15
19
|
export type InitFnParams = Prettify<{
|
|
16
20
|
ctx: Context;
|
|
21
|
+
/** Abort signal that is aborted when a task run exceeds it's maxDuration. Can be used to automatically cancel downstream requests */
|
|
22
|
+
signal?: AbortSignal;
|
|
17
23
|
}>;
|
|
18
24
|
export type StartFnParams = Prettify<{
|
|
19
25
|
ctx: Context;
|
|
26
|
+
/** Abort signal that is aborted when a task run exceeds it's maxDuration. Can be used to automatically cancel downstream requests */
|
|
27
|
+
signal?: AbortSignal;
|
|
20
28
|
}>;
|
|
21
29
|
export type Context = TaskRunContext;
|
|
22
30
|
export type SuccessFnParams<TInitOutput extends InitOutput> = RunFnParams<TInitOutput>;
|
|
@@ -39,6 +47,8 @@ export type HandleErrorArgs = {
|
|
|
39
47
|
retry?: RetryOptions;
|
|
40
48
|
retryAt?: Date;
|
|
41
49
|
retryDelayInMs?: number;
|
|
50
|
+
/** Abort signal that is aborted when a task run exceeds it's maxDuration. Can be used to automatically cancel downstream requests */
|
|
51
|
+
signal?: AbortSignal;
|
|
42
52
|
};
|
|
43
53
|
export type HandleErrorFunction = (payload: any, error: unknown, params: HandleErrorArgs) => HandleErrorResult;
|
|
44
54
|
type ResolveEnvironmentVariablesOptions = {
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { DeserializedJson } from "../../schemas/json.js";
|
|
1
2
|
import { ApiClientConfiguration } from "../apiClientManager/types.js";
|
|
2
3
|
import { Clock } from "../clock/clock.js";
|
|
3
4
|
import type { RuntimeManager } from "../runtime/manager.js";
|
|
4
5
|
import { TaskCatalog } from "../task-catalog/catalog.js";
|
|
5
6
|
import { TaskContext } from "../taskContext/types.js";
|
|
7
|
+
import { TimeoutManager } from "../timeout/types.js";
|
|
6
8
|
import { UsageManager } from "../usage/types.js";
|
|
7
9
|
export declare function registerGlobal<Type extends keyof TriggerDotDevGlobalAPI>(type: Type, instance: TriggerDotDevGlobalAPI[Type], allowOverride?: boolean): boolean;
|
|
8
10
|
export declare function getGlobal<Type extends keyof TriggerDotDevGlobalAPI>(type: Type): TriggerDotDevGlobalAPI[Type] | undefined;
|
|
@@ -15,5 +17,7 @@ type TriggerDotDevGlobalAPI = {
|
|
|
15
17
|
["task-catalog"]?: TaskCatalog;
|
|
16
18
|
["task-context"]?: TaskContext;
|
|
17
19
|
["api-client"]?: ApiClientConfiguration;
|
|
20
|
+
["run-metadata"]?: Record<string, DeserializedJson>;
|
|
21
|
+
["timeout"]?: TimeoutManager;
|
|
18
22
|
};
|
|
19
23
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../../src/v3/utils/globals.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../../src/v3/utils/globals.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEpE,MAAM,OAAO,GAAG,WAAkC,CAAC;AAEnD,MAAM,UAAU,cAAc,CAC5B,IAAU,EACV,QAAsC,EACtC,aAAa,GAAG,KAAK;IAErB,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,0BAA0B,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC;IAE9F,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,yCAAyC;QACzC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,yDAAyD,IAAI,EAAE,CAAC,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAErB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAU;IAEV,OAAO,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAkC;IACjE,MAAM,GAAG,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEhD,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -10,3 +10,4 @@ export { TaskContextSpanProcessor, TaskContextLogProcessor, } from "../taskConte
|
|
|
10
10
|
export * from "../usage-api.js";
|
|
11
11
|
export { DevUsageManager } from "../usage/devUsageManager.js";
|
|
12
12
|
export { ProdUsageManager, type ProdUsageManagerOptions } from "../usage/prodUsageManager.js";
|
|
13
|
+
export { UsageTimeoutManager } from "../timeout/usageTimeoutManager.js";
|
|
@@ -9,4 +9,5 @@ export { TaskContextSpanProcessor, TaskContextLogProcessor, } from "../taskConte
|
|
|
9
9
|
export * from "../usage-api.js";
|
|
10
10
|
export { DevUsageManager } from "../usage/devUsageManager.js";
|
|
11
11
|
export { ProdUsageManager } from "../usage/prodUsageManager.js";
|
|
12
|
+
export { UsageTimeoutManager } from "../timeout/usageTimeoutManager.js";
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/workers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,gBAAgB,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAkC,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAgC,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/workers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,gBAAgB,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAkC,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAgC,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -21,7 +21,7 @@ export declare class TaskExecutor {
|
|
|
21
21
|
private _importedConfig;
|
|
22
22
|
private _handleErrorFn;
|
|
23
23
|
constructor(task: TaskMetadataWithFunctions, options: TaskExecutorOptions);
|
|
24
|
-
execute(execution: TaskRunExecution, worker: ServerBackgroundWorker, traceContext: Record<string, unknown>, usage: UsageMeasurement): Promise<{
|
|
24
|
+
execute(execution: TaskRunExecution, worker: ServerBackgroundWorker, traceContext: Record<string, unknown>, usage: UsageMeasurement, signal?: AbortSignal): Promise<{
|
|
25
25
|
result: TaskRunExecutionResult;
|
|
26
26
|
}>;
|
|
27
27
|
}
|
|
@@ -23,7 +23,7 @@ export class TaskExecutor {
|
|
|
23
23
|
this._importedConfig = options.config;
|
|
24
24
|
this._handleErrorFn = options.handleErrorFn;
|
|
25
25
|
}
|
|
26
|
-
async execute(execution, worker, traceContext, usage) {
|
|
26
|
+
async execute(execution, worker, traceContext, usage, signal) {
|
|
27
27
|
const ctx = TaskRunContext.parse(execution);
|
|
28
28
|
const attemptMessage = `Attempt ${execution.attempt.number}`;
|
|
29
29
|
const originalPacket = {
|
|
@@ -50,11 +50,11 @@ export class TaskExecutor {
|
|
|
50
50
|
const payloadPacket = await conditionallyImportPacket(originalPacket, this._tracer);
|
|
51
51
|
parsedPayload = await parsePacket(payloadPacket);
|
|
52
52
|
if (execution.attempt.number === 1) {
|
|
53
|
-
await this.#callOnStartFunctions(parsedPayload, ctx);
|
|
53
|
+
await this.#callOnStartFunctions(parsedPayload, ctx, signal);
|
|
54
54
|
}
|
|
55
|
-
initOutput = await this.#callInitFunctions(parsedPayload, ctx);
|
|
56
|
-
const output = await this.#callRun(parsedPayload, ctx, initOutput);
|
|
57
|
-
await this.#callOnSuccessFunctions(parsedPayload, output, ctx, initOutput);
|
|
55
|
+
initOutput = await this.#callInitFunctions(parsedPayload, ctx, signal);
|
|
56
|
+
const output = await this.#callRun(parsedPayload, ctx, initOutput, signal);
|
|
57
|
+
await this.#callOnSuccessFunctions(parsedPayload, output, ctx, initOutput, signal);
|
|
58
58
|
try {
|
|
59
59
|
const stringifiedOutput = await stringifyIO(output);
|
|
60
60
|
const finalOutput = await conditionallyExportPacket(stringifiedOutput, `${execution.attempt.id}/output`, this._tracer);
|
|
@@ -88,10 +88,10 @@ export class TaskExecutor {
|
|
|
88
88
|
}
|
|
89
89
|
catch (runError) {
|
|
90
90
|
try {
|
|
91
|
-
const handleErrorResult = await this.#handleError(execution, runError, parsedPayload, ctx);
|
|
91
|
+
const handleErrorResult = await this.#handleError(execution, runError, parsedPayload, ctx, signal);
|
|
92
92
|
recordSpanException(span, handleErrorResult.error ?? runError);
|
|
93
93
|
if (handleErrorResult.status !== "retry") {
|
|
94
|
-
await this.#callOnFailureFunctions(parsedPayload, handleErrorResult.error ?? runError, ctx, initOutput);
|
|
94
|
+
await this.#callOnFailureFunctions(parsedPayload, handleErrorResult.error ?? runError, ctx, initOutput, signal);
|
|
95
95
|
}
|
|
96
96
|
return {
|
|
97
97
|
id: execution.run.id,
|
|
@@ -121,7 +121,7 @@ export class TaskExecutor {
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
finally {
|
|
124
|
-
await this.#callTaskCleanup(parsedPayload, ctx, initOutput);
|
|
124
|
+
await this.#callTaskCleanup(parsedPayload, ctx, initOutput, signal);
|
|
125
125
|
}
|
|
126
126
|
});
|
|
127
127
|
}, {
|
|
@@ -129,58 +129,62 @@ export class TaskExecutor {
|
|
|
129
129
|
attributes: {
|
|
130
130
|
[SemanticInternalAttributes.STYLE_ICON]: "attempt",
|
|
131
131
|
},
|
|
132
|
-
}, this._tracer.extractContext(traceContext));
|
|
132
|
+
}, this._tracer.extractContext(traceContext), signal);
|
|
133
133
|
return { result };
|
|
134
134
|
}
|
|
135
|
-
async #callRun(payload, ctx, init) {
|
|
135
|
+
async #callRun(payload, ctx, init, signal) {
|
|
136
136
|
const runFn = this.task.fns.run;
|
|
137
137
|
const middlewareFn = this.task.fns.middleware;
|
|
138
138
|
if (!runFn) {
|
|
139
139
|
throw new Error("Task does not have a run function");
|
|
140
140
|
}
|
|
141
141
|
if (!middlewareFn) {
|
|
142
|
-
return runFn(payload, { ctx, init });
|
|
142
|
+
return runFn(payload, { ctx, init, signal });
|
|
143
143
|
}
|
|
144
|
-
return middlewareFn(payload, {
|
|
144
|
+
return middlewareFn(payload, {
|
|
145
|
+
ctx,
|
|
146
|
+
signal,
|
|
147
|
+
next: async () => runFn(payload, { ctx, init, signal }),
|
|
148
|
+
});
|
|
145
149
|
}
|
|
146
|
-
async #callInitFunctions(payload, ctx) {
|
|
147
|
-
await this.#callConfigInit(payload, ctx);
|
|
150
|
+
async #callInitFunctions(payload, ctx, signal) {
|
|
151
|
+
await this.#callConfigInit(payload, ctx, signal);
|
|
148
152
|
const initFn = this.task.fns.init;
|
|
149
153
|
if (!initFn) {
|
|
150
154
|
return {};
|
|
151
155
|
}
|
|
152
156
|
return this._tracer.startActiveSpan("init", async (span) => {
|
|
153
|
-
return await initFn(payload, { ctx });
|
|
157
|
+
return await initFn(payload, { ctx, signal });
|
|
154
158
|
}, {
|
|
155
159
|
attributes: {
|
|
156
160
|
[SemanticInternalAttributes.STYLE_ICON]: "function",
|
|
157
161
|
},
|
|
158
162
|
});
|
|
159
163
|
}
|
|
160
|
-
async #callConfigInit(payload, ctx) {
|
|
164
|
+
async #callConfigInit(payload, ctx, signal) {
|
|
161
165
|
const initFn = this._importedConfig?.init;
|
|
162
166
|
if (!initFn) {
|
|
163
167
|
return {};
|
|
164
168
|
}
|
|
165
169
|
return this._tracer.startActiveSpan("config.init", async (span) => {
|
|
166
|
-
return await initFn(payload, { ctx });
|
|
170
|
+
return await initFn(payload, { ctx, signal });
|
|
167
171
|
}, {
|
|
168
172
|
attributes: {
|
|
169
173
|
[SemanticInternalAttributes.STYLE_ICON]: "function",
|
|
170
174
|
},
|
|
171
175
|
});
|
|
172
176
|
}
|
|
173
|
-
async #callOnSuccessFunctions(payload, output, ctx, initOutput) {
|
|
174
|
-
await this.#callOnSuccessFunction(this.task.fns.onSuccess, "task.onSuccess", payload, output, ctx, initOutput);
|
|
175
|
-
await this.#callOnSuccessFunction(this._importedConfig?.onSuccess, "config.onSuccess", payload, output, ctx, initOutput);
|
|
177
|
+
async #callOnSuccessFunctions(payload, output, ctx, initOutput, signal) {
|
|
178
|
+
await this.#callOnSuccessFunction(this.task.fns.onSuccess, "task.onSuccess", payload, output, ctx, initOutput, signal);
|
|
179
|
+
await this.#callOnSuccessFunction(this._importedConfig?.onSuccess, "config.onSuccess", payload, output, ctx, initOutput, signal);
|
|
176
180
|
}
|
|
177
|
-
async #callOnSuccessFunction(onSuccessFn, name, payload, output, ctx, initOutput) {
|
|
181
|
+
async #callOnSuccessFunction(onSuccessFn, name, payload, output, ctx, initOutput, signal) {
|
|
178
182
|
if (!onSuccessFn) {
|
|
179
183
|
return;
|
|
180
184
|
}
|
|
181
185
|
try {
|
|
182
186
|
await this._tracer.startActiveSpan(name, async (span) => {
|
|
183
|
-
return await onSuccessFn(payload, output, { ctx, init: initOutput });
|
|
187
|
+
return await onSuccessFn(payload, output, { ctx, init: initOutput, signal });
|
|
184
188
|
}, {
|
|
185
189
|
attributes: {
|
|
186
190
|
[SemanticInternalAttributes.STYLE_ICON]: "function",
|
|
@@ -191,17 +195,17 @@ export class TaskExecutor {
|
|
|
191
195
|
// Ignore errors from onSuccess functions
|
|
192
196
|
}
|
|
193
197
|
}
|
|
194
|
-
async #callOnFailureFunctions(payload, error, ctx, initOutput) {
|
|
195
|
-
await this.#callOnFailureFunction(this.task.fns.onFailure, "task.onFailure", payload, error, ctx, initOutput);
|
|
196
|
-
await this.#callOnFailureFunction(this._importedConfig?.onFailure, "config.onFailure", payload, error, ctx, initOutput);
|
|
198
|
+
async #callOnFailureFunctions(payload, error, ctx, initOutput, signal) {
|
|
199
|
+
await this.#callOnFailureFunction(this.task.fns.onFailure, "task.onFailure", payload, error, ctx, initOutput, signal);
|
|
200
|
+
await this.#callOnFailureFunction(this._importedConfig?.onFailure, "config.onFailure", payload, error, ctx, initOutput, signal);
|
|
197
201
|
}
|
|
198
|
-
async #callOnFailureFunction(onFailureFn, name, payload, error, ctx, initOutput) {
|
|
202
|
+
async #callOnFailureFunction(onFailureFn, name, payload, error, ctx, initOutput, signal) {
|
|
199
203
|
if (!onFailureFn) {
|
|
200
204
|
return;
|
|
201
205
|
}
|
|
202
206
|
try {
|
|
203
207
|
return await this._tracer.startActiveSpan(name, async (span) => {
|
|
204
|
-
return await onFailureFn(payload, error, { ctx, init: initOutput });
|
|
208
|
+
return await onFailureFn(payload, error, { ctx, init: initOutput, signal });
|
|
205
209
|
}, {
|
|
206
210
|
attributes: {
|
|
207
211
|
[SemanticInternalAttributes.STYLE_ICON]: "function",
|
|
@@ -212,17 +216,17 @@ export class TaskExecutor {
|
|
|
212
216
|
// Ignore errors from onFailure functions
|
|
213
217
|
}
|
|
214
218
|
}
|
|
215
|
-
async #callOnStartFunctions(payload, ctx) {
|
|
216
|
-
await this.#callOnStartFunction(this._importedConfig?.onStart, "config.onStart", payload, ctx, {});
|
|
217
|
-
await this.#callOnStartFunction(this.task.fns.onStart, "task.onStart", payload, ctx, {});
|
|
219
|
+
async #callOnStartFunctions(payload, ctx, signal) {
|
|
220
|
+
await this.#callOnStartFunction(this._importedConfig?.onStart, "config.onStart", payload, ctx, {}, signal);
|
|
221
|
+
await this.#callOnStartFunction(this.task.fns.onStart, "task.onStart", payload, ctx, {}, signal);
|
|
218
222
|
}
|
|
219
|
-
async #callOnStartFunction(onStartFn, name, payload, ctx, initOutput) {
|
|
223
|
+
async #callOnStartFunction(onStartFn, name, payload, ctx, initOutput, signal) {
|
|
220
224
|
if (!onStartFn) {
|
|
221
225
|
return;
|
|
222
226
|
}
|
|
223
227
|
try {
|
|
224
228
|
await this._tracer.startActiveSpan(name, async (span) => {
|
|
225
|
-
return await onStartFn(payload, { ctx });
|
|
229
|
+
return await onStartFn(payload, { ctx, signal });
|
|
226
230
|
}, {
|
|
227
231
|
attributes: {
|
|
228
232
|
[SemanticInternalAttributes.STYLE_ICON]: "function",
|
|
@@ -233,16 +237,16 @@ export class TaskExecutor {
|
|
|
233
237
|
// Ignore errors from onStart functions
|
|
234
238
|
}
|
|
235
239
|
}
|
|
236
|
-
async #callTaskCleanup(payload, ctx, init) {
|
|
240
|
+
async #callTaskCleanup(payload, ctx, init, signal) {
|
|
237
241
|
const cleanupFn = this.task.fns.cleanup;
|
|
238
242
|
if (!cleanupFn) {
|
|
239
243
|
return;
|
|
240
244
|
}
|
|
241
245
|
return this._tracer.startActiveSpan("cleanup", async (span) => {
|
|
242
|
-
return await cleanupFn(payload, { ctx, init });
|
|
246
|
+
return await cleanupFn(payload, { ctx, init, signal });
|
|
243
247
|
});
|
|
244
248
|
}
|
|
245
|
-
async #handleError(execution, error, payload, ctx) {
|
|
249
|
+
async #handleError(execution, error, payload, ctx, signal) {
|
|
246
250
|
const retriesConfig = this._importedConfig?.retries;
|
|
247
251
|
const retry = this.task.retry ?? retriesConfig?.default;
|
|
248
252
|
if (!retry) {
|
|
@@ -274,6 +278,7 @@ export class TaskExecutor {
|
|
|
274
278
|
retry,
|
|
275
279
|
retryDelayInMs: delay,
|
|
276
280
|
retryAt: delay ? new Date(Date.now() + delay) : undefined,
|
|
281
|
+
signal,
|
|
277
282
|
})
|
|
278
283
|
: this._importedConfig
|
|
279
284
|
? await this._handleErrorFn?.(payload, error, {
|
|
@@ -281,6 +286,7 @@ export class TaskExecutor {
|
|
|
281
286
|
retry,
|
|
282
287
|
retryDelayInMs: delay,
|
|
283
288
|
retryAt: delay ? new Date(Date.now() + delay) : undefined,
|
|
289
|
+
signal,
|
|
284
290
|
})
|
|
285
291
|
: undefined;
|
|
286
292
|
// If handleErrorResult
|