From 1a72a84497ab6925b89f1d34a7157d89dd582798 Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Mon, 1 Sep 2025 21:03:25 -0500 Subject: [PATCH] Bump deps --- package.json | 18 +- pnpm-lock.yaml | 684 ++++++++++++++------------- src/app/config.ts | 16 +- src/camera/index.ts | 8 +- src/lens/index.ts | 8 +- src/platforms/fujifilm/simulation.ts | 4 +- src/utility/string.ts | 5 + 7 files changed, 373 insertions(+), 370 deletions(-) diff --git a/package.json b/package.json index dd6ab2f5..36c65abd 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,10 @@ "analyze": "ANALYZE=true next build" }, "dependencies": { - "@ai-sdk/openai": "^2.0.22", - "@ai-sdk/rsc": "^1.0.27", - "@aws-sdk/client-s3": "3.878.0", - "@aws-sdk/s3-request-presigner": "3.878.0", + "@ai-sdk/openai": "^2.0.23", + "@ai-sdk/rsc": "^1.0.29", + "@aws-sdk/client-s3": "3.879.0", + "@aws-sdk/s3-request-presigner": "3.879.0", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-tooltip": "^1.2.8", @@ -22,7 +22,7 @@ "@vercel/analytics": "^1.5.0", "@vercel/blob": "^1.1.1", "@vercel/speed-insights": "^1.2.0", - "ai": "^5.0.27", + "ai": "^5.0.29", "camelcase-keys": "^9.1.3", "clsx": "^2.1.1", "cmdk": "^1.1.1", @@ -47,14 +47,14 @@ "sonner": "^2.0.7", "swr": "^2.3.6", "ts-exif-parser": "^0.2.2", - "use-debounce": "^10.0.5", + "use-debounce": "^10.0.6", "viewerjs": "^1.11.7" }, "devDependencies": { "@eslint/eslintrc": "^3.3.1", "@next/bundle-analyzer": "15.5.2", "@next/eslint-plugin-next": "^15.5.2", - "@stylistic/eslint-plugin": "^5.2.3", + "@stylistic/eslint-plugin": "^5.3.1", "@tailwindcss/postcss": "^4.1.12", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.8.0", @@ -70,8 +70,8 @@ "eslint": "9.34.0", "eslint-config-next": "15.5.2", "eslint-plugin-react-hooks": "^5.2.0", - "jest": "^30.1.1", - "jest-environment-jsdom": "^30.1.1", + "jest": "^30.1.2", + "jest-environment-jsdom": "^30.1.2", "postcss": "8.5.6", "tailwindcss": "4.1.12", "ts-node": "^10.9.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 12e11993..58b3271e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,17 +9,17 @@ importers: .: dependencies: '@ai-sdk/openai': - specifier: ^2.0.22 - version: 2.0.22(zod@3.25.76) + specifier: ^2.0.23 + version: 2.0.23(zod@3.25.76) '@ai-sdk/rsc': - specifier: ^1.0.27 - version: 1.0.27(react@19.1.1)(zod@3.25.76) + specifier: ^1.0.29 + version: 1.0.29(react@19.1.1)(zod@3.25.76) '@aws-sdk/client-s3': - specifier: 3.878.0 - version: 3.878.0 + specifier: 3.879.0 + version: 3.879.0 '@aws-sdk/s3-request-presigner': - specifier: 3.878.0 - version: 3.878.0 + specifier: 3.879.0 + version: 3.879.0 '@radix-ui/react-dialog': specifier: ^1.1.15 version: 1.1.15(@types/react-dom@19.1.9(@types/react@19.1.12))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -48,8 +48,8 @@ importers: specifier: ^1.2.0 version: 1.2.0(next@15.5.2(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1) ai: - specifier: ^5.0.27 - version: 5.0.27(zod@3.25.76) + specifier: ^5.0.29 + version: 5.0.29(zod@3.25.76) camelcase-keys: specifier: ^9.1.3 version: 9.1.3 @@ -123,8 +123,8 @@ importers: specifier: ^0.2.2 version: 0.2.2 use-debounce: - specifier: ^10.0.5 - version: 10.0.5(react@19.1.1) + specifier: ^10.0.6 + version: 10.0.6(react@19.1.1) viewerjs: specifier: ^1.11.7 version: 1.11.7 @@ -139,8 +139,8 @@ importers: specifier: ^15.5.2 version: 15.5.2 '@stylistic/eslint-plugin': - specifier: ^5.2.3 - version: 5.2.3(eslint@9.34.0(jiti@2.5.1)) + specifier: ^5.3.1 + version: 5.3.1(eslint@9.34.0(jiti@2.5.1)) '@tailwindcss/postcss': specifier: ^4.1.12 version: 4.1.12 @@ -187,11 +187,11 @@ importers: specifier: ^5.2.0 version: 5.2.0(eslint@9.34.0(jiti@2.5.1)) jest: - specifier: ^30.1.1 - version: 30.1.1(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) + specifier: ^30.1.2 + version: 30.1.2(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) jest-environment-jsdom: - specifier: ^30.1.1 - version: 30.1.1 + specifier: ^30.1.2 + version: 30.1.2 postcss: specifier: 8.5.6 version: 8.5.6 @@ -216,8 +216,8 @@ packages: peerDependencies: zod: ^3.25.76 || ^4 - '@ai-sdk/openai@2.0.22': - resolution: {integrity: sha512-qjSIPL5+LNM9flcBPeR64ZWeAZdYg4XWkAK34H3FaY61dSbuIaeqFPSzmQUrxotVcphAzgfL5tuYRqRYP2ZYyg==} + '@ai-sdk/openai@2.0.23': + resolution: {integrity: sha512-uOXk8HzmMUoCmD0JMX/Y1HC/ABOR/Jza2Z2rkCaJISDYz3fp5pnb6eNjcPRL48JSMzRAGp9UP5p0OpxS06IJZg==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 @@ -232,8 +232,8 @@ packages: resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} engines: {node: '>=18'} - '@ai-sdk/rsc@1.0.27': - resolution: {integrity: sha512-2lD0pgt1EVAdkrvNgOHtbfeV9EU4CdKsCiFYcVfqUaqL44f5pJ+GmaM5jTX45LP9BPA7JB10NKENrS1lScRKBg==} + '@ai-sdk/rsc@1.0.29': + resolution: {integrity: sha512-LbJXdV41yuA+chJBTZkwpcCdek/RISmBvDruHyicdHecAOWwklXTGUvI+Bu1xlHh8pOatTNH/T4Wd9+UsS/YWw==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -290,44 +290,44 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.878.0': - resolution: {integrity: sha512-hcHAX56qN5o7fYCxNsKNu+7AMgEmJN1EoUVBr4dDtqP6HebUuRF+XaF1iHNEDZC7Ucd/eimJZquxVDQFb9IMZA==} + '@aws-sdk/client-s3@3.879.0': + resolution: {integrity: sha512-1bD2Do/OdCIzl72ncHKYamDhPijUErLYpuLvciyYD4Ywt4cVLHjWtVIqb22XOOHYYHE3NqHMd4uRhvXMlsBRoQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/client-sso@3.876.0': - resolution: {integrity: sha512-Vf0PMF7HVpvllrfPODnBZmlz6kT/y2AvOt1RQG3+qD0VrHWzShc5nwgRZ+yyP3xkKVhZsQ3sJapfZTFnjqMOYA==} + '@aws-sdk/client-sso@3.879.0': + resolution: {integrity: sha512-+Pc3OYFpRYpKLKRreovPM63FPPud1/SF9vemwIJfz6KwsBCJdvg7vYD1xLSIp5DVZLeetgf4reCyAA5ImBfZuw==} engines: {node: '>=18.0.0'} - '@aws-sdk/core@3.876.0': - resolution: {integrity: sha512-sVFBFkdoPOPyY13NaXO1E/R9O5J6ixzHnnRbqrbXYM2QQgLNPTKIiRtmVEuVoFV9YULg+/aKm7caix8m468y9w==} + '@aws-sdk/core@3.879.0': + resolution: {integrity: sha512-AhNmLCrx980LsK+SfPXGh7YqTyZxsK0Qmy18mWmkfY0TSq7WLaSDB5zdQbgbnQCACCHy8DUYXbi4KsjlIhv3PA==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-env@3.876.0': - resolution: {integrity: sha512-cof7lwp2AlrAfRs0pt4W2KMS2VMBvEmpcti1UOFfSJIqkn+cyJliMJ8LHg22GI+kUexjvxdAqSbf3M7OHvEW+w==} + '@aws-sdk/credential-provider-env@3.879.0': + resolution: {integrity: sha512-JgG7A8SSbr5IiCYL8kk39Y9chdSB5GPwBorDW8V8mr19G9L+qd6ohED4fAocoNFaDnYJ5wGAHhCfSJjzcsPBVQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-http@3.876.0': - resolution: {integrity: sha512-wzmef2NBp2+X1l8D4Q8hx1G8oI3+WdvLdPev9VnVpRYZxYGRWVPl++wvCBsCn/ZL0mdWopPkhHA3kFexQhMzvg==} + '@aws-sdk/credential-provider-http@3.879.0': + resolution: {integrity: sha512-2hM5ByLpyK+qORUexjtYyDZsgxVCCUiJQZRMGkNXFEGz6zTpbjfTIWoh3zRgWHEBiqyPIyfEy50eIF69WshcuA==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-ini@3.876.0': - resolution: {integrity: sha512-JHbW6fqnJsVjGHCyko7B0NVPT1nEAPxkM3CGjUcVGsHgJBkxOLVCMQqTRyHcDdeHR2qeojlLoOHRz97xIHQjYw==} + '@aws-sdk/credential-provider-ini@3.879.0': + resolution: {integrity: sha512-07M8zfb73KmMBqVO5/V3Ea9kqDspMX0fO0kaI1bsjWI6ngnMye8jCE0/sIhmkVAI0aU709VA0g+Bzlopnw9EoQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-node@3.876.0': - resolution: {integrity: sha512-eHbNt1+Hi43e8ANnwf6toapLSxfMiyGq459y3Uh6i7NBOiWWKEsOVcgOfUC3RCoqeikxovt1tFM2cEElWUIOhg==} + '@aws-sdk/credential-provider-node@3.879.0': + resolution: {integrity: sha512-FYaAqJbnSTrVL2iZkNDj2hj5087yMv2RN2GA8DJhe7iOJjzhzRojrtlfpWeJg6IhK0sBKDH+YXbdeexCzUJvtA==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-process@3.876.0': - resolution: {integrity: sha512-SMX4OlHvspu3gF4hxe7WAnZFhxpiCye+WlBSVoWfW/i9XNhtrZS1JMr29MK34GlCTk9qO7FlRwds/Z5k7xPpHg==} + '@aws-sdk/credential-provider-process@3.879.0': + resolution: {integrity: sha512-7r360x1VyEt35Sm1JFOzww2WpnfJNBbvvnzoyLt7WRfK0S/AfsuWhu5ltJ80QvJ0R3AiSNbG+q/btG2IHhDYPQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-sso@3.876.0': - resolution: {integrity: sha512-iP5dz9XqwePbgnh7Bdrq5e1319JpCRKLyomUfHH1XVeXkIHmwIJdmTj1Upeo1J8L/5cLHmhXAN6CTN11bLo8SA==} + '@aws-sdk/credential-provider-sso@3.879.0': + resolution: {integrity: sha512-gd27B0NsgtKlaPNARj4IX7F7US5NuU691rGm0EUSkDsM7TctvJULighKoHzPxDQlrDbVI11PW4WtKS/Zg5zPlQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-web-identity@3.876.0': - resolution: {integrity: sha512-q/XSCP1uae5aB9veM8zcm6Gqu6A4ckX9ZbhHgCzURXVJDwp+nINW1hM9vppMjGw3ND9Ibx/adR+KfTI0TDMzqw==} + '@aws-sdk/credential-provider-web-identity@3.879.0': + resolution: {integrity: sha512-Jy4uPFfGzHk1Mxy+/Wr43vuw9yXsE2yiF4e4598vc3aJfO0YtA2nSfbKD3PNKRORwXbeKqWPfph9SCKQpWoxEg==} engines: {node: '>=18.0.0'} '@aws-sdk/middleware-bucket-endpoint@3.873.0': @@ -338,8 +338,8 @@ packages: resolution: {integrity: sha512-GIqoc8WgRcf/opBOZXFLmplJQKwOMjiOMmDz9gQkaJ8FiVJoAp8EGVmK2TOWZMQUYsavvHYsHaor5R2xwPoGVg==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.878.0': - resolution: {integrity: sha512-EQiA7CML75UWoDH7+9NTIX8+U6mA9ZaLv0a8AoCbem+mqPXRHnOnALc76IRTyKpQNhKkBb/kiItXAl6OcrOGZQ==} + '@aws-sdk/middleware-flexible-checksums@3.879.0': + resolution: {integrity: sha512-U1rcWToy2rlQPQLsx5h73uTC1XYo/JpnlJGCc3Iw7b1qrK8Mke4+rgMPKCfnXELD5TTazGrbT03frxH4Y1Ycvw==} engines: {node: '>=18.0.0'} '@aws-sdk/middleware-host-header@3.873.0': @@ -358,36 +358,36 @@ packages: resolution: {integrity: sha512-OtgY8EXOzRdEWR//WfPkA/fXl0+WwE8hq0y9iw2caNyKPtca85dzrrZWnPqyBK/cpImosrpR1iKMYr41XshsCg==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-sdk-s3@3.876.0': - resolution: {integrity: sha512-h+TDs9EKAfXnrkogQpQz3o11zvs6Vh9+ehxyd35OcM7evnDeoV4GFjjnAKq+MxbBk/5Ewnvng+d6/WQDvMbj7Q==} + '@aws-sdk/middleware-sdk-s3@3.879.0': + resolution: {integrity: sha512-ZTpLr2AbZcCsEzu18YCtB8Tp8tjAWHT0ccfwy3HiL6g9ncuSMW+7BVi1hDYmBidFwpPbnnIMtM0db3pDMR6/WA==} engines: {node: '>=18.0.0'} '@aws-sdk/middleware-ssec@3.873.0': resolution: {integrity: sha512-AF55J94BoiuzN7g3hahy0dXTVZahVi8XxRBLgzNp6yQf0KTng+hb/V9UQZVYY1GZaDczvvvnqC54RGe9OZZ9zQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-user-agent@3.876.0': - resolution: {integrity: sha512-FR+8INfnbNv32QDQ5szxkWX6mB/QgezfNyx8LnAh1ErISZMmEFBxXXir+ZOfuV8vsmal1a6cy9qmnMNDaNnaNQ==} + '@aws-sdk/middleware-user-agent@3.879.0': + resolution: {integrity: sha512-DDSV8228lQxeMAFKnigkd0fHzzn5aauZMYC3CSj6e5/qE7+9OwpkUcjHfb7HZ9KWG6L2/70aKZXHqiJ4xKhOZw==} engines: {node: '>=18.0.0'} - '@aws-sdk/nested-clients@3.876.0': - resolution: {integrity: sha512-R4TZrkM2gUElTsotk8mt3y7iLG8TNi1LL1wgVdEEWSLOYTaFyglGdoNBMtEeP7lmXilaTy00AbYF6BakJvSTHg==} + '@aws-sdk/nested-clients@3.879.0': + resolution: {integrity: sha512-7+n9NpIz9QtKYnxmw1fHi9C8o0GrX8LbBR4D50c7bH6Iq5+XdSuL5AFOWWQ5cMD0JhqYYJhK/fJsVau3nUtC4g==} engines: {node: '>=18.0.0'} '@aws-sdk/region-config-resolver@3.873.0': resolution: {integrity: sha512-q9sPoef+BBG6PJnc4x60vK/bfVwvRWsPgcoQyIra057S/QGjq5VkjvNk6H8xedf6vnKlXNBwq9BaANBXnldUJg==} engines: {node: '>=18.0.0'} - '@aws-sdk/s3-request-presigner@3.878.0': - resolution: {integrity: sha512-i90yClfuaaPERnmCGb+yAmBtCrbHssIgVMQsnz9Q5RUBEcgRObKDAXe/pBQowEvNeObPYSUzgLjVHcv/FGhpyw==} + '@aws-sdk/s3-request-presigner@3.879.0': + resolution: {integrity: sha512-WNUrY4UW1ZAkBiSq9HnhJcG/1NdrEy37DDxqE8u0OdIZHhbgU1x1r4iXgQssAZhV6D+Ib70oiQGtPSH/lXeMKg==} engines: {node: '>=18.0.0'} - '@aws-sdk/signature-v4-multi-region@3.876.0': - resolution: {integrity: sha512-OMDcuaVlC2rbze92w4QcNfuEA0IeT2GsT1ByZCwe+Y9tZwxzj7fCiOOU0UmJfa+juuQ/YBzVYxnkrkz3Rg6DEw==} + '@aws-sdk/signature-v4-multi-region@3.879.0': + resolution: {integrity: sha512-MDsw0EWOHyKac75X3gD8tLWtmPuRliS/s4IhWRhsdDCU13wewHIs5IlA5B65kT6ISf49yEIalEH3FHUSVqdmIQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/token-providers@3.876.0': - resolution: {integrity: sha512-iU08kaQbhXnY0CC2TBcr7y/2PqPwZP2CTWX/Rbq0NvhOyteikfh7ASC+bRfLUp0XMSHKvSb+w2dh8a0lvx4oHg==} + '@aws-sdk/token-providers@3.879.0': + resolution: {integrity: sha512-47J7sCwXdnw9plRZNAGVkNEOlSiLb/kR2slnDIHRK9NB/ECKsoqgz5OZQJ9E2f0yqOs8zSNJjn3T01KxpgW8Qw==} engines: {node: '>=18.0.0'} '@aws-sdk/types@3.862.0': @@ -398,8 +398,8 @@ packages: resolution: {integrity: sha512-qag+VTqnJWDn8zTAXX4wiVioa0hZDQMtbZcGRERVnLar4/3/VIKBhxX2XibNQXFu1ufgcRn4YntT/XEPecFWcg==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-endpoints@3.873.0': - resolution: {integrity: sha512-YByHrhjxYdjKRf/RQygRK1uh0As1FIi9+jXTcIEX/rBgN8mUByczr2u4QXBzw7ZdbdcOBMOkPnLRjNOWW1MkFg==} + '@aws-sdk/util-endpoints@3.879.0': + resolution: {integrity: sha512-aVAJwGecYoEmbEFju3127TyJDF9qJsKDUUTRMDuS8tGn+QiWQFnfInmbt+el9GU1gEJupNTXV+E3e74y51fb7A==} engines: {node: '>=18.0.0'} '@aws-sdk/util-format-url@3.873.0': @@ -413,8 +413,8 @@ packages: '@aws-sdk/util-user-agent-browser@3.873.0': resolution: {integrity: sha512-AcRdbK6o19yehEcywI43blIBhOCSo6UgyWcuOJX5CFF8k39xm1ILCjQlRRjchLAxWrm0lU0Q7XV90RiMMFMZtA==} - '@aws-sdk/util-user-agent-node@3.876.0': - resolution: {integrity: sha512-/ZIaeUt60JBdI0mNc7sZ8v3Tuzp8Pbe4gIAYnppGyF4KV8QA+Yu8tp2bGHfkKn150t1uvQ6P/4CwFfoGF34dzg==} + '@aws-sdk/util-user-agent-node@3.879.0': + resolution: {integrity: sha512-A5KGc1S+CJRzYnuxJQQmH1BtGsz46AgyHkqReKfGiNQA8ET/9y9LQ5t2ABqnSBHHIh3+MiCcQSkUZ0S3rTodrQ==} engines: {node: '>=18.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -855,12 +855,12 @@ packages: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - '@jest/console@30.1.1': - resolution: {integrity: sha512-f7TGqR1k4GtN5pyFrKmq+ZVndesiwLU33yDpJIGMS9aW+j6hKjue7ljeAdznBsH9kAnxUWe2Y+Y3fLV/FJt3gA==} + '@jest/console@30.1.2': + resolution: {integrity: sha512-BGMAxj8VRmoD0MoA/jo9alMXSRoqW8KPeqOfEo1ncxnRLatTBCpRoOwlwlEMdudp68Q6WSGwYrrLtTGOh8fLzw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/core@30.1.1': - resolution: {integrity: sha512-3ncU9peZ3D2VdgRkdZtUceTrDgX5yiDRwAFjtxNfU22IiZrpVWlv/FogzDLYSJQptQGfFo3PcHK86a2oG6WUGg==} + '@jest/core@30.1.2': + resolution: {integrity: sha512-iSLOojkYgM7Lw0FF5egecZh+CiLWe4xICM3WOMjFbewhbWn+ixEoPwY7oK9jSCnLLphMFAjussXp7CE3tHa5EA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -872,8 +872,8 @@ packages: resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/environment-jsdom-abstract@30.1.1': - resolution: {integrity: sha512-d7pP9SeIOI6qnrNIS/ds1hlS9jpqh8EywHK0dALSLODZKo2QEGnDNvnPvhRKI0FHWDnE2EMl8CDTP0jM9lhlOA==} + '@jest/environment-jsdom-abstract@30.1.2': + resolution: {integrity: sha512-u8kTh/ZBl97GOmnGJLYK/1GuwAruMC4hoP6xuk/kwltmVWsA9u/6fH1/CsPVGt2O+Wn2yEjs8n1B1zZJ62Cx0w==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: canvas: ^3.0.0 @@ -882,24 +882,24 @@ packages: canvas: optional: true - '@jest/environment@30.1.1': - resolution: {integrity: sha512-yWHbU+3j7ehQE+NRpnxRvHvpUhoohIjMePBbIr8lfe0cWVb0WeTf80DNux1GPJa18CDHiIU5DtksGUfxcDE+Rw==} + '@jest/environment@30.1.2': + resolution: {integrity: sha512-N8t1Ytw4/mr9uN28OnVf0SYE2dGhaIxOVYcwsf9IInBKjvofAjbFRvedvBBlyTYk2knbJTiEjEJ2PyyDIBnd9w==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/expect-utils@30.0.5': resolution: {integrity: sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/expect-utils@30.1.1': - resolution: {integrity: sha512-5YUHr27fpJ64dnvtu+tt11ewATynrHkGYD+uSFgRr8V2eFJis/vEXgToyLwccIwqBihVfz9jwio+Zr1ab1Zihw==} + '@jest/expect-utils@30.1.2': + resolution: {integrity: sha512-HXy1qT/bfdjCv7iC336ExbqqYtZvljrV8odNdso7dWK9bSeHtLlvwWWC3YSybSPL03Gg5rug6WLCZAZFH72m0A==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/expect@30.1.1': - resolution: {integrity: sha512-3vHIHsF+qd3D8FU2c7U5l3rg1fhDwAYcGyHyZAi94YIlTwcJ+boNhRyJf373cl4wxbOX+0Q7dF40RTrTFTSuig==} + '@jest/expect@30.1.2': + resolution: {integrity: sha512-tyaIExOwQRCxPCGNC05lIjWJztDwk2gPDNSDGg1zitXJJ8dC3++G/CRjE5mb2wQsf89+lsgAgqxxNpDLiCViTA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/fake-timers@30.1.1': - resolution: {integrity: sha512-fK/25dNgBNYPw3eLi2CRs57g1H04qBAFNMsUY3IRzkfx/m4THe0E1zF+yGQBOMKKc2XQVdc9EYbJ4hEm7/2UtA==} + '@jest/fake-timers@30.1.2': + resolution: {integrity: sha512-Beljfv9AYkr9K+ETX9tvV61rJTY706BhBUtiaepQHeEGfe0DbpvUA5Z3fomwc5Xkhns6NWrcFDZn+72fLieUnA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/get-type@30.0.1': @@ -910,16 +910,16 @@ packages: resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/globals@30.1.1': - resolution: {integrity: sha512-NNUUkHT2TU/xztZl6r1UXvJL+zvCwmZsQDmK69fVHHcB9fBtlu3FInnzOve/ZoyKnWY8JXWJNT+Lkmu1+ubXUA==} + '@jest/globals@30.1.2': + resolution: {integrity: sha512-teNTPZ8yZe3ahbYnvnVRDeOjr+3pu2uiAtNtrEsiMjVPPj+cXd5E/fr8BL7v/T7F31vYdEHrI5cC/2OoO/vM9A==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/pattern@30.0.1': resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/reporters@30.1.1': - resolution: {integrity: sha512-Hb2Bq80kahOC6Sv2waEaH1rEU6VdFcM6WHaRBWQF9tf30+nJHxhl/Upbgo9+25f0mOgbphxvbwSMjSgy9gW/FA==} + '@jest/reporters@30.1.2': + resolution: {integrity: sha512-8Jd7y3DUFBn8dG/bNJ2blmaJmT2Up74WAXkUJsbL0OuEZHDRRMnS4JmRtLArW2d0H5k8RDdhNN7j70Ki16Zr5g==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -931,24 +931,24 @@ packages: resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/snapshot-utils@30.1.1': - resolution: {integrity: sha512-TkVBc9wuN22TT8hESRFmjjg/xIMu7z0J3UDYtIRydzCqlLPTB7jK1DDBKdnTUZ4zL3z3rnPpzV6rL1Uzh87sXg==} + '@jest/snapshot-utils@30.1.2': + resolution: {integrity: sha512-vHoMTpimcPSR7OxS2S0V1Cpg8eKDRxucHjoWl5u4RQcnxqQrV3avETiFpl8etn4dqxEGarBeHbIBety/f8mLXw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/source-map@30.0.1': resolution: {integrity: sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/test-result@30.1.1': - resolution: {integrity: sha512-bMdj7fNu8iZuBPSnbVir5ezvWmVo4jrw7xDE+A33Yb3ENCoiJK9XgOLgal+rJ9XSKjsL7aPUMIo87zhN7I5o2w==} + '@jest/test-result@30.1.2': + resolution: {integrity: sha512-mpKFr8DEpfG5aAfQYA5+3KneAsRBXhF7zwtwqT4UeYBckoOPD1MzVxU6gDHwx4gRB7I1MKL6owyJzr8QRq402Q==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/test-sequencer@30.1.1': - resolution: {integrity: sha512-yruRdLXSA3HYD/MTNykgJ6VYEacNcXDFRMqKVAwlYegmxICUiT/B++CNuhJnYJzKYks61iYnjVsMwbUqmmAYJg==} + '@jest/test-sequencer@30.1.2': + resolution: {integrity: sha512-v3vawuj2LC0XjpzF4q0pI0ZlQvMBDNqfRZZ2yHqcsGt7JEYsDK2L1WwrybEGlnOaEvnDFML/Y9xWLiW47Dda8A==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/transform@30.1.1': - resolution: {integrity: sha512-PHIA2AbAASBfk6evkNifvmx9lkOSkmvaQoO6VSpuL8+kQqDMHeDoJ7RU3YP1wWAMD7AyQn9UL5iheuFYCC4lqQ==} + '@jest/transform@30.1.2': + resolution: {integrity: sha512-UYYFGifSgfjujf1Cbd3iU/IQoSd6uwsj8XHj5DSDf5ERDcWMdJOPTkHWXj4U+Z/uMagyOQZ6Vne8C4nRIrCxqA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/types@30.0.5': @@ -1404,8 +1404,8 @@ packages: resolution: {integrity: sha512-viuHMxBAqydkB0AfWwHIdwf/PRH2z5KHGUzqyRtS/Wv+n3IHI993Sk76VCA7dD/+GzgGOmlJDITfPcJC1nIVIw==} engines: {node: '>=18.0.0'} - '@smithy/core@3.8.0': - resolution: {integrity: sha512-EYqsIYJmkR1VhVE9pccnk353xhs+lB6btdutJEtsp7R055haMJp2yE16eSxw8fv+G0WUY6vqxyYOP8kOqawxYQ==} + '@smithy/core@3.9.0': + resolution: {integrity: sha512-B/GknvCfS3llXd/b++hcrwIuqnEozQDnRL4sBmOac5/z/dr0/yG1PURNPOyU4Lsiy1IyTj8scPxVqRs5dYWf6A==} engines: {node: '>=18.0.0'} '@smithy/credential-provider-imds@4.0.7': @@ -1468,12 +1468,12 @@ packages: resolution: {integrity: sha512-l1jlNZoYzoCC7p0zCtBDE5OBXZ95yMKlRlftooE5jPWQn4YBPLgsp+oeHp7iMHaTGoUdFqmHOPa8c9G3gBsRpQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@4.1.18': - resolution: {integrity: sha512-ZhvqcVRPZxnZlokcPaTwb+r+h4yOIOCJmx0v2d1bpVlmP465g3qpVSf7wxcq5zZdu4jb0H4yIMxuPwDJSQc3MQ==} + '@smithy/middleware-endpoint@4.1.19': + resolution: {integrity: sha512-EAlEPncqo03siNZJ9Tm6adKCQ+sw5fNU8ncxWwaH0zTCwMPsgmERTi6CEKaermZdgJb+4Yvh0NFm36HeO4PGgQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.1.19': - resolution: {integrity: sha512-X58zx/NVECjeuUB6A8HBu4bhx72EoUz+T5jTMIyeNKx2lf+Gs9TmWPNNkH+5QF0COjpInP/xSpJGJ7xEnAklQQ==} + '@smithy/middleware-retry@4.1.20': + resolution: {integrity: sha512-T3maNEm3Masae99eFdx1Q7PIqBBEVOvRd5hralqKZNeIivnoGNx5OFtI3DiZ5gCjUkl0mNondlzSXeVxkinh7Q==} engines: {node: '>=18.0.0'} '@smithy/middleware-serde@4.0.9': @@ -1520,8 +1520,8 @@ packages: resolution: {integrity: sha512-mARDSXSEgllNzMw6N+mC+r1AQlEBO3meEAkR/UlfAgnMzJUB3goRBWgip1EAMG99wh36MDqzo86SfIX5Y+VEaw==} engines: {node: '>=18.0.0'} - '@smithy/smithy-client@4.4.10': - resolution: {integrity: sha512-iW6HjXqN0oPtRS0NK/zzZ4zZeGESIFcxj2FkWed3mcK8jdSdHzvnCKXSjvewESKAgGKAbJRA+OsaqKhkdYRbQQ==} + '@smithy/smithy-client@4.5.0': + resolution: {integrity: sha512-ZSdE3vl0MuVbEwJBxSftm0J5nL/gw76xp5WF13zW9cN18MFuFXD5/LV0QD8P+sCU5bSWGyy6CTgUupE1HhOo1A==} engines: {node: '>=18.0.0'} '@smithy/types@4.3.2': @@ -1556,12 +1556,12 @@ packages: resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-browser@4.0.26': - resolution: {integrity: sha512-xgl75aHIS/3rrGp7iTxQAOELYeyiwBu+eEgAk4xfKwJJ0L8VUjhO2shsDpeil54BOFsqmk5xfdesiewbUY5tKQ==} + '@smithy/util-defaults-mode-browser@4.0.27': + resolution: {integrity: sha512-i/Fu6AFT5014VJNgWxKomBJP/GB5uuOsM4iHdcmplLm8B1eAqnRItw4lT2qpdO+mf+6TFmf6dGcggGLAVMZJsQ==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-node@4.0.26': - resolution: {integrity: sha512-z81yyIkGiLLYVDetKTUeCZQ8x20EEzvQjrqJtb/mXnevLq2+w3XCEWTJ2pMp401b6BkEkHVfXb/cROBpVauLMQ==} + '@smithy/util-defaults-mode-node@4.0.27': + resolution: {integrity: sha512-3W0qClMyxl/ELqTA39aNw1N+pN0IjpXT7lPFvZ8zTxqVFP7XCpACB9QufmN4FQtd39xbgS7/Lekn7LmDa63I5w==} engines: {node: '>=18.0.0'} '@smithy/util-endpoints@3.0.7': @@ -1603,8 +1603,8 @@ packages: '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} - '@stylistic/eslint-plugin@5.2.3': - resolution: {integrity: sha512-oY7GVkJGVMI5benlBDCaRrSC1qPasafyv5dOBLLv5MTilMGnErKhO6ziEfodDDIZbo5QxPUNW360VudJOFODMw==} + '@stylistic/eslint-plugin@5.3.1': + resolution: {integrity: sha512-Ykums1VYonM0TgkD0VteVq9mrlO2FhF48MDJnPyv3MktIB2ydtuhlO0AfWm7xnW1kyf5bjOqA6xc7JjviuVTxg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=9.0.0' @@ -1857,6 +1857,10 @@ packages: resolution: {integrity: sha512-ArDdaOllnCj3yn/lzKn9s0pBQYmmyme/v1HbGIGB0GB/knFI3fWMHloC+oYTJW46tVbYnGKTMDK4ah1sC2v0Kg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.41.0': + resolution: {integrity: sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.39.0': resolution: {integrity: sha512-ndWdiflRMvfIgQRpckQQLiB5qAKQ7w++V4LlCHwp62eym1HLB/kw7D9f2e8ytONls/jt89TEasgvb+VwnRprsw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2055,8 +2059,8 @@ packages: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} - ai@5.0.27: - resolution: {integrity: sha512-V7I9Rvrap5+3ozAjOrETA5Mv9Z1LmQobyY13U88IkFRahFp0xrEwjvYTwjQa4q5lPgLxwKgbIZRLnZSbUQwnUg==} + ai@5.0.29: + resolution: {integrity: sha512-jA/d6X5hn3r/PxgZjwzDUMJiEkLBIVVD2gcbpcT/FD4MSLxm5sn6fH1y2VFXVgBEd95mNzQ8ALQubysc6E8Y9g==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 @@ -2166,8 +2170,8 @@ packages: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} - babel-jest@30.1.1: - resolution: {integrity: sha512-1bZfC/V03qBCzASvZpNFhx3Ouj6LgOd4KFJm4br/fYOS+tSSvVCE61QmcAVbMTwq/GoB7KN4pzGMoyr9cMxSvQ==} + babel-jest@30.1.2: + resolution: {integrity: sha512-IQCus1rt9kaSh7PQxLYRY5NmkNrNlU2TpabzwV7T2jljnpdHOcmnYYv8QmE04Li4S3a2Lj8/yXyET5pBarPr6g==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: '@babel/core': ^7.11.0 @@ -2688,8 +2692,8 @@ packages: resolution: {integrity: sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - expect@30.1.1: - resolution: {integrity: sha512-OKe7cdic4qbfWd/CcgwJvvCrNX2KWfuMZee9AfJHL1gTYmvqjBjZG1a2NwfhspBzxzlXwsN75WWpKTYfsJpBxg==} + expect@30.1.2: + resolution: {integrity: sha512-xvHszRavo28ejws8FpemjhwswGj4w/BetHIL8cU49u4sGyXDw2+p3YbeDbj6xzlxi6kWTjIRSTJ+9sNXPnF0Zg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} extract-colors@4.2.1: @@ -3131,12 +3135,12 @@ packages: resolution: {integrity: sha512-bGl2Ntdx0eAwXuGpdLdVYVr5YQHnSZlQ0y9HVDu565lCUAe9sj6JOtBbMmBBikGIegne9piDDIOeiLVoqTkz4A==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-circus@30.1.1: - resolution: {integrity: sha512-M3Vd4x5wD7eSJspuTvRF55AkOOBndRxgW3gqQBDlFvbH3X+ASdi8jc+EqXEeAFd/UHulVYIlC4XKJABOhLw6UA==} + jest-circus@30.1.2: + resolution: {integrity: sha512-pyqgRv00fPbU3QBjN9I5QRd77eCWA19NA7BLgI1veFvbUIFpeDCKbnG1oyRr6q5/jPEW2zDfqZ/r6fvfE85vrA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-cli@30.1.1: - resolution: {integrity: sha512-xm9llxuh5OoI5KZaYzlMhklryHBwg9LZy/gEaaMlXlxb+cZekGNzukU0iblbDo3XOBuN6N0CgK4ykgNRYSEb6g==} + jest-cli@30.1.2: + resolution: {integrity: sha512-Q7H6GGo/0TBB8Mhm3Ab7KKJHn6GeMVff+/8PVCQ7vXXahvr5sRERnNbxuVJAMiVY2JQm5roA7CHYOYlH+gzmUg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: @@ -3145,8 +3149,8 @@ packages: node-notifier: optional: true - jest-config@30.1.1: - resolution: {integrity: sha512-xuPGUGDw+9fPPnGmddnLnHS/mhKUiJOW7K65vErYmglEPKq65NKwSRchkQ7iv6gqjs2l+YNEsAtbsplxozdOWg==} + jest-config@30.1.2: + resolution: {integrity: sha512-gCuBeE/cksjQ3e1a8H4YglZJuVPcnLZQK9jC70E6GbkHNQKPasnOO+r9IYdsUbAekb6c7eVRR8laGLMF06gMqg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: '@types/node': '*' @@ -3164,8 +3168,8 @@ packages: resolution: {integrity: sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-diff@30.1.1: - resolution: {integrity: sha512-LUU2Gx8EhYxpdzTR6BmjL1ifgOAQJQELTHOiPv9KITaKjZvJ9Jmgigx01tuZ49id37LorpGc9dPBPlXTboXScw==} + jest-diff@30.1.2: + resolution: {integrity: sha512-4+prq+9J61mOVXCa4Qp8ZjavdxzrWQXrI80GNxP8f4tkI2syPuPrJgdRPZRrfUTRvIoUwcmNLbqEJy9W800+NQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-docblock@30.0.1: @@ -3176,8 +3180,8 @@ packages: resolution: {integrity: sha512-A+9FKzxPluqogNahpCv04UJvcZ9B3HamqpDNWNKDjtxVRYB8xbZLFuCr8JAJFpNp83CA0anGQFlpQna9Me+/tQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-environment-jsdom@30.1.1: - resolution: {integrity: sha512-fInyXsHSuPaERmRiub4V6jl6KERXowGqY8AISJrXZjOq7vdP46qecm+GnTngjcUPeHFqrxp1PfP0XuFfKTzA2A==} + jest-environment-jsdom@30.1.2: + resolution: {integrity: sha512-LXsfAh5+mDTuXDONGl1ZLYxtJEaS06GOoxJb2arcJTjIfh1adYg8zLD8f6P0df8VmjvCaMrLmc1PgHUI/YUTbg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: canvas: ^3.0.0 @@ -3185,8 +3189,8 @@ packages: canvas: optional: true - jest-environment-node@30.1.1: - resolution: {integrity: sha512-IaMoaA6saxnJimqCppUDqKck+LKM0Jg+OxyMUIvs1yGd2neiC22o8zXo90k04+tO+49OmgMR4jTgM5e4B0S62Q==} + jest-environment-node@30.1.2: + resolution: {integrity: sha512-w8qBiXtqGWJ9xpJIA98M0EIoq079GOQRQUyse5qg1plShUCQ0Ek1VTTcczqKrn3f24TFAgFtT+4q3aOXvjbsuA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-haste-map@30.1.0: @@ -3201,8 +3205,8 @@ packages: resolution: {integrity: sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-matcher-utils@30.1.1: - resolution: {integrity: sha512-SuH2QVemK48BNTqReti6FtjsMPFsSOD/ZzRxU1TttR7RiRsRSe78d03bb4Cx6D4bQC/80Q8U4VnaaAH9FlbZ9w==} + jest-matcher-utils@30.1.2: + resolution: {integrity: sha512-7ai16hy4rSbDjvPTuUhuV8nyPBd6EX34HkBsBcBX2lENCuAQ0qKCPb/+lt8OSWUa9WWmGYLy41PrEzkwRwoGZQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-message-util@30.0.5: @@ -3230,24 +3234,24 @@ packages: resolution: {integrity: sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-resolve-dependencies@30.1.1: - resolution: {integrity: sha512-tRtaaoH8Ws1Gn1o/9pedt19dvVgr81WwdmvJSP9Ow3amOUOP2nN9j94u5jC9XlIfa2Q1FQKIWWQwL4ajqsjCGQ==} + jest-resolve-dependencies@30.1.2: + resolution: {integrity: sha512-HJjyoaedY4wrwda+eqvgjbwFykrAnQEmhuT0bMyOV3GQIyLPcunZcjfkm77Zr11ujwl34ySdc4qYnm7SG75TjA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-resolve@30.1.0: resolution: {integrity: sha512-hASe7D/wRtZw8Cm607NrlF7fi3HWC5wmA5jCVc2QjQAB2pTwP9eVZILGEi6OeSLNUtE1zb04sXRowsdh5CUjwA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-runner@30.1.1: - resolution: {integrity: sha512-ATe6372SOfJvCRExtCAr06I4rGujwFdKg44b6i7/aOgFnULwjxzugJ0Y4AnG+jeSeQi8dU7R6oqLGmsxRUbErQ==} + jest-runner@30.1.2: + resolution: {integrity: sha512-eu9AzpDY/QV+7NuMg6fZMpQ7M24cBkl5dyS1Xj7iwDPDriOmLUXR8rLojESibcIX+sCDTO4KvUeaxWCH1fbTvg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-runtime@30.1.1: - resolution: {integrity: sha512-7sOyR0Oekw4OesQqqBHuYJRB52QtXiq0NNgLRzVogiMSxKCMiliUd6RrXHCnG5f12Age/ggidCBiQftzcA9XKw==} + jest-runtime@30.1.2: + resolution: {integrity: sha512-zU02si+lAITgyRmVRgJn/AB4cnakq8+o7bP+5Z+N1A4r2mq40zGbmrg3UpYQWCkeim17tx8w1Tnmt6tQ6y9PGA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-snapshot@30.1.1: - resolution: {integrity: sha512-7/iBEzoJqEt2TjkQY+mPLHP8cbPhLReZVkkxjTMzIzoTC4cZufg7HzKo/n9cIkXKj2LG0x3mmBHsZto+7TOmFg==} + jest-snapshot@30.1.2: + resolution: {integrity: sha512-4q4+6+1c8B6Cy5pGgFvjDy/Pa6VYRiGu0yQafKkJ9u6wQx4G5PqI2QR6nxTl43yy7IWsINwz6oT4o6tD12a8Dg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-util@30.0.5: @@ -3258,16 +3262,16 @@ packages: resolution: {integrity: sha512-7P3ZlCFW/vhfQ8pE7zW6Oi4EzvuB4sgR72Q1INfW9m0FGo0GADYlPwIkf4CyPq7wq85g+kPMtPOHNAdWHeBOaA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-watcher@30.1.1: - resolution: {integrity: sha512-CrAQ73LlaS6KGQQw6NBi71g7qvP7scy+4+2c0jKX6+CWaYg85lZiig5nQQVTsS5a5sffNPL3uxXnaE9d7v9eQg==} + jest-watcher@30.1.2: + resolution: {integrity: sha512-MtoGuEgqsBM8Jkn52oEj+mXLtF94+njPlHI5ydfduZL5MHrTFr14ZG1CUX1xAbY23dbSZCCEkEPhBM3cQd12Jg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-worker@30.1.0: resolution: {integrity: sha512-uvWcSjlwAAgIu133Tt77A05H7RIk3Ho8tZL50bQM2AkvLdluw9NG48lRCl3Dt+MOH719n/0nnb5YxUwcuJiKRA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest@30.1.1: - resolution: {integrity: sha512-yC3JvpP/ZcAZX5rYCtXO/g9k6VTCQz0VFE2v1FpxytWzUqfDtu0XL/pwnNvptzYItvGwomh1ehomRNMOyhCJKw==} + jest@30.1.2: + resolution: {integrity: sha512-iLreJmUWdANLD2UIbebrXxQqU9jIxv2ahvrBNfff55deL9DtVxm8ZJBLk/kmn0AQ+FyCTrNSlGbMdTgSasldYA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: @@ -4336,8 +4340,8 @@ packages: '@types/react': optional: true - use-debounce@10.0.5: - resolution: {integrity: sha512-Q76E3lnIV+4YT9AHcrHEHYmAd9LKwUAbPXDm7FlqVGDHiSOhX3RDjT8dm0AxbJup6WgOb1YEcKyCr11kBJR5KQ==} + use-debounce@10.0.6: + resolution: {integrity: sha512-C5OtPyhAZgVoteO9heXMTdW7v/IbFI+8bSVKYCJrSmiWWCLsbUxiBSp4t9v0hNBTGY97bT72ydDIDyGSFWfwXg==} engines: {node: '>= 16.0.0'} peerDependencies: react: '*' @@ -4520,7 +4524,7 @@ snapshots: '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) zod: 3.25.76 - '@ai-sdk/openai@2.0.22(zod@3.25.76)': + '@ai-sdk/openai@2.0.23(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) @@ -4537,11 +4541,11 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/rsc@1.0.27(react@19.1.1)(zod@3.25.76)': + '@ai-sdk/rsc@1.0.29(react@19.1.1)(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) - ai: 5.0.27(zod@3.25.76) + ai: 5.0.29(zod@3.25.76) jsondiffpatch: 0.6.0 react: 19.1.1 optionalDependencies: @@ -4617,32 +4621,32 @@ snapshots: '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.878.0': + '@aws-sdk/client-s3@3.879.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.876.0 - '@aws-sdk/credential-provider-node': 3.876.0 + '@aws-sdk/core': 3.879.0 + '@aws-sdk/credential-provider-node': 3.879.0 '@aws-sdk/middleware-bucket-endpoint': 3.873.0 '@aws-sdk/middleware-expect-continue': 3.873.0 - '@aws-sdk/middleware-flexible-checksums': 3.878.0 + '@aws-sdk/middleware-flexible-checksums': 3.879.0 '@aws-sdk/middleware-host-header': 3.873.0 '@aws-sdk/middleware-location-constraint': 3.873.0 '@aws-sdk/middleware-logger': 3.876.0 '@aws-sdk/middleware-recursion-detection': 3.873.0 - '@aws-sdk/middleware-sdk-s3': 3.876.0 + '@aws-sdk/middleware-sdk-s3': 3.879.0 '@aws-sdk/middleware-ssec': 3.873.0 - '@aws-sdk/middleware-user-agent': 3.876.0 + '@aws-sdk/middleware-user-agent': 3.879.0 '@aws-sdk/region-config-resolver': 3.873.0 - '@aws-sdk/signature-v4-multi-region': 3.876.0 + '@aws-sdk/signature-v4-multi-region': 3.879.0 '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-endpoints': 3.873.0 + '@aws-sdk/util-endpoints': 3.879.0 '@aws-sdk/util-user-agent-browser': 3.873.0 - '@aws-sdk/util-user-agent-node': 3.876.0 + '@aws-sdk/util-user-agent-node': 3.879.0 '@aws-sdk/xml-builder': 3.873.0 '@smithy/config-resolver': 4.1.5 - '@smithy/core': 3.8.0 + '@smithy/core': 3.9.0 '@smithy/eventstream-serde-browser': 4.0.5 '@smithy/eventstream-serde-config-resolver': 4.1.3 '@smithy/eventstream-serde-node': 4.0.5 @@ -4653,21 +4657,21 @@ snapshots: '@smithy/invalid-dependency': 4.0.5 '@smithy/md5-js': 4.0.5 '@smithy/middleware-content-length': 4.0.5 - '@smithy/middleware-endpoint': 4.1.18 - '@smithy/middleware-retry': 4.1.19 + '@smithy/middleware-endpoint': 4.1.19 + '@smithy/middleware-retry': 4.1.20 '@smithy/middleware-serde': 4.0.9 '@smithy/middleware-stack': 4.0.5 '@smithy/node-config-provider': 4.1.4 '@smithy/node-http-handler': 4.1.1 '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 + '@smithy/smithy-client': 4.5.0 '@smithy/types': 4.3.2 '@smithy/url-parser': 4.0.5 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.26 - '@smithy/util-defaults-mode-node': 4.0.26 + '@smithy/util-defaults-mode-browser': 4.0.27 + '@smithy/util-defaults-mode-node': 4.0.27 '@smithy/util-endpoints': 3.0.7 '@smithy/util-middleware': 4.0.5 '@smithy/util-retry': 4.0.7 @@ -4680,41 +4684,41 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.876.0': + '@aws-sdk/client-sso@3.879.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.876.0 + '@aws-sdk/core': 3.879.0 '@aws-sdk/middleware-host-header': 3.873.0 '@aws-sdk/middleware-logger': 3.876.0 '@aws-sdk/middleware-recursion-detection': 3.873.0 - '@aws-sdk/middleware-user-agent': 3.876.0 + '@aws-sdk/middleware-user-agent': 3.879.0 '@aws-sdk/region-config-resolver': 3.873.0 '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-endpoints': 3.873.0 + '@aws-sdk/util-endpoints': 3.879.0 '@aws-sdk/util-user-agent-browser': 3.873.0 - '@aws-sdk/util-user-agent-node': 3.876.0 + '@aws-sdk/util-user-agent-node': 3.879.0 '@smithy/config-resolver': 4.1.5 - '@smithy/core': 3.8.0 + '@smithy/core': 3.9.0 '@smithy/fetch-http-handler': 5.1.1 '@smithy/hash-node': 4.0.5 '@smithy/invalid-dependency': 4.0.5 '@smithy/middleware-content-length': 4.0.5 - '@smithy/middleware-endpoint': 4.1.18 - '@smithy/middleware-retry': 4.1.19 + '@smithy/middleware-endpoint': 4.1.19 + '@smithy/middleware-retry': 4.1.20 '@smithy/middleware-serde': 4.0.9 '@smithy/middleware-stack': 4.0.5 '@smithy/node-config-provider': 4.1.4 '@smithy/node-http-handler': 4.1.1 '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 + '@smithy/smithy-client': 4.5.0 '@smithy/types': 4.3.2 '@smithy/url-parser': 4.0.5 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.26 - '@smithy/util-defaults-mode-node': 4.0.26 + '@smithy/util-defaults-mode-browser': 4.0.27 + '@smithy/util-defaults-mode-node': 4.0.27 '@smithy/util-endpoints': 3.0.7 '@smithy/util-middleware': 4.0.5 '@smithy/util-retry': 4.0.7 @@ -4723,16 +4727,16 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.876.0': + '@aws-sdk/core@3.879.0': dependencies: '@aws-sdk/types': 3.862.0 '@aws-sdk/xml-builder': 3.873.0 - '@smithy/core': 3.8.0 + '@smithy/core': 3.9.0 '@smithy/node-config-provider': 4.1.4 '@smithy/property-provider': 4.0.5 '@smithy/protocol-http': 5.1.3 '@smithy/signature-v4': 5.1.3 - '@smithy/smithy-client': 4.4.10 + '@smithy/smithy-client': 4.5.0 '@smithy/types': 4.3.2 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 @@ -4741,36 +4745,36 @@ snapshots: fast-xml-parser: 5.2.5 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.876.0': + '@aws-sdk/credential-provider-env@3.879.0': dependencies: - '@aws-sdk/core': 3.876.0 + '@aws-sdk/core': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.876.0': + '@aws-sdk/credential-provider-http@3.879.0': dependencies: - '@aws-sdk/core': 3.876.0 + '@aws-sdk/core': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/fetch-http-handler': 5.1.1 '@smithy/node-http-handler': 4.1.1 '@smithy/property-provider': 4.0.5 '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 + '@smithy/smithy-client': 4.5.0 '@smithy/types': 4.3.2 '@smithy/util-stream': 4.2.4 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.876.0': + '@aws-sdk/credential-provider-ini@3.879.0': dependencies: - '@aws-sdk/core': 3.876.0 - '@aws-sdk/credential-provider-env': 3.876.0 - '@aws-sdk/credential-provider-http': 3.876.0 - '@aws-sdk/credential-provider-process': 3.876.0 - '@aws-sdk/credential-provider-sso': 3.876.0 - '@aws-sdk/credential-provider-web-identity': 3.876.0 - '@aws-sdk/nested-clients': 3.876.0 + '@aws-sdk/core': 3.879.0 + '@aws-sdk/credential-provider-env': 3.879.0 + '@aws-sdk/credential-provider-http': 3.879.0 + '@aws-sdk/credential-provider-process': 3.879.0 + '@aws-sdk/credential-provider-sso': 3.879.0 + '@aws-sdk/credential-provider-web-identity': 3.879.0 + '@aws-sdk/nested-clients': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/credential-provider-imds': 4.0.7 '@smithy/property-provider': 4.0.5 @@ -4780,14 +4784,14 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.876.0': + '@aws-sdk/credential-provider-node@3.879.0': dependencies: - '@aws-sdk/credential-provider-env': 3.876.0 - '@aws-sdk/credential-provider-http': 3.876.0 - '@aws-sdk/credential-provider-ini': 3.876.0 - '@aws-sdk/credential-provider-process': 3.876.0 - '@aws-sdk/credential-provider-sso': 3.876.0 - '@aws-sdk/credential-provider-web-identity': 3.876.0 + '@aws-sdk/credential-provider-env': 3.879.0 + '@aws-sdk/credential-provider-http': 3.879.0 + '@aws-sdk/credential-provider-ini': 3.879.0 + '@aws-sdk/credential-provider-process': 3.879.0 + '@aws-sdk/credential-provider-sso': 3.879.0 + '@aws-sdk/credential-provider-web-identity': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/credential-provider-imds': 4.0.7 '@smithy/property-provider': 4.0.5 @@ -4797,20 +4801,20 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.876.0': + '@aws-sdk/credential-provider-process@3.879.0': dependencies: - '@aws-sdk/core': 3.876.0 + '@aws-sdk/core': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.876.0': + '@aws-sdk/credential-provider-sso@3.879.0': dependencies: - '@aws-sdk/client-sso': 3.876.0 - '@aws-sdk/core': 3.876.0 - '@aws-sdk/token-providers': 3.876.0 + '@aws-sdk/client-sso': 3.879.0 + '@aws-sdk/core': 3.879.0 + '@aws-sdk/token-providers': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 @@ -4819,10 +4823,10 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.876.0': + '@aws-sdk/credential-provider-web-identity@3.879.0': dependencies: - '@aws-sdk/core': 3.876.0 - '@aws-sdk/nested-clients': 3.876.0 + '@aws-sdk/core': 3.879.0 + '@aws-sdk/nested-clients': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 '@smithy/types': 4.3.2 @@ -4847,12 +4851,12 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.878.0': + '@aws-sdk/middleware-flexible-checksums@3.879.0': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.876.0 + '@aws-sdk/core': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/is-array-buffer': 4.0.0 '@smithy/node-config-provider': 4.1.4 @@ -4889,16 +4893,16 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.876.0': + '@aws-sdk/middleware-sdk-s3@3.879.0': dependencies: - '@aws-sdk/core': 3.876.0 + '@aws-sdk/core': 3.879.0 '@aws-sdk/types': 3.862.0 '@aws-sdk/util-arn-parser': 3.873.0 - '@smithy/core': 3.8.0 + '@smithy/core': 3.9.0 '@smithy/node-config-provider': 4.1.4 '@smithy/protocol-http': 5.1.3 '@smithy/signature-v4': 5.1.3 - '@smithy/smithy-client': 4.4.10 + '@smithy/smithy-client': 4.5.0 '@smithy/types': 4.3.2 '@smithy/util-config-provider': 4.0.0 '@smithy/util-middleware': 4.0.5 @@ -4912,51 +4916,51 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.876.0': + '@aws-sdk/middleware-user-agent@3.879.0': dependencies: - '@aws-sdk/core': 3.876.0 + '@aws-sdk/core': 3.879.0 '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-endpoints': 3.873.0 - '@smithy/core': 3.8.0 + '@aws-sdk/util-endpoints': 3.879.0 + '@smithy/core': 3.9.0 '@smithy/protocol-http': 5.1.3 '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.876.0': + '@aws-sdk/nested-clients@3.879.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.876.0 + '@aws-sdk/core': 3.879.0 '@aws-sdk/middleware-host-header': 3.873.0 '@aws-sdk/middleware-logger': 3.876.0 '@aws-sdk/middleware-recursion-detection': 3.873.0 - '@aws-sdk/middleware-user-agent': 3.876.0 + '@aws-sdk/middleware-user-agent': 3.879.0 '@aws-sdk/region-config-resolver': 3.873.0 '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-endpoints': 3.873.0 + '@aws-sdk/util-endpoints': 3.879.0 '@aws-sdk/util-user-agent-browser': 3.873.0 - '@aws-sdk/util-user-agent-node': 3.876.0 + '@aws-sdk/util-user-agent-node': 3.879.0 '@smithy/config-resolver': 4.1.5 - '@smithy/core': 3.8.0 + '@smithy/core': 3.9.0 '@smithy/fetch-http-handler': 5.1.1 '@smithy/hash-node': 4.0.5 '@smithy/invalid-dependency': 4.0.5 '@smithy/middleware-content-length': 4.0.5 - '@smithy/middleware-endpoint': 4.1.18 - '@smithy/middleware-retry': 4.1.19 + '@smithy/middleware-endpoint': 4.1.19 + '@smithy/middleware-retry': 4.1.20 '@smithy/middleware-serde': 4.0.9 '@smithy/middleware-stack': 4.0.5 '@smithy/node-config-provider': 4.1.4 '@smithy/node-http-handler': 4.1.1 '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 + '@smithy/smithy-client': 4.5.0 '@smithy/types': 4.3.2 '@smithy/url-parser': 4.0.5 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.26 - '@smithy/util-defaults-mode-node': 4.0.26 + '@smithy/util-defaults-mode-browser': 4.0.27 + '@smithy/util-defaults-mode-node': 4.0.27 '@smithy/util-endpoints': 3.0.7 '@smithy/util-middleware': 4.0.5 '@smithy/util-retry': 4.0.7 @@ -4974,30 +4978,30 @@ snapshots: '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 - '@aws-sdk/s3-request-presigner@3.878.0': + '@aws-sdk/s3-request-presigner@3.879.0': dependencies: - '@aws-sdk/signature-v4-multi-region': 3.876.0 + '@aws-sdk/signature-v4-multi-region': 3.879.0 '@aws-sdk/types': 3.862.0 '@aws-sdk/util-format-url': 3.873.0 - '@smithy/middleware-endpoint': 4.1.18 + '@smithy/middleware-endpoint': 4.1.19 '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 + '@smithy/smithy-client': 4.5.0 '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.876.0': + '@aws-sdk/signature-v4-multi-region@3.879.0': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.876.0 + '@aws-sdk/middleware-sdk-s3': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/protocol-http': 5.1.3 '@smithy/signature-v4': 5.1.3 '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/token-providers@3.876.0': + '@aws-sdk/token-providers@3.879.0': dependencies: - '@aws-sdk/core': 3.876.0 - '@aws-sdk/nested-clients': 3.876.0 + '@aws-sdk/core': 3.879.0 + '@aws-sdk/nested-clients': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 @@ -5015,7 +5019,7 @@ snapshots: dependencies: tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.873.0': + '@aws-sdk/util-endpoints@3.879.0': dependencies: '@aws-sdk/types': 3.862.0 '@smithy/types': 4.3.2 @@ -5041,9 +5045,9 @@ snapshots: bowser: 2.11.0 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.876.0': + '@aws-sdk/util-user-agent-node@3.879.0': dependencies: - '@aws-sdk/middleware-user-agent': 3.876.0 + '@aws-sdk/middleware-user-agent': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/node-config-provider': 4.1.4 '@smithy/types': 4.3.2 @@ -5472,7 +5476,7 @@ snapshots: '@istanbuljs/schema@0.1.3': {} - '@jest/console@30.1.1': + '@jest/console@30.1.2': dependencies: '@jest/types': 30.0.5 '@types/node': 24.3.0 @@ -5481,13 +5485,13 @@ snapshots: jest-util: 30.0.5 slash: 3.0.0 - '@jest/core@30.1.1(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))': + '@jest/core@30.1.2(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))': dependencies: - '@jest/console': 30.1.1 + '@jest/console': 30.1.2 '@jest/pattern': 30.0.1 - '@jest/reporters': 30.1.1 - '@jest/test-result': 30.1.1 - '@jest/transform': 30.1.1 + '@jest/reporters': 30.1.2 + '@jest/test-result': 30.1.2 + '@jest/transform': 30.1.2 '@jest/types': 30.0.5 '@types/node': 24.3.0 ansi-escapes: 4.3.2 @@ -5496,18 +5500,18 @@ snapshots: exit-x: 0.2.2 graceful-fs: 4.2.11 jest-changed-files: 30.0.5 - jest-config: 30.1.1(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) + jest-config: 30.1.2(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) jest-haste-map: 30.1.0 jest-message-util: 30.1.0 jest-regex-util: 30.0.1 jest-resolve: 30.1.0 - jest-resolve-dependencies: 30.1.1 - jest-runner: 30.1.1 - jest-runtime: 30.1.1 - jest-snapshot: 30.1.1 + jest-resolve-dependencies: 30.1.2 + jest-runner: 30.1.2 + jest-runtime: 30.1.2 + jest-snapshot: 30.1.2 jest-util: 30.0.5 jest-validate: 30.1.0 - jest-watcher: 30.1.1 + jest-watcher: 30.1.2 micromatch: 4.0.8 pretty-format: 30.0.5 slash: 3.0.0 @@ -5519,10 +5523,10 @@ snapshots: '@jest/diff-sequences@30.0.1': {} - '@jest/environment-jsdom-abstract@30.1.1(jsdom@26.1.0)': + '@jest/environment-jsdom-abstract@30.1.2(jsdom@26.1.0)': dependencies: - '@jest/environment': 30.1.1 - '@jest/fake-timers': 30.1.1 + '@jest/environment': 30.1.2 + '@jest/fake-timers': 30.1.2 '@jest/types': 30.0.5 '@types/jsdom': 21.1.7 '@types/node': 24.3.0 @@ -5530,9 +5534,9 @@ snapshots: jest-util: 30.0.5 jsdom: 26.1.0 - '@jest/environment@30.1.1': + '@jest/environment@30.1.2': dependencies: - '@jest/fake-timers': 30.1.1 + '@jest/fake-timers': 30.1.2 '@jest/types': 30.0.5 '@types/node': 24.3.0 jest-mock: 30.0.5 @@ -5541,18 +5545,18 @@ snapshots: dependencies: '@jest/get-type': 30.0.1 - '@jest/expect-utils@30.1.1': + '@jest/expect-utils@30.1.2': dependencies: '@jest/get-type': 30.1.0 - '@jest/expect@30.1.1': + '@jest/expect@30.1.2': dependencies: - expect: 30.1.1 - jest-snapshot: 30.1.1 + expect: 30.1.2 + jest-snapshot: 30.1.2 transitivePeerDependencies: - supports-color - '@jest/fake-timers@30.1.1': + '@jest/fake-timers@30.1.2': dependencies: '@jest/types': 30.0.5 '@sinonjs/fake-timers': 13.0.5 @@ -5565,10 +5569,10 @@ snapshots: '@jest/get-type@30.1.0': {} - '@jest/globals@30.1.1': + '@jest/globals@30.1.2': dependencies: - '@jest/environment': 30.1.1 - '@jest/expect': 30.1.1 + '@jest/environment': 30.1.2 + '@jest/expect': 30.1.2 '@jest/types': 30.0.5 jest-mock: 30.0.5 transitivePeerDependencies: @@ -5579,12 +5583,12 @@ snapshots: '@types/node': 24.3.0 jest-regex-util: 30.0.1 - '@jest/reporters@30.1.1': + '@jest/reporters@30.1.2': dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 30.1.1 - '@jest/test-result': 30.1.1 - '@jest/transform': 30.1.1 + '@jest/console': 30.1.2 + '@jest/test-result': 30.1.2 + '@jest/transform': 30.1.2 '@jest/types': 30.0.5 '@jridgewell/trace-mapping': 0.3.29 '@types/node': 24.3.0 @@ -5611,7 +5615,7 @@ snapshots: dependencies: '@sinclair/typebox': 0.34.38 - '@jest/snapshot-utils@30.1.1': + '@jest/snapshot-utils@30.1.2': dependencies: '@jest/types': 30.0.5 chalk: 4.1.2 @@ -5624,21 +5628,21 @@ snapshots: callsites: 3.1.0 graceful-fs: 4.2.11 - '@jest/test-result@30.1.1': + '@jest/test-result@30.1.2': dependencies: - '@jest/console': 30.1.1 + '@jest/console': 30.1.2 '@jest/types': 30.0.5 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - '@jest/test-sequencer@30.1.1': + '@jest/test-sequencer@30.1.2': dependencies: - '@jest/test-result': 30.1.1 + '@jest/test-result': 30.1.2 graceful-fs: 4.2.11 jest-haste-map: 30.1.0 slash: 3.0.0 - '@jest/transform@30.1.1': + '@jest/transform@30.1.2': dependencies: '@babel/core': 7.28.0 '@jest/types': 30.0.5 @@ -6088,7 +6092,7 @@ snapshots: '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 - '@smithy/core@3.8.0': + '@smithy/core@3.9.0': dependencies: '@smithy/middleware-serde': 4.0.9 '@smithy/protocol-http': 5.1.3 @@ -6193,9 +6197,9 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.1.18': + '@smithy/middleware-endpoint@4.1.19': dependencies: - '@smithy/core': 3.8.0 + '@smithy/core': 3.9.0 '@smithy/middleware-serde': 4.0.9 '@smithy/node-config-provider': 4.1.4 '@smithy/shared-ini-file-loader': 4.0.5 @@ -6204,12 +6208,12 @@ snapshots: '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 - '@smithy/middleware-retry@4.1.19': + '@smithy/middleware-retry@4.1.20': dependencies: '@smithy/node-config-provider': 4.1.4 '@smithy/protocol-http': 5.1.3 '@smithy/service-error-classification': 4.0.7 - '@smithy/smithy-client': 4.4.10 + '@smithy/smithy-client': 4.5.0 '@smithy/types': 4.3.2 '@smithy/util-middleware': 4.0.5 '@smithy/util-retry': 4.0.7 @@ -6284,10 +6288,10 @@ snapshots: '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/smithy-client@4.4.10': + '@smithy/smithy-client@4.5.0': dependencies: - '@smithy/core': 3.8.0 - '@smithy/middleware-endpoint': 4.1.18 + '@smithy/core': 3.9.0 + '@smithy/middleware-endpoint': 4.1.19 '@smithy/middleware-stack': 4.0.5 '@smithy/protocol-http': 5.1.3 '@smithy/types': 4.3.2 @@ -6332,21 +6336,21 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@4.0.26': + '@smithy/util-defaults-mode-browser@4.0.27': dependencies: '@smithy/property-provider': 4.0.5 - '@smithy/smithy-client': 4.4.10 + '@smithy/smithy-client': 4.5.0 '@smithy/types': 4.3.2 bowser: 2.11.0 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@4.0.26': + '@smithy/util-defaults-mode-node@4.0.27': dependencies: '@smithy/config-resolver': 4.1.5 '@smithy/credential-provider-imds': 4.0.7 '@smithy/node-config-provider': 4.1.4 '@smithy/property-provider': 4.0.5 - '@smithy/smithy-client': 4.4.10 + '@smithy/smithy-client': 4.5.0 '@smithy/types': 4.3.2 tslib: 2.8.1 @@ -6404,10 +6408,10 @@ snapshots: '@standard-schema/spec@1.0.0': {} - '@stylistic/eslint-plugin@5.2.3(eslint@9.34.0(jiti@2.5.1))': + '@stylistic/eslint-plugin@5.3.1(eslint@9.34.0(jiti@2.5.1))': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1)) - '@typescript-eslint/types': 8.39.0 + '@typescript-eslint/types': 8.41.0 eslint: 9.34.0(jiti@2.5.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 @@ -6682,6 +6686,8 @@ snapshots: '@typescript-eslint/types@8.39.0': {} + '@typescript-eslint/types@8.41.0': {} + '@typescript-eslint/typescript-estree@8.39.0(typescript@5.9.2)': dependencies: '@typescript-eslint/project-service': 8.39.0(typescript@5.9.2) @@ -6818,7 +6824,7 @@ snapshots: agent-base@7.1.4: {} - ai@5.0.27(zod@3.25.76): + ai@5.0.29(zod@3.25.76): dependencies: '@ai-sdk/gateway': 1.0.15(zod@3.25.76) '@ai-sdk/provider': 2.0.0 @@ -6955,10 +6961,10 @@ snapshots: axobject-query@4.1.0: {} - babel-jest@30.1.1(@babel/core@7.28.0): + babel-jest@30.1.2(@babel/core@7.28.0): dependencies: '@babel/core': 7.28.0 - '@jest/transform': 30.1.1 + '@jest/transform': 30.1.2 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 7.0.0 babel-preset-jest: 30.0.1(@babel/core@7.28.0) @@ -7624,11 +7630,11 @@ snapshots: jest-mock: 30.0.5 jest-util: 30.0.5 - expect@30.1.1: + expect@30.1.2: dependencies: - '@jest/expect-utils': 30.1.1 + '@jest/expect-utils': 30.1.2 '@jest/get-type': 30.1.0 - jest-matcher-utils: 30.1.1 + jest-matcher-utils: 30.1.2 jest-message-util: 30.1.0 jest-mock: 30.0.5 jest-util: 30.0.5 @@ -8088,11 +8094,11 @@ snapshots: jest-util: 30.0.5 p-limit: 3.1.0 - jest-circus@30.1.1: + jest-circus@30.1.2: dependencies: - '@jest/environment': 30.1.1 - '@jest/expect': 30.1.1 - '@jest/test-result': 30.1.1 + '@jest/environment': 30.1.2 + '@jest/expect': 30.1.2 + '@jest/test-result': 30.1.2 '@jest/types': 30.0.5 '@types/node': 24.3.0 chalk: 4.1.2 @@ -8100,10 +8106,10 @@ snapshots: dedent: 1.6.0 is-generator-fn: 2.1.0 jest-each: 30.1.0 - jest-matcher-utils: 30.1.1 + jest-matcher-utils: 30.1.2 jest-message-util: 30.1.0 - jest-runtime: 30.1.1 - jest-snapshot: 30.1.1 + jest-runtime: 30.1.2 + jest-snapshot: 30.1.2 jest-util: 30.0.5 p-limit: 3.1.0 pretty-format: 30.0.5 @@ -8114,15 +8120,15 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@30.1.1(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)): + jest-cli@30.1.2(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)): dependencies: - '@jest/core': 30.1.1(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) - '@jest/test-result': 30.1.1 + '@jest/core': 30.1.2(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) + '@jest/test-result': 30.1.2 '@jest/types': 30.0.5 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.1.1(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) + jest-config: 30.1.2(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) jest-util: 30.0.5 jest-validate: 30.1.0 yargs: 17.7.2 @@ -8133,25 +8139,25 @@ snapshots: - supports-color - ts-node - jest-config@30.1.1(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)): + jest-config@30.1.2(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)): dependencies: '@babel/core': 7.28.0 '@jest/get-type': 30.1.0 '@jest/pattern': 30.0.1 - '@jest/test-sequencer': 30.1.1 + '@jest/test-sequencer': 30.1.2 '@jest/types': 30.0.5 - babel-jest: 30.1.1(@babel/core@7.28.0) + babel-jest: 30.1.2(@babel/core@7.28.0) chalk: 4.1.2 ci-info: 4.3.0 deepmerge: 4.3.1 glob: 10.4.5 graceful-fs: 4.2.11 - jest-circus: 30.1.1 + jest-circus: 30.1.2 jest-docblock: 30.0.1 - jest-environment-node: 30.1.1 + jest-environment-node: 30.1.2 jest-regex-util: 30.0.1 jest-resolve: 30.1.0 - jest-runner: 30.1.1 + jest-runner: 30.1.2 jest-util: 30.0.5 jest-validate: 30.1.0 micromatch: 4.0.8 @@ -8173,7 +8179,7 @@ snapshots: chalk: 4.1.2 pretty-format: 30.0.5 - jest-diff@30.1.1: + jest-diff@30.1.2: dependencies: '@jest/diff-sequences': 30.0.1 '@jest/get-type': 30.1.0 @@ -8192,10 +8198,10 @@ snapshots: jest-util: 30.0.5 pretty-format: 30.0.5 - jest-environment-jsdom@30.1.1: + jest-environment-jsdom@30.1.2: dependencies: - '@jest/environment': 30.1.1 - '@jest/environment-jsdom-abstract': 30.1.1(jsdom@26.1.0) + '@jest/environment': 30.1.2 + '@jest/environment-jsdom-abstract': 30.1.2(jsdom@26.1.0) '@types/jsdom': 21.1.7 '@types/node': 24.3.0 jsdom: 26.1.0 @@ -8204,10 +8210,10 @@ snapshots: - supports-color - utf-8-validate - jest-environment-node@30.1.1: + jest-environment-node@30.1.2: dependencies: - '@jest/environment': 30.1.1 - '@jest/fake-timers': 30.1.1 + '@jest/environment': 30.1.2 + '@jest/fake-timers': 30.1.2 '@jest/types': 30.0.5 '@types/node': 24.3.0 jest-mock: 30.0.5 @@ -8241,11 +8247,11 @@ snapshots: jest-diff: 30.0.5 pretty-format: 30.0.5 - jest-matcher-utils@30.1.1: + jest-matcher-utils@30.1.2: dependencies: '@jest/get-type': 30.1.0 chalk: 4.1.2 - jest-diff: 30.1.1 + jest-diff: 30.1.2 pretty-format: 30.0.5 jest-message-util@30.0.5: @@ -8284,10 +8290,10 @@ snapshots: jest-regex-util@30.0.1: {} - jest-resolve-dependencies@30.1.1: + jest-resolve-dependencies@30.1.2: dependencies: jest-regex-util: 30.0.1 - jest-snapshot: 30.1.1 + jest-snapshot: 30.1.2 transitivePeerDependencies: - supports-color @@ -8302,12 +8308,12 @@ snapshots: slash: 3.0.0 unrs-resolver: 1.11.1 - jest-runner@30.1.1: + jest-runner@30.1.2: dependencies: - '@jest/console': 30.1.1 - '@jest/environment': 30.1.1 - '@jest/test-result': 30.1.1 - '@jest/transform': 30.1.1 + '@jest/console': 30.1.2 + '@jest/environment': 30.1.2 + '@jest/test-result': 30.1.2 + '@jest/transform': 30.1.2 '@jest/types': 30.0.5 '@types/node': 24.3.0 chalk: 4.1.2 @@ -8315,28 +8321,28 @@ snapshots: exit-x: 0.2.2 graceful-fs: 4.2.11 jest-docblock: 30.0.1 - jest-environment-node: 30.1.1 + jest-environment-node: 30.1.2 jest-haste-map: 30.1.0 jest-leak-detector: 30.1.0 jest-message-util: 30.1.0 jest-resolve: 30.1.0 - jest-runtime: 30.1.1 + jest-runtime: 30.1.2 jest-util: 30.0.5 - jest-watcher: 30.1.1 + jest-watcher: 30.1.2 jest-worker: 30.1.0 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - jest-runtime@30.1.1: + jest-runtime@30.1.2: dependencies: - '@jest/environment': 30.1.1 - '@jest/fake-timers': 30.1.1 - '@jest/globals': 30.1.1 + '@jest/environment': 30.1.2 + '@jest/fake-timers': 30.1.2 + '@jest/globals': 30.1.2 '@jest/source-map': 30.0.1 - '@jest/test-result': 30.1.1 - '@jest/transform': 30.1.1 + '@jest/test-result': 30.1.2 + '@jest/transform': 30.1.2 '@jest/types': 30.0.5 '@types/node': 24.3.0 chalk: 4.1.2 @@ -8349,31 +8355,31 @@ snapshots: jest-mock: 30.0.5 jest-regex-util: 30.0.1 jest-resolve: 30.1.0 - jest-snapshot: 30.1.1 + jest-snapshot: 30.1.2 jest-util: 30.0.5 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - jest-snapshot@30.1.1: + jest-snapshot@30.1.2: dependencies: '@babel/core': 7.28.0 '@babel/generator': 7.28.0 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) '@babel/types': 7.28.2 - '@jest/expect-utils': 30.1.1 + '@jest/expect-utils': 30.1.2 '@jest/get-type': 30.1.0 - '@jest/snapshot-utils': 30.1.1 - '@jest/transform': 30.1.1 + '@jest/snapshot-utils': 30.1.2 + '@jest/transform': 30.1.2 '@jest/types': 30.0.5 babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.0) chalk: 4.1.2 - expect: 30.1.1 + expect: 30.1.2 graceful-fs: 4.2.11 - jest-diff: 30.1.1 - jest-matcher-utils: 30.1.1 + jest-diff: 30.1.2 + jest-matcher-utils: 30.1.2 jest-message-util: 30.1.0 jest-util: 30.0.5 pretty-format: 30.0.5 @@ -8400,9 +8406,9 @@ snapshots: leven: 3.1.0 pretty-format: 30.0.5 - jest-watcher@30.1.1: + jest-watcher@30.1.2: dependencies: - '@jest/test-result': 30.1.1 + '@jest/test-result': 30.1.2 '@jest/types': 30.0.5 '@types/node': 24.3.0 ansi-escapes: 4.3.2 @@ -8419,12 +8425,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@30.1.1(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)): + jest@30.1.2(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)): dependencies: - '@jest/core': 30.1.1(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) + '@jest/core': 30.1.2(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) '@jest/types': 30.0.5 import-local: 3.2.0 - jest-cli: 30.1.1(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) + jest-cli: 30.1.2(@types/node@24.3.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -9512,7 +9518,7 @@ snapshots: optionalDependencies: '@types/react': 19.1.12 - use-debounce@10.0.5(react@19.1.1): + use-debounce@10.0.6(react@19.1.1): dependencies: react: 19.1.1 diff --git a/src/app/config.ts b/src/app/config.ts index f6d626e9..984d51b4 100644 --- a/src/app/config.ts +++ b/src/app/config.ts @@ -336,17 +336,17 @@ export const HIGH_DENSITY_GRID = // DESIGN export const DEFAULT_THEME = -process.env.NEXT_PUBLIC_DEFAULT_THEME === 'dark' - ? 'dark' - : process.env.NEXT_PUBLIC_DEFAULT_THEME === 'light' - ? 'light' - : 'system'; + process.env.NEXT_PUBLIC_DEFAULT_THEME === 'dark' + ? 'dark' + : process.env.NEXT_PUBLIC_DEFAULT_THEME === 'light' + ? 'light' + : 'system'; export const MATTE_PHOTOS = -process.env.NEXT_PUBLIC_MATTE_PHOTOS === '1'; + process.env.NEXT_PUBLIC_MATTE_PHOTOS === '1'; export const MATTE_COLOR = -process.env.NEXT_PUBLIC_MATTE_COLOR; + process.env.NEXT_PUBLIC_MATTE_COLOR; export const MATTE_COLOR_DARK = -process.env.NEXT_PUBLIC_MATTE_COLOR_DARK; + process.env.NEXT_PUBLIC_MATTE_COLOR_DARK; // SETTINGS diff --git a/src/camera/index.ts b/src/camera/index.ts index 706e7b98..82e10b7d 100644 --- a/src/camera/index.ts +++ b/src/camera/index.ts @@ -2,7 +2,7 @@ import { CategoryQueryMeta } from '@/category'; import type { Photo } from '@/photo'; import { isCameraMakeApple } from '@/platforms/apple'; import { formatSonyModel, isMakeSony } from '@/platforms/sony'; -import { parameterize } from '@/utility/string'; +import { MakeModelTextLength, parameterize } from '@/utility/string'; const CAMERA_PLACEHOLDER: Camera = { make: 'Camera', model: 'Model' }; @@ -60,11 +60,7 @@ export const cameraFromPhoto = ( export const formatCameraText = ( { make, model: _model }: Camera, - length: - 'long' | // Unmodified make and model - 'medium' | // Make and model, with modifiers removed - 'short' // Model only - = 'medium', + length: MakeModelTextLength = 'medium', ) => { // Capture simple make without modifiers like 'Corporation' or 'Company' const makeSimple = make.match(/^(\S+)/)?.[1]; diff --git a/src/lens/index.ts b/src/lens/index.ts index 80a540de..470a9d72 100644 --- a/src/lens/index.ts +++ b/src/lens/index.ts @@ -1,5 +1,5 @@ import { Photo } from '@/photo'; -import { parameterize } from '@/utility/string'; +import { MakeModelTextLength, parameterize } from '@/utility/string'; import { formatAppleLensText, isLensApple } from '../platforms/apple'; import { MISSING_FIELD } from '@/app/path'; import { formatGoogleLensText, isLensGoogle } from '../platforms/google'; @@ -89,11 +89,7 @@ export const lensFromPhoto = ( export const formatLensText = ( lens: Lens, - length: - 'long' | // Unmodified make and model - 'medium' | // Make and model, with modifiers removed - 'short' // Model only - = 'medium', + length: MakeModelTextLength = 'medium', ) => { const { make, model: modelRaw } = lens; diff --git a/src/platforms/fujifilm/simulation.ts b/src/platforms/fujifilm/simulation.ts index d0770c9d..f136a854 100644 --- a/src/platforms/fujifilm/simulation.ts +++ b/src/platforms/fujifilm/simulation.ts @@ -244,11 +244,11 @@ export const getFujifilmSimulationFromMakerNote = ( switch (tag) { case TAG_ID_SATURATION: filmModeFromSaturation = - getFujifilmSimulationFromSaturation(numbers[0]); + getFujifilmSimulationFromSaturation(numbers[0]); break; case TAG_ID_FILM_MODE: filmMode = - getFujifilmMode(numbers[0]); + getFujifilmMode(numbers[0]); break; } }, diff --git a/src/utility/string.ts b/src/utility/string.ts index 00b073ec..f5c1e220 100644 --- a/src/utility/string.ts +++ b/src/utility/string.ts @@ -1,3 +1,8 @@ +export type MakeModelTextLength = + 'long' | // Unmodified make and model + 'medium' | // Make and model, with modifiers removed + 'short'; // Model only + export const convertStringToArray = ( string?: string, shouldParameterize = true,