@trigger.dev/sdk 3.3.16 → 4.0.0-v4-beta.0

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 (233) hide show
  1. package/dist/commonjs/v3/ai.d.ts +23 -0
  2. package/dist/commonjs/v3/ai.js +50 -0
  3. package/dist/commonjs/v3/ai.js.map +1 -0
  4. package/dist/commonjs/v3/auth.d.ts +4 -3
  5. package/dist/commonjs/v3/auth.js.map +1 -1
  6. package/dist/commonjs/v3/hooks.d.ts +22 -0
  7. package/dist/commonjs/v3/hooks.js +65 -0
  8. package/dist/commonjs/v3/hooks.js.map +1 -0
  9. package/dist/commonjs/v3/index.d.ts +3 -1
  10. package/dist/commonjs/v3/index.js +4 -1
  11. package/dist/commonjs/v3/index.js.map +1 -1
  12. package/dist/commonjs/v3/locals.d.ts +3 -0
  13. package/dist/commonjs/v3/locals.js +6 -0
  14. package/dist/commonjs/v3/locals.js.map +1 -0
  15. package/dist/commonjs/v3/queues.d.ts +61 -0
  16. package/dist/commonjs/v3/queues.js +137 -0
  17. package/dist/commonjs/v3/queues.js.map +1 -0
  18. package/dist/commonjs/v3/retry.js +10 -7
  19. package/dist/commonjs/v3/retry.js.map +1 -1
  20. package/dist/commonjs/v3/runs.d.ts +40 -40
  21. package/dist/commonjs/v3/schedules/index.js +1 -1
  22. package/dist/commonjs/v3/schedules/index.js.map +1 -1
  23. package/dist/commonjs/v3/shared.d.ts +7 -6
  24. package/dist/commonjs/v3/shared.js +192 -176
  25. package/dist/commonjs/v3/shared.js.map +1 -1
  26. package/dist/commonjs/v3/tasks.d.ts +12 -0
  27. package/dist/commonjs/v3/tasks.js +11 -0
  28. package/dist/commonjs/v3/tasks.js.map +1 -1
  29. package/dist/commonjs/v3/wait.d.ts +208 -3
  30. package/dist/commonjs/v3/wait.js +407 -7
  31. package/dist/commonjs/v3/wait.js.map +1 -1
  32. package/dist/commonjs/version.js +1 -1
  33. package/dist/esm/v3/ai.d.ts +23 -0
  34. package/dist/esm/v3/ai.js +47 -0
  35. package/dist/esm/v3/ai.js.map +1 -0
  36. package/dist/esm/v3/auth.d.ts +4 -3
  37. package/dist/esm/v3/auth.js.map +1 -1
  38. package/dist/esm/v3/hooks.d.ts +22 -0
  39. package/dist/esm/v3/hooks.js +54 -0
  40. package/dist/esm/v3/hooks.js.map +1 -0
  41. package/dist/esm/v3/index.d.ts +3 -1
  42. package/dist/esm/v3/index.js +3 -1
  43. package/dist/esm/v3/index.js.map +1 -1
  44. package/dist/esm/v3/locals.d.ts +3 -0
  45. package/dist/esm/v3/locals.js +3 -0
  46. package/dist/esm/v3/locals.js.map +1 -0
  47. package/dist/esm/v3/queues.d.ts +61 -0
  48. package/dist/esm/v3/queues.js +131 -0
  49. package/dist/esm/v3/queues.js.map +1 -0
  50. package/dist/esm/v3/retry.js +11 -8
  51. package/dist/esm/v3/retry.js.map +1 -1
  52. package/dist/esm/v3/runs.d.ts +39 -39
  53. package/dist/esm/v3/schedules/index.js +2 -2
  54. package/dist/esm/v3/schedules/index.js.map +1 -1
  55. package/dist/esm/v3/shared.d.ts +7 -6
  56. package/dist/esm/v3/shared.js +193 -177
  57. package/dist/esm/v3/shared.js.map +1 -1
  58. package/dist/esm/v3/tasks.d.ts +12 -0
  59. package/dist/esm/v3/tasks.js +11 -0
  60. package/dist/esm/v3/tasks.js.map +1 -1
  61. package/dist/esm/v3/wait.d.ts +208 -3
  62. package/dist/esm/v3/wait.js +406 -7
  63. package/dist/esm/v3/wait.js.map +1 -1
  64. package/dist/esm/version.js +1 -1
  65. package/package.json +36 -17
  66. package/dist/commonjs/apiClient.d.ts +0 -727
  67. package/dist/commonjs/apiClient.js +0 -692
  68. package/dist/commonjs/apiClient.js.map +0 -1
  69. package/dist/commonjs/concurrencyLimit.d.ts +0 -10
  70. package/dist/commonjs/concurrencyLimit.js +0 -17
  71. package/dist/commonjs/concurrencyLimit.js.map +0 -1
  72. package/dist/commonjs/errors.d.ts +0 -66
  73. package/dist/commonjs/errors.js +0 -109
  74. package/dist/commonjs/errors.js.map +0 -1
  75. package/dist/commonjs/httpEndpoint.d.ts +0 -87
  76. package/dist/commonjs/httpEndpoint.js +0 -130
  77. package/dist/commonjs/httpEndpoint.js.map +0 -1
  78. package/dist/commonjs/index.d.ts +0 -23
  79. package/dist/commonjs/index.js +0 -55
  80. package/dist/commonjs/index.js.map +0 -1
  81. package/dist/commonjs/integrations.d.ts +0 -11
  82. package/dist/commonjs/integrations.js +0 -3
  83. package/dist/commonjs/integrations.js.map +0 -1
  84. package/dist/commonjs/io.d.ts +0 -441
  85. package/dist/commonjs/io.js +0 -1165
  86. package/dist/commonjs/io.js.map +0 -1
  87. package/dist/commonjs/ioWithIntegrations.d.ts +0 -4
  88. package/dist/commonjs/ioWithIntegrations.js +0 -32
  89. package/dist/commonjs/ioWithIntegrations.js.map +0 -1
  90. package/dist/commonjs/job.d.ts +0 -96
  91. package/dist/commonjs/job.js +0 -210
  92. package/dist/commonjs/job.js.map +0 -1
  93. package/dist/commonjs/retry.d.ts +0 -20
  94. package/dist/commonjs/retry.js +0 -22
  95. package/dist/commonjs/retry.js.map +0 -1
  96. package/dist/commonjs/runLocalStorage.d.ts +0 -8
  97. package/dist/commonjs/runLocalStorage.js +0 -6
  98. package/dist/commonjs/runLocalStorage.js.map +0 -1
  99. package/dist/commonjs/security.d.ts +0 -18
  100. package/dist/commonjs/security.js +0 -41
  101. package/dist/commonjs/security.js.map +0 -1
  102. package/dist/commonjs/status.d.ts +0 -19
  103. package/dist/commonjs/status.js +0 -38
  104. package/dist/commonjs/status.js.map +0 -1
  105. package/dist/commonjs/store/keyValueStore.d.ts +0 -17
  106. package/dist/commonjs/store/keyValueStore.js +0 -138
  107. package/dist/commonjs/store/keyValueStore.js.map +0 -1
  108. package/dist/commonjs/store/keyValueStoreClient.d.ts +0 -19
  109. package/dist/commonjs/store/keyValueStoreClient.js +0 -65
  110. package/dist/commonjs/store/keyValueStoreClient.js.map +0 -1
  111. package/dist/commonjs/triggerClient.d.ts +0 -290
  112. package/dist/commonjs/triggerClient.js +0 -1366
  113. package/dist/commonjs/triggerClient.js.map +0 -1
  114. package/dist/commonjs/triggers/dynamic.d.ts +0 -56
  115. package/dist/commonjs/triggers/dynamic.js +0 -97
  116. package/dist/commonjs/triggers/dynamic.js.map +0 -1
  117. package/dist/commonjs/triggers/eventTrigger.d.ts +0 -58
  118. package/dist/commonjs/triggers/eventTrigger.js +0 -69
  119. package/dist/commonjs/triggers/eventTrigger.js.map +0 -1
  120. package/dist/commonjs/triggers/externalSource.d.ts +0 -148
  121. package/dist/commonjs/triggers/externalSource.js +0 -106
  122. package/dist/commonjs/triggers/externalSource.js.map +0 -1
  123. package/dist/commonjs/triggers/invokeTrigger.d.ts +0 -39
  124. package/dist/commonjs/triggers/invokeTrigger.js +0 -58
  125. package/dist/commonjs/triggers/invokeTrigger.js.map +0 -1
  126. package/dist/commonjs/triggers/notifications.d.ts +0 -111
  127. package/dist/commonjs/triggers/notifications.js +0 -101
  128. package/dist/commonjs/triggers/notifications.js.map +0 -1
  129. package/dist/commonjs/triggers/scheduled.d.ts +0 -145
  130. package/dist/commonjs/triggers/scheduled.js +0 -208
  131. package/dist/commonjs/triggers/scheduled.js.map +0 -1
  132. package/dist/commonjs/triggers/webhook.d.ts +0 -143
  133. package/dist/commonjs/triggers/webhook.js +0 -133
  134. package/dist/commonjs/triggers/webhook.js.map +0 -1
  135. package/dist/commonjs/typed-emitter.d.ts +0 -37
  136. package/dist/commonjs/typed-emitter.js +0 -3
  137. package/dist/commonjs/typed-emitter.js.map +0 -1
  138. package/dist/commonjs/types.d.ts +0 -204
  139. package/dist/commonjs/types.js +0 -23
  140. package/dist/commonjs/types.js.map +0 -1
  141. package/dist/commonjs/utils/formatSchemaErrors.d.ts +0 -3
  142. package/dist/commonjs/utils/formatSchemaErrors.js +0 -10
  143. package/dist/commonjs/utils/formatSchemaErrors.js.map +0 -1
  144. package/dist/commonjs/utils/typedAsyncLocalStorage.d.ts +0 -6
  145. package/dist/commonjs/utils/typedAsyncLocalStorage.js +0 -18
  146. package/dist/commonjs/utils/typedAsyncLocalStorage.js.map +0 -1
  147. package/dist/commonjs/utils.d.ts +0 -1
  148. package/dist/commonjs/utils.js +0 -11
  149. package/dist/commonjs/utils.js.map +0 -1
  150. package/dist/esm/apiClient.d.ts +0 -727
  151. package/dist/esm/apiClient.js +0 -687
  152. package/dist/esm/apiClient.js.map +0 -1
  153. package/dist/esm/concurrencyLimit.d.ts +0 -10
  154. package/dist/esm/concurrencyLimit.js +0 -13
  155. package/dist/esm/concurrencyLimit.js.map +0 -1
  156. package/dist/esm/errors.d.ts +0 -66
  157. package/dist/esm/errors.js +0 -95
  158. package/dist/esm/errors.js.map +0 -1
  159. package/dist/esm/httpEndpoint.d.ts +0 -87
  160. package/dist/esm/httpEndpoint.js +0 -125
  161. package/dist/esm/httpEndpoint.js.map +0 -1
  162. package/dist/esm/index.d.ts +0 -23
  163. package/dist/esm/index.js +0 -35
  164. package/dist/esm/index.js.map +0 -1
  165. package/dist/esm/integrations.d.ts +0 -11
  166. package/dist/esm/integrations.js +0 -2
  167. package/dist/esm/integrations.js.map +0 -1
  168. package/dist/esm/io.d.ts +0 -441
  169. package/dist/esm/io.js +0 -1159
  170. package/dist/esm/io.js.map +0 -1
  171. package/dist/esm/ioWithIntegrations.d.ts +0 -4
  172. package/dist/esm/ioWithIntegrations.js +0 -29
  173. package/dist/esm/ioWithIntegrations.js.map +0 -1
  174. package/dist/esm/job.d.ts +0 -96
  175. package/dist/esm/job.js +0 -206
  176. package/dist/esm/job.js.map +0 -1
  177. package/dist/esm/retry.d.ts +0 -20
  178. package/dist/esm/retry.js +0 -19
  179. package/dist/esm/retry.js.map +0 -1
  180. package/dist/esm/runLocalStorage.d.ts +0 -8
  181. package/dist/esm/runLocalStorage.js +0 -3
  182. package/dist/esm/runLocalStorage.js.map +0 -1
  183. package/dist/esm/security.d.ts +0 -18
  184. package/dist/esm/security.js +0 -34
  185. package/dist/esm/security.js.map +0 -1
  186. package/dist/esm/status.d.ts +0 -19
  187. package/dist/esm/status.js +0 -34
  188. package/dist/esm/status.js.map +0 -1
  189. package/dist/esm/store/keyValueStore.d.ts +0 -17
  190. package/dist/esm/store/keyValueStore.js +0 -134
  191. package/dist/esm/store/keyValueStore.js.map +0 -1
  192. package/dist/esm/store/keyValueStoreClient.d.ts +0 -19
  193. package/dist/esm/store/keyValueStoreClient.js +0 -61
  194. package/dist/esm/store/keyValueStoreClient.js.map +0 -1
  195. package/dist/esm/triggerClient.d.ts +0 -288
  196. package/dist/esm/triggerClient.js +0 -1359
  197. package/dist/esm/triggerClient.js.map +0 -1
  198. package/dist/esm/triggers/dynamic.d.ts +0 -56
  199. package/dist/esm/triggers/dynamic.js +0 -93
  200. package/dist/esm/triggers/dynamic.js.map +0 -1
  201. package/dist/esm/triggers/eventTrigger.d.ts +0 -58
  202. package/dist/esm/triggers/eventTrigger.js +0 -64
  203. package/dist/esm/triggers/eventTrigger.js.map +0 -1
  204. package/dist/esm/triggers/externalSource.d.ts +0 -148
  205. package/dist/esm/triggers/externalSource.js +0 -100
  206. package/dist/esm/triggers/externalSource.js.map +0 -1
  207. package/dist/esm/triggers/invokeTrigger.d.ts +0 -39
  208. package/dist/esm/triggers/invokeTrigger.js +0 -53
  209. package/dist/esm/triggers/invokeTrigger.js.map +0 -1
  210. package/dist/esm/triggers/notifications.d.ts +0 -111
  211. package/dist/esm/triggers/notifications.js +0 -94
  212. package/dist/esm/triggers/notifications.js.map +0 -1
  213. package/dist/esm/triggers/scheduled.d.ts +0 -145
  214. package/dist/esm/triggers/scheduled.js +0 -197
  215. package/dist/esm/triggers/scheduled.js.map +0 -1
  216. package/dist/esm/triggers/webhook.d.ts +0 -143
  217. package/dist/esm/triggers/webhook.js +0 -128
  218. package/dist/esm/triggers/webhook.js.map +0 -1
  219. package/dist/esm/typed-emitter.d.ts +0 -37
  220. package/dist/esm/typed-emitter.js +0 -2
  221. package/dist/esm/typed-emitter.js.map +0 -1
  222. package/dist/esm/types.d.ts +0 -204
  223. package/dist/esm/types.js +0 -19
  224. package/dist/esm/types.js.map +0 -1
  225. package/dist/esm/utils/formatSchemaErrors.d.ts +0 -3
  226. package/dist/esm/utils/formatSchemaErrors.js +0 -7
  227. package/dist/esm/utils/formatSchemaErrors.js.map +0 -1
  228. package/dist/esm/utils/typedAsyncLocalStorage.d.ts +0 -6
  229. package/dist/esm/utils/typedAsyncLocalStorage.js +0 -14
  230. package/dist/esm/utils/typedAsyncLocalStorage.js.map +0 -1
  231. package/dist/esm/utils.d.ts +0 -1
  232. package/dist/esm/utils.js +0 -8
  233. package/dist/esm/utils.js.map +0 -1
@@ -1,14 +1,283 @@
1
- import { SemanticInternalAttributes, accessoryAttributes, runtime } from "@trigger.dev/core/v3";
1
+ import { SemanticInternalAttributes, accessoryAttributes, runtime, apiClientManager, mergeRequestOptions, taskContext, flattenAttributes, } from "@trigger.dev/core/v3";
2
2
  import { tracer } from "./tracer.js";
3
+ import { conditionallyImportAndParsePacket } from "@trigger.dev/core/v3/utils/ioSerialization";
4
+ import { SpanStatusCode } from "@opentelemetry/api";
5
+ /**
6
+ * This creates a waitpoint token.
7
+ * You can use this to pause a run until you complete the waitpoint (or it times out).
8
+ *
9
+ * @example
10
+ *
11
+ * ```ts
12
+ * const token = await wait.createToken({
13
+ * idempotencyKey: `approve-document-${documentId}`,
14
+ * timeout: "24h",
15
+ * tags: [`document-${documentId}`],
16
+ * });
17
+ *
18
+ * // Later, in a different part of your codebase, you can complete the waitpoint
19
+ * await wait.completeToken(token, {
20
+ * status: "approved",
21
+ * comment: "Looks good to me!",
22
+ * });
23
+ * ```
24
+ *
25
+ * @param options - The options for the waitpoint token.
26
+ * @param requestOptions - The request options for the waitpoint token.
27
+ * @returns The waitpoint token.
28
+ */
29
+ function createToken(options, requestOptions) {
30
+ const apiClient = apiClientManager.clientOrThrow();
31
+ const $requestOptions = mergeRequestOptions({
32
+ tracer,
33
+ name: "wait.createToken()",
34
+ icon: "wait-token",
35
+ attributes: {
36
+ idempotencyKey: options?.idempotencyKey,
37
+ idempotencyKeyTTL: options?.idempotencyKeyTTL,
38
+ timeout: options?.timeout
39
+ ? typeof options.timeout === "string"
40
+ ? options.timeout
41
+ : options.timeout.toISOString()
42
+ : undefined,
43
+ tags: options?.tags,
44
+ },
45
+ onResponseBody: (body, span) => {
46
+ span.setAttribute("id", body.id);
47
+ span.setAttribute("isCached", body.isCached);
48
+ },
49
+ }, requestOptions);
50
+ return apiClient.createWaitpointToken(options ?? {}, $requestOptions);
51
+ }
52
+ /**
53
+ * Lists waitpoint tokens with optional filtering and pagination.
54
+ * You can iterate over all the items in the result using a for-await-of loop (you don't need to think about pagination).
55
+ *
56
+ * @example
57
+ * Basic usage:
58
+ * ```ts
59
+ * // List all tokens
60
+ * for await (const token of wait.listTokens()) {
61
+ * console.log("Token ID:", token.id);
62
+ * }
63
+ * ```
64
+ *
65
+ * @example
66
+ * With filters:
67
+ * ```ts
68
+ * // List completed tokens from the last 24 hours with specific tags
69
+ * for await (const token of wait.listTokens({
70
+ * status: "COMPLETED",
71
+ * period: "24h",
72
+ * tags: ["important", "approval"],
73
+ * limit: 50
74
+ * })) {
75
+ * console.log("Token ID:", token.id);
76
+ * }
77
+ * ```
78
+ *
79
+ * @param params - Optional query parameters for filtering and pagination
80
+ * @param params.status - Filter by token status
81
+ * @param params.idempotencyKey - Filter by idempotency key
82
+ * @param params.tags - Filter by tags
83
+ * @param params.period - Filter by time period (e.g. "24h", "7d")
84
+ * @param params.from - Filter by start date
85
+ * @param params.to - Filter by end date
86
+ * @param params.limit - Number of items per page
87
+ * @param params.after - Cursor for next page
88
+ * @param params.before - Cursor for previous page
89
+ * @param requestOptions - Additional API request options
90
+ * @returns Waitpoint tokens that can easily be iterated over using a for-await-of loop
91
+ */
92
+ function listTokens(params, requestOptions) {
93
+ const apiClient = apiClientManager.clientOrThrow();
94
+ const $requestOptions = mergeRequestOptions({
95
+ tracer,
96
+ name: "wait.listTokens()",
97
+ icon: "wait-token",
98
+ attributes: {
99
+ ...flattenAttributes(params),
100
+ },
101
+ }, requestOptions);
102
+ return apiClient.listWaitpointTokens(params, $requestOptions);
103
+ }
104
+ /**
105
+ * Retrieves a waitpoint token by its ID.
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * const token = await wait.retrieveToken("waitpoint_12345678910");
110
+ * console.log("Token status:", token.status);
111
+ * console.log("Token tags:", token.tags);
112
+ * ```
113
+ *
114
+ * @param token - The token to retrieve.
115
+ * This can be a string token ID or an object with an `id` property.
116
+ * @param requestOptions - Optional API request options.
117
+ * @returns The waitpoint token details, including the output or error if the waitpoint is completed or timed out.
118
+ */
119
+ async function retrieveToken(token, requestOptions) {
120
+ const apiClient = apiClientManager.clientOrThrow();
121
+ const $tokenId = typeof token === "string" ? token : token.id;
122
+ const $requestOptions = mergeRequestOptions({
123
+ tracer,
124
+ name: "wait.retrieveToken()",
125
+ icon: "wait-token",
126
+ attributes: {
127
+ id: $tokenId,
128
+ ...accessoryAttributes({
129
+ items: [
130
+ {
131
+ text: $tokenId,
132
+ variant: "normal",
133
+ },
134
+ ],
135
+ style: "codepath",
136
+ }),
137
+ },
138
+ onResponseBody: (body, span) => {
139
+ span.setAttribute("id", body.id);
140
+ span.setAttribute("status", body.status);
141
+ if (body.completedAt) {
142
+ span.setAttribute("completedAt", body.completedAt.toISOString());
143
+ }
144
+ if (body.timeoutAt) {
145
+ span.setAttribute("timeoutAt", body.timeoutAt.toISOString());
146
+ }
147
+ if (body.idempotencyKey) {
148
+ span.setAttribute("idempotencyKey", body.idempotencyKey);
149
+ }
150
+ if (body.idempotencyKeyExpiresAt) {
151
+ span.setAttribute("idempotencyKeyExpiresAt", body.idempotencyKeyExpiresAt.toISOString());
152
+ }
153
+ span.setAttribute("tags", body.tags);
154
+ span.setAttribute("createdAt", body.createdAt.toISOString());
155
+ },
156
+ }, requestOptions);
157
+ const result = await apiClient.retrieveWaitpointToken($tokenId, $requestOptions);
158
+ const data = result.output
159
+ ? await conditionallyImportAndParsePacket({ data: result.output, dataType: result.outputType ?? "application/json" }, apiClient)
160
+ : undefined;
161
+ let error = undefined;
162
+ let output = undefined;
163
+ if (result.outputIsError) {
164
+ error = new WaitpointTimeoutError(data.message);
165
+ }
166
+ else {
167
+ output = data;
168
+ }
169
+ return {
170
+ id: result.id,
171
+ status: result.status,
172
+ completedAt: result.completedAt,
173
+ timeoutAt: result.timeoutAt,
174
+ idempotencyKey: result.idempotencyKey,
175
+ idempotencyKeyExpiresAt: result.idempotencyKeyExpiresAt,
176
+ tags: result.tags,
177
+ createdAt: result.createdAt,
178
+ output,
179
+ error,
180
+ };
181
+ }
182
+ /**
183
+ * This completes a waitpoint token.
184
+ * You can use this to complete a waitpoint token that you created earlier.
185
+ *
186
+ * @example
187
+ *
188
+ * ```ts
189
+ * await wait.completeToken(token, {
190
+ * status: "approved",
191
+ * comment: "Looks good to me!",
192
+ * });
193
+ * ```
194
+ *
195
+ * @param token - The token to complete.
196
+ * @param data - The data to complete the waitpoint with.
197
+ * @param requestOptions - The request options for the waitpoint token.
198
+ * @returns The waitpoint token.
199
+ */
200
+ async function completeToken(
201
+ /**
202
+ * The token to complete.
203
+ * This can be a string token ID or an object with an `id` property.
204
+ */
205
+ token,
206
+ /**
207
+ * The data to complete the waitpoint with.
208
+ * This will be returned when you wait for the token.
209
+ */
210
+ data, requestOptions) {
211
+ const apiClient = apiClientManager.clientOrThrow();
212
+ const tokenId = typeof token === "string" ? token : token.id;
213
+ const $requestOptions = mergeRequestOptions({
214
+ tracer,
215
+ name: "wait.completeToken()",
216
+ icon: "wait-token",
217
+ attributes: {
218
+ id: tokenId,
219
+ },
220
+ onResponseBody: (body, span) => {
221
+ span.setAttribute("success", body.success);
222
+ },
223
+ }, requestOptions);
224
+ return apiClient.completeWaitpointToken(tokenId, { data }, $requestOptions);
225
+ }
226
+ export class WaitpointTimeoutError extends Error {
227
+ constructor(message) {
228
+ super(message);
229
+ this.name = "WaitpointTimeoutError";
230
+ }
231
+ }
232
+ const DURATION_WAIT_CHARGE_THRESHOLD_MS = 5000;
233
+ function printWaitBelowThreshold() {
234
+ console.warn(`Waits of ${DURATION_WAIT_CHARGE_THRESHOLD_MS / 1000}s or less count towards compute usage.`);
235
+ }
3
236
  export const wait = {
4
237
  for: async (options) => {
238
+ const ctx = taskContext.ctx;
239
+ if (!ctx) {
240
+ throw new Error("wait.forToken can only be used from inside a task.run()");
241
+ }
242
+ const apiClient = apiClientManager.clientOrThrow();
243
+ const start = Date.now();
244
+ const durationInMs = calculateDurationInMs(options);
245
+ if (durationInMs <= DURATION_WAIT_CHARGE_THRESHOLD_MS) {
246
+ return tracer.startActiveSpan(`wait.for()`, async (span) => {
247
+ if (durationInMs <= 0) {
248
+ return;
249
+ }
250
+ printWaitBelowThreshold();
251
+ await new Promise((resolve) => setTimeout(resolve, durationInMs));
252
+ }, {
253
+ attributes: {
254
+ [SemanticInternalAttributes.STYLE_ICON]: "wait",
255
+ ...accessoryAttributes({
256
+ items: [
257
+ {
258
+ text: nameForWaitOptions(options),
259
+ variant: "normal",
260
+ },
261
+ ],
262
+ style: "codepath",
263
+ }),
264
+ },
265
+ });
266
+ }
267
+ const date = new Date(start + durationInMs);
268
+ const result = await apiClient.waitForDuration(ctx.run.id, {
269
+ date: date,
270
+ idempotencyKey: options.idempotencyKey,
271
+ idempotencyKeyTTL: options.idempotencyKeyTTL,
272
+ releaseConcurrency: options.releaseConcurrency,
273
+ });
5
274
  return tracer.startActiveSpan(`wait.for()`, async (span) => {
6
- const start = Date.now();
7
- const durationInMs = calculateDurationInMs(options);
8
- await runtime.waitForDuration(durationInMs);
275
+ await runtime.waitUntil(result.waitpoint.id, date);
9
276
  }, {
10
277
  attributes: {
11
278
  [SemanticInternalAttributes.STYLE_ICON]: "wait",
279
+ [SemanticInternalAttributes.ENTITY_TYPE]: "waitpoint",
280
+ [SemanticInternalAttributes.ENTITY_ID]: result.waitpoint.id,
12
281
  ...accessoryAttributes({
13
282
  items: [
14
283
  {
@@ -22,16 +291,57 @@ export const wait = {
22
291
  });
23
292
  },
24
293
  until: async (options) => {
294
+ const ctx = taskContext.ctx;
295
+ if (!ctx) {
296
+ throw new Error("wait.forToken can only be used from inside a task.run()");
297
+ }
298
+ // Calculate duration in ms
299
+ const durationInMs = options.date.getTime() - Date.now();
300
+ if (durationInMs <= DURATION_WAIT_CHARGE_THRESHOLD_MS) {
301
+ return tracer.startActiveSpan(`wait.for()`, async (span) => {
302
+ if (durationInMs === 0) {
303
+ return;
304
+ }
305
+ if (durationInMs < 0) {
306
+ if (options.throwIfInThePast) {
307
+ throw new Error("Date is in the past");
308
+ }
309
+ return;
310
+ }
311
+ printWaitBelowThreshold();
312
+ await new Promise((resolve) => setTimeout(resolve, durationInMs));
313
+ }, {
314
+ attributes: {
315
+ [SemanticInternalAttributes.STYLE_ICON]: "wait",
316
+ ...accessoryAttributes({
317
+ items: [
318
+ {
319
+ text: options.date.toISOString(),
320
+ variant: "normal",
321
+ },
322
+ ],
323
+ style: "codepath",
324
+ }),
325
+ },
326
+ });
327
+ }
328
+ const apiClient = apiClientManager.clientOrThrow();
329
+ const result = await apiClient.waitForDuration(ctx.run.id, {
330
+ date: options.date,
331
+ idempotencyKey: options.idempotencyKey,
332
+ idempotencyKeyTTL: options.idempotencyKeyTTL,
333
+ releaseConcurrency: options.releaseConcurrency,
334
+ });
25
335
  return tracer.startActiveSpan(`wait.until()`, async (span) => {
26
- const start = Date.now();
27
336
  if (options.throwIfInThePast && options.date < new Date()) {
28
337
  throw new Error("Date is in the past");
29
338
  }
30
- const durationInMs = options.date.getTime() - start;
31
- await runtime.waitForDuration(durationInMs);
339
+ await runtime.waitUntil(result.waitpoint.id, options.date);
32
340
  }, {
33
341
  attributes: {
34
342
  [SemanticInternalAttributes.STYLE_ICON]: "wait",
343
+ [SemanticInternalAttributes.ENTITY_TYPE]: "waitpoint",
344
+ [SemanticInternalAttributes.ENTITY_ID]: result.waitpoint.id,
35
345
  ...accessoryAttributes({
36
346
  items: [
37
347
  {
@@ -44,6 +354,95 @@ export const wait = {
44
354
  },
45
355
  });
46
356
  },
357
+ createToken,
358
+ listTokens,
359
+ completeToken,
360
+ retrieveToken,
361
+ /**
362
+ * This waits for a waitpoint token to be completed.
363
+ * It can only be used inside a task.run() block.
364
+ *
365
+ * @example
366
+ *
367
+ * ```ts
368
+ * const result = await wait.forToken<typeof ApprovalData>(token);
369
+ * if (!result.ok) {
370
+ * // The waitpoint timed out
371
+ * throw result.error;
372
+ * }
373
+ *
374
+ * // This will be the type ApprovalData
375
+ * const approval = result.output;
376
+ * ```
377
+ *
378
+ * @param token - The token to wait for.
379
+ * @param options - The options for the waitpoint token.
380
+ * @returns The waitpoint token.
381
+ */
382
+ forToken: async (
383
+ /**
384
+ * The token to wait for.
385
+ * This can be a string token ID or an object with an `id` property.
386
+ */
387
+ token,
388
+ /**
389
+ * The options for the waitpoint token.
390
+ */
391
+ options) => {
392
+ const ctx = taskContext.ctx;
393
+ if (!ctx) {
394
+ throw new Error("wait.forToken can only be used from inside a task.run()");
395
+ }
396
+ const apiClient = apiClientManager.clientOrThrow();
397
+ const tokenId = typeof token === "string" ? token : token.id;
398
+ return tracer.startActiveSpan(`wait.forToken()`, async (span) => {
399
+ const response = await apiClient.waitForWaitpointToken({
400
+ runFriendlyId: ctx.run.id,
401
+ waitpointFriendlyId: tokenId,
402
+ releaseConcurrency: options?.releaseConcurrency,
403
+ });
404
+ if (!response.success) {
405
+ throw new Error(`Failed to wait for wait token ${tokenId}`);
406
+ }
407
+ const result = await runtime.waitUntil(tokenId);
408
+ const data = result.output
409
+ ? await conditionallyImportAndParsePacket({ data: result.output, dataType: result.outputType ?? "application/json" }, apiClient)
410
+ : undefined;
411
+ if (result.ok) {
412
+ return {
413
+ ok: result.ok,
414
+ output: data,
415
+ };
416
+ }
417
+ else {
418
+ const error = new WaitpointTimeoutError(data.message);
419
+ span.recordException(error);
420
+ span.setStatus({
421
+ code: SpanStatusCode.ERROR,
422
+ });
423
+ return {
424
+ ok: result.ok,
425
+ error,
426
+ };
427
+ }
428
+ }, {
429
+ attributes: {
430
+ [SemanticInternalAttributes.STYLE_ICON]: "wait",
431
+ [SemanticInternalAttributes.ENTITY_TYPE]: "waitpoint",
432
+ [SemanticInternalAttributes.ENTITY_ID]: tokenId,
433
+ id: tokenId,
434
+ ...accessoryAttributes({
435
+ items: [
436
+ {
437
+ text: tokenId,
438
+ variant: "normal",
439
+ },
440
+ ],
441
+ style: "codepath",
442
+ }),
443
+ },
444
+ });
445
+ },
47
446
  };
48
447
  function nameForWaitOptions(options) {
49
448
  if ("seconds" in options) {
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/v3/wait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAyBrC,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,GAAG,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;QAClC,OAAO,MAAM,CAAC,eAAe,CAC3B,YAAY,EACZ,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAEpD,MAAM,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC,EACD;YACE,UAAU,EAAE;gBACV,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM;gBAC/C,GAAG,mBAAmB,CAAC;oBACrB,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC;4BACjC,OAAO,EAAE,QAAQ;yBAClB;qBACF;oBACD,KAAK,EAAE,UAAU;iBAClB,CAAC;aACH;SACF,CACF,CAAC;IACJ,CAAC;IACD,KAAK,EAAE,KAAK,EAAE,OAAmD,EAAE,EAAE;QACnE,OAAO,MAAM,CAAC,eAAe,CAC3B,cAAc,EACd,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEzB,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;YAEpD,MAAM,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC,EACD;YACE,UAAU,EAAE;gBACV,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM;gBAC/C,GAAG,mBAAmB,CAAC;oBACrB,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;4BAChC,OAAO,EAAE,QAAQ;yBAClB;qBACF;oBACD,KAAK,EAAE,UAAU;iBAClB,CAAC;aACH;SACF,CACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,OAAoB;IAC9C,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,UAAU,CAAC;IAC3E,CAAC;IAED,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,UAAU,CAAC;IAC3E,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC;IACnE,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,OAAO,CAAC;IAC/D,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC;IACnE,CAAC;IAED,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,SAAS,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC;IACnE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAoB;IACjD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IACnD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/v3/wait.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const VERSION = "3.3.16";
1
+ export const VERSION = "4.0.0-v4-beta.0";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trigger.dev/sdk",
3
- "version": "3.3.16",
3
+ "version": "4.0.0-v4-beta.0",
4
4
  "description": "trigger.dev Node.JS SDK",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -22,8 +22,9 @@
22
22
  "project": "./tsconfig.build.json",
23
23
  "exports": {
24
24
  "./package.json": "./package.json",
25
- ".": "./src/index.ts",
26
- "./v3": "./src/v3/index.ts"
25
+ ".": "./src/v3/index.ts",
26
+ "./v3": "./src/v3/index.ts",
27
+ "./ai": "./src/v3/ai.ts"
27
28
  },
28
29
  "sourceDialects": [
29
30
  "@triggerdotdev/source"
@@ -33,6 +34,9 @@
33
34
  "*": {
34
35
  "v3": [
35
36
  "dist/commonjs/v3/index.d.ts"
37
+ ],
38
+ "ai": [
39
+ "dist/commonjs/v3/ai.d.ts"
36
40
  ]
37
41
  }
38
42
  },
@@ -40,7 +44,7 @@
40
44
  "@opentelemetry/api": "1.9.0",
41
45
  "@opentelemetry/api-logs": "0.52.1",
42
46
  "@opentelemetry/semantic-conventions": "1.25.1",
43
- "@trigger.dev/core": "3.3.16",
47
+ "@trigger.dev/core": "4.0.0-v4-beta.0",
44
48
  "chalk": "^5.2.0",
45
49
  "cronstrue": "^2.21.0",
46
50
  "debug": "^4.3.4",
@@ -55,21 +59,25 @@
55
59
  "devDependencies": {
56
60
  "@arethetypeswrong/cli": "^0.15.4",
57
61
  "@types/debug": "^4.1.7",
58
- "@types/node": "20.14.14",
59
62
  "@types/slug": "^5.0.3",
60
63
  "@types/uuid": "^9.0.0",
61
64
  "@types/ws": "^8.5.3",
62
- "ai": "^4.0.1",
65
+ "ai": "^4.2.0",
63
66
  "encoding": "^0.1.13",
64
67
  "rimraf": "^3.0.2",
65
68
  "tshy": "^3.0.2",
66
69
  "tsx": "4.17.0",
67
70
  "typed-emitter": "^2.1.0",
68
- "typescript": "^5.5.4",
69
71
  "zod": "3.23.8"
70
72
  },
71
73
  "peerDependencies": {
72
- "zod": "^3.0.0"
74
+ "zod": "^3.0.0",
75
+ "ai": "^4.2.0"
76
+ },
77
+ "peerDependenciesMeta": {
78
+ "ai": {
79
+ "optional": true
80
+ }
73
81
  },
74
82
  "engines": {
75
83
  "node": ">=18.20.0"
@@ -78,13 +86,13 @@
78
86
  "./package.json": "./package.json",
79
87
  ".": {
80
88
  "import": {
81
- "@triggerdotdev/source": "./src/index.ts",
82
- "types": "./dist/esm/index.d.ts",
83
- "default": "./dist/esm/index.js"
89
+ "@triggerdotdev/source": "./src/v3/index.ts",
90
+ "types": "./dist/esm/v3/index.d.ts",
91
+ "default": "./dist/esm/v3/index.js"
84
92
  },
85
93
  "require": {
86
- "types": "./dist/commonjs/index.d.ts",
87
- "default": "./dist/commonjs/index.js"
94
+ "types": "./dist/commonjs/v3/index.d.ts",
95
+ "default": "./dist/commonjs/v3/index.js"
88
96
  }
89
97
  },
90
98
  "./v3": {
@@ -97,13 +105,24 @@
97
105
  "types": "./dist/commonjs/v3/index.d.ts",
98
106
  "default": "./dist/commonjs/v3/index.js"
99
107
  }
108
+ },
109
+ "./ai": {
110
+ "import": {
111
+ "@triggerdotdev/source": "./src/v3/ai.ts",
112
+ "types": "./dist/esm/v3/ai.d.ts",
113
+ "default": "./dist/esm/v3/ai.js"
114
+ },
115
+ "require": {
116
+ "types": "./dist/commonjs/v3/ai.d.ts",
117
+ "default": "./dist/commonjs/v3/ai.js"
118
+ }
100
119
  }
101
120
  },
102
- "main": "./dist/commonjs/index.js",
103
- "types": "./dist/commonjs/index.d.ts",
104
- "module": "./dist/esm/index.js",
121
+ "main": "./dist/commonjs/v3/index.js",
122
+ "types": "./dist/commonjs/v3/index.d.ts",
123
+ "module": "./dist/esm/v3/index.js",
105
124
  "scripts": {
106
- "clean": "rimraf dist",
125
+ "clean": "rimraf dist .tshy .tshy-build .turbo",
107
126
  "build": "tshy && pnpm run update-version",
108
127
  "dev": "tshy --watch",
109
128
  "typecheck": "tsc --noEmit",