Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 702d198445 | |||
| 803f3c15ab | |||
| 1c24348f7d | |||
| f854cb90eb | |||
| 7268f17b00 | |||
| 624ddce32f | |||
| 9be1557bb7 |
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"trigger.dev": patch
|
||||
---
|
||||
|
||||
Fix permissions inside node_modules
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@trigger.dev/sdk": patch
|
||||
"@trigger.dev/core": patch
|
||||
---
|
||||
|
||||
Added replayRun function to the SDK
|
||||
+6
-1
@@ -49,6 +49,7 @@
|
||||
"clean-pianos-listen",
|
||||
"cool-glasses-bake",
|
||||
"eight-pumas-float",
|
||||
"few-students-share",
|
||||
"green-bags-wink",
|
||||
"khaki-apricots-design",
|
||||
"late-icons-lie",
|
||||
@@ -58,8 +59,10 @@
|
||||
"loud-actors-remember",
|
||||
"many-ligers-pump",
|
||||
"mighty-camels-joke",
|
||||
"new-rivers-tell",
|
||||
"odd-poets-own",
|
||||
"polite-ducks-switch",
|
||||
"rare-roses-float",
|
||||
"real-planets-stare",
|
||||
"sharp-zebras-serve",
|
||||
"smart-olives-eat",
|
||||
@@ -67,6 +70,8 @@
|
||||
"strange-ghosts-matter",
|
||||
"stupid-bulldogs-applaud",
|
||||
"sweet-lizards-press",
|
||||
"tall-bees-wave"
|
||||
"tall-bees-wave",
|
||||
"tame-guests-know",
|
||||
"tiny-doors-type"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"trigger.dev": patch
|
||||
---
|
||||
|
||||
Add openssl to prod worker image and allow passing auth token via env var for deploy
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"trigger.dev": patch
|
||||
---
|
||||
|
||||
Changed the binary name from trigger.dev to triggerdev to fix a Windows issue
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@trigger.dev/sdk": patch
|
||||
"@trigger.dev/core": patch
|
||||
---
|
||||
|
||||
Added cancelRun to the SDK
|
||||
Vendored
+2
-2
@@ -33,7 +33,7 @@
|
||||
"type": "node-terminal",
|
||||
"request": "launch",
|
||||
"name": "Debug V3 Dev CLI",
|
||||
"command": "pnpm exec trigger.dev dev --log-level debug",
|
||||
"command": "pnpm exec triggerdev dev --log-level debug",
|
||||
"cwd": "${workspaceFolder}/references/v3-catalog",
|
||||
"sourceMaps": true
|
||||
},
|
||||
@@ -41,7 +41,7 @@
|
||||
"type": "node-terminal",
|
||||
"request": "launch",
|
||||
"name": "Debug V3 Deploy CLI",
|
||||
"command": "pnpm exec trigger.dev deploy",
|
||||
"command": "pnpm exec triggerdev deploy",
|
||||
"cwd": "${workspaceFolder}/references/v3-catalog",
|
||||
"sourceMaps": true
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { StopCircleIcon } from "@heroicons/react/20/solid";
|
||||
import { useFetcher } from "@remix-run/react";
|
||||
import { Form, useFetcher, useNavigation } from "@remix-run/react";
|
||||
import { Button } from "~/components/primitives/Buttons";
|
||||
import {
|
||||
DialogContent,
|
||||
@@ -14,29 +14,32 @@ type CancelRunDialogProps = {
|
||||
};
|
||||
|
||||
export function CancelRunDialog({ runFriendlyId, redirectPath }: CancelRunDialogProps) {
|
||||
const cancelFetcher = useFetcher();
|
||||
const navigation = useNavigation();
|
||||
|
||||
const formAction = `/resources/taskruns/${runFriendlyId}/cancel`;
|
||||
const isLoading = navigation.formAction === formAction;
|
||||
|
||||
return (
|
||||
<DialogContent>
|
||||
<DialogContent key="cancel">
|
||||
<DialogHeader>Cancel this run?</DialogHeader>
|
||||
<DialogDescription>
|
||||
Canceling a run will stop execution. If you want to run this later you will have to replay
|
||||
the entire run with the original payload.
|
||||
</DialogDescription>
|
||||
<DialogFooter>
|
||||
<cancelFetcher.Form action={`/resources/taskruns/${runFriendlyId}/cancel`} method="post">
|
||||
<Form action={`/resources/taskruns/${runFriendlyId}/cancel`} method="post">
|
||||
<Button
|
||||
type="submit"
|
||||
name="redirectUrl"
|
||||
value={redirectPath}
|
||||
variant="danger/small"
|
||||
LeadingIcon={cancelFetcher.state === "idle" ? StopCircleIcon : "spinner-white"}
|
||||
disabled={cancelFetcher.state !== "idle"}
|
||||
LeadingIcon={isLoading ? "spinner-white" : StopCircleIcon}
|
||||
disabled={isLoading}
|
||||
shortcut={{ modifiers: ["meta"], key: "enter" }}
|
||||
>
|
||||
{cancelFetcher.state === "idle" ? "Cancel run" : "Canceling..."}
|
||||
{isLoading ? "Canceling..." : "Cancel run"}
|
||||
</Button>
|
||||
</cancelFetcher.Form>
|
||||
</Form>
|
||||
</DialogFooter>
|
||||
</DialogContent>
|
||||
);
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
import { ArrowPathIcon } from "@heroicons/react/20/solid";
|
||||
import { Form, useFetcher, useNavigation } from "@remix-run/react";
|
||||
import { Button } from "~/components/primitives/Buttons";
|
||||
import {
|
||||
DialogContent,
|
||||
DialogDescription,
|
||||
DialogFooter,
|
||||
DialogHeader,
|
||||
} from "~/components/primitives/Dialog";
|
||||
|
||||
type ReplayRunDialogProps = {
|
||||
runFriendlyId: string;
|
||||
failedRedirect: string;
|
||||
};
|
||||
|
||||
export function ReplayRunDialog({ runFriendlyId, failedRedirect }: ReplayRunDialogProps) {
|
||||
const navigation = useNavigation();
|
||||
|
||||
const formAction = `/resources/taskruns/${runFriendlyId}/replay`;
|
||||
const isLoading = navigation.formAction === formAction;
|
||||
|
||||
return (
|
||||
<DialogContent key="replay">
|
||||
<DialogHeader>Replay this run?</DialogHeader>
|
||||
<DialogDescription>
|
||||
Replaying a run will create a new run with the same payload and environment as the original.
|
||||
</DialogDescription>
|
||||
<DialogFooter>
|
||||
<Form action={formAction} method="post">
|
||||
<input type="hidden" name="failedRedirect" value={failedRedirect} />
|
||||
<Button
|
||||
type="submit"
|
||||
variant="primary/small"
|
||||
LeadingIcon={isLoading ? "spinner-white" : ArrowPathIcon}
|
||||
disabled={isLoading}
|
||||
shortcut={{ modifiers: ["meta"], key: "enter" }}
|
||||
>
|
||||
{isLoading ? "Replaying..." : "Replay run"}
|
||||
</Button>
|
||||
</Form>
|
||||
</DialogFooter>
|
||||
</DialogContent>
|
||||
);
|
||||
}
|
||||
@@ -24,10 +24,11 @@ import { formatDuration } from "@trigger.dev/core/v3";
|
||||
import { TaskRunStatusCombo } from "./TaskRunStatus";
|
||||
import { useEnvironments } from "~/hooks/useEnvironments";
|
||||
import { Button, LinkButton } from "~/components/primitives/Buttons";
|
||||
import { StopCircleIcon } from "@heroicons/react/20/solid";
|
||||
import { ArrowPathIcon, StopCircleIcon } from "@heroicons/react/20/solid";
|
||||
import { Dialog, DialogTrigger } from "~/components/primitives/Dialog";
|
||||
import { CancelRunDialog } from "./CancelRunDialog";
|
||||
import { useLocation } from "@remix-run/react";
|
||||
import { ReplayRunDialog } from "./ReplayRunDialog";
|
||||
|
||||
type RunsTableProps = {
|
||||
total: number;
|
||||
@@ -49,7 +50,6 @@ export function TaskRunsTable({
|
||||
}: RunsTableProps) {
|
||||
const organization = useOrganization();
|
||||
const project = useProject();
|
||||
const location = useLocation();
|
||||
|
||||
return (
|
||||
<Table>
|
||||
@@ -110,23 +110,7 @@ export function TaskRunsTable({
|
||||
<TableCell to={path}>
|
||||
{run.createdAt ? <DateTime date={run.createdAt} /> : "–"}
|
||||
</TableCell>
|
||||
{run.isCancellable ? (
|
||||
<TableCellMenu isSticky>
|
||||
<Dialog>
|
||||
<DialogTrigger asChild>
|
||||
<Button variant="small-menu-item" LeadingIcon={StopCircleIcon}>
|
||||
Cancel run
|
||||
</Button>
|
||||
</DialogTrigger>
|
||||
<CancelRunDialog
|
||||
runFriendlyId={run.friendlyId}
|
||||
redirectPath={`${location.pathname}${location.search}`}
|
||||
/>
|
||||
</Dialog>
|
||||
</TableCellMenu>
|
||||
) : (
|
||||
<TableCell to={path}>{""}</TableCell>
|
||||
)}
|
||||
<RunActionsCell run={run} path={path} />
|
||||
</TableRow>
|
||||
);
|
||||
})
|
||||
@@ -144,6 +128,43 @@ export function TaskRunsTable({
|
||||
);
|
||||
}
|
||||
|
||||
function RunActionsCell({ run, path }: { run: RunListItem; path: string }) {
|
||||
const location = useLocation();
|
||||
|
||||
if (!run.isCancellable && !run.isReplayable) return <TableCell to={path}>{""}</TableCell>;
|
||||
|
||||
return (
|
||||
<TableCellMenu isSticky>
|
||||
{run.isCancellable && (
|
||||
<Dialog>
|
||||
<DialogTrigger asChild>
|
||||
<Button variant="small-menu-item" LeadingIcon={StopCircleIcon}>
|
||||
Cancel run
|
||||
</Button>
|
||||
</DialogTrigger>
|
||||
<CancelRunDialog
|
||||
runFriendlyId={run.friendlyId}
|
||||
redirectPath={`${location.pathname}${location.search}`}
|
||||
/>
|
||||
</Dialog>
|
||||
)}
|
||||
{run.isReplayable && (
|
||||
<Dialog>
|
||||
<DialogTrigger asChild>
|
||||
<Button variant="small-menu-item" LeadingIcon={ArrowPathIcon}>
|
||||
Replay run
|
||||
</Button>
|
||||
</DialogTrigger>
|
||||
<ReplayRunDialog
|
||||
runFriendlyId={run.friendlyId}
|
||||
failedRedirect={`${location.pathname}${location.search}`}
|
||||
/>
|
||||
</Dialog>
|
||||
)}
|
||||
</TableCellMenu>
|
||||
);
|
||||
}
|
||||
|
||||
function NoRuns({ title }: { title: string }) {
|
||||
return (
|
||||
<div className="flex items-center justify-center">
|
||||
|
||||
@@ -222,6 +222,7 @@ export class RunListPresenter {
|
||||
version: run.version,
|
||||
taskIdentifier: run.taskIdentifier,
|
||||
attempts: Number(run.attempts),
|
||||
isReplayable: true,
|
||||
isCancellable: CANCELLABLE_STATUSES.includes(run.status),
|
||||
environment: {
|
||||
type: environment.type,
|
||||
|
||||
+57
-20
@@ -1,4 +1,9 @@
|
||||
import { CloudArrowDownIcon, QueueListIcon, StopCircleIcon } from "@heroicons/react/20/solid";
|
||||
import {
|
||||
ArrowPathIcon,
|
||||
CloudArrowDownIcon,
|
||||
QueueListIcon,
|
||||
StopCircleIcon,
|
||||
} from "@heroicons/react/20/solid";
|
||||
import { useParams } from "@remix-run/react";
|
||||
import { LoaderFunctionArgs } from "@remix-run/server-runtime";
|
||||
import { formatDurationNanoseconds, nanosecondsToMilliseconds } from "@trigger.dev/core/v3";
|
||||
@@ -14,6 +19,7 @@ import { Paragraph } from "~/components/primitives/Paragraph";
|
||||
import { Property, PropertyTable } from "~/components/primitives/PropertyTable";
|
||||
import { CancelRunDialog } from "~/components/runs/v3/CancelRunDialog";
|
||||
import { LiveTimer } from "~/components/runs/v3/LiveTimer";
|
||||
import { ReplayRunDialog } from "~/components/runs/v3/ReplayRunDialog";
|
||||
import { RunIcon } from "~/components/runs/v3/RunIcon";
|
||||
import { SpanEvents } from "~/components/runs/v3/SpanEvents";
|
||||
import { SpanTitle } from "~/components/runs/v3/SpanTitle";
|
||||
@@ -22,7 +28,7 @@ import { TaskRunAttemptStatusCombo } from "~/components/runs/v3/TaskRunAttemptSt
|
||||
import { useOrganization } from "~/hooks/useOrganizations";
|
||||
import { useProject } from "~/hooks/useProject";
|
||||
import { redirectWithErrorMessage } from "~/models/message.server";
|
||||
import { SpanPresenter } from "~/presenters/v3/SpanPresenter.server";
|
||||
import { Span, SpanPresenter } from "~/presenters/v3/SpanPresenter.server";
|
||||
import { requireUserId } from "~/services/session.server";
|
||||
import { cn } from "~/utils/cn";
|
||||
import { v3RunPath, v3RunSpanPath, v3SpanParamsSchema, v3TraceSpanPath } from "~/utils/pathBuilder";
|
||||
@@ -188,24 +194,7 @@ export default function Page() {
|
||||
)}
|
||||
</div>
|
||||
<div className="flex items-center gap-4">
|
||||
{event.isPartial && runParam && (
|
||||
<Dialog>
|
||||
<DialogTrigger asChild>
|
||||
<Button variant="danger/small" LeadingIcon={StopCircleIcon}>
|
||||
Cancel run
|
||||
</Button>
|
||||
</DialogTrigger>
|
||||
<CancelRunDialog
|
||||
runFriendlyId={event.runId}
|
||||
redirectPath={v3RunSpanPath(
|
||||
organization,
|
||||
project,
|
||||
{ friendlyId: runParam },
|
||||
{ spanId: event.spanId }
|
||||
)}
|
||||
/>
|
||||
</Dialog>
|
||||
)}
|
||||
<RunActionButtons span={event} />
|
||||
</div>
|
||||
</div>
|
||||
) : null}
|
||||
@@ -213,6 +202,54 @@ export default function Page() {
|
||||
);
|
||||
}
|
||||
|
||||
function RunActionButtons({ span }: { span: Span }) {
|
||||
const organization = useOrganization();
|
||||
const project = useProject();
|
||||
const { runParam } = useParams();
|
||||
|
||||
if (!runParam) return null;
|
||||
|
||||
if (span.isPartial) {
|
||||
return (
|
||||
<Dialog>
|
||||
<DialogTrigger asChild>
|
||||
<Button variant="danger/small" LeadingIcon={StopCircleIcon}>
|
||||
Cancel run
|
||||
</Button>
|
||||
</DialogTrigger>
|
||||
<CancelRunDialog
|
||||
runFriendlyId={span.runId}
|
||||
redirectPath={v3RunSpanPath(
|
||||
organization,
|
||||
project,
|
||||
{ friendlyId: runParam },
|
||||
{ spanId: span.spanId }
|
||||
)}
|
||||
/>
|
||||
</Dialog>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Dialog>
|
||||
<DialogTrigger asChild>
|
||||
<Button variant="tertiary/small" LeadingIcon={ArrowPathIcon}>
|
||||
Replay run
|
||||
</Button>
|
||||
</DialogTrigger>
|
||||
<ReplayRunDialog
|
||||
runFriendlyId={span.runId}
|
||||
failedRedirect={v3RunSpanPath(
|
||||
organization,
|
||||
project,
|
||||
{ friendlyId: runParam },
|
||||
{ spanId: span.spanId }
|
||||
)}
|
||||
/>
|
||||
</Dialog>
|
||||
);
|
||||
}
|
||||
|
||||
function PacketDisplay({
|
||||
data,
|
||||
dataType,
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
import type { ActionFunctionArgs } from "@remix-run/server-runtime";
|
||||
import { json } from "@remix-run/server-runtime";
|
||||
import { PrismaErrorSchema, prisma } from "~/db.server";
|
||||
import { z } from "zod";
|
||||
import { authenticateApiRequest } from "~/services/apiAuth.server";
|
||||
import { CancelRunService } from "~/services/runs/cancelRun.server";
|
||||
import { ApiRunPresenter } from "~/presenters/ApiRunPresenter.server";
|
||||
import { ReplayTaskRunService } from "~/v3/services/replayTaskRun.server";
|
||||
import { logger } from "~/services/logger.server";
|
||||
|
||||
const ParamsSchema = z.object({
|
||||
/* This is the run friendly ID */
|
||||
runParam: z.string(),
|
||||
});
|
||||
|
||||
export async function action({ request, params }: ActionFunctionArgs) {
|
||||
// Ensure this is a POST request
|
||||
if (request.method.toUpperCase() !== "POST") {
|
||||
return { status: 405, body: "Method Not Allowed" };
|
||||
}
|
||||
|
||||
// Authenticate the request
|
||||
const authenticationResult = await authenticateApiRequest(request);
|
||||
if (!authenticationResult) {
|
||||
return json({ error: "Invalid or Missing API Key" }, { status: 401 });
|
||||
}
|
||||
|
||||
const parsed = ParamsSchema.safeParse(params);
|
||||
if (!parsed.success) {
|
||||
return json({ error: "Invalid or missing run ID" }, { status: 400 });
|
||||
}
|
||||
|
||||
const { runParam } = parsed.data;
|
||||
|
||||
try {
|
||||
const taskRun = await prisma.taskRun.findUnique({
|
||||
where: {
|
||||
friendlyId: runParam,
|
||||
},
|
||||
});
|
||||
|
||||
if (!taskRun) {
|
||||
return json({ error: "Run not found" }, { status: 404 });
|
||||
}
|
||||
|
||||
const service = new ReplayTaskRunService();
|
||||
const newRun = await service.call(taskRun);
|
||||
|
||||
if (!newRun) {
|
||||
return json({ error: "Failed to create new run" }, { status: 400 });
|
||||
}
|
||||
|
||||
return json({
|
||||
id: newRun?.friendlyId,
|
||||
});
|
||||
} catch (error) {
|
||||
if (error instanceof Error) {
|
||||
logger.error("Failed to replay run", {
|
||||
error: {
|
||||
name: error.name,
|
||||
message: error.message,
|
||||
stack: error.stack,
|
||||
},
|
||||
run: runParam,
|
||||
});
|
||||
return json({ error: error.message }, { status: 400 });
|
||||
} else {
|
||||
logger.error("Failed to replay run", { error: JSON.stringify(error), run: runParam });
|
||||
return json({ error: JSON.stringify(error) }, { status: 400 });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,7 @@ export async function action({ request, params }: ActionFunctionArgs) {
|
||||
const parsed = ParamsSchema.safeParse(params);
|
||||
|
||||
if (!parsed.success) {
|
||||
return json({ error: "Invalid or Missing runId" }, { status: 400 });
|
||||
return json({ error: "Invalid or Missing run id" }, { status: 400 });
|
||||
}
|
||||
|
||||
const { runParam } = parsed.data;
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
import { parse } from "@conform-to/zod";
|
||||
import { ActionFunction, json } from "@remix-run/node";
|
||||
import { z } from "zod";
|
||||
import { prisma } from "~/db.server";
|
||||
import { redirectWithErrorMessage, redirectWithSuccessMessage } from "~/models/message.server";
|
||||
import { logger } from "~/services/logger.server";
|
||||
import { v3RunPath } from "~/utils/pathBuilder";
|
||||
import { ReplayTaskRunService } from "~/v3/services/replayTaskRun.server";
|
||||
|
||||
const FormSchema = z.object({
|
||||
failedRedirect: z.string(),
|
||||
});
|
||||
|
||||
const ParamSchema = z.object({
|
||||
runParam: z.string(),
|
||||
});
|
||||
|
||||
export const action: ActionFunction = async ({ request, params }) => {
|
||||
const { runParam } = ParamSchema.parse(params);
|
||||
|
||||
const formData = await request.formData();
|
||||
const submission = parse(formData, { schema: FormSchema });
|
||||
|
||||
if (!submission.value) {
|
||||
return json(submission);
|
||||
}
|
||||
|
||||
try {
|
||||
const taskRun = await prisma.taskRun.findUnique({
|
||||
where: {
|
||||
friendlyId: runParam,
|
||||
},
|
||||
include: {
|
||||
project: {
|
||||
include: {
|
||||
organization: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
if (!taskRun) {
|
||||
return redirectWithErrorMessage(submission.value.failedRedirect, request, "Run not found");
|
||||
}
|
||||
|
||||
const replayRunService = new ReplayTaskRunService();
|
||||
const newRun = await replayRunService.call(taskRun);
|
||||
|
||||
if (!newRun) {
|
||||
return redirectWithErrorMessage(
|
||||
submission.value.failedRedirect,
|
||||
request,
|
||||
"Failed to replay run"
|
||||
);
|
||||
}
|
||||
|
||||
const runPath = v3RunPath(
|
||||
{
|
||||
slug: taskRun.project.organization.slug,
|
||||
},
|
||||
{ slug: taskRun.project.slug },
|
||||
{ friendlyId: newRun.friendlyId }
|
||||
);
|
||||
|
||||
return redirectWithSuccessMessage(runPath, request, `Replaying run`);
|
||||
} catch (error) {
|
||||
if (error instanceof Error) {
|
||||
logger.error("Failed to replay run", {
|
||||
error: {
|
||||
name: error.name,
|
||||
message: error.message,
|
||||
stack: error.stack,
|
||||
},
|
||||
});
|
||||
return redirectWithErrorMessage(submission.value.failedRedirect, request, error.message);
|
||||
} else {
|
||||
logger.error("Failed to replay run", { error });
|
||||
return redirectWithErrorMessage(
|
||||
submission.value.failedRedirect,
|
||||
request,
|
||||
JSON.stringify(error)
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,53 @@
|
||||
import { conditionallyImportPacket, parsePacket } from "@trigger.dev/core/v3";
|
||||
import { Prisma, TaskRun } from "@trigger.dev/database";
|
||||
import { findEnvironmentById } from "~/models/runtimeEnvironment.server";
|
||||
import { logger } from "~/services/logger.server";
|
||||
import { BaseService } from "./baseService.server";
|
||||
import { TriggerTaskService } from "./triggerTask.server";
|
||||
|
||||
type ExtendedTaskRunAttempt = Prisma.TaskRunAttemptGetPayload<{
|
||||
include: {
|
||||
runtimeEnvironment: true;
|
||||
backgroundWorker: true;
|
||||
};
|
||||
}>;
|
||||
|
||||
export class ReplayTaskRunService extends BaseService {
|
||||
public async call(existingTaskRun: TaskRun) {
|
||||
const authenticatedEnvironment = await findEnvironmentById(
|
||||
existingTaskRun.runtimeEnvironmentId
|
||||
);
|
||||
if (!authenticatedEnvironment) {
|
||||
return;
|
||||
}
|
||||
|
||||
logger.info("Replaying task run", {
|
||||
taskRunId: existingTaskRun.id,
|
||||
taskRunFriendlyId: existingTaskRun.friendlyId,
|
||||
});
|
||||
|
||||
const payloadPacket = await conditionallyImportPacket({
|
||||
data: existingTaskRun.payload,
|
||||
dataType: existingTaskRun.payloadType,
|
||||
});
|
||||
const parsedPayload = await parsePacket(payloadPacket);
|
||||
|
||||
logger.info("Replaying task run payload", {
|
||||
taskRunId: existingTaskRun.id,
|
||||
taskRunFriendlyId: existingTaskRun.friendlyId,
|
||||
payloadPacketType: payloadPacket.dataType,
|
||||
});
|
||||
|
||||
const triggerTaskService = new TriggerTaskService();
|
||||
return await triggerTaskService.call(existingTaskRun.taskIdentifier, authenticatedEnvironment, {
|
||||
payload: parsedPayload,
|
||||
options: {
|
||||
queue: {
|
||||
name: existingTaskRun.queue,
|
||||
},
|
||||
concurrencyKey: existingTaskRun.concurrencyKey ?? undefined,
|
||||
test: existingTaskRun.isTest,
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
+11
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://mintlify.com/schema.json",
|
||||
"name": "Trigger.dev",
|
||||
"openapi": ["/openapi.yml"],
|
||||
"openapi": ["/openapi.yml", "/v3-openapi.json"],
|
||||
"versions": ["v3 (Developer Preview)", "v2"],
|
||||
"logo": {
|
||||
"dark": "/logo/dark.png",
|
||||
@@ -586,6 +586,16 @@
|
||||
"v3/reference-cli-build",
|
||||
"v3/reference-cli-who-am-i"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Management API",
|
||||
"pages": [
|
||||
"v3/management-start-run",
|
||||
"v3/management-get-run",
|
||||
"v3/management-get-runs",
|
||||
"v3/management-replay-run",
|
||||
"v3/management-cancel-run"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -0,0 +1,216 @@
|
||||
{
|
||||
"openapi": "3.1.0",
|
||||
"info": {
|
||||
"title": "Trigger.dev v3 REST API",
|
||||
"description": "The REST API lets you trigger and manage runs on Trigger.dev. You can trigger a run, get the status of a run, and get the results of a run. ",
|
||||
"version": "2024-04"
|
||||
},
|
||||
"servers": [
|
||||
{
|
||||
"url": "https://api.trigger.dev",
|
||||
"description": "Trigger.dev API"
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
"/api/v1/runs/{run_id}/replay": {
|
||||
"post": {
|
||||
"description": "Creates a new run with the same payload and options as the original run.",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "run_id",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "The ID of an existing run. When you trigger a run you will get an id in the response."
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful request",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"description": "The ID of the new run."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Invalid request",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "string",
|
||||
"enum": ["Invalid or missing run ID", "Failed to create new run"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized request",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "string",
|
||||
"enum": ["Invalid or Missing API key"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Resource not found",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "string",
|
||||
"enum": ["Run not found"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": ["run"],
|
||||
"security": [{ "bearerAuth": [] }],
|
||||
"operationId": "replay_run_v1",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "typescript",
|
||||
"source": "const handle = await runs.replay(existingRun.id);"
|
||||
},
|
||||
{
|
||||
"lang": "sh",
|
||||
"source": "curl --request POST \\\n\t--url https://api.trigger.dev/api/v1/runs/{run_id}/replay \\\n\t--header 'Authorization: Bearer <token>'"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v1/runs/{run_id}/cancel": {
|
||||
"post": {
|
||||
"description": "Cancels a run.",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "run_id",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "The ID of an existing run. When you trigger a run you will get an id in the response."
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful request",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "Confirmation message that the run was canceled."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Invalid request",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "string",
|
||||
"enum": ["Invalid or missing run ID", "Failed to create new run"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized request",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "string",
|
||||
"enum": ["Invalid or Missing API key"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Resource not found",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "string",
|
||||
"enum": ["Run not found"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": ["run"],
|
||||
"security": [{ "bearerAuth": [] }],
|
||||
"operationId": "replay_run_v1",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "typescript",
|
||||
"source": "await runs.cancel(existingRun.id);"
|
||||
},
|
||||
{
|
||||
"lang": "sh",
|
||||
"source": "curl --request POST \\\n\t--url https://api.trigger.dev/api/v1/runs/{run_id}/cancel \\\n\t--header 'Authorization: Bearer <token>'"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"securitySchemes": {
|
||||
"bearerAuth": {
|
||||
"type": "http",
|
||||
"scheme": "bearer",
|
||||
"description": "Use your Secret API key in the form 'Bearer <SECRET KEY>' (without the quotation marks)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [{ "bearerAuth": [] }]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Cancel run"
|
||||
openapi: "v3-openapi POST /api/v1/runs/{run_id}/cancel"
|
||||
---
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "Get run"
|
||||
description: "Get a run using the Task id."
|
||||
---
|
||||
|
||||
<Snippet file="incomplete-docs.mdx" />
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "Get runs"
|
||||
description: "Get runs using a Task id."
|
||||
---
|
||||
|
||||
<Snippet file="incomplete-docs.mdx" />
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Replay run"
|
||||
openapi: "v3-openapi POST /api/v1/runs/{run_id}/replay"
|
||||
---
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "Start run"
|
||||
description: "Start a run using the Task id, payload and options."
|
||||
---
|
||||
|
||||
<Snippet file="incomplete-docs.mdx" />
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/airtable
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/airtable",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"airtable": "^0.12.1",
|
||||
"zod": "3.22.3"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/github
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/github",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"zod": "3.22.3"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/linear
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/linear",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"zod": "3.22.3"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/slack
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/openai",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.6"
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/plain
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/plain",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"@team-plain/typescript-sdk": "^2.7.0"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/replicate
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/replicate",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"replicate": "^0.18.1",
|
||||
"zod": "3.22.3"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/resend
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/resend",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"resend": "^2.1.0"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/sendgrid
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/sendgrid",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.6"
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.8.0"
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/shopify
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/shopify",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7",
|
||||
"zod": "3.22.3"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @trigger.dev/slack
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/slack",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"zod": "3.22.3"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/stripe
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/stripe",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"stripe": "^12.14.0",
|
||||
"zod": "3.22.3"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/supabase
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/supabase",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"supabase-management-js": "^1.0.0",
|
||||
"zod": "3.22.3"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/typeform
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/integration-kit@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/typeform",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.6",
|
||||
"@trigger.dev/integration-kit": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"@typeform/api-client": "^1.8.0",
|
||||
"zod": "3.22.3"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @trigger.dev/astro
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@trigger.dev/astro",
|
||||
"description": "An Astro-native integration for Trigger.dev background jobs platform",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6"
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"astro": "^3.0.12",
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# trigger.dev
|
||||
|
||||
## 3.0.0-beta.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 1c24348f7: Add openssl to prod worker image and allow passing auth token via env var for deploy
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/core@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 624ddce32: Fix permissions inside node_modules
|
||||
- 9be1557bb: Changed the binary name from trigger.dev to triggerdev to fix a Windows issue
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "trigger.dev",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.8",
|
||||
"description": "A Command-Line Interface for Trigger.dev (v3) projects",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -32,7 +32,7 @@
|
||||
"type": "module",
|
||||
"exports": "./dist/index.js",
|
||||
"bin": {
|
||||
"trigger.dev": "./dist/index.js"
|
||||
"triggerdev": "./dist/index.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@trigger.dev/core-apps": "workspace:*",
|
||||
@@ -89,7 +89,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.6",
|
||||
"@trigger.dev/core": "workspace:^3.0.0-beta.7",
|
||||
"@types/degit": "^2.8.3",
|
||||
"chalk": "^5.2.0",
|
||||
"chokidar": "^3.5.3",
|
||||
@@ -135,4 +135,4 @@
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
busybox \
|
||||
dumb-init \
|
||||
openssl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Create and set workdir with appropriate permissions
|
||||
@@ -12,6 +13,8 @@ WORKDIR /app
|
||||
|
||||
# copy all the files just in case anything is needed in postinstall
|
||||
COPY --chown=node:node . .
|
||||
|
||||
USER node
|
||||
RUN npm ci --no-fund --no-audit && npm cache clean --force
|
||||
|
||||
# Development or production stage builds upon the base stage
|
||||
|
||||
@@ -72,6 +72,33 @@ export async function login(options?: LoginOptions): Promise<LoginResult> {
|
||||
intro("Logging in to Trigger.dev");
|
||||
}
|
||||
|
||||
const accessTokenFromEnv = process.env.TRIGGER_ACCESS_TOKEN;
|
||||
|
||||
if (accessTokenFromEnv) {
|
||||
const auth = {
|
||||
accessToken: accessTokenFromEnv,
|
||||
apiUrl: process.env.TRIGGER_API_URL ?? "https://api.trigger.dev",
|
||||
};
|
||||
const apiClient = new CliApiClient(auth.apiUrl, auth.accessToken);
|
||||
const userData = await apiClient.whoAmI();
|
||||
|
||||
if (!userData.success) {
|
||||
throw new Error(userData.error);
|
||||
}
|
||||
|
||||
return {
|
||||
ok: true as const,
|
||||
profile: options?.profile ?? "default",
|
||||
userId: userData.data.userId,
|
||||
email: userData.data.email,
|
||||
dashboardUrl: userData.data.dashboardUrl,
|
||||
auth: {
|
||||
accessToken: auth.accessToken,
|
||||
apiUrl: auth.apiUrl,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
const authConfig = readAuthConfigProfile(options?.profile);
|
||||
|
||||
if (authConfig && authConfig.accessToken) {
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# create-trigger
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/core@3.0.0-beta.7
|
||||
- @trigger.dev/yalt@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/cli",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"description": "The Trigger.dev CLI",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# @trigger.dev/core-apps
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@trigger.dev/core-apps",
|
||||
"description": "Backend core code used across apps",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"private": true,
|
||||
"license": "MIT",
|
||||
"main": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# @trigger.dev/core-backend
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
## 3.0.0-beta.5
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/core-backend",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"description": "Core code used across `@trigger.dev/sdk` and Trigger.dev server",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# internal-platform
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- f854cb90e: Added replayRun function to the SDK
|
||||
- f854cb90e: Added cancelRun to the SDK
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/core",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"description": "Core code used across the Trigger.dev SDK and platform",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index.js",
|
||||
|
||||
@@ -9,7 +9,10 @@ import {
|
||||
BatchTriggerTaskRequestBody,
|
||||
BatchTriggerTaskResponse,
|
||||
CreateUploadPayloadUrlResponseBody,
|
||||
ReplayRunResponse,
|
||||
CanceledRunResponse,
|
||||
} from "../schemas";
|
||||
import { z } from "zod";
|
||||
|
||||
export type TriggerOptions = {
|
||||
spanParentAsLink?: boolean;
|
||||
@@ -88,6 +91,30 @@ export class ApiClient {
|
||||
);
|
||||
}
|
||||
|
||||
replayRun(runId: string) {
|
||||
return zodfetch(
|
||||
ReplayRunResponse,
|
||||
`${this.baseUrl}/api/v1/runs/${runId}/replay`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: this.#getHeaders(false),
|
||||
},
|
||||
zodFetchOptions
|
||||
);
|
||||
}
|
||||
|
||||
cancelRun(runId: string) {
|
||||
return zodfetch(
|
||||
CanceledRunResponse,
|
||||
`${this.baseUrl}/api/v2/runs/${runId}/cancel`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: this.#getHeaders(false),
|
||||
},
|
||||
zodFetchOptions
|
||||
);
|
||||
}
|
||||
|
||||
#getHeaders(spanParentAsLink: boolean) {
|
||||
const headers: Record<string, string> = {
|
||||
"Content-Type": "application/json",
|
||||
|
||||
@@ -198,3 +198,15 @@ export const CreateUploadPayloadUrlResponseBody = z.object({
|
||||
});
|
||||
|
||||
export type CreateUploadPayloadUrlResponseBody = z.infer<typeof CreateUploadPayloadUrlResponseBody>;
|
||||
|
||||
export const ReplayRunResponse = z.object({
|
||||
id: z.string(),
|
||||
});
|
||||
|
||||
export type ReplayRunResponse = z.infer<typeof ReplayRunResponse>;
|
||||
|
||||
export const CanceledRunResponse = z.object({
|
||||
message: z.string(),
|
||||
});
|
||||
|
||||
export type CanceledRunResponse = z.infer<typeof CanceledRunResponse>;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# @trigger.dev/eslint-plugin
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
## 3.0.0-beta.5
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/eslint-plugin",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"description": "ESLint plugin with trigger.dev best practices",
|
||||
"keywords": [
|
||||
"eslint",
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @trigger.dev/express
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/express",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"@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.6"
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": "^4.3.4",
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @trigger.dev/hono
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/hono",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6"
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@trigger.dev/tsconfig": "workspace:*",
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @trigger.dev/integration-kit
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/core@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/integration-kit",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"description": "Trigger.dev Integration Kit has helpers to make creating integrations easier",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @trigger.dev/nestjs
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/nestjs",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"@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.6"
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7"
|
||||
},
|
||||
"dependencies": {
|
||||
"@nestjs/common": "^10.2.4",
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @trigger.dev/nextjs
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/nextjs",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"next": ">=12.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# @trigger.dev/otlp-importer
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
## 3.0.0-beta.5
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/otlp-importer",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"description": "OpenTelemetry OTLP Importer for Node.js written in TypeScript",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @trigger.dev/react
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/core@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/react",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/core": "workspace:^3.0.0-beta.7",
|
||||
"debug": "^4.3.4",
|
||||
"zod": "3.22.3"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @trigger.dev/remix
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/remix",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7",
|
||||
"@remix-run/server-runtime": ">1.19.0"
|
||||
},
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @trigger.dev/sveltekit
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/sveltekit",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6"
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.7"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": "^4.3.4"
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/testing
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/sdk@3.0.0-beta.7
|
||||
- @trigger.dev/core@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -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.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
# @trigger.dev/sdk
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- f854cb90e: Added replayRun function to the SDK
|
||||
- f854cb90e: Added cancelRun to the SDK
|
||||
- Updated dependencies [f854cb90e]
|
||||
- Updated dependencies [f854cb90e]
|
||||
- @trigger.dev/core@3.0.0-beta.7
|
||||
- @trigger.dev/core-backend@3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/sdk",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"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.6",
|
||||
"@trigger.dev/core-backend": "workspace:^3.0.0-beta.6",
|
||||
"@trigger.dev/core": "workspace:^3.0.0-beta.7",
|
||||
"@trigger.dev/core-backend": "workspace:^3.0.0-beta.7",
|
||||
"chalk": "^5.2.0",
|
||||
"cronstrue": "^2.21.0",
|
||||
"debug": "^4.3.4",
|
||||
|
||||
@@ -8,3 +8,5 @@ import type { Context } from "./shared";
|
||||
export type { Context };
|
||||
|
||||
export { logger, type LogLevel } from "@trigger.dev/core/v3";
|
||||
|
||||
export { runs } from "./management";
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
import { CanceledRunResponse, ReplayRunResponse, apiClientManager } from "@trigger.dev/core/v3";
|
||||
import { apiClientMissingError } from "./shared";
|
||||
|
||||
export const runs = {
|
||||
replay: replayRun,
|
||||
cancel: cancelRun,
|
||||
};
|
||||
|
||||
async function replayRun(runId: string): Promise<ReplayRunResponse> {
|
||||
const apiClient = apiClientManager.client;
|
||||
|
||||
if (!apiClient) {
|
||||
throw apiClientMissingError();
|
||||
}
|
||||
|
||||
const response = await apiClient.replayRun(runId);
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(response.error);
|
||||
}
|
||||
|
||||
return response.data;
|
||||
}
|
||||
|
||||
async function cancelRun(runId: string): Promise<CanceledRunResponse> {
|
||||
const apiClient = apiClientManager.client;
|
||||
|
||||
if (!apiClient) {
|
||||
throw apiClientMissingError();
|
||||
}
|
||||
|
||||
const response = await apiClient.cancelRun(runId);
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(response.error);
|
||||
}
|
||||
|
||||
return response.data;
|
||||
}
|
||||
@@ -562,7 +562,7 @@ async function handleTaskRunExecutionResult<TOutput>(
|
||||
}
|
||||
}
|
||||
|
||||
function apiClientMissingError() {
|
||||
export function apiClientMissingError() {
|
||||
const hasBaseUrl = !!apiClientManager.baseURL;
|
||||
const hasAccessToken = !!apiClientManager.accessToken;
|
||||
if (!hasBaseUrl && !hasAccessToken) {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# @trigger.dev/yalt
|
||||
|
||||
## 3.0.0-beta.7
|
||||
|
||||
## 3.0.0-beta.6
|
||||
|
||||
## 3.0.0-beta.5
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/yalt",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"description": "yalt.dev client library",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index.js",
|
||||
|
||||
Generated
+244
-38
@@ -821,10 +821,10 @@ importers:
|
||||
integrations/airtable:
|
||||
dependencies:
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
airtable:
|
||||
specifier: ^0.12.1
|
||||
@@ -864,10 +864,10 @@ importers:
|
||||
specifier: ^12.0.10
|
||||
version: 12.0.10
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
octokit:
|
||||
specifier: ^3.1.2
|
||||
@@ -907,10 +907,10 @@ importers:
|
||||
specifier: ^8.0.0
|
||||
version: 8.0.0
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
zod:
|
||||
specifier: 3.22.3
|
||||
@@ -938,10 +938,10 @@ importers:
|
||||
integrations/openai:
|
||||
dependencies:
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
openai:
|
||||
specifier: ^4.16.1
|
||||
@@ -981,10 +981,10 @@ importers:
|
||||
specifier: ^2.7.0
|
||||
version: 2.7.0
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
devDependencies:
|
||||
'@trigger.dev/tsconfig':
|
||||
@@ -1009,10 +1009,10 @@ importers:
|
||||
integrations/replicate:
|
||||
dependencies:
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
replicate:
|
||||
specifier: ^0.18.1
|
||||
@@ -1043,10 +1043,10 @@ importers:
|
||||
integrations/resend:
|
||||
dependencies:
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
resend:
|
||||
specifier: ^2.1.0
|
||||
@@ -1077,10 +1077,10 @@ importers:
|
||||
specifier: ^7.7.0
|
||||
version: 7.7.0
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
devDependencies:
|
||||
'@trigger.dev/tsconfig':
|
||||
@@ -1108,10 +1108,10 @@ importers:
|
||||
specifier: ^8.0.2
|
||||
version: 8.0.2
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
zod:
|
||||
specifier: 3.22.3
|
||||
@@ -1142,7 +1142,7 @@ importers:
|
||||
specifier: ^6.8.1
|
||||
version: 6.8.1
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
zod:
|
||||
specifier: 3.22.3
|
||||
@@ -1170,10 +1170,10 @@ importers:
|
||||
integrations/stripe:
|
||||
dependencies:
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
stripe:
|
||||
specifier: ^12.14.0
|
||||
@@ -1207,10 +1207,10 @@ importers:
|
||||
specifier: ^2.26.0
|
||||
version: 2.31.0
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
supabase-management-js:
|
||||
specifier: ^1.0.0
|
||||
@@ -1241,10 +1241,10 @@ importers:
|
||||
integrations/typeform:
|
||||
dependencies:
|
||||
'@trigger.dev/integration-kit':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/integration-kit
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../../packages/trigger-sdk
|
||||
'@typeform/api-client':
|
||||
specifier: ^1.8.0
|
||||
@@ -1272,7 +1272,7 @@ importers:
|
||||
packages/astro:
|
||||
dependencies:
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../trigger-sdk
|
||||
debug:
|
||||
specifier: ^4.3.4
|
||||
@@ -1487,7 +1487,7 @@ importers:
|
||||
specifier: ^1.22.0
|
||||
version: 1.22.0
|
||||
'@trigger.dev/core':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../core
|
||||
'@types/degit':
|
||||
specifier: ^2.8.3
|
||||
@@ -1932,7 +1932,7 @@ importers:
|
||||
version: 4.18.2
|
||||
devDependencies:
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../trigger-sdk
|
||||
'@trigger.dev/tsconfig':
|
||||
specifier: workspace:*
|
||||
@@ -2027,7 +2027,7 @@ importers:
|
||||
version: 4.3.4(supports-color@8.1.1)
|
||||
devDependencies:
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../trigger-sdk
|
||||
'@trigger.dev/tsconfig':
|
||||
specifier: workspace:*
|
||||
@@ -2060,7 +2060,7 @@ importers:
|
||||
packages/nextjs:
|
||||
dependencies:
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../trigger-sdk
|
||||
debug:
|
||||
specifier: ^4.3.4
|
||||
@@ -2146,7 +2146,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.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../core
|
||||
debug:
|
||||
specifier: ^4.3.4
|
||||
@@ -2189,7 +2189,7 @@ importers:
|
||||
packages/remix:
|
||||
dependencies:
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../trigger-sdk
|
||||
debug:
|
||||
specifier: ^4.3.4
|
||||
@@ -2226,7 +2226,7 @@ importers:
|
||||
packages/sveltekit:
|
||||
dependencies:
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../trigger-sdk
|
||||
debug:
|
||||
specifier: ^4.3.4
|
||||
@@ -2300,10 +2300,10 @@ importers:
|
||||
specifier: ^1.22.0
|
||||
version: 1.22.0
|
||||
'@trigger.dev/core':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../core
|
||||
'@trigger.dev/core-backend':
|
||||
specifier: workspace:^3.0.0-beta.6
|
||||
specifier: workspace:^3.0.0-beta.7
|
||||
version: link:../core-backend
|
||||
chalk:
|
||||
specifier: ^5.2.0
|
||||
@@ -3050,6 +3050,12 @@ importers:
|
||||
|
||||
references/v3-catalog:
|
||||
dependencies:
|
||||
'@ffmpeg-installer/ffmpeg':
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
'@ffprobe-installer/ffprobe':
|
||||
specifier: ^2.1.2
|
||||
version: 2.1.2
|
||||
'@opentelemetry/api':
|
||||
specifier: ^1.8.0
|
||||
version: 1.8.0
|
||||
@@ -3065,6 +3071,12 @@ importers:
|
||||
'@trigger.dev/sdk':
|
||||
specifier: workspace:^3.0.0-beta.0
|
||||
version: link:../../packages/trigger-sdk
|
||||
dotenv:
|
||||
specifier: ^16.4.5
|
||||
version: 16.4.5
|
||||
execa:
|
||||
specifier: ^8.0.1
|
||||
version: 8.0.1
|
||||
msw:
|
||||
specifier: ^2.2.1
|
||||
version: 2.2.1(typescript@5.3.3)
|
||||
@@ -3087,6 +3099,9 @@ importers:
|
||||
trigger.dev:
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/cli-v3
|
||||
ts-node:
|
||||
specifier: ^10.9.2
|
||||
version: 10.9.2(@types/node@20.4.2)(typescript@5.3.3)
|
||||
typescript:
|
||||
specifier: ^5.3.0
|
||||
version: 5.3.3
|
||||
@@ -7297,6 +7312,161 @@ packages:
|
||||
fast-json-stringify: 5.8.0
|
||||
dev: true
|
||||
|
||||
/@ffmpeg-installer/darwin-arm64@4.1.5:
|
||||
resolution: {integrity: sha512-hYqTiP63mXz7wSQfuqfFwfLOfwwFChUedeCVKkBtl/cliaTM7/ePI9bVzfZ2c+dWu3TqCwLDRWNSJ5pqZl8otA==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffmpeg-installer/darwin-x64@4.1.0:
|
||||
resolution: {integrity: sha512-Z4EyG3cIFjdhlY8wI9aLUXuH8nVt7E9SlMVZtWvSPnm2sm37/yC2CwjUzyCQbJbySnef1tQwGG2Sx+uWhd9IAw==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffmpeg-installer/ffmpeg@1.1.0:
|
||||
resolution: {integrity: sha512-Uq4rmwkdGxIa9A6Bd/VqqYbT7zqh1GrT5/rFwCwKM70b42W5gIjWeVETq6SdcL0zXqDtY081Ws/iJWhr1+xvQg==}
|
||||
optionalDependencies:
|
||||
'@ffmpeg-installer/darwin-arm64': 4.1.5
|
||||
'@ffmpeg-installer/darwin-x64': 4.1.0
|
||||
'@ffmpeg-installer/linux-arm': 4.1.3
|
||||
'@ffmpeg-installer/linux-arm64': 4.1.4
|
||||
'@ffmpeg-installer/linux-ia32': 4.1.0
|
||||
'@ffmpeg-installer/linux-x64': 4.1.0
|
||||
'@ffmpeg-installer/win32-ia32': 4.1.0
|
||||
'@ffmpeg-installer/win32-x64': 4.1.0
|
||||
dev: false
|
||||
|
||||
/@ffmpeg-installer/linux-arm64@4.1.4:
|
||||
resolution: {integrity: sha512-dljEqAOD0oIM6O6DxBW9US/FkvqvQwgJ2lGHOwHDDwu/pX8+V0YsDL1xqHbj1DMX/+nP9rxw7G7gcUvGspSoKg==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffmpeg-installer/linux-arm@4.1.3:
|
||||
resolution: {integrity: sha512-NDf5V6l8AfzZ8WzUGZ5mV8O/xMzRag2ETR6+TlGIsMHp81agx51cqpPItXPib/nAZYmo55Bl2L6/WOMI3A5YRg==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffmpeg-installer/linux-ia32@4.1.0:
|
||||
resolution: {integrity: sha512-0LWyFQnPf+Ij9GQGD034hS6A90URNu9HCtQ5cTqo5MxOEc7Rd8gLXrJvn++UmxhU0J5RyRE9KRYstdCVUjkNOQ==}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffmpeg-installer/linux-x64@4.1.0:
|
||||
resolution: {integrity: sha512-Y5BWhGLU/WpQjOArNIgXD3z5mxxdV8c41C+U15nsE5yF8tVcdCGet5zPs5Zy3Ta6bU7haGpIzryutqCGQA/W8A==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffmpeg-installer/win32-ia32@4.1.0:
|
||||
resolution: {integrity: sha512-FV2D7RlaZv/lrtdhaQ4oETwoFUsUjlUiasiZLDxhEUPdNDWcH1OU9K1xTvqz+OXLdsmYelUDuBS/zkMOTtlUAw==}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffmpeg-installer/win32-x64@4.1.0:
|
||||
resolution: {integrity: sha512-Drt5u2vzDnIONf4ZEkKtFlbvwj6rI3kxw1Ck9fpudmtgaZIHD4ucsWB2lCZBXRxJgXR+2IMSti+4rtM4C4rXgg==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffprobe-installer/darwin-arm64@5.0.1:
|
||||
resolution: {integrity: sha512-vwNCNjokH8hfkbl6m95zICHwkSzhEvDC3GVBcUp5HX8+4wsX10SP3B+bGur7XUzTIZ4cQpgJmEIAx6TUwRepMg==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffprobe-installer/darwin-x64@5.1.0:
|
||||
resolution: {integrity: sha512-J+YGscZMpQclFg31O4cfVRGmDpkVsQ2fZujoUdMAAYcP0NtqpC49Hs3SWJpBdsGB4VeqOt5TTm1vSZQzs1NkhA==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffprobe-installer/ffprobe@2.1.2:
|
||||
resolution: {integrity: sha512-ZNvwk4f2magF42Zji2Ese16SMj9BS7Fui4kRjg6gTYTxY3gWZNpg85n4MIfQyI9nimHg4x/gT6FVkp/bBDuBwg==}
|
||||
engines: {node: '>=14.21.2'}
|
||||
optionalDependencies:
|
||||
'@ffprobe-installer/darwin-arm64': 5.0.1
|
||||
'@ffprobe-installer/darwin-x64': 5.1.0
|
||||
'@ffprobe-installer/linux-arm': 5.2.0
|
||||
'@ffprobe-installer/linux-arm64': 5.2.0
|
||||
'@ffprobe-installer/linux-ia32': 5.2.0
|
||||
'@ffprobe-installer/linux-x64': 5.2.0
|
||||
'@ffprobe-installer/win32-ia32': 5.1.0
|
||||
'@ffprobe-installer/win32-x64': 5.1.0
|
||||
dev: false
|
||||
|
||||
/@ffprobe-installer/linux-arm64@5.2.0:
|
||||
resolution: {integrity: sha512-X1VvWtlLs6ScP73biVLuHD5ohKJKsMTa0vafCESOen4mOoNeLAYbxOVxDWAdFz9cpZgRiloFj5QD6nDj8E28yQ==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffprobe-installer/linux-arm@5.2.0:
|
||||
resolution: {integrity: sha512-PF5HqEhCY7WTWHtLDYbA/+rLS+rhslWvyBlAG1Fk8VzVlnRdl93o6hy7DE2kJgxWQbFaR3ZktPQGEzfkrmQHvQ==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffprobe-installer/linux-ia32@5.2.0:
|
||||
resolution: {integrity: sha512-TFVK5sasXyXhbIG7LtPRDmtkrkOsInwKcL43iEvEw+D9vCS2rc//mn9/0Q+BR0UoJEiMK4+ApYr/3LLVUBPOCQ==}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffprobe-installer/linux-x64@5.2.0:
|
||||
resolution: {integrity: sha512-D3UeqTLYPNs7pBWPLUYGehPdRVqU8eACox4OZy3pZUZatxye2YKlvBwEfaLdL1v2Z4FOAlLUhms0kY8m8kqSRA==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffprobe-installer/win32-ia32@5.1.0:
|
||||
resolution: {integrity: sha512-5O3vOoNRxmut0/Nu9vSazTdSHasrr+zPT2B3Hm7kjmO3QVFcIfVImS6ReQnZeSy8JPJOqXts5kX5x/3KOX54XQ==}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ffprobe-installer/win32-x64@5.1.0:
|
||||
resolution: {integrity: sha512-jMGYeAgkrdn4e2vvYt/qakgHRE3CPju4bn5TmdPfoAm1BlX1mY9cyMd8gf5vSzI8gH8Zq5WQAyAkmekX/8TSTg==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@floating-ui/core@0.7.3:
|
||||
resolution: {integrity: sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==}
|
||||
dev: false
|
||||
@@ -18127,6 +18297,11 @@ packages:
|
||||
resolution: {integrity: sha512-XvPXc8XAQThSjAbY6cQ/9PcBXmFoWuw1sQ3b8HqUCR6ziGXjkTi//kB9SWa2UwqlgdAIuRqAa/9hVljzPehbYg==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
/dotenv@16.4.5:
|
||||
resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
/dotenv@8.6.0:
|
||||
resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -24816,7 +24991,7 @@ packages:
|
||||
hasBin: true
|
||||
dependencies:
|
||||
acorn: 8.10.0
|
||||
acorn-walk: 8.2.0
|
||||
acorn-walk: 8.3.2
|
||||
capnp-ts: 0.7.0
|
||||
exit-hook: 2.2.1
|
||||
glob-to-regexp: 0.4.1
|
||||
@@ -24839,7 +25014,7 @@ packages:
|
||||
hasBin: true
|
||||
dependencies:
|
||||
acorn: 8.10.0
|
||||
acorn-walk: 8.2.0
|
||||
acorn-walk: 8.3.2
|
||||
capnp-ts: 0.7.0
|
||||
exit-hook: 2.2.1
|
||||
glob-to-regexp: 0.4.1
|
||||
@@ -24862,7 +25037,7 @@ packages:
|
||||
hasBin: true
|
||||
dependencies:
|
||||
acorn: 8.10.0
|
||||
acorn-walk: 8.2.0
|
||||
acorn-walk: 8.3.2
|
||||
capnp-ts: 0.7.0
|
||||
exit-hook: 2.2.1
|
||||
glob-to-regexp: 0.4.1
|
||||
@@ -31198,6 +31373,37 @@ packages:
|
||||
yn: 3.1.1
|
||||
dev: true
|
||||
|
||||
/ts-node@10.9.2(@types/node@20.4.2)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@swc/core': '>=1.2.50'
|
||||
'@swc/wasm': '>=1.2.50'
|
||||
'@types/node': '*'
|
||||
typescript: '>=2.7'
|
||||
peerDependenciesMeta:
|
||||
'@swc/core':
|
||||
optional: true
|
||||
'@swc/wasm':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@cspotcode/source-map-support': 0.8.1
|
||||
'@tsconfig/node10': 1.0.9
|
||||
'@tsconfig/node12': 1.0.11
|
||||
'@tsconfig/node14': 1.0.3
|
||||
'@tsconfig/node16': 1.0.3
|
||||
'@types/node': 20.4.2
|
||||
acorn: 8.10.0
|
||||
acorn-walk: 8.3.2
|
||||
arg: 4.1.3
|
||||
create-require: 1.1.1
|
||||
diff: 4.0.2
|
||||
make-error: 1.3.6
|
||||
typescript: 5.3.3
|
||||
v8-compile-cache-lib: 3.0.1
|
||||
yn: 3.1.1
|
||||
dev: true
|
||||
|
||||
/ts-poet@6.6.0:
|
||||
resolution: {integrity: sha512-4vEH/wkhcjRPFOdBwIh9ItO6jOoumVLRF4aABDX5JSNEubSqwOulihxQPqai+OkuygJm3WYMInxXQX4QwVNMuw==}
|
||||
dependencies:
|
||||
|
||||
@@ -3,14 +3,19 @@
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev:trigger": "trigger.dev dev"
|
||||
"dev:trigger": "triggerdev dev",
|
||||
"management": "ts-node ./src/management.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ffmpeg-installer/ffmpeg": "^1.1.0",
|
||||
"@ffprobe-installer/ffprobe": "^2.1.2",
|
||||
"@opentelemetry/api": "^1.8.0",
|
||||
"@sindresorhus/slugify": "^2.2.1",
|
||||
"@traceloop/instrumentation-openai": "^0.3.9",
|
||||
"@trigger.dev/core": "workspace:^3.0.0-beta.0",
|
||||
"@trigger.dev/sdk": "workspace:^3.0.0-beta.0",
|
||||
"dotenv": "^16.4.5",
|
||||
"execa": "^8.0.1",
|
||||
"msw": "^2.2.1",
|
||||
"openai": "^4.28.0",
|
||||
"stripe": "^12.14.0",
|
||||
@@ -20,6 +25,7 @@
|
||||
"@trigger.dev/tsconfig": "workspace:*",
|
||||
"@types/node": "20.4.2",
|
||||
"trigger.dev": "workspace:*",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.3.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
import { runs } from "@trigger.dev/sdk/v3";
|
||||
import { simpleChildTask } from "./trigger/subtasks";
|
||||
import dotenv from "dotenv";
|
||||
|
||||
dotenv.config();
|
||||
|
||||
export async function run() {
|
||||
const run = await simpleChildTask.trigger({ payload: { message: "Hello, World!" } });
|
||||
const canceled = await runs.cancel(run.id);
|
||||
console.log("canceled run", canceled);
|
||||
|
||||
const replayed = await runs.replay(run.id);
|
||||
console.log("replayed run", replayed);
|
||||
}
|
||||
|
||||
run();
|
||||
@@ -1,6 +1,10 @@
|
||||
import { logger, task } from "@trigger.dev/sdk/v3";
|
||||
import { chmod } from "node:fs/promises";
|
||||
import { chmod, writeFile } from "node:fs/promises";
|
||||
import { Readable } from "node:stream";
|
||||
import { ReadableStream } from "stream/web";
|
||||
import { basename } from "node:path";
|
||||
import YTDlpWrap from "yt-dlp-wrap";
|
||||
import ffmpeg from "@ffmpeg-installer/ffmpeg";
|
||||
|
||||
export const ytDlp = task({
|
||||
id: "yt-dlp",
|
||||
@@ -20,3 +24,136 @@ export const ytDlp = task({
|
||||
logger.log("version", { version });
|
||||
},
|
||||
});
|
||||
|
||||
async function getFfprobe() {
|
||||
const ffprobe = await import("@ffprobe-installer/ffprobe");
|
||||
|
||||
logger.log("ffprobeInstaller", ffprobe);
|
||||
|
||||
return ffprobe;
|
||||
}
|
||||
|
||||
async function ffprobeVersion() {
|
||||
const ffprobe = await getFfprobe();
|
||||
const childProcess = await execute(ffprobe.path, ["-version"]);
|
||||
|
||||
logger.log("ffprobe -version", {
|
||||
output: childProcess.stdout.split("\n")[0],
|
||||
});
|
||||
}
|
||||
|
||||
async function ffmpegVersion() {
|
||||
logger.log("ffmpegInstaller", ffmpeg);
|
||||
|
||||
const childProcess = await execute(ffmpeg.path, ["-version"]);
|
||||
|
||||
logger.log("ffmpeg -version", {
|
||||
output: childProcess.stdout.split("\n")[0],
|
||||
});
|
||||
}
|
||||
|
||||
export const ffprobeInstaller = task({
|
||||
id: "ffprobe-installer",
|
||||
run: async () => {
|
||||
await ffprobeVersion();
|
||||
},
|
||||
});
|
||||
|
||||
export const ffmpegInstaller = task({
|
||||
id: "ffmpeg-installer",
|
||||
run: async () => {
|
||||
await ffmpegVersion();
|
||||
},
|
||||
});
|
||||
|
||||
const videoUrl =
|
||||
"https://upload.wikimedia.org/wikipedia/commons/0/07/Fractal-zoom-1-03-Mandelbrot_Buzzsaw.ogv";
|
||||
const videoPath = "./video.ogv";
|
||||
|
||||
async function downloadVideo() {
|
||||
logger.log("downloading video", { url: videoUrl });
|
||||
|
||||
const response = await fetch(videoUrl);
|
||||
|
||||
if (!response.body) {
|
||||
throw new Error("No readable stream");
|
||||
}
|
||||
|
||||
const readStream = Readable.fromWeb(response.body as ReadableStream);
|
||||
await writeFile(videoPath, readStream);
|
||||
|
||||
logger.log("finished downloading", { outputPath: videoPath });
|
||||
}
|
||||
|
||||
async function execute(file: string, args?: readonly string[]) {
|
||||
const { execa } = await import("execa");
|
||||
|
||||
logger.log(`execute: ${basename(file)}`, { args });
|
||||
const childProcess = await execa(file, args);
|
||||
|
||||
if (childProcess.exitCode !== 0) {
|
||||
logger.error("Non-zero exit code", {
|
||||
stderr: childProcess.stderr,
|
||||
stdout: childProcess.stdout,
|
||||
});
|
||||
throw new Error("Non-zero exit code");
|
||||
}
|
||||
|
||||
return childProcess;
|
||||
}
|
||||
|
||||
async function probeVideo() {
|
||||
const ffprobe = await getFfprobe();
|
||||
const args = ["-hide_banner", "-print_format", "json", "-show_format", videoPath];
|
||||
|
||||
logger.log("probing video", { videoPath });
|
||||
const childProcess = await execute(ffprobe.path, args);
|
||||
|
||||
logger.log("video info", {
|
||||
output: JSON.parse(childProcess.stdout),
|
||||
});
|
||||
}
|
||||
|
||||
export const ffprobeInfo = task({
|
||||
id: "ffprobe-info",
|
||||
run: async () => {
|
||||
await ffprobeVersion();
|
||||
await downloadVideo();
|
||||
await probeVideo();
|
||||
},
|
||||
});
|
||||
|
||||
async function convertVideo() {
|
||||
const outputPath = "./video.webm";
|
||||
logger.log("converting video", { input: videoPath, output: outputPath });
|
||||
|
||||
const childProcess = await execute(ffmpeg.path, [
|
||||
"-hide_banner",
|
||||
"-y", // overwrite output, don't prompt
|
||||
"-i",
|
||||
videoPath,
|
||||
// seek to 25s
|
||||
"-ss",
|
||||
"25",
|
||||
// stop after 5s
|
||||
"-t",
|
||||
"5",
|
||||
outputPath,
|
||||
]);
|
||||
|
||||
logger.log("video converted", {
|
||||
input: videoPath,
|
||||
output: outputPath,
|
||||
stderr: childProcess.stderr,
|
||||
stdout: childProcess.stdout,
|
||||
});
|
||||
}
|
||||
|
||||
export const ffmpegConvert = task({
|
||||
id: "ffmpeg-convert",
|
||||
run: async () => {
|
||||
await ffmpegVersion();
|
||||
await downloadVideo();
|
||||
await convertVideo();
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user