diff --git a/AGENTS.md b/AGENTS.md index e482c4243..04ea4e987 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -28,21 +28,6 @@ Boundaries: code/commits/PRs written normal. -## graphify - -This project has a knowledge graph at graphify-out/ with god nodes, community structure, and cross-file relationships. - -When the user types `/graphify`, use the installed graphify skill or instructions before doing anything else. - -Rules: -- For codebase questions, first run `graphify query ""` when graphify-out/graph.json exists. Use `graphify path "" ""` for relationships and `graphify explain ""` for focused concepts. These return a scoped subgraph, usually much smaller than GRAPH_REPORT.md or raw grep output. -- Dirty graphify-out/ files are expected after hooks or incremental updates; dirty graph files are not a reason to skip graphify. Only skip graphify if the task is about stale or incorrect graph output, or the user explicitly says not to use it. -- If graphify-out/wiki/index.md exists, use it for broad navigation instead of raw source browsing. -- Read graphify-out/GRAPH_REPORT.md only for broad architecture review or when query/path/explain do not surface enough context. -- After modifying code, run `graphify update .` to keep the graph current (AST-only, no API cost). - - -# AGENTS.md ## Agent skills diff --git a/apps/server/package.json b/apps/server/package.json index 70651eab9..497f8fb6a 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -18,23 +18,23 @@ "#react-pdf-renderer": "@react-pdf/renderer" }, "dependencies": { - "@ai-sdk/anthropic": "^4.0.44", - "@ai-sdk/cerebras": "^3.0.39", - "@ai-sdk/cohere": "^4.0.33", - "@ai-sdk/deepseek": "^3.0.35", - "@ai-sdk/fireworks": "^3.0.42", - "@ai-sdk/google": "^4.0.54", - "@ai-sdk/groq": "^4.0.33", - "@ai-sdk/mistral": "^4.0.35", - "@ai-sdk/openai": "^4.0.50", - "@ai-sdk/openai-compatible": "^3.0.39", - "@ai-sdk/perplexity": "^4.0.34", - "@ai-sdk/togetherai": "^3.0.40", - "@ai-sdk/xai": "^4.0.47", - "@aws-sdk/client-s3": "^3.1119.0", + "@ai-sdk/anthropic": "^4.0.49", + "@ai-sdk/cerebras": "^3.0.43", + "@ai-sdk/cohere": "^4.0.37", + "@ai-sdk/deepseek": "^3.0.39", + "@ai-sdk/fireworks": "^3.0.46", + "@ai-sdk/google": "^4.0.63", + "@ai-sdk/groq": "^4.0.37", + "@ai-sdk/mistral": "^4.0.39", + "@ai-sdk/openai": "^4.0.58", + "@ai-sdk/openai-compatible": "^3.0.43", + "@ai-sdk/perplexity": "^4.0.39", + "@ai-sdk/togetherai": "^3.0.44", + "@ai-sdk/xai": "^4.0.54", + "@aws-sdk/client-s3": "^3.1126.0", "@better-auth/api-key": "^1.7.2", "@better-auth/drizzle-adapter": "^1.7.2", - "@better-auth/infra": "^0.4.3", + "@better-auth/infra": "^0.4.5", "@better-auth/oauth-provider": "^1.7.2", "@better-auth/passkey": "^1.7.2", "@bramus/specificity": "^2.4.2", @@ -46,7 +46,7 @@ "@orpc/openapi": "^1.15.0", "@orpc/server": "^1.15.0", "@orpc/zod": "^1.15.0", - "@react-pdf/renderer": "^4.8.1", + "@react-pdf/renderer": "^4.9.0", "@reactive-resume/api": "workspace:*", "@reactive-resume/auth": "workspace:*", "@reactive-resume/db": "workspace:*", @@ -54,10 +54,10 @@ "@reactive-resume/mcp": "workspace:*", "@reactive-resume/schema": "workspace:*", "@reactive-resume/utils": "workspace:*", - "@sindresorhus/slugify": "^3.0.0", + "@sindresorhus/slugify": "^3.0.1", "@t3-oss/env-core": "^0.13.11", "@uiw/color-convert": "^2.10.3", - "ai": "^7.0.83", + "ai": "^7.0.92", "bcrypt": "^6.0.0", "better-auth": "1.7.2", "cjk-regex": "^3.4.0", @@ -65,12 +65,12 @@ "deepmerge-ts": "^8.0.2", "drizzle-orm": "1.0.0-rc.4", "drizzle-zod": "1.0.0-beta.14-a36c63d", - "es-toolkit": "^1.51.0", + "es-toolkit": "^1.52.0", "fast-json-patch": "^3.1.1", "hono": "^4.13.5", "jsonrepair": "^3.15.0", - "node-html-parser": "^9.0.1", - "nodemailer": "^9.0.5", + "node-html-parser": "^9.0.3", + "nodemailer": "^10.0.0", "ollama-ai-provider-v2": "^4.0.1", "pg": "^8.23.0", "phosphor-icons-react-pdf": "^0.1.3", @@ -83,17 +83,17 @@ "ts-pattern": "^5.9.0", "unique-names-generator": "^4.7.1", "uuid": "^14.0.2", - "zod": "^4.4.3" + "zod": "^4.5.4" }, "devDependencies": { "@reactive-resume/config": "workspace:*", - "@types/node": "^26.4.0", + "@types/node": "^26.4.1", "@types/pg": "^8.23.1", "@types/react": "^19.2.18", "@typescript/native-preview": "7.0.0-dev.20260707.2", - "tsdown": "^0.22.14", - "tsx": "^4.23.12", + "tsdown": "^0.23.0", + "tsx": "^4.23.13", "typescript": "^7.0.2", - "vitest": "^4.1.11" + "vitest": "^5.0.0" } } diff --git a/apps/web/locales/af-ZA.po b/apps/web/locales/af-ZA.po index 6ecdf0dc6..adde552d4 100644 --- a/apps/web/locales/af-ZA.po +++ b/apps/web/locales/af-ZA.po @@ -8,7 +8,7 @@ msgstr "" "Language: af\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Afrikaans\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON-lewe loopbaanopsomming" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4880,7 +4880,7 @@ msgstr "Sloweens" #: src/dialogs/resume/index.tsx msgid "Slug" -msgstr "Slug" +msgstr "Slak" #: src/libs/resume/ats.ts msgid "Some application systems require one before you can submit." @@ -6569,3 +6569,4 @@ msgstr "Zoem uit" #: src/libs/locale.ts msgid "Zulu" msgstr "Zoeloe" + diff --git a/apps/web/locales/am-ET.po b/apps/web/locales/am-ET.po index 0abf3ae20..7c5fdc77c 100644 --- a/apps/web/locales/am-ET.po +++ b/apps/web/locales/am-ET.po @@ -8,7 +8,7 @@ msgstr "" "Language: am\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Amharic\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -6569,3 +6569,4 @@ msgstr "አጉር" #: src/libs/locale.ts msgid "Zulu" msgstr "ዙሉ" + diff --git a/apps/web/locales/ar-SA.po b/apps/web/locales/ar-SA.po index 655ce7983..f77d8b8eb 100644 --- a/apps/web/locales/ar-SA.po +++ b/apps/web/locales/ar-SA.po @@ -8,7 +8,7 @@ msgstr "" "Language: ar\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "استئناف JSON" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - الانتقال إلى الصفحة الرئيسية" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "استئناف تفاعلي (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4095,7 +4095,7 @@ msgstr "السيرة الذاتية التفاعلية v<0>{__APP_VERSION__} #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "استئناف تفاعلي الإصدار 4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6569,3 +6569,4 @@ msgstr "تصغير" #: src/libs/locale.ts msgid "Zulu" msgstr "الزولو" + diff --git a/apps/web/locales/az-AZ.po b/apps/web/locales/az-AZ.po index 52c5fbd0a..7c3ceecdb 100644 --- a/apps/web/locales/az-AZ.po +++ b/apps/web/locales/az-AZ.po @@ -8,7 +8,7 @@ msgstr "" "Language: az\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Azerbaijani\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -6569,3 +6569,4 @@ msgstr "Uzaqlaşdır" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/bg-BG.po b/apps/web/locales/bg-BG.po index 6386f8ec2..e72aa2fb9 100644 --- a/apps/web/locales/bg-BG.po +++ b/apps/web/locales/bg-BG.po @@ -8,7 +8,7 @@ msgstr "" "Language: bg\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -6569,3 +6569,4 @@ msgstr "Намаляване" #: src/libs/locale.ts msgid "Zulu" msgstr "Зулуски" + diff --git a/apps/web/locales/bn-BD.po b/apps/web/locales/bn-BD.po index d34406b9a..c6c55dd84 100644 --- a/apps/web/locales/bn-BD.po +++ b/apps/web/locales/bn-BD.po @@ -8,7 +8,7 @@ msgstr "" "Language: bn\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Bengali\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -6569,3 +6569,4 @@ msgstr "জুম আউট" #: src/libs/locale.ts msgid "Zulu" msgstr "জুলু" + diff --git a/apps/web/locales/ca-ES.po b/apps/web/locales/ca-ES.po index c8d612300..38b70e11d 100644 --- a/apps/web/locales/ca-ES.po +++ b/apps/web/locales/ca-ES.po @@ -8,7 +8,7 @@ msgstr "" "Language: ca\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Catalan\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Ves a la pàgina inicial" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Currículum reactiu (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,7 +4090,7 @@ msgstr "Reactive Resume continua sent gratuït, de codi obert i independent perq #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Currículum reactiu v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx @@ -6569,3 +6569,4 @@ msgstr "Allunya" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulú" + diff --git a/apps/web/locales/cs-CZ.po b/apps/web/locales/cs-CZ.po index 4e7fa12e6..5f268db0b 100644 --- a/apps/web/locales/cs-CZ.po +++ b/apps/web/locales/cs-CZ.po @@ -8,7 +8,7 @@ msgstr "" "Language: cs\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -6569,3 +6569,4 @@ msgstr "Oddálit" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/da-DK.po b/apps/web/locales/da-DK.po index ffab57ce5..b2144e1b0 100644 --- a/apps/web/locales/da-DK.po +++ b/apps/web/locales/da-DK.po @@ -8,7 +8,7 @@ msgstr "" "Language: da\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON CV" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -3733,11 +3733,11 @@ msgstr "Passkey registreret." #: src/features/settings/authentication/components/passkeys.tsx msgid "Passkeys" -msgstr "Passkeys" +msgstr "Nøgler" #: src/routes/_home/-sections/features.tsx msgid "Passkeys & 2FA" -msgstr "Passkeys & 2FA" +msgstr "Adgangsnøgler & 2FA" #. Authentication provider display name in account settings #. Label for password input on login form @@ -6569,3 +6569,4 @@ msgstr "Zoom ud" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/de-DE.po b/apps/web/locales/de-DE.po index 72d52f9e6..14e62e176 100644 --- a/apps/web/locales/de-DE.po +++ b/apps/web/locales/de-DE.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1565,7 +1565,7 @@ msgstr "Dunkles Design" #: src/routes/dashboard/-components/sidebar.tsx msgid "Dashboard" -msgstr "Dashboard" +msgstr "Armaturenbrett" #: src/routes/_home/-sections/features.tsx msgid "Data Security" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON Lebenslauf" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -3721,7 +3721,7 @@ msgstr "Absatz- und Überschriftenstil" #: src/features/auth/components/social-auth.tsx #: src/features/settings/authentication/components/hooks.tsx msgid "Passkey" -msgstr "Passkey" +msgstr "Hauptschlüssel" #: src/features/settings/authentication/components/passkeys.tsx msgid "Passkey deleted." @@ -3733,7 +3733,7 @@ msgstr "Passkey registriert." #: src/features/settings/authentication/components/passkeys.tsx msgid "Passkeys" -msgstr "Passkeys" +msgstr "Passwörter" #: src/routes/_home/-sections/features.tsx msgid "Passkeys & 2FA" @@ -6569,3 +6569,4 @@ msgstr "Herauszoomen" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/el-GR.po b/apps/web/locales/el-GR.po index dfcea0e02..73e0ffac1 100644 --- a/apps/web/locales/el-GR.po +++ b/apps/web/locales/el-GR.po @@ -8,7 +8,7 @@ msgstr "" "Language: el\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON Βιογραφικό σημείωμα" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Μετάβαση στην αρχική σελίδα" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Αντιδραστικό βιογραφικό σημείωμα (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,12 +4090,12 @@ msgstr "Το Reactive Resume παραμένει δωρεάν, ανοιχτού #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Αντιδραστικό βιογραφικό v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "Αντιδραστικό βιογραφικό σημείωμα v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6569,3 +6569,4 @@ msgstr "Σμίκρυνση" #: src/libs/locale.ts msgid "Zulu" msgstr "Ζουλού" + diff --git a/apps/web/locales/en-GB.po b/apps/web/locales/en-GB.po index b87889aa5..b0820340b 100644 --- a/apps/web/locales/en-GB.po +++ b/apps/web/locales/en-GB.po @@ -8,7 +8,7 @@ msgstr "" "Language: en_GB\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: English, United Kingdom\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -6569,3 +6569,4 @@ msgstr "Zoom out" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/es-ES.po b/apps/web/locales/es-ES.po index 71414fe2d..59d924606 100644 --- a/apps/web/locales/es-ES.po +++ b/apps/web/locales/es-ES.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Ir a la página de inicio" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Hoja de vida reactiva (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,12 +4090,12 @@ msgstr "Reactive Resume sigue siendo gratuito, de código abierto e independient #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Reanudación reactiva v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "Currículum reactivo v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6569,3 +6569,4 @@ msgstr "Alejar" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulú" + diff --git a/apps/web/locales/fa-IR.po b/apps/web/locales/fa-IR.po index 6e6dc3029..6648d4eb2 100644 --- a/apps/web/locales/fa-IR.po +++ b/apps/web/locales/fa-IR.po @@ -8,7 +8,7 @@ msgstr "" "Language: fa\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -6569,3 +6569,4 @@ msgstr "کوچک‌نمایی" #: src/libs/locale.ts msgid "Zulu" msgstr "زولو" + diff --git a/apps/web/locales/fi-FI.po b/apps/web/locales/fi-FI.po index 45f50e537..0f1fc32b7 100644 --- a/apps/web/locales/fi-FI.po +++ b/apps/web/locales/fi-FI.po @@ -8,7 +8,7 @@ msgstr "" "Language: fi\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON-ansioluettelo" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume – Siirry etusivulle" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Reaktiivinen ansioluettelo (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,12 +4090,12 @@ msgstr "Reactive Resume pysyy ilmaisena, avoimen lähdekoodin ja itsenäisenä, #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Reaktiivinen ansioluettelo v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "Reaktiivinen ansioluettelo v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6569,3 +6569,4 @@ msgstr "Loitonna" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/fr-FR.po b/apps/web/locales/fr-FR.po index f9063c637..753c04b63 100644 --- a/apps/web/locales/fr-FR.po +++ b/apps/web/locales/fr-FR.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -4090,7 +4090,7 @@ msgstr "Reactive Resume reste gratuit, open source et indépendant grâce au sou #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "React Resume v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx @@ -6569,3 +6569,4 @@ msgstr "Zoom arrière" #: src/libs/locale.ts msgid "Zulu" msgstr "Zoulou" + diff --git a/apps/web/locales/he-IL.po b/apps/web/locales/he-IL.po index 629cfa84d..980f5e310 100644 --- a/apps/web/locales/he-IL.po +++ b/apps/web/locales/he-IL.po @@ -8,7 +8,7 @@ msgstr "" "Language: he\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n==2 ? 1 : 2);\n" @@ -6569,3 +6569,4 @@ msgstr "התרחקות" #: src/libs/locale.ts msgid "Zulu" msgstr "זולו" + diff --git a/apps/web/locales/hi-IN.po b/apps/web/locales/hi-IN.po index 253c15525..2f995b601 100644 --- a/apps/web/locales/hi-IN.po +++ b/apps/web/locales/hi-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: hi\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -6569,3 +6569,4 @@ msgstr "ज़ूम आउट" #: src/libs/locale.ts msgid "Zulu" msgstr "ज़ुलु" + diff --git a/apps/web/locales/hu-HU.po b/apps/web/locales/hu-HU.po index c3f8ce0df..35cf7708e 100644 --- a/apps/web/locales/hu-HU.po +++ b/apps/web/locales/hu-HU.po @@ -8,7 +8,7 @@ msgstr "" "Language: hu\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON önéletrajz" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume – Ugrás a kezdőlapra" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Reaktív önéletrajz (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,12 +4090,12 @@ msgstr "A Reactive Resume azért marad ingyenes, nyílt forráskódú és függe #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Reaktív önéletrajz v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "Reaktív önéletrajz v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6569,3 +6569,4 @@ msgstr "Kicsinyítés" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/id-ID.po b/apps/web/locales/id-ID.po index dfcb44643..bf71babbb 100644 --- a/apps/web/locales/id-ID.po +++ b/apps/web/locales/id-ID.po @@ -8,7 +8,7 @@ msgstr "" "Language: id\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "Lanjutkan JSON" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Pergi ke beranda" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Lanjutkan Reaktif (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,12 +4090,12 @@ msgstr "Reactive Resume tetap gratis, open-source, dan independen karena perusah #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Reaktif Lanjutkan v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "Lanjutkan Reaktif v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -4302,7 +4302,7 @@ msgstr "Pulihkan versi ini?" #: src/routes/agent/-components/resume-pane.tsx #: src/routes/agent/$threadId.tsx msgid "Resume" -msgstr "Resume" +msgstr "Melanjutkan" #: src/features/resume/preview/resume-accessible-text.tsx msgid "Resume content" @@ -6569,3 +6569,4 @@ msgstr "Perkecil" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/it-IT.po b/apps/web/locales/it-IT.po index c51b9581c..528a4d4ce 100644 --- a/apps/web/locales/it-IT.po +++ b/apps/web/locales/it-IT.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Vai alla homepage" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Ripresa reattiva (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,12 +4090,12 @@ msgstr "Reactive Resume rimane gratuito, open-source e indipendente perché le a #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Ripresa reattiva v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "Ripresa reattiva v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6569,3 +6569,4 @@ msgstr "Rimpicciolisci" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/ja-JP.po b/apps/web/locales/ja-JP.po index 0745255fe..b96134a51 100644 --- a/apps/web/locales/ja-JP.po +++ b/apps/web/locales/ja-JP.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -236,7 +236,7 @@ msgstr "A4" #: src/routes/_home/-sections/features.tsx msgid "Access your resumes and data programmatically using the API." -msgstr "API を使用して、プログラムから履歴書とデータにアクセスできます。" +msgstr "API を使用して、プログラムからレジュメとデータにアクセスできます。" #: src/features/command-palette/pages/navigation.tsx #: src/routes/dashboard/-components/sidebar.tsx @@ -444,7 +444,7 @@ msgstr "[基本] の下にフルネームを追加します。" #: src/routes/agent/-components/agent-chat.tsx msgid "Adjust the resume for a remote-first role that values async communication and ownership." -msgstr "非同期コミュニケーションと主体性を重視する、リモートワーク中心の職種に合わせて履歴書を調整しましょう。" +msgstr "非同期コミュニケーションと主体性を重視する、リモートワーク中心の職種に合わせてレジュメを調整しましょう。" #: src/features/settings/integrations/components/ai-section.tsx msgid "Advanced" @@ -550,7 +550,7 @@ msgstr "予期せぬエラーが発生したため、このページを読み込 #. Fallback toast when importing a resume fails for an unknown reason #: src/dialogs/resume/import.tsx msgid "An unknown error occurred while importing your resume." -msgstr "履歴書のインポート中に不明なエラーが発生しました。" +msgstr "レジュメのインポート中に不明なエラーが発生しました。" #: src/routes/_home/-sections/features.tsx msgid "And many more..." @@ -574,7 +574,7 @@ msgstr "公開 URL を開く人には、このパスワードが必要になり #: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx msgid "Anyone with the link can view and download the resume." -msgstr "リンクを知っている人は誰でも履歴書を表示してダウンロードできます。" +msgstr "リンクを知っている人は誰でもレジュメを表示してダウンロードできます。" #: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx msgid "Anyone with the public URL will be able to view and download your resume without a password." @@ -697,7 +697,7 @@ msgstr "本当にこの項目を削除しますか?" #: src/routes/builder/$resumeId/-components/header.tsx #: src/routes/dashboard/resumes/-components/menus/use-resume-menu-actions.ts msgid "Are you sure you want to delete this resume?" -msgstr "この履歴書を削除しますか?" +msgstr "このレジュメを削除しますか?" #: src/features/settings/pages/account.tsx msgid "Are you sure you want to delete your account?" @@ -706,7 +706,7 @@ msgstr "このアカウントを削除しますか?" #: src/routes/builder/$resumeId/-components/header.tsx #: src/routes/dashboard/resumes/-components/menus/use-resume-menu-actions.ts msgid "Are you sure you want to lock this resume?" -msgstr "この履歴書をロックしますか?" +msgstr "このレジュメをロックしますか?" #: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx msgid "Are you sure you want to remove password protection?" @@ -726,7 +726,7 @@ msgstr "人工知能" #: src/routes/agent/-components/agent-chat.tsx msgid "Ask anything about this resume" -msgstr "この履歴書について何でも質問してください" +msgstr "このレジュメについて何でも質問してください" #: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx msgid "Aspect Ratio" @@ -807,7 +807,7 @@ msgstr "認証設定に戻る" #: src/routes/agent/-components/thread-sidebar.tsx msgid "Back to resumes" -msgstr "履歴書に戻る" +msgstr "レジュメに戻る" #. Action returning the visitor to the sign-in page after a failed sign-in #. Secondary navigation button on 2FA verification screen @@ -975,7 +975,7 @@ msgstr "テーマを…に変更します" #: src/dialogs/resume/index.tsx msgid "Changed your mind? Rename your resume to something more descriptive." -msgstr "やっぱり変更しますか?履歴書に、よりわかりやすい名前を付け直しましょう。" +msgstr "やっぱり変更しますか?レジュメに、よりわかりやすい名前を付け直しましょう。" #: src/routes/_home/-sections/footer.tsx msgid "Changelog" @@ -1032,7 +1032,7 @@ msgstr "中国語(繁体字)" #: src/routes/agent/-components/new-thread-setup.tsx msgid "Choose a model and resume draft." -msgstr "モデルを選び、履歴書の下書きを作成してください。" +msgstr "モデルを選び、レジュメの下書きを作成してください。" #: src/features/ats-checker/uploader.tsx msgid "Choose a PDF" @@ -1046,7 +1046,7 @@ msgstr "プリセットまたはカスタムシェードを選択します。" #: src/routes/agent/-components/new-thread-setup.tsx msgid "Choose a resume" -msgstr "履歴書を選択してください" +msgstr "レジュメを選択してください" #: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx msgid "Choose PDF, DOCX, Markdown, or JSON. Export your resume and cover letter separately when available." @@ -1455,7 +1455,7 @@ msgstr "リファレンスを追加" #: src/routes/dashboard/resumes/-components/cards/create-card.tsx #: src/routes/dashboard/resumes/-components/list-view.tsx msgid "Create a new resume" -msgstr "新しい履歴書を作成" +msgstr "新しいレジュメを作成" #: src/dialogs/resume/sections/skill.tsx msgid "Create a new skill" @@ -1849,7 +1849,7 @@ msgstr "AI 下書きとして複製" #: src/dialogs/resume/index.tsx msgid "Duplicate Resume" -msgstr "履歴書を複製" +msgstr "レジュメを複製" #: src/dialogs/resume/index.tsx msgid "Duplicate your resume to create a new one, just like the original." @@ -2632,7 +2632,7 @@ msgstr "ホーム" #: src/routes/_home/-sections/faq.tsx msgid "How do I share my resume?" -msgstr "履歴書はどのように共有できますか?" +msgstr "レジュメはどのように共有できますか?" #: src/features/settings/pages/api-keys.tsx msgid "How do I use the API?" @@ -2677,7 +2677,7 @@ msgstr "{0} をインポート" #: src/routes/dashboard/resumes/-components/cards/import-card.tsx #: src/routes/dashboard/resumes/-components/list-view.tsx msgid "Import an existing resume" -msgstr "既存の履歴書をインポート" +msgstr "既存のレジュメをインポート" #: src/routes/dashboard/applications/index.tsx msgid "Import CSV" @@ -3223,7 +3223,7 @@ msgstr "Microsoft Word" #: src/routes/agent/-components/resume-pane.tsx msgid "Missing working resume" -msgstr "履歴書が選択されていません" +msgstr "レジュメが選択されていません" #: src/features/settings/integrations/components/ai-section.tsx msgid "Mistral AI" @@ -4090,7 +4090,7 @@ msgstr "Reactive Resumeが無料、オープンソース、そして独立した #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "リアクティブレジューム v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx @@ -4302,7 +4302,7 @@ msgstr "このバージョンを復元しますか?" #: src/routes/agent/-components/resume-pane.tsx #: src/routes/agent/$threadId.tsx msgid "Resume" -msgstr "履歴書" +msgstr "レジュメ" #: src/features/resume/preview/resume-accessible-text.tsx msgid "Resume content" @@ -4331,7 +4331,7 @@ msgstr "履歴書の選択肢" #: src/routes/agent/-components/agent-chat.tsx msgid "Resume patch" -msgstr "履歴書パッチ" +msgstr "レジュメパッチ" #: src/dialogs/resume/template/gallery.tsx msgid "Resume templates for different professions and tastes. Pick the one that suits you." @@ -4343,7 +4343,7 @@ msgstr "さまざまな職種や好みに合わせた履歴書テンプレート #: src/routes/dashboard/-components/sidebar.tsx #: src/routes/dashboard/resumes/index.tsx msgid "Resumes" -msgstr "履歴書" +msgstr "レジュメ" #: src/routes/agent/-components/agent-chat.tsx msgid "Retry" @@ -4577,7 +4577,7 @@ msgstr "{0} を選択" #: src/routes/agent/-components/new-thread-setup.tsx msgid "Select a resume" -msgstr "履歴書を選択してください" +msgstr "レジュメを選択してください" #: src/routes/agent/index.tsx msgid "Select a thread" @@ -5031,12 +5031,12 @@ msgstr "スレッドを開始する" #: src/dialogs/resume/index.tsx msgid "Start building your resume by giving it a name." -msgstr "まず履歴書に名前を付けてください。" +msgstr "まずレジュメに名前を付けてください。" #: src/routes/dashboard/resumes/-components/cards/create-card.tsx #: src/routes/dashboard/resumes/-components/list-view.tsx msgid "Start building your resume from scratch" -msgstr "ゼロから履歴書の作成を始める" +msgstr "ゼロからレジュメの作成を始める" #: src/features/ats-checker/messages.ts msgid "Start each one with a concrete verb: built, led, reduced, migrated." @@ -5159,7 +5159,7 @@ msgstr "タグ" #: src/dialogs/resume/index.tsx msgid "Tags can be used to categorize your resume by keywords." -msgstr "タグを使って、履歴書をキーワードで分類できます。" +msgstr "タグを使って、レジュメをキーワードで分類できます。" #: src/features/ats-checker/messages.ts msgid "Tags give software an explicit reading order. Enable them when exporting, if your tool offers it." @@ -5563,7 +5563,7 @@ msgstr "この履歴書はロックされています" #: src/features/resume/builder/draft.ts msgid "This resume is locked and cannot be updated." -msgstr "この履歴書はロックされているため、更新できません。" +msgstr "このレジュメはロックされているため、更新できません。" #: src/features/ats-checker/messages.ts msgid "This resume is long." @@ -5946,7 +5946,7 @@ msgstr "パスワードを更新" #: src/dialogs/resume/index.tsx msgid "Update Resume" -msgstr "履歴書を更新" +msgstr "レジュメを更新" #: src/features/applications/components/application-detail-sheet.tsx msgid "Update the calendar date for this timeline entry." @@ -6569,3 +6569,4 @@ msgstr "ズームアウト" #: src/libs/locale.ts msgid "Zulu" msgstr "ズールー語" + diff --git a/apps/web/locales/km-KH.po b/apps/web/locales/km-KH.po index 751a8befb..0b4f1e2be 100644 --- a/apps/web/locales/km-KH.po +++ b/apps/web/locales/km-KH.po @@ -8,7 +8,7 @@ msgstr "" "Language: km\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Khmer\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -4090,7 +4090,7 @@ msgstr "Reactive Resume នៅតែឥតគិតថ្លៃ ជាប្រ #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "ប្រវត្តិរូបសង្ខេបដែលមានប្រតិកម្ម v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx @@ -6569,3 +6569,4 @@ msgstr "បង្រួម" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/kn-IN.po b/apps/web/locales/kn-IN.po index f783b0b44..73f9d7938 100644 --- a/apps/web/locales/kn-IN.po +++ b/apps/web/locales/kn-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: kn\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Kannada\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -6569,3 +6569,4 @@ msgstr "ಗಾತ್ರ ಕುಗ್ಗಿಸಿ" #: src/libs/locale.ts msgid "Zulu" msgstr "ಜೂಲೂ" + diff --git a/apps/web/locales/ko-KR.po b/apps/web/locales/ko-KR.po index b646ddae1..0eaaa4981 100644 --- a/apps/web/locales/ko-KR.po +++ b/apps/web/locales/ko-KR.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON 이력서" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4090,7 +4090,7 @@ msgstr "Reactive Resume는 기업들의 후원 덕분에 무료 오픈소스 독 #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "반응형 재개 v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx @@ -6569,3 +6569,4 @@ msgstr "축소" #: src/libs/locale.ts msgid "Zulu" msgstr "줄루어" + diff --git a/apps/web/locales/lt-LT.po b/apps/web/locales/lt-LT.po index 8ac89e3bb..cf348c20e 100644 --- a/apps/web/locales/lt-LT.po +++ b/apps/web/locales/lt-LT.po @@ -8,7 +8,7 @@ msgstr "" "Language: lt\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && (n%100>19 || n%100<11) ? 0 : (n%10>=2 && n%10<=9) && (n%100>19 || n%100<11) ? 1 : n%1!=0 ? 2: 3);\n" @@ -6569,3 +6569,4 @@ msgstr "Tolinti" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulų" + diff --git a/apps/web/locales/lv-LV.po b/apps/web/locales/lv-LV.po index c882624cb..29f5bf85c 100644 --- a/apps/web/locales/lv-LV.po +++ b/apps/web/locales/lv-LV.po @@ -8,7 +8,7 @@ msgstr "" "Language: lv\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" @@ -6569,3 +6569,4 @@ msgstr "Tālināt" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/ml-IN.po b/apps/web/locales/ml-IN.po index 9902f4b2f..b4644e35f 100644 --- a/apps/web/locales/ml-IN.po +++ b/apps/web/locales/ml-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: ml\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Malayalam\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - ഹോംപേജിലേക്കു പോകു #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "പ്രതികരിക്കുന്ന റെസ്യൂമെ (ജെസൺ)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -6569,3 +6569,4 @@ msgstr "സൂം ഔട്ട് ചെയ്യുക" #: src/libs/locale.ts msgid "Zulu" msgstr "സൂളു" + diff --git a/apps/web/locales/mr-IN.po b/apps/web/locales/mr-IN.po index f0d03774d..108e75cb0 100644 --- a/apps/web/locales/mr-IN.po +++ b/apps/web/locales/mr-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: mr\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Marathi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -2685,7 +2685,7 @@ msgstr "CSV आयात करा" #: src/features/applications/components/import-applications-sheet.tsx msgid "Import failed. Check the CSV and try again." -msgstr "आयात अयशस्वी झाले. CSV तपासा आणि पुन्हा प्रयत्न करा." +msgstr "failed आयात करा. CSV तपासा आणि again वापरून पहा." #: src/features/applications/components/import-applications-sheet.tsx #: src/routes/dashboard/applications/index.tsx @@ -6569,3 +6569,4 @@ msgstr "बाहेर झूम करा" #: src/libs/locale.ts msgid "Zulu" msgstr "झुलू" + diff --git a/apps/web/locales/ms-MY.po b/apps/web/locales/ms-MY.po index 6f1825dcb..1768772b9 100644 --- a/apps/web/locales/ms-MY.po +++ b/apps/web/locales/ms-MY.po @@ -8,7 +8,7 @@ msgstr "" "Language: ms\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Malay\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -2236,7 +2236,7 @@ msgstr "Gagal mengemas kini pembekal." #: src/routes/agent/-components/agent-chat.tsx msgid "Failed to update thread settings." -msgstr "Gagal mengemas kini tetapan thread." +msgstr "Gagal mengemas kini tetapan bebenang." #. Fallback toast when changing account password fails #: src/dialogs/auth/change-password.tsx @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "Ringkasan JSON" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Pergi ke laman utama" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Resume Reaktif (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,12 +4090,12 @@ msgstr "Reactive Resume kekal percuma, sumber terbuka dan bebas kerana syarikat #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Resume Reaktif v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "Reaktif Resume v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6569,3 +6569,4 @@ msgstr "Zum keluar" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/ne-NP.po b/apps/web/locales/ne-NP.po index 94b04d27a..5e143bcc9 100644 --- a/apps/web/locales/ne-NP.po +++ b/apps/web/locales/ne-NP.po @@ -8,7 +8,7 @@ msgstr "" "Language: ne\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Nepali\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -888,11 +888,11 @@ msgstr "बुल्गेरियन" #: src/features/applications/components/table-view.tsx msgid "Bulk delete failed. Please try again." -msgstr "बल्क मेटाउन असफल भयो। कृपया फेरि प्रयास गर्नुहोस्।" +msgstr "बल्क मेटाउनुहोस् failed। कृपया again प्रयास गर्नुहोस्।" #: src/features/applications/components/table-view.tsx msgid "Bulk update failed. Please try again." -msgstr "बल्क अपडेट असफल भयो। कृपया फेरि प्रयास गर्नुहोस्।" +msgstr "बल्क अपडेट failed। कृपया again प्रयास गर्नुहोस्।" #: src/components/input/rich-input.tsx msgid "Bullet List" @@ -1330,7 +1330,7 @@ msgstr "नोट सुरक्षित गर्न सकिएन।" #: src/features/applications/components/application-form-sheet.tsx msgid "Couldn't save your changes. Please try again." -msgstr "तपाईंका परिवर्तनहरू सुरक्षित गर्न सकिएन। कृपया फेरि प्रयास गर्नुहोस्।" +msgstr "तपाईंका परिवर्तनहरू सुरक्षित गर्न सकिएन। कृपया again प्रयास गर्नुहोस्।" #: src/features/applications/components/application-detail-sheet.tsx msgid "Couldn't update the timeline entry." @@ -1338,7 +1338,7 @@ msgstr "समयरेखा प्रविष्टि अद्यावध #: src/features/applications/components/file-attachment-field.tsx msgid "Couldn't upload the file. Please try again." -msgstr "फाइल अपलोड गर्न सकिएन। कृपया फेरि प्रयास गर्नुहोस्।" +msgstr "फाइल अपलोड गर्न सकिएन। कृपया again प्रयास गर्नुहोस्।" #: src/features/applications/components/insights-view.tsx msgid "Count by source" @@ -1818,7 +1818,7 @@ msgstr "अनुगमन ड्राफ्ट गर्नुहोस्" #: src/features/applications/components/application-ai-copilot.tsx msgid "Drafting failed." -msgstr "ड्राफ्टिङ असफल भयो।" +msgstr "ड्राफ्टिङ failed।" #: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx msgid "Drag and drop sections here to move them between columns" @@ -2685,7 +2685,7 @@ msgstr "CSV आयात गर्नुहोस्" #: src/features/applications/components/import-applications-sheet.tsx msgid "Import failed. Check the CSV and try again." -msgstr "आयात असफल भयो। CSV जाँच गर्नुहोस् र फेरि प्रयास गर्नुहोस्।" +msgstr "failed आयात गर्नुहोस्। CSV जाँच गर्नुहोस् र again प्रयास गर्नुहोस्।" #: src/features/applications/components/import-applications-sheet.tsx #: src/routes/dashboard/applications/index.tsx @@ -5678,7 +5678,7 @@ msgstr "आफ्नो खाता मेटाउन, तल पुष्ट #: src/features/settings/integrations/components/ai-section.tsx msgid "Together.ai" -msgstr "Together.ai" +msgstr "Together.ai का थप वस्तुहरू" #: src/routes/builder/$resumeId/-sidebar/left/shared/section-base.tsx #: src/routes/builder/$resumeId/-sidebar/right/shared/section-base.tsx @@ -6569,3 +6569,4 @@ msgstr "जूम आउट" #: src/libs/locale.ts msgid "Zulu" msgstr "जुलु" + diff --git a/apps/web/locales/nl-NL.po b/apps/web/locales/nl-NL.po index 7336b819d..22edf19f0 100644 --- a/apps/web/locales/nl-NL.po +++ b/apps/web/locales/nl-NL.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON hervatten" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -3733,7 +3733,7 @@ msgstr "Passkey geregistreerd." #: src/features/settings/authentication/components/passkeys.tsx msgid "Passkeys" -msgstr "Passkeys" +msgstr "Passleutels" #: src/routes/_home/-sections/features.tsx msgid "Passkeys & 2FA" @@ -5647,7 +5647,7 @@ msgstr "Onderwerp verwijderd." #: src/routes/agent/-components/thread-sidebar.tsx #: src/routes/agent/$threadId.tsx msgid "Threads" -msgstr "Threads" +msgstr "Draden" #: src/routes/agent/-components/agent-chat.tsx msgid "Tighten the skills section so it supports the target role instead of reading like a keyword dump." @@ -6569,3 +6569,4 @@ msgstr "Uitzoomen" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/no-NO.po b/apps/web/locales/no-NO.po index 497fa73f0..c97435f80 100644 --- a/apps/web/locales/no-NO.po +++ b/apps/web/locales/no-NO.po @@ -8,7 +8,7 @@ msgstr "" "Language: no\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -6569,3 +6569,4 @@ msgstr "Zoom ut" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/or-IN.po b/apps/web/locales/or-IN.po index 60cf3d114..caca3bcb5 100644 --- a/apps/web/locales/or-IN.po +++ b/apps/web/locales/or-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: or\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Odia\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -2102,7 +2102,7 @@ msgstr "ଗୋଟିଏ କ୍ଲିକ୍‌ରେ, କୌଣସି ଅପେ #: src/features/applications/components/insights-view.tsx msgid "Exported pipeline-flow.png" -msgstr "ରପ୍ତାନି ହୋଇଥିବା pipeline-flow.png" +msgstr "ରପ୍ତାନି ହୋଇଥିବା ପାଇପଲାଇନ-ପ୍ରବାହ। png |" #: src/routes/agent/-components/tool-part-card.tsx msgid "Failed" @@ -6569,3 +6569,4 @@ msgstr "ଜୁମ୍ ଆଉଟ୍ କରନ୍ତୁ" #: src/libs/locale.ts msgid "Zulu" msgstr "ଜୁଲୁ" + diff --git a/apps/web/locales/pl-PL.po b/apps/web/locales/pl-PL.po index bf452f319..66912b978 100644 --- a/apps/web/locales/pl-PL.po +++ b/apps/web/locales/pl-PL.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -850,7 +850,7 @@ msgstr "Blokada" #: src/routes/dashboard/applications/index.tsx msgid "Board" -msgstr "Tablica" +msgstr "Deska" #: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx msgctxt "Body Text (paragraphs, lists, etc.)" @@ -2102,7 +2102,7 @@ msgstr "Wyeksportuj swoje CV do PDF jednym kliknięciem, bez czekania." #: src/features/applications/components/insights-view.tsx msgid "Exported pipeline-flow.png" -msgstr "Wyeksportowano pipeline-flow.png" +msgstr "Wyeksportowany przepływ potoku.png" #: src/routes/agent/-components/tool-part-card.tsx msgid "Failed" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "Wznowienie JSON" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -5149,7 +5149,7 @@ msgstr "Zsynchronizowano zmiany wprowadzone w innej karcie." #: src/routes/dashboard/applications/index.tsx msgid "Table" -msgstr "Tabela" +msgstr "Stół" #: src/dialogs/resume/index.tsx #: src/features/applications/components/application-form-sheet.tsx @@ -6569,3 +6569,4 @@ msgstr "Pomniejsz" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/pt-BR.po b/apps/web/locales/pt-BR.po index 1b35b47d7..651a149b4 100644 --- a/apps/web/locales/pt-BR.po +++ b/apps/web/locales/pt-BR.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -621,7 +621,7 @@ msgstr "Copiloto de Candidaturas" #: src/features/applications/components/application-actions-menu.tsx #: src/features/applications/components/application-detail-sheet.tsx msgid "Application deleted." -msgstr "Candidatura excluída." +msgstr "Aplicativo excluído." #: src/routes/_home/-sections/statistics.tsx msgid "Application Statistics" @@ -850,7 +850,7 @@ msgstr "Bloqueio" #: src/routes/dashboard/applications/index.tsx msgid "Board" -msgstr "Quadro" +msgstr "Conselho" #: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx msgctxt "Body Text (paragraphs, lists, etc.)" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Ir para a página inicial" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Currículo reativo (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,12 +4090,12 @@ msgstr "O Reactive Resume permanece gratuito, de código aberto e independente p #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Retomar reativo v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "Currículo reativo v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -5010,7 +5010,7 @@ msgstr "Etapa" #: src/features/applications/components/application-form-sheet.tsx msgid "Stage date" -msgstr "Data da etapa" +msgstr "Data do estágio" #: src/components/input/github-stars-button.tsx msgid "Star us on GitHub (opens in new tab)" @@ -6267,7 +6267,7 @@ msgstr "Quando bloqueado, o currículo não pode ser atualizado ou excluído." #: src/features/applications/components/insights-view.tsx msgid "Where applications come from" -msgstr "De onde vêm as candidaturas" +msgstr "De onde vêm os aplicativos" #: src/features/applications/components/insights-view.tsx msgid "Where your applications went" @@ -6569,3 +6569,4 @@ msgstr "Diminuir zoom" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/pt-PT.po b/apps/web/locales/pt-PT.po index 86ea46f6d..0aed58005 100644 --- a/apps/web/locales/pt-PT.po +++ b/apps/web/locales/pt-PT.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Ir para a página inicial" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Currículo reativo (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,12 +4090,12 @@ msgstr "O Reactive Resume continua a ser gratuito, de código aberto e independe #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Reativo reativo v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "Currículo reativo v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6267,7 +6267,7 @@ msgstr "Quando bloqueado, o currículo não pode ser atualizado nem eliminado." #: src/features/applications/components/insights-view.tsx msgid "Where applications come from" -msgstr "De onde vêm as candidaturas" +msgstr "De onde vêm as aplicações" #: src/features/applications/components/insights-view.tsx msgid "Where your applications went" @@ -6569,3 +6569,4 @@ msgstr "Afastar" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/ro-RO.po b/apps/web/locales/ro-RO.po index e7926b330..ef83dcadb 100644 --- a/apps/web/locales/ro-RO.po +++ b/apps/web/locales/ro-RO.po @@ -8,7 +8,7 @@ msgstr "" "Language: ro\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "Rezumat JSON" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Mergi la pagina principală" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Rezumat reactiv (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,12 +4090,12 @@ msgstr "Reactive Resume rămâne gratuit, open-source și independent, deoarece #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "CV reactiv v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "CV reactiv v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6569,3 +6569,4 @@ msgstr "Micșorează" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/ru-RU.po b/apps/web/locales/ru-RU.po index abed8b541..34735abf4 100644 --- a/apps/web/locales/ru-RU.po +++ b/apps/web/locales/ru-RU.po @@ -8,7 +8,7 @@ msgstr "" "Language: ru\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Russian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -738,7 +738,7 @@ msgstr "Компания Atlas Cloud поддерживает проект React #: src/libs/resume/section.tsx msgid "ATS Check" -msgstr "Проверка ATS" +msgstr "Проверка АТС" #: src/routes/_home/-sections/features.tsx #: src/routes/_home/ats-checker.tsx @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON Резюме" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -6569,3 +6569,4 @@ msgstr "Уменьшить" #: src/libs/locale.ts msgid "Zulu" msgstr "Зулу" + diff --git a/apps/web/locales/sk-SK.po b/apps/web/locales/sk-SK.po index 2ce659428..3d3743d41 100644 --- a/apps/web/locales/sk-SK.po +++ b/apps/web/locales/sk-SK.po @@ -8,7 +8,7 @@ msgstr "" "Language: sk\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -5725,7 +5725,7 @@ msgstr "Sledujte prácu, o ktorú sa uchádzate, a prepojte životopis, ktorý s #: src/routes/dashboard/applications/index.tsx msgid "Track your first application" -msgstr "Sledujte svoju prvú žiadosť" +msgstr "Sledujte svoju prvú aplikáciu" #: src/routes/builder/$resumeId/-sidebar/right/sections/statistics.tsx msgid "Track your resume's views and downloads" @@ -6267,7 +6267,7 @@ msgstr "Keď je životopis uzamknutý, nemožno ho aktualizovať ani vymazať." #: src/features/applications/components/insights-view.tsx msgid "Where applications come from" -msgstr "Odkiaľ pochádzajú žiadosti" +msgstr "Odkiaľ pochádzajú aplikácie" #: src/features/applications/components/insights-view.tsx msgid "Where your applications went" @@ -6569,3 +6569,4 @@ msgstr "Oddialiť" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/sl-SI.po b/apps/web/locales/sl-SI.po index c7294c047..b3671faf3 100644 --- a/apps/web/locales/sl-SI.po +++ b/apps/web/locales/sl-SI.po @@ -8,7 +8,7 @@ msgstr "" "Language: sl\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -4880,7 +4880,7 @@ msgstr "Slovenščina" #: src/dialogs/resume/index.tsx msgid "Slug" -msgstr "Slug" +msgstr "Polž" #: src/libs/resume/ats.ts msgid "Some application systems require one before you can submit." @@ -6267,7 +6267,7 @@ msgstr "Ko je zaklenjen, življenjepisa ni mogoče posodobiti ali izbrisati." #: src/features/applications/components/insights-view.tsx msgid "Where applications come from" -msgstr "Od kod prihajajo prijave" +msgstr "Od kod prihajajo aplikacije" #: src/features/applications/components/insights-view.tsx msgid "Where your applications went" @@ -6569,3 +6569,4 @@ msgstr "Oddalji" #: src/libs/locale.ts msgid "Zulu" msgstr "Zuluščina" + diff --git a/apps/web/locales/sq-AL.po b/apps/web/locales/sq-AL.po index c5ac4a901..9f334e49e 100644 --- a/apps/web/locales/sq-AL.po +++ b/apps/web/locales/sq-AL.po @@ -8,7 +8,7 @@ msgstr "" "Language: sq\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Albanian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "CV në JSON" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Shko në faqen kryesore" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Rezervë Reaktive (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,7 +4090,7 @@ msgstr "Reactive Resume mbetet falas, me burim të hapur dhe i pavarur sepse kom #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Rezyme Reaktive v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx @@ -5006,7 +5006,7 @@ msgstr "Katrori" #: src/features/applications/components/application-form-sheet.tsx #: src/features/applications/components/table-view.tsx msgid "Stage" -msgstr "Faza" +msgstr "Skena" #: src/features/applications/components/application-form-sheet.tsx msgid "Stage date" @@ -5725,7 +5725,7 @@ msgstr "Ndiqni një punë për të cilën po aplikoni dhe lidhni CV-në që keni #: src/routes/dashboard/applications/index.tsx msgid "Track your first application" -msgstr "Ndiqni aplikimin tuaj të parë" +msgstr "Ndiqni aplikacionin tuaj të parë" #: src/routes/builder/$resumeId/-sidebar/right/sections/statistics.tsx msgid "Track your resume's views and downloads" @@ -6569,3 +6569,4 @@ msgstr "Zvogëlo" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/sr-SP.po b/apps/web/locales/sr-SP.po index af5473d79..1d7c9e578 100644 --- a/apps/web/locales/sr-SP.po +++ b/apps/web/locales/sr-SP.po @@ -8,7 +8,7 @@ msgstr "" "Language: sr\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Serbian (Cyrillic)\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" @@ -123,7 +123,7 @@ msgstr "Прошло је {passedRules} од {totalRules} провера" #: src/libs/resume/ats.ts msgid "{sectionTitle} · Item {itemNumber}" -msgstr "{sectionTitle} · Ставка {itemNumber}" +msgstr "# · Ставка # " #: src/routes/_home/-sections/hero.tsx msgid "<0>Finally,<1>A free and open-source resume builder" @@ -749,7 +749,7 @@ msgstr "ATS провера" #: src/features/applications/components/application-detail-sheet.tsx #: src/features/applications/components/application-form-sheet.tsx msgid "Attach a cover letter (PDF)" -msgstr "Приложите пропратно писмо (PDF)" +msgstr "Приложите пропратно писмо (ПДФ)" #: src/features/applications/components/application-detail-sheet.tsx msgid "Attach a resume file (PDF)" @@ -1391,7 +1391,7 @@ msgstr "Креирај" #: src/features/applications/components/application-ai-copilot.tsx msgid "Create a copy tuned to this job" -msgstr "Направите копију прилагођену овом послу" +msgstr "Направите копију прилагођену овом задатку" #: src/features/auth/pages/register.tsx msgid "Create a new account" @@ -1518,7 +1518,7 @@ msgstr "Обрезивање слике" #: src/features/applications/components/import-applications-sheet.tsx msgid "CSV data" -msgstr "CSV подаци" +msgstr "ЦСВ подаци" #: src/dialogs/auth/change-password.tsx msgid "Current Password" @@ -2090,7 +2090,7 @@ msgstr "Извези моје податке" #: src/features/applications/components/insights-view.tsx msgid "Export PNG" -msgstr "Извези PNG" +msgstr "Извези ПНГ" #: src/features/ats-checker/messages.ts msgid "Export the resume as a text PDF rather than as an image or a scan." @@ -2748,7 +2748,7 @@ msgstr "Унутрашњи кôд" #: src/routes/dashboard/applications/index.tsx msgid "Insights" -msgstr "Увиди" +msgstr "Инсигхтс" #. placeholder {0}: progress.page #. placeholder {1}: progress.pageCount @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "ЈСОН резиме" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -3817,7 +3817,7 @@ msgstr "Закрпа је враћена уназад." #. File format label in import source selector #: src/dialogs/resume/import.tsx msgid "PDF" -msgstr "PDF" +msgstr "ПДФ" #: src/dialogs/resume/sections/education.tsx #: src/dialogs/resume/sections/experience.tsx @@ -5149,7 +5149,7 @@ msgstr "Синхронизоване измене направљене на др #: src/routes/dashboard/applications/index.tsx msgid "Table" -msgstr "Табела" +msgstr "Табле" #: src/dialogs/resume/index.tsx #: src/features/applications/components/application-form-sheet.tsx @@ -5832,7 +5832,7 @@ msgstr "Украјински" #: src/features/applications/components/application-actions-menu.tsx #: src/features/applications/components/application-detail-sheet.tsx msgid "Unarchive" -msgstr "Врати из архиве" +msgstr "Унарцхиве" #: src/components/input/rich-input.tsx msgid "Underline" @@ -6569,3 +6569,4 @@ msgstr "Умањи" #: src/libs/locale.ts msgid "Zulu" msgstr "Зулу" + diff --git a/apps/web/locales/sv-SE.po b/apps/web/locales/sv-SE.po index 80bcd59c7..cf1cdc112 100644 --- a/apps/web/locales/sv-SE.po +++ b/apps/web/locales/sv-SE.po @@ -8,7 +8,7 @@ msgstr "" "Language: sv\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1565,7 +1565,7 @@ msgstr "Mörkt tema" #: src/routes/dashboard/-components/sidebar.tsx msgid "Dashboard" -msgstr "Dashboard" +msgstr "Instrumentpanel" #: src/routes/_home/-sections/features.tsx msgid "Data Security" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON CV" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -3737,7 +3737,7 @@ msgstr "Passkeys" #: src/routes/_home/-sections/features.tsx msgid "Passkeys & 2FA" -msgstr "Passkeys & 2FA" +msgstr "Passnycklar & 2FA" #. Authentication provider display name in account settings #. Label for password input on login form @@ -6569,3 +6569,4 @@ msgstr "Zooma ut" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/ta-IN.po b/apps/web/locales/ta-IN.po index 0e19c162c..4743583bf 100644 --- a/apps/web/locales/ta-IN.po +++ b/apps/web/locales/ta-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: ta\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Tamil\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "ஜேசன் சுயவிவரம்" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - முகப்புப் பக்கத்து #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "எதிர்வினை விவரக்குறிப்பு (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4095,7 +4095,7 @@ msgstr "ரியாக்டிவ் ரெஸ்யூம் v<0>{__APP_VERSI #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "எதிர்வினை ரெஸ்யூம் v4 (ஜேசன்)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6569,3 +6569,4 @@ msgstr "சிறிதாக்கு" #: src/libs/locale.ts msgid "Zulu" msgstr "ஜூலு" + diff --git a/apps/web/locales/te-IN.po b/apps/web/locales/te-IN.po index d194e80d8..623b21253 100644 --- a/apps/web/locales/te-IN.po +++ b/apps/web/locales/te-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: te\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Telugu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - హోమ్‌పేజీకి వెళ్ళం #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "ప్రతిస్పందించే రెస్యూమ్ (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -6569,3 +6569,4 @@ msgstr "జూమ్ అవుట్ చేయండి" #: src/libs/locale.ts msgid "Zulu" msgstr "జులు" + diff --git a/apps/web/locales/th-TH.po b/apps/web/locales/th-TH.po index fb714faef..6c710762c 100644 --- a/apps/web/locales/th-TH.po +++ b/apps/web/locales/th-TH.po @@ -8,7 +8,7 @@ msgstr "" "Language: th\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "ประวัติย่อในรูปแบบ JSON" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -3219,7 +3219,7 @@ msgstr "ผลกระทบปานกลาง" #. File format label in import source selector #: src/dialogs/resume/import.tsx msgid "Microsoft Word" -msgstr "Microsoft Word" +msgstr "ไมโครซอฟต์ เวิร์ด" #: src/routes/agent/-components/resume-pane.tsx msgid "Missing working resume" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - ไปที่หน้าแรก" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "เรกติก รีซูเม (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4095,7 +4095,7 @@ msgstr "Reactive Resume v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "เรแอคทีฟ เรซูเม่ v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -4880,7 +4880,7 @@ msgstr "ภาษาสโลวีเนีย" #: src/dialogs/resume/index.tsx msgid "Slug" -msgstr "Slug" +msgstr "ชื่อ" #: src/libs/resume/ats.ts msgid "Some application systems require one before you can submit." @@ -6569,3 +6569,4 @@ msgstr "ซูมออก" #: src/libs/locale.ts msgid "Zulu" msgstr "ซูลู" + diff --git a/apps/web/locales/tr-TR.po b/apps/web/locales/tr-TR.po index 4c9fe175e..962dca0c9 100644 --- a/apps/web/locales/tr-TR.po +++ b/apps/web/locales/tr-TR.po @@ -8,7 +8,7 @@ msgstr "" "Language: tr\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON Özgeçmiş" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Ana sayfaya git" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Reaktif Özgeçmiş (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4090,12 +4090,12 @@ msgstr "Reactive Resume, şirketlerin arkasındaki çalışmaları desteklemeyi #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "Reaktif Özgeçmiş v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "Reaktif Özgeçmiş v4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6569,3 +6569,4 @@ msgstr "Uzaklaştır" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/uk-UA.po b/apps/web/locales/uk-UA.po index 8caaa8dc7..162310555 100644 --- a/apps/web/locales/uk-UA.po +++ b/apps/web/locales/uk-UA.po @@ -8,7 +8,7 @@ msgstr "" "Language: uk\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON Резюме" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -6569,3 +6569,4 @@ msgstr "Зменшити" #: src/libs/locale.ts msgid "Zulu" msgstr "Зулу" + diff --git a/apps/web/locales/uz-UZ.po b/apps/web/locales/uz-UZ.po index d351ac137..16beda7af 100644 --- a/apps/web/locales/uz-UZ.po +++ b/apps/web/locales/uz-UZ.po @@ -8,7 +8,7 @@ msgstr "" "Language: uz\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Uzbek\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -477,7 +477,7 @@ msgstr "Agentlar" #: src/dialogs/resume/import.tsx msgid "AI" -msgstr "AI" +msgstr "SO" #: src/routes/agent/-components/new-thread-setup.tsx msgid "AI agent setup is unavailable right now. Please try again in a moment." @@ -6569,3 +6569,4 @@ msgstr "Kichraytirish" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/vi-VN.po b/apps/web/locales/vi-VN.po index a247caf79..78d293456 100644 --- a/apps/web/locales/vi-VN.po +++ b/apps/web/locales/vi-VN.po @@ -8,7 +8,7 @@ msgstr "" "Language: vi\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "Sơ yếu lý lịch định dạng JSON" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4061,7 +4061,7 @@ msgstr "Reactive Resume - Về trang chủ" #. Import source option for current Reactive Resume JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume (JSON)" -msgstr "Reactive Resume (JSON)" +msgstr "Sơ yếu lý lịch động (JSON)" #: src/routes/_home/-sections/prefooter.tsx msgid "Reactive Resume gets better because people give it their time. Contributors on GitHub build the features and fix the bugs, translators on Crowdin make it readable in other languages, and donors help keep development going. This project owes its progress to all of them." @@ -4095,7 +4095,7 @@ msgstr "Reactive Resume v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx msgid "Reactive Resume v4 (JSON)" -msgstr "Reactive Resume v4 (JSON)" +msgstr "Sơ yếu lý lịch phản hồi phiên bản 4 (JSON)" #: src/routes/agent/-components/tool-part-card.tsx msgid "Read an attachment" @@ -6569,3 +6569,4 @@ msgstr "Thu nhỏ" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" + diff --git a/apps/web/locales/zh-CN.po b/apps/web/locales/zh-CN.po index 427076d10..c6f61445e 100644 --- a/apps/web/locales/zh-CN.po +++ b/apps/web/locales/zh-CN.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -738,7 +738,7 @@ msgstr "Atlas Cloud 以项目赞助商的身份支持 Reactive Resume 项目。 #: src/libs/resume/section.tsx msgid "ATS Check" -msgstr "ATS 检查" +msgstr "ATS检查”" #: src/routes/_home/-sections/features.tsx #: src/routes/_home/ats-checker.tsx @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON 简历" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4090,7 +4090,7 @@ msgstr "Reactive Resume之所以能保持免费、开源和独立,是因为有 #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "响应式恢复 v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx @@ -5124,7 +5124,7 @@ msgstr "尽你所能支持这个应用!" #: src/features/ats-checker/messages.ts #: src/libs/resume/ats.ts msgid "Swap the start and end dates." -msgstr "交换开始日期和结束日期。" +msgstr "交换开始日期和结束日期。”" #: src/libs/locale.ts msgid "Swedish" @@ -5390,7 +5390,7 @@ msgstr "这些检查在你输入时运行,且从不离开你的浏览器。它 #: src/libs/resume/ats.ts msgid "These dates will not be read correctly." -msgstr "这些日期将无法正确读取。" +msgstr "这些日期将无法正确读取。”" #: src/routes/agent/-components/agent-chat.tsx msgid "Thinking" @@ -6181,7 +6181,7 @@ msgstr "想为你的文案获取第二意见吗?" #: src/features/ats-checker/messages.ts #: src/routes/builder/$resumeId/-sidebar/right/sections/ats-check.tsx msgid "Warning" -msgstr "警告" +msgstr "警告”" #: src/dialogs/resume/import.tsx msgid "We couldn't detect the format automatically. Choose it above." @@ -6569,3 +6569,4 @@ msgstr "缩小" #: src/libs/locale.ts msgid "Zulu" msgstr "祖鲁语" + diff --git a/apps/web/locales/zh-TW.po b/apps/web/locales/zh-TW.po index 197220352..97ecc45c7 100644 --- a/apps/web/locales/zh-TW.po +++ b/apps/web/locales/zh-TW.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-08-27 07:41\n" +"PO-Revision-Date: 2026-08-29 04:29\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -738,7 +738,7 @@ msgstr "Atlas Cloud 以專案贊助商的身份支持 Reactive Resume 專案。 #: src/libs/resume/section.tsx msgid "ATS Check" -msgstr "ATS 檢查" +msgstr "ATS檢查”" #: src/routes/_home/-sections/features.tsx #: src/routes/_home/ats-checker.tsx @@ -2857,7 +2857,7 @@ msgstr "john.doe@example.com" #. Import source option for standard JSON Resume format #: src/dialogs/resume/import.tsx msgid "JSON Resume" -msgstr "JSON Resume" +msgstr "JSON 簡歷" #: src/components/input/rich-input.tsx msgid "Justify Align" @@ -4090,7 +4090,7 @@ msgstr "Reactive Resume之所以能保持免費、開放原始碼和獨立,是 #. App version label in footer; includes semantic version variable #: src/components/ui/copyright.tsx msgid "Reactive Resume v<0>{__APP_VERSION__}" -msgstr "Reactive Resume v<0>{__APP_VERSION__}" +msgstr "響應式恢復 v<0>{__APP_VERSION__}" #. Import source option for legacy Reactive Resume v4 JSON format #: src/dialogs/resume/import.tsx @@ -5124,7 +5124,7 @@ msgstr "盡您所能支持此應用程式!" #: src/features/ats-checker/messages.ts #: src/libs/resume/ats.ts msgid "Swap the start and end dates." -msgstr "交換開始日期和結束日期。" +msgstr "交換開始日期和結束日期。 」" #: src/libs/locale.ts msgid "Swedish" @@ -5390,7 +5390,7 @@ msgstr "這些檢查會在您輸入時執行,而且不會離開您的瀏覽器 #: src/libs/resume/ats.ts msgid "These dates will not be read correctly." -msgstr "這些日期將無法正確讀取。" +msgstr "這些日期將無法正確讀取。 」" #: src/routes/agent/-components/agent-chat.tsx msgid "Thinking" @@ -6181,7 +6181,7 @@ msgstr "想為您的文案取得第二意見嗎?" #: src/features/ats-checker/messages.ts #: src/routes/builder/$resumeId/-sidebar/right/sections/ats-check.tsx msgid "Warning" -msgstr "警告" +msgstr "警告”" #: src/dialogs/resume/import.tsx msgid "We couldn't detect the format automatically. Choose it above." @@ -6569,3 +6569,4 @@ msgstr "縮小" #: src/libs/locale.ts msgid "Zulu" msgstr "祖魯語" + diff --git a/apps/web/package.json b/apps/web/package.json index c63650aee..4164b815f 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -16,10 +16,10 @@ "lingui:extract": "lingui extract --clean --overwrite" }, "dependencies": { - "@ai-sdk/react": "^4.0.86", - "@base-ui/react": "^1.7.0", + "@ai-sdk/react": "^4.0.95", + "@base-ui/react": "^1.8.0", "@better-auth/api-key": "^1.7.2", - "@better-auth/infra": "^0.4.3", + "@better-auth/infra": "^0.4.5", "@better-auth/oauth-provider": "^1.7.2", "@better-auth/passkey": "^1.7.2", "@codemirror/autocomplete": "^6.20.3", @@ -27,9 +27,9 @@ "@codemirror/lang-css": "^6.3.1", "@codemirror/language": "^6.12.4", "@codemirror/lint": "^6.9.7", - "@codemirror/search": "^6.7.1", - "@codemirror/state": "^6.7.1", - "@codemirror/view": "^6.43.9", + "@codemirror/search": "^6.7.2", + "@codemirror/state": "^6.7.3", + "@codemirror/view": "^6.43.11", "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", @@ -39,7 +39,7 @@ "@orpc/server": "^1.15.0", "@orpc/tanstack-query": "^1.15.0", "@phosphor-icons/react": "^2.1.10", - "@react-pdf/renderer": "^4.8.1", + "@react-pdf/renderer": "^4.9.0", "@reactive-resume/ai": "workspace:*", "@reactive-resume/api": "workspace:*", "@reactive-resume/auth": "workspace:*", @@ -54,29 +54,29 @@ "@tailwindcss/vite": "^4.3.3", "@tanstack/react-form": "^1.33.5", "@tanstack/react-hotkeys": "^0.10.0", - "@tanstack/react-query": "^5.102.6", + "@tanstack/react-query": "^5.102.8", "@tanstack/react-router": "^1.170.32", - "@tiptap/extension-color": "^3.30.5", - "@tiptap/extension-highlight": "^3.30.5", - "@tiptap/extension-text-align": "^3.30.5", - "@tiptap/extension-text-style": "^3.30.5", - "@tiptap/pm": "^3.30.5", - "@tiptap/react": "^3.30.5", - "@tiptap/starter-kit": "^3.30.5", + "@tiptap/extension-color": "^3.31.2", + "@tiptap/extension-highlight": "^3.31.2", + "@tiptap/extension-text-align": "^3.31.2", + "@tiptap/extension-text-style": "^3.31.2", + "@tiptap/pm": "^3.31.2", + "@tiptap/react": "^3.31.2", + "@tiptap/starter-kit": "^3.31.2", "@types/js-cookie": "^3.0.6", "@uiw/color-convert": "^2.10.3", "@uiw/react-color-colorful": "^2.10.3", - "ai": "^7.0.83", + "ai": "^7.0.92", "better-auth": "1.7.2", "buffer": "^6.0.3", "cmdk": "^1.1.1", "drizzle-orm": "1.0.0-rc.4", - "es-toolkit": "^1.51.0", + "es-toolkit": "^1.52.0", "fuse.js": "^7.5.0", "immer": "^11.1.18", "js-cookie": "^3.0.8", - "motion": "^13.1.1", - "pdfjs-dist": "6.2.108", + "motion": "^13.2.0", + "pdfjs-dist": "6.3.289", "pg": "^8.23.0", "prettier": "^3.9.6", "qrcode.react": "^4.2.0", @@ -86,11 +86,11 @@ "react-markdown": "^10.1.0", "react-resizable-panels": "^4.12.3", "react-window": "^2.3.0", - "react-zoom-pan-pinch": "^4.0.4", + "react-zoom-pan-pinch": "^4.2.0", "remark-gfm": "^4.0.1", "ts-pattern": "^5.9.0", "usehooks-ts": "^3.1.1", - "zod": "^4.4.3", + "zod": "^4.5.4", "zustand": "^5.0.15" }, "devDependencies": { @@ -104,15 +104,15 @@ "@shadcn/helpers": "^0.2.0", "@tanstack/devtools-vite": "^0.8.5", "@tanstack/react-devtools": "^0.10.12", - "@tanstack/react-query-devtools": "^5.102.6", + "@tanstack/react-query-devtools": "^5.102.8", "@tanstack/react-router-devtools": "^1.167.1", "@tanstack/router-plugin": "^1.168.35", "@types/babel__core": "^7.20.5", "@types/pg": "^8.23.1", "@types/react": "^19.2.18", - "@types/react-dom": "^19.2.5", + "@types/react-dom": "^19.2.7", "@typescript/native-preview": "7.0.0-dev.20260707.2", - "@vitejs/plugin-react": "^6.1.0", + "@vitejs/plugin-react": "^6.1.1", "babel-plugin-macros": "^3.1.0", "babel-plugin-react-compiler": "^1.0.0", "rimraf": "^6.1.3", diff --git a/docs/guides/json-resume-schema.mdx b/docs/guides/json-resume-schema.mdx index 69cf6a8c4..6af83e58c 100644 --- a/docs/guides/json-resume-schema.mdx +++ b/docs/guides/json-resume-schema.mdx @@ -288,7 +288,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "required": [ "id", "icon", - "text" + "text", + "link" ] }, "description": "The custom fields to display on the resume." @@ -345,7 +346,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "content" ], "description": "Summary section of the resume, useful for a short bio or introduction" @@ -442,7 +447,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] } }, @@ -450,8 +456,10 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "id", "hidden", "icon", + "iconColor", "network", - "username" + "username", + "website" ] }, "description": "The items to display in the profiles section." @@ -459,7 +467,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the profiles of the author." @@ -552,7 +564,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -599,7 +612,9 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "position", "location", "period", - "description" + "website", + "description", + "roles" ] }, "description": "The items to display in the experience section." @@ -607,7 +622,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the experience of the author." @@ -708,7 +727,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -725,6 +745,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "grade", "location", "period", + "website", "description" ] }, @@ -733,7 +754,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the education of the author." @@ -818,7 +843,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -831,6 +857,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "hidden", "name", "period", + "website", "description" ] }, @@ -839,7 +866,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the projects of the author." @@ -928,8 +959,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "id", "hidden", "icon", + "iconColor", "name", - "proficiency" + "proficiency", + "level", + "keywords" ] }, "description": "The items to display in the skills section." @@ -937,7 +971,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the skills of the author." @@ -1009,7 +1047,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "id", "hidden", "language", - "fluency" + "fluency", + "level" ] }, "description": "The items to display in the languages section." @@ -1017,7 +1056,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the languages of the author." @@ -1095,7 +1138,9 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "id", "hidden", "icon", - "name" + "iconColor", + "name", + "keywords" ] }, "description": "The items to display in the interests section." @@ -1103,7 +1148,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the interests of the author." @@ -1192,7 +1241,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -1206,6 +1256,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "title", "awarder", "date", + "website", "description" ] }, @@ -1214,7 +1265,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the awards of the author." @@ -1303,7 +1358,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -1317,6 +1373,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "title", "issuer", "date", + "website", "description" ] }, @@ -1325,7 +1382,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the certifications of the author." @@ -1414,7 +1475,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -1428,6 +1490,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "title", "publisher", "date", + "website", "description" ] }, @@ -1436,7 +1499,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the publications of the author." @@ -1525,7 +1592,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -1539,6 +1607,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "organization", "location", "period", + "website", "description" ] }, @@ -1547,7 +1616,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the volunteer experience of the author." @@ -1632,7 +1705,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "phone": { @@ -1649,6 +1723,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "hidden", "name", "position", + "website", "phone", "description" ] @@ -1658,7 +1733,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "items" ], "description": "The section to display the references of the author." @@ -1761,7 +1840,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -1839,7 +1922,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -1943,7 +2030,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] } }, @@ -1951,8 +2039,10 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "id", "hidden", "icon", + "iconColor", "network", - "username" + "username", + "website" ], "additionalProperties": {} }, @@ -1961,7 +2051,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -2064,7 +2158,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -2111,7 +2206,9 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "position", "location", "period", - "description" + "website", + "description", + "roles" ], "additionalProperties": {} }, @@ -2120,7 +2217,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -2231,7 +2332,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -2248,6 +2350,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "grade", "location", "period", + "website", "description" ], "additionalProperties": {} @@ -2257,7 +2360,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -2352,7 +2459,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -2365,6 +2473,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "hidden", "name", "period", + "website", "description" ], "additionalProperties": {} @@ -2374,7 +2483,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -2473,8 +2586,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "id", "hidden", "icon", + "iconColor", "name", - "proficiency" + "proficiency", + "level", + "keywords" ], "additionalProperties": {} }, @@ -2483,7 +2599,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -2565,7 +2685,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "id", "hidden", "language", - "fluency" + "fluency", + "level" ], "additionalProperties": {} }, @@ -2574,7 +2695,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -2662,7 +2787,9 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "id", "hidden", "icon", - "name" + "iconColor", + "name", + "keywords" ], "additionalProperties": {} }, @@ -2671,7 +2798,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -2770,7 +2901,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -2784,6 +2916,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "title", "awarder", "date", + "website", "description" ], "additionalProperties": {} @@ -2793,7 +2926,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -2892,7 +3029,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -2906,6 +3044,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "title", "issuer", "date", + "website", "description" ], "additionalProperties": {} @@ -2915,7 +3054,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -3014,7 +3157,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -3028,6 +3172,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "title", "publisher", "date", + "website", "description" ], "additionalProperties": {} @@ -3037,7 +3182,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -3136,7 +3285,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "description": { @@ -3150,6 +3300,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "organization", "location", "period", + "website", "description" ], "additionalProperties": {} @@ -3159,7 +3310,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -3254,7 +3409,8 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "url", - "label" + "label", + "inlineLink" ] }, "phone": { @@ -3271,6 +3427,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "hidden", "name", "position", + "website", "phone", "description" ], @@ -3281,7 +3438,11 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "title", + "icon", + "columns", "hidden", + "keepTogether", + "startOnNewPage", "id", "type", "items" @@ -3360,6 +3521,7 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest } }, "required": [ + "sidebarWidth", "pages" ], "description": "The layout of the resume. Determines the structure and arrangement of the sections on the resume." @@ -3424,7 +3586,14 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest }, "required": [ "gapX", - "gapY" + "gapY", + "marginX", + "marginY", + "format", + "locale", + "hideLinkUnderline", + "hideIcons", + "hideSectionIcons" ], "description": "The page settings of the resume. Determines the margins, format, and locale of the resume." }, @@ -3533,7 +3702,10 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest } }, "required": [ - "fontFamily" + "fontFamily", + "fontWeights", + "fontSize", + "lineHeight" ], "description": "The typography for the body of the resume." }, @@ -3581,7 +3753,10 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest } }, "required": [ - "fontFamily" + "fontFamily", + "fontWeights", + "fontSize", + "lineHeight" ], "description": "The typography for the headings of the resume." } @@ -3597,7 +3772,6 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest "description": "Personal notes for the resume. Can be used to add any additional information or instructions for the resume. These notes are not displayed on the resume, they are only visible to the author of the resume when editing the resume. This should be a HTML-formatted string." }, "styleRules": { - "default": [], "description": "Structured style rules that target semantic resume sections and slots for React PDF rendering.", "type": "array", "items": {} @@ -3639,11 +3813,13 @@ The full JSON Schema for Reactive Resume follows. You can also fetch the latest } }, "required": [ + "template", "layout", "page", "design", "typography", - "notes" + "notes", + "styleRules" ], "description": "Metadata for the resume, such as template, layout, typography, etc. This section describes the overall design and appearance of the resume." } diff --git a/package.json b/package.json index 798f4a923..85876562d 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "type": "git", "url": "https://github.com/amruthpillai/reactive-resume.git" }, - "packageManager": "pnpm@11.24.0+sha512.bd27e345e976dcb0be0b7a1228217b049a817e21b1f355c90dbe7dc46671895a8bc1e6d06c24554505ea93ea0b45f489a27ec1bfbc8de6a9659fca0f16fa0000", + "packageManager": "pnpm@11.25.0", "workspaces": [ "apps/*", "packages/*", @@ -42,26 +42,26 @@ "test:agent": "turbo run test:agent --concurrency=4" }, "devDependencies": { - "@biomejs/biome": "^2.5.10", + "@biomejs/biome": "^2.5.12", "@commitlint/cli": "^21.2.2", "@commitlint/config-conventional": "^21.2.2", "@playwright/test": "^1.62.1", "@reactive-resume/config": "workspace:*", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^7.0.1", - "@testing-library/react": "^16.3.2", - "@testing-library/user-event": "^14.6.6", - "@types/node": "^26.4.0", + "@testing-library/react": "^16.3.3", + "@testing-library/user-event": "^14.6.7", + "@types/node": "^26.4.1", "@types/pg": "^8.23.1", - "@vitest/coverage-v8": "^4.1.11", + "@vitest/coverage-v8": "^5.0.0", "github-actionlint": "1.7.12", - "happy-dom": "^20.11.8", - "knip": "^6.32.3", - "lefthook": "^2.1.10", + "happy-dom": "^20.14.0", + "knip": "^6.34.0", + "lefthook": "^2.1.12", "markdownlint-cli2": "0.23.2", "pg": "^8.23.0", "turbo": "^2.10.12", "typescript": "^7.0.2", - "vitest": "^4.1.11" + "vitest": "^5.0.0" } } diff --git a/packages/ai/package.json b/packages/ai/package.json index 5681ac6bc..eb91f2d58 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -25,11 +25,11 @@ "@reactive-resume/utils": "workspace:*", "deepmerge-ts": "^8.0.2", "jsonrepair": "^3.15.0", - "zod": "^4.4.3" + "zod": "^4.5.4" }, "devDependencies": { "@reactive-resume/config": "workspace:*", - "ai": "^7.0.83", + "ai": "^7.0.92", "@typescript/native-preview": "7.0.0-dev.20260707.2", "typescript": "^7.0.2" } diff --git a/packages/api/package.json b/packages/api/package.json index 708c22d42..bad3637ce 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -21,20 +21,20 @@ "test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests" }, "dependencies": { - "@ai-sdk/anthropic": "^4.0.44", - "@ai-sdk/cerebras": "^3.0.39", - "@ai-sdk/cohere": "^4.0.33", - "@ai-sdk/deepseek": "^3.0.35", - "@ai-sdk/fireworks": "^3.0.42", - "@ai-sdk/google": "^4.0.54", - "@ai-sdk/groq": "^4.0.33", - "@ai-sdk/mistral": "^4.0.35", - "@ai-sdk/openai": "^4.0.50", - "@ai-sdk/openai-compatible": "^3.0.39", - "@ai-sdk/perplexity": "^4.0.34", - "@ai-sdk/togetherai": "^3.0.40", - "@ai-sdk/xai": "^4.0.47", - "@aws-sdk/client-s3": "^3.1119.0", + "@ai-sdk/anthropic": "^4.0.49", + "@ai-sdk/cerebras": "^3.0.43", + "@ai-sdk/cohere": "^4.0.37", + "@ai-sdk/deepseek": "^3.0.39", + "@ai-sdk/fireworks": "^3.0.46", + "@ai-sdk/google": "^4.0.63", + "@ai-sdk/groq": "^4.0.37", + "@ai-sdk/mistral": "^4.0.39", + "@ai-sdk/openai": "^4.0.58", + "@ai-sdk/openai-compatible": "^3.0.43", + "@ai-sdk/perplexity": "^4.0.39", + "@ai-sdk/togetherai": "^3.0.44", + "@ai-sdk/xai": "^4.0.54", + "@aws-sdk/client-s3": "^3.1126.0", "@orpc/client": "^1.15.0", "@orpc/experimental-ratelimit": "^1.15.0", "@orpc/server": "^1.15.0", @@ -46,12 +46,12 @@ "@reactive-resume/resume": "workspace:*", "@reactive-resume/schema": "workspace:*", "@reactive-resume/utils": "workspace:*", - "ai": "^7.0.83", + "ai": "^7.0.92", "bcrypt": "^6.0.0", "better-auth": "1.7.2", "drizzle-orm": "1.0.0-rc.4", "drizzle-zod": "1.0.0-beta.14-a36c63d", - "es-toolkit": "^1.51.0", + "es-toolkit": "^1.52.0", "ioredis": "^6.0.0", "jsonrepair": "^3.15.0", "ollama-ai-provider-v2": "^4.0.1", @@ -60,7 +60,7 @@ "sharp": "^0.35.4", "tokenx": "^2.1.0", "ts-pattern": "^5.9.0", - "zod": "^4.4.3" + "zod": "^4.5.4" }, "devDependencies": { "@reactive-resume/config": "workspace:*", diff --git a/packages/auth/package.json b/packages/auth/package.json index 7070063b4..9f2267a26 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -17,7 +17,7 @@ "dependencies": { "@better-auth/api-key": "^1.7.2", "@better-auth/drizzle-adapter": "^1.7.2", - "@better-auth/infra": "^0.4.3", + "@better-auth/infra": "^0.4.5", "@better-auth/oauth-provider": "^1.7.2", "@better-auth/passkey": "^1.7.2", "@reactive-resume/db": "workspace:*", diff --git a/packages/dsh-plugin/package.json b/packages/dsh-plugin/package.json index 8d3323eea..d0504b0b6 100644 --- a/packages/dsh-plugin/package.json +++ b/packages/dsh-plugin/package.json @@ -56,16 +56,16 @@ "@deepseek-ai/schemastery": "^3.18.1" }, "devDependencies": { - "@deepseek-ai/cordis": "^4.0.1", + "@deepseek-ai/cordis": "^4.0.2", "@deepseek-ai/dsh-mcp-client": "^0.1.0-rc.8", "@deepseek-ai/dsh-system-prompt": "^0.1.0-rc.8", - "@deepseek-ai/schemastery": "^3.18.1", + "@deepseek-ai/schemastery": "^3.18.2", "@reactive-resume/config": "workspace:*", "@reactive-resume/mcp": "workspace:*", "@typescript/native-preview": "7.0.0-dev.20260707.2", - "tsdown": "^0.22.14", + "tsdown": "^0.23.0", "typescript": "^7.0.2", - "vitest": "^4.1.11" + "vitest": "^5.0.0" }, "dsh": { "bundle": { diff --git a/packages/email/package.json b/packages/email/package.json index 257290755..201c8b789 100644 --- a/packages/email/package.json +++ b/packages/email/package.json @@ -17,7 +17,7 @@ }, "dependencies": { "@reactive-resume/env": "workspace:*", - "nodemailer": "^9.0.5", + "nodemailer": "^10.0.0", "react": "^19.2.8", "react-email": "^6.9.3" }, diff --git a/packages/env/package.json b/packages/env/package.json index 878fed219..07f075569 100644 --- a/packages/env/package.json +++ b/packages/env/package.json @@ -16,11 +16,11 @@ "dependencies": { "@reactive-resume/utils": "workspace:*", "@t3-oss/env-core": "^0.13.11", - "zod": "^4.4.3" + "zod": "^4.5.4" }, "devDependencies": { "@reactive-resume/config": "workspace:*", - "@types/node": "^26.4.0", + "@types/node": "^26.4.1", "@typescript/native-preview": "7.0.0-dev.20260707.2", "typescript": "^7.0.2" } diff --git a/packages/import/package.json b/packages/import/package.json index 9390fee61..0defaeb8a 100644 --- a/packages/import/package.json +++ b/packages/import/package.json @@ -19,7 +19,7 @@ "@reactive-resume/resume": "workspace:*", "@reactive-resume/schema": "workspace:*", "@reactive-resume/utils": "workspace:*", - "zod": "^4.4.3" + "zod": "^4.5.4" }, "devDependencies": { "@reactive-resume/config": "workspace:*", diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 3f51d3602..97903408d 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -23,12 +23,12 @@ "@reactive-resume/env": "workspace:*", "@reactive-resume/resume": "workspace:*", "@reactive-resume/schema": "workspace:*", - "zod": "^4.4.3" + "zod": "^4.5.4" }, "devDependencies": { "@reactive-resume/config": "workspace:*", "@typescript/native-preview": "7.0.0-dev.20260707.2", "typescript": "^7.0.2", - "vitest": "^4.1.11" + "vitest": "^5.0.0" } } diff --git a/packages/pdf/package.json b/packages/pdf/package.json index 92fa30a77..6926d95c0 100644 --- a/packages/pdf/package.json +++ b/packages/pdf/package.json @@ -24,24 +24,24 @@ "test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests" }, "dependencies": { - "@react-pdf/renderer": "^4.8.1", + "@react-pdf/renderer": "^4.9.0", "@reactive-resume/fonts": "workspace:*", "@reactive-resume/resume": "workspace:*", "@reactive-resume/schema": "workspace:*", "@reactive-resume/utils": "workspace:*", "cjk-regex": "^3.4.0", - "node-html-parser": "^9.0.1", + "node-html-parser": "^9.0.3", "phosphor-icons-react-pdf": "^0.1.3", "react": "^19.2.8", "react-pdf-html": "^2.1.5" }, "devDependencies": { "@napi-rs/canvas": "1.0.8", - "@react-pdf/types": "^2.13.1", + "@react-pdf/types": "^2.14.0", "@reactive-resume/config": "workspace:*", "@types/react": "^19.2.18", "@typescript/native-preview": "7.0.0-dev.20260707.2", - "pdfjs-dist": "6.2.108", + "pdfjs-dist": "6.3.289", "pixelmatch": "^7.2.0", "typescript": "^7.0.2" } diff --git a/packages/resume/package.json b/packages/resume/package.json index a497c5e8e..62ecd59e1 100644 --- a/packages/resume/package.json +++ b/packages/resume/package.json @@ -28,13 +28,13 @@ "css-tree": "^3.2.1", "fast-json-patch": "^3.1.1", "wink-porter2-stemmer": "2.0.1", - "zod": "^4.4.3" + "zod": "^4.5.4" }, "devDependencies": { "@reactive-resume/config": "workspace:*", "@typescript/native-preview": "7.0.0-dev.20260707.2", "fast-check": "^4.9.0", - "tsx": "^4.23.12", + "tsx": "^4.23.13", "typescript": "^7.0.2" } } diff --git a/packages/schema/package.json b/packages/schema/package.json index 7033da9c6..7189eec13 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -19,7 +19,7 @@ "test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests" }, "dependencies": { - "zod": "^4.4.3" + "zod": "^4.5.4" }, "devDependencies": { "@reactive-resume/config": "workspace:*", diff --git a/packages/schema/src/resume/json-schema.test.ts b/packages/schema/src/resume/json-schema.test.ts index df13f57de..d00f76a28 100644 --- a/packages/schema/src/resume/json-schema.test.ts +++ b/packages/schema/src/resume/json-schema.test.ts @@ -61,7 +61,7 @@ describe("createCustomSectionItemJsonSchemas", () => { expect(schemas.experience).toMatchObject({ schemaName: "experienceItemSchema", schema: { - required: ["id", "hidden", "company", "position", "location", "period", "description"], + required: ["id", "hidden", "company", "position", "location", "period", "website", "description", "roles"], }, }); expect(schemas["cover-letter"]).toMatchObject({ diff --git a/packages/ui/package.json b/packages/ui/package.json index c2ca9335d..5d7fd2fd0 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -18,18 +18,18 @@ "test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests" }, "dependencies": { - "@base-ui/react": "^1.7.0", + "@base-ui/react": "^1.8.0", "@fontsource-variable/ibm-plex-sans": "^5.3.0", "@phosphor-icons/react": "^2.1.10", "@phosphor-icons/web": "^2.1.2", "@reactive-resume/utils": "workspace:*", - "@shadcn/react": "^0.3.0", + "@shadcn/react": "^0.3.1", "class-variance-authority": "^0.7.1", "cmdk": "^1.1.1", "react": "^19.2.8", "react-dom": "^19.2.8", "react-resizable-panels": "^4.12.3", - "shadcn": "^4.19.0", + "shadcn": "^4.21.0", "tw-animate-css": "^1.4.0" }, "devDependencies": { @@ -37,9 +37,9 @@ "@tailwindcss/postcss": "^4.3.3", "@tailwindcss/typography": "^0.5.20", "@types/react": "^19.2.18", - "@types/react-dom": "^19.2.5", + "@types/react-dom": "^19.2.7", "@typescript/native-preview": "7.0.0-dev.20260707.2", - "postcss": "^8.5.26", + "postcss": "^8.5.28", "tailwindcss": "^4.3.3", "typescript": "^7.0.2" } diff --git a/packages/utils/package.json b/packages/utils/package.json index 93c007efa..365e20d9b 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -22,17 +22,17 @@ "test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests" }, "dependencies": { - "@sindresorhus/slugify": "^3.0.0", + "@sindresorhus/slugify": "^3.0.1", "@uiw/color-convert": "^2.10.3", "clsx": "^2.1.1", "tailwind-merge": "^3.6.0", "unique-names-generator": "^4.7.1", "uuid": "^14.0.2", - "zod": "^4.4.3" + "zod": "^4.5.4" }, "devDependencies": { "@reactive-resume/config": "workspace:*", - "@types/node": "^26.4.0", + "@types/node": "^26.4.1", "@typescript/native-preview": "7.0.0-dev.20260707.2", "typescript": "^7.0.2" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 06d5fc5f6..a2e01cf57 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,11 +19,11 @@ importers: .: devDependencies: '@biomejs/biome': - specifier: ^2.5.10 - version: 2.5.10 + specifier: ^2.5.12 + version: 2.5.12 '@commitlint/cli': specifier: ^21.2.2 - version: 21.2.2(@types/node@26.4.0)(conventional-commits-parser@7.1.2)(typescript@7.0.2) + version: 21.2.2(@types/node@26.4.1)(conventional-commits-parser@7.1.2)(typescript@7.0.2) '@commitlint/config-conventional': specifier: ^21.2.2 version: 21.2.2 @@ -38,34 +38,34 @@ importers: version: 10.4.1 '@testing-library/jest-dom': specifier: ^7.0.1 - version: 7.0.1(@testing-library/dom@10.4.1)(vitest@4.1.11) + version: 7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.0) '@testing-library/react': - specifier: ^16.3.2 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + specifier: ^16.3.3 + version: 16.3.3(@testing-library/dom@10.4.1)(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@testing-library/user-event': - specifier: ^14.6.6 - version: 14.6.6(@testing-library/dom@10.4.1) + specifier: ^14.6.7 + version: 14.6.7(@testing-library/dom@10.4.1) '@types/node': - specifier: ^26.4.0 - version: 26.4.0 + specifier: ^26.4.1 + version: 26.4.1 '@types/pg': specifier: ^8.23.1 version: 8.23.1 '@vitest/coverage-v8': - specifier: ^4.1.11 - version: 4.1.11(vitest@4.1.11) + specifier: ^5.0.0 + version: 5.0.0(vitest@5.0.0) github-actionlint: specifier: 1.7.12 version: 1.7.12 happy-dom: - specifier: ^20.11.8 - version: 20.11.8 + specifier: ^20.14.0 + version: 20.14.0 knip: - specifier: ^6.32.3 - version: 6.32.3 + specifier: ^6.34.0 + version: 6.34.0 lefthook: - specifier: ^2.1.10 - version: 2.1.10 + specifier: ^2.1.12 + version: 2.1.12 markdownlint-cli2: specifier: 0.23.2 version: 0.23.2(supports-color@7.2.0) @@ -79,68 +79,68 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^4.1.11 - version: 4.1.11(@types/node@26.4.0)(@vitest/coverage-v8@4.1.11)(happy-dom@20.11.8)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + specifier: ^5.0.0 + version: 5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(happy-dom@20.14.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) apps/server: dependencies: '@ai-sdk/anthropic': - specifier: ^4.0.44 - version: 4.0.44(zod@4.4.3) + specifier: ^4.0.49 + version: 4.0.49(zod@4.5.4) '@ai-sdk/cerebras': - specifier: ^3.0.39 - version: 3.0.39(zod@4.4.3) + specifier: ^3.0.43 + version: 3.0.43(zod@4.5.4) '@ai-sdk/cohere': - specifier: ^4.0.33 - version: 4.0.33(zod@4.4.3) + specifier: ^4.0.37 + version: 4.0.37(zod@4.5.4) '@ai-sdk/deepseek': - specifier: ^3.0.35 - version: 3.0.35(zod@4.4.3) - '@ai-sdk/fireworks': - specifier: ^3.0.42 - version: 3.0.42(zod@4.4.3) - '@ai-sdk/google': - specifier: ^4.0.54 - version: 4.0.54(zod@4.4.3) - '@ai-sdk/groq': - specifier: ^4.0.33 - version: 4.0.33(zod@4.4.3) - '@ai-sdk/mistral': - specifier: ^4.0.35 - version: 4.0.35(zod@4.4.3) - '@ai-sdk/openai': - specifier: ^4.0.50 - version: 4.0.50(zod@4.4.3) - '@ai-sdk/openai-compatible': specifier: ^3.0.39 - version: 3.0.39(zod@4.4.3) + version: 3.0.39(zod@4.5.4) + '@ai-sdk/fireworks': + specifier: ^3.0.46 + version: 3.0.46(zod@4.5.4) + '@ai-sdk/google': + specifier: ^4.0.63 + version: 4.0.63(zod@4.5.4) + '@ai-sdk/groq': + specifier: ^4.0.37 + version: 4.0.37(zod@4.5.4) + '@ai-sdk/mistral': + specifier: ^4.0.39 + version: 4.0.39(zod@4.5.4) + '@ai-sdk/openai': + specifier: ^4.0.58 + version: 4.0.58(zod@4.5.4) + '@ai-sdk/openai-compatible': + specifier: ^3.0.43 + version: 3.0.43(zod@4.5.4) '@ai-sdk/perplexity': - specifier: ^4.0.34 - version: 4.0.34(zod@4.4.3) + specifier: ^4.0.39 + version: 4.0.39(zod@4.5.4) '@ai-sdk/togetherai': - specifier: ^3.0.40 - version: 3.0.40(zod@4.4.3) + specifier: ^3.0.44 + version: 3.0.44(zod@4.5.4) '@ai-sdk/xai': - specifier: ^4.0.47 - version: 4.0.47(zod@4.4.3) + specifier: ^4.0.54 + version: 4.0.54(zod@4.5.4) '@aws-sdk/client-s3': - specifier: ^3.1119.0 - version: 3.1119.0 + specifier: ^3.1126.0 + version: 3.1126.0 '@better-auth/api-key': specifier: ^1.7.2 - version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3)) + version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4)) '@better-auth/drizzle-adapter': specifier: ^1.7.2 - version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3)) + version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4)) '@better-auth/infra': - specifier: ^0.4.3 - version: 0.4.3(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(zod@4.4.3) + specifier: ^0.4.5 + version: 0.4.5(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(zod@4.5.4) '@better-auth/oauth-provider': specifier: ^1.7.2 - version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3)) + version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4)) '@better-auth/passkey': specifier: ^1.7.2 - version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3))(nanostores@1.5.2) + version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4))(nanostores@1.5.3) '@bramus/specificity': specifier: ^2.4.2 version: 2.4.2 @@ -149,7 +149,7 @@ importers: version: 2.1.1(hono@4.13.5) '@modelcontextprotocol/sdk': specifier: ^1.30.0 - version: 1.30.0(supports-color@7.2.0)(zod@4.4.3) + version: 1.30.0(supports-color@7.2.0)(zod@4.5.4) '@orpc/client': specifier: ^1.15.0 version: 1.15.0 @@ -167,10 +167,10 @@ importers: version: 1.15.0(ws@8.21.3) '@orpc/zod': specifier: ^1.15.0 - version: 1.15.0(@orpc/contract@1.15.0)(@orpc/server@1.15.0(ws@8.21.3))(ws@8.21.3)(zod@4.4.3) + version: 1.15.0(@orpc/contract@1.15.0)(@orpc/server@1.15.0(ws@8.21.3))(ws@8.21.3)(zod@4.5.4) '@react-pdf/renderer': - specifier: ^4.8.1 - version: 4.8.1(react@19.2.8) + specifier: ^4.9.0 + version: 4.9.0(react@19.2.8) '@reactive-resume/api': specifier: workspace:* version: link:../../packages/api @@ -193,23 +193,23 @@ importers: specifier: workspace:* version: link:../../packages/utils '@sindresorhus/slugify': - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^3.0.1 + version: 3.0.1 '@t3-oss/env-core': specifier: ^0.13.11 - version: 0.13.11(typescript@7.0.2)(zod@4.4.3) + version: 0.13.11(typescript@7.0.2)(zod@4.5.4) '@uiw/color-convert': specifier: ^2.10.3 version: 2.10.3(@babel/runtime@7.29.7) ai: - specifier: ^7.0.83 - version: 7.0.83(zod@4.4.3) + specifier: ^7.0.92 + version: 7.0.92(zod@4.5.4) bcrypt: specifier: ^6.0.0 version: 6.0.0 better-auth: specifier: 1.7.2 - version: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11) + version: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0) cjk-regex: specifier: ^3.4.0 version: 3.4.0 @@ -221,13 +221,13 @@ importers: version: 8.0.2 drizzle-orm: specifier: 1.0.0-rc.4 - version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3) + version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4) drizzle-zod: specifier: 1.0.0-beta.14-a36c63d - version: 1.0.0-beta.14-a36c63d(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(zod@4.4.3) + version: 1.0.0-beta.14-a36c63d(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(zod@4.5.4) es-toolkit: - specifier: ^1.51.0 - version: 1.51.0 + specifier: ^1.52.0 + version: 1.52.0 fast-json-patch: specifier: ^3.1.1 version: 3.1.1 @@ -238,20 +238,20 @@ importers: specifier: ^3.15.0 version: 3.15.0 node-html-parser: - specifier: ^9.0.1 - version: 9.0.1 + specifier: ^9.0.3 + version: 9.0.3 nodemailer: - specifier: ^9.0.5 - version: 9.0.5 + specifier: ^10.0.0 + version: 10.0.0 ollama-ai-provider-v2: specifier: ^4.0.1 - version: 4.0.1(ai@7.0.83(zod@4.4.3))(zod@4.4.3) + version: 4.0.1(ai@7.0.92(zod@4.5.4))(zod@4.5.4) pg: specifier: ^8.23.0 version: 8.23.0 phosphor-icons-react-pdf: specifier: ^0.1.3 - version: 0.1.3(@react-pdf/renderer@4.8.1(react@19.2.8))(react@19.2.8) + version: 0.1.3(@react-pdf/renderer@4.9.0(react@19.2.8))(react@19.2.8) react: specifier: ^19.2.8 version: 19.2.8 @@ -260,13 +260,13 @@ importers: version: 6.9.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@7.2.0) react-pdf-html: specifier: ^2.1.5 - version: 2.1.5(@react-pdf/renderer@4.8.1(react@19.2.8))(react@19.2.8) + version: 2.1.5(@react-pdf/renderer@4.9.0(react@19.2.8))(react@19.2.8) resumable-stream: specifier: ^2.2.12 version: 2.2.12 sharp: specifier: ^0.35.4 - version: 0.35.4(@types/node@26.4.0) + version: 0.35.4(@types/node@26.4.1) tokenx: specifier: ^2.1.0 version: 2.1.0 @@ -280,15 +280,15 @@ importers: specifier: ^14.0.2 version: 14.0.2 zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.5.4 + version: 4.5.4 devDependencies: '@reactive-resume/config': specifier: workspace:* version: link:../../packages/config '@types/node': - specifier: ^26.4.0 - version: 26.4.0 + specifier: ^26.4.1 + version: 26.4.1 '@types/pg': specifier: ^8.23.1 version: 8.23.1 @@ -299,38 +299,38 @@ importers: specifier: 7.0.0-dev.20260707.2 version: 7.0.0-dev.20260707.2 tsdown: - specifier: ^0.22.14 - version: 0.22.14(@typescript/native-preview@7.0.0-dev.20260707.2)(oxc-resolver@11.24.2)(tsx@4.23.12)(typescript@7.0.2) + specifier: ^0.23.0 + version: 0.23.0(@typescript/native-preview@7.0.0-dev.20260707.2)(oxc-resolver@11.24.2)(tsx@4.23.13)(typescript@7.0.2) tsx: - specifier: ^4.23.12 - version: 4.23.12 + specifier: ^4.23.13 + version: 4.23.13 typescript: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^4.1.11 - version: 4.1.11(@types/node@26.4.0)(@vitest/coverage-v8@4.1.11)(happy-dom@20.11.8)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + specifier: ^5.0.0 + version: 5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(happy-dom@20.14.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) apps/web: dependencies: '@ai-sdk/react': - specifier: ^4.0.86 - version: 4.0.86(react@19.2.8)(zod@4.4.3) + specifier: ^4.0.95 + version: 4.0.95(react@19.2.8)(zod@4.5.4) '@base-ui/react': - specifier: ^1.7.0 - version: 1.7.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + specifier: ^1.8.0 + version: 1.8.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@better-auth/api-key': specifier: ^1.7.2 - version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3)) + version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4)) '@better-auth/infra': - specifier: ^0.4.3 - version: 0.4.3(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(zod@4.4.3) + specifier: ^0.4.5 + version: 0.4.5(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(zod@4.5.4) '@better-auth/oauth-provider': specifier: ^1.7.2 - version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3)) + version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4)) '@better-auth/passkey': specifier: ^1.7.2 - version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3))(nanostores@1.5.2) + version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4))(nanostores@1.5.3) '@codemirror/autocomplete': specifier: ^6.20.3 version: 6.20.3 @@ -347,14 +347,14 @@ importers: specifier: ^6.9.7 version: 6.9.7 '@codemirror/search': - specifier: ^6.7.1 - version: 6.7.1 + specifier: ^6.7.2 + version: 6.7.2 '@codemirror/state': - specifier: ^6.7.1 - version: 6.7.1 + specifier: ^6.7.3 + version: 6.7.3 '@codemirror/view': - specifier: ^6.43.9 - version: 6.43.9 + specifier: ^6.43.11 + version: 6.43.11 '@dnd-kit/core': specifier: ^6.3.1 version: 6.3.1(react-dom@19.2.8(react@19.2.8))(react@19.2.8) @@ -378,13 +378,13 @@ importers: version: 1.15.0(ws@8.21.3) '@orpc/tanstack-query': specifier: ^1.15.0 - version: 1.15.0(@orpc/client@1.15.0)(@tanstack/query-core@5.102.6) + version: 1.15.0(@orpc/client@1.15.0)(@tanstack/query-core@5.102.8) '@phosphor-icons/react': specifier: ^2.1.10 version: 2.1.10(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@react-pdf/renderer': - specifier: ^4.8.1 - version: 4.8.1(react@19.2.8) + specifier: ^4.9.0 + version: 4.9.0(react@19.2.8) '@reactive-resume/ai': specifier: workspace:* version: link:../../packages/ai @@ -420,7 +420,7 @@ importers: version: link:../../packages/utils '@tailwindcss/vite': specifier: ^4.3.3 - version: 4.3.3(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + version: 4.3.3(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) '@tanstack/react-form': specifier: ^1.33.5 version: 1.33.5(react-dom@19.2.8(react@19.2.8))(react@19.2.8) @@ -428,32 +428,32 @@ importers: specifier: ^0.10.0 version: 0.10.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tanstack/react-query': - specifier: ^5.102.6 - version: 5.102.6(react@19.2.8) + specifier: ^5.102.8 + version: 5.102.8(react@19.2.8) '@tanstack/react-router': specifier: ^1.170.32 version: 1.170.32(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tiptap/extension-color': - specifier: ^3.30.5 - version: 3.30.5(@tiptap/extension-text-style@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))) + specifier: ^3.31.2 + version: 3.31.2(@tiptap/extension-text-style@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))) '@tiptap/extension-highlight': - specifier: ^3.30.5 - version: 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) + specifier: ^3.31.2 + version: 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) '@tiptap/extension-text-align': - specifier: ^3.30.5 - version: 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) + specifier: ^3.31.2 + version: 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) '@tiptap/extension-text-style': - specifier: ^3.30.5 - version: 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) + specifier: ^3.31.2 + version: 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) '@tiptap/pm': - specifier: ^3.30.5 - version: 3.30.5 + specifier: ^3.31.2 + version: 3.31.2 '@tiptap/react': - specifier: ^3.30.5 - version: 3.30.5(@floating-ui/dom@1.8.0)(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + specifier: ^3.31.2 + version: 3.31.2(@floating-ui/dom@1.8.0)(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tiptap/starter-kit': - specifier: ^3.30.5 - version: 3.30.5 + specifier: ^3.31.2 + version: 3.31.2 '@types/js-cookie': specifier: ^3.0.6 version: 3.0.6 @@ -464,23 +464,23 @@ importers: specifier: ^2.10.3 version: 2.10.3(@babel/runtime@7.29.7)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) ai: - specifier: ^7.0.83 - version: 7.0.83(zod@4.4.3) + specifier: ^7.0.92 + version: 7.0.92(zod@4.5.4) better-auth: specifier: 1.7.2 - version: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11) + version: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0) buffer: specifier: ^6.0.3 version: 6.0.3 cmdk: specifier: ^1.1.1 - version: 1.1.1(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + version: 1.1.1(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) drizzle-orm: specifier: 1.0.0-rc.4 - version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3) + version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4) es-toolkit: - specifier: ^1.51.0 - version: 1.51.0 + specifier: ^1.52.0 + version: 1.52.0 fuse.js: specifier: ^7.5.0 version: 7.5.0 @@ -491,11 +491,11 @@ importers: specifier: ^3.0.8 version: 3.0.8 motion: - specifier: ^13.1.1 - version: 13.1.1(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + specifier: ^13.2.0 + version: 13.2.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) pdfjs-dist: - specifier: 6.2.108 - version: 6.2.108 + specifier: 6.3.289 + version: 6.3.289 pg: specifier: ^8.23.0 version: 8.23.0 @@ -524,8 +524,8 @@ importers: specifier: ^2.3.0 version: 2.3.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react-zoom-pan-pinch: - specifier: ^4.0.4 - version: 4.0.4(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + specifier: ^4.2.0 + version: 4.2.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) remark-gfm: specifier: ^4.0.1 version: 4.0.1(supports-color@7.2.0) @@ -536,8 +536,8 @@ importers: specifier: ^3.1.1 version: 3.1.1(react@19.2.8) zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.5.4 + version: 4.5.4 zustand: specifier: ^5.0.15 version: 5.0.15(@types/react@19.2.18)(immer@11.1.18)(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8)) @@ -550,37 +550,37 @@ importers: version: 6.6.0(@babel/core@8.0.1)(@babel/types@7.29.8) '@lingui/cli': specifier: ^6.6.0 - version: 6.6.0(babel-plugin-macros@3.1.0)(esbuild@0.28.2)(rolldown@1.2.5)(supports-color@7.2.0) + version: 6.6.0(babel-plugin-macros@3.1.0)(esbuild@0.28.2)(rolldown@1.2.7)(supports-color@7.2.0) '@lingui/format-po': specifier: ^6.6.0 version: 6.6.0 '@lingui/vite-plugin': specifier: ^6.6.0 - version: 6.6.0(@babel/core@8.0.1)(@lingui/babel-plugin-lingui-macro@6.6.0(@babel/core@8.0.1)(@babel/types@7.29.8))(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)))(babel-plugin-macros@3.1.0)(esbuild@0.28.2)(rolldown@1.2.5)(supports-color@7.2.0)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + version: 6.6.0(@babel/core@8.0.1)(@lingui/babel-plugin-lingui-macro@6.6.0(@babel/core@8.0.1)(@babel/types@7.29.8))(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.7)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)))(babel-plugin-macros@3.1.0)(esbuild@0.28.2)(rolldown@1.2.7)(supports-color@7.2.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) '@reactive-resume/config': specifier: workspace:* version: link:../../packages/config '@rolldown/plugin-babel': specifier: ^0.2.3 - version: 0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + version: 0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.7)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) '@shadcn/helpers': specifier: ^0.2.0 - version: 0.2.0(ai@7.0.83(zod@4.4.3)) + version: 0.2.0(ai@7.0.92(zod@4.5.4)) '@tanstack/devtools-vite': specifier: ^0.8.5 - version: 0.8.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + version: 0.8.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) '@tanstack/react-devtools': specifier: ^0.10.12 - version: 0.10.12(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(csstype@3.2.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14) + version: 0.10.12(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(csstype@3.2.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14) '@tanstack/react-query-devtools': - specifier: ^5.102.6 - version: 5.102.6(@tanstack/react-query@5.102.6(react@19.2.8))(react@19.2.8) + specifier: ^5.102.8 + version: 5.102.8(@tanstack/react-query@5.102.8(react@19.2.8))(react@19.2.8) '@tanstack/react-router-devtools': specifier: ^1.167.1 version: 1.167.1(@tanstack/react-router@1.170.32(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@tanstack/router-core@1.171.27)(csstype@3.2.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tanstack/router-plugin': specifier: ^1.168.35 - version: 1.168.35(@tanstack/react-router@1.170.32(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(esbuild@0.28.2)(rolldown@1.2.5)(supports-color@7.2.0)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + version: 1.168.35(@tanstack/react-router@1.170.32(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(esbuild@0.28.2)(rolldown@1.2.7)(supports-color@7.2.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 @@ -591,14 +591,14 @@ importers: specifier: ^19.2.18 version: 19.2.18 '@types/react-dom': - specifier: ^19.2.5 - version: 19.2.5(@types/react@19.2.18) + specifier: ^19.2.7 + version: 19.2.7(@types/react@19.2.18) '@typescript/native-preview': specifier: 7.0.0-dev.20260707.2 version: 7.0.0-dev.20260707.2 '@vitejs/plugin-react': - specifier: ^6.1.0 - version: 6.1.0(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + specifier: ^6.1.1 + version: 6.1.1(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.7)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) babel-plugin-macros: specifier: ^3.1.0 version: 3.1.0 @@ -613,7 +613,7 @@ importers: version: 7.0.2 vite: specifier: ^8.2.2 - version: 8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) + version: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) packages/ai: dependencies: @@ -633,8 +633,8 @@ importers: specifier: ^3.15.0 version: 3.15.0 zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.5.4 + version: 4.5.4 devDependencies: '@reactive-resume/config': specifier: workspace:* @@ -643,8 +643,8 @@ importers: specifier: 7.0.0-dev.20260707.2 version: 7.0.0-dev.20260707.2 ai: - specifier: ^7.0.83 - version: 7.0.83(zod@4.4.3) + specifier: ^7.0.92 + version: 7.0.92(zod@4.5.4) typescript: specifier: ^7.0.2 version: 7.0.2 @@ -652,47 +652,47 @@ importers: packages/api: dependencies: '@ai-sdk/anthropic': - specifier: ^4.0.44 - version: 4.0.44(zod@4.4.3) + specifier: ^4.0.49 + version: 4.0.49(zod@4.5.4) '@ai-sdk/cerebras': - specifier: ^3.0.39 - version: 3.0.39(zod@4.4.3) + specifier: ^3.0.43 + version: 3.0.43(zod@4.5.4) '@ai-sdk/cohere': - specifier: ^4.0.33 - version: 4.0.33(zod@4.4.3) + specifier: ^4.0.37 + version: 4.0.37(zod@4.5.4) '@ai-sdk/deepseek': - specifier: ^3.0.35 - version: 3.0.35(zod@4.4.3) - '@ai-sdk/fireworks': - specifier: ^3.0.42 - version: 3.0.42(zod@4.4.3) - '@ai-sdk/google': - specifier: ^4.0.54 - version: 4.0.54(zod@4.4.3) - '@ai-sdk/groq': - specifier: ^4.0.33 - version: 4.0.33(zod@4.4.3) - '@ai-sdk/mistral': - specifier: ^4.0.35 - version: 4.0.35(zod@4.4.3) - '@ai-sdk/openai': - specifier: ^4.0.50 - version: 4.0.50(zod@4.4.3) - '@ai-sdk/openai-compatible': specifier: ^3.0.39 - version: 3.0.39(zod@4.4.3) + version: 3.0.39(zod@4.5.4) + '@ai-sdk/fireworks': + specifier: ^3.0.46 + version: 3.0.46(zod@4.5.4) + '@ai-sdk/google': + specifier: ^4.0.63 + version: 4.0.63(zod@4.5.4) + '@ai-sdk/groq': + specifier: ^4.0.37 + version: 4.0.37(zod@4.5.4) + '@ai-sdk/mistral': + specifier: ^4.0.39 + version: 4.0.39(zod@4.5.4) + '@ai-sdk/openai': + specifier: ^4.0.58 + version: 4.0.58(zod@4.5.4) + '@ai-sdk/openai-compatible': + specifier: ^3.0.43 + version: 3.0.43(zod@4.5.4) '@ai-sdk/perplexity': - specifier: ^4.0.34 - version: 4.0.34(zod@4.4.3) + specifier: ^4.0.39 + version: 4.0.39(zod@4.5.4) '@ai-sdk/togetherai': - specifier: ^3.0.40 - version: 3.0.40(zod@4.4.3) + specifier: ^3.0.44 + version: 3.0.44(zod@4.5.4) '@ai-sdk/xai': - specifier: ^4.0.47 - version: 4.0.47(zod@4.4.3) + specifier: ^4.0.54 + version: 4.0.54(zod@4.5.4) '@aws-sdk/client-s3': - specifier: ^3.1119.0 - version: 3.1119.0 + specifier: ^3.1126.0 + version: 3.1126.0 '@orpc/client': specifier: ^1.15.0 version: 1.15.0 @@ -727,23 +727,23 @@ importers: specifier: workspace:* version: link:../utils ai: - specifier: ^7.0.83 - version: 7.0.83(zod@4.4.3) + specifier: ^7.0.92 + version: 7.0.92(zod@4.5.4) bcrypt: specifier: ^6.0.0 version: 6.0.0 better-auth: specifier: 1.7.2 - version: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11) + version: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0) drizzle-orm: specifier: 1.0.0-rc.4 - version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3) + version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4) drizzle-zod: specifier: 1.0.0-beta.14-a36c63d - version: 1.0.0-beta.14-a36c63d(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(zod@4.4.3) + version: 1.0.0-beta.14-a36c63d(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(zod@4.5.4) es-toolkit: - specifier: ^1.51.0 - version: 1.51.0 + specifier: ^1.52.0 + version: 1.52.0 ioredis: specifier: ^6.0.0 version: 6.0.0(supports-color@7.2.0) @@ -752,7 +752,7 @@ importers: version: 3.15.0 ollama-ai-provider-v2: specifier: ^4.0.1 - version: 4.0.1(ai@7.0.83(zod@4.4.3))(zod@4.4.3) + version: 4.0.1(ai@7.0.92(zod@4.5.4))(zod@4.5.4) react: specifier: ^19.2.8 version: 19.2.8 @@ -761,7 +761,7 @@ importers: version: 2.2.12 sharp: specifier: ^0.35.4 - version: 0.35.4(@types/node@26.4.0) + version: 0.35.4(@types/node@26.4.1) tokenx: specifier: ^2.1.0 version: 2.1.0 @@ -769,8 +769,8 @@ importers: specifier: ^5.9.0 version: 5.9.0 zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.5.4 + version: 4.5.4 devDependencies: '@reactive-resume/config': specifier: workspace:* @@ -789,19 +789,19 @@ importers: dependencies: '@better-auth/api-key': specifier: ^1.7.2 - version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3)) + version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4)) '@better-auth/drizzle-adapter': specifier: ^1.7.2 - version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3)) + version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4)) '@better-auth/infra': - specifier: ^0.4.3 - version: 0.4.3(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(zod@4.4.3) + specifier: ^0.4.5 + version: 0.4.5(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(zod@4.5.4) '@better-auth/oauth-provider': specifier: ^1.7.2 - version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3)) + version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4)) '@better-auth/passkey': specifier: ^1.7.2 - version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3))(nanostores@1.5.2) + version: 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4))(nanostores@1.5.3) '@reactive-resume/db': specifier: workspace:* version: link:../db @@ -819,10 +819,10 @@ importers: version: 6.0.0 better-auth: specifier: 1.7.2 - version: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11) + version: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0) drizzle-orm: specifier: 1.0.0-rc.4 - version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3) + version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4) jose: specifier: ^6.2.10 version: 6.2.10 @@ -861,7 +861,7 @@ importers: version: link:../utils drizzle-orm: specifier: 1.0.0-rc.4 - version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3) + version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4) pg: specifier: ^8.23.0 version: 8.23.0 @@ -907,17 +907,17 @@ importers: packages/dsh-plugin: devDependencies: '@deepseek-ai/cordis': - specifier: ^4.0.1 - version: 4.0.1 + specifier: ^4.0.2 + version: 4.0.2 '@deepseek-ai/dsh-mcp-client': specifier: ^0.1.0-rc.8 - version: 0.1.0-rc.8(e2641fa3161a2c65bb3b98f444cec720) + version: 0.1.0-rc.8(6dfa23998b310f426efa2e4ec6b743ee) '@deepseek-ai/dsh-system-prompt': specifier: ^0.1.0-rc.8 - version: 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))) + version: 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))) '@deepseek-ai/schemastery': - specifier: ^3.18.1 - version: 3.18.1 + specifier: ^3.18.2 + version: 3.18.2 '@reactive-resume/config': specifier: workspace:* version: link:../config @@ -928,14 +928,14 @@ importers: specifier: 7.0.0-dev.20260707.2 version: 7.0.0-dev.20260707.2 tsdown: - specifier: ^0.22.14 - version: 0.22.14(@typescript/native-preview@7.0.0-dev.20260707.2)(oxc-resolver@11.24.2)(tsx@4.23.12)(typescript@7.0.2) + specifier: ^0.23.0 + version: 0.23.0(@typescript/native-preview@7.0.0-dev.20260707.2)(oxc-resolver@11.24.2)(tsx@4.23.13)(typescript@7.0.2) typescript: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^4.1.11 - version: 4.1.11(@types/node@26.2.0)(@vitest/coverage-v8@4.1.11)(happy-dom@20.11.8)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + specifier: ^5.0.0 + version: 5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(happy-dom@20.14.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) packages/email: dependencies: @@ -943,8 +943,8 @@ importers: specifier: workspace:* version: link:../env nodemailer: - specifier: ^9.0.5 - version: 9.0.5 + specifier: ^10.0.0 + version: 10.0.0 react: specifier: ^19.2.8 version: 19.2.8 @@ -954,7 +954,7 @@ importers: devDependencies: '@react-email/ui': specifier: ^6.9.3 - version: 6.9.3(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + version: 6.9.3(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@reactive-resume/config': specifier: workspace:* version: link:../config @@ -978,17 +978,17 @@ importers: version: link:../utils '@t3-oss/env-core': specifier: ^0.13.11 - version: 0.13.11(typescript@7.0.2)(zod@4.4.3) + version: 0.13.11(typescript@7.0.2)(zod@4.5.4) zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.5.4 + version: 4.5.4 devDependencies: '@reactive-resume/config': specifier: workspace:* version: link:../config '@types/node': - specifier: ^26.4.0 - version: 26.4.0 + specifier: ^26.4.1 + version: 26.4.1 '@typescript/native-preview': specifier: 7.0.0-dev.20260707.2 version: 7.0.0-dev.20260707.2 @@ -1024,8 +1024,8 @@ importers: specifier: workspace:* version: link:../utils zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.5.4 + version: 4.5.4 devDependencies: '@reactive-resume/config': specifier: workspace:* @@ -1041,7 +1041,7 @@ importers: dependencies: '@modelcontextprotocol/sdk': specifier: ^1.30.0 - version: 1.30.0(supports-color@7.2.0)(zod@4.4.3) + version: 1.30.0(supports-color@7.2.0)(zod@4.5.4) '@orpc/server': specifier: ^1.15.0 version: 1.15.0(ws@8.21.3) @@ -1061,8 +1061,8 @@ importers: specifier: workspace:* version: link:../schema zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.5.4 + version: 4.5.4 devDependencies: '@reactive-resume/config': specifier: workspace:* @@ -1074,14 +1074,14 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^4.1.11 - version: 4.1.11(@types/node@26.2.0)(@vitest/coverage-v8@4.1.11)(happy-dom@20.11.8)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + specifier: ^5.0.0 + version: 5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(happy-dom@20.14.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) packages/pdf: dependencies: '@react-pdf/renderer': - specifier: ^4.8.1 - version: 4.8.1(react@19.2.8) + specifier: ^4.9.0 + version: 4.9.0(react@19.2.8) '@reactive-resume/fonts': specifier: workspace:* version: link:../fonts @@ -1098,24 +1098,24 @@ importers: specifier: ^3.4.0 version: 3.4.0 node-html-parser: - specifier: ^9.0.1 - version: 9.0.1 + specifier: ^9.0.3 + version: 9.0.3 phosphor-icons-react-pdf: specifier: ^0.1.3 - version: 0.1.3(@react-pdf/renderer@4.8.1(react@19.2.8))(react@19.2.8) + version: 0.1.3(@react-pdf/renderer@4.9.0(react@19.2.8))(react@19.2.8) react: specifier: ^19.2.8 version: 19.2.8 react-pdf-html: specifier: ^2.1.5 - version: 2.1.5(@react-pdf/renderer@4.8.1(react@19.2.8))(react@19.2.8) + version: 2.1.5(@react-pdf/renderer@4.9.0(react@19.2.8))(react@19.2.8) devDependencies: '@napi-rs/canvas': specifier: 1.0.8 version: 1.0.8 '@react-pdf/types': - specifier: ^2.13.1 - version: 2.13.1 + specifier: ^2.14.0 + version: 2.14.0 '@reactive-resume/config': specifier: workspace:* version: link:../config @@ -1126,8 +1126,8 @@ importers: specifier: 7.0.0-dev.20260707.2 version: 7.0.0-dev.20260707.2 pdfjs-dist: - specifier: 6.2.108 - version: 6.2.108 + specifier: 6.3.289 + version: 6.3.289 pixelmatch: specifier: ^7.2.0 version: 7.2.0 @@ -1153,8 +1153,8 @@ importers: specifier: 2.0.1 version: 2.0.1 zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.5.4 + version: 4.5.4 devDependencies: '@reactive-resume/config': specifier: workspace:* @@ -1166,8 +1166,8 @@ importers: specifier: ^4.9.0 version: 4.9.0 tsx: - specifier: ^4.23.12 - version: 4.23.12 + specifier: ^4.23.13 + version: 4.23.13 typescript: specifier: ^7.0.2 version: 7.0.2 @@ -1175,8 +1175,8 @@ importers: packages/schema: dependencies: zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.5.4 + version: 4.5.4 devDependencies: '@reactive-resume/config': specifier: workspace:* @@ -1191,8 +1191,8 @@ importers: packages/ui: dependencies: '@base-ui/react': - specifier: ^1.7.0 - version: 1.7.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + specifier: ^1.8.0 + version: 1.8.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@fontsource-variable/ibm-plex-sans': specifier: ^5.3.0 version: 5.3.0 @@ -1206,14 +1206,14 @@ importers: specifier: workspace:* version: link:../utils '@shadcn/react': - specifier: ^0.3.0 - version: 0.3.0(@types/react@19.2.18)(react@19.2.8) + specifier: ^0.3.1 + version: 0.3.1(@types/react@19.2.18)(react@19.2.8) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 cmdk: specifier: ^1.1.1 - version: 1.1.1(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + version: 1.1.1(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react: specifier: ^19.2.8 version: 19.2.8 @@ -1224,8 +1224,8 @@ importers: specifier: ^4.12.3 version: 4.12.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8) shadcn: - specifier: ^4.19.0 - version: 4.19.0(babel-plugin-macros@3.1.0)(supports-color@7.2.0)(typescript@7.0.2) + specifier: ^4.21.0 + version: 4.21.0(babel-plugin-macros@3.1.0)(supports-color@7.2.0)(typescript@7.0.2) tw-animate-css: specifier: ^1.4.0 version: 1.4.0 @@ -1243,14 +1243,14 @@ importers: specifier: ^19.2.18 version: 19.2.18 '@types/react-dom': - specifier: ^19.2.5 - version: 19.2.5(@types/react@19.2.18) + specifier: ^19.2.7 + version: 19.2.7(@types/react@19.2.18) '@typescript/native-preview': specifier: 7.0.0-dev.20260707.2 version: 7.0.0-dev.20260707.2 postcss: - specifier: ^8.5.26 - version: 8.5.26 + specifier: ^8.5.28 + version: 8.5.28 tailwindcss: specifier: ^4.3.3 version: 4.3.3 @@ -1261,8 +1261,8 @@ importers: packages/utils: dependencies: '@sindresorhus/slugify': - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^3.0.1 + version: 3.0.1 '@uiw/color-convert': specifier: ^2.10.3 version: 2.10.3(@babel/runtime@7.29.7) @@ -1279,15 +1279,15 @@ importers: specifier: ^14.0.2 version: 14.0.2 zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.5.4 + version: 4.5.4 devDependencies: '@reactive-resume/config': specifier: workspace:* version: link:../config '@types/node': - specifier: ^26.4.0 - version: 26.4.0 + specifier: ^26.4.1 + version: 26.4.1 '@typescript/native-preview': specifier: 7.0.0-dev.20260707.2 version: 7.0.0-dev.20260707.2 @@ -1318,148 +1318,138 @@ importers: version: 7.0.0-dev.20260707.2 drizzle-orm: specifier: 1.0.0-rc.4 - version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3) + version: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4) pg: specifier: ^8.23.0 version: 8.23.0 tsx: - specifier: ^4.23.12 - version: 4.23.12 + specifier: ^4.23.13 + version: 4.23.13 vitest: - specifier: ^4.1.11 - version: 4.1.11(@types/node@26.2.0)(@vitest/coverage-v8@4.1.11)(happy-dom@20.11.8)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + specifier: ^5.0.0 + version: 5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(happy-dom@20.14.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) packages: '@adobe/css-tools@4.5.0': resolution: {integrity: sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==} - '@ai-sdk/anthropic@4.0.44': - resolution: {integrity: sha512-PZT62FpNvilIeyyk09+BxYnWmmqRWFLe7ers25OPI8SnQxwDSeXtUTxiZNSbZt4ywj53op/INhLR1z5uyL6tHA==} + '@ai-sdk/anthropic@4.0.49': + resolution: {integrity: sha512-fzy2sLrs3vNsliIgx65fuovsa6a7OTXd6DllKUgLuVmPyqLnvoZCv9NlKgq+krzDzSxLb9d0zTaJJpsjBVLNyA==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/cerebras@3.0.39': - resolution: {integrity: sha512-d3Bqk/ouD4IzeH3AgsKUwxXqTLHNuBg9FjAqQ+Ed9j3tm1348tTIQfB3/jGw5teiJM6cO/HlwWVxC+YY6jGbQg==} + '@ai-sdk/cerebras@3.0.43': + resolution: {integrity: sha512-YvD61w4zEbtVL4vibkKCEKqYn6ntOULiYLchboUvUdDP/2UDbk0oOzbKSSCtzk6omA1deG+yZ0grGI46NDnDbA==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/cohere@4.0.33': - resolution: {integrity: sha512-zEGdmr8bHdLZr/nMBTJHZ4ZpSuGGKj9XNnxXGJiALvqsa6EocYa+DYzDfNya2fQRLOgPG7smwPUHIa4DXfjjCA==} + '@ai-sdk/cohere@4.0.37': + resolution: {integrity: sha512-wvTWyh1qcSTJXT/4zkBmoImGAMPMPmmJVhWfhiL0vapM4YRnKEGVEdz6D3dsG7Q7pRPDRzTwG8c142oYrwJlFA==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/deepseek@3.0.35': - resolution: {integrity: sha512-j3OobU0uEK6/UN3TlP0w6N6n+mqmCkuNiHA105MiT2AFG4rWydKqZQPkI/t8B5QL6WP8oJ30RtX9sqEFFXDuMw==} + '@ai-sdk/deepseek@3.0.39': + resolution: {integrity: sha512-QJz4BL9Hcd+/pr48jea7U6xmFiigw2IgDn5nUp2g1xRiY63koxvhGjCLHTUjcCfZnK55ymNtBI6VmP/qVfX2Rg==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/fireworks@3.0.42': - resolution: {integrity: sha512-CqBTnritZDs+QYIYjf3IYijFXFlIOA/pWA3ErucZyvIJQMeFxlIMnru5p/KIZVxAy8ixILrV2znbRVvcUQ+avw==} + '@ai-sdk/fireworks@3.0.46': + resolution: {integrity: sha512-0dyorCDsSZYZS/6jRXuRTWvN66KfKOggxHAlvlkiBmg/Nl1tzU3tXbvMBlxQgnla0u5aGdGL/rFwQuRHXUESbw==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@4.0.67': - resolution: {integrity: sha512-LtyxLkg7dZ2iz8Ouh1806BJbA+q+FKc/mXUCl4v/wdNNIGtbfk80dNtlhqjhqOZa4dnfc3caVafRL7ocxzoegA==} + '@ai-sdk/gateway@4.0.74': + resolution: {integrity: sha512-6hpLUtAD162KLyyj9LN2OuEyze7lzq4wwj7PyQPYdMmA8PBYwyMbmvmu1C7OzfexLSPltZK29pX8R6hrJsqBqA==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/google@4.0.54': - resolution: {integrity: sha512-rfDYyxngXYZc4bHswyOXEVnUeYnlHssFw1r4npdhcRlV8KzSIAauPRoqyXQ5CtkjEvq6CRDQiO2P8XErudXckQ==} + '@ai-sdk/google@4.0.63': + resolution: {integrity: sha512-SlKcqnN0oKC8JWahecs3IvFnIFgbrEE4i/bmom5xsPFUjkIVvXAJAhRzjfgfROSOOeyvouKUFPWJEjn11FWf3A==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/groq@4.0.33': - resolution: {integrity: sha512-5UY0anh30s1TXAJmjF6ocNs3kX8hwSGapnnGTP2PfKLEorUAtYxkX1rlWYjiAyDGfvA7WK/BF/tkZYFWkHdJeg==} + '@ai-sdk/groq@4.0.37': + resolution: {integrity: sha512-BT78XNNak2Vt5DHp46vtoTKGk1RSlgQXyfNrFAz1//KGyUeVVZBwXhQLRawWmSCUAbigwNP3KSNSyGJoFKlkiw==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/mcp@2.0.39': - resolution: {integrity: sha512-bkywYQsEklAkJq+da1/5gJGcyZ4ngPV7HAqq1aA4FpfHozHvl8sbih3lScGuWYbUetEywy6PslNZn+Z6beRNSg==} + '@ai-sdk/mcp@2.0.44': + resolution: {integrity: sha512-uYEnqkMvLSztOLgEDZ5hRyz8jgWsTjseS8e2iMBe6ddb4w1ubj5i2aSYytErqtatTjIvSq750g3UHPEiCao8QA==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/mistral@4.0.35': - resolution: {integrity: sha512-fv6Dr7kO3l4P6CBX03yDLfQh0JNDHLBTjbRTrKjJ0sxapwj3gpRqnk6UhImyZQfwGgpJOoX996otuSwu3FNw/g==} + '@ai-sdk/mistral@4.0.39': + resolution: {integrity: sha512-tigadr/BzilmL3cxUA5BWWPZ4/O0iPnneWQBBRxFUVCZ3naVEc78B2XxuDWL83R3ic+nqevHMlkyNjyiTRPPPQ==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/openai-compatible@3.0.39': - resolution: {integrity: sha512-LlPrLDUceaPP2v1qbFrdu4hfyEEuNZIGRsu0IwpWIg6xiulrSEItB16uJDRZwxQoLvSZhKQP5oFIzSJoCSrMow==} + '@ai-sdk/openai-compatible@3.0.43': + resolution: {integrity: sha512-QurboftQF0jGshbNM5KHNNpttp7huKSV7rN+C7ylcT5XsLZPud1eCMqyX0zlYFxm6pE4MEc/1PgFX12tm85yqg==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/openai@4.0.50': - resolution: {integrity: sha512-e2Jepw5RbSwsCsPwyiNzdlmOHoCQefCziNp3k1UxfIv8QD0/p4SF6+cx7GuWX98jAVNiWLjRv1W3NVSmx3FuEQ==} + '@ai-sdk/openai@4.0.58': + resolution: {integrity: sha512-oO3vH0e8lhN3OrANukokI2rvUJV+RVwTwJ2y+eSK+IiKlauFza2Yyl/7hjErqkjOt/eMOobhNijo+CFsFt8T+g==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/perplexity@4.0.34': - resolution: {integrity: sha512-YgdibeYwc9M4UcGtkBS9+zt9eG5j2Cyd/ri1KAEQ2tukgXPhguaMDiOfbdnkDpH6M/3+zlQN3726eHQuCuRqXA==} + '@ai-sdk/perplexity@4.0.39': + resolution: {integrity: sha512-leNK0G+Mv5HQlgZP195PxaFNlmqmWi4H2FVTaUPdy7smMguGpaTOGWiuPd2heTg4CEG5QGFE/kRhM5Gt/aFRfA==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider-utils@5.0.29': - resolution: {integrity: sha512-7EIbwXiXKGa7EFk6tDZpuZBs6lxhEJpOuHeqrDb3Vd85uYdjwkdRuHnZDVDIIb2+QTSRmyph2NrXcbvuO/KAjQ==} + '@ai-sdk/provider-utils@5.0.36': + resolution: {integrity: sha512-MFXBn6XDyf37PNQAge/HTatPJE8Vmg/g/w4WPtjSV53jq8FKAzoaN5+43hsdQa9bqgN+/13jxug9ChvsG+godQ==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider-utils@5.0.32': - resolution: {integrity: sha512-MZUhlINn6FzKIWuX3T36h+yM9d7bG+yatH+kC99ZCe0DHxXfP73KwaoLiLcZDPQDamFyO3umPPBLJieZJyG4DQ==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider@4.0.7': - resolution: {integrity: sha512-6or44XprPzKbr8zkmzosowSE0pxkvJcoojBL+mCZvPUt3kvXp3XSNqeVun9golb1acEfSo6yaEBRT18h2VU+1Q==} + '@ai-sdk/provider@4.0.10': + resolution: {integrity: sha512-fX2ENAc7iDpZ+Wp4+Rk06Usn/Ys7dI9uAkGv0jlF6XVrW13NkRWx5Ou+U6lIM2E1fTLkCs16GGrUAaVvroag7A==} engines: {node: '>=22'} - '@ai-sdk/provider@4.0.8': - resolution: {integrity: sha512-aWO7iwhFUGf347tCwNGggggfmZigaSu7TF739IZSrWWABUp7zkb4Cr3fMqvBe5EIS7ABJJu3Cadn0g/zs1G0QQ==} - engines: {node: '>=22'} - - '@ai-sdk/react@4.0.86': - resolution: {integrity: sha512-dXFbiT9TOfhbtdBS7BK051ZweMnkpY4fGBmf4PCGRI3LdPDmQ2TBU5hIAT4ESpzjMpE7PmJBu/Zx+gL1mVSWyA==} + '@ai-sdk/react@4.0.95': + resolution: {integrity: sha512-voKf++WBzJhyNlawdPUW/GckFjFtXyzXwTX6kvIow3ZrFlUdQX8JxbWOPyAXdlAadjU7BvealIJbF/1P1bO2+w==} engines: {node: '>=22'} peerDependencies: react: ^18 || ~19.0.1 || ~19.1.2 || ^19.2.1 - '@ai-sdk/togetherai@3.0.40': - resolution: {integrity: sha512-+0uZFbGrQI3FGURzwl/G2uHtROAeSAuM+eaKwATVGQDfz4nVxbqd0J8V9SaR9lp3tiqW/ejZgMBQBuml1LMZEw==} + '@ai-sdk/togetherai@3.0.44': + resolution: {integrity: sha512-gu7VkcbrMwm1Ffa05Ep4tkQVJSZvLMRXZhTQhswbfpMZ/PFj9MoFT5E0zzgBN9xwESWWF7TcYfoUsR3rDq+b2A==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/xai@4.0.47': - resolution: {integrity: sha512-947T67bDXBxyAFBtPEZb7B+XRymIof5HcbmEQ+O4qDRCYBrfZdiRnRYHIVzZertjFEJ6OBkZNJe4PuUwbPWjng==} + '@ai-sdk/xai@4.0.54': + resolution: {integrity: sha512-SYw8087hDU0PxTlkRrBz/Xj1zy3FUK8RA4tuxm32TqktTXsENYTG4XqyqRO3E4Pc3HhXcBJNqPjkyz8nsbpjKA==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@alloc/quick-lru@5.2.0': - resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + '@alloc/quick-lru@5.3.0': + resolution: {integrity: sha512-U4+70Pc5ZS9osnCBCE5Jha/ciHM+Yp+CNMNC/7HvYbNRk1Ldd+f7qO65W5qfhu/TCv+/ozljlXXe9Nj8419DMA==} engines: {node: '>=10'} '@aws-sdk/checksums@3.1000.29': resolution: {integrity: sha512-Dtu0gr4dnATZAPwEYbpCsG+MpLM7OAliy2gTepEFQwl1vZ6DL3QMH2FveMa3HLvPsOdhJsPRB3KtxVhph9T75A==} engines: {node: '>=20.0.0'} - '@aws-sdk/client-s3@3.1119.0': - resolution: {integrity: sha512-8+UH1uBWwjbRu0ugTBhJ/cu3rL/vzf1tm9/3+xZGf1uybIO3HTF2xLJJaTKkRPvzxz8/n/w+YrwoHGZ2Q/a2Zg==} + '@aws-sdk/client-s3@3.1126.0': + resolution: {integrity: sha512-9v+D5TOnISyWDBkY5N+lSeQ3/pPNi1bltpd7wfY2nALO7GoGq9QbRQ8KyI4j/ctnnHq40otqV5KWKYARdYI0vg==} engines: {node: '>=20.0.0'} '@aws-sdk/core@3.977.9': @@ -1482,8 +1472,8 @@ packages: resolution: {integrity: sha512-Jb59xfEISoN5mmbnA+HYqdtrSX3CgCtJoof+V5D8/TgUI56W63GEEd5Y58WijU3Ou6+WEgaLD1feVzaRXV5IDQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-node@3.972.81': - resolution: {integrity: sha512-Rml+WitoFvXmv6JZ18U/xGdGDGGvB/mOin0ya0lTnTrdC0Z1lrVxTYh7iNklZBcvcRMrs4DoEf6xy1KWyrLQQw==} + '@aws-sdk/credential-provider-node@3.972.82': + resolution: {integrity: sha512-znDkEOGXB8W3kG1LJUKP3foBZY/9qLM0eil/DxWXSp37XsdsRLQHE/d/OaCGGVgKpA6znR38h/+INk8do1FjiA==} engines: {node: '>=20.0.0'} '@aws-sdk/credential-provider-process@3.972.70': @@ -1725,8 +1715,8 @@ packages: resolution: {integrity: sha512-K8ponJDxBwDHigkeFqaqT5wLGl4bTlwMafR8k7b5CPxr6Ww+UG9ls8Yx6Tcpboxu97eeGVEEyKcHmEyOwN1vSw==} engines: {node: ^22.18.0 || >=24.11.0} - '@base-ui/react@1.7.0': - resolution: {integrity: sha512-j+8QjX44C32jrXD/qyEAGpFr70FRpGL2CY61mQd9nBPWN737CK0xxD1ceJ055rW4RtdvFDT1e7otzdlfxvsYug==} + '@base-ui/react@1.8.0': + resolution: {integrity: sha512-P0/1sxo6SBVZOklKMIedvTWqw2s2IQzi9x5bIVsXu980cuSOD4NeuRSs+/L7LZQfDkZP/uRZyGPyfFl/B1oH+Q==} engines: {node: '>=14.0.0'} peerDependencies: '@date-fns/tz': ^1.2.0 @@ -1742,8 +1732,8 @@ packages: date-fns: optional: true - '@base-ui/utils@0.3.2': - resolution: {integrity: sha512-oWy1aq/I2GmYjpl4PhEAhzflF8VPGKgZeq0xAWTbfD5KBWyxcN0ZP2+WHSUm/5Z6lVMBDLReLcoXwSYoRc/zNQ==} + '@base-ui/utils@0.4.0': + resolution: {integrity: sha512-bO9fz25kKtPf+aZVyfQrC0PDmJdmVni31W2hCS5/Owb+inwdIL3XU26pCPRPlt4LSxZrBgLwubXQXQlKaFEZzw==} peerDependencies: '@types/react': ^17 || ^18 || ^19 react: ^17 || ^18 || ^19 @@ -1791,8 +1781,8 @@ packages: drizzle-orm: optional: true - '@better-auth/infra@0.4.3': - resolution: {integrity: sha512-wQAdFoFxD/waZYHyF9hKIf8jAnWxVK0R2S28Q/4vCrXWCDKBn5ZVZb1Sy8UHcmbnr1p7xuscBZJTPoFfE6y89A==} + '@better-auth/infra@0.4.5': + resolution: {integrity: sha512-4gDgwkjoq0kacPO8DW2wRPnl9PP3ucIGietuJ4RPVX15gOu4WXhxvrwGenpKLEIfNWuW15cMWPEvzOL0b5M1Zg==} peerDependencies: '@better-auth/core': '>=1.4.0' '@react-native-async-storage/async-storage': '>=1.21.0' @@ -1891,59 +1881,59 @@ packages: '@better-fetch/fetch@1.3.1': resolution: {integrity: sha512-ABkD1WhyfPZprKRQI3bhATjeiFuNWC9PXhfGWqL+sg/gKrM977oFrYkdb4msM3hgUGonr7KlOsOFT5TU2rht9g==} - '@biomejs/biome@2.5.10': - resolution: {integrity: sha512-WRKXARA3kTuiV5sxqTpobJ/I0MVd4vk3pOL6wnp5az4LntFIhWTj1RWZq3DI9PCEN3lXcqy7p5aqUHzvq8AXyQ==} + '@biomejs/biome@2.5.12': + resolution: {integrity: sha512-Lw4VHZRebrReBBnlHa12JQjnIBm3JJAA55PDB9LbBVBF0q4RYphm6KfmIjqtPhf61MxZ5Q9KoK8R8x+7per5Aw==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@2.5.10': - resolution: {integrity: sha512-ItCrxKK6SXVT6flYs0qIuBd4AA3TTTl4d66Re6YI2FuGZnN85NmuYNzkiTJUyYw8qBLv69L5zTUB6uyWd++h3Q==} + '@biomejs/cli-darwin-arm64@2.5.12': + resolution: {integrity: sha512-lCRY1rwgNeWNgTr4DI/u6ZwXTRwRLHAvbaio1YLLGS+4r1nhvB2ssyPqIpfUSmRveNfv0fn/N58C7CAdK2XVrg==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@2.5.10': - resolution: {integrity: sha512-yLsPU9pAmtChXDu8vhKAzErqe+LeeYuwuUB2FZMkRitsmdodxsYRa9KHrFispsUHzzOu+9HB3nP/TQxyia+Sjw==} + '@biomejs/cli-darwin-x64@2.5.12': + resolution: {integrity: sha512-vhPgwnh+6tN3ArdAXuET99xaNbFt7CG82Bqn+omHVLC5xdVx45JsYjGPmUIGNzjDek5XdNCP1HKksK7fn8+3bQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@2.5.10': - resolution: {integrity: sha512-t1QAKZwQJRB4dvgJSgFiQ4BNfNPChg69BNonz854qLVxnjT3UvDzQg9mbkTJRu35ZqU0Rw10A73J8Urgbg2RPw==} + '@biomejs/cli-linux-arm64-musl@2.5.12': + resolution: {integrity: sha512-couHYjFLL5uuI8ne6zhT7KwEsXo5YP7ry/2xmEqah7qanu0YmfDi3mwJg47YXSuv/NpZj22CZzcRH/5c4gjPSQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] libc: [musl] - '@biomejs/cli-linux-arm64@2.5.10': - resolution: {integrity: sha512-VG8uQW/86a1roLaIFvtIbEigxIdzdJ190oGyg1tV7VYeQtOS+x10sflk7WbuXgw91EtZX5DlIIIej1YqkNLlcg==} + '@biomejs/cli-linux-arm64@2.5.12': + resolution: {integrity: sha512-2gp8aVwXYKdAtmBfRFCUuyDMcfN1ahHqUkGfLYrZlNRFmryMATLVvJgWKvyA8wu4Rwn5OSxM1UcUmOuOFNGeBQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] libc: [glibc] - '@biomejs/cli-linux-x64-musl@2.5.10': - resolution: {integrity: sha512-pgDDqp9JybHm2I0KRgzN6i4+lt8xu4iqxUwLzglUMmOmyRTU1AYBGKzh9sNMOtIjah7xoWvKHlLVetvyifzoiQ==} + '@biomejs/cli-linux-x64-musl@2.5.12': + resolution: {integrity: sha512-8A0oDW58/w9f/PQNYuq0sGUZtGtGrkNF4Z6n0PUoXpLCshi85vtKTv1XSznQawhdE4MXJ8ufpzHXyLFe87M/+w==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] libc: [musl] - '@biomejs/cli-linux-x64@2.5.10': - resolution: {integrity: sha512-4O6T0eq2heoHZN0a9UX+rWQoxXEBaKf+lRi2hbsGlHneUz9BWXM76nEWMK7Eeq8gzMxR1khQB6BFpAASpeXqGg==} + '@biomejs/cli-linux-x64@2.5.12': + resolution: {integrity: sha512-SnvOs3TSTiuia4SQOUNe1aWC9RT4+YkjcKnOhL/nsKOV0k5ycgBkDzF0lUxKn1V7Q8CLTRq6iV23ZAivHomRoA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] libc: [glibc] - '@biomejs/cli-win32-arm64@2.5.10': - resolution: {integrity: sha512-pxAbxduPO4xq/Cvgaa2lOrs9BB0hEXmmDqfMNP4ZOffGOkUrD1/QGw9UAMpFQpX2P8MqTIIRuQKcmetum4Oa6A==} + '@biomejs/cli-win32-arm64@2.5.12': + resolution: {integrity: sha512-b9vtoZFsuZt1pdjNwJvXl0f+BpayRzV008uS2+JpmwIKdSE2qdu4A/l04FESwLoou5g2E/Qlec0xwJydZplH+A==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@2.5.10': - resolution: {integrity: sha512-M+2dgBsl3lXRiTfgPVc2p3anS4Tocojke4rzFLScZ2Y/wmF+36dRb1iHCLiyGqOzQGyTplZH1HnEYviiAqi3nA==} + '@biomejs/cli-win32-x64@2.5.12': + resolution: {integrity: sha512-B1R/l+CwEpKFSuqiwePzPNRk1EiJN8kc0UhdafNz6MZN9v5OFP9HYP1irptvWzHrwVI4blVNGMbxc5zt70m3IA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -1967,14 +1957,14 @@ packages: '@codemirror/lint@6.9.7': resolution: {integrity: sha512-28/+iWLYxKxsvGYhSYL7zaCZqLz5+FFFDq9tVsvGv9kv8RY4fFAchJ5WX9M3YrrRlTIsECjsXPqeNgnSmNP2dg==} - '@codemirror/search@6.7.1': - resolution: {integrity: sha512-uMe5UO6PamJtSHrXhhHOzSX3ReWtiJrva6GnPMwSOrZtiExb5X5eExhr2OUZQVvdxPsKpY3Ro2mFbQadpPWmHA==} + '@codemirror/search@6.7.2': + resolution: {integrity: sha512-gUYkYhT2+n/+VGZ+8EzE5WFkYZUZYm1VOKDudIsNqh42uRVQJ0a6Yss9sdKT3MeOYfuL1N6AZA57oza0Oyr0LA==} - '@codemirror/state@6.7.1': - resolution: {integrity: sha512-9QzNDgE4EYDnAHfrTlR2lwiPciiOymLtwKK+8yHQzCc7GXhAP9xdEbEJFy2IWB1j9UGUl9BsgMmTo/ImA02T7A==} + '@codemirror/state@6.7.3': + resolution: {integrity: sha512-9aCZCzB5okKHVnUXivo+BXVzZz9b0SA4LAmGX60LuCXT7QjNCEHcD/kdmfYg7vAX3g1O+fy4Cpl6xFsWX2H/lQ==} - '@codemirror/view@6.43.9': - resolution: {integrity: sha512-sTuUzTpPMFebRhg6dawChoKKgndIwfjmJgKVxBefPElcU2NwQ6AFroupk0SFqEerQyZOGRfDNnSN8Dw/lMAsXw==} + '@codemirror/view@6.43.11': + resolution: {integrity: sha512-2+esucbQX6wB2JYi1eDvdCPFTA31BN8oSy6xCmk3G6CloV11yOvEjYk+gH7kLrP0MuHG94E8WDhjs5oMiu3+Wg==} '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} @@ -2065,20 +2055,20 @@ packages: resolution: {integrity: sha512-aalGyl7dbB5PArRebDIX43ZvBlXrYm9uWzGJ26t+4SzJVPsOuvfILGGbw5X4yX7i50YEmJ8zvbiWnqH/AAnZqg==} engines: {node: '>=22'} - '@deepseek-ai/cordis@4.0.1': - resolution: {integrity: sha512-YBdskTU2Po1kru3GgcUWUbkTsPMA9LkSQDAY8rBkFJeajdgcQad3QPJZE26JyK99Xb6HaASvoXg2DSUTeN/0Nw==} + '@deepseek-ai/cordis@4.0.2': + resolution: {integrity: sha512-asOnXP1TzFSFQlHb1iegDZp0z/8WD1c7YNrwJR/Tx2bzNuMXfcekE/I67Iv6SQXeLB4csxqCngzQKANP7gdw0g==} hasBin: true peerDependencies: - '@deepseek-ai/cordis-plugin-include': ^1.0.6 - '@deepseek-ai/cordis-plugin-loader': ^1.0.2 + '@deepseek-ai/cordis-plugin-include': ^1.0.7 + '@deepseek-ai/cordis-plugin-loader': ^1.0.3 peerDependenciesMeta: '@deepseek-ai/cordis-plugin-include': optional: true '@deepseek-ai/cordis-plugin-loader': optional: true - '@deepseek-ai/cosmokit@1.8.2': - resolution: {integrity: sha512-muBOKtSrUKU5m/xpq8ZXWL6hQ/jgd4PhU2PqH97bcxIiLEJfNwZOGQEx4t/aS/GgxRAR+ra9pMHPMtTHU4sqqA==} + '@deepseek-ai/cosmokit@1.8.3': + resolution: {integrity: sha512-qBo+ronVM6Eu2WNVJXi8JcMiqZ19T9BRIpV+5qJUFPXjGH/Z0QKcQMC/IZJ7L394YTOtJgcovbk9qP0w2GsBXQ==} '@deepseek-ai/dsh-agent@0.1.0-rc.8': resolution: {integrity: sha512-fOl46ZvzoYHalrlyfOJAHNhzyKeVDTUnZZKNSJEr9GY/98WJTjcV21agVEofTXldkJ7a/ws2HpJkVNJVFMtslg==} @@ -2202,8 +2192,8 @@ packages: '@deepseek-ai/dsh-session': ^0.1.0-rc.8 '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.8 - '@deepseek-ai/schemastery@3.18.1': - resolution: {integrity: sha512-Qn0FCSwCQnpnj6SB31I6i2sIKgKWnkbJM8O0EU91Gv2UsYVvtZTl6IA0sCwk2e2MZf5S8w5hpq9QkeVvK9qwxg==} + '@deepseek-ai/schemastery@3.18.2': + resolution: {integrity: sha512-njDtZsznjYxok7KLLlHOPyuv2efdWVbSflAHgztSfbMsg+CVraEoRe2DjOCgClYv3ZCSm7WXoaUkbB/+RY7tWQ==} '@dnd-kit/accessibility@3.1.1': resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==} @@ -2592,163 +2582,81 @@ packages: resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} engines: {node: '>=18'} - '@img/sharp-darwin-arm64@0.35.3': - resolution: {integrity: sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==} - engines: {node: '>=20.9.0'} - cpu: [arm64] - os: [darwin] - '@img/sharp-darwin-arm64@0.35.4': resolution: {integrity: sha512-Uhfl4V4lhP2nbUVF9+hyH1+luj86f1gUFeo8ALYxFoULoU+G87D43BfeMP8XHsk9boxAnCY/bf2EHwhA7MuGsA==} engines: {node: '>=20.9.0'} cpu: [arm64] os: [darwin] - '@img/sharp-darwin-x64@0.35.3': - resolution: {integrity: sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==} - engines: {node: '>=20.9.0'} - cpu: [x64] - os: [darwin] - '@img/sharp-darwin-x64@0.35.4': resolution: {integrity: sha512-hWniXY3bG5qKpkKrAwPe4y+VTPmf086YQAnkxWh7uA1YrlRouWGa0M0Mxj3ZjnXFkv7/TD1bTy9lGUK26vRvWw==} engines: {node: '>=20.9.0'} cpu: [x64] os: [darwin] - '@img/sharp-freebsd-wasm32@0.35.3': - resolution: {integrity: sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==} - engines: {node: '>=20.9.0'} - os: [freebsd] - '@img/sharp-freebsd-wasm32@0.35.4': resolution: {integrity: sha512-lIsKw/BU+kjB4eZjxrYrZmwOJYi3Ajrv66iAlBmUPyKc3HpnloevB1g3wxGD9P/5BbQ1brBGl65VRRrCvQDEqA==} engines: {node: '>=20.9.0'} os: [freebsd] - '@img/sharp-libvips-darwin-arm64@1.3.2': - resolution: {integrity: sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==} - cpu: [arm64] - os: [darwin] - '@img/sharp-libvips-darwin-arm64@1.3.3': resolution: {integrity: sha512-suTBPTDGrI9WodccaDdwZItTSaBYASlBk1NSfElSHrUfzu3szG6lvIF58+WiFvnfzuK8ZBFS5zE00PxqxnRiPg==} cpu: [arm64] os: [darwin] - '@img/sharp-libvips-darwin-x64@1.3.2': - resolution: {integrity: sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==} - cpu: [x64] - os: [darwin] - '@img/sharp-libvips-darwin-x64@1.3.3': resolution: {integrity: sha512-FVJZ5mITMobmXIz/hPDTw0EintTW5H3WfrxwLqEqjiIihlu+hVRyGrFQ60xl0Lxn7Bt3zdpevPaQi0HEzqz9fw==} cpu: [x64] os: [darwin] - '@img/sharp-libvips-linux-arm64@1.3.2': - resolution: {integrity: sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@img/sharp-libvips-linux-arm64@1.3.3': resolution: {integrity: sha512-0DaL0A6Xu6sQSQFwe4iVCrKWU2cCTItnRsYsCdxAMm9NF6twAA9BKnoqy4hqz4+azQ0JHuA26qiUKsf1XJ/v5A==} cpu: [arm64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-arm@1.3.2': - resolution: {integrity: sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@img/sharp-libvips-linux-arm@1.3.3': resolution: {integrity: sha512-3rbU4vqXXc3hY/OiXdl52xZvT0F1yEngWfvqudtPJg/KkyiaQw2DRsFrNzpmLvfavbwOq3qXn36GP8obHRULQA==} cpu: [arm] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-ppc64@1.3.2': - resolution: {integrity: sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@img/sharp-libvips-linux-ppc64@1.3.3': resolution: {integrity: sha512-cdn1OvUBwsXhbC0zSzJnNzf5MZ/mTrobawDvNXBTxe8VtqKAm0sRuEY2Evzovb/w9JMk4TvRxqt1mekSuJz64w==} cpu: [ppc64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-riscv64@1.3.2': - resolution: {integrity: sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@img/sharp-libvips-linux-riscv64@1.3.3': resolution: {integrity: sha512-HjPVx7yKz+0lqdhDlTw1tt90wamBoxhiXpvl1XZpJLiHH4RCJ5yDTqH+VlYPv2fwFs89JFw4c1IexYOcQUi4IQ==} cpu: [riscv64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-s390x@1.3.2': - resolution: {integrity: sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@img/sharp-libvips-linux-s390x@1.3.3': resolution: {integrity: sha512-neWLh+3yCNThxnfy3c4BbVBeGgt9aftno+XbT56iK28RgeDs3UOFWviLWlUu0bArYVYJaFDK+RRohbicUNCm8Q==} cpu: [s390x] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-x64@1.3.2': - resolution: {integrity: sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@img/sharp-libvips-linux-x64@1.3.3': resolution: {integrity: sha512-4vKmvAst9nrowcqquKFAyZJUDolUaIp8uRiN0mWFguJ1IplC9/pitXtlnnlU4aa/eJw3J7i67V+pwUL+wZGdsA==} cpu: [x64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linuxmusl-arm64@1.3.2': - resolution: {integrity: sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@img/sharp-libvips-linuxmusl-arm64@1.3.3': resolution: {integrity: sha512-Y9kQaLMuNoB0bPYOOdcZMaseNrFpPodIWWMrx+CZyydf2xn68j9WYc6sWWRrDwNkzCQjKYfc68L7jKjGlHMibw==} cpu: [arm64] os: [linux] libc: [musl] - '@img/sharp-libvips-linuxmusl-x64@1.3.2': - resolution: {integrity: sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==} - cpu: [x64] - os: [linux] - libc: [musl] - '@img/sharp-libvips-linuxmusl-x64@1.3.3': resolution: {integrity: sha512-fj8Mv0HHfD1Rr+4I68+3agJynxDWtBFgicTbSOb9Bke6pIwzGcJ+RX/yHjmiEGFMCavY/dxvem7MyNaJF+wDiw==} cpu: [x64] os: [linux] libc: [musl] - '@img/sharp-linux-arm64@0.35.3': - resolution: {integrity: sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==} - engines: {node: '>=20.9.0'} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@img/sharp-linux-arm64@0.35.4': resolution: {integrity: sha512-De4jpEnAU8Hd5oT0j1G3uL4ZvTuipVMn7YC6vPaJhy6/7EwEae0SVAoBrUMYQbkLGDm85taVWwuPc1a44LTzCQ==} engines: {node: '>=20.9.0'} @@ -2756,13 +2664,6 @@ packages: os: [linux] libc: [glibc] - '@img/sharp-linux-arm@0.35.3': - resolution: {integrity: sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==} - engines: {node: '>=20.9.0'} - cpu: [arm] - os: [linux] - libc: [glibc] - '@img/sharp-linux-arm@0.35.4': resolution: {integrity: sha512-7OAS8gI0EReKGVN2HssHlM6umJgxF5VI3xN0p9FA91p/YO+ou5hiNghLdZ5BEHztwaaK5+bLKRf8x/o2L2nk9A==} engines: {node: '>=20.9.0'} @@ -2770,13 +2671,6 @@ packages: os: [linux] libc: [glibc] - '@img/sharp-linux-ppc64@0.35.3': - resolution: {integrity: sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==} - engines: {node: '>=20.9.0'} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@img/sharp-linux-ppc64@0.35.4': resolution: {integrity: sha512-2oYZJeIl4kCcMGk4ouZVjnkCtFrpQFlNEtJ6GbxzhHQchwH0NH/qEb9ykmOl29dqwMq+JhFdZn+1ak2FKhI9fQ==} engines: {node: '>=20.9.0'} @@ -2784,13 +2678,6 @@ packages: os: [linux] libc: [glibc] - '@img/sharp-linux-riscv64@0.35.3': - resolution: {integrity: sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==} - engines: {node: '>=20.9.0'} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@img/sharp-linux-riscv64@0.35.4': resolution: {integrity: sha512-cPbNChoRURAWdebDIHSenxRpgEdy7JkPydSnUxRm9VvKD7m0/xVaR/8Fzlu81pk5nHEvHH87UZUA7cTtwnbJSA==} engines: {node: '>=20.9.0'} @@ -2798,13 +2685,6 @@ packages: os: [linux] libc: [glibc] - '@img/sharp-linux-s390x@0.35.3': - resolution: {integrity: sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==} - engines: {node: '>=20.9.0'} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@img/sharp-linux-s390x@0.35.4': resolution: {integrity: sha512-RY0JFY8Fd6RonCBtHz+DvadaPkXDSI1AUn6yWL9TipqkZ1vY8w8evqdgyDFnkm4/K1ve1TvZiaePP5oSd4+WVQ==} engines: {node: '>=20.9.0'} @@ -2812,13 +2692,6 @@ packages: os: [linux] libc: [glibc] - '@img/sharp-linux-x64@0.35.3': - resolution: {integrity: sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==} - engines: {node: '>=20.9.0'} - cpu: [x64] - os: [linux] - libc: [glibc] - '@img/sharp-linux-x64@0.35.4': resolution: {integrity: sha512-9qvvEAuk8k89TfWUoX2htWjbAMX8p+NxCppjpcg5k6xMsjhBQPTsoIh36h9Qde4WRuGpJeYnOjdosDn/cnv+OA==} engines: {node: '>=20.9.0'} @@ -2826,13 +2699,6 @@ packages: os: [linux] libc: [glibc] - '@img/sharp-linuxmusl-arm64@0.35.3': - resolution: {integrity: sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==} - engines: {node: '>=20.9.0'} - cpu: [arm64] - os: [linux] - libc: [musl] - '@img/sharp-linuxmusl-arm64@0.35.4': resolution: {integrity: sha512-KB5jxpfWQTr0nc3xdHtWChdbifHrBGsd2SM62Eyxrl8afikm+f5qGBU75SJIZBT/S1MC8XyacdlXBMSWq6OURA==} engines: {node: '>=20.9.0'} @@ -2840,13 +2706,6 @@ packages: os: [linux] libc: [musl] - '@img/sharp-linuxmusl-x64@0.35.3': - resolution: {integrity: sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==} - engines: {node: '>=20.9.0'} - cpu: [x64] - os: [linux] - libc: [musl] - '@img/sharp-linuxmusl-x64@0.35.4': resolution: {integrity: sha512-f+eZJZIQNEEd26RPSW+76chwOf1XtA2Y/O+5ocVyLliHkeih3e+jhLVBdNTd2rS3IbNXK8+ug93Vf5ZXtF5Lxg==} engines: {node: '>=20.9.0'} @@ -2854,54 +2713,27 @@ packages: os: [linux] libc: [musl] - '@img/sharp-wasm32@0.35.3': - resolution: {integrity: sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==} - engines: {node: '>=20.9.0'} - '@img/sharp-wasm32@0.35.4': resolution: {integrity: sha512-zQnl4Kwp7Q6NHsENtU2T/00Zi+w3AQNwz3+UaTyVBy2FpXrzXzGjndpK61onhZjRtRpQXxCTeqw19bVyXOh7jA==} engines: {node: '>=20.9.0'} - '@img/sharp-webcontainers-wasm32@0.35.3': - resolution: {integrity: sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==} - engines: {node: '>=20.9.0'} - cpu: [wasm32] - '@img/sharp-webcontainers-wasm32@0.35.4': resolution: {integrity: sha512-ESfNkywmCfPNyaZjxooddJQiQ+l/nTpGEOGthxiLnIHXC/CmcBixnfwUleX9mCz9ovrUUvKMap/pm8RYbzfwaA==} engines: {node: '>=20.9.0'} cpu: [wasm32] - '@img/sharp-win32-arm64@0.35.3': - resolution: {integrity: sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==} - engines: {node: '>=20.9.0'} - cpu: [arm64] - os: [win32] - '@img/sharp-win32-arm64@0.35.4': resolution: {integrity: sha512-iNdlBX9gLVvqe2I3uIJSIKTq6wckP/DYxZtcqxm09x5Gi24DnFBmPAWZmr60ZyYMG0xlzo6goG3670ar+RXvRw==} engines: {node: '>=20.9.0'} cpu: [arm64] os: [win32] - '@img/sharp-win32-ia32@0.35.3': - resolution: {integrity: sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==} - engines: {node: ^20.9.0} - cpu: [ia32] - os: [win32] - '@img/sharp-win32-ia32@0.35.4': resolution: {integrity: sha512-kqRsbaa5CS6KHlpxnN7WhE6vAAugXyZButpRdvDWetlv6Qv4N9WTcrWzF7tXfB9T7MsoadqdI8hmwLq6UlLvtw==} engines: {node: ^20.9.0} cpu: [ia32] os: [win32] - '@img/sharp-win32-x64@0.35.3': - resolution: {integrity: sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==} - engines: {node: '>=20.9.0'} - cpu: [x64] - os: [win32] - '@img/sharp-win32-x64@0.35.4': resolution: {integrity: sha512-XtmnYhBcrORsJ4XJngyzr/EWP0hRZLAZRFaApdKuviyqF78+ylxh2y06ZmtULAMOnObJ3ucpN0AcwSWnMowTRg==} engines: {node: '>=20.9.0'} @@ -2936,6 +2768,9 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} + '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} @@ -3206,8 +3041,8 @@ packages: resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} engines: {node: ^14.21.3 || >=16} - '@noble/ciphers@2.3.0': - resolution: {integrity: sha512-Clu/xdfgVTf9o7ngLOURaxePwR0j8sjclKEtVij10/jGulwFsPWCvvRgG/XjUVf8Nei+jLG6uwyXzUTGY1DQrw==} + '@noble/ciphers@2.4.0': + resolution: {integrity: sha512-AnjFn0Jv92laAkvMrghlFZq4qQCIN/4DxFV/eooqtC2YTjB7kBeLMS2T9KJX4Dn+ZVXLOwK0lSgqDtx9gvxtiw==} engines: {node: '>= 20.19.0'} '@noble/hashes@1.8.0': @@ -3218,6 +3053,10 @@ packages: resolution: {integrity: sha512-oN+QwyX7VSHotibwubG3kpzbwKrfnyR6OOO+3Nk/53ADL7FmgHHz4TgrbaYKvvOw09u6QTx0oiH1cNCIOuN0CQ==} engines: {node: '>= 20.19.0'} + '@noble/hashes@2.4.0': + resolution: {integrity: sha512-X5XaVWZIBCT7HHZGm5I7ZQXDwLG+bGXuSrMQAW+7Zvl87h1kmc1ZB1VSRJcpUfoUrGQp4Fkoxm5kZ+Ms+aW+eA==} + engines: {node: '>= 20.19.0'} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -3321,8 +3160,8 @@ packages: cpu: [arm] os: [android] - '@oxc-parser/binding-android-arm-eabi@0.143.0': - resolution: {integrity: sha512-n9uozULWflPqBtdmI8lAabLqGKNgLVNN0ZH8HfgCwpKGNtzRzauB76jTiW/3YLkcA7N1zskpi9GdVnZuu1SAvg==} + '@oxc-parser/binding-android-arm-eabi@0.147.0': + resolution: {integrity: sha512-fOtoGvIoirkvxQVw9J1WJPxz571XPgLsPf9uhRD+PJteUnvrJHMDmK9pw2yZEGGyismtRoEsp+JcXUdF/JDMDw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] @@ -3333,8 +3172,8 @@ packages: cpu: [arm64] os: [android] - '@oxc-parser/binding-android-arm64@0.143.0': - resolution: {integrity: sha512-9BbdjHETk6O3zH/DDid9IgBtF0GlpLabNKN231uraXpRDSfY+iiZxTP5bk1Z63GBownVdhdINFIeddmMz4MzpQ==} + '@oxc-parser/binding-android-arm64@0.147.0': + resolution: {integrity: sha512-emjQHOYJaomo4ykaXQ1EItunr/I94Nk01oqBmU4dSkKSTupIDx6OysVDf2e8Eytm77rb+4ZxzgElyWP7rcEX7A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] @@ -3345,8 +3184,8 @@ packages: cpu: [arm64] os: [darwin] - '@oxc-parser/binding-darwin-arm64@0.143.0': - resolution: {integrity: sha512-gh+6ecoHUy4/sUcolBl/1qPXKBbYNxFY0Pk0ujgQvINTMSftJY7o4yb8gOkDJPeZeB8+a+u7xTe6umoP8N5HFA==} + '@oxc-parser/binding-darwin-arm64@0.147.0': + resolution: {integrity: sha512-kXvBPJL7RmDPJ2mze/vXPPVQimCDtFr9OFLjf7dyhV5Dx64cgcXh9KKrA1sMWvCObvJll9CZZUO0FBlFwD0l6A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] @@ -3357,8 +3196,8 @@ packages: cpu: [x64] os: [darwin] - '@oxc-parser/binding-darwin-x64@0.143.0': - resolution: {integrity: sha512-qd1hl2d+lXgHv/VQ/M9qm8TrMC5T4RqDBwtOnl+1D0QMjwcz+8AaB4JSg8STgeag0GP6a6L74XEGAsrTSJWNzQ==} + '@oxc-parser/binding-darwin-x64@0.147.0': + resolution: {integrity: sha512-mgFF8pLU6R64LbT27lSrtVRspVC/3IcZ0qyIikzmi78Y3Ik2OPnlAHHI0UEBRcC3qmNgtjaef7zkFt7/uPxIcw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] @@ -3369,8 +3208,8 @@ packages: cpu: [x64] os: [freebsd] - '@oxc-parser/binding-freebsd-x64@0.143.0': - resolution: {integrity: sha512-M5XXcNa7aOqLPKTR41msfghKu2yQ4xWvCm11/gwU0JzOzHNk5sgW//rVEjJ+LO48+VDAMzXTSzurUVxIDKwozw==} + '@oxc-parser/binding-freebsd-x64@0.147.0': + resolution: {integrity: sha512-v38aiF11qufOTBcCAKL4skgQf0zJ4NEvRlivq7B5kHrlyvjCLjvNrMtNWDTz1SDUL6/xVsJRmLDxv2e+Cp4oWw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] @@ -3381,8 +3220,8 @@ packages: cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-gnueabihf@0.143.0': - resolution: {integrity: sha512-T/GXusuOkPNQhCQCSBbcU/N8j0rAypuDBl1IyFK+lyYT594XsVz80clPC/OtbSSpBGyJxj8uYEfctxVuxVYoww==} + '@oxc-parser/binding-linux-arm-gnueabihf@0.147.0': + resolution: {integrity: sha512-AeIiBbwUaP0H1+4/qGW9l5qHecS/+XA5iMuieVcGb1T+tyc2dVGspFW13BWk/XrLsiGP/CiDJTJqAPLLCzZHkw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -3393,8 +3232,8 @@ packages: cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-musleabihf@0.143.0': - resolution: {integrity: sha512-oKu4RcBlXSqo3OC62dp6YTnQaZIurNDpCX3BnAM3+bJxt7s8J2TJKMnC0UYer1qhlRaDCg6wkTaTw+2IlsZ12w==} + '@oxc-parser/binding-linux-arm-musleabihf@0.147.0': + resolution: {integrity: sha512-/41MKPW4RgPY4DJco0NCF0RYX3IMZaVlRNMNzvhaxRavc7tN3Txm+qllZbh0aMRs0VHdgUlbI8TcAOiTai4TKg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -3406,8 +3245,8 @@ packages: os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-arm64-gnu@0.143.0': - resolution: {integrity: sha512-WJBbD186AZmMGaSIhlktC+rPl8L3peCTXAh88Ih9uEvK0en2mPojGyCGYiL6mHtV1RPV3JyfJW5t6n5hh0lXhA==} + '@oxc-parser/binding-linux-arm64-gnu@0.147.0': + resolution: {integrity: sha512-bmpw/RPhVXgZbtb3xBDuwW5s8+LvZYdqcDSX/sP2ltL77aTio3DP/B5ZTwwgoJ6Mr9vJs4RrmgEKW9XkLNUU1g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -3420,8 +3259,8 @@ packages: os: [linux] libc: [musl] - '@oxc-parser/binding-linux-arm64-musl@0.143.0': - resolution: {integrity: sha512-t1AcYOwEzgceadT4v5e+vaCCb0AncCA3v5AyzfBAz/tMq11qzVccXKzNHtkWdjBsgvTKwRkaUF3QvT4kot8vcQ==} + '@oxc-parser/binding-linux-arm64-musl@0.147.0': + resolution: {integrity: sha512-gd7VX/FDVOw6mjQcu45iIcp4QkgybgJwh3a0OFG2NxmPCj628mQWD96QGu1kK8+mZF9qK4b/gIEyC63vQoB7+Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -3434,8 +3273,8 @@ packages: os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-ppc64-gnu@0.143.0': - resolution: {integrity: sha512-RsnO/NoD8376LMJq8JS8TwI0ieNaFRTuNe2GVJntQg6gwZNMENZsEbknHdVwjpOmxdGLGodcwaGSbAeRr5Bgjw==} + '@oxc-parser/binding-linux-ppc64-gnu@0.147.0': + resolution: {integrity: sha512-HnAzcfki7dSUNHf510Q2NmbJlz8Ys7rn8l9l588Pkx0tYe1BHLZnmELIgqizJ4WPhHGSwN8Ce+B/menVxS3odA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] @@ -3448,8 +3287,8 @@ packages: os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-riscv64-gnu@0.143.0': - resolution: {integrity: sha512-48fSVfR9TZi5CASZFyv0VC6z6BCoeihFsX031mAD/oSH7d9PYsPgIqza7d9mjP7Z2KTEpTFyH6SIu0Ui6R1vdg==} + '@oxc-parser/binding-linux-riscv64-gnu@0.147.0': + resolution: {integrity: sha512-qlkOL6wT44U+fT5s/+sR6Shx0OdwvQF83JyIPZUxG/ovqZF5/7atOtjH+JPZ5/7ATQLbFBBSmghcy/+2NVB/ew==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] @@ -3462,8 +3301,8 @@ packages: os: [linux] libc: [musl] - '@oxc-parser/binding-linux-riscv64-musl@0.143.0': - resolution: {integrity: sha512-T8CpdD+SfE01DnIOD4HpVxu0ZJOfMJ/VhCvikKfaXAxkZ+9veyLM/D2hpi7Y2hFUyPmVQO3FNZHmYzV/WlVR4g==} + '@oxc-parser/binding-linux-riscv64-musl@0.147.0': + resolution: {integrity: sha512-DlefD7L7sMXs/3hIBH23Egk0phj8kG0SA81dVGOQ3S1ekjOlmTLH2E+F2Thwfh1slKx6aH+lNc5fQYAw0GU7/g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] @@ -3476,8 +3315,8 @@ packages: os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-s390x-gnu@0.143.0': - resolution: {integrity: sha512-QLdeMsCcacenPEFsfxnBUDF1y6opyz5+fmOz9bfD5Y7fiGCMupUCuB3KTPQhNwshIG1P9fPqar9MHxuBDd4bwQ==} + '@oxc-parser/binding-linux-s390x-gnu@0.147.0': + resolution: {integrity: sha512-Xqpagk/031IvZ4svrk2FF01YEqM/iN3MJV3SVZadKg/CsGlDCGoREqKHXYnoV5+8SfGe/m6RM1szXFLusTu/Uw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] @@ -3490,8 +3329,8 @@ packages: os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-x64-gnu@0.143.0': - resolution: {integrity: sha512-659ujfqLy6k7cuH3sbzhd8b+ztSq+i6E2E9pG78Q0BmHjAExfGIdgc8cGgMdwAozDXeZFHkJ+LXYJdWsaGdgyw==} + '@oxc-parser/binding-linux-x64-gnu@0.147.0': + resolution: {integrity: sha512-QioQOeUbI4ATUr0S2z88uA3Cds2R3Mm5Ge7U8XNYtlTb2GJF3rWlcj70z0AJhhOlbdm0YgVjqPBldUNbFylDIg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -3504,8 +3343,8 @@ packages: os: [linux] libc: [musl] - '@oxc-parser/binding-linux-x64-musl@0.143.0': - resolution: {integrity: sha512-/Mw/9j4TfZcnKphPrzOE6t4MMknXadcAAuVUlDRTF/ETWB5xOgQvOJV2Mh9We/bWxZdoxaGAdc+hy4GuYwQ2yQ==} + '@oxc-parser/binding-linux-x64-musl@0.147.0': + resolution: {integrity: sha512-NXy1tv/OdC+pPTwf9RiCZWPK53V/Xq/2cjSnjOSyKopajdaDqMIkgtDY+jXZemp2e8px5FeWfY2L2LwhKZQovg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -3517,8 +3356,8 @@ packages: cpu: [arm64] os: [openharmony] - '@oxc-parser/binding-openharmony-arm64@0.143.0': - resolution: {integrity: sha512-8rIKWR2BFuifbIK/1XB9wTaSdtuJ25dlE7ZQYDnEwj/2xH2vHsxnvIjHT3ZjSVuLLwGGlSslIG/fbOJ8TV8rTw==} + '@oxc-parser/binding-openharmony-arm64@0.147.0': + resolution: {integrity: sha512-GpGWZ6oKz4bjCWW9Mz5pCaGPyk2Aaze6zEoaslIQqpSLtpx5pXj/ap5gUNb5Jn2LIbqWyjkGLX9yv3NMuNcBVQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] @@ -3534,8 +3373,8 @@ packages: cpu: [arm64] os: [win32] - '@oxc-parser/binding-win32-arm64-msvc@0.143.0': - resolution: {integrity: sha512-5U9kQYMfRRI6Zq7KDxgbIP0RMnKrfn3gLepRMgJuRkPSUALTiRCk9d/uyhb4lGDjUdzwK7mBkKqhLgzBPCmLpQ==} + '@oxc-parser/binding-win32-arm64-msvc@0.147.0': + resolution: {integrity: sha512-a8mlt7CC8z7LUdCfaxhff4kCd+vSjE+NEFL0cxA8ukfuSnvAto/pWTjytW4BuVLnQGcCVdHJwcRKOfs++H+tjw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] @@ -3546,8 +3385,8 @@ packages: cpu: [ia32] os: [win32] - '@oxc-parser/binding-win32-ia32-msvc@0.143.0': - resolution: {integrity: sha512-25P7AaHk4R88Yv2XH4gToDVmh0cOu+bEURQU10CRrmvgabfRArSGAP5osmwUKeSUHj0VS50upbpbRWWW/m7mHA==} + '@oxc-parser/binding-win32-ia32-msvc@0.147.0': + resolution: {integrity: sha512-M5ViVDBcFLnl2632AuuWuP35zEL5oikK1jTx8r3+902VEDeSNHxFZAB6RZyfZ7MU6Oi5QTOG8MmMkIeHsudSaw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] @@ -3558,8 +3397,8 @@ packages: cpu: [x64] os: [win32] - '@oxc-parser/binding-win32-x64-msvc@0.143.0': - resolution: {integrity: sha512-ORMh3JE1s6V7ySicdRK7vgaDQnn5o+UHg9ct989PlWHbel8O9ARrmWXM6kZjrBMtNucxNayQ8g69G0VfWzhANw==} + '@oxc-parser/binding-win32-x64-msvc@0.147.0': + resolution: {integrity: sha512-DUaE13OwnUSlHpLZNcC/nuT10ivlWqc5EZgsfgXuAmWYw0r3nDxGeLD1zlGwYwIgVk1/ZMAxoXpV+05stvbHaA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -3567,11 +3406,11 @@ packages: '@oxc-project/types@0.120.0': resolution: {integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==} - '@oxc-project/types@0.143.0': - resolution: {integrity: sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==} + '@oxc-project/types@0.147.0': + resolution: {integrity: sha512-IJ3s6ltHLp45S0bh7phkX+gJO7A1Wuz2EaqpAhb8WjqDwbzMiWKHhyyT42tskaWjEYXtHtVCPpnBJVT9+dcRLg==} - '@oxc-project/types@0.146.0': - resolution: {integrity: sha512-XC0QsnnhVe7sLIWmYmdPw7x5P0h4W8vUU3Nv1ySgWXtvCz8NizoAEpGXA0sOYoJQV2Rl13LgURAHQ5cI5ILCSA==} + '@oxc-project/types@0.148.0': + resolution: {integrity: sha512-Nm4s/jB+4FpFsPhWGEC4h7rzksesmtnMXomo6rCMcg/b8zLQuOziRgkCS1fxDCXOlJB/6Q8oABOZ/OP6RIPj9A==} '@oxc-resolver/binding-android-arm-eabi@11.24.2': resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==} @@ -3920,8 +3759,8 @@ packages: '@react-pdf/fns@3.1.3': resolution: {integrity: sha512-0I7pApDr1/RLAKbizuLy/IHTEa93LSPy/bEwYniboC3Xqnp6Od8xFJKbKEzGw2wh/5zKFFwl00g4t9RwgIMc3w==} - '@react-pdf/font@4.1.1': - resolution: {integrity: sha512-D+4Xb0Ldv7oW4buvdPo/tDtZ95mWFQsg1oLkqgmxRfwJe/qpsk8X5Zq9VJ9F3Lqbj3Lrq+ztz7FFaIv39V1POw==} + '@react-pdf/font@4.1.2': + resolution: {integrity: sha512-RT/jiGWIRjIC9c4S9NiqhEyfuA6YL+DtWL3Rm+k+zQhfeHYvHwGzFxr7ZJzThIMrT8sIQy+mpvFvfYyitEei/Q==} '@react-pdf/hyphenate@0.1.0': resolution: {integrity: sha512-CWulbuusHh2Lnos9ZffT3ZYfjCt332Yl8wjSyCKWbwhbTpe/VdFt53fM5elPp3HU3R6tzH6j3oYlLXDwC2WEHQ==} @@ -3929,8 +3768,8 @@ packages: '@react-pdf/image@3.1.2': resolution: {integrity: sha512-89vlvZCCv1hPunFtyeS2rJTRL8h2yYmTI97AM4ppibS79zGsPFbqz/YrAunndcHB9uwGdn5S3+5k18mj0L2vkg==} - '@react-pdf/layout@5.1.1': - resolution: {integrity: sha512-lNc8E3kADpyN4dbpXnlDlKI0eWwJoiOLHj8qB1NM9bG9mI+gQ+AWkojV9/IfeRztGZJKza+s6zRmhN4vMtJ+pg==} + '@react-pdf/layout@5.2.0': + resolution: {integrity: sha512-Hzf9cShT1bKkr9tZ+A9qK/wHqUloOCgbNer72EquQS6QzqVGiDdtt6Wh9lQXwkd89U7yZolTLnFqP/dRdoRROw==} '@react-pdf/paginate@1.0.1': resolution: {integrity: sha512-JN6teDqkdpkcRhdGZqyrr7Y8flgTtyI8XS3yaBQLyiGjEBPbR9m/19cz2z3JkqYpApau5pEHZlLjwGqMurWysw==} @@ -3943,16 +3782,16 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@react-pdf/render@4.6.4': - resolution: {integrity: sha512-IqWHtFo6ZpF+pS34ZMMwUekfG0T9YRd/qaFU68lC2VIU0GJw3OLOUA1JbliZZgV+r9sTHF/UCQzU5t0s/ypZSw==} + '@react-pdf/render@4.7.0': + resolution: {integrity: sha512-UEMgR7gBmCJiKpuu9alY6QeZVNB+7b4DGHc7Hi8QIl+5PfHvyq+TV70N7+ngZ6wN7hF3XSiWz7GDuYxPIx5eRw==} - '@react-pdf/renderer@4.8.1': - resolution: {integrity: sha512-BZD/wbImXHIT4BeYeX33NmcDUkL1D5KtUokgyKhNChbZL7ccdnkssvW8GbzYRaeCt6jYI3HI7nA6vDA19MFhHQ==} + '@react-pdf/renderer@4.9.0': + resolution: {integrity: sha512-RAbARMwjcSYEpqpaWoWXz0uOGF1HjAl5hdJr889r5mgkPhF9xhX4CXSvcEbLTgFVj+KWbcar31MzcXYoANk/Ag==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@react-pdf/stylesheet@6.3.1': - resolution: {integrity: sha512-+tlgVBsyG8lKMXJp6XycTnYrFkxAxxoLGbc6DUXKe5sxDxqgtD/AqhlrrpUwewxgCDrcIWmWBUb4E95ZUa+hEg==} + '@react-pdf/stylesheet@6.3.2': + resolution: {integrity: sha512-UR247sNBx2k3RdL8JUCpUiyx39yQsUABagv3uAi91iMZCORE+fSCsOh7MOcEImmpms4GihydLGudbngI5g14PA==} '@react-pdf/svg@1.1.1': resolution: {integrity: sha512-m1GmGxV2wg/3VpoQ0aCJ598fBedCCfN+HtxKx1lq5kdwUWEaTbfXI1DGFAUedprFDd/i24okKFaUhV/KVZIqIQ==} @@ -3960,101 +3799,101 @@ packages: '@react-pdf/textkit@7.0.1': resolution: {integrity: sha512-ljY/YoEETIOR/+zxWdLLmKlupz8/nBsbmxglM3mDRco62UEzEPnIeMEzYVVVraovCAJC2t+50gKFNSV17FYxbw==} - '@react-pdf/types@2.13.1': - resolution: {integrity: sha512-uzEWSHZR8HRjsa7g0yCA+sGX1vC10rm9mBE+Ds3j669y1Ax+1hn+MfIknf8Ae8p3WVNNikUof02pVwLRw6kJng==} + '@react-pdf/types@2.14.0': + resolution: {integrity: sha512-TYHpThdf2sz/d1g+CP9nWjYCJ8BYBUN5ORL6+60A85Js9S/YouK8OXzi+hDpYUSZJTOdYXdRxUNeG2oW8//Ulg==} - '@rolldown/binding-android-arm-eabi@1.2.5': - resolution: {integrity: sha512-DLe/i+l8ynIBY7XEQ191TeZvCoowIGa18R+dIV30GW7DiOtp74i/xX8hs8GUjW5ARV7VZuie3d6AumSmCwbeRA==} + '@rolldown/binding-android-arm-eabi@1.2.7': + resolution: {integrity: sha512-EypzgnYCwyVY4NDHKzGmNJT5b+XaQEBniHxsMdeIQLB/tcCzZnhqrzHpZFbX9iaxx+5RiB8caATBtfvZP7zVxQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@rolldown/binding-android-arm64@1.2.5': - resolution: {integrity: sha512-zXcwKlQApYAOELHd8PwKDFkagYF9Wy4e0RJ+0qnzl9Pjnpj75TEG8ufv40p2J7kCEfwZAsNiuzRIyNNMWT38ig==} + '@rolldown/binding-android-arm64@1.2.7': + resolution: {integrity: sha512-l17HE9EweWaqJZhuUuNBN/FzM62xw+DECVnJyvMsxn8vJFAGLy5QfLDoYAcronkAN8VxKZHezDpulHDPx95vFw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.2.5': - resolution: {integrity: sha512-dK4QakI42nzWgJT5sm4y4y/O//D4OxM75/cH28RLV+nzIN9AY+YsbuUVrUTjlLjXR6vpyxFbSsbmNuJ6BP9sww==} + '@rolldown/binding-darwin-arm64@1.2.7': + resolution: {integrity: sha512-8ED8ELFvHXc6OCETIn4gXObPiaR6bckM/ipXtbzlPVDRMBfEGjCKgO90F9YtfdpDatVx/ZQw7aZ1vUMf/+T3Mw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.2.5': - resolution: {integrity: sha512-fqSALaUu1Wjd1nK2uW2kJDWdLCc8lx1IcY+MTY26Aurfdx19anlzhqXOgCFbBFQnlFDTn4TC1/7Nz4Bl2mLP3A==} + '@rolldown/binding-darwin-x64@1.2.7': + resolution: {integrity: sha512-/WPripjtiAIZ2tWY7ddijORT0Ujg87wxWW/qcoFVCKAWVDPhtY0xr7Dj0M3GyNGz60jGwTElhro/mkF9dT7dDQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.2.5': - resolution: {integrity: sha512-/vCnNxlkxs9tKxNDcyWUePpJ/PgTzxIaVhoM5SmG8UV+GR/IcPam4VYxi7GIMo7PSDuNqlJqvprqii9NqqVCMw==} + '@rolldown/binding-freebsd-x64@1.2.7': + resolution: {integrity: sha512-14DI4NcqpvbICxSnGLx3PmtDaWqRP/KGSGb6C+JLLVPeZRl6dKdHba3pGsqT3vpdTqhEYIPG0MMQ8c0xYqoJxA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.2.5': - resolution: {integrity: sha512-abk0NLA519LxRCszmbE0jYKuQ9YPocOXTiOXOo6Yr+YAT95VH+PtqYAjOJvGKt3viEd/x4qzabAlwd5bHOOARg==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.7': + resolution: {integrity: sha512-bxrWIRvHWQvbJwi+VIie/kDJmQxcNE6xxWwZdqF/ExVAigtHkv54WTLQPb+QsZdnFy18fg7JPfWGL0RH6vwIlQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.2.5': - resolution: {integrity: sha512-Y7eALiJ8lr0M2HH103Js+g7V34wf6snlpZLAsHI90uLhr3PVlNsbFVAXJC9d/V6BnPyKtpSwI+NcB/RLxsQxuA==} + '@rolldown/binding-linux-arm64-gnu@1.2.7': + resolution: {integrity: sha512-toOY2BChBZyuxU7OYX6Tn389di4IzAqPTycVcci0O7FSfBqzRB3RZn+K5Is6ANf4tmgRd/K1yZTsNTXbkXsnLg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.2.5': - resolution: {integrity: sha512-xMvZgnbZg4YVnR/AX2b3oOPDTFYJvUVaJg5FedA/LuvexAtXibZQej4cnTkw3rjsJ/ggUROB64TdtETiim+FYA==} + '@rolldown/binding-linux-arm64-musl@1.2.7': + resolution: {integrity: sha512-lAIXTH/aiLRLxsTgQvfhjo4K1ydWIp00+V0voOr9beb/9ZmkUFrSIb03dXNFRgMNvkE6oGsF10ioQ6UsI+vS5Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.2.5': - resolution: {integrity: sha512-GRjeqTUDHTo5GwntsLaAMcBahG3nlpjftXWZLN73HiYQlhwEowvarFgQnRnQZtIp4keXX7quXFbG38uPZBa2EA==} + '@rolldown/binding-linux-ppc64-gnu@1.2.7': + resolution: {integrity: sha512-kdnwS28Pkenp/mZMRwjXXXwxQ7pIsm+bF919LUK93BOyhcLsrVKdP2p9fxpiPNPAbNuch8ypQt0pm2P2LYCAGg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.2.5': - resolution: {integrity: sha512-vLNTR45F2Uwc8AufkNXPmB4VliaXs+FvcheEogIzOXzO4l+LzieXF5A/TWxLy5HtqpsRCHUfd0lPVrrdgXdLHQ==} + '@rolldown/binding-linux-s390x-gnu@1.2.7': + resolution: {integrity: sha512-516OdsyLdr5E65paF3yBF55t8mfm9+gmtCsK3xI7XKXIT7EfRlHhxL8K/NR6Hu8BWSgF5+1w74lTL0+nxcc8Qw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.2.5': - resolution: {integrity: sha512-Mgj59/HTuYeK9Gz2MA+mBWKnHsAgkBSec15ZMb1st3oIfFbX7gCjOae7GydHhzcyQi9Z/7M1QuN9bR3oFqF0jQ==} + '@rolldown/binding-linux-x64-gnu@1.2.7': + resolution: {integrity: sha512-r8/z8n7GFaYRln3xmP1Cxy0HH/HLM0uBUPkEuSVEfKGDA89M0FsZRZJRSwe/tJjRx+fpH/gjorfhB8tmEbSFLA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.2.5': - resolution: {integrity: sha512-mY8AP0/ichsbhAxGnLa3d3+MwV0EfgrPND2bplI3Ym8T6R2pJ0N87bvrKVwNXmdy3jnr6eQBecdqx/HMknBmpA==} + '@rolldown/binding-linux-x64-musl@1.2.7': + resolution: {integrity: sha512-pAsE8iiDxUg1xBqdhrTfg45AVDVpirjz00sblEYClGNNcMnDb+e8beQgqIAw6LvauX/APvgxUnwrgun/YYGBhw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.2.5': - resolution: {integrity: sha512-8SLssA2oweAxyRgDp789ACfRb/3P+zNRJpzZxSizxF9m8NUDQ4+3xjo8ttjhVGGw6Qxb70oZiEtIjaKikCO7Yw==} + '@rolldown/binding-openharmony-arm64@1.2.7': + resolution: {integrity: sha512-lTcIYmmnQQA8Or/2DatS6oSqcdLHvendjS+zLu+FwgToynWMRSmQdpM65fTANJgIS4mjbMOo5KT2lnT9SAb96w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-win32-arm64-msvc@1.2.5': - resolution: {integrity: sha512-vGbruD5zquhoc8D9SViXgN2FBJtNdTyQ4DtG+SWiEGlJiAzoKcZ2xp+xuXCffhubVdt0NJlTZqkeRuERy7g8Cw==} + '@rolldown/binding-win32-arm64-msvc@1.2.7': + resolution: {integrity: sha512-e3Gu3WxbNk/UqQhxqU7YIYO+9ZBvWNz3U+h/qRFosscMFzdRPbXYSaSWgSnklv2fz1TgzBTcti2z35c/7irsHw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.2.5': - resolution: {integrity: sha512-e/SXpgISz+IoqVcSSI0rx/d/he8zqLex+/rCWpnHpmVfmPIUjag9H6P7zotf0gJHwPUhQxZ/mF8tr6acebT9yw==} + '@rolldown/binding-win32-x64-msvc@1.2.7': + resolution: {integrity: sha512-W/jg5qoRSqjsEv0+dZi4e687mcHqmVuU0P4fK6qS/xjetW2Gmc1W8j//z5nAeNcC8Ttm0hV46IjcYeuVwYhuiw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -4099,8 +3938,8 @@ packages: ai: optional: true - '@shadcn/react@0.3.0': - resolution: {integrity: sha512-iKN0NuYe850VDHlxEfvppFrpa7CMV3zArTHusXlaSmeFeQhohGbIqclv6WwPTs/44I8EkXQpcuRt6sXEVKkWqQ==} + '@shadcn/react@0.3.1': + resolution: {integrity: sha512-2gOR0HDMtWeRsCZfNDaU0YDFdgH3zsDQ6lz67Fv/y/qjY9y+R8kJqAn6q56phqv7/zHi0wqURjntrNO9zL7vnQ==} peerDependencies: '@types/react': '>=19' react: '>=19' @@ -4121,8 +3960,8 @@ packages: '@simplewebauthn/browser@13.3.0': resolution: {integrity: sha512-BE/UWv6FOToAdVk0EokzkqQQDOWtNydYlY6+OrmiZ5SCNmb41VehttboTetUM3T/fr6EAFYVXjz4My2wg230rQ==} - '@simplewebauthn/server@13.3.2': - resolution: {integrity: sha512-KEDhfcGP1PAKRVSDjA3npTQFqS2b/srm+ipoNBNHdkzrHAlaRQUTE+a5f4ywsx6thxAw1NU2rYcLEY1949RGbQ==} + '@simplewebauthn/server@13.3.3': + resolution: {integrity: sha512-LelX/lcy5cjc15A86i/aNxHhB5eU7dd20QsbP0VLAf9e38+SLlsnqCCyecx3xqfGofhmX05h1J9fKRYWxw+luA==} engines: {node: '>=20.0.0'} '@sinclair/typebox@0.27.12': @@ -4132,8 +3971,8 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@sindresorhus/slugify@3.0.0': - resolution: {integrity: sha512-SCrKh1zS96q+CuH5GumHcyQEVPsM4Ve8oE0E6tw7AAhGq50K8ojbTUOQnX/j9Mhcv/AXiIsbCfquovyGOo5fGw==} + '@sindresorhus/slugify@3.0.1': + resolution: {integrity: sha512-N1oPvN6sytRKZCskv0L+vSyvnUYi9JplPXZ90lT6EBsijjHrUdoXttb0Lna6pw1TWMe8vlajQnLDtU9KYHqtDg==} engines: {node: '>=20'} '@sindresorhus/transliterate@2.3.1': @@ -4148,20 +3987,20 @@ packages: resolution: {integrity: sha512-A9uSdn72ozbRUSit0eib0TW7nXuNPlaeM0zcGkJ+nE6tFcSDbnmtwoxbTCFBukVQcszDAyvsd7+rTduPTXpygg==} engines: {node: '>=18.0.0'} - '@smithy/fetch-http-handler@5.7.2': - resolution: {integrity: sha512-nZyWTmSpJEXl6VtWVMBJve/7x12DZu6sIX1z1a+ZMaHlQQRs9Zpu6NbTe/gmxYXVRpkjxyDYpZ5gx2IM6f/Wkw==} + '@smithy/fetch-http-handler@5.8.0': + resolution: {integrity: sha512-ycSJu3tFAQ4v04CBB0agqFMVsSQ1iG3yw+SpgxRqKfaURpQD4CZ8Wn0zPMmSnOuTpTh65Vz+EA0rMrw089wvkA==} engines: {node: '>=18.0.0'} - '@smithy/node-http-handler@4.11.3': - resolution: {integrity: sha512-2jY1tSpERfPfWqyBV2pH+iGFaghVsIJszJNsT7hxtQYhVJpWDyc0LqOWI+nXOxOAHaEfZ4PXXtp1wW1TGpHhkA==} + '@smithy/node-http-handler@4.12.1': + resolution: {integrity: sha512-ThMkboGeONWXAelq9FvGsuJC4rOi+qyC4/zhUF58xYpxUg5sQKx2VXZYJmtNjr4dSuBJ1HeJXETQILCz3wOHvw==} engines: {node: '>=18.0.0'} '@smithy/signature-v4@5.7.3': resolution: {integrity: sha512-7ImGm+FkHRLcBaRttIAMZ6bzJZWb2cJGoYjq46F2UjycujWzrL9GEN9h4w7eQyXJYnltrUhxbbieBAIRrdqpow==} engines: {node: '>=18.0.0'} - '@smithy/types@4.17.2': - resolution: {integrity: sha512-FOKpVZob9MPTn2znRzGrnsMHv7BOsKVw3XiP/cOyYLDVZ9qKp4nifIiSCuUU/fIj5Vu0UOAxCFr+qRAtG0NUkA==} + '@smithy/types@4.18.0': + resolution: {integrity: sha512-CgB6HHWer/vrKps24ulRIbpcpb7K4xAU7SkZ7YHzBPlwHsvsrCJFEXK421s+cJzX+ZrqtA/TuU5w1HzI7k9N8A==} engines: {node: '>=18.0.0'} '@socket.io/component-emitter@3.1.2': @@ -4382,11 +4221,11 @@ packages: resolution: {integrity: sha512-y/xtNPNt/YeyoVxE/JCx+T7yjEzpezmbb+toK8DDD1P4m7Kzs5YR956+7OKexG3f8aXgC3rLZl7b1V+yNUSy5w==} engines: {node: '>=18'} - '@tanstack/query-core@5.102.6': - resolution: {integrity: sha512-jp+GucyQ+fel2ILb8ZLQeqMaAqZL/Bzaj+dKOQiPk4vPdf2rQPEV7heUyEVIhatpY42j4AFHav4DzBa1oTIp/A==} + '@tanstack/query-core@5.102.8': + resolution: {integrity: sha512-ZNjkJ33CqvPNec/6lZBnHqLc3EVGPZ9ySLhYahU9TcuRFdmwXewuj0c4hwSWcGHqEUwcSrKeZ+oGcvPBqXcQcg==} - '@tanstack/query-devtools@5.102.6': - resolution: {integrity: sha512-k5k+iZmHRRZTeON7Gva34+HSdbMaibeZezyLn/XyUY05tQLlgj4MgC9UpuZOBiDe9aMKGg8buGCl+zk8VRA9Zw==} + '@tanstack/query-devtools@5.102.8': + resolution: {integrity: sha512-ZgeMKuF5d/zOE+tgWm3cSbD6Zcbr6IugVsnbHzUcSismqLZDSUPBKM6ILUxExgwe6rPAOox2x5bA5T+PSOQG0Q==} '@tanstack/react-devtools@0.10.12': resolution: {integrity: sha512-dgoz7TFm97Izo/D34z91PD0h+ufk+eBmoN9OgRHJlj/c7Ol5xpIP7bqLBNByjgt5paRE2eSu5AQHV92Ul+G6iw==} @@ -4413,14 +4252,14 @@ packages: react: '>=16.8' react-dom: '>=16.8' - '@tanstack/react-query-devtools@5.102.6': - resolution: {integrity: sha512-WKa5PQo4BtsYqAp//pI22RUk5ENzmJKwetvl9AF9J8hRK7hwM8GXVqUPMq9O4NbVWxSlXCtMIcu9CJnUkjn/PQ==} + '@tanstack/react-query-devtools@5.102.8': + resolution: {integrity: sha512-QKb7A44BZOU7nxsGA4gFN1fofjYovar5O0T83Ff4Y+2eRq09RGFrAzzutVdF/6/emfSaMDohp6e759BjB3fxEw==} peerDependencies: - '@tanstack/react-query': ^5.102.6 + '@tanstack/react-query': ^5.102.8 react: ^18 || ^19 - '@tanstack/react-query@5.102.6': - resolution: {integrity: sha512-ANz4KZ8z80D85fiz5IAHjpb8XBPLrjOb/0natlD9Ascyy/3p96V86Zw8UbOfA0HDLcvK/A4gNd95r723y5UT2w==} + '@tanstack/react-query@5.102.8': + resolution: {integrity: sha512-TYBea4OuXWD7MhaSHq069TWbFe7rcwWN6kzT7JF0OKi1K6c1gTv2IzD6A6ExJsCMozdkqBWeuIUZmu4KQg0O5A==} peerDependencies: react: ^18 || ^19 @@ -4522,8 +4361,8 @@ packages: vitest: optional: true - '@testing-library/react@16.3.2': - resolution: {integrity: sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==} + '@testing-library/react@16.3.3': + resolution: {integrity: sha512-Uo193NgQbPMz6lrrhtRQQFcMC6Re/ELLFbbuVL30WDlZxlpZf9/lMHTAVxPRLw1q1iu9OJmR1c2BLiENRstdBg==} engines: {node: '>=18'} peerDependencies: '@testing-library/dom': ^10.0.0 @@ -4537,181 +4376,181 @@ packages: '@types/react-dom': optional: true - '@testing-library/user-event@14.6.6': - resolution: {integrity: sha512-Jbs9FpkkIDw8FgSc6kOVsOv8JuuqGAL7J4X1oot77JxAoDlkNn2GRkd0aYRVuQ+pVQAiHWVkE4rX/dkF5fBiCw==} + '@testing-library/user-event@14.6.7': + resolution: {integrity: sha512-MPCpX8bxe8zS+JmmTwLp8jd0dy1rAm60Te/SL8JrQM3qvQJcBOs1d7IefJMyZzqM3EWBrDn/LWDt1BCGu4ASfg==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' - '@tiptap/core@3.30.5': - resolution: {integrity: sha512-3O7N0FyKIfuLV+xrdWyDM3V5eUY/q2CgLjhhMwOAbM1Pu7VPp9VP+TpEYOdH8aRyB+h1vj5hX5A747D8ZrPfHA==} + '@tiptap/core@3.31.2': + resolution: {integrity: sha512-TB+8pLk1k+fCpuPQ6vGNNhSRlvIiOks79oWGykCVut2nbRpQ8GsORP9VK6Eahj2fzdQA96UQMIcK7AxoOZG/2w==} peerDependencies: - '@tiptap/pm': 3.30.5 + '@tiptap/pm': 3.31.2 - '@tiptap/extension-blockquote@3.30.5': - resolution: {integrity: sha512-8pf1ZDrl6XlVPUee/2YlWZPFSF7yqsJEX6WLW41x06MT1dapG3Qudcns0znj6kYsX8JXTJ+Mhegy4z19bvTtRg==} + '@tiptap/extension-blockquote@3.31.2': + resolution: {integrity: sha512-1pveNPdqlOp2rtjmJ0Mpo9g/P/B69NdVWgp+6wzvkB5Hz6CRx/SXbAFa4P3/QSQ7D1L9d4tKOmoY/ZsFiYvgkA==} peerDependencies: - '@tiptap/core': 3.30.5 - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2 + '@tiptap/pm': 3.31.2 - '@tiptap/extension-bold@3.30.5': - resolution: {integrity: sha512-MLZS+s/BJiJbv2C2M3G4FQGn43kPwYUUr2TiW3afSn+dRkEZlDxx5CwZYbe1PEt2+VX/SIifn945Oqr3s0axSA==} + '@tiptap/extension-bold@3.31.2': + resolution: {integrity: sha512-Bk9d3nOU2ApGG0ZBBYCQPIKQxIDLPG35DvoH8q4Pw2/lSS2v2FxesyTqoVJriYrECO3sUTiCXJlqvYoKNPthzA==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-bubble-menu@3.30.5': - resolution: {integrity: sha512-redcmBInVwmipjF/WEVcNwCUJgJygUv8leidfRb/jBSAwx7GgnQWPr2HVQDk9zeTt3ykWld2NRdrk94Crjymow==} + '@tiptap/extension-bubble-menu@3.31.2': + resolution: {integrity: sha512-3KASBe33OhFywqOU5xm29HAtNIgL5mLTaM9OpKRU7aP+5zbz02EdLbiTzhd1RJr1GWDsejjF8HrAf+oirudKrQ==} peerDependencies: - '@tiptap/core': 3.30.5 - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2 + '@tiptap/pm': 3.31.2 - '@tiptap/extension-bullet-list@3.30.5': - resolution: {integrity: sha512-66OGw4suO0Gr/4QAEiSvVi0eSvEqStvu1moHUSvUlwvEqnuB0ME2w9HuRogPElzWdrYLzbBA47mlCi9Veva0ew==} + '@tiptap/extension-bullet-list@3.31.2': + resolution: {integrity: sha512-o5TglfPwYZp/5NQ/fL8MG3k49na29pi2+10GS8kf+rqlYjVXKSI9MDu8GWssn0FZkr+BrIXWQAMtc56CbzJT4A==} peerDependencies: - '@tiptap/extension-list': 3.30.5 + '@tiptap/extension-list': 3.31.2 - '@tiptap/extension-code-block@3.30.5': - resolution: {integrity: sha512-SvkNoOio2xBy9AtSMyFKMp88MTUvyIXsGCnuz71INV2wHdH4VfRPoQLT6e077LpTCa9w6LHyTKtbZA4HYOp7wg==} + '@tiptap/extension-code-block@3.31.2': + resolution: {integrity: sha512-b1z3eJzuMNLConGnODliojJVV4vLN4LSZC1Rkebe85roFBnC8ROrSr3wwy5IALO4C18wW5fHeBufZCKO0EwVtQ==} peerDependencies: - '@tiptap/core': 3.30.5 - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2 + '@tiptap/pm': 3.31.2 - '@tiptap/extension-code@3.30.5': - resolution: {integrity: sha512-0dCt8eBo4sMtw+LjUu+0GF0JrTlREROdWoy8TM5kFPxJ5ZU2LKDiROXDPwXStaaoFFR/aStLH9xSpdz7cHUiUA==} + '@tiptap/extension-code@3.31.2': + resolution: {integrity: sha512-oTYlWXk5GPK6BlbK77TNO5/JCGTcZ9SEAuQaPZCHGuGZQV1JT6uHRRH7e9LdPfiG4Qw8AtmKhPTMk6IQplf+ZQ==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-color@3.30.5': - resolution: {integrity: sha512-ahX/JecK/xugiTQgkG+w5yF34vWBpTsvWQ3zvAZF6HIDT/+hdVTRITXHLJSqJWIQ8M3vT184kzSdGDLejG8zxA==} + '@tiptap/extension-color@3.31.2': + resolution: {integrity: sha512-lAt8k5Qjjx8tDleqlES6KooyDLVDeNmGSUj4cNn1meNoyb7JR3g8na/OaGvWF410Pjgh6YeDnkFz8vluiG1hWw==} peerDependencies: - '@tiptap/extension-text-style': 3.30.5 + '@tiptap/extension-text-style': 3.31.2 - '@tiptap/extension-document@3.30.5': - resolution: {integrity: sha512-4mKoD3bBr5W2AQ2Y/7amOqcVw0eqJbUwRtwvxypeo5Hi0PB9O5Ev8P05c3EUTo10bllqdKYXGeCU5AcgdQsHWQ==} + '@tiptap/extension-document@3.31.2': + resolution: {integrity: sha512-YJ+bXwjS+5MOf/73m4ZVgOrrE7OOYqB6r3oYbAWCU8VxGFaNP5YA9a1HJgAYkc2hMmOZ6vqEHXPpaom0mGV7Lg==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-dropcursor@3.30.5': - resolution: {integrity: sha512-gJxn9PMUee8zazQBYqbOZiI7zTFXPVJ15AzTnLfUu4eDtPieMwtpgcjhCt4bZlp37drLm+Li76wWLirb7iLxsw==} + '@tiptap/extension-dropcursor@3.31.2': + resolution: {integrity: sha512-Vn/Wjp6D0O5rbf6JYi7jWSB1/mLsmlhAwIgFSa/wBMIqHtQ2Yza7O01sgaiErdVb1MkDY3k50KBAZcpeN6afXg==} peerDependencies: - '@tiptap/extensions': 3.30.5 + '@tiptap/extensions': 3.31.2 - '@tiptap/extension-floating-menu@3.30.5': - resolution: {integrity: sha512-gTjGPWUpGn8IoW533TciZJZC/81LmBgU7zee+aRMRF3ix3K2z1pJjl6knDvrRQA6Kom+yWFaiueqGNXkrk38XQ==} + '@tiptap/extension-floating-menu@3.31.2': + resolution: {integrity: sha512-DLjtMDg9kjv7tHFtms4OeZwEsa6tW60jexWMT3rTT4qQ+laqZjeNOYxJ0vwNmM4gDWXKkFifQHwzm13Zq5jv5A==} peerDependencies: '@floating-ui/dom': ^1.0.0 - '@tiptap/core': 3.30.5 - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2 + '@tiptap/pm': 3.31.2 - '@tiptap/extension-gapcursor@3.30.5': - resolution: {integrity: sha512-h3m2ZA1XXLAfdHwdtG0MZnf0KWbNyP8xTI3RUlTDR5apmKmYVBaeocOJwTcFFZ92gPKqxYKyhteZqYtHOCZGJA==} + '@tiptap/extension-gapcursor@3.31.2': + resolution: {integrity: sha512-ko/iP3qFWc+uD+KrKcgpL5J0tlTmyMaD5E8Bu0f3Z1zloWyRprulxwWKFS95VJE7XTxRoXu+d6A6M6Ri2JUQRg==} peerDependencies: - '@tiptap/extensions': 3.30.5 + '@tiptap/extensions': 3.31.2 - '@tiptap/extension-hard-break@3.30.5': - resolution: {integrity: sha512-PcL4Z8l/DlauwZUJg0jf6SXKk6/YOXJtd8yYzqHrmCLRoY4kAa7+TxUhc/lWhuitUiOZ8+nB8V/NNM+WR6mRaw==} + '@tiptap/extension-hard-break@3.31.2': + resolution: {integrity: sha512-hq8b0KwVufGtdNxxQXhVufhOAlNfrmU73fucNZvrZL+xhmhPzAkulByszsCneeY0MMtwzIyNtSiF0DBH6rgoPg==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-heading@3.30.5': - resolution: {integrity: sha512-x7e7+p1bWXvwz6vqONPP1SVB73V0gZP7LIDL/5KMnxWLjahMTabgVPgjV30kz7GsOEgUYtEf7eCyGVGNNWL5Dg==} + '@tiptap/extension-heading@3.31.2': + resolution: {integrity: sha512-TASYeQvg/M5ByvTFcVt2aZOJoU2f+H88W4MOq3gNNqORxuxmPEmiKUwJ2q1xjN71YqGy42b26onjoIr2ZU+iJQ==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-highlight@3.30.5': - resolution: {integrity: sha512-vDHdcY3aq3S1yXd8sFk42iLXKRauKgK/Zz4jBE4a33CG/3uf33HN49+wI004W+Avx23z3+4bcCzcqWQRVO1Bdg==} + '@tiptap/extension-highlight@3.31.2': + resolution: {integrity: sha512-1V/J1XkBj1SOwvf1Hs2WfWYWMaUtuLYcsYiUHPvogtx1SRo4kmQhw6Syf5xCPXVX3TcooRjsIeEj7CGWrwkBeA==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-horizontal-rule@3.30.5': - resolution: {integrity: sha512-s5t2xM6wPYRJl2cqYplc7Ze8m8xddk4DP2v0aLFcUuD100D1B5eJbxsiwLK6wBAzNwiuVjd486RnmUpcswaXhQ==} + '@tiptap/extension-horizontal-rule@3.31.2': + resolution: {integrity: sha512-6ncBZCcwZc1/FJjfqZTWmFoGbHthNRWZcmKSKuDaljvNKwP5bHo2tLBOZXDJwY19DIjHqg/oBhI1mgxZxDR6LA==} peerDependencies: - '@tiptap/core': 3.30.5 - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2 + '@tiptap/pm': 3.31.2 - '@tiptap/extension-italic@3.30.5': - resolution: {integrity: sha512-Fu9EuSRlHQNGES7UhY4mQod3yUKnWwxsGlPuDJURfwju/Ug04Jz8iRuERZBPcRgLNkwKDmbDsWUZF72RRIL2Uw==} + '@tiptap/extension-italic@3.31.2': + resolution: {integrity: sha512-LdpaPdfYH0P0S9LVlsZTphzUEmJl8eT+ojruFYKyxHmKhsejs/ppVW+MaIiIiOiZx0gGtxmTMb+iPJ+hu30acg==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-link@3.30.5': - resolution: {integrity: sha512-zsQ+q83HpCYOMTNzdjb12dggE7sZMp0aqQJhArdavSTl8hLbVY/u3qJN88t25IEwAKVK0pcTJfWWA2QFl8bjAQ==} + '@tiptap/extension-link@3.31.2': + resolution: {integrity: sha512-9Cajqh7f5jDZtjF5lxnOvAeL80MLql9i362KW0L6RbFaK0+yKGhbkAN41DN2gN7OYtZKkmwop1vExPEvtbeo7Q==} peerDependencies: - '@tiptap/core': 3.30.5 - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2 + '@tiptap/pm': 3.31.2 - '@tiptap/extension-list-item@3.30.5': - resolution: {integrity: sha512-N0fKUyQkPQBvVB48imjfIfdexU9VsAX1RydajYP2xAt+QOJ8KHVmXv1EGTp+v7pGdZMLdls1cSZ2f352vW3aWQ==} + '@tiptap/extension-list-item@3.31.2': + resolution: {integrity: sha512-35eDm4/VtiqtVXD2cjYd+mzEm1WYOLLA9ZHdg6KRDyTMpfSI3NV64VNIakux1wlh4yQNocuWhMsCwDBVQ78vEQ==} peerDependencies: - '@tiptap/extension-list': 3.30.5 + '@tiptap/extension-list': 3.31.2 - '@tiptap/extension-list-keymap@3.30.5': - resolution: {integrity: sha512-3pLR2yo29uhowaGMbD8v71XpgdNmqotBg1NXlyTMVFzxELj+VjjeLLTqSguR/iWDUbHXNzIsfMEgpRnNMO//8w==} + '@tiptap/extension-list-keymap@3.31.2': + resolution: {integrity: sha512-t+k0QEuFzR/9yBIs36pQrCgfg2gLhJP06stS3k5wpIQrKhnOrJ0W6/vLeMmNzIUFE18ak+/zkLCCDHXaka2WtA==} peerDependencies: - '@tiptap/extension-list': 3.30.5 + '@tiptap/extension-list': 3.31.2 - '@tiptap/extension-list@3.30.5': - resolution: {integrity: sha512-CHThihH+7TA0TfwtmA+eTXP1MAsA/+p011olJHg8Rilj5xA+L+0IFkjhN16JnZkBgSA4MnfEv15UMNfRaNpuVg==} + '@tiptap/extension-list@3.31.2': + resolution: {integrity: sha512-uaGNd2r/urhV9IJnOqk8t1d4/y/OAR0Wt0D9jtiL2IWDDnkoKvsQKnLms75ajPNz03QM5hFfmil9wHOpbrkFzQ==} peerDependencies: - '@tiptap/core': 3.30.5 - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2 + '@tiptap/pm': 3.31.2 - '@tiptap/extension-ordered-list@3.30.5': - resolution: {integrity: sha512-bUGUnSAgjZhoUWBtr+1wRJHF3NnNvuKQr6sQ8le1tJ2yvLq448ZsSZjZGvTNeLsy3GDKBoMJ0rqLUK34+nM3hg==} + '@tiptap/extension-ordered-list@3.31.2': + resolution: {integrity: sha512-E6PDRUx0bkyMq03E1BR/b62joaw2BaobnXh52MDE5y38YKxrmvmHJmXs/j1Ci6mADHfYsh6ZCSh+H3UjIMfhqQ==} peerDependencies: - '@tiptap/extension-list': 3.30.5 + '@tiptap/extension-list': 3.31.2 - '@tiptap/extension-paragraph@3.30.5': - resolution: {integrity: sha512-GrNNlAImfQhYRtGE95YNAjcTclUUMPHs9JeE9vMgfcoKcOmZ6GsbWUdN0hA55xqwGaUjnroOVtf77K9z1EbkJQ==} + '@tiptap/extension-paragraph@3.31.2': + resolution: {integrity: sha512-UKhRMSM0WAes+ULAj6JQi9Iq0rWodn1Hrxybqj+Ezi8AS3o8fa+K3CDRgqKb1TKuqOs1aMTJv1h7RbqOp5jnTw==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-strike@3.30.5': - resolution: {integrity: sha512-r8IbWUm4YXNCkmc6h6dzuREQIGbO0x9z9l3GfQPUR3LxFtGssDLngE4dFXHRt/ejLWKEauy6clklf7LawtvYzw==} + '@tiptap/extension-strike@3.31.2': + resolution: {integrity: sha512-w78sCBkTihmKB21bdTKYfaLwiSW6Gzq+0TixlrOR90wR4uA2hN9v8ivDEaoLB4/wIMOQvbQsAwawg6XSMmahkQ==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-text-align@3.30.5': - resolution: {integrity: sha512-nRiAXqfpnuYkxOTFmK09vKf0Obv+yYA6UvmQ2yhjaThf7/i+ncxAbmxWttAV8GEy2fGpuXxkJYtIgDXXN7tVPg==} + '@tiptap/extension-text-align@3.31.2': + resolution: {integrity: sha512-ZHBpokt4iz0fA67K1TofmWhVxVYpw1TK03XmdZQucE5eWGqI6nBmv/eWrkk3j3gAaY17jBgo+vKUt9N2L0H3zA==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-text-style@3.30.5': - resolution: {integrity: sha512-libXk+nSBOQmUiKneMegnipSVz7n/YfCuSVUxXn4LjAdD9zdpWgH2uBXbxo2q211dA7KxJyUhkPGoCpG0RmPQA==} + '@tiptap/extension-text-style@3.31.2': + resolution: {integrity: sha512-g99G5jdi+y4Gp27WWrI+ZmdgaclNNPaRNLda4Ht+RftLTgeTHBpWO92MvfYrPOcJkRv1V4lAB/Sd5tFHmNqxUA==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-text@3.30.5': - resolution: {integrity: sha512-pOgj4mIGFlw4NUdA6PCTFP/MHrYWnOYiZRYeu0I3/Yo3iN4Am/CgYBLl8PWsNh+YPO2hA2DWs7ZMke9D2j5R+g==} + '@tiptap/extension-text@3.31.2': + resolution: {integrity: sha512-Ktr+Sn6fTpIUDfVp4GSZJZwoAFgM3yvav0+PT8LHYi7wFl96L9VtxDrT+c/Jx1iqpcH59NWDYcZKDiDGyV8M8w==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extension-underline@3.30.5': - resolution: {integrity: sha512-u12G/WW2uFRY95BzrSAU9RW002K+7lFpSCL6fb7Puh8yLhek3lddOtAx0P+NI/PyMKtcoVMtBxoi+0mwVM7NPQ==} + '@tiptap/extension-underline@3.31.2': + resolution: {integrity: sha512-8XNTcr6+26rPOPdmycPRo1F+bSUdbXMkjm1Hy+iPdOXgVSzixSIGM9t/lYltsgx8WAoXzYezWJIPinDaUkAHBQ==} peerDependencies: - '@tiptap/core': 3.30.5 + '@tiptap/core': 3.31.2 - '@tiptap/extensions@3.30.5': - resolution: {integrity: sha512-5x3OiCYBvXz0G5OGM8f7ka++1dh9EXdNRZ8IcMcEd+QwW4RPwvmJ2EjheA1eRRyMlcbNU7T+4IRlBXURlTetEA==} + '@tiptap/extensions@3.31.2': + resolution: {integrity: sha512-CTOs3DiSV+hY8ipLS4rdP7X7MJUaPnDR81ZiPWJunk3MP+UZeBey3L6v/ky0SbZYQzJcl5X115uNNYXsYaatJg==} peerDependencies: - '@tiptap/core': 3.30.5 - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2 + '@tiptap/pm': 3.31.2 - '@tiptap/pm@3.30.5': - resolution: {integrity: sha512-gufkLkW2tA6PZPjivYxDiGzTIIftwqhmYI6lvvKu2S4FbhcysJgMAe/GXVSywzCRVVex9SrvCe6RFYrqnwRitQ==} + '@tiptap/pm@3.31.2': + resolution: {integrity: sha512-4OU/7ZIhA2ZfENB9c6TDRrjQJb+SoEwQmZSuy1Wyx4fNcGAN7+SPPICc0Hew1d7VlDgiJ2dKt6oa8iluSAsMBQ==} - '@tiptap/react@3.30.5': - resolution: {integrity: sha512-QtHdOmYTCMRkCf5dmLtIqFq0e/yxavkQ6ZXbtytoftWEKJf3MjBTlX4nVAgpvrLAjPmCTxiehEXXxD1AJm/Syw==} + '@tiptap/react@3.31.2': + resolution: {integrity: sha512-ZHg1t9zwINlSgK9+Ky6K6bRP2pnX0/Z0W0DOV9B6sRhmxxK1xsUZ7o/spJ0FjKVqPYYi/Py2cQzX72nyiu2knQ==} peerDependencies: - '@tiptap/core': 3.30.5 - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2 + '@tiptap/pm': 3.31.2 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 '@types/react-dom': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tiptap/starter-kit@3.30.5': - resolution: {integrity: sha512-cmDRvukpoqjQjhE96q+l3tCLNZZcJKehxK+00Sp9F4XbKecfM2QpZ2TRHh3vi8qhCeDQNyMoCqfNaqznIjLjIQ==} + '@tiptap/starter-kit@3.31.2': + resolution: {integrity: sha512-oMw5Kxcqkp/ehfHVxBhJ8L4MK/yaPF55H4hU74kLzVT9G1lRYz22hHAOF3s8NJ4dDf6GUXvKnfXMNLsypaR07Q==} '@ts-morph/common@0.27.0': resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} @@ -4818,11 +4657,8 @@ packages: '@types/node@25.9.5': resolution: {integrity: sha512-OScDchr2fwuUmWdf4kZ9h7PcJiYDVInhJizG/biAq3cAvqwYktuy/TYGGdZNMtNTFUP7rnb0NU4TUdm82kt4Rg==} - '@types/node@26.2.0': - resolution: {integrity: sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg==} - - '@types/node@26.4.0': - resolution: {integrity: sha512-faiGnoIrLH/V8cibOMEAZ8pMw6oXqSukl29ra4mN8GdaB2ZewzeaLj+INpV5N+Z1eKWzY+IzaIZH2EIR6YZRNQ==} + '@types/node@26.4.1': + resolution: {integrity: sha512-k97ENvZWtvA6yqz5/FS6a7duDgOPEeOQOc2iKS/nY6mX6qJUKtLnWzQS+Xj6tXweyj6ZcTAK2Qecetnvi9nCLA==} '@types/nodemailer@8.0.1': resolution: {integrity: sha512-PxpaInm8V1JQDd4j0ds5HfvWQk8JupS1C0Picb96QJsrrRDjBH+DlK7L4ZdNSqNULhiZRQHc40nLVShaGxXAMw==} @@ -4833,8 +4669,8 @@ packages: '@types/pg@8.23.1': resolution: {integrity: sha512-fKVHpikPdg4GKks3JuLEhvwSyvwzF23hnabPy6DD8ljVbC7+6J5dQzdv4arV6jqq57djnMgs1HKBxX4P8aBI3A==} - '@types/react-dom@19.2.5': - resolution: {integrity: sha512-fMPwH9v7r/pp43yUd2/Mbiex5KouJwwR3dzHkhLREUC6764VyDsqxhAxv6OFEYR1RhjOyD1naqba8ECDBe7ZQg==} + '@types/react-dom@19.2.7': + resolution: {integrity: sha512-I8bPpDLcHBv1qiIiXDCy71Rt8eQDKJP0sMSWJphDdAcdqiJ1sGpZamavoEIRZmYzjia9LuEb2HlYdDpmoENpvQ==} peerDependencies: '@types/react': ^19.2.0 @@ -5072,15 +4908,15 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' - '@ungap/structured-clone@1.3.3': - resolution: {integrity: sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==} + '@ungap/structured-clone@1.4.0': + resolution: {integrity: sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==} '@vercel/oidc@3.2.0': resolution: {integrity: sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==} engines: {node: '>= 20'} - '@vitejs/plugin-react@6.1.0': - resolution: {integrity: sha512-qd2BzUBehkov86WFhg0JkEFEYyCLG9uPCe6qWTY/kRlss9OvJrOF2UbIWT7p+8IzZHkEu0DNGHc4HSv+JdDLsw==} + '@vitejs/plugin-react@6.1.1': + resolution: {integrity: sha512-yxLaQV9gkhS8ezJqCM6+ndU7mDY6gqAg75NQ+0IjwEI8IYOmQCgkRwHKVSfWXW076DsqMo0Dk+0FK1U+M5RgFw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 @@ -5095,20 +4931,25 @@ packages: oxc-transform-react: optional: true - '@vitest/coverage-v8@4.1.11': - resolution: {integrity: sha512-8MVGEFnJIcdGjcbfKmeq8z0pZHH0JlVtoVZH9Q/qwUp6wyFnEJUBMrw9DCaj+ra3vShGmhavjalMIhPNxZAUcw==} + '@vitest/coverage-v8@5.0.0': + resolution: {integrity: sha512-toMg6PZGCIa/lQNCDoASrfb1ly4hsUKXFtFYC9kD4t78o5Y6LyNJU7AENt8eHPr3quYdxaxK7hj2mnbFfUk9NA==} peerDependencies: - '@vitest/browser': 4.1.11 - vitest: 4.1.11 + '@vitest/browser': 5.0.0 + vitest: 5.0.0 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@4.1.11': - resolution: {integrity: sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==} + '@vitest/istanbul-lib-coverage@1.0.1': + resolution: {integrity: sha512-k3DJZ8LhMBK9NS4SclF1ASD3OgXEWDorbIcPTRDK0/Zae6fRvu+fJRxtFdLfHsa9Y24beCdPnoNZ4LviTNstfA==} + engines: {node: '>=22'} - '@vitest/mocker@4.1.11': - resolution: {integrity: sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==} + '@vitest/istanbul-lib-report@1.0.1': + resolution: {integrity: sha512-1EOLRfsTMnyAr3+kEAsP4o9dhaDlGPpD7H5iLBBeq//YpNB1VIahkPhB+eRp9N2Dkfw8oySROjE3yf9XDeaIkQ==} + engines: {node: '>=22'} + + '@vitest/mocker@5.0.0': + resolution: {integrity: sha512-66PGTMIiVJP3t4a5yxU9qPtf7MdTBs8jmToMvy+HVflB3Yy13WJZTtPePdvU+wjRV02SKK5doLbSA6o9pwOmiA==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -5118,20 +4959,8 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.11': - resolution: {integrity: sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==} - - '@vitest/runner@4.1.11': - resolution: {integrity: sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==} - - '@vitest/snapshot@4.1.11': - resolution: {integrity: sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==} - - '@vitest/spy@4.1.11': - resolution: {integrity: sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==} - - '@vitest/utils@4.1.11': - resolution: {integrity: sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==} + '@vitest/spy@5.0.0': + resolution: {integrity: sha512-uy+luWBAPw9XfthoHi5AkfHUnuPYEESjl0p/r+meoBnU8bxg5GDQ3Ey8MjcJ6sqahkL4PFyrvfMJJBw7LbU06g==} '@workflow/serde@4.1.0': resolution: {integrity: sha512-pav4F2BoirECWR7Nf1TKt+2eETcBj7jj4cBefQ8VXQCA6NPkaKeLfj/zMgi+3zYV5ZIBT4GuUiphsj0/b9hPQQ==} @@ -5140,140 +4969,140 @@ packages: resolution: {integrity: sha512-5AXjrcMClTryPe9LgZrygpB1lj7s0S9E0+W+AHaVKAVyHanafK86iPSvG5xHVSp/jC+VH1UXu0TAEmY279xH7A==} engines: {node: '>=14.6'} - '@yuku-codegen/binding-android-arm64@0.8.7': - resolution: {integrity: sha512-C/0zV5IhgVdYhGJTwrY0v8dknxlhiKwtVJkMUaexu9/QvRmzlV4vfU3hZlUSgqc2BxQHntL1mCVbDq8j0FRFDw==} + '@yuku-codegen/binding-android-arm64@0.9.3': + resolution: {integrity: sha512-viote6xAyL5cKLquV2X2wRfopSckH+msDYbaI8Hh8JAaogYs8MJZVRUbSrbsY29TaPrIFZwNRwQ8+YSxs0dkGw==} cpu: [arm64] os: [android] - '@yuku-codegen/binding-darwin-arm64@0.8.7': - resolution: {integrity: sha512-/u+REDMI4a0/lsJXTM4c53/w31OGZLOReZIyg62uhgLs0kc8NHsj/nOcxTdlQjq5gi0zhdkccD9LaLTXcdzPvw==} + '@yuku-codegen/binding-darwin-arm64@0.9.3': + resolution: {integrity: sha512-y2PGOLyxc724EJ+Et/5PxGfutQuV1Z2J9cxHo6W1I5CR3nk0i03J4yPrnw6rNJOfrtlISzcc7q0RrSyfPndpIg==} cpu: [arm64] os: [darwin] - '@yuku-codegen/binding-darwin-x64@0.8.7': - resolution: {integrity: sha512-sMMzFOwCo4WXR+/6zIBThOocSC50iIIZZdfiIDbaLvj0Ax/rWt/iavyfEAqajyvzydLyCqR/ZItdLWSRlu1umw==} + '@yuku-codegen/binding-darwin-x64@0.9.3': + resolution: {integrity: sha512-xZ9UpXUOLmsrKVUp7MRXxWU3drNiilRC42OLpjWEhnOehIGVF1bZgzHcqRYJxVyU53RMrkRMsaxplkGd6Qo/ow==} cpu: [x64] os: [darwin] - '@yuku-codegen/binding-freebsd-x64@0.8.7': - resolution: {integrity: sha512-MpdpKXix9P+Y1rKgjvcNeNtGjXeL1CmttNhYINrWls8kRpm4xM/oBGTmn6w7to8lAlwj5jm8q03dQPl5mRv4Qw==} + '@yuku-codegen/binding-freebsd-x64@0.9.3': + resolution: {integrity: sha512-RGCYSZw3VonreVTpur9iOfnbMngR2/f7UOE7gwcDx5WoHjIhtmTK9EIq9qs78ARdMFAPzKp5OzHljl5QMaGJ7g==} cpu: [x64] os: [freebsd] - '@yuku-codegen/binding-linux-arm-gnu@0.8.7': - resolution: {integrity: sha512-rr1srFLlPAmC1vtxfc9C1YLDe3iH09YjfSeeIidBqKhzx1MATjOAq4mjlRUOnhr/L27MotWIYOFKwVsd5JZFOg==} + '@yuku-codegen/binding-linux-arm-gnu@0.9.3': + resolution: {integrity: sha512-kjIJIw39GSPTF0hnq+jnM0tR+J5WlariAAWetxMtawNskITDT1ZigaK3YF5hMhDz2mAofaM1t+63qtx+7aXjeg==} cpu: [arm] os: [linux] libc: [glibc] - '@yuku-codegen/binding-linux-arm-musl@0.8.7': - resolution: {integrity: sha512-eAufXh8qBRpiSO6ueaMDL+yyoXIGLhpUce72YbcACtZU2qhExwBIJyEtQf5kH2Ki0X2aqkSjSfog4OPtKXan3Q==} + '@yuku-codegen/binding-linux-arm-musl@0.9.3': + resolution: {integrity: sha512-TVHeVdzaS4ub86URrQufiy4t01ZtdyKDZ5sTPqWFKAUbQJ7rQ0o5vIT+/jCeHQbP+Yf9p5peRdmPbcZewoDNiA==} cpu: [arm] os: [linux] libc: [musl] - '@yuku-codegen/binding-linux-arm64-gnu@0.8.7': - resolution: {integrity: sha512-gw4w6wPoHObBrdIC4duVWLmJOvpdE25j5D7yrM5mACNlK4klRz/lv8hK+ssQk9EJHBgZjSaqZIJVFgqNYbfv7A==} + '@yuku-codegen/binding-linux-arm64-gnu@0.9.3': + resolution: {integrity: sha512-9aQeeLh1qaCa2GcyzHnwLKGfFrsI+KOyhnh4+fICSq5kyhzCWQfXVCCK4RTEZPLcyuVwfN5Id0JEYavRN4oNTQ==} cpu: [arm64] os: [linux] libc: [glibc] - '@yuku-codegen/binding-linux-arm64-musl@0.8.7': - resolution: {integrity: sha512-L68N6Y4XkqcIaKo3Ra88JEvBEH4AHff44A4INcrxeVWZ8CZtu2tCpfVxe3hR8qQQMcvBSQlDn24KpkCKEhVvfA==} + '@yuku-codegen/binding-linux-arm64-musl@0.9.3': + resolution: {integrity: sha512-TLXA5Hd1nr8VSP2MtxcFddsBIHj+DPpyG5eberEGMATndgG7STlKQmle51MV0MZ8UgsdYM6CybIVpzlCPQwP9w==} cpu: [arm64] os: [linux] libc: [musl] - '@yuku-codegen/binding-linux-x64-gnu@0.8.7': - resolution: {integrity: sha512-dzyAbltJmf3Cqlb8HcFuYIf5Yn0fl1vTr3XJ9HiVNNvOlhqPSArOqtw9vI1p6/VTXTjrMLXlU+s+/kNHiIy/Cw==} + '@yuku-codegen/binding-linux-x64-gnu@0.9.3': + resolution: {integrity: sha512-tk0BFbF3Clb9k9biPH3qmr+Qwk24rRM26+HY91hYXmZlzlepZG0scQ6OffZFWtzwKE5JjlZpMdcWj1lTiHbEjA==} cpu: [x64] os: [linux] libc: [glibc] - '@yuku-codegen/binding-linux-x64-musl@0.8.7': - resolution: {integrity: sha512-Otw4MH3404q0Bbvl+YTdW9aoUV5vXmUw8260bWvt1XlaoIX/ceSgI4ygheRDMfBPoHt6FDayQaO9OLVUZAgkFA==} + '@yuku-codegen/binding-linux-x64-musl@0.9.3': + resolution: {integrity: sha512-xo+pXshsCXruEEkDMbwHqkeTyC4XHb6A6oXr6x2YK3jOMcS5kZz0e26BmTCr40J0nY/K3ysmwG9R1xHygtiuwQ==} cpu: [x64] os: [linux] libc: [musl] - '@yuku-codegen/binding-win32-arm64@0.8.7': - resolution: {integrity: sha512-qo/jyrzryiBuKEsFiuWaBCBe3tRMynQ0qFWFgOEjcCMQeZfBm+wKiVEUEFXXLc7bh8YezguAWp0Mtnhq4ARNyA==} + '@yuku-codegen/binding-win32-arm64@0.9.3': + resolution: {integrity: sha512-70gAQo6HZzMgIJTjeMZOEO2XaRj4GcNGP/n81R9tXQv0x8d4ZHnZDv+ygeWfHo+xchAUPwpnrVZA4p6RhJa3GQ==} cpu: [arm64] os: [win32] - '@yuku-codegen/binding-win32-x64@0.8.7': - resolution: {integrity: sha512-D5lDsVDx6m00E6bWySlWdH72Ca4TPSaphDqB6QjU6MpuNLIJqoGoatYyq2rOmBE8Zv/kunot/o58KGL03P3eiA==} + '@yuku-codegen/binding-win32-x64@0.9.3': + resolution: {integrity: sha512-7Hz3NGlq6qBBR8zMEk6GMZivofNjnYZpMXSoUwUgz9Ur2LaivuP23HQh0ern+T6HVkTJEvilw4VJrg1rX1Ugcg==} cpu: [x64] os: [win32] - '@yuku-parser/binding-android-arm64@0.8.7': - resolution: {integrity: sha512-eGKYiUDX7Y0V7tDTmg+JTVnXnjMqfXXsorZ+EDf5kxwchQ3Or1HS14MzI2fw+jFhHR85fCWt+mtX33Yao73hIQ==} + '@yuku-parser/binding-android-arm64@0.9.3': + resolution: {integrity: sha512-z3tDGTaUXD5Q4IuebFOY/QHxhR/SqujMhkMv9C5bh25upyFEXdafp0MsXQIIheWhVZzn5VMOniyxFni/7s9LgQ==} cpu: [arm64] os: [android] - '@yuku-parser/binding-darwin-arm64@0.8.7': - resolution: {integrity: sha512-Re0RHelKLnjEURulY2/KxW+Ngb8zuNA4BRZuMwgGQNzVumT6u4U2N2hc01oeYVNVof0i7GrXE4UCNBgbpRRnjQ==} + '@yuku-parser/binding-darwin-arm64@0.9.3': + resolution: {integrity: sha512-hzKvKSKS7z3ufnu1VkQYEoxmS6A5uNnkwukKnc2atxpWdq648nLVOqut4h1jUXjbM2WcoTfuZLF6AHAGFf8cmg==} cpu: [arm64] os: [darwin] - '@yuku-parser/binding-darwin-x64@0.8.7': - resolution: {integrity: sha512-Hn8DROtQkjlA1ACbPgj4a7eP9IuVOI504oiTwpkWPbpaDWD9KdmnVYCqW+1LfenNK/g7O9NhWGpXEdaCNX7lIA==} + '@yuku-parser/binding-darwin-x64@0.9.3': + resolution: {integrity: sha512-OM2PiVlPATvzlj/KGHNlu+t8FC3YzM5joVNjhsz/EaigQ8x2UUQ1Q0agQLiv5GZ2L8TSzrLUwBCZ7YOvP8q+tw==} cpu: [x64] os: [darwin] - '@yuku-parser/binding-freebsd-x64@0.8.7': - resolution: {integrity: sha512-bAP2OV8wRuzplX/jYxv9+vvqQT8JxyNphI8fLfXGL054Xs+4/J5u33cIm3y4rxY8rdoLmmdiJs2Tq7r7lrDRfA==} + '@yuku-parser/binding-freebsd-x64@0.9.3': + resolution: {integrity: sha512-WMn9M4LHNVysGNwsAJ9gpRPqQIW2lcPrDNGcyk0agx3IYqCJq1MQugh6Be8Otc5U08eGdE39o8Kx9YWJmXz7GA==} cpu: [x64] os: [freebsd] - '@yuku-parser/binding-linux-arm-gnu@0.8.7': - resolution: {integrity: sha512-kTYwJQQgmZeAWdDIWabiReIZMpmfLueIj1tCmjStUtFGhR1Z0qwxonKVfUC4N7h/VhGGzLZ//7O1kgt1QKqgCg==} + '@yuku-parser/binding-linux-arm-gnu@0.9.3': + resolution: {integrity: sha512-vqKjwiyW1FWvbykYMEQIcAJwA17WxK3rxxqDuyCvQwcNVaLEUxI4BXiUdlF3kHucc7MnoFQhoRPkySgOzlLM+Q==} cpu: [arm] os: [linux] libc: [glibc] - '@yuku-parser/binding-linux-arm-musl@0.8.7': - resolution: {integrity: sha512-uL4jE8HPT2BLlxAXyD10LqgPuXa9eDa0BKpCdSANmzIJghq/2eZo3/gQNtaxPZMupWoxjYzSad9IXrwu7aYPXQ==} + '@yuku-parser/binding-linux-arm-musl@0.9.3': + resolution: {integrity: sha512-qohilhYOT+zkt2gYzym4F1T6BzRdvPqS9/sFB03pmnVV8LrvjOXVsGwEBAa3CEvzJKhAZjdTmVz7zsVdjyHWLg==} cpu: [arm] os: [linux] libc: [musl] - '@yuku-parser/binding-linux-arm64-gnu@0.8.7': - resolution: {integrity: sha512-3gVN4pWSKZmXiNX7cU164dR9MPvesCHnlH6nPfpK+yQsCuYphjKKplcb4SnZBrhiqmXbgb2HR0c2TS0IZUPhgA==} + '@yuku-parser/binding-linux-arm64-gnu@0.9.3': + resolution: {integrity: sha512-tvTIyUvTGkeee68i4JIo9o27As+Ug6LXOZvElGgFbTs6+KBdb5LGhvugaIQljdfIsm2XnIbOLG6OnQSXHMLB9w==} cpu: [arm64] os: [linux] libc: [glibc] - '@yuku-parser/binding-linux-arm64-musl@0.8.7': - resolution: {integrity: sha512-S0mwfEjoLpxzXeZw802Wa4RaELsQiPtWqG6INcy8j4GtvNFtl4LCX3eGO1XLn9pyLAISLzTRyU3zUCBUPin8lg==} + '@yuku-parser/binding-linux-arm64-musl@0.9.3': + resolution: {integrity: sha512-OWZBHW1wuChBpFlrF+On1yiBcFPMRrj2g0VKsM/PCBGffu1OM0ORkS+vLS3Snu6wYwndM5Dd9Ctvux6eUlrQjA==} cpu: [arm64] os: [linux] libc: [musl] - '@yuku-parser/binding-linux-x64-gnu@0.8.7': - resolution: {integrity: sha512-lnbWdPmerE5D1uH1G4IEZKnPzCrWCStRGrtgpSIe1RibAo5bZIjDbbbPYXmMHCEh4F+x/JaJpElh26a3r+BPbg==} + '@yuku-parser/binding-linux-x64-gnu@0.9.3': + resolution: {integrity: sha512-/tbk1h0dlADOCngbiQO9V3SHwBIJkoGBq8BDEraSw2CC3nGxPEPTCCYUDp5738Ij2FxVwy1FWVuhFkHvpMrPbQ==} cpu: [x64] os: [linux] libc: [glibc] - '@yuku-parser/binding-linux-x64-musl@0.8.7': - resolution: {integrity: sha512-769uwndMvMzUvATWbAcEvyLHKA+DzhHSCl/obBUrRdYfRo26yxui6S8y3z7uJ+Naup7UKrDxrpK7OnQkxkl9KQ==} + '@yuku-parser/binding-linux-x64-musl@0.9.3': + resolution: {integrity: sha512-u3+0sCso/mcjDvtc3866D2giV7l34PDyDVBkMesAWa3DWbIWPlybehi2SSnmScgArV22ctqSSgUzdBBVJ6zYAg==} cpu: [x64] os: [linux] libc: [musl] - '@yuku-parser/binding-win32-arm64@0.8.7': - resolution: {integrity: sha512-mEB/9PlaAkisJ6KWGz0zvywXoU6+80dTlR2LwS7s/jcXXoU6fm2+sitBZXtqu3+Q4DcDgPxM45uWMCzPs0TSRw==} + '@yuku-parser/binding-win32-arm64@0.9.3': + resolution: {integrity: sha512-xnGEvdhyjRkXozHtpXVpEEkyGZWAxJ3RoILv7XRV5SvTEztaTCk5GQyfcOzI9An/EJtcL4ERCI8QmS0TpDPJiA==} cpu: [arm64] os: [win32] - '@yuku-parser/binding-win32-x64@0.8.7': - resolution: {integrity: sha512-8vNB2DP0ou61nGb8tc/qfi41gfyDXz1MHr2zqL3nR+cJ6CEbiuWV/l/a/vv151gCgiZLLAyGkQGENpozdg716w==} + '@yuku-parser/binding-win32-x64@0.9.3': + resolution: {integrity: sha512-N5eShGcuwnrXEprePFmEjtng6acZmtnC4zgazK9xxkavcx1q1uX8Nz8lU5RS973EMlNr902cIc6Cd2D4tqZDBg==} cpu: [x64] os: [win32] - '@yuku-toolchain/types@0.8.7': - resolution: {integrity: sha512-2Z53dNxAJL6UvFoIrDZvYf3zlO8s4VJK4O2hhaB4mXVwwpX/7ajtss3cmfqKvamlNLWyt9FSWs4eoYdlbxpnHA==} + '@yuku-toolchain/types@0.9.3': + resolution: {integrity: sha512-rFE+5P4g2wxko5C85MugJOlVjBHEQq87dIkhLkniLXLp63PEtgaFjD954i5HXlfnyzLxPcZHsSOVDVgmo1HToA==} abs-svg-path@0.1.1: resolution: {integrity: sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==} @@ -5290,8 +5119,8 @@ packages: resolution: {integrity: sha512-ufJnssQGbxzLNS1Ho9bCtX4rQKCCvoVuDLHoJyc3F9dOGDB4BkWs2Ci0kv53lqocAEQ/Cbi+I2XCsNYGqVYqng==} engines: {node: '>=12.0'} - ai@7.0.83: - resolution: {integrity: sha512-bg7+SopUwqA7DeQ2O8I9qELyQTHCeeI/0RuNUlT/gGz+LqWrIl5vbYRQv3eMBEnUsVFaM33n6SA8Vqe9gi8L1w==} + ai@7.0.92: + resolution: {integrity: sha512-9xb8Xo6aw7YMxuROznR02q4Hpne1DJ7JbKurpcOsabSSY3sd3xGoTANSqEs4gYLRpIz27MmT3IMfH8X3+oK1CQ==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -5369,8 +5198,8 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - ast-types@0.16.1: - resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + ast-types@0.16.3: + resolution: {integrity: sha512-FvWoWYfSCM6kRxCSH+MGLHIKKGRL6A6AW7Zek2O32REPQRdg131428uRTKMBYAeRd3XXAaHDS60Wpri7CdKDrA==} engines: {node: '>=4'} ast-v8-to-istanbul@1.0.5: @@ -5416,6 +5245,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + baseline-browser-mapping@2.11.21: + resolution: {integrity: sha512-uh8vpY/1/YyFkunIDFH/12p7/7VdPKA1hejMVEbdkEaWnUz0Hesvx5EbiU6XxjyHZIOju+ZMbQJkRh+es3/spQ==} + engines: {node: '>=6.0.0'} + hasBin: true + bcrypt@6.0.0: resolution: {integrity: sha512-cU8v/EGSrnH+HnxV2z0J7/blxH8gq7Xh2JFT6Aroax7UohdmiJJlxApMxtKfuI7z68NvvVcmR78k2LbT6efhRg==} engines: {node: '>= 18'} @@ -5565,6 +5399,9 @@ packages: caniuse-lite@1.0.30001809: resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==} + caniuse-lite@1.0.30001810: + resolution: {integrity: sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==} + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -5655,6 +5492,11 @@ packages: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc + cn@0.2.5: + resolution: {integrity: sha512-OCjZtMeQfXbI4Es1+EIjkd77gvWzaE689gD8KhfexlqjClC06qR1MQBR+Z35ZMSPNEBWyHiItW1Soy0UvwNv9w==} + engines: {node: '>=20'} + hasBin: true + code-block-writer@13.0.3: resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} @@ -6106,8 +5948,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.413: - resolution: {integrity: sha512-F1XPKvt7HVfly5WND90ec16nFsdr4g5x/cVUP3EqjeyXynupabGDqpMa84wwvuYGDnldXLBz6DLXyZXWO9TPvw==} + electron-to-chromium@1.5.422: + resolution: {integrity: sha512-UvA/32XqrLDdZSn7Jllo1AYNcWji/G0d5M0GTViE7KoGBiMunw3a34Sb2KO4ZZyrSEhqsxFoVhWWJshdyfKqJA==} emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} @@ -6130,8 +5972,8 @@ packages: resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} engines: {node: '>=10.0.0'} - engine.io@6.6.9: - resolution: {integrity: sha512-clKkw4C7nJ22mGgoVcCg6V/W/TxdNyIOTr89k2ONZu81qqkddPFDF0LXcbAwhzPD8DjkiRCjzuiO6Y+fkpD4vg==} + engine.io@6.6.10: + resolution: {integrity: sha512-9/lX2bdlizlCXMHRMOIm03VBQHQYC7VvydcxtTAUJRxNW1QzM/2PMFSmr6h/lCiMHcyCP6abK+t9Q+j4vekk8Q==} engines: {node: '>=10.2.0'} enhanced-resolve@5.24.5: @@ -6180,8 +6022,8 @@ packages: resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} engines: {node: '>= 0.4'} - es-toolkit@1.51.0: - resolution: {integrity: sha512-zC2lQGkM7QX+Gm6iM3+WIdZJzthsEd14LvRNJneSO2hzyz/zNBENR8+YXWo1cKxgPBtV6ksPYHELbcwBRzmdCw==} + es-toolkit@1.52.0: + resolution: {integrity: sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==} esbuild@0.28.1: resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==} @@ -6243,8 +6085,8 @@ packages: resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} engines: {node: '>=12.0.0'} - express-rate-limit@8.6.2: - resolution: {integrity: sha512-YH4ru+eOJxQABscKFfRCy9R7x9QFGdezclVMwwgFFndzS2Xnm0uo6B0ABZsLhcpeptGv2qvuJVWlQr9gQZoC3A==} + express-rate-limit@8.7.0: + resolution: {integrity: sha512-hOwV7WOxXfjRpAM1DSJWZDXx3GhplwD8IfwuwvogD8i1Qnkgosw/H45s4ZnFAUHDAhPjlY9hLBvJhKmGMyY26g==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' @@ -6263,8 +6105,8 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-equals@5.4.1: - resolution: {integrity: sha512-DjlFSM5Pk9cGcL0q5QXl66eGzx0N6szNgaswwc5ZphlBohjTVJSnGgI+rJVOgOi65qUoQnDZN4nDqi33udtydQ==} + fast-equals@5.4.2: + resolution: {integrity: sha512-Ywe6jodPTWOTL9/k0bV7gdfP8twKL5Y8I8CZ933fAY5gBekICZSUQTbyH6ut2NZCNyB05mSUwAuEqdEIaOOlDQ==} engines: {node: '>=6.0.0'} fast-glob@3.3.3: @@ -6274,11 +6116,11 @@ packages: fast-json-patch@3.1.1: resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==} - fast-uri@3.1.6: - resolution: {integrity: sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==} + fast-uri@3.1.7: + resolution: {integrity: sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==} - fastq@1.20.1: - resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + fastq@1.20.3: + resolution: {integrity: sha512-XKv5nnLs6nLF71NgiKJLIZFLkPyIEuOselLG7ujZnGrRfQK8HpvY+WqKhAJUAdLomwVHErVS4LfxFlPq0/FTAw==} fd-package-json@2.0.0: resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==} @@ -6314,8 +6156,8 @@ packages: fontkit@2.0.4: resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==} - formatly@0.3.0: - resolution: {integrity: sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w==} + formatly@0.7.0: + resolution: {integrity: sha512-7CXJtIIA0zy/u12StsYk25qVKxvdLA2ep2sTNxK3ov0mGNIIDqIvAXDSgTnAfDJFsPfWjuz0WjfYSdpvnLA5Tg==} engines: {node: '>=18.3.0'} hasBin: true @@ -6323,8 +6165,8 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - framer-motion@13.1.1: - resolution: {integrity: sha512-B/xn2TPS4f61cEBLFjiYlQFnBZUW1YVj/LM+C+N4OP8Rs95VLEI2ot/RlfBg111la/EiyECFaJJi/A3FWA8MUA==} + framer-motion@13.2.0: + resolution: {integrity: sha512-9E33ebgMaO33w1nN/jEdW8z3/GO483fMi4rqbMG9rt83XgW9QLKRe4NcmJ8s+fQ3O34++UHrIQwlIWGIWTITjA==} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 @@ -6398,14 +6240,11 @@ packages: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} - get-tsconfig@4.14.1: - resolution: {integrity: sha512-Dz/6HxkrxgNehhxLVeyv8sad9UzF2xBVeaKBQNDfJ5XiSXmp2gTR0eO0RWiT2NCKS5aGP9jjkOMggTN90qU50A==} + get-tsconfig@4.14.3: + resolution: {integrity: sha512-++QEw4DIY7WGoukz+/+A/8dGYPT9l9yIadnmSgZ8Rjr3YVSVDipQSO9CdnJo9ePqFqUUqh+wk9uIaoiAwsiPkA==} - get-tsconfig@4.14.2: - resolution: {integrity: sha512-XpwZALwwl/BaKTAyC6+c5T8y6kCg2jk+XGqOVrKIQmW49pNypYLMRjCUXqa28tQgJlhS2RlzP7sc+Rx7W6qsfw==} - - get-tsconfig@5.0.0-beta.5: - resolution: {integrity: sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==} + get-tsconfig@5.0.0-beta.6: + resolution: {integrity: sha512-X6fBC0pmImC70gvX2zm56go9hx0MyoGVdG0tUCkg/D+Xnh5TJsOZ7iDbOdI3PvmtrDxnu1YdDufpK2QJX1Meqw==} engines: {node: '>=20.20.0'} github-actionlint@1.7.12: @@ -6441,8 +6280,8 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - happy-dom@20.11.8: - resolution: {integrity: sha512-TeAoM8pTDKNVcP5z3MptRTb7UH9q126GrjTFOgormgA19tmT30JTiIxb1CVXs7xljpItypUp/yHSPFD4QRHMsQ==} + happy-dom@20.14.0: + resolution: {integrity: sha512-4bRh1KzRvKDnFNTlLhzT1RZTpkKhQbQDl9j+7GXszWsvuspYdo29k6OHRf4PwiM6oLb8r/pMWeYiJjkfod5AvQ==} engines: {node: '>=20.0.0'} has-flag@4.0.0: @@ -6483,9 +6322,6 @@ packages: hsl-to-rgb-for-reals@1.1.1: resolution: {integrity: sha512-LgOWAkrN0rFaQpfdWBQlv/VhkOxb5AsBjk6NQVx4yEzWS923T07X0M1Y0VNko2H52HeSpZrZNNMJ0aFqsdVzQg==} - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - html-to-text@9.0.5: resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} engines: {node: '>=14'} @@ -6525,8 +6361,8 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.6: - resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==} + ignore@7.0.8: + resolution: {integrity: sha512-YYNsSlXBjMk92SKnkwvB5LOVSa6OznlFUGcsvrFgNJbJCd0M1XKeFVRc8ZByeCqz32FivYNHJVooLmdqrmvp/Q==} engines: {node: '>= 4'} immediate@3.0.6: @@ -6564,8 +6400,8 @@ packages: resolution: {integrity: sha512-f+Dtubxfpf6KYFq7WVXJoOLn0bk4TJrMrN9SzeE+jrWrCWj7XX3fA6vkryafhADX+GMymRxgDJDOI33COkJc0w==} engines: {node: '>=20.0.0'} - ip-address@10.5.0: - resolution: {integrity: sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g==} + ip-address@10.7.0: + resolution: {integrity: sha512-BGFsyJd5mpXp3rK6jIdADLNgpJUK1jnjzvYF8lK+VyDab9JAmqN0YOKDdP17HlgKb2+ehPgDc8EtnRLbGCAMhA==} engines: {node: '>= 12'} ipaddr.js@1.9.1: @@ -6683,8 +6519,8 @@ packages: isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isbot@5.2.1: - resolution: {integrity: sha512-dJ+LpKyClQZ7NG+j3OensC/mAZkGpukE9YUrgPYvAZj2doVL0edfDgywTUh5CXa0o+nW9a1V9e5+CJTX8+SxRw==} + isbot@5.2.2: + resolution: {integrity: sha512-iQcBXcd+Rv/pkubRyGh2utW2j1oPG5hZY6TUhVPpqK4G+o3IbxpJNx04hgksjc/N7GK5pEorUxDeg31cFgEk/w==} engines: {node: '>=18'} isexe@2.0.0: @@ -6694,18 +6530,6 @@ packages: resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} engines: {node: '>=18'} - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - - istanbul-reports@3.2.0: - resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} - engines: {node: '>=8'} - jay-peg@1.1.1: resolution: {integrity: sha512-D62KEuBxz/ip2gQKOEhk/mx14o7eiFRaU+VNNSP4MOiIkwb/D6B3G1Mfas7C/Fit8EsSV2/IWjZElx/Gs6A4ww==} @@ -6740,8 +6564,8 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@4.3.1: - resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} + js-yaml@4.3.2: + resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==} hasBin: true js-yaml@5.2.2: @@ -6805,8 +6629,8 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - knip@6.32.3: - resolution: {integrity: sha512-wOJ1Av8PwKqFO0wU7F64vzIcUjxhrieA3Tc2lmeK9C9prpxq+TeG2ewNH5tCaBVZwXNPp6lJkrr+IhZ20iqkMA==} + knip@6.34.0: + resolution: {integrity: sha512-bbHIrnGspYwe4EBPjjx+lvkUor0F2qfKQc5BPzPI4SOAImYA+k2ueVpIcF7d/W1LEVT7XoJUPt6zELeGZhXBgA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -6820,66 +6644,66 @@ packages: leac@0.6.0: resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} - lefthook-darwin-arm64@2.1.10: - resolution: {integrity: sha512-nw+X8wRNDoUUV6WSteyKBbcLySq+fsmZt5WV/s50ZJpysmsDKJOUMln6SllNfP+60dzUahAO7REco/2633BsLg==} + lefthook-darwin-arm64@2.1.12: + resolution: {integrity: sha512-GSUjqaCuxAYlPOovbjXEWE3HAIa/xOQkTTmZ937zieQldjPLTaC7+s5FHoxKywn+D9riBlofkDqG7Z4f5zzmPA==} cpu: [arm64] os: [darwin] - lefthook-darwin-x64@2.1.10: - resolution: {integrity: sha512-KQ/bHmvpkFdHMn4pZnUdTf+GuSC+aBBgBTxZT4GW+6cSf+qbErKZBhK7cH6BmILsvx43+VzEArvHYY7YOfRFOQ==} + lefthook-darwin-x64@2.1.12: + resolution: {integrity: sha512-qAUHSSw/7Afi5wxkoLkxORxSicCeTBXyVLnRgD6YZra6udviozpK3Aok9Z6FIWeKc5FBijRMSNDxGPTREhsjcQ==} cpu: [x64] os: [darwin] - lefthook-freebsd-arm64@2.1.10: - resolution: {integrity: sha512-8su6DwydP7+pv7kG0zCtjphqsw4ouOnfexRUErapy5GTxYBoUOhYz3RSHTSWNRsK6W4jva7FPUh2Lp5/PSn30w==} + lefthook-freebsd-arm64@2.1.12: + resolution: {integrity: sha512-FHZRfKliFNbyz54zsoGdVe9muq67cNjBTZ6jrPPUjI7xUuyCwSpzA+1OpiwJT00L9pP5ZGONBqnGZKnrpC+7Uw==} cpu: [arm64] os: [freebsd] - lefthook-freebsd-x64@2.1.10: - resolution: {integrity: sha512-GeAJEFxko3Lk+AsnS3NleAFrpyMLFUKOlgJvPKuU0xHwVEI/z+ZoCcmuO0BX+4CS0NLbZhC/YQAvBASqDvvVdQ==} + lefthook-freebsd-x64@2.1.12: + resolution: {integrity: sha512-HYQZPGy2DDEx7dbuotusJpujY5q9igOLgx36qeeQcNQuvvdGHPj2ZGSIsGKhoJ0dw5Qa4knKJoPAHEZQWdV/og==} cpu: [x64] os: [freebsd] - lefthook-linux-arm64@2.1.10: - resolution: {integrity: sha512-1sHTCmpTWjVMs+yKPBLRNT1kuuIr1yjietlk7rCB6wFPVOS6Ph3o2zPFH2AvW1UymHlqwyHXzBr9EtDpQ7j1mQ==} + lefthook-linux-arm64@2.1.12: + resolution: {integrity: sha512-ipjOri2PB/sk4noPrHQuM5fcpNBjmlKo4qMtXyLnxeOxGYHWZzf0Xi0OtrXHQ//tOprcv40ADvhUuSdcGqigLw==} cpu: [arm64] os: [linux] - lefthook-linux-x64@2.1.10: - resolution: {integrity: sha512-z/VlRB3bh6mBvW3r1rwnJ5vP8z+Krx5gJzkZ4veDXh+6FlRTx8wtd3g3fllOv/yZMxkgmL3fQoFXv05Esa7vBQ==} + lefthook-linux-x64@2.1.12: + resolution: {integrity: sha512-DmU6xfvqVoFdW+STyc70YI4Ry8vkHGKHx+IJ1Js/Gacq5dv+fiwNzwle3bi28EkL6P8xY67B/CfQfRj4SRU4tg==} cpu: [x64] os: [linux] - lefthook-openbsd-arm64@2.1.10: - resolution: {integrity: sha512-430zL8sSIKw5P0YXGG6PB+eAhHa06n0PXuaERaAQE4Ss3odfqwnl5Mq9hQmkEnOS1EGiQEKkd0UHv/i4PtMNIQ==} + lefthook-openbsd-arm64@2.1.12: + resolution: {integrity: sha512-vb0J7bElLvoaCWQmna3HntsvoNqMsGAhfjjC99ss1OdCteufZKM3RxCVoMBEbD50Itv2c1Ua2AFVToltVFTy1Q==} cpu: [arm64] os: [openbsd] - lefthook-openbsd-x64@2.1.10: - resolution: {integrity: sha512-bgkO8PphGZVDhQgCJ524aYYPI5491pVmCiLPGjBIo1AvOSlIyw4N1Y+1C3QfqwEmechzw+Aq16SNc8pqv6UuXg==} + lefthook-openbsd-x64@2.1.12: + resolution: {integrity: sha512-QOmhDWqPPK4+99scanfEmbJjUR+JYC93qhr/0bp5Dj3LaR3kVFNWc6zOQUsOTPy/LC6PG759Lej/mr/BtjUL2Q==} cpu: [x64] os: [openbsd] - lefthook-windows-arm64@2.1.10: - resolution: {integrity: sha512-5Q6etF0Fla2DDA4ilDySrdNgiR5+W7cJZwnZ69Je3kvWCaWm4wnkuc8FEdjp3kiL2x3ZXipdI00f5vpO8aWmog==} + lefthook-windows-arm64@2.1.12: + resolution: {integrity: sha512-eErEyr9AHkRFj6TxpCQeKGd0s6IrtL/VEIZ/ssg8dNfG+ycR4jAW/IAlrJSw6/ZQXb3WtWLaQ6QA5c+TLh7vmg==} cpu: [arm64] os: [win32] - lefthook-windows-x64@2.1.10: - resolution: {integrity: sha512-c/XH8YZtylG4XaxzqFfXluvq2LXq2W/p54Bnzn3+Z7E5X2Fk3JlFJAibulMbIt2+w8T7UI/r97ok5GqE4kGaeA==} + lefthook-windows-x64@2.1.12: + resolution: {integrity: sha512-0h+WmDVdDriTjloD/UbjPq/ZtqaaJlPAdGcVwMCEdAxfbF0FTgDbKX3igui9g2U/qG2y6QpVhtz1jeiRe7ctaw==} cpu: [x64] os: [win32] - lefthook@2.1.10: - resolution: {integrity: sha512-K7mM4WoqMwqfXYK11EHy+lSH1uW8XHni3Yn/bSqyerPkUPygGdf3xn18JoV5HyA06xuQL3ofGAOjG01QX9oJ4w==} + lefthook@2.1.12: + resolution: {integrity: sha512-2uOexfsrrRhCiTUWdGyDySxVHHhOFJ8MQejs27dM3hugrQB48/z1ZVlaNoxpZ1SnzQ1GaDIbO5rAvicwyiknYQ==} hasBin: true leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - libphonenumber-js@1.13.11: - resolution: {integrity: sha512-ETER2kMaIFTI/Nh1a8Gk03dUF/SL0VZqtI+CcVHZxp5WIHYwNS7S+uiYZDYCvLy3lOR4/DAD5jf0h5WkePPpqg==} + libphonenumber-js@1.13.12: + resolution: {integrity: sha512-uLVeV1c9OTk6qkdqnj+mpMD+ZdnZ0szVyWu58HwMmpwkHA1gCEkyjd3veZQXDnuw9KEwSRjcc9B1pS9XKIN1fA==} lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} @@ -7084,13 +6908,12 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + magic-string@1.2.3: + resolution: {integrity: sha512-Bpb0W2TbLKOZ7vJnOUnVRGq3WL2p+ISV29M6hYPL1AFCpyKZpdr5ytiXoTSSxRVhg8YW7f65+6gbG8WG6PCa/g==} + magicast@0.5.4: resolution: {integrity: sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w==} - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - markdown-it@14.3.0: resolution: {integrity: sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==} hasBin: true @@ -7340,14 +7163,14 @@ packages: moo@0.5.3: resolution: {integrity: sha512-m2fmM2dDm7GZQsY7KK2cme8agi+AAljILjQnof7p1ZMDe6dQ4bdnSMx0cPppudoeNv5hEFQirN6u+O4fDE0IWA==} - motion-dom@13.1.1: - resolution: {integrity: sha512-XSf8VYWSB6G/0IY3rWVbyLcxWXtAVHkN1PQE2agTaCv3u8RGvbwu56TyyR/MNzBqqNavEBTZzErcxI1TxBrjcA==} + motion-dom@13.2.0: + resolution: {integrity: sha512-N6gdSoWRDk0Rh/fVtlqUtLs+fEN3ELFZI3cn3IQE9Mnf3E+Mh8wjO6MstzCOPFh4Yf0L1as5m2eUyYWj8ylVSQ==} motion-utils@13.0.0: resolution: {integrity: sha512-7DnN7TmbLcYXcG4RVadXIihWlyuM9afoUww8Y5Agg431kGKiuL2/OMyP4mJ5wLz+pvN3t5ySClLOaVXJ+wekRQ==} - motion@13.1.1: - resolution: {integrity: sha512-WNZoK6xiF+kkTqkZ5K7FDDh6A8BG4i5Hc7KXtW8gtTxkpJFds+hIOrDaQGKjQj/AE/i4hJqAaUHEqp/Qo02y6Q==} + motion@13.2.0: + resolution: {integrity: sha512-4Hrb5vD6HhjFstLUiCmWvtpsw+WTpP4R+QXfSDYZBz7+uxE/LrRg3aV0ReJxHrTRffHhbIE6svEqnotngXvesQ==} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 @@ -7370,8 +7193,8 @@ packages: engines: {node: ^18 || >=20} hasBin: true - nanostores@1.5.2: - resolution: {integrity: sha512-B0UbxzK1s0CN8Xht6r+7iT5+xV8PTaRERR1nATeplRv1Rw5YLWfVAid0hkqY3EceqpG4RjTk8GAwIxQY39Rnwg==} + nanostores@1.5.3: + resolution: {integrity: sha512-rQLB6eV4f2AW/n3L0JmwCROpaisYy9EDEADvEFSd1C/qG8hB6O5TPlh9A791JRbJr4CnMQBzptDcvD9OR1+6WA==} engines: {node: ^20.0.0 || >=22.0.0} negotiator@0.6.3: @@ -7414,16 +7237,16 @@ packages: node-html-parser@6.1.13: resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} - node-html-parser@9.0.1: - resolution: {integrity: sha512-QrdiYYm1NnLRXsMXThUgVcF/syWfWIgHFmy8hylWMGFbHFtnRuXLBxxGQvIm3xaIJMUDJ0ayOmT/FGJYT3pZIw==} + node-html-parser@9.0.3: + resolution: {integrity: sha512-iaQ9rokcYNp99IY0h82q04Wtc27SObRT+OEytdJh0bFv2IN0fypnU63KUNVavkPSiwsmIELG1eUenajGhzrvpg==} - node-releases@2.0.53: - resolution: {integrity: sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==} + node-releases@2.0.54: + resolution: {integrity: sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==} engines: {node: '>=18'} - nodemailer@9.0.5: - resolution: {integrity: sha512-wvjiKvjczmsN7U/8006JOdXubgBk2XFAbioDMbT+sM7cPs0QrhJTa6KBRX7P5REGGkDcLUz/EarWidb8G8C1jQ==} - engines: {node: '>=6.0.0'} + nodemailer@10.0.0: + resolution: {integrity: sha512-wdv+hXBg0iIPIOf108FaZyTxqjQpCvQeAJt9pHHTooPy/y3vQtI9eiImM9AIVKR3e/0FeMA1oueNfBjFJcaK+Q==} + engines: {node: '>=20.0.0'} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -7489,8 +7312,8 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} - open@11.0.1: - resolution: {integrity: sha512-NzwMUB6C1D0+Kd+9iMS/H4k+Ck3cTX6Ckyfr/gAGlmvSE1LUQZnEZvWBi4PYmMwH/S5SMeTXnE+9uAz8uF+pWw==} + open@11.0.2: + resolution: {integrity: sha512-RWqF+pBSkqecEvCKOn8QYhaNdRMJDZRIrlS/7rTDdLHaPcfXGCZ/h8zb413NfvdeAV0MR7T1yJcA34/q+CSm1Q==} engines: {node: '>=20'} open@8.4.2: @@ -7515,8 +7338,8 @@ packages: resolution: {integrity: sha512-WyPWZlcIm+Fkte63FGfgFB8mAAk33aH9h5N9lphXVOHSXEBFFsmYdOBedVKly363aWABjZdaj/m9lBfEY4wt+w==} engines: {node: ^20.19.0 || >=22.12.0} - oxc-parser@0.143.0: - resolution: {integrity: sha512-ov0NzaDCOInknS7mP1cwKdJERt3utPW8ldjtdUXQ8Ty0GEFD08wk422vCUN0d7pST6kqtV7dxoI9w1Zi0l/9TA==} + oxc-parser@0.147.0: + resolution: {integrity: sha512-5xaug6t7GfV3BO5Iv+xHW1rmQkDEQ3BEu3L8g3InsvWO5i8CYGc4tCZ2X985QcwWNycFJam+aOns6Nr2XAThTA==} engines: {node: ^20.19.0 || >=22.12.0} oxc-resolver@11.24.2: @@ -7537,6 +7360,9 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + package-manager-detector@1.8.0: + resolution: {integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==} + pako@0.2.9: resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} @@ -7600,8 +7426,8 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pdfjs-dist@6.2.108: - resolution: {integrity: sha512-YxFb+SQcodN2rnX9Tn3dHYlqfb7NjlzzfONPpJd+AKoKtUjEdevTfbC07d5TcczzOK6261auRkP/M8OBHs9vFQ==} + pdfjs-dist@6.3.289: + resolution: {integrity: sha512-ZHjSVpDa3D6izMq8/04lvkhkATUmL9px6ChPaXc1k6nU2Mrhlg1/7F0bdUqCwUjw3NsPTfPZsMDUU6ZIcRaeQw==} engines: {node: '>=22.13.0 || >=24'} pdfkit@0.20.1: @@ -7702,8 +7528,8 @@ packages: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} - postcss-selector-parser@7.1.5: - resolution: {integrity: sha512-KvvtD7SrlBP7dlgkBghEE3r84CABm5SmV2aNcG4oCA+qDnJ/tvKonFVvwWAyyWUEwxuNawdfEAZKP9zM3oZ2Uw==} + postcss-selector-parser@7.1.6: + resolution: {integrity: sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==} engines: {node: '>=4'} postcss-value-parser@4.2.0: @@ -7713,8 +7539,8 @@ packages: resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.26: - resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} + postcss@8.5.28: + resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} engines: {node: ^10 || ^12 || >=14} postgres-array@2.0.0: @@ -7737,8 +7563,8 @@ packages: resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} engines: {node: '>=20'} - powershell-utils@0.2.0: - resolution: {integrity: sha512-ZlsFlG7MtSFCoc5xreOvBAozCJ6Pf06opgJjh9ONEv418xpZSAzNjstD36C6+JwOnfSqOW/9uDkqKjezTdxZhw==} + powershell-utils@0.2.1: + resolution: {integrity: sha512-C+y9x90UElAddDZmV4qOx9W53B61PO7cIqWz2dQsWlwswuq4mr8NEwytdGKboYbQlGZ3awrkTeNvcZiZNHnQ8A==} engines: {node: '>=20'} prettier@3.9.6: @@ -7754,8 +7580,8 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - pretty-ms@9.3.0: - resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + pretty-ms@9.3.1: + resolution: {integrity: sha512-HzMy3Geq23nVALD/M2LliU+F+M+gVNsvkQWWqeBZ8HDiCgzo6YPJ/Omrmtq24EFrIsk0a3EkQGEd7bDOo+IhGA==} engines: {node: '>=18'} prismjs@1.30.0: @@ -7808,11 +7634,11 @@ packages: prosemirror-tables@1.8.5: resolution: {integrity: sha512-V/0cDCsHKHe/tfWkeCmthNUcEp1IVO3p6vwN8XtwE9PZQLAZJigbw3QoraAdfJPir4NKJtNvOB8oYGKRl+t0Dw==} - prosemirror-transform@1.12.0: - resolution: {integrity: sha512-GxboyN4AMIsoHNtz5uf2r2Ru551i5hWeCMD6E2Ib4Eogqoub0NflniaBPVQ4MrGE5yZ8JV9tUHg9qcZTTrcN4w==} + prosemirror-transform@1.12.1: + resolution: {integrity: sha512-t4F5615FycnCqsX7ShTUs8+jfnwcf46kuFRvSl/3qFx2QTZ4DjgowesLHQXcFP7G//TjesqZG3WtgL7vdyVJyA==} - prosemirror-view@1.42.2: - resolution: {integrity: sha512-Pdg0l5kXm8aLDquFAnQFTCITg0q44sLqBlHlpsVLD9segdOao8TOfQdAhCrCXyVgPSRr6UDDROOIWA3bIrN9YQ==} + prosemirror-view@1.42.3: + resolution: {integrity: sha512-oTN7EtH+CpwxU9NrwEYWd0UZ4JUx7l048l5A2Xppm4p/60isZYLnth9QVQmC3VRIvdrIWCxwZSd+Uz791G31/w==} proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} @@ -7842,8 +7668,8 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - qs@6.15.3: - resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} + qs@6.16.0: + resolution: {integrity: sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==} engines: {node: '>=0.6'} quansync@1.0.0: @@ -7950,8 +7776,8 @@ packages: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - react-zoom-pan-pinch@4.0.4: - resolution: {integrity: sha512-P0D7lfNHyJCNuUozoVdt0WNWcQ34ZbbD71B8pb+UtF7Th8MKBnxYiPApDfPZZmr+Gk0l0WmGTXL8R36JirHcQQ==} + react-zoom-pan-pinch@4.2.0: + resolution: {integrity: sha512-QSw1dvr6QGv5zHCUY7SEIY7EWRDbx1y6plylrWf2Nko9KOMW1MEoPC6oJ+Y/qOSeQjhvbkMV0m5bFF7pBxCH4A==} engines: {node: '>=8', npm: '>=5'} peerDependencies: react: '*' @@ -8045,13 +7871,13 @@ packages: engines: {node: 20 || >=22} hasBin: true - rolldown-plugin-dts@0.27.14: - resolution: {integrity: sha512-ZvuDDwoIpRK9RPxDXratCpklFO9QZZWndf/sd0VBFb4LEj0jj07UcHK9OCh7V4XiFz2Z89ziyBC2K6tJiDjrbw==} - engines: {node: ^22.18.0 || >=24.11.0} + rolldown-plugin-dts@0.28.5: + resolution: {integrity: sha512-yYd3C9CeJwqjOc9X23m0Tyxcqic491uLZlfg51szT287S8zCCqLR2uoySoElgqy2CLn7PdXcEo1dlkBs4n1WHg==} + engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} peerDependencies: '@typescript/native-preview': '*' '@volar/typescript': ~2.4.0 - rolldown: ^1.0.0 + rolldown: ^1.2.0 typescript: ^5.0.0 || ^6.0.0 || ~7.0.0 vue-tsc: ~3.2.0 || ~3.3.0 peerDependenciesMeta: @@ -8064,8 +7890,8 @@ packages: vue-tsc: optional: true - rolldown@1.2.5: - resolution: {integrity: sha512-VD2IE5PUG4Oj8zz2VGykiYd5wbnjdIiSsNQb8Qu5B+noEp+A78mu2iVvpp27g8es14Tk9rofNs5Tku9iQCS4fA==} + rolldown@1.2.7: + resolution: {integrity: sha512-g0EtLvBjTUB7jhyV0S/TCup3v/XSVl45vUIGbOGU4QPiyjTenCe4mKuFvW9fEgYmS2Fo42AUssRmNuMziXdrig==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -8154,20 +7980,11 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shadcn@4.19.0: - resolution: {integrity: sha512-EQF6R+CUXTsEP2BpyhxrUEAFesrtFD1POvVOf5jM+wkgtA4kG1EW1+1Wlmi9LqiprSL681JJXBcS0u8WkVVVyQ==} + shadcn@4.21.0: + resolution: {integrity: sha512-UU2mFNusW8C5rvadKdH69vERYZqUlOOlXBcf0MYhYLdTGP6DPti7X4qovCu+RTfCqsAgq/T+YfE0Vnttxh9aiw==} engines: {node: '>=20.18.1'} hasBin: true - sharp@0.35.3: - resolution: {integrity: sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==} - engines: {node: '>=20.9.0'} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - sharp@0.35.4: resolution: {integrity: sha512-n++8XWcj+jCOr2IOl7h8LbKnGBDY4aPbmprMONBNFdn0ImXqpGVv5zliDs0V9HbmbCQLpbuo2ej9rAoOQTvMDA==} engines: {node: '>=20.9.0'} @@ -8245,8 +8062,8 @@ packages: resolution: {integrity: sha512-2Dd78bqzzjE6KPkD5fHZmDAKRNe3J15q+YHDrIsy9WEkqttc7GY+kT9OBLSMaPbQaEd0x1BjcmtMtXkfpc+T5A==} engines: {node: '>=10.2.0'} - socks@2.8.9: - resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==} + socks@2.8.10: + resolution: {integrity: sha512-e0VyvkVTwVYViNovRkZ9aodhxVlyoMn7eJhVUPxZ+eK9P/7CBkxvvsBOHqFPEH416726W8tLXXXjKwqgTErrCQ==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} solid-js@1.9.14: @@ -8390,8 +8207,8 @@ packages: peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - systeminformation@5.33.1: - resolution: {integrity: sha512-DEN6ICHk3Tk0Uf/hrAHh7xlt7iL5CJFBtPZinA0H62DrGG/KPKqq/Nzj6lCXPS4Ay/sf/14zNnk9LpqKzBIc+w==} + systeminformation@5.33.8: + resolution: {integrity: sha512-v4F6OGYGh7wDvV68YmjOmZwGixV9A/GQ7d2b84t0UF4CaOy9jipNWIJDkHqYDYiTPuiojqlwVQd0hfUKOUN7tQ==} engines: {node: '>=10.0.0'} os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true @@ -8424,13 +8241,18 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinybench@6.1.4: + resolution: {integrity: sha512-9APumHG7r4yOk4X4WlkmE71aZcv1gvin1czO3OQ1U9iJcFA5Ja/ygyb0vPOVHTthFozUYs8CLoLUlM8grb2lTQ==} + engines: {node: '>=20.0.0'} tinyexec@1.3.0: resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} engines: {node: '>=18'} + tinyexec@1.3.1: + resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} + engines: {node: '>=18'} + tinyglobby@0.2.17: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} @@ -8475,19 +8297,19 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} - tsdown@0.22.14: - resolution: {integrity: sha512-ule7Y+fsAN2iZbLDoo7C4KYljFJNJJ+fLshyn+9gozeTspVersWHxwdGB+Dm2hzA38s6muFnUTl0jK3vJm9ifQ==} - engines: {node: ^22.18.0 || >=24.11.0} + tsdown@0.23.0: + resolution: {integrity: sha512-BaT+ep1xnj5hdyICLd5r5SYYE+TXnI1ATePLykv9vcKpHpFTWUWRH+x1AF/E2qcu3YB6+vI8IdyxIIIffEqw5Q==} + engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} hasBin: true peerDependencies: '@arethetypeswrong/core': ^0.18.1 - '@tsdown/css': 0.22.14 - '@tsdown/exe': 0.22.14 + '@tsdown/css': 0.23.0 + '@tsdown/exe': 0.23.0 '@vitejs/devtools': '*' publint: ^0.3.8 tsx: '*' typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 - unplugin-unused: ^0.5.0 + unplugin-unused: '>=0.5.0' unrun: '*' peerDependenciesMeta: '@arethetypeswrong/core': @@ -8515,8 +8337,8 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsx@4.23.12: - resolution: {integrity: sha512-FDf4L4sYzKtzWYhU/Xm0AQFdTjdIxNo9ElTf2mxXM6k8YMHXzYUe4yODVaXP4V9uMFbVg8c0qyBccK2OOxb45Q==} + tsx@4.23.13: + resolution: {integrity: sha512-BL5MGkRln6aDYhb0xbQlEAGw743BaZYWdbWtdJOBriYJboKgUUYCadFp2/FpBBZquBC/ezNBn7wMMPx7FDZUDw==} engines: {node: '>=18.0.0'} hasBin: true @@ -8531,8 +8353,8 @@ packages: tw-animate-css@1.4.0: resolution: {integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==} - type-fest@5.8.0: - resolution: {integrity: sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA==} + type-fest@5.9.0: + resolution: {integrity: sha512-yANm3Jr3GiJ1qgJlxGAVxTOIcEOk1rhQHamlXtnrCK7EHP4HeM9OGxtMg/W7HFdrVzw/ZWJKGVIJusVH85sLtw==} engines: {node: '>=20'} type-is@2.1.0: @@ -8551,8 +8373,8 @@ packages: resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} engines: {node: '>=18'} - unbash@4.0.10: - resolution: {integrity: sha512-b7zoBQvpWp0vuN5q2vK2RRBR2SvuruQAs50DApdDveBSn3eSYd84IaHodFqQIMlvY9K2VnyBUEXgwOBuGU9GBg==} + unbash@4.0.11: + resolution: {integrity: sha512-FoSOKV7NEofQSkAefMVHam4ZPKYMxjAydxiV72UFEDNV/YofxjGfiZ2A9pZjdL/lRJzTjcu4PABo1JYJX8N5iQ==} engines: {node: '>=14'} unconfig-core@7.5.0: @@ -8649,8 +8471,8 @@ packages: webpack: optional: true - update-browserslist-db@1.3.1: - resolution: {integrity: sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==} + update-browserslist-db@1.3.2: + resolution: {integrity: sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -8701,8 +8523,8 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - verkit@0.3.2: - resolution: {integrity: sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg==} + verkit@0.4.0: + resolution: {integrity: sha512-sXMwN6DMHeouPfCxkxWkKAmxphWKEenHYY5H1nIBzU3PmDsmJp6kBXJdshjVdpMZuWCmL9SH7KFRx29AylpP6g==} engines: {node: '>=18.12.0'} vfile-message@4.0.3: @@ -8754,23 +8576,23 @@ packages: yaml: optional: true - vitest@4.1.11: - resolution: {integrity: sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + vitest@5.0.0: + resolution: {integrity: sha512-gpsMNoRhMjMktVxPtstOH4/PJuPyovVaMDr4oDilXaGH1EcqM2OE96SoHT2VIQ6fTGtTjqmHDrEu2X9RQiXf8Q==} + engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.11 - '@vitest/browser-preview': 4.1.11 - '@vitest/browser-webdriverio': 4.1.11 - '@vitest/coverage-istanbul': 4.1.11 - '@vitest/coverage-v8': 4.1.11 - '@vitest/ui': 4.1.11 + '@types/node': ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 5.0.0 + '@vitest/browser-preview': 5.0.0 + '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 + '@vitest/coverage-istanbul': 5.0.0 + '@vitest/coverage-v8': 5.0.0 + '@vitest/ui': 5.0.0 happy-dom: '*' jsdom: '*' - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -8906,14 +8728,14 @@ packages: yoga-layout@3.2.1: resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==} - yuku-ast@0.8.7: - resolution: {integrity: sha512-h6+4bDfyootiMB9vckk5uKo5r5j0GHrkr17FQTDNfEsFT3DWlN9uu1HJwQwc64pgmLCI945fWM3lbTIqxjT3GQ==} + yuku-ast@0.9.3: + resolution: {integrity: sha512-Kt0PXlPCXdKF1fWFTl7N3DaxsVk6DHF8VAXHJMkwPtJnWYgbx20pYgGSweuC/86mIM7k1NUITQ4JffgOLUWTCw==} - yuku-codegen@0.8.7: - resolution: {integrity: sha512-adwDZSh8oVDzhE6Du9PwVWxcOxeV0e2EVhUuMKWfhSY4wkrDq9eqixlxFF3l/XGUV1E7UFzhpz9393MUumkyNw==} + yuku-codegen@0.9.3: + resolution: {integrity: sha512-7oTWwetHiMSyrVPFb8089lBBqkU1gaeQZyumNBJ0t5hocMQRaWhnMeSXTz7J1xm/rcw9+ePsajORdZbub2C35w==} - yuku-parser@0.8.7: - resolution: {integrity: sha512-vRD9nwt4L3aYpxNqeSC4WqLv58xrXef0Ong1Mc45CTXTIpvLafx7JO05sczmQZwdLEZvywrLOGdNC5+Rp5N1BQ==} + yuku-parser@0.9.3: + resolution: {integrity: sha512-96wPoHnwaXfkZv7UIOUkDb+s7ZH8lv8Qtg+MxdvHUV1LFa5jV9iKOaams1942YQt+krFQrWiD6lSg2ermv5kHA==} zod-to-json-schema@3.25.2: resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} @@ -8923,8 +8745,8 @@ packages: zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - zod@4.4.3: - resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + zod@4.5.4: + resolution: {integrity: sha512-sC95tT5iHHH9gtpj6A81kh+NEaRAUFN+qlUPDUbRfOMvNf5QCBqsb3WgvnpVtK5Y+4UfA6KqufotuTvMGiTlsA==} zustand@5.0.15: resolution: {integrity: sha512-MpSEjRiBkA9crSYeOUH32rJC7SVqAbm0Fqcqge/bUi2PPoLcBWKOsG+C8mevmpr8TwXHBVkChbbJiyvkE+i/3A==} @@ -8951,162 +8773,149 @@ snapshots: '@adobe/css-tools@4.5.0': {} - '@ai-sdk/anthropic@4.0.44(zod@4.4.3)': + '@ai-sdk/anthropic@4.0.49(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/cerebras@3.0.39(zod@4.4.3)': + '@ai-sdk/cerebras@3.0.43(zod@4.5.4)': dependencies: - '@ai-sdk/openai-compatible': 3.0.39(zod@4.4.3) - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/openai-compatible': 3.0.43(zod@4.5.4) + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/cohere@4.0.33(zod@4.4.3)': + '@ai-sdk/cohere@4.0.37(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/deepseek@3.0.35(zod@4.4.3)': + '@ai-sdk/deepseek@3.0.39(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/fireworks@3.0.42(zod@4.4.3)': + '@ai-sdk/fireworks@3.0.46(zod@4.5.4)': dependencies: - '@ai-sdk/openai-compatible': 3.0.39(zod@4.4.3) - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/openai-compatible': 3.0.43(zod@4.5.4) + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/gateway@4.0.67(zod@4.4.3)': + '@ai-sdk/gateway@4.0.74(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) '@vercel/oidc': 3.2.0 - zod: 4.4.3 + zod: 4.5.4 - '@ai-sdk/google@4.0.54(zod@4.4.3)': + '@ai-sdk/google@4.0.63(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/groq@4.0.33(zod@4.4.3)': + '@ai-sdk/groq@4.0.37(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/mcp@2.0.39(zod@4.4.3)': + '@ai-sdk/mcp@2.0.44(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) cross-spawn: 7.0.6 pkce-challenge: 5.0.1 - zod: 4.4.3 + zod: 4.5.4 - '@ai-sdk/mistral@4.0.35(zod@4.4.3)': + '@ai-sdk/mistral@4.0.39(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/openai-compatible@3.0.39(zod@4.4.3)': + '@ai-sdk/openai-compatible@3.0.43(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/openai@4.0.50(zod@4.4.3)': + '@ai-sdk/openai@4.0.58(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/perplexity@4.0.34(zod@4.4.3)': + '@ai-sdk/perplexity@4.0.39(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/provider-utils@5.0.29(zod@4.4.3)': + '@ai-sdk/provider-utils@5.0.36(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.7 + '@ai-sdk/provider': 4.0.10 '@standard-schema/spec': 1.1.0 '@workflow/serde': 4.1.0 eventsource-parser: 3.1.1 undici: 7.29.0 - zod: 4.4.3 + zod: 4.5.4 - '@ai-sdk/provider-utils@5.0.32(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 4.0.8 - '@standard-schema/spec': 1.1.0 - '@workflow/serde': 4.1.0 - eventsource-parser: 3.1.1 - undici: 7.29.0 - zod: 4.4.3 - - '@ai-sdk/provider@4.0.7': + '@ai-sdk/provider@4.0.10': dependencies: json-schema: 0.4.0 - '@ai-sdk/provider@4.0.8': + '@ai-sdk/react@4.0.95(react@19.2.8)(zod@4.5.4)': dependencies: - json-schema: 0.4.0 - - '@ai-sdk/react@4.0.86(react@19.2.8)(zod@4.4.3)': - dependencies: - '@ai-sdk/mcp': 2.0.39(zod@4.4.3) - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - ai: 7.0.83(zod@4.4.3) + '@ai-sdk/mcp': 2.0.44(zod@4.5.4) + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + ai: 7.0.92(zod@4.5.4) react: 19.2.8 swr: 2.5.1(react@19.2.8) throttleit: 2.1.0 transitivePeerDependencies: - zod - '@ai-sdk/togetherai@3.0.40(zod@4.4.3)': + '@ai-sdk/togetherai@3.0.44(zod@4.5.4)': dependencies: - '@ai-sdk/openai-compatible': 3.0.39(zod@4.4.3) - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/openai-compatible': 3.0.43(zod@4.5.4) + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@ai-sdk/xai@4.0.47(zod@4.4.3)': + '@ai-sdk/xai@4.0.54(zod@4.5.4)': dependencies: - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 - '@alloc/quick-lru@5.2.0': {} + '@alloc/quick-lru@5.3.0': {} '@aws-sdk/checksums@3.1000.29': dependencies: '@aws-sdk/core': 3.977.9 '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.1119.0': + '@aws-sdk/client-s3@3.1126.0': dependencies: '@aws-sdk/checksums': 3.1000.29 '@aws-sdk/core': 3.977.9 - '@aws-sdk/credential-provider-node': 3.972.81 + '@aws-sdk/credential-provider-node': 3.972.82 '@aws-sdk/middleware-sdk-s3': 3.972.75 '@aws-sdk/signature-v4-multi-region': 3.996.46 '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 - '@smithy/fetch-http-handler': 5.7.2 - '@smithy/node-http-handler': 4.11.3 - '@smithy/types': 4.17.2 + '@smithy/fetch-http-handler': 5.8.0 + '@smithy/node-http-handler': 4.12.1 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/core@3.977.9': @@ -9116,7 +8925,7 @@ snapshots: '@aws/lambda-invoke-store': 0.3.0 '@smithy/core': 3.33.3 '@smithy/signature-v4': 5.7.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 bowser: 2.14.1 tslib: 2.8.1 @@ -9125,7 +8934,7 @@ snapshots: '@aws-sdk/core': 3.977.9 '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/credential-provider-http@3.972.72': @@ -9133,9 +8942,9 @@ snapshots: '@aws-sdk/core': 3.977.9 '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 - '@smithy/fetch-http-handler': 5.7.2 - '@smithy/node-http-handler': 4.11.3 - '@smithy/types': 4.17.2 + '@smithy/fetch-http-handler': 5.8.0 + '@smithy/node-http-handler': 4.12.1 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/credential-provider-ini@3.973.15': @@ -9151,7 +8960,7 @@ snapshots: '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 '@smithy/credential-provider-imds': 4.5.2 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/credential-provider-login@3.972.77': @@ -9160,10 +8969,10 @@ snapshots: '@aws-sdk/nested-clients': 3.997.44 '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-node@3.972.81': + '@aws-sdk/credential-provider-node@3.972.82': dependencies: '@aws-sdk/credential-provider-env': 3.972.70 '@aws-sdk/credential-provider-http': 3.972.72 @@ -9174,7 +8983,7 @@ snapshots: '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 '@smithy/credential-provider-imds': 4.5.2 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/credential-provider-process@3.972.70': @@ -9182,7 +8991,7 @@ snapshots: '@aws-sdk/core': 3.977.9 '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/credential-provider-sso@3.973.14': @@ -9192,7 +9001,7 @@ snapshots: '@aws-sdk/token-providers': 3.1116.0 '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/credential-provider-web-identity@3.972.76': @@ -9201,7 +9010,7 @@ snapshots: '@aws-sdk/nested-clients': 3.997.44 '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/middleware-sdk-s3@3.972.75': @@ -9210,7 +9019,7 @@ snapshots: '@aws-sdk/signature-v4-multi-region': 3.996.46 '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/nested-clients@3.997.44': @@ -9219,16 +9028,16 @@ snapshots: '@aws-sdk/signature-v4-multi-region': 3.996.46 '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 - '@smithy/fetch-http-handler': 5.7.2 - '@smithy/node-http-handler': 4.11.3 - '@smithy/types': 4.17.2 + '@smithy/fetch-http-handler': 5.8.0 + '@smithy/node-http-handler': 4.12.1 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/signature-v4-multi-region@3.996.46': dependencies: '@aws-sdk/types': 3.974.5 '@smithy/signature-v4': 5.7.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/token-providers@3.1116.0': @@ -9237,17 +9046,17 @@ snapshots: '@aws-sdk/nested-clients': 3.997.44 '@aws-sdk/types': 3.974.5 '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/types@3.974.5': dependencies: - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws-sdk/xml-builder@3.972.40': dependencies: - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@aws/lambda-invoke-store@0.3.0': {} @@ -9537,10 +9346,10 @@ snapshots: '@babel/helper-string-parser': 8.0.0 '@babel/helper-validator-identifier': 8.0.2 - '@base-ui/react@1.7.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@base-ui/react@1.8.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@babel/runtime': 7.29.7 - '@base-ui/utils': 0.3.2(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@base-ui/utils': 0.4.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@floating-ui/react-dom': 2.1.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@floating-ui/utils': 0.2.12 react: 19.2.8 @@ -9549,7 +9358,7 @@ snapshots: optionalDependencies: '@types/react': 19.2.18 - '@base-ui/utils@0.3.2(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@base-ui/utils@0.4.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@babel/runtime': 7.29.7 '@floating-ui/utils': 0.2.12 @@ -9562,93 +9371,93 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} - '@better-auth/api-key@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3))': + '@better-auth/api-key@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4))': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 - better-auth: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11) - better-call: 1.4.0(zod@4.4.3) - zod: 4.4.3 + better-auth: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0) + better-call: 1.4.0(zod@4.5.4) + zod: 4.5.4 - '@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2)': + '@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3)': dependencies: '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 '@opentelemetry/semantic-conventions': 1.41.1 '@standard-schema/spec': 1.1.0 - better-call: 1.4.0(zod@4.4.3) + better-call: 1.4.0(zod@4.5.4) jose: 6.2.10 kysely: 0.29.5 - nanostores: 1.5.2 - zod: 4.4.3 + nanostores: 1.5.3 + zod: 4.5.4 - '@better-auth/drizzle-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))': + '@better-auth/drizzle-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 optionalDependencies: - drizzle-orm: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3) + drizzle-orm: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4) - '@better-auth/infra@0.4.3(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(zod@4.4.3)': + '@better-auth/infra@0.4.5(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(zod@4.5.4)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.3 '@better-fetch/fetch': 1.3.1 - '@noble/hashes': 2.3.0 + '@noble/hashes': 2.4.0 '@xmldom/xmldom': 0.9.12 - better-auth: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11) - better-call: 1.3.7(zod@4.4.3) + better-auth: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0) + better-call: 1.3.7(zod@4.5.4) jose: 6.2.10 - libphonenumber-js: 1.13.11 - zod: 4.4.3 + libphonenumber-js: 1.13.12 + zod: 4.5.4 - '@better-auth/kysely-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(kysely@0.29.5)': + '@better-auth/kysely-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(kysely@0.29.5)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 optionalDependencies: kysely: 0.29.5 - '@better-auth/memory-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)': + '@better-auth/memory-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 - '@better-auth/mongo-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)': + '@better-auth/mongo-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 - '@better-auth/oauth-provider@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3))': + '@better-auth/oauth-provider@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4))': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 - better-auth: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11) - better-call: 1.4.0(zod@4.4.3) + better-auth: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0) + better-call: 1.4.0(zod@4.5.4) jose: 6.2.10 - zod: 4.4.3 + zod: 4.5.4 - '@better-auth/passkey@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11))(better-call@1.4.0(zod@4.4.3))(nanostores@1.5.2)': + '@better-auth/passkey@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0))(better-call@1.4.0(zod@4.5.4))(nanostores@1.5.3)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 '@simplewebauthn/browser': 13.3.0 - '@simplewebauthn/server': 13.3.2 - better-auth: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11) - better-call: 1.4.0(zod@4.4.3) - nanostores: 1.5.2 - zod: 4.4.3 + '@simplewebauthn/server': 13.3.3 + better-auth: 1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0) + better-call: 1.4.0(zod@4.5.4) + nanostores: 1.5.3 + zod: 4.5.4 - '@better-auth/prisma-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)': + '@better-auth/prisma-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 - '@better-auth/telemetry@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)': + '@better-auth/telemetry@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 @@ -9658,7 +9467,7 @@ snapshots: '@better-auth/utils@0.4.3': dependencies: - '@noble/hashes': 2.3.0 + '@noble/hashes': 2.4.0 '@better-auth/utils@0.5.0': dependencies: @@ -9666,39 +9475,39 @@ snapshots: '@better-fetch/fetch@1.3.1': {} - '@biomejs/biome@2.5.10': + '@biomejs/biome@2.5.12': optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.5.10 - '@biomejs/cli-darwin-x64': 2.5.10 - '@biomejs/cli-linux-arm64': 2.5.10 - '@biomejs/cli-linux-arm64-musl': 2.5.10 - '@biomejs/cli-linux-x64': 2.5.10 - '@biomejs/cli-linux-x64-musl': 2.5.10 - '@biomejs/cli-win32-arm64': 2.5.10 - '@biomejs/cli-win32-x64': 2.5.10 + '@biomejs/cli-darwin-arm64': 2.5.12 + '@biomejs/cli-darwin-x64': 2.5.12 + '@biomejs/cli-linux-arm64': 2.5.12 + '@biomejs/cli-linux-arm64-musl': 2.5.12 + '@biomejs/cli-linux-x64': 2.5.12 + '@biomejs/cli-linux-x64-musl': 2.5.12 + '@biomejs/cli-win32-arm64': 2.5.12 + '@biomejs/cli-win32-x64': 2.5.12 - '@biomejs/cli-darwin-arm64@2.5.10': + '@biomejs/cli-darwin-arm64@2.5.12': optional: true - '@biomejs/cli-darwin-x64@2.5.10': + '@biomejs/cli-darwin-x64@2.5.12': optional: true - '@biomejs/cli-linux-arm64-musl@2.5.10': + '@biomejs/cli-linux-arm64-musl@2.5.12': optional: true - '@biomejs/cli-linux-arm64@2.5.10': + '@biomejs/cli-linux-arm64@2.5.12': optional: true - '@biomejs/cli-linux-x64-musl@2.5.10': + '@biomejs/cli-linux-x64-musl@2.5.12': optional: true - '@biomejs/cli-linux-x64@2.5.10': + '@biomejs/cli-linux-x64@2.5.12': optional: true - '@biomejs/cli-win32-arm64@2.5.10': + '@biomejs/cli-win32-arm64@2.5.12': optional: true - '@biomejs/cli-win32-x64@2.5.10': + '@biomejs/cli-win32-x64@2.5.12': optional: true '@bramus/specificity@2.4.2': @@ -9708,29 +9517,29 @@ snapshots: '@codemirror/autocomplete@6.20.3': dependencies: '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.1 - '@codemirror/view': 6.43.9 + '@codemirror/state': 6.7.3 + '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@codemirror/commands@6.11.0': dependencies: '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.1 - '@codemirror/view': 6.43.9 + '@codemirror/state': 6.7.3 + '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@codemirror/lang-css@6.3.1': dependencies: '@codemirror/autocomplete': 6.20.3 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.1 + '@codemirror/state': 6.7.3 '@lezer/common': 1.5.2 '@lezer/css': 1.3.6 '@codemirror/language@6.12.4': dependencies: - '@codemirror/state': 6.7.1 - '@codemirror/view': 6.43.9 + '@codemirror/state': 6.7.3 + '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 '@lezer/lr': 1.4.10 @@ -9738,23 +9547,23 @@ snapshots: '@codemirror/lint@6.9.7': dependencies: - '@codemirror/state': 6.7.1 - '@codemirror/view': 6.43.9 + '@codemirror/state': 6.7.3 + '@codemirror/view': 6.43.11 crelt: 1.0.7 - '@codemirror/search@6.7.1': + '@codemirror/search@6.7.2': dependencies: - '@codemirror/state': 6.7.1 - '@codemirror/view': 6.43.9 + '@codemirror/state': 6.7.3 + '@codemirror/view': 6.43.11 crelt: 1.0.7 - '@codemirror/state@6.7.1': + '@codemirror/state@6.7.3': dependencies: '@marijn/find-cluster-break': 1.0.4 - '@codemirror/view@6.43.9': + '@codemirror/view@6.43.11': dependencies: - '@codemirror/state': 6.7.1 + '@codemirror/state': 6.7.3 crelt: 1.0.7 style-mod: 4.1.3 w3c-keyname: 2.2.8 @@ -9762,15 +9571,15 @@ snapshots: '@colors/colors@1.5.0': optional: true - '@commitlint/cli@21.2.2(@types/node@26.4.0)(conventional-commits-parser@7.1.2)(typescript@7.0.2)': + '@commitlint/cli@21.2.2(@types/node@26.4.1)(conventional-commits-parser@7.1.2)(typescript@7.0.2)': dependencies: '@commitlint/config-conventional': 21.2.2 '@commitlint/format': 21.2.2 '@commitlint/lint': 21.2.2 - '@commitlint/load': 21.2.2(@types/node@26.4.0)(typescript@7.0.2) + '@commitlint/load': 21.2.2(@types/node@26.4.1)(typescript@7.0.2) '@commitlint/read': 21.2.1(conventional-commits-parser@7.1.2) '@commitlint/types': 21.2.0 - tinyexec: 1.3.0 + tinyexec: 1.3.1 yargs: 18.1.0 transitivePeerDependencies: - '@types/node' @@ -9791,7 +9600,7 @@ snapshots: '@commitlint/ensure@21.2.0': dependencies: '@commitlint/types': 21.2.0 - es-toolkit: 1.51.0 + es-toolkit: 1.52.0 '@commitlint/execute-rule@21.0.1': {} @@ -9812,15 +9621,15 @@ snapshots: '@commitlint/rules': 21.2.2 '@commitlint/types': 21.2.0 - '@commitlint/load@21.2.2(@types/node@26.4.0)(typescript@7.0.2)': + '@commitlint/load@21.2.2(@types/node@26.4.1)(typescript@7.0.2)': dependencies: '@commitlint/config-validator': 21.2.0 '@commitlint/execute-rule': 21.0.1 '@commitlint/resolve-extends': 21.2.2 '@commitlint/types': 21.2.0 cosmiconfig: 9.0.2(typescript@7.0.2) - cosmiconfig-typescript-loader: 6.3.0(@types/node@26.4.0)(cosmiconfig@9.0.2(typescript@7.0.2))(typescript@7.0.2) - es-toolkit: 1.51.0 + cosmiconfig-typescript-loader: 6.3.0(@types/node@26.4.1)(cosmiconfig@9.0.2(typescript@7.0.2))(typescript@7.0.2) + es-toolkit: 1.52.0 is-plain-obj: 4.1.0 picocolors: 1.1.1 transitivePeerDependencies: @@ -9840,7 +9649,7 @@ snapshots: '@commitlint/top-level': 21.2.0 '@commitlint/types': 21.2.0 '@conventional-changelog/git-client': 3.1.2(conventional-commits-parser@7.1.2) - tinyexec: 1.3.0 + tinyexec: 1.3.1 transitivePeerDependencies: - conventional-commits-filter - conventional-commits-parser @@ -9849,7 +9658,7 @@ snapshots: dependencies: '@commitlint/config-validator': 21.2.0 '@commitlint/types': 21.2.0 - es-toolkit: 1.51.0 + es-toolkit: 1.52.0 global-directory: 5.0.0 resolve-from: 5.0.0 @@ -9881,134 +9690,134 @@ snapshots: '@conventional-changelog/template@1.4.0': {} - '@deepseek-ai/cordis@4.0.1': + '@deepseek-ai/cordis@4.0.2': dependencies: - '@deepseek-ai/cosmokit': 1.8.2 + '@deepseek-ai/cosmokit': 1.8.3 '@standard-schema/spec': 1.1.0 - '@deepseek-ai/cosmokit@1.8.2': {} + '@deepseek-ai/cosmokit@1.8.3': {} - '@deepseek-ai/dsh-agent@0.1.0-rc.8(92f269661ea5e195fab72177f1a12db7)': + '@deepseek-ai/dsh-agent@0.1.0-rc.8(fd02a188607bf95239ea4dc11d806a44)': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.8(fbdb1d988541b64ff002d18c4ded7293) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-session': 0.1.0-rc.8(563f6732ba021aee75ff0d3cc3274cba) + '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-brand': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-brand': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-code-runtime@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-code-runtime@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)': + '@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/schemastery': 3.18.1 + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-attachment': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-brand': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/schemastery': 3.18.1 + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-attachment': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-brand': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-timeout': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-mcp-client@0.1.0-rc.8(e2641fa3161a2c65bb3b98f444cec720)': + '@deepseek-ai/dsh-mcp-client@0.1.0-rc.8(6dfa23998b310f426efa2e4ec6b743ee)': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-attachment': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-subprocess': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-tools': 0.1.0-rc.8(ac9081d1e007de8a90a707560a8ae1c3) - '@deepseek-ai/schemastery': 3.18.1 - '@modelcontextprotocol/sdk': 1.30.0(supports-color@7.2.0)(zod@4.4.3) - zod: 4.4.3 + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-attachment': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-subprocess': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-timeout': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-tools': 0.1.0-rc.8(60a5acffe69dfec1022871fdb15fdfc9) + '@deepseek-ai/schemastery': 3.18.2 + '@modelcontextprotocol/sdk': 1.30.0(supports-color@7.2.0)(zod@4.5.4) + zod: 4.5.4 transitivePeerDependencies: - '@cfworker/json-schema' - supports-color - '@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-session@0.1.0-rc.8(fbdb1d988541b64ff002d18c4ded7293)': + '@deepseek-ai/dsh-session@0.1.0-rc.8(563f6732ba021aee75ff0d3cc3274cba)': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-brand': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-brand': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-subprocess@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-subprocess@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-system-prompt@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-system-prompt@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/schemastery': 3.18.1 + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-tools@0.1.0-rc.8(ac9081d1e007de8a90a707560a8ae1c3)': + '@deepseek-ai/dsh-tools@0.1.0-rc.8(60a5acffe69dfec1022871fdb15fdfc9)': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-agent': 0.1.0-rc.8(92f269661ea5e195fab72177f1a12db7) - '@deepseek-ai/dsh-code-runtime': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.8(fbdb1d988541b64ff002d18c4ded7293) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.8(380a43f4d6510c4a5dfadf54dc7f17a7) - '@deepseek-ai/schemastery': 3.18.1 + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-agent': 0.1.0-rc.8(fd02a188607bf95239ea4dc11d806a44) + '@deepseek-ai/dsh-code-runtime': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-session': 0.1.0-rc.8(563f6732ba021aee75ff0d3cc3274cba) + '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-user-approval': 0.1.0-rc.8(7f2caa0c7ae16afb1bf73caef0930f87) + '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-typert-protocol@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-typert-protocol@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-user-approval@0.1.0-rc.8(380a43f4d6510c4a5dfadf54dc7f17a7)': + '@deepseek-ai/dsh-user-approval@0.1.0-rc.8(7f2caa0c7ae16afb1bf73caef0930f87)': dependencies: - '@deepseek-ai/cordis': 4.0.1 - '@deepseek-ai/dsh-agent': 0.1.0-rc.8(92f269661ea5e195fab72177f1a12db7) - '@deepseek-ai/dsh-brand': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.8(fbdb1d988541b64ff002d18c4ded7293) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/schemastery': 3.18.1 + '@deepseek-ai/cordis': 4.0.2 + '@deepseek-ai/dsh-agent': 0.1.0-rc.8(fd02a188607bf95239ea4dc11d806a44) + '@deepseek-ai/dsh-brand': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-invariants': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-session': 0.1.0-rc.8(563f6732ba021aee75ff0d3cc3274cba) + '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-attachment@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-timeout@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.8(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/schemastery@3.18.1': + '@deepseek-ai/schemastery@3.18.2': dependencies: - '@deepseek-ai/cosmokit': 1.8.2 + '@deepseek-ai/cosmokit': 1.8.3 '@standard-schema/spec': 1.1.0 '@dnd-kit/accessibility@3.1.1(react@19.2.8)': @@ -10050,7 +9859,7 @@ snapshots: object-treeify: 1.1.33 open: 8.4.2 picomatch: 4.0.7 - systeminformation: 5.33.1 + systeminformation: 5.33.8 undici: 7.29.0 which: 4.0.0 yocto-spinner: 1.2.2 @@ -10263,211 +10072,107 @@ snapshots: '@img/colour@1.1.0': {} - '@img/sharp-darwin-arm64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.3.2 - optional: true - '@img/sharp-darwin-arm64@0.35.4': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.3.3 optional: true - '@img/sharp-darwin-x64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.3.2 - optional: true - '@img/sharp-darwin-x64@0.35.4': optionalDependencies: '@img/sharp-libvips-darwin-x64': 1.3.3 optional: true - '@img/sharp-freebsd-wasm32@0.35.3': - dependencies: - '@img/sharp-wasm32': 0.35.3 - optional: true - '@img/sharp-freebsd-wasm32@0.35.4': dependencies: '@img/sharp-wasm32': 0.35.4 optional: true - '@img/sharp-libvips-darwin-arm64@1.3.2': - optional: true - '@img/sharp-libvips-darwin-arm64@1.3.3': optional: true - '@img/sharp-libvips-darwin-x64@1.3.2': - optional: true - '@img/sharp-libvips-darwin-x64@1.3.3': optional: true - '@img/sharp-libvips-linux-arm64@1.3.2': - optional: true - '@img/sharp-libvips-linux-arm64@1.3.3': optional: true - '@img/sharp-libvips-linux-arm@1.3.2': - optional: true - '@img/sharp-libvips-linux-arm@1.3.3': optional: true - '@img/sharp-libvips-linux-ppc64@1.3.2': - optional: true - '@img/sharp-libvips-linux-ppc64@1.3.3': optional: true - '@img/sharp-libvips-linux-riscv64@1.3.2': - optional: true - '@img/sharp-libvips-linux-riscv64@1.3.3': optional: true - '@img/sharp-libvips-linux-s390x@1.3.2': - optional: true - '@img/sharp-libvips-linux-s390x@1.3.3': optional: true - '@img/sharp-libvips-linux-x64@1.3.2': - optional: true - '@img/sharp-libvips-linux-x64@1.3.3': optional: true - '@img/sharp-libvips-linuxmusl-arm64@1.3.2': - optional: true - '@img/sharp-libvips-linuxmusl-arm64@1.3.3': optional: true - '@img/sharp-libvips-linuxmusl-x64@1.3.2': - optional: true - '@img/sharp-libvips-linuxmusl-x64@1.3.3': optional: true - '@img/sharp-linux-arm64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.3.2 - optional: true - '@img/sharp-linux-arm64@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-arm64': 1.3.3 optional: true - '@img/sharp-linux-arm@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.3.2 - optional: true - '@img/sharp-linux-arm@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-arm': 1.3.3 optional: true - '@img/sharp-linux-ppc64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-ppc64': 1.3.2 - optional: true - '@img/sharp-linux-ppc64@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-ppc64': 1.3.3 optional: true - '@img/sharp-linux-riscv64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-riscv64': 1.3.2 - optional: true - '@img/sharp-linux-riscv64@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-riscv64': 1.3.3 optional: true - '@img/sharp-linux-s390x@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.3.2 - optional: true - '@img/sharp-linux-s390x@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-s390x': 1.3.3 optional: true - '@img/sharp-linux-x64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.3.2 - optional: true - '@img/sharp-linux-x64@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-x64': 1.3.3 optional: true - '@img/sharp-linuxmusl-arm64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 - optional: true - '@img/sharp-linuxmusl-arm64@0.35.4': optionalDependencies: '@img/sharp-libvips-linuxmusl-arm64': 1.3.3 optional: true - '@img/sharp-linuxmusl-x64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.3.2 - optional: true - '@img/sharp-linuxmusl-x64@0.35.4': optionalDependencies: '@img/sharp-libvips-linuxmusl-x64': 1.3.3 optional: true - '@img/sharp-wasm32@0.35.3': - dependencies: - '@emnapi/runtime': 1.11.3 - optional: true - '@img/sharp-wasm32@0.35.4': dependencies: '@emnapi/runtime': 1.11.3 optional: true - '@img/sharp-webcontainers-wasm32@0.35.3': - dependencies: - '@img/sharp-wasm32': 0.35.3 - optional: true - '@img/sharp-webcontainers-wasm32@0.35.4': dependencies: '@img/sharp-wasm32': 0.35.4 optional: true - '@img/sharp-win32-arm64@0.35.3': - optional: true - '@img/sharp-win32-arm64@0.35.4': optional: true - '@img/sharp-win32-ia32@0.35.3': - optional: true - '@img/sharp-win32-ia32@0.35.4': optional: true - '@img/sharp-win32-x64@0.35.3': - optional: true - '@img/sharp-win32-x64@0.35.4': optional: true @@ -10486,7 +10191,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 26.2.0 + '@types/node': 26.4.1 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -10504,10 +10209,12 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/sourcemap-codec@1.6.0': {} + '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 '@js-temporal/polyfill@0.5.1': dependencies: @@ -10551,7 +10258,7 @@ snapshots: '@babel/core': 8.0.1 '@babel/types': 7.29.8 - '@lingui/cli@6.6.0(babel-plugin-macros@3.1.0)(esbuild@0.28.2)(rolldown@1.2.5)(supports-color@7.2.0)': + '@lingui/cli@6.6.0(babel-plugin-macros@3.1.0)(esbuild@0.28.2)(rolldown@1.2.7)(supports-color@7.2.0)': dependencies: '@babel/core': 7.29.7(supports-color@7.2.0) '@babel/generator': 7.29.8 @@ -10576,7 +10283,7 @@ snapshots: tinypool: 2.1.2 optionalDependencies: esbuild: 0.28.2 - rolldown: 1.2.5 + rolldown: 1.2.7 transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -10632,16 +10339,16 @@ snapshots: - '@babel/core' - '@babel/types' - '@lingui/vite-plugin@6.6.0(@babel/core@8.0.1)(@lingui/babel-plugin-lingui-macro@6.6.0(@babel/core@8.0.1)(@babel/types@7.29.8))(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)))(babel-plugin-macros@3.1.0)(esbuild@0.28.2)(rolldown@1.2.5)(supports-color@7.2.0)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0))': + '@lingui/vite-plugin@6.6.0(@babel/core@8.0.1)(@lingui/babel-plugin-lingui-macro@6.6.0(@babel/core@8.0.1)(@babel/types@7.29.8))(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.7)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)))(babel-plugin-macros@3.1.0)(esbuild@0.28.2)(rolldown@1.2.7)(supports-color@7.2.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0))': dependencies: - '@lingui/cli': 6.6.0(babel-plugin-macros@3.1.0)(esbuild@0.28.2)(rolldown@1.2.5)(supports-color@7.2.0) + '@lingui/cli': 6.6.0(babel-plugin-macros@3.1.0)(esbuild@0.28.2)(rolldown@1.2.7)(supports-color@7.2.0) '@lingui/conf': 6.6.0 - vite: 8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) optionalDependencies: '@babel/core': 8.0.1 '@lingui/babel-plugin-lingui-macro': 6.6.0(@babel/core@8.0.1)(@babel/types@7.29.8) - '@rolldown/plugin-babel': 0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) - rolldown: 1.2.5 + '@rolldown/plugin-babel': 0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.7)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) + rolldown: 1.2.7 transitivePeerDependencies: - babel-plugin-macros - esbuild @@ -10666,7 +10373,7 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.1.1 express: 5.2.1(supports-color@7.2.0) - express-rate-limit: 8.6.2(express@5.2.1(supports-color@7.2.0))(supports-color@7.2.0) + express-rate-limit: 8.7.0(express@5.2.1(supports-color@7.2.0))(supports-color@7.2.0) hono: 4.13.5 jose: 6.2.10 json-schema-typed: 8.0.2 @@ -10677,7 +10384,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@modelcontextprotocol/sdk@1.30.0(supports-color@7.2.0)(zod@4.4.3)': + '@modelcontextprotocol/sdk@1.30.0(supports-color@7.2.0)(zod@4.5.4)': dependencies: '@hono/node-server': 2.1.1(hono@4.13.5) ajv: 8.20.0 @@ -10688,14 +10395,14 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.1.1 express: 5.2.1(supports-color@7.2.0) - express-rate-limit: 8.6.2(express@5.2.1(supports-color@7.2.0))(supports-color@7.2.0) + express-rate-limit: 8.7.0(express@5.2.1(supports-color@7.2.0))(supports-color@7.2.0) hono: 4.13.5 jose: 6.2.10 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 raw-body: 3.0.2 - zod: 4.4.3 - zod-to-json-schema: 3.25.2(zod@4.4.3) + zod: 4.5.4 + zod-to-json-schema: 3.25.2(zod@4.5.4) transitivePeerDependencies: - supports-color @@ -10795,12 +10502,14 @@ snapshots: '@noble/ciphers@1.3.0': {} - '@noble/ciphers@2.3.0': {} + '@noble/ciphers@2.4.0': {} '@noble/hashes@1.8.0': {} '@noble/hashes@2.3.0': {} + '@noble/hashes@2.4.0': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -10811,7 +10520,7 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.20.1 + fastq: 1.20.3 '@opentelemetry/semantic-conventions@1.41.1': {} @@ -10909,7 +10618,7 @@ snapshots: '@orpc/shared@1.15.0': dependencies: radash: 12.1.1 - type-fest: 5.8.0 + type-fest: 5.9.0 '@orpc/standard-server-aws-lambda@1.15.0': dependencies: @@ -10956,15 +10665,15 @@ snapshots: transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/tanstack-query@1.15.0(@orpc/client@1.15.0)(@tanstack/query-core@5.102.6)': + '@orpc/tanstack-query@1.15.0(@orpc/client@1.15.0)(@tanstack/query-core@5.102.8)': dependencies: '@orpc/client': 1.15.0 '@orpc/shared': 1.15.0 - '@tanstack/query-core': 5.102.6 + '@tanstack/query-core': 5.102.8 transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/zod@1.15.0(@orpc/contract@1.15.0)(@orpc/server@1.15.0(ws@8.21.3))(ws@8.21.3)(zod@4.4.3)': + '@orpc/zod@1.15.0(@orpc/contract@1.15.0)(@orpc/server@1.15.0(ws@8.21.3))(ws@8.21.3)(zod@4.5.4)': dependencies: '@orpc/contract': 1.15.0 '@orpc/json-schema': 1.15.0(ws@8.21.3) @@ -10973,7 +10682,7 @@ snapshots: '@orpc/shared': 1.15.0 escape-string-regexp: 5.0.0 wildcard-match: 5.1.4 - zod: 4.4.3 + zod: 4.5.4 transitivePeerDependencies: - '@opentelemetry/api' - crossws @@ -10983,97 +10692,97 @@ snapshots: '@oxc-parser/binding-android-arm-eabi@0.120.0': optional: true - '@oxc-parser/binding-android-arm-eabi@0.143.0': + '@oxc-parser/binding-android-arm-eabi@0.147.0': optional: true '@oxc-parser/binding-android-arm64@0.120.0': optional: true - '@oxc-parser/binding-android-arm64@0.143.0': + '@oxc-parser/binding-android-arm64@0.147.0': optional: true '@oxc-parser/binding-darwin-arm64@0.120.0': optional: true - '@oxc-parser/binding-darwin-arm64@0.143.0': + '@oxc-parser/binding-darwin-arm64@0.147.0': optional: true '@oxc-parser/binding-darwin-x64@0.120.0': optional: true - '@oxc-parser/binding-darwin-x64@0.143.0': + '@oxc-parser/binding-darwin-x64@0.147.0': optional: true '@oxc-parser/binding-freebsd-x64@0.120.0': optional: true - '@oxc-parser/binding-freebsd-x64@0.143.0': + '@oxc-parser/binding-freebsd-x64@0.147.0': optional: true '@oxc-parser/binding-linux-arm-gnueabihf@0.120.0': optional: true - '@oxc-parser/binding-linux-arm-gnueabihf@0.143.0': + '@oxc-parser/binding-linux-arm-gnueabihf@0.147.0': optional: true '@oxc-parser/binding-linux-arm-musleabihf@0.120.0': optional: true - '@oxc-parser/binding-linux-arm-musleabihf@0.143.0': + '@oxc-parser/binding-linux-arm-musleabihf@0.147.0': optional: true '@oxc-parser/binding-linux-arm64-gnu@0.120.0': optional: true - '@oxc-parser/binding-linux-arm64-gnu@0.143.0': + '@oxc-parser/binding-linux-arm64-gnu@0.147.0': optional: true '@oxc-parser/binding-linux-arm64-musl@0.120.0': optional: true - '@oxc-parser/binding-linux-arm64-musl@0.143.0': + '@oxc-parser/binding-linux-arm64-musl@0.147.0': optional: true '@oxc-parser/binding-linux-ppc64-gnu@0.120.0': optional: true - '@oxc-parser/binding-linux-ppc64-gnu@0.143.0': + '@oxc-parser/binding-linux-ppc64-gnu@0.147.0': optional: true '@oxc-parser/binding-linux-riscv64-gnu@0.120.0': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.143.0': + '@oxc-parser/binding-linux-riscv64-gnu@0.147.0': optional: true '@oxc-parser/binding-linux-riscv64-musl@0.120.0': optional: true - '@oxc-parser/binding-linux-riscv64-musl@0.143.0': + '@oxc-parser/binding-linux-riscv64-musl@0.147.0': optional: true '@oxc-parser/binding-linux-s390x-gnu@0.120.0': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.143.0': + '@oxc-parser/binding-linux-s390x-gnu@0.147.0': optional: true '@oxc-parser/binding-linux-x64-gnu@0.120.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.143.0': + '@oxc-parser/binding-linux-x64-gnu@0.147.0': optional: true '@oxc-parser/binding-linux-x64-musl@0.120.0': optional: true - '@oxc-parser/binding-linux-x64-musl@0.143.0': + '@oxc-parser/binding-linux-x64-musl@0.147.0': optional: true '@oxc-parser/binding-openharmony-arm64@0.120.0': optional: true - '@oxc-parser/binding-openharmony-arm64@0.143.0': + '@oxc-parser/binding-openharmony-arm64@0.147.0': optional: true '@oxc-parser/binding-wasm32-wasi@0.120.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)': @@ -11087,26 +10796,26 @@ snapshots: '@oxc-parser/binding-win32-arm64-msvc@0.120.0': optional: true - '@oxc-parser/binding-win32-arm64-msvc@0.143.0': + '@oxc-parser/binding-win32-arm64-msvc@0.147.0': optional: true '@oxc-parser/binding-win32-ia32-msvc@0.120.0': optional: true - '@oxc-parser/binding-win32-ia32-msvc@0.143.0': + '@oxc-parser/binding-win32-ia32-msvc@0.147.0': optional: true '@oxc-parser/binding-win32-x64-msvc@0.120.0': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.143.0': + '@oxc-parser/binding-win32-x64-msvc@0.147.0': optional: true '@oxc-project/types@0.120.0': {} - '@oxc-project/types@0.143.0': {} + '@oxc-project/types@0.147.0': {} - '@oxc-project/types@0.146.0': {} + '@oxc-project/types@0.148.0': {} '@oxc-resolver/binding-android-arm-eabi@11.24.2': optional: true @@ -11298,18 +11007,18 @@ snapshots: optionalDependencies: '@types/react': 19.2.18 - '@radix-ui/react-dialog@1.1.23(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-dialog@1.1.23(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.18)(react@19.2.8) '@radix-ui/react-context': 1.2.2(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-id': 1.1.4(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-slot': 1.3.3(@types/react@19.2.18)(react@19.2.8) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.2.18)(react@19.2.8) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.18)(react@19.2.8) @@ -11319,20 +11028,20 @@ snapshots: react-remove-scroll: 2.7.2(@types/react@19.2.18)(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.7(@types/react@19.2.18) - '@radix-ui/react-dismissable-layer@1.1.19(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-dismissable-layer@1.1.19(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.2.18)(react@19.2.8) '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.2.18)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.7(@types/react@19.2.18) '@radix-ui/react-focus-guards@1.1.6(@types/react@19.2.18)(react@19.2.8)': dependencies: @@ -11340,16 +11049,16 @@ snapshots: optionalDependencies: '@types/react': 19.2.18 - '@radix-ui/react-focus-scope@1.1.16(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-focus-scope@1.1.16(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.2.18)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.7(@types/react@19.2.18) '@radix-ui/react-id@1.1.4(@types/react@19.2.18)(react@19.2.8)': dependencies: @@ -11358,33 +11067,33 @@ snapshots: optionalDependencies: '@types/react': 19.2.18 - '@radix-ui/react-portal@1.1.17(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-portal@1.1.17(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.18)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.7(@types/react@19.2.18) - '@radix-ui/react-presence@1.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-presence@1.1.10(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.18)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.7(@types/react@19.2.18) - '@radix-ui/react-primitive@2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-primitive@2.1.10(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-slot': 1.3.3(@types/react@19.2.18)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.7(@types/react@19.2.18) '@radix-ui/react-slot@1.3.3(@types/react@19.2.18)(react@19.2.8)': dependencies: @@ -11430,10 +11139,10 @@ snapshots: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - '@react-email/ui@6.9.3(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@react-email/ui@6.9.3(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: esbuild: 0.28.1 - next: 16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + next: 16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) transitivePeerDependencies: - '@babel/core' - '@opentelemetry/api' @@ -11447,9 +11156,9 @@ snapshots: '@react-pdf/fns@3.1.3': {} - '@react-pdf/font@4.1.1': + '@react-pdf/font@4.1.2': dependencies: - '@react-pdf/types': 2.13.1 + '@react-pdf/types': 2.14.0 fontkit: 2.0.4 is-url: 1.2.4 pdfkit: 0.20.1 @@ -11464,15 +11173,15 @@ snapshots: jay-peg: 1.1.1 png-js: 2.0.0 - '@react-pdf/layout@5.1.1': + '@react-pdf/layout@5.2.0': dependencies: '@react-pdf/fns': 3.1.3 '@react-pdf/image': 3.1.2 '@react-pdf/paginate': 1.0.1 '@react-pdf/primitives': 4.4.0 - '@react-pdf/stylesheet': 6.3.1 + '@react-pdf/stylesheet': 6.3.2 '@react-pdf/textkit': 7.0.1(patch_hash=83ab8b75b1df9fb96f5b36ad308d9d27c91ff7d16d6345cb15dd0567c70e7e59) - '@react-pdf/types': 2.13.1 + '@react-pdf/types': 2.14.0 emoji-regex-xs: 1.0.0 queue: 6.0.2 yoga-layout: 3.2.1 @@ -11487,29 +11196,29 @@ snapshots: react: 19.2.8 scheduler: 0.25.0-rc-603e6108-20241029 - '@react-pdf/render@4.6.4': + '@react-pdf/render@4.7.0': dependencies: '@babel/runtime': 7.29.7 '@react-pdf/fns': 3.1.3 '@react-pdf/primitives': 4.4.0 '@react-pdf/textkit': 7.0.1(patch_hash=83ab8b75b1df9fb96f5b36ad308d9d27c91ff7d16d6345cb15dd0567c70e7e59) - '@react-pdf/types': 2.13.1 + '@react-pdf/types': 2.14.0 abs-svg-path: 0.1.1 color-string: 2.1.4 normalize-svg-path: 1.1.0 parse-svg-path: 0.1.2 svg-arc-to-cubic-bezier: 3.2.0 - '@react-pdf/renderer@4.8.1(react@19.2.8)': + '@react-pdf/renderer@4.9.0(react@19.2.8)': dependencies: '@babel/runtime': 7.29.7 '@react-pdf/fns': 3.1.3 - '@react-pdf/font': 4.1.1 - '@react-pdf/layout': 5.1.1 + '@react-pdf/font': 4.1.2 + '@react-pdf/layout': 5.2.0 '@react-pdf/primitives': 4.4.0 '@react-pdf/reconciler': 2.0.0(react@19.2.8) - '@react-pdf/render': 4.6.4 - '@react-pdf/types': 2.13.1 + '@react-pdf/render': 4.7.0 + '@react-pdf/types': 2.14.0 events: 3.3.0 object-assign: 4.1.1 pdfkit: 0.20.1 @@ -11517,10 +11226,10 @@ snapshots: queue: 6.0.2 react: 19.2.8 - '@react-pdf/stylesheet@6.3.1': + '@react-pdf/stylesheet@6.3.2': dependencies: '@react-pdf/fns': 3.1.3 - '@react-pdf/types': 2.13.1 + '@react-pdf/types': 2.14.0 color-string: 2.1.4 hsl-to-hex: 1.0.0 media-engine: 2.0.0 @@ -11537,65 +11246,65 @@ snapshots: bidi-js: 1.0.3 unicode-properties: 1.4.1 - '@react-pdf/types@2.13.1': + '@react-pdf/types@2.14.0': dependencies: - '@react-pdf/font': 4.1.1 + '@react-pdf/font': 4.1.2 '@react-pdf/primitives': 4.4.0 - '@react-pdf/stylesheet': 6.3.1 + '@react-pdf/stylesheet': 6.3.2 - '@rolldown/binding-android-arm-eabi@1.2.5': + '@rolldown/binding-android-arm-eabi@1.2.7': optional: true - '@rolldown/binding-android-arm64@1.2.5': + '@rolldown/binding-android-arm64@1.2.7': optional: true - '@rolldown/binding-darwin-arm64@1.2.5': + '@rolldown/binding-darwin-arm64@1.2.7': optional: true - '@rolldown/binding-darwin-x64@1.2.5': + '@rolldown/binding-darwin-x64@1.2.7': optional: true - '@rolldown/binding-freebsd-x64@1.2.5': + '@rolldown/binding-freebsd-x64@1.2.7': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.2.5': + '@rolldown/binding-linux-arm-gnueabihf@1.2.7': optional: true - '@rolldown/binding-linux-arm64-gnu@1.2.5': + '@rolldown/binding-linux-arm64-gnu@1.2.7': optional: true - '@rolldown/binding-linux-arm64-musl@1.2.5': + '@rolldown/binding-linux-arm64-musl@1.2.7': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.2.5': + '@rolldown/binding-linux-ppc64-gnu@1.2.7': optional: true - '@rolldown/binding-linux-s390x-gnu@1.2.5': + '@rolldown/binding-linux-s390x-gnu@1.2.7': optional: true - '@rolldown/binding-linux-x64-gnu@1.2.5': + '@rolldown/binding-linux-x64-gnu@1.2.7': optional: true - '@rolldown/binding-linux-x64-musl@1.2.5': + '@rolldown/binding-linux-x64-musl@1.2.7': optional: true - '@rolldown/binding-openharmony-arm64@1.2.5': + '@rolldown/binding-openharmony-arm64@1.2.7': optional: true - '@rolldown/binding-win32-arm64-msvc@1.2.5': + '@rolldown/binding-win32-arm64-msvc@1.2.7': optional: true - '@rolldown/binding-win32-x64-msvc@1.2.5': + '@rolldown/binding-win32-x64-msvc@1.2.7': optional: true - '@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0))': + '@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.7)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0))': dependencies: '@babel/core': 8.0.1 picomatch: 4.0.7 - rolldown: 1.2.5 + rolldown: 1.2.7 optionalDependencies: '@babel/runtime': 7.29.7 - vite: 8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) '@rolldown/pluginutils@1.0.1': {} @@ -11606,11 +11315,11 @@ snapshots: domhandler: 5.0.3 selderee: 0.11.0 - '@shadcn/helpers@0.2.0(ai@7.0.83(zod@4.4.3))': + '@shadcn/helpers@0.2.0(ai@7.0.92(zod@4.5.4))': optionalDependencies: - ai: 7.0.83(zod@4.4.3) + ai: 7.0.92(zod@4.5.4) - '@shadcn/react@0.3.0(@types/react@19.2.18)(react@19.2.8)': + '@shadcn/react@0.3.1(@types/react@19.2.18)(react@19.2.8)': optionalDependencies: '@types/react': 19.2.18 react: 19.2.8 @@ -11623,7 +11332,7 @@ snapshots: '@simplewebauthn/browser@13.3.0': {} - '@simplewebauthn/server@13.3.2': + '@simplewebauthn/server@13.3.3': dependencies: '@hexagon/base64': 1.1.28 '@levischuck/tiny-cbor': 0.2.11 @@ -11638,7 +11347,7 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@sindresorhus/slugify@3.0.0': + '@sindresorhus/slugify@3.0.1': dependencies: '@sindresorhus/transliterate': 2.3.1 escape-string-regexp: 5.0.0 @@ -11647,34 +11356,34 @@ snapshots: '@smithy/core@3.33.3': dependencies: - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@smithy/credential-provider-imds@4.5.2': dependencies: '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 - '@smithy/fetch-http-handler@5.7.2': + '@smithy/fetch-http-handler@5.8.0': dependencies: '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 - '@smithy/node-http-handler@4.11.3': + '@smithy/node-http-handler@4.12.1': dependencies: '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 '@smithy/signature-v4@5.7.3': dependencies: '@smithy/core': 3.33.3 - '@smithy/types': 4.17.2 + '@smithy/types': 4.18.0 tslib: 2.8.1 - '@smithy/types@4.17.2': + '@smithy/types@4.18.0': dependencies: tslib: 2.8.1 @@ -11724,10 +11433,10 @@ snapshots: dependencies: tslib: 2.8.1 - '@t3-oss/env-core@0.13.11(typescript@7.0.2)(zod@4.4.3)': + '@t3-oss/env-core@0.13.11(typescript@7.0.2)(zod@4.5.4)': optionalDependencies: typescript: 7.0.2 - zod: 4.4.3 + zod: 4.5.4 '@tailwindcss/node@4.3.3': dependencies: @@ -11792,10 +11501,10 @@ snapshots: '@tailwindcss/postcss@4.3.3': dependencies: - '@alloc/quick-lru': 5.2.0 + '@alloc/quick-lru': 5.3.0 '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 - postcss: 8.5.26 + postcss: 8.5.28 tailwindcss: 4.3.3 '@tailwindcss/typography@0.5.20(tailwindcss@4.3.3)': @@ -11803,12 +11512,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.3.3 - '@tailwindcss/vite@4.3.3(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0))': + '@tailwindcss/vite@4.3.3(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0))': dependencies: '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 tailwindcss: 4.3.3 - vite: 8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) '@tanstack/devtools-bundler-core@0.1.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)': dependencies: @@ -11849,13 +11558,13 @@ snapshots: transitivePeerDependencies: - csstype - '@tanstack/devtools-vite@0.8.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0))': + '@tanstack/devtools-vite@0.8.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0))': dependencies: '@tanstack/devtools-bundler-core': 0.1.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3) '@tanstack/devtools-client': 0.0.8 '@tanstack/devtools-event-bus': 0.4.3 chalk: 5.6.2 - vite: 8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -11894,15 +11603,15 @@ snapshots: '@tanstack/pacer-lite@0.1.1': {} - '@tanstack/query-core@5.102.6': {} + '@tanstack/query-core@5.102.8': {} - '@tanstack/query-devtools@5.102.6': {} + '@tanstack/query-devtools@5.102.8': {} - '@tanstack/react-devtools@0.10.12(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(csstype@3.2.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)': + '@tanstack/react-devtools@0.10.12(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(csstype@3.2.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)': dependencies: '@tanstack/devtools': 0.14.2(csstype@3.2.3)(solid-js@1.9.14) '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.7(@types/react@19.2.18) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: @@ -11926,15 +11635,15 @@ snapshots: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - '@tanstack/react-query-devtools@5.102.6(@tanstack/react-query@5.102.6(react@19.2.8))(react@19.2.8)': + '@tanstack/react-query-devtools@5.102.8(@tanstack/react-query@5.102.8(react@19.2.8))(react@19.2.8)': dependencies: - '@tanstack/query-devtools': 5.102.6 - '@tanstack/react-query': 5.102.6(react@19.2.8) + '@tanstack/query-devtools': 5.102.8 + '@tanstack/react-query': 5.102.8(react@19.2.8) react: 19.2.8 - '@tanstack/react-query@5.102.6(react@19.2.8)': + '@tanstack/react-query@5.102.8(react@19.2.8)': dependencies: - '@tanstack/query-core': 5.102.6 + '@tanstack/query-core': 5.102.8 react: 19.2.8 '@tanstack/react-router-devtools@1.167.1(@tanstack/react-router@1.170.32(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@tanstack/router-core@1.171.27)(csstype@3.2.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': @@ -11953,7 +11662,7 @@ snapshots: '@tanstack/history': 1.162.1 '@tanstack/react-store': 0.9.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tanstack/router-core': 1.171.27 - isbot: 5.2.1 + isbot: 5.2.2 react: 19.2.8 react-dom: 19.2.8(react@19.2.8) @@ -11995,11 +11704,11 @@ snapshots: jiti: 2.7.0 magic-string: 0.30.21 prettier: 3.9.6 - zod: 4.4.3 + zod: 4.5.4 transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.168.35(@tanstack/react-router@1.170.32(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(esbuild@0.28.2)(rolldown@1.2.5)(supports-color@7.2.0)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0))': + '@tanstack/router-plugin@1.168.35(@tanstack/react-router@1.170.32(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(esbuild@0.28.2)(rolldown@1.2.7)(supports-color@7.2.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.7(supports-color@7.2.0) '@babel/template': 7.29.7 @@ -12008,11 +11717,11 @@ snapshots: '@tanstack/router-generator': 1.167.33(supports-color@7.2.0) '@tanstack/router-utils': 1.162.2(supports-color@7.2.0) chokidar: 5.0.0 - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) - zod: 4.4.3 + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.7)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) + zod: 4.5.4 optionalDependencies: '@tanstack/react-router': 1.170.32(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - vite: 8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' @@ -12053,7 +11762,7 @@ snapshots: picocolors: 1.1.1 pretty-format: 27.5.1 - '@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@4.1.11)': + '@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.0)': dependencies: '@adobe/css-tools': 4.5.0 '@testing-library/dom': 10.4.1 @@ -12063,9 +11772,9 @@ snapshots: picocolors: 1.1.1 redent: 3.0.0 optionalDependencies: - vitest: 4.1.11(@types/node@26.4.0)(@vitest/coverage-v8@4.1.11)(happy-dom@20.11.8)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + vitest: 5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(happy-dom@20.14.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) - '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@testing-library/react@16.3.3(@testing-library/dom@10.4.1)(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@babel/runtime': 7.29.7 '@testing-library/dom': 10.4.1 @@ -12073,142 +11782,142 @@ snapshots: react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.7(@types/react@19.2.18) - '@testing-library/user-event@14.6.6(@testing-library/dom@10.4.1)': + '@testing-library/user-event@14.6.7(@testing-library/dom@10.4.1)': dependencies: '@testing-library/dom': 10.4.1 - '@tiptap/core@3.30.5(@tiptap/pm@3.30.5)': + '@tiptap/core@3.31.2(@tiptap/pm@3.31.2)': dependencies: - '@tiptap/pm': 3.30.5 + '@tiptap/pm': 3.31.2 - '@tiptap/extension-blockquote@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)': + '@tiptap/extension-blockquote@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) + '@tiptap/pm': 3.31.2 - '@tiptap/extension-bold@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-bold@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-bubble-menu@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)': + '@tiptap/extension-bubble-menu@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)': dependencies: '@floating-ui/dom': 1.8.0 - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) + '@tiptap/pm': 3.31.2 optional: true - '@tiptap/extension-bullet-list@3.30.5(@tiptap/extension-list@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5))': + '@tiptap/extension-bullet-list@3.31.2(@tiptap/extension-list@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/extension-list': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) + '@tiptap/extension-list': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) - '@tiptap/extension-code-block@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)': + '@tiptap/extension-code-block@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) + '@tiptap/pm': 3.31.2 - '@tiptap/extension-code@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-code@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-color@3.30.5(@tiptap/extension-text-style@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)))': + '@tiptap/extension-color@3.31.2(@tiptap/extension-text-style@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)))': dependencies: - '@tiptap/extension-text-style': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) + '@tiptap/extension-text-style': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) - '@tiptap/extension-document@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-document@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-dropcursor@3.30.5(@tiptap/extensions@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5))': + '@tiptap/extension-dropcursor@3.31.2(@tiptap/extensions@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/extensions': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) + '@tiptap/extensions': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) - '@tiptap/extension-floating-menu@3.30.5(@floating-ui/dom@1.8.0)(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)': + '@tiptap/extension-floating-menu@3.31.2(@floating-ui/dom@1.8.0)(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)': dependencies: '@floating-ui/dom': 1.8.0 - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) + '@tiptap/pm': 3.31.2 optional: true - '@tiptap/extension-gapcursor@3.30.5(@tiptap/extensions@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5))': + '@tiptap/extension-gapcursor@3.31.2(@tiptap/extensions@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/extensions': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) + '@tiptap/extensions': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) - '@tiptap/extension-hard-break@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-hard-break@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-heading@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-heading@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-highlight@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-highlight@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-horizontal-rule@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)': + '@tiptap/extension-horizontal-rule@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) + '@tiptap/pm': 3.31.2 - '@tiptap/extension-italic@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-italic@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-link@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)': + '@tiptap/extension-link@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) + '@tiptap/pm': 3.31.2 linkifyjs: 4.3.3 - '@tiptap/extension-list-item@3.30.5(@tiptap/extension-list@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5))': + '@tiptap/extension-list-item@3.31.2(@tiptap/extension-list@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/extension-list': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) + '@tiptap/extension-list': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) - '@tiptap/extension-list-keymap@3.30.5(@tiptap/extension-list@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5))': + '@tiptap/extension-list-keymap@3.31.2(@tiptap/extension-list@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/extension-list': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) + '@tiptap/extension-list': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) - '@tiptap/extension-list@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)': + '@tiptap/extension-list@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) + '@tiptap/pm': 3.31.2 - '@tiptap/extension-ordered-list@3.30.5(@tiptap/extension-list@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5))': + '@tiptap/extension-ordered-list@3.31.2(@tiptap/extension-list@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/extension-list': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) + '@tiptap/extension-list': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) - '@tiptap/extension-paragraph@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-paragraph@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-strike@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-strike@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-text-align@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-text-align@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-text-style@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-text-style@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-text@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-text@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extension-underline@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))': + '@tiptap/extension-underline@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) - '@tiptap/extensions@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)': + '@tiptap/extensions@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) + '@tiptap/pm': 3.31.2 - '@tiptap/pm@3.30.5': + '@tiptap/pm@3.31.2': dependencies: prosemirror-changeset: 2.4.2 prosemirror-commands: 1.7.2 @@ -12221,52 +11930,52 @@ snapshots: prosemirror-schema-list: 1.5.1 prosemirror-state: 1.4.4 prosemirror-tables: 1.8.5 - prosemirror-transform: 1.12.0 - prosemirror-view: 1.42.2 + prosemirror-transform: 1.12.1 + prosemirror-view: 1.42.3 - '@tiptap/react@3.30.5(@floating-ui/dom@1.8.0)(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@tiptap/react@3.31.2(@floating-ui/dom@1.8.0)(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) + '@tiptap/pm': 3.31.2 '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.7(@types/react@19.2.18) '@types/use-sync-external-store': 0.0.6 - fast-equals: 5.4.1 + fast-equals: 5.4.2 react: 19.2.8 react-dom: 19.2.8(react@19.2.8) use-sync-external-store: 1.6.0(react@19.2.8) optionalDependencies: - '@tiptap/extension-bubble-menu': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) - '@tiptap/extension-floating-menu': 3.30.5(@floating-ui/dom@1.8.0)(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) + '@tiptap/extension-bubble-menu': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) + '@tiptap/extension-floating-menu': 3.31.2(@floating-ui/dom@1.8.0)(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) transitivePeerDependencies: - '@floating-ui/dom' - '@tiptap/starter-kit@3.30.5': + '@tiptap/starter-kit@3.31.2': dependencies: - '@tiptap/core': 3.30.5(@tiptap/pm@3.30.5) - '@tiptap/extension-blockquote': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) - '@tiptap/extension-bold': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) - '@tiptap/extension-bullet-list': 3.30.5(@tiptap/extension-list@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)) - '@tiptap/extension-code': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) - '@tiptap/extension-code-block': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) - '@tiptap/extension-document': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) - '@tiptap/extension-dropcursor': 3.30.5(@tiptap/extensions@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)) - '@tiptap/extension-gapcursor': 3.30.5(@tiptap/extensions@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)) - '@tiptap/extension-hard-break': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) - '@tiptap/extension-heading': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) - '@tiptap/extension-horizontal-rule': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) - '@tiptap/extension-italic': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) - '@tiptap/extension-link': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) - '@tiptap/extension-list': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) - '@tiptap/extension-list-item': 3.30.5(@tiptap/extension-list@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)) - '@tiptap/extension-list-keymap': 3.30.5(@tiptap/extension-list@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)) - '@tiptap/extension-ordered-list': 3.30.5(@tiptap/extension-list@3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5)) - '@tiptap/extension-paragraph': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) - '@tiptap/extension-strike': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) - '@tiptap/extension-text': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) - '@tiptap/extension-underline': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5)) - '@tiptap/extensions': 3.30.5(@tiptap/core@3.30.5(@tiptap/pm@3.30.5))(@tiptap/pm@3.30.5) - '@tiptap/pm': 3.30.5 + '@tiptap/core': 3.31.2(@tiptap/pm@3.31.2) + '@tiptap/extension-blockquote': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) + '@tiptap/extension-bold': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) + '@tiptap/extension-bullet-list': 3.31.2(@tiptap/extension-list@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)) + '@tiptap/extension-code': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) + '@tiptap/extension-code-block': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) + '@tiptap/extension-document': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) + '@tiptap/extension-dropcursor': 3.31.2(@tiptap/extensions@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)) + '@tiptap/extension-gapcursor': 3.31.2(@tiptap/extensions@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)) + '@tiptap/extension-hard-break': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) + '@tiptap/extension-heading': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) + '@tiptap/extension-horizontal-rule': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) + '@tiptap/extension-italic': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) + '@tiptap/extension-link': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) + '@tiptap/extension-list': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) + '@tiptap/extension-list-item': 3.31.2(@tiptap/extension-list@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)) + '@tiptap/extension-list-keymap': 3.31.2(@tiptap/extension-list@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)) + '@tiptap/extension-ordered-list': 3.31.2(@tiptap/extension-list@3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2)) + '@tiptap/extension-paragraph': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) + '@tiptap/extension-strike': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) + '@tiptap/extension-text': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) + '@tiptap/extension-underline': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2)) + '@tiptap/extensions': 3.31.2(@tiptap/core@3.31.2(@tiptap/pm@3.31.2))(@tiptap/pm@3.31.2) + '@tiptap/pm': 3.31.2 '@ts-morph/common@0.27.0': dependencies: @@ -12322,7 +12031,7 @@ snapshots: '@types/bcrypt@6.0.0': dependencies: - '@types/node': 26.2.0 + '@types/node': 26.4.1 '@types/chai@5.2.3': dependencies: @@ -12331,7 +12040,7 @@ snapshots: '@types/cors@2.8.19': dependencies: - '@types/node': 26.2.0 + '@types/node': 26.4.1 '@types/debug@4.1.13': dependencies: @@ -12377,27 +12086,23 @@ snapshots: dependencies: undici-types: 7.24.6 - '@types/node@26.2.0': - dependencies: - undici-types: 8.3.0 - - '@types/node@26.4.0': + '@types/node@26.4.1': dependencies: undici-types: 8.3.0 '@types/nodemailer@8.0.1': dependencies: - '@types/node': 26.2.0 + '@types/node': 26.4.1 '@types/parse-json@4.0.2': {} '@types/pg@8.23.1': dependencies: - '@types/node': 26.4.0 + '@types/node': 26.4.1 pg-protocol: 1.16.0 pg-types: 2.2.0 - '@types/react-dom@19.2.5(@types/react@19.2.18)': + '@types/react-dom@19.2.7(@types/react@19.2.18)': dependencies: '@types/react': 19.2.18 @@ -12417,7 +12122,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 26.2.0 + '@types/node': 26.4.1 '@types/yargs-parser@21.0.3': {} @@ -12560,150 +12265,124 @@ snapshots: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - '@ungap/structured-clone@1.3.3': {} + '@ungap/structured-clone@1.4.0': {} '@vercel/oidc@3.2.0': {} - '@vitejs/plugin-react@6.1.0(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0))': + '@vitejs/plugin-react@6.1.1(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.7)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) optionalDependencies: - '@rolldown/plugin-babel': 0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + '@rolldown/plugin-babel': 0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.7)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) babel-plugin-react-compiler: 1.0.0 - '@vitest/coverage-v8@4.1.11(vitest@4.1.11)': + '@vitest/coverage-v8@5.0.0(vitest@5.0.0)': dependencies: '@bcoe/v8-coverage': 1.0.2 - '@vitest/utils': 4.1.11 + '@vitest/istanbul-lib-coverage': 1.0.1 + '@vitest/istanbul-lib-report': 1.0.1 ast-v8-to-istanbul: 1.0.5 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-reports: 3.2.0 magicast: 0.5.4 obug: 2.1.4 std-env: 4.2.0 tinyrainbow: 3.1.1 - vitest: 4.1.11(@types/node@26.4.0)(@vitest/coverage-v8@4.1.11)(happy-dom@20.11.8)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + vitest: 5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(happy-dom@20.14.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) - '@vitest/expect@4.1.11': - dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.3 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 - chai: 6.2.2 - tinyrainbow: 3.1.1 + '@vitest/istanbul-lib-coverage@1.0.1': {} - '@vitest/mocker@4.1.11(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0))': + '@vitest/istanbul-lib-report@1.0.1': dependencies: - '@vitest/spy': 4.1.11 + '@vitest/istanbul-lib-coverage': 1.0.1 + + '@vitest/mocker@5.0.0(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0))': + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.0 estree-walker: 3.0.3 - magic-string: 0.30.21 + magic-string: 1.2.3 optionalDependencies: - vite: 8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) - '@vitest/pretty-format@4.1.11': - dependencies: - tinyrainbow: 3.1.1 - - '@vitest/runner@4.1.11': - dependencies: - '@vitest/utils': 4.1.11 - pathe: 2.0.3 - - '@vitest/snapshot@4.1.11': - dependencies: - '@vitest/pretty-format': 4.1.11 - '@vitest/utils': 4.1.11 - magic-string: 0.30.21 - pathe: 2.0.3 - - '@vitest/spy@4.1.11': {} - - '@vitest/utils@4.1.11': - dependencies: - '@vitest/pretty-format': 4.1.11 - convert-source-map: 2.0.0 - tinyrainbow: 3.1.1 + '@vitest/spy@5.0.0': {} '@workflow/serde@4.1.0': {} '@xmldom/xmldom@0.9.12': {} - '@yuku-codegen/binding-android-arm64@0.8.7': + '@yuku-codegen/binding-android-arm64@0.9.3': optional: true - '@yuku-codegen/binding-darwin-arm64@0.8.7': + '@yuku-codegen/binding-darwin-arm64@0.9.3': optional: true - '@yuku-codegen/binding-darwin-x64@0.8.7': + '@yuku-codegen/binding-darwin-x64@0.9.3': optional: true - '@yuku-codegen/binding-freebsd-x64@0.8.7': + '@yuku-codegen/binding-freebsd-x64@0.9.3': optional: true - '@yuku-codegen/binding-linux-arm-gnu@0.8.7': + '@yuku-codegen/binding-linux-arm-gnu@0.9.3': optional: true - '@yuku-codegen/binding-linux-arm-musl@0.8.7': + '@yuku-codegen/binding-linux-arm-musl@0.9.3': optional: true - '@yuku-codegen/binding-linux-arm64-gnu@0.8.7': + '@yuku-codegen/binding-linux-arm64-gnu@0.9.3': optional: true - '@yuku-codegen/binding-linux-arm64-musl@0.8.7': + '@yuku-codegen/binding-linux-arm64-musl@0.9.3': optional: true - '@yuku-codegen/binding-linux-x64-gnu@0.8.7': + '@yuku-codegen/binding-linux-x64-gnu@0.9.3': optional: true - '@yuku-codegen/binding-linux-x64-musl@0.8.7': + '@yuku-codegen/binding-linux-x64-musl@0.9.3': optional: true - '@yuku-codegen/binding-win32-arm64@0.8.7': + '@yuku-codegen/binding-win32-arm64@0.9.3': optional: true - '@yuku-codegen/binding-win32-x64@0.8.7': + '@yuku-codegen/binding-win32-x64@0.9.3': optional: true - '@yuku-parser/binding-android-arm64@0.8.7': + '@yuku-parser/binding-android-arm64@0.9.3': optional: true - '@yuku-parser/binding-darwin-arm64@0.8.7': + '@yuku-parser/binding-darwin-arm64@0.9.3': optional: true - '@yuku-parser/binding-darwin-x64@0.8.7': + '@yuku-parser/binding-darwin-x64@0.9.3': optional: true - '@yuku-parser/binding-freebsd-x64@0.8.7': + '@yuku-parser/binding-freebsd-x64@0.9.3': optional: true - '@yuku-parser/binding-linux-arm-gnu@0.8.7': + '@yuku-parser/binding-linux-arm-gnu@0.9.3': optional: true - '@yuku-parser/binding-linux-arm-musl@0.8.7': + '@yuku-parser/binding-linux-arm-musl@0.9.3': optional: true - '@yuku-parser/binding-linux-arm64-gnu@0.8.7': + '@yuku-parser/binding-linux-arm64-gnu@0.9.3': optional: true - '@yuku-parser/binding-linux-arm64-musl@0.8.7': + '@yuku-parser/binding-linux-arm64-musl@0.9.3': optional: true - '@yuku-parser/binding-linux-x64-gnu@0.8.7': + '@yuku-parser/binding-linux-x64-gnu@0.9.3': optional: true - '@yuku-parser/binding-linux-x64-musl@0.8.7': + '@yuku-parser/binding-linux-x64-musl@0.9.3': optional: true - '@yuku-parser/binding-win32-arm64@0.8.7': + '@yuku-parser/binding-win32-arm64@0.9.3': optional: true - '@yuku-parser/binding-win32-x64@0.8.7': + '@yuku-parser/binding-win32-x64@0.9.3': optional: true - '@yuku-toolchain/types@0.8.7': {} + '@yuku-toolchain/types@0.9.3': {} abs-svg-path@0.1.1: {} @@ -12719,12 +12398,12 @@ snapshots: adm-zip@0.5.18: {} - ai@7.0.83(zod@4.4.3): + ai@7.0.92(zod@4.5.4): dependencies: - '@ai-sdk/gateway': 4.0.67(zod@4.4.3) - '@ai-sdk/provider': 4.0.8 - '@ai-sdk/provider-utils': 5.0.32(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/gateway': 4.0.74(zod@4.5.4) + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + zod: 4.5.4 ajv-formats@2.1.1(ajv@8.20.0): optionalDependencies: @@ -12737,7 +12416,7 @@ snapshots: ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.6 + fast-uri: 3.1.7 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -12779,7 +12458,7 @@ snapshots: assertion-error@2.0.1: {} - ast-types@0.16.1: + ast-types@0.16.3: dependencies: tslib: 2.8.1 @@ -12827,60 +12506,62 @@ snapshots: baseline-browser-mapping@2.11.19: {} + baseline-browser-mapping@2.11.21: {} + bcrypt@6.0.0: dependencies: node-addon-api: 8.9.2 node-gyp-build: 4.8.4 - better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@4.1.11): + better-auth@1.7.2(drizzle-kit@1.0.0-rc.4)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(pg@8.23.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.14)(vitest@5.0.0): dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2) - '@better-auth/drizzle-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3)) - '@better-auth/kysely-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(kysely@0.29.5) - '@better-auth/memory-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2) - '@better-auth/mongo-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2) - '@better-auth/prisma-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2) - '@better-auth/telemetry': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) + '@better-auth/drizzle-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4)) + '@better-auth/kysely-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(kysely@0.29.5) + '@better-auth/memory-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2) + '@better-auth/mongo-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2) + '@better-auth/prisma-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2) + '@better-auth/telemetry': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.4.0(zod@4.5.4))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1) '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 - '@noble/ciphers': 2.3.0 - '@noble/hashes': 2.3.0 - better-call: 1.4.0(zod@4.4.3) + '@noble/ciphers': 2.4.0 + '@noble/hashes': 2.4.0 + better-call: 1.4.0(zod@4.5.4) defu: 6.1.7 jose: 6.2.10 kysely: 0.29.5 - nanostores: 1.5.2 - zod: 4.4.3 + nanostores: 1.5.3 + zod: 4.5.4 optionalDependencies: drizzle-kit: 1.0.0-rc.4 - drizzle-orm: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3) - next: 16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + drizzle-orm: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4) + next: 16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) pg: 8.23.0 react: 19.2.8 react-dom: 19.2.8(react@19.2.8) solid-js: 1.9.14 - vitest: 4.1.11(@types/node@26.4.0)(@vitest/coverage-v8@4.1.11)(happy-dom@20.11.8)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + vitest: 5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(happy-dom@20.14.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) transitivePeerDependencies: - '@cloudflare/workers-types' - '@opentelemetry/api' - better-call@1.3.7(zod@4.4.3): + better-call@1.3.7(zod@4.5.4): dependencies: '@better-auth/utils': 0.4.3 '@better-fetch/fetch': 1.3.1 rou3: 0.7.12 set-cookie-parser: 3.1.2 optionalDependencies: - zod: 4.4.3 + zod: 4.5.4 - better-call@1.4.0(zod@4.4.3): + better-call@1.4.0(zod@4.5.4): dependencies: '@better-auth/utils': 0.5.0 '@better-fetch/fetch': 1.3.1 rou3: 0.9.2 set-cookie-parser: 3.1.2 optionalDependencies: - zod: 4.4.3 + zod: 4.5.4 bidi-js@1.0.3: dependencies: @@ -12894,7 +12575,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.3 on-finished: 2.4.1 - qs: 6.15.3 + qs: 6.16.0 raw-body: 3.0.2 type-is: 2.1.0 transitivePeerDependencies: @@ -12918,15 +12599,15 @@ snapshots: browserslist@4.28.8: dependencies: - baseline-browser-mapping: 2.11.19 - caniuse-lite: 1.0.30001809 - electron-to-chromium: 1.5.413 - node-releases: 2.0.53 - update-browserslist-db: 1.3.1(browserslist@4.28.8) + baseline-browser-mapping: 2.11.21 + caniuse-lite: 1.0.30001810 + electron-to-chromium: 1.5.422 + node-releases: 2.0.54 + update-browserslist-db: 1.3.2(browserslist@4.28.8) buffer-image-size@0.6.4: dependencies: - '@types/node': 26.2.0 + '@types/node': 26.4.1 buffer@6.0.3: dependencies: @@ -12957,6 +12638,8 @@ snapshots: caniuse-lite@1.0.30001809: {} + caniuse-lite@1.0.30001810: {} + ccount@2.0.1: {} chai@6.2.2: {} @@ -13025,18 +12708,20 @@ snapshots: cluster-key-slot@1.1.1: {} - cmdk@1.1.1(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + cmdk@1.1.1(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-dialog': 1.1.23(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-dialog': 1.1.23(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-id': 1.1.4(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.7(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - '@types/react' - '@types/react-dom' + cn@0.2.5: {} + code-block-writer@13.0.3: {} color-convert@2.0.1: @@ -13124,9 +12809,9 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig-typescript-loader@6.3.0(@types/node@26.4.0)(cosmiconfig@9.0.2(typescript@7.0.2))(typescript@7.0.2): + cosmiconfig-typescript-loader@6.3.0(@types/node@26.4.1)(cosmiconfig@9.0.2(typescript@7.0.2))(typescript@7.0.2): dependencies: - '@types/node': 26.4.0 + '@types/node': 26.4.1 cosmiconfig: 9.0.2(typescript@7.0.2) jiti: 2.6.1 typescript: 7.0.2 @@ -13143,7 +12828,7 @@ snapshots: dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 - js-yaml: 4.3.1 + js-yaml: 4.3.2 parse-json: 5.2.0 optionalDependencies: typescript: 7.0.2 @@ -13276,7 +12961,7 @@ snapshots: dot-prop@10.2.0: dependencies: - type-fest: 5.8.0 + type-fest: 5.9.0 dot-prop@6.0.1: dependencies: @@ -13289,19 +12974,19 @@ snapshots: '@drizzle-team/brocli': 0.12.0 '@js-temporal/polyfill': 0.5.1 esbuild: 0.28.2 - get-tsconfig: 4.14.2 + get-tsconfig: 4.14.3 jiti: 2.7.0 - drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3): + drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4): optionalDependencies: '@types/pg': 8.23.1 pg: 8.23.0 - zod: 4.4.3 + zod: 4.5.4 - drizzle-zod@1.0.0-beta.14-a36c63d(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3))(zod@4.4.3): + drizzle-zod@1.0.0-beta.14-a36c63d(drizzle-orm@1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4))(zod@4.5.4): dependencies: - drizzle-orm: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.4.3) - zod: 4.4.3 + drizzle-orm: 1.0.0-rc.4(@types/pg@8.23.1)(pg@8.23.0)(zod@4.5.4) + zod: 4.5.4 dts-resolver@3.0.0(oxc-resolver@11.24.2): optionalDependencies: @@ -13315,7 +13000,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.413: {} + electron-to-chromium@1.5.422: {} emoji-regex-xs@1.0.0: {} @@ -13329,13 +13014,12 @@ snapshots: engine.io-parser@5.2.3: {} - engine.io@6.6.9(supports-color@7.2.0): + engine.io@6.6.10(supports-color@7.2.0): dependencies: '@types/cors': 2.8.19 - '@types/node': 26.2.0 + '@types/node': 26.4.1 '@types/ws': 8.18.1 accepts: 1.3.8 - base64id: 2.0.0 cookie: 0.7.2 cors: 2.8.6 debug: 4.4.3(supports-color@7.2.0) @@ -13380,7 +13064,7 @@ snapshots: dependencies: es-errors: 1.3.0 - es-toolkit@1.51.0: {} + es-toolkit@1.52.0: {} esbuild@0.28.1: optionalDependencies: @@ -13486,18 +13170,18 @@ snapshots: is-plain-obj: 4.1.0 is-stream: 4.0.1 npm-run-path: 6.0.0 - pretty-ms: 9.3.0 + pretty-ms: 9.3.1 signal-exit: 4.1.0 strip-final-newline: 4.0.0 yoctocolors: 2.2.0 expect-type@1.4.0: {} - express-rate-limit@8.6.2(express@5.2.1(supports-color@7.2.0))(supports-color@7.2.0): + express-rate-limit@8.7.0(express@5.2.1(supports-color@7.2.0))(supports-color@7.2.0): dependencies: debug: 4.4.3(supports-color@7.2.0) express: 5.2.1(supports-color@7.2.0) - ip-address: 10.5.0 + ip-address: 10.7.0 transitivePeerDependencies: - supports-color @@ -13523,7 +13207,7 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.3 + qs: 6.16.0 range-parser: 1.3.0 router: 2.2.0(supports-color@7.2.0) send: 1.2.1(supports-color@7.2.0) @@ -13542,7 +13226,7 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-equals@5.4.1: {} + fast-equals@5.4.2: {} fast-glob@3.3.3: dependencies: @@ -13554,9 +13238,9 @@ snapshots: fast-json-patch@3.1.1: {} - fast-uri@3.1.6: {} + fast-uri@3.1.7: {} - fastq@1.20.1: + fastq@1.20.3: dependencies: reusify: 1.1.0 @@ -13605,15 +13289,16 @@ snapshots: unicode-properties: 1.4.1 unicode-trie: 2.0.0 - formatly@0.3.0: + formatly@0.7.0: dependencies: fd-package-json: 2.0.0 + package-manager-detector: 1.8.0 forwarded@0.2.0: {} - framer-motion@13.1.1(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + framer-motion@13.2.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - motion-dom: 13.1.1 + motion-dom: 13.2.0 motion-utils: 13.0.0 tslib: 2.8.1 optionalDependencies: @@ -13675,15 +13360,11 @@ snapshots: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 - get-tsconfig@4.14.1: + get-tsconfig@4.14.3: dependencies: resolve-pkg-maps: 1.0.0 - get-tsconfig@4.14.2: - dependencies: - resolve-pkg-maps: 1.0.0 - - get-tsconfig@5.0.0-beta.5: + get-tsconfig@5.0.0-beta.6: dependencies: resolve-pkg-maps: 1.0.0 @@ -13710,7 +13391,7 @@ snapshots: dependencies: '@sindresorhus/merge-streams': 4.0.0 fast-glob: 3.3.3 - ignore: 7.0.6 + ignore: 7.0.8 is-path-inside: 4.0.0 slash: 5.1.0 unicorn-magic: 0.4.0 @@ -13723,9 +13404,9 @@ snapshots: graceful-fs@4.2.11: {} - happy-dom@20.11.8: + happy-dom@20.14.0: dependencies: - '@types/node': 26.2.0 + '@types/node': 26.4.1 '@types/whatwg-mimetype': 3.0.2 '@types/ws': 8.18.1 buffer-image-size: 0.6.4 @@ -13785,8 +13466,6 @@ snapshots: hsl-to-rgb-for-reals@1.1.1: {} - html-escaper@2.0.2: {} - html-to-text@9.0.5: dependencies: '@selderee/plugin-htmlparser2': 0.11.0 @@ -13828,7 +13507,7 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.6: {} + ignore@7.0.8: {} immediate@3.0.6: {} @@ -13862,7 +13541,7 @@ snapshots: transitivePeerDependencies: - supports-color - ip-address@10.5.0: {} + ip-address@10.7.0: {} ipaddr.js@1.9.1: {} @@ -13937,25 +13616,12 @@ snapshots: isarray@1.0.0: {} - isbot@5.2.1: {} + isbot@5.2.2: {} isexe@2.0.0: {} isexe@3.1.5: {} - istanbul-lib-coverage@3.2.2: {} - - istanbul-lib-report@3.0.1: - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - - istanbul-reports@3.2.0: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - jay-peg@1.1.1: dependencies: restructure: 3.0.2 @@ -13985,7 +13651,7 @@ snapshots: js-tokens@4.0.0: {} - js-yaml@4.3.1: + js-yaml@4.3.2: dependencies: argparse: 2.0.1 @@ -14036,21 +13702,21 @@ snapshots: kleur@4.1.5: {} - knip@6.32.3: + knip@6.34.0: dependencies: fdir: 6.5.0(picomatch@4.0.7) - formatly: 0.3.0 - get-tsconfig: 4.14.1 + formatly: 0.7.0 + get-tsconfig: 4.14.3 jiti: 2.7.0 - oxc-parser: 0.143.0 + oxc-parser: 0.147.0 oxc-resolver: 11.24.2 picomatch: 4.0.7 smol-toml: 1.8.0 strip-json-comments: 5.0.3 tinyglobby: 0.2.17 - unbash: 4.0.10 + unbash: 4.0.11 yaml: 2.9.0 - zod: 4.4.3 + zod: 4.5.4 kysely@0.29.5: {} @@ -14061,52 +13727,52 @@ snapshots: leac@0.6.0: {} - lefthook-darwin-arm64@2.1.10: + lefthook-darwin-arm64@2.1.12: optional: true - lefthook-darwin-x64@2.1.10: + lefthook-darwin-x64@2.1.12: optional: true - lefthook-freebsd-arm64@2.1.10: + lefthook-freebsd-arm64@2.1.12: optional: true - lefthook-freebsd-x64@2.1.10: + lefthook-freebsd-x64@2.1.12: optional: true - lefthook-linux-arm64@2.1.10: + lefthook-linux-arm64@2.1.12: optional: true - lefthook-linux-x64@2.1.10: + lefthook-linux-x64@2.1.12: optional: true - lefthook-openbsd-arm64@2.1.10: + lefthook-openbsd-arm64@2.1.12: optional: true - lefthook-openbsd-x64@2.1.10: + lefthook-openbsd-x64@2.1.12: optional: true - lefthook-windows-arm64@2.1.10: + lefthook-windows-arm64@2.1.12: optional: true - lefthook-windows-x64@2.1.10: + lefthook-windows-x64@2.1.12: optional: true - lefthook@2.1.10: + lefthook@2.1.12: optionalDependencies: - lefthook-darwin-arm64: 2.1.10 - lefthook-darwin-x64: 2.1.10 - lefthook-freebsd-arm64: 2.1.10 - lefthook-freebsd-x64: 2.1.10 - lefthook-linux-arm64: 2.1.10 - lefthook-linux-x64: 2.1.10 - lefthook-openbsd-arm64: 2.1.10 - lefthook-openbsd-x64: 2.1.10 - lefthook-windows-arm64: 2.1.10 - lefthook-windows-x64: 2.1.10 + lefthook-darwin-arm64: 2.1.12 + lefthook-darwin-x64: 2.1.12 + lefthook-freebsd-arm64: 2.1.12 + lefthook-freebsd-x64: 2.1.12 + lefthook-linux-arm64: 2.1.12 + lefthook-linux-x64: 2.1.12 + lefthook-openbsd-arm64: 2.1.12 + lefthook-openbsd-x64: 2.1.12 + lefthook-windows-arm64: 2.1.12 + lefthook-windows-x64: 2.1.12 leven@3.1.0: {} - libphonenumber-js@1.13.11: {} + libphonenumber-js@1.13.12: {} lie@3.3.0: dependencies: @@ -14258,7 +13924,11 @@ snapshots: magic-string@0.30.21: dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 + + magic-string@1.2.3: + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 magicast@0.5.4: dependencies: @@ -14266,10 +13936,6 @@ snapshots: '@babel/types': 7.29.8 source-map-js: 1.2.1 - make-dir@4.0.0: - dependencies: - semver: 7.8.5 - markdown-it@14.3.0: dependencies: argparse: 2.0.1 @@ -14446,7 +14112,7 @@ snapshots: dependencies: '@types/hast': 3.0.5 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.3 + '@ungap/structured-clone': 1.4.0 devlop: 1.1.0 micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 @@ -14738,15 +14404,15 @@ snapshots: moo@0.5.3: {} - motion-dom@13.1.1: + motion-dom@13.2.0: dependencies: motion-utils: 13.0.0 motion-utils@13.0.0: {} - motion@13.1.1(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + motion@13.2.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - framer-motion: 13.1.1(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + framer-motion: 13.2.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) tslib: 2.8.1 optionalDependencies: react: 19.2.8 @@ -14758,7 +14424,7 @@ snapshots: nanoid@5.1.16: {} - nanostores@1.5.2: {} + nanostores@1.5.3: {} negotiator@0.6.3: {} @@ -14766,7 +14432,7 @@ snapshots: dependencies: content-type: 2.1.0 - next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + next@16.3.0(@babel/core@8.0.1)(@playwright/test@1.62.1)(@types/node@26.4.1)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: '@next/env': 16.3.0 '@swc/helpers': 0.5.15 @@ -14787,7 +14453,7 @@ snapshots: '@next/swc-win32-x64-msvc': 16.3.0 '@playwright/test': 1.62.1 babel-plugin-react-compiler: 1.0.0 - sharp: 0.35.3(@types/node@26.4.0) + sharp: 0.35.4(@types/node@26.4.1) transitivePeerDependencies: - '@babel/core' - '@types/node' @@ -14802,14 +14468,14 @@ snapshots: css-select: 5.2.2 he: 1.2.0 - node-html-parser@9.0.1: + node-html-parser@9.0.3: dependencies: css-select: 5.2.2 entities: 8.0.0 - node-releases@2.0.53: {} + node-releases@2.0.54: {} - nodemailer@9.0.5: {} + nodemailer@10.0.0: {} normalize-path@3.0.0: {} @@ -14836,7 +14502,7 @@ snapshots: dependencies: citty: 0.2.2 pathe: 2.0.3 - tinyexec: 1.3.0 + tinyexec: 1.3.1 object-assign@4.1.1: {} @@ -14846,12 +14512,12 @@ snapshots: obug@2.1.4: {} - ollama-ai-provider-v2@4.0.1(ai@7.0.83(zod@4.4.3))(zod@4.4.3): + ollama-ai-provider-v2@4.0.1(ai@7.0.92(zod@4.5.4))(zod@4.5.4): dependencies: - '@ai-sdk/provider': 4.0.7 - '@ai-sdk/provider-utils': 5.0.29(zod@4.4.3) - ai: 7.0.83(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider': 4.0.10 + '@ai-sdk/provider-utils': 5.0.36(zod@4.5.4) + ai: 7.0.92(zod@4.5.4) + zod: 4.5.4 on-finished@2.4.1: dependencies: @@ -14869,13 +14535,13 @@ snapshots: dependencies: mimic-function: 5.0.1 - open@11.0.1: + open@11.0.2: dependencies: default-browser: 5.5.1 define-lazy-prop: 3.0.0 is-in-ssh: 1.0.0 is-inside-container: 1.0.0 - powershell-utils: 0.2.0 + powershell-utils: 0.2.1 wsl-utils: 1.0.0 open@8.4.2: @@ -14939,29 +14605,29 @@ snapshots: - '@emnapi/core' - '@emnapi/runtime' - oxc-parser@0.143.0: + oxc-parser@0.147.0: dependencies: - '@oxc-project/types': 0.143.0 + '@oxc-project/types': 0.147.0 optionalDependencies: - '@oxc-parser/binding-android-arm-eabi': 0.143.0 - '@oxc-parser/binding-android-arm64': 0.143.0 - '@oxc-parser/binding-darwin-arm64': 0.143.0 - '@oxc-parser/binding-darwin-x64': 0.143.0 - '@oxc-parser/binding-freebsd-x64': 0.143.0 - '@oxc-parser/binding-linux-arm-gnueabihf': 0.143.0 - '@oxc-parser/binding-linux-arm-musleabihf': 0.143.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.143.0 - '@oxc-parser/binding-linux-arm64-musl': 0.143.0 - '@oxc-parser/binding-linux-ppc64-gnu': 0.143.0 - '@oxc-parser/binding-linux-riscv64-gnu': 0.143.0 - '@oxc-parser/binding-linux-riscv64-musl': 0.143.0 - '@oxc-parser/binding-linux-s390x-gnu': 0.143.0 - '@oxc-parser/binding-linux-x64-gnu': 0.143.0 - '@oxc-parser/binding-linux-x64-musl': 0.143.0 - '@oxc-parser/binding-openharmony-arm64': 0.143.0 - '@oxc-parser/binding-win32-arm64-msvc': 0.143.0 - '@oxc-parser/binding-win32-ia32-msvc': 0.143.0 - '@oxc-parser/binding-win32-x64-msvc': 0.143.0 + '@oxc-parser/binding-android-arm-eabi': 0.147.0 + '@oxc-parser/binding-android-arm64': 0.147.0 + '@oxc-parser/binding-darwin-arm64': 0.147.0 + '@oxc-parser/binding-darwin-x64': 0.147.0 + '@oxc-parser/binding-freebsd-x64': 0.147.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.147.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.147.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.147.0 + '@oxc-parser/binding-linux-arm64-musl': 0.147.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.147.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.147.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.147.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.147.0 + '@oxc-parser/binding-linux-x64-gnu': 0.147.0 + '@oxc-parser/binding-linux-x64-musl': 0.147.0 + '@oxc-parser/binding-openharmony-arm64': 0.147.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.147.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.147.0 + '@oxc-parser/binding-win32-x64-msvc': 0.147.0 oxc-resolver@11.24.2: optionalDependencies: @@ -14997,6 +14663,8 @@ snapshots: package-json-from-dist@1.0.1: {} + package-manager-detector@1.8.0: {} + pako@0.2.9: {} pako@1.0.11: {} @@ -15054,7 +14722,7 @@ snapshots: pathe@2.0.3: {} - pdfjs-dist@6.2.108: + pdfjs-dist@6.3.289: optionalDependencies: '@napi-rs/canvas': 1.0.8 @@ -15104,9 +14772,9 @@ snapshots: dependencies: split2: 4.2.0 - phosphor-icons-react-pdf@0.1.3(@react-pdf/renderer@4.8.1(react@19.2.8))(react@19.2.8): + phosphor-icons-react-pdf@0.1.3(@react-pdf/renderer@4.9.0(react@19.2.8))(react@19.2.8): dependencies: - '@react-pdf/renderer': 4.8.1(react@19.2.8) + '@react-pdf/renderer': 4.9.0(react@19.2.8) react: 19.2.8 picocolors@1.1.1: {} @@ -15148,7 +14816,7 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-selector-parser@7.1.5: + postcss-selector-parser@7.1.6: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 @@ -15161,7 +14829,7 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.26: + postcss@8.5.28: dependencies: nanoid: 3.3.18 picocolors: 1.1.1 @@ -15179,7 +14847,7 @@ snapshots: powershell-utils@0.1.0: {} - powershell-utils@0.2.0: {} + powershell-utils@0.2.1: {} prettier@3.9.6: {} @@ -15195,7 +14863,7 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - pretty-ms@9.3.0: + pretty-ms@9.3.1: dependencies: parse-ms: 4.0.0 @@ -15218,38 +14886,38 @@ snapshots: prosemirror-changeset@2.4.2: dependencies: - prosemirror-transform: 1.12.0 + prosemirror-transform: 1.12.1 prosemirror-commands@1.7.2: dependencies: prosemirror-model: 1.25.11 prosemirror-state: 1.4.4 - prosemirror-transform: 1.12.0 + prosemirror-transform: 1.12.1 prosemirror-dropcursor@1.8.3: dependencies: prosemirror-state: 1.4.4 - prosemirror-transform: 1.12.0 - prosemirror-view: 1.42.2 + prosemirror-transform: 1.12.1 + prosemirror-view: 1.42.3 prosemirror-gapcursor@1.4.1: dependencies: prosemirror-keymap: 1.2.3 prosemirror-model: 1.25.11 prosemirror-state: 1.4.4 - prosemirror-view: 1.42.2 + prosemirror-view: 1.42.3 prosemirror-history@1.5.0: dependencies: prosemirror-state: 1.4.4 - prosemirror-transform: 1.12.0 - prosemirror-view: 1.42.2 + prosemirror-transform: 1.12.1 + prosemirror-view: 1.42.3 rope-sequence: 1.3.4 prosemirror-inputrules@1.5.1: dependencies: prosemirror-state: 1.4.4 - prosemirror-transform: 1.12.0 + prosemirror-transform: 1.12.1 prosemirror-keymap@1.2.3: dependencies: @@ -15264,31 +14932,31 @@ snapshots: dependencies: prosemirror-model: 1.25.11 prosemirror-state: 1.4.4 - prosemirror-transform: 1.12.0 + prosemirror-transform: 1.12.1 prosemirror-state@1.4.4: dependencies: prosemirror-model: 1.25.11 - prosemirror-transform: 1.12.0 - prosemirror-view: 1.42.2 + prosemirror-transform: 1.12.1 + prosemirror-view: 1.42.3 prosemirror-tables@1.8.5: dependencies: prosemirror-keymap: 1.2.3 prosemirror-model: 1.25.11 prosemirror-state: 1.4.4 - prosemirror-transform: 1.12.0 - prosemirror-view: 1.42.2 + prosemirror-transform: 1.12.1 + prosemirror-view: 1.42.3 - prosemirror-transform@1.12.0: + prosemirror-transform@1.12.1: dependencies: prosemirror-model: 1.25.11 - prosemirror-view@1.42.2: + prosemirror-view@1.42.3: dependencies: prosemirror-model: 1.25.11 prosemirror-state: 1.4.4 - prosemirror-transform: 1.12.0 + prosemirror-transform: 1.12.1 proxy-addr@2.0.7: dependencies: @@ -15313,7 +14981,7 @@ snapshots: dependencies: react: 19.2.8 - qs@6.15.3: + qs@6.16.0: dependencies: es-define-property: 1.0.1 side-channel: 1.1.1 @@ -15403,9 +15071,9 @@ snapshots: transitivePeerDependencies: - supports-color - react-pdf-html@2.1.5(@react-pdf/renderer@4.8.1(react@19.2.8))(react@19.2.8): + react-pdf-html@2.1.5(@react-pdf/renderer@4.9.0(react@19.2.8))(react@19.2.8): dependencies: - '@react-pdf/renderer': 4.8.1(react@19.2.8) + '@react-pdf/renderer': 4.9.0(react@19.2.8) css-tree: 1.1.3 node-html-parser: 6.1.13 react: 19.2.8 @@ -15447,7 +15115,7 @@ snapshots: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - react-zoom-pan-pinch@4.0.4(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + react-zoom-pan-pinch@4.2.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) @@ -15470,7 +15138,7 @@ snapshots: recast@0.23.21: dependencies: - ast-types: 0.16.1 + ast-types: 0.16.3 esprima: 4.0.1 source-map: 0.6.1 tiny-invariant: 1.3.3 @@ -15554,41 +15222,41 @@ snapshots: glob: 13.0.6 package-json-from-dist: 1.0.1 - rolldown-plugin-dts@0.27.14(@typescript/native-preview@7.0.0-dev.20260707.2)(oxc-resolver@11.24.2)(rolldown@1.2.5)(typescript@7.0.2): + rolldown-plugin-dts@0.28.5(@typescript/native-preview@7.0.0-dev.20260707.2)(oxc-resolver@11.24.2)(rolldown@1.2.7)(typescript@7.0.2): dependencies: dts-resolver: 3.0.0(oxc-resolver@11.24.2) - get-tsconfig: 5.0.0-beta.5 + get-tsconfig: 5.0.0-beta.6 obug: 2.1.4 - rolldown: 1.2.5 - yuku-ast: 0.8.7 - yuku-codegen: 0.8.7 - yuku-parser: 0.8.7 + rolldown: 1.2.7 + yuku-ast: 0.9.3 + yuku-codegen: 0.9.3 + yuku-parser: 0.9.3 optionalDependencies: '@typescript/native-preview': 7.0.0-dev.20260707.2 typescript: 7.0.2 transitivePeerDependencies: - oxc-resolver - rolldown@1.2.5: + rolldown@1.2.7: dependencies: - '@oxc-project/types': 0.146.0 + '@oxc-project/types': 0.148.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm-eabi': 1.2.5 - '@rolldown/binding-android-arm64': 1.2.5 - '@rolldown/binding-darwin-arm64': 1.2.5 - '@rolldown/binding-darwin-x64': 1.2.5 - '@rolldown/binding-freebsd-x64': 1.2.5 - '@rolldown/binding-linux-arm-gnueabihf': 1.2.5 - '@rolldown/binding-linux-arm64-gnu': 1.2.5 - '@rolldown/binding-linux-arm64-musl': 1.2.5 - '@rolldown/binding-linux-ppc64-gnu': 1.2.5 - '@rolldown/binding-linux-s390x-gnu': 1.2.5 - '@rolldown/binding-linux-x64-gnu': 1.2.5 - '@rolldown/binding-linux-x64-musl': 1.2.5 - '@rolldown/binding-openharmony-arm64': 1.2.5 - '@rolldown/binding-win32-arm64-msvc': 1.2.5 - '@rolldown/binding-win32-x64-msvc': 1.2.5 + '@rolldown/binding-android-arm-eabi': 1.2.7 + '@rolldown/binding-android-arm64': 1.2.7 + '@rolldown/binding-darwin-arm64': 1.2.7 + '@rolldown/binding-darwin-x64': 1.2.7 + '@rolldown/binding-freebsd-x64': 1.2.7 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.7 + '@rolldown/binding-linux-arm64-gnu': 1.2.7 + '@rolldown/binding-linux-arm64-musl': 1.2.7 + '@rolldown/binding-linux-ppc64-gnu': 1.2.7 + '@rolldown/binding-linux-s390x-gnu': 1.2.7 + '@rolldown/binding-linux-x64-gnu': 1.2.7 + '@rolldown/binding-linux-x64-musl': 1.2.7 + '@rolldown/binding-openharmony-arm64': 1.2.7 + '@rolldown/binding-win32-arm64-msvc': 1.2.7 + '@rolldown/binding-win32-x64-msvc': 1.2.7 rope-sequence@1.3.4: {} @@ -15673,7 +15341,7 @@ snapshots: setprototypeof@1.2.0: {} - shadcn@4.19.0(babel-plugin-macros@3.1.0)(supports-color@7.2.0)(typescript@7.0.2): + shadcn@4.21.0(babel-plugin-macros@3.1.0)(supports-color@7.2.0)(typescript@7.0.2): dependencies: '@babel/core': 7.29.7(supports-color@7.2.0) '@babel/parser': 7.29.8 @@ -15683,6 +15351,7 @@ snapshots: '@modelcontextprotocol/sdk': 1.30.0(supports-color@7.2.0)(zod@3.25.76) '@types/validate-npm-package-name': 4.0.2 browserslist: 4.28.8 + cn: 0.2.5 commander: 14.0.3 cosmiconfig: 9.0.2(typescript@7.0.2) dedent: 1.7.2(babel-plugin-macros@3.1.0) @@ -15693,15 +15362,14 @@ snapshots: fs-extra: 11.4.0 fuzzysort: 3.1.0 kleur: 4.1.5 - open: 11.0.1 + open: 11.0.2 ora: 8.2.0 - postcss: 8.5.26 - postcss-selector-parser: 7.1.5 + postcss: 8.5.28 + postcss-selector-parser: 7.1.6 prompts: 2.4.2 recast: 0.23.21 - socks: 2.8.9 + socks: 2.8.10 stringify-object: 5.0.0 - tailwind-merge: 3.6.0 ts-morph: 26.0.0 tsconfig-paths: 4.2.0 undici: 7.29.0 @@ -15714,41 +15382,7 @@ snapshots: - supports-color - typescript - sharp@0.35.3(@types/node@26.4.0): - dependencies: - '@img/colour': 1.1.0 - detect-libc: 2.1.2 - semver: 7.8.5 - optionalDependencies: - '@img/sharp-darwin-arm64': 0.35.3 - '@img/sharp-darwin-x64': 0.35.3 - '@img/sharp-freebsd-wasm32': 0.35.3 - '@img/sharp-libvips-darwin-arm64': 1.3.2 - '@img/sharp-libvips-darwin-x64': 1.3.2 - '@img/sharp-libvips-linux-arm': 1.3.2 - '@img/sharp-libvips-linux-arm64': 1.3.2 - '@img/sharp-libvips-linux-ppc64': 1.3.2 - '@img/sharp-libvips-linux-riscv64': 1.3.2 - '@img/sharp-libvips-linux-s390x': 1.3.2 - '@img/sharp-libvips-linux-x64': 1.3.2 - '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 - '@img/sharp-libvips-linuxmusl-x64': 1.3.2 - '@img/sharp-linux-arm': 0.35.3 - '@img/sharp-linux-arm64': 0.35.3 - '@img/sharp-linux-ppc64': 0.35.3 - '@img/sharp-linux-riscv64': 0.35.3 - '@img/sharp-linux-s390x': 0.35.3 - '@img/sharp-linux-x64': 0.35.3 - '@img/sharp-linuxmusl-arm64': 0.35.3 - '@img/sharp-linuxmusl-x64': 0.35.3 - '@img/sharp-webcontainers-wasm32': 0.35.3 - '@img/sharp-win32-arm64': 0.35.3 - '@img/sharp-win32-ia32': 0.35.3 - '@img/sharp-win32-x64': 0.35.3 - '@types/node': 26.4.0 - optional: true - - sharp@0.35.4(@types/node@26.4.0): + sharp@0.35.4(@types/node@26.4.1): dependencies: '@img/colour': 1.1.0 detect-libc: 2.1.2 @@ -15779,7 +15413,7 @@ snapshots: '@img/sharp-win32-arm64': 0.35.4 '@img/sharp-win32-ia32': 0.35.4 '@img/sharp-win32-x64': 0.35.4 - '@types/node': 26.4.0 + '@types/node': 26.4.1 shebang-command@2.0.0: dependencies: @@ -15855,7 +15489,7 @@ snapshots: base64id: 2.0.0 cors: 2.8.6 debug: 4.4.3(supports-color@7.2.0) - engine.io: 6.6.9(supports-color@7.2.0) + engine.io: 6.6.10(supports-color@7.2.0) socket.io-adapter: 2.5.8(supports-color@7.2.0) socket.io-parser: 4.2.7(supports-color@7.2.0) transitivePeerDependencies: @@ -15863,9 +15497,9 @@ snapshots: - supports-color - utf-8-validate - socks@2.8.9: + socks@2.8.10: dependencies: - ip-address: 10.5.0 + ip-address: 10.7.0 smart-buffer: 4.2.0 solid-js@1.9.14: @@ -15991,7 +15625,7 @@ snapshots: react: 19.2.8 use-sync-external-store: 1.6.0(react@19.2.8) - systeminformation@5.33.1: {} + systeminformation@5.33.8: {} tagged-tag@1.0.0: {} @@ -16015,10 +15649,12 @@ snapshots: tiny-invariant@1.3.3: {} - tinybench@2.9.0: {} + tinybench@6.1.4: {} tinyexec@1.3.0: {} + tinyexec@1.3.1: {} + tinyglobby@0.2.17: dependencies: fdir: 6.5.0(picomatch@4.0.7) @@ -16055,9 +15691,8 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tsdown@0.22.14(@typescript/native-preview@7.0.0-dev.20260707.2)(oxc-resolver@11.24.2)(tsx@4.23.12)(typescript@7.0.2): + tsdown@0.23.0(@typescript/native-preview@7.0.0-dev.20260707.2)(oxc-resolver@11.24.2)(tsx@4.23.13)(typescript@7.0.2): dependencies: - ansis: 4.3.1 cac: 7.0.0 defu: 6.1.7 empathic: 2.0.1 @@ -16065,15 +15700,15 @@ snapshots: import-without-cache: 0.4.0 obug: 2.1.4 picomatch: 4.0.7 - rolldown: 1.2.5 - rolldown-plugin-dts: 0.27.14(@typescript/native-preview@7.0.0-dev.20260707.2)(oxc-resolver@11.24.2)(rolldown@1.2.5)(typescript@7.0.2) - tinyexec: 1.3.0 + rolldown: 1.2.7 + rolldown-plugin-dts: 0.28.5(@typescript/native-preview@7.0.0-dev.20260707.2)(oxc-resolver@11.24.2)(rolldown@1.2.7)(typescript@7.0.2) + tinyexec: 1.3.1 tinyglobby: 0.2.17 tree-kill: 1.2.2 unconfig-core: 7.5.0 - verkit: 0.3.2 + verkit: 0.4.0 optionalDependencies: - tsx: 4.23.12 + tsx: 4.23.13 typescript: 7.0.2 transitivePeerDependencies: - '@typescript/native-preview' @@ -16085,7 +15720,7 @@ snapshots: tslib@2.8.1: {} - tsx@4.23.12: + tsx@4.23.13: dependencies: esbuild: 0.28.2 optionalDependencies: @@ -16106,7 +15741,7 @@ snapshots: tw-animate-css@1.4.0: {} - type-fest@5.8.0: + type-fest@5.9.0: dependencies: tagged-tag: 1.0.0 @@ -16143,7 +15778,7 @@ snapshots: uint8array-extras@1.5.0: {} - unbash@4.0.10: {} + unbash@4.0.11: {} unconfig-core@7.5.0: dependencies: @@ -16213,17 +15848,17 @@ snapshots: unpipe@1.0.0: {} - unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)): + unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.7)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)): dependencies: '@jridgewell/remapping': 2.3.5 picomatch: 4.0.7 webpack-virtual-modules: 0.6.2 optionalDependencies: esbuild: 0.28.2 - rolldown: 1.2.5 - vite: 8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) + rolldown: 1.2.7 + vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) - update-browserslist-db@1.3.1(browserslist@4.28.8): + update-browserslist-db@1.3.2(browserslist@4.28.8): dependencies: browserslist: 4.28.8 escalade: 3.2.0 @@ -16261,7 +15896,7 @@ snapshots: vary@1.1.2: {} - verkit@0.3.2: {} + verkit@0.4.0: {} vfile-message@4.0.3: dependencies: @@ -16273,91 +15908,41 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0): + vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 - postcss: 8.5.26 - rolldown: 1.2.5 + postcss: 8.5.28 + rolldown: 1.2.7 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 26.2.0 + '@types/node': 26.4.1 esbuild: 0.28.2 fsevents: 2.3.3 jiti: 2.7.0 - tsx: 4.23.12 + tsx: 4.23.13 yaml: 2.9.0 - vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0): + vitest@5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(happy-dom@20.14.0)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)): dependencies: - lightningcss: 1.33.0 - picomatch: 4.0.7 - postcss: 8.5.26 - rolldown: 1.2.5 - tinyglobby: 0.2.17 - optionalDependencies: - '@types/node': 26.4.0 - esbuild: 0.28.2 - fsevents: 2.3.3 - jiti: 2.7.0 - tsx: 4.23.12 - yaml: 2.9.0 - - vitest@4.1.11(@types/node@26.2.0)(@vitest/coverage-v8@4.1.11)(happy-dom@20.11.8)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)): - dependencies: - '@vitest/expect': 4.1.11 - '@vitest/mocker': 4.1.11(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.11 - '@vitest/runner': 4.1.11 - '@vitest/snapshot': 4.1.11 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 + '@types/chai': 5.2.3 + '@vitest/mocker': 5.0.0(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) + chai: 6.2.2 es-module-lexer: 2.3.2 expect-type: 1.4.0 - magic-string: 0.30.21 + magic-string: 1.2.3 obug: 2.1.4 - pathe: 2.0.3 picomatch: 4.0.7 std-env: 4.2.0 - tinybench: 2.9.0 + tinybench: 6.1.4 tinyexec: 1.3.0 tinyglobby: 0.2.17 - tinyrainbow: 3.1.1 - vite: 8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 26.2.0 - '@vitest/coverage-v8': 4.1.11(vitest@4.1.11) - happy-dom: 20.11.8 - transitivePeerDependencies: - - msw - - vitest@4.1.11(@types/node@26.4.0)(@vitest/coverage-v8@4.1.11)(happy-dom@20.11.8)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)): - dependencies: - '@vitest/expect': 4.1.11 - '@vitest/mocker': 4.1.11(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.11 - '@vitest/runner': 4.1.11 - '@vitest/snapshot': 4.1.11 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 - es-module-lexer: 2.3.2 - expect-type: 1.4.0 - magic-string: 0.30.21 - obug: 2.1.4 - pathe: 2.0.3 - picomatch: 4.0.7 - std-env: 4.2.0 - tinybench: 2.9.0 - tinyexec: 1.3.0 - tinyglobby: 0.2.17 - tinyrainbow: 3.1.1 - vite: 8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/node': 26.4.0 - '@vitest/coverage-v8': 4.1.11(vitest@4.1.11) - happy-dom: 20.11.8 + '@types/node': 26.4.1 + '@vitest/coverage-v8': 5.0.0(vitest@5.0.0) + happy-dom: 20.14.0 transitivePeerDependencies: - msw @@ -16440,56 +16025,56 @@ snapshots: yoga-layout@3.2.1: {} - yuku-ast@0.8.7: + yuku-ast@0.9.3: dependencies: - '@yuku-toolchain/types': 0.8.7 + '@yuku-toolchain/types': 0.9.3 - yuku-codegen@0.8.7: + yuku-codegen@0.9.3: dependencies: - '@yuku-toolchain/types': 0.8.7 + '@yuku-toolchain/types': 0.9.3 optionalDependencies: - '@yuku-codegen/binding-android-arm64': 0.8.7 - '@yuku-codegen/binding-darwin-arm64': 0.8.7 - '@yuku-codegen/binding-darwin-x64': 0.8.7 - '@yuku-codegen/binding-freebsd-x64': 0.8.7 - '@yuku-codegen/binding-linux-arm-gnu': 0.8.7 - '@yuku-codegen/binding-linux-arm-musl': 0.8.7 - '@yuku-codegen/binding-linux-arm64-gnu': 0.8.7 - '@yuku-codegen/binding-linux-arm64-musl': 0.8.7 - '@yuku-codegen/binding-linux-x64-gnu': 0.8.7 - '@yuku-codegen/binding-linux-x64-musl': 0.8.7 - '@yuku-codegen/binding-win32-arm64': 0.8.7 - '@yuku-codegen/binding-win32-x64': 0.8.7 + '@yuku-codegen/binding-android-arm64': 0.9.3 + '@yuku-codegen/binding-darwin-arm64': 0.9.3 + '@yuku-codegen/binding-darwin-x64': 0.9.3 + '@yuku-codegen/binding-freebsd-x64': 0.9.3 + '@yuku-codegen/binding-linux-arm-gnu': 0.9.3 + '@yuku-codegen/binding-linux-arm-musl': 0.9.3 + '@yuku-codegen/binding-linux-arm64-gnu': 0.9.3 + '@yuku-codegen/binding-linux-arm64-musl': 0.9.3 + '@yuku-codegen/binding-linux-x64-gnu': 0.9.3 + '@yuku-codegen/binding-linux-x64-musl': 0.9.3 + '@yuku-codegen/binding-win32-arm64': 0.9.3 + '@yuku-codegen/binding-win32-x64': 0.9.3 - yuku-parser@0.8.7: + yuku-parser@0.9.3: dependencies: - '@yuku-toolchain/types': 0.8.7 - yuku-ast: 0.8.7 + '@yuku-toolchain/types': 0.9.3 + yuku-ast: 0.9.3 optionalDependencies: - '@yuku-parser/binding-android-arm64': 0.8.7 - '@yuku-parser/binding-darwin-arm64': 0.8.7 - '@yuku-parser/binding-darwin-x64': 0.8.7 - '@yuku-parser/binding-freebsd-x64': 0.8.7 - '@yuku-parser/binding-linux-arm-gnu': 0.8.7 - '@yuku-parser/binding-linux-arm-musl': 0.8.7 - '@yuku-parser/binding-linux-arm64-gnu': 0.8.7 - '@yuku-parser/binding-linux-arm64-musl': 0.8.7 - '@yuku-parser/binding-linux-x64-gnu': 0.8.7 - '@yuku-parser/binding-linux-x64-musl': 0.8.7 - '@yuku-parser/binding-win32-arm64': 0.8.7 - '@yuku-parser/binding-win32-x64': 0.8.7 + '@yuku-parser/binding-android-arm64': 0.9.3 + '@yuku-parser/binding-darwin-arm64': 0.9.3 + '@yuku-parser/binding-darwin-x64': 0.9.3 + '@yuku-parser/binding-freebsd-x64': 0.9.3 + '@yuku-parser/binding-linux-arm-gnu': 0.9.3 + '@yuku-parser/binding-linux-arm-musl': 0.9.3 + '@yuku-parser/binding-linux-arm64-gnu': 0.9.3 + '@yuku-parser/binding-linux-arm64-musl': 0.9.3 + '@yuku-parser/binding-linux-x64-gnu': 0.9.3 + '@yuku-parser/binding-linux-x64-musl': 0.9.3 + '@yuku-parser/binding-win32-arm64': 0.9.3 + '@yuku-parser/binding-win32-x64': 0.9.3 zod-to-json-schema@3.25.2(zod@3.25.76): dependencies: zod: 3.25.76 - zod-to-json-schema@3.25.2(zod@4.4.3): + zod-to-json-schema@3.25.2(zod@4.5.4): dependencies: - zod: 4.4.3 + zod: 4.5.4 zod@3.25.76: {} - zod@4.4.3: {} + zod@4.5.4: {} zustand@5.0.15(@types/react@19.2.18)(immer@11.1.18)(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8)): optionalDependencies: diff --git a/skills/resume-builder/references/schema.md b/skills/resume-builder/references/schema.md index fb2da321b..64e7a47b1 100644 --- a/skills/resume-builder/references/schema.md +++ b/skills/resume-builder/references/schema.md @@ -15,18 +15,18 @@ Choose one coherent shape for each union value. Required fields are local to tha | Path | Type/variant | Item schema | Representative required shape | | --- | --- | --- | --- | | `customSections[]` | `summary` | `summaryItemSchema` | `{ id, hidden, content }` | -| `customSections[]` | `profiles` | `profileItemSchema` | `{ id, hidden, icon, network, username }` | -| `customSections[]` | `experience` | `experienceItemSchema` | `{ id, hidden, company, position, location, period, description }` | -| `customSections[]` | `education` | `educationItemSchema` | `{ id, hidden, school, degree, area, grade, location, period, description }` | -| `customSections[]` | `projects` | `projectItemSchema` | `{ id, hidden, name, period, description }` | -| `customSections[]` | `skills` | `skillItemSchema` | `{ id, hidden, icon, name, proficiency }` | -| `customSections[]` | `languages` | `languageItemSchema` | `{ id, hidden, language, fluency }` | -| `customSections[]` | `interests` | `interestItemSchema` | `{ id, hidden, icon, name }` | -| `customSections[]` | `awards` | `awardItemSchema` | `{ id, hidden, title, awarder, date, description }` | -| `customSections[]` | `certifications` | `certificationItemSchema` | `{ id, hidden, title, issuer, date, description }` | -| `customSections[]` | `publications` | `publicationItemSchema` | `{ id, hidden, title, publisher, date, description }` | -| `customSections[]` | `volunteer` | `volunteerItemSchema` | `{ id, hidden, organization, location, period, description }` | -| `customSections[]` | `references` | `referenceItemSchema` | `{ id, hidden, name, position, phone, description }` | +| `customSections[]` | `profiles` | `profileItemSchema` | `{ id, hidden, icon, iconColor, network, username, website }` | +| `customSections[]` | `experience` | `experienceItemSchema` | `{ id, hidden, company, position, location, period, website, description, roles }` | +| `customSections[]` | `education` | `educationItemSchema` | `{ id, hidden, school, degree, area, grade, location, period, website, description }` | +| `customSections[]` | `projects` | `projectItemSchema` | `{ id, hidden, name, period, website, description }` | +| `customSections[]` | `skills` | `skillItemSchema` | `{ id, hidden, icon, iconColor, name, proficiency, level, keywords }` | +| `customSections[]` | `languages` | `languageItemSchema` | `{ id, hidden, language, fluency, level }` | +| `customSections[]` | `interests` | `interestItemSchema` | `{ id, hidden, icon, iconColor, name, keywords }` | +| `customSections[]` | `awards` | `awardItemSchema` | `{ id, hidden, title, awarder, date, website, description }` | +| `customSections[]` | `certifications` | `certificationItemSchema` | `{ id, hidden, title, issuer, date, website, description }` | +| `customSections[]` | `publications` | `publicationItemSchema` | `{ id, hidden, title, publisher, date, website, description }` | +| `customSections[]` | `volunteer` | `volunteerItemSchema` | `{ id, hidden, organization, location, period, website, description }` | +| `customSections[]` | `references` | `referenceItemSchema` | `{ id, hidden, name, position, website, phone, description }` | | `customSections[]` | `cover-letter` | `coverLetterItemSchema` | `{ id, hidden, recipient, content }` | ## Field catalog @@ -58,42 +58,42 @@ Choose one coherent shape for each union value. Required fields are local to tha | `basics.customFields[].id` | `string` | yes | — | The unique identifier for the custom field. Usually generated as a UUID. | | `basics.customFields[].icon` | `string` | yes | — | The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available. | | `basics.customFields[].text` | `string` | yes | — | The text to display for the custom field. | -| `basics.customFields[].link` | `string` | no | default: "" | If the custom field should be a link, the URL to link to. | +| `basics.customFields[].link` | `string` | yes | default: "" | If the custom field should be a link, the URL to link to. | | `summary` | `object` | yes | — | Summary section of the resume, useful for a short bio or introduction | | `summary.title` | `string` | yes | — | The title of the summary of the resume. | -| `summary.icon` | `string` | no | default: "" | Phosphor icon name to display before the summary section title in the PDF output. Empty string uses the default summary icon; 'none' hides the icon. | -| `summary.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the summary should span across. | +| `summary.icon` | `string` | yes | default: "" | Phosphor icon name to display before the summary section title in the PDF output. Empty string uses the default summary icon; 'none' hides the icon. | +| `summary.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the summary should span across. | | `summary.hidden` | `boolean` | yes | — | Whether to hide the summary from the resume. | -| `summary.keepTogether` | `boolean` | no | default: false | If true, the summary is kept on a single page instead of splitting across a page break. | -| `summary.startOnNewPage` | `boolean` | no | default: false | If true, the summary always begins on a new page. | +| `summary.keepTogether` | `boolean` | yes | default: false | If true, the summary is kept on a single page instead of splitting across a page break. | +| `summary.startOnNewPage` | `boolean` | yes | default: false | If true, the summary always begins on a new page. | | `summary.content` | `string` | yes | — | The content of the summary of the resume. This should be a HTML-formatted string. | | `sections` | `object` | yes | — | Various sections of the resume, such as experience, education, projects, etc. | | `sections.profiles` | `object` | yes | — | The section to display the profiles of the author. | | `sections.profiles.title` | `string` | yes | — | The title of the section. | -| `sections.profiles.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.profiles.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.profiles.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.profiles.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.profiles.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.profiles.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.profiles.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.profiles.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.profiles.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.profiles.items` | `array` | yes | — | The items to display in the profiles section. | | `sections.profiles.items[]` | `object` | — | — | — | | `sections.profiles.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | | `sections.profiles.items[].hidden` | `boolean` | yes | — | Whether to hide the item from the resume. | | `sections.profiles.items[].icon` | `string` | yes | — | The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available. | -| `sections.profiles.items[].iconColor` | `string` | no | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | +| `sections.profiles.items[].iconColor` | `string` | yes | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | | `sections.profiles.items[].network` | `string` | yes | minLength: 1 | The name of the network or platform. | | `sections.profiles.items[].username` | `string` | yes | — | The username of the author on the network or platform. | -| `sections.profiles.items[].website` | `object` | no | default: {"url":"","label":"","inlineLink":false} | The link to the profile of the author on the network or platform, if any. | +| `sections.profiles.items[].website` | `object` | yes | default: {"url":"","label":"","inlineLink":false} | The link to the profile of the author on the network or platform, if any. | | `sections.profiles.items[].website.url` | `string` | yes | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `sections.profiles.items[].website.label` | `string` | yes | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `sections.profiles.items[].website.inlineLink` | `boolean` | no | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `sections.profiles.items[].website.inlineLink` | `boolean` | yes | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `sections.experience` | `object` | yes | — | The section to display the experience of the author. | | `sections.experience.title` | `string` | yes | — | The title of the section. | -| `sections.experience.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.experience.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.experience.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.experience.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.experience.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.experience.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.experience.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.experience.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.experience.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.experience.items` | `array` | yes | — | The items to display in the experience section. | | `sections.experience.items[]` | `object` | — | — | — | | `sections.experience.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | @@ -102,12 +102,12 @@ Choose one coherent shape for each union value. Required fields are local to tha | `sections.experience.items[].position` | `string` | yes | — | The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank. | | `sections.experience.items[].location` | `string` | yes | — | The location of the company or organization. | | `sections.experience.items[].period` | `string` | yes | — | The overall period of time at the company. When multiple roles are used, this should reflect the total tenure. | -| `sections.experience.items[].website` | `object` | no | default: {"url":"","label":"","inlineLink":false} | The website of the company or organization, if any. | +| `sections.experience.items[].website` | `object` | yes | default: {"url":"","label":"","inlineLink":false} | The website of the company or organization, if any. | | `sections.experience.items[].website.url` | `string` | yes | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `sections.experience.items[].website.label` | `string` | yes | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `sections.experience.items[].website.inlineLink` | `boolean` | no | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `sections.experience.items[].website.inlineLink` | `boolean` | yes | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `sections.experience.items[].description` | `string` | yes | — | The description of the experience. This should be a HTML-formatted string. | -| `sections.experience.items[].roles` | `array` | no | default: [] | List of individual roles held at this company to show career progression. | +| `sections.experience.items[].roles` | `array` | yes | default: [] | List of individual roles held at this company to show career progression. | | `sections.experience.items[].roles[]` | `object` | — | — | — | | `sections.experience.items[].roles[].id` | `string` | yes | — | The unique identifier for the role. Usually generated as a UUID. | | `sections.experience.items[].roles[].position` | `string` | yes | — | The position or job title for this role. | @@ -115,11 +115,11 @@ Choose one coherent shape for each union value. Required fields are local to tha | `sections.experience.items[].roles[].description` | `string` | yes | — | The description of this specific role. This should be a HTML-formatted string. | | `sections.education` | `object` | yes | — | The section to display the education of the author. | | `sections.education.title` | `string` | yes | — | The title of the section. | -| `sections.education.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.education.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.education.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.education.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.education.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.education.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.education.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.education.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.education.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.education.items` | `array` | yes | — | The items to display in the education section. | | `sections.education.items[]` | `object` | — | — | — | | `sections.education.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | @@ -130,84 +130,84 @@ Choose one coherent shape for each union value. Required fields are local to tha | `sections.education.items[].grade` | `string` | yes | — | The grade or score achieved. | | `sections.education.items[].location` | `string` | yes | — | The location of the school or institution. | | `sections.education.items[].period` | `string` | yes | — | The period of time the education was obtained over. | -| `sections.education.items[].website` | `object` | no | default: {"url":"","label":"","inlineLink":false} | The website of the school or institution, if any. | +| `sections.education.items[].website` | `object` | yes | default: {"url":"","label":"","inlineLink":false} | The website of the school or institution, if any. | | `sections.education.items[].website.url` | `string` | yes | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `sections.education.items[].website.label` | `string` | yes | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `sections.education.items[].website.inlineLink` | `boolean` | no | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `sections.education.items[].website.inlineLink` | `boolean` | yes | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `sections.education.items[].description` | `string` | yes | — | The description of the education. This should be a HTML-formatted string. | | `sections.projects` | `object` | yes | — | The section to display the projects of the author. | | `sections.projects.title` | `string` | yes | — | The title of the section. | -| `sections.projects.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.projects.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.projects.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.projects.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.projects.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.projects.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.projects.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.projects.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.projects.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.projects.items` | `array` | yes | — | The items to display in the projects section. | | `sections.projects.items[]` | `object` | — | — | — | | `sections.projects.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | | `sections.projects.items[].hidden` | `boolean` | yes | — | Whether to hide the item from the resume. | | `sections.projects.items[].name` | `string` | yes | minLength: 1 | The name of the project. | | `sections.projects.items[].period` | `string` | yes | — | The period of time the project was worked on. | -| `sections.projects.items[].website` | `object` | no | default: {"url":"","label":"","inlineLink":false} | The link to the project, if any. | +| `sections.projects.items[].website` | `object` | yes | default: {"url":"","label":"","inlineLink":false} | The link to the project, if any. | | `sections.projects.items[].website.url` | `string` | yes | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `sections.projects.items[].website.label` | `string` | yes | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `sections.projects.items[].website.inlineLink` | `boolean` | no | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `sections.projects.items[].website.inlineLink` | `boolean` | yes | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `sections.projects.items[].description` | `string` | yes | — | The description of the project. This should be a HTML-formatted string. | | `sections.skills` | `object` | yes | — | The section to display the skills of the author. | | `sections.skills.title` | `string` | yes | — | The title of the section. | -| `sections.skills.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.skills.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.skills.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.skills.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.skills.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.skills.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.skills.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.skills.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.skills.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.skills.items` | `array` | yes | — | The items to display in the skills section. | | `sections.skills.items[]` | `object` | — | — | — | | `sections.skills.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | | `sections.skills.items[].hidden` | `boolean` | yes | — | Whether to hide the item from the resume. | | `sections.skills.items[].icon` | `string` | yes | — | The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available. | -| `sections.skills.items[].iconColor` | `string` | no | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | +| `sections.skills.items[].iconColor` | `string` | yes | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | | `sections.skills.items[].name` | `string` | yes | minLength: 1 | The name of the skill. | | `sections.skills.items[].proficiency` | `string` | yes | — | The proficiency level of the skill. Can be any text, such as 'Beginner', 'Intermediate', 'Advanced', etc. | -| `sections.skills.items[].level` | `number` | no | minimum: 0; maximum: 5; default: 0 | The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden. | -| `sections.skills.items[].keywords` | `array` | no | default: [] | The keywords associated with the skill, if any. These are displayed as tags below the name. | +| `sections.skills.items[].level` | `number` | yes | minimum: 0; maximum: 5; default: 0 | The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden. | +| `sections.skills.items[].keywords` | `array` | yes | default: [] | The keywords associated with the skill, if any. These are displayed as tags below the name. | | `sections.skills.items[].keywords[]` | `string` | — | — | — | | `sections.languages` | `object` | yes | — | The section to display the languages of the author. | | `sections.languages.title` | `string` | yes | — | The title of the section. | -| `sections.languages.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.languages.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.languages.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.languages.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.languages.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.languages.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.languages.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.languages.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.languages.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.languages.items` | `array` | yes | — | The items to display in the languages section. | | `sections.languages.items[]` | `object` | — | — | — | | `sections.languages.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | | `sections.languages.items[].hidden` | `boolean` | yes | — | Whether to hide the item from the resume. | | `sections.languages.items[].language` | `string` | yes | minLength: 1 | The name of the language the author knows. | | `sections.languages.items[].fluency` | `string` | yes | — | The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2). | -| `sections.languages.items[].level` | `number` | no | minimum: 0; maximum: 5; default: 0 | The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden. | +| `sections.languages.items[].level` | `number` | yes | minimum: 0; maximum: 5; default: 0 | The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden. | | `sections.interests` | `object` | yes | — | The section to display the interests of the author. | | `sections.interests.title` | `string` | yes | — | The title of the section. | -| `sections.interests.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.interests.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.interests.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.interests.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.interests.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.interests.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.interests.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.interests.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.interests.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.interests.items` | `array` | yes | — | The items to display in the interests section. | | `sections.interests.items[]` | `object` | — | — | — | | `sections.interests.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | | `sections.interests.items[].hidden` | `boolean` | yes | — | Whether to hide the item from the resume. | | `sections.interests.items[].icon` | `string` | yes | — | The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available. | -| `sections.interests.items[].iconColor` | `string` | no | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | +| `sections.interests.items[].iconColor` | `string` | yes | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | | `sections.interests.items[].name` | `string` | yes | minLength: 1 | The name of the interest/hobby. | -| `sections.interests.items[].keywords` | `array` | no | default: [] | The keywords associated with the interest/hobby, if any. These are displayed as tags below the name. | +| `sections.interests.items[].keywords` | `array` | yes | default: [] | The keywords associated with the interest/hobby, if any. These are displayed as tags below the name. | | `sections.interests.items[].keywords[]` | `string` | — | — | — | | `sections.awards` | `object` | yes | — | The section to display the awards of the author. | | `sections.awards.title` | `string` | yes | — | The title of the section. | -| `sections.awards.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.awards.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.awards.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.awards.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.awards.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.awards.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.awards.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.awards.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.awards.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.awards.items` | `array` | yes | — | The items to display in the awards section. | | `sections.awards.items[]` | `object` | — | — | — | | `sections.awards.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | @@ -215,18 +215,18 @@ Choose one coherent shape for each union value. Required fields are local to tha | `sections.awards.items[].title` | `string` | yes | minLength: 1 | The title of the award. | | `sections.awards.items[].awarder` | `string` | yes | — | The awarder of the award. | | `sections.awards.items[].date` | `string` | yes | — | The date when the award was received. | -| `sections.awards.items[].website` | `object` | no | default: {"url":"","label":"","inlineLink":false} | The website of the award, if any. | +| `sections.awards.items[].website` | `object` | yes | default: {"url":"","label":"","inlineLink":false} | The website of the award, if any. | | `sections.awards.items[].website.url` | `string` | yes | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `sections.awards.items[].website.label` | `string` | yes | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `sections.awards.items[].website.inlineLink` | `boolean` | no | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `sections.awards.items[].website.inlineLink` | `boolean` | yes | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `sections.awards.items[].description` | `string` | yes | — | The description of the award. This should be a HTML-formatted string. | | `sections.certifications` | `object` | yes | — | The section to display the certifications of the author. | | `sections.certifications.title` | `string` | yes | — | The title of the section. | -| `sections.certifications.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.certifications.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.certifications.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.certifications.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.certifications.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.certifications.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.certifications.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.certifications.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.certifications.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.certifications.items` | `array` | yes | — | The items to display in the certifications section. | | `sections.certifications.items[]` | `object` | — | — | — | | `sections.certifications.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | @@ -234,18 +234,18 @@ Choose one coherent shape for each union value. Required fields are local to tha | `sections.certifications.items[].title` | `string` | yes | minLength: 1 | The title of the certification. | | `sections.certifications.items[].issuer` | `string` | yes | — | The issuer of the certification. | | `sections.certifications.items[].date` | `string` | yes | — | The date when the certification was received. | -| `sections.certifications.items[].website` | `object` | no | default: {"url":"","label":"","inlineLink":false} | The website of the certification, if any. | +| `sections.certifications.items[].website` | `object` | yes | default: {"url":"","label":"","inlineLink":false} | The website of the certification, if any. | | `sections.certifications.items[].website.url` | `string` | yes | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `sections.certifications.items[].website.label` | `string` | yes | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `sections.certifications.items[].website.inlineLink` | `boolean` | no | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `sections.certifications.items[].website.inlineLink` | `boolean` | yes | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `sections.certifications.items[].description` | `string` | yes | — | The description of the certification. This should be a HTML-formatted string. | | `sections.publications` | `object` | yes | — | The section to display the publications of the author. | | `sections.publications.title` | `string` | yes | — | The title of the section. | -| `sections.publications.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.publications.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.publications.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.publications.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.publications.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.publications.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.publications.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.publications.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.publications.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.publications.items` | `array` | yes | — | The items to display in the publications section. | | `sections.publications.items[]` | `object` | — | — | — | | `sections.publications.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | @@ -253,18 +253,18 @@ Choose one coherent shape for each union value. Required fields are local to tha | `sections.publications.items[].title` | `string` | yes | minLength: 1 | The title of the publication. | | `sections.publications.items[].publisher` | `string` | yes | — | The publisher of the publication. | | `sections.publications.items[].date` | `string` | yes | — | The date when the publication was published. | -| `sections.publications.items[].website` | `object` | no | default: {"url":"","label":"","inlineLink":false} | The link to the publication, if any. | +| `sections.publications.items[].website` | `object` | yes | default: {"url":"","label":"","inlineLink":false} | The link to the publication, if any. | | `sections.publications.items[].website.url` | `string` | yes | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `sections.publications.items[].website.label` | `string` | yes | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `sections.publications.items[].website.inlineLink` | `boolean` | no | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `sections.publications.items[].website.inlineLink` | `boolean` | yes | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `sections.publications.items[].description` | `string` | yes | — | The description of the publication. This should be a HTML-formatted string. | | `sections.volunteer` | `object` | yes | — | The section to display the volunteer experience of the author. | | `sections.volunteer.title` | `string` | yes | — | The title of the section. | -| `sections.volunteer.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.volunteer.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.volunteer.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.volunteer.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.volunteer.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.volunteer.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.volunteer.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.volunteer.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.volunteer.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.volunteer.items` | `array` | yes | — | The items to display in the volunteer section. | | `sections.volunteer.items[]` | `object` | — | — | — | | `sections.volunteer.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | @@ -272,39 +272,39 @@ Choose one coherent shape for each union value. Required fields are local to tha | `sections.volunteer.items[].organization` | `string` | yes | minLength: 1 | The name of the organization or company. | | `sections.volunteer.items[].location` | `string` | yes | — | The location of the organization or company. | | `sections.volunteer.items[].period` | `string` | yes | — | The period of time the author was volunteered at the organization or company. | -| `sections.volunteer.items[].website` | `object` | no | default: {"url":"","label":"","inlineLink":false} | The link to the organization or company, if any. | +| `sections.volunteer.items[].website` | `object` | yes | default: {"url":"","label":"","inlineLink":false} | The link to the organization or company, if any. | | `sections.volunteer.items[].website.url` | `string` | yes | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `sections.volunteer.items[].website.label` | `string` | yes | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `sections.volunteer.items[].website.inlineLink` | `boolean` | no | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `sections.volunteer.items[].website.inlineLink` | `boolean` | yes | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `sections.volunteer.items[].description` | `string` | yes | — | The description of the volunteer experience. This should be a HTML-formatted string. | | `sections.references` | `object` | yes | — | The section to display the references of the author. | | `sections.references.title` | `string` | yes | — | The title of the section. | -| `sections.references.icon` | `string` | no | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `sections.references.columns` | `integer` | no | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `sections.references.icon` | `string` | yes | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `sections.references.columns` | `integer` | yes | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `sections.references.hidden` | `boolean` | yes | — | Whether to hide the section from the resume. | -| `sections.references.keepTogether` | `boolean` | no | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `sections.references.startOnNewPage` | `boolean` | no | default: false | If true, the section always begins on a new page. | +| `sections.references.keepTogether` | `boolean` | yes | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `sections.references.startOnNewPage` | `boolean` | yes | default: false | If true, the section always begins on a new page. | | `sections.references.items` | `array` | yes | — | The items to display in the references section. | | `sections.references.items[]` | `object` | — | — | — | | `sections.references.items[].id` | `string` | yes | — | The unique identifier for the item. Usually generated as a UUID. | | `sections.references.items[].hidden` | `boolean` | yes | — | Whether to hide the item from the resume. | | `sections.references.items[].name` | `string` | yes | minLength: 1 | The name of the reference, or a note such as 'Available upon request'. | | `sections.references.items[].position` | `string` | yes | — | The position or job title of the reference. | -| `sections.references.items[].website` | `object` | no | default: {"url":"","label":"","inlineLink":false} | The website or LinkedIn profile of the reference, if any. | +| `sections.references.items[].website` | `object` | yes | default: {"url":"","label":"","inlineLink":false} | The website or LinkedIn profile of the reference, if any. | | `sections.references.items[].website.url` | `string` | yes | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `sections.references.items[].website.label` | `string` | yes | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `sections.references.items[].website.inlineLink` | `boolean` | no | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `sections.references.items[].website.inlineLink` | `boolean` | yes | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `sections.references.items[].phone` | `string` | yes | — | The phone number of the reference. | | `sections.references.items[].description` | `string` | yes | — | The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string. | | `customSections` | `array` | yes | — | Custom sections of the resume, such as a custom section for notes, etc. | | `customSections[]` | `object or object or object or object or object or object or object or object or object or object or object or object or object or object` | — | — | — | | `customSections[]` | `object` | — (type summary, schema summaryItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type summary, schema summaryItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type summary, schema summaryItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type summary, schema summaryItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type summary, schema summaryItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type summary, schema summaryItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type summary, schema summaryItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type summary, schema summaryItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type summary, schema summaryItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type summary, schema summaryItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type summary, schema summaryItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type summary, schema summaryItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type summary, schema summaryItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type summary, schema summaryItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -314,11 +314,11 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].content` | `string` | yes (type summary, schema summaryItemSchema at customSections[]) | — | The rich text content of the summary item. This should be a HTML-formatted string. | | `customSections[]` | `object` | — (type profiles, schema profileItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type profiles, schema profileItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type profiles, schema profileItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type profiles, schema profileItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type profiles, schema profileItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type profiles, schema profileItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type profiles, schema profileItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type profiles, schema profileItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type profiles, schema profileItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type profiles, schema profileItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type profiles, schema profileItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type profiles, schema profileItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type profiles, schema profileItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type profiles, schema profileItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -326,20 +326,20 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].id` | `string` | yes (type profiles, schema profileItemSchema at customSections[]) | — | The unique identifier for the item. Usually generated as a UUID. | | `customSections[].items[].hidden` | `boolean` | yes (type profiles, schema profileItemSchema at customSections[]) | — | Whether to hide the item from the resume. | | `customSections[].items[].icon` | `string` | yes (type profiles, schema profileItemSchema at customSections[]) | — | The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available. | -| `customSections[].items[].iconColor` | `string` | no (type profiles, schema profileItemSchema at customSections[]) | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | +| `customSections[].items[].iconColor` | `string` | yes (type profiles, schema profileItemSchema at customSections[]) | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | | `customSections[].items[].network` | `string` | yes (type profiles, schema profileItemSchema at customSections[]) | minLength: 1 | The name of the network or platform. | | `customSections[].items[].username` | `string` | yes (type profiles, schema profileItemSchema at customSections[]) | — | The username of the author on the network or platform. | -| `customSections[].items[].website` | `object` | no (type profiles, schema profileItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The link to the profile of the author on the network or platform, if any. | +| `customSections[].items[].website` | `object` | yes (type profiles, schema profileItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The link to the profile of the author on the network or platform, if any. | | `customSections[].items[].website.url` | `string` | yes (type profiles, schema profileItemSchema at customSections[]) | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `customSections[].items[].website.label` | `string` | yes (type profiles, schema profileItemSchema at customSections[]) | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `customSections[].items[].website.inlineLink` | `boolean` | no (type profiles, schema profileItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `customSections[].items[].website.inlineLink` | `boolean` | yes (type profiles, schema profileItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `customSections[]` | `object` | — (type experience, schema experienceItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type experience, schema experienceItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type experience, schema experienceItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type experience, schema experienceItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type experience, schema experienceItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type experience, schema experienceItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type experience, schema experienceItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type experience, schema experienceItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type experience, schema experienceItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -350,12 +350,12 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].position` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank. | | `customSections[].items[].location` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The location of the company or organization. | | `customSections[].items[].period` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The overall period of time at the company. When multiple roles are used, this should reflect the total tenure. | -| `customSections[].items[].website` | `object` | no (type experience, schema experienceItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The website of the company or organization, if any. | +| `customSections[].items[].website` | `object` | yes (type experience, schema experienceItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The website of the company or organization, if any. | | `customSections[].items[].website.url` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `customSections[].items[].website.label` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `customSections[].items[].website.inlineLink` | `boolean` | no (type experience, schema experienceItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `customSections[].items[].website.inlineLink` | `boolean` | yes (type experience, schema experienceItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `customSections[].items[].description` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The description of the experience. This should be a HTML-formatted string. | -| `customSections[].items[].roles` | `array` | no (type experience, schema experienceItemSchema at customSections[]) | default: [] | List of individual roles held at this company to show career progression. | +| `customSections[].items[].roles` | `array` | yes (type experience, schema experienceItemSchema at customSections[]) | default: [] | List of individual roles held at this company to show career progression. | | `customSections[].items[].roles[]` | `object` | — (type experience, schema experienceItemSchema at customSections[]) | — | — | | `customSections[].items[].roles[].id` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The unique identifier for the role. Usually generated as a UUID. | | `customSections[].items[].roles[].position` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The position or job title for this role. | @@ -363,11 +363,11 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].roles[].description` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) | — | The description of this specific role. This should be a HTML-formatted string. | | `customSections[]` | `object` | — (type education, schema educationItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type education, schema educationItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type education, schema educationItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type education, schema educationItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type education, schema educationItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type education, schema educationItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type education, schema educationItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type education, schema educationItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type education, schema educationItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type education, schema educationItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type education, schema educationItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type education, schema educationItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type education, schema educationItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type education, schema educationItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -380,18 +380,18 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].grade` | `string` | yes (type education, schema educationItemSchema at customSections[]) | — | The grade or score achieved. | | `customSections[].items[].location` | `string` | yes (type education, schema educationItemSchema at customSections[]) | — | The location of the school or institution. | | `customSections[].items[].period` | `string` | yes (type education, schema educationItemSchema at customSections[]) | — | The period of time the education was obtained over. | -| `customSections[].items[].website` | `object` | no (type education, schema educationItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The website of the school or institution, if any. | +| `customSections[].items[].website` | `object` | yes (type education, schema educationItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The website of the school or institution, if any. | | `customSections[].items[].website.url` | `string` | yes (type education, schema educationItemSchema at customSections[]) | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `customSections[].items[].website.label` | `string` | yes (type education, schema educationItemSchema at customSections[]) | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `customSections[].items[].website.inlineLink` | `boolean` | no (type education, schema educationItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `customSections[].items[].website.inlineLink` | `boolean` | yes (type education, schema educationItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `customSections[].items[].description` | `string` | yes (type education, schema educationItemSchema at customSections[]) | — | The description of the education. This should be a HTML-formatted string. | | `customSections[]` | `object` | — (type projects, schema projectItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type projects, schema projectItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type projects, schema projectItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type projects, schema projectItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type projects, schema projectItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type projects, schema projectItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type projects, schema projectItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type projects, schema projectItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type projects, schema projectItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type projects, schema projectItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type projects, schema projectItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type projects, schema projectItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type projects, schema projectItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type projects, schema projectItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -400,18 +400,18 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].hidden` | `boolean` | yes (type projects, schema projectItemSchema at customSections[]) | — | Whether to hide the item from the resume. | | `customSections[].items[].name` | `string` | yes (type projects, schema projectItemSchema at customSections[]) | minLength: 1 | The name of the project. | | `customSections[].items[].period` | `string` | yes (type projects, schema projectItemSchema at customSections[]) | — | The period of time the project was worked on. | -| `customSections[].items[].website` | `object` | no (type projects, schema projectItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The link to the project, if any. | +| `customSections[].items[].website` | `object` | yes (type projects, schema projectItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The link to the project, if any. | | `customSections[].items[].website.url` | `string` | yes (type projects, schema projectItemSchema at customSections[]) | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `customSections[].items[].website.label` | `string` | yes (type projects, schema projectItemSchema at customSections[]) | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `customSections[].items[].website.inlineLink` | `boolean` | no (type projects, schema projectItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `customSections[].items[].website.inlineLink` | `boolean` | yes (type projects, schema projectItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `customSections[].items[].description` | `string` | yes (type projects, schema projectItemSchema at customSections[]) | — | The description of the project. This should be a HTML-formatted string. | | `customSections[]` | `object` | — (type skills, schema skillItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type skills, schema skillItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type skills, schema skillItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type skills, schema skillItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type skills, schema skillItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type skills, schema skillItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type skills, schema skillItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type skills, schema skillItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type skills, schema skillItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type skills, schema skillItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type skills, schema skillItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type skills, schema skillItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type skills, schema skillItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type skills, schema skillItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -419,19 +419,19 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].id` | `string` | yes (type skills, schema skillItemSchema at customSections[]) | — | The unique identifier for the item. Usually generated as a UUID. | | `customSections[].items[].hidden` | `boolean` | yes (type skills, schema skillItemSchema at customSections[]) | — | Whether to hide the item from the resume. | | `customSections[].items[].icon` | `string` | yes (type skills, schema skillItemSchema at customSections[]) | — | The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available. | -| `customSections[].items[].iconColor` | `string` | no (type skills, schema skillItemSchema at customSections[]) | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | +| `customSections[].items[].iconColor` | `string` | yes (type skills, schema skillItemSchema at customSections[]) | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | | `customSections[].items[].name` | `string` | yes (type skills, schema skillItemSchema at customSections[]) | minLength: 1 | The name of the skill. | | `customSections[].items[].proficiency` | `string` | yes (type skills, schema skillItemSchema at customSections[]) | — | The proficiency level of the skill. Can be any text, such as 'Beginner', 'Intermediate', 'Advanced', etc. | -| `customSections[].items[].level` | `number` | no (type skills, schema skillItemSchema at customSections[]) | minimum: 0; maximum: 5; default: 0 | The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden. | -| `customSections[].items[].keywords` | `array` | no (type skills, schema skillItemSchema at customSections[]) | default: [] | The keywords associated with the skill, if any. These are displayed as tags below the name. | +| `customSections[].items[].level` | `number` | yes (type skills, schema skillItemSchema at customSections[]) | minimum: 0; maximum: 5; default: 0 | The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden. | +| `customSections[].items[].keywords` | `array` | yes (type skills, schema skillItemSchema at customSections[]) | default: [] | The keywords associated with the skill, if any. These are displayed as tags below the name. | | `customSections[].items[].keywords[]` | `string` | — (type skills, schema skillItemSchema at customSections[]) | — | — | | `customSections[]` | `object` | — (type languages, schema languageItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type languages, schema languageItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type languages, schema languageItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type languages, schema languageItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type languages, schema languageItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type languages, schema languageItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type languages, schema languageItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type languages, schema languageItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type languages, schema languageItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type languages, schema languageItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type languages, schema languageItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type languages, schema languageItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type languages, schema languageItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type languages, schema languageItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -440,14 +440,14 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].hidden` | `boolean` | yes (type languages, schema languageItemSchema at customSections[]) | — | Whether to hide the item from the resume. | | `customSections[].items[].language` | `string` | yes (type languages, schema languageItemSchema at customSections[]) | minLength: 1 | The name of the language the author knows. | | `customSections[].items[].fluency` | `string` | yes (type languages, schema languageItemSchema at customSections[]) | — | The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2). | -| `customSections[].items[].level` | `number` | no (type languages, schema languageItemSchema at customSections[]) | minimum: 0; maximum: 5; default: 0 | The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden. | +| `customSections[].items[].level` | `number` | yes (type languages, schema languageItemSchema at customSections[]) | minimum: 0; maximum: 5; default: 0 | The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden. | | `customSections[]` | `object` | — (type interests, schema interestItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type interests, schema interestItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type interests, schema interestItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type interests, schema interestItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type interests, schema interestItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type interests, schema interestItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type interests, schema interestItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type interests, schema interestItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type interests, schema interestItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type interests, schema interestItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type interests, schema interestItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type interests, schema interestItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type interests, schema interestItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type interests, schema interestItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -455,17 +455,17 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].id` | `string` | yes (type interests, schema interestItemSchema at customSections[]) | — | The unique identifier for the item. Usually generated as a UUID. | | `customSections[].items[].hidden` | `boolean` | yes (type interests, schema interestItemSchema at customSections[]) | — | Whether to hide the item from the resume. | | `customSections[].items[].icon` | `string` | yes (type interests, schema interestItemSchema at customSections[]) | — | The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available. | -| `customSections[].items[].iconColor` | `string` | no (type interests, schema interestItemSchema at customSections[]) | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | +| `customSections[].items[].iconColor` | `string` | yes (type interests, schema interestItemSchema at customSections[]) | default: "" | Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color. | | `customSections[].items[].name` | `string` | yes (type interests, schema interestItemSchema at customSections[]) | minLength: 1 | The name of the interest/hobby. | -| `customSections[].items[].keywords` | `array` | no (type interests, schema interestItemSchema at customSections[]) | default: [] | The keywords associated with the interest/hobby, if any. These are displayed as tags below the name. | +| `customSections[].items[].keywords` | `array` | yes (type interests, schema interestItemSchema at customSections[]) | default: [] | The keywords associated with the interest/hobby, if any. These are displayed as tags below the name. | | `customSections[].items[].keywords[]` | `string` | — (type interests, schema interestItemSchema at customSections[]) | — | — | | `customSections[]` | `object` | — (type awards, schema awardItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type awards, schema awardItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type awards, schema awardItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type awards, schema awardItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type awards, schema awardItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type awards, schema awardItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type awards, schema awardItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type awards, schema awardItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type awards, schema awardItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type awards, schema awardItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type awards, schema awardItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type awards, schema awardItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type awards, schema awardItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type awards, schema awardItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -475,18 +475,18 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].title` | `string` | yes (type awards, schema awardItemSchema at customSections[]) | minLength: 1 | The title of the award. | | `customSections[].items[].awarder` | `string` | yes (type awards, schema awardItemSchema at customSections[]) | — | The awarder of the award. | | `customSections[].items[].date` | `string` | yes (type awards, schema awardItemSchema at customSections[]) | — | The date when the award was received. | -| `customSections[].items[].website` | `object` | no (type awards, schema awardItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The website of the award, if any. | +| `customSections[].items[].website` | `object` | yes (type awards, schema awardItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The website of the award, if any. | | `customSections[].items[].website.url` | `string` | yes (type awards, schema awardItemSchema at customSections[]) | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `customSections[].items[].website.label` | `string` | yes (type awards, schema awardItemSchema at customSections[]) | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `customSections[].items[].website.inlineLink` | `boolean` | no (type awards, schema awardItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `customSections[].items[].website.inlineLink` | `boolean` | yes (type awards, schema awardItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `customSections[].items[].description` | `string` | yes (type awards, schema awardItemSchema at customSections[]) | — | The description of the award. This should be a HTML-formatted string. | | `customSections[]` | `object` | — (type certifications, schema certificationItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type certifications, schema certificationItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type certifications, schema certificationItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type certifications, schema certificationItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type certifications, schema certificationItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type certifications, schema certificationItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type certifications, schema certificationItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type certifications, schema certificationItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type certifications, schema certificationItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type certifications, schema certificationItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type certifications, schema certificationItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type certifications, schema certificationItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type certifications, schema certificationItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type certifications, schema certificationItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -496,18 +496,18 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].title` | `string` | yes (type certifications, schema certificationItemSchema at customSections[]) | minLength: 1 | The title of the certification. | | `customSections[].items[].issuer` | `string` | yes (type certifications, schema certificationItemSchema at customSections[]) | — | The issuer of the certification. | | `customSections[].items[].date` | `string` | yes (type certifications, schema certificationItemSchema at customSections[]) | — | The date when the certification was received. | -| `customSections[].items[].website` | `object` | no (type certifications, schema certificationItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The website of the certification, if any. | +| `customSections[].items[].website` | `object` | yes (type certifications, schema certificationItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The website of the certification, if any. | | `customSections[].items[].website.url` | `string` | yes (type certifications, schema certificationItemSchema at customSections[]) | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `customSections[].items[].website.label` | `string` | yes (type certifications, schema certificationItemSchema at customSections[]) | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `customSections[].items[].website.inlineLink` | `boolean` | no (type certifications, schema certificationItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `customSections[].items[].website.inlineLink` | `boolean` | yes (type certifications, schema certificationItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `customSections[].items[].description` | `string` | yes (type certifications, schema certificationItemSchema at customSections[]) | — | The description of the certification. This should be a HTML-formatted string. | | `customSections[]` | `object` | — (type publications, schema publicationItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type publications, schema publicationItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type publications, schema publicationItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type publications, schema publicationItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type publications, schema publicationItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type publications, schema publicationItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type publications, schema publicationItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type publications, schema publicationItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type publications, schema publicationItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type publications, schema publicationItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type publications, schema publicationItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type publications, schema publicationItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type publications, schema publicationItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type publications, schema publicationItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -517,18 +517,18 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].title` | `string` | yes (type publications, schema publicationItemSchema at customSections[]) | minLength: 1 | The title of the publication. | | `customSections[].items[].publisher` | `string` | yes (type publications, schema publicationItemSchema at customSections[]) | — | The publisher of the publication. | | `customSections[].items[].date` | `string` | yes (type publications, schema publicationItemSchema at customSections[]) | — | The date when the publication was published. | -| `customSections[].items[].website` | `object` | no (type publications, schema publicationItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The link to the publication, if any. | +| `customSections[].items[].website` | `object` | yes (type publications, schema publicationItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The link to the publication, if any. | | `customSections[].items[].website.url` | `string` | yes (type publications, schema publicationItemSchema at customSections[]) | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `customSections[].items[].website.label` | `string` | yes (type publications, schema publicationItemSchema at customSections[]) | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `customSections[].items[].website.inlineLink` | `boolean` | no (type publications, schema publicationItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `customSections[].items[].website.inlineLink` | `boolean` | yes (type publications, schema publicationItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `customSections[].items[].description` | `string` | yes (type publications, schema publicationItemSchema at customSections[]) | — | The description of the publication. This should be a HTML-formatted string. | | `customSections[]` | `object` | — (type volunteer, schema volunteerItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type volunteer, schema volunteerItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type volunteer, schema volunteerItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type volunteer, schema volunteerItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type volunteer, schema volunteerItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -538,18 +538,18 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].organization` | `string` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | minLength: 1 | The name of the organization or company. | | `customSections[].items[].location` | `string` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | — | The location of the organization or company. | | `customSections[].items[].period` | `string` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | — | The period of time the author was volunteered at the organization or company. | -| `customSections[].items[].website` | `object` | no (type volunteer, schema volunteerItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The link to the organization or company, if any. | +| `customSections[].items[].website` | `object` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The link to the organization or company, if any. | | `customSections[].items[].website.url` | `string` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `customSections[].items[].website.label` | `string` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `customSections[].items[].website.inlineLink` | `boolean` | no (type volunteer, schema volunteerItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `customSections[].items[].website.inlineLink` | `boolean` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `customSections[].items[].description` | `string` | yes (type volunteer, schema volunteerItemSchema at customSections[]) | — | The description of the volunteer experience. This should be a HTML-formatted string. | | `customSections[]` | `object` | — (type references, schema referenceItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type references, schema referenceItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type references, schema referenceItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type references, schema referenceItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type references, schema referenceItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type references, schema referenceItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type references, schema referenceItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type references, schema referenceItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type references, schema referenceItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type references, schema referenceItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type references, schema referenceItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type references, schema referenceItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type references, schema referenceItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type references, schema referenceItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -558,19 +558,19 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].hidden` | `boolean` | yes (type references, schema referenceItemSchema at customSections[]) | — | Whether to hide the item from the resume. | | `customSections[].items[].name` | `string` | yes (type references, schema referenceItemSchema at customSections[]) | minLength: 1 | The name of the reference, or a note such as 'Available upon request'. | | `customSections[].items[].position` | `string` | yes (type references, schema referenceItemSchema at customSections[]) | — | The position or job title of the reference. | -| `customSections[].items[].website` | `object` | no (type references, schema referenceItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The website or LinkedIn profile of the reference, if any. | +| `customSections[].items[].website` | `object` | yes (type references, schema referenceItemSchema at customSections[]) | default: {"url":"","label":"","inlineLink":false} | The website or LinkedIn profile of the reference, if any. | | `customSections[].items[].website.url` | `string` | yes (type references, schema referenceItemSchema at customSections[]) | — | The URL to show as a link. Must be a valid URL with a protocol (http:// or https://). | | `customSections[].items[].website.label` | `string` | yes (type references, schema referenceItemSchema at customSections[]) | — | The label to display for the URL. Leave blank to display the URL as-is. | -| `customSections[].items[].website.inlineLink` | `boolean` | no (type references, schema referenceItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | +| `customSections[].items[].website.inlineLink` | `boolean` | yes (type references, schema referenceItemSchema at customSections[]) | default: false | If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom. | | `customSections[].items[].phone` | `string` | yes (type references, schema referenceItemSchema at customSections[]) | — | The phone number of the reference. | | `customSections[].items[].description` | `string` | yes (type references, schema referenceItemSchema at customSections[]) | — | The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string. | | `customSections[]` | `object` | — (type cover-letter, schema coverLetterItemSchema at customSections[]) | — | — | | `customSections[].title` | `string` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | — | The title of the section. | -| `customSections[].icon` | `string` | no (type cover-letter, schema coverLetterItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | -| `customSections[].columns` | `integer` | no (type cover-letter, schema coverLetterItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | +| `customSections[].icon` | `string` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | default: "" | Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon. | +| `customSections[].columns` | `integer` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | minimum: 1; maximum: 6; default: 1 | The number of columns the section should span across. | | `customSections[].hidden` | `boolean` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | — | Whether to hide the section from the resume. | -| `customSections[].keepTogether` | `boolean` | no (type cover-letter, schema coverLetterItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | -| `customSections[].startOnNewPage` | `boolean` | no (type cover-letter, schema coverLetterItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | +| `customSections[].keepTogether` | `boolean` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | default: false | If true, the section is kept on a single page instead of splitting across a page break. | +| `customSections[].startOnNewPage` | `boolean` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | default: false | If true, the section always begins on a new page. | | `customSections[].id` | `string` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | — | The unique identifier for the custom section. Usually generated as a UUID. | | `customSections[].type` | `string` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | — | The type of items this custom section contains. Determines which item schema and form fields to use. | | `customSections[].items` | `array` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | — | The items to display in the custom section. Items follow the schema of the section type. | @@ -580,9 +580,9 @@ Choose one coherent shape for each union value. Required fields are local to tha | `customSections[].items[].recipient` | `string` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | — | The recipient's address block as HTML (name, title, company, address, email). | | `customSections[].items[].content` | `string` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | — | The cover letter body as HTML (salutation, paragraphs, closing, signature). | | `metadata` | `object` | yes | — | Metadata for the resume, such as template, layout, typography, etc. This section describes the overall design and appearance of the resume. | -| `metadata.template` | `string` | no | enum: ["azurill","bronzor","chikorita","ditgar","ditto","gengar","glalie","kakuna","lapras","leafish","meowth","onyx","pikachu","rhyhorn","scizor"]; default: "onyx" | The template to use for the resume. Determines the overall design and appearance of the resume. | +| `metadata.template` | `string` | yes | enum: ["azurill","bronzor","chikorita","ditgar","ditto","gengar","glalie","kakuna","lapras","leafish","meowth","onyx","pikachu","rhyhorn","scizor"]; default: "onyx" | The template to use for the resume. Determines the overall design and appearance of the resume. | | `metadata.layout` | `object` | yes | — | The layout of the resume. Determines the structure and arrangement of the sections on the resume. | -| `metadata.layout.sidebarWidth` | `number` | no | minimum: 10; maximum: 50; default: 35 | The width of the sidebar column, defined as a percentage of the page width. | +| `metadata.layout.sidebarWidth` | `number` | yes | minimum: 10; maximum: 50; default: 35 | The width of the sidebar column, defined as a percentage of the page width. | | `metadata.layout.pages` | `array` | yes | — | The pages to display in the layout. | | `metadata.layout.pages[]` | `object` | — | — | — | | `metadata.layout.pages[].fullWidth` | `boolean` | yes | — | Whether the layout of the page should be full width. If true, the main column will span the entire width of the page. This means that there should be no items in the sidebar column. | @@ -593,13 +593,13 @@ Choose one coherent shape for each union value. Required fields are local to tha | `metadata.page` | `object` | yes | — | The page settings of the resume. Determines the margins, format, and locale of the resume. | | `metadata.page.gapX` | `number` | yes | minimum: 0 | The horizontal gap between the sections of the page, defined in points (pt). | | `metadata.page.gapY` | `number` | yes | minimum: 0 | The vertical gap between the sections of the page, defined in points (pt). | -| `metadata.page.marginX` | `number` | no | minimum: 0; maximum: 100; default: 14 | The horizontal margin of the page, defined in points (pt). | -| `metadata.page.marginY` | `number` | no | minimum: 0; maximum: 100; default: 12 | The vertical margin of the page, defined in points (pt). | -| `metadata.page.format` | `string` | no | enum: ["a4","letter","free-form"]; default: "a4" | The format of the page. Can be 'a4', 'letter', or 'free-form'. | -| `metadata.page.locale` | `string` | no | default: "en-US" | The locale of the page. Used for displaying pre-translated section headings, if not overridden. | -| `metadata.page.hideLinkUnderline` | `boolean` | no | default: false | Whether to hide the underlines of the links. | -| `metadata.page.hideIcons` | `boolean` | no | default: false | Whether to hide the item-level icons (skills, profiles, interests). | -| `metadata.page.hideSectionIcons` | `boolean` | no | default: true | Whether to hide the section heading icons displayed before section titles. | +| `metadata.page.marginX` | `number` | yes | minimum: 0; maximum: 100; default: 14 | The horizontal margin of the page, defined in points (pt). | +| `metadata.page.marginY` | `number` | yes | minimum: 0; maximum: 100; default: 12 | The vertical margin of the page, defined in points (pt). | +| `metadata.page.format` | `string` | yes | enum: ["a4","letter","free-form"]; default: "a4" | The format of the page. Can be 'a4', 'letter', or 'free-form'. | +| `metadata.page.locale` | `string` | yes | default: "en-US" | The locale of the page. Used for displaying pre-translated section headings, if not overridden. | +| `metadata.page.hideLinkUnderline` | `boolean` | yes | default: false | Whether to hide the underlines of the links. | +| `metadata.page.hideIcons` | `boolean` | yes | default: false | Whether to hide the item-level icons (skills, profiles, interests). | +| `metadata.page.hideSectionIcons` | `boolean` | yes | default: true | Whether to hide the section heading icons displayed before section titles. | | `metadata.design` | `object` | yes | — | The design settings of the resume. Determines the colors, level designs, and typography of the resume. | | `metadata.design.level` | `object` | yes | — | — | | `metadata.design.level.icon` | `string` | yes | — | The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available. | @@ -611,18 +611,18 @@ Choose one coherent shape for each union value. Required fields are local to tha | `metadata.typography` | `object` | yes | — | The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume. | | `metadata.typography.body` | `object` | yes | — | The typography for the body of the resume. | | `metadata.typography.body.fontFamily` | `string` | yes | — | The family of the font to use. Must be a supported resume font. | -| `metadata.typography.body.fontWeights` | `array` | no | default: ["400"] | The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font. | +| `metadata.typography.body.fontWeights` | `array` | yes | default: ["400"] | The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font. | | `metadata.typography.body.fontWeights[]` | `string` | — | enum: ["100","200","300","400","500","600","700","800","900"] | — | -| `metadata.typography.body.fontSize` | `number` | no | minimum: 6; maximum: 24; default: 11 | The size of the font to use, defined in points (pt). | -| `metadata.typography.body.lineHeight` | `number` | no | minimum: 0.5; maximum: 4; default: 1.5 | The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x). | +| `metadata.typography.body.fontSize` | `number` | yes | minimum: 6; maximum: 24; default: 11 | The size of the font to use, defined in points (pt). | +| `metadata.typography.body.lineHeight` | `number` | yes | minimum: 0.5; maximum: 4; default: 1.5 | The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x). | | `metadata.typography.heading` | `object` | yes | — | The typography for the headings of the resume. | | `metadata.typography.heading.fontFamily` | `string` | yes | — | The family of the font to use. Must be a supported resume font. | -| `metadata.typography.heading.fontWeights` | `array` | no | default: ["400"] | The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font. | +| `metadata.typography.heading.fontWeights` | `array` | yes | default: ["400"] | The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font. | | `metadata.typography.heading.fontWeights[]` | `string` | — | enum: ["100","200","300","400","500","600","700","800","900"] | — | -| `metadata.typography.heading.fontSize` | `number` | no | minimum: 6; maximum: 24; default: 11 | The size of the font to use, defined in points (pt). | -| `metadata.typography.heading.lineHeight` | `number` | no | minimum: 0.5; maximum: 4; default: 1.5 | The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x). | +| `metadata.typography.heading.fontSize` | `number` | yes | minimum: 6; maximum: 24; default: 11 | The size of the font to use, defined in points (pt). | +| `metadata.typography.heading.lineHeight` | `number` | yes | minimum: 0.5; maximum: 4; default: 1.5 | The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x). | | `metadata.notes` | `string` | yes | — | Personal notes for the resume. Can be used to add any additional information or instructions for the resume. These notes are not displayed on the resume, they are only visible to the author of the resume when editing the resume. This should be a HTML-formatted string. | -| `metadata.styleRules` | `array` | no | default: [] | Structured style rules that target semantic resume sections and slots for React PDF rendering. | +| `metadata.styleRules` | `array` | yes | — | Structured style rules that target semantic resume sections and slots for React PDF rendering. | | `metadata.styleRules[]` | `any` | — | — | — | | `metadata.stylesheet` | `object` | no | — | — | | `metadata.stylesheet.mode` | `string` | yes | enum: ["legacy","semantic"] | — | diff --git a/tooling/package.json b/tooling/package.json index deea5a767..b03afa184 100644 --- a/tooling/package.json +++ b/tooling/package.json @@ -22,7 +22,7 @@ "@typescript/native-preview": "7.0.0-dev.20260707.2", "drizzle-orm": "1.0.0-rc.4", "pg": "^8.23.0", - "tsx": "^4.23.12", - "vitest": "^4.1.11" + "tsx": "^4.23.13", + "vitest": "^5.0.0" } } diff --git a/tooling/semantic-css/generate-reference.test.ts b/tooling/semantic-css/generate-reference.test.ts index 7f5a6aa53..ee023fb73 100644 --- a/tooling/semantic-css/generate-reference.test.ts +++ b/tooling/semantic-css/generate-reference.test.ts @@ -151,7 +151,7 @@ it("names every custom-section item shape by its type key", () => { expect(reference).toContain(`| \`customSections[]\` | \`${type}\` | \`${schemaName}\` |`); } expect(reference).toContain( - "| `customSections[]` | `experience` | `experienceItemSchema` | `{ id, hidden, company, position, location, period, description }` |", + "| `customSections[]` | `experience` | `experienceItemSchema` | `{ id, hidden, company, position, location, period, website, description, roles }` |", ); expect(reference).toContain( "| `customSections[].items[].company` | `string` | yes (type experience, schema experienceItemSchema at customSections[]) |",