@trigger.dev/sdk 0.0.0-prerelease-20241023140846 → 0.0.0-prerelease-20241119135607

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 (199) hide show
  1. package/dist/commonjs/triggers/invokeTrigger.d.ts +1 -1
  2. package/dist/commonjs/types.d.ts +4 -4
  3. package/dist/commonjs/v3/auth.d.ts +104 -0
  4. package/dist/commonjs/v3/auth.js +102 -0
  5. package/dist/commonjs/v3/auth.js.map +1 -0
  6. package/dist/commonjs/v3/idempotencyKeys.d.ts +2 -46
  7. package/dist/commonjs/v3/idempotencyKeys.js +1 -69
  8. package/dist/commonjs/v3/idempotencyKeys.js.map +1 -1
  9. package/dist/commonjs/v3/index.d.ts +4 -19
  10. package/dist/commonjs/v3/index.js +18 -35
  11. package/dist/commonjs/v3/index.js.map +1 -1
  12. package/dist/commonjs/v3/metadata.d.ts +75 -12
  13. package/dist/commonjs/v3/metadata.js +93 -53
  14. package/dist/commonjs/v3/metadata.js.map +1 -1
  15. package/dist/commonjs/v3/runs.d.ts +33 -756
  16. package/dist/commonjs/v3/runs.js +12 -1
  17. package/dist/commonjs/v3/runs.js.map +1 -1
  18. package/dist/commonjs/v3/shared.d.ts +10 -380
  19. package/dist/commonjs/v3/shared.js +125 -68
  20. package/dist/commonjs/v3/shared.js.map +1 -1
  21. package/dist/commonjs/v3/tasks.d.ts +6 -5
  22. package/dist/commonjs/v3/tasks.js +4 -5
  23. package/dist/commonjs/v3/tasks.js.map +1 -1
  24. package/dist/commonjs/v3/tracer.d.ts +1 -1
  25. package/dist/commonjs/v3/tracer.js +2 -2
  26. package/dist/commonjs/v3/tracer.js.map +1 -1
  27. package/dist/commonjs/v3/waitUntil.d.ts +9 -0
  28. package/dist/commonjs/v3/waitUntil.js +16 -0
  29. package/dist/commonjs/v3/waitUntil.js.map +1 -0
  30. package/dist/commonjs/version.js +1 -1
  31. package/dist/esm/v3/auth.d.ts +104 -0
  32. package/dist/esm/v3/auth.js +98 -0
  33. package/dist/esm/v3/auth.js.map +1 -0
  34. package/dist/esm/v3/idempotencyKeys.d.ts +2 -46
  35. package/dist/esm/v3/idempotencyKeys.js +1 -68
  36. package/dist/esm/v3/idempotencyKeys.js.map +1 -1
  37. package/dist/esm/v3/index-browser.d.mts +2 -0
  38. package/dist/esm/v3/index-browser.mjs +3 -0
  39. package/dist/esm/v3/index.d.ts +4 -19
  40. package/dist/esm/v3/index.js +4 -22
  41. package/dist/esm/v3/index.js.map +1 -1
  42. package/dist/esm/v3/metadata.d.ts +75 -12
  43. package/dist/esm/v3/metadata.js +94 -54
  44. package/dist/esm/v3/metadata.js.map +1 -1
  45. package/dist/esm/v3/runs.d.ts +61 -784
  46. package/dist/esm/v3/runs.js +12 -1
  47. package/dist/esm/v3/runs.js.map +1 -1
  48. package/dist/esm/v3/shared.d.ts +10 -380
  49. package/dist/esm/v3/shared.js +121 -65
  50. package/dist/esm/v3/shared.js.map +1 -1
  51. package/dist/esm/v3/tasks.d.ts +6 -5
  52. package/dist/esm/v3/tasks.js +4 -4
  53. package/dist/esm/v3/tasks.js.map +1 -1
  54. package/dist/esm/v3/tracer.d.ts +1 -1
  55. package/dist/esm/v3/tracer.js +1 -1
  56. package/dist/esm/v3/tracer.js.map +1 -1
  57. package/dist/esm/v3/waitUntil.d.ts +9 -0
  58. package/dist/esm/v3/waitUntil.js +13 -0
  59. package/dist/esm/v3/waitUntil.js.map +1 -0
  60. package/dist/esm/version.js +1 -1
  61. package/package.json +9 -5
  62. package/dist/browser/apiClient.d.ts +0 -737
  63. package/dist/browser/apiClient.js +0 -687
  64. package/dist/browser/apiClient.js.map +0 -1
  65. package/dist/browser/concurrencyLimit.d.ts +0 -10
  66. package/dist/browser/concurrencyLimit.js +0 -13
  67. package/dist/browser/concurrencyLimit.js.map +0 -1
  68. package/dist/browser/errors.d.ts +0 -66
  69. package/dist/browser/errors.js +0 -95
  70. package/dist/browser/errors.js.map +0 -1
  71. package/dist/browser/httpEndpoint.d.ts +0 -87
  72. package/dist/browser/httpEndpoint.js +0 -125
  73. package/dist/browser/httpEndpoint.js.map +0 -1
  74. package/dist/browser/index.d.ts +0 -23
  75. package/dist/browser/index.js +0 -35
  76. package/dist/browser/index.js.map +0 -1
  77. package/dist/browser/integrations.d.ts +0 -11
  78. package/dist/browser/integrations.js +0 -2
  79. package/dist/browser/integrations.js.map +0 -1
  80. package/dist/browser/io.d.ts +0 -453
  81. package/dist/browser/io.js +0 -1159
  82. package/dist/browser/io.js.map +0 -1
  83. package/dist/browser/ioWithIntegrations.d.ts +0 -4
  84. package/dist/browser/ioWithIntegrations.js +0 -29
  85. package/dist/browser/ioWithIntegrations.js.map +0 -1
  86. package/dist/browser/job.d.ts +0 -96
  87. package/dist/browser/job.js +0 -206
  88. package/dist/browser/job.js.map +0 -1
  89. package/dist/browser/retry.d.ts +0 -20
  90. package/dist/browser/retry.js +0 -19
  91. package/dist/browser/retry.js.map +0 -1
  92. package/dist/browser/runLocalStorage.d.ts +0 -8
  93. package/dist/browser/runLocalStorage.js +0 -3
  94. package/dist/browser/runLocalStorage.js.map +0 -1
  95. package/dist/browser/security.d.ts +0 -18
  96. package/dist/browser/security.js +0 -34
  97. package/dist/browser/security.js.map +0 -1
  98. package/dist/browser/status.d.ts +0 -19
  99. package/dist/browser/status.js +0 -34
  100. package/dist/browser/status.js.map +0 -1
  101. package/dist/browser/store/keyValueStore.d.ts +0 -17
  102. package/dist/browser/store/keyValueStore.js +0 -134
  103. package/dist/browser/store/keyValueStore.js.map +0 -1
  104. package/dist/browser/store/keyValueStoreClient.d.ts +0 -19
  105. package/dist/browser/store/keyValueStoreClient.js +0 -61
  106. package/dist/browser/store/keyValueStoreClient.js.map +0 -1
  107. package/dist/browser/triggerClient.d.ts +0 -300
  108. package/dist/browser/triggerClient.js +0 -1359
  109. package/dist/browser/triggerClient.js.map +0 -1
  110. package/dist/browser/triggers/dynamic.d.ts +0 -56
  111. package/dist/browser/triggers/dynamic.js +0 -93
  112. package/dist/browser/triggers/dynamic.js.map +0 -1
  113. package/dist/browser/triggers/eventTrigger.d.ts +0 -58
  114. package/dist/browser/triggers/eventTrigger.js +0 -64
  115. package/dist/browser/triggers/eventTrigger.js.map +0 -1
  116. package/dist/browser/triggers/externalSource.d.ts +0 -148
  117. package/dist/browser/triggers/externalSource.js +0 -100
  118. package/dist/browser/triggers/externalSource.js.map +0 -1
  119. package/dist/browser/triggers/invokeTrigger.d.ts +0 -39
  120. package/dist/browser/triggers/invokeTrigger.js +0 -53
  121. package/dist/browser/triggers/invokeTrigger.js.map +0 -1
  122. package/dist/browser/triggers/notifications.d.ts +0 -111
  123. package/dist/browser/triggers/notifications.js +0 -94
  124. package/dist/browser/triggers/notifications.js.map +0 -1
  125. package/dist/browser/triggers/scheduled.d.ts +0 -145
  126. package/dist/browser/triggers/scheduled.js +0 -197
  127. package/dist/browser/triggers/scheduled.js.map +0 -1
  128. package/dist/browser/triggers/webhook.d.ts +0 -143
  129. package/dist/browser/triggers/webhook.js +0 -128
  130. package/dist/browser/triggers/webhook.js.map +0 -1
  131. package/dist/browser/typed-emitter.d.ts +0 -37
  132. package/dist/browser/typed-emitter.js +0 -2
  133. package/dist/browser/typed-emitter.js.map +0 -1
  134. package/dist/browser/types.d.ts +0 -204
  135. package/dist/browser/types.js +0 -19
  136. package/dist/browser/types.js.map +0 -1
  137. package/dist/browser/utils/formatSchemaErrors.d.ts +0 -3
  138. package/dist/browser/utils/formatSchemaErrors.js +0 -7
  139. package/dist/browser/utils/formatSchemaErrors.js.map +0 -1
  140. package/dist/browser/utils/typedAsyncLocalStorage.d.ts +0 -6
  141. package/dist/browser/utils/typedAsyncLocalStorage.js +0 -14
  142. package/dist/browser/utils/typedAsyncLocalStorage.js.map +0 -1
  143. package/dist/browser/utils.d.ts +0 -1
  144. package/dist/browser/utils.js +0 -8
  145. package/dist/browser/utils.js.map +0 -1
  146. package/dist/browser/v3/cache.d.ts +0 -28
  147. package/dist/browser/v3/cache.js +0 -58
  148. package/dist/browser/v3/cache.js.map +0 -1
  149. package/dist/browser/v3/config.d.ts +0 -4
  150. package/dist/browser/v3/config.js +0 -4
  151. package/dist/browser/v3/config.js.map +0 -1
  152. package/dist/browser/v3/envvars.d.ts +0 -14
  153. package/dist/browser/v3/envvars.js +0 -219
  154. package/dist/browser/v3/envvars.js.map +0 -1
  155. package/dist/browser/v3/idempotencyKeys.d.ts +0 -44
  156. package/dist/browser/v3/idempotencyKeys.js +0 -72
  157. package/dist/browser/v3/idempotencyKeys.js.map +0 -1
  158. package/dist/browser/v3/index.d.ts +0 -21
  159. package/dist/browser/v3/index.js +0 -17
  160. package/dist/browser/v3/metadata.d.ts +0 -87
  161. package/dist/browser/v3/metadata.js +0 -105
  162. package/dist/browser/v3/metadata.js.map +0 -1
  163. package/dist/browser/v3/retry.d.ts +0 -15
  164. package/dist/browser/v3/retry.js +0 -408
  165. package/dist/browser/v3/retry.js.map +0 -1
  166. package/dist/browser/v3/runs.d.ts +0 -180
  167. package/dist/browser/v3/runs.js +0 -204
  168. package/dist/browser/v3/runs.js.map +0 -1
  169. package/dist/browser/v3/schedules/api.d.ts +0 -1
  170. package/dist/browser/v3/schedules/api.js +0 -2
  171. package/dist/browser/v3/schedules/api.js.map +0 -1
  172. package/dist/browser/v3/schedules/index.d.ts +0 -87
  173. package/dist/browser/v3/schedules/index.js +0 -215
  174. package/dist/browser/v3/schedules/index.js.map +0 -1
  175. package/dist/browser/v3/shared.d.ts +0 -90
  176. package/dist/browser/v3/shared.js +0 -546
  177. package/dist/browser/v3/shared.js.map +0 -1
  178. package/dist/browser/v3/tags.d.ts +0 -6
  179. package/dist/browser/v3/tags.js +0 -43
  180. package/dist/browser/v3/tags.js.map +0 -1
  181. package/dist/browser/v3/tasks.d.ts +0 -31
  182. package/dist/browser/v3/tasks.js +0 -30
  183. package/dist/browser/v3/tasks.js.map +0 -1
  184. package/dist/browser/v3/timeout.d.ts +0 -4
  185. package/dist/browser/v3/timeout.js +0 -7
  186. package/dist/browser/v3/timeout.js.map +0 -1
  187. package/dist/browser/v3/tracer.d.ts +0 -2
  188. package/dist/browser/v3/tracer.js +0 -4
  189. package/dist/browser/v3/tracer.js.map +0 -1
  190. package/dist/browser/v3/usage.d.ts +0 -77
  191. package/dist/browser/v3/usage.js +0 -112
  192. package/dist/browser/v3/usage.js.map +0 -1
  193. package/dist/browser/v3/wait.d.ts +0 -22
  194. package/dist/browser/v3/wait.js +0 -96
  195. package/dist/browser/v3/wait.js.map +0 -1
  196. package/dist/browser/version.d.ts +0 -1
  197. package/dist/browser/version.js +0 -2
  198. package/dist/browser/version.js.map +0 -1
  199. /package/dist/{browser → esm}/v3/index-browser.mjs.map +0 -0
@@ -20,8 +20,8 @@ export declare class InvokeTrigger<TSchema extends ZodType = z.ZodTypeAny> imple
20
20
  title: string;
21
21
  source: string;
22
22
  examples: {
23
- name: string;
24
23
  id: string;
24
+ name: string;
25
25
  icon?: string | undefined;
26
26
  payload?: any;
27
27
  }[];
@@ -116,13 +116,13 @@ export declare const EventSpecificationExampleSchema: z.ZodObject<{
116
116
  icon: z.ZodOptional<z.ZodString>;
117
117
  payload: z.ZodAny;
118
118
  }, "strip", z.ZodTypeAny, {
119
- name: string;
120
119
  id: string;
120
+ name: string;
121
121
  icon?: string | undefined;
122
122
  payload?: any;
123
123
  }, {
124
- name: string;
125
124
  id: string;
125
+ name: string;
126
126
  icon?: string | undefined;
127
127
  payload?: any;
128
128
  }>;
@@ -181,17 +181,17 @@ export declare function waitForEventSchema(schema: z.ZodTypeAny): z.ZodObject<{
181
181
  context: z.ZodOptional<z.ZodAny>;
182
182
  accountId: z.ZodOptional<z.ZodString>;
183
183
  }, "strip", z.ZodTypeAny, {
184
+ id: string;
184
185
  name: string;
185
186
  source: string;
186
- id: string;
187
187
  timestamp: Date;
188
188
  payload?: any;
189
189
  context?: any;
190
190
  accountId?: string | undefined;
191
191
  }, {
192
+ id: string;
192
193
  name: string;
193
194
  source: string;
194
- id: string;
195
195
  timestamp: Date;
196
196
  payload?: any;
197
197
  context?: any;
@@ -0,0 +1,104 @@
1
+ import { type ApiClientConfiguration } from "@trigger.dev/core/v3";
2
+ /**
3
+ * Register the global API client configuration. Alternatively, you can set the `TRIGGER_SECRET_KEY` and `TRIGGER_API_URL` environment variables.
4
+ * @param options The API client configuration.
5
+ * @param options.baseURL The base URL of the Trigger API. (default: `https://api.trigger.dev`)
6
+ * @param options.accessToken The accessToken to authenticate with the Trigger API. (default: `process.env.TRIGGER_SECRET_KEY`) This can be found in your Trigger.dev project "API Keys" settings.
7
+ *
8
+ * @example
9
+ *
10
+ * ```typescript
11
+ * import { configure } from "@trigger.dev/sdk/v3";
12
+ *
13
+ * configure({
14
+ * baseURL: "https://api.trigger.dev",
15
+ * accessToken: "tr_dev_1234567890"
16
+ * });
17
+ * ```
18
+ */
19
+ export declare function configure(options: ApiClientConfiguration): void;
20
+ export declare const auth: {
21
+ configure: typeof configure;
22
+ createPublicToken: typeof createPublicToken;
23
+ withAuth: typeof withAuth;
24
+ };
25
+ type PublicTokenPermissionAction = "read" | "write";
26
+ type PublicTokenPermissionProperties = {
27
+ /**
28
+ * Grant access to specific tasks
29
+ */
30
+ tasks?: string | string[];
31
+ /**
32
+ * Grant access to specific run tags
33
+ */
34
+ tags?: string | string[];
35
+ /**
36
+ * Grant access to specific runs
37
+ */
38
+ runs?: string | string[] | true;
39
+ /**
40
+ * Grant access to specific batch runs
41
+ */
42
+ batch?: string | string[];
43
+ };
44
+ export type PublicTokenPermissions = {
45
+ [key in PublicTokenPermissionAction]?: PublicTokenPermissionProperties;
46
+ };
47
+ export type CreatePublicTokenOptions = {
48
+ /**
49
+ * A collection of permission scopes to be granted to the token.
50
+ *
51
+ * @example
52
+ *
53
+ * ```typescript
54
+ * scopes: {
55
+ * read: {
56
+ * tags: ["file:1234"]
57
+ * }
58
+ * }
59
+ * ```
60
+ */
61
+ scopes?: PublicTokenPermissions;
62
+ /**
63
+ * The expiration time for the token. This can be a number representing the time in milliseconds, a `Date` object, or a string.
64
+ *
65
+ * @example
66
+ *
67
+ * ```typescript
68
+ * expirationTime: "1h"
69
+ * ```
70
+ */
71
+ expirationTime?: number | Date | string;
72
+ };
73
+ /**
74
+ * Creates a public token using the provided options.
75
+ *
76
+ * @param options - Optional parameters for creating the public token.
77
+ * @param options.scopes - An array of permission scopes to be included in the token.
78
+ * @param options.expirationTime - The expiration time for the token.
79
+ * @returns A promise that resolves to a string representing the generated public token.
80
+ *
81
+ * @example
82
+ *
83
+ * ```typescript
84
+ * import { auth } from "@trigger.dev/sdk/v3";
85
+ *
86
+ * const publicToken = await auth.createPublicToken({
87
+ * scopes: {
88
+ * read: {
89
+ * tags: ["file:1234"]
90
+ * }
91
+ * });
92
+ * ```
93
+ */
94
+ declare function createPublicToken(options?: CreatePublicTokenOptions): Promise<string>;
95
+ /**
96
+ * Executes a provided asynchronous function with a specified API client configuration.
97
+ *
98
+ * @template R - The type of the asynchronous function to be executed.
99
+ * @param {ApiClientConfiguration} config - The configuration for the API client.
100
+ * @param {R} fn - The asynchronous function to be executed.
101
+ * @returns {Promise<ReturnType<R>>} A promise that resolves to the return type of the provided function.
102
+ */
103
+ declare function withAuth<R extends (...args: any[]) => Promise<any>>(config: ApiClientConfiguration, fn: R): Promise<ReturnType<R>>;
104
+ export {};
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.auth = void 0;
4
+ exports.configure = configure;
5
+ const v3_1 = require("@trigger.dev/core/v3");
6
+ const v3_2 = require("@trigger.dev/core/v3");
7
+ /**
8
+ * Register the global API client configuration. Alternatively, you can set the `TRIGGER_SECRET_KEY` and `TRIGGER_API_URL` environment variables.
9
+ * @param options The API client configuration.
10
+ * @param options.baseURL The base URL of the Trigger API. (default: `https://api.trigger.dev`)
11
+ * @param options.accessToken The accessToken to authenticate with the Trigger API. (default: `process.env.TRIGGER_SECRET_KEY`) This can be found in your Trigger.dev project "API Keys" settings.
12
+ *
13
+ * @example
14
+ *
15
+ * ```typescript
16
+ * import { configure } from "@trigger.dev/sdk/v3";
17
+ *
18
+ * configure({
19
+ * baseURL: "https://api.trigger.dev",
20
+ * accessToken: "tr_dev_1234567890"
21
+ * });
22
+ * ```
23
+ */
24
+ function configure(options) {
25
+ v3_1.apiClientManager.setGlobalAPIClientConfiguration(options);
26
+ }
27
+ exports.auth = {
28
+ configure,
29
+ createPublicToken,
30
+ withAuth,
31
+ };
32
+ /**
33
+ * Creates a public token using the provided options.
34
+ *
35
+ * @param options - Optional parameters for creating the public token.
36
+ * @param options.scopes - An array of permission scopes to be included in the token.
37
+ * @param options.expirationTime - The expiration time for the token.
38
+ * @returns A promise that resolves to a string representing the generated public token.
39
+ *
40
+ * @example
41
+ *
42
+ * ```typescript
43
+ * import { auth } from "@trigger.dev/sdk/v3";
44
+ *
45
+ * const publicToken = await auth.createPublicToken({
46
+ * scopes: {
47
+ * read: {
48
+ * tags: ["file:1234"]
49
+ * }
50
+ * });
51
+ * ```
52
+ */
53
+ async function createPublicToken(options) {
54
+ const apiClient = v3_1.apiClientManager.clientOrThrow();
55
+ const claims = await apiClient.generateJWTClaims();
56
+ return await (0, v3_2.generateJWT)({
57
+ secretKey: apiClient.accessToken,
58
+ payload: {
59
+ ...claims,
60
+ scopes: options?.scopes ? flattenScopes(options.scopes) : undefined,
61
+ },
62
+ expirationTime: options?.expirationTime,
63
+ });
64
+ }
65
+ /**
66
+ * Executes a provided asynchronous function with a specified API client configuration.
67
+ *
68
+ * @template R - The type of the asynchronous function to be executed.
69
+ * @param {ApiClientConfiguration} config - The configuration for the API client.
70
+ * @param {R} fn - The asynchronous function to be executed.
71
+ * @returns {Promise<ReturnType<R>>} A promise that resolves to the return type of the provided function.
72
+ */
73
+ async function withAuth(config, fn) {
74
+ return v3_1.apiClientManager.runWithConfig(config, fn);
75
+ }
76
+ function flattenScopes(permissions) {
77
+ const flattenedPermissions = [];
78
+ for (const [action, properties] of Object.entries(permissions)) {
79
+ if (properties) {
80
+ if (typeof properties === "boolean" && properties) {
81
+ flattenedPermissions.push(action);
82
+ }
83
+ else if (typeof properties === "object") {
84
+ for (const [property, value] of Object.entries(properties)) {
85
+ if (Array.isArray(value)) {
86
+ for (const item of value) {
87
+ flattenedPermissions.push(`${action}:${property}:${item}`);
88
+ }
89
+ }
90
+ else if (typeof value === "string") {
91
+ flattenedPermissions.push(`${action}:${property}:${value}`);
92
+ }
93
+ else if (typeof value === "boolean" && value) {
94
+ flattenedPermissions.push(`${action}:${property}`);
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ return flattenedPermissions;
101
+ }
102
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/v3/auth.ts"],"names":[],"mappings":";;;AAoBA,8BAEC;AAtBD,6CAAqF;AACrF,6CAA2E;AAE3E;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,SAAS,CAAC,OAA+B;IACvD,qBAAgB,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAEY,QAAA,IAAI,GAAG;IAClB,SAAS;IACT,iBAAiB;IACjB,QAAQ;CACT,CAAC;AA0DF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAAkC;IACjE,MAAM,SAAS,GAAG,qBAAgB,CAAC,aAAa,EAAE,CAAC;IAEnD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAEnD,OAAO,MAAM,IAAA,gBAAoB,EAAC;QAChC,SAAS,EAAE,SAAS,CAAC,WAAW;QAChC,OAAO,EAAE;YACP,GAAG,MAAM;YACT,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;SACpE;QACD,cAAc,EAAE,OAAO,EAAE,cAAc;KACxC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,QAAQ,CACrB,MAA8B,EAC9B,EAAK;IAEL,OAAO,qBAAgB,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,aAAa,CAAC,WAAmC;IACxD,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/D,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,EAAE,CAAC;gBAClD,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC1C,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACzB,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;wBAC7D,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACrC,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;oBAC9D,CAAC;yBAAM,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,EAAE,CAAC;wBAC/C,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
@@ -1,49 +1,5 @@
1
+ import { createIdempotencyKey, type IdempotencyKey } from "@trigger.dev/core/v3";
1
2
  export declare const idempotencyKeys: {
2
3
  create: typeof createIdempotencyKey;
3
4
  };
4
- declare const __brand: unique symbol;
5
- type Brand<B> = {
6
- [__brand]: B;
7
- };
8
- type Branded<T, B> = T & Brand<B>;
9
- export type IdempotencyKey = Branded<string, "IdempotencyKey">;
10
- export declare function isIdempotencyKey(value: string | string[] | IdempotencyKey): value is IdempotencyKey;
11
- /**
12
- * Creates a deterministic idempotency key based on the provided key material.
13
- *
14
- * If running inside a task, the task run ID is automatically included in the key material, giving you a unique key per task run.
15
- * This ensures that a given child task is only triggered once per task run, even if the parent task is retried.
16
- *
17
- * @param {string | string[]} key The key material to create the idempotency key from.
18
- * @param {object} [options] Additional options.
19
- * @param {"run" | "attempt" | "global"} [options.scope="run"] The scope of the idempotency key.
20
- *
21
- * @returns {Promise<IdempotencyKey>} The idempotency key as a branded string.
22
- *
23
- * @example
24
- *
25
- * ```typescript
26
- * import { idempotencyKeys, task } from "@trigger.dev/sdk/v3";
27
- *
28
- * export const myTask = task({
29
- * id: "my-task",
30
- * run: async (payload: any) => {
31
- * const idempotencyKey = await idempotencyKeys.create("my-task-key");
32
- *
33
- * // Use the idempotency key when triggering child tasks
34
- * await childTask.triggerAndWait(payload, { idempotencyKey });
35
- * }
36
- * });
37
- * ```
38
- *
39
- * You can also use the `scope` parameter to create a key that is unique per task run, task run attempts (retries of the same run), or globally:
40
- *
41
- * ```typescript
42
- * await idempotencyKeys.create("my-task-key", { scope: "attempt" }); // Creates a key that is unique per task run attempt
43
- * await idempotencyKeys.create("my-task-key", { scope: "global" }); // Skips including the task run ID
44
- * ```
45
- */
46
- declare function createIdempotencyKey(key: string | string[], options?: {
47
- scope?: "run" | "attempt" | "global";
48
- }): Promise<IdempotencyKey>;
49
- export {};
5
+ export type { IdempotencyKey };
@@ -1,76 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.idempotencyKeys = void 0;
4
- exports.isIdempotencyKey = isIdempotencyKey;
5
4
  const v3_1 = require("@trigger.dev/core/v3");
6
5
  exports.idempotencyKeys = {
7
- create: createIdempotencyKey,
6
+ create: v3_1.createIdempotencyKey,
8
7
  };
9
- function isIdempotencyKey(value) {
10
- // Cannot check the brand at runtime because it doesn't exist (it's a TypeScript-only construct)
11
- return typeof value === "string" && value.length === 64;
12
- }
13
- /**
14
- * Creates a deterministic idempotency key based on the provided key material.
15
- *
16
- * If running inside a task, the task run ID is automatically included in the key material, giving you a unique key per task run.
17
- * This ensures that a given child task is only triggered once per task run, even if the parent task is retried.
18
- *
19
- * @param {string | string[]} key The key material to create the idempotency key from.
20
- * @param {object} [options] Additional options.
21
- * @param {"run" | "attempt" | "global"} [options.scope="run"] The scope of the idempotency key.
22
- *
23
- * @returns {Promise<IdempotencyKey>} The idempotency key as a branded string.
24
- *
25
- * @example
26
- *
27
- * ```typescript
28
- * import { idempotencyKeys, task } from "@trigger.dev/sdk/v3";
29
- *
30
- * export const myTask = task({
31
- * id: "my-task",
32
- * run: async (payload: any) => {
33
- * const idempotencyKey = await idempotencyKeys.create("my-task-key");
34
- *
35
- * // Use the idempotency key when triggering child tasks
36
- * await childTask.triggerAndWait(payload, { idempotencyKey });
37
- * }
38
- * });
39
- * ```
40
- *
41
- * You can also use the `scope` parameter to create a key that is unique per task run, task run attempts (retries of the same run), or globally:
42
- *
43
- * ```typescript
44
- * await idempotencyKeys.create("my-task-key", { scope: "attempt" }); // Creates a key that is unique per task run attempt
45
- * await idempotencyKeys.create("my-task-key", { scope: "global" }); // Skips including the task run ID
46
- * ```
47
- */
48
- async function createIdempotencyKey(key, options) {
49
- const idempotencyKey = await generateIdempotencyKey([...(Array.isArray(key) ? key : [key])].concat(injectScope(options?.scope ?? "run")));
50
- return idempotencyKey;
51
- }
52
- function injectScope(scope) {
53
- switch (scope) {
54
- case "run": {
55
- if (v3_1.taskContext?.ctx) {
56
- return [v3_1.taskContext.ctx.run.id];
57
- }
58
- break;
59
- }
60
- case "attempt": {
61
- if (v3_1.taskContext?.ctx) {
62
- return [v3_1.taskContext.ctx.attempt.id];
63
- }
64
- break;
65
- }
66
- }
67
- return [];
68
- }
69
- async function generateIdempotencyKey(keyMaterial) {
70
- const hash = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(keyMaterial.join("-")));
71
- // Return a hex string, using cross-runtime compatible methods
72
- return Array.from(new Uint8Array(hash))
73
- .map((byte) => byte.toString(16).padStart(2, "0"))
74
- .join("");
75
- }
76
8
  //# sourceMappingURL=idempotencyKeys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idempotencyKeys.js","sourceRoot":"","sources":["../../../src/v3/idempotencyKeys.ts"],"names":[],"mappings":";;;AAYA,4CAKC;AAjBD,6CAAmD;AAEtC,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,oBAAoB;CAC7B,CAAC;AAQF,SAAgB,gBAAgB,CAC9B,KAAyC;IAEzC,gGAAgG;IAChG,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,KAAK,UAAU,oBAAoB,CACjC,GAAsB,EACtB,OAAkD;IAElD,MAAM,cAAc,GAAG,MAAM,sBAAsB,CACjD,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC,CACrF,CAAC;IAEF,OAAO,cAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,KAAmC;IACtD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,gBAAW,EAAE,GAAG,EAAE,CAAC;gBACrB,OAAO,CAAC,gBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,gBAAW,EAAE,GAAG,EAAE,CAAC;gBACrB,OAAO,CAAC,gBAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,WAAqB;IACzD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CACrC,SAAS,EACT,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAChD,CAAC;IAEF,8DAA8D;IAC9D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;SACpC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACjD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"idempotencyKeys.js","sourceRoot":"","sources":["../../../src/v3/idempotencyKeys.ts"],"names":[],"mappings":";;;AAAA,6CAAiF;AAEpE,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,yBAAoB;CAC7B,CAAC"}
@@ -4,35 +4,20 @@ export { retry, type RetryOptions } from "./retry.js";
4
4
  export { queue } from "./shared.js";
5
5
  export * from "./tasks.js";
6
6
  export * from "./wait.js";
7
+ export * from "./waitUntil.js";
7
8
  export * from "./usage.js";
8
9
  export * from "./idempotencyKeys.js";
9
10
  export * from "./tags.js";
10
11
  export * from "./metadata.js";
11
12
  export * from "./timeout.js";
13
+ export * from "./waitUntil.js";
12
14
  export type { Context };
13
15
  import type { Context } from "./shared.js";
14
16
  import type { ApiClientConfiguration } from "@trigger.dev/core/v3";
15
17
  export type { ApiClientConfiguration };
16
18
  export { ApiError, AuthenticationError, BadRequestError, ConflictError, InternalServerError, NotFoundError, PermissionDeniedError, RateLimitError, UnprocessableEntityError, AbortTaskRunError, logger, type LogLevel, } from "@trigger.dev/core/v3";
17
- export { runs } from "./runs.js";
19
+ export { runs, type RunShape, type AnyRunShape, type TaskRunShape, type RealtimeRun, type RetrieveRunResult, type AnyRetrieveRunResult, } from "./runs.js";
18
20
  export * as schedules from "./schedules/index.js";
19
21
  export * as envvars from "./envvars.js";
20
22
  export type { ImportEnvironmentVariablesParams } from "./envvars.js";
21
- /**
22
- * Register the global API client configuration. Alternatively, you can set the `TRIGGER_SECRET_KEY` and `TRIGGER_API_URL` environment variables.
23
- * @param options The API client configuration.
24
- * @param options.baseURL The base URL of the Trigger API. (default: `https://api.trigger.dev`)
25
- * @param options.secretKey The secret key to authenticate with the Trigger API. (default: `process.env.TRIGGER_SECRET_KEY`) This can be found in your Trigger.dev project "API Keys" settings.
26
- *
27
- * @example
28
- *
29
- * ```typescript
30
- * import { configure } from "@trigger.dev/sdk/v3";
31
- *
32
- * configure({
33
- * baseURL: "https://api.trigger.dev",
34
- * secretKey: "tr_dev_1234567890"
35
- * });
36
- * ```
37
- */
38
- export declare function configure(options: ApiClientConfiguration): void;
23
+ export { configure, auth } from "./auth.js";
@@ -26,8 +26,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  return result;
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.envvars = exports.schedules = exports.runs = exports.logger = exports.AbortTaskRunError = exports.UnprocessableEntityError = exports.RateLimitError = exports.PermissionDeniedError = exports.NotFoundError = exports.InternalServerError = exports.ConflictError = exports.BadRequestError = exports.AuthenticationError = exports.ApiError = exports.queue = exports.retry = void 0;
30
- exports.configure = configure;
29
+ exports.auth = exports.configure = exports.envvars = exports.schedules = exports.runs = exports.logger = exports.AbortTaskRunError = exports.UnprocessableEntityError = exports.RateLimitError = exports.PermissionDeniedError = exports.NotFoundError = exports.InternalServerError = exports.ConflictError = exports.BadRequestError = exports.AuthenticationError = exports.ApiError = exports.queue = exports.retry = void 0;
31
30
  __exportStar(require("./cache.js"), exports);
32
31
  __exportStar(require("./config.js"), exports);
33
32
  var retry_js_1 = require("./retry.js");
@@ -36,46 +35,30 @@ var shared_js_1 = require("./shared.js");
36
35
  Object.defineProperty(exports, "queue", { enumerable: true, get: function () { return shared_js_1.queue; } });
37
36
  __exportStar(require("./tasks.js"), exports);
38
37
  __exportStar(require("./wait.js"), exports);
38
+ __exportStar(require("./waitUntil.js"), exports);
39
39
  __exportStar(require("./usage.js"), exports);
40
40
  __exportStar(require("./idempotencyKeys.js"), exports);
41
41
  __exportStar(require("./tags.js"), exports);
42
42
  __exportStar(require("./metadata.js"), exports);
43
43
  __exportStar(require("./timeout.js"), exports);
44
- const v3_1 = require("@trigger.dev/core/v3");
45
- var v3_2 = require("@trigger.dev/core/v3");
46
- Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return v3_2.ApiError; } });
47
- Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return v3_2.AuthenticationError; } });
48
- Object.defineProperty(exports, "BadRequestError", { enumerable: true, get: function () { return v3_2.BadRequestError; } });
49
- Object.defineProperty(exports, "ConflictError", { enumerable: true, get: function () { return v3_2.ConflictError; } });
50
- Object.defineProperty(exports, "InternalServerError", { enumerable: true, get: function () { return v3_2.InternalServerError; } });
51
- Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return v3_2.NotFoundError; } });
52
- Object.defineProperty(exports, "PermissionDeniedError", { enumerable: true, get: function () { return v3_2.PermissionDeniedError; } });
53
- Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return v3_2.RateLimitError; } });
54
- Object.defineProperty(exports, "UnprocessableEntityError", { enumerable: true, get: function () { return v3_2.UnprocessableEntityError; } });
55
- Object.defineProperty(exports, "AbortTaskRunError", { enumerable: true, get: function () { return v3_2.AbortTaskRunError; } });
56
- Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return v3_2.logger; } });
44
+ __exportStar(require("./waitUntil.js"), exports);
45
+ var v3_1 = require("@trigger.dev/core/v3");
46
+ Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return v3_1.ApiError; } });
47
+ Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return v3_1.AuthenticationError; } });
48
+ Object.defineProperty(exports, "BadRequestError", { enumerable: true, get: function () { return v3_1.BadRequestError; } });
49
+ Object.defineProperty(exports, "ConflictError", { enumerable: true, get: function () { return v3_1.ConflictError; } });
50
+ Object.defineProperty(exports, "InternalServerError", { enumerable: true, get: function () { return v3_1.InternalServerError; } });
51
+ Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return v3_1.NotFoundError; } });
52
+ Object.defineProperty(exports, "PermissionDeniedError", { enumerable: true, get: function () { return v3_1.PermissionDeniedError; } });
53
+ Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return v3_1.RateLimitError; } });
54
+ Object.defineProperty(exports, "UnprocessableEntityError", { enumerable: true, get: function () { return v3_1.UnprocessableEntityError; } });
55
+ Object.defineProperty(exports, "AbortTaskRunError", { enumerable: true, get: function () { return v3_1.AbortTaskRunError; } });
56
+ Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return v3_1.logger; } });
57
57
  var runs_js_1 = require("./runs.js");
58
58
  Object.defineProperty(exports, "runs", { enumerable: true, get: function () { return runs_js_1.runs; } });
59
59
  exports.schedules = __importStar(require("./schedules/index.js"));
60
60
  exports.envvars = __importStar(require("./envvars.js"));
61
- /**
62
- * Register the global API client configuration. Alternatively, you can set the `TRIGGER_SECRET_KEY` and `TRIGGER_API_URL` environment variables.
63
- * @param options The API client configuration.
64
- * @param options.baseURL The base URL of the Trigger API. (default: `https://api.trigger.dev`)
65
- * @param options.secretKey The secret key to authenticate with the Trigger API. (default: `process.env.TRIGGER_SECRET_KEY`) This can be found in your Trigger.dev project "API Keys" settings.
66
- *
67
- * @example
68
- *
69
- * ```typescript
70
- * import { configure } from "@trigger.dev/sdk/v3";
71
- *
72
- * configure({
73
- * baseURL: "https://api.trigger.dev",
74
- * secretKey: "tr_dev_1234567890"
75
- * });
76
- * ```
77
- */
78
- function configure(options) {
79
- v3_1.apiClientManager.setGlobalAPIClientConfiguration(options);
80
- }
61
+ var auth_js_1 = require("./auth.js");
62
+ Object.defineProperty(exports, "configure", { enumerable: true, get: function () { return auth_js_1.configure; } });
63
+ Object.defineProperty(exports, "auth", { enumerable: true, get: function () { return auth_js_1.auth; } });
81
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v3/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA,8BAEC;AA3DD,6CAA2B;AAC3B,8CAA4B;AAC5B,uCAAsD;AAA7C,iGAAA,KAAK,OAAA;AACd,yCAAoC;AAA3B,kGAAA,KAAK,OAAA;AACd,6CAA2B;AAC3B,4CAA0B;AAC1B,6CAA2B;AAC3B,uDAAqC;AACrC,4CAA0B;AAC1B,gDAA8B;AAC9B,+CAA6B;AAM7B,6CAAwD;AAIxD,2CAa8B;AAZ5B,8FAAA,QAAQ,OAAA;AACR,yGAAA,mBAAmB,OAAA;AACnB,qGAAA,eAAe,OAAA;AACf,mGAAA,aAAa,OAAA;AACb,yGAAA,mBAAmB,OAAA;AACnB,mGAAA,aAAa,OAAA;AACb,2GAAA,qBAAqB,OAAA;AACrB,oGAAA,cAAc,OAAA;AACd,8GAAA,wBAAwB,OAAA;AACxB,uGAAA,iBAAiB,OAAA;AACjB,4FAAA,MAAM,OAAA;AAIR,qCAAiC;AAAxB,+FAAA,IAAI,OAAA;AACb,kEAAkD;AAClD,wDAAwC;AAGxC;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,SAAS,CAAC,OAA+B;IACvD,qBAAgB,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v3/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,8CAA4B;AAC5B,uCAAsD;AAA7C,iGAAA,KAAK,OAAA;AACd,yCAAoC;AAA3B,kGAAA,KAAK,OAAA;AACd,6CAA2B;AAC3B,4CAA0B;AAC1B,iDAA+B;AAC/B,6CAA2B;AAC3B,uDAAqC;AACrC,4CAA0B;AAC1B,gDAA8B;AAC9B,+CAA6B;AAC7B,iDAA+B;AAS/B,2CAa8B;AAZ5B,8FAAA,QAAQ,OAAA;AACR,yGAAA,mBAAmB,OAAA;AACnB,qGAAA,eAAe,OAAA;AACf,mGAAA,aAAa,OAAA;AACb,yGAAA,mBAAmB,OAAA;AACnB,mGAAA,aAAa,OAAA;AACb,2GAAA,qBAAqB,OAAA;AACrB,oGAAA,cAAc,OAAA;AACd,8GAAA,wBAAwB,OAAA;AACxB,uGAAA,iBAAiB,OAAA;AACjB,4FAAA,MAAM,OAAA;AAIR,qCAQmB;AAPjB,+FAAA,IAAI,OAAA;AAQN,kEAAkD;AAClD,wDAAwC;AAGxC,qCAA4C;AAAnC,oGAAA,SAAS,OAAA;AAAE,+FAAA,IAAI,OAAA"}
@@ -15,6 +15,13 @@ export declare const metadata: {
15
15
  set: typeof setMetadataKey;
16
16
  del: typeof deleteMetadataKey;
17
17
  save: typeof saveMetadata;
18
+ replace: typeof replaceMetadata;
19
+ flush: typeof flushMetadata;
20
+ stream: typeof stream;
21
+ append: typeof appendMetadataKey;
22
+ remove: typeof removeMetadataKey;
23
+ increment: typeof incrementMetadataKey;
24
+ decrement: typeof decrementMetadataKey;
18
25
  };
19
26
  export type RunMetadata = Record<string, DeserializedJson>;
20
27
  /**
@@ -46,34 +53,90 @@ declare function getMetadataKey(key: string): DeserializedJson | undefined;
46
53
  *
47
54
  * @param {string} key - The key to set in the metadata.
48
55
  * @param {DeserializedJson} value - The value to associate with the key.
49
- * @param {ApiRequestOptions} [requestOptions] - Optional API request options.
50
- * @returns {Promise<void>} A promise that resolves when the metadata is updated.
51
56
  *
52
57
  * @example
53
- * await metadata.set("progress", 0.5);
58
+ * metadata.set("progress", 0.5);
54
59
  */
55
- declare function setMetadataKey(key: string, value: DeserializedJson, requestOptions?: ApiRequestOptions): Promise<void>;
60
+ declare function setMetadataKey(key: string, value: DeserializedJson): void;
56
61
  /**
57
62
  * Delete a key from the metadata of the current run if inside a task run.
58
63
  *
59
64
  * @param {string} key - The key to delete from the metadata.
60
- * @param {ApiRequestOptions} [requestOptions] - Optional API request options.
61
- * @returns {Promise<void>} A promise that resolves when the key is deleted from the metadata.
62
65
  *
63
66
  * @example
64
- * await metadata.del("progress");
67
+ * metadata.del("progress");
65
68
  */
66
- declare function deleteMetadataKey(key: string, requestOptions?: ApiRequestOptions): Promise<void>;
69
+ declare function deleteMetadataKey(key: string): void;
67
70
  /**
68
71
  * Update the entire metadata object for the current run if inside a task run.
69
72
  * This function allows you to replace the entire metadata object with a new one.
70
73
  *
71
74
  * @param {RunMetadata} metadata - The new metadata object to set for the run.
72
- * @param {ApiRequestOptions} [requestOptions] - Optional API request options.
73
- * @returns {Promise<void>} A promise that resolves when the metadata is updated.
75
+ * @returns {void}
74
76
  *
75
77
  * @example
76
- * await metadata.save({ progress: 0.6, user: { name: "Alice", id: "user_5678" } });
78
+ * metadata.replace({ progress: 0.6, user: { name: "Alice", id: "user_5678" } });
77
79
  */
78
- declare function saveMetadata(metadata: RunMetadata, requestOptions?: ApiRequestOptions): Promise<void>;
80
+ declare function replaceMetadata(metadata: RunMetadata): void;
81
+ /**
82
+ * @deprecated Use `metadata.replace()` instead.
83
+ */
84
+ declare function saveMetadata(metadata: RunMetadata): void;
85
+ /**
86
+ * Increments a numeric value in the metadata of the current run by the specified amount.
87
+ * This function allows you to atomically increment a numeric metadata value.
88
+ *
89
+ * @param {string} key - The key of the numeric value to increment.
90
+ * @param {number} value - The amount to increment the value by.
91
+ *
92
+ * @example
93
+ * metadata.increment("counter", 1); // Increments counter by 1
94
+ * metadata.increment("score", 10); // Increments score by 10
95
+ */
96
+ declare function incrementMetadataKey(key: string, value?: number): void;
97
+ /**
98
+ * Decrements a numeric value in the metadata of the current run by the specified amount.
99
+ * This function allows you to atomically decrement a numeric metadata value.
100
+ *
101
+ * @param {string} key - The key of the numeric value to decrement.
102
+ * @param {number} value - The amount to decrement the value by.
103
+ *
104
+ * @example
105
+ * metadata.decrement("counter", 1); // Decrements counter by 1
106
+ * metadata.decrement("score", 5); // Decrements score by 5
107
+ */
108
+ declare function decrementMetadataKey(key: string, value?: number): void;
109
+ /**
110
+ * Appends a value to an array in the metadata of the current run.
111
+ * If the key doesn't exist, it creates a new array with the value.
112
+ * If the key exists but isn't an array, it converts the existing value to an array.
113
+ *
114
+ * @param {string} key - The key of the array in metadata.
115
+ * @param {DeserializedJson} value - The value to append to the array.
116
+ *
117
+ * @example
118
+ * metadata.append("logs", "User logged in");
119
+ * metadata.append("events", { type: "click", timestamp: Date.now() });
120
+ */
121
+ declare function appendMetadataKey(key: string, value: DeserializedJson): void;
122
+ /**
123
+ * Removes a value from an array in the metadata of the current run.
124
+ *
125
+ * @param {string} key - The key of the array in metadata.
126
+ * @param {DeserializedJson} value - The value to remove from the array.
127
+ *
128
+ * @example
129
+ *
130
+ * metadata.remove("logs", "User logged in");
131
+ * metadata.remove("events", { type: "click", timestamp: Date.now() });
132
+ */
133
+ declare function removeMetadataKey(key: string, value: DeserializedJson): void;
134
+ /**
135
+ * Flushes metadata to the Trigger.dev instance
136
+ *
137
+ * @param {ApiRequestOptions} [requestOptions] - Optional request options to customize the API request.
138
+ * @returns {Promise<void>} A promise that resolves when the metadata flush operation is complete.
139
+ */
140
+ declare function flushMetadata(requestOptions?: ApiRequestOptions): Promise<void>;
141
+ declare function stream<T>(key: string, value: AsyncIterable<T> | ReadableStream<T>, signal?: AbortSignal): Promise<AsyncIterable<T>>;
79
142
  export {};