@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.
- package/dist/commonjs/triggers/invokeTrigger.d.ts +1 -1
- package/dist/commonjs/types.d.ts +4 -4
- package/dist/commonjs/v3/auth.d.ts +104 -0
- package/dist/commonjs/v3/auth.js +102 -0
- package/dist/commonjs/v3/auth.js.map +1 -0
- package/dist/commonjs/v3/idempotencyKeys.d.ts +2 -46
- package/dist/commonjs/v3/idempotencyKeys.js +1 -69
- package/dist/commonjs/v3/idempotencyKeys.js.map +1 -1
- package/dist/commonjs/v3/index.d.ts +4 -19
- package/dist/commonjs/v3/index.js +18 -35
- package/dist/commonjs/v3/index.js.map +1 -1
- package/dist/commonjs/v3/metadata.d.ts +75 -12
- package/dist/commonjs/v3/metadata.js +93 -53
- package/dist/commonjs/v3/metadata.js.map +1 -1
- package/dist/commonjs/v3/runs.d.ts +33 -756
- package/dist/commonjs/v3/runs.js +12 -1
- package/dist/commonjs/v3/runs.js.map +1 -1
- package/dist/commonjs/v3/shared.d.ts +10 -380
- package/dist/commonjs/v3/shared.js +125 -68
- package/dist/commonjs/v3/shared.js.map +1 -1
- package/dist/commonjs/v3/tasks.d.ts +6 -5
- package/dist/commonjs/v3/tasks.js +4 -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/v3/waitUntil.d.ts +9 -0
- package/dist/commonjs/v3/waitUntil.js +16 -0
- package/dist/commonjs/v3/waitUntil.js.map +1 -0
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/auth.d.ts +104 -0
- package/dist/esm/v3/auth.js +98 -0
- package/dist/esm/v3/auth.js.map +1 -0
- package/dist/esm/v3/idempotencyKeys.d.ts +2 -46
- package/dist/esm/v3/idempotencyKeys.js +1 -68
- package/dist/esm/v3/idempotencyKeys.js.map +1 -1
- package/dist/esm/v3/index-browser.d.mts +2 -0
- package/dist/esm/v3/index-browser.mjs +3 -0
- package/dist/esm/v3/index.d.ts +4 -19
- package/dist/esm/v3/index.js +4 -22
- package/dist/esm/v3/index.js.map +1 -1
- package/dist/esm/v3/metadata.d.ts +75 -12
- package/dist/esm/v3/metadata.js +94 -54
- package/dist/esm/v3/metadata.js.map +1 -1
- package/dist/esm/v3/runs.d.ts +61 -784
- package/dist/esm/v3/runs.js +12 -1
- package/dist/esm/v3/runs.js.map +1 -1
- package/dist/esm/v3/shared.d.ts +10 -380
- package/dist/esm/v3/shared.js +121 -65
- package/dist/esm/v3/shared.js.map +1 -1
- package/dist/esm/v3/tasks.d.ts +6 -5
- package/dist/esm/v3/tasks.js +4 -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/v3/waitUntil.d.ts +9 -0
- package/dist/esm/v3/waitUntil.js +13 -0
- package/dist/esm/v3/waitUntil.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/package.json +9 -5
- package/dist/browser/apiClient.d.ts +0 -737
- package/dist/browser/apiClient.js +0 -687
- package/dist/browser/apiClient.js.map +0 -1
- package/dist/browser/concurrencyLimit.d.ts +0 -10
- package/dist/browser/concurrencyLimit.js +0 -13
- package/dist/browser/concurrencyLimit.js.map +0 -1
- package/dist/browser/errors.d.ts +0 -66
- package/dist/browser/errors.js +0 -95
- package/dist/browser/errors.js.map +0 -1
- package/dist/browser/httpEndpoint.d.ts +0 -87
- package/dist/browser/httpEndpoint.js +0 -125
- package/dist/browser/httpEndpoint.js.map +0 -1
- package/dist/browser/index.d.ts +0 -23
- package/dist/browser/index.js +0 -35
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/integrations.d.ts +0 -11
- package/dist/browser/integrations.js +0 -2
- package/dist/browser/integrations.js.map +0 -1
- package/dist/browser/io.d.ts +0 -453
- package/dist/browser/io.js +0 -1159
- package/dist/browser/io.js.map +0 -1
- package/dist/browser/ioWithIntegrations.d.ts +0 -4
- package/dist/browser/ioWithIntegrations.js +0 -29
- package/dist/browser/ioWithIntegrations.js.map +0 -1
- package/dist/browser/job.d.ts +0 -96
- package/dist/browser/job.js +0 -206
- package/dist/browser/job.js.map +0 -1
- package/dist/browser/retry.d.ts +0 -20
- package/dist/browser/retry.js +0 -19
- package/dist/browser/retry.js.map +0 -1
- package/dist/browser/runLocalStorage.d.ts +0 -8
- package/dist/browser/runLocalStorage.js +0 -3
- package/dist/browser/runLocalStorage.js.map +0 -1
- package/dist/browser/security.d.ts +0 -18
- package/dist/browser/security.js +0 -34
- package/dist/browser/security.js.map +0 -1
- package/dist/browser/status.d.ts +0 -19
- package/dist/browser/status.js +0 -34
- package/dist/browser/status.js.map +0 -1
- package/dist/browser/store/keyValueStore.d.ts +0 -17
- package/dist/browser/store/keyValueStore.js +0 -134
- package/dist/browser/store/keyValueStore.js.map +0 -1
- package/dist/browser/store/keyValueStoreClient.d.ts +0 -19
- package/dist/browser/store/keyValueStoreClient.js +0 -61
- package/dist/browser/store/keyValueStoreClient.js.map +0 -1
- package/dist/browser/triggerClient.d.ts +0 -300
- package/dist/browser/triggerClient.js +0 -1359
- package/dist/browser/triggerClient.js.map +0 -1
- package/dist/browser/triggers/dynamic.d.ts +0 -56
- package/dist/browser/triggers/dynamic.js +0 -93
- package/dist/browser/triggers/dynamic.js.map +0 -1
- package/dist/browser/triggers/eventTrigger.d.ts +0 -58
- package/dist/browser/triggers/eventTrigger.js +0 -64
- package/dist/browser/triggers/eventTrigger.js.map +0 -1
- package/dist/browser/triggers/externalSource.d.ts +0 -148
- package/dist/browser/triggers/externalSource.js +0 -100
- package/dist/browser/triggers/externalSource.js.map +0 -1
- package/dist/browser/triggers/invokeTrigger.d.ts +0 -39
- package/dist/browser/triggers/invokeTrigger.js +0 -53
- package/dist/browser/triggers/invokeTrigger.js.map +0 -1
- package/dist/browser/triggers/notifications.d.ts +0 -111
- package/dist/browser/triggers/notifications.js +0 -94
- package/dist/browser/triggers/notifications.js.map +0 -1
- package/dist/browser/triggers/scheduled.d.ts +0 -145
- package/dist/browser/triggers/scheduled.js +0 -197
- package/dist/browser/triggers/scheduled.js.map +0 -1
- package/dist/browser/triggers/webhook.d.ts +0 -143
- package/dist/browser/triggers/webhook.js +0 -128
- package/dist/browser/triggers/webhook.js.map +0 -1
- package/dist/browser/typed-emitter.d.ts +0 -37
- package/dist/browser/typed-emitter.js +0 -2
- package/dist/browser/typed-emitter.js.map +0 -1
- package/dist/browser/types.d.ts +0 -204
- package/dist/browser/types.js +0 -19
- package/dist/browser/types.js.map +0 -1
- package/dist/browser/utils/formatSchemaErrors.d.ts +0 -3
- package/dist/browser/utils/formatSchemaErrors.js +0 -7
- package/dist/browser/utils/formatSchemaErrors.js.map +0 -1
- package/dist/browser/utils/typedAsyncLocalStorage.d.ts +0 -6
- package/dist/browser/utils/typedAsyncLocalStorage.js +0 -14
- package/dist/browser/utils/typedAsyncLocalStorage.js.map +0 -1
- package/dist/browser/utils.d.ts +0 -1
- package/dist/browser/utils.js +0 -8
- package/dist/browser/utils.js.map +0 -1
- package/dist/browser/v3/cache.d.ts +0 -28
- package/dist/browser/v3/cache.js +0 -58
- package/dist/browser/v3/cache.js.map +0 -1
- package/dist/browser/v3/config.d.ts +0 -4
- package/dist/browser/v3/config.js +0 -4
- package/dist/browser/v3/config.js.map +0 -1
- package/dist/browser/v3/envvars.d.ts +0 -14
- package/dist/browser/v3/envvars.js +0 -219
- package/dist/browser/v3/envvars.js.map +0 -1
- package/dist/browser/v3/idempotencyKeys.d.ts +0 -44
- package/dist/browser/v3/idempotencyKeys.js +0 -72
- package/dist/browser/v3/idempotencyKeys.js.map +0 -1
- package/dist/browser/v3/index.d.ts +0 -21
- package/dist/browser/v3/index.js +0 -17
- package/dist/browser/v3/metadata.d.ts +0 -87
- package/dist/browser/v3/metadata.js +0 -105
- package/dist/browser/v3/metadata.js.map +0 -1
- package/dist/browser/v3/retry.d.ts +0 -15
- package/dist/browser/v3/retry.js +0 -408
- package/dist/browser/v3/retry.js.map +0 -1
- package/dist/browser/v3/runs.d.ts +0 -180
- package/dist/browser/v3/runs.js +0 -204
- package/dist/browser/v3/runs.js.map +0 -1
- package/dist/browser/v3/schedules/api.d.ts +0 -1
- package/dist/browser/v3/schedules/api.js +0 -2
- package/dist/browser/v3/schedules/api.js.map +0 -1
- package/dist/browser/v3/schedules/index.d.ts +0 -87
- package/dist/browser/v3/schedules/index.js +0 -215
- package/dist/browser/v3/schedules/index.js.map +0 -1
- package/dist/browser/v3/shared.d.ts +0 -90
- package/dist/browser/v3/shared.js +0 -546
- package/dist/browser/v3/shared.js.map +0 -1
- package/dist/browser/v3/tags.d.ts +0 -6
- package/dist/browser/v3/tags.js +0 -43
- package/dist/browser/v3/tags.js.map +0 -1
- package/dist/browser/v3/tasks.d.ts +0 -31
- package/dist/browser/v3/tasks.js +0 -30
- package/dist/browser/v3/tasks.js.map +0 -1
- package/dist/browser/v3/timeout.d.ts +0 -4
- package/dist/browser/v3/timeout.js +0 -7
- package/dist/browser/v3/timeout.js.map +0 -1
- package/dist/browser/v3/tracer.d.ts +0 -2
- package/dist/browser/v3/tracer.js +0 -4
- package/dist/browser/v3/tracer.js.map +0 -1
- package/dist/browser/v3/usage.d.ts +0 -77
- package/dist/browser/v3/usage.js +0 -112
- package/dist/browser/v3/usage.js.map +0 -1
- package/dist/browser/v3/wait.d.ts +0 -22
- package/dist/browser/v3/wait.js +0 -96
- package/dist/browser/v3/wait.js.map +0 -1
- package/dist/browser/version.d.ts +0 -1
- package/dist/browser/version.js +0 -2
- package/dist/browser/version.js.map +0 -1
- /package/dist/{browser → esm}/v3/index-browser.mjs.map +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
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
|
+
else if (typeof value === "boolean" && value) {
|
|
90
|
+
flattenedPermissions.push(`${action}:${property}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return flattenedPermissions;
|
|
97
|
+
}
|
|
98
|
+
//# 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;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
|
-
|
|
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,72 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createIdempotencyKey } from "@trigger.dev/core/v3";
|
|
2
2
|
export const idempotencyKeys = {
|
|
3
3
|
create: createIdempotencyKey,
|
|
4
4
|
};
|
|
5
|
-
export function isIdempotencyKey(value) {
|
|
6
|
-
// Cannot check the brand at runtime because it doesn't exist (it's a TypeScript-only construct)
|
|
7
|
-
return typeof value === "string" && value.length === 64;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Creates a deterministic idempotency key based on the provided key material.
|
|
11
|
-
*
|
|
12
|
-
* If running inside a task, the task run ID is automatically included in the key material, giving you a unique key per task run.
|
|
13
|
-
* This ensures that a given child task is only triggered once per task run, even if the parent task is retried.
|
|
14
|
-
*
|
|
15
|
-
* @param {string | string[]} key The key material to create the idempotency key from.
|
|
16
|
-
* @param {object} [options] Additional options.
|
|
17
|
-
* @param {"run" | "attempt" | "global"} [options.scope="run"] The scope of the idempotency key.
|
|
18
|
-
*
|
|
19
|
-
* @returns {Promise<IdempotencyKey>} The idempotency key as a branded string.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
*
|
|
23
|
-
* ```typescript
|
|
24
|
-
* import { idempotencyKeys, task } from "@trigger.dev/sdk/v3";
|
|
25
|
-
*
|
|
26
|
-
* export const myTask = task({
|
|
27
|
-
* id: "my-task",
|
|
28
|
-
* run: async (payload: any) => {
|
|
29
|
-
* const idempotencyKey = await idempotencyKeys.create("my-task-key");
|
|
30
|
-
*
|
|
31
|
-
* // Use the idempotency key when triggering child tasks
|
|
32
|
-
* await childTask.triggerAndWait(payload, { idempotencyKey });
|
|
33
|
-
* }
|
|
34
|
-
* });
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* 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:
|
|
38
|
-
*
|
|
39
|
-
* ```typescript
|
|
40
|
-
* await idempotencyKeys.create("my-task-key", { scope: "attempt" }); // Creates a key that is unique per task run attempt
|
|
41
|
-
* await idempotencyKeys.create("my-task-key", { scope: "global" }); // Skips including the task run ID
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
async function createIdempotencyKey(key, options) {
|
|
45
|
-
const idempotencyKey = await generateIdempotencyKey([...(Array.isArray(key) ? key : [key])].concat(injectScope(options?.scope ?? "run")));
|
|
46
|
-
return idempotencyKey;
|
|
47
|
-
}
|
|
48
|
-
function injectScope(scope) {
|
|
49
|
-
switch (scope) {
|
|
50
|
-
case "run": {
|
|
51
|
-
if (taskContext?.ctx) {
|
|
52
|
-
return [taskContext.ctx.run.id];
|
|
53
|
-
}
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
case "attempt": {
|
|
57
|
-
if (taskContext?.ctx) {
|
|
58
|
-
return [taskContext.ctx.attempt.id];
|
|
59
|
-
}
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return [];
|
|
64
|
-
}
|
|
65
|
-
async function generateIdempotencyKey(keyMaterial) {
|
|
66
|
-
const hash = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(keyMaterial.join("-")));
|
|
67
|
-
// Return a hex string, using cross-runtime compatible methods
|
|
68
|
-
return Array.from(new Uint8Array(hash))
|
|
69
|
-
.map((byte) => byte.toString(16).padStart(2, "0"))
|
|
70
|
-
.join("");
|
|
71
|
-
}
|
|
72
5
|
//# sourceMappingURL=idempotencyKeys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idempotencyKeys.js","sourceRoot":"","sources":["../../../src/v3/idempotencyKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"idempotencyKeys.js","sourceRoot":"","sources":["../../../src/v3/idempotencyKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,sBAAsB,CAAC;AAEjF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,oBAAoB;CAC7B,CAAC"}
|
package/dist/esm/v3/index.d.ts
CHANGED
|
@@ -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";
|
package/dist/esm/v3/index.js
CHANGED
|
@@ -4,34 +4,16 @@ export { retry } 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";
|
|
12
|
-
|
|
13
|
+
export * from "./waitUntil.js";
|
|
13
14
|
export { ApiError, AuthenticationError, BadRequestError, ConflictError, InternalServerError, NotFoundError, PermissionDeniedError, RateLimitError, UnprocessableEntityError, AbortTaskRunError, logger, } from "@trigger.dev/core/v3";
|
|
14
|
-
export { runs } from "./runs.js";
|
|
15
|
+
export { runs, } from "./runs.js";
|
|
15
16
|
export * as schedules from "./schedules/index.js";
|
|
16
17
|
export * as envvars from "./envvars.js";
|
|
17
|
-
|
|
18
|
-
* Register the global API client configuration. Alternatively, you can set the `TRIGGER_SECRET_KEY` and `TRIGGER_API_URL` environment variables.
|
|
19
|
-
* @param options The API client configuration.
|
|
20
|
-
* @param options.baseURL The base URL of the Trigger API. (default: `https://api.trigger.dev`)
|
|
21
|
-
* @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.
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
*
|
|
25
|
-
* ```typescript
|
|
26
|
-
* import { configure } from "@trigger.dev/sdk/v3";
|
|
27
|
-
*
|
|
28
|
-
* configure({
|
|
29
|
-
* baseURL: "https://api.trigger.dev",
|
|
30
|
-
* secretKey: "tr_dev_1234567890"
|
|
31
|
-
* });
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
export function configure(options) {
|
|
35
|
-
apiClientManager.setGlobalAPIClientConfiguration(options);
|
|
36
|
-
}
|
|
18
|
+
export { configure, auth } from "./auth.js";
|
|
37
19
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/v3/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v3/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v3/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAS/B,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,MAAM,GAEP,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,IAAI,GAOL,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAGxC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -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
|
-
*
|
|
58
|
+
* metadata.set("progress", 0.5);
|
|
54
59
|
*/
|
|
55
|
-
declare function setMetadataKey(key: string, value: DeserializedJson
|
|
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
|
-
*
|
|
67
|
+
* metadata.del("progress");
|
|
65
68
|
*/
|
|
66
|
-
declare function deleteMetadataKey(key: string
|
|
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
|
-
* @
|
|
73
|
-
* @returns {Promise<void>} A promise that resolves when the metadata is updated.
|
|
75
|
+
* @returns {void}
|
|
74
76
|
*
|
|
75
77
|
* @example
|
|
76
|
-
*
|
|
78
|
+
* metadata.replace({ progress: 0.6, user: { name: "Alice", id: "user_5678" } });
|
|
77
79
|
*/
|
|
78
|
-
declare function
|
|
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 {};
|
package/dist/esm/v3/metadata.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { mergeRequestOptions, runMetadata, } from "@trigger.dev/core/v3";
|
|
2
2
|
import { tracer } from "./tracer.js";
|
|
3
3
|
/**
|
|
4
4
|
* Provides access to run metadata operations.
|
|
@@ -15,6 +15,13 @@ export const metadata = {
|
|
|
15
15
|
set: setMetadataKey,
|
|
16
16
|
del: deleteMetadataKey,
|
|
17
17
|
save: saveMetadata,
|
|
18
|
+
replace: replaceMetadata,
|
|
19
|
+
flush: flushMetadata,
|
|
20
|
+
stream: stream,
|
|
21
|
+
append: appendMetadataKey,
|
|
22
|
+
remove: removeMetadataKey,
|
|
23
|
+
increment: incrementMetadataKey,
|
|
24
|
+
decrement: decrementMetadataKey,
|
|
18
25
|
};
|
|
19
26
|
/**
|
|
20
27
|
* Returns the metadata of the current run if inside a task run.
|
|
@@ -49,82 +56,115 @@ function getMetadataKey(key) {
|
|
|
49
56
|
*
|
|
50
57
|
* @param {string} key - The key to set in the metadata.
|
|
51
58
|
* @param {DeserializedJson} value - The value to associate with the key.
|
|
52
|
-
* @param {ApiRequestOptions} [requestOptions] - Optional API request options.
|
|
53
|
-
* @returns {Promise<void>} A promise that resolves when the metadata is updated.
|
|
54
59
|
*
|
|
55
60
|
* @example
|
|
56
|
-
*
|
|
61
|
+
* metadata.set("progress", 0.5);
|
|
57
62
|
*/
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
tracer,
|
|
61
|
-
name: "metadata.set()",
|
|
62
|
-
icon: "code-plus",
|
|
63
|
-
attributes: {
|
|
64
|
-
...accessoryAttributes({
|
|
65
|
-
items: [
|
|
66
|
-
{
|
|
67
|
-
text: key,
|
|
68
|
-
variant: "normal",
|
|
69
|
-
},
|
|
70
|
-
],
|
|
71
|
-
style: "codepath",
|
|
72
|
-
}),
|
|
73
|
-
...flattenAttributes(value, key),
|
|
74
|
-
},
|
|
75
|
-
}, requestOptions);
|
|
76
|
-
await runMetadata.setKey(key, value, $requestOptions);
|
|
63
|
+
function setMetadataKey(key, value) {
|
|
64
|
+
runMetadata.setKey(key, value);
|
|
77
65
|
}
|
|
78
66
|
/**
|
|
79
67
|
* Delete a key from the metadata of the current run if inside a task run.
|
|
80
68
|
*
|
|
81
69
|
* @param {string} key - The key to delete from the metadata.
|
|
82
|
-
* @param {ApiRequestOptions} [requestOptions] - Optional API request options.
|
|
83
|
-
* @returns {Promise<void>} A promise that resolves when the key is deleted from the metadata.
|
|
84
70
|
*
|
|
85
71
|
* @example
|
|
86
|
-
*
|
|
72
|
+
* metadata.del("progress");
|
|
87
73
|
*/
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
tracer,
|
|
91
|
-
name: "metadata.del()",
|
|
92
|
-
icon: "code-minus",
|
|
93
|
-
attributes: {
|
|
94
|
-
...accessoryAttributes({
|
|
95
|
-
items: [
|
|
96
|
-
{
|
|
97
|
-
text: key,
|
|
98
|
-
variant: "normal",
|
|
99
|
-
},
|
|
100
|
-
],
|
|
101
|
-
style: "codepath",
|
|
102
|
-
}),
|
|
103
|
-
key,
|
|
104
|
-
},
|
|
105
|
-
}, requestOptions);
|
|
106
|
-
await runMetadata.deleteKey(key, $requestOptions);
|
|
74
|
+
function deleteMetadataKey(key) {
|
|
75
|
+
runMetadata.deleteKey(key);
|
|
107
76
|
}
|
|
108
77
|
/**
|
|
109
78
|
* Update the entire metadata object for the current run if inside a task run.
|
|
110
79
|
* This function allows you to replace the entire metadata object with a new one.
|
|
111
80
|
*
|
|
112
81
|
* @param {RunMetadata} metadata - The new metadata object to set for the run.
|
|
113
|
-
* @
|
|
114
|
-
*
|
|
82
|
+
* @returns {void}
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* metadata.replace({ progress: 0.6, user: { name: "Alice", id: "user_5678" } });
|
|
86
|
+
*/
|
|
87
|
+
function replaceMetadata(metadata) {
|
|
88
|
+
runMetadata.update(metadata);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @deprecated Use `metadata.replace()` instead.
|
|
92
|
+
*/
|
|
93
|
+
function saveMetadata(metadata) {
|
|
94
|
+
runMetadata.update(metadata);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Increments a numeric value in the metadata of the current run by the specified amount.
|
|
98
|
+
* This function allows you to atomically increment a numeric metadata value.
|
|
99
|
+
*
|
|
100
|
+
* @param {string} key - The key of the numeric value to increment.
|
|
101
|
+
* @param {number} value - The amount to increment the value by.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* metadata.increment("counter", 1); // Increments counter by 1
|
|
105
|
+
* metadata.increment("score", 10); // Increments score by 10
|
|
106
|
+
*/
|
|
107
|
+
function incrementMetadataKey(key, value = 1) {
|
|
108
|
+
runMetadata.incrementKey(key, value);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Decrements a numeric value in the metadata of the current run by the specified amount.
|
|
112
|
+
* This function allows you to atomically decrement a numeric metadata value.
|
|
113
|
+
*
|
|
114
|
+
* @param {string} key - The key of the numeric value to decrement.
|
|
115
|
+
* @param {number} value - The amount to decrement the value by.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* metadata.decrement("counter", 1); // Decrements counter by 1
|
|
119
|
+
* metadata.decrement("score", 5); // Decrements score by 5
|
|
120
|
+
*/
|
|
121
|
+
function decrementMetadataKey(key, value = 1) {
|
|
122
|
+
runMetadata.decrementKey(key, value);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Appends a value to an array in the metadata of the current run.
|
|
126
|
+
* If the key doesn't exist, it creates a new array with the value.
|
|
127
|
+
* If the key exists but isn't an array, it converts the existing value to an array.
|
|
128
|
+
*
|
|
129
|
+
* @param {string} key - The key of the array in metadata.
|
|
130
|
+
* @param {DeserializedJson} value - The value to append to the array.
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* metadata.append("logs", "User logged in");
|
|
134
|
+
* metadata.append("events", { type: "click", timestamp: Date.now() });
|
|
135
|
+
*/
|
|
136
|
+
function appendMetadataKey(key, value) {
|
|
137
|
+
runMetadata.appendKey(key, value);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Removes a value from an array in the metadata of the current run.
|
|
141
|
+
*
|
|
142
|
+
* @param {string} key - The key of the array in metadata.
|
|
143
|
+
* @param {DeserializedJson} value - The value to remove from the array.
|
|
115
144
|
*
|
|
116
145
|
* @example
|
|
117
|
-
*
|
|
146
|
+
*
|
|
147
|
+
* metadata.remove("logs", "User logged in");
|
|
148
|
+
* metadata.remove("events", { type: "click", timestamp: Date.now() });
|
|
118
149
|
*/
|
|
119
|
-
|
|
150
|
+
function removeMetadataKey(key, value) {
|
|
151
|
+
runMetadata.removeFromKey(key, value);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Flushes metadata to the Trigger.dev instance
|
|
155
|
+
*
|
|
156
|
+
* @param {ApiRequestOptions} [requestOptions] - Optional request options to customize the API request.
|
|
157
|
+
* @returns {Promise<void>} A promise that resolves when the metadata flush operation is complete.
|
|
158
|
+
*/
|
|
159
|
+
async function flushMetadata(requestOptions) {
|
|
120
160
|
const $requestOptions = mergeRequestOptions({
|
|
121
161
|
tracer,
|
|
122
|
-
name: "metadata.
|
|
162
|
+
name: "metadata.flush()",
|
|
123
163
|
icon: "code-plus",
|
|
124
|
-
attributes: {
|
|
125
|
-
...flattenAttributes(metadata),
|
|
126
|
-
},
|
|
127
164
|
}, requestOptions);
|
|
128
|
-
await runMetadata.
|
|
165
|
+
await runMetadata.flush($requestOptions);
|
|
166
|
+
}
|
|
167
|
+
async function stream(key, value, signal) {
|
|
168
|
+
return runMetadata.stream(key, value, signal);
|
|
129
169
|
}
|
|
130
170
|
//# sourceMappingURL=metadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/v3/metadata.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/v3/metadata.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,mBAAmB,EACnB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,eAAe;IACxB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,eAAe;IACxB,KAAK,EAAE,aAAa;IACpB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,iBAAiB;IACzB,SAAS,EAAE,oBAAoB;IAC/B,SAAS,EAAE,oBAAoB;CAChC,CAAC;AAIF;;;;;;;;;GASG;AACH,SAAS,eAAe;IACtB,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,GAAW,EAAE,KAAuB;IAC1D,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAC,QAAqB;IAC5C,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,QAAqB;IACzC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAAC,GAAW,EAAE,QAAgB,CAAC;IAC1D,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAAC,GAAW,EAAE,QAAgB,CAAC;IAC1D,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,iBAAiB,CAAC,GAAW,EAAE,KAAuB;IAC7D,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,GAAW,EAAE,KAAuB;IAC7D,WAAW,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,cAAkC;IAC7D,MAAM,eAAe,GAAG,mBAAmB,CACzC;QACE,MAAM;QACN,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,WAAW;KAClB,EACD,cAAc,CACf,CAAC;IAEF,MAAM,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,MAAM,CACnB,GAAW,EACX,KAA2C,EAC3C,MAAoB;IAEpB,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC"}
|