Fix for short runs inside (batch)triggerAndWait (#1263)

* Test for checkpoints

* Make sourceTaskAttemptId optional on resumeBatchRun

* Removed all completions/executions logic from the shared queue consumer

* Removed the sourceTaskAttemptId from ResumeBatchRunService

* Revert "Removed all completions/executions logic from the shared queue consumer"

This reverts commit d35398d50463c81a1975bb5d5bcfca66a24b8ede.

* WIP on triggerAndWait…

* Fixed triggerAndWait continuing when a checkpoint completes

* Remove the ResumeAttempt code that fails attempts (was protecting against infinite restores)

* Removed messageBody.data.completedAttemptIds.length === 0 commented out code

* Don’t ack if there’s no batchRun

* Added the marqs?.replaceMessage back in but NOT when there’s no checkpoint. More logging

This is a fix for when some attempts fail

* Improvement to the test task that now randomly fails attempts

* When a checkpoint happens, only continue the attempt if it’s in the correct state

* Changeset for rollback in branch

* Set keepRunAlive to false when the dependent task isn’t finished

* Changeset manual version (to get inline with the hotfix branch)

* Changeset: Fixes for continuing after waits

* Latest lockfile (after manual changeset version)
This commit is contained in:
Matt Aitken
2024-08-20 13:57:08 +01:00
committed by GitHub
parent a64064965d
commit 0591db5f2b
76 changed files with 633 additions and 230 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"@trigger.dev/sdk": patch
---
Fixes for continuing after waits
+5
View File
@@ -0,0 +1,5 @@
---
"@trigger.dev/sdk": patch
---
Rollback to try and fix some dependent attempt issues
+1
View File
@@ -97,6 +97,7 @@
"light-bulldogs-press",
"light-dragons-complain",
"little-crabs-cross",
"long-feet-invent",
"long-fireants-search",
"long-hounds-wave",
"loud-actors-remember",
+1 -2
View File
@@ -131,7 +131,6 @@ const workerCatalog = {
}),
"v3.resumeBatchRun": z.object({
batchRunId: z.string(),
sourceTaskAttemptId: z.string(),
}),
"v3.resumeTaskDependency": z.object({
dependencyId: z.string(),
@@ -550,7 +549,7 @@ function getWorkerQueue() {
handler: async (payload, job) => {
const service = new ResumeBatchRunService();
return await service.call(payload.batchRunId, payload.sourceTaskAttemptId);
return await service.call(payload.batchRunId);
},
},
"v3.resumeTaskDependency": {
@@ -617,16 +617,6 @@ export class SharedQueueConsumer {
return;
}
if (messageBody.data.completedAttemptIds.length < 1) {
logger.error("No attempt IDs provided", {
queueMessage: message.data,
messageId: message.messageId,
});
await this.#ackAndDoMoreWork(message.messageId);
return;
}
const resumableRun = await prisma.taskRun.findUnique({
where: {
id: message.messageId,
@@ -2,11 +2,19 @@ import { CoordinatorToPlatformMessages } from "@trigger.dev/core/v3";
import type { InferSocketMessageSchema } from "@trigger.dev/core/v3/zodSocket";
import type { Checkpoint, CheckpointRestoreEvent } from "@trigger.dev/database";
import { logger } from "~/services/logger.server";
import { generateFriendlyId } from "../friendlyIdentifiers";
import { marqs } from "~/v3/marqs/index.server";
import { CreateCheckpointRestoreEventService } from "./createCheckpointRestoreEvent.server";
import { generateFriendlyId } from "../friendlyIdentifiers";
import {
FINAL_ATTEMPT_STATUSES,
isFinalAttemptStatus,
isFinalRunStatus,
isFreezableAttemptStatus,
isFreezableRunStatus,
} from "../taskStatus";
import { BaseService } from "./baseService.server";
import { isFinalRunStatus, isFreezableAttemptStatus, isFreezableRunStatus } from "../taskStatus";
import { CreateCheckpointRestoreEventService } from "./createCheckpointRestoreEvent.server";
import { ResumeBatchRunService } from "./resumeBatchRun.server";
import { ResumeTaskDependencyService } from "./resumeTaskDependency.server";
export class CreateCheckpointService extends BaseService {
public async call(
@@ -89,6 +97,9 @@ export class CreateCheckpointService extends BaseService {
};
}
//sleep to test slow checkpoints
// await new Promise((resolve) => setTimeout(resolve, 60_000));
const checkpoint = await this._prisma.checkpoint.create({
data: {
friendlyId: generateFriendlyId("checkpoint"),
@@ -140,10 +151,133 @@ export class CreateCheckpointService extends BaseService {
dependencyFriendlyRunId: reason.friendlyId,
});
keepRunAlive = await this.#isRunCompleted(reason.friendlyId);
if (checkpointEvent) {
const dependency = await this._prisma.taskRunDependency.findFirst({
select: {
id: true,
taskRunId: true,
},
where: {
taskRun: {
friendlyId: reason.friendlyId,
},
},
});
if (!keepRunAlive) {
await marqs?.acknowledgeMessage(attempt.taskRunId);
logger.log("CreateCheckpointService: Created checkpoint WAIT_FOR_TASK", {
checkpointId: checkpoint.id,
runFriendlyId: reason.friendlyId,
dependencyId: dependency?.id,
});
if (!dependency) {
logger.error("CreateCheckpointService: Dependency not found", {
friendlyId: reason.friendlyId,
});
return {
success: true,
checkpoint,
event: checkpointEvent,
keepRunAlive: false,
};
}
const childRun = await this._prisma.taskRun.findFirst({
select: {
id: true,
status: true,
},
where: {
id: dependency.taskRunId,
},
});
if (!childRun) {
logger.error("CreateCheckpointService: Dependency child run not found", {
taskRunId: dependency.taskRunId,
runFriendlyId: reason.friendlyId,
dependencyId: dependency.id,
});
return {
success: true,
checkpoint,
event: checkpointEvent,
keepRunAlive: false,
};
}
const isFinished = isFinalRunStatus(childRun.status);
if (!isFinished) {
logger.debug("CreateCheckpointService: Dependency child run not finished", {
taskRunId: dependency.taskRunId,
runFriendlyId: reason.friendlyId,
dependencyId: dependency.id,
childRunStatus: childRun.status,
childRunId: childRun.id,
});
return {
success: true,
checkpoint,
event: checkpointEvent,
keepRunAlive: false,
};
}
const lastAttempt = await this._prisma.taskRunAttempt.findFirst({
select: {
id: true,
status: true,
},
where: {
taskRunId: dependency.taskRunId,
},
orderBy: {
createdAt: "desc",
},
});
if (!lastAttempt) {
logger.debug("CreateCheckpointService: Dependency child attempt not found", {
taskRunId: dependency.taskRunId,
runFriendlyId: reason.friendlyId,
dependencyId: dependency?.id,
});
return {
success: true,
checkpoint,
event: checkpointEvent,
keepRunAlive: false,
};
}
if (!isFinalAttemptStatus(lastAttempt.status)) {
logger.debug("CreateCheckpointService: Dependency child attempt not final", {
taskRunId: dependency.taskRunId,
runFriendlyId: reason.friendlyId,
dependencyId: dependency.id,
lastAttemptId: lastAttempt.id,
lastAttemptStatus: lastAttempt.status,
});
return {
success: true,
checkpoint,
event: checkpointEvent,
keepRunAlive: false,
};
}
await ResumeTaskDependencyService.enqueue(dependency.id, lastAttempt.id, this._prisma);
return {
success: true,
checkpoint,
event: checkpointEvent,
keepRunAlive: false,
};
}
break;
@@ -154,10 +288,37 @@ export class CreateCheckpointService extends BaseService {
batchDependencyFriendlyId: reason.batchFriendlyId,
});
keepRunAlive = await this.#isBatchCompleted(reason.batchFriendlyId);
if (checkpointEvent) {
const batchRun = await this._prisma.batchTaskRun.findFirst({
select: {
id: true,
},
where: {
friendlyId: reason.batchFriendlyId,
},
});
if (!keepRunAlive) {
await marqs?.acknowledgeMessage(attempt.taskRunId);
if (!batchRun) {
logger.error("CreateCheckpointService: Batch not found", {
friendlyId: reason.batchFriendlyId,
});
return {
success: true,
checkpoint,
event: checkpointEvent,
keepRunAlive: false,
};
}
await ResumeBatchRunService.enqueue(batchRun.id, this._prisma);
return {
success: true,
checkpoint,
event: checkpointEvent,
keepRunAlive: false,
};
}
break;
@@ -206,34 +367,4 @@ export class CreateCheckpointService extends BaseService {
keepRunAlive,
};
}
async #isBatchCompleted(friendlyId: string): Promise<boolean> {
const batch = await this._prisma.batchTaskRun.findUnique({
where: {
friendlyId,
},
});
if (!batch) {
logger.error("Batch not found", { friendlyId });
return false;
}
return batch.status === "COMPLETED";
}
async #isRunCompleted(friendlyId: string): Promise<boolean> {
const run = await this._prisma.taskRun.findUnique({
where: {
friendlyId,
},
});
if (!run) {
logger.error("Run not found", { friendlyId });
return false;
}
return isFinalRunStatus(run.status);
}
}
@@ -152,9 +152,6 @@ export class ResumeAttemptService extends BaseService {
break;
}
}
// Prevent infinite restores by failing runs that don't heartbeat after post-restore resume requests
await this.#replaceResumeWithFailMessage(attempt.taskRunId, params.type);
});
}
@@ -255,50 +252,4 @@ export class ResumeAttemptService extends BaseService {
},
});
}
async #replaceResumeWithFailMessage(messageId: string, waitReason: WaitReason) {
const currentMessage = await marqs?.readMessage(messageId);
if (!currentMessage) {
logger.debug("No message to replace", { messageId, waitReason });
return;
}
const currentBody = SharedQueueMessageBody.safeParse(currentMessage.data);
if (!currentBody.success) {
logger.debug("Invalid message body", { messageId, waitReason, currentBody });
return;
}
const currentType = currentBody.data.type;
if (currentType !== "RESUME" && currentType !== "RESUME_AFTER_DURATION") {
logger.debug("Not a resume message", { messageId, waitReason, currentBody });
return;
}
let reason = "Worker unresponsive after restore";
switch (waitReason) {
case "WAIT_FOR_DURATION":
reason = "Worker unresponsive after waiting for duration";
break;
case "WAIT_FOR_TASK":
reason = "Worker unresponsive after waiting for task";
break;
case "WAIT_FOR_BATCH":
reason = "Worker unresponsive after waiting for batch task";
break;
default:
break;
}
const failMessage: SharedQueueMessageBody = {
type: "FAIL",
reason,
};
return await marqs?.replaceMessage(messageId, failMessage, undefined, true);
}
}
@@ -5,7 +5,7 @@ import { BaseService } from "./baseService.server";
import { logger } from "~/services/logger.server";
export class ResumeBatchRunService extends BaseService {
public async call(batchRunId: string, sourceTaskAttemptId: string) {
public async call(batchRunId: string) {
const batchRun = await this._prisma.batchTaskRun.findFirst({
where: {
id: batchRunId,
@@ -41,34 +41,43 @@ export class ResumeBatchRunService extends BaseService {
return;
}
// We need to update the batchRun status so we don't resume it again
await this._prisma.batchTaskRun.update({
where: {
id: batchRun.id,
},
data: {
status: "COMPLETED",
},
});
// This batch has a dependent attempt and just finalized, we should resume that attempt
const environment = batchRun.dependentTaskAttempt.runtimeEnvironment;
// If we are in development, we don't need to resume the dependent task (that will happen automatically)
if (environment.type === "DEVELOPMENT") {
// We need to update the batchRun status so we don't resume it again
await this._prisma.batchTaskRun.update({
where: {
id: batchRun.id,
},
data: {
status: "COMPLETED",
},
});
return;
}
const dependentRun = batchRun.dependentTaskAttempt.taskRun;
if (batchRun.dependentTaskAttempt.status === "PAUSED" && batchRun.checkpointEventId) {
// We need to update the batchRun status so we don't resume it again
await this._prisma.batchTaskRun.update({
where: {
id: batchRun.id,
},
data: {
status: "COMPLETED",
},
});
await marqs?.enqueueMessage(
environment,
dependentRun.queue,
dependentRun.id,
{
type: "RESUME",
completedAttemptIds: [sourceTaskAttemptId],
completedAttemptIds: [],
resumableAttemptId: batchRun.dependentTaskAttempt.id,
checkpointEventId: batchRun.checkpointEventId,
projectId: batchRun.dependentTaskAttempt.runtimeEnvironment.projectId,
@@ -78,13 +87,21 @@ export class ResumeBatchRunService extends BaseService {
dependentRun.concurrencyKey ?? undefined
);
} else {
logger.debug("Batch run resume: Attempt is not paused or there's no checkpoint event", {
batchRunId: batchRun.id,
dependentTaskAttempt: batchRun.dependentTaskAttempt,
checkpointEventId: batchRun.checkpointEventId,
hasCheckpointEvent: !!batchRun.checkpointEventId,
});
if (batchRun.dependentTaskAttempt.status === "PAUSED" && !batchRun.checkpointEventId) {
// In case of race conditions and other bugs, the status can be PAUSED without a checkpoint event
// The worker may still be up, so we will try to resume the dependent attempt by sending a message to the worker (on dequeue)
// In case of race conditions the status can be PAUSED without a checkpoint event
// When the checkpoint is created, it will continue the run
logger.error("Batch run resume: Attempt is paused but there's no checkpoint event", {
batchRunId: batchRun.id,
dependentTaskAttemptId: batchRun.dependentTaskAttempt.id,
});
return;
}
await marqs?.replaceMessage(dependentRun.id, {
@@ -95,17 +112,11 @@ export class ResumeBatchRunService extends BaseService {
}
}
static async enqueue(
batchRunId: string,
sourceTaskAttemptId: string,
tx: PrismaClientOrTransaction,
runAt?: Date
) {
static async enqueue(batchRunId: string, tx: PrismaClientOrTransaction, runAt?: Date) {
return await workerQueue.enqueue(
"v3.resumeBatchRun",
{
batchRunId,
sourceTaskAttemptId,
},
{
tx,
@@ -55,13 +55,21 @@ export class ResumeTaskDependencyService extends BaseService {
dependentRun.concurrencyKey ?? undefined
);
} else {
logger.debug("Task dependency resume: Attempt is not paused or there's no checkpoint event", {
attemptId: dependency.id,
dependentAttempt: dependency.dependentAttempt,
checkpointEventId: dependency.checkpointEventId,
hasCheckpointEvent: !!dependency.checkpointEventId,
});
if (dependency.dependentAttempt.status === "PAUSED" && !dependency.checkpointEventId) {
// In case of race conditions and other bugs, the status can be PAUSED without a checkpoint event
// The worker may still be up, so we will try to resume the dependent attempt by sending a message to the worker (on dequeue)
logger.warn("Task dependency resume: Attempt is paused but there's no checkpoint event", {
// In case of race conditions the status can be PAUSED without a checkpoint event
// When the checkpoint is created, it will continue the run
logger.error("Task dependency resume: Attempt is paused but there's no checkpoint event", {
attemptId: dependency.id,
dependentAttemptId: dependency.dependentAttempt.id,
});
return;
}
await marqs?.replaceMessage(dependentRun.id, {
@@ -65,7 +65,7 @@ export class ResumeTaskRunDependenciesService extends BaseService {
},
});
await ResumeBatchRunService.enqueue(batchItem.batchTaskRunId, taskAttempt.id, tx);
await ResumeBatchRunService.enqueue(batchItem.batchTaskRunId, tx);
});
}
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/airtable
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/airtable",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev integration for airtable",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -25,8 +25,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"airtable": "^0.12.1",
"zod": "3.22.3"
},
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/github
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/github",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "The official GitHub integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -30,8 +30,8 @@
"@octokit/request-error": "^5.0.1",
"@octokit/webhooks": "^12.0.10",
"octokit": "^3.1.2",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"zod": "3.22.3"
},
"engines": {
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/linear
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/linear",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev integration for @linear/sdk",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -26,8 +26,8 @@
},
"dependencies": {
"@linear/sdk": "^8.0.0",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"zod": "3.22.3"
},
"engines": {
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/slack
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/openai",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "The official OpenAI integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -42,8 +42,8 @@
},
"dependencies": {
"openai": "^4.16.1",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53"
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54"
},
"engines": {
"node": ">=18.0.0"
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/plain
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/plain",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "The official Plain.com integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -24,8 +24,8 @@
"build:tsup": "tsup"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"@team-plain/typescript-sdk": "^2.7.0"
},
"engines": {
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/replicate
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/replicate",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev integration for replicate",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -25,8 +25,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"replicate": "^0.18.1",
"zod": "3.22.3"
},
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/resend
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/resend",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "The official Resend.com integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -24,8 +24,8 @@
"build:tsup": "tsup"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"resend": "^2.1.0"
},
"engines": {
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/sendgrid
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/sendgrid",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev integration for @sendgrid/mail",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -26,8 +26,8 @@
},
"dependencies": {
"@sendgrid/mail": "^7.7.0",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53"
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54"
},
"engines": {
"node": ">=16.8.0"
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/shopify
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/shopify",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev integration for @shopify/shopify-api",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -26,8 +26,8 @@
},
"dependencies": {
"@shopify/shopify-api": "^8.0.2",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54",
"zod": "3.22.3"
},
"engines": {
+7
View File
@@ -1,5 +1,12 @@
# @trigger.dev/slack
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/slack",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "The official Slack integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -25,7 +25,7 @@
},
"dependencies": {
"@slack/web-api": "^6.8.1",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"zod": "3.22.3"
},
"engines": {
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/stripe
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/stripe",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev integration for stripe",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -25,8 +25,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"stripe": "^12.14.0",
"zod": "3.22.3"
},
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/supabase
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/supabase",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev integration for @supabase/supabase-js",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -26,8 +26,8 @@
},
"dependencies": {
"@supabase/supabase-js": "^2.26.0",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"supabase-management-js": "^1.0.0",
"zod": "3.22.3"
},
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/typeform
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/integration-kit@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/typeform",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "The official Typeform integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -24,8 +24,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.54",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"@typeform/api-client": "^1.8.0",
"zod": "3.22.3"
},
+7
View File
@@ -1,5 +1,12 @@
# @trigger.dev/astro
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@trigger.dev/astro",
"description": "An Astro-native integration for Trigger.dev background jobs platform",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"files": [
@@ -20,7 +20,7 @@
"build:tsup": "tsup"
},
"peerDependencies": {
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53"
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54"
},
"devDependencies": {
"astro": "^3.0.12",
+6
View File
@@ -1,5 +1,11 @@
# trigger.dev
## 3.0.0-beta.54
### Patch Changes
- @trigger.dev/core@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "trigger.dev",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "A Command-Line Interface for Trigger.dev (v3) projects",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -87,7 +87,7 @@
"@opentelemetry/sdk-trace-base": "^1.22.0",
"@opentelemetry/sdk-trace-node": "^1.22.0",
"@opentelemetry/semantic-conventions": "^1.22.0",
"@trigger.dev/core": "workspace:3.0.0-beta.53",
"@trigger.dev/core": "workspace:3.0.0-beta.54",
"@types/degit": "^2.8.3",
"chalk": "^5.2.0",
"chokidar": "^3.5.3",
+7
View File
@@ -1,5 +1,12 @@
# create-trigger
## 3.0.0-beta.54
### Patch Changes
- @trigger.dev/core@3.0.0-beta.54
- @trigger.dev/yalt@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/cli",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "The Trigger.dev CLI",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
+2
View File
@@ -1,5 +1,7 @@
# @trigger.dev/core-apps
## 3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@trigger.dev/core-apps",
"description": "Backend core code used across apps",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"private": true,
"license": "MIT",
"main": "./dist/index.js",
+2
View File
@@ -1,5 +1,7 @@
# @trigger.dev/core-backend
## 3.0.0-beta.54
## 3.0.0-beta.53
## 3.0.0-beta.52
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/core-backend",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Core code used across `@trigger.dev/sdk` and Trigger.dev server",
"license": "MIT",
"main": "./dist/index.js",
+2
View File
@@ -1,5 +1,7 @@
# internal-platform
## 3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/core",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Core code used across the Trigger.dev SDK and platform",
"license": "MIT",
"main": "./dist/index.js",
+2
View File
@@ -1,5 +1,7 @@
# @trigger.dev/eslint-plugin
## 3.0.0-beta.54
## 3.0.0-beta.53
## 3.0.0-beta.52
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/eslint-plugin",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "ESLint plugin with trigger.dev best practices",
"keywords": [
"eslint",
+7
View File
@@ -1,5 +1,12 @@
# @trigger.dev/express
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/express",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Official Express adapter for Trigger.dev",
"license": "MIT",
"main": "./dist/index.js",
@@ -23,7 +23,7 @@
"./package.json": "./package.json"
},
"devDependencies": {
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"@trigger.dev/tsconfig": "workspace:*",
"@types/debug": "^4.1.7",
"@types/express": "^4.17.13",
@@ -39,7 +39,7 @@
"build:tsup": "tsup"
},
"peerDependencies": {
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53"
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54"
},
"dependencies": {
"debug": "^4.3.4",
+7
View File
@@ -1,5 +1,12 @@
# @trigger.dev/hono
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/hono",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "A Trigger.dev adapter for Hono.dev",
"license": "MIT",
"main": "./dist/index.js",
@@ -32,7 +32,7 @@
},
"peerDependencies": {
"hono": "3.x",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53"
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54"
},
"devDependencies": {
"@trigger.dev/tsconfig": "workspace:*",
+6
View File
@@ -1,5 +1,11 @@
# @trigger.dev/integration-kit
## 3.0.0-beta.54
### Patch Changes
- @trigger.dev/core@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/integration-kit",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev Integration Kit has helpers to make creating integrations easier",
"license": "MIT",
"main": "./dist/index.js",
+7
View File
@@ -1,5 +1,12 @@
# @trigger.dev/nestjs
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/nestjs",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Official NestJS adapter for Trigger.dev",
"license": "MIT",
"main": "./dist/index.js",
@@ -23,7 +23,7 @@
"./package.json": "./package.json"
},
"devDependencies": {
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"@trigger.dev/tsconfig": "workspace:*",
"@types/debug": "^4.1.7",
"@types/express": "^4.17.13",
@@ -41,7 +41,7 @@
},
"peerDependencies": {
"@nestjs/common": ">=10.0.0",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53"
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54"
},
"dependencies": {
"@nestjs/common": "^10.2.4",
+7
View File
@@ -1,5 +1,12 @@
# @trigger.dev/nextjs
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/nextjs",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev Next.js integration",
"license": "MIT",
"main": "./dist/index.js",
@@ -41,7 +41,7 @@
"build:tsup": "tsup"
},
"peerDependencies": {
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"next": ">=12.0.0"
},
"dependencies": {
+2
View File
@@ -1,5 +1,7 @@
# @trigger.dev/otlp-importer
## 3.0.0-beta.54
## 3.0.0-beta.53
## 3.0.0-beta.52
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/otlp-importer",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "OpenTelemetry OTLP Importer for Node.js written in TypeScript",
"license": "MIT",
"main": "./dist/index.js",
+6
View File
@@ -1,5 +1,11 @@
# @trigger.dev/react
## 3.0.0-beta.54
### Patch Changes
- @trigger.dev/core@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/react",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev React SDK",
"license": "MIT",
"types": "dist/index.d.ts",
@@ -27,7 +27,7 @@
},
"dependencies": {
"@tanstack/react-query": "5.0.0-beta.2",
"@trigger.dev/core": "workspace:^3.0.0-beta.53",
"@trigger.dev/core": "workspace:^3.0.0-beta.54",
"debug": "^4.3.4",
"zod": "3.22.3"
},
+7
View File
@@ -1,5 +1,12 @@
# @trigger.dev/remix
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/remix",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev Remix integration",
"license": "MIT",
"main": "./dist/index.js",
@@ -39,7 +39,7 @@
"build:tsup": "tsup"
},
"peerDependencies": {
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53",
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54",
"@remix-run/server-runtime": ">1.19.0"
},
"dependencies": {
+7
View File
@@ -1,5 +1,12 @@
# @trigger.dev/sveltekit
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/sveltekit",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "Trigger.dev svelteKit integration",
"license": "MIT",
"main": "./dist/index.js",
@@ -39,7 +39,7 @@
"build:tsup": "tsup"
},
"peerDependencies": {
"@trigger.dev/sdk": "workspace:^3.0.0-beta.53"
"@trigger.dev/sdk": "workspace:^3.0.0-beta.54"
},
"dependencies": {
"debug": "^4.3.4"
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/testing
## 3.0.0-beta.54
### Patch Changes
- Updated dependencies [728eeeff6]
- @trigger.dev/sdk@3.0.0-beta.54
- @trigger.dev/core@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@trigger.dev/testing",
"description": "A collection of useful tools to write tests for Trigger.dev.",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"license": "MIT",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
+8
View File
@@ -1,5 +1,13 @@
# @trigger.dev/sdk
## 3.0.0-beta.54
### Patch Changes
- 728eeeff6: Rollback to try and fix some dependent attempt issues
- @trigger.dev/core@3.0.0-beta.54
- @trigger.dev/core-backend@3.0.0-beta.54
## 3.0.0-beta.53
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/sdk",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "trigger.dev Node.JS SDK",
"license": "MIT",
"main": "./dist/index.js",
@@ -48,8 +48,8 @@
"@opentelemetry/api": "^1.8.0",
"@opentelemetry/api-logs": "^0.48.0",
"@opentelemetry/semantic-conventions": "^1.22.0",
"@trigger.dev/core": "workspace:3.0.0-beta.53",
"@trigger.dev/core-backend": "workspace:3.0.0-beta.53",
"@trigger.dev/core": "workspace:3.0.0-beta.54",
"@trigger.dev/core-backend": "workspace:3.0.0-beta.54",
"chalk": "^5.2.0",
"cronstrue": "^2.21.0",
"debug": "^4.3.4",
+2
View File
@@ -1,5 +1,7 @@
# @trigger.dev/yalt
## 3.0.0-beta.54
## 3.0.0-beta.53
## 3.0.0-beta.52
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/yalt",
"version": "3.0.0-beta.53",
"version": "3.0.0-beta.54",
"description": "yalt.dev client library",
"license": "MIT",
"main": "./dist/index.js",
+35 -35
View File
@@ -878,10 +878,10 @@ importers:
integrations/airtable:
dependencies:
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
airtable:
specifier: ^0.12.1
@@ -921,10 +921,10 @@ importers:
specifier: ^12.0.10
version: 12.0.10
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
octokit:
specifier: ^3.1.2
@@ -964,10 +964,10 @@ importers:
specifier: ^8.0.0
version: 8.0.0
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
zod:
specifier: 3.22.3
@@ -995,10 +995,10 @@ importers:
integrations/openai:
dependencies:
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
openai:
specifier: ^4.16.1
@@ -1038,10 +1038,10 @@ importers:
specifier: ^2.7.0
version: 2.7.0
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
devDependencies:
'@trigger.dev/tsconfig':
@@ -1066,10 +1066,10 @@ importers:
integrations/replicate:
dependencies:
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
replicate:
specifier: ^0.18.1
@@ -1100,10 +1100,10 @@ importers:
integrations/resend:
dependencies:
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
resend:
specifier: ^2.1.0
@@ -1134,10 +1134,10 @@ importers:
specifier: ^7.7.0
version: 7.7.0
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
devDependencies:
'@trigger.dev/tsconfig':
@@ -1165,10 +1165,10 @@ importers:
specifier: ^8.0.2
version: 8.0.2
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
zod:
specifier: 3.22.3
@@ -1199,7 +1199,7 @@ importers:
specifier: ^6.8.1
version: 6.8.1
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
zod:
specifier: 3.22.3
@@ -1227,10 +1227,10 @@ importers:
integrations/stripe:
dependencies:
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
stripe:
specifier: ^12.14.0
@@ -1264,10 +1264,10 @@ importers:
specifier: ^2.26.0
version: 2.31.0
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
supabase-management-js:
specifier: ^1.0.0
@@ -1298,10 +1298,10 @@ importers:
integrations/typeform:
dependencies:
'@trigger.dev/integration-kit':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/integration-kit
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../../packages/trigger-sdk
'@typeform/api-client':
specifier: ^1.8.0
@@ -1329,7 +1329,7 @@ importers:
packages/astro:
dependencies:
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../trigger-sdk
debug:
specifier: ^4.3.4
@@ -1547,7 +1547,7 @@ importers:
specifier: ^1.22.0
version: 1.22.0
'@trigger.dev/core':
specifier: workspace:3.0.0-beta.53
specifier: workspace:3.0.0-beta.54
version: link:../core
'@types/degit':
specifier: ^2.8.3
@@ -1972,7 +1972,7 @@ importers:
version: 4.18.2
devDependencies:
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../trigger-sdk
'@trigger.dev/tsconfig':
specifier: workspace:*
@@ -2067,7 +2067,7 @@ importers:
version: 4.3.4(supports-color@8.1.1)
devDependencies:
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../trigger-sdk
'@trigger.dev/tsconfig':
specifier: workspace:*
@@ -2100,7 +2100,7 @@ importers:
packages/nextjs:
dependencies:
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../trigger-sdk
debug:
specifier: ^4.3.4
@@ -2186,7 +2186,7 @@ importers:
specifier: 5.0.0-beta.2
version: 5.0.0-beta.2(react@18.2.0)
'@trigger.dev/core':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../core
debug:
specifier: ^4.3.4
@@ -2229,7 +2229,7 @@ importers:
packages/remix:
dependencies:
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../trigger-sdk
debug:
specifier: ^4.3.4
@@ -2266,7 +2266,7 @@ importers:
packages/sveltekit:
dependencies:
'@trigger.dev/sdk':
specifier: workspace:^3.0.0-beta.53
specifier: workspace:^3.0.0-beta.54
version: link:../trigger-sdk
debug:
specifier: ^4.3.4
@@ -2340,10 +2340,10 @@ importers:
specifier: ^1.22.0
version: 1.22.0
'@trigger.dev/core':
specifier: workspace:3.0.0-beta.53
specifier: workspace:3.0.0-beta.54
version: link:../core
'@trigger.dev/core-backend':
specifier: workspace:3.0.0-beta.53
specifier: workspace:3.0.0-beta.54
version: link:../core-backend
chalk:
specifier: ^5.2.0
@@ -0,0 +1,97 @@
import { logger, task, wait } from "@trigger.dev/sdk/v3";
type Payload = {
count?: number;
};
/** Test that checkpoints and resuming works if the checkpoint isn't created before the resume */
export const checkpointBatchResumer = task({
id: "checkpoint-batch-resume",
run: async ({ count = 1 }: Payload) => {
await noop.batchTriggerAndWait(Array.from({ length: count }, (_, i) => ({})));
logger.info(`Successfully 1/1 resumed after ${count} runs`);
await noop.batchTriggerAndWait(Array.from({ length: count }, (_, i) => ({})));
logger.info(`Successfully 2/2 resumed after ${count} runs`);
},
});
/** Test that checkpoints and resuming works if the checkpoint isn't created before the resume */
export const checkpointResumer = task({
id: "checkpoint-resume",
run: async ({ count = 1 }: Payload) => {
await noop.triggerAndWait();
logger.info(`Successfully 1/3 resumed`);
await noop.triggerAndWait();
logger.info(`Successfully 2/3 resumed`);
await noop.triggerAndWait();
logger.info(`Successfully 3/3 resumed`);
},
});
export const nestedDependencies = task({
id: "nested-dependencies",
run: async ({
depth = 0,
maxDepth = 6,
batchSize = 4,
waitSeconds = 1,
failAttemptChance = 0,
}: {
depth?: number;
maxDepth?: number;
batchSize?: number;
waitSeconds?: number;
failAttemptChance?: number;
}) => {
if (depth >= maxDepth) {
return;
}
logger.log(`Started ${depth}/${maxDepth} depth`);
const shouldFail = Math.random() < failAttemptChance;
if (shouldFail) {
throw new Error(`Failed at ${depth}/${maxDepth} depth`);
}
await wait.for({ seconds: waitSeconds });
const triggerOrBatch = depth % 2 === 0;
if (triggerOrBatch) {
await nestedDependencies.triggerAndWait({
depth: depth + 1,
maxDepth,
waitSeconds,
failAttemptChance,
});
logger.log(`Triggered complete`);
} else {
await nestedDependencies.batchTriggerAndWait(
Array.from({ length: batchSize }, (_, i) => ({
payload: { depth: depth + 1, maxDepth, batchSize, waitSeconds, failAttemptChance },
}))
);
logger.log(`Batch triggered complete`);
}
logger.log(`Sleep for ${waitSeconds} seconds`);
await new Promise((resolve) => setTimeout(resolve, waitSeconds * 1000));
logger.log(`Finished ${depth}/${maxDepth} depth`);
},
});
export const fastWait = task({
id: "fast-wait",
run: async ({ seconds = 1 }: { seconds?: number }) => {
logger.log(`Going to wait for ${seconds} seconds`);
await wait.for({ seconds });
logger.log(`Waited for ${seconds} seconds`);
},
});
export const noop = task({
id: "noop",
run: async () => {},
});