@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,30 @@
|
|
|
1
|
+
import { batchTrigger, batchTriggerAndWait, createTask, createSchemaTask, SubtaskUnwrapError, trigger, triggerAndPoll, triggerAndWait, } from "./shared.js";
|
|
2
|
+
export { SubtaskUnwrapError };
|
|
3
|
+
/** Creates a task that can be triggered
|
|
4
|
+
* @param options - Task options
|
|
5
|
+
* @example
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { task } from "@trigger.dev/sdk/v3";
|
|
9
|
+
*
|
|
10
|
+
* export const helloWorld = task({
|
|
11
|
+
id: "hello-world",
|
|
12
|
+
* run: async (payload: { url: string }) => {
|
|
13
|
+
* return { hello: "world" };
|
|
14
|
+
* },
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @returns A task that can be triggered
|
|
20
|
+
*/
|
|
21
|
+
export const task = createTask;
|
|
22
|
+
export const schemaTask = createSchemaTask;
|
|
23
|
+
export const tasks = {
|
|
24
|
+
trigger,
|
|
25
|
+
triggerAndPoll,
|
|
26
|
+
batchTrigger,
|
|
27
|
+
triggerAndWait,
|
|
28
|
+
batchTriggerAndWait,
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/v3/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAkC9B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAC;AAE/B,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAE3C,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,OAAO;IACP,cAAc;IACd,YAAY;IACZ,cAAc;IACd,mBAAmB;CACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../src/v3/timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;CAC1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../../src/v3/tracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export type ComputeUsage = {
|
|
2
|
+
costInCents: number;
|
|
3
|
+
durationMs: number;
|
|
4
|
+
};
|
|
5
|
+
export type CurrentUsage = {
|
|
6
|
+
compute: {
|
|
7
|
+
attempt: ComputeUsage;
|
|
8
|
+
total: ComputeUsage;
|
|
9
|
+
};
|
|
10
|
+
baseCostInCents: number;
|
|
11
|
+
totalCostInCents: number;
|
|
12
|
+
};
|
|
13
|
+
export declare const usage: {
|
|
14
|
+
/**
|
|
15
|
+
* Get the current running usage of this task run.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
*
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import { usage, task } from "@trigger.dev/sdk/v3";
|
|
21
|
+
*
|
|
22
|
+
* export const myTask = task({
|
|
23
|
+
* id: "my-task",
|
|
24
|
+
* run: async (payload, { ctx }) => {
|
|
25
|
+
* // ... Do a bunch of work
|
|
26
|
+
*
|
|
27
|
+
* const currentUsage = usage.getCurrent();
|
|
28
|
+
*
|
|
29
|
+
* // You have access to the current compute cost and duration up to this point
|
|
30
|
+
* console.log("Current attempt compute cost and duration", {
|
|
31
|
+
* cost: currentUsage.compute.attempt.costInCents,
|
|
32
|
+
* duration: currentUsage.compute.attempt.durationMs,
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* // You also can see the total compute cost and duration up to this point in the run, across all attempts
|
|
36
|
+
* console.log("Current total compute cost and duration", {
|
|
37
|
+
* cost: currentUsage.compute.total.costInCents,
|
|
38
|
+
* duration: currentUsage.compute.total.durationMs,
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* // You can see the base cost of the run, which is the cost of the run before any compute costs
|
|
42
|
+
* console.log("Total cost", {
|
|
43
|
+
* cost: currentUsage.totalCostInCents,
|
|
44
|
+
* baseCost: currentUsage.baseCostInCents,
|
|
45
|
+
* });
|
|
46
|
+
* },
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
getCurrent: () => CurrentUsage;
|
|
51
|
+
/**
|
|
52
|
+
* Measure the cost and duration of a function.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
*
|
|
56
|
+
* ```typescript
|
|
57
|
+
* import { usage } from "@trigger.dev/sdk/v3";
|
|
58
|
+
*
|
|
59
|
+
* export const myTask = task({
|
|
60
|
+
* id: "my-task",
|
|
61
|
+
* run: async (payload, { ctx }) => {
|
|
62
|
+
* const { result, compute } = await usage.measure(async () => {
|
|
63
|
+
* // Do some work
|
|
64
|
+
* return "result";
|
|
65
|
+
* });
|
|
66
|
+
*
|
|
67
|
+
* console.log("Result", result);
|
|
68
|
+
* console.log("Cost and duration", { cost: compute.costInCents, duration: compute.durationMs });
|
|
69
|
+
* },
|
|
70
|
+
* });
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
measure: <T>(cb: () => Promise<T>) => Promise<{
|
|
74
|
+
result: T;
|
|
75
|
+
compute: ComputeUsage;
|
|
76
|
+
}>;
|
|
77
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { usage as usageApi, taskContext } from "@trigger.dev/core/v3";
|
|
2
|
+
export const usage = {
|
|
3
|
+
/**
|
|
4
|
+
* Get the current running usage of this task run.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
*
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { usage, task } from "@trigger.dev/sdk/v3";
|
|
10
|
+
*
|
|
11
|
+
* export const myTask = task({
|
|
12
|
+
* id: "my-task",
|
|
13
|
+
* run: async (payload, { ctx }) => {
|
|
14
|
+
* // ... Do a bunch of work
|
|
15
|
+
*
|
|
16
|
+
* const currentUsage = usage.getCurrent();
|
|
17
|
+
*
|
|
18
|
+
* // You have access to the current compute cost and duration up to this point
|
|
19
|
+
* console.log("Current attempt compute cost and duration", {
|
|
20
|
+
* cost: currentUsage.compute.attempt.costInCents,
|
|
21
|
+
* duration: currentUsage.compute.attempt.durationMs,
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* // You also can see the total compute cost and duration up to this point in the run, across all attempts
|
|
25
|
+
* console.log("Current total compute cost and duration", {
|
|
26
|
+
* cost: currentUsage.compute.total.costInCents,
|
|
27
|
+
* duration: currentUsage.compute.total.durationMs,
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* // You can see the base cost of the run, which is the cost of the run before any compute costs
|
|
31
|
+
* console.log("Total cost", {
|
|
32
|
+
* cost: currentUsage.totalCostInCents,
|
|
33
|
+
* baseCost: currentUsage.baseCostInCents,
|
|
34
|
+
* });
|
|
35
|
+
* },
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
getCurrent: () => {
|
|
40
|
+
const sample = usageApi.sample();
|
|
41
|
+
const machine = taskContext.ctx?.machine;
|
|
42
|
+
const run = taskContext.ctx?.run;
|
|
43
|
+
if (!sample) {
|
|
44
|
+
return {
|
|
45
|
+
compute: {
|
|
46
|
+
attempt: {
|
|
47
|
+
costInCents: 0,
|
|
48
|
+
durationMs: 0,
|
|
49
|
+
},
|
|
50
|
+
total: {
|
|
51
|
+
costInCents: run?.costInCents ?? 0,
|
|
52
|
+
durationMs: run?.durationMs ?? 0,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
baseCostInCents: run?.baseCostInCents ?? 0,
|
|
56
|
+
totalCostInCents: (run?.costInCents ?? 0) + (run?.baseCostInCents ?? 0),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
const currentCostInCents = machine?.centsPerMs ? sample.cpuTime * machine.centsPerMs : 0;
|
|
60
|
+
return {
|
|
61
|
+
compute: {
|
|
62
|
+
attempt: {
|
|
63
|
+
costInCents: currentCostInCents,
|
|
64
|
+
durationMs: sample.cpuTime,
|
|
65
|
+
},
|
|
66
|
+
total: {
|
|
67
|
+
costInCents: (run?.costInCents ?? 0) + currentCostInCents,
|
|
68
|
+
durationMs: (run?.durationMs ?? 0) + sample.cpuTime,
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
baseCostInCents: run?.baseCostInCents ?? 0,
|
|
72
|
+
totalCostInCents: (run?.costInCents ?? 0) + currentCostInCents + (run?.baseCostInCents ?? 0),
|
|
73
|
+
};
|
|
74
|
+
},
|
|
75
|
+
/**
|
|
76
|
+
* Measure the cost and duration of a function.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
*
|
|
80
|
+
* ```typescript
|
|
81
|
+
* import { usage } from "@trigger.dev/sdk/v3";
|
|
82
|
+
*
|
|
83
|
+
* export const myTask = task({
|
|
84
|
+
* id: "my-task",
|
|
85
|
+
* run: async (payload, { ctx }) => {
|
|
86
|
+
* const { result, compute } = await usage.measure(async () => {
|
|
87
|
+
* // Do some work
|
|
88
|
+
* return "result";
|
|
89
|
+
* });
|
|
90
|
+
*
|
|
91
|
+
* console.log("Result", result);
|
|
92
|
+
* console.log("Cost and duration", { cost: compute.costInCents, duration: compute.durationMs });
|
|
93
|
+
* },
|
|
94
|
+
* });
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
measure: async (cb) => {
|
|
98
|
+
const measurement = usageApi.start();
|
|
99
|
+
const result = await cb();
|
|
100
|
+
const sample = usageApi.stop(measurement);
|
|
101
|
+
const machine = taskContext.ctx?.machine;
|
|
102
|
+
const costInCents = machine?.centsPerMs ? sample.cpuTime * machine.centsPerMs : 0;
|
|
103
|
+
return {
|
|
104
|
+
result,
|
|
105
|
+
compute: {
|
|
106
|
+
costInCents,
|
|
107
|
+
durationMs: sample.cpuTime,
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/v3/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAiBtE,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,UAAU,EAAE,GAAiB,EAAE;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;QACzC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;QAEjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,OAAO,EAAE;oBACP,OAAO,EAAE;wBACP,WAAW,EAAE,CAAC;wBACd,UAAU,EAAE,CAAC;qBACd;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,GAAG,EAAE,WAAW,IAAI,CAAC;wBAClC,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC;qBACjC;iBACF;gBACD,eAAe,EAAE,GAAG,EAAE,eAAe,IAAI,CAAC;gBAC1C,gBAAgB,EAAE,CAAC,GAAG,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,IAAI,CAAC,CAAC;aACxE,CAAC;QACJ,CAAC;QAED,MAAM,kBAAkB,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzF,OAAO;YACL,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,WAAW,EAAE,kBAAkB;oBAC/B,UAAU,EAAE,MAAM,CAAC,OAAO;iBAC3B;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,CAAC,GAAG,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,kBAAkB;oBACzD,UAAU,EAAE,CAAC,GAAG,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO;iBACpD;aACF;YACD,eAAe,EAAE,GAAG,EAAE,eAAe,IAAI,CAAC;YAC1C,gBAAgB,EAAE,CAAC,GAAG,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,kBAAkB,GAAG,CAAC,GAAG,EAAE,eAAe,IAAI,CAAC,CAAC;SAC7F,CAAC;IACJ,CAAC;IACD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,EAAE,KAAK,EAAK,EAAoB,EAAiD,EAAE;QACxF,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAErC,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;QAEzC,MAAM,WAAW,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAElF,OAAO;YACL,MAAM;YACN,OAAO,EAAE;gBACP,WAAW;gBACX,UAAU,EAAE,MAAM,CAAC,OAAO;aAC3B;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type WaitOptions = {
|
|
2
|
+
seconds: number;
|
|
3
|
+
} | {
|
|
4
|
+
minutes: number;
|
|
5
|
+
} | {
|
|
6
|
+
hours: number;
|
|
7
|
+
} | {
|
|
8
|
+
days: number;
|
|
9
|
+
} | {
|
|
10
|
+
weeks: number;
|
|
11
|
+
} | {
|
|
12
|
+
months: number;
|
|
13
|
+
} | {
|
|
14
|
+
years: number;
|
|
15
|
+
};
|
|
16
|
+
export declare const wait: {
|
|
17
|
+
for: (options: WaitOptions) => Promise<void>;
|
|
18
|
+
until: (options: {
|
|
19
|
+
date: Date;
|
|
20
|
+
throwIfInThePast?: boolean;
|
|
21
|
+
}) => Promise<void>;
|
|
22
|
+
};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { SemanticInternalAttributes, accessoryAttributes, runtime } from "@trigger.dev/core/v3";
|
|
2
|
+
import { tracer } from "./tracer.js";
|
|
3
|
+
export const wait = {
|
|
4
|
+
for: async (options) => {
|
|
5
|
+
return tracer.startActiveSpan(`wait.for()`, async (span) => {
|
|
6
|
+
const start = Date.now();
|
|
7
|
+
const durationInMs = calculateDurationInMs(options);
|
|
8
|
+
await runtime.waitForDuration(durationInMs);
|
|
9
|
+
}, {
|
|
10
|
+
attributes: {
|
|
11
|
+
[SemanticInternalAttributes.STYLE_ICON]: "wait",
|
|
12
|
+
...accessoryAttributes({
|
|
13
|
+
items: [
|
|
14
|
+
{
|
|
15
|
+
text: nameForWaitOptions(options),
|
|
16
|
+
variant: "normal",
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
style: "codepath",
|
|
20
|
+
}),
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
until: async (options) => {
|
|
25
|
+
return tracer.startActiveSpan(`wait.until()`, async (span) => {
|
|
26
|
+
const start = Date.now();
|
|
27
|
+
if (options.throwIfInThePast && options.date < new Date()) {
|
|
28
|
+
throw new Error("Date is in the past");
|
|
29
|
+
}
|
|
30
|
+
const durationInMs = options.date.getTime() - start;
|
|
31
|
+
await runtime.waitForDuration(durationInMs);
|
|
32
|
+
}, {
|
|
33
|
+
attributes: {
|
|
34
|
+
[SemanticInternalAttributes.STYLE_ICON]: "wait",
|
|
35
|
+
...accessoryAttributes({
|
|
36
|
+
items: [
|
|
37
|
+
{
|
|
38
|
+
text: options.date.toISOString(),
|
|
39
|
+
variant: "normal",
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
style: "codepath",
|
|
43
|
+
}),
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
function nameForWaitOptions(options) {
|
|
49
|
+
if ("seconds" in options) {
|
|
50
|
+
return options.seconds === 1 ? `1 second` : `${options.seconds} seconds`;
|
|
51
|
+
}
|
|
52
|
+
if ("minutes" in options) {
|
|
53
|
+
return options.minutes === 1 ? `1 minute` : `${options.minutes} minutes`;
|
|
54
|
+
}
|
|
55
|
+
if ("hours" in options) {
|
|
56
|
+
return options.hours === 1 ? `1 hour` : `${options.hours} hours`;
|
|
57
|
+
}
|
|
58
|
+
if ("days" in options) {
|
|
59
|
+
return options.days === 1 ? `1 day` : `${options.days} days`;
|
|
60
|
+
}
|
|
61
|
+
if ("weeks" in options) {
|
|
62
|
+
return options.weeks === 1 ? `1 week` : `${options.weeks} weeks`;
|
|
63
|
+
}
|
|
64
|
+
if ("months" in options) {
|
|
65
|
+
return options.months === 1 ? `1 month` : `${options.months} months`;
|
|
66
|
+
}
|
|
67
|
+
if ("years" in options) {
|
|
68
|
+
return options.years === 1 ? `1 year` : `${options.years} years`;
|
|
69
|
+
}
|
|
70
|
+
return "NaN";
|
|
71
|
+
}
|
|
72
|
+
function calculateDurationInMs(options) {
|
|
73
|
+
if ("seconds" in options) {
|
|
74
|
+
return options.seconds * 1000;
|
|
75
|
+
}
|
|
76
|
+
if ("minutes" in options) {
|
|
77
|
+
return options.minutes * 1000 * 60;
|
|
78
|
+
}
|
|
79
|
+
if ("hours" in options) {
|
|
80
|
+
return options.hours * 1000 * 60 * 60;
|
|
81
|
+
}
|
|
82
|
+
if ("days" in options) {
|
|
83
|
+
return options.days * 1000 * 60 * 60 * 24;
|
|
84
|
+
}
|
|
85
|
+
if ("weeks" in options) {
|
|
86
|
+
return options.weeks * 1000 * 60 * 60 * 24 * 7;
|
|
87
|
+
}
|
|
88
|
+
if ("months" in options) {
|
|
89
|
+
return options.months * 1000 * 60 * 60 * 24 * 30;
|
|
90
|
+
}
|
|
91
|
+
if ("years" in options) {
|
|
92
|
+
return options.years * 1000 * 60 * 60 * 24 * 365;
|
|
93
|
+
}
|
|
94
|
+
throw new Error("Invalid options");
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=wait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/v3/wait.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VERSION = "0.0.0";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
|
@@ -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,99 @@
|
|
|
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
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return flattenedPermissions;
|
|
98
|
+
}
|
|
99
|
+
//# 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;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
+
import { 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">;
|
|
5
|
+
export type { IdempotencyKey };
|
|
10
6
|
export declare function isIdempotencyKey(value: string | string[] | IdempotencyKey): value is IdempotencyKey;
|
|
11
7
|
/**
|
|
12
8
|
* Creates a deterministic idempotency key based on the provided key material.
|
|
@@ -46,4 +42,3 @@ export declare function isIdempotencyKey(value: string | string[] | IdempotencyK
|
|
|
46
42
|
declare function createIdempotencyKey(key: string | string[], options?: {
|
|
47
43
|
scope?: "run" | "attempt" | "global";
|
|
48
44
|
}): Promise<IdempotencyKey>;
|
|
49
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idempotencyKeys.js","sourceRoot":"","sources":["../../../src/v3/idempotencyKeys.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"idempotencyKeys.js","sourceRoot":"","sources":["../../../src/v3/idempotencyKeys.ts"],"names":[],"mappings":";;;AAQA,4CAKC;AAbD,6CAAwE;AAE3D,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,oBAAoB;CAC7B,CAAC;AAIF,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"}
|