diff --git a/tools/web-ux/browser-tests/workspace_home_fixture_server.ts b/tools/web-ux/browser-tests/workspace_home_fixture_server.ts index b1bf91a9b..0186652ae 100644 --- a/tools/web-ux/browser-tests/workspace_home_fixture_server.ts +++ b/tools/web-ux/browser-tests/workspace_home_fixture_server.ts @@ -97,6 +97,16 @@ Deno.serve({ hostname: "127.0.0.1", port }, async (request) => { diagnostics: [], }); } + // Keyboard focus can preload the Tickets route before navigation. + if (path === "/orchestrator") { + return json({ + workspace_id: workspaceId, + online: false, + disposition: "offline", + worker: null, + diagnostics: [], + }); + } if (path === "/working-directories") { return json({ workspace_id: workspaceId, items: [], diagnostics: [] }); } diff --git a/tools/web-ux/browser-tests/workspace_home_shell_test.ts b/tools/web-ux/browser-tests/workspace_home_shell_test.ts index 19ae707eb..4b16312e6 100644 --- a/tools/web-ux/browser-tests/workspace_home_shell_test.ts +++ b/tools/web-ux/browser-tests/workspace_home_shell_test.ts @@ -66,6 +66,9 @@ Deno.test("production Home dashboard isolates failures, shows authoritative reco }); page.on("requestfailed", (request) => errors.push(request.url())); page.on("request", (request) => requests.push(request.url())); + page.on("response", (response) => { + if (response.status() >= 400) errors.push(`${response.status()} ${response.url()}`); + }); for (const workspace of ["home-owner", "home-member", "home-long"]) { await page.goto(`${url}/w/${workspace}`); await ready(page); diff --git a/web/workspace/README.md b/web/workspace/README.md index d4f7b3827..f8f3b8f2e 100644 --- a/web/workspace/README.md +++ b/web/workspace/README.md @@ -2,8 +2,13 @@ SvelteKit static SPA for the Yoi workspace control plane. -The frontend is intentionally static. Workspace authority, validation, and API -behavior live in the Rust `yoi-server` backend. +The frontend is intentionally static. Workspace authority, validation, and API behavior live in the Rust `yoi-server` backend. + +## Toolchain + +Dependencies are pinned in `deno.json` and `package.json`, with resolutions in `deno.lock`. Run `deno install --frozen` to reproduce the installed versions. The current toolchain is SvelteKit 3, Svelte 5, Vite 8, and Vitest 5. TypeScript is kept on 6.0.3 because SvelteKit 3.0.0 and svelte-check 4.7.6 do not yet declare support for TypeScript 7. + +SvelteKit and adapter settings live in `vite.config.ts`. Internal library imports use the `#lib/*` package subpath mapping with explicit file extensions, shared by Vite, TypeScript, and Deno. `tsconfig.json` extends `$app/tsconfig`; generated WASM JavaScript is consumed through its generated `.d.ts`, not checked as handwritten JavaScript. Deno-only tests under `test/` are type-checked by `deno task test`. ## Development @@ -23,9 +28,7 @@ cd web/workspace deno task dev ``` -The Vite dev server proxies `/api/*` to `http://127.0.0.1:8787`, so frontend hot -reload works while the Rust backend serves the workspace API. Open the Vite URL -printed by `deno task dev`. +The Vite dev server proxies `/api/*` to `http://127.0.0.1:8787`, so frontend hot reload works while the Rust backend serves the workspace API. Open the Vite URL printed by `deno task dev`. If you want to run the backend from the repository root instead: @@ -33,10 +36,7 @@ If you want to run the backend from the repository root instead: cargo run -p yoi-workspace-server --bin yoi-server -- serve --listen 127.0.0.1:8787 ``` -The backend reads Workspace records from the Yoi server DB at -`/server/server.db`. Run -`cargo run -p yoi-workspace-server --bin yoi-server -- init --workspace .` first when the server -DB has not been initialized. +The backend reads Workspace records from the Yoi server DB at `/server/server.db`. Run `cargo run -p yoi-workspace-server --bin yoi-server -- init --workspace .` first when the server DB has not been initialized. ## Static build @@ -46,13 +46,14 @@ Build the SPA: deno task build ``` -Static asset packaging is a deployment concern. Local development normally uses -the Vite dev server proxy plus the Rust backend command above. +Static asset packaging is a deployment concern. Local development normally uses the Vite dev server proxy plus the Rust backend command above. ## Checks ```bash deno task check +deno task test +deno task test:component deno task build ``` diff --git a/web/workspace/deno.json b/web/workspace/deno.json index 6c244499d..378b1cf3c 100644 --- a/web/workspace/deno.json +++ b/web/workspace/deno.json @@ -3,40 +3,39 @@ "nodeModulesDir": "auto", "tasks": { "install": "deno install", - "dev": "deno run -A npm:vite@7.2.7 dev", + "dev": "deno run -A npm:vite@8.3.2 dev", "dev:backend": "cd ../.. && cargo run -p yoi-workspace-server --bin yoi-server -- serve --listen 127.0.0.1:8787", - "check": "deno run -A npm:@sveltejs/kit@2.49.4 sync && deno run -A npm:svelte-check@4.3.4 --tsconfig ./tsconfig.json", + "check": "deno run -A npm:@sveltejs/kit@3.0.0 sync && deno run -A npm:svelte-check@4.7.6 --tsconfig ./tsconfig.json", "test": "deno test --allow-read=src,test,tests,../../docs --allow-env=LOG,VSCODE_TEXTMATE_DEBUG,NODE_ENV tests/workspace-model.test.ts tests/repository-api.test.ts tests/workspace-catalog.test.ts tests/profile-api.test.ts tests/skill-api.test.ts tests/tooltip-contract.test.ts tests/bevel-contract.test.ts tests/bevel-line-contract.test.ts tests/typography-contract.test.ts src/lib/workspace/auth/model.test.ts src/lib/workspace/protocol-validator.test.ts tests/auth-api.test.ts src/lib/workspace/api/http.test.ts src/lib/workspace/api/workers.test.ts src/lib/workspace/api/ticket-browser.test.ts src/lib/workspace/header/breadcrumb-model.test.ts src/lib/workspace/console/chat-submit.test.ts src/lib/workspace/console/composer-delivery.test.ts test/composer-history.test.ts tests/composer-paste.test.ts src/lib/workspace/console/composer-command.test.ts src/lib/workspace/console/composer-draft.test.ts src/lib/workspace/console/composer-completion.test.ts src/lib/workspace/console/file-completions.test.ts test/console/ansi.test.ts src/lib/workspace/console/history.test.ts src/lib/workspace/console/model.test.ts src/lib/workspace/console/turn-navigation.test.ts src/lib/workspace/console/run-status.test.ts src/lib/workspace/companion/api.test.ts tests/workdir-api.test.ts tests/workdir-permissions.test.ts src/lib/workspace/console/tasks.test.ts test/ticket-detail-route-reuse.test.ts test/spa-shell.test.ts test/objective-pages.test.ts test/repositories/ui.test.ts src/lib/workspace/console/worker-console.ui.test.ts src/lib/workspace/settings/model.test.ts tests/runtime-connection.test.ts tests/runtime-management.test.ts tests/runtime-management-source.test.ts src/lib/workspace/sidebar/override-stack.test.ts src/lib/workspace/sidebar/route-ownership.test.ts src/lib/workspace/sidebar/workers.test.ts src/lib/workspace/sidebar/workspace-switcher.test.ts src/lib/workspace/sidebar/worker-subscription.test.ts src/lib/workspace/sidebar/worker-workdir-meta.test.ts src/lib/workspace/sidebar/worker-launch.test.ts test/sidebar/worker-actions.test.ts src/lib/workspace/tickets/merge-request-resources.test.ts src/lib/workspace/tickets/ticket-panel.test.ts test/merge-request-status.test.ts test/config-source/decodal-grammar.test.ts test/config-source/editor-state.test.ts test/config-source/fixed-schema-wrapper.test.ts test/config-source/toolchain.test.ts test/config-source/wasm-parity.test.ts test/config-source/api.test.ts tests/memory-api.test.ts test/repository-access/api.test.ts test/repository-access/loader.test.ts test/repository-access/model.test.ts test/repository-access/structure.test.ts test/repository-ssh-connection-ui.test.ts", - "test:component": "deno run -A npm:vitest@3.2.4 run --config vitest.config.ts", - "build": "deno run -A npm:vite@7.2.7 build", - "preview": "deno run -A npm:vite@7.2.7 preview", + "test:component": "deno run -A npm:vitest@5.0.3 run --config vitest.config.ts", + "build": "deno run -A npm:vite@8.3.2 build", + "preview": "deno run -A npm:vite@8.3.2 preview", "generate:repository-api": "cd ../.. && cargo run -q -p server-api --example generate_repository_openapi_types", "check:repository-api": "cd ../.. && cargo run -q -p server-api --example generate_repository_openapi_types -- --check", "generate:ticket-api": "cd ../.. && cargo run -q -p server-api --example generate_ticket_api_types", "check:ticket-api": "cd ../.. && cargo run -q -p server-api --example generate_ticket_api_types -- --check" }, "imports": { - "$lib/": "./src/lib/", - "@sveltejs/adapter-static": "npm:@sveltejs/adapter-static@3.0.9", - "@sveltejs/kit": "npm:@sveltejs/kit@2.49.4", - "@sveltejs/vite-plugin-svelte": "npm:@sveltejs/vite-plugin-svelte@6.2.1", - "@codemirror/autocomplete": "npm:@codemirror/autocomplete@6.20.0", - "@codemirror/commands": "npm:@codemirror/commands@6.9.0", + "@sveltejs/adapter-static": "npm:@sveltejs/adapter-static@4.0.0", + "@sveltejs/kit": "npm:@sveltejs/kit@3.0.0", + "@sveltejs/vite-plugin-svelte": "npm:@sveltejs/vite-plugin-svelte@7.3.1", + "@codemirror/autocomplete": "npm:@codemirror/autocomplete@6.20.3", + "@codemirror/commands": "npm:@codemirror/commands@6.11.1", "@codemirror/language": "npm:@codemirror/language@6.12.4", - "@codemirror/state": "npm:@codemirror/state@6.7.1", - "@codemirror/view": "npm:@codemirror/view@6.43.8", - "@lezer/common": "npm:@lezer/common@1.5.2", - "@lezer/highlight": "npm:@lezer/highlight@1.2.3", - "decodal-codemirror": "npm:decodal-codemirror@0.3.0", + "@codemirror/state": "npm:@codemirror/state@6.7.6", + "@codemirror/view": "npm:@codemirror/view@6.43.13", + "@lezer/common": "npm:@lezer/common@1.5.3", + "@lezer/highlight": "npm:@lezer/highlight@1.2.5", + "decodal-codemirror": "npm:decodal-codemirror@0.3.1", "clsx": "npm:clsx@2.1.1", - "cookie": "npm:cookie@0.6.0", - "devalue": "npm:devalue@5.6.4", - "set-cookie-parser": "npm:set-cookie-parser@2.7.2", - "shiki": "npm:shiki@4.4.2", - "svelte": "npm:svelte@5.45.6", - "svelte-check": "npm:svelte-check@4.3.4", - "typescript": "npm:typescript@5.9.3", - "vite": "npm:vite@7.2.7" + "cookie": "npm:cookie@2.0.1", + "devalue": "npm:devalue@6.0.2", + "set-cookie-parser": "npm:set-cookie-parser@3.1.2", + "shiki": "npm:shiki@4.5.0", + "svelte": "npm:svelte@5.57.1", + "svelte-check": "npm:svelte-check@4.7.6", + "typescript": "npm:typescript@6.0.3", + "vite": "npm:vite@8.3.2" }, "fmt": { "proseWrap": "never" diff --git a/web/workspace/deno.lock b/web/workspace/deno.lock index de8a572cd..c8d81e1f8 100644 --- a/web/workspace/deno.lock +++ b/web/workspace/deno.lock @@ -3,35 +3,35 @@ "specifiers": { "jsr:@std/assert@*": "1.0.19", "jsr:@std/internal@^1.0.12": "1.0.14", - "npm:@codemirror/autocomplete@6.20.0": "6.20.0", - "npm:@codemirror/commands@6.9.0": "6.9.0", + "npm:@codemirror/autocomplete@6.20.3": "6.20.3", + "npm:@codemirror/commands@6.11.1": "6.11.1", "npm:@codemirror/language@6.12.4": "6.12.4", - "npm:@codemirror/state@6.7.1": "6.7.1", - "npm:@codemirror/view@6.43.8": "6.43.8", + "npm:@codemirror/state@6.7.6": "6.7.6", + "npm:@codemirror/view@6.43.13": "6.43.13", "npm:@fontsource/ibm-plex-mono@5.3.0": "5.3.0", - "npm:@humanspeak/svelte-markdown@1.9.1": "1.9.1_shiki@4.4.2_svelte@5.45.6", - "npm:@lezer/common@1.5.2": "1.5.2", - "npm:@lezer/highlight@1.2.3": "1.2.3", - "npm:@sveltejs/adapter-static@3.0.9": "3.0.9_@sveltejs+kit@2.49.4__@sveltejs+vite-plugin-svelte@6.2.1___svelte@5.45.6___vite@7.2.7____yaml@2.9.0___yaml@2.9.0__svelte@5.45.6__typescript@5.9.3__vite@7.2.7___yaml@2.9.0__yaml@2.9.0_yaml@2.9.0", - "npm:@sveltejs/kit@2.49.4": "2.49.4_@sveltejs+vite-plugin-svelte@6.2.1__svelte@5.45.6__vite@7.2.7___yaml@2.9.0__yaml@2.9.0_svelte@5.45.6_typescript@5.9.3_vite@7.2.7__yaml@2.9.0_yaml@2.9.0", - "npm:@sveltejs/vite-plugin-svelte@6.2.1": "6.2.1_svelte@5.45.6_vite@7.2.7__yaml@2.9.0_yaml@2.9.0", - "npm:@testing-library/svelte@5.2.8": "5.2.8_svelte@5.45.6_vite@7.2.7__yaml@2.9.0_vitest@3.2.4__happy-dom@20.12.0_happy-dom@20.12.0", + "npm:@humanspeak/svelte-markdown@2.0.0": "2.0.0_shiki@4.5.0_svelte@5.57.1", + "npm:@lezer/common@1.5.3": "1.5.3", + "npm:@lezer/highlight@1.2.5": "1.2.5", + "npm:@sveltejs/adapter-static@4.0.0": "4.0.0_@sveltejs+kit@3.0.0__@sveltejs+vite-plugin-svelte@7.3.1___svelte@5.57.1___vite@8.3.2____yaml@2.9.1___yaml@2.9.1__svelte@5.57.1__typescript@6.0.3__vite@8.3.2___yaml@2.9.1__yaml@2.9.1_@sveltejs+vite-plugin-svelte@7.3.1__svelte@5.57.1__vite@8.3.2___yaml@2.9.1__yaml@2.9.1_svelte@5.57.1_typescript@6.0.3_vite@8.3.2__yaml@2.9.1_yaml@2.9.1", + "npm:@sveltejs/kit@3.0.0": "3.0.0_@sveltejs+vite-plugin-svelte@7.3.1__svelte@5.57.1__vite@8.3.2___yaml@2.9.1__yaml@2.9.1_svelte@5.57.1_typescript@6.0.3_vite@8.3.2__yaml@2.9.1_yaml@2.9.1", + "npm:@sveltejs/vite-plugin-svelte@7.3.1": "7.3.1_svelte@5.57.1_vite@8.3.2__yaml@2.9.1_yaml@2.9.1", + "npm:@testing-library/svelte@5.4.2": "5.4.2_svelte@5.57.1_vite@8.3.2__yaml@2.9.1_vitest@5.0.3__happy-dom@20.14.5__vite@8.3.2___yaml@2.9.1__yaml@2.9.1_happy-dom@20.14.5_yaml@2.9.1", "npm:clsx@2.1.1": "2.1.1", - "npm:cookie@0.6.0": "0.6.0", - "npm:decodal-codemirror@0.3.0": "0.3.0_@codemirror+language@6.12.4_@codemirror+view@6.43.8_@lezer+highlight@1.2.3_@lezer+lr@1.4.10", - "npm:devalue@5.6.4": "5.6.4", + "npm:cookie@2.0.1": "2.0.1", + "npm:decodal-codemirror@0.3.1": "0.3.1_@codemirror+language@6.12.4_@codemirror+view@6.43.13_@lezer+highlight@1.2.5_@lezer+lr@1.4.10", + "npm:devalue@6.0.2": "6.0.2", "npm:gen-interface-jp@0.8.0": "0.8.0", - "npm:happy-dom@20.12.0": "20.12.0", + "npm:happy-dom@20.14.5": "20.14.5", "npm:marked@18.0.13": "18.0.13", - "npm:set-cookie-parser@2.7.2": "2.7.2", - "npm:shiki@4.4.2": "4.4.2", + "npm:set-cookie-parser@3.1.2": "3.1.2", + "npm:shiki@4.5.0": "4.5.0", "npm:sv@*": "0.10.8", - "npm:svelte-check@4.3.4": "4.3.4_svelte@5.45.6_typescript@5.9.3", - "npm:svelte@5.45.6": "5.45.6", - "npm:typescript@5.9.3": "5.9.3", - "npm:vite@7.2.7": "7.2.7_yaml@2.9.0", - "npm:vitest@3.2.4": "3.2.4_happy-dom@20.12.0", - "npm:yaml@2.9.0": "2.9.0" + "npm:svelte-check@4.7.6": "4.7.6_svelte@5.57.1_typescript@6.0.3", + "npm:svelte@5.57.1": "5.57.1", + "npm:typescript@6.0.3": "6.0.3", + "npm:vite@8.3.2": "8.3.2_yaml@2.9.1", + "npm:vitest@5.0.3": "5.0.3_happy-dom@20.14.5_vite@8.3.2__yaml@2.9.1_yaml@2.9.1", + "npm:yaml@2.9.1": "2.9.1" }, "jsr": { "@std/assert@1.0.19": { @@ -49,7 +49,7 @@ "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "dependencies": [ "@babel/helper-validator-identifier", - "js-tokens@4.0.0", + "js-tokens", "picocolors" ] }, @@ -59,8 +59,8 @@ "@babel/runtime@7.29.7": { "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==" }, - "@codemirror/autocomplete@6.20.0": { - "integrity": "sha512-bOwvTOIJcG5FVo5gUUupiwYh8MioPLQ4UcqbcRf7UQ98X90tCa9E1kZ3Z7tqwpZxYyOvh1YTYbmZE9RTfTp5hg==", + "@codemirror/autocomplete@6.20.3": { + "integrity": "sha512-tlosUqb+3BbxCxZdu4tKeRghPFC+QM7q4X5YhKV2eCmPG+1r2F3f4AaSz5sCrFqUtX4Jh20VFTKecl16MgiV9g==", "dependencies": [ "@codemirror/language", "@codemirror/state", @@ -68,8 +68,8 @@ "@lezer/common" ] }, - "@codemirror/commands@6.9.0": { - "integrity": "sha512-454TVgjhO6cMufsyyGN70rGIfJxJEjcqjBG2x2Y03Y/+Fm99d3O/Kv1QDYWuG6hvxsgmjXmBuATikIIYvERX+w==", + "@codemirror/commands@6.11.1": { + "integrity": "sha512-O/4hG3SC1YwcmQ0d2UVNDs+AsaNWd1iHVxbTeEBuqH+6bExAiPK3iS/BvpY6rZGURALv4ZD3sIgcCmRvw3ehBg==", "dependencies": [ "@codemirror/language", "@codemirror/state", @@ -88,14 +88,14 @@ "style-mod" ] }, - "@codemirror/state@6.7.1": { - "integrity": "sha512-9QzNDgE4EYDnAHfrTlR2lwiPciiOymLtwKK+8yHQzCc7GXhAP9xdEbEJFy2IWB1j9UGUl9BsgMmTo/ImA02T7A==", + "@codemirror/state@6.7.6": { + "integrity": "sha512-kAz+AncRtKuIknedxT1bq4XwXv4UowhbkHU1myPrtVb/jZtImWuV5BXzv5vK6i3kYACsdiZiQKFQQ5Mq7elW8w==", "dependencies": [ "@marijn/find-cluster-break" ] }, - "@codemirror/view@6.43.8": { - "integrity": "sha512-qtItTDssZ/5GFfi94hrILu9j/VUeFPDPkhovEfmWFj2ipTxnzPB8DdHgfbb8HYTzLTYhrndKmyQxXUz/PDLenw==", + "@codemirror/view@6.43.13": { + "integrity": "sha512-sihaFrUzAsYBQsL9J2t69y8nfMQGwcYmggAZsk+kjPbjYZMyuf2hU8tUNTZ+P+isb6XRr8JE22TZlJxBoVdH1A==", "dependencies": [ "@codemirror/state", "crelt", @@ -103,149 +103,19 @@ "w3c-keyname" ] }, - "@esbuild/aix-ppc64@0.25.12": { - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "os": ["aix"], - "cpu": ["ppc64"] - }, - "@esbuild/android-arm64@0.25.12": { - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "os": ["android"], - "cpu": ["arm64"] - }, - "@esbuild/android-arm@0.25.12": { - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "os": ["android"], - "cpu": ["arm"] - }, - "@esbuild/android-x64@0.25.12": { - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "os": ["android"], - "cpu": ["x64"] - }, - "@esbuild/darwin-arm64@0.25.12": { - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "os": ["darwin"], - "cpu": ["arm64"] - }, - "@esbuild/darwin-x64@0.25.12": { - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "os": ["darwin"], - "cpu": ["x64"] - }, - "@esbuild/freebsd-arm64@0.25.12": { - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "os": ["freebsd"], - "cpu": ["arm64"] - }, - "@esbuild/freebsd-x64@0.25.12": { - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "os": ["freebsd"], - "cpu": ["x64"] - }, - "@esbuild/linux-arm64@0.25.12": { - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "os": ["linux"], - "cpu": ["arm64"] - }, - "@esbuild/linux-arm@0.25.12": { - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "os": ["linux"], - "cpu": ["arm"] - }, - "@esbuild/linux-ia32@0.25.12": { - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "os": ["linux"], - "cpu": ["ia32"] - }, - "@esbuild/linux-loong64@0.25.12": { - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "os": ["linux"], - "cpu": ["loong64"] - }, - "@esbuild/linux-mips64el@0.25.12": { - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "os": ["linux"], - "cpu": ["mips64el"] - }, - "@esbuild/linux-ppc64@0.25.12": { - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "os": ["linux"], - "cpu": ["ppc64"] - }, - "@esbuild/linux-riscv64@0.25.12": { - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "os": ["linux"], - "cpu": ["riscv64"] - }, - "@esbuild/linux-s390x@0.25.12": { - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "os": ["linux"], - "cpu": ["s390x"] - }, - "@esbuild/linux-x64@0.25.12": { - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "os": ["linux"], - "cpu": ["x64"] - }, - "@esbuild/netbsd-arm64@0.25.12": { - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "os": ["netbsd"], - "cpu": ["arm64"] - }, - "@esbuild/netbsd-x64@0.25.12": { - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "os": ["netbsd"], - "cpu": ["x64"] - }, - "@esbuild/openbsd-arm64@0.25.12": { - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "os": ["openbsd"], - "cpu": ["arm64"] - }, - "@esbuild/openbsd-x64@0.25.12": { - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "os": ["openbsd"], - "cpu": ["x64"] - }, - "@esbuild/openharmony-arm64@0.25.12": { - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "os": ["openharmony"], - "cpu": ["arm64"] - }, - "@esbuild/sunos-x64@0.25.12": { - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "os": ["sunos"], - "cpu": ["x64"] - }, - "@esbuild/win32-arm64@0.25.12": { - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "os": ["win32"], - "cpu": ["arm64"] - }, - "@esbuild/win32-ia32@0.25.12": { - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "os": ["win32"], - "cpu": ["ia32"] - }, - "@esbuild/win32-x64@0.25.12": { - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "os": ["win32"], - "cpu": ["x64"] - }, "@fontsource/ibm-plex-mono@5.3.0": { "integrity": "sha512-eTgnZjZEGk1QtD3ZstF+Vclo2HLAni8YMy34/DxllwZvyz1lR/1RF/xTiAquOBO7MvqBx8D2Ig2WCPMVfdZu7Q==" }, "@humanspeak/memory-cache@1.2.0": { "integrity": "sha512-im7GIIpgjdD6Fx68xCeiXw3XiDv30/WMRAaodMm+ep0ptYfEUd0cdNeTAylHGIRTJIeByKFHdTmPjAktyDM/JQ==" }, - "@humanspeak/svelte-markdown@1.9.1_shiki@4.4.2_svelte@5.45.6": { - "integrity": "sha512-2JjpATdZfhGQurV38LtkUkPkyQzM7eXku6LoDBeK6i69qqOe0OLmMwpqtMnhwG3ItdxXOt/3miPbSaNTFqMl5Q==", + "@humanspeak/svelte-markdown@2.0.0_shiki@4.5.0_svelte@5.57.1": { + "integrity": "sha512-Dg3YNMMX0/ZOVNKGEilQjagMT8a/GgfufDycWxRoLXqVd/Ygs3WCQuwrsqJuBST4fAK5oFh0jql1c6Unw3o9iA==", "dependencies": [ "@humanspeak/memory-cache", "github-slugger", "htmlparser2", - "marked", + "marked@18.0.14", "shiki", "svelte" ], @@ -270,8 +140,8 @@ "@jridgewell/resolve-uri@3.1.2": { "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" }, - "@jridgewell/sourcemap-codec@1.5.5": { - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" + "@jridgewell/sourcemap-codec@1.6.0": { + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==" }, "@jridgewell/trace-mapping@0.3.31": { "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", @@ -280,11 +150,11 @@ "@jridgewell/sourcemap-codec" ] }, - "@lezer/common@1.5.2": { - "integrity": "sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==" + "@lezer/common@1.5.3": { + "integrity": "sha512-H0iErY4e43LpXbYDyBci5W4v/RwTgGV3YzYOlJPiGZ8RY8w51kVE+xLn1tg3Z6UmSfyETvtsUK3r7YsgDQEI7Q==" }, - "@lezer/highlight@1.2.3": { - "integrity": "sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==", + "@lezer/highlight@1.2.5": { + "integrity": "sha512-O1GMVKgtf5YspFaRzpmqkVgMtIk2HG9uMAbH6wdAIdNh3TVzCsch/+cRi+6l2//UGDKe6NB9BW3cvuR5ezMQ0w==", "dependencies": [ "@lezer/common" ] @@ -298,136 +168,92 @@ "@marijn/find-cluster-break@1.0.3": { "integrity": "sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA==" }, + "@oxc-project/types@0.152.0": { + "integrity": "sha512-oM/5rLBm2tPkg0iBgkH/FOeR3PCDpY19GTgAZjMFM8h9WI9VW7cLgzp6nwtarYKmovavIQZ+Fe/RKX/8C8O/Rw==" + }, "@polka/url@1.0.0-next.29": { "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==" }, - "@rollup/rollup-android-arm-eabi@4.60.0": { - "integrity": "sha512-WOhNW9K8bR3kf4zLxbfg6Pxu2ybOUbB2AjMDHSQx86LIF4rH4Ft7vmMwNt0loO0eonglSNy4cpD3MKXXKQu0/A==", + "@rolldown/binding-android-arm-eabi@1.2.12": { + "integrity": "sha512-dB/a1214qKfHMXCpgqR4OZT+jS4kTyEXbQGJPqzobt5EwH5rX080pxE37alt3RzvR1bf1Yz/yGqRfrYAxuPw0A==", "os": ["android"], "cpu": ["arm"] }, - "@rollup/rollup-android-arm64@4.60.0": { - "integrity": "sha512-u6JHLll5QKRvjciE78bQXDmqRqNs5M/3GVqZeMwvmjaNODJih/WIrJlFVEihvV0MiYFmd+ZyPr9wxOVbPAG2Iw==", + "@rolldown/binding-android-arm64@1.2.12": { + "integrity": "sha512-7KHFgQ5VJxIHcLlrwrc3Xbds7oTNQT7Pgi9gQCJKrd2VGab/UksIOYp6VD8MzCstGxOKMgNamPwUCfxPdP1OHg==", "os": ["android"], "cpu": ["arm64"] }, - "@rollup/rollup-darwin-arm64@4.60.0": { - "integrity": "sha512-qEF7CsKKzSRc20Ciu2Zw1wRrBz4g56F7r/vRwY430UPp/nt1x21Q/fpJ9N5l47WWvJlkNCPJz3QRVw008fi7yA==", + "@rolldown/binding-darwin-arm64@1.2.12": { + "integrity": "sha512-3YIhqHD96nA5SaYNRBR16HnGv4oavZvXfD/ayHM+oYZ0WD/8lBAtf6zQua4kEyAvpqrluKXl0lnOBoiNby7x9w==", "os": ["darwin"], "cpu": ["arm64"] }, - "@rollup/rollup-darwin-x64@4.60.0": { - "integrity": "sha512-WADYozJ4QCnXCH4wPB+3FuGmDPoFseVCUrANmA5LWwGmC6FL14BWC7pcq+FstOZv3baGX65tZ378uT6WG8ynTw==", + "@rolldown/binding-darwin-x64@1.2.12": { + "integrity": "sha512-UuuJ35MFw4gmFOrE9pEqIV+K3syIKveph+Qc1/ljHZVdoDW4pz/JHR/eMVom+TZGl/5OOvGJOWaOCVt3ZfqhxA==", "os": ["darwin"], "cpu": ["x64"] }, - "@rollup/rollup-freebsd-arm64@4.60.0": { - "integrity": "sha512-6b8wGHJlDrGeSE3aH5mGNHBjA0TTkxdoNHik5EkvPHCt351XnigA4pS7Wsj/Eo9Y8RBU6f35cjN9SYmCFBtzxw==", - "os": ["freebsd"], - "cpu": ["arm64"] - }, - "@rollup/rollup-freebsd-x64@4.60.0": { - "integrity": "sha512-h25Ga0t4jaylMB8M/JKAyrvvfxGRjnPQIR8lnCayyzEjEOx2EJIlIiMbhpWxDRKGKF8jbNH01NnN663dH638mA==", + "@rolldown/binding-freebsd-x64@1.2.12": { + "integrity": "sha512-uMvssit0a4W+/7D8CbHUvG719mH3R2jwXAlh/XcPvuHTE0g++LymF88DCGNX0HM2rBOn0xrzgXktIB6fLSJBTQ==", "os": ["freebsd"], "cpu": ["x64"] }, - "@rollup/rollup-linux-arm-gnueabihf@4.60.0": { - "integrity": "sha512-RzeBwv0B3qtVBWtcuABtSuCzToo2IEAIQrcyB/b2zMvBWVbjo8bZDjACUpnaafaxhTw2W+imQbP2BD1usasK4g==", + "@rolldown/binding-linux-arm-gnueabihf@1.2.12": { + "integrity": "sha512-XcFu0R0xWnwzSf4IQgFH1rJIckPN1pLy2R+4r9IDB7Yfu/ys9cVqfa4pBrMHj7a3gl8mIR4nRNPg0e5IvEVs6g==", "os": ["linux"], "cpu": ["arm"] }, - "@rollup/rollup-linux-arm-musleabihf@4.60.0": { - "integrity": "sha512-Sf7zusNI2CIU1HLzuu9Tc5YGAHEZs5Lu7N1ssJG4Tkw6e0MEsN7NdjUDDfGNHy2IU+ENyWT+L2obgWiguWibWQ==", - "os": ["linux"], - "cpu": ["arm"] - }, - "@rollup/rollup-linux-arm64-gnu@4.60.0": { - "integrity": "sha512-DX2x7CMcrJzsE91q7/O02IJQ5/aLkVtYFryqCjduJhUfGKG6yJV8hxaw8pZa93lLEpPTP/ohdN4wFz7yp/ry9A==", + "@rolldown/binding-linux-arm64-gnu@1.2.12": { + "integrity": "sha512-260UrKgn8tz39ak+SMDOirKzr7V04M9dWPw5llW00SwBivCZoWcRBKV1d8cXnRkUmSZA3BdiUmBHWk7734Ulpw==", "os": ["linux"], "cpu": ["arm64"] }, - "@rollup/rollup-linux-arm64-musl@4.60.0": { - "integrity": "sha512-09EL+yFVbJZlhcQfShpswwRZ0Rg+z/CsSELFCnPt3iK+iqwGsI4zht3secj5vLEs957QvFFXnzAT0FFPIxSrkQ==", + "@rolldown/binding-linux-arm64-musl@1.2.12": { + "integrity": "sha512-5YK1I9SqDkbPgc1IA8BgDl34suqUS2q0KWnBrirm0E51YjOs6eo6dV6jbQfNE/argHRSvd0QUGgtpIoYx+WWpw==", "os": ["linux"], "cpu": ["arm64"] }, - "@rollup/rollup-linux-loong64-gnu@4.60.0": { - "integrity": "sha512-i9IcCMPr3EXm8EQg5jnja0Zyc1iFxJjZWlb4wr7U2Wx/GrddOuEafxRdMPRYVaXjgbhvqalp6np07hN1w9kAKw==", - "os": ["linux"], - "cpu": ["loong64"] - }, - "@rollup/rollup-linux-loong64-musl@4.60.0": { - "integrity": "sha512-DGzdJK9kyJ+B78MCkWeGnpXJ91tK/iKA6HwHxF4TAlPIY7GXEvMe8hBFRgdrR9Ly4qebR/7gfUs9y2IoaVEyog==", - "os": ["linux"], - "cpu": ["loong64"] - }, - "@rollup/rollup-linux-ppc64-gnu@4.60.0": { - "integrity": "sha512-RwpnLsqC8qbS8z1H1AxBA1H6qknR4YpPR9w2XX0vo2Sz10miu57PkNcnHVaZkbqyw/kUWfKMI73jhmfi9BRMUQ==", + "@rolldown/binding-linux-ppc64-gnu@1.2.12": { + "integrity": "sha512-Rkcrmp7eFRg74yL5fXEU91JEWbdEPLevWwGtXpmhbjlD1StScbWTmO94Bhly+Mo+ketKYkdmM1vNUKeWSlx8cQ==", "os": ["linux"], "cpu": ["ppc64"] }, - "@rollup/rollup-linux-ppc64-musl@4.60.0": { - "integrity": "sha512-Z8pPf54Ly3aqtdWC3G4rFigZgNvd+qJlOE52fmko3KST9SoGfAdSRCwyoyG05q1HrrAblLbk1/PSIV+80/pxLg==", - "os": ["linux"], - "cpu": ["ppc64"] - }, - "@rollup/rollup-linux-riscv64-gnu@4.60.0": { - "integrity": "sha512-3a3qQustp3COCGvnP4SvrMHnPQ9d1vzCakQVRTliaz8cIp/wULGjiGpbcqrkv0WrHTEp8bQD/B3HBjzujVWLOA==", - "os": ["linux"], - "cpu": ["riscv64"] - }, - "@rollup/rollup-linux-riscv64-musl@4.60.0": { - "integrity": "sha512-pjZDsVH/1VsghMJ2/kAaxt6dL0psT6ZexQVrijczOf+PeP2BUqTHYejk3l6TlPRydggINOeNRhvpLa0AYpCWSQ==", - "os": ["linux"], - "cpu": ["riscv64"] - }, - "@rollup/rollup-linux-s390x-gnu@4.60.0": { - "integrity": "sha512-3ObQs0BhvPgiUVZrN7gqCSvmFuMWvWvsjG5ayJ3Lraqv+2KhOsp+pUbigqbeWqueGIsnn+09HBw27rJ+gYK4VQ==", + "@rolldown/binding-linux-s390x-gnu@1.2.12": { + "integrity": "sha512-qvK4DuAsQc2BSjlx+Xr+IzOIvvxbGZqxFwdWfG6F518Erj0GGISyQbJ6pIappnOxlNPzNHvo/L0BwB30GZ+zVw==", "os": ["linux"], "cpu": ["s390x"] }, - "@rollup/rollup-linux-x64-gnu@4.60.0": { - "integrity": "sha512-EtylprDtQPdS5rXvAayrNDYoJhIz1/vzN2fEubo3yLE7tfAw+948dO0g4M0vkTVFhKojnF+n6C8bDNe+gDRdTg==", + "@rolldown/binding-linux-x64-gnu@1.2.12": { + "integrity": "sha512-Q9uLBO53Xd4QIq1WOycVQyPP1O4HhraEV2qqb3uTrnVw6QZih9duY4vNXOivL1xoUS1/z+W8eF4NMfl2a8Sdjw==", "os": ["linux"], "cpu": ["x64"] }, - "@rollup/rollup-linux-x64-musl@4.60.0": { - "integrity": "sha512-k09oiRCi/bHU9UVFqD17r3eJR9bn03TyKraCrlz5ULFJGdJGi7VOmm9jl44vOJvRJ6P7WuBi/s2A97LxxHGIdw==", + "@rolldown/binding-linux-x64-musl@1.2.12": { + "integrity": "sha512-3IBxWFMjbOZskDPKv8Lf9BCnahlKuHthWkYnyIxOH/QcJrFcS4EmcenthApkwr/5+nEqZlLzeYbxeMaX7A5u4g==", "os": ["linux"], "cpu": ["x64"] }, - "@rollup/rollup-openbsd-x64@4.60.0": { - "integrity": "sha512-1o/0/pIhozoSaDJoDcec+IVLbnRtQmHwPV730+AOD29lHEEo4F5BEUB24H0OBdhbBBDwIOSuf7vgg0Ywxdfiiw==", - "os": ["openbsd"], - "cpu": ["x64"] - }, - "@rollup/rollup-openharmony-arm64@4.60.0": { - "integrity": "sha512-pESDkos/PDzYwtyzB5p/UoNU/8fJo68vcXM9ZW2V0kjYayj1KaaUfi1NmTUTUpMn4UhU4gTuK8gIaFO4UGuMbA==", + "@rolldown/binding-openharmony-arm64@1.2.12": { + "integrity": "sha512-xtX61xg4LKPkPWilZU1ynKClz5Gj4bf74LML4r3eVLWumKnGjoEr1OSHQhMdbBDoYTi+yjrujvpZe2pUnqCrrA==", "os": ["openharmony"], "cpu": ["arm64"] }, - "@rollup/rollup-win32-arm64-msvc@4.60.0": { - "integrity": "sha512-hj1wFStD7B1YBeYmvY+lWXZ7ey73YGPcViMShYikqKT1GtstIKQAtfUI6yrzPjAy/O7pO0VLXGmUVWXQMaYgTQ==", + "@rolldown/binding-win32-arm64-msvc@1.2.12": { + "integrity": "sha512-At7fPB6PCaIjzgIhEZFxuT+BBFqiQibJDT4d3PhiR3f4E7bbMZF4aKblbFfEM3sETRDd1YiQx/+U/g/B/ou5Ew==", "os": ["win32"], "cpu": ["arm64"] }, - "@rollup/rollup-win32-ia32-msvc@4.60.0": { - "integrity": "sha512-SyaIPFoxmUPlNDq5EHkTbiKzmSEmq/gOYFI/3HHJ8iS/v1mbugVa7dXUzcJGQfoytp9DJFLhHH4U3/eTy2Bq4w==", - "os": ["win32"], - "cpu": ["ia32"] - }, - "@rollup/rollup-win32-x64-gnu@4.60.0": { - "integrity": "sha512-RdcryEfzZr+lAr5kRm2ucN9aVlCCa2QNq4hXelZxb8GG0NJSazq44Z3PCCc8wISRuCVnGs0lQJVX5Vp6fKA+IA==", + "@rolldown/binding-win32-x64-msvc@1.2.12": { + "integrity": "sha512-WIw2haVKwjuYdXkHaoC0mF8Le71TuCBxjrdKqLbJGctbBABj+ClfmNvtbOnzpq3RokNo5+V1qhtSzJyXorsklQ==", "os": ["win32"], "cpu": ["x64"] }, - "@rollup/rollup-win32-x64-msvc@4.60.0": { - "integrity": "sha512-PrsWNQ8BuE00O3Xsx3ALh2Df8fAj9+cvvX9AIA6o4KpATR98c9mud4XtDWVvsEuyia5U4tVSTKygawyJkjm60w==", - "os": ["win32"], - "cpu": ["x64"] + "@rolldown/pluginutils@1.0.1": { + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==" }, - "@shikijs/core@4.4.2": { - "integrity": "sha512-StyzbAyxg2/tBGf78gwbBkGyeQ73lf8UiJArFaQhTQIDqQOCKPCQFanvrs4/Yv3Yfyc+ONInJM6K+FMIf+P+kA==", + "@shikijs/core@4.5.0": { + "integrity": "sha512-6CIgwq+bt2JZ3OSjb/nBkkwEf/CfpHcbam+Mg5Pllco7HAGRQ2/EFhZrrJtbyNTgKwknfVS+llsXGygiDGwJWw==", "dependencies": [ "@shikijs/primitive", "@shikijs/types", @@ -436,43 +262,43 @@ "hast-util-to-html" ] }, - "@shikijs/engine-javascript@4.4.2": { - "integrity": "sha512-MnIkeqWdVPUWsxlx8gKLVCJFTsqrQJgpTPBPpQwaFeJ56lOnJxj5aN2LUFnfxUEcvOQuNocmbaMnVrCEln6rkw==", + "@shikijs/engine-javascript@4.5.0": { + "integrity": "sha512-Ed6UdEj84LyYkwnxM5CvSMWAD+id9ExTYri0/+x41U9zrgNifPSS9lZm0JqBP0VfYI8yr8tY5nbNq9+p9R0kFA==", "dependencies": [ "@shikijs/types", "@shikijs/vscode-textmate", "oniguruma-to-es" ] }, - "@shikijs/engine-oniguruma@4.4.2": { - "integrity": "sha512-GLhowz1+jixjz+wiZ3wMnOn1jTxiFCGl2PkXufivbnwPHKuyw1AYqu5/hbWhZZ2oAb0NP05WUJhYeigY14drnw==", + "@shikijs/engine-oniguruma@4.5.0": { + "integrity": "sha512-dKVmbJecVdB9recl8a/CU4jdpNXyjJQrIcesIkpS70s5HS02ohpnCSpMUbotPnEUzbAcLQ+S4hwZYbkBBiTcJw==", "dependencies": [ "@shikijs/types", "@shikijs/vscode-textmate" ] }, - "@shikijs/langs@4.4.2": { - "integrity": "sha512-8DfeusD+Zdv/eYIDdXyJTUnSMHt+aAWjAOCXV20HNGAHRlInXpG8wh421v6B91WOm9TFwRLN+b/LG5F2NAIojg==", + "@shikijs/langs@4.5.0": { + "integrity": "sha512-wwBTqwduXSz0X4v9Qa2EWeFaYJEw1clCncWjoRNQRbVDu3SPRTRWucnouYapKj3b8Q+sk/41Vbc4B5c8nuYzLA==", "dependencies": [ "@shikijs/types" ] }, - "@shikijs/primitive@4.4.2": { - "integrity": "sha512-l6fQQKsOMlz72n38fztmSgZ76MO6KSWuw8o+GJ+FhmqrpC9pIOJNQNXGgbb5yX2AwpzlEHwsaLPnk/8o4Fm+rA==", + "@shikijs/primitive@4.5.0": { + "integrity": "sha512-UM7ShlA8oz0OWxLLO8BmO9Ip6fVqdkt8yF0EH7nOCqHfrx1eEAzF0ZUVK7L+I8NEgeu1PEWSRlxaiPPeCb4iDg==", "dependencies": [ "@shikijs/types", "@shikijs/vscode-textmate", "@types/hast" ] }, - "@shikijs/themes@4.4.2": { - "integrity": "sha512-H0CFoL07ddDC2Dd6EdrPYNkRhUR6YCkJlnuYFceYYUJJA5TIm2b5B33qqiDYryBExgbKMndFJPb2u1gTuqO37g==", + "@shikijs/themes@4.5.0": { + "integrity": "sha512-zGb87H3UBbpuI4yoh5UguB1XbU+2BDU3kflM7UfZ+Cy2hWo9lBtqjSVK20gmLY6ukYl040hAypGXMgud9vul8Q==", "dependencies": [ "@shikijs/types" ] }, - "@shikijs/types@4.4.2": { - "integrity": "sha512-PFYitV4vpDr/iPCIhnHp+Q4ftic5N5VeNJ3KQ1O8gn3h2ar8qgwMAXF7tq4m1CWaMS60fV4VqF6vfnWH4F7vqQ==", + "@shikijs/types@4.5.0": { + "integrity": "sha512-drtPrtD8N0DENyD2cyt6Ajy+IWsiCLgMxODwLTpvH1UsN6a9jf90tNTPjqwHvA+0Lzu9e0txk8DjfqH1p9UJRw==", "dependencies": [ "@shikijs/vscode-textmate", "@types/hast" @@ -484,34 +310,29 @@ "@standard-schema/spec@1.1.0": { "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==" }, - "@sveltejs/acorn-typescript@1.0.9_acorn@8.16.0": { - "integrity": "sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==", + "@sveltejs/acorn-typescript@1.0.13_acorn@8.18.0": { + "integrity": "sha512-wgKggnhZVL9Bfx1OaKKTrYY9BFRk6C8UAkQNUcIv1+llzYrIqy+RZm5HPKzn0NpEBvTVhTqB4kQyllZywsRBRQ==", "dependencies": [ "acorn" ] }, - "@sveltejs/adapter-static@3.0.9_@sveltejs+kit@2.49.4__@sveltejs+vite-plugin-svelte@6.2.1___svelte@5.45.6___vite@7.2.7____yaml@2.9.0___yaml@2.9.0__svelte@5.45.6__typescript@5.9.3__vite@7.2.7___yaml@2.9.0__yaml@2.9.0_yaml@2.9.0": { - "integrity": "sha512-aytHXcMi7lb9ljsWUzXYQ0p5X1z9oWud2olu/EpmH7aCu4m84h7QLvb5Wp+CFirKcwoNnYvYWhyP/L8Vh1ztdw==", + "@sveltejs/adapter-static@4.0.0_@sveltejs+kit@3.0.0__@sveltejs+vite-plugin-svelte@7.3.1___svelte@5.57.1___vite@8.3.2____yaml@2.9.1___yaml@2.9.1__svelte@5.57.1__typescript@6.0.3__vite@8.3.2___yaml@2.9.1__yaml@2.9.1_@sveltejs+vite-plugin-svelte@7.3.1__svelte@5.57.1__vite@8.3.2___yaml@2.9.1__yaml@2.9.1_svelte@5.57.1_typescript@6.0.3_vite@8.3.2__yaml@2.9.1_yaml@2.9.1": { + "integrity": "sha512-aF1J23R1ebKqUxQ4/qLr/Lxu63NFmLAtg8UZl3HFLxaoA1D/nhTVGcD9lTqx65iUbjNR2iOL0TgOxSX82x6Paw==", "dependencies": [ "@sveltejs/kit" ] }, - "@sveltejs/kit@2.49.4_@sveltejs+vite-plugin-svelte@6.2.1__svelte@5.45.6__vite@7.2.7___yaml@2.9.0__yaml@2.9.0_svelte@5.45.6_typescript@5.9.3_vite@7.2.7__yaml@2.9.0_yaml@2.9.0": { - "integrity": "sha512-JFtOqDoU0DI/+QSG8qnq5bKcehVb3tCHhOG4amsSYth5/KgO4EkJvi42xSAiyKmXAAULW1/Zdb6lkgGEgSxdZg==", + "@sveltejs/kit@3.0.0_@sveltejs+vite-plugin-svelte@7.3.1__svelte@5.57.1__vite@8.3.2___yaml@2.9.1__yaml@2.9.1_svelte@5.57.1_typescript@6.0.3_vite@8.3.2__yaml@2.9.1_yaml@2.9.1": { + "integrity": "sha512-dmP6gjz41DAT7erONGW8FdTWjmsmOJ/SaWVEsuEc1MXDcpH6YV+Pt98biZFPuinH4LldJPmScxDqiHwCDLRCrg==", "dependencies": [ + "@rolldown/pluginutils", "@standard-schema/spec", - "@sveltejs/acorn-typescript", "@sveltejs/vite-plugin-svelte", - "@types/cookie", - "acorn", "cookie", - "devalue", + "devalue@5.9.4", "esm-env", - "kleur", - "magic-string", + "magic-string@1.4.2", "mrmime", - "sade", - "set-cookie-parser", "sirv", "svelte", "typescript", @@ -522,22 +343,15 @@ ], "bin": true }, - "@sveltejs/vite-plugin-svelte-inspector@5.0.2_@sveltejs+vite-plugin-svelte@6.2.1__svelte@5.45.6__vite@7.2.7___yaml@2.9.0__yaml@2.9.0_svelte@5.45.6_vite@7.2.7__yaml@2.9.0_yaml@2.9.0": { - "integrity": "sha512-TZzRTcEtZffICSAoZGkPSl6Etsj2torOVrx6Uw0KpXxrec9Gg6jFWQ60Q3+LmNGfZSxHRCZL7vXVZIWmuV50Ig==", - "dependencies": [ - "@sveltejs/vite-plugin-svelte", - "obug", - "svelte", - "vite" - ] + "@sveltejs/load-config@0.2.3": { + "integrity": "sha512-VT3qmUb8pRV2QrZjd8iAmtg8lf4W0TIjZbvXtz5MKei/q96teWZgGJyyidJzOjzZzvdq616eSRVeMYIQChUTAQ==" }, - "@sveltejs/vite-plugin-svelte@6.2.1_svelte@5.45.6_vite@7.2.7__yaml@2.9.0_yaml@2.9.0": { - "integrity": "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ==", + "@sveltejs/vite-plugin-svelte@7.3.1_svelte@5.57.1_vite@8.3.2__yaml@2.9.1_yaml@2.9.1": { + "integrity": "sha512-ZPsLN8B1e/En+Ak5s4V7srFDT532oS0qieLsQwu63NGKsS+iAjoO2Js1BochlHlglcU+Pt7WAO3C5Ee+4f6gVA==", "dependencies": [ - "@sveltejs/vite-plugin-svelte-inspector", - "debug", "deepmerge", - "magic-string", + "magic-string@1.4.2", + "obug", "svelte", "vite", "vitefu" @@ -556,10 +370,17 @@ "pretty-format" ] }, - "@testing-library/svelte@5.2.8_svelte@5.45.6_vite@7.2.7__yaml@2.9.0_vitest@3.2.4__happy-dom@20.12.0_happy-dom@20.12.0": { - "integrity": "sha512-ucQOtGsJhtawOEtUmbR4rRh53e6RbM1KUluJIXRmh6D4UzxR847iIqqjRtg9mHNFmGQ8Vkam9yVcR5d1mhIHKA==", + "@testing-library/svelte-core@1.1.3_svelte@5.57.1": { + "integrity": "sha512-KkMAvXeWorxN2Yn0kdC1lfoAItxpoj4uOWzxK5leDrNxonLvS5nwBFvztrroyTszQ0Wf/EU6iLT8JhY5qcn22g==", + "dependencies": [ + "svelte" + ] + }, + "@testing-library/svelte@5.4.2_svelte@5.57.1_vite@8.3.2__yaml@2.9.1_vitest@5.0.3__happy-dom@20.14.5__vite@8.3.2___yaml@2.9.1__yaml@2.9.1_happy-dom@20.14.5_yaml@2.9.1": { + "integrity": "sha512-4o31E4HGo5BU5KwPkulNRocEden+7Tt9JYm9uhln5ajF7DULeyFA46BBWVfKJ8Ms9B3JmOFPTIiVamH7n3KpuQ==", "dependencies": [ "@testing-library/dom", + "@testing-library/svelte-core", "svelte", "vite", "vitest" @@ -579,14 +400,11 @@ "assertion-error" ] }, - "@types/cookie@0.6.0": { - "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" - }, "@types/deep-eql@4.0.2": { "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==" }, - "@types/estree@1.0.8": { - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==" + "@types/estree@1.0.9": { + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==" }, "@types/hast@3.0.5": { "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", @@ -600,8 +418,8 @@ "@types/unist" ] }, - "@types/node@20.19.43": { - "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", + "@types/node@26.6.3": { + "integrity": "sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg==", "dependencies": [ "undici-types" ] @@ -612,79 +430,33 @@ "@types/whatwg-mimetype@3.0.2": { "integrity": "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==" }, - "@types/ws@8.18.1": { - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "@types/ws@8.18.2": { + "integrity": "sha512-67MQl+fpWKVTT1NYdnmo3U4sc/xPo/zQBncVnI74qmQa0z/b+1g6iYqNmGCPbxO+zz2aklb08a0oHfegiVd0/w==", "dependencies": [ "@types/node" ] }, - "@typescript-eslint/types@8.57.2": { - "integrity": "sha512-/iZM6FnM4tnx9csuTxspMW4BOSegshwX5oBDznJ7S4WggL7Vczz5d2W11ecc4vRrQMQHXRSxzrCsyG5EsPPTbA==" + "@ungap/structured-clone@1.4.0": { + "integrity": "sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==" }, - "@ungap/structured-clone@1.3.0": { - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "deprecated": true - }, - "@vitest/expect@3.2.4": { - "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", - "dependencies": [ - "@types/chai", - "@vitest/spy", - "@vitest/utils", - "chai", - "tinyrainbow" - ] - }, - "@vitest/mocker@3.2.4_vite@7.2.7__yaml@2.9.0": { - "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", + "@vitest/mocker@5.0.3_vite@8.3.2__yaml@2.9.1_yaml@2.9.1": { + "integrity": "sha512-T8sWAIbkSyAjkwTcaEc3Iu0o9A27X1/kdXrizhZkGuSKScRQtRzclfAMpOTcGdXCsqxeWlpGy3XjqaW8CpLORg==", "dependencies": [ + "@jridgewell/trace-mapping", "@vitest/spy", "estree-walker", - "magic-string", + "magic-string@1.4.2", "vite" ], "optionalPeers": [ "vite" ] }, - "@vitest/pretty-format@3.2.4": { - "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", - "dependencies": [ - "tinyrainbow" - ] + "@vitest/spy@5.0.3": { + "integrity": "sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg==" }, - "@vitest/runner@3.2.4": { - "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", - "dependencies": [ - "@vitest/utils", - "pathe", - "strip-literal" - ] - }, - "@vitest/snapshot@3.2.4": { - "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", - "dependencies": [ - "@vitest/pretty-format", - "magic-string", - "pathe" - ] - }, - "@vitest/spy@3.2.4": { - "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", - "dependencies": [ - "tinyspy" - ] - }, - "@vitest/utils@3.2.4": { - "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", - "dependencies": [ - "@vitest/pretty-format", - "loupe", - "tinyrainbow" - ] - }, - "acorn@8.16.0": { - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "acorn@8.18.0": { + "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", "bin": true }, "ansi-regex@5.0.1": { @@ -699,8 +471,8 @@ "dequal" ] }, - "aria-query@5.3.2": { - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==" + "aria-query@5.3.1": { + "integrity": "sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==" }, "assertion-error@2.0.1": { "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==" @@ -714,21 +486,11 @@ "@types/node" ] }, - "cac@6.7.14": { - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" - }, "ccount@2.0.1": { "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" }, - "chai@5.3.3": { - "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", - "dependencies": [ - "assertion-error", - "check-error", - "deep-eql", - "loupe", - "pathval" - ] + "chai@6.3.0": { + "integrity": "sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==" }, "character-entities-html4@2.1.0": { "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==" @@ -736,9 +498,6 @@ "character-entities-legacy@3.0.0": { "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==" }, - "check-error@2.1.3": { - "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==" - }, "chokidar@4.0.3": { "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dependencies": [ @@ -751,20 +510,14 @@ "comma-separated-tokens@2.0.3": { "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==" }, - "cookie@0.6.0": { - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==" + "cookie@2.0.1": { + "integrity": "sha512-yuToqVvRrj6pfDXREyQAAv8SkAEk/8GS3jQRTiUMm66TVtBYmqQeoEjL2Lmq8Rpo6271vH76InTChTitEAm65w==" }, "crelt@1.0.7": { "integrity": "sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA==" }, - "debug@4.4.3": { - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dependencies": [ - "ms" - ] - }, - "decodal-codemirror@0.3.0_@codemirror+language@6.12.4_@codemirror+view@6.43.8_@lezer+highlight@1.2.3_@lezer+lr@1.4.10": { - "integrity": "sha512-M+Iod3UAZigpt46TmuLJIlSEBhL6KOOksyVxUOGGdlfKYCMN9oN6YG5G9tjkr3/r+Eq8ig1RipC7VZX5iiACTQ==", + "decodal-codemirror@0.3.1_@codemirror+language@6.12.4_@codemirror+view@6.43.13_@lezer+highlight@1.2.5_@lezer+lr@1.4.10": { + "integrity": "sha512-J9DRQRQzil92O2Q22TlJ2pCcMYR6+qEBs0ay3d+07zYlEN+v4ZrHQBavyl+lewpJR3E4ZKvuVF/QV23EnHKeZw==", "dependencies": [ "@codemirror/language", "@codemirror/view", @@ -772,17 +525,20 @@ "@lezer/lr" ] }, - "deep-eql@5.0.2": { - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==" - }, "deepmerge@4.3.1": { "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" }, "dequal@2.0.3": { "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" }, - "devalue@5.6.4": { - "integrity": "sha512-Gp6rDldRsFh/7XuouDbxMH3Mx8GMCcgzIb1pDTvNyn8pZGQ22u+Wa+lGV9dQCltFQ7uVw0MhRyb8XDskNFOReA==" + "detect-libc@2.1.2": { + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==" + }, + "devalue@5.9.4": { + "integrity": "sha512-sPAT4pztbu6586/hrhOnMKS17IJrvg12mXiSPSS3W5qDeN2RGgvZ0diZCm31dBbnevfVmujNO3IM2wrS4Y2Rhg==" + }, + "devalue@6.0.2": { + "integrity": "sha512-6V1HzU4to74skg//ScZR2mp9bdz+rESC9jQzVIIG/ha0HYgymHcXIQQCjH0+ivRaSuY82fa9fZ7Ro6QZT4s4uw==" }, "devlop@1.1.0": { "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", @@ -824,50 +580,16 @@ "entities@8.1.0": { "integrity": "sha512-kxL7msIffSuh9aaFAMD7rxAIuTRMAHMeBtgHW2yUdWw732ZNh4MehkF2gdjvtdmikkaIP9bFDDJOPlsvm7avrA==" }, - "es-module-lexer@1.7.0": { - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==" - }, - "esbuild@0.25.12": { - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "optionalDependencies": [ - "@esbuild/aix-ppc64", - "@esbuild/android-arm", - "@esbuild/android-arm64", - "@esbuild/android-x64", - "@esbuild/darwin-arm64", - "@esbuild/darwin-x64", - "@esbuild/freebsd-arm64", - "@esbuild/freebsd-x64", - "@esbuild/linux-arm", - "@esbuild/linux-arm64", - "@esbuild/linux-ia32", - "@esbuild/linux-loong64", - "@esbuild/linux-mips64el", - "@esbuild/linux-ppc64", - "@esbuild/linux-riscv64", - "@esbuild/linux-s390x", - "@esbuild/linux-x64", - "@esbuild/netbsd-arm64", - "@esbuild/netbsd-x64", - "@esbuild/openbsd-arm64", - "@esbuild/openbsd-x64", - "@esbuild/openharmony-arm64", - "@esbuild/sunos-x64", - "@esbuild/win32-arm64", - "@esbuild/win32-ia32", - "@esbuild/win32-x64" - ], - "scripts": true, - "bin": true + "es-module-lexer@2.3.2": { + "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==" }, "esm-env@1.2.2": { "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==" }, - "esrap@2.2.4": { - "integrity": "sha512-suICpxAmZ9A8bzJjEl/+rLJiDKC0X4gYWUxT6URAWBLvlXmtbZd5ySMu/N2ZGEtMCAmflUDPSehrP9BQcsGcSg==", + "esrap@2.4.0": { + "integrity": "sha512-CQPcneEHw/czj32uwQC52nYnax8H4SXt25FCM+LIwGZ49cMIxpOj3bP8wmzcI+Z0HIy5KkClaPhRLfCySzwHPA==", "dependencies": [ - "@jridgewell/sourcemap-codec", - "@typescript-eslint/types" + "@jridgewell/sourcemap-codec" ] }, "estree-walker@3.0.3": { @@ -879,7 +601,7 @@ "expect-type@1.4.0": { "integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==" }, - "fdir@6.5.0_picomatch@4.0.4": { + "fdir@6.5.0_picomatch@4.0.7": { "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dependencies": [ "picomatch" @@ -899,8 +621,8 @@ "github-slugger@2.0.0": { "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" }, - "happy-dom@20.12.0": { - "integrity": "sha512-7uMYJu2SEwwL8vVcKp0C0lnt6d2LSGGe+T+oY79PiCJNNSgFpbxW8n5KuzpDQvrU4mt+fYiK1+Jy7Z2v39YR6g==", + "happy-dom@20.14.5": { + "integrity": "sha512-x/RzkpWO40bTjIoT30iQtt64FLLmH/iRcUCN2X//bLx7H3ifkdfPXyqsro/OYtqzIAhiLMMA7mmiOR9C3NOKjQ==", "dependencies": [ "@types/node", "@types/whatwg-mimetype", @@ -954,18 +676,83 @@ "js-tokens@4.0.0": { "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "js-tokens@9.0.1": { - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==" + "lightningcss-android-arm64@1.33.0": { + "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==", + "os": ["android"], + "cpu": ["arm64"] }, - "kleur@4.1.5": { - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" + "lightningcss-darwin-arm64@1.33.0": { + "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==", + "os": ["darwin"], + "cpu": ["arm64"] + }, + "lightningcss-darwin-x64@1.33.0": { + "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==", + "os": ["darwin"], + "cpu": ["x64"] + }, + "lightningcss-freebsd-x64@1.33.0": { + "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==", + "os": ["freebsd"], + "cpu": ["x64"] + }, + "lightningcss-linux-arm-gnueabihf@1.33.0": { + "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==", + "os": ["linux"], + "cpu": ["arm"] + }, + "lightningcss-linux-arm64-gnu@1.33.0": { + "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "lightningcss-linux-arm64-musl@1.33.0": { + "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "lightningcss-linux-x64-gnu@1.33.0": { + "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==", + "os": ["linux"], + "cpu": ["x64"] + }, + "lightningcss-linux-x64-musl@1.33.0": { + "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==", + "os": ["linux"], + "cpu": ["x64"] + }, + "lightningcss-win32-arm64-msvc@1.33.0": { + "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==", + "os": ["win32"], + "cpu": ["arm64"] + }, + "lightningcss-win32-x64-msvc@1.33.0": { + "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==", + "os": ["win32"], + "cpu": ["x64"] + }, + "lightningcss@1.33.0": { + "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", + "dependencies": [ + "detect-libc" + ], + "optionalDependencies": [ + "lightningcss-android-arm64", + "lightningcss-darwin-arm64", + "lightningcss-darwin-x64", + "lightningcss-freebsd-x64", + "lightningcss-linux-arm-gnueabihf", + "lightningcss-linux-arm64-gnu", + "lightningcss-linux-arm64-musl", + "lightningcss-linux-x64-gnu", + "lightningcss-linux-x64-musl", + "lightningcss-win32-arm64-msvc", + "lightningcss-win32-x64-msvc" + ] }, "locate-character@3.0.0": { "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==" }, - "loupe@3.2.1": { - "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==" - }, "lz-string@1.5.0": { "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "bin": true @@ -976,10 +763,20 @@ "@jridgewell/sourcemap-codec" ] }, + "magic-string@1.4.2": { + "integrity": "sha512-vG+rjFRj1PqdIBozIxAGMjPlOhaVe+GXpbttY/iSK7rGcJRMlwNJO7dcUwmUqkymsFLJiNGI06t4D7Fr7yRC9g==", + "dependencies": [ + "@jridgewell/sourcemap-codec" + ] + }, "marked@18.0.13": { "integrity": "sha512-xTxVzZsBFwunP6HDmtBkabUQEYArnP7/rMDGmPj9SlrKlQ4i8MdYVow+nJL0eOqwpUqhzBoTBRADGN6uYwPyOw==", "bin": true }, + "marked@18.0.14": { + "integrity": "sha512-mBHK6FBHuBAlhgRe88w9F0O1AbwwXJUcQibUbC/QcdTbVGAD7aWza+xt3N6oT/jCZx3/OMeS+8rnuiHZcQ9s7A==", + "bin": true + }, "mdast-util-to-hast@13.2.1": { "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", "dependencies": [ @@ -1015,8 +812,8 @@ "micromark-util-symbol@2.0.1": { "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==" }, - "micromark-util-types@2.0.2": { - "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==" + "micromark-util-types@2.0.3": { + "integrity": "sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==" }, "mri@1.2.0": { "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" @@ -1024,15 +821,12 @@ "mrmime@2.0.1": { "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==" }, - "ms@2.1.3": { - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "nanoid@3.3.11": { - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "nanoid@3.3.19": { + "integrity": "sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==", "bin": true }, - "obug@2.1.1": { - "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==" + "obug@2.2.1": { + "integrity": "sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==" }, "oniguruma-parser@0.12.2": { "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==" @@ -1045,20 +839,14 @@ "regex-recursion" ] }, - "pathe@2.0.3": { - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==" - }, - "pathval@2.0.1": { - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==" - }, "picocolors@1.1.1": { "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, - "picomatch@4.0.4": { - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==" + "picomatch@4.0.7": { + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==" }, - "postcss@8.5.8": { - "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "postcss@8.5.28": { + "integrity": "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==", "dependencies": [ "nanoid", "picocolors", @@ -1073,8 +861,8 @@ "react-is" ] }, - "property-information@7.1.0": { - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==" + "property-information@7.2.0": { + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==" }, "react-is@17.0.2": { "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" @@ -1097,38 +885,28 @@ "regex-utilities" ] }, - "rollup@4.60.0": { - "integrity": "sha512-yqjxruMGBQJ2gG4HtjZtAfXArHomazDHoFwFFmZZl0r7Pdo7qCIXKqKHZc8yeoMgzJJ+pO6pEEHa+V7uzWlrAQ==", + "rolldown@1.2.12": { + "integrity": "sha512-8wafseiaG80xmXSfqidUNqZcylTlhmPZZt+za2m+js2sFZ8dTNlhIOV2WcbIPx2hgwPBJpEUGFAMZ9bgBBLTSQ==", "dependencies": [ - "@types/estree" + "@oxc-project/types", + "@rolldown/pluginutils" ], "optionalDependencies": [ - "@rollup/rollup-android-arm-eabi", - "@rollup/rollup-android-arm64", - "@rollup/rollup-darwin-arm64", - "@rollup/rollup-darwin-x64", - "@rollup/rollup-freebsd-arm64", - "@rollup/rollup-freebsd-x64", - "@rollup/rollup-linux-arm-gnueabihf", - "@rollup/rollup-linux-arm-musleabihf", - "@rollup/rollup-linux-arm64-gnu", - "@rollup/rollup-linux-arm64-musl", - "@rollup/rollup-linux-loong64-gnu", - "@rollup/rollup-linux-loong64-musl", - "@rollup/rollup-linux-ppc64-gnu", - "@rollup/rollup-linux-ppc64-musl", - "@rollup/rollup-linux-riscv64-gnu", - "@rollup/rollup-linux-riscv64-musl", - "@rollup/rollup-linux-s390x-gnu", - "@rollup/rollup-linux-x64-gnu", - "@rollup/rollup-linux-x64-musl", - "@rollup/rollup-openbsd-x64", - "@rollup/rollup-openharmony-arm64", - "@rollup/rollup-win32-arm64-msvc", - "@rollup/rollup-win32-ia32-msvc", - "@rollup/rollup-win32-x64-gnu", - "@rollup/rollup-win32-x64-msvc", - "fsevents" + "@rolldown/binding-android-arm-eabi", + "@rolldown/binding-android-arm64", + "@rolldown/binding-darwin-arm64", + "@rolldown/binding-darwin-x64", + "@rolldown/binding-freebsd-x64", + "@rolldown/binding-linux-arm-gnueabihf", + "@rolldown/binding-linux-arm64-gnu", + "@rolldown/binding-linux-arm64-musl", + "@rolldown/binding-linux-ppc64-gnu", + "@rolldown/binding-linux-s390x-gnu", + "@rolldown/binding-linux-x64-gnu", + "@rolldown/binding-linux-x64-musl", + "@rolldown/binding-openharmony-arm64", + "@rolldown/binding-win32-arm64-msvc", + "@rolldown/binding-win32-x64-msvc" ], "bin": true }, @@ -1138,11 +916,11 @@ "mri" ] }, - "set-cookie-parser@2.7.2": { - "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==" + "set-cookie-parser@3.1.2": { + "integrity": "sha512-5/r/lTwbJ3zQ+qwdUFZYeRNqda7P5HD8zQKqlSjdGt1/S0cjLAphHusj4Y58ahDtWn/g32xrIS58/ikOvwl0Lw==" }, - "shiki@4.4.2": { - "integrity": "sha512-P8F/dFhRevaw2uSdeIYlq/5SXZNY85DPtmXQ947gD1Zj2JqO5AkNvVVBar0Me9JkFx3uzVud/qOtP5ek9NEQGA==", + "shiki@4.5.0": { + "integrity": "sha512-OcRW72ngQvc+MSVWBRIovC/BTW589iUE/Vxav7VeM4RcY9MUjqB+IR6ILG1k9nuW6LiG/nct9uma4/MBtnZbmQ==", "dependencies": [ "@shikijs/core", "@shikijs/engine-javascript", @@ -1154,9 +932,6 @@ "@types/hast" ] }, - "siginfo@2.0.0": { - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" - }, "sirv@3.0.2": { "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", "dependencies": [ @@ -1165,17 +940,14 @@ "totalist" ] }, - "source-map-js@1.2.1": { - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" + "source-map-js@1.2.2": { + "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==" }, "space-separated-tokens@2.0.2": { "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==" }, - "stackback@0.0.2": { - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" - }, - "std-env@3.10.0": { - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==" + "std-env@4.3.0": { + "integrity": "sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==" }, "stringify-entities@4.0.4": { "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", @@ -1184,12 +956,6 @@ "character-entities-legacy" ] }, - "strip-literal@3.1.0": { - "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==", - "dependencies": [ - "js-tokens@9.0.1" - ] - }, "style-mod@4.1.3": { "integrity": "sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==" }, @@ -1197,10 +963,11 @@ "integrity": "sha512-3wUiQfoBTQ7V9SxYA8/XBRQiUDV1FmiEYmb/GLfwlSJBPJbOyT9cvZPeane8j9GLrA/VBaKBWAP6NgULyuTRwA==", "bin": true }, - "svelte-check@4.3.4_svelte@5.45.6_typescript@5.9.3": { - "integrity": "sha512-DVWvxhBrDsd+0hHWKfjP99lsSXASeOhHJYyuKOFYJcP7ThfSCKgjVarE8XfuMWpS5JV3AlDf+iK1YGGo2TACdw==", + "svelte-check@4.7.6_svelte@5.57.1_typescript@6.0.3": { + "integrity": "sha512-t2scM//ZuVbSY/T2w6FSBw1v9s2NEmh/g+sy1lqtosW5ylBV5AF4wFb1Ts9Kf3MbfPDUDJDZ9L436YT0SPTdvw==", "dependencies": [ "@jridgewell/trace-mapping", + "@sveltejs/load-config", "chokidar", "fdir", "picocolors", @@ -1210,60 +977,51 @@ ], "bin": true }, - "svelte@5.45.6": { - "integrity": "sha512-V3aVXthzPyPt1UB1wLEoXnEXpwPsvs7NHrR0xkCor8c11v71VqBj477MClqPZYyrcXrAH21sNGhOj9FJvSwXfQ==", + "svelte@5.57.1": { + "integrity": "sha512-Uqj49lWKB+iSSnneuwiYYJ7MZgkB+eXr0LXBhv4uDuAkXqnWmq65Sxflfvp0Lc6MdKjMUxGaeOKWJqz5SNiVIA==", "dependencies": [ "@jridgewell/remapping", "@jridgewell/sourcemap-codec", "@sveltejs/acorn-typescript", "@types/estree", "acorn", - "aria-query@5.3.2", + "aria-query@5.3.1", "axobject-query", "clsx", - "devalue", + "devalue@5.9.4", "esm-env", "esrap", "is-reference", "locate-character", - "magic-string", + "magic-string@0.30.21", "zimmerframe" ] }, - "tinybench@2.9.0": { - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==" + "tinybench@6.2.0": { + "integrity": "sha512-78U2TlB2CnVenajOFzf3BKSm0J6oz5L0NV7g32LCPccvYc0lbWvys4d3uUUCS2B1N8PAf2+aekR8i1KbC3HO7Q==" }, - "tinyexec@0.3.2": { - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==" + "tinyexec@1.3.1": { + "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==" }, - "tinyglobby@0.2.15": { - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "tinyglobby@0.2.17": { + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dependencies": [ "fdir", "picomatch" ] }, - "tinypool@1.1.1": { - "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==" - }, - "tinyrainbow@2.0.0": { - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==" - }, - "tinyspy@4.0.6": { - "integrity": "sha512-u8KszXvGfU68hVcZpRHKG28T0krMuv2G5nDhiHaMLen/gIuFEgIJhaJuO69qjnXg5paSrbPMFfx3brNuN8eVSg==" - }, "totalist@3.0.1": { "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==" }, "trim-lines@3.0.1": { "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==" }, - "typescript@5.9.3": { - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "typescript@6.0.3": { + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "bin": true }, - "undici-types@6.21.0": { - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==" + "undici-types@8.9.0": { + "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==" }, "unist-util-is@6.0.1": { "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", @@ -1312,25 +1070,13 @@ "vfile-message" ] }, - "vite-node@3.2.4": { - "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", + "vite@8.3.2_yaml@2.9.1": { + "integrity": "sha512-SQr1x6W5vVSbROg7vsyXIaxK9b0G7zsT68acdWWRmnBUsgDieLCRG+Rep9WdZgcposvv/GSnr4GUUBqB3vXq6w==", "dependencies": [ - "cac", - "debug", - "es-module-lexer", - "pathe", - "vite" - ], - "bin": true - }, - "vite@7.2.7_yaml@2.9.0": { - "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==", - "dependencies": [ - "esbuild", - "fdir", + "lightningcss", "picomatch", "postcss", - "rollup", + "rolldown", "tinyglobby", "yaml" ], @@ -1342,8 +1088,8 @@ ], "bin": true }, - "vitefu@1.1.2_vite@7.2.7__yaml@2.9.0_yaml@2.9.0": { - "integrity": "sha512-zpKATdUbzbsycPFBN71nS2uzBUQiVnFoOrr2rvqv34S1lcAgMKKkjWleLGeiJlZ8lwCXvtWaRn7R3ZC16SYRuw==", + "vitefu@1.1.3_vite@8.3.2__yaml@2.9.1_yaml@2.9.1": { + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", "dependencies": [ "vite" ], @@ -1351,32 +1097,23 @@ "vite" ] }, - "vitest@3.2.4_happy-dom@20.12.0": { - "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "vitest@5.0.3_happy-dom@20.14.5_vite@8.3.2__yaml@2.9.1_yaml@2.9.1": { + "integrity": "sha512-xMw97S3rjdtj5dkVat7jCsqWBpvchs3RlpQctUqwJD0KkERk40vz2fJ77lDwW/Vzh/pk18eItYAzkodhSes3jQ==", "dependencies": [ "@types/chai", - "@vitest/expect", "@vitest/mocker", - "@vitest/pretty-format", - "@vitest/runner", - "@vitest/snapshot", - "@vitest/spy", - "@vitest/utils", "chai", - "debug", + "es-module-lexer", "expect-type", "happy-dom", - "magic-string", - "pathe", + "magic-string@1.4.2", + "obug", "picomatch", "std-env", "tinybench", "tinyexec", "tinyglobby", - "tinypool", - "tinyrainbow", "vite", - "vite-node", "why-is-node-running" ], "optionalPeers": [ @@ -1390,23 +1127,19 @@ "whatwg-mimetype@3.0.0": { "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==" }, - "why-is-node-running@2.3.0": { - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dependencies": [ - "siginfo", - "stackback" - ], + "why-is-node-running@3.2.1": { + "integrity": "sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==", "bin": true }, - "ws@8.21.3": { - "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==" + "ws@8.22.0": { + "integrity": "sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==" }, - "yaml@2.9.0": { - "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "yaml@2.9.1": { + "integrity": "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==", "bin": true }, - "zimmerframe@1.1.4": { - "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==" + "zimmerframe@1.1.5": { + "integrity": "sha512-msJxIvYDYcoNL+PJsu+7qmpDWsYmAxTY+2TNYXXF0hzBzBk0BMecOqDOG/EckUoKCuKwObfbugIl8QpqHDXeFA==" }, "zwitch@2.0.4": { "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==" @@ -1414,37 +1147,37 @@ }, "workspace": { "dependencies": [ - "npm:@codemirror/autocomplete@6.20.0", - "npm:@codemirror/commands@6.9.0", + "npm:@codemirror/autocomplete@6.20.3", + "npm:@codemirror/commands@6.11.1", "npm:@codemirror/language@6.12.4", - "npm:@codemirror/state@6.7.1", - "npm:@codemirror/view@6.43.8", - "npm:@lezer/common@1.5.2", - "npm:@lezer/highlight@1.2.3", - "npm:@sveltejs/adapter-static@3.0.9", - "npm:@sveltejs/kit@2.49.4", - "npm:@sveltejs/vite-plugin-svelte@6.2.1", + "npm:@codemirror/state@6.7.6", + "npm:@codemirror/view@6.43.13", + "npm:@lezer/common@1.5.3", + "npm:@lezer/highlight@1.2.5", + "npm:@sveltejs/adapter-static@4.0.0", + "npm:@sveltejs/kit@3.0.0", + "npm:@sveltejs/vite-plugin-svelte@7.3.1", "npm:clsx@2.1.1", - "npm:cookie@0.6.0", - "npm:decodal-codemirror@0.3.0", - "npm:devalue@5.6.4", - "npm:set-cookie-parser@2.7.2", - "npm:shiki@4.4.2", - "npm:svelte-check@4.3.4", - "npm:svelte@5.45.6", - "npm:typescript@5.9.3", - "npm:vite@7.2.7" + "npm:cookie@2.0.1", + "npm:decodal-codemirror@0.3.1", + "npm:devalue@6.0.2", + "npm:set-cookie-parser@3.1.2", + "npm:shiki@4.5.0", + "npm:svelte-check@4.7.6", + "npm:svelte@5.57.1", + "npm:typescript@6.0.3", + "npm:vite@8.3.2" ], "packageJson": { "dependencies": [ "npm:@fontsource/ibm-plex-mono@5.3.0", - "npm:@humanspeak/svelte-markdown@1.9.1", - "npm:@testing-library/svelte@5.2.8", + "npm:@humanspeak/svelte-markdown@2.0.0", + "npm:@testing-library/svelte@5.4.2", "npm:gen-interface-jp@0.8.0", - "npm:happy-dom@20.12.0", - "npm:shiki@4.4.2", - "npm:vitest@3.2.4", - "npm:yaml@2.9.0" + "npm:happy-dom@20.14.5", + "npm:shiki@4.5.0", + "npm:vitest@5.0.3", + "npm:yaml@2.9.1" ] } } diff --git a/web/workspace/package.json b/web/workspace/package.json index ad088cf3f..0fc42ae5e 100644 --- a/web/workspace/package.json +++ b/web/workspace/package.json @@ -5,14 +5,17 @@ "type": "module", "dependencies": { "@fontsource/ibm-plex-mono": "5.3.0", - "@humanspeak/svelte-markdown": "1.9.1", + "@humanspeak/svelte-markdown": "2.0.0", "gen-interface-jp": "0.8.0", - "shiki": "4.4.2", - "yaml": "2.9.0" + "shiki": "4.5.0", + "yaml": "2.9.1" }, "devDependencies": { - "@testing-library/svelte": "5.2.8", - "happy-dom": "20.12.0", - "vitest": "3.2.4" + "@testing-library/svelte": "5.4.2", + "happy-dom": "20.14.5", + "vitest": "5.0.3" + }, + "imports": { + "#lib/*": "./src/lib/*" } } diff --git a/web/workspace/src/lib/workspace/api/http.test.ts b/web/workspace/src/lib/workspace/api/http.test.ts index 89b1a5e05..b6c3802f9 100644 --- a/web/workspace/src/lib/workspace/api/http.test.ts +++ b/web/workspace/src/lib/workspace/api/http.test.ts @@ -7,7 +7,7 @@ import { workspaceSkillCatalogPath, workspaceSkillDetailPath, } from "./http.ts"; -import { SKILL_API_LIMITS } from "$lib/generated/skill-api.ts"; +import { SKILL_API_LIMITS } from "#lib/generated/skill-api.ts"; declare const Deno: { test(name: string, fn: () => Promise | void): void; diff --git a/web/workspace/src/lib/workspace/api/http.ts b/web/workspace/src/lib/workspace/api/http.ts index 0ee2e483f..c90ae3352 100644 --- a/web/workspace/src/lib/workspace/api/http.ts +++ b/web/workspace/src/lib/workspace/api/http.ts @@ -1,13 +1,13 @@ -import { SKILL_API_LIMITS } from "$lib/generated/skill-api.ts"; +import { SKILL_API_LIMITS } from "#lib/generated/skill-api.ts"; import type { SkillCatalogResponse, SkillDetailResponse, -} from "$lib/generated/skill-api.ts"; +} from "#lib/generated/skill-api.ts"; import { parseSkillCatalogResponse, parseSkillDetailResponse, SkillApiContractError, -} from "$lib/workspace/skills/api.ts"; +} from "#lib/workspace/skills/api.ts"; export type ApiResult = { data: T | null; diff --git a/web/workspace/src/lib/workspace/api/merge-requests.ts b/web/workspace/src/lib/workspace/api/merge-requests.ts index 0373c51a6..545b193ec 100644 --- a/web/workspace/src/lib/workspace/api/merge-requests.ts +++ b/web/workspace/src/lib/workspace/api/merge-requests.ts @@ -2,7 +2,7 @@ import type { MergeRequestDetailResponse, MergeRequestListResponse, MergeRequestThreadEvent, -} from "$lib/generated/ticket-api"; +} from "#lib/generated/ticket-api.ts"; import { workspaceApiPath } from "./http"; export type MergeRequestDetail = MergeRequestDetailResponse; diff --git a/web/workspace/src/lib/workspace/api/repositories.ts b/web/workspace/src/lib/workspace/api/repositories.ts index 3a505dce8..a796140a2 100644 --- a/web/workspace/src/lib/workspace/api/repositories.ts +++ b/web/workspace/src/lib/workspace/api/repositories.ts @@ -3,19 +3,19 @@ import type { CreateWorkspaceRepositoryResponse, RepositoryDetailResponse, RepositoryListResponse, -} from "$lib/generated/repository-api.ts"; +} from "#lib/generated/repository-api.ts"; import { type ApiResult, loadJson, readBoundedJson, workspaceApiPath, -} from "$lib/workspace/api/http.ts"; +} from "#lib/workspace/api/http.ts"; import { parseCreateWorkspaceRepositoryResponse, parseRepositoryApiError, parseRepositoryDetailResponse, parseRepositoryListResponse, -} from "$lib/workspace/api/workspace-model.ts"; +} from "#lib/workspace/api/workspace-model.ts"; export const REPOSITORY_API_MAX_RESPONSE_BYTES = 2 * 1024 * 1024; diff --git a/web/workspace/src/lib/workspace/api/runtime-connection.ts b/web/workspace/src/lib/workspace/api/runtime-connection.ts index 7f308e685..e5b0dd7c7 100644 --- a/web/workspace/src/lib/workspace/api/runtime-connection.ts +++ b/web/workspace/src/lib/workspace/api/runtime-connection.ts @@ -3,7 +3,7 @@ import type { RuntimeConnectionTestFailureKind, RuntimeConnectionTestResponse, RuntimeVerificationEvidenceSummary, -} from "$lib/generated/runtime-api"; +} from "#lib/generated/runtime-api.ts"; const RESPONSE_KEYS = [ "workspace_id", diff --git a/web/workspace/src/lib/workspace/api/runtime-management.ts b/web/workspace/src/lib/workspace/api/runtime-management.ts index b16355ed0..391b47683 100644 --- a/web/workspace/src/lib/workspace/api/runtime-management.ts +++ b/web/workspace/src/lib/workspace/api/runtime-management.ts @@ -24,7 +24,7 @@ import type { WorkspaceRuntimeDetail, WorkspaceRuntimeListResponse, WorkspaceRuntimeResource, -} from "$lib/generated/runtime-api.ts"; +} from "#lib/generated/runtime-api.ts"; import { workspaceApiPath } from "./http.ts"; export type WorkspaceRuntimeList = Omit & { diff --git a/web/workspace/src/lib/workspace/api/runtime-workers.ts b/web/workspace/src/lib/workspace/api/runtime-workers.ts index 18878ce66..5247b8366 100644 --- a/web/workspace/src/lib/workspace/api/runtime-workers.ts +++ b/web/workspace/src/lib/workspace/api/runtime-workers.ts @@ -11,7 +11,7 @@ import type { RuntimeWorkerLifecycleResult, WorkerOperationState, WorkerRetentionResponse, -} from "$lib/generated/runtime-api"; +} from "#lib/generated/runtime-api.ts"; const MAX_STRING_BYTES = 4_096; const MAX_CANDIDATES = 1_000; diff --git a/web/workspace/src/lib/workspace/api/ticket-browser.ts b/web/workspace/src/lib/workspace/api/ticket-browser.ts index 6b846ad5d..8f0fde5cb 100644 --- a/web/workspace/src/lib/workspace/api/ticket-browser.ts +++ b/web/workspace/src/lib/workspace/api/ticket-browser.ts @@ -38,7 +38,7 @@ import type { TicketRoleAssignmentRecord, TicketRoleAssignmentSummary, TicketTarget, -} from "$lib/generated/ticket-api.ts"; +} from "#lib/generated/ticket-api.ts"; export const TICKET_BROWSER_API_MAX_RESPONSE_BYTES = 4 * 1024 * 1024; export const TICKET_BROWSER_API_LOAD_POLICY = { diff --git a/web/workspace/src/lib/workspace/api/workers.ts b/web/workspace/src/lib/workspace/api/workers.ts index 467a8030f..9ba9ba9f7 100644 --- a/web/workspace/src/lib/workspace/api/workers.ts +++ b/web/workspace/src/lib/workspace/api/workers.ts @@ -21,12 +21,12 @@ import type { WorkerWorkdirAttachmentSummary, WorkerWorkspaceSummary, WorkingDirectoryRepositoryOption, -} from "$lib/generated/worker-launch-api"; -import type { Segment } from "$lib/generated/protocol"; +} from "#lib/generated/worker-launch-api.ts"; +import type { Segment } from "#lib/generated/protocol.ts"; import { parseExternalWorkdirPermissions, parseWorkingDirectorySummary, -} from "$lib/workspace/api/workdirs"; +} from "#lib/workspace/api/workdirs.ts"; const DIAGNOSTIC_SEVERITIES = new Set([ "info", diff --git a/web/workspace/src/lib/workspace/api/workspace-catalog.ts b/web/workspace/src/lib/workspace/api/workspace-catalog.ts index 90516e893..587b54839 100644 --- a/web/workspace/src/lib/workspace/api/workspace-catalog.ts +++ b/web/workspace/src/lib/workspace/api/workspace-catalog.ts @@ -4,8 +4,8 @@ import { type RepositorySummary, type WorkspaceCreateResponse, type WorkspaceSummary, -} from "$lib/workspace/api/workspace-model"; -import { loadWorkspaceRepositoryList } from "$lib/workspace/api/repositories.ts"; +} from "#lib/workspace/api/workspace-model.ts"; +import { loadWorkspaceRepositoryList } from "#lib/workspace/api/repositories.ts"; export type WorkspaceCatalogRecord = WorkspaceSummary; export type WorkspaceCatalogItem = WorkspaceCatalogRecord & { diff --git a/web/workspace/src/lib/workspace/api/workspace-model.ts b/web/workspace/src/lib/workspace/api/workspace-model.ts index e7e7af8e8..d16e9bacc 100644 --- a/web/workspace/src/lib/workspace/api/workspace-model.ts +++ b/web/workspace/src/lib/workspace/api/workspace-model.ts @@ -1,4 +1,4 @@ -import type { ApiResult } from "$lib/workspace/api/http"; +import type { ApiResult } from "#lib/workspace/api/http.ts"; import type { WorkspaceAuthConfig, WorkspaceCatalogListResponse, @@ -15,7 +15,7 @@ import type { WorkspaceRepositoryRecord, WorkspaceResponse, WorkspaceSummary, -} from "$lib/generated/legacy-server-api.ts"; +} from "#lib/generated/legacy-server-api.ts"; import type { CreateWorkspaceRepositoryResponse, Diagnostic, @@ -35,7 +35,7 @@ import type { RepositorySshConnectionTrustState, RepositorySshHostKeyCandidate, RepositorySummary, -} from "$lib/generated/repository-api.ts"; +} from "#lib/generated/repository-api.ts"; export type { WorkspaceCatalogListResponse, @@ -45,7 +45,7 @@ export type { WorkspacePermissionSummary, WorkspaceResponse, WorkspaceSummary, -} from "$lib/generated/legacy-server-api.ts"; +} from "#lib/generated/legacy-server-api.ts"; export type { CreateWorkspaceRepositoryRequest, CreateWorkspaceRepositoryResponse, @@ -63,7 +63,7 @@ export type { RepositorySshConnectionProbeResponse, RepositorySshHostKeyCandidate, RepositorySummary, -} from "$lib/generated/repository-api.ts"; +} from "#lib/generated/repository-api.ts"; type JsonObject = Record; diff --git a/web/workspace/src/lib/workspace/auth/api.ts b/web/workspace/src/lib/workspace/auth/api.ts index b2d25914f..1d67b3622 100644 --- a/web/workspace/src/lib/workspace/auth/api.ts +++ b/web/workspace/src/lib/workspace/auth/api.ts @@ -4,7 +4,7 @@ import type { PasskeyLoginOptionsRequest, PasskeyRegistrationCompleteRequest, PasskeyRegistrationOptionsRequest, -} from "$lib/generated/auth-api.ts"; +} from "#lib/generated/auth-api.ts"; import { authenticationCredentialToJson, type AuthUser, @@ -17,7 +17,7 @@ import { prepareRegistrationOptions, registrationCredentialToJson, type WhoamiResponse, -} from "$lib/workspace/auth/model"; +} from "#lib/workspace/auth/model.ts"; const MAX_AUTH_RESPONSE_BYTES = 256 * 1024; diff --git a/web/workspace/src/lib/workspace/auth/model.ts b/web/workspace/src/lib/workspace/auth/model.ts index 3912db059..a52b2e5a4 100644 --- a/web/workspace/src/lib/workspace/auth/model.ts +++ b/web/workspace/src/lib/workspace/auth/model.ts @@ -12,7 +12,7 @@ import type { PasskeyRegistrationOptionsResponse, RequestActor, WhoamiResponse, -} from "$lib/generated/auth-api.ts"; +} from "#lib/generated/auth-api.ts"; export type AuthUser = AuthenticatedUser; export type PasskeyUserResponse = AuthUserResponse; diff --git a/web/workspace/src/lib/workspace/companion/api.ts b/web/workspace/src/lib/workspace/companion/api.ts index ba7584aae..a475fceef 100644 --- a/web/workspace/src/lib/workspace/companion/api.ts +++ b/web/workspace/src/lib/workspace/companion/api.ts @@ -9,7 +9,7 @@ import type { DiagnosticSeverity, WorkspaceWorkerDiscoveryItem, WorkspaceWorkerSubject, -} from "$lib/generated/companion-api"; +} from "#lib/generated/companion-api.ts"; const MAX_TRANSCRIPT_ITEMS = 200; const MAX_DIAGNOSTICS = 100; diff --git a/web/workspace/src/lib/workspace/config-source/ConfigSourceEditor.svelte b/web/workspace/src/lib/workspace/config-source/ConfigSourceEditor.svelte index 433efc62a..0cf4471d4 100644 --- a/web/workspace/src/lib/workspace/config-source/ConfigSourceEditor.svelte +++ b/web/workspace/src/lib/workspace/config-source/ConfigSourceEditor.svelte @@ -1,6 +1,6 @@
diff --git a/web/workspace/src/routes/design-lab/workspace-web-ux/WorkspaceSidebarFixture.svelte b/web/workspace/src/routes/design-lab/workspace-web-ux/WorkspaceSidebarFixture.svelte index ac974d3ea..8603cf3d7 100644 --- a/web/workspace/src/routes/design-lab/workspace-web-ux/WorkspaceSidebarFixture.svelte +++ b/web/workspace/src/routes/design-lab/workspace-web-ux/WorkspaceSidebarFixture.svelte @@ -1,6 +1,6 @@ diff --git a/web/workspace/src/routes/w/[workspaceId]/+layout.svelte b/web/workspace/src/routes/w/[workspaceId]/+layout.svelte index 1a5094331..b9ef58796 100644 --- a/web/workspace/src/routes/w/[workspaceId]/+layout.svelte +++ b/web/workspace/src/routes/w/[workspaceId]/+layout.svelte @@ -1,24 +1,24 @@ diff --git a/web/workspace/src/routes/w/[workspaceId]/settings/configuration/+page.svelte b/web/workspace/src/routes/w/[workspaceId]/settings/configuration/+page.svelte index 8928e5273..1747c3b38 100644 --- a/web/workspace/src/routes/w/[workspaceId]/settings/configuration/+page.svelte +++ b/web/workspace/src/routes/w/[workspaceId]/settings/configuration/+page.svelte @@ -1,5 +1,5 @@ diff --git a/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/+page.ts b/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/+page.ts index 37e5c9f79..0fc6c816b 100644 --- a/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/+page.ts +++ b/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/+page.ts @@ -1,10 +1,10 @@ import { redirect } from "@sveltejs/kit"; -import { loadJson, workspaceApiPath } from "$lib/workspace/api/http"; -import { parseWorkerSummary } from "$lib/workspace/api/workers"; +import { loadJson, workspaceApiPath } from "#lib/workspace/api/http.ts"; +import { parseWorkerSummary } from "#lib/workspace/api/workers.ts"; import { canonicalResourceReference, resourceKey, -} from "$lib/workspace/resource-links"; +} from "#lib/workspace/resource-links.ts"; import type { PageLoad } from "./$types"; export const load = (async ({ fetch, params }) => { diff --git a/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/+page.svelte b/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/+page.svelte index 110c50821..23dd14fc8 100644 --- a/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/+page.svelte +++ b/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/+page.svelte @@ -3,25 +3,25 @@ import { tick, untrack, type SvelteComponent } from "svelte"; import { prefersReducedMotion } from "svelte/motion"; import { fly } from "svelte/transition"; - import ConsoleLineItem from "$lib/workspace/console/ConsoleLineItem.svelte"; - import ConsoleTurnNavigation from "$lib/workspace/console/ConsoleTurnNavigation.svelte"; - import ConsoleDisplayStateView from "$lib/workspace/console/ConsoleDisplayState.svelte"; - import ConsoleTasks from "$lib/workspace/console/ConsoleTasks.svelte"; - import { namePastedImage } from "$lib/workspace/console/composer-paste"; - import ComposerInput from "$lib/workspace/console/ComposerInput.svelte"; - import type { ComposerDraftSnapshot } from "$lib/workspace/console/composer-draft"; + import ConsoleLineItem from "#lib/workspace/console/ConsoleLineItem.svelte"; + import ConsoleTurnNavigation from "#lib/workspace/console/ConsoleTurnNavigation.svelte"; + import ConsoleDisplayStateView from "#lib/workspace/console/ConsoleDisplayState.svelte"; + import ConsoleTasks from "#lib/workspace/console/ConsoleTasks.svelte"; + import { namePastedImage } from "#lib/workspace/console/composer-paste.ts"; + import ComposerInput from "#lib/workspace/console/ComposerInput.svelte"; + import type { ComposerDraftSnapshot } from "#lib/workspace/console/composer-draft.ts"; import { canDeliverComposerDraft, sendComposerDelivery, type ComposerDelivery, - } from "$lib/workspace/console/composer-delivery"; + } from "#lib/workspace/console/composer-delivery.ts"; import { buildComposerSegmentsRequest, type WorkerConsoleInputRequest, - } from "$lib/workspace/console/composer-command"; - import { FileCompletions } from "$lib/workspace/console/file-completions"; - import WorkerRunStatus from "$lib/workspace/console/WorkerRunStatus.svelte"; - import { resolveWorkerControlShortcut } from "$lib/workspace/console/worker-control-shortcuts"; + } from "#lib/workspace/console/composer-command.ts"; + import { FileCompletions } from "#lib/workspace/console/file-completions.ts"; + import WorkerRunStatus from "#lib/workspace/console/WorkerRunStatus.svelte"; + import { resolveWorkerControlShortcut } from "#lib/workspace/console/worker-control-shortcuts.ts"; import { consoleWorkerViews, createConsoleProjector, @@ -35,7 +35,7 @@ type ConsoleProjection, type ConsoleViewMode, type ConsoleViewScroll, - } from "$lib/workspace/console/model"; + } from "#lib/workspace/console/model.ts"; import type { Event as ProtocolEvent, Method as ProtocolMethod, @@ -43,22 +43,22 @@ RewindTarget, Segment, SessionHistoryPage, - } from "$lib/generated/protocol"; + } from "#lib/generated/protocol.ts"; import { MAX_FILES_PER_SUBMISSION, uploadAttachment, validateAttachmentFile, type ComposerAttachment, - } from "$lib/workspace/console/composer-attachments"; - import { pushWorkspaceAlert } from "$lib/workspace/alerts/store"; + } from "#lib/workspace/console/composer-attachments.ts"; + import { pushWorkspaceAlert } from "#lib/workspace/alerts/store.ts"; import { boundedConsoleReason, displayedConsoleSource, type ConsoleDisplaySource, type ConsoleDisplayState, - } from "$lib/workspace/console/console-display-state"; - import { workspaceApiPath } from "$lib/workspace/api/http"; - import { workspaceMultiplexer, type WorkspaceMultiplexerSubscription } from "$lib/workspace/multiplexer"; + } from "#lib/workspace/console/console-display-state.ts"; + import { workspaceApiPath } from "#lib/workspace/api/http.ts"; + import { workspaceMultiplexer, type WorkspaceMultiplexerSubscription } from "#lib/workspace/multiplexer.ts"; import { isCurrentWorkerSessionRequest, resolveWorkerSessionTarget, @@ -67,7 +67,7 @@ type WorkerSessionObservation, type WorkerSessionRequestIdentity, type WorkerSessionTarget, - } from "$lib/workspace/session-observation"; + } from "#lib/workspace/session-observation.ts"; import { applyConsoleHistoryPage, beginConsoleHistoryRequest, @@ -78,9 +78,9 @@ setConsoleHistoryTopEdge, shouldLoadHistoryAtTop, type ConsoleHistoryState, - } from "$lib/workspace/console/history"; - import type { TurnNavigationItem } from "$lib/workspace/console/turn-navigation"; - import type { Diagnostic, Worker } from "$lib/workspace/sidebar/types"; + } from "#lib/workspace/console/history.ts"; + import type { TurnNavigationItem } from "#lib/workspace/console/turn-navigation.ts"; + import type { Diagnostic, Worker } from "#lib/workspace/sidebar/types.ts"; type Props = { data: { diff --git a/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/+page.ts b/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/+page.ts index 36622fa04..de8e6b7e3 100644 --- a/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/+page.ts +++ b/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/+page.ts @@ -1,10 +1,10 @@ import { redirect } from "@sveltejs/kit"; -import { loadJson, workspaceApiPath } from "$lib/workspace/api/http"; -import { parseWorkerSummary } from "$lib/workspace/api/workers"; +import { loadJson, workspaceApiPath } from "#lib/workspace/api/http.ts"; +import { parseWorkerSummary } from "#lib/workspace/api/workers.ts"; import { canonicalResourceReference, resourceKey, -} from "$lib/workspace/resource-links"; +} from "#lib/workspace/resource-links.ts"; import type { PageLoad } from "./$types"; export const load = (async ({ fetch, params }) => { diff --git a/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/console-display.browser.spec.ts b/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/console-display.browser.spec.ts index 069aa88a0..0ef0a757e 100644 --- a/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/console-display.browser.spec.ts +++ b/web/workspace/src/routes/w/[workspaceId]/workers/[workerRef]/console/console-display.browser.spec.ts @@ -13,10 +13,10 @@ import type { Event as ProtocolEvent, SessionConversationTurn, SessionSnapshot, -} from "$lib/generated/protocol"; -import type { Worker } from "$lib/workspace/sidebar/types"; +} from "#lib/generated/protocol.ts"; +import type { Worker } from "#lib/workspace/sidebar/types.ts"; import { EditorView } from "@codemirror/view"; -import * as alerts from "$lib/workspace/alerts/store"; +import * as alerts from "#lib/workspace/alerts/store.ts"; import ConsolePage from "./+page.svelte"; // happy-dom does not implement Web Animations. Motion itself is covered in Chromium. @@ -43,7 +43,7 @@ const multiplexer = vi.hoisted(() => { }; }); -vi.mock("$lib/workspace/multiplexer", () => ({ +vi.mock("#lib/workspace/multiplexer.ts", () => ({ workspaceMultiplexer: () => ({ subscribe: multiplexer.subscribe }), })); diff --git a/web/workspace/src/routes/w/[workspaceId]/workers/new/+page.svelte b/web/workspace/src/routes/w/[workspaceId]/workers/new/+page.svelte index da2d95782..d1648fd46 100644 --- a/web/workspace/src/routes/w/[workspaceId]/workers/new/+page.svelte +++ b/web/workspace/src/routes/w/[workspaceId]/workers/new/+page.svelte @@ -1,29 +1,29 @@