@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.
Files changed (101) hide show
  1. package/dist/commonjs/schemas/api.d.ts +8 -8
  2. package/dist/commonjs/v3/apiClient/index.d.ts +55 -55
  3. package/dist/commonjs/v3/config.d.ts +8 -0
  4. package/dist/commonjs/v3/errors.js +4 -1
  5. package/dist/commonjs/v3/errors.js.map +1 -1
  6. package/dist/commonjs/v3/index.d.ts +1 -0
  7. package/dist/commonjs/v3/index.js +1 -0
  8. package/dist/commonjs/v3/index.js.map +1 -1
  9. package/dist/commonjs/v3/runMetadata/index.d.ts +2 -1
  10. package/dist/commonjs/v3/runMetadata/index.js +9 -2
  11. package/dist/commonjs/v3/runMetadata/index.js.map +1 -1
  12. package/dist/commonjs/v3/schemas/api.d.ts +285 -266
  13. package/dist/commonjs/v3/schemas/api.js +3 -0
  14. package/dist/commonjs/v3/schemas/api.js.map +1 -1
  15. package/dist/commonjs/v3/schemas/build.d.ts +66 -52
  16. package/dist/commonjs/v3/schemas/common.d.ts +116 -102
  17. package/dist/commonjs/v3/schemas/common.js +3 -0
  18. package/dist/commonjs/v3/schemas/common.js.map +1 -1
  19. package/dist/commonjs/v3/schemas/messages.d.ts +2267 -2119
  20. package/dist/commonjs/v3/schemas/resources.d.ts +36 -28
  21. package/dist/commonjs/v3/schemas/resources.js +1 -0
  22. package/dist/commonjs/v3/schemas/resources.js.map +1 -1
  23. package/dist/commonjs/v3/schemas/schemas.d.ts +282 -257
  24. package/dist/commonjs/v3/schemas/schemas.js +1 -0
  25. package/dist/commonjs/v3/schemas/schemas.js.map +1 -1
  26. package/dist/commonjs/v3/timeout/api.d.ts +11 -0
  27. package/dist/commonjs/v3/timeout/api.js +38 -0
  28. package/dist/commonjs/v3/timeout/api.js.map +1 -0
  29. package/dist/commonjs/v3/timeout/types.d.ts +9 -0
  30. package/dist/commonjs/v3/timeout/types.js +15 -0
  31. package/dist/commonjs/v3/timeout/types.js.map +1 -0
  32. package/dist/commonjs/v3/timeout/usageTimeoutManager.d.ts +10 -0
  33. package/dist/commonjs/v3/timeout/usageTimeoutManager.js +32 -0
  34. package/dist/commonjs/v3/timeout/usageTimeoutManager.js.map +1 -0
  35. package/dist/commonjs/v3/timeout-api.d.ts +3 -0
  36. package/dist/commonjs/v3/timeout-api.js +9 -0
  37. package/dist/commonjs/v3/timeout-api.js.map +1 -0
  38. package/dist/commonjs/v3/tracer.d.ts +1 -1
  39. package/dist/commonjs/v3/tracer.js +28 -14
  40. package/dist/commonjs/v3/tracer.js.map +1 -1
  41. package/dist/commonjs/v3/types/index.d.ts +10 -0
  42. package/dist/commonjs/v3/utils/globals.d.ts +4 -0
  43. package/dist/commonjs/v3/utils/globals.js.map +1 -1
  44. package/dist/commonjs/v3/workers/index.d.ts +1 -0
  45. package/dist/commonjs/v3/workers/index.js +3 -1
  46. package/dist/commonjs/v3/workers/index.js.map +1 -1
  47. package/dist/commonjs/v3/workers/taskExecutor.d.ts +1 -1
  48. package/dist/commonjs/v3/workers/taskExecutor.js +41 -35
  49. package/dist/commonjs/v3/workers/taskExecutor.js.map +1 -1
  50. package/dist/commonjs/version.js +1 -1
  51. package/dist/esm/schemas/api.d.ts +8 -8
  52. package/dist/esm/v3/apiClient/index.d.ts +55 -55
  53. package/dist/esm/v3/config.d.ts +8 -0
  54. package/dist/esm/v3/errors.js +4 -1
  55. package/dist/esm/v3/errors.js.map +1 -1
  56. package/dist/esm/v3/index.d.ts +1 -0
  57. package/dist/esm/v3/index.js +1 -0
  58. package/dist/esm/v3/index.js.map +1 -1
  59. package/dist/esm/v3/runMetadata/index.d.ts +2 -1
  60. package/dist/esm/v3/runMetadata/index.js +9 -2
  61. package/dist/esm/v3/runMetadata/index.js.map +1 -1
  62. package/dist/esm/v3/schemas/api.d.ts +285 -266
  63. package/dist/esm/v3/schemas/api.js +3 -0
  64. package/dist/esm/v3/schemas/api.js.map +1 -1
  65. package/dist/esm/v3/schemas/build.d.ts +66 -52
  66. package/dist/esm/v3/schemas/common.d.ts +116 -102
  67. package/dist/esm/v3/schemas/common.js +3 -0
  68. package/dist/esm/v3/schemas/common.js.map +1 -1
  69. package/dist/esm/v3/schemas/messages.d.ts +2231 -2083
  70. package/dist/esm/v3/schemas/resources.d.ts +36 -28
  71. package/dist/esm/v3/schemas/resources.js +1 -0
  72. package/dist/esm/v3/schemas/resources.js.map +1 -1
  73. package/dist/esm/v3/schemas/schemas.d.ts +282 -257
  74. package/dist/esm/v3/schemas/schemas.js +1 -0
  75. package/dist/esm/v3/schemas/schemas.js.map +1 -1
  76. package/dist/esm/v3/timeout/api.d.ts +11 -0
  77. package/dist/esm/v3/timeout/api.js +34 -0
  78. package/dist/esm/v3/timeout/api.js.map +1 -0
  79. package/dist/esm/v3/timeout/types.d.ts +9 -0
  80. package/dist/esm/v3/timeout/types.js +11 -0
  81. package/dist/esm/v3/timeout/types.js.map +1 -0
  82. package/dist/esm/v3/timeout/usageTimeoutManager.d.ts +10 -0
  83. package/dist/esm/v3/timeout/usageTimeoutManager.js +28 -0
  84. package/dist/esm/v3/timeout/usageTimeoutManager.js.map +1 -0
  85. package/dist/esm/v3/timeout-api.d.ts +3 -0
  86. package/dist/esm/v3/timeout-api.js +6 -0
  87. package/dist/esm/v3/timeout-api.js.map +1 -0
  88. package/dist/esm/v3/tracer.d.ts +1 -1
  89. package/dist/esm/v3/tracer.js +28 -14
  90. package/dist/esm/v3/tracer.js.map +1 -1
  91. package/dist/esm/v3/types/index.d.ts +10 -0
  92. package/dist/esm/v3/utils/globals.d.ts +4 -0
  93. package/dist/esm/v3/utils/globals.js.map +1 -1
  94. package/dist/esm/v3/workers/index.d.ts +1 -0
  95. package/dist/esm/v3/workers/index.js +1 -0
  96. package/dist/esm/v3/workers/index.js.map +1 -1
  97. package/dist/esm/v3/workers/taskExecutor.d.ts +1 -1
  98. package/dist/esm/v3/workers/taskExecutor.js +41 -35
  99. package/dist/esm/v3/workers/taskExecutor.js.map +1 -1
  100. package/dist/esm/version.js +1 -1
  101. 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":"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"}
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,3 @@
1
+ import { TimeoutAPI } from "./timeout/api.js";
2
+ /** Entrypoint for timeout API */
3
+ export declare const timeout: TimeoutAPI;
@@ -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"}
@@ -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
  }
@@ -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 (typeof e === "string" || e instanceof Error) {
59
- span.recordException(e);
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 (taskContext.ctx) {
66
- const usageSample = usage.stop(usageMeasurement);
67
- const machine = taskContext.ctx.machine;
68
- span.setAttributes({
69
- [SemanticInternalAttributes.USAGE_DURATION_MS]: usageSample.cpuTime,
70
- [SemanticInternalAttributes.USAGE_COST_IN_CENTS]: machine?.centsPerMs
71
- ? usageSample.cpuTime * machine.centsPerMs
72
- : 0,
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;AAYpD,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;QAEb,MAAM,aAAa,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAE9C,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;QAE7C,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,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,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;oBAChD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;gBAED,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;gBAE/C,MAAM,CAAC,CAAC;YACV,CAAC;oBAAS,CAAC;gBACT,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC;oBACpB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;oBAExC,IAAI,CAAC,aAAa,CAAC;wBACjB,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,OAAO;wBACnE,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,UAAU;4BACnE,CAAC,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU;4BAC1C,CAAC,CAAC,CAAC;qBACN,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YAC/B,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"}
1
+ {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../../src/v3/tracer.ts"],"names":[],"mappings":"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"}
@@ -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":"AAMA,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"}
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, { ctx, next: async () => runFn(payload, { ctx, init }) });
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