Compare commits
36 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f275b47755 | |||
| cfb7481d7e | |||
| 57fcce90d9 | |||
| 2c0ea0c108 | |||
| e81317b72c | |||
| 946e429906 | |||
| 2e5a401ff7 | |||
| b8b84d8d16 | |||
| 039777bf63 | |||
| 3547ec13c3 | |||
| 3763577451 | |||
| c6618049f2 | |||
| 28d6aa9885 | |||
| 568786e4f6 | |||
| 38614ee526 | |||
| 15ad6bb5f8 | |||
| 15f431ada6 | |||
| 5163acc6ef | |||
| f9297d783a | |||
| c34a02c06f | |||
| 61ed1fb202 | |||
| 87638ba6c5 | |||
| 26b4100bb0 | |||
| 1157c2adf6 | |||
| 8613d3288b | |||
| ab008fbdff | |||
| 0b30197280 | |||
| 89a121f21e | |||
| 045a8c56af | |||
| d83c11db8c | |||
| 7efe14b835 | |||
| 37116aecf9 | |||
| 9a606e8f2a | |||
| b1e65ed500 | |||
| 26f3dbff06 | |||
| 5ee0b188bd |
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@trigger.dev/sdk": patch
|
||||
"@trigger.dev/openai": patch
|
||||
---
|
||||
|
||||
Improved OpenAI task errors
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@trigger.dev/sdk": patch
|
||||
---
|
||||
|
||||
Don't return the apiKey when they don't match
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@trigger.dev/typeform": patch
|
||||
---
|
||||
|
||||
getAllResponses fixed
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
"@trigger.dev/integration-kit": patch
|
||||
"@trigger.dev/typeform": patch
|
||||
"@trigger.dev/sdk": patch
|
||||
"@trigger.dev/github": patch
|
||||
"@trigger.dev/openai": patch
|
||||
"@trigger.dev/resend": patch
|
||||
"@trigger.dev/plain": patch
|
||||
"@trigger.dev/slack": patch
|
||||
"@trigger.dev/nextjs": patch
|
||||
"@trigger.dev/cli": patch
|
||||
---
|
||||
|
||||
Set Node version to 16.8 and above
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@trigger.dev/nextjs": patch
|
||||
---
|
||||
|
||||
Loosen the Next.js dependency version
|
||||
@@ -25,11 +25,14 @@
|
||||
"big-tables-search",
|
||||
"bright-buses-join",
|
||||
"bright-horses-bathe",
|
||||
"brown-bikes-bathe",
|
||||
"chatty-cars-agree",
|
||||
"chilly-meals-warn",
|
||||
"clever-bats-learn",
|
||||
"cuddly-pets-arrive",
|
||||
"curly-hornets-sort",
|
||||
"dirty-needles-kneel",
|
||||
"dull-bulldogs-design",
|
||||
"eight-buckets-agree",
|
||||
"eighty-queens-prove",
|
||||
"fast-ligers-wink",
|
||||
@@ -57,16 +60,21 @@
|
||||
"moody-islands-melt",
|
||||
"odd-colts-smash",
|
||||
"pink-islands-pay",
|
||||
"pink-numbers-jam",
|
||||
"plenty-ties-raise",
|
||||
"popular-cooks-boil",
|
||||
"pretty-bats-obey",
|
||||
"quick-stingrays-own",
|
||||
"quiet-berries-tickle",
|
||||
"quiet-dryers-collect",
|
||||
"rich-clocks-attack",
|
||||
"rude-bees-taste",
|
||||
"shiny-mirrors-beam",
|
||||
"shy-bobcats-hear",
|
||||
"silent-mirrors-lay",
|
||||
"silver-insects-sneeze",
|
||||
"six-humans-happen",
|
||||
"sixty-pandas-deliver",
|
||||
"sixty-squids-wink",
|
||||
"strange-jobs-shout",
|
||||
"strong-cars-visit",
|
||||
@@ -77,8 +85,10 @@
|
||||
"tame-flowers-invite",
|
||||
"tasty-bats-flow",
|
||||
"ten-birds-confess",
|
||||
"thirty-apes-happen",
|
||||
"tidy-planes-compete",
|
||||
"tough-walls-share",
|
||||
"two-tools-hide",
|
||||
"wild-rats-mix",
|
||||
"young-birds-unite"
|
||||
]
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@trigger.dev/typeform": patch
|
||||
---
|
||||
|
||||
safeBodyParse webhook import fixed
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@trigger.dev/cli": patch
|
||||
---
|
||||
|
||||
Fix when setting the url as an option
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@trigger.dev/sdk": patch
|
||||
"@trigger.dev/openai": patch
|
||||
---
|
||||
|
||||
Adding support for output properties on tasks
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@trigger.dev/cli": patch
|
||||
---
|
||||
|
||||
Improved the endpoint prompt
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@trigger.dev/cli": patch
|
||||
---
|
||||
|
||||
Improved spinner and made port clear in logs
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
### The background jobs framework for Next.js
|
||||
|
||||
[Discord](https://discord.gg/bpVDSjcG) | [Website](https://trigger.dev) | [Issues](https://github.com/triggerdotdev/trigger.dev/issues) | [Docs](https://trigger.dev/docs)
|
||||
[Discord](https://discord.gg/JtBAxBr2m3) | [Website](https://trigger.dev) | [Issues](https://github.com/triggerdotdev/trigger.dev/issues) | [Docs](https://trigger.dev/docs)
|
||||
|
||||
[](https://twitter.com/triggerdotdev)
|
||||
[](https://github.com/triggerdotdev/trigger.dev)
|
||||
|
||||
@@ -78,27 +78,72 @@ export async function findOrCreateGithubUser({
|
||||
? (authenticationExtraParams as unknown as Prisma.JsonObject)
|
||||
: undefined;
|
||||
|
||||
const fields = {
|
||||
accessToken,
|
||||
authenticationProfile: authProfile,
|
||||
authenticationExtraParams: authExtraParams,
|
||||
name,
|
||||
avatarUrl,
|
||||
displayName,
|
||||
};
|
||||
const authIdentifier = `github:${authenticationProfile.id}`;
|
||||
|
||||
const existingUser = await prisma.user.findFirst({
|
||||
const existingUser = await prisma.user.findUnique({
|
||||
where: {
|
||||
authIdentifier,
|
||||
},
|
||||
});
|
||||
|
||||
const existingEmailUser = await prisma.user.findUnique({
|
||||
where: {
|
||||
email,
|
||||
},
|
||||
});
|
||||
|
||||
if (existingEmailUser && !existingUser) {
|
||||
const user = await prisma.user.update({
|
||||
where: {
|
||||
email,
|
||||
},
|
||||
data: {
|
||||
accessToken,
|
||||
authenticationProfile: authProfile,
|
||||
authenticationExtraParams: authExtraParams,
|
||||
avatarUrl,
|
||||
authIdentifier,
|
||||
},
|
||||
});
|
||||
|
||||
return {
|
||||
user,
|
||||
isNewUser: false,
|
||||
};
|
||||
}
|
||||
|
||||
if (existingEmailUser && existingUser) {
|
||||
const user = await prisma.user.update({
|
||||
where: {
|
||||
id: existingUser.id,
|
||||
},
|
||||
data: {
|
||||
accessToken,
|
||||
},
|
||||
});
|
||||
|
||||
return {
|
||||
user,
|
||||
isNewUser: false,
|
||||
};
|
||||
}
|
||||
|
||||
const user = await prisma.user.upsert({
|
||||
where: {
|
||||
email,
|
||||
authIdentifier,
|
||||
},
|
||||
update: { accessToken },
|
||||
create: {
|
||||
accessToken,
|
||||
authenticationProfile: authProfile,
|
||||
authenticationExtraParams: authExtraParams,
|
||||
name,
|
||||
avatarUrl,
|
||||
displayName,
|
||||
authIdentifier,
|
||||
email,
|
||||
authenticationMethod: "GITHUB",
|
||||
},
|
||||
update: fields,
|
||||
create: { ...fields, email, authenticationMethod: "GITHUB" },
|
||||
});
|
||||
|
||||
return {
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
import {
|
||||
DisplayPropertiesSchema,
|
||||
DisplayProperty,
|
||||
DisplayPropertySchema,
|
||||
ErrorWithStack,
|
||||
ErrorWithStackSchema,
|
||||
EventSpecificationSchema,
|
||||
StyleSchema,
|
||||
} from "@trigger.dev/internal";
|
||||
import { z } from "zod";
|
||||
import { PrismaClient, prisma } from "~/db.server";
|
||||
import { mergeProperties } from "~/utils/mergeProperties.server";
|
||||
|
||||
type RunOptions = {
|
||||
id: string;
|
||||
@@ -35,6 +32,7 @@ const taskSelect = {
|
||||
delayUntil: true,
|
||||
description: true,
|
||||
properties: true,
|
||||
outputProperties: true,
|
||||
error: true,
|
||||
startedAt: true,
|
||||
completedAt: true,
|
||||
@@ -67,30 +65,15 @@ export class RunPresenter {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
//merge the properties from the version and the run, with the run properties taking precedence
|
||||
const mergedProperties = new Map<string, DisplayProperty>();
|
||||
if (run.version.properties) {
|
||||
const properties = DisplayPropertiesSchema.parse(run.version.properties);
|
||||
for (const property of properties) {
|
||||
mergedProperties.set(property.label, property);
|
||||
}
|
||||
}
|
||||
if (run.properties) {
|
||||
const properties = DisplayPropertiesSchema.parse(run.properties);
|
||||
for (const property of properties) {
|
||||
mergedProperties.set(property.label, property);
|
||||
}
|
||||
}
|
||||
if (run.version.eventSpecification) {
|
||||
const eventSpecification = EventSpecificationSchema.parse(
|
||||
run.version.eventSpecification
|
||||
);
|
||||
if (eventSpecification.properties) {
|
||||
for (const properties of eventSpecification.properties) {
|
||||
mergedProperties.set(properties.label, properties);
|
||||
}
|
||||
}
|
||||
}
|
||||
const eventSpecification = EventSpecificationSchema.parse(
|
||||
run.version.eventSpecification
|
||||
);
|
||||
|
||||
const runProperties = mergeProperties(
|
||||
run.version.properties,
|
||||
run.properties,
|
||||
eventSpecification.properties
|
||||
);
|
||||
|
||||
const enrichTask = (task: QueryTask) => {
|
||||
const { children, ...t } = task;
|
||||
@@ -98,10 +81,7 @@ export class RunPresenter {
|
||||
...t,
|
||||
error: t.error ? ErrorWithStackSchema.parse(t.error) : undefined,
|
||||
connection: t.runConnection,
|
||||
properties:
|
||||
t.properties == null
|
||||
? []
|
||||
: z.array(DisplayPropertySchema).parse(t.properties),
|
||||
properties: mergeProperties(t.properties, t.outputProperties),
|
||||
style: t.style ? StyleSchema.parse(t.style) : undefined,
|
||||
};
|
||||
};
|
||||
@@ -147,7 +127,7 @@ export class RunPresenter {
|
||||
isTest: run.isTest,
|
||||
version: run.version.version,
|
||||
output: runOutput,
|
||||
properties: Array.from(mergedProperties.values()),
|
||||
properties: runProperties,
|
||||
environment: {
|
||||
type: run.environment.type,
|
||||
slug: run.environment.slug,
|
||||
@@ -212,14 +192,29 @@ export class RunPresenter {
|
||||
select: {
|
||||
...taskSelect,
|
||||
},
|
||||
orderBy: {
|
||||
createdAt: "asc",
|
||||
},
|
||||
},
|
||||
},
|
||||
orderBy: {
|
||||
createdAt: "asc",
|
||||
},
|
||||
},
|
||||
},
|
||||
orderBy: {
|
||||
createdAt: "asc",
|
||||
},
|
||||
},
|
||||
},
|
||||
orderBy: {
|
||||
createdAt: "asc",
|
||||
},
|
||||
},
|
||||
},
|
||||
orderBy: {
|
||||
createdAt: "asc",
|
||||
},
|
||||
},
|
||||
},
|
||||
orderBy: {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { DisplayPropertiesSchema, StyleSchema } from "@trigger.dev/internal";
|
||||
import { PrismaClient, prisma } from "~/db.server";
|
||||
import { mergeProperties } from "~/utils/mergeProperties.server";
|
||||
|
||||
type DetailsProps = {
|
||||
id: string;
|
||||
@@ -56,6 +57,7 @@ export class TaskDetailsPresenter {
|
||||
noop: true,
|
||||
description: true,
|
||||
properties: true,
|
||||
outputProperties: true,
|
||||
params: true,
|
||||
output: true,
|
||||
error: true,
|
||||
@@ -89,10 +91,7 @@ export class TaskDetailsPresenter {
|
||||
...task,
|
||||
connection: task.runConnection,
|
||||
params: task.params as Record<string, any>,
|
||||
properties:
|
||||
task.properties == null
|
||||
? []
|
||||
: DisplayPropertiesSchema.parse(task.properties),
|
||||
properties: mergeProperties(task.properties, task.outputProperties),
|
||||
style: task.style ? StyleSchema.parse(task.style) : undefined,
|
||||
};
|
||||
}
|
||||
|
||||
+1
-3
@@ -3,7 +3,6 @@ import { typedjson, useTypedLoaderData } from "remix-typedjson";
|
||||
import { CodeBlock } from "~/components/code/CodeBlock";
|
||||
import { DateTime } from "~/components/primitives/DateTime";
|
||||
import { Header3 } from "~/components/primitives/Headers";
|
||||
import { useLocales } from "~/components/primitives/LocaleProvider";
|
||||
import { Paragraph } from "~/components/primitives/Paragraph";
|
||||
import {
|
||||
Table,
|
||||
@@ -58,7 +57,6 @@ export const loader = async ({ request, params }: LoaderArgs) => {
|
||||
|
||||
export default function Page() {
|
||||
const { task } = useTypedLoaderData<typeof loader>();
|
||||
const locales = useLocales();
|
||||
|
||||
const {
|
||||
name,
|
||||
@@ -139,7 +137,7 @@ export default function Page() {
|
||||
{properties.length > 0 && (
|
||||
<div className="mt-4 flex flex-col gap-2">
|
||||
<Header3>Properties</Header3>
|
||||
<RunPanelProperties properties={properties} layout="vertical" />
|
||||
<RunPanelProperties properties={properties} layout="horizontal" />
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
+1
-1
@@ -67,7 +67,7 @@ export default function Page() {
|
||||
<Header3>Properties</Header3>
|
||||
<RunPanelProperties
|
||||
properties={run.properties}
|
||||
layout="vertical"
|
||||
layout="horizontal"
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@@ -146,6 +146,7 @@ export class CompleteRunTaskService {
|
||||
status: "COMPLETED",
|
||||
output: taskBody.output ?? undefined,
|
||||
completedAt: new Date(),
|
||||
outputProperties: taskBody.properties,
|
||||
},
|
||||
include: {
|
||||
attempts: true,
|
||||
|
||||
@@ -1,16 +1,25 @@
|
||||
import type { LoaderFunction } from "@remix-run/node";
|
||||
import { authenticator } from "~/services/auth.server";
|
||||
import { redirectCookie } from "./auth.github";
|
||||
import { logger } from "~/services/logger.server";
|
||||
|
||||
export let loader: LoaderFunction = async ({ request }) => {
|
||||
const cookie = request.headers.get("Cookie");
|
||||
const redirectValue = await redirectCookie.parse(cookie);
|
||||
const redirectTo = redirectValue ?? "/";
|
||||
|
||||
logger.debug("auth.github.callback loader", {
|
||||
redirectTo,
|
||||
});
|
||||
|
||||
const authuser = await authenticator.authenticate("github", request, {
|
||||
successRedirect: redirectTo,
|
||||
failureRedirect: "/login",
|
||||
});
|
||||
|
||||
logger.debug("auth.github.callback authuser", {
|
||||
authuser,
|
||||
});
|
||||
|
||||
return authuser;
|
||||
};
|
||||
|
||||
@@ -173,6 +173,7 @@ export class EndpointApi {
|
||||
return {
|
||||
response,
|
||||
parser: RunJobResponseSchema,
|
||||
errorParser: ErrorWithStackSchema,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { github } from "./integrations/github";
|
||||
import { openai } from "./integrations/openai";
|
||||
import { plain } from "./integrations/plain";
|
||||
import { resend } from "./integrations/resend";
|
||||
import { slack } from "./integrations/slack";
|
||||
import { typeform } from "./integrations/typeform";
|
||||
@@ -30,6 +31,7 @@ export const integrationCatalog = new IntegrationCatalog({
|
||||
// airtable,
|
||||
github,
|
||||
openai,
|
||||
plain,
|
||||
resend,
|
||||
slack,
|
||||
typeform,
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
import type { Integration } from "../types";
|
||||
|
||||
export const plain: Integration = {
|
||||
identifier: "plain",
|
||||
name: "Plain",
|
||||
packageName: "@trigger.dev/plain@latest",
|
||||
authenticationMethods: {
|
||||
apikey: {
|
||||
type: "apikey",
|
||||
help: {
|
||||
samples: [
|
||||
{
|
||||
title: "Creating the client",
|
||||
code: `
|
||||
import { Plain } from "@trigger.dev/plain";
|
||||
|
||||
export const plain = new Plain({
|
||||
id: "__SLUG__",
|
||||
apiKey: process.env.PLAIN_API_KEY!,
|
||||
});
|
||||
`,
|
||||
},
|
||||
{
|
||||
title: "Using the client",
|
||||
code: `
|
||||
new Job(client, {
|
||||
id: "plain-playground",
|
||||
name: "Plain Playground",
|
||||
version: "0.1.1",
|
||||
integrations: {
|
||||
plain,
|
||||
},
|
||||
trigger: eventTrigger({
|
||||
name: "plain.playground",
|
||||
}),
|
||||
run: async (payload, io, ctx) => {
|
||||
const { customer } = await io.plain.upsertCustomer("upsert-customer", {
|
||||
identifier: {
|
||||
emailAddress: "rick.astley@gmail.com",
|
||||
},
|
||||
onCreate: {
|
||||
email: {
|
||||
email: "rick.astley@gmail.com",
|
||||
isVerified: true,
|
||||
},
|
||||
fullName: "Rick Astley",
|
||||
externalId: "u_123",
|
||||
},
|
||||
onUpdate: {
|
||||
fullName: {
|
||||
value: "Rick Astley",
|
||||
},
|
||||
externalId: {
|
||||
value: "u_123",
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const foundCustomer = await io.plain.getCustomerById("get-customer", {
|
||||
customerId: customer.id,
|
||||
});
|
||||
|
||||
const timelineEntry = await io.plain.upsertCustomTimelineEntry(
|
||||
"upsert-timeline-entry",
|
||||
{
|
||||
customerId: customer.id,
|
||||
title: "My timeline entry",
|
||||
components: [
|
||||
{
|
||||
componentText: {
|
||||
text: \`This is a nice title\`,
|
||||
},
|
||||
},
|
||||
{
|
||||
componentDivider: {
|
||||
dividerSpacingSize: ComponentDividerSpacingSize.M,
|
||||
},
|
||||
},
|
||||
{
|
||||
componentText: {
|
||||
textSize: ComponentTextSize.S,
|
||||
textColor: ComponentTextColor.Muted,
|
||||
text: "External id",
|
||||
},
|
||||
},
|
||||
{
|
||||
componentText: {
|
||||
text: foundCustomer?.externalId ?? "",
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
);
|
||||
},
|
||||
});
|
||||
`,
|
||||
highlight: [[12, 68]],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -4,6 +4,7 @@ import { env } from "~/env.server";
|
||||
import { findOrCreateUser } from "~/models/user.server";
|
||||
import type { AuthUser } from "./authUser";
|
||||
import { postAuthentication } from "./postAuth.server";
|
||||
import { logger } from "./logger.server";
|
||||
|
||||
export function addGitHubStrategy(
|
||||
authenticator: Authenticator<AuthUser>,
|
||||
@@ -24,6 +25,12 @@ export function addGitHubStrategy(
|
||||
}
|
||||
|
||||
try {
|
||||
logger.debug("GitHub login", {
|
||||
emails,
|
||||
profile,
|
||||
extraParams,
|
||||
});
|
||||
|
||||
const { user, isNewUser } = await findOrCreateUser({
|
||||
email: emails[0].value,
|
||||
authenticationMethod: "GITHUB",
|
||||
|
||||
@@ -247,7 +247,7 @@ export class PerformRunExecutionService {
|
||||
run.event.sourceContext
|
||||
);
|
||||
|
||||
const { response, parser } = await client.executeJobRequest({
|
||||
const { response, parser, errorParser } = await client.executeJobRequest({
|
||||
event,
|
||||
job: {
|
||||
id: run.version.job.slug,
|
||||
@@ -288,13 +288,20 @@ export class PerformRunExecutionService {
|
||||
});
|
||||
}
|
||||
|
||||
const rawBody = await response.text();
|
||||
|
||||
if (!response.ok) {
|
||||
const errorBody = safeJsonZodParse(errorParser, rawBody);
|
||||
|
||||
if (errorBody && errorBody.success) {
|
||||
return await this.#failRunExecutionWithRetry(execution, errorBody.data);
|
||||
}
|
||||
|
||||
return await this.#failRunExecutionWithRetry(execution, {
|
||||
message: `Endpoint responded with ${response.status} status code`,
|
||||
});
|
||||
}
|
||||
|
||||
const rawBody = await response.text();
|
||||
const safeBody = safeJsonZodParse(parser, rawBody);
|
||||
|
||||
if (!safeBody) {
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
import {
|
||||
DisplayProperty,
|
||||
DisplayPropertiesSchema,
|
||||
} from "@trigger.dev/internal";
|
||||
|
||||
// Takes a list of potential arrays of DisplayProperties and merges them together so no duplicates exist based on the label
|
||||
// For example, if the propertyLists are:
|
||||
// [
|
||||
// [{label: "foo", value: "bar"}],
|
||||
// [{label: "foo", value: "baz"}],
|
||||
// [{label: "bar", value: "baz"}],
|
||||
// ]
|
||||
// The result would be:
|
||||
// [
|
||||
// {label: "foo", value: "baz"},
|
||||
// {label: "bar", value: "baz"},
|
||||
// ]
|
||||
//
|
||||
// We will use the DisplayPropertiesSchema zod schema to safely parse the properties and if they aren't valid then we'll just ignore them
|
||||
export function mergeProperties(
|
||||
...propertyLists: Array<unknown>
|
||||
): Array<DisplayProperty> {
|
||||
const mergedProperties = new Map<string, DisplayProperty>();
|
||||
|
||||
for (const propertyList of propertyLists) {
|
||||
const properties = DisplayPropertiesSchema.safeParse(propertyList);
|
||||
|
||||
if (properties.success) {
|
||||
for (const property of properties.data) {
|
||||
mergedProperties.set(property.label, property);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Array.from(mergedProperties.values());
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "run-s build:*",
|
||||
"build:remix": "remix build --sourcemap",
|
||||
"build:remix": "remix build",
|
||||
"build:server": "esbuild --platform=node --format=cjs ./server.ts --outdir=build",
|
||||
"dev": "cross-env PORT=3030 remix dev",
|
||||
"format": "prettier --write .",
|
||||
@@ -59,7 +59,6 @@
|
||||
"@trigger.dev/companyicons": "^1.5.14",
|
||||
"@trigger.dev/database": "workspace:*",
|
||||
"@trigger.dev/internal": "workspace:*",
|
||||
"emails": "workspace:*",
|
||||
"@uiw/react-codemirror": "^4.19.5",
|
||||
"class-variance-authority": "^0.5.2",
|
||||
"clsx": "^1.2.1",
|
||||
@@ -67,6 +66,7 @@
|
||||
"cron-parser": "^4.7.1",
|
||||
"cross-env": "^7.0.3",
|
||||
"cuid": "^2.1.8",
|
||||
"emails": "workspace:*",
|
||||
"express": "^4.18.1",
|
||||
"fast-redact": "^3.1.2",
|
||||
"framer-motion": "^10.12.11",
|
||||
@@ -155,6 +155,7 @@
|
||||
"esbuild": "^0.15.10",
|
||||
"eslint": "^8.24.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"postcss": "^8.4.21",
|
||||
"prettier": "^2.8.8",
|
||||
"prettier-plugin-tailwindcss": "^0.3.0",
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "next/core-web-vitals"
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.js
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# next.js
|
||||
/.next/
|
||||
/out/
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
|
||||
# debug
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# local env files
|
||||
.env*.local
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
||||
@@ -0,0 +1,34 @@
|
||||
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
|
||||
|
||||
## Getting Started
|
||||
|
||||
First, run the development server:
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
# or
|
||||
yarn dev
|
||||
```
|
||||
|
||||
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
||||
|
||||
You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
|
||||
|
||||
[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.
|
||||
|
||||
The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
|
||||
|
||||
## Learn More
|
||||
|
||||
To learn more about Next.js, take a look at the following resources:
|
||||
|
||||
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
|
||||
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
|
||||
|
||||
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
|
||||
|
||||
## Deploy on Vercel
|
||||
|
||||
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
|
||||
|
||||
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
|
||||
@@ -0,0 +1,7 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
reactStrictMode: true,
|
||||
swcMinify: true,
|
||||
}
|
||||
|
||||
module.exports = nextConfig
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "nextjs-12",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "next lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"next": "12.3.4",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"@trigger.dev/nextjs": "workspace:*",
|
||||
"@trigger.dev/sdk": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "8.44.0",
|
||||
"eslint-config-next": "12.3.4"
|
||||
},
|
||||
"trigger.dev": {
|
||||
"endpointId": "nextjs-12"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import '../styles/globals.css'
|
||||
|
||||
function MyApp({ Component, pageProps }) {
|
||||
return <Component {...pageProps} />
|
||||
}
|
||||
|
||||
export default MyApp
|
||||
@@ -0,0 +1,5 @@
|
||||
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
|
||||
|
||||
export default function handler(req, res) {
|
||||
res.status(200).json({ name: 'John Doe' })
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import { TriggerClient } from "@trigger.dev/sdk";
|
||||
import { createPagesRoute } from "@trigger.dev/nextjs";
|
||||
|
||||
export const client = new TriggerClient({
|
||||
id: "nextjs-12",
|
||||
apiKey: process.env.TRIGGER_API_KEY,
|
||||
apiUrl: process.env.TRIGGER_API_URL,
|
||||
verbose: false,
|
||||
ioLogLocalEnabled: true,
|
||||
});
|
||||
|
||||
const { handler, config } = createPagesRoute(client);
|
||||
|
||||
export { config };
|
||||
|
||||
export default handler;
|
||||
@@ -0,0 +1,69 @@
|
||||
import Head from 'next/head'
|
||||
import Image from 'next/image'
|
||||
import styles from '../styles/Home.module.css'
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<div className={styles.container}>
|
||||
<Head>
|
||||
<title>Create Next App</title>
|
||||
<meta name="description" content="Generated by create next app" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
</Head>
|
||||
|
||||
<main className={styles.main}>
|
||||
<h1 className={styles.title}>
|
||||
Welcome to <a href="https://nextjs.org">Next.js!</a>
|
||||
</h1>
|
||||
|
||||
<p className={styles.description}>
|
||||
Get started by editing{' '}
|
||||
<code className={styles.code}>pages/index.js</code>
|
||||
</p>
|
||||
|
||||
<div className={styles.grid}>
|
||||
<a href="https://nextjs.org/docs" className={styles.card}>
|
||||
<h2>Documentation →</h2>
|
||||
<p>Find in-depth information about Next.js features and API.</p>
|
||||
</a>
|
||||
|
||||
<a href="https://nextjs.org/learn" className={styles.card}>
|
||||
<h2>Learn →</h2>
|
||||
<p>Learn about Next.js in an interactive course with quizzes!</p>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://github.com/vercel/next.js/tree/canary/examples"
|
||||
className={styles.card}
|
||||
>
|
||||
<h2>Examples →</h2>
|
||||
<p>Discover and deploy boilerplate example Next.js projects.</p>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://vercel.com/new?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
|
||||
className={styles.card}
|
||||
>
|
||||
<h2>Deploy →</h2>
|
||||
<p>
|
||||
Instantly deploy your Next.js site to a public URL with Vercel.
|
||||
</p>
|
||||
</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer className={styles.footer}>
|
||||
<a
|
||||
href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Powered by{' '}
|
||||
<span className={styles.logo}>
|
||||
<Image src="/vercel.svg" alt="Vercel Logo" width={72} height={16} />
|
||||
</span>
|
||||
</a>
|
||||
</footer>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,4 @@
|
||||
<svg width="283" height="64" viewBox="0 0 283 64" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M141.04 16c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5h-18.9zM248.72 16c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.45 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5h-18.9zM200.24 34c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10zm82.48-29v46h-9V5h9zM36.95 0L73.9 64H0L36.95 0zm92.38 5l-27.71 48L73.91 5H84.3l17.32 30 17.32-30h10.39zm58.91 12v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10V51h-9V17h9v9.2c0-5.08 5.91-9.2 13.2-9.2z" fill="#000"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,129 @@
|
||||
.container {
|
||||
padding: 0 2rem;
|
||||
}
|
||||
|
||||
.main {
|
||||
min-height: 100vh;
|
||||
padding: 4rem 0;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.footer {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
padding: 2rem 0;
|
||||
border-top: 1px solid #eaeaea;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.footer a {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.title a {
|
||||
color: #0070f3;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.title a:hover,
|
||||
.title a:focus,
|
||||
.title a:active {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.title {
|
||||
margin: 0;
|
||||
line-height: 1.15;
|
||||
font-size: 4rem;
|
||||
}
|
||||
|
||||
.title,
|
||||
.description {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.description {
|
||||
margin: 4rem 0;
|
||||
line-height: 1.5;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.code {
|
||||
background: #fafafa;
|
||||
border-radius: 5px;
|
||||
padding: 0.75rem;
|
||||
font-size: 1.1rem;
|
||||
font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
|
||||
Bitstream Vera Sans Mono, Courier New, monospace;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
.card {
|
||||
margin: 1rem;
|
||||
padding: 1.5rem;
|
||||
text-align: left;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
border: 1px solid #eaeaea;
|
||||
border-radius: 10px;
|
||||
transition: color 0.15s ease, border-color 0.15s ease;
|
||||
max-width: 300px;
|
||||
}
|
||||
|
||||
.card:hover,
|
||||
.card:focus,
|
||||
.card:active {
|
||||
color: #0070f3;
|
||||
border-color: #0070f3;
|
||||
}
|
||||
|
||||
.card h2 {
|
||||
margin: 0 0 1rem 0;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.card p {
|
||||
margin: 0;
|
||||
font-size: 1.25rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.logo {
|
||||
height: 1em;
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.grid {
|
||||
width: 100%;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
.card,
|
||||
.footer {
|
||||
border-color: #222;
|
||||
}
|
||||
.code {
|
||||
background: #111;
|
||||
}
|
||||
.logo img {
|
||||
filter: invert(1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
html,
|
||||
body {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
|
||||
Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
html {
|
||||
color-scheme: dark;
|
||||
}
|
||||
body {
|
||||
color: white;
|
||||
background: black;
|
||||
}
|
||||
}
|
||||
@@ -137,6 +137,50 @@ new Job(client, {
|
||||
},
|
||||
});
|
||||
|
||||
new Job(client, {
|
||||
id: "openai-errors",
|
||||
name: "OpenAI Errors",
|
||||
version: "0.0.1",
|
||||
enabled,
|
||||
trigger: eventTrigger({
|
||||
name: "openai.errors",
|
||||
}),
|
||||
integrations: {
|
||||
openai,
|
||||
},
|
||||
run: async (payload, io, ctx) => {
|
||||
await io.openai.createChatCompletion("chat-completion", {
|
||||
model: "gpt-3.5-turbo",
|
||||
messages: [
|
||||
{
|
||||
role: "system",
|
||||
content:
|
||||
"You are an AI assistant that is helpful, creative, clever, and very friendly.",
|
||||
},
|
||||
{
|
||||
role: "user",
|
||||
content:
|
||||
"Call the supplied function that will tweet a really funny joke",
|
||||
},
|
||||
],
|
||||
function_call: { name: "tweetFunnyJoke" },
|
||||
functions: [
|
||||
{
|
||||
name: "tweetFunnyJoke",
|
||||
description:
|
||||
"Tweets a really funny joke. The joke is so funny that it will make you laugh out loud.",
|
||||
parameters: {
|
||||
type: "array",
|
||||
items: {
|
||||
type: "string",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
new Job(client, {
|
||||
id: "on-missing-auth-connection",
|
||||
name: "On missing auth connection",
|
||||
|
||||
@@ -2,6 +2,7 @@ import { client } from "@/trigger";
|
||||
import { Typeform, events } from "@trigger.dev/typeform";
|
||||
import { Job, eventTrigger } from "@trigger.dev/sdk";
|
||||
import { DynamicTrigger } from "@trigger.dev/sdk";
|
||||
import { z } from "zod";
|
||||
|
||||
export const typeform = new Typeform({
|
||||
id: "typeform-1",
|
||||
@@ -17,6 +18,9 @@ new Job(client, {
|
||||
},
|
||||
trigger: eventTrigger({
|
||||
name: "typeform.playground",
|
||||
schema: z.object({
|
||||
formId: z.string().optional(),
|
||||
}),
|
||||
}),
|
||||
run: async (payload, io, ctx) => {
|
||||
await io.typeform.listForms("list-forms");
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/github
|
||||
|
||||
## 1.0.0-next.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2c0ea0c1: Set Node version to 16.8 and above
|
||||
- Updated dependencies [2c0ea0c1]
|
||||
- @trigger.dev/integration-kit@2.0.0-next.5
|
||||
- @trigger.dev/sdk@2.0.0-next.15
|
||||
|
||||
## 1.0.0-next.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/github",
|
||||
"version": "1.0.0-next.5",
|
||||
"version": "1.0.0-next.6",
|
||||
"description": "The official GitHub integration for Trigger.dev",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -29,12 +29,12 @@
|
||||
"@octokit/request": "^6.2.5",
|
||||
"@octokit/request-error": "^4.0.1",
|
||||
"@octokit/webhooks": "^10.4.0",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.12",
|
||||
"@trigger.dev/integration-kit": "workspace:^2.0.0-next.4",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.15",
|
||||
"@trigger.dev/integration-kit": "workspace:^2.0.0-next.5",
|
||||
"octokit": "^2.0.14",
|
||||
"zod": "3.21.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=16.8.0"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,24 @@
|
||||
# @trigger.dev/slack
|
||||
|
||||
## 1.0.0-next.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2c0ea0c1: Set Node version to 16.8 and above
|
||||
- Updated dependencies [2c0ea0c1]
|
||||
- @trigger.dev/integration-kit@2.0.0-next.5
|
||||
- @trigger.dev/sdk@2.0.0-next.15
|
||||
|
||||
## 1.0.0-next.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- c34a02c0: Improved OpenAI task errors
|
||||
- 61ed1fb2: Adding support for output properties on tasks
|
||||
- Updated dependencies [c34a02c0]
|
||||
- Updated dependencies [61ed1fb2]
|
||||
- @trigger.dev/sdk@2.0.0-next.14
|
||||
|
||||
## 1.0.0-next.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/openai",
|
||||
"version": "1.0.0-next.3",
|
||||
"version": "1.0.0-next.5",
|
||||
"description": "The official OpenAI integration for Trigger.dev",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -25,11 +25,11 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"openai": "^3.3.0",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.12",
|
||||
"@trigger.dev/integration-kit": "workspace:^2.0.0-next.4",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.15",
|
||||
"@trigger.dev/integration-kit": "workspace:^2.0.0-next.5",
|
||||
"zod": "3.21.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=16.8.0"
|
||||
}
|
||||
}
|
||||
@@ -1,48 +1,8 @@
|
||||
import type { IntegrationClient, TriggerIntegration } from "@trigger.dev/sdk";
|
||||
import { Configuration, OpenAIApi } from "openai";
|
||||
import {
|
||||
backgroundCreateChatCompletion,
|
||||
backgroundCreateCompletion,
|
||||
cancelFineTune,
|
||||
createChatCompletion,
|
||||
createCompletion,
|
||||
createEdit,
|
||||
createEmbedding,
|
||||
createFile,
|
||||
createFineTune,
|
||||
createFineTuneFile,
|
||||
createImage,
|
||||
deleteFineTune,
|
||||
listFiles,
|
||||
listFineTuneEvents,
|
||||
listFineTunes,
|
||||
listModels,
|
||||
retrieveFineTune,
|
||||
retrieveModel,
|
||||
} from "./tasks";
|
||||
import * as tasks from "./tasks";
|
||||
import { OpenAIIntegrationOptions } from "./types";
|
||||
|
||||
const tasks = {
|
||||
retrieveModel,
|
||||
listModels,
|
||||
createCompletion,
|
||||
createChatCompletion,
|
||||
backgroundCreateCompletion,
|
||||
backgroundCreateChatCompletion,
|
||||
createEdit,
|
||||
createImage,
|
||||
createEmbedding,
|
||||
createFile,
|
||||
listFiles,
|
||||
createFineTuneFile,
|
||||
createFineTune,
|
||||
listFineTunes,
|
||||
retrieveFineTune,
|
||||
cancelFineTune,
|
||||
listFineTuneEvents,
|
||||
deleteFineTune,
|
||||
};
|
||||
|
||||
export class OpenAI
|
||||
implements TriggerIntegration<IntegrationClient<OpenAIApi, typeof tasks>>
|
||||
{
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
import {
|
||||
CreateCompletionResponseUsage,
|
||||
CreateEmbeddingResponseUsage,
|
||||
} from "openai";
|
||||
import { z } from "zod";
|
||||
|
||||
export function createTaskUsageProperties(
|
||||
usage:
|
||||
| CreateCompletionResponseUsage
|
||||
| CreateEmbeddingResponseUsage
|
||||
| undefined
|
||||
) {
|
||||
if (!usage) {
|
||||
return;
|
||||
}
|
||||
|
||||
return [
|
||||
{
|
||||
label: "Prompt Usage",
|
||||
text: String(usage.prompt_tokens),
|
||||
},
|
||||
...("completion_tokens" in usage
|
||||
? [
|
||||
{
|
||||
label: "Completion Usage",
|
||||
text: String(usage.completion_tokens),
|
||||
},
|
||||
]
|
||||
: []),
|
||||
{
|
||||
label: "Total Usage",
|
||||
text: String(usage.total_tokens),
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
const OpenAIErrorSchema = z.object({
|
||||
response: z.object({
|
||||
data: z.object({
|
||||
error: z.object({
|
||||
code: z.string().nullable().optional(),
|
||||
message: z.string(),
|
||||
type: z.string(),
|
||||
}),
|
||||
}),
|
||||
}),
|
||||
});
|
||||
|
||||
export function onTaskError(error: unknown) {
|
||||
const openAIError = OpenAIErrorSchema.safeParse(error);
|
||||
|
||||
if (!openAIError.success) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { message, code, type } = openAIError.data.response.data.error;
|
||||
|
||||
return new Error(`${type}: ${message}${code ? ` (${code})` : ""}`);
|
||||
}
|
||||
@@ -15,6 +15,7 @@ import {
|
||||
fileFromString,
|
||||
truncate,
|
||||
} from "@trigger.dev/integration-kit";
|
||||
import { createTaskUsageProperties, onTaskError } from "./taskUtils";
|
||||
|
||||
type OpenAIClientType = InstanceType<typeof OpenAIApi>;
|
||||
|
||||
@@ -31,6 +32,7 @@ export const retrieveModel: AuthenticatedTask<
|
||||
Prettify<RetrieveModelRequest>,
|
||||
RetrieveModelResponseData
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client) => {
|
||||
return client.retrieveModel(params.model).then((res) => res.data);
|
||||
},
|
||||
@@ -58,6 +60,7 @@ export const listModels: AuthenticatedTask<
|
||||
void,
|
||||
Prettify<ListModelsResponseData>
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client) => {
|
||||
return client.listModels().then((res) => res.data);
|
||||
},
|
||||
@@ -76,8 +79,12 @@ export const createCompletion: AuthenticatedTask<
|
||||
Prettify<CreateCompletionRequest>,
|
||||
Prettify<Awaited<ReturnType<OpenAIClientType["createCompletion"]>>["data"]>
|
||||
> = {
|
||||
run: async (params, client) => {
|
||||
return client.createCompletion(params).then((res) => res.data);
|
||||
run: async (params, client, task) => {
|
||||
const response = await client.createCompletion(params);
|
||||
|
||||
task.outputProperties = createTaskUsageProperties(response.data.usage);
|
||||
|
||||
return response.data;
|
||||
},
|
||||
init: (params) => {
|
||||
return {
|
||||
@@ -105,7 +112,7 @@ export const backgroundCreateCompletion: AuthenticatedTask<
|
||||
OpenAIIntegrationAuth
|
||||
> = {
|
||||
run: async (params, client, task, io, auth) => {
|
||||
return io.backgroundFetch<CreateCompletionResponseData>(
|
||||
const response = await io.backgroundFetch<CreateCompletionResponseData>(
|
||||
"background",
|
||||
"https://api.openai.com/v1/completions",
|
||||
{
|
||||
@@ -120,6 +127,10 @@ export const backgroundCreateCompletion: AuthenticatedTask<
|
||||
body: JSON.stringify(params),
|
||||
}
|
||||
);
|
||||
|
||||
task.outputProperties = createTaskUsageProperties(response.usage);
|
||||
|
||||
return response;
|
||||
},
|
||||
init: (params) => {
|
||||
return {
|
||||
@@ -145,8 +156,13 @@ export const createChatCompletion: AuthenticatedTask<
|
||||
Prettify<CreateChatCompletionRequest>,
|
||||
Prettify<CreateChatCompetionResponseData>
|
||||
> = {
|
||||
run: async (params, client) => {
|
||||
return client.createChatCompletion(params).then((res) => res.data);
|
||||
onError: onTaskError,
|
||||
run: async (params, client, task) => {
|
||||
const response = await client.createChatCompletion(params);
|
||||
|
||||
task.outputProperties = createTaskUsageProperties(response.data.usage);
|
||||
|
||||
return response.data;
|
||||
},
|
||||
init: (params) => {
|
||||
return {
|
||||
@@ -170,7 +186,7 @@ export const backgroundCreateChatCompletion: AuthenticatedTask<
|
||||
OpenAIIntegrationAuth
|
||||
> = {
|
||||
run: async (params, client, task, io, auth) => {
|
||||
return io.backgroundFetch<CreateChatCompetionResponseData>(
|
||||
const response = await io.backgroundFetch<CreateChatCompetionResponseData>(
|
||||
"background",
|
||||
"https://api.openai.com/v1/chat/completions",
|
||||
{
|
||||
@@ -203,6 +219,10 @@ export const backgroundCreateChatCompletion: AuthenticatedTask<
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
task.outputProperties = createTaskUsageProperties(response.usage);
|
||||
|
||||
return response;
|
||||
},
|
||||
init: (params) => {
|
||||
return {
|
||||
@@ -228,8 +248,13 @@ export const createEdit: AuthenticatedTask<
|
||||
Prettify<CreateEditRequest>,
|
||||
CreateEditResponseData
|
||||
> = {
|
||||
run: async (params, client) => {
|
||||
return client.createEdit(params).then((res) => res.data);
|
||||
onError: onTaskError,
|
||||
run: async (params, client, task) => {
|
||||
const response = await client.createEdit(params);
|
||||
|
||||
task.outputProperties = createTaskUsageProperties(response.data.usage);
|
||||
|
||||
return response.data;
|
||||
},
|
||||
init: (params) => {
|
||||
let properties = [
|
||||
@@ -269,8 +294,11 @@ export const createImage: AuthenticatedTask<
|
||||
Prettify<CreateImageRequest>,
|
||||
CreateImageResponseData
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client, task) => {
|
||||
return client.createImage(params).then((res) => res.data);
|
||||
const response = await client.createImage(params);
|
||||
|
||||
return response.data;
|
||||
},
|
||||
init: (params) => {
|
||||
let properties = [
|
||||
@@ -319,8 +347,13 @@ export const createEmbedding: AuthenticatedTask<
|
||||
Prettify<CreateEmbeddingRequest>,
|
||||
CreateEmbeddingResponseData
|
||||
> = {
|
||||
run: async (params, client) => {
|
||||
return client.createEmbedding(params).then((res) => res.data);
|
||||
onError: onTaskError,
|
||||
run: async (params, client, task) => {
|
||||
const response = await client.createEmbedding(params);
|
||||
|
||||
task.outputProperties = createTaskUsageProperties(response.data.usage);
|
||||
|
||||
return response.data;
|
||||
},
|
||||
init: (params) => {
|
||||
return {
|
||||
@@ -359,6 +392,7 @@ export const createFile: AuthenticatedTask<
|
||||
Prettify<CreateFileRequest>,
|
||||
Prettify<CreateFileResponseData>
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client) => {
|
||||
let file: File;
|
||||
|
||||
@@ -401,6 +435,7 @@ export const listFiles: AuthenticatedTask<
|
||||
void,
|
||||
ListFilesResponseData
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client) => {
|
||||
return client.listFiles().then((res) => res.data);
|
||||
},
|
||||
@@ -427,6 +462,7 @@ export const createFineTuneFile: AuthenticatedTask<
|
||||
Prettify<CreateFineTuneFileRequest>,
|
||||
Prettify<CreateFileResponseData>
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client) => {
|
||||
const file = (await fileFromString(
|
||||
params.examples.map((d) => JSON.stringify(d)).join("\n"),
|
||||
@@ -459,6 +495,7 @@ export const createFineTune: AuthenticatedTask<
|
||||
Prettify<CreateFineTuneRequest>,
|
||||
CreateFineTuneResponseData
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client) => {
|
||||
return client.createFineTune(params).then((res) => res.data);
|
||||
},
|
||||
@@ -502,6 +539,7 @@ export const listFineTunes: AuthenticatedTask<
|
||||
void,
|
||||
ListFineTunesResponseData
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client) => {
|
||||
return client.listFineTunes().then((res) => res.data);
|
||||
},
|
||||
@@ -528,6 +566,7 @@ export const retrieveFineTune: AuthenticatedTask<
|
||||
Prettify<SpecificFineTuneRequest>,
|
||||
RetrieveFineTuneResponseData
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client) => {
|
||||
return client.retrieveFineTune(params.fineTuneId).then((res) => res.data);
|
||||
},
|
||||
@@ -555,6 +594,7 @@ export const cancelFineTune: AuthenticatedTask<
|
||||
Prettify<SpecificFineTuneRequest>,
|
||||
CancelFineTuneResponseData
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client) => {
|
||||
return client.cancelFineTune(params.fineTuneId).then((res) => res.data);
|
||||
},
|
||||
@@ -582,6 +622,7 @@ export const listFineTuneEvents: AuthenticatedTask<
|
||||
Prettify<SpecificFineTuneRequest>,
|
||||
ListFineTuneEventsResponseData
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client) => {
|
||||
return client
|
||||
.listFineTuneEvents(params.fineTuneId, false)
|
||||
@@ -615,6 +656,7 @@ export const deleteFineTune: AuthenticatedTask<
|
||||
Prettify<DeleteFineTunedModelRequest>,
|
||||
DeleteFineTuneResponseData
|
||||
> = {
|
||||
onError: onTaskError,
|
||||
run: async (params, client) => {
|
||||
return client.deleteModel(params.fineTunedModelId).then((res) => res.data);
|
||||
},
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/plain
|
||||
|
||||
## 1.0.0-next.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2c0ea0c1: Set Node version to 16.8 and above
|
||||
- Updated dependencies [2c0ea0c1]
|
||||
- @trigger.dev/integration-kit@2.0.0-next.5
|
||||
- @trigger.dev/sdk@2.0.0-next.15
|
||||
|
||||
## 1.0.0-next.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/plain",
|
||||
"version": "1.0.0-next.3",
|
||||
"version": "1.0.0-next.4",
|
||||
"description": "The official Plain.com integration for Trigger.dev",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -24,11 +24,11 @@
|
||||
"build:tsup": "tsup"
|
||||
},
|
||||
"dependencies": {
|
||||
"@trigger.dev/integration-kit": "workspace:^2.0.0-next",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next",
|
||||
"@trigger.dev/integration-kit": "workspace:^2.0.0-next.5",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.15",
|
||||
"@team-plain/typescript-sdk": "^2.7.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=16.8.0"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/resend
|
||||
|
||||
## 1.0.0-next.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2c0ea0c1: Set Node version to 16.8 and above
|
||||
- Updated dependencies [2c0ea0c1]
|
||||
- @trigger.dev/integration-kit@2.0.0-next.5
|
||||
- @trigger.dev/sdk@2.0.0-next.15
|
||||
|
||||
## 1.0.0-next.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/resend",
|
||||
"version": "1.0.0-next.2",
|
||||
"version": "1.0.0-next.3",
|
||||
"description": "The official Resend.com integration for Trigger.dev",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -24,11 +24,11 @@
|
||||
"build:tsup": "tsup"
|
||||
},
|
||||
"dependencies": {
|
||||
"@trigger.dev/integration-kit": "workspace:^2.0.0-next",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next",
|
||||
"@trigger.dev/integration-kit": "workspace:^2.0.0-next.5",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.15",
|
||||
"resend": "^0.9.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=16.8.0"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,13 @@
|
||||
# @trigger.dev/slack
|
||||
|
||||
## 1.0.0-next.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2c0ea0c1: Set Node version to 16.8 and above
|
||||
- Updated dependencies [2c0ea0c1]
|
||||
- @trigger.dev/sdk@2.0.0-next.15
|
||||
|
||||
## 1.0.0-next.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/slack",
|
||||
"version": "1.0.0-next.3",
|
||||
"version": "1.0.0-next.4",
|
||||
"description": "The official Slack integration for Trigger.dev",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -25,10 +25,10 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@slack/web-api": "^6.8.1",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.12",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.15",
|
||||
"zod": "3.21.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=16.8.0"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,28 @@
|
||||
# @trigger.dev/typeform
|
||||
|
||||
## 1.0.0-next.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2c0ea0c1: Set Node version to 16.8 and above
|
||||
- Updated dependencies [2c0ea0c1]
|
||||
- @trigger.dev/integration-kit@2.0.0-next.5
|
||||
- @trigger.dev/sdk@2.0.0-next.15
|
||||
|
||||
## 1.0.0-next.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 89a121f2: getAllResponses fixed
|
||||
|
||||
## 1.0.0-next.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 26f3dbff: safeBodyParse webhook import fixed
|
||||
- Updated dependencies [5ee0b188]
|
||||
- @trigger.dev/sdk@2.0.0-next.13
|
||||
|
||||
## 1.0.0-next.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/typeform",
|
||||
"version": "1.0.0-next.4",
|
||||
"version": "1.0.0-next.7",
|
||||
"description": "The official Typeform integration for Trigger.dev",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -25,11 +25,11 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@typeform/api-client": "^1.8.0",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.12",
|
||||
"@trigger.dev/integration-kit": "workspace:^2.0.0-next.4",
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.15",
|
||||
"@trigger.dev/integration-kit": "workspace:^2.0.0-next.5",
|
||||
"zod": "3.21.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=16.8.0"
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
import { createHmac } from "node:crypto";
|
||||
import { z } from "zod";
|
||||
import { formResponseExample } from "./payload-examples";
|
||||
import { safeParseBody } from "@trigger.dev/integration-kit/webhooks";
|
||||
import { safeParseBody } from "@trigger.dev/integration-kit";
|
||||
import { SOURCE } from "./consts";
|
||||
|
||||
export * from "./types";
|
||||
|
||||
@@ -99,34 +99,33 @@ const getAllResponses: AuthenticatedTask<
|
||||
|
||||
const pageSize = 50;
|
||||
|
||||
async function listResponsesForPage(page: number) {
|
||||
async function listResponsesForPage(before?: string) {
|
||||
const pageParams = {
|
||||
...params,
|
||||
submitted_at: "desc",
|
||||
before,
|
||||
pageSize: pageSize,
|
||||
};
|
||||
// @ts-ignore
|
||||
// This is needed because of the index signature on the response type
|
||||
return await io.runTask<ListResponsesResponse>(
|
||||
`page-${page}`,
|
||||
listResponses.init(params),
|
||||
return io.runTask<ListResponsesResponse>(
|
||||
`page${before ? `-before-${before}` : ""}`,
|
||||
listResponses.init(pageParams),
|
||||
async (t, io) => {
|
||||
const subResponse = await listResponses.run(
|
||||
params,
|
||||
client,
|
||||
t,
|
||||
io,
|
||||
auth
|
||||
);
|
||||
|
||||
return subResponse;
|
||||
return await listResponses.run(pageParams, client, t, io, auth);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
const firstPage = await listResponsesForPage(1);
|
||||
const firstPage = await listResponsesForPage();
|
||||
let token = firstPage.items[firstPage.items.length - 1].token;
|
||||
|
||||
const totalPages = Math.ceil(firstPage.total_items / pageSize);
|
||||
|
||||
const allResponses = firstPage.items;
|
||||
|
||||
for (let i = 2; i <= totalPages; i++) {
|
||||
const page = await listResponsesForPage(i);
|
||||
for (let i = 1; i < totalPages; i++) {
|
||||
const page = await listResponsesForPage(token);
|
||||
token = page.items[page.items.length - 1].token;
|
||||
allResponses.push(...page.items);
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,16 @@ export type ListResponsesParams = {
|
||||
fields?: string | string[];
|
||||
};
|
||||
|
||||
export type ListResponsesResponse = Prettify<Typeform.API.Responses.List>;
|
||||
//fix because the Typeform SDK doesn't have the `token` property on an item…
|
||||
type ResponseListItem = Prettify<
|
||||
Typeform.API.Responses.List["items"][number]
|
||||
> & {
|
||||
token?: string;
|
||||
};
|
||||
|
||||
export type ListResponsesResponse = Prettify<
|
||||
Omit<Typeform.API.Responses.List, "items"> & { items: ResponseListItem[] }
|
||||
>;
|
||||
|
||||
export type GetFormParams = {
|
||||
uid: string;
|
||||
|
||||
@@ -1,5 +1,29 @@
|
||||
# create-trigger
|
||||
|
||||
## 0.2.1-next.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2c0ea0c1: Set Node version to 16.8 and above
|
||||
|
||||
## 0.2.1-next.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- b8b84d8d: Improved the endpoint prompt
|
||||
|
||||
## 0.2.1-next.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 37635774: Improved spinner and made port clear in logs
|
||||
|
||||
## 0.2.1-next.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 568786e4: Fix when setting the url as an option
|
||||
|
||||
## 0.2.1-next.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/cli",
|
||||
"version": "0.2.1-next.15",
|
||||
"version": "0.2.1-next.19",
|
||||
"description": "The Trigger.dev CLI",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -32,7 +32,7 @@
|
||||
"type": "module",
|
||||
"exports": "./dist/index.js",
|
||||
"bin": {
|
||||
"cli": "./dist/index.js"
|
||||
"trigger-cli": "./dist/index.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/fs-extra": "^11.0.1",
|
||||
@@ -74,6 +74,6 @@
|
||||
"zod": "3.21.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=16.8.0"
|
||||
}
|
||||
}
|
||||
@@ -164,7 +164,7 @@ export const promptEndpointSlug = async (path: string): Promise<string> => {
|
||||
message: "Enter a unique ID for your endpoint",
|
||||
validate: (input) => {
|
||||
if (!input) {
|
||||
return "Please enter a unique slug for your endpoint";
|
||||
return "Please enter a unique ID for your endpoint";
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -174,44 +174,6 @@ export const promptEndpointSlug = async (path: string): Promise<string> => {
|
||||
return endpointSlug;
|
||||
};
|
||||
|
||||
export const promptEndpointUrl = async (
|
||||
instanceUrl: string
|
||||
): Promise<string> => {
|
||||
const { endpointUrl } = await inquirer.prompt<{
|
||||
endpointUrl: string;
|
||||
}>({
|
||||
type: "input",
|
||||
name: "endpointUrl",
|
||||
message: "What's the URL of your Next.js project?",
|
||||
validate: (input) => {
|
||||
if (!input) {
|
||||
return "Please enter the URL of your Next.js project";
|
||||
}
|
||||
|
||||
// If instanceUrl is a cloud instance, then the URL must be publicly accessible
|
||||
const url = new URL(input);
|
||||
const triggerUrl = new URL(instanceUrl);
|
||||
|
||||
if (triggerUrl.hostname !== "localhost" && url.hostname === "localhost") {
|
||||
return `Your Trigger.dev instance is hosted at ${triggerUrl.hostname}, so your Next.js project must also be publicly accessible. See our docs for more info: https://trigger.dev/docs/documentation/guides/tunneling-localhost`;
|
||||
}
|
||||
|
||||
// Make sure triggerUrl and url don't use the same port if they are both localhost
|
||||
if (
|
||||
triggerUrl.hostname === "localhost" &&
|
||||
url.hostname === "localhost" &&
|
||||
triggerUrl.port === url.port
|
||||
) {
|
||||
return `Your Trigger.dev instance and your Next.js project are both trying to use port ${triggerUrl.port}. Please use a different port for one of them`;
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
});
|
||||
|
||||
return endpointUrl;
|
||||
};
|
||||
|
||||
export const obfuscateApiKey = (apiKey: string) => {
|
||||
const [prefix, slug, secretPart] = apiKey.split("_") as [
|
||||
string,
|
||||
|
||||
@@ -55,16 +55,20 @@ export async function devCommand(path: string, anyOptions: any) {
|
||||
const { apiUrl } = await getTriggerApiDetails(resolvedPath, options.envFile);
|
||||
logger.success(`✔️ [trigger.dev] Found API Key in ${options.envFile} file`);
|
||||
|
||||
logger.info(
|
||||
` [trigger.dev] Looking for Next.js site on port ${options.port}`
|
||||
);
|
||||
|
||||
// Setup tunnel
|
||||
const endpointUrl = await resolveEndpointUrl(apiUrl, options.port);
|
||||
|
||||
const connectingSpinner = ora(
|
||||
`[trigger.dev] Connecting to Trigger.dev...`
|
||||
).start();
|
||||
const connectingSpinner = ora(`[trigger.dev] Connecting to Trigger.dev...`);
|
||||
|
||||
//refresh function
|
||||
let attemptCount = 0;
|
||||
const refresh = async () => {
|
||||
connectingSpinner.start();
|
||||
|
||||
const refreshedEndpointId = await getEndpointIdFromPackageJson(
|
||||
resolvedPath
|
||||
);
|
||||
@@ -95,6 +99,7 @@ export async function devCommand(path: string, anyOptions: any) {
|
||||
if (attemptCount === 10 || !result.retryable) {
|
||||
connectingSpinner.fail(`🚨 Failed to connect: ${result.error}`);
|
||||
logger.info(`Will attempt again on the next file change…`);
|
||||
attemptCount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -187,12 +187,12 @@ const resolveOptionsWithPrompts = async (
|
||||
try {
|
||||
if (!options.triggerUrl) {
|
||||
resolvedOptions.triggerUrl = await promptTriggerUrl();
|
||||
}
|
||||
|
||||
if (resolvedOptions.triggerUrl === CLOUD_TRIGGER_URL) {
|
||||
resolvedOptions.apiUrl = CLOUD_API_URL;
|
||||
} else {
|
||||
resolvedOptions.apiUrl = resolvedOptions.triggerUrl;
|
||||
}
|
||||
if (resolvedOptions.triggerUrl === CLOUD_TRIGGER_URL) {
|
||||
resolvedOptions.apiUrl = CLOUD_API_URL;
|
||||
} else {
|
||||
resolvedOptions.apiUrl = resolvedOptions.triggerUrl;
|
||||
}
|
||||
|
||||
if (!options.apiKey) {
|
||||
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "User" ADD COLUMN "authIdentifier" TEXT;
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- A unique constraint covering the columns `[authIdentifier]` on the table `User` will be added. If there are existing duplicate values, this will fail.
|
||||
|
||||
*/
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "User_authIdentifier_key" ON "User"("authIdentifier");
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Task" ADD COLUMN "outputProperties" JSONB;
|
||||
@@ -16,6 +16,7 @@ model User {
|
||||
accessToken String?
|
||||
authenticationProfile Json?
|
||||
authenticationExtraParams Json?
|
||||
authIdentifier String? @unique
|
||||
|
||||
displayName String?
|
||||
name String?
|
||||
@@ -759,14 +760,15 @@ model Task {
|
||||
delayUntil DateTime?
|
||||
noop Boolean @default(false)
|
||||
|
||||
description String?
|
||||
properties Json?
|
||||
params Json?
|
||||
output Json?
|
||||
error String?
|
||||
redact Json?
|
||||
style Json?
|
||||
operation String?
|
||||
description String?
|
||||
properties Json?
|
||||
outputProperties Json?
|
||||
params Json?
|
||||
output Json?
|
||||
error String?
|
||||
redact Json?
|
||||
style Json?
|
||||
operation String?
|
||||
|
||||
startedAt DateTime?
|
||||
completedAt DateTime?
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @trigger.dev/integration-kit
|
||||
|
||||
## 2.0.0-next.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2c0ea0c1: Set Node version to 16.8 and above
|
||||
|
||||
## 2.0.0-next.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/integration-kit",
|
||||
"version": "2.0.0-next.4",
|
||||
"version": "2.0.0-next.5",
|
||||
"description": "Trigger.dev Integration Kit has helpers to make creating integrations easier",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -35,6 +35,6 @@
|
||||
"uuid": "^9.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=16.8.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ import {
|
||||
} from "./schedules";
|
||||
import { CachedTaskSchema, ServerTaskSchema, TaskSchema } from "./tasks";
|
||||
import { EventSpecificationSchema, TriggerMetadataSchema } from "./triggers";
|
||||
import { Prettify } from "../types";
|
||||
|
||||
export const UpdateTriggerSourceBodySchema = z.object({
|
||||
registeredEvents: z.array(z.string()),
|
||||
@@ -530,7 +531,9 @@ export const CompleteTaskBodyInputSchema = RunTaskBodyInputSchema.pick({
|
||||
),
|
||||
});
|
||||
|
||||
export type CompleteTaskBodyInput = z.input<typeof CompleteTaskBodyInputSchema>;
|
||||
export type CompleteTaskBodyInput = Prettify<
|
||||
z.input<typeof CompleteTaskBodyInputSchema>
|
||||
>;
|
||||
export type CompleteTaskBodyOutput = z.infer<
|
||||
typeof CompleteTaskBodyInputSchema
|
||||
>;
|
||||
|
||||
@@ -23,6 +23,7 @@ export const TaskSchema = z.object({
|
||||
status: TaskStatusSchema,
|
||||
description: z.string().optional().nullable(),
|
||||
properties: z.array(DisplayPropertySchema).optional().nullable(),
|
||||
outputProperties: z.array(DisplayPropertySchema).optional().nullable(),
|
||||
params: DeserializedJsonSchema.optional().nullable(),
|
||||
output: DeserializedJsonSchema.optional().nullable(),
|
||||
error: z.string().optional().nullable(),
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @trigger.dev/nextjs
|
||||
|
||||
## 1.0.0-next.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2c0ea0c1: Set Node version to 16.8 and above
|
||||
- e81317b7: Loosen the Next.js dependency version
|
||||
- Updated dependencies [2c0ea0c1]
|
||||
- @trigger.dev/sdk@2.0.0-next.15
|
||||
|
||||
## 1.0.0-next.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/nextjs",
|
||||
"version": "1.0.0-next.6",
|
||||
"version": "1.0.0-next.7",
|
||||
"description": "Trigger.dev Next.js integration",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -32,13 +32,13 @@
|
||||
"build:tsup": "tsup"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.5",
|
||||
"next": "^13.3.1"
|
||||
"@trigger.dev/sdk": "workspace:^2.0.0-next.15",
|
||||
"next": ">=12.0.0 <14.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=16.8.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,24 @@
|
||||
# @trigger.dev/sdk
|
||||
|
||||
## 2.0.0-next.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2c0ea0c1: Set Node version to 16.8 and above
|
||||
|
||||
## 2.0.0-next.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- c34a02c0: Improved OpenAI task errors
|
||||
- 61ed1fb2: Adding support for output properties on tasks
|
||||
|
||||
## 2.0.0-next.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 5ee0b188: Don't return the apiKey when they don't match
|
||||
|
||||
## 2.0.0-next.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@trigger.dev/sdk",
|
||||
"version": "2.0.0-next.12",
|
||||
"version": "2.0.0-next.15",
|
||||
"description": "trigger.dev Node.JS SDK",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -17,20 +17,6 @@
|
||||
},
|
||||
"./package.json": "./package.json"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@trigger.dev/internal": "workspace:*",
|
||||
"@trigger.dev/tsconfig": "workspace:*",
|
||||
"@types/debug": "^4.1.7",
|
||||
"@types/node": "18",
|
||||
"@types/node-fetch": "2.6.x",
|
||||
"@types/slug": "^5.0.3",
|
||||
"@types/uuid": "^9.0.0",
|
||||
"@types/ws": "^8.5.3",
|
||||
"rimraf": "^3.0.2",
|
||||
"tsup": "^6.5.0",
|
||||
"tsx": "^3.12.1",
|
||||
"typescript": "^4.8.4"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf dist",
|
||||
"build": "npm run clean && npm run build:tsup",
|
||||
@@ -54,7 +40,21 @@
|
||||
"zod": "3.21.4",
|
||||
"zod-error": "1.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@trigger.dev/internal": "workspace:*",
|
||||
"@trigger.dev/tsconfig": "workspace:*",
|
||||
"@types/debug": "^4.1.7",
|
||||
"@types/node": "18",
|
||||
"@types/node-fetch": "2.6.x",
|
||||
"@types/slug": "^5.0.3",
|
||||
"@types/uuid": "^9.0.0",
|
||||
"@types/ws": "^8.5.3",
|
||||
"rimraf": "^3.0.2",
|
||||
"tsup": "^6.5.0",
|
||||
"tsx": "^3.12.1",
|
||||
"typescript": "^4.8.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=16.8.0"
|
||||
}
|
||||
}
|
||||
@@ -21,7 +21,9 @@ import {
|
||||
TriggerSourceSchema,
|
||||
UpdateTriggerSourceBody,
|
||||
} from "@trigger.dev/internal";
|
||||
|
||||
import { z } from "zod";
|
||||
import fetch, { type RequestInit } from "node-fetch";
|
||||
|
||||
export type ApiClientOptions = {
|
||||
apiKey?: string;
|
||||
|
||||
@@ -52,7 +52,7 @@ export type AuthenticatedTask<
|
||||
onError?: (
|
||||
error: unknown,
|
||||
task: ServerTask
|
||||
) => { retryAt: Date; error?: Error } | undefined | void;
|
||||
) => { retryAt: Date; error?: Error } | Error | undefined | void;
|
||||
};
|
||||
|
||||
export function authenticatedTask<TClient, TParams, TResult>(options: {
|
||||
|
||||
@@ -474,7 +474,11 @@ export class IO {
|
||||
error: unknown,
|
||||
task: IOTask,
|
||||
io: IO
|
||||
) => { retryAt: Date; error?: Error; jitter?: number } | undefined | void
|
||||
) =>
|
||||
| { retryAt: Date; error?: Error; jitter?: number }
|
||||
| Error
|
||||
| undefined
|
||||
| void
|
||||
): Promise<TResult> {
|
||||
const parentId = this._taskStorage.getStore()?.taskId;
|
||||
|
||||
@@ -558,6 +562,7 @@ export class IO {
|
||||
|
||||
await this._apiClient.completeTask(this._id, task.id, {
|
||||
output: result ?? undefined,
|
||||
properties: task.outputProperties ?? undefined,
|
||||
});
|
||||
|
||||
return result;
|
||||
@@ -570,17 +575,21 @@ export class IO {
|
||||
const onErrorResult = onError(error, task, this);
|
||||
|
||||
if (onErrorResult) {
|
||||
const parsedError = ErrorWithStackSchema.safeParse(
|
||||
onErrorResult.error
|
||||
);
|
||||
if (onErrorResult instanceof Error) {
|
||||
error = onErrorResult;
|
||||
} else {
|
||||
const parsedError = ErrorWithStackSchema.safeParse(
|
||||
onErrorResult.error
|
||||
);
|
||||
|
||||
throw new RetryWithTaskError(
|
||||
parsedError.success
|
||||
? parsedError.data
|
||||
: { message: "Unknown error" },
|
||||
task,
|
||||
onErrorResult.retryAt
|
||||
);
|
||||
throw new RetryWithTaskError(
|
||||
parsedError.success
|
||||
? parsedError.data
|
||||
: { message: "Unknown error" },
|
||||
task,
|
||||
onErrorResult.retryAt
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ import {
|
||||
import { TriggerClient } from "./triggerClient";
|
||||
import type {
|
||||
EventSpecification,
|
||||
Logger,
|
||||
Trigger,
|
||||
TriggerContext,
|
||||
TriggerEventType,
|
||||
|
||||
@@ -141,9 +141,7 @@ export class TriggerClient {
|
||||
return {
|
||||
status: 401,
|
||||
body: {
|
||||
message: `Forbidden: client apiKey mismatch: Expected ${
|
||||
this.#options.apiKey
|
||||
}, got ${apiKey}`,
|
||||
message: `Forbidden: client apiKey mismatch: Make sure you are using the correct API Key for your environment`,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
Generated
+565
-26
@@ -139,6 +139,7 @@ importers:
|
||||
marked: ^4.0.18
|
||||
morgan: ^1.10.0
|
||||
nanoid: ^3.3.4
|
||||
npm-run-all: ^4.1.5
|
||||
postcss: ^8.4.21
|
||||
postcss-import: ^14.1.0
|
||||
posthog-js: ^1.69.0
|
||||
@@ -308,6 +309,7 @@ importers:
|
||||
esbuild: 0.15.18
|
||||
eslint: 8.31.0
|
||||
eslint-config-prettier: 8.6.0_eslint@8.31.0
|
||||
npm-run-all: 4.1.5
|
||||
postcss: 8.4.21
|
||||
prettier: 2.8.8
|
||||
prettier-plugin-tailwindcss: 0.3.0_prettier@2.8.8
|
||||
@@ -342,6 +344,25 @@ importers:
|
||||
config-packages/tsconfig:
|
||||
specifiers: {}
|
||||
|
||||
examples/nextjs-12:
|
||||
specifiers:
|
||||
'@trigger.dev/nextjs': workspace:*
|
||||
'@trigger.dev/sdk': workspace:*
|
||||
eslint: 8.44.0
|
||||
eslint-config-next: 12.3.4
|
||||
next: 12.3.4
|
||||
react: ^18.2.0
|
||||
react-dom: ^18.2.0
|
||||
dependencies:
|
||||
'@trigger.dev/nextjs': link:../../packages/nextjs
|
||||
'@trigger.dev/sdk': link:../../packages/trigger-sdk
|
||||
next: 12.3.4_biqbaboplfbrettd7655fr4n2y
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
devDependencies:
|
||||
eslint: 8.44.0
|
||||
eslint-config-next: 12.3.4_eslint@8.44.0
|
||||
|
||||
examples/nextjs-example:
|
||||
specifiers:
|
||||
'@trigger.dev/cli': workspace:*
|
||||
@@ -400,8 +421,8 @@ importers:
|
||||
'@octokit/types': ^9.2.3
|
||||
'@octokit/webhooks': ^10.4.0
|
||||
'@octokit/webhooks-types': ^6.10.0
|
||||
'@trigger.dev/integration-kit': workspace:^2.0.0-next.4
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next.12
|
||||
'@trigger.dev/integration-kit': workspace:^2.0.0-next.5
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next.15
|
||||
'@trigger.dev/tsconfig': workspace:*
|
||||
'@types/node': '18'
|
||||
octokit: ^2.0.14
|
||||
@@ -426,8 +447,8 @@ importers:
|
||||
|
||||
integrations/openai:
|
||||
specifiers:
|
||||
'@trigger.dev/integration-kit': workspace:^2.0.0-next.4
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next.12
|
||||
'@trigger.dev/integration-kit': workspace:^2.0.0-next.5
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next.15
|
||||
'@trigger.dev/tsconfig': workspace:*
|
||||
'@types/node': '18'
|
||||
openai: ^3.3.0
|
||||
@@ -448,8 +469,8 @@ importers:
|
||||
integrations/plain:
|
||||
specifiers:
|
||||
'@team-plain/typescript-sdk': ^2.7.0
|
||||
'@trigger.dev/integration-kit': workspace:^2.0.0-next
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next
|
||||
'@trigger.dev/integration-kit': workspace:^2.0.0-next.5
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next.15
|
||||
'@trigger.dev/tsconfig': workspace:*
|
||||
'@types/node': '18'
|
||||
rimraf: ^3.0.2
|
||||
@@ -466,8 +487,8 @@ importers:
|
||||
|
||||
integrations/resend:
|
||||
specifiers:
|
||||
'@trigger.dev/integration-kit': workspace:^2.0.0-next
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next
|
||||
'@trigger.dev/integration-kit': workspace:^2.0.0-next.5
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next.15
|
||||
'@trigger.dev/tsconfig': workspace:*
|
||||
'@types/node': '18'
|
||||
resend: ^0.9.1
|
||||
@@ -486,7 +507,7 @@ importers:
|
||||
integrations/slack:
|
||||
specifiers:
|
||||
'@slack/web-api': ^6.8.1
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next.12
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next.15
|
||||
'@trigger.dev/tsconfig': workspace:*
|
||||
'@types/node': '18'
|
||||
rimraf: ^3.0.2
|
||||
@@ -504,8 +525,8 @@ importers:
|
||||
|
||||
integrations/typeform:
|
||||
specifiers:
|
||||
'@trigger.dev/integration-kit': workspace:^2.0.0-next.4
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next.12
|
||||
'@trigger.dev/integration-kit': workspace:^2.0.0-next.5
|
||||
'@trigger.dev/sdk': workspace:^2.0.0-next.15
|
||||
'@trigger.dev/tsconfig': workspace:*
|
||||
'@typeform/api-client': ^1.8.0
|
||||
'@types/node': '18'
|
||||
@@ -760,6 +781,11 @@ importers:
|
||||
|
||||
packages:
|
||||
|
||||
/@aashutoshrathi/word-wrap/1.2.6:
|
||||
resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/@alloc/quick-lru/5.2.0:
|
||||
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -4491,6 +4517,16 @@ packages:
|
||||
eslint-visitor-keys: 3.4.1
|
||||
dev: true
|
||||
|
||||
/@eslint-community/eslint-utils/4.4.0_eslint@8.44.0:
|
||||
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||
dependencies:
|
||||
eslint: 8.44.0
|
||||
eslint-visitor-keys: 3.4.1
|
||||
dev: true
|
||||
|
||||
/@eslint-community/regexpp/4.5.1:
|
||||
resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==}
|
||||
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||
@@ -4530,11 +4566,33 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@eslint/eslintrc/2.1.0:
|
||||
resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dependencies:
|
||||
ajv: 6.12.6
|
||||
debug: 4.3.4
|
||||
espree: 9.6.0
|
||||
globals: 13.19.0
|
||||
ignore: 5.2.4
|
||||
import-fresh: 3.3.0
|
||||
js-yaml: 4.1.0
|
||||
minimatch: 3.1.2
|
||||
strip-json-comments: 3.1.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@eslint/js/8.42.0:
|
||||
resolution: {integrity: sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/@eslint/js/8.44.0:
|
||||
resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/@fal-works/esbuild-plugin-global-externals/2.1.2:
|
||||
resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==}
|
||||
dev: true
|
||||
@@ -5049,15 +5107,52 @@ packages:
|
||||
tar-fs: 2.1.1
|
||||
dev: true
|
||||
|
||||
/@next/env/12.3.4:
|
||||
resolution: {integrity: sha512-H/69Lc5Q02dq3o+dxxy5O/oNxFsZpdL6WREtOOtOM1B/weonIwDXkekr1KV5DPVPr12IHFPrMrcJQ6bgPMfn7A==}
|
||||
dev: false
|
||||
|
||||
/@next/env/13.3.1:
|
||||
resolution: {integrity: sha512-EDtCoedIZC7JlUQ3uaQpSc4aVmyhbLHmQVALg7pFfQgOTjgSnn7mKtA0DiCMkYvvsx6aFb5octGMtWrOtGXW9A==}
|
||||
|
||||
/@next/eslint-plugin-next/12.3.4:
|
||||
resolution: {integrity: sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og==}
|
||||
dependencies:
|
||||
glob: 7.1.7
|
||||
dev: true
|
||||
|
||||
/@next/eslint-plugin-next/13.4.6:
|
||||
resolution: {integrity: sha512-bPigeu0RI7bgy1ucBA2Yqcfg539y0Lzo38P2hIkrRB1GNvFSbYg6RTu8n6tGqPVrH3TTlPTNKLXG01wc+5NuwQ==}
|
||||
dependencies:
|
||||
glob: 7.1.7
|
||||
dev: true
|
||||
|
||||
/@next/swc-android-arm-eabi/12.3.4:
|
||||
resolution: {integrity: sha512-cM42Cw6V4Bz/2+j/xIzO8nK/Q3Ly+VSlZJTa1vHzsocJRYz8KT6MrreXaci2++SIZCF1rVRCDgAg5PpqRibdIA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-android-arm64/12.3.4:
|
||||
resolution: {integrity: sha512-5jf0dTBjL+rabWjGj3eghpLUxCukRhBcEJgwLedewEA/LJk2HyqCvGIwj5rH+iwmq1llCWbOky2dO3pVljrapg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-darwin-arm64/12.3.4:
|
||||
resolution: {integrity: sha512-DqsSTd3FRjQUR6ao0E1e2OlOcrF5br+uegcEGPVonKYJpcr0MJrtYmPxd4v5T6UCJZ+XzydF7eQo5wdGvSZAyA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-darwin-arm64/13.3.1:
|
||||
resolution: {integrity: sha512-UXPtriEc/pBP8luSLSCZBcbzPeVv+SSjs9cH/KygTbhmACye8/OOXRZO13Z2Wq1G0gLmEAIHQAOuF+vafPd2lw==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -5066,6 +5161,15 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/@next/swc-darwin-x64/12.3.4:
|
||||
resolution: {integrity: sha512-PPF7tbWD4k0dJ2EcUSnOsaOJ5rhT3rlEt/3LhZUGiYNL8KvoqczFrETlUx0cUYaXe11dRA3F80Hpt727QIwByQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-darwin-x64/13.3.1:
|
||||
resolution: {integrity: sha512-lT36yYxosCfLtplFzJWgo0hrPu6/do8+msgM7oQkPeohDNdhjtjFUgOOwdSnPublLR6Mo2Ym4P/wl5OANuD2bw==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -5074,6 +5178,33 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/@next/swc-freebsd-x64/12.3.4:
|
||||
resolution: {integrity: sha512-KM9JXRXi/U2PUM928z7l4tnfQ9u8bTco/jb939pdFUHqc28V43Ohd31MmZD1QzEK4aFlMRaIBQOWQZh4D/E5lQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-arm-gnueabihf/12.3.4:
|
||||
resolution: {integrity: sha512-3zqD3pO+z5CZyxtKDTnOJ2XgFFRUBciOox6EWkoZvJfc9zcidNAQxuwonUeNts6Xbm8Wtm5YGIRC0x+12YH7kw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-arm64-gnu/12.3.4:
|
||||
resolution: {integrity: sha512-kiX0vgJGMZVv+oo1QuObaYulXNvdH/IINmvdZnVzMO/jic/B8EEIGlZ8Bgvw8LCjH3zNVPO3mGrdMvnEEPEhKA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-arm64-gnu/13.3.1:
|
||||
resolution: {integrity: sha512-wRb76nLWJhonH8s3kxC/1tFguEkeOPayIwe9mkaz1G/yeS3OrjeyKMJsb4+Kdg0zbTo53bNCOl59NNtDM7yyyw==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -5082,6 +5213,15 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-arm64-musl/12.3.4:
|
||||
resolution: {integrity: sha512-EETZPa1juczrKLWk5okoW2hv7D7WvonU+Cf2CgsSoxgsYbUCZ1voOpL4JZTOb6IbKMDo6ja+SbY0vzXZBUMvkQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-arm64-musl/13.3.1:
|
||||
resolution: {integrity: sha512-qz3BzjJRZ16Iq/jrp+pjiYOc0jTjHlfmxQmZk9x/+5uhRP6/eWQSTAPVJ33BMo6oK5O5N4644OgTAbzXzorecg==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -5090,6 +5230,15 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-x64-gnu/12.3.4:
|
||||
resolution: {integrity: sha512-4csPbRbfZbuWOk3ATyWcvVFdD9/Rsdq5YHKvRuEni68OCLkfy4f+4I9OBpyK1SKJ00Cih16NJbHE+k+ljPPpag==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-x64-gnu/13.3.1:
|
||||
resolution: {integrity: sha512-6mgkLmwlyWlomQmpl21I3hxgqE5INoW4owTlcLpNsd1V4wP+J46BlI/5zV5KWWbzjfncIqzXoeGs5Eg+1GHODA==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -5098,6 +5247,15 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-x64-musl/12.3.4:
|
||||
resolution: {integrity: sha512-YeBmI+63Ro75SUiL/QXEVXQ19T++58aI/IINOyhpsRL1LKdyfK/35iilraZEFz9bLQrwy1LYAR5lK200A9Gjbg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-x64-musl/13.3.1:
|
||||
resolution: {integrity: sha512-uqm5sielhQmKJM+qayIhgZv1KlS5pqTdQ99b+Z7hMWryXS96qE0DftTmMZowBcUL6x7s2vSXyH5wPtO1ON7LBg==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -5106,6 +5264,15 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-arm64-msvc/12.3.4:
|
||||
resolution: {integrity: sha512-Sd0qFUJv8Tj0PukAYbCCDbmXcMkbIuhnTeHm9m4ZGjCf6kt7E/RMs55Pd3R5ePjOkN7dJEuxYBehawTR/aPDSQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-arm64-msvc/13.3.1:
|
||||
resolution: {integrity: sha512-WomIiTj/v3LevltlibNQKmvrOymNRYL+a0dp5R73IwPWN5FvXWwSELN/kiNALig/+T3luc4qHNTyvMCp9L6U5Q==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -5114,6 +5281,15 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-ia32-msvc/12.3.4:
|
||||
resolution: {integrity: sha512-rt/vv/vg/ZGGkrkKcuJ0LyliRdbskQU+91bje+PgoYmxTZf/tYs6IfbmgudBJk6gH3QnjHWbkphDdRQrseRefQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-ia32-msvc/13.3.1:
|
||||
resolution: {integrity: sha512-M+PoH+0+q658wRUbs285RIaSTYnGBSTdweH/0CdzDgA6Q4rBM0sQs4DHmO3BPP0ltCO/vViIoyG7ks66XmCA5g==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -5122,6 +5298,15 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-x64-msvc/12.3.4:
|
||||
resolution: {integrity: sha512-DQ20JEfTBZAgF8QCjYfJhv2/279M6onxFjdG/+5B0Cyj00/EdBxiWb2eGGFgQhrBbNv/lsvzFbbi0Ptf8Vw/bg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-x64-msvc/13.3.1:
|
||||
resolution: {integrity: sha512-Sl1F4Vp5Z1rNXWZYqJwMuWRRol4bqOB6+/d7KqkgQ4AcafKPN1PZmpkCoxv4UFHtFNIB7EotnuIhtXu3zScicQ==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -9230,6 +9415,12 @@ packages:
|
||||
'@swc/core-win32-ia32-msvc': 1.3.26
|
||||
'@swc/core-win32-x64-msvc': 1.3.26
|
||||
|
||||
/@swc/helpers/0.4.11:
|
||||
resolution: {integrity: sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==}
|
||||
dependencies:
|
||||
tslib: 2.5.0
|
||||
dev: false
|
||||
|
||||
/@swc/helpers/0.4.14:
|
||||
resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
|
||||
dependencies:
|
||||
@@ -10117,6 +10308,25 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/parser/5.59.6_eslint@8.44.0:
|
||||
resolution: {integrity: sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 5.59.6
|
||||
'@typescript-eslint/types': 5.59.6
|
||||
'@typescript-eslint/typescript-estree': 5.59.6
|
||||
debug: 4.3.4
|
||||
eslint: 8.44.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/parser/5.59.6_iukboom6ndih5an6iafl45j2fe:
|
||||
resolution: {integrity: sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
@@ -10170,6 +10380,26 @@ packages:
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/typescript-estree/5.59.6:
|
||||
resolution: {integrity: sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 5.59.6
|
||||
'@typescript-eslint/visitor-keys': 5.59.6
|
||||
debug: 4.3.4
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
semver: 7.5.0
|
||||
tsutils: 3.21.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/typescript-estree/5.59.6_typescript@4.9.4:
|
||||
resolution: {integrity: sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
@@ -10542,6 +10772,14 @@ packages:
|
||||
acorn: 7.4.1
|
||||
dev: true
|
||||
|
||||
/acorn-jsx/5.3.2_acorn@8.10.0:
|
||||
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
|
||||
peerDependencies:
|
||||
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||
dependencies:
|
||||
acorn: 8.10.0
|
||||
dev: true
|
||||
|
||||
/acorn-jsx/5.3.2_acorn@8.8.2:
|
||||
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
|
||||
peerDependencies:
|
||||
@@ -10573,6 +10811,12 @@ packages:
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/acorn/8.10.0:
|
||||
resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/acorn/8.8.1:
|
||||
resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
@@ -11648,7 +11892,6 @@ packages:
|
||||
|
||||
/caniuse-lite/1.0.30001504:
|
||||
resolution: {integrity: sha512-5uo7eoOp2mKbWyfMXnGO9rJWOGU8duvzEiYITW+wivukL7yHH4gX9yuRaobu6El4jPxo6jKZfG+N6fB621GD/Q==}
|
||||
dev: true
|
||||
|
||||
/cartesian/1.0.1:
|
||||
resolution: {integrity: sha512-tR3qKRYpRJ6FXEGuoBwpuCYcwydrk1N2rduy7eWg1Msepi3i5fCxheryw4VBlCqjCbk3Vhjh3eg+IGHtl5H74A==}
|
||||
@@ -12202,7 +12445,6 @@ packages:
|
||||
semver: 5.7.1
|
||||
shebang-command: 1.2.0
|
||||
which: 1.3.1
|
||||
dev: false
|
||||
|
||||
/cross-spawn/7.0.3:
|
||||
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
|
||||
@@ -13377,6 +13619,30 @@ packages:
|
||||
source-map: 0.6.1
|
||||
dev: true
|
||||
|
||||
/eslint-config-next/12.3.4_eslint@8.44.0:
|
||||
resolution: {integrity: sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ==}
|
||||
peerDependencies:
|
||||
eslint: ^7.23.0 || ^8.0.0
|
||||
typescript: '>=3.3.1'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@next/eslint-plugin-next': 12.3.4
|
||||
'@rushstack/eslint-patch': 1.2.0
|
||||
'@typescript-eslint/parser': 5.59.6_eslint@8.44.0
|
||||
eslint: 8.44.0
|
||||
eslint-import-resolver-node: 0.3.7
|
||||
eslint-import-resolver-typescript: 2.7.1_5aj2mp7az734ikavo3m5caonza
|
||||
eslint-plugin-import: 2.27.5_titmrsdujnhsc3m2skivuhiz64
|
||||
eslint-plugin-jsx-a11y: 6.7.1_eslint@8.44.0
|
||||
eslint-plugin-react: 7.32.2_eslint@8.44.0
|
||||
eslint-plugin-react-hooks: 4.6.0_eslint@8.44.0
|
||||
transitivePeerDependencies:
|
||||
- eslint-import-resolver-webpack
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-config-next/13.4.6_binxsscxvozjxebftqdoazsxm4:
|
||||
resolution: {integrity: sha512-nlv4FYish1RYYHILbQwM5/rD37cOvEqtMfDjtQCYbXdE2O3MggqHu2q6IDeLE2Z6u8ZJyNPgWOA6OimWcxj3qw==}
|
||||
peerDependencies:
|
||||
@@ -13430,6 +13696,24 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-import-resolver-typescript/2.7.1_5aj2mp7az734ikavo3m5caonza:
|
||||
resolution: {integrity: sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
eslint: '*'
|
||||
eslint-plugin-import: '*'
|
||||
dependencies:
|
||||
debug: 4.3.4
|
||||
eslint: 8.44.0
|
||||
eslint-plugin-import: 2.27.5_titmrsdujnhsc3m2skivuhiz64
|
||||
glob: 7.2.3
|
||||
is-glob: 4.0.3
|
||||
resolve: 1.22.2
|
||||
tsconfig-paths: 3.14.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-import-resolver-typescript/3.5.5_bsgoee2ktd7nzirwexa3gasa7m:
|
||||
resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
@@ -13478,6 +13762,36 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-module-utils/2.7.4_a6bibqgukfazq44vzod5qi7kby:
|
||||
resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': '*'
|
||||
eslint: '*'
|
||||
eslint-import-resolver-node: '*'
|
||||
eslint-import-resolver-typescript: '*'
|
||||
eslint-import-resolver-webpack: '*'
|
||||
peerDependenciesMeta:
|
||||
'@typescript-eslint/parser':
|
||||
optional: true
|
||||
eslint:
|
||||
optional: true
|
||||
eslint-import-resolver-node:
|
||||
optional: true
|
||||
eslint-import-resolver-typescript:
|
||||
optional: true
|
||||
eslint-import-resolver-webpack:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 5.59.6_eslint@8.44.0
|
||||
debug: 3.2.7
|
||||
eslint: 8.44.0
|
||||
eslint-import-resolver-node: 0.3.7
|
||||
eslint-import-resolver-typescript: 2.7.1_5aj2mp7az734ikavo3m5caonza
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-module-utils/2.7.4_hhwxwo5vg2mzr5fq3eei7kqaye:
|
||||
resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
|
||||
engines: {node: '>=4'}
|
||||
@@ -13615,6 +13929,39 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-import/2.27.5_titmrsdujnhsc3m2skivuhiz64:
|
||||
resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': '*'
|
||||
eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
|
||||
peerDependenciesMeta:
|
||||
'@typescript-eslint/parser':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 5.59.6_eslint@8.44.0
|
||||
array-includes: 3.1.6
|
||||
array.prototype.flat: 1.3.1
|
||||
array.prototype.flatmap: 1.3.1
|
||||
debug: 3.2.7
|
||||
doctrine: 2.1.0
|
||||
eslint: 8.44.0
|
||||
eslint-import-resolver-node: 0.3.7
|
||||
eslint-module-utils: 2.7.4_a6bibqgukfazq44vzod5qi7kby
|
||||
has: 1.0.3
|
||||
is-core-module: 2.11.0
|
||||
is-glob: 4.0.3
|
||||
minimatch: 3.1.2
|
||||
object.values: 1.1.6
|
||||
resolve: 1.22.2
|
||||
semver: 6.3.0
|
||||
tsconfig-paths: 3.14.1
|
||||
transitivePeerDependencies:
|
||||
- eslint-import-resolver-typescript
|
||||
- eslint-import-resolver-webpack
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-jest-dom/4.0.3_eslint@8.31.0:
|
||||
resolution: {integrity: sha512-9j+n8uj0+V0tmsoS7bYC7fLhQmIvjRqRYEcbDSi+TKPsTThLLXCyj5swMSSf/hTleeMktACnn+HFqXBr5gbcbA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6', yarn: '>=1'}
|
||||
@@ -13698,6 +14045,31 @@ packages:
|
||||
semver: 6.3.0
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-jsx-a11y/6.7.1_eslint@8.44.0:
|
||||
resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==}
|
||||
engines: {node: '>=4.0'}
|
||||
peerDependencies:
|
||||
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
|
||||
dependencies:
|
||||
'@babel/runtime': 7.22.5
|
||||
aria-query: 5.1.3
|
||||
array-includes: 3.1.6
|
||||
array.prototype.flatmap: 1.3.1
|
||||
ast-types-flow: 0.0.7
|
||||
axe-core: 4.6.2
|
||||
axobject-query: 3.1.1
|
||||
damerau-levenshtein: 1.0.8
|
||||
emoji-regex: 9.2.2
|
||||
eslint: 8.44.0
|
||||
has: 1.0.3
|
||||
jsx-ast-utils: 3.3.3
|
||||
language-tags: 1.0.5
|
||||
minimatch: 3.1.2
|
||||
object.entries: 1.1.6
|
||||
object.fromentries: 2.0.6
|
||||
semver: 6.3.0
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-node/11.1.0_eslint@8.31.0:
|
||||
resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==}
|
||||
engines: {node: '>=8.10.0'}
|
||||
@@ -13731,6 +14103,15 @@ packages:
|
||||
eslint: 8.42.0
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-react-hooks/4.6.0_eslint@8.44.0:
|
||||
resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
|
||||
engines: {node: '>=10'}
|
||||
peerDependencies:
|
||||
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
|
||||
dependencies:
|
||||
eslint: 8.44.0
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-react/7.31.8_eslint@8.31.0:
|
||||
resolution: {integrity: sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==}
|
||||
engines: {node: '>=4'}
|
||||
@@ -13802,6 +14183,30 @@ packages:
|
||||
string.prototype.matchall: 4.0.8
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-react/7.32.2_eslint@8.44.0:
|
||||
resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
|
||||
dependencies:
|
||||
array-includes: 3.1.6
|
||||
array.prototype.flatmap: 1.3.1
|
||||
array.prototype.tosorted: 1.1.1
|
||||
doctrine: 2.1.0
|
||||
eslint: 8.44.0
|
||||
estraverse: 5.3.0
|
||||
jsx-ast-utils: 3.3.3
|
||||
minimatch: 3.1.2
|
||||
object.entries: 1.1.6
|
||||
object.fromentries: 2.0.6
|
||||
object.hasown: 1.1.2
|
||||
object.values: 1.1.6
|
||||
prop-types: 15.8.1
|
||||
resolve: 2.0.0-next.4
|
||||
semver: 6.3.0
|
||||
string.prototype.matchall: 4.0.8
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-testing-library/5.11.0_iukboom6ndih5an6iafl45j2fe:
|
||||
resolution: {integrity: sha512-ELY7Gefo+61OfXKlQeXNIDVVLPcvKTeiQOoMZG9TeuWa7Ln4dUNRv8JdRWBQI9Mbb427XGlVB1aa1QPZxBJM8Q==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'}
|
||||
@@ -13981,6 +14386,54 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint/8.44.0:
|
||||
resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0_eslint@8.44.0
|
||||
'@eslint-community/regexpp': 4.5.1
|
||||
'@eslint/eslintrc': 2.1.0
|
||||
'@eslint/js': 8.44.0
|
||||
'@humanwhocodes/config-array': 0.11.10
|
||||
'@humanwhocodes/module-importer': 1.0.1
|
||||
'@nodelib/fs.walk': 1.2.8
|
||||
ajv: 6.12.6
|
||||
chalk: 4.1.2
|
||||
cross-spawn: 7.0.3
|
||||
debug: 4.3.4
|
||||
doctrine: 3.0.0
|
||||
escape-string-regexp: 4.0.0
|
||||
eslint-scope: 7.2.0
|
||||
eslint-visitor-keys: 3.4.1
|
||||
espree: 9.6.0
|
||||
esquery: 1.5.0
|
||||
esutils: 2.0.3
|
||||
fast-deep-equal: 3.1.3
|
||||
file-entry-cache: 6.0.1
|
||||
find-up: 5.0.0
|
||||
glob-parent: 6.0.2
|
||||
globals: 13.19.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.2.4
|
||||
import-fresh: 3.3.0
|
||||
imurmurhash: 0.1.4
|
||||
is-glob: 4.0.3
|
||||
is-path-inside: 3.0.3
|
||||
js-yaml: 4.1.0
|
||||
json-stable-stringify-without-jsonify: 1.0.1
|
||||
levn: 0.4.1
|
||||
lodash.merge: 4.6.2
|
||||
minimatch: 3.1.2
|
||||
natural-compare: 1.4.0
|
||||
optionator: 0.9.3
|
||||
strip-ansi: 6.0.1
|
||||
strip-json-comments: 3.1.1
|
||||
text-table: 0.2.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/espree/9.4.1:
|
||||
resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
@@ -13999,6 +14452,15 @@ packages:
|
||||
eslint-visitor-keys: 3.4.1
|
||||
dev: true
|
||||
|
||||
/espree/9.6.0:
|
||||
resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dependencies:
|
||||
acorn: 8.10.0
|
||||
acorn-jsx: 5.3.2_acorn@8.10.0
|
||||
eslint-visitor-keys: 3.4.1
|
||||
dev: true
|
||||
|
||||
/esprima/4.0.1:
|
||||
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
|
||||
engines: {node: '>=4'}
|
||||
@@ -16377,7 +16839,6 @@ packages:
|
||||
|
||||
/json-parse-better-errors/1.0.2:
|
||||
resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
|
||||
dev: false
|
||||
|
||||
/json-parse-even-better-errors/2.3.1:
|
||||
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
|
||||
@@ -16625,7 +17086,6 @@ packages:
|
||||
parse-json: 4.0.0
|
||||
pify: 3.0.0
|
||||
strip-bom: 3.0.0
|
||||
dev: false
|
||||
|
||||
/load-tsconfig/0.2.3:
|
||||
resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==}
|
||||
@@ -17098,7 +17558,6 @@ packages:
|
||||
/memorystream/0.3.1:
|
||||
resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==}
|
||||
engines: {node: '>= 0.10.0'}
|
||||
dev: false
|
||||
|
||||
/meow/6.1.1:
|
||||
resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==}
|
||||
@@ -17745,6 +18204,51 @@ packages:
|
||||
engines: {node: '>= 0.4.0'}
|
||||
dev: true
|
||||
|
||||
/next/12.3.4_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-VcyMJUtLZBGzLKo3oMxrEF0stxh8HwuW976pAzlHhI3t8qJ4SROjCrSh1T24bhrbjw55wfZXAbXPGwPt5FLRfQ==}
|
||||
engines: {node: '>=12.22.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
fibers: '>= 3.1.0'
|
||||
node-sass: ^6.0.0 || ^7.0.0
|
||||
react: ^17.0.2 || ^18.0.0-0
|
||||
react-dom: ^17.0.2 || ^18.0.0-0
|
||||
sass: ^1.3.0
|
||||
peerDependenciesMeta:
|
||||
fibers:
|
||||
optional: true
|
||||
node-sass:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@next/env': 12.3.4
|
||||
'@swc/helpers': 0.4.11
|
||||
caniuse-lite: 1.0.30001504
|
||||
postcss: 8.4.14
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
styled-jsx: 5.0.7_react@18.2.0
|
||||
use-sync-external-store: 1.2.0_react@18.2.0
|
||||
optionalDependencies:
|
||||
'@next/swc-android-arm-eabi': 12.3.4
|
||||
'@next/swc-android-arm64': 12.3.4
|
||||
'@next/swc-darwin-arm64': 12.3.4
|
||||
'@next/swc-darwin-x64': 12.3.4
|
||||
'@next/swc-freebsd-x64': 12.3.4
|
||||
'@next/swc-linux-arm-gnueabihf': 12.3.4
|
||||
'@next/swc-linux-arm64-gnu': 12.3.4
|
||||
'@next/swc-linux-arm64-musl': 12.3.4
|
||||
'@next/swc-linux-x64-gnu': 12.3.4
|
||||
'@next/swc-linux-x64-musl': 12.3.4
|
||||
'@next/swc-win32-arm64-msvc': 12.3.4
|
||||
'@next/swc-win32-ia32-msvc': 12.3.4
|
||||
'@next/swc-win32-x64-msvc': 12.3.4
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
- babel-plugin-macros
|
||||
dev: false
|
||||
|
||||
/next/13.3.1:
|
||||
resolution: {integrity: sha512-eByWRxPzKHs2oQz1yE41LX35umhz86ZSZ+mYyXBqn2IBi2hyUqxBA88avywdr4uyH+hCJczegGsDGWbzQA5Rqw==}
|
||||
engines: {node: '>=14.18.0'}
|
||||
@@ -17850,7 +18354,6 @@ packages:
|
||||
|
||||
/nice-try/1.0.5:
|
||||
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
|
||||
dev: false
|
||||
|
||||
/no-case/3.0.4:
|
||||
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
|
||||
@@ -17970,7 +18473,6 @@ packages:
|
||||
read-pkg: 3.0.0
|
||||
shell-quote: 1.7.4
|
||||
string.prototype.padend: 3.1.4
|
||||
dev: false
|
||||
|
||||
/npm-run-path/4.0.1:
|
||||
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
|
||||
@@ -18235,6 +18737,18 @@ packages:
|
||||
word-wrap: 1.2.3
|
||||
dev: true
|
||||
|
||||
/optionator/0.9.3:
|
||||
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
dependencies:
|
||||
'@aashutoshrathi/word-wrap': 1.2.6
|
||||
deep-is: 0.1.4
|
||||
fast-levenshtein: 2.0.6
|
||||
levn: 0.4.1
|
||||
prelude-ls: 1.2.1
|
||||
type-check: 0.4.0
|
||||
dev: true
|
||||
|
||||
/ora/5.4.1:
|
||||
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -18481,7 +18995,6 @@ packages:
|
||||
dependencies:
|
||||
error-ex: 1.3.2
|
||||
json-parse-better-errors: 1.0.2
|
||||
dev: false
|
||||
|
||||
/parse-json/5.2.0:
|
||||
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
|
||||
@@ -18544,7 +19057,6 @@ packages:
|
||||
/path-key/2.0.1:
|
||||
resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
|
||||
engines: {node: '>=4'}
|
||||
dev: false
|
||||
|
||||
/path-key/3.1.1:
|
||||
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
||||
@@ -18569,7 +19081,6 @@ packages:
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
pify: 3.0.0
|
||||
dev: false
|
||||
|
||||
/path-type/4.0.0:
|
||||
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
|
||||
@@ -18672,7 +19183,6 @@ packages:
|
||||
resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==}
|
||||
engines: {node: '>=0.10'}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/pidtree/0.6.0:
|
||||
resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
|
||||
@@ -18687,7 +19197,6 @@ packages:
|
||||
/pify/3.0.0:
|
||||
resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
|
||||
engines: {node: '>=4'}
|
||||
dev: false
|
||||
|
||||
/pify/4.0.1:
|
||||
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
|
||||
@@ -19675,7 +20184,6 @@ packages:
|
||||
load-json-file: 4.0.0
|
||||
normalize-package-data: 2.5.0
|
||||
path-type: 3.0.0
|
||||
dev: false
|
||||
|
||||
/read-pkg/5.2.0:
|
||||
resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
|
||||
@@ -20471,7 +20979,6 @@ packages:
|
||||
|
||||
/shell-quote/1.7.4:
|
||||
resolution: {integrity: sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==}
|
||||
dev: false
|
||||
|
||||
/shelljs/0.8.5:
|
||||
resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
|
||||
@@ -20931,7 +21438,6 @@ packages:
|
||||
call-bind: 1.0.2
|
||||
define-properties: 1.1.4
|
||||
es-abstract: 1.21.1
|
||||
dev: false
|
||||
|
||||
/string.prototype.trimend/1.0.6:
|
||||
resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
|
||||
@@ -21044,6 +21550,22 @@ packages:
|
||||
inline-style-parser: 0.1.1
|
||||
dev: true
|
||||
|
||||
/styled-jsx/5.0.7_react@18.2.0:
|
||||
resolution: {integrity: sha512-b3sUzamS086YLRuvnaDigdAewz1/EFYlHpYBP5mZovKEdQQOIIYq8lApylub3HHZ6xFjV051kkGU7cudJmrXEA==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
peerDependencies:
|
||||
'@babel/core': '*'
|
||||
babel-plugin-macros: '*'
|
||||
react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
|
||||
peerDependenciesMeta:
|
||||
'@babel/core':
|
||||
optional: true
|
||||
babel-plugin-macros:
|
||||
optional: true
|
||||
dependencies:
|
||||
react: 18.2.0
|
||||
dev: false
|
||||
|
||||
/styled-jsx/5.1.1:
|
||||
resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
@@ -21755,6 +22277,15 @@ packages:
|
||||
- ts-node
|
||||
dev: true
|
||||
|
||||
/tsutils/3.21.0:
|
||||
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
||||
engines: {node: '>= 6'}
|
||||
peerDependencies:
|
||||
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
|
||||
dependencies:
|
||||
tslib: 1.14.1
|
||||
dev: true
|
||||
|
||||
/tsutils/3.21.0_typescript@4.9.4:
|
||||
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
||||
engines: {node: '>= 6'}
|
||||
@@ -22279,6 +22810,14 @@ packages:
|
||||
tslib: 2.5.0
|
||||
dev: false
|
||||
|
||||
/use-sync-external-store/1.2.0_react@18.2.0:
|
||||
resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
dependencies:
|
||||
react: 18.2.0
|
||||
dev: false
|
||||
|
||||
/use/3.1.1:
|
||||
resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
Reference in New Issue
Block a user