diff --git a/apps/bridge-frontend/package.json b/apps/bridge-frontend/package.json index 5a56a05..70a3f69 100644 --- a/apps/bridge-frontend/package.json +++ b/apps/bridge-frontend/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/bridge-frontend", - "version": "2.1.0", + "version": "2.1.1", "type": "module", "scripts": { "dev": "next dev", @@ -20,8 +20,8 @@ "@mui/icons-material": "^5", "@mui/material": "^5", "@mui/material-nextjs": "^5.16.6", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "@mui/x-license": "^7.12.0", "@link-stack/bridge-common": "*", "@link-stack/bridge-ui": "*", @@ -43,7 +43,7 @@ "react-timer-hook": "^3.0.7", "sharp": "^0.33.4", "tss-react": "^4.9.12", - "tsx": "^4.16.5", + "tsx": "^4.17.0", "@link-stack/ui": "*" }, "devDependencies": { diff --git a/apps/bridge-migrations/package.json b/apps/bridge-migrations/package.json index 528ad95..8af7ae7 100644 --- a/apps/bridge-migrations/package.json +++ b/apps/bridge-migrations/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/bridge-migrations", - "version": "2.1.0", + "version": "2.1.1", "type": "module", "scripts": { "migrate:up:all": "tsx migrate.ts up:all", @@ -12,7 +12,7 @@ "dotenv": "^16.4.5", "kysely": "0.26.1", "pg": "^8.12.0", - "tsx": "^4.16.5" + "tsx": "^4.17.0" }, "devDependencies": { "@types/node": "^22", diff --git a/apps/bridge-whatsapp/package.json b/apps/bridge-whatsapp/package.json index 227abd4..215ad65 100644 --- a/apps/bridge-whatsapp/package.json +++ b/apps/bridge-whatsapp/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/bridge-whatsapp", - "version": "2.1.0", + "version": "2.1.1", "main": "build/main/index.js", "author": "Darren Clarke ", "license": "AGPL-3.0-or-later", @@ -20,7 +20,7 @@ "@link-stack/typescript-config": "*", "@types/node": "*", "dotenv-cli": "^7.4.2", - "tsx": "^4.16.5", + "tsx": "^4.17.0", "typescript": "^5.5.4" }, "scripts": { diff --git a/apps/bridge-whatsapp/tsconfig.json b/apps/bridge-whatsapp/tsconfig.json index afdb4f6..1af057c 100644 --- a/apps/bridge-whatsapp/tsconfig.json +++ b/apps/bridge-whatsapp/tsconfig.json @@ -8,7 +8,7 @@ "outDir": "build/main", "rootDir": "src", "skipLibCheck": true, - "types": ["jest", "node", "long"], + "types": ["node", "long"], "lib": ["es2020", "DOM"], "composite": true }, diff --git a/apps/bridge-worker/package.json b/apps/bridge-worker/package.json index 8b754d0..e7ab841 100644 --- a/apps/bridge-worker/package.json +++ b/apps/bridge-worker/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/bridge-worker", - "version": "2.1.0", + "version": "2.1.1", "type": "module", "main": "build/main/index.js", "author": "Darren Clarke ", @@ -20,7 +20,7 @@ "jest": "^29.7.0", "kysely": "^0.27.3", "pg": "^8.12.0", - "remeda": "^2.10.0", + "remeda": "^2.11.0", "twilio": "^5.2.2" }, "devDependencies": { diff --git a/apps/bridge-worker/tasks/leafcutter/import-leafcutter.ts b/apps/bridge-worker/tasks/leafcutter/import-leafcutter.ts index 0170262..a3c3e4e 100644 --- a/apps/bridge-worker/tasks/leafcutter/import-leafcutter.ts +++ b/apps/bridge-worker/tasks/leafcutter/import-leafcutter.ts @@ -142,7 +142,7 @@ const sendToLeafcutter = async (tickets: LabelStudioTicket[]) => { }, body: JSON.stringify({ tickets: finalTickets }), }); - console.log({ result }); + }; */ const importLeafcutterTask = async (): Promise => { diff --git a/apps/leafcutter/package.json b/apps/leafcutter/package.json index e578e22..ae2436b 100644 --- a/apps/leafcutter/package.json +++ b/apps/leafcutter/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/leafcutter", - "version": "2.1.0", + "version": "2.1.1", "scripts": { "dev": "next dev -p 3001", "login": "aws sso login --sso-session cdr", @@ -22,8 +22,8 @@ "@mui/icons-material": "^5", "@mui/material": "^5", "@mui/material-nextjs": "^5.16.6", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "@opensearch-project/opensearch": "^2.11.0", "cryptr": "^6.3.0", "date-fns": "^3.6.0", @@ -43,7 +43,7 @@ }, "devDependencies": { "@babel/core": "^7.25.2", - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "@types/uuid": "^10.0.0", "babel-loader": "^9.1.3", diff --git a/apps/link/app/(main)/overview/[overview]/_components/TicketCreateDialog.tsx b/apps/link/app/(main)/overview/[overview]/_components/TicketCreateDialog.tsx index 264357a..0505982 100644 --- a/apps/link/app/(main)/overview/[overview]/_components/TicketCreateDialog.tsx +++ b/apps/link/app/(main)/overview/[overview]/_components/TicketCreateDialog.tsx @@ -50,7 +50,6 @@ export const TicketCreateDialog: FC = ({ ); const [liveFormState, setLiveFormState] = useState(formState); const updateFormState = (field: string, value: any) => { - console.log({ value }); const newState = { ...liveFormState }; newState.values[field] = value; setLiveFormState(newState); @@ -59,7 +58,6 @@ export const TicketCreateDialog: FC = ({ useEffect(() => { const fetchUsers = async () => { const result = await getCustomersAction(); - console.log({ result }); setCustomers(result); }; @@ -69,7 +67,6 @@ export const TicketCreateDialog: FC = ({ useEffect(() => { const fetchGroups = async () => { const result = await getGroupsAction(); - console.log({ result }); setGroups(result); }; diff --git a/apps/link/app/_actions/groups.ts b/apps/link/app/_actions/groups.ts index b531b98..f488492 100644 --- a/apps/link/app/_actions/groups.ts +++ b/apps/link/app/_actions/groups.ts @@ -3,14 +3,19 @@ import { executeREST } from "app/_lib/zammad"; export const getGroupsAction = async () => { - const groups = await executeREST({ - path: "/api/v1/groups", - }); - const allGroups = groups ?? []; - const formattedGroups = allGroups.map((group: any) => ({ - label: group.name, - value: `gid://zammad/Group/${group.id}`, - })); + try { + const groups = await executeREST({ + path: "/api/v1/groups", + }); + const allGroups = groups ?? []; + const formattedGroups = allGroups.map((group: any) => ({ + label: group.name, + value: `gid://zammad/Group/${group.id}`, + })); - return formattedGroups; + return formattedGroups; + } catch (e) { + console.error(e.message); + return []; + } }; diff --git a/apps/link/app/_actions/overviews.ts b/apps/link/app/_actions/overviews.ts index 2e796e6..746f387 100644 --- a/apps/link/app/_actions/overviews.ts +++ b/apps/link/app/_actions/overviews.ts @@ -16,75 +16,82 @@ const overviewLookup = { }; export const getOverviewTicketCountsAction = async () => { - const recent = await executeREST({ path: "/api/v1/recent_view" }); - const countResult = await executeGraphQL({ - query: getTicketOverviewCountsQuery, - }); - const overviews = countResult?.ticketOverviews?.edges ?? []; - const counts = overviews.reduce((acc: any, overview: any) => { - const name = overview.node.name; - const key = Object.keys(overviewLookup) - .find((k) => overviewLookup[k] === name) - ?.toLowerCase(); - if (key) { - acc[key] = overview.node.ticketCount ?? 0; - } - return acc; - }, {}); - counts.recent = recent.length; + try { + const recent = await executeREST({ path: "/api/v1/recent_view" }); + const countResult = await executeGraphQL({ + query: getTicketOverviewCountsQuery, + }); + const overviews = countResult?.ticketOverviews?.edges ?? []; + const counts = overviews.reduce((acc: any, overview: any) => { + const name = overview.node.name; + const key = Object.keys(overviewLookup) + .find((k) => overviewLookup[k] === name) + ?.toLowerCase(); + if (key) { + acc[key] = overview.node.ticketCount ?? 0; + } + return acc; + }, {}); + counts.recent = recent.length; - return counts; + return counts; + } catch (e) { + console.error(e.message); + return {}; + } }; export const getOverviewTicketsAction = async (name: string) => { let tickets = []; - let error = null; - if (name === "Recent") { - const recent = await executeREST({ path: "/api/v1/recent_view" }); + try { + if (name === "Recent") { + const recent = await executeREST({ path: "/api/v1/recent_view" }); - for (const rec of recent) { - const tkt = await executeREST({ - path: `/api/v1/tickets/${rec.o_id}`, + for (const rec of recent) { + const tkt = await executeREST({ + path: `/api/v1/tickets/${rec.o_id}`, + }); + tickets.push({ + ...tkt, + internalId: tkt.id, + createdAt: tkt.created_at, + updatedAt: tkt.updated_at, + }); + } + } else { + const fullName = overviewLookup[name]; + const countResult = await executeGraphQL({ + query: getTicketOverviewCountsQuery, }); - tickets.push({ - ...tkt, - internalId: tkt.id, - createdAt: tkt.created_at, - updatedAt: tkt.updated_at, + const overviewID = countResult?.ticketOverviews?.edges?.find( + (overview: any) => overview.node.name === fullName, + )?.node?.id; + + const ticketsResult = await executeGraphQL({ + query: getTicketsByOverviewQuery, + variables: { overviewId: overviewID, pageSize: 250 }, }); + + const edges = ticketsResult?.ticketsByOverview?.edges; + if (edges) { + tickets = edges.map((edge: any) => edge.node); + } } - } else { - const fullName = overviewLookup[name]; - const countResult = await executeGraphQL({ - query: getTicketOverviewCountsQuery, - }); - const overviewID = countResult?.ticketOverviews?.edges?.find( - (overview: any) => overview.node.name === fullName, - )?.node?.id; - console.log({ overviewID }); - - const ticketsResult = await executeGraphQL({ - query: getTicketsByOverviewQuery, - variables: { overviewId: overviewID, pageSize: 250 }, + const sortedTickets = tickets.sort((a: any, b: any) => { + if (a.internalId < b.internalId) { + return 1; + } + if (a.internalId > b.internalId) { + return -1; + } + return 0; }); - const edges = ticketsResult?.ticketsByOverview?.edges; - if (edges) { - tickets = edges.map((edge: any) => edge.node); - } + return { tickets: sortedTickets }; + } catch (e) { + console.error(e.message); + return { tickets, message: e.message ?? "" }; } - - const sortedTickets = tickets.sort((a: any, b: any) => { - if (a.internalId < b.internalId) { - return 1; - } - if (a.internalId > b.internalId) { - return -1; - } - return 0; - }); - - return { tickets: sortedTickets, error }; }; diff --git a/apps/link/app/_actions/search.ts b/apps/link/app/_actions/search.ts index 8a5b7b2..8a6b8b6 100644 --- a/apps/link/app/_actions/search.ts +++ b/apps/link/app/_actions/search.ts @@ -3,10 +3,15 @@ import { executeGraphQL } from "app/_lib/zammad"; import { searchQuery } from "@/app/_graphql/searchQuery"; export const searchAllAction = async (query: string, limit: number) => { - const result = await executeGraphQL({ - query: searchQuery, - variables: { search: query, limit }, - }); + try { + const result = await executeGraphQL({ + query: searchQuery, + variables: { search: query, limit }, + }); - return result?.search; + return result?.search; + } catch (e) { + console.error(e.message); + return []; + } }; diff --git a/apps/link/app/_actions/tickets.ts b/apps/link/app/_actions/tickets.ts index cdecf9e..0bb9f55 100644 --- a/apps/link/app/_actions/tickets.ts +++ b/apps/link/app/_actions/tickets.ts @@ -15,7 +15,7 @@ export const createTicketAction = async ( try { const ticket = { groupId: formData.get("groupId"), - customerId: `gid://zammad/User/3`, // { email: formData.get("customerId") }, + customerId: formData.get("customerId"), title: formData.get("title"), article: { internal: true, @@ -23,23 +23,20 @@ export const createTicketAction = async ( }, }; - console.log({ ticket }); - - const result = await executeGraphQL({ + await executeGraphQL({ query: createTicketMutation, variables: { input: ticket, }, }); - console.log({ result }); return { ...currentState, values: ticket, success: true, }; } catch (e: any) { - console.log({ e }); + console.error(e.message); return { success: false, values: {}, @@ -61,13 +58,12 @@ export const createTicketArticleAction = async ( }, }); - console.log({ result }); return { result, success: true, }; } catch (e: any) { - console.log({ e }); + console.error(e.message); return { success: false, message: e?.message ?? "Unknown error", @@ -114,16 +110,14 @@ export const updateTicketAction = async ( tags: ticketInfo.tags, }, }); - console.log({ tagsResult }); } - console.log({ result }); return { result, success: true, }; } catch (e: any) { - console.log({ e }); + console.error(e.message); return { success: false, message: e?.message ?? "Unknown error", @@ -132,55 +126,80 @@ export const updateTicketAction = async ( }; export const getTicketAction = async (id: string) => { - const ticketData = await executeGraphQL({ - query: getTicketQuery, - variables: { ticketId: `gid://zammad/Ticket/${id}` }, - }); - console.log({ td: ticketData.ticket }); - return ticketData?.ticket; + try { + const ticketData = await executeGraphQL({ + query: getTicketQuery, + variables: { ticketId: `gid://zammad/Ticket/${id}` }, + }); + + return ticketData?.ticket; + } catch (e) { + console.error(e.message); + return {}; + } }; export const getTicketArticlesAction = async (id: string) => { - const ticketData = await executeGraphQL({ - query: getTicketArticlesQuery, - variables: { ticketId: `gid://zammad/Ticket/${id}` }, - }); + try { + const ticketData = await executeGraphQL({ + query: getTicketArticlesQuery, + variables: { ticketId: `gid://zammad/Ticket/${id}` }, + }); - return ticketData?.ticketArticles; + return ticketData?.ticketArticles; + } catch (e) { + console.error(e.message); + return {}; + } }; export const getTicketStatesAction = async () => { - const states = await executeREST({ - path: "/api/v1/ticket_states", - }); + try { + const states = await executeREST({ + path: "/api/v1/ticket_states", + }); - const formattedStates = - states?.map((state: any) => ({ - value: `gid://zammad/Ticket::State/${state.id}`, - label: state.name, - })) ?? []; + const formattedStates = + states?.map((state: any) => ({ + value: `gid://zammad/Ticket::State/${state.id}`, + label: state.name, + })) ?? []; - return formattedStates; + return formattedStates; + } catch (e) { + console.error(e.message); + return []; + } }; export const getTagsAction = async () => { - const { tags } = await executeREST({ - path: "/api/v1/tags", - }); + try { + const { tags } = await executeREST({ + path: "/api/v1/tags", + }); - return tags; + return tags; + } catch (e) { + console.error(e.message); + return []; + } }; export const getTicketPrioritiesAction = async () => { - const priorities = await executeREST({ - path: "/api/v1/ticket_priorities", - }); + try { + const priorities = await executeREST({ + path: "/api/v1/ticket_priorities", + }); - const formattedPriorities = - priorities?.map((priority: any) => ({ - value: `gid://zammad/Ticket::Priority/${priority.id}`, - label: priority.name, - })) ?? []; + const formattedPriorities = + priorities?.map((priority: any) => ({ + value: `gid://zammad/Ticket::Priority/${priority.id}`, + label: priority.name, + })) ?? []; - return formattedPriorities; + return formattedPriorities; + } catch (e) { + console.error(e.message); + return []; + } }; diff --git a/apps/link/app/_actions/users.ts b/apps/link/app/_actions/users.ts index 22f101c..bc47739 100644 --- a/apps/link/app/_actions/users.ts +++ b/apps/link/app/_actions/users.ts @@ -3,48 +3,63 @@ import { executeREST } from "app/_lib/zammad"; export const getAgentsAction = async () => { - const users = await executeREST({ - path: "/api/v1/users", - }); - const agents = users?.filter((user: any) => user.role_ids.includes(2)) ?? []; - const formattedAgents = agents - .map((agent: any) => ({ - label: `${agent.firstname} ${agent.lastname}`, - value: `gid://zammad/User/${agent.id}`, - })) - .sort((a: any, b: any) => a.label.localeCompare(b.label)); + try { + const users = await executeREST({ + path: "/api/v1/users", + }); + const agents = + users?.filter((user: any) => user.role_ids.includes(2)) ?? []; + const formattedAgents = agents + .map((agent: any) => ({ + label: `${agent.firstname} ${agent.lastname}`, + value: `gid://zammad/User/${agent.id}`, + })) + .sort((a: any, b: any) => a.label.localeCompare(b.label)); - return formattedAgents; + return formattedAgents; + } catch (e) { + console.error(e.message); + return []; + } }; export const getCustomersAction = async () => { - const users = await executeREST({ - path: "/api/v1/users", - }); - console.log({ users }); - const customers = - users?.filter((user: any) => user.role_ids.includes(3)) ?? []; - const formattedCustomers = customers - .map((customer: any) => ({ - label: customer.login, - value: `gid://zammad/User/${customer.id}`, - })) - .sort((a: any, b: any) => a.label.localeCompare(b.label)); + try { + const users = await executeREST({ + path: "/api/v1/users", + }); + const customers = + users?.filter((user: any) => user.role_ids.includes(3)) ?? []; + const formattedCustomers = customers + .map((customer: any) => ({ + label: customer.login, + value: `gid://zammad/User/${customer.id}`, + })) + .sort((a: any, b: any) => a.label.localeCompare(b.label)); - return formattedCustomers; + return formattedCustomers; + } catch (e) { + console.error(e.message); + return []; + } }; export const getUsersAction = async () => { - const users = await executeREST({ - path: "/api/v1/users", - }); - console.log({ users }); - const formattedUsers = users - .map((customer: any) => ({ - label: customer.login, - value: `gid://zammad/User/${customer.id}`, - })) - .sort((a: any, b: any) => a.label.localeCompare(b.label)); + try { + const users = await executeREST({ + path: "/api/v1/users", + }); + console.log({ users }); + const formattedUsers = users + .map((customer: any) => ({ + label: customer.login, + value: `gid://zammad/User/${customer.id}`, + })) + .sort((a: any, b: any) => a.label.localeCompare(b.label)); - return formattedUsers; + return formattedUsers; + } catch (e) { + console.error(e.message); + return []; + } }; diff --git a/apps/link/app/_components/CSRFProvider.tsx b/apps/link/app/_components/CSRFProvider.tsx index 70edce6..1ef6683 100644 --- a/apps/link/app/_components/CSRFProvider.tsx +++ b/apps/link/app/_components/CSRFProvider.tsx @@ -1,22 +1,36 @@ "use client"; import { FC, PropsWithChildren, useEffect } from "react"; +import { useRouter } from "next/navigation"; import { useSession } from "next-auth/react"; export const CSRFProvider: FC = ({ children }) => { const { data: session, status, update } = useSession(); + const router = useRouter(); useEffect(() => { - const interval = setInterval(async () => { + const checkSession = async () => { + console.log("Checking session status..."); + console.log(status); if (status === "authenticated") { - const response = await fetch("/api/v1/users/me"); - const token = response.headers.get("CSRF-Token"); - update({ csrfToken: token }); + const response = await fetch("/api/v1/users/me", { + method: "GET", + }); + + if (response.status !== 200 && !!router) { + console.log("redirecting"); + window.location.href = "/auth/sso"; + } else { + const token = response.headers.get("CSRF-Token"); + update({ zammadCsrfToken: token }); + } } - }, 30000); + }; + + const interval = setInterval(checkSession, 15000); return () => clearInterval(interval); - }, [session, status, update]); + }, [session, status, update, router]); return children; }; diff --git a/apps/link/app/_lib/authentication.ts b/apps/link/app/_lib/authentication.ts index dc27e72..2707270 100644 --- a/apps/link/app/_lib/authentication.ts +++ b/apps/link/app/_lib/authentication.ts @@ -123,7 +123,7 @@ export const authOptions: NextAuthOptions = { } if (session && trigger === "update") { - token.zammadCsrfToken = session.csrfToken; + token.zammadCsrfToken = session.zammadCsrfToken; } return token; }, diff --git a/apps/link/app/_lib/zammad.ts b/apps/link/app/_lib/zammad.ts index 712f8e9..273ea4d 100644 --- a/apps/link/app/_lib/zammad.ts +++ b/apps/link/app/_lib/zammad.ts @@ -1,4 +1,5 @@ import { getServerSession } from "app/_lib/authentication"; +import { redirect } from "next/navigation"; import { cookies } from "next/headers"; const getHeaders = async () => { @@ -9,6 +10,7 @@ const getHeaders = async () => { Accept: "application/json", // @ts-ignore "X-CSRF-Token": session.user.zammadCsrfToken, + "X-Browser-Fingerprint": `${session.expires}`, Cookie: allCookies .map((cookie: any) => `${cookie.name}=${cookie.value}`) .join("; "), diff --git a/apps/link/middleware.ts b/apps/link/middleware.ts index 69e1cbe..e1ffdbd 100644 --- a/apps/link/middleware.ts +++ b/apps/link/middleware.ts @@ -10,12 +10,12 @@ const rewriteURL = ( const destinationURL = request.url.replace(originBaseURL, destinationBaseURL); console.log(`Rewriting ${request.url} to ${destinationURL}`); const requestHeaders = new Headers(request.headers); - // console.log({ beforeHeaders: requestHeaders }); + for (const [key, value] of Object.entries(headers)) { requestHeaders.set(key, value as string); } requestHeaders.delete("connection"); - // console.log({ afterHeaders: requestHeaders }); + return NextResponse.rewrite(new URL(destinationURL), { request: { headers: requestHeaders }, }); @@ -26,7 +26,15 @@ const checkRewrites = async (request: NextRequestWithAuth) => { const zammadURL = process.env.ZAMMAD_URL ?? "http://zammad-nginx:8080"; const opensearchDashboardsURL = process.env.OPENSEARCH_DASHBOARDS_URL ?? "http://macmini:5601"; - const zammadPaths = ["/zammad", "/api/v1", "/auth/sso", "/assets", "/mobile"]; + const zammadPaths = [ + "/zammad", + "/api/v1", + "/auth/sso", + "/assets", + "/mobile", + "/graphql", + "/cable", + ]; const { token } = request.nextauth; const email = token?.email?.toLowerCase() ?? "unknown"; let headers = { "x-forwarded-user": email }; diff --git a/apps/link/package.json b/apps/link/package.json index 5c2993a..288bc28 100644 --- a/apps/link/package.json +++ b/apps/link/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/link", - "version": "2.1.0", + "version": "2.1.1", "type": "module", "scripts": { "dev": "next dev", @@ -24,8 +24,8 @@ "@mui/icons-material": "^5", "@mui/material": "^5", "@mui/material-nextjs": "^5.16.6", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "date-fns": "^3.6.0", "graphql": "^16.9.0", "graphql-request": "^7.1.0", @@ -42,7 +42,7 @@ }, "devDependencies": { "@babel/core": "^7.25.2", - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "@types/uuid": "^10.0.0", "babel-loader": "^9.1.3", diff --git a/apps/link/tsconfig.json b/apps/link/tsconfig.json index 3e28b2c..651394f 100644 --- a/apps/link/tsconfig.json +++ b/apps/link/tsconfig.json @@ -3,6 +3,7 @@ "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, + "target": "esnext", "strict": false, "forceConsistentCasingInFileNames": true, "noEmit": true, diff --git a/package-lock.json b/package-lock.json index 6e0e1b6..df21808 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@link-stack", - "version": "2.2.0", + "version": "2.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@link-stack", - "version": "2.2.0", + "version": "2.1.1", "license": "AGPL-3.0-or-later", "workspaces": [ "apps/*", @@ -15,7 +15,8 @@ ], "devDependencies": { "dotenv-cli": "latest", - "eslint": "^8" + "eslint": "^8", + "typescript": "latest" }, "engines": { "node": ">=20", @@ -24,7 +25,7 @@ }, "apps/bridge-frontend": { "name": "@link-stack/bridge-frontend", - "version": "2.1.0", + "version": "2.1.1", "dependencies": { "@auth/kysely-adapter": "^1.4.2", "@emotion/cache": "^11.13.1", @@ -37,8 +38,8 @@ "@mui/icons-material": "^5", "@mui/material": "^5", "@mui/material-nextjs": "^5.16.6", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "@mui/x-license": "^7.12.0", "date-fns": "^3.6.0", "dotenv": "^16.4.5", @@ -57,7 +58,7 @@ "react-timer-hook": "^3.0.7", "sharp": "^0.33.4", "tss-react": "^4.9.12", - "tsx": "^4.16.5" + "tsx": "^4.17.0" }, "devDependencies": { "@link-stack/eslint-config": "*", @@ -71,12 +72,12 @@ }, "apps/bridge-migrations": { "name": "@link-stack/bridge-migrations", - "version": "2.1.0", + "version": "2.1.1", "dependencies": { "dotenv": "^16.4.5", "kysely": "0.26.1", "pg": "^8.12.0", - "tsx": "^4.16.5" + "tsx": "^4.17.0" }, "devDependencies": { "@link-stack/eslint-config": "*", @@ -88,7 +89,7 @@ }, "apps/bridge-whatsapp": { "name": "@link-stack/bridge-whatsapp", - "version": "2.1.0", + "version": "2.1.1", "license": "AGPL-3.0-or-later", "dependencies": { "@adiwajshing/keyed-db": "0.2.4", @@ -106,7 +107,7 @@ "@link-stack/typescript-config": "*", "@types/node": "*", "dotenv-cli": "^7.4.2", - "tsx": "^4.16.5", + "tsx": "^4.17.0", "typescript": "^5.5.4" } }, @@ -117,20 +118,21 @@ "license": "BSD-3-Clause" }, "apps/bridge-whatsapp/node_modules/@whiskeysockets/baileys": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@whiskeysockets/baileys/-/baileys-6.7.5.tgz", - "integrity": "sha512-5kDwir6wT1BY0aIdsJXDAHoq7Gy3oYwRXj3qFoS6MOC0udzF4e2D4vTbA/LVLg7a54dtDxXj+iEnrWcaE9jQZA==", + "version": "6.7.6", + "resolved": "https://registry.npmjs.org/@whiskeysockets/baileys/-/baileys-6.7.6.tgz", + "integrity": "sha512-mh3Y+xQa0xoidncl6s9buqm1XbZrz9Vnahu4bziJ8rutvIThXD2Kf3luU3dxVMFaDHqfb58jB3+y/uJ71wKcDw==", "license": "MIT", "dependencies": { "@adiwajshing/keyed-db": "^0.2.4", "@hapi/boom": "^9.1.3", "async-lock": "^1.4.1", "audio-decode": "^2.1.3", - "axios": "^1.3.3", + "axios": "^1.6.0", "cache-manager": "4.0.1", "futoin-hkdf": "^1.5.1", "libphonenumber-js": "^1.10.20", - "libsignal": "github:adiwajshing/libsignal-node", + "libsignal": "github:WhiskeySockets/libsignal-node", + "lodash": "^4.17.21", "music-metadata": "^7.12.3", "node-cache": "^5.1.2", "pino": "^7.0.0", @@ -142,7 +144,7 @@ "jimp": "^0.16.1", "link-preview-js": "^3.0.0", "qrcode-terminal": "^0.12.0", - "sharp": "^0.32.2" + "sharp": "^0.32.6" }, "peerDependenciesMeta": { "jimp": { @@ -195,7 +197,7 @@ }, "apps/bridge-worker": { "name": "@link-stack/bridge-worker", - "version": "2.1.0", + "version": "2.1.1", "license": "AGPL-3.0-or-later", "dependencies": { "@hapi/wreck": "^18.1.0", @@ -207,7 +209,7 @@ "jest": "^29.7.0", "kysely": "^0.27.3", "pg": "^8.12.0", - "remeda": "^2.10.0", + "remeda": "^2.11.0", "twilio": "^5.2.2" }, "devDependencies": { @@ -235,7 +237,7 @@ }, "apps/leafcutter": { "name": "@link-stack/leafcutter", - "version": "2.1.0", + "version": "2.1.1", "dependencies": { "@emotion/cache": "^11.13.1", "@emotion/react": "^11.13.0", @@ -246,8 +248,8 @@ "@mui/icons-material": "^5", "@mui/material": "^5", "@mui/material-nextjs": "^5.16.6", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "@opensearch-project/opensearch": "^2.11.0", "cryptr": "^6.3.0", "date-fns": "^3.6.0", @@ -267,7 +269,7 @@ }, "devDependencies": { "@babel/core": "^7.25.2", - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "@types/uuid": "^10.0.0", "babel-loader": "^9.1.3", @@ -283,7 +285,7 @@ }, "apps/link": { "name": "@link-stack/link", - "version": "2.1.0", + "version": "2.1.1", "dependencies": { "@chatscope/chat-ui-kit-react": "^2.0.3", "@chatscope/chat-ui-kit-styles": "^1.4.0", @@ -299,8 +301,8 @@ "@mui/icons-material": "^5", "@mui/material": "^5", "@mui/material-nextjs": "^5.16.6", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "date-fns": "^3.6.0", "graphql": "^16.9.0", "graphql-request": "^7.1.0", @@ -317,7 +319,7 @@ }, "devDependencies": { "@babel/core": "^7.25.2", - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "@types/uuid": "^10.0.0", "babel-loader": "^9.1.3", @@ -1057,7 +1059,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -1115,7 +1116,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" @@ -1242,7 +1242,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -2621,9 +2620,9 @@ "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", + "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", "cpu": [ "ppc64" ], @@ -2633,13 +2632,13 @@ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", + "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", "cpu": [ "arm" ], @@ -2649,13 +2648,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", + "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", "cpu": [ "arm64" ], @@ -2665,13 +2664,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", + "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", "cpu": [ "x64" ], @@ -2681,13 +2680,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", + "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", "cpu": [ "arm64" ], @@ -2697,13 +2696,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", + "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", "cpu": [ "x64" ], @@ -2713,13 +2712,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", + "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", "cpu": [ "arm64" ], @@ -2729,13 +2728,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", + "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", "cpu": [ "x64" ], @@ -2745,13 +2744,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", + "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", "cpu": [ "arm" ], @@ -2761,13 +2760,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", + "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", "cpu": [ "arm64" ], @@ -2777,13 +2776,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", + "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", "cpu": [ "ia32" ], @@ -2793,13 +2792,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", + "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", "cpu": [ "loong64" ], @@ -2809,13 +2808,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", + "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", "cpu": [ "mips64el" ], @@ -2825,13 +2824,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", + "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", "cpu": [ "ppc64" ], @@ -2841,13 +2840,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", + "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", "cpu": [ "riscv64" ], @@ -2857,13 +2856,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", + "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", "cpu": [ "s390x" ], @@ -2873,13 +2872,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", + "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", "cpu": [ "x64" ], @@ -2889,13 +2888,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", + "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", "cpu": [ "x64" ], @@ -2905,13 +2904,29 @@ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", + "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", + "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", "cpu": [ "x64" ], @@ -2921,13 +2936,13 @@ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", + "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", "cpu": [ "x64" ], @@ -2937,13 +2952,13 @@ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", + "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", "cpu": [ "arm64" ], @@ -2953,13 +2968,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", + "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", "cpu": [ "ia32" ], @@ -2969,13 +2984,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", + "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", "cpu": [ "x64" ], @@ -2985,7 +3000,7 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@eshaz/web-worker": { @@ -4672,9 +4687,9 @@ } }, "node_modules/@molt/command/node_modules/type-fest": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.23.0.tgz", - "integrity": "sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.24.0.tgz", + "integrity": "sha512-spAaHzc6qre0TlZQQ2aA/nGMe+2Z/wyGk5Z+Ru2VUfdNwT6kWO6TjevOlpebsATEG1EIQ2sOiDszud3lO5mt/Q==", "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=16" @@ -4693,9 +4708,9 @@ } }, "node_modules/@mui/core-downloads-tracker": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.6.tgz", - "integrity": "sha512-kytg6LheUG42V8H/o/Ptz3olSO5kUXW9zF0ox18VnblX6bO2yif1FPItgc3ey1t5ansb1+gbe7SatntqusQupg==", + "version": "5.16.7", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.7.tgz", + "integrity": "sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ==", "license": "MIT", "funding": { "type": "opencollective", @@ -4703,9 +4718,9 @@ } }, "node_modules/@mui/icons-material": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.16.6.tgz", - "integrity": "sha512-ceNGjoXheH9wbIFa1JHmSc9QVjJUvh18KvHrR4/FkJCSi9HXJ+9ee1kUhCOEFfuxNF8UB6WWVrIUOUgRd70t0A==", + "version": "5.16.7", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.16.7.tgz", + "integrity": "sha512-UrGwDJCXEszbDI7yV047BYU5A28eGJ79keTCP4cc74WyncuVrnurlmIRxaHL8YK+LI1Kzq+/JM52IAkNnv4u+Q==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9" @@ -4729,14 +4744,14 @@ } }, "node_modules/@mui/material": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.6.tgz", - "integrity": "sha512-0LUIKBOIjiFfzzFNxXZBRAyr9UQfmTAFzbt6ziOU2FDXhorNN2o3N9/32mNJbCA8zJo2FqFU6d3dtoqUDyIEfA==", + "version": "5.16.7", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.7.tgz", + "integrity": "sha512-cwwVQxBhK60OIOqZOVLFt55t01zmarKJiJUWbk0+8s/Ix5IaUzAShqlJchxsIQ4mSrWqgcKCCXKtIlG5H+/Jmg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", - "@mui/core-downloads-tracker": "^5.16.6", - "@mui/system": "^5.16.6", + "@mui/core-downloads-tracker": "^5.16.7", + "@mui/system": "^5.16.7", "@mui/types": "^7.2.15", "@mui/utils": "^5.16.6", "@popperjs/core": "^2.11.8", @@ -4868,9 +4883,9 @@ } }, "node_modules/@mui/system": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.6.tgz", - "integrity": "sha512-5xgyJjBIMPw8HIaZpfbGAaFYPwImQn7Nyh+wwKWhvkoIeDosQ1ZMVrbTclefi7G8hNmqhip04duYwYpbBFnBgw==", + "version": "5.16.7", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.7.tgz", + "integrity": "sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", @@ -4952,9 +4967,9 @@ } }, "node_modules/@mui/x-data-grid": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-7.12.0.tgz", - "integrity": "sha512-5cS/v0PFMfm2na6iC77eeM/63m+gu4YYQcFycvGY6i5qm6ZywHzdcyXxx13FENKPclY1p9i19f4t4iuYW2F9Eg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-7.12.1.tgz", + "integrity": "sha512-/l9AslZKoHFfOultD2ehWIxRGuBI0RUwbhVbpAPwNP3ouDbTH0eyWfd5f6KCGhcUbG6xfceiOuTNr7uaPHqKiA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.0", @@ -4973,21 +4988,31 @@ "url": "https://opencollective.com/mui-org" }, "peerDependencies": { + "@emotion/react": "^11.9.0", + "@emotion/styled": "^11.8.1", "@mui/material": "^5.15.14", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } } }, "node_modules/@mui/x-data-grid-pro": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@mui/x-data-grid-pro/-/x-data-grid-pro-7.12.0.tgz", - "integrity": "sha512-BgPK/lgFn8Zhg5jbHAkmsqG3FxLu2CQKu7q/8Q55AskkF9GNVj0GXbv0Ql1Kfu2GonmmffpOdbTw9i4VwzX+OQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@mui/x-data-grid-pro/-/x-data-grid-pro-7.12.1.tgz", + "integrity": "sha512-IPPIREYVdY4MdDAdd/sjxjwEgLs9zaNGhlpm5VOaOlKoJkE5O0kmbBz/8M53125hVMZSAojE0eEwyOXVRrxkKQ==", "license": "SEE LICENSE IN LICENSE", "dependencies": { "@babel/runtime": "^7.25.0", "@mui/system": "^5.16.5", "@mui/utils": "^5.16.5", - "@mui/x-data-grid": "7.12.0", + "@mui/x-data-grid": "7.12.1", "@mui/x-internals": "7.12.0", "@mui/x-license": "7.12.0", "@types/format-util": "^1.0.4", @@ -4999,15 +5024,25 @@ "node": ">=14.0.0" }, "peerDependencies": { + "@emotion/react": "^11.9.0", + "@emotion/styled": "^11.8.1", "@mui/material": "^5.15.14", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } } }, "node_modules/@mui/x-date-pickers": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.12.0.tgz", - "integrity": "sha512-WU5C7QNfSpJ9cP8vl2sY7q35NW+0TUMgEy+sl98fcPhLckq3cgV1wnVxoZnQZ3BxVQAtx+7ag/MpefU03vJcVw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.12.1.tgz", + "integrity": "sha512-Zj8kt3SCQbJp1qhMi+A3I4KqB8i5OY2Q11mdOEathFhqN/SQm1sUjIa1G09cGP1dPDgK1a6KM6qJGNtcw/nuWA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.0", @@ -5070,15 +5105,15 @@ } }, "node_modules/@mui/x-date-pickers-pro": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@mui/x-date-pickers-pro/-/x-date-pickers-pro-7.12.0.tgz", - "integrity": "sha512-fKffbVKUJh8ySKRjW7ha+UUL4d826eOibJJfJPXN5s5MVzRtYQnOFKkMFPubi9RkHVFW2rRvoI0TW8PxJ4Pc7Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers-pro/-/x-date-pickers-pro-7.12.1.tgz", + "integrity": "sha512-fajiwP6knE5IpkYITlt4jmf+YJsyroecxCirf58BI7LzircHd4w8ElGSYrSAanTgXPE/Hgtw7y7uXsahdEUxmw==", "license": "SEE LICENSE IN LICENSE", "dependencies": { "@babel/runtime": "^7.25.0", "@mui/system": "^5.16.5", "@mui/utils": "^5.16.5", - "@mui/x-date-pickers": "7.12.0", + "@mui/x-date-pickers": "7.12.1", "@mui/x-license": "7.12.0", "clsx": "^2.1.1", "prop-types": "^15.8.1", @@ -5793,9 +5828,9 @@ } }, "node_modules/@thi.ng/bitstream": { - "version": "2.2.66", - "resolved": "https://registry.npmjs.org/@thi.ng/bitstream/-/bitstream-2.2.66.tgz", - "integrity": "sha512-mErQyNseLN6DMeHVj7PEgYGvkVtEzF8Okjgy8UhMqQKK2qfkM419CbNfCOIL+Nevvy2nDVy8zcWNB9F/x+sKhA==", + "version": "2.2.67", + "resolved": "https://registry.npmjs.org/@thi.ng/bitstream/-/bitstream-2.2.67.tgz", + "integrity": "sha512-Ak7xiUZUuPCTT3XvTmnLL6PTYow9EFPfSGNUT4yblHiAduM20GNdwOiYSWreH/l808GYX433UPj3J+M3Pc/FXA==", "funding": [ { "type": "github", @@ -5808,16 +5843,16 @@ ], "license": "Apache-2.0", "dependencies": { - "@thi.ng/errors": "^2.5.13" + "@thi.ng/errors": "^2.5.14" }, "engines": { "node": ">=18" } }, "node_modules/@thi.ng/errors": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/@thi.ng/errors/-/errors-2.5.13.tgz", - "integrity": "sha512-wutJa2in1sTBSrYqW15Y+GxOeHP2oHUWkNww1e3eoNK05k7EaIf9cAaOU1SKiRlimtVXqIsWqeHpz8lQPePU8Q==", + "version": "2.5.14", + "resolved": "https://registry.npmjs.org/@thi.ng/errors/-/errors-2.5.14.tgz", + "integrity": "sha512-V/X3M4jhVHXxRF9ePEw6QYi6gST1dsXk0YYu7SOM+aKEl0uoirE2H2Y+2dV4Q7ER1l9EH5d33FNxsoMN9VhTfQ==", "funding": [ { "type": "github", @@ -6093,12 +6128,12 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.1.0.tgz", - "integrity": "sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==", + "version": "22.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.3.0.tgz", + "integrity": "sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==", "license": "MIT", "dependencies": { - "undici-types": "~6.13.0" + "undici-types": "~6.18.2" } }, "node_modules/@types/normalize-package-data": { @@ -6151,9 +6186,9 @@ } }, "node_modules/@types/react-transition-group": { - "version": "4.4.10", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", - "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", + "version": "4.4.11", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.11.tgz", + "integrity": "sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==", "license": "MIT", "dependencies": { "@types/react": "*" @@ -6200,16 +6235,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.0.1.tgz", - "integrity": "sha512-5g3Y7GDFsJAnY4Yhvk8sZtFfV6YNF2caLzjrRPUBzewjPCaj0yokePB4LJSobyCzGMzjZZYFbwuzbfDHlimXbQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.1.0.tgz", + "integrity": "sha512-LlNBaHFCEBPHyD4pZXb35mzjGkuGKXU5eeCA1SxvHfiRES0E82dOounfVpL4DCqYvJEKab0bZIA0gCRpdLKkCw==", "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.0.1", - "@typescript-eslint/type-utils": "8.0.1", - "@typescript-eslint/utils": "8.0.1", - "@typescript-eslint/visitor-keys": "8.0.1", + "@typescript-eslint/scope-manager": "8.1.0", + "@typescript-eslint/type-utils": "8.1.0", + "@typescript-eslint/utils": "8.1.0", + "@typescript-eslint/visitor-keys": "8.1.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -6233,15 +6268,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.0.1.tgz", - "integrity": "sha512-5IgYJ9EO/12pOUwiBKFkpU7rS3IU21mtXzB81TNwq2xEybcmAZrE9qwDtsb5uQd9aVO9o0fdabFyAmKveXyujg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.1.0.tgz", + "integrity": "sha512-U7iTAtGgJk6DPX9wIWPPOlt1gO57097G06gIcl0N0EEnNw8RGD62c+2/DiP/zL7KrkqnnqF7gtFGR7YgzPllTA==", "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "8.0.1", - "@typescript-eslint/types": "8.0.1", - "@typescript-eslint/typescript-estree": "8.0.1", - "@typescript-eslint/visitor-keys": "8.0.1", + "@typescript-eslint/scope-manager": "8.1.0", + "@typescript-eslint/types": "8.1.0", + "@typescript-eslint/typescript-estree": "8.1.0", + "@typescript-eslint/visitor-keys": "8.1.0", "debug": "^4.3.4" }, "engines": { @@ -6261,13 +6296,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.0.1.tgz", - "integrity": "sha512-NpixInP5dm7uukMiRyiHjRKkom5RIFA4dfiHvalanD2cF0CLUuQqxfg8PtEUo9yqJI2bBhF+pcSafqnG3UBnRQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.1.0.tgz", + "integrity": "sha512-DsuOZQji687sQUjm4N6c9xABJa7fjvfIdjqpSIIVOgaENf2jFXiM9hIBZOL3hb6DHK9Nvd2d7zZnoMLf9e0OtQ==", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.0.1", - "@typescript-eslint/visitor-keys": "8.0.1" + "@typescript-eslint/types": "8.1.0", + "@typescript-eslint/visitor-keys": "8.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6278,13 +6313,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.0.1.tgz", - "integrity": "sha512-+/UT25MWvXeDX9YaHv1IS6KI1fiuTto43WprE7pgSMswHbn1Jm9GEM4Txp+X74ifOWV8emu2AWcbLhpJAvD5Ng==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.1.0.tgz", + "integrity": "sha512-oLYvTxljVvsMnldfl6jIKxTaU7ok7km0KDrwOt1RHYu6nxlhN3TIx8k5Q52L6wR33nOwDgM7VwW1fT1qMNfFIA==", "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.0.1", - "@typescript-eslint/utils": "8.0.1", + "@typescript-eslint/typescript-estree": "8.1.0", + "@typescript-eslint/utils": "8.1.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -6302,9 +6337,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.0.1.tgz", - "integrity": "sha512-PpqTVT3yCA/bIgJ12czBuE3iBlM3g4inRSC5J0QOdQFAn07TYrYEQBBKgXH1lQpglup+Zy6c1fxuwTk4MTNKIw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.1.0.tgz", + "integrity": "sha512-q2/Bxa0gMOu/2/AKALI0tCKbG2zppccnRIRCW6BaaTlRVaPKft4oVYPp7WOPpcnsgbr0qROAVCVKCvIQ0tbWog==", "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6315,13 +6350,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.1.tgz", - "integrity": "sha512-8V9hriRvZQXPWU3bbiUV4Epo7EvgM6RTs+sUmxp5G//dBGy402S7Fx0W0QkB2fb4obCF8SInoUzvTYtc3bkb5w==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.1.0.tgz", + "integrity": "sha512-NTHhmufocEkMiAord/g++gWKb0Fr34e9AExBRdqgWdVBaKoei2dIyYKD9Q0jBnvfbEA5zaf8plUFMUH6kQ0vGg==", "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "8.0.1", - "@typescript-eslint/visitor-keys": "8.0.1", + "@typescript-eslint/types": "8.1.0", + "@typescript-eslint/visitor-keys": "8.1.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6367,15 +6402,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.0.1.tgz", - "integrity": "sha512-CBFR0G0sCt0+fzfnKaciu9IBsKvEKYwN9UZ+eeogK1fYHg4Qxk1yf/wLQkLXlq8wbU2dFlgAesxt8Gi76E8RTA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.1.0.tgz", + "integrity": "sha512-ypRueFNKTIFwqPeJBfeIpxZ895PQhNyH4YID6js0UoBImWYoSjBsahUn9KMiJXh94uOjVBgHD9AmkyPsPnFwJA==", "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.0.1", - "@typescript-eslint/types": "8.0.1", - "@typescript-eslint/typescript-estree": "8.0.1" + "@typescript-eslint/scope-manager": "8.1.0", + "@typescript-eslint/types": "8.1.0", + "@typescript-eslint/typescript-estree": "8.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6389,12 +6424,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.1.tgz", - "integrity": "sha512-W5E+o0UfUcK5EgchLZsyVWqARmsM7v54/qEq6PY3YI5arkgmCzHiuk0zKSJJbm71V0xdRna4BGomkCTXz2/LkQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.1.0.tgz", + "integrity": "sha512-ba0lNI19awqZ5ZNKh6wCModMwoZs457StTebQ0q1NP58zSi2F6MOZRXwfKZy+jB78JNJ/WH8GSh2IQNzXX8Nag==", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.0.1", + "@typescript-eslint/types": "8.1.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -7148,9 +7183,9 @@ } }, "node_modules/axios": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.3.tgz", - "integrity": "sha512-Ar7ND9pU99eJ9GpoGQKhKf58GpUOgnzuaB7ueNQ5BMi0p+LZ5oaEnfF999fAArcTIBwXTCHAmGcHOZJaWPq9Nw==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", + "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -7339,23 +7374,26 @@ } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -7698,9 +7736,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001650", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001650.tgz", - "integrity": "sha512-fgEc7hP/LB7iicdXHUI9VsBsMZmUmlVJeQP2qqQW+3lkqVhbmjEU8zp+h5stWeilX+G7uXuIUIIlWlDw9jdt8g==", + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", "funding": [ { "type": "opencollective", @@ -8941,9 +8979,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.5.tgz", - "integrity": "sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==", + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.7.tgz", + "integrity": "sha512-6FTNWIWMxMy/ZY6799nBlPtF1DFDQ6VQJ7yyDP27SJNt5lwtQ5ufqVvHylb3fdQefvRcgA3fKcFMJi9OLwBRNw==", "license": "ISC" }, "node_modules/emittery": { @@ -9208,41 +9246,42 @@ } }, "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", + "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", "hasInstallScript": true, "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" + "@esbuild/aix-ppc64": "0.23.0", + "@esbuild/android-arm": "0.23.0", + "@esbuild/android-arm64": "0.23.0", + "@esbuild/android-x64": "0.23.0", + "@esbuild/darwin-arm64": "0.23.0", + "@esbuild/darwin-x64": "0.23.0", + "@esbuild/freebsd-arm64": "0.23.0", + "@esbuild/freebsd-x64": "0.23.0", + "@esbuild/linux-arm": "0.23.0", + "@esbuild/linux-arm64": "0.23.0", + "@esbuild/linux-ia32": "0.23.0", + "@esbuild/linux-loong64": "0.23.0", + "@esbuild/linux-mips64el": "0.23.0", + "@esbuild/linux-ppc64": "0.23.0", + "@esbuild/linux-riscv64": "0.23.0", + "@esbuild/linux-s390x": "0.23.0", + "@esbuild/linux-x64": "0.23.0", + "@esbuild/netbsd-x64": "0.23.0", + "@esbuild/openbsd-arm64": "0.23.0", + "@esbuild/openbsd-x64": "0.23.0", + "@esbuild/sunos-x64": "0.23.0", + "@esbuild/win32-arm64": "0.23.0", + "@esbuild/win32-ia32": "0.23.0", + "@esbuild/win32-x64": "0.23.0" } }, "node_modules/escalade": { @@ -9603,9 +9642,9 @@ } }, "node_modules/eslint-plugin-cypress": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-3.4.0.tgz", - "integrity": "sha512-Rrrr3Ri6wHqzrRr+TyUV7bDS4UnMMrFY1R1PP2F7XdGfe9txDC6lQEshyoNOWqGoPkbbeDm1x1XPc/adxemsnA==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-3.5.0.tgz", + "integrity": "sha512-JZQ6XnBTNI8h1B9M7wJSFzc48SYbh7VMMKaNTQOFa3BQlnmXPrVc4PKen8R+fpv6VleiPeej6VxloGb42zdRvw==", "license": "MIT", "dependencies": { "globals": "^13.20.0" @@ -9704,9 +9743,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "28.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.7.0.tgz", - "integrity": "sha512-fzPGN7awL2ftVRQh/bsCi+16ArUZWujZnD1b8EGJqy8nr4//7tZ3BIdc/9edcJBtB3hpci3GtdMNFVDwHU0Eag==", + "version": "28.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.8.0.tgz", + "integrity": "sha512-Tubj1hooFxCl52G4qQu0edzV/+EZzPUeN8p2NnW5uu4fbDs+Yo7+qDVDc4/oG3FbCqEBmu/OC3LSsyiU22oghw==", "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -10490,9 +10529,9 @@ } }, "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "license": "ISC", "dependencies": { @@ -10853,9 +10892,9 @@ } }, "node_modules/graphile-config/node_modules/@types/node": { - "version": "20.14.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.14.tgz", - "integrity": "sha512-d64f00982fS9YoOgJkAMolK7MN8Iq3TDdVjchbYHdEmjth/DHowx82GnoA+tVUAN+7vxfYUgAzi+JXbKNd2SDQ==", + "version": "20.14.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.15.tgz", + "integrity": "sha512-Fz1xDMCF/B00/tYSVMlmK7hVeLh7jE5f3B7X1/hmV0MJBwE27KlS7EvD/Yp+z1lm8mVhwV5w+n8jOZG8AfTlKw==", "license": "MIT", "dependencies": { "undici-types": "~5.26.4" @@ -11462,18 +11501,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/https-proxy-agent": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", @@ -11531,9 +11558,9 @@ "license": "BSD-3-Clause" }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "license": "MIT", "engines": { "node": ">= 4" @@ -12073,12 +12100,12 @@ } }, "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "license": "MIT", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -13297,8 +13324,9 @@ "license": "MIT" }, "node_modules/libsignal": { + "name": "@whiskeysockets/libsignal-node", "version": "2.0.1", - "resolved": "git+ssh://git@github.com/adiwajshing/libsignal-node.git#11dbd962ea108187c79a7c46fe4d6f790e23da97", + "resolved": "git+ssh://git@github.com/WhiskeySockets/libsignal-node.git#83a3e3a3864511cb74df1b796373f0d49d071134", "license": "GPL-3.0", "dependencies": { "curve25519-js": "^0.0.4", @@ -13416,7 +13444,6 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, "license": "MIT" }, "node_modules/lodash.camelcase": { @@ -16675,18 +16702,18 @@ } }, "node_modules/remeda": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/remeda/-/remeda-2.10.0.tgz", - "integrity": "sha512-2RFz0VWckq8nb0nttzToa8BB5HgLsBHokWUKYiV5C8hnsZOTO1jcx0oXKvfS5khabhS6XkngMOLebQB+pm20IQ==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/remeda/-/remeda-2.11.0.tgz", + "integrity": "sha512-rQO+zcuNvnTcB2vBctblBARZakY0+wMNtrFGqU1+h4jm5p2APcDKQxUZG2CmMPkSQxa2nauU55GBVS/3Fo83fA==", "license": "MIT", "dependencies": { "type-fest": "^4.23.0" } }, "node_modules/remeda/node_modules/type-fest": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.23.0.tgz", - "integrity": "sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.24.0.tgz", + "integrity": "sha512-spAaHzc6qre0TlZQQ2aA/nGMe+2Z/wyGk5Z+Ru2VUfdNwT6kWO6TjevOlpebsATEG1EIQ2sOiDszud3lO5mt/Q==", "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=16" @@ -17861,9 +17888,9 @@ } }, "node_modules/terser": { - "version": "5.31.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", - "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, "license": "BSD-2-Clause", "peer": true, @@ -18284,12 +18311,12 @@ } }, "node_modules/tsx": { - "version": "4.16.5", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.16.5.tgz", - "integrity": "sha512-ArsiAQHEW2iGaqZ8fTA1nX0a+lN5mNTyuGRRO6OW3H/Yno1y9/t1f9YOI1Cfoqz63VAthn++ZYcbDP7jPflc+A==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.17.0.tgz", + "integrity": "sha512-eN4mnDA5UMKDt4YZixo9tBioibaMBpoxBkD+rIPAjVmYERSG0/dWEY1CEFuV89CgASlKL499q8AhmkMnnjtOJg==", "license": "MIT", "dependencies": { - "esbuild": "~0.21.5", + "esbuild": "~0.23.0", "get-tsconfig": "^4.7.5" }, "bin": { @@ -18576,9 +18603,9 @@ } }, "node_modules/undici-types": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", - "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==", + "version": "6.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.18.2.tgz", + "integrity": "sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ==", "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -18644,6 +18671,18 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unist-util-is": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", @@ -18900,9 +18939,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "license": "MIT", "peer": true, @@ -19353,7 +19392,7 @@ }, "packages/bridge-common": { "name": "@link-stack/bridge-common", - "version": "2.2.0", + "version": "2.1.1", "license": "AGPL-3.0-or-later", "dependencies": { "@auth/kysely-adapter": "^1.4.2", @@ -19367,13 +19406,13 @@ "@babel/preset-typescript": "7.24.7", "@link-stack/typescript-config": "*", "prettier": "^3.3.3", - "tsx": "^4.16.5", + "tsx": "^4.17.0", "typescript": "^5.5.4" } }, "packages/bridge-ui": { "name": "@link-stack/bridge-ui", - "version": "0.2.0", + "version": "2.1.1", "dependencies": { "@auth/kysely-adapter": "^1.4.2", "@emotion/cache": "^11.13.1", @@ -19383,8 +19422,8 @@ "@link-stack/signal-api": "*", "@mui/icons-material": "^5", "@mui/material": "^5", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "date-fns": "^3.6.0", "kysely": "0.26.1", "material-ui-popup-state": "^5.1.2", @@ -19402,7 +19441,7 @@ }, "devDependencies": { "@babel/core": "^7.25.2", - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "@types/react-dom": "^18.3.0", "@types/uuid": "^10.0.0", @@ -19420,19 +19459,19 @@ }, "packages/eslint-config": { "name": "@link-stack/eslint-config", - "version": "0.3.10", + "version": "2.1.1", "license": "AGPL-3.0-or-later", "dependencies": { "@babel/eslint-parser": "7.25.1", "@rushstack/eslint-patch": "^1.10.4", - "@typescript-eslint/eslint-plugin": "^8.0.1", - "@typescript-eslint/parser": "^8.0.1", + "@typescript-eslint/eslint-plugin": "^8.1.0", + "@typescript-eslint/parser": "^8.1.0", "eslint-config-prettier": "^9.1.0", "eslint-config-xo-space": "^0.35.0", - "eslint-plugin-cypress": "^3.4.0", + "eslint-plugin-cypress": "^3.5.0", "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^28.7.0", + "eslint-plugin-jest": "^28.8.0", "eslint-plugin-promise": "^7.1.0", "eslint-plugin-unicorn": "55.0.0" }, @@ -19447,7 +19486,7 @@ }, "packages/jest-config": { "name": "@link-stack/jest-config", - "version": "0.0.1", + "version": "2.1.1", "license": "AGPL-3.0-or-later", "dependencies": { "@types/jest": "^29.5.12", @@ -19460,7 +19499,7 @@ }, "packages/leafcutter-ui": { "name": "@link-stack/leafcutter-ui", - "version": "0.2.0", + "version": "2.1.1", "dependencies": { "@emotion/cache": "^11.13.1", "@emotion/react": "^11.13.0", @@ -19469,8 +19508,8 @@ "@link-stack/opensearch-common": "*", "@mui/icons-material": "^5", "@mui/material": "^5", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "date-fns": "^3.6.0", "material-ui-popup-state": "^5.1.2", "next": "14.2.5", @@ -19486,7 +19525,7 @@ }, "devDependencies": { "@babel/core": "^7.25.2", - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "@types/uuid": "^10.0.0", "babel-loader": "^9.1.3", @@ -19503,7 +19542,7 @@ }, "packages/opensearch-common": { "name": "@link-stack/opensearch-common", - "version": "0.2.0", + "version": "2.1.1", "dependencies": { "@opensearch-project/opensearch": "^2.11.0", "uuid": "^10.0.0" @@ -19512,7 +19551,7 @@ "@babel/core": "^7.25.2", "@link-stack/eslint-config": "*", "@link-stack/typescript-config": "*", - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "@types/uuid": "^10.0.0", "babel-loader": "^9.1.3", @@ -19522,7 +19561,7 @@ }, "packages/signal-api": { "name": "@link-stack/signal-api", - "version": "1.0.0", + "version": "2.1.1", "devDependencies": { "@link-stack/eslint-config": "*", "@link-stack/typescript-config": "*", @@ -19533,7 +19572,7 @@ }, "packages/typescript-config": { "name": "@link-stack/typescript-config", - "version": "0.1.4", + "version": "2.1.1", "license": "AGPL-3.0-or-later", "engines": { "node": ">=20" @@ -19541,26 +19580,25 @@ }, "packages/ui": { "name": "@link-stack/ui", - "version": "1.0.0", - "license": "ISC", + "version": "2.1.1", "dependencies": { "@mui/icons-material": "^5", "@mui/material": "^5", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "next": "14.2.5", "react": "18.3.1", "react-dom": "18.3.1" }, "devDependencies": { - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "typescript": "^5.5.4" } }, "packages/zammad-addon-bridge": { "name": "@link-stack/zammad-addon-bridge", - "version": "2.0.0", + "version": "2.1.1", "license": "AGPL-3.0-or-later", "dependencies": { "@link-stack/zammad-addon-common": "*" @@ -19568,16 +19606,20 @@ }, "packages/zammad-addon-common": { "name": "@link-stack/zammad-addon-common", - "version": "1.0.0", + "version": "2.1.1", "license": "AGPL-3.0-or-later", "bin": { "zpm-build": "dist/build.js", "zpm-migrate": "dist/migrate.js" + }, + "devDependencies": { + "@types/node": "^22", + "typescript": "^5" } }, "packages/zammad-addon-hardening": { "name": "@link-stack/zammad-addon-hardening", - "version": "2.0.0", + "version": "2.1.1", "license": "AGPL-3.0-or-later", "dependencies": { "@link-stack/zammad-addon-common": "*" @@ -19585,7 +19627,7 @@ }, "packages/zammad-addon-leafcutter": { "name": "@link-stack/zammad-addon-leafcutter", - "version": "2.0.0", + "version": "2.1.1", "license": "AGPL-3.0-or-later", "dependencies": { "@link-stack/zammad-addon-common": "*" diff --git a/package.json b/package.json index 4b78801..0b513af 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,16 @@ { "name": "@link-stack", - "version": "2.1.0", + "version": "2.1.1", "description": "Link from the Center for Digital Resilience", "scripts": { "dev": "dotenv -- turbo dev", "build": "dotenv -- turbo build", "migrate": "dotenv -- npm run migrate --workspace=database", "lint": "dotenv turbo lint", + "update-version": "find . -name 'package.json' -exec sed -i -E 's/\"version\": \"[^\"]+\"/\"version\": \"2.1.1\"/' {} +", "upgrade:setup": "npm i -g npm-check-updates", "upgrade:check": "ncu && ncu -ws", - "upgrade:all": "ncu -u -x eslint -x kysely && ncu -ws -u -x eslint -x kysely && npm i", + "upgrade": "ncu -u -x eslint -x kysely && ncu -ws -u -x eslint -x kysely && npm i", "clean": "rm -f package-lock.json && rm -rf node_modules && rm -rf .turbo && rm -rf apps/*/node_modules && rm -rf apps/*/package-lock.json && rm -rf apps/*/.next && rm -rf packages/*/node_modules && rm -rf apps/*/.next && rm -rf packages/*/.turbo && rm -rf packages/*/build && rm -rf docker/zammad/addons/*", "docker:all:up": "node docker/scripts/docker.js all up", "docker:all:down": "node docker/scripts/docker.js all down", @@ -50,7 +51,8 @@ "license": "AGPL-3.0-or-later", "devDependencies": { "dotenv-cli": "latest", - "eslint": "^8" + "eslint": "^8", + "typescript": "latest" }, "overrides": { "eslint-config-next": { diff --git a/packages/bridge-common/package.json b/packages/bridge-common/package.json index e285091..6192969 100644 --- a/packages/bridge-common/package.json +++ b/packages/bridge-common/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/bridge-common", - "version": "2.2.0", + "version": "2.1.1", "main": "build/main/index.js", "type": "module", "author": "Darren Clarke ", @@ -20,7 +20,7 @@ "@babel/preset-typescript": "7.24.7", "prettier": "^3.3.3", "@link-stack/typescript-config": "*", - "tsx": "^4.16.5", + "tsx": "^4.17.0", "typescript": "^5.5.4" } } diff --git a/packages/bridge-ui/lib/service.ts b/packages/bridge-ui/lib/service.ts index a8be7ea..9170041 100644 --- a/packages/bridge-ui/lib/service.ts +++ b/packages/bridge-ui/lib/service.ts @@ -81,6 +81,12 @@ export class Service { req: NextRequest, { params: { service, token } }: ServiceParams, ): Promise { + const table = getServiceTable(service); + const row = await db + .selectFrom(table) + .selectAll() + .where("token", "=", token ?? "NEVER_MATCH") + .executeTakeFirstOrThrow(); const json = await req.json(); const worker = await getWorkerUtils(); await worker.addJob(`${service}/send-${service}-message`, { @@ -88,7 +94,17 @@ export class Service { ...json, }); - return NextResponse.json({ response: "ok" }); + const response = { + response: "ok", + result: { + to: json.to, + from: row?.phoneNumber ?? null, + timestamp: new Date().toISOString(), + }, + }; + + console.log(response); + return NextResponse.json(response); } async receiveMessage( diff --git a/packages/bridge-ui/package.json b/packages/bridge-ui/package.json index 1ca1909..040863c 100644 --- a/packages/bridge-ui/package.json +++ b/packages/bridge-ui/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/bridge-ui", - "version": "0.2.0", + "version": "2.1.1", "scripts": { "build": "tsc -p tsconfig.json" }, @@ -13,8 +13,8 @@ "@link-stack/signal-api": "*", "@mui/icons-material": "^5", "@mui/material": "^5", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "date-fns": "^3.6.0", "kysely": "0.26.1", "material-ui-popup-state": "^5.1.2", @@ -32,7 +32,7 @@ }, "devDependencies": { "@babel/core": "^7.25.2", - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "@types/react-dom": "^18.3.0", "@types/uuid": "^10.0.0", diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index bb3d3a2..27a1a95 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/eslint-config", - "version": "0.3.10", + "version": "2.1.1", "description": "amigo's eslint config", "author": "Abel Luck ", "license": "AGPL-3.0-or-later", @@ -10,14 +10,14 @@ }, "dependencies": { "@rushstack/eslint-patch": "^1.10.4", - "@typescript-eslint/eslint-plugin": "^8.0.1", - "@typescript-eslint/parser": "^8.0.1", + "@typescript-eslint/eslint-plugin": "^8.1.0", + "@typescript-eslint/parser": "^8.1.0", "eslint-config-prettier": "^9.1.0", "eslint-config-xo-space": "^0.35.0", - "eslint-plugin-cypress": "^3.4.0", + "eslint-plugin-cypress": "^3.5.0", "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^28.7.0", + "eslint-plugin-jest": "^28.8.0", "eslint-plugin-promise": "^7.1.0", "eslint-plugin-unicorn": "55.0.0", "@babel/eslint-parser": "7.25.1" diff --git a/packages/jest-config/package.json b/packages/jest-config/package.json index 8714c67..95753e5 100644 --- a/packages/jest-config/package.json +++ b/packages/jest-config/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/jest-config", - "version": "0.0.1", + "version": "2.1.1", "description": "", "author": "Abel Luck ", "license": "AGPL-3.0-or-later", diff --git a/packages/leafcutter-ui/package.json b/packages/leafcutter-ui/package.json index efccb9a..15af9d7 100644 --- a/packages/leafcutter-ui/package.json +++ b/packages/leafcutter-ui/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/leafcutter-ui", - "version": "0.2.0", + "version": "2.1.1", "scripts": { "build": "tsc -p tsconfig.json" }, @@ -11,8 +11,8 @@ "@emotion/styled": "^11.13.0", "@mui/icons-material": "^5", "@mui/material": "^5", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "@link-stack/opensearch-common": "*", "date-fns": "^3.6.0", "material-ui-popup-state": "^5.1.2", @@ -29,7 +29,7 @@ }, "devDependencies": { "@babel/core": "^7.25.2", - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "@types/uuid": "^10.0.0", "babel-loader": "^9.1.3", diff --git a/packages/opensearch-common/package.json b/packages/opensearch-common/package.json index 5d6eeec..b5fcbcb 100644 --- a/packages/opensearch-common/package.json +++ b/packages/opensearch-common/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/opensearch-common", - "version": "0.2.0", + "version": "2.1.1", "scripts": { "build": "tsc -p tsconfig.json" }, @@ -10,7 +10,7 @@ }, "devDependencies": { "@babel/core": "^7.25.2", - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "@types/uuid": "^10.0.0", "babel-loader": "^9.1.3", diff --git a/packages/signal-api/package.json b/packages/signal-api/package.json index 6e08602..cc1d3e4 100644 --- a/packages/signal-api/package.json +++ b/packages/signal-api/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/signal-api", - "version": "1.0.0", + "version": "2.1.1", "type": "module", "main": "build/index.js", "exports": { diff --git a/packages/typescript-config/package.json b/packages/typescript-config/package.json index 4364ab8..019ac12 100644 --- a/packages/typescript-config/package.json +++ b/packages/typescript-config/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/typescript-config", - "version": "0.1.4", + "version": "2.1.1", "description": "Shared TypeScript config", "license": "AGPL-3.0-or-later", "author": "Abel Luck ", diff --git a/packages/ui/package.json b/packages/ui/package.json index 8b5e3a1..5d567e2 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/ui", - "version": "1.0.0", + "version": "2.1.1", "description": "", "scripts": { "build": "tsc -p tsconfig.json" @@ -9,14 +9,14 @@ "dependencies": { "@mui/icons-material": "^5", "@mui/material": "^5", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", + "@mui/x-data-grid-pro": "^7.12.1", + "@mui/x-date-pickers-pro": "^7.12.1", "next": "14.2.5", "react": "18.3.1", "react-dom": "18.3.1" }, "devDependencies": { - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", "@types/react": "18.3.3", "typescript": "^5.5.4" } diff --git a/packages/zammad-addon-bridge/package.json b/packages/zammad-addon-bridge/package.json index f1d4658..6efd7e9 100644 --- a/packages/zammad-addon-bridge/package.json +++ b/packages/zammad-addon-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@link-stack/zammad-addon-bridge", "displayName": "Bridge", - "version": "2.0.0", + "version": "2.1.1", "description": "An addon that adds CDR Bridge channels to Zammad.", "scripts": { "build": "node '../../node_modules/@link-stack/zammad-addon-common/dist/build.js'", diff --git a/packages/zammad-addon-bridge/src/app/jobs/communicate_cdr_signal_job.rb b/packages/zammad-addon-bridge/src/app/jobs/communicate_cdr_signal_job.rb index d3c4d19..4452c52 100644 --- a/packages/zammad-addon-bridge/src/app/jobs/communicate_cdr_signal_job.rb +++ b/packages/zammad-addon-bridge/src/app/jobs/communicate_cdr_signal_job.rb @@ -61,16 +61,16 @@ class CommunicateCdrSignalJob < ApplicationJob return if has_error - article.to = result['result']['recipient'] - article.from = result['result']['source'] + article.to = result['result']['to'] + article.from = result['result']['from'] - message_id = format('%s@%s', source: result['result']['source'], + message_id = format('%s@%s', from: result['result']['from'], timestamp: result['result']['timestamp']) article.preferences['cdr_signal'] = { timestamp: result['result']['timestamp'], message_id: message_id, - from: result['result']['source'], - to: result['result']['recipient'] + from: result['result']['from'], + to: result['result']['to'] } # set delivery status diff --git a/packages/zammad-addon-bridge/src/app/jobs/communicate_cdr_whatsapp_job.rb b/packages/zammad-addon-bridge/src/app/jobs/communicate_cdr_whatsapp_job.rb index 3843eca..33b03e1 100644 --- a/packages/zammad-addon-bridge/src/app/jobs/communicate_cdr_whatsapp_job.rb +++ b/packages/zammad-addon-bridge/src/app/jobs/communicate_cdr_whatsapp_job.rb @@ -61,16 +61,16 @@ class CommunicateCdrWhatsappJob < ApplicationJob return if has_error - article.to = result['result']['recipient'] - article.from = result['result']['source'] + article.to = result['result']['to'] + article.from = result['result']['from'] - message_id = format('%s@%s', source: result['result']['source'], + message_id = format('%s@%s', from: result['result']['from'], timestamp: result['result']['timestamp']) article.preferences['cdr_whatsapp'] = { timestamp: result['result']['timestamp'], message_id: message_id, - from: result['result']['source'], - to: result['result']['recipient'] + from: result['result']['from'], + to: result['result']['to'] } # set delivery status diff --git a/packages/zammad-addon-bridge/src/lib/cdr_signal.rb b/packages/zammad-addon-bridge/src/lib/cdr_signal.rb index 82247b3..4efc972 100644 --- a/packages/zammad-addon-bridge/src/lib/cdr_signal.rb +++ b/packages/zammad-addon-bridge/src/lib/cdr_signal.rb @@ -118,7 +118,7 @@ class CdrSignal end def self.message_id(message_raw) - format('%s@%s', source: message_raw['source'], timestamp: message_raw['timestamp']) + format('%s@%s', from: message_raw['from'], timestamp: message_raw['timestamp']) end # diff --git a/packages/zammad-addon-bridge/src/lib/cdr_whatsapp.rb b/packages/zammad-addon-bridge/src/lib/cdr_whatsapp.rb index 83a5d15..62725ec 100644 --- a/packages/zammad-addon-bridge/src/lib/cdr_whatsapp.rb +++ b/packages/zammad-addon-bridge/src/lib/cdr_whatsapp.rb @@ -118,7 +118,7 @@ class CdrWhatsapp end def self.message_id(message_raw) - format('%s@%s', source: message_raw['source'], timestamp: message_raw['timestamp']) + format('%s@%s', from: message_raw['from'], timestamp: message_raw['timestamp']) end # diff --git a/packages/zammad-addon-common/package.json b/packages/zammad-addon-common/package.json index 7108796..9656648 100644 --- a/packages/zammad-addon-common/package.json +++ b/packages/zammad-addon-common/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/zammad-addon-common", - "version": "1.0.0", + "version": "2.1.1", "description": "", "bin": { "zpm-build": "./dist/build.js", @@ -9,6 +9,10 @@ "scripts": { "build": "tsc" }, + "devDependencies": { + "typescript": "^5", + "@types/node": "^22" + }, "author": "", "license": "AGPL-3.0-or-later" } diff --git a/packages/zammad-addon-common/tsconfig.json b/packages/zammad-addon-common/tsconfig.json index 54f8595..df3bd30 100644 --- a/packages/zammad-addon-common/tsconfig.json +++ b/packages/zammad-addon-common/tsconfig.json @@ -2,9 +2,7 @@ "compilerOptions": { "incremental": true, "target": "es2020", - "lib": [ - "es2020" - ], + "lib": ["es2020"], "moduleResolution": "node", "module": "commonjs", "declaration": true, @@ -22,9 +20,6 @@ "experimentalDecorators": true, "emitDecoratorMetadata": true, "outDir": "dist", - "types": [ - "node", - "jest" - ] + "types": ["node"] } } diff --git a/packages/zammad-addon-hardening/package.json b/packages/zammad-addon-hardening/package.json index 5f48da4..ea11de5 100644 --- a/packages/zammad-addon-hardening/package.json +++ b/packages/zammad-addon-hardening/package.json @@ -1,7 +1,7 @@ { "name": "@link-stack/zammad-addon-hardening", "displayName": "Hardening", - "version": "2.0.0", + "version": "2.1.1", "description": "A Zammad addon that hardens a Zammad instance according to CDR's needs.", "scripts": { "build": "node '../../node_modules/@link-stack/zammad-addon-common/dist/build.js'", diff --git a/packages/zammad-addon-leafcutter/package.json b/packages/zammad-addon-leafcutter/package.json index 1c1a213..31f9ee0 100644 --- a/packages/zammad-addon-leafcutter/package.json +++ b/packages/zammad-addon-leafcutter/package.json @@ -1,7 +1,7 @@ { "name": "@link-stack/zammad-addon-leafcutter", "displayName": "Leafcutter", - "version": "2.0.0", + "version": "2.1.1", "description": "Adds a common set of tags for Leafcutter uses.", "scripts": { "build": "node '../../node_modules/@link-stack/zammad-addon-common/dist/build.js'",