@trigger.dev/sdk 3.0.0-beta.7 → 3.0.1

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 (279) hide show
  1. package/dist/commonjs/apiClient.d.ts +737 -0
  2. package/dist/commonjs/apiClient.js +692 -0
  3. package/dist/commonjs/apiClient.js.map +1 -0
  4. package/dist/commonjs/concurrencyLimit.d.ts +10 -0
  5. package/dist/commonjs/concurrencyLimit.js +17 -0
  6. package/dist/commonjs/concurrencyLimit.js.map +1 -0
  7. package/dist/commonjs/errors.d.ts +66 -0
  8. package/dist/commonjs/errors.js +109 -0
  9. package/dist/commonjs/errors.js.map +1 -0
  10. package/dist/commonjs/httpEndpoint.d.ts +87 -0
  11. package/dist/commonjs/httpEndpoint.js +130 -0
  12. package/dist/commonjs/httpEndpoint.js.map +1 -0
  13. package/dist/commonjs/index.d.ts +23 -0
  14. package/dist/commonjs/index.js +55 -0
  15. package/dist/commonjs/index.js.map +1 -0
  16. package/dist/commonjs/integrations.d.ts +11 -0
  17. package/dist/commonjs/integrations.js +3 -0
  18. package/dist/commonjs/integrations.js.map +1 -0
  19. package/dist/commonjs/io.d.ts +453 -0
  20. package/dist/commonjs/io.js +1165 -0
  21. package/dist/commonjs/io.js.map +1 -0
  22. package/dist/commonjs/ioWithIntegrations.d.ts +4 -0
  23. package/dist/commonjs/ioWithIntegrations.js +32 -0
  24. package/dist/commonjs/ioWithIntegrations.js.map +1 -0
  25. package/dist/commonjs/job.d.ts +96 -0
  26. package/dist/commonjs/job.js +210 -0
  27. package/dist/commonjs/job.js.map +1 -0
  28. package/dist/commonjs/package.json +3 -0
  29. package/dist/commonjs/retry.d.ts +20 -0
  30. package/dist/commonjs/retry.js +22 -0
  31. package/dist/commonjs/retry.js.map +1 -0
  32. package/dist/commonjs/runLocalStorage.d.ts +8 -0
  33. package/dist/commonjs/runLocalStorage.js +6 -0
  34. package/dist/commonjs/runLocalStorage.js.map +1 -0
  35. package/dist/commonjs/security.d.ts +18 -0
  36. package/dist/commonjs/security.js +41 -0
  37. package/dist/commonjs/security.js.map +1 -0
  38. package/dist/commonjs/status.d.ts +19 -0
  39. package/dist/commonjs/status.js +38 -0
  40. package/dist/commonjs/status.js.map +1 -0
  41. package/dist/commonjs/store/keyValueStore.d.ts +17 -0
  42. package/dist/commonjs/store/keyValueStore.js +138 -0
  43. package/dist/commonjs/store/keyValueStore.js.map +1 -0
  44. package/dist/commonjs/store/keyValueStoreClient.d.ts +19 -0
  45. package/dist/commonjs/store/keyValueStoreClient.js +65 -0
  46. package/dist/commonjs/store/keyValueStoreClient.js.map +1 -0
  47. package/dist/commonjs/triggerClient.d.ts +300 -0
  48. package/dist/commonjs/triggerClient.js +1366 -0
  49. package/dist/commonjs/triggerClient.js.map +1 -0
  50. package/dist/commonjs/triggers/dynamic.d.ts +56 -0
  51. package/dist/commonjs/triggers/dynamic.js +97 -0
  52. package/dist/commonjs/triggers/dynamic.js.map +1 -0
  53. package/dist/commonjs/triggers/eventTrigger.d.ts +58 -0
  54. package/dist/commonjs/triggers/eventTrigger.js +69 -0
  55. package/dist/commonjs/triggers/eventTrigger.js.map +1 -0
  56. package/dist/commonjs/triggers/externalSource.d.ts +148 -0
  57. package/dist/commonjs/triggers/externalSource.js +106 -0
  58. package/dist/commonjs/triggers/externalSource.js.map +1 -0
  59. package/dist/commonjs/triggers/invokeTrigger.d.ts +39 -0
  60. package/dist/commonjs/triggers/invokeTrigger.js +58 -0
  61. package/dist/commonjs/triggers/invokeTrigger.js.map +1 -0
  62. package/dist/commonjs/triggers/notifications.d.ts +111 -0
  63. package/dist/commonjs/triggers/notifications.js +101 -0
  64. package/dist/commonjs/triggers/notifications.js.map +1 -0
  65. package/dist/commonjs/triggers/scheduled.d.ts +145 -0
  66. package/dist/commonjs/triggers/scheduled.js +208 -0
  67. package/dist/commonjs/triggers/scheduled.js.map +1 -0
  68. package/dist/commonjs/triggers/webhook.d.ts +143 -0
  69. package/dist/commonjs/triggers/webhook.js +133 -0
  70. package/dist/commonjs/triggers/webhook.js.map +1 -0
  71. package/dist/commonjs/typed-emitter.d.ts +37 -0
  72. package/dist/commonjs/typed-emitter.js +3 -0
  73. package/dist/commonjs/typed-emitter.js.map +1 -0
  74. package/dist/commonjs/types.d.ts +204 -0
  75. package/dist/commonjs/types.js +23 -0
  76. package/dist/commonjs/types.js.map +1 -0
  77. package/dist/commonjs/utils/formatSchemaErrors.d.ts +3 -0
  78. package/dist/commonjs/utils/formatSchemaErrors.js +10 -0
  79. package/dist/commonjs/utils/formatSchemaErrors.js.map +1 -0
  80. package/dist/commonjs/utils/typedAsyncLocalStorage.d.ts +6 -0
  81. package/dist/commonjs/utils/typedAsyncLocalStorage.js +18 -0
  82. package/dist/commonjs/utils/typedAsyncLocalStorage.js.map +1 -0
  83. package/dist/commonjs/utils.d.ts +1 -0
  84. package/dist/commonjs/utils.js +11 -0
  85. package/dist/commonjs/utils.js.map +1 -0
  86. package/dist/commonjs/v3/cache.d.ts +28 -0
  87. package/dist/commonjs/v3/cache.js +63 -0
  88. package/dist/commonjs/v3/cache.js.map +1 -0
  89. package/dist/commonjs/v3/config.d.ts +4 -0
  90. package/dist/commonjs/v3/config.js +7 -0
  91. package/dist/commonjs/v3/config.js.map +1 -0
  92. package/dist/commonjs/v3/envvars.d.ts +14 -0
  93. package/dist/commonjs/v3/envvars.js +246 -0
  94. package/dist/commonjs/v3/envvars.js.map +1 -0
  95. package/dist/commonjs/v3/idempotencyKeys.d.ts +49 -0
  96. package/dist/commonjs/v3/idempotencyKeys.js +76 -0
  97. package/dist/commonjs/v3/idempotencyKeys.js.map +1 -0
  98. package/dist/commonjs/v3/index.d.ts +36 -0
  99. package/dist/commonjs/v3/index.js +79 -0
  100. package/dist/commonjs/v3/index.js.map +1 -0
  101. package/dist/commonjs/v3/retry.d.ts +15 -0
  102. package/dist/commonjs/v3/retry.js +411 -0
  103. package/dist/commonjs/v3/retry.js.map +1 -0
  104. package/dist/commonjs/v3/runs.d.ts +345 -0
  105. package/dist/commonjs/v3/runs.js +195 -0
  106. package/dist/commonjs/v3/runs.js.map +1 -0
  107. package/dist/commonjs/v3/schedules/api.d.ts +1 -0
  108. package/dist/commonjs/v3/schedules/api.js +3 -0
  109. package/dist/commonjs/v3/schedules/api.js.map +1 -0
  110. package/dist/commonjs/v3/schedules/index.d.ts +87 -0
  111. package/dist/commonjs/v3/schedules/index.js +250 -0
  112. package/dist/commonjs/v3/schedules/index.js.map +1 -0
  113. package/dist/commonjs/v3/shared.d.ts +443 -0
  114. package/dist/commonjs/v3/shared.js +547 -0
  115. package/dist/commonjs/v3/shared.js.map +1 -0
  116. package/dist/commonjs/v3/tags.d.ts +6 -0
  117. package/dist/commonjs/v3/tags.js +50 -0
  118. package/dist/commonjs/v3/tags.js.map +1 -0
  119. package/dist/commonjs/v3/tasks.d.ts +31 -0
  120. package/dist/commonjs/v3/tasks.js +35 -0
  121. package/dist/commonjs/v3/tasks.js.map +1 -0
  122. package/dist/commonjs/v3/tracer.d.ts +2 -0
  123. package/dist/commonjs/v3/tracer.js +7 -0
  124. package/dist/commonjs/v3/tracer.js.map +1 -0
  125. package/dist/commonjs/v3/usage.d.ts +77 -0
  126. package/dist/commonjs/v3/usage.js +115 -0
  127. package/dist/commonjs/v3/usage.js.map +1 -0
  128. package/dist/commonjs/v3/wait.d.ts +22 -0
  129. package/dist/commonjs/v3/wait.js +99 -0
  130. package/dist/commonjs/v3/wait.js.map +1 -0
  131. package/dist/commonjs/version.d.ts +1 -0
  132. package/dist/commonjs/version.js +5 -0
  133. package/dist/commonjs/version.js.map +1 -0
  134. package/dist/esm/apiClient.d.ts +737 -0
  135. package/dist/esm/apiClient.js +687 -0
  136. package/dist/esm/apiClient.js.map +1 -0
  137. package/dist/esm/concurrencyLimit.d.ts +10 -0
  138. package/dist/esm/concurrencyLimit.js +13 -0
  139. package/dist/esm/concurrencyLimit.js.map +1 -0
  140. package/dist/esm/errors.d.ts +66 -0
  141. package/dist/esm/errors.js +95 -0
  142. package/dist/esm/errors.js.map +1 -0
  143. package/dist/esm/httpEndpoint.d.ts +87 -0
  144. package/dist/esm/httpEndpoint.js +125 -0
  145. package/dist/esm/httpEndpoint.js.map +1 -0
  146. package/dist/esm/index.d.ts +23 -0
  147. package/dist/esm/index.js +35 -0
  148. package/dist/esm/index.js.map +1 -0
  149. package/dist/esm/integrations.d.ts +11 -0
  150. package/dist/esm/integrations.js +2 -0
  151. package/dist/esm/integrations.js.map +1 -0
  152. package/dist/esm/io.d.ts +453 -0
  153. package/dist/esm/io.js +1159 -0
  154. package/dist/esm/io.js.map +1 -0
  155. package/dist/esm/ioWithIntegrations.d.ts +4 -0
  156. package/dist/esm/ioWithIntegrations.js +29 -0
  157. package/dist/esm/ioWithIntegrations.js.map +1 -0
  158. package/dist/esm/job.d.ts +96 -0
  159. package/dist/esm/job.js +206 -0
  160. package/dist/esm/job.js.map +1 -0
  161. package/dist/esm/package.json +3 -0
  162. package/dist/esm/retry.d.ts +20 -0
  163. package/dist/esm/retry.js +19 -0
  164. package/dist/esm/retry.js.map +1 -0
  165. package/dist/esm/runLocalStorage.d.ts +8 -0
  166. package/dist/esm/runLocalStorage.js +3 -0
  167. package/dist/esm/runLocalStorage.js.map +1 -0
  168. package/dist/esm/security.d.ts +18 -0
  169. package/dist/esm/security.js +34 -0
  170. package/dist/esm/security.js.map +1 -0
  171. package/dist/esm/status.d.ts +19 -0
  172. package/dist/esm/status.js +34 -0
  173. package/dist/esm/status.js.map +1 -0
  174. package/dist/esm/store/keyValueStore.d.ts +17 -0
  175. package/dist/esm/store/keyValueStore.js +134 -0
  176. package/dist/esm/store/keyValueStore.js.map +1 -0
  177. package/dist/esm/store/keyValueStoreClient.d.ts +19 -0
  178. package/dist/esm/store/keyValueStoreClient.js +61 -0
  179. package/dist/esm/store/keyValueStoreClient.js.map +1 -0
  180. package/dist/esm/triggerClient.d.ts +300 -0
  181. package/dist/esm/triggerClient.js +1359 -0
  182. package/dist/esm/triggerClient.js.map +1 -0
  183. package/dist/esm/triggers/dynamic.d.ts +56 -0
  184. package/dist/esm/triggers/dynamic.js +93 -0
  185. package/dist/esm/triggers/dynamic.js.map +1 -0
  186. package/dist/esm/triggers/eventTrigger.d.ts +58 -0
  187. package/dist/esm/triggers/eventTrigger.js +64 -0
  188. package/dist/esm/triggers/eventTrigger.js.map +1 -0
  189. package/dist/esm/triggers/externalSource.d.ts +148 -0
  190. package/dist/esm/triggers/externalSource.js +100 -0
  191. package/dist/esm/triggers/externalSource.js.map +1 -0
  192. package/dist/esm/triggers/invokeTrigger.d.ts +39 -0
  193. package/dist/esm/triggers/invokeTrigger.js +53 -0
  194. package/dist/esm/triggers/invokeTrigger.js.map +1 -0
  195. package/dist/esm/triggers/notifications.d.ts +111 -0
  196. package/dist/esm/triggers/notifications.js +94 -0
  197. package/dist/esm/triggers/notifications.js.map +1 -0
  198. package/dist/esm/triggers/scheduled.d.ts +145 -0
  199. package/dist/esm/triggers/scheduled.js +197 -0
  200. package/dist/esm/triggers/scheduled.js.map +1 -0
  201. package/dist/esm/triggers/webhook.d.ts +143 -0
  202. package/dist/esm/triggers/webhook.js +128 -0
  203. package/dist/esm/triggers/webhook.js.map +1 -0
  204. package/dist/esm/typed-emitter.d.ts +37 -0
  205. package/dist/esm/typed-emitter.js +2 -0
  206. package/dist/esm/typed-emitter.js.map +1 -0
  207. package/dist/esm/types.d.ts +204 -0
  208. package/dist/esm/types.js +19 -0
  209. package/dist/esm/types.js.map +1 -0
  210. package/dist/esm/utils/formatSchemaErrors.d.ts +3 -0
  211. package/dist/esm/utils/formatSchemaErrors.js +7 -0
  212. package/dist/esm/utils/formatSchemaErrors.js.map +1 -0
  213. package/dist/esm/utils/typedAsyncLocalStorage.d.ts +6 -0
  214. package/dist/esm/utils/typedAsyncLocalStorage.js +14 -0
  215. package/dist/esm/utils/typedAsyncLocalStorage.js.map +1 -0
  216. package/dist/esm/utils.d.ts +1 -0
  217. package/dist/esm/utils.js +8 -0
  218. package/dist/esm/utils.js.map +1 -0
  219. package/dist/esm/v3/cache.d.ts +28 -0
  220. package/dist/esm/v3/cache.js +58 -0
  221. package/dist/esm/v3/cache.js.map +1 -0
  222. package/dist/esm/v3/config.d.ts +4 -0
  223. package/dist/esm/v3/config.js +4 -0
  224. package/dist/esm/v3/config.js.map +1 -0
  225. package/dist/esm/v3/envvars.d.ts +14 -0
  226. package/dist/esm/v3/envvars.js +238 -0
  227. package/dist/esm/v3/envvars.js.map +1 -0
  228. package/dist/esm/v3/idempotencyKeys.d.ts +49 -0
  229. package/dist/esm/v3/idempotencyKeys.js +72 -0
  230. package/dist/esm/v3/idempotencyKeys.js.map +1 -0
  231. package/dist/esm/v3/index.d.ts +36 -0
  232. package/dist/esm/v3/index.js +35 -0
  233. package/dist/esm/v3/index.js.map +1 -0
  234. package/dist/esm/v3/retry.d.ts +15 -0
  235. package/dist/esm/v3/retry.js +408 -0
  236. package/dist/esm/v3/retry.js.map +1 -0
  237. package/dist/esm/v3/runs.d.ts +345 -0
  238. package/dist/esm/v3/runs.js +192 -0
  239. package/dist/esm/v3/runs.js.map +1 -0
  240. package/dist/esm/v3/schedules/api.d.ts +1 -0
  241. package/dist/esm/v3/schedules/api.js +2 -0
  242. package/dist/esm/v3/schedules/api.js.map +1 -0
  243. package/dist/esm/v3/schedules/index.d.ts +87 -0
  244. package/dist/esm/v3/schedules/index.js +239 -0
  245. package/dist/esm/v3/schedules/index.js.map +1 -0
  246. package/dist/esm/v3/shared.d.ts +443 -0
  247. package/dist/esm/v3/shared.js +534 -0
  248. package/dist/esm/v3/shared.js.map +1 -0
  249. package/dist/esm/v3/tags.d.ts +6 -0
  250. package/dist/esm/v3/tags.js +47 -0
  251. package/dist/esm/v3/tags.js.map +1 -0
  252. package/dist/esm/v3/tasks.d.ts +31 -0
  253. package/dist/esm/v3/tasks.js +31 -0
  254. package/dist/esm/v3/tasks.js.map +1 -0
  255. package/dist/esm/v3/tracer.d.ts +2 -0
  256. package/dist/esm/v3/tracer.js +4 -0
  257. package/dist/esm/v3/tracer.js.map +1 -0
  258. package/dist/esm/v3/usage.d.ts +77 -0
  259. package/dist/esm/v3/usage.js +112 -0
  260. package/dist/esm/v3/usage.js.map +1 -0
  261. package/dist/esm/v3/wait.d.ts +22 -0
  262. package/dist/esm/v3/wait.js +96 -0
  263. package/dist/esm/v3/wait.js.map +1 -0
  264. package/dist/esm/version.d.ts +1 -0
  265. package/dist/esm/version.js +2 -0
  266. package/dist/esm/version.js.map +1 -0
  267. package/package.json +62 -47
  268. package/dist/index.d.mts +0 -2704
  269. package/dist/index.d.ts +0 -2704
  270. package/dist/index.js +0 -4886
  271. package/dist/index.js.map +0 -1
  272. package/dist/index.mjs +0 -4847
  273. package/dist/index.mjs.map +0 -1
  274. package/dist/v3/index.d.mts +0 -261
  275. package/dist/v3/index.d.ts +0 -261
  276. package/dist/v3/index.js +0 -921
  277. package/dist/v3/index.js.map +0 -1
  278. package/dist/v3/index.mjs +0 -911
  279. package/dist/v3/index.mjs.map +0 -1
@@ -0,0 +1,534 @@
1
+ import { SpanKind } from "@opentelemetry/api";
2
+ import { SEMATTRS_MESSAGING_DESTINATION, SEMATTRS_MESSAGING_OPERATION, SEMATTRS_MESSAGING_SYSTEM, } from "@opentelemetry/semantic-conventions";
3
+ import { SemanticInternalAttributes, accessoryAttributes, apiClientManager, conditionallyImportPacket, createErrorTaskError, defaultRetryOptions, logger, parsePacket, runtime, stringifyIO, taskCatalog, taskContext, } from "@trigger.dev/core/v3";
4
+ import { idempotencyKeys, isIdempotencyKey } from "./idempotencyKeys.js";
5
+ import { runs } from "./runs.js";
6
+ import { tracer } from "./tracer.js";
7
+ export function queue(options) {
8
+ return options;
9
+ }
10
+ export class SubtaskUnwrapError extends Error {
11
+ taskId;
12
+ runId;
13
+ cause;
14
+ constructor(taskId, runId, subtaskError) {
15
+ if (subtaskError instanceof Error) {
16
+ super(`Error in ${taskId}: ${subtaskError.message}`, { cause: subtaskError });
17
+ this.name = "SubtaskUnwrapError";
18
+ }
19
+ else {
20
+ super(`Error in ${taskId}`, { cause: subtaskError });
21
+ this.name = "SubtaskUnwrapError";
22
+ }
23
+ this.taskId = taskId;
24
+ this.runId = runId;
25
+ }
26
+ }
27
+ export class TaskRunPromise extends Promise {
28
+ taskId;
29
+ constructor(executor, taskId) {
30
+ super(executor);
31
+ this.taskId = taskId;
32
+ }
33
+ unwrap() {
34
+ return this.then((result) => {
35
+ if (result.ok) {
36
+ return result.output;
37
+ }
38
+ else {
39
+ throw new SubtaskUnwrapError(this.taskId, result.id, result.error);
40
+ }
41
+ });
42
+ }
43
+ }
44
+ export function createTask(params) {
45
+ const customQueue = params.queue
46
+ ? queue({
47
+ name: params.queue?.name ?? `task/${params.id}`,
48
+ ...params.queue,
49
+ })
50
+ : undefined;
51
+ const task = {
52
+ id: params.id,
53
+ trigger: async (payload, options) => {
54
+ const taskMetadata = taskCatalog.getTaskManifest(params.id);
55
+ return await trigger_internal(taskMetadata && taskMetadata.exportName
56
+ ? `${taskMetadata.exportName}.trigger()`
57
+ : `trigger()`, params.id, payload, {
58
+ queue: customQueue,
59
+ ...options,
60
+ });
61
+ },
62
+ batchTrigger: async (items) => {
63
+ const taskMetadata = taskCatalog.getTaskManifest(params.id);
64
+ return await batchTrigger_internal(taskMetadata && taskMetadata.exportName
65
+ ? `${taskMetadata.exportName}.batchTrigger()`
66
+ : `batchTrigger()`, params.id, items, undefined, customQueue);
67
+ },
68
+ triggerAndWait: (payload, options) => {
69
+ const taskMetadata = taskCatalog.getTaskManifest(params.id);
70
+ return new TaskRunPromise((resolve, reject) => {
71
+ triggerAndWait_internal(taskMetadata && taskMetadata.exportName
72
+ ? `${taskMetadata.exportName}.triggerAndWait()`
73
+ : `triggerAndWait()`, params.id, payload, {
74
+ queue: customQueue,
75
+ ...options,
76
+ })
77
+ .then((result) => {
78
+ resolve(result);
79
+ })
80
+ .catch((error) => {
81
+ reject(error);
82
+ });
83
+ }, params.id);
84
+ },
85
+ batchTriggerAndWait: async (items) => {
86
+ const taskMetadata = taskCatalog.getTaskManifest(params.id);
87
+ return await batchTriggerAndWait_internal(taskMetadata && taskMetadata.exportName
88
+ ? `${taskMetadata.exportName}.batchTriggerAndWait()`
89
+ : `batchTriggerAndWait()`, params.id, items, undefined, customQueue);
90
+ },
91
+ };
92
+ taskCatalog.registerTaskMetadata({
93
+ id: params.id,
94
+ queue: params.queue,
95
+ retry: params.retry ? { ...defaultRetryOptions, ...params.retry } : undefined,
96
+ machine: params.machine,
97
+ fns: {
98
+ run: params.run,
99
+ init: params.init,
100
+ cleanup: params.cleanup,
101
+ middleware: params.middleware,
102
+ handleError: params.handleError,
103
+ onSuccess: params.onSuccess,
104
+ onFailure: params.onFailure,
105
+ onStart: params.onStart,
106
+ },
107
+ });
108
+ // @ts-expect-error
109
+ task[Symbol.for("trigger.dev/task")] = true;
110
+ return task;
111
+ }
112
+ /**
113
+ * Trigger a task by its identifier with the given payload. Returns a typesafe `RunHandle`.
114
+ *
115
+ * @example
116
+ *
117
+ * ```ts
118
+ * import { tasks, runs } from "@trigger.dev/sdk/v3";
119
+ * import type { myTask } from "./myTasks"; // Import just the type of the task
120
+ *
121
+ * const handle = await tasks.trigger<typeof myTask>("my-task", { foo: "bar" }); // The id and payload are fully typesafe
122
+ * const run = await runs.retrieve(handle);
123
+ * console.log(run.output) // The output is also fully typed
124
+ * ```
125
+ *
126
+ * @returns {RunHandle} An object with the `id` of the run. Can be used to retrieve the completed run output in a typesafe manner.
127
+ */
128
+ export async function trigger(id, payload, options, requestOptions) {
129
+ return await trigger_internal("tasks.trigger()", id, payload, options, requestOptions);
130
+ }
131
+ /**
132
+ * Trigger a task with the given payload, and wait for the result. Returns the result of the task run
133
+ * @param id - The id of the task to trigger
134
+ * @param payload
135
+ * @param options - Options for the task run
136
+ * @returns TaskRunResult
137
+ * @example
138
+ * ```ts
139
+ * import { tasks } from "@trigger.dev/sdk/v3";
140
+ * const result = await tasks.triggerAndWait("my-task", { foo: "bar" });
141
+ *
142
+ * if (result.ok) {
143
+ * console.log(result.output);
144
+ * } else {
145
+ * console.error(result.error);
146
+ * }
147
+ * ```
148
+ */
149
+ export function triggerAndWait(id, payload, options, requestOptions) {
150
+ return new TaskRunPromise((resolve, reject) => {
151
+ triggerAndWait_internal("tasks.triggerAndWait()", id, payload, options, requestOptions)
152
+ .then((result) => {
153
+ resolve(result);
154
+ })
155
+ .catch((error) => {
156
+ reject(error);
157
+ });
158
+ }, id);
159
+ }
160
+ /**
161
+ * Batch trigger multiple task runs with the given payloads, and wait for the results. Returns the results of the task runs.
162
+ * @param id - The id of the task to trigger
163
+ * @param items
164
+ * @returns BatchResult
165
+ * @example
166
+ *
167
+ * ```ts
168
+ * import { tasks } from "@trigger.dev/sdk/v3";
169
+ *
170
+ * const result = await tasks.batchTriggerAndWait("my-task", [
171
+ * { payload: { foo: "bar" } },
172
+ * { payload: { foo: "baz" } },
173
+ * ]);
174
+ *
175
+ * for (const run of result.runs) {
176
+ * if (run.ok) {
177
+ * console.log(run.output);
178
+ * } else {
179
+ * console.error(run.error);
180
+ * }
181
+ * }
182
+ * ```
183
+ */
184
+ export async function batchTriggerAndWait(id, items, requestOptions) {
185
+ return await batchTriggerAndWait_internal("tasks.batchTriggerAndWait()", id, items, requestOptions);
186
+ }
187
+ /**
188
+ * Trigger a task by its identifier with the given payload and poll until the run is completed.
189
+ *
190
+ * @example
191
+ *
192
+ * ```ts
193
+ * import { tasks, runs } from "@trigger.dev/sdk/v3";
194
+ * import type { myTask } from "./myTasks"; // Import just the type of the task
195
+ *
196
+ * const run = await tasks.triggerAndPoll<typeof myTask>("my-task", { foo: "bar" }); // The id and payload are fully typesafe
197
+ * console.log(run.output) // The output is also fully typed
198
+ * ```
199
+ *
200
+ * @returns {Run} The completed run, either successful or failed.
201
+ */
202
+ export async function triggerAndPoll(id, payload, options, requestOptions) {
203
+ const handle = await trigger(id, payload, options, requestOptions);
204
+ return runs.poll(handle, options, requestOptions);
205
+ }
206
+ export async function batchTrigger(id, items, requestOptions) {
207
+ return await batchTrigger_internal("tasks.batchTrigger()", id, items, requestOptions);
208
+ }
209
+ async function trigger_internal(name, id, payload, options, requestOptions) {
210
+ const apiClient = apiClientManager.client;
211
+ if (!apiClient) {
212
+ throw apiClientMissingError();
213
+ }
214
+ const payloadPacket = await stringifyIO(payload);
215
+ const handle = await apiClient.triggerTask(id, {
216
+ payload: payloadPacket.data,
217
+ options: {
218
+ queue: options?.queue,
219
+ concurrencyKey: options?.concurrencyKey,
220
+ test: taskContext.ctx?.run.isTest,
221
+ payloadType: payloadPacket.dataType,
222
+ idempotencyKey: await makeKey(options?.idempotencyKey),
223
+ delay: options?.delay,
224
+ ttl: options?.ttl,
225
+ tags: options?.tags,
226
+ maxAttempts: options?.maxAttempts,
227
+ },
228
+ }, {
229
+ spanParentAsLink: true,
230
+ }, {
231
+ name,
232
+ tracer,
233
+ icon: "trigger",
234
+ attributes: {
235
+ [SEMATTRS_MESSAGING_OPERATION]: "publish",
236
+ ["messaging.client_id"]: taskContext.worker?.id,
237
+ [SEMATTRS_MESSAGING_SYSTEM]: "trigger.dev",
238
+ ...accessoryAttributes({
239
+ items: [
240
+ {
241
+ text: id,
242
+ variant: "normal",
243
+ },
244
+ ],
245
+ style: "codepath",
246
+ }),
247
+ },
248
+ onResponseBody: (body, span) => {
249
+ body &&
250
+ typeof body === "object" &&
251
+ !Array.isArray(body) &&
252
+ "id" in body &&
253
+ typeof body.id === "string" &&
254
+ span.setAttribute("messaging.message.id", body.id);
255
+ },
256
+ ...requestOptions,
257
+ });
258
+ return handle;
259
+ }
260
+ async function batchTrigger_internal(name, id, items, requestOptions, queue) {
261
+ const apiClient = apiClientManager.client;
262
+ if (!apiClient) {
263
+ throw apiClientMissingError();
264
+ }
265
+ const response = await apiClient.batchTriggerTask(id, {
266
+ items: await Promise.all(items.map(async (item) => {
267
+ const payloadPacket = await stringifyIO(item.payload);
268
+ return {
269
+ payload: payloadPacket.data,
270
+ options: {
271
+ queue: item.options?.queue ?? queue,
272
+ concurrencyKey: item.options?.concurrencyKey,
273
+ test: taskContext.ctx?.run.isTest,
274
+ payloadType: payloadPacket.dataType,
275
+ idempotencyKey: await makeKey(item.options?.idempotencyKey),
276
+ delay: item.options?.delay,
277
+ ttl: item.options?.ttl,
278
+ tags: item.options?.tags,
279
+ maxAttempts: item.options?.maxAttempts,
280
+ },
281
+ };
282
+ })),
283
+ }, { spanParentAsLink: true }, {
284
+ name,
285
+ tracer,
286
+ icon: "trigger",
287
+ attributes: {
288
+ [SEMATTRS_MESSAGING_OPERATION]: "publish",
289
+ ["messaging.client_id"]: taskContext.worker?.id,
290
+ [SEMATTRS_MESSAGING_SYSTEM]: "trigger.dev",
291
+ ...accessoryAttributes({
292
+ items: [
293
+ {
294
+ text: id,
295
+ variant: "normal",
296
+ },
297
+ ],
298
+ style: "codepath",
299
+ }),
300
+ },
301
+ ...requestOptions,
302
+ });
303
+ const handle = {
304
+ batchId: response.batchId,
305
+ runs: response.runs.map((id) => ({ id })),
306
+ };
307
+ return handle;
308
+ }
309
+ async function triggerAndWait_internal(name, id, payload, options, requestOptions) {
310
+ const ctx = taskContext.ctx;
311
+ if (!ctx) {
312
+ throw new Error("triggerAndWait can only be used from inside a task.run()");
313
+ }
314
+ const apiClient = apiClientManager.client;
315
+ if (!apiClient) {
316
+ throw apiClientMissingError();
317
+ }
318
+ const payloadPacket = await stringifyIO(payload);
319
+ return await tracer.startActiveSpan(name, async (span) => {
320
+ const response = await apiClient.triggerTask(id, {
321
+ payload: payloadPacket.data,
322
+ options: {
323
+ dependentAttempt: ctx.attempt.id,
324
+ lockToVersion: taskContext.worker?.version, // Lock to current version because we're waiting for it to finish
325
+ queue: options?.queue,
326
+ concurrencyKey: options?.concurrencyKey,
327
+ test: taskContext.ctx?.run.isTest,
328
+ payloadType: payloadPacket.dataType,
329
+ idempotencyKey: await makeKey(options?.idempotencyKey),
330
+ delay: options?.delay,
331
+ ttl: options?.ttl,
332
+ tags: options?.tags,
333
+ maxAttempts: options?.maxAttempts,
334
+ },
335
+ }, {}, requestOptions);
336
+ span.setAttribute("messaging.message.id", response.id);
337
+ if (options?.idempotencyKey) {
338
+ // If an idempotency key is provided, we can check if the result is already available
339
+ const result = await apiClient.getRunResult(response.id);
340
+ if (result) {
341
+ logger.log(`Result reused from previous task run with idempotency key '${options.idempotencyKey}'.`, {
342
+ runId: response.id,
343
+ idempotencyKey: options.idempotencyKey,
344
+ });
345
+ return await handleTaskRunExecutionResult(result);
346
+ }
347
+ }
348
+ const result = await runtime.waitForTask({
349
+ id: response.id,
350
+ ctx,
351
+ });
352
+ return await handleTaskRunExecutionResult(result);
353
+ }, {
354
+ kind: SpanKind.PRODUCER,
355
+ attributes: {
356
+ [SemanticInternalAttributes.STYLE_ICON]: "trigger",
357
+ [SEMATTRS_MESSAGING_OPERATION]: "publish",
358
+ ["messaging.client_id"]: taskContext.worker?.id,
359
+ [SEMATTRS_MESSAGING_DESTINATION]: id,
360
+ [SEMATTRS_MESSAGING_SYSTEM]: "trigger.dev",
361
+ ...accessoryAttributes({
362
+ items: [
363
+ {
364
+ text: id,
365
+ variant: "normal",
366
+ },
367
+ ],
368
+ style: "codepath",
369
+ }),
370
+ },
371
+ });
372
+ }
373
+ async function batchTriggerAndWait_internal(name, id, items, requestOptions, queue) {
374
+ const ctx = taskContext.ctx;
375
+ if (!ctx) {
376
+ throw new Error("batchTriggerAndWait can only be used from inside a task.run()");
377
+ }
378
+ const apiClient = apiClientManager.client;
379
+ if (!apiClient) {
380
+ throw apiClientMissingError();
381
+ }
382
+ return await tracer.startActiveSpan(name, async (span) => {
383
+ const response = await apiClient.batchTriggerTask(id, {
384
+ items: await Promise.all(items.map(async (item) => {
385
+ const payloadPacket = await stringifyIO(item.payload);
386
+ return {
387
+ payload: payloadPacket.data,
388
+ options: {
389
+ lockToVersion: taskContext.worker?.version,
390
+ queue: item.options?.queue ?? queue,
391
+ concurrencyKey: item.options?.concurrencyKey,
392
+ test: taskContext.ctx?.run.isTest,
393
+ payloadType: payloadPacket.dataType,
394
+ idempotencyKey: await makeKey(item.options?.idempotencyKey),
395
+ delay: item.options?.delay,
396
+ ttl: item.options?.ttl,
397
+ tags: item.options?.tags,
398
+ maxAttempts: item.options?.maxAttempts,
399
+ },
400
+ };
401
+ })),
402
+ dependentAttempt: ctx.attempt.id,
403
+ }, {}, requestOptions);
404
+ span.setAttribute("messaging.message.id", response.batchId);
405
+ const getBatchResults = async () => {
406
+ // We need to check if the results are already available, but only if any of the items options has an idempotency key
407
+ const hasIdempotencyKey = items.some((item) => item.options?.idempotencyKey);
408
+ if (hasIdempotencyKey) {
409
+ const results = await apiClient.getBatchResults(response.batchId);
410
+ if (results) {
411
+ return results;
412
+ }
413
+ }
414
+ return {
415
+ id: response.batchId,
416
+ items: [],
417
+ };
418
+ };
419
+ const existingResults = await getBatchResults();
420
+ const incompleteRuns = response.runs.filter((runId) => !existingResults.items.some((item) => item.id === runId));
421
+ if (incompleteRuns.length === 0) {
422
+ logger.log(`Results reused from previous task runs because of the provided idempotency keys.`);
423
+ // All runs are already completed
424
+ const runs = await handleBatchTaskRunExecutionResult(existingResults.items);
425
+ return {
426
+ id: existingResults.id,
427
+ runs,
428
+ };
429
+ }
430
+ const result = await runtime.waitForBatch({
431
+ id: response.batchId,
432
+ runs: incompleteRuns,
433
+ ctx,
434
+ });
435
+ // Combine the already completed runs with the newly completed runs, ordered by the original order
436
+ const combinedItems = [];
437
+ for (const runId of response.runs) {
438
+ const existingItem = existingResults.items.find((item) => item.id === runId);
439
+ if (existingItem) {
440
+ combinedItems.push(existingItem);
441
+ }
442
+ else {
443
+ const newItem = result.items.find((item) => item.id === runId);
444
+ if (newItem) {
445
+ combinedItems.push(newItem);
446
+ }
447
+ }
448
+ }
449
+ const runs = await handleBatchTaskRunExecutionResult(combinedItems);
450
+ return {
451
+ id: result.id,
452
+ runs,
453
+ };
454
+ }, {
455
+ kind: SpanKind.PRODUCER,
456
+ attributes: {
457
+ [SemanticInternalAttributes.STYLE_ICON]: "trigger",
458
+ ["messaging.batch.message_count"]: items.length,
459
+ [SEMATTRS_MESSAGING_OPERATION]: "publish",
460
+ ["messaging.client_id"]: taskContext.worker?.id,
461
+ [SEMATTRS_MESSAGING_DESTINATION]: id,
462
+ [SEMATTRS_MESSAGING_SYSTEM]: "trigger.dev",
463
+ ...accessoryAttributes({
464
+ items: [
465
+ {
466
+ text: id,
467
+ variant: "normal",
468
+ },
469
+ ],
470
+ style: "codepath",
471
+ }),
472
+ },
473
+ });
474
+ }
475
+ async function handleBatchTaskRunExecutionResult(items) {
476
+ const someObjectStoreOutputs = items.some((item) => item.ok && item.outputType === "application/store");
477
+ if (!someObjectStoreOutputs) {
478
+ const results = await Promise.all(items.map(async (item) => {
479
+ return await handleTaskRunExecutionResult(item);
480
+ }));
481
+ return results;
482
+ }
483
+ return await tracer.startActiveSpan("store.downloadPayloads", async (span) => {
484
+ const results = await Promise.all(items.map(async (item) => {
485
+ return await handleTaskRunExecutionResult(item);
486
+ }));
487
+ return results;
488
+ }, {
489
+ kind: SpanKind.INTERNAL,
490
+ [SemanticInternalAttributes.STYLE_ICON]: "cloud-download",
491
+ });
492
+ }
493
+ async function handleTaskRunExecutionResult(execution) {
494
+ if (execution.ok) {
495
+ const outputPacket = { data: execution.output, dataType: execution.outputType };
496
+ const importedPacket = await conditionallyImportPacket(outputPacket, tracer);
497
+ return {
498
+ ok: true,
499
+ id: execution.id,
500
+ output: await parsePacket(importedPacket),
501
+ };
502
+ }
503
+ else {
504
+ return {
505
+ ok: false,
506
+ id: execution.id,
507
+ error: createErrorTaskError(execution.error),
508
+ };
509
+ }
510
+ }
511
+ export function apiClientMissingError() {
512
+ const hasBaseUrl = !!apiClientManager.baseURL;
513
+ const hasAccessToken = !!apiClientManager.accessToken;
514
+ if (!hasBaseUrl && !hasAccessToken) {
515
+ return `You need to set the TRIGGER_API_URL and TRIGGER_SECRET_KEY environment variables.`;
516
+ }
517
+ else if (!hasBaseUrl) {
518
+ return `You need to set the TRIGGER_API_URL environment variable.`;
519
+ }
520
+ else if (!hasAccessToken) {
521
+ return `You need to set the TRIGGER_SECRET_KEY environment variable.`;
522
+ }
523
+ return `Unknown error`;
524
+ }
525
+ async function makeKey(idempotencyKey) {
526
+ if (!idempotencyKey) {
527
+ return;
528
+ }
529
+ if (isIdempotencyKey(idempotencyKey)) {
530
+ return idempotencyKey;
531
+ }
532
+ return await idempotencyKeys.create(idempotencyKey, { scope: "global" });
533
+ }
534
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/v3/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ApiRequestOptions, RunTags } from "@trigger.dev/core/v3";
2
+ export declare const tags: {
3
+ add: typeof addTags;
4
+ };
5
+ declare function addTags(tags: RunTags, requestOptions?: ApiRequestOptions): Promise<void>;
6
+ export {};
@@ -0,0 +1,47 @@
1
+ import { UnprocessableEntityError, accessoryAttributes, apiClientManager, logger, mergeRequestOptions, taskContext, } from "@trigger.dev/core/v3";
2
+ import { apiClientMissingError } from "./shared.js";
3
+ import { tracer } from "./tracer.js";
4
+ export const tags = {
5
+ add: addTags,
6
+ };
7
+ async function addTags(tags, requestOptions) {
8
+ const apiClient = apiClientManager.client;
9
+ if (!apiClient) {
10
+ throw apiClientMissingError();
11
+ }
12
+ const run = taskContext.ctx?.run;
13
+ if (!run) {
14
+ throw new Error("Can't set tags outside of a run. You can trigger a task and set tags in the options.");
15
+ }
16
+ const $requestOptions = mergeRequestOptions({
17
+ tracer,
18
+ name: "tags.set()",
19
+ icon: "tag",
20
+ attributes: {
21
+ ...accessoryAttributes({
22
+ items: [
23
+ {
24
+ text: typeof tags === "string" ? tags : tags.join(", "),
25
+ variant: "normal",
26
+ },
27
+ ],
28
+ style: "codepath",
29
+ }),
30
+ },
31
+ }, requestOptions);
32
+ try {
33
+ await apiClient.addTags(run.id, { tags }, $requestOptions);
34
+ }
35
+ catch (error) {
36
+ if (error instanceof UnprocessableEntityError) {
37
+ logger.error(error.message, {
38
+ existingTags: run.tags,
39
+ newTags: tags,
40
+ });
41
+ return;
42
+ }
43
+ logger.error("Failed to set tags", { error });
44
+ throw error;
45
+ }
46
+ }
47
+ //# sourceMappingURL=tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/v3/tags.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,EACN,mBAAmB,EACnB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,GAAG,EAAE,OAAO;CACb,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,IAAa,EAAE,cAAkC;IACtE,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAE1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,qBAAqB,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;IACjC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,mBAAmB,CACzC;QACE,MAAM;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,KAAK;QACX,UAAU,EAAE;YACV,GAAG,mBAAmB,CAAC;gBACrB,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBACvD,OAAO,EAAE,QAAQ;qBAClB;iBACF;gBACD,KAAK,EAAE,UAAU;aAClB,CAAC;SACH;KACF,EACD,cAAc,CACf,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1B,YAAY,EAAE,GAAG,CAAC,IAAI;gBACtB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { InitOutput } from "@trigger.dev/core/v3";
2
+ import { batchTrigger, batchTriggerAndWait, trigger, triggerAndPoll, triggerAndWait, SubtaskUnwrapError } from "./shared.js";
3
+ export { SubtaskUnwrapError };
4
+ import type { TaskOptions, Task, Queue, RunHandle, BatchRunHandle, TaskRunResult, BatchResult, BatchItem, TaskPayload, TaskOutput, TaskIdentifier, TaskRunOptions, AnyTask } from "./shared.js";
5
+ export type { TaskOptions, Task, Queue, RunHandle, BatchRunHandle, TaskRunResult, BatchResult, BatchItem, TaskPayload, TaskOutput, TaskIdentifier, TaskRunOptions, AnyTask, };
6
+ /** Creates a task that can be triggered
7
+ * @param options - Task options
8
+ * @example
9
+ *
10
+ * ```ts
11
+ * import { task } from "@trigger.dev/sdk/v3";
12
+ *
13
+ * export const helloWorld = task({
14
+ id: "hello-world",
15
+ * run: async (payload: { url: string }) => {
16
+ * return { hello: "world" };
17
+ * },
18
+ * });
19
+ *
20
+ * ```
21
+ *
22
+ * @returns A task that can be triggered
23
+ */
24
+ export declare function task<TIdentifier extends string, TInput = void, TOutput = unknown, TInitOutput extends InitOutput = any>(options: TaskOptions<TIdentifier, TInput, TOutput, TInitOutput>): Task<TIdentifier, TInput, TOutput>;
25
+ export declare const tasks: {
26
+ trigger: typeof trigger;
27
+ triggerAndPoll: typeof triggerAndPoll;
28
+ batchTrigger: typeof batchTrigger;
29
+ triggerAndWait: typeof triggerAndWait;
30
+ batchTriggerAndWait: typeof batchTriggerAndWait;
31
+ };