diff --git a/.changeset/cuddly-singers-decide.md b/.changeset/cuddly-singers-decide.md new file mode 100644 index 00000000..7061f131 --- /dev/null +++ b/.changeset/cuddly-singers-decide.md @@ -0,0 +1,5 @@ +--- +"jsrepo": minor +--- + +feat: Update options for `Update with AI` to use Claude 3.7 Sonnet. diff --git a/packages/cli/package.json b/packages/cli/package.json index 0841bfec..9d707fce 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -15,16 +15,7 @@ "bugs": { "url": "https://github.com/ieedan/jsrepo/issues" }, - "keywords": [ - "repo", - "cli", - "svelte", - "vue", - "typescript", - "javascript", - "shadcn", - "registry" - ], + "keywords": ["repo", "cli", "svelte", "vue", "typescript", "javascript", "shadcn", "registry"], "type": "module", "exports": { ".": { @@ -34,10 +25,7 @@ }, "bin": "./dist/index.js", "main": "./dist/index.js", - "files": [ - "./schemas/**/*", - "dist/**/*" - ], + "files": ["./schemas/**/*", "dist/**/*"], "scripts": { "start": "tsup --silent && node ./dist/index.js", "build": "tsup", @@ -56,10 +44,10 @@ "@types/validate-npm-package-name": "^4.0.2", "tsup": "^8.3.6", "typescript": "^5.7.3", - "vitest": "^3.0.6" + "vitest": "^3.0.7" }, "dependencies": { - "@anthropic-ai/sdk": "^0.36.3", + "@anthropic-ai/sdk": "^0.37.0", "@biomejs/js-api": "^0.7.1", "@biomejs/wasm-nodejs": "^1.9.4", "@clack/prompts": "^0.10.0", @@ -77,7 +65,7 @@ "is-unicode-supported": "^2.1.0", "node-fetch": "^3.3.2", "octokit": "^4.1.2", - "ollama": "^0.5.13", + "ollama": "^0.5.14", "openai": "^4.85.4", "package-manager-detector": "^0.2.9", "parse5": "^7.2.1", @@ -87,7 +75,7 @@ "sisteransi": "^1.0.5", "svelte": "^5.20.4", "ts-morph": "^25.0.1", - "valibot": "1.0.0-rc.1", + "valibot": "1.0.0-rc.2", "validate-npm-package-name": "^6.0.0", "vue": "^3.5.13" } diff --git a/packages/cli/src/utils/ai.ts b/packages/cli/src/utils/ai.ts index 6543d300..bb3a9c31 100644 --- a/packages/cli/src/utils/ai.ts +++ b/packages/cli/src/utils/ai.ts @@ -33,7 +33,7 @@ export interface Model { }) => Promise; } -export type ModelName = 'Claude 3.5 Sonnet' | 'ChatGPT 4o-mini' | 'ChatGPT 4o' | 'Phi4'; +export type ModelName = 'Claude 3.7 Sonnet' | 'ChatGPT 4o-mini' | 'ChatGPT 4o' | 'Phi4'; type Prompt = { system: string; @@ -41,7 +41,7 @@ type Prompt = { }; const models: Record = { - 'Claude 3.5 Sonnet': { + 'Claude 3.7 Sonnet': { updateFile: async ({ originalFile, newFile, @@ -52,7 +52,7 @@ const models: Record = { }) => { const apiKey = await getApiKey('Anthropic'); - if (!verbose) loading.start(`Asking ${'Claude 3.5 Sonnet'}`); + if (!verbose) loading.start(`Asking ${'Claude 3.7 Sonnet'}`); const prompt = createUpdatePrompt({ originalFile, @@ -62,18 +62,18 @@ const models: Record = { }); verbose?.( - `Prompting ${'Claude 3.5 Sonnet'} with:\n${JSON.stringify(prompt, null, '\t')}` + `Prompting ${'Claude 3.7 Sonnet'} with:\n${JSON.stringify(prompt, null, '\t')}` ); const text = await getNextCompletionAnthropic({ - model: 'claude-3-5-sonnet-latest', + model: 'claude-3-7-sonnet-latest', prompt, apiKey, messages, maxTokens: (originalFile.content.length + newFile.content.length) * 2, }); - if (!verbose) loading.stop(`${'Claude 3.5 Sonnet'} updated the file`); + if (!verbose) loading.stop(`${'Claude 3.7 Sonnet'} updated the file`); if (!text) return { content: newFile.content, prompt: prompt.message }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e4494e86..dc06c290 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,8 +18,8 @@ importers: packages/cli: dependencies: '@anthropic-ai/sdk': - specifier: ^0.36.3 - version: 0.36.3 + specifier: ^0.37.0 + version: 0.37.0 '@biomejs/js-api': specifier: ^0.7.1 version: 0.7.1(@biomejs/wasm-nodejs@1.9.4) @@ -72,8 +72,8 @@ importers: specifier: ^4.1.2 version: 4.1.2 ollama: - specifier: ^0.5.13 - version: 0.5.13 + specifier: ^0.5.14 + version: 0.5.14 openai: specifier: ^4.85.4 version: 4.85.4(ws@8.18.0)(zod@3.24.1) @@ -102,8 +102,8 @@ importers: specifier: ^25.0.1 version: 25.0.1 valibot: - specifier: 1.0.0-rc.1 - version: 1.0.0-rc.1(typescript@5.7.3) + specifier: 1.0.0-rc.2 + version: 1.0.0-rc.2(typescript@5.7.3) validate-npm-package-name: specifier: ^6.0.0 version: 6.0.0 @@ -133,8 +133,8 @@ importers: specifier: ^5.7.3 version: 5.7.3 vitest: - specifier: ^3.0.6 - version: 3.0.6(@types/node@22.13.5)(jiti@1.21.7)(jsdom@26.0.0)(yaml@2.7.0) + specifier: ^3.0.7 + version: 3.0.7(@types/node@22.13.5)(jiti@1.21.7)(jsdom@26.0.0)(yaml@2.7.0) sites/docs: devDependencies: @@ -149,7 +149,7 @@ importers: version: 5.1.2 '@lukulent/svelte-umami': specifier: ^0.0.4 - version: 0.0.4(svelte@5.20.3) + version: 0.0.4(svelte@5.20.4) '@shikijs/langs': specifier: ^3.0.0 version: 3.0.0 @@ -161,13 +161,13 @@ importers: version: 3.0.0 '@sveltejs/adapter-vercel': specifier: ^5.6.3 - version: 5.6.3(@sveltejs/kit@2.17.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(rollup@4.31.0) + version: 5.6.3(@sveltejs/kit@2.17.3(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(rollup@4.31.0) '@sveltejs/kit': - specifier: ^2.17.2 - version: 2.17.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) + specifier: ^2.17.3 + version: 2.17.3(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.3 - version: 5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) + version: 5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) '@tailwindcss/typography': specifier: ^0.5.16 version: 0.5.16(tailwindcss@3.4.17) @@ -187,8 +187,8 @@ importers: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) bits-ui: - specifier: 1.3.2 - version: 1.3.2(svelte@5.20.3) + specifier: 1.3.4 + version: 1.3.4(svelte@5.20.4) clsx: specifier: ^2.1.1 version: 2.1.1 @@ -200,7 +200,7 @@ importers: version: 10.0.1(eslint@9.21.0(jiti@1.21.7)) eslint-plugin-svelte: specifier: ^2.46.1 - version: 2.46.1(eslint@9.21.0(jiti@1.21.7))(svelte@5.20.3) + version: 2.46.1(eslint@9.21.0(jiti@1.21.7))(svelte@5.20.4) globals: specifier: ^16.0.0 version: 16.0.0 @@ -208,11 +208,11 @@ importers: specifier: ^2.22.0 version: 2.22.0 jsrepo: - specifier: ^1.40.0 - version: 1.40.0(typescript@5.7.3)(ws@8.18.0)(zod@3.24.1) + specifier: ^1.40.1 + version: 1.40.1(typescript@5.7.3)(ws@8.18.0)(zod@3.24.1) lucide-svelte: - specifier: ^0.475.0 - version: 0.475.0(svelte@5.20.3) + specifier: ^0.476.0 + version: 0.476.0(svelte@5.20.4) markdown-it: specifier: ^14.1.0 version: 14.1.0 @@ -221,7 +221,7 @@ importers: version: 4.1.1 mode-watcher: specifier: ^0.5.1 - version: 0.5.1(svelte@5.20.3) + version: 0.5.1(svelte@5.20.4) octokit: specifier: ^4.1.2 version: 4.1.2 @@ -233,25 +233,25 @@ importers: version: 3.5.2 prettier-plugin-svelte: specifier: ^3.3.3 - version: 3.3.3(prettier@3.5.2)(svelte@5.20.3) + version: 3.3.3(prettier@3.5.2)(svelte@5.20.4) runed: specifier: ^0.23.4 - version: 0.23.4(svelte@5.20.3) + version: 0.23.4(svelte@5.20.4) shiki: specifier: ^3.0.0 version: 3.0.0 svelte: - specifier: ^5.20.3 - version: 5.20.3 + specifier: ^5.20.4 + version: 5.20.4 svelte-check: specifier: ^4.1.4 - version: 4.1.4(picomatch@4.0.2)(svelte@5.20.3)(typescript@5.7.3) + version: 4.1.4(picomatch@4.0.2)(svelte@5.20.4)(typescript@5.7.3) svelte-persisted-store: specifier: ^0.12.0 - version: 0.12.0(svelte@5.20.3) + version: 0.12.0(svelte@5.20.4) sveltekit-superforms: specifier: ^2.23.1 - version: 2.23.1(@sveltejs/kit@2.17.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.20.3)(typescript@5.7.3) + version: 2.23.1(@sveltejs/kit@2.17.3(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.20.4)(typescript@5.7.3) tailwind-merge: specifier: ^2.6.0 version: 2.6.0 @@ -268,17 +268,17 @@ importers: specifier: ^5.7.3 version: 5.7.3 typescript-eslint: - specifier: ^8.24.1 - version: 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) + specifier: ^8.25.0 + version: 8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) valibot: - specifier: 1.0.0-rc.1 - version: 1.0.0-rc.1(typescript@5.7.3) + specifier: 1.0.0-rc.2 + version: 1.0.0-rc.2(typescript@5.7.3) vaul-svelte: specifier: 1.0.0-next.3 - version: 1.0.0-next.3(svelte@5.20.3) + version: 1.0.0-next.3(svelte@5.20.4) vite: - specifier: ^6.1.1 - version: 6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) + specifier: ^6.2.0 + version: 6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) packages: @@ -293,6 +293,9 @@ packages: '@anthropic-ai/sdk@0.36.3': resolution: {integrity: sha512-+c0mMLxL/17yFZ4P5+U6bTWiCSFZUKJddrv01ud2aFBWnTPLdRncYV76D3q1tqfnL7aCnhRtykFnoCFzvr4U3Q==} + '@anthropic-ai/sdk@0.37.0': + resolution: {integrity: sha512-tHjX2YbkUBwEgg0JZU3EFSSAQPoK4qQR/NFYa8Vtzd5UAyXzZksCw2In69Rml4R/TyHPBfRYaLK35XiOe33pjw==} + '@ark/schema@0.38.0': resolution: {integrity: sha512-ATH7tNpJvNmipTSRZD1Klfg00PBCQf+73grcrzIv6cbDanW7HJKYeNLeV1K3h0vXRthSD8OxQ3y0PI3dGcV/Cw==} @@ -488,150 +491,300 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.0': + resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.24.2': resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.0': + resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.24.2': resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.0': + resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.24.2': resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.0': + resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.24.2': resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.0': + resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.24.2': resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.0': + resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.24.2': resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.0': + resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.24.2': resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.0': + resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.24.2': resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.0': + resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.24.2': resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.0': + resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.24.2': resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.0': + resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.24.2': resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.0': + resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.24.2': resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.0': + resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.24.2': resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.0': + resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.24.2': resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.0': + resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.24.2': resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.0': + resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.24.2': resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.0': + resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.24.2': resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.25.0': + resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.24.2': resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.0': + resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.24.2': resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.25.0': + resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.24.2': resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.0': + resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.24.2': resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.0': + resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.24.2': resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.0': + resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.24.2': resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.0': + resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.24.2': resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} engines: {node: '>=18'} cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.0': + resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.1': resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1103,8 +1256,8 @@ packages: peerDependencies: '@sveltejs/kit': ^2.4.0 - '@sveltejs/kit@2.17.2': - resolution: {integrity: sha512-Vypk02baf7qd3SOB1uUwUC/3Oka+srPo2J0a8YN3EfJypRshDkNx9HzNKjSmhOnGWwT+SSO06+N0mAb8iVTmTQ==} + '@sveltejs/kit@2.17.3': + resolution: {integrity: sha512-GcNaPDr0ti4O/TonPewkML2DG7UVXkSxPN3nPMlpmx0Rs4b2kVP4gymz98WEHlfzPXdd4uOOT1Js26DtieTNBQ==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -1217,51 +1370,51 @@ packages: '@types/json-schema': optional: true - '@typescript-eslint/eslint-plugin@8.24.1': - resolution: {integrity: sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==} + '@typescript-eslint/eslint-plugin@8.25.0': + resolution: {integrity: sha512-VM7bpzAe7JO/BFf40pIT1lJqS/z1F8OaSsUB3rpFJucQA4cOSuH2RVVVkFULN+En0Djgr29/jb4EQnedUo95KA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.24.1': - resolution: {integrity: sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==} + '@typescript-eslint/parser@8.25.0': + resolution: {integrity: sha512-4gbs64bnbSzu4FpgMiQ1A+D+urxkoJk/kqlDJ2W//5SygaEiAP2B4GoS7TEdxgwol2el03gckFV9lJ4QOMiiHg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/scope-manager@8.24.1': - resolution: {integrity: sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==} + '@typescript-eslint/scope-manager@8.25.0': + resolution: {integrity: sha512-6PPeiKIGbgStEyt4NNXa2ru5pMzQ8OYKO1hX1z53HMomrmiSB+R5FmChgQAP1ro8jMtNawz+TRQo/cSXrauTpg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.24.1': - resolution: {integrity: sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==} + '@typescript-eslint/type-utils@8.25.0': + resolution: {integrity: sha512-d77dHgHWnxmXOPJuDWO4FDWADmGQkN5+tt6SFRZz/RtCWl4pHgFl3+WdYCn16+3teG09DY6XtEpf3gGD0a186g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/types@8.24.1': - resolution: {integrity: sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==} + '@typescript-eslint/types@8.25.0': + resolution: {integrity: sha512-+vUe0Zb4tkNgznQwicsvLUJgZIRs6ITeWSCclX1q85pR1iOiaj+4uZJIUp//Z27QWu5Cseiw3O3AR8hVpax7Aw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.24.1': - resolution: {integrity: sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==} + '@typescript-eslint/typescript-estree@8.25.0': + resolution: {integrity: sha512-ZPaiAKEZ6Blt/TPAx5Ot0EIB/yGtLI2EsGoY6F7XKklfMxYQyvtL+gT/UCqkMzO0BVFHLDlzvFqQzurYahxv9Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.24.1': - resolution: {integrity: sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==} + '@typescript-eslint/utils@8.25.0': + resolution: {integrity: sha512-syqRbrEv0J1wywiLsK60XzHnQe/kRViI3zwFALrNEgnntn1l24Ra2KvOAWwWbWZ1lBZxZljPDGOq967dsl6fkA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/visitor-keys@8.24.1': - resolution: {integrity: sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==} + '@typescript-eslint/visitor-keys@8.25.0': + resolution: {integrity: sha512-kCYXKAum9CecGVHGij7muybDfTS2sD3t0L4bJsEZLkyrXUImiCTq1M3LG2SRtOhiHFwMR9wAFplpT6XHYjTkwQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.1': @@ -1283,11 +1436,11 @@ packages: resolution: {integrity: sha512-GeCAHLzKkL2kMFqatgqyiiNh+FILOSAV8x8imBDo6AWQ91w30Kaxw4FnzUDqgcd9z8aCYOBQ7RJxBBGfyr+USQ==} engines: {node: '>=18.16.0'} - '@vitest/expect@3.0.6': - resolution: {integrity: sha512-zBduHf/ja7/QRX4HdP1DSq5XrPgdN+jzLOwaTq/0qZjYfgETNFCKf9nOAp2j3hmom3oTbczuUzrzg9Hafh7hNg==} + '@vitest/expect@3.0.7': + resolution: {integrity: sha512-QP25f+YJhzPfHrHfYHtvRn+uvkCFCqFtW9CktfBxmB+25QqWsx7VB2As6f4GmwllHLDhXNHvqedwhvMmSnNmjw==} - '@vitest/mocker@3.0.6': - resolution: {integrity: sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==} + '@vitest/mocker@3.0.7': + resolution: {integrity: sha512-qui+3BLz9Eonx4EAuR/i+QlCX6AUZ35taDQgwGkK/Tw6/WgwodSrjN1X2xf69IA/643ZX5zNKIn2svvtZDrs4w==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -1297,20 +1450,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.0.6': - resolution: {integrity: sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg==} + '@vitest/pretty-format@3.0.7': + resolution: {integrity: sha512-CiRY0BViD/V8uwuEzz9Yapyao+M9M008/9oMOSQydwbwb+CMokEq3XVaF3XK/VWaOK0Jm9z7ENhybg70Gtxsmg==} - '@vitest/runner@3.0.6': - resolution: {integrity: sha512-JopP4m/jGoaG1+CBqubV/5VMbi7L+NQCJTu1J1Pf6YaUbk7bZtaq5CX7p+8sY64Sjn1UQ1XJparHfcvTTdu9cA==} + '@vitest/runner@3.0.7': + resolution: {integrity: sha512-WeEl38Z0S2ZcuRTeyYqaZtm4e26tq6ZFqh5y8YD9YxfWuu0OFiGFUbnxNynwLjNRHPsXyee2M9tV7YxOTPZl2g==} - '@vitest/snapshot@3.0.6': - resolution: {integrity: sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg==} + '@vitest/snapshot@3.0.7': + resolution: {integrity: sha512-eqTUryJWQN0Rtf5yqCGTQWsCFOQe4eNz5Twsu21xYEcnFJtMU5XvmG0vgebhdLlrHQTSq5p8vWHJIeJQV8ovsA==} - '@vitest/spy@3.0.6': - resolution: {integrity: sha512-HfOGx/bXtjy24fDlTOpgiAEJbRfFxoX3zIGagCqACkFKKZ/TTOE6gYMKXlqecvxEndKFuNHcHqP081ggZ2yM0Q==} + '@vitest/spy@3.0.7': + resolution: {integrity: sha512-4T4WcsibB0B6hrKdAZTM37ekuyFZt2cGbEGd2+L0P8ov15J1/HUsUaqkXEQPNAWr4BtPPe1gI+FYfMHhEKfR8w==} - '@vitest/utils@3.0.6': - resolution: {integrity: sha512-18ktZpf4GQFTbf9jK543uspU03Q2qya7ZGya5yiZ0Gx0nnnalBvd5ZBislbl2EhLjM8A8rt4OilqKG7QwcGkvQ==} + '@vitest/utils@3.0.7': + resolution: {integrity: sha512-xePVpCRfooFX3rANQjwoditoXgWb1MaFbzmGuPP59MK6i13mrnDw/yEIyJudLeW6/38mCNcwCiJIGmpDPibAIg==} '@vue/compiler-core@3.5.13': resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} @@ -1485,8 +1638,8 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - bits-ui@1.3.2: - resolution: {integrity: sha512-27fg/O71yqYmDaDf/opInylQYJjBNlFw3Ari0mXKLA6UrQpRvY62EsAid8s+ci/wYrGZMvHpzNJ69t15ycBHTw==} + bits-ui@1.3.4: + resolution: {integrity: sha512-hmrYbmb5D3ecRHP9GWTlkoo/9IGsPwMCmy3dAPKAfztG/NhWk49JcpuPbWi/eIggetVnv5nYrFp3N8zWscePCA==} engines: {node: '>=18', pnpm: '>=8.7.0'} peerDependencies: svelte: ^5.11.0 @@ -1799,6 +1952,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.25.0: + resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -2254,8 +2412,8 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - jsrepo@1.40.0: - resolution: {integrity: sha512-afFUIN4e/KAvWWQtAMSprAgmmrxprn3X2u3VNFaib9Lz6QkNFE74PpHaIg4crGU3cZcVx8JKv6eK09A6ECiocw==} + jsrepo@1.40.1: + resolution: {integrity: sha512-FGOfGI7l+Z4M8G6y0Qj4kJFy8Qa0QkOtgw77oeOnzfN/2P7A41anKJwcx7qOa05pEPwNLBHcOA9cYJTsq3lpIA==} hasBin: true keyv@4.5.4: @@ -2325,8 +2483,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lucide-svelte@0.475.0: - resolution: {integrity: sha512-N5+hFTPHaZe9HhqJDxxxODfYuOmI6v+JIowzERcea/uxytN/JZlehVTcINBNp8wMo7l6ov1Jf5srrDbkI/WsJg==} + lucide-svelte@0.476.0: + resolution: {integrity: sha512-Ph6zoMWjQVJibDrR+DJoT7LR2uEKLPzzGo886OLRk+nCJZESJUvoCWXk0uE6Y9aaamaSFAdI1Cpwslgzk3YYdQ==} peerDependencies: svelte: ^3 || ^4 || ^5.0.0-next.42 @@ -2498,24 +2656,15 @@ packages: ollama@0.5.13: resolution: {integrity: sha512-qK3eE2GjMYjCiTknEJfAHjbUzUqgVtf9qtzjxWrkwBZgBG7kOB6Z4+Ov4fbvDjmKKHv+rpuTsWFg4jZvVjNBtQ==} + ollama@0.5.14: + resolution: {integrity: sha512-pvOuEYa2WkkAumxzJP0RdEYHkbZ64AYyyUszXVX7ruLvk5L+EiO2G71da2GqEQ4IAk4j6eLoUbGk5arzFT1wJA==} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} oniguruma-to-es@3.1.0: resolution: {integrity: sha512-BJ3Jy22YlgejHSO7Fvmz1kKazlaPmRSUH+4adTDUS/dKQ4wLxI+gALZ8updbaux7/m7fIlpgOZ5fp/Inq5jUAw==} - openai@4.85.3: - resolution: {integrity: sha512-KTMXAK6FPd2IvsPtglMt0J1GyVrjMxCYzu/mVbCPabzzquSJoZlYpHtE0p0ScZPyt11XTc757xSO4j39j5g+Xw==} - hasBin: true - peerDependencies: - ws: ^8.18.0 - zod: ^3.23.8 - peerDependenciesMeta: - ws: - optional: true - zod: - optional: true - openai@4.85.4: resolution: {integrity: sha512-Nki51PBSu+Aryo7WKbdXvfm0X/iKkQS2fq3O0Uqb/O3b4exOZFid2te1BZ52bbO5UwxQZ5eeHJDCTqtrJLPw0w==} hasBin: true @@ -3052,10 +3201,6 @@ packages: peerDependencies: svelte: ^5.0.0 - svelte@5.20.3: - resolution: {integrity: sha512-8eE+/KXZP5tAYEefOG4eIvElARIrnh+IXJq2e+OM7hmhuZDk9yf7esrVD1YBxUtk5eqYBDYtvu628h71iFrXiA==} - engines: {node: '>=18'} - svelte@5.20.4: resolution: {integrity: sha512-2Mo/AfObaw9zuD0u1JJ7sOVzRCGcpETEyDkLbtkcctWpCMCIyT0iz83xD8JT29SR7O4SgswuPRIDYReYF/607A==} engines: {node: '>=18'} @@ -3241,8 +3386,8 @@ packages: resolution: {integrity: sha512-s6zVrxuyKbbAsSAD5ZPTB77q4YIdRctkTbJ2/Dqlinwz+8ooH2gd+YA7VA6Pa93KML9GockVvoxjZ2vHP+mu8g==} engines: {node: '>=16'} - typescript-eslint@8.24.1: - resolution: {integrity: sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA==} + typescript-eslint@8.25.0: + resolution: {integrity: sha512-TxRdQQLH4g7JkoFlYG3caW5v1S6kEkz8rqt80iQJZUYPq1zD1Ra7HfQBJJ88ABRaMvHAXnwRvRB4V+6sQ9xN5Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3340,6 +3485,14 @@ packages: typescript: optional: true + valibot@1.0.0-rc.2: + resolution: {integrity: sha512-Tnnp7dydpihvoUbJiaxuYfsCAgAFKuFMex7PTaI25XSjRWkU70DmJPlAO1W6sF1/WUx4RNWyM2hdmBSMIUSZFA==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true + validate-npm-package-name@5.0.1: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -3364,53 +3517,13 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-node@3.0.6: - resolution: {integrity: sha512-s51RzrTkXKJrhNbUzQRsarjmAae7VmMPAsRT7lppVpIg6mK3zGthP9Hgz0YQQKuNcF+Ii7DfYk3Fxz40jRmePw==} + vite-node@3.0.7: + resolution: {integrity: sha512-2fX0QwX4GkkkpULXdT1Pf4q0tC1i1lFOyseKoonavXUNlQ77KpW2XqBGGNIm/J4Ows4KxgGJzDguYVPKwG/n5A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@6.1.0: - resolution: {integrity: sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: '>=1.21.0' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - - vite@6.1.1: - resolution: {integrity: sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==} + vite@6.2.0: + resolution: {integrity: sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -3457,16 +3570,16 @@ packages: vite: optional: true - vitest@3.0.6: - resolution: {integrity: sha512-/iL1Sc5VeDZKPDe58oGK4HUFLhw6b5XdY1MYawjuSaDA4sEfYlY9HnS6aCEG26fX+MgUi7MwlduTBHHAI/OvMA==} + vitest@3.0.7: + resolution: {integrity: sha512-IP7gPK3LS3Fvn44x30X1dM9vtawm0aesAa2yBIZ9vQf+qB69NXC5776+Qmcr7ohUXIQuLhk7xQR0aSUIDPqavg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.6 - '@vitest/ui': 3.0.6 + '@vitest/browser': 3.0.7 + '@vitest/ui': 3.0.7 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -3654,6 +3767,18 @@ snapshots: transitivePeerDependencies: - encoding + '@anthropic-ai/sdk@0.37.0': + dependencies: + '@types/node': 18.19.74 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.6.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + '@ark/schema@0.38.0': dependencies: '@ark/util': 0.38.0 @@ -3904,78 +4029,153 @@ snapshots: '@esbuild/aix-ppc64@0.24.2': optional: true + '@esbuild/aix-ppc64@0.25.0': + optional: true + '@esbuild/android-arm64@0.24.2': optional: true + '@esbuild/android-arm64@0.25.0': + optional: true + '@esbuild/android-arm@0.24.2': optional: true + '@esbuild/android-arm@0.25.0': + optional: true + '@esbuild/android-x64@0.24.2': optional: true + '@esbuild/android-x64@0.25.0': + optional: true + '@esbuild/darwin-arm64@0.24.2': optional: true + '@esbuild/darwin-arm64@0.25.0': + optional: true + '@esbuild/darwin-x64@0.24.2': optional: true + '@esbuild/darwin-x64@0.25.0': + optional: true + '@esbuild/freebsd-arm64@0.24.2': optional: true + '@esbuild/freebsd-arm64@0.25.0': + optional: true + '@esbuild/freebsd-x64@0.24.2': optional: true + '@esbuild/freebsd-x64@0.25.0': + optional: true + '@esbuild/linux-arm64@0.24.2': optional: true + '@esbuild/linux-arm64@0.25.0': + optional: true + '@esbuild/linux-arm@0.24.2': optional: true + '@esbuild/linux-arm@0.25.0': + optional: true + '@esbuild/linux-ia32@0.24.2': optional: true + '@esbuild/linux-ia32@0.25.0': + optional: true + '@esbuild/linux-loong64@0.24.2': optional: true + '@esbuild/linux-loong64@0.25.0': + optional: true + '@esbuild/linux-mips64el@0.24.2': optional: true + '@esbuild/linux-mips64el@0.25.0': + optional: true + '@esbuild/linux-ppc64@0.24.2': optional: true + '@esbuild/linux-ppc64@0.25.0': + optional: true + '@esbuild/linux-riscv64@0.24.2': optional: true + '@esbuild/linux-riscv64@0.25.0': + optional: true + '@esbuild/linux-s390x@0.24.2': optional: true + '@esbuild/linux-s390x@0.25.0': + optional: true + '@esbuild/linux-x64@0.24.2': optional: true + '@esbuild/linux-x64@0.25.0': + optional: true + '@esbuild/netbsd-arm64@0.24.2': optional: true + '@esbuild/netbsd-arm64@0.25.0': + optional: true + '@esbuild/netbsd-x64@0.24.2': optional: true + '@esbuild/netbsd-x64@0.25.0': + optional: true + '@esbuild/openbsd-arm64@0.24.2': optional: true + '@esbuild/openbsd-arm64@0.25.0': + optional: true + '@esbuild/openbsd-x64@0.24.2': optional: true + '@esbuild/openbsd-x64@0.25.0': + optional: true + '@esbuild/sunos-x64@0.24.2': optional: true + '@esbuild/sunos-x64@0.25.0': + optional: true + '@esbuild/win32-arm64@0.24.2': optional: true + '@esbuild/win32-arm64@0.25.0': + optional: true + '@esbuild/win32-ia32@0.24.2': optional: true + '@esbuild/win32-ia32@0.25.0': + optional: true + '@esbuild/win32-x64@0.24.2': optional: true + '@esbuild/win32-x64@0.25.0': + optional: true + '@eslint-community/eslint-utils@4.4.1(eslint@9.21.0(jiti@1.21.7))': dependencies: eslint: 9.21.0(jiti@1.21.7) @@ -4107,10 +4307,10 @@ snapshots: string-argv: 0.3.2 type-detect: 4.1.0 - '@lukulent/svelte-umami@0.0.4(svelte@5.20.3)': + '@lukulent/svelte-umami@0.0.4(svelte@5.20.4)': dependencies: esm-env: 1.2.2 - svelte: 5.20.3 + svelte: 5.20.4 '@manypkg/find-root@1.1.0': dependencies: @@ -4499,9 +4699,9 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@sveltejs/adapter-vercel@5.6.3(@sveltejs/kit@2.17.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(rollup@4.31.0)': + '@sveltejs/adapter-vercel@5.6.3(@sveltejs/kit@2.17.3(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(rollup@4.31.0)': dependencies: - '@sveltejs/kit': 2.17.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) + '@sveltejs/kit': 2.17.3(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) '@vercel/nft': 0.29.2(rollup@4.31.0) esbuild: 0.24.2 transitivePeerDependencies: @@ -4509,9 +4709,9 @@ snapshots: - rollup - supports-color - '@sveltejs/kit@2.17.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0))': + '@sveltejs/kit@2.17.3(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.1.1 @@ -4523,28 +4723,28 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.1 sirv: 3.0.0 - svelte: 5.20.3 - vite: 6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) + svelte: 5.20.4 + vite: 6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) debug: 4.4.0 - svelte: 5.20.3 - vite: 6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) + svelte: 5.20.4 + vite: 6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0))': + '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) debug: 4.4.0 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.20.3 - vite: 6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) - vitefu: 1.0.5(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) + svelte: 5.20.4 + vite: 6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) + vitefu: 1.0.5(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) transitivePeerDependencies: - supports-color @@ -4641,14 +4841,14 @@ snapshots: '@types/json-schema': 7.0.15 optional: true - '@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': + '@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/type-utils': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/parser': 8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.25.0 + '@typescript-eslint/type-utils': 8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/utils': 8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.25.0 eslint: 9.21.0(jiti@1.21.7) graphemer: 1.4.0 ignore: 5.3.2 @@ -4658,27 +4858,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': + '@typescript-eslint/parser@8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': dependencies: - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/scope-manager': 8.25.0 + '@typescript-eslint/types': 8.25.0 + '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.25.0 debug: 4.4.0 eslint: 9.21.0(jiti@1.21.7) typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.24.1': + '@typescript-eslint/scope-manager@8.25.0': dependencies: - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/types': 8.25.0 + '@typescript-eslint/visitor-keys': 8.25.0 - '@typescript-eslint/type-utils@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': + '@typescript-eslint/type-utils@8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) debug: 4.4.0 eslint: 9.21.0(jiti@1.21.7) ts-api-utils: 2.0.1(typescript@5.7.3) @@ -4686,12 +4886,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.24.1': {} + '@typescript-eslint/types@8.25.0': {} - '@typescript-eslint/typescript-estree@8.24.1(typescript@5.7.3)': + '@typescript-eslint/typescript-estree@8.25.0(typescript@5.7.3)': dependencies: - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/types': 8.25.0 + '@typescript-eslint/visitor-keys': 8.25.0 debug: 4.4.0 fast-glob: 3.3.3 is-glob: 4.0.3 @@ -4702,20 +4902,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': + '@typescript-eslint/utils@8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@1.21.7)) - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.25.0 + '@typescript-eslint/types': 8.25.0 + '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3) eslint: 9.21.0(jiti@1.21.7) typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.24.1': + '@typescript-eslint/visitor-keys@8.25.0': dependencies: - '@typescript-eslint/types': 8.24.1 + '@typescript-eslint/types': 8.25.0 eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.2.1': {} @@ -4758,43 +4958,43 @@ snapshots: validator: 13.12.0 optional: true - '@vitest/expect@3.0.6': + '@vitest/expect@3.0.7': dependencies: - '@vitest/spy': 3.0.6 - '@vitest/utils': 3.0.6 + '@vitest/spy': 3.0.7 + '@vitest/utils': 3.0.7 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.6(vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0))': + '@vitest/mocker@3.0.7(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0))': dependencies: - '@vitest/spy': 3.0.6 + '@vitest/spy': 3.0.7 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.1.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) - '@vitest/pretty-format@3.0.6': + '@vitest/pretty-format@3.0.7': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.0.6': + '@vitest/runner@3.0.7': dependencies: - '@vitest/utils': 3.0.6 + '@vitest/utils': 3.0.7 pathe: 2.0.3 - '@vitest/snapshot@3.0.6': + '@vitest/snapshot@3.0.7': dependencies: - '@vitest/pretty-format': 3.0.6 + '@vitest/pretty-format': 3.0.7 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.0.6': + '@vitest/spy@3.0.7': dependencies: tinyspy: 3.0.2 - '@vitest/utils@3.0.6': + '@vitest/utils@3.0.7': dependencies: - '@vitest/pretty-format': 3.0.6 + '@vitest/pretty-format': 3.0.7 loupe: 3.1.3 tinyrainbow: 2.0.0 @@ -4976,15 +5176,15 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 - bits-ui@1.3.2(svelte@5.20.3): + bits-ui@1.3.4(svelte@5.20.4): dependencies: '@floating-ui/core': 1.6.9 '@floating-ui/dom': 1.6.13 '@internationalized/date': 3.7.0 esm-env: 1.2.2 - runed: 0.23.4(svelte@5.20.3) - svelte: 5.20.3 - svelte-toolbelt: 0.7.1(svelte@5.20.3) + runed: 0.23.4(svelte@5.20.4) + svelte: 5.20.4 + svelte-toolbelt: 0.7.1(svelte@5.20.4) tabbable: 6.2.0 bottleneck@2.19.5: {} @@ -5280,6 +5480,34 @@ snapshots: '@esbuild/win32-ia32': 0.24.2 '@esbuild/win32-x64': 0.24.2 + esbuild@0.25.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.0 + '@esbuild/android-arm': 0.25.0 + '@esbuild/android-arm64': 0.25.0 + '@esbuild/android-x64': 0.25.0 + '@esbuild/darwin-arm64': 0.25.0 + '@esbuild/darwin-x64': 0.25.0 + '@esbuild/freebsd-arm64': 0.25.0 + '@esbuild/freebsd-x64': 0.25.0 + '@esbuild/linux-arm': 0.25.0 + '@esbuild/linux-arm64': 0.25.0 + '@esbuild/linux-ia32': 0.25.0 + '@esbuild/linux-loong64': 0.25.0 + '@esbuild/linux-mips64el': 0.25.0 + '@esbuild/linux-ppc64': 0.25.0 + '@esbuild/linux-riscv64': 0.25.0 + '@esbuild/linux-s390x': 0.25.0 + '@esbuild/linux-x64': 0.25.0 + '@esbuild/netbsd-arm64': 0.25.0 + '@esbuild/netbsd-x64': 0.25.0 + '@esbuild/openbsd-arm64': 0.25.0 + '@esbuild/openbsd-x64': 0.25.0 + '@esbuild/sunos-x64': 0.25.0 + '@esbuild/win32-arm64': 0.25.0 + '@esbuild/win32-ia32': 0.25.0 + '@esbuild/win32-x64': 0.25.0 + escalade@3.2.0: {} escape-string-regexp@4.0.0: {} @@ -5295,7 +5523,7 @@ snapshots: dependencies: eslint: 9.21.0(jiti@1.21.7) - eslint-plugin-svelte@2.46.1(eslint@9.21.0(jiti@1.21.7))(svelte@5.20.3): + eslint-plugin-svelte@2.46.1(eslint@9.21.0(jiti@1.21.7))(svelte@5.20.4): dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@1.21.7)) '@jridgewell/sourcemap-codec': 1.5.0 @@ -5308,9 +5536,9 @@ snapshots: postcss-safe-parser: 6.0.0(postcss@8.5.1) postcss-selector-parser: 6.1.2 semver: 7.7.0 - svelte-eslint-parser: 0.43.0(svelte@5.20.3) + svelte-eslint-parser: 0.43.0(svelte@5.20.4) optionalDependencies: - svelte: 5.20.3 + svelte: 5.20.4 transitivePeerDependencies: - ts-node @@ -5790,7 +6018,7 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsrepo@1.40.0(typescript@5.7.3)(ws@8.18.0)(zod@3.24.1): + jsrepo@1.40.1(typescript@5.7.3)(ws@8.18.0)(zod@3.24.1): dependencies: '@anthropic-ai/sdk': 0.36.3 '@biomejs/js-api': 0.7.1(@biomejs/wasm-nodejs@1.9.4) @@ -5807,16 +6035,18 @@ snapshots: execa: 9.5.2 get-tsconfig: 4.10.0 ignore: 7.0.3 + is-unicode-supported: 2.1.0 node-fetch: 3.3.2 octokit: 4.1.2 ollama: 0.5.13 - openai: 4.85.3(ws@8.18.0)(zod@3.24.1) + openai: 4.85.4(ws@8.18.0)(zod@3.24.1) package-manager-detector: 0.2.9 parse5: 7.2.1 pathe: 2.0.3 prettier: 3.5.2 semver: 7.7.1 - svelte: 5.20.3 + sisteransi: 1.0.5 + svelte: 5.20.4 ts-morph: 25.0.1 valibot: 1.0.0-rc.1(typescript@5.7.3) validate-npm-package-name: 6.0.0 @@ -5881,9 +6111,9 @@ snapshots: lru-cache@10.4.3: {} - lucide-svelte@0.475.0(svelte@5.20.3): + lucide-svelte@0.476.0(svelte@5.20.4): dependencies: - svelte: 5.20.3 + svelte: 5.20.4 magic-string@0.30.17: dependencies: @@ -5972,9 +6202,9 @@ snapshots: pkg-types: 1.2.1 ufo: 1.5.4 - mode-watcher@0.5.1(svelte@5.20.3): + mode-watcher@0.5.1(svelte@5.20.4): dependencies: - svelte: 5.20.3 + svelte: 5.20.4 mri@1.2.0: {} @@ -6047,6 +6277,10 @@ snapshots: dependencies: whatwg-fetch: 3.6.20 + ollama@0.5.14: + dependencies: + whatwg-fetch: 3.6.20 + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -6057,21 +6291,6 @@ snapshots: regex: 6.0.1 regex-recursion: 6.0.2 - openai@4.85.3(ws@8.18.0)(zod@3.24.1): - dependencies: - '@types/node': 18.19.74 - '@types/node-fetch': 2.6.12 - abort-controller: 3.0.0 - agentkeepalive: 4.6.0 - form-data-encoder: 1.7.2 - formdata-node: 4.4.1 - node-fetch: 2.7.0 - optionalDependencies: - ws: 8.18.0 - zod: 3.24.1 - transitivePeerDependencies: - - encoding - openai@4.85.4(ws@8.18.0)(zod@3.24.1): dependencies: '@types/node': 18.19.74 @@ -6262,10 +6481,10 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.3.3(prettier@3.5.2)(svelte@5.20.3): + prettier-plugin-svelte@3.3.3(prettier@3.5.2)(svelte@5.20.4): dependencies: prettier: 3.5.2 - svelte: 5.20.3 + svelte: 5.20.4 prettier@2.8.8: {} @@ -6386,10 +6605,10 @@ snapshots: dependencies: queue-microtask: 1.2.3 - runed@0.23.4(svelte@5.20.3): + runed@0.23.4(svelte@5.20.4): dependencies: esm-env: 1.2.2 - svelte: 5.20.3 + svelte: 5.20.4 sade@1.8.1: dependencies: @@ -6532,19 +6751,19 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.1.4(picomatch@4.0.2)(svelte@5.20.3)(typescript@5.7.3): + svelte-check@4.1.4(picomatch@4.0.2)(svelte@5.20.4)(typescript@5.7.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.3 fdir: 6.4.3(picomatch@4.0.2) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.20.3 + svelte: 5.20.4 typescript: 5.7.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@0.43.0(svelte@5.20.3): + svelte-eslint-parser@0.43.0(svelte@5.20.4): dependencies: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -6552,41 +6771,24 @@ snapshots: postcss: 8.5.1 postcss-scss: 4.0.9(postcss@8.5.1) optionalDependencies: - svelte: 5.20.3 + svelte: 5.20.4 - svelte-persisted-store@0.12.0(svelte@5.20.3): + svelte-persisted-store@0.12.0(svelte@5.20.4): dependencies: - svelte: 5.20.3 + svelte: 5.20.4 - svelte-toolbelt@0.4.6(svelte@5.20.3): + svelte-toolbelt@0.4.6(svelte@5.20.4): dependencies: clsx: 2.1.1 style-to-object: 1.0.8 - svelte: 5.20.3 + svelte: 5.20.4 - svelte-toolbelt@0.7.1(svelte@5.20.3): + svelte-toolbelt@0.7.1(svelte@5.20.4): dependencies: clsx: 2.1.1 - runed: 0.23.4(svelte@5.20.3) + runed: 0.23.4(svelte@5.20.4) style-to-object: 1.0.8 - svelte: 5.20.3 - - svelte@5.20.3: - dependencies: - '@ampproject/remapping': 2.3.0 - '@jridgewell/sourcemap-codec': 1.5.0 - '@types/estree': 1.0.6 - acorn: 8.14.0 - acorn-typescript: 1.4.13(acorn@8.14.0) - aria-query: 5.3.2 - axobject-query: 4.1.0 - clsx: 2.1.1 - esm-env: 1.2.2 - esrap: 1.4.3 - is-reference: 3.0.3 - locate-character: 3.0.0 - magic-string: 0.30.17 - zimmerframe: 1.1.2 + svelte: 5.20.4 svelte@5.20.4: dependencies: @@ -6605,12 +6807,12 @@ snapshots: magic-string: 0.30.17 zimmerframe: 1.1.2 - sveltekit-superforms@2.23.1(@sveltejs/kit@2.17.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.20.3)(typescript@5.7.3): + sveltekit-superforms@2.23.1(@sveltejs/kit@2.17.3(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.20.4)(typescript@5.7.3): dependencies: - '@sveltejs/kit': 2.17.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.3)(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) + '@sveltejs/kit': 2.17.3(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.20.4)(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) devalue: 5.1.1 memoize-weak: 1.0.2 - svelte: 5.20.3 + svelte: 5.20.4 ts-deepmerge: 7.0.2 optionalDependencies: '@exodus/schemasafe': 1.3.0 @@ -6811,11 +7013,11 @@ snapshots: type-fest@4.33.0: {} - typescript-eslint@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3): + typescript-eslint@8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) - '@typescript-eslint/parser': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/parser': 8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/utils': 8.25.0(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) eslint: 9.21.0(jiti@1.21.7) typescript: 5.7.3 transitivePeerDependencies: @@ -6894,6 +7096,10 @@ snapshots: optionalDependencies: typescript: 5.7.3 + valibot@1.0.0-rc.2(typescript@5.7.3): + optionalDependencies: + typescript: 5.7.3 + validate-npm-package-name@5.0.1: {} validate-npm-package-name@6.0.0: {} @@ -6901,11 +7107,11 @@ snapshots: validator@13.12.0: optional: true - vaul-svelte@1.0.0-next.3(svelte@5.20.3): + vaul-svelte@1.0.0-next.3(svelte@5.20.4): dependencies: - bits-ui: 1.3.2(svelte@5.20.3) - svelte: 5.20.3 - svelte-toolbelt: 0.4.6(svelte@5.20.3) + bits-ui: 1.3.4(svelte@5.20.4) + svelte: 5.20.4 + svelte-toolbelt: 0.4.6(svelte@5.20.4) vfile-message@4.0.2: dependencies: @@ -6917,13 +7123,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@3.0.6(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0): + vite-node@3.0.7(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 6.1.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - jiti @@ -6938,20 +7144,9 @@ snapshots: - tsx - yaml - vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0): + vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0): dependencies: - esbuild: 0.24.2 - postcss: 8.5.1 - rollup: 4.31.0 - optionalDependencies: - '@types/node': 22.13.5 - fsevents: 2.3.3 - jiti: 1.21.7 - yaml: 2.7.0 - - vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0): - dependencies: - esbuild: 0.24.2 + esbuild: 0.25.0 postcss: 8.5.3 rollup: 4.31.0 optionalDependencies: @@ -6960,19 +7155,19 @@ snapshots: jiti: 1.21.7 yaml: 2.7.0 - vitefu@1.0.5(vite@6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)): + vitefu@1.0.5(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)): optionalDependencies: - vite: 6.1.1(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) - vitest@3.0.6(@types/node@22.13.5)(jiti@1.21.7)(jsdom@26.0.0)(yaml@2.7.0): + vitest@3.0.7(@types/node@22.13.5)(jiti@1.21.7)(jsdom@26.0.0)(yaml@2.7.0): dependencies: - '@vitest/expect': 3.0.6 - '@vitest/mocker': 3.0.6(vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) - '@vitest/pretty-format': 3.0.6 - '@vitest/runner': 3.0.6 - '@vitest/snapshot': 3.0.6 - '@vitest/spy': 3.0.6 - '@vitest/utils': 3.0.6 + '@vitest/expect': 3.0.7 + '@vitest/mocker': 3.0.7(vite@6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0)) + '@vitest/pretty-format': 3.0.7 + '@vitest/runner': 3.0.7 + '@vitest/snapshot': 3.0.7 + '@vitest/spy': 3.0.7 + '@vitest/utils': 3.0.7 chai: 5.2.0 debug: 4.4.0 expect-type: 1.1.0 @@ -6983,8 +7178,8 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.1.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) - vite-node: 3.0.6(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) + vite-node: 3.0.7(@types/node@22.13.5)(jiti@1.21.7)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.13.5 diff --git a/sites/docs/package.json b/sites/docs/package.json index 3392265a..877588ec 100644 --- a/sites/docs/package.json +++ b/sites/docs/package.json @@ -20,7 +20,7 @@ "@shikijs/markdown-it": "^3.0.0", "@shikijs/themes": "^3.0.0", "@sveltejs/adapter-vercel": "^5.6.3", - "@sveltejs/kit": "^2.17.2", + "@sveltejs/kit": "^2.17.3", "@sveltejs/vite-plugin-svelte": "^5.0.3", "@tailwindcss/typography": "^0.5.16", "@types/eslint": "^9.6.1", @@ -28,15 +28,15 @@ "@types/npm-package-arg": "^6.1.4", "@upstash/redis": "^1.34.4", "autoprefixer": "^10.4.20", - "bits-ui": "1.3.2", + "bits-ui": "1.3.4", "clsx": "^2.1.1", "eslint": "^9.21.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-svelte": "^2.46.1", "globals": "^16.0.0", "isomorphic-dompurify": "^2.22.0", - "jsrepo": "^1.40.0", - "lucide-svelte": "^0.475.0", + "jsrepo": "^1.40.1", + "lucide-svelte": "^0.476.0", "markdown-it": "^14.1.0", "markdown-it-table": "^4.1.1", "mode-watcher": "^0.5.1", @@ -46,7 +46,7 @@ "prettier-plugin-svelte": "^3.3.3", "runed": "^0.23.4", "shiki": "^3.0.0", - "svelte": "^5.20.3", + "svelte": "^5.20.4", "svelte-check": "^4.1.4", "svelte-persisted-store": "^0.12.0", "sveltekit-superforms": "^2.23.1", @@ -55,9 +55,9 @@ "tailwindcss": "^3.4.17", "tailwindcss-animate": "^1.0.7", "typescript": "^5.7.3", - "typescript-eslint": "^8.24.1", - "valibot": "1.0.0-rc.1", + "typescript-eslint": "^8.25.0", + "valibot": "1.0.0-rc.2", "vaul-svelte": "1.0.0-next.3", - "vite": "^6.1.1" + "vite": "^6.2.0" } } diff --git a/sites/docs/src/lib/components/site/docs/code-span.svelte b/sites/docs/src/lib/components/site/docs/code-span.svelte index 22d01b06..76d0448d 100644 --- a/sites/docs/src/lib/components/site/docs/code-span.svelte +++ b/sites/docs/src/lib/components/site/docs/code-span.svelte @@ -10,6 +10,6 @@ let { children, class: className }: Props = $props(); - + {@render children()} diff --git a/sites/docs/src/lib/map.ts b/sites/docs/src/lib/map.ts index c890bb7f..f1dde405 100644 --- a/sites/docs/src/lib/map.ts +++ b/sites/docs/src/lib/map.ts @@ -136,6 +136,10 @@ const categories: Category[] = [ name: 'Private Repositories', href: '/docs/private-repositories' }, + { + name: 'Dynamic Registries', + href: '/docs/dynamic-registries' + }, { name: 'Badges', href: '/docs/badges' diff --git a/sites/docs/src/routes/docs/cli/update/+page.svelte b/sites/docs/src/routes/docs/cli/update/+page.svelte index 378ddfbf..9b411c30 100644 --- a/sites/docs/src/routes/docs/cli/update/+page.svelte +++ b/sites/docs/src/routes/docs/cli/update/+page.svelte @@ -41,7 +41,7 @@
  • - - Claude 3.5 Sonnet + Claude 3.7 Sonnet (API Key required)
  • diff --git a/sites/docs/src/routes/docs/dynamic-registries/+page.svelte b/sites/docs/src/routes/docs/dynamic-registries/+page.svelte new file mode 100644 index 00000000..9692ceae --- /dev/null +++ b/sites/docs/src/routes/docs/dynamic-registries/+page.svelte @@ -0,0 +1,129 @@ + + + +

    + If you have ever used shadcn to install components from + v0 you are familiar with dynamic registries. They + allow the server to serve different files to the CLI based on the route that was requested. +

    +

    + This is useful if your product generates code that you want to distribute through the CLI. +

    +

    + To understand how to effectively create a dynamic registry in you need to have a deeper + understanding of the way that the manifest file works. +

    +How jsrepo locates files +

    + The jsrepo-manifest.json includes all the blocks in your registry and their locations + relative to the manifest file. +

    +

    + This means that you need to ensure that the files needed for your registry are served from the + path that is inferred from the jsrepo-manifest.json. +

    +

    For example take this manifest entry for a button component:

    + +

    + The directory that the files for button live in is src/ui/button because the + directory prop is set to src/ui/button. +

    +

    + Because of this expects the files button.svelte and + index.ts to exist at + src/ui/button/button.svelte and + src/ui/button/index.ts respectively. +

    +Dependencies +

    + Any remote or local dependencies that need to be resolved should also be added to each block. In + the case of the button component shown above. It has 3 remote dependencies and 1 local dependency. +

    +

    + Remote dependencies exist under dependencies + or devDependencies and give the name of the package optionally followed by the + version. +

    +

    + Local dependencies exist under localDependencies and reference other blocks in + the registry and they are listed by {`/`}. In this case + utils/utils is referring to the utils block in the utils category. +

    +

    + Local dependencies should also come with corresponding mappings in _imports_. + The _imports_ key maps literal import statements to a template that is replaced + before adding blocks to your project. This allows users to put blocks anywhere in their project without + breaking their code. +

    +

    + If you want dynamic blocks to depend on other blocks you will need to be able to add keys to + _imports_ to prevent breaking their code. Heres an example of how you might resolve + the utils import from the button component above: +

    + +

    + Essentially the path to the local dependency is insignificant but the file or extension after it + must be included. +

    +Type Definitions +

    Type definitions for the manifest can be acquired via the JS API:

    + +Conclusion +

    + With all of this considered you can pretty easily create a dynamic jsrepo registry in a few + minutes and start distributing components through the jsrepo CLI. +

    +
    + Examples +
      +
    • + github/ieedan/jsrepo-dynamic +
    • +
    +