@trigger.dev/sdk 3.0.12 → 3.1.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.
- package/README.md +32 -1
- package/dist/browser/apiClient.d.ts +737 -0
- package/dist/browser/apiClient.js +687 -0
- package/dist/browser/apiClient.js.map +1 -0
- package/dist/browser/concurrencyLimit.d.ts +10 -0
- package/dist/browser/concurrencyLimit.js +13 -0
- package/dist/browser/concurrencyLimit.js.map +1 -0
- package/dist/browser/errors.d.ts +66 -0
- package/dist/browser/errors.js +95 -0
- package/dist/browser/errors.js.map +1 -0
- package/dist/browser/httpEndpoint.d.ts +87 -0
- package/dist/browser/httpEndpoint.js +125 -0
- package/dist/browser/httpEndpoint.js.map +1 -0
- package/dist/browser/index.d.ts +23 -0
- package/dist/browser/index.js +35 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/integrations.d.ts +11 -0
- package/dist/browser/integrations.js +2 -0
- package/dist/browser/integrations.js.map +1 -0
- package/dist/browser/io.d.ts +453 -0
- package/dist/browser/io.js +1159 -0
- package/dist/browser/io.js.map +1 -0
- package/dist/browser/ioWithIntegrations.d.ts +4 -0
- package/dist/browser/ioWithIntegrations.js +29 -0
- package/dist/browser/ioWithIntegrations.js.map +1 -0
- package/dist/browser/job.d.ts +96 -0
- package/dist/browser/job.js +206 -0
- package/dist/browser/job.js.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/retry.d.ts +20 -0
- package/dist/browser/retry.js +19 -0
- package/dist/browser/retry.js.map +1 -0
- package/dist/browser/runLocalStorage.d.ts +8 -0
- package/dist/browser/runLocalStorage.js +3 -0
- package/dist/browser/runLocalStorage.js.map +1 -0
- package/dist/browser/security.d.ts +18 -0
- package/dist/browser/security.js +34 -0
- package/dist/browser/security.js.map +1 -0
- package/dist/browser/status.d.ts +19 -0
- package/dist/browser/status.js +34 -0
- package/dist/browser/status.js.map +1 -0
- package/dist/browser/store/keyValueStore.d.ts +17 -0
- package/dist/browser/store/keyValueStore.js +134 -0
- package/dist/browser/store/keyValueStore.js.map +1 -0
- package/dist/browser/store/keyValueStoreClient.d.ts +19 -0
- package/dist/browser/store/keyValueStoreClient.js +61 -0
- package/dist/browser/store/keyValueStoreClient.js.map +1 -0
- package/dist/browser/triggerClient.d.ts +300 -0
- package/dist/browser/triggerClient.js +1359 -0
- package/dist/browser/triggerClient.js.map +1 -0
- package/dist/browser/triggers/dynamic.d.ts +56 -0
- package/dist/browser/triggers/dynamic.js +93 -0
- package/dist/browser/triggers/dynamic.js.map +1 -0
- package/dist/browser/triggers/eventTrigger.d.ts +58 -0
- package/dist/browser/triggers/eventTrigger.js +64 -0
- package/dist/browser/triggers/eventTrigger.js.map +1 -0
- package/dist/browser/triggers/externalSource.d.ts +148 -0
- package/dist/browser/triggers/externalSource.js +100 -0
- package/dist/browser/triggers/externalSource.js.map +1 -0
- package/dist/browser/triggers/invokeTrigger.d.ts +39 -0
- package/dist/browser/triggers/invokeTrigger.js +53 -0
- package/dist/browser/triggers/invokeTrigger.js.map +1 -0
- package/dist/browser/triggers/notifications.d.ts +111 -0
- package/dist/browser/triggers/notifications.js +94 -0
- package/dist/browser/triggers/notifications.js.map +1 -0
- package/dist/browser/triggers/scheduled.d.ts +145 -0
- package/dist/browser/triggers/scheduled.js +197 -0
- package/dist/browser/triggers/scheduled.js.map +1 -0
- package/dist/browser/triggers/webhook.d.ts +143 -0
- package/dist/browser/triggers/webhook.js +128 -0
- package/dist/browser/triggers/webhook.js.map +1 -0
- package/dist/browser/typed-emitter.d.ts +37 -0
- package/dist/browser/typed-emitter.js +2 -0
- package/dist/browser/typed-emitter.js.map +1 -0
- package/dist/browser/types.d.ts +204 -0
- package/dist/browser/types.js +19 -0
- package/dist/browser/types.js.map +1 -0
- package/dist/browser/utils/formatSchemaErrors.d.ts +3 -0
- package/dist/browser/utils/formatSchemaErrors.js +7 -0
- package/dist/browser/utils/formatSchemaErrors.js.map +1 -0
- package/dist/browser/utils/typedAsyncLocalStorage.d.ts +6 -0
- package/dist/browser/utils/typedAsyncLocalStorage.js +14 -0
- package/dist/browser/utils/typedAsyncLocalStorage.js.map +1 -0
- package/dist/browser/utils.d.ts +1 -0
- package/dist/browser/utils.js +8 -0
- package/dist/browser/utils.js.map +1 -0
- package/dist/browser/v3/auth.d.ts +104 -0
- package/dist/browser/v3/auth.js +95 -0
- package/dist/browser/v3/auth.js.map +1 -0
- package/dist/browser/v3/cache.d.ts +28 -0
- package/dist/browser/v3/cache.js +58 -0
- package/dist/browser/v3/cache.js.map +1 -0
- package/dist/browser/v3/config.d.ts +4 -0
- package/dist/browser/v3/config.js +4 -0
- package/dist/browser/v3/config.js.map +1 -0
- package/dist/browser/v3/envvars.d.ts +14 -0
- package/dist/browser/v3/envvars.js +219 -0
- package/dist/browser/v3/envvars.js.map +1 -0
- package/dist/browser/v3/idempotencyKeys.d.ts +44 -0
- package/dist/browser/v3/idempotencyKeys.js +72 -0
- package/dist/browser/v3/idempotencyKeys.js.map +1 -0
- package/dist/browser/v3/index-browser.mjs.map +1 -0
- package/dist/browser/v3/index.d.ts +2 -0
- package/dist/browser/v3/index.js +3 -0
- package/dist/browser/v3/metadata.d.ts +87 -0
- package/dist/browser/v3/metadata.js +105 -0
- package/dist/browser/v3/metadata.js.map +1 -0
- package/dist/browser/v3/retry.d.ts +15 -0
- package/dist/browser/v3/retry.js +408 -0
- package/dist/browser/v3/retry.js.map +1 -0
- package/dist/browser/v3/runs.d.ts +180 -0
- package/dist/browser/v3/runs.js +204 -0
- package/dist/browser/v3/runs.js.map +1 -0
- package/dist/browser/v3/schedules/api.d.ts +1 -0
- package/dist/browser/v3/schedules/api.js +2 -0
- package/dist/browser/v3/schedules/api.js.map +1 -0
- package/dist/browser/v3/schedules/index.d.ts +87 -0
- package/dist/browser/v3/schedules/index.js +215 -0
- package/dist/browser/v3/schedules/index.js.map +1 -0
- package/dist/browser/v3/shared.d.ts +90 -0
- package/dist/browser/v3/shared.js +546 -0
- package/dist/browser/v3/shared.js.map +1 -0
- package/dist/browser/v3/tags.d.ts +6 -0
- package/dist/browser/v3/tags.js +43 -0
- package/dist/browser/v3/tags.js.map +1 -0
- package/dist/browser/v3/tasks.d.ts +31 -0
- package/dist/browser/v3/tasks.js +30 -0
- package/dist/browser/v3/tasks.js.map +1 -0
- package/dist/browser/v3/timeout.d.ts +4 -0
- package/dist/browser/v3/timeout.js +7 -0
- package/dist/browser/v3/timeout.js.map +1 -0
- package/dist/browser/v3/tracer.d.ts +2 -0
- package/dist/browser/v3/tracer.js +4 -0
- package/dist/browser/v3/tracer.js.map +1 -0
- package/dist/browser/v3/usage.d.ts +77 -0
- package/dist/browser/v3/usage.js +112 -0
- package/dist/browser/v3/usage.js.map +1 -0
- package/dist/browser/v3/wait.d.ts +22 -0
- package/dist/browser/v3/wait.js +96 -0
- package/dist/browser/v3/wait.js.map +1 -0
- package/dist/browser/version.d.ts +1 -0
- package/dist/browser/version.js +2 -0
- package/dist/browser/version.js.map +1 -0
- package/dist/commonjs/v3/auth.d.ts +104 -0
- package/dist/commonjs/v3/auth.js +99 -0
- package/dist/commonjs/v3/auth.js.map +1 -0
- package/dist/commonjs/v3/idempotencyKeys.d.ts +2 -7
- package/dist/commonjs/v3/idempotencyKeys.js.map +1 -1
- package/dist/commonjs/v3/index.d.ts +2 -19
- package/dist/commonjs/v3/index.js +16 -35
- package/dist/commonjs/v3/index.js.map +1 -1
- package/dist/commonjs/v3/metadata.d.ts +20 -12
- package/dist/commonjs/v3/metadata.js +28 -53
- package/dist/commonjs/v3/metadata.js.map +1 -1
- package/dist/commonjs/v3/runs.d.ts +36 -759
- package/dist/commonjs/v3/runs.js +12 -1
- package/dist/commonjs/v3/runs.js.map +1 -1
- package/dist/commonjs/v3/shared.d.ts +9 -380
- package/dist/commonjs/v3/shared.js +99 -54
- package/dist/commonjs/v3/shared.js.map +1 -1
- package/dist/commonjs/v3/tasks.d.ts +5 -5
- package/dist/commonjs/v3/tasks.js +3 -5
- package/dist/commonjs/v3/tasks.js.map +1 -1
- package/dist/commonjs/v3/tracer.d.ts +1 -1
- package/dist/commonjs/v3/tracer.js +2 -2
- package/dist/commonjs/v3/tracer.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/auth.d.ts +104 -0
- package/dist/esm/v3/auth.js +95 -0
- package/dist/esm/v3/auth.js.map +1 -0
- package/dist/esm/v3/idempotencyKeys.d.ts +2 -7
- package/dist/esm/v3/idempotencyKeys.js.map +1 -1
- package/dist/esm/v3/index.d.ts +2 -19
- package/dist/esm/v3/index.js +2 -22
- package/dist/esm/v3/index.js.map +1 -1
- package/dist/esm/v3/metadata.d.ts +20 -12
- package/dist/esm/v3/metadata.js +29 -54
- package/dist/esm/v3/metadata.js.map +1 -1
- package/dist/esm/v3/runs.d.ts +34 -757
- package/dist/esm/v3/runs.js +12 -1
- package/dist/esm/v3/runs.js.map +1 -1
- package/dist/esm/v3/shared.d.ts +9 -380
- package/dist/esm/v3/shared.js +96 -51
- package/dist/esm/v3/shared.js.map +1 -1
- package/dist/esm/v3/tasks.d.ts +5 -5
- package/dist/esm/v3/tasks.js +3 -4
- package/dist/esm/v3/tasks.js.map +1 -1
- package/dist/esm/v3/tracer.d.ts +1 -1
- package/dist/esm/v3/tracer.js +1 -1
- package/dist/esm/v3/tracer.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +13 -2
|
@@ -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";
|
|
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,95 @@
|
|
|
1
|
+
import { apiClientManager } from "@trigger.dev/core/v3";
|
|
2
|
+
import { generateJWT as internal_generateJWT } from "@trigger.dev/core/v3";
|
|
3
|
+
/**
|
|
4
|
+
* Register the global API client configuration. Alternatively, you can set the `TRIGGER_SECRET_KEY` and `TRIGGER_API_URL` environment variables.
|
|
5
|
+
* @param options The API client configuration.
|
|
6
|
+
* @param options.baseURL The base URL of the Trigger API. (default: `https://api.trigger.dev`)
|
|
7
|
+
* @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.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
*
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { configure } from "@trigger.dev/sdk/v3";
|
|
13
|
+
*
|
|
14
|
+
* configure({
|
|
15
|
+
* baseURL: "https://api.trigger.dev",
|
|
16
|
+
* accessToken: "tr_dev_1234567890"
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export function configure(options) {
|
|
21
|
+
apiClientManager.setGlobalAPIClientConfiguration(options);
|
|
22
|
+
}
|
|
23
|
+
export const auth = {
|
|
24
|
+
configure,
|
|
25
|
+
createPublicToken,
|
|
26
|
+
withAuth,
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Creates a public token using the provided options.
|
|
30
|
+
*
|
|
31
|
+
* @param options - Optional parameters for creating the public token.
|
|
32
|
+
* @param options.scopes - An array of permission scopes to be included in the token.
|
|
33
|
+
* @param options.expirationTime - The expiration time for the token.
|
|
34
|
+
* @returns A promise that resolves to a string representing the generated public token.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
*
|
|
38
|
+
* ```typescript
|
|
39
|
+
* import { auth } from "@trigger.dev/sdk/v3";
|
|
40
|
+
*
|
|
41
|
+
* const publicToken = await auth.createPublicToken({
|
|
42
|
+
* scopes: {
|
|
43
|
+
* read: {
|
|
44
|
+
* tags: ["file:1234"]
|
|
45
|
+
* }
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
async function createPublicToken(options) {
|
|
50
|
+
const apiClient = apiClientManager.clientOrThrow();
|
|
51
|
+
const claims = await apiClient.generateJWTClaims();
|
|
52
|
+
return await internal_generateJWT({
|
|
53
|
+
secretKey: apiClient.accessToken,
|
|
54
|
+
payload: {
|
|
55
|
+
...claims,
|
|
56
|
+
scopes: options?.scopes ? flattenScopes(options.scopes) : undefined,
|
|
57
|
+
},
|
|
58
|
+
expirationTime: options?.expirationTime,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Executes a provided asynchronous function with a specified API client configuration.
|
|
63
|
+
*
|
|
64
|
+
* @template R - The type of the asynchronous function to be executed.
|
|
65
|
+
* @param {ApiClientConfiguration} config - The configuration for the API client.
|
|
66
|
+
* @param {R} fn - The asynchronous function to be executed.
|
|
67
|
+
* @returns {Promise<ReturnType<R>>} A promise that resolves to the return type of the provided function.
|
|
68
|
+
*/
|
|
69
|
+
async function withAuth(config, fn) {
|
|
70
|
+
return apiClientManager.runWithConfig(config, fn);
|
|
71
|
+
}
|
|
72
|
+
function flattenScopes(permissions) {
|
|
73
|
+
const flattenedPermissions = [];
|
|
74
|
+
for (const [action, properties] of Object.entries(permissions)) {
|
|
75
|
+
if (properties) {
|
|
76
|
+
if (typeof properties === "boolean" && properties) {
|
|
77
|
+
flattenedPermissions.push(action);
|
|
78
|
+
}
|
|
79
|
+
else if (typeof properties === "object") {
|
|
80
|
+
for (const [property, value] of Object.entries(properties)) {
|
|
81
|
+
if (Array.isArray(value)) {
|
|
82
|
+
for (const item of value) {
|
|
83
|
+
flattenedPermissions.push(`${action}:${property}:${item}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else if (typeof value === "string") {
|
|
87
|
+
flattenedPermissions.push(`${action}:${property}:${value}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return flattenedPermissions;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/v3/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE3E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,SAAS,CAAC,OAA+B;IACvD,gBAAgB,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,SAAS;IACT,iBAAiB;IACjB,QAAQ;CACT,CAAC;AA0DF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAAkC;IACjE,MAAM,SAAS,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;IAEnD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAEnD,OAAO,MAAM,oBAAoB,CAAC;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,gBAAgB,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;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type CacheMetadata = {
|
|
2
|
+
createdTime: number;
|
|
3
|
+
ttl?: number | null;
|
|
4
|
+
};
|
|
5
|
+
export type CacheEntry<Value = unknown> = {
|
|
6
|
+
metadata: CacheMetadata;
|
|
7
|
+
value: Value;
|
|
8
|
+
};
|
|
9
|
+
export type Eventually<Value> = Value | null | undefined | Promise<Value | null | undefined>;
|
|
10
|
+
export type CacheStore<Value = any> = {
|
|
11
|
+
name?: string;
|
|
12
|
+
get: (key: string) => Eventually<CacheEntry<Value>>;
|
|
13
|
+
set: (key: string, value: CacheEntry<Value>) => unknown | Promise<unknown>;
|
|
14
|
+
delete: (key: string) => unknown | Promise<unknown>;
|
|
15
|
+
};
|
|
16
|
+
export type CacheFunction = <Value>(cacheKey: string, fn: () => Promise<Value> | Value) => Promise<Value> | Value;
|
|
17
|
+
export declare class InMemoryCache<Value = any> {
|
|
18
|
+
private _cache;
|
|
19
|
+
get(key: string): Eventually<CacheEntry<Value>>;
|
|
20
|
+
set(key: string, value: CacheEntry<Value>): unknown;
|
|
21
|
+
delete(key: string): unknown;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Create a cache function that uses the provided store to cache values. Using InMemoryCache is safe because each task run is isolated.
|
|
25
|
+
* @param store
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
export declare function createCache(store: CacheStore): CacheFunction;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { SemanticInternalAttributes } from "@trigger.dev/core/v3";
|
|
2
|
+
import { tracer } from "./tracer.js";
|
|
3
|
+
export class InMemoryCache {
|
|
4
|
+
_cache = new Map();
|
|
5
|
+
get(key) {
|
|
6
|
+
return this._cache.get(key);
|
|
7
|
+
}
|
|
8
|
+
set(key, value) {
|
|
9
|
+
this._cache.set(key, value);
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
delete(key) {
|
|
13
|
+
this._cache.delete(key);
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a cache function that uses the provided store to cache values. Using InMemoryCache is safe because each task run is isolated.
|
|
19
|
+
* @param store
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
export function createCache(store) {
|
|
23
|
+
return function cache(cacheKey, fn) {
|
|
24
|
+
return tracer.startActiveSpan("cache", async (span) => {
|
|
25
|
+
span.setAttribute("cache.key", cacheKey);
|
|
26
|
+
span.setAttribute(SemanticInternalAttributes.STYLE_ICON, "device-sd-card");
|
|
27
|
+
const cacheEntry = await store.get(cacheKey);
|
|
28
|
+
if (cacheEntry) {
|
|
29
|
+
span.updateName(`cache.hit ${cacheKey}`);
|
|
30
|
+
return cacheEntry.value;
|
|
31
|
+
}
|
|
32
|
+
span.updateName(`cache.miss ${cacheKey}`);
|
|
33
|
+
const value = await tracer.startActiveSpan("cache.getFreshValue", async (span) => {
|
|
34
|
+
return await fn();
|
|
35
|
+
}, {
|
|
36
|
+
attributes: {
|
|
37
|
+
"cache.key": cacheKey,
|
|
38
|
+
[SemanticInternalAttributes.STYLE_ICON]: "device-sd-card",
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
await tracer.startActiveSpan("cache.set", async (span) => {
|
|
42
|
+
await store.set(cacheKey, {
|
|
43
|
+
value,
|
|
44
|
+
metadata: {
|
|
45
|
+
createdTime: Date.now(),
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
}, {
|
|
49
|
+
attributes: {
|
|
50
|
+
"cache.key": cacheKey,
|
|
51
|
+
[SemanticInternalAttributes.STYLE_ICON]: "device-sd-card",
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
return value;
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/v3/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA0BrC,MAAM,OAAO,aAAa;IAChB,MAAM,GAAmC,IAAI,GAAG,EAAE,CAAC;IAE3D,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAwB;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAExB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,OAAO,SAAS,KAAK,CACnB,QAAgB,EAChB,EAAgC;QAEhC,OAAO,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACpD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAE3E,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;gBAEzC,OAAO,UAAU,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YAE1C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,CACxC,qBAAqB,EACrB,KAAK,EAAE,IAAI,EAAE,EAAE;gBACb,OAAO,MAAM,EAAE,EAAE,CAAC;YACpB,CAAC,EACD;gBACE,UAAU,EAAE;oBACV,WAAW,EAAE,QAAQ;oBACrB,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,gBAAgB;iBAC1D;aACF,CACF,CAAC;YAEF,MAAM,MAAM,CAAC,eAAe,CAC1B,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;gBACb,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;oBACxB,KAAK;oBACL,QAAQ,EAAE;wBACR,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;qBACxB;iBACF,CAAC,CAAC;YACL,CAAC,EACD;gBACE,UAAU,EAAE;oBACV,WAAW,EAAE,QAAQ;oBACrB,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,gBAAgB;iBAC1D;aACF,CACF,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { TriggerConfig } from "@trigger.dev/core/v3";
|
|
2
|
+
export type { HandleErrorArgs, HandleErrorFunction, ResolveEnvironmentVariablesFunction, ResolveEnvironmentVariablesParams, ResolveEnvironmentVariablesResult, } from "@trigger.dev/core/v3";
|
|
3
|
+
export declare function defineConfig(config: TriggerConfig): TriggerConfig;
|
|
4
|
+
export type { TriggerConfig };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/v3/config.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ApiPromise, ApiRequestOptions, CreateEnvironmentVariableParams, EnvironmentVariableResponseBody, EnvironmentVariableValue, EnvironmentVariables, ImportEnvironmentVariablesParams, UpdateEnvironmentVariableParams } from "@trigger.dev/core/v3";
|
|
2
|
+
export type { CreateEnvironmentVariableParams, ImportEnvironmentVariablesParams };
|
|
3
|
+
export declare function upload(projectRef: string, slug: string, params: ImportEnvironmentVariablesParams, requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariableResponseBody>;
|
|
4
|
+
export declare function upload(params: ImportEnvironmentVariablesParams, requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariableResponseBody>;
|
|
5
|
+
export declare function list(projectRef: string, slug: string, requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariables>;
|
|
6
|
+
export declare function list(requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariables>;
|
|
7
|
+
export declare function create(projectRef: string, slug: string, params: CreateEnvironmentVariableParams, requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariableResponseBody>;
|
|
8
|
+
export declare function create(params: CreateEnvironmentVariableParams, requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariableResponseBody>;
|
|
9
|
+
export declare function retrieve(projectRef: string, slug: string, name: string, requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariableValue>;
|
|
10
|
+
export declare function retrieve(name: string, requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariableValue>;
|
|
11
|
+
export declare function del(projectRef: string, slug: string, name: string, requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariableResponseBody>;
|
|
12
|
+
export declare function del(name: string, requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariableResponseBody>;
|
|
13
|
+
export declare function update(projectRef: string, slug: string, name: string, params: UpdateEnvironmentVariableParams, requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariableResponseBody>;
|
|
14
|
+
export declare function update(name: string, params: UpdateEnvironmentVariableParams, requestOptions?: ApiRequestOptions): ApiPromise<EnvironmentVariableResponseBody>;
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { apiClientManager, isRequestOptions, mergeRequestOptions, taskContext, } from "@trigger.dev/core/v3";
|
|
2
|
+
import { tracer } from "./tracer.js";
|
|
3
|
+
export function upload(projectRefOrParams, slugOrRequestOptions, params, requestOptions) {
|
|
4
|
+
let $projectRef;
|
|
5
|
+
let $params;
|
|
6
|
+
let $slug;
|
|
7
|
+
const $requestOptions = overloadRequestOptions("upload", slugOrRequestOptions, requestOptions);
|
|
8
|
+
if (taskContext.ctx) {
|
|
9
|
+
if (typeof projectRefOrParams === "string") {
|
|
10
|
+
$projectRef = projectRefOrParams;
|
|
11
|
+
$slug =
|
|
12
|
+
typeof slugOrRequestOptions === "string"
|
|
13
|
+
? slugOrRequestOptions
|
|
14
|
+
: taskContext.ctx.environment.slug;
|
|
15
|
+
if (!params) {
|
|
16
|
+
throw new Error("params is required");
|
|
17
|
+
}
|
|
18
|
+
$params = params;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
$params = projectRefOrParams;
|
|
22
|
+
$projectRef = taskContext.ctx.project.ref;
|
|
23
|
+
$slug = taskContext.ctx.environment.slug;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
if (typeof projectRefOrParams !== "string") {
|
|
28
|
+
throw new Error("projectRef is required");
|
|
29
|
+
}
|
|
30
|
+
if (!slugOrRequestOptions || typeof slugOrRequestOptions !== "string") {
|
|
31
|
+
throw new Error("slug is required");
|
|
32
|
+
}
|
|
33
|
+
if (!params) {
|
|
34
|
+
throw new Error("params is required");
|
|
35
|
+
}
|
|
36
|
+
$projectRef = projectRefOrParams;
|
|
37
|
+
$slug = slugOrRequestOptions;
|
|
38
|
+
$params = params;
|
|
39
|
+
}
|
|
40
|
+
const apiClient = apiClientManager.clientOrThrow();
|
|
41
|
+
return apiClient.importEnvVars($projectRef, $slug, $params, $requestOptions);
|
|
42
|
+
}
|
|
43
|
+
export function list(projectRefOrRequestOptions, slug, requestOptions) {
|
|
44
|
+
const $projectRef = !isRequestOptions(projectRefOrRequestOptions)
|
|
45
|
+
? projectRefOrRequestOptions
|
|
46
|
+
: taskContext.ctx?.project.ref;
|
|
47
|
+
const $slug = slug ?? taskContext.ctx?.environment.slug;
|
|
48
|
+
let $requestOptions = isRequestOptions(projectRefOrRequestOptions)
|
|
49
|
+
? projectRefOrRequestOptions
|
|
50
|
+
: requestOptions;
|
|
51
|
+
if (!$projectRef) {
|
|
52
|
+
throw new Error("projectRef is required");
|
|
53
|
+
}
|
|
54
|
+
if (!$slug) {
|
|
55
|
+
throw new Error("slug is required");
|
|
56
|
+
}
|
|
57
|
+
$requestOptions = mergeRequestOptions({
|
|
58
|
+
tracer,
|
|
59
|
+
name: "envvars.list()",
|
|
60
|
+
icon: "id-badge",
|
|
61
|
+
}, $requestOptions);
|
|
62
|
+
const apiClient = apiClientManager.clientOrThrow();
|
|
63
|
+
return apiClient.listEnvVars($projectRef, $slug, $requestOptions);
|
|
64
|
+
}
|
|
65
|
+
export function create(projectRefOrParams, slugOrRequestOptions, params, requestOptions) {
|
|
66
|
+
let $projectRef;
|
|
67
|
+
let $slug;
|
|
68
|
+
let $params;
|
|
69
|
+
const $requestOptions = overloadRequestOptions("create", slugOrRequestOptions, requestOptions);
|
|
70
|
+
if (taskContext.ctx) {
|
|
71
|
+
if (typeof projectRefOrParams === "string") {
|
|
72
|
+
$projectRef = projectRefOrParams;
|
|
73
|
+
$slug =
|
|
74
|
+
typeof slugOrRequestOptions === "string"
|
|
75
|
+
? slugOrRequestOptions
|
|
76
|
+
: taskContext.ctx.environment.slug;
|
|
77
|
+
if (!params) {
|
|
78
|
+
throw new Error("params is required");
|
|
79
|
+
}
|
|
80
|
+
$params = params;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
$params = projectRefOrParams;
|
|
84
|
+
$projectRef = taskContext.ctx.project.ref;
|
|
85
|
+
$slug = taskContext.ctx.environment.slug;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
if (typeof projectRefOrParams !== "string") {
|
|
90
|
+
throw new Error("projectRef is required");
|
|
91
|
+
}
|
|
92
|
+
if (!slugOrRequestOptions || typeof slugOrRequestOptions !== "string") {
|
|
93
|
+
throw new Error("slug is required");
|
|
94
|
+
}
|
|
95
|
+
if (!params) {
|
|
96
|
+
throw new Error("params is required");
|
|
97
|
+
}
|
|
98
|
+
$projectRef = projectRefOrParams;
|
|
99
|
+
$slug = slugOrRequestOptions;
|
|
100
|
+
$params = params;
|
|
101
|
+
}
|
|
102
|
+
const apiClient = apiClientManager.clientOrThrow();
|
|
103
|
+
return apiClient.createEnvVar($projectRef, $slug, $params, $requestOptions);
|
|
104
|
+
}
|
|
105
|
+
export function retrieve(projectRefOrName, slugOrRequestOptions, name, requestOptions) {
|
|
106
|
+
let $projectRef;
|
|
107
|
+
let $slug;
|
|
108
|
+
let $name;
|
|
109
|
+
const $requestOptions = overloadRequestOptions("retrieve", slugOrRequestOptions, requestOptions);
|
|
110
|
+
if (typeof name === "string") {
|
|
111
|
+
$projectRef = projectRefOrName;
|
|
112
|
+
$slug =
|
|
113
|
+
typeof slugOrRequestOptions === "string"
|
|
114
|
+
? slugOrRequestOptions
|
|
115
|
+
: taskContext.ctx?.environment.slug;
|
|
116
|
+
$name = name;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
$projectRef = taskContext.ctx?.project.ref;
|
|
120
|
+
$slug = taskContext.ctx?.environment.slug;
|
|
121
|
+
$name = projectRefOrName;
|
|
122
|
+
}
|
|
123
|
+
if (!$projectRef) {
|
|
124
|
+
throw new Error("projectRef is required");
|
|
125
|
+
}
|
|
126
|
+
if (!$slug) {
|
|
127
|
+
throw new Error("slug is required");
|
|
128
|
+
}
|
|
129
|
+
const apiClient = apiClientManager.clientOrThrow();
|
|
130
|
+
return apiClient.retrieveEnvVar($projectRef, $slug, $name, $requestOptions);
|
|
131
|
+
}
|
|
132
|
+
export function del(projectRefOrName, slugOrRequestOptions, name, requestOptions) {
|
|
133
|
+
let $projectRef;
|
|
134
|
+
let $slug;
|
|
135
|
+
let $name;
|
|
136
|
+
const $requestOptions = overloadRequestOptions("del", slugOrRequestOptions, requestOptions);
|
|
137
|
+
if (typeof name === "string") {
|
|
138
|
+
$projectRef = projectRefOrName;
|
|
139
|
+
$slug =
|
|
140
|
+
typeof slugOrRequestOptions === "string"
|
|
141
|
+
? slugOrRequestOptions
|
|
142
|
+
: taskContext.ctx?.environment.slug;
|
|
143
|
+
$name = name;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
$projectRef = taskContext.ctx?.project.ref;
|
|
147
|
+
$slug = taskContext.ctx?.environment.slug;
|
|
148
|
+
$name = projectRefOrName;
|
|
149
|
+
}
|
|
150
|
+
if (!$projectRef) {
|
|
151
|
+
throw new Error("projectRef is required");
|
|
152
|
+
}
|
|
153
|
+
if (!$slug) {
|
|
154
|
+
throw new Error("slug is required");
|
|
155
|
+
}
|
|
156
|
+
const apiClient = apiClientManager.clientOrThrow();
|
|
157
|
+
return apiClient.deleteEnvVar($projectRef, $slug, $name, $requestOptions);
|
|
158
|
+
}
|
|
159
|
+
export function update(projectRefOrName, slugOrParams, nameOrRequestOptions, params, requestOptions) {
|
|
160
|
+
let $projectRef;
|
|
161
|
+
let $slug;
|
|
162
|
+
let $name;
|
|
163
|
+
let $params;
|
|
164
|
+
const $requestOptions = overloadRequestOptions("update", nameOrRequestOptions, requestOptions);
|
|
165
|
+
if (taskContext.ctx) {
|
|
166
|
+
if (typeof slugOrParams === "string") {
|
|
167
|
+
$projectRef = slugOrParams;
|
|
168
|
+
$slug = slugOrParams ?? taskContext.ctx.environment.slug;
|
|
169
|
+
$name =
|
|
170
|
+
typeof nameOrRequestOptions === "string"
|
|
171
|
+
? nameOrRequestOptions
|
|
172
|
+
: taskContext.ctx.environment.slug;
|
|
173
|
+
if (!params) {
|
|
174
|
+
throw new Error("params is required");
|
|
175
|
+
}
|
|
176
|
+
$params = params;
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
$params = slugOrParams;
|
|
180
|
+
$projectRef = taskContext.ctx.project.ref;
|
|
181
|
+
$slug = taskContext.ctx.environment.slug;
|
|
182
|
+
$name = projectRefOrName;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
if (typeof slugOrParams !== "string") {
|
|
187
|
+
throw new Error("slug is required");
|
|
188
|
+
}
|
|
189
|
+
if (!projectRefOrName) {
|
|
190
|
+
throw new Error("projectRef is required");
|
|
191
|
+
}
|
|
192
|
+
if (!params) {
|
|
193
|
+
throw new Error("params is required");
|
|
194
|
+
}
|
|
195
|
+
$projectRef = projectRefOrName;
|
|
196
|
+
$slug = slugOrParams;
|
|
197
|
+
$name = name;
|
|
198
|
+
$params = params;
|
|
199
|
+
}
|
|
200
|
+
const apiClient = apiClientManager.clientOrThrow();
|
|
201
|
+
return apiClient.updateEnvVar($projectRef, $slug, $name, $params, $requestOptions);
|
|
202
|
+
}
|
|
203
|
+
function overloadRequestOptions(name, slugOrRequestOptions, requestOptions) {
|
|
204
|
+
if (isRequestOptions(slugOrRequestOptions)) {
|
|
205
|
+
return mergeRequestOptions({
|
|
206
|
+
tracer,
|
|
207
|
+
name: `envvars.${name}()`,
|
|
208
|
+
icon: "id-badge",
|
|
209
|
+
}, slugOrRequestOptions);
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
return mergeRequestOptions({
|
|
213
|
+
tracer,
|
|
214
|
+
name: `envvars.${name}()`,
|
|
215
|
+
icon: "id-badge",
|
|
216
|
+
}, requestOptions);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=envvars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envvars.js","sourceRoot":"","sources":["../../../src/v3/envvars.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type IdempotencyKey } from "@trigger.dev/core/v3";
|
|
2
|
+
export declare const idempotencyKeys: {
|
|
3
|
+
create: typeof createIdempotencyKey;
|
|
4
|
+
};
|
|
5
|
+
export type { IdempotencyKey };
|
|
6
|
+
export declare function isIdempotencyKey(value: string | string[] | IdempotencyKey): value is IdempotencyKey;
|
|
7
|
+
/**
|
|
8
|
+
* Creates a deterministic idempotency key based on the provided key material.
|
|
9
|
+
*
|
|
10
|
+
* If running inside a task, the task run ID is automatically included in the key material, giving you a unique key per task run.
|
|
11
|
+
* This ensures that a given child task is only triggered once per task run, even if the parent task is retried.
|
|
12
|
+
*
|
|
13
|
+
* @param {string | string[]} key The key material to create the idempotency key from.
|
|
14
|
+
* @param {object} [options] Additional options.
|
|
15
|
+
* @param {"run" | "attempt" | "global"} [options.scope="run"] The scope of the idempotency key.
|
|
16
|
+
*
|
|
17
|
+
* @returns {Promise<IdempotencyKey>} The idempotency key as a branded string.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
*
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import { idempotencyKeys, task } from "@trigger.dev/sdk/v3";
|
|
23
|
+
*
|
|
24
|
+
* export const myTask = task({
|
|
25
|
+
* id: "my-task",
|
|
26
|
+
* run: async (payload: any) => {
|
|
27
|
+
* const idempotencyKey = await idempotencyKeys.create("my-task-key");
|
|
28
|
+
*
|
|
29
|
+
* // Use the idempotency key when triggering child tasks
|
|
30
|
+
* await childTask.triggerAndWait(payload, { idempotencyKey });
|
|
31
|
+
* }
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* 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:
|
|
36
|
+
*
|
|
37
|
+
* ```typescript
|
|
38
|
+
* await idempotencyKeys.create("my-task-key", { scope: "attempt" }); // Creates a key that is unique per task run attempt
|
|
39
|
+
* await idempotencyKeys.create("my-task-key", { scope: "global" }); // Skips including the task run ID
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
declare function createIdempotencyKey(key: string | string[], options?: {
|
|
43
|
+
scope?: "run" | "attempt" | "global";
|
|
44
|
+
}): Promise<IdempotencyKey>;
|