From 61465cc67ee068340b055230fde9d8666ac030b2 Mon Sep 17 00:00:00 2001 From: Dennis Thiessen Date: Sun, 25 Oct 2026 22:45:25 +0100 Subject: [PATCH] Rebuild the site as a terminal-style agent on Astro Replace the single Gatsby page with a dark, terminal-style agent that answers questions about Dennis's work from one curated knowledge base. There is no model and no network call, so answers cannot be invented. A plain "Classic view" and an optional light theme sit one click away. Site - Terminal UI (React island): typed answers, tool-call lines, slash commands, autocomplete, history, deep links, a short /oncall game - Content focused on what recruiters scan for; personal and employer-internal details are left out - No profile photo anywhere, including the new link-preview card and icons - Corrected facts from the old page (dates, titles, tenses, skill tiers) Tooling - Migrate Gatsby 5 to Astro 7 (Node 22.23+); builds in about 1 second - Self-host fonts, so visitors make no request to third parties - Link-preview card, favicon set, web manifest and a service-worker clean-up for returning visitors - Deploy workflow builds with npm ci on Node 22 and uploads dist/ - Track package-lock.json Quality - Tests for routing and for markup injection from visitor input - A content guard scans every reachable answer; the list of things that must never be published lives in a git-ignored local file Co-Authored-By: Claude Sonnet 5.5 --- .gitea/workflows/workflow.yaml | 16 +- .gitignore | 10 +- .nvmrc | 2 +- README.md | 52 +- astro.config.mjs | 10 + gatsby-browser.js | 7 - gatsby-config.js | 24 - gatsby-node.js | 7 - gatsby-ssr.js | 7 - package-lock.json | 3826 +++++++++++++++++++++++++ package.json | 41 +- public/apple-touch-icon.png | Bin 0 -> 7641 bytes public/favicon-32x32.png | Bin 0 -> 1502 bytes public/icons/icon-192.png | Bin 0 -> 9159 bytes public/icons/icon-512.png | Bin 0 -> 16375 bytes public/manifest.webmanifest | 20 + public/og-image.png | Bin 0 -> 54919 bytes public/sw.js | 17 + scripts/make-icons.mjs | 39 + src/agent/engine.mjs | 1425 +++++++++ src/agent/inline.mjs | 38 + src/agent/oncall.mjs | 156 + src/assets/images/.gitignore | 0 src/assets/images/profile_image.jpg | Bin 284244 -> 0 bytes src/assets/images/website-icon-dt.png | Bin 21687 -> 0 bytes src/assets/style.css | 956 +++++- src/components/Classic.jsx | 163 ++ src/components/Shell.jsx | 112 + src/components/Terminal.jsx | 499 ++++ src/components/blocks.jsx | 264 ++ src/components/layout.js | 6 - src/data/profile.mjs | 650 +++++ src/layouts/Base.astro | 42 + src/pages/404.astro | 17 + src/pages/404.js | 22 - src/pages/index.astro | 47 + src/pages/index.js | 233 -- test/content.test.mjs | 142 + test/engine.test.mjs | 228 ++ test/private-banned.mjs | 27 + 40 files changed, 8625 insertions(+), 480 deletions(-) create mode 100644 astro.config.mjs delete mode 100644 gatsby-browser.js delete mode 100644 gatsby-config.js delete mode 100644 gatsby-node.js delete mode 100644 gatsby-ssr.js create mode 100644 package-lock.json create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon-32x32.png create mode 100644 public/icons/icon-192.png create mode 100644 public/icons/icon-512.png create mode 100644 public/manifest.webmanifest create mode 100644 public/og-image.png create mode 100644 public/sw.js create mode 100644 scripts/make-icons.mjs create mode 100644 src/agent/engine.mjs create mode 100644 src/agent/inline.mjs create mode 100644 src/agent/oncall.mjs delete mode 100644 src/assets/images/.gitignore delete mode 100644 src/assets/images/profile_image.jpg delete mode 100755 src/assets/images/website-icon-dt.png create mode 100644 src/components/Classic.jsx create mode 100644 src/components/Shell.jsx create mode 100644 src/components/Terminal.jsx create mode 100644 src/components/blocks.jsx delete mode 100644 src/components/layout.js create mode 100644 src/data/profile.mjs create mode 100644 src/layouts/Base.astro create mode 100644 src/pages/404.astro delete mode 100644 src/pages/404.js create mode 100644 src/pages/index.astro delete mode 100644 src/pages/index.js create mode 100644 test/content.test.mjs create mode 100644 test/engine.test.mjs create mode 100644 test/private-banned.mjs diff --git a/.gitea/workflows/workflow.yaml b/.gitea/workflows/workflow.yaml index 68d7efc..b96addc 100644 --- a/.gitea/workflows/workflow.yaml +++ b/.gitea/workflows/workflow.yaml @@ -16,21 +16,23 @@ jobs: - name: Set up Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 + # Astro needs Node 22.23 or newer; runner images can cache an older 22.x. + check-latest: true - name: Install dependencies - run: npm install --legacy-peer-deps + run: npm ci - - name: Build Gatsby site - run: npx gatsby build + - name: Build Astro site + run: npm run build env: NODE_ENV: production CI: true - name: Check build output run: | - if [ ! -d "public" ]; then - echo "Build failed - public directory not found" + if [ ! -f "dist/index.html" ]; then + echo "Build failed - dist/index.html not found" exit 1 fi @@ -55,7 +57,7 @@ jobs: --exclude='mailadmin/' \ --exclude='postfixadmin/' \ --exclude='roundcube/' \ - public/ \ + dist/ \ $DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH - name: Verify deployment diff --git a/.gitignore b/.gitignore index b57cf42..2be57b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,12 @@ # Project dependencies -.cache node_modules yarn-error.log -package-lock.json yarn.lock -# Build directory -/public +# Build output and Astro's generated files +/dist +.astro .DS_Store + +# Specifics that must never reach the site (see test/private-banned.mjs) +test/banned.private.json diff --git a/.nvmrc b/.nvmrc index 209e3ef..2bd5a0a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20 +22 diff --git a/README.md b/README.md index 6d70f14..a27eea9 100644 --- a/README.md +++ b/README.md @@ -2,26 +2,58 @@ Personal site of **Dennis Thiessen** — Staff Data, Analytics & AI Engineer (Bern, Switzerland). -Built with [Gatsby](https://www.gatsbyjs.com/) 5 and React 18. Single-page, Swiss-minimal design; styles are plain CSS in `src/assets/style.css` (no preprocessor). +Built with [Astro](https://astro.build/) and one React island. The home page is a dark, terminal-style +agent that answers questions about Dennis's work, stack and projects, with a plain page one click away +("Classic view") and an optional light theme. Styles are plain CSS in `src/assets/style.css` +(no preprocessor). Fonts are self-hosted, so visitors make no request to any third party, and the site +uses no analytics. + +The content is deliberately focused on what recruiters scan for: current role, headline stack, +what was delivered at each employer and at what scope, education, and contact. Personal, private and +employer-internal details are left out on purpose. `npm test` checks every answer the terminal can give +against a list of things that must never be published; the specifics live in `test/banned.private.json`, +which is git-ignored so the list itself never leaks. + +## How the agent works + +There is no language model and no network call. Every answer is generated in the browser from one +curated knowledge base, so nothing can be invented. + +| Path | Role | +| ---------------------- | ------------------------------------------------------------------------------ | +| `src/data/profile.mjs` | The only place facts live: roles, skills (by how they were used), projects | +| `src/agent/engine.mjs` | Command parser, intent matcher and answer builder. Pure functions, no DOM | +| `src/agent/oncall.mjs` | The short `/oncall` choose-your-path scene | +| `src/components/` | `Terminal` (input, typing effect), `blocks` (answer renderers), `Classic`, `Shell` | +| `src/layouts/Base.astro` | Document shell: fonts, icons, theme script | +| `src/pages/` | `index.astro` (head tags, share card, JSON-LD) and `404.astro` | +| `public/` | Static files copied as-is: share card, icons, web manifest | +| `test/` | Routing tests and a content guard (see below) | + +To change what the site says, edit `src/data/profile.mjs`. Skills carry a tier (`now`, `before`, `ai`, +`poc`, `study`); a skill that is not listed is answered with "not in his listed stack" via `NON_CLAIMS`. + +Deep links work: `thiessen.io/#/projects`, `#/experience bosch`, `#classic`. ## Develop -```bash -npm install --legacy-peer-deps -npx gatsby develop # http://localhost:8000 -``` - -## Build +Needs Node 22.23 or newer (see `.nvmrc`). ```bash -npx gatsby build # output in ./public +npm install +npm run dev # http://localhost:4321 +npm test # node's built-in test runner, no extra dependencies +npm run build # static site in ./dist +npm run preview # serve ./dist locally ``` -Use Node 20 (see `.nvmrc`). +After changing `public/icons/icon-512.png`, regenerate the favicon, touch icon and manifest with +`node scripts/make-icons.mjs`. ## Deploy Pushing to `master` triggers the Gitea Actions workflow in -`.gitea/workflows/workflow.yaml`, which builds the site and rsyncs `public/` +`.gitea/workflows/workflow.yaml`, which builds the site and rsyncs `dist/` to the web server over SSH. It relies on these repository secrets: `SSH_PRIVATE_KEY`, `SSH_KNOWN_HOSTS`, `DEPLOY_USER`, `DEPLOY_HOST`, `DEPLOY_PATH`. +The rsync does not delete files that are no longer part of the site. diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..f4e8290 --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,10 @@ +import react from '@astrojs/react' +import { defineConfig } from 'astro/config' + +// A static site: `astro build` writes plain HTML, CSS and JS to ./dist, which the +// deploy workflow rsyncs to the web server. +export default defineConfig({ + site: 'https://thiessen.io', + integrations: [react()], + devToolbar: { enabled: false }, +}) diff --git a/gatsby-browser.js b/gatsby-browser.js deleted file mode 100644 index b1e5c31..0000000 --- a/gatsby-browser.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Implement Gatsby's Browser APIs in this file. - * - * See: https://www.gatsbyjs.org/docs/browser-apis/ - */ - -// You can delete this file if you're not using it diff --git a/gatsby-config.js b/gatsby-config.js deleted file mode 100644 index 9b883d6..0000000 --- a/gatsby-config.js +++ /dev/null @@ -1,24 +0,0 @@ -module.exports = { - siteMetadata: { - title: "Dennis Thiessen — Data, Analytics & AI Engineer", - author: "Dennis Thiessen", - description: - "Dennis Thiessen is a Staff Data, Analytics & AI Engineer in Bern, Switzerland, building the data pipelines and ML infrastructure that production systems run on." - }, - plugins: [ - 'gatsby-plugin-react-helmet', - { - resolve: `gatsby-plugin-manifest`, - options: { - name: 'Dennis Thiessen', - short_name: 'D. Thiessen', - start_url: '/', - background_color: '#f4f5f7', - theme_color: '#15171c', - display: 'minimal-ui', - icon: 'src/assets/images/website-icon-dt.png', - }, - }, - 'gatsby-plugin-remove-serviceworker' - ], -} diff --git a/gatsby-node.js b/gatsby-node.js deleted file mode 100644 index 2f42665..0000000 --- a/gatsby-node.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Implement Gatsby's Node APIs in this file. - * - * See: https://www.gatsbyjs.org/docs/node-apis/ - */ - -// You can delete this file if you're not using it diff --git a/gatsby-ssr.js b/gatsby-ssr.js deleted file mode 100644 index b17b8fc..0000000 --- a/gatsby-ssr.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Implement Gatsby's SSR (Server Side Rendering) APIs in this file. - * - * See: https://www.gatsbyjs.org/docs/ssr-apis/ - */ - -// You can delete this file if you're not using it diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..464f009 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3826 @@ +{ + "name": "thiessen-io", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "thiessen-io", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@astrojs/react": "^7.1.1", + "@fontsource-variable/hanken-grotesk": "^5.3.0", + "@fontsource-variable/jetbrains-mono": "^5.3.0", + "@fontsource-variable/space-grotesk": "^5.3.0", + "astro": "^7.4.2", + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "devDependencies": { + "prettier": "^3.1.0" + }, + "engines": { + "node": ">=22.23.4" + } + }, + "node_modules/@astrojs/compiler-binding": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding/-/compiler-binding-0.5.2.tgz", + "integrity": "sha512-lEn76+0JcMQ5RDXU0wSMWJg2ZppiZvSULpghC29cfv4o9bhvWFDbQjsCtvjjXN9iVLFQ7fL3wTR2L2UU13mP8g==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@astrojs/compiler-binding-android-arm64": "0.5.2", + "@astrojs/compiler-binding-darwin-arm64": "0.5.2", + "@astrojs/compiler-binding-darwin-x64": "0.5.2", + "@astrojs/compiler-binding-linux-arm64-gnu": "0.5.2", + "@astrojs/compiler-binding-linux-arm64-musl": "0.5.2", + "@astrojs/compiler-binding-linux-x64-gnu": "0.5.2", + "@astrojs/compiler-binding-linux-x64-musl": "0.5.2", + "@astrojs/compiler-binding-wasm32-wasi": "0.5.2", + "@astrojs/compiler-binding-win32-arm64-msvc": "0.5.2", + "@astrojs/compiler-binding-win32-x64-msvc": "0.5.2" + } + }, + "node_modules/@astrojs/compiler-binding-android-arm64": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-android-arm64/-/compiler-binding-android-arm64-0.5.2.tgz", + "integrity": "sha512-kckIxon6Rm/Bxzh9mGPYpRRqUbToUQoHptCmpMmE+Yt0Xumq8CqrKUidyYhrBsrHVO7bxuRzzWUUqvpf+iYceQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-arm64": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-arm64/-/compiler-binding-darwin-arm64-0.5.2.tgz", + "integrity": "sha512-1ZG5Ar3dD8HtodX9XH1mRmE0qBXZlvjYXSFfpgFwocqfWnvhFuqtGUNseL8wgfImiRMztIjpQqlogQFQQtgiag==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-x64": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-x64/-/compiler-binding-darwin-x64-0.5.2.tgz", + "integrity": "sha512-+kl35S7hiHJ2cb7eujwEsPFYYuSgE11uEE2Z20lAJ+undpgulMcW+weQqFPOSSZccEKHOiLIY+kQHkb4e4092w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-gnu": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-gnu/-/compiler-binding-linux-arm64-gnu-0.5.2.tgz", + "integrity": "sha512-BqlR0EHNQLPLwgL9+xogjsAc7zGf0cHho2CPdhv0P1yqbVMwGVaGAqrANP6VYAXCqSC43AF4Czcxc2n+oqdesg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-musl": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-musl/-/compiler-binding-linux-arm64-musl-0.5.2.tgz", + "integrity": "sha512-GRGyby3AZWw5d6JQzidyxPyvGgHWsSusrpgKyFVpDTKctABF7L3Pd5V1cRJbV36/rcu+Eh292/wL7pF7MkmGkQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-gnu": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-gnu/-/compiler-binding-linux-x64-gnu-0.5.2.tgz", + "integrity": "sha512-9XAqGTMQAtIslMsjK3xdyY6OI9d59OZqcLBB6pvD/DcoR0daYswfrKx2azdDERDY4AqAnWPC7odVM1BmxYv3Vw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-musl": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-musl/-/compiler-binding-linux-x64-musl-0.5.2.tgz", + "integrity": "sha512-jOViewGeTh9bSfS8vK72ECxoy2yvmA+Pd/ZcEvBI5c7+7IcfHwZ5qA4L9fRYuOhSrAifvQ2dV4vm1XAtloaWBw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-wasm32-wasi": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-wasm32-wasi/-/compiler-binding-wasm32-wasi-0.5.2.tgz", + "integrity": "sha512-Z7p64doar1uvR5C9Xs6j1CV9lGlPVQX7OQ2aAtZ/xKC5aGS6GB13nyc2UfQXTQLvZrvVwsyaflTQy6ziY5Bekw==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.3", + "@emnapi/runtime": "1.11.3", + "@napi-rs/wasm-runtime": "^1.2.5" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-arm64-msvc": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-arm64-msvc/-/compiler-binding-win32-arm64-msvc-0.5.2.tgz", + "integrity": "sha512-Tr13bh+ahTWsjXjzctK7pFpWV+dUU4FtBfETlR7gO+ueex0F+RDch7eRr0YfKysaRhk9tWm14lsCJ5uWyFPNHQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-x64-msvc": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-x64-msvc/-/compiler-binding-win32-x64-msvc-0.5.2.tgz", + "integrity": "sha512-SfKkI+jOQYLh6wojPvVPV0lFfQnxisweN9B+qCzRvZp7DHAuGif8Y0WcC5PUgN4jb8VKy57LggQDtggR46Du1g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-rs": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-rs/-/compiler-rs-0.5.2.tgz", + "integrity": "sha512-IvwYLB8t1M86rKO4oPdBi9GP4gzXcgrVlNgocjwos1jeeUuEIV8d9Crn1PvYD/5IKteWOxpIHomf7e8iYlkE+Q==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler-binding": "0.5.2" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.13.0.tgz", + "integrity": "sha512-20jxQqnSmpskcGyad7N5l6Xf1gz0UCa6lNde44bEBdaXGpncEYfAZJ142r2ZgzBaG4dUyzGmhqZWv1INU2eiHQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.5", + "@types/mdast": "^4.0.4", + "picomatch": "^4.0.7", + "retext-smartypants": "^6.2.0", + "shiki": "^4.5.0", + "smol-toml": "^1.9.1", + "unified": "^11.0.5", + "yaml": "^2.9.1" + } + }, + "node_modules/@astrojs/markdown-satteri": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-satteri/-/markdown-satteri-0.4.5.tgz", + "integrity": "sha512-0IeGdoFbv0f+442KJhYS44Wg8F3MuHmRsxIEYuFyqkjRubc6dPBFZ7azor5t4AeXLQoT5A5h9HyViKpd70Dl9w==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.13.0", + "@astrojs/prism": "4.1.1", + "github-slugger": "^2.0.0", + "satteri": "^0.10.5" + } + }, + "node_modules/@astrojs/prism": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-4.1.1.tgz", + "integrity": "sha512-sXlAXJX6t4QfuLg+CuCDzpg7NoxWcyb4paFprgtFppLeisCBmh935h+tJ5CWXfsXEoW2IDy/ihbRMtiu28Chjw==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": ">=22.23.4" + } + }, + "node_modules/@astrojs/react": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@astrojs/react/-/react-7.1.1.tgz", + "integrity": "sha512-jHan8UuXzFEbzcmsjCRrepm9Xc5XRz+Jt57MjfE568tbOEoDKVzeMuHf9YO0Y4hHwROX8iJmLzaiT3Yr5W0UbQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.13.0", + "@vitejs/plugin-react": "^6.1.2", + "devalue": "^6.0.2", + "ultrahtml": "^1.7.0", + "vite": "^8.3.4" + }, + "engines": { + "node": ">=22.23.4" + }, + "peerDependencies": { + "@types/react": "^17.0.50 || ^18.0.21 || ^19.0.0", + "@types/react-dom": "^17.0.17 || ^18.0.6 || ^19.0.0", + "oxc-transform-react": "^0.145.0", + "react": "^17.0.2 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "oxc-transform-react": { + "optional": true + } + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.4.1.tgz", + "integrity": "sha512-SMkvMsGOpM0FMAoT5pzhgI3LZC0JSPWf7Evwop+fZ3N6UkusPM7lI+sOJjMNI5OJrVoiei1/AGo1cY7sikTc5A==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.4.0", + "dset": "^3.1.4", + "is-docker": "^4.0.0", + "package-manager-detector": "^1.9.0" + }, + "engines": { + "node": ">=22.23.4" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.11", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.11.tgz", + "integrity": "sha512-snZbO7MEDOof+hvNa97EjEY7qD7h2kwvQr5AJC3ZhQudKW5dnej6k3kP9NQV88hJwaS8vDqRLFo9rivLEhle2g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.11.tgz", + "integrity": "sha512-OZ6+oaK7GMyg3IfCpj8JOmn8n+w2rJbDT0LLfVDTLb1ZFeKDh3AiNELgCMUw175IJHSkLl74hG0M0VLsvx+gag==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.11" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.11", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.11.tgz", + "integrity": "sha512-WCsemW40Cpc6gouC1SrY6PBaZ+oLRlEVY9XBvZBI7il/HyUrb2nJ505wE1MHEFyDZNnrWDEuy4jL50WVHfTTSQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.11", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bruits/satteri-darwin-arm64": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-arm64/-/satteri-darwin-arm64-0.10.5.tgz", + "integrity": "sha512-27KTVl4TJkVahMy/ohyA7qd4938G5UNneFUz/PsScYfpIhj0IVAS23mpcJXdPF44sa6nva198lmV/cKIb2YPyA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@bruits/satteri-darwin-x64": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-x64/-/satteri-darwin-x64-0.10.5.tgz", + "integrity": "sha512-IjnLe3nKspq6qaeqGgjT7MT8VrTV74yWRlaag7ZdNsI8TDAYZ0iPxMCo+9KQZHUk5EyVB+reBI/PFWL5KuFw9Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@bruits/satteri-linux-arm64-gnu": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-gnu/-/satteri-linux-arm64-gnu-0.10.5.tgz", + "integrity": "sha512-glkYXZCJywjP13v67eAyAMSJdF+ncvEbYvgi/wOtffL9tQ27lr/zsyzUfgs+ovjJ9d8JNQKiXeiArJcX8PJL9w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-arm64-musl": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-musl/-/satteri-linux-arm64-musl-0.10.5.tgz", + "integrity": "sha512-yWdgG1g17Nh2QyGVlFUxGRa3FEFwiMcpZEyMNWkbM3deC94cmVc+/i9OuyFpdKuWo3GkgoCtYVOoxk1uCnCZIA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-x64-gnu": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-gnu/-/satteri-linux-x64-gnu-0.10.5.tgz", + "integrity": "sha512-FVaLoPT1fBgGl0J+AYebyyXJYBachGl8Oyyrf1lye4RTqCB4S0Gwkj1uM9RJyThUOvx5VUmAT1CnNh1SFHA+kw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-x64-musl": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-musl/-/satteri-linux-x64-musl-0.10.5.tgz", + "integrity": "sha512-EHpVAx2bqW3GINHTKkljtxVfQmVDGWIuwOYOP5YghTj+0PkBa2o8oKPRtQ9Kbsr1Fye8jtUcDjhwj2jMNugZKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-wasm32-wasi": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-wasm32-wasi/-/satteri-wasm32-wasi-0.10.5.tgz", + "integrity": "sha512-ypz8c/Zmipxp4IoeDa228Gstv6TLzVmNs3yC6wKCoNSOjx1iwpgzu87Y3hTkXFdwChVGU85qeUDuOIarGUZQLw==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.2.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-win32-arm64-msvc": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-arm64-msvc/-/satteri-win32-arm64-msvc-0.10.5.tgz", + "integrity": "sha512-siTV88nb0LRqNpkL2gXboqCwVdq95sLtzMHS1/3eONV2gLbB3NAK46wmSMvCO/yquBvI2lvaFIfd8P12ecsxBw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@bruits/satteri-win32-x64-msvc": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-x64-msvc/-/satteri-win32-x64-msvc-0.10.5.tgz", + "integrity": "sha512-C3IfPvfvMXmlzBxaMPKFS1XiuV9pu2mC7YqkPk7PSvTgPZ8gbdASIpHpztDLvTTQjqZ0z1Ol8tK5X+V6XXC0wQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.1.tgz", + "integrity": "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@clack/core": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.5.1.tgz", + "integrity": "sha512-iHTrHA8MtVuLl2TfZySmcKv1qO2PoyC9Z7pfSDozEuV5vtY3/wcOPKJXlqJ5Oq2Cx5DDGQGAMVx6HZfRRoVEbQ==", + "license": "MIT", + "dependencies": { + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@clack/prompts": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.8.1.tgz", + "integrity": "sha512-dlT1m5e/0yUL0kRNcQn7yGLVThkgbB0Ga/1AmfDDC/8ik6AIiSf2QLQO2zPYvefsHP0aFgxO93cVLCCfDp7kzQ==", + "license": "MIT", + "dependencies": { + "@clack/core": "1.5.1", + "fast-string-width": "^3.0.2", + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.3.tgz", + "integrity": "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", + "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz", + "integrity": "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fontsource-variable/hanken-grotesk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource-variable/hanken-grotesk/-/hanken-grotesk-5.3.0.tgz", + "integrity": "sha512-DOd0FqL+3cH2dfNy0JtSq9tUfxBz5mLmHMjTU0DOr3E9Zo6wxuatCl53DIPNrSPgCsnuKyM739BTIG5glCLirw==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource-variable/jetbrains-mono": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource-variable/jetbrains-mono/-/jetbrains-mono-5.3.0.tgz", + "integrity": "sha512-F32xpS2NsGYoQi2ADSkKTgpJj7ozajsGgDJ8woTnqjmIB+dxDIqImjl4pXZVEExu8UFZ2ndhmX18EBS/hdz3Lw==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource-variable/space-grotesk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource-variable/space-grotesk/-/space-grotesk-5.3.0.tgz", + "integrity": "sha512-2IxmvfB08i9vnGB3Ym/AXvhRE+8XOjWMXIyDum03c+tPwH0FUoMNQfGpU8NXPxjbws0Vvss3AH0Zqt4oJBBAdw==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.5.tgz", + "integrity": "sha512-QRUlFQ0WxvdWyqqG/WtI3iupfD5rBzmCHXSdPsY91sAtVtTo7Q4cb6zOccZ3gqEqkr0f1As1ehLqmEpDsRf+lg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.3.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.5.tgz", + "integrity": "sha512-+BR255RhDlpygUpOc/Jdt1nT6DQ3XG/ERo5wbcdOf5Q320dKtPCKPLR1LJs9VGXRaMa8l1uUa0tkCNOXiAxZUw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.3.4" + } + }, + "node_modules/@img/sharp-freebsd-wasm32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.5.tgz", + "integrity": "sha512-Y/z91nEZ4uIBX5X3nfTovjU9lHNKFYbL2lpHCLVNmXQK03VIZvXBBt0KxbPGp2SdGSF+2mQU4e+hQaWOt86iAw==", + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "dependencies": { + "@img/sharp-wasm32": "0.35.5" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.4.tgz", + "integrity": "sha512-5R89nBYiRdUlSWJxPhO+GVtaXzXSxKnRu/xqMn3KTA3L9EB9Oy/P+Nn2f2vlhPuUdy/Zusb2DarbyTpGCfEDuw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.4.tgz", + "integrity": "sha512-iR2OKH80yi0U+dUplyh3/xdpFvps6YkCwsXenIJxqxR1v9o+xtKTGbS9H7cps+2Vxjc8B1j96p75NmTGjIhtpQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.4.tgz", + "integrity": "sha512-LmRtTsOHuvM2+wlO2Db37dx5MiZhB0FvSunciw48YjdOkZz9KAiRbm8ujeMOA1INqmei5NapFxYEK1D1ZSidmw==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.4.tgz", + "integrity": "sha512-Y3dgX/6lE2QhQb+Gxy0WZxfg9MEm/JBjamZpS2IklP7xIQoKN4hzAm7KcMVGtaVDt3neE9OKBC7vAfonA/Lr1A==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.4.tgz", + "integrity": "sha512-Le6boB8Tai0Nis+gIxIpKx68UDVVIqdR8Tin5Yf1z2LJJQLDJvCDRqRu+jC2qCoD+eIomonmOwB4smBRxfVpYQ==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.4.tgz", + "integrity": "sha512-aHkkIEHPRdQEegJN20MLmGtxYD9R2wQr3Cwpddnu5+YKMt6Uzax7S9h5gpZTo8wyrGuZSlfQ63OevL5mTyOC7Q==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.4.tgz", + "integrity": "sha512-ra/mB6MikESDUO7Yg+Mi95bFBb9GsObURuhnOv3OqknjGe9sZrG8tCe9q0xSIGrtLgvgw0gKnFWcK4blSgQOuQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.4.tgz", + "integrity": "sha512-GJ//SSXbnwSDes02umB3nDJLFcQzw8a18V8fyhqr6tV515tOEMdImjjxj1AoafMRz56F3PHgftnj1QEKSU1zkw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.4.tgz", + "integrity": "sha512-hvulFwtjUcagsis6BBxHwGFwWoNZjgYmULGVrZcyfNbjA8hKILbRxGg15/7w5HDyXHXUos/j6baAWqnCyQ2DWA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.4.tgz", + "integrity": "sha512-6zXKeE/p39I1AmA3cJG35eyBGNqNddLnUXjhwBnsGjFPWqf5VKkDBEqaEkPDoTEtkxwi2vv8Tcr2mDyP4So7Fg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.5.tgz", + "integrity": "sha512-LEaXK2WdXVK5ykcw0buWyPMsmLLL2vpHLD6yrNSW+JGEL3BZPA4tpKN6iaMc4AxTTAoaX/sU1rOL51lcIz48ZQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.5.tgz", + "integrity": "sha512-LYVx5JTsOM2CBzmxreh+nl64/3H6Xb09iSLknqH47z2T2DFFxDeFLP5y4dJwe6H7uGQlHPyEEtIqyo3DYsRwdQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.5.tgz", + "integrity": "sha512-QVxAAq8evVRI9ia2vqgwrmWucn5Dfv+JdWzj75pD8omHLPSP7f8p20O8jxzjCcuCEQEOtYOZUmX1hkiZ0kdevA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.5.tgz", + "integrity": "sha512-LtdreXguaavKODPIfzJ4kffx7UNt1omwtK0rch4EBbbSTXPnxWmYSayXdLJw0fJzQ97kHt1gL/yh4tvU+nCyRQ==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.5.tgz", + "integrity": "sha512-UZasTOFiYzotTsGOCu42BfUzP6Tu6Do/947iRm1RsLKvlllxwGcn4RN27LibGWceix4Y+Pmw3jsnTcCQIgWjqA==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.5.tgz", + "integrity": "sha512-SxFtLTeJInhAA9Q836kux2vZNeOBQEx658qvbboZScr0wIARym3IcGmW7KpVD5sbVg0Ojy+udFQdayYIZyoNog==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.3.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.5.tgz", + "integrity": "sha512-9HbMclmI1zlNkFRs3z9/eBtDjfD0sGlrX1z6b1qwmiFY5ElDLh4BC0LPBdVp7z1DXFiKlIcznf+ZlsuZzLxQqg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.3.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.5.tgz", + "integrity": "sha512-4KOphqB035HrVdqLZfCgMzzERrQkkzOwRhl4OAkRO1YCldbaFjySXMaK534Mo0V+LndnlJk+sbUyLeU0ULyD1A==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.3.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.5.tgz", + "integrity": "sha512-Ptsga1su4tQx+LLF1ECS9U6nz5kmrXKo6XVbtR48Ke3ZRxxgaWBu7IDtEe1quo8hiupwm6WFqxVlXaSf7IINGQ==", + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.11.3" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-webcontainers-wasm32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.5.tgz", + "integrity": "sha512-hfhF/FmoQyTUkA0bIKFOtw536BQSeBMe6BF6QyWlrPxT754+TFLaZ7sKKTfvvM0yJgKgaYTwnFCIZ/GuDw5SUA==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/sharp-wasm32": "0.35.5" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.5.tgz", + "integrity": "sha512-X4t7g+7ZA5DKblCBEXGjUqqemj4vczING/5viFwAL8h4N3qYeyjwdCvRLHi4EdOUI+2Z7UFlp1VM+p/AuEtm6Q==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.5.tgz", + "integrity": "sha512-5Zm82LoBc43nhwNybZlG7Y1KO//Zhsn306fQl29ZOuStHLGTo3BWL83q3cznX0poxSAMuYL1On/BHBxkBeKr6A==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.5.tgz", + "integrity": "sha512-x76eH0vEiHlcMQu8Y8IenntaACtddpT6W0wmXtWrnKcnKI7ME5DdgqhAD6SEWOEl1v2zDvkZDhFA9KnURwpfqg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", + "license": "MIT" + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.6.tgz", + "integrity": "sha512-mRyDmEw9/fCDXCGfL1sbgIw/GUK0PVxRW4YwgPN61F3LQ+fSyoBFarJVzgGyhF6kRzEQZ0FejDqm4WLXSeqQmw==", + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1 || 2.0.0-beta.2", + "@emnapi/runtime": "^1.7.1 || 2.0.0-beta.2" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@oxc-project/types": { + "version": "0.155.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.155.0.tgz", + "integrity": "sha512-SeE8JPwW1xs1tHeNycjUtUBdhorRa8o4jlvjwk49R7/Z291i+4DQa7JJIgOm/TaYQZx+QrPQbVJ/9c8dMIZN8Q==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/oxc-project" + } + }, + "node_modules/@rolldown/binding-android-arm-eabi": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.15.tgz", + "integrity": "sha512-aLcgK9gIJ3YRvrrtfSBbRa27F5WrpiTaPulnFpsHPxpUHgFlSgnU4854MHwoRGEBhfRJDWCS2WQ7lIjskE9Olw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.15.tgz", + "integrity": "sha512-xD7DdZCrbThKuxNg7ooQmvp07ys4J/pnSEMTG3/OdOWl6daC67m/Q4fL78sRHMxTH/N4fGUbYhcPM0MF5WFHkg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.15.tgz", + "integrity": "sha512-m2WuQ6r0B4OTYxyPpNLtXaMRbRDUbG8YQV2Q3KTdSSK8Th6KHCnC8jVCJt8bvYeSB5WivkkNbc85mKadaSdOxA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.15.tgz", + "integrity": "sha512-5RtnsHM36nodM9WbMy+zip0LGS/G+y5wro5RHrpOlr4ac24+1zSi9kiV2MP1myZeZ/ifEHfulQcWjnAXzc2C2A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.15.tgz", + "integrity": "sha512-g3l09pyFqhu+135JKkbkwiKGQmwU5hUMUPJ4VdBADvuqR8d33L6H578rh8m7rtxbdp+VmX/+nzI7nvhSZlzpUQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.15.tgz", + "integrity": "sha512-nIe3VugI97nGQtspPxDqA4sXMUpeiocKIP/CqpY/u/vgbT+alX+cVxu1C/oVBPKg4feNTmYovE91v4DgXvXNwQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.15.tgz", + "integrity": "sha512-iTBjXx+B5QSvgI89lJfmqh4wTh8NabR1YZIIN3hNx4zSG0EVfVqkOvLulNpG4251pbd6/IAmZ/LefVk1Y4rPhw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.15.tgz", + "integrity": "sha512-uN26XOnVR7rqQupG3V9oAG2EGGatWjcJHOeDOHUFCh4TBWmP2tHTFoVN13aYbwfm0aHqJAEmcwhAu6sooIjfqQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.15.tgz", + "integrity": "sha512-9nWkcdd+H+XhaA3fQIwpHnKIrfx/PQ6rO0pivr78Og07tXlUlctBBJoEYLPfhTmCR/QxEVdn6uPjHV5SymPhdw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.15.tgz", + "integrity": "sha512-Ggh0ciFjLwIusLSLz7LZYEaGdxOAUJXI+Qu5JCbhPJJHEt8vP+IjRATTJheiJsdzzTYgUiHUiw3X1Ea3ZpMBdA==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.15.tgz", + "integrity": "sha512-FHg60rS6DBePAYZ9X9F67x+JObFdmgn6tupA1C/a3B+CufFmTD4mX+e8M75tCiAO3foR/6xwVBI0KQiI7sn/rw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.15.tgz", + "integrity": "sha512-/cvV/7v5VGz/moiz0XKRj2dE8DzsKyhIu1KpOvJGPjRywg3yscON889UGvAe8zfiJLHup7VLjBduoGWi3HusWQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.15.tgz", + "integrity": "sha512-MyzC5Hrv/sm+Z7TSGKP/j8001RO2xQm1zOpCNVL4j0cY/VhBZviludA2YFQ7i4lH6ZAXxQm0lcMdBzM+99mE7w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.15.tgz", + "integrity": "sha512-+PgYiS+AH5omy6L45ZLxybasauJaj3M8buoT83D+nzPmCayXlxUV9hydhciCKVyIg0B/v0BtXPDE1uGqNwCPpg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.15.tgz", + "integrity": "sha512-HFZd2QNQYn1JbIi+Hpd7H+r/lkWxcfIu28nirZ6eCn2LafuvmExMlb/P96Sfx5tf7pPArw39IdhmCF8vmV+NhQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "license": "MIT" + }, + "node_modules/@shikijs/core": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.5.0.tgz", + "integrity": "sha512-6CIgwq+bt2JZ3OSjb/nBkkwEf/CfpHcbam+Mg5Pllco7HAGRQ2/EFhZrrJtbyNTgKwknfVS+llsXGygiDGwJWw==", + "license": "MIT", + "dependencies": { + "@shikijs/primitive": "4.5.0", + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5", + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.5.0.tgz", + "integrity": "sha512-Ed6UdEj84LyYkwnxM5CvSMWAD+id9ExTYri0/+x41U9zrgNifPSS9lZm0JqBP0VfYI8yr8tY5nbNq9+p9R0kFA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.6" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.5.0.tgz", + "integrity": "sha512-dKVmbJecVdB9recl8a/CU4jdpNXyjJQrIcesIkpS70s5HS02ohpnCSpMUbotPnEUzbAcLQ+S4hwZYbkBBiTcJw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/langs": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.5.0.tgz", + "integrity": "sha512-wwBTqwduXSz0X4v9Qa2EWeFaYJEw1clCncWjoRNQRbVDu3SPRTRWucnouYapKj3b8Q+sk/41Vbc4B5c8nuYzLA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.5.0.tgz", + "integrity": "sha512-UM7ShlA8oz0OWxLLO8BmO9Ip6fVqdkt8yF0EH7nOCqHfrx1eEAzF0ZUVK7L+I8NEgeu1PEWSRlxaiPPeCb4iDg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/themes": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.5.0.tgz", + "integrity": "sha512-zGb87H3UBbpuI4yoh5UguB1XbU+2BDU3kflM7UfZ+Cy2hWo9lBtqjSVK20gmLY6ukYl040hAypGXMgud9vul8Q==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/types": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.5.0.tgz", + "integrity": "sha512-drtPrtD8N0DENyD2cyt6Ajy+IWsiCLgMxODwLTpvH1UsN6a9jf90tNTPjqwHvA+0Lzu9e0txk8DjfqH1p9UJRw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.1.0.tgz", + "integrity": "sha512-cVBuhDQjBZaNMTwBquYfPydrUP+E3hE6oYGasx8h6ZrODIM7/r+gxLDXdd66oszbrggZHEntdE6j+5gYIVyMWQ==", + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.4.tgz", + "integrity": "sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/react": { + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.3.0.tgz", + "integrity": "sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==", + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.3.0.tgz", + "integrity": "sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "@types/react": "^19.3.0" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.4.0.tgz", + "integrity": "sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==", + "license": "ISC" + }, + "node_modules/@vitejs/plugin-react": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.1.2.tgz", + "integrity": "sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==", + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "oxc-transform-react": "^0.152.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "oxc-transform-react": { + "optional": true + } + } + }, + "node_modules/am-i-vibing": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/am-i-vibing/-/am-i-vibing-0.5.0.tgz", + "integrity": "sha512-KLcsDhqf1XRrJmJr+9I/C0EX2K+sGrAGZFgkmd84c8TJO9zJBu+/kFInjazu1KfJWFhWDKdRWkpBzEs7s35DVA==", + "license": "MIT", + "dependencies": { + "process-ancestry": "^0.1.0" + }, + "bin": { + "am-i-vibing": "dist/cli.mjs" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/astro": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/astro/-/astro-7.4.2.tgz", + "integrity": "sha512-FAH4cdDlFaVnQGjazLTEIC5vJqGlo5XANc1wIbzQHIqAjJTll/RWTUs+SPNW1JdezG4YGxMZllaE5A41T2kzhA==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler-rs": "^0.5.1", + "@astrojs/internal-helpers": "0.13.0", + "@astrojs/markdown-satteri": "0.4.5", + "@astrojs/telemetry": "3.4.1", + "@capsizecss/unpack": "^4.0.1", + "@clack/prompts": "^1.8.1", + "@oslojs/encoding": "^1.1.0", + "am-i-vibing": "^0.5.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "ci-info": "^4.4.0", + "clsx": "^2.1.1", + "common-ancestor-path": "^2.0.0", + "cookie": "^2.0.1", + "devalue": "^6.0.2", + "diff": "^9.0.0", + "dset": "^3.1.4", + "es-module-lexer": "^3.0.3", + "flattie": "^1.1.1", + "fontace": "~0.4.1", + "get-tsconfig": "5.0.0-beta.6", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.3.0", + "jsonc-parser": "^3.3.1", + "magic-string": "^1.4.3", + "magicast": "^0.5.5", + "mrmime": "^2.0.1", + "neotraverse": "^1.0.1", + "obug": "^3.0.0", + "p-limit": "^7.3.3", + "p-queue": "^9.3.5", + "package-manager-detector": "^1.9.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.7", + "rolldown": "^1.2.13", + "shiki": "^4.5.0", + "smol-toml": "^1.9.1", + "svgo": "^4.1.0", + "tinyclip": "^1.0.3", + "tinyexec": "^1.3.1", + "tinyglobby": "^0.2.17", + "tinyps": "^0.5.0", + "ultrahtml": "^1.7.0", + "unifont": "^1.0.3", + "unstorage": "^1.17.5", + "verkit": "^0.5.0", + "vite": "^8.3.4", + "vitefu": "^1.1.3", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^22.0.0", + "zod": "^4.6.6" + }, + "bin": { + "astro": "bin/astro.mjs" + }, + "engines": { + "node": ">=22.23.4", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.35.4" + }, + "peerDependencies": { + "@astrojs/markdown-remark": "^7.3.0" + }, + "peerDependenciesMeta": { + "@astrojs/markdown-remark": { + "optional": true + } + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-2.0.0.tgz", + "integrity": "sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">= 18" + } + }, + "node_modules/cookie": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-2.0.1.tgz", + "integrity": "sha512-yuToqVvRrj6pfDXREyQAAv8SkAEk/8GS3jQRTiUMm66TVtBYmqQeoEjL2Lmq8Rpo6271vH76InTChTitEAm65w==", + "license": "MIT", + "engines": { + "node": ">=22" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", + "license": "MIT" + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT", + "peer": true + }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-6.0.3.tgz", + "integrity": "sha512-3woMEITftG1wKeO/4d/QXH1DVKctTSZg3jNGPpjp9hNr5Hos8MCFF5McTML5ZtgKDObm2R591B0spRp2IVernA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-9.0.0.tgz", + "integrity": "sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-3.0.4.tgz", + "integrity": "sha512-BldNY5mwkVu+cQ5Ymn3e6hB9Sx8XHx4ZevWbiUyZbfKxJxYO27Hf0wfzkxIaD5CAJMaGl3YspKELj0ff/7nCMA==", + "license": "MIT" + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fnv1a-64": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/fnv1a-64/-/fnv1a-64-0.1.2.tgz", + "integrity": "sha512-mJbcILTPybAR1jdOwt/lVv8N2cffeJFFP+gVbSAwLEx1ujXH27RpPd8Rokec/KX9c76UYIB6Co+H4lQzxPnJfA==", + "license": "MIT" + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-tsconfig": { + "version": "5.0.0-beta.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-5.0.0-beta.6.tgz", + "integrity": "sha512-X6fBC0pmImC70gvX2zm56go9hx0MyoGVdG0tUCkg/D+Xnh5TJsOZ7iDbOdI3PvmtrDxnu1YdDufpK2QJX1Meqw==", + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "engines": { + "node": ">=20.20.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/h3": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.3", + "crossws": "^0.3.5", + "defu": "^6.1.6", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.3.0.tgz", + "integrity": "sha512-M5t5LlJpS1UHMjvwRQVdFHvPISGeLAxNcrWuJkeGh0KxsqCHZ1O3NXZU/8x7cD0BDcGW8kapxMKTvwlqrNkHkA==", + "license": "BSD-2-Clause" + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-docker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-4.0.0.tgz", + "integrity": "sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" + }, + "node_modules/lightningcss": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz", + "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.33.0", + "lightningcss-darwin-arm64": "1.33.0", + "lightningcss-darwin-x64": "1.33.0", + "lightningcss-freebsd-x64": "1.33.0", + "lightningcss-linux-arm-gnueabihf": "1.33.0", + "lightningcss-linux-arm64-gnu": "1.33.0", + "lightningcss-linux-arm64-musl": "1.33.0", + "lightningcss-linux-x64-gnu": "1.33.0", + "lightningcss-linux-x64-musl": "1.33.0", + "lightningcss-win32-arm64-msvc": "1.33.0", + "lightningcss-win32-x64-msvc": "1.33.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz", + "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz", + "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz", + "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz", + "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz", + "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz", + "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz", + "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz", + "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz", + "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz", + "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz", + "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lru-cache": { + "version": "11.5.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", + "integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.3.tgz", + "integrity": "sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.6.0" + } + }, + "node_modules/magicast": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.5.tgz", + "integrity": "sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "source-map-js": "^1.2.1" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "license": "CC0-1.0" + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.3.tgz", + "integrity": "sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/nanoid": { + "version": "3.3.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", + "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-1.0.1.tgz", + "integrity": "sha512-WmmLty1YWwJl9yZi77v2dVIV6X2kuYV8YYBI/G3LWGKdGHmHUvL1z7FW0iDvEvGAwNEoc5x1tOOOyDnf5jJw/w==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.5.tgz", + "integrity": "sha512-KQyt/wLjG3TAc7DOUhpqWzgd4ERxR80JOlTK5VE5R1S12IaPVN5qkj4klBce9HPG1Njuup4Sb5bljaT34lIyjw==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/obug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/obug/-/obug-3.0.0.tgz", + "integrity": "sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==", + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.3.tgz", + "integrity": "sha512-SKgVvDU5TNIxQ4r30U75BNLC6a+6GOEjngrk/ysM5+Zu3oJuk1SC5ApzIzY/7PjCEjoVPMWJ0zho/4QUiEB7TQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.2.1" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.3.5.tgz", + "integrity": "sha512-Lki/zhXFVmDhesBUn/yHRLW9Bte7mE7xoFHzTR8sIomV7a2z+LxYAPkGvdfidNiu4fKSfjtawixxSHcZci5QcQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.4", + "p-timeout": "^7.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.2.tgz", + "integrity": "sha512-prbX4Z3YszrFNgH+MW5Zoeq3baXrMtP/MQnFeET90UB/GtGcGDQ5Usg9OCy6ETjTTntOw1SL2z9fMPUppN3Guw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.9.0.tgz", + "integrity": "sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==", + "license": "MIT" + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.31.tgz", + "integrity": "sha512-YUbWYCgErwnMAVkjUnYa+KlMBzGpHwiIt/DE7f0G33AuX2LH9UcTk6KgWxd3zRU+pN3u/C+Xl3EnMLM4Hea7Sg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.20", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prettier": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.10.tgz", + "integrity": "sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-ancestry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/process-ancestry/-/process-ancestry-0.1.0.tgz", + "integrity": "sha512-tGqJW/UnclpYASFcM6Xh8D8l/BMtaQ9+CSG0vlJSJTcdMM4lDRv4c6H0Pdcsfted+bVczdYSfk2fdukg2gQkZg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/react": { + "version": "19.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-19.3.1.tgz", + "integrity": "sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.3.1.tgz", + "integrity": "sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.28.0" + }, + "peerDependencies": { + "react": "^19.3.1" + } + }, + "node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rolldown": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.15.tgz", + "integrity": "sha512-6odND+fel5zVw3I4Yc2e69gvguDnX0CAAGiNDZSq4ik5WUcaLrkD2GLuog0XcODbor31hZ5ayEMgVDno+KPV5g==", + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.155.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm-eabi": "1.2.15", + "@rolldown/binding-android-arm64": "1.2.15", + "@rolldown/binding-darwin-arm64": "1.2.15", + "@rolldown/binding-darwin-x64": "1.2.15", + "@rolldown/binding-freebsd-x64": "1.2.15", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.15", + "@rolldown/binding-linux-arm64-gnu": "1.2.15", + "@rolldown/binding-linux-arm64-musl": "1.2.15", + "@rolldown/binding-linux-ppc64-gnu": "1.2.15", + "@rolldown/binding-linux-s390x-gnu": "1.2.15", + "@rolldown/binding-linux-x64-gnu": "1.2.15", + "@rolldown/binding-linux-x64-musl": "1.2.15", + "@rolldown/binding-openharmony-arm64": "1.2.15", + "@rolldown/binding-win32-arm64-msvc": "1.2.15", + "@rolldown/binding-win32-x64-msvc": "1.2.15" + } + }, + "node_modules/satteri": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/satteri/-/satteri-0.10.5.tgz", + "integrity": "sha512-Ao1LKpAEa9Wdg0otgbVKViZHEq9ebdXe4DMrp3s9vQAU0HNIuHnFEuMuOcm0ZIXyV0Yzxj91NvhLpvXZJO/5ZQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.5", + "@types/hast": "^3.0.5", + "@types/mdast": "^4.0.4", + "@types/unist": "^3.0.3" + }, + "optionalDependencies": { + "@bruits/satteri-darwin-arm64": "0.10.5", + "@bruits/satteri-darwin-x64": "0.10.5", + "@bruits/satteri-linux-arm64-gnu": "0.10.5", + "@bruits/satteri-linux-arm64-musl": "0.10.5", + "@bruits/satteri-linux-x64-gnu": "0.10.5", + "@bruits/satteri-linux-x64-musl": "0.10.5", + "@bruits/satteri-wasm32-wasi": "0.10.5", + "@bruits/satteri-win32-arm64-msvc": "0.10.5", + "@bruits/satteri-win32-x64-msvc": "0.10.5" + } + }, + "node_modules/sax": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz", + "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/scheduler": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.28.0.tgz", + "integrity": "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.5.tgz", + "integrity": "sha512-Ywn4OnzGukp7CDMrp08RQ50YKmuwG47brZgIVPTvBaaAfQlRlygrRqSrxdCiL9M+LlzLBiJ68IR1QqvzHyjC7g==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.1.0", + "detect-libc": "^2.1.2", + "semver": "^7.8.5" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.35.5", + "@img/sharp-darwin-x64": "0.35.5", + "@img/sharp-freebsd-wasm32": "0.35.5", + "@img/sharp-libvips-darwin-arm64": "1.3.4", + "@img/sharp-libvips-darwin-x64": "1.3.4", + "@img/sharp-libvips-linux-arm": "1.3.4", + "@img/sharp-libvips-linux-arm64": "1.3.4", + "@img/sharp-libvips-linux-ppc64": "1.3.4", + "@img/sharp-libvips-linux-riscv64": "1.3.4", + "@img/sharp-libvips-linux-s390x": "1.3.4", + "@img/sharp-libvips-linux-x64": "1.3.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.3.4", + "@img/sharp-libvips-linuxmusl-x64": "1.3.4", + "@img/sharp-linux-arm": "0.35.5", + "@img/sharp-linux-arm64": "0.35.5", + "@img/sharp-linux-ppc64": "0.35.5", + "@img/sharp-linux-riscv64": "0.35.5", + "@img/sharp-linux-s390x": "0.35.5", + "@img/sharp-linux-x64": "0.35.5", + "@img/sharp-linuxmusl-arm64": "0.35.5", + "@img/sharp-linuxmusl-x64": "0.35.5", + "@img/sharp-webcontainers-wasm32": "0.35.5", + "@img/sharp-win32-arm64": "0.35.5", + "@img/sharp-win32-ia32": "0.35.5", + "@img/sharp-win32-x64": "0.35.5" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/shiki": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.5.0.tgz", + "integrity": "sha512-OcRW72ngQvc+MSVWBRIovC/BTW589iUE/Vxav7VeM4RcY9MUjqB+IR6ILG1k9nuW6LiG/nct9uma4/MBtnZbmQ==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.5.0", + "@shikijs/engine-javascript": "4.5.0", + "@shikijs/engine-oniguruma": "4.5.0", + "@shikijs/langs": "4.5.0", + "@shikijs/themes": "4.5.0", + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/smol-toml": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.9.1.tgz", + "integrity": "sha512-j7WyPdf0CJoutMzMoPLF/bVXHtKZIT9Rb4eGeEbWw8X2t5oirjPgpL+OpaENZrILYaXqYwnVH+qgUwVbl+pUJQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map-js": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz", + "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/std-env": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.3.0.tgz", + "integrity": "sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==", + "license": "MIT" + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/svgo": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.1.0.tgz", + "integrity": "sha512-bkxnTg1kSU0guhIBmibA6UUhrQmPVA1XsQLN+ylCd+UWzbnLkySOcXpyk1mrl05f+pcaCx2eHb+sp6BgMZWX+Q==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^6.0.0", + "css-tree": "^3.0.1", + "css-what": "^7.0.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "1.6.1" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyclip": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tinyclip/-/tinyclip-1.0.3.tgz", + "integrity": "sha512-nTv2raKFMzGG6JJp0lpNDsRPdfFE6UHlu2rVEjXo8vkx1ZS3LW2CVXqIaLu8xZlu+6tbFs9V58Qc/Jmk/Ii7wA==", + "license": "MIT", + "engines": { + "node": "^16.14.0 || >= 17.3.0" + } + }, + "node_modules/tinyexec": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz", + "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyps": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/tinyps/-/tinyps-0.5.1.tgz", + "integrity": "sha512-B6Ykif5HflC3AdDkS4Zst/2muYVfeXoVMy+KorqH80s/1x4vunIORpNySH681X7fjj+dFM9MDKD6/Hsccjb87Q==", + "license": "MIT" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", + "optional": true + }, + "node_modules/ufo": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz", + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.7.0.tgz", + "integrity": "sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici": { + "version": "8.12.3", + "resolved": "https://registry.npmjs.org/undici/-/undici-8.12.3.tgz", + "integrity": "sha512-+fdndUTwBP86cVjihTp21hZHo7d6oj1c/47XPA3lL8mM0XHs+C4EkcjmgRsFnFk2f/UONGDy9ItBItmXsLOQHw==", + "license": "MIT", + "engines": { + "node": ">=22.19.0" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-1.0.3.tgz", + "integrity": "sha512-XGnEwj5sWdCbiBX01mWLSBncS0yMRjnLygau3IfdOlfjMacNIQvTGW4VH7pWBq+gGWArfSef/CensMLjMmIr/A==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "fnv1a-64": "^0.1.2", + "std-env": "^4.2.0", + "undici": "^8.0.0" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.2.0.tgz", + "integrity": "sha512-fpsYs/VVoZxfGY9/j3FQpZmN8wdLJaV1Pt38AaJNZu9uKIHcFU3halCdBveEq1HGKO1OEfJY65w1zvoFV1b3qQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.1.0.tgz", + "integrity": "sha512-vKXxz6O38sKDj1mtx/k2cWvkkFBuYGx6uGrlzBkVeWCRF/F8sdI0j3Wbkz/5rVNRRuVc8UrgRdbCxNhmYXgP3w==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unstorage": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.6.tgz", + "integrity": "sha512-gjKtcmn/KwZuJZO9o2sc0esAQnhmTw0LviDHwevTXbJMYs0dRTp8ZEEWXHU0vTpzbN3cA0yxlTeyXssMp3zDqw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.11", + "lru-cache": "^11.5.3", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.4" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 || ^11.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/verkit": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/verkit/-/verkit-0.5.0.tgz", + "integrity": "sha512-u4J1hr6Y+C/hit34GwL3eIcUf3wngT8TlYUjK7tk0jxydKLAq3sYvifjdTDA6U3KCKRcQCQDGf/srjxfZF3l7g==", + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.5.tgz", + "integrity": "sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==", + "license": "MIT", + "dependencies": { + "lightningcss": "^1.33.0", + "picomatch": "^4.0.7", + "postcss": "^8.5.30", + "rolldown": "~1.2.14", + "tinyglobby": "^0.2.17" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.7.1 || ^0.8.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/yaml": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz", + "integrity": "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.7.tgz", + "integrity": "sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json index 110dca4..3b2b77b 100644 --- a/package.json +++ b/package.json @@ -3,38 +3,27 @@ "description": "Personal site of Dennis Thiessen — thiessen.io", "version": "1.0.0", "author": "Dennis Thiessen", - "dependencies": { - "gatsby": "^5.12.12", - "gatsby-plugin-manifest": "^5.12.3", - "gatsby-plugin-react-helmet": "^6.12.0", - "gatsby-plugin-remove-serviceworker": "^1.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-helmet": "^6.1.0", - "ajv": "^8.12.0", - "ajv-keywords": "^5.1.0", - "schema-utils": "^4.2.0" - }, - "keywords": [ - "gatsby" - ], "license": "MIT", "scripts": { - "clean": "gatsby clean", - "build": "gatsby build", - "develop": "gatsby develop", - "format": "prettier --write '**/*.js'", - "test": "echo \"Error: no test specified\" && exit 1" + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview", + "test": "node --test", + "format": "prettier --write '**/*.{js,jsx,mjs}'" + }, + "dependencies": { + "@astrojs/react": "^7.1.1", + "@fontsource-variable/hanken-grotesk": "^5.3.0", + "@fontsource-variable/jetbrains-mono": "^5.3.0", + "@fontsource-variable/space-grotesk": "^5.3.0", + "astro": "^7.4.2", + "react": "^19.0.0", + "react-dom": "^19.0.0" }, "devDependencies": { "prettier": "^3.1.0" }, "engines": { - "node": ">=18.0.0" - }, - "resolutions": { - "ajv": "^8.12.0", - "ajv-keywords": "^5.1.0", - "schema-utils": "^4.2.0" + "node": ">=22.23.4" } } diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6b9910851c91091eb476a5b59f21cda34ff57c0c GIT binary patch literal 7641 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 literal 0 HcmV?d00001 diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..c301b9b34b9bf42a1e2048f6e577464909ef9b0e GIT binary patch literal 1502 zcmV<41tI#0P)G$BHa#+aZiVoEn?JJ8bD2B{lRQ%eE6&~{2YQ@Tuh z%ze|A77GCc>QC;!dGGyq&-wSgd+&Q3$DZf)^p1^<*CL|FuXVU%iZxf1-|mXSy%4fR zHpw<&^v9$}N3ZCyQ{wFI=t@a(ffv;npD=#Xr z3Q8w0s$IOOf)}-WBxFnN3ffjcScJ*IW8>#(4tI1pFDUd;py%WJDFMPFOv2_OMvh-A zDo$91(9Q<{&V;ZCldw7G@DYW*E_zS|da($bv%8|2X`}R8s|O$&+nj_=1aMmfBn`G6 z>EAENc8H;2Oy30o+%^F-FT-S&V6w^s`gM9UIL-i_!E&Dn2nu+~j*Z(t!hs)iuyfa^ zkQE1;Lw}txXC4+VPC-KAGq4RZ-zICYDPh+|4&vOBfKAevTgjkJ)F3EMWO_=`4WO*- zcW4ebZVLq1*jww@1qp0Q!Acy)(#!jpp7P$3AOZOX0%B+wIGqUza~I;u)ec;)YsTqc z&SA^;4{py<101K9+BKJfIGO|4=zfgzjdLPOwt8p~PgCkk_C@3t&3rWe0 zz_d*%ScM~avF1yrr=%qhPC!zeY{IK=Y(P^hP}|@`QjZbM6^WCjXW{jC;Z$)cw6I}p z6Dp2yV!OU%`_zWm-_qz^M|b zb{9)bvfa%HP=79YKy$LClvU?{@W8r_Xl@5C)ih$(%vr&3vr70OyNJ1(JU|2}T4c?Q zW3&WqKz3Fx40S#eJ8e2MW=GXIBmbwZH7B9o1v}Z zQ^?kuqJYkNO4x9ufBXf`SJt4svIc)%s6|CpE#eas8G*;PrQ&tuNb}CL?C#SlFcNHN#?)p*Qgej~azB4^PDC zaTA!RVQv`pHbl&vjA`4JBlg`Srm1ZxX22?vK z=sD^)n1w!}I>P3e1op?|cG70EaO+~k_m$D$K|`d2Mo(oM>_F06-+RaUq@Nu@3F{MT z-&l^DhxAD19O^@9#84m0V~6@;GUQh??*DK(9m?zZKL|P;A-CUSn*aa+07*qoM6N<$ Ef{W6-xc~qF literal 0 HcmV?d00001 diff --git a/public/icons/icon-192.png b/public/icons/icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..1a54dbce397f205da328418da6cfe6beffcc34db GIT binary patch literal 9159 zcmYkCby!qE`}cS0?#@M0IwYjKyE_)?T3Sj#q&p>)l#*OZI+tz`Sdd0SB?V!Tde`T9 ze%JN>F=ysn({s+ub8cnU{O|K;4KfX@yR!#88Fx3~yZNWeJ zSiUI8W2eqn!tH^X-{^;8$?@)!ET2Xte~T=9tuZSNMbzVYixAl$kAdx4EbANz7K=CC zS%I-ve9n{P;RDO)YMik~z|4&#=F5@4(m$m7p6&`S>jhV@tkIi<-M%+z72u>k^!S(f z%6;4jY8yW7o&X1Kc(ry|x4=JiaR-=~eB2;!fm_+t4B@xk^Pwhgkf+?%CWdl^x&&_M z^s+K$HlX7g@PXgL#jbCf_ww(3GEKrBN_`TiZ^;uk{ELPUf=9uD=(PFo%b@Pv#Ce~wc$O~(m3TeF3--LE#uBQiqOd&{@d8|P(n$_R?n1?Q>XV02p~}6?j2V36mESFX3*6?1YWK2Z#GxYx4^q}1nbqt} zah>@|*=ANJvSQ^g;$%V>{2BYFyGQ!1|8z-$x*N>Yn0$$vt9ZVkc$vCnfu?w2p@!JC zjoJ+3vzicAQHIy}=y$i@FK-K};#%+J@nBd``6)Vbky#=pGEMY8D0JG`$=9=W&B{KR zhiiVW35B9d$kON+R^H)PMgNiCRputaXg*fe94zBg25%e-Rvl~$@AE?GC@~*2@rZC? zXi&K%A}$ynQ~~c}TwQ24j)UOy8JoG5(gjyvPpH^Bss8#GZu7-P4nsYMoC5!U-4biS$e>C|^h1`~4X>M7YMMJ}ctj4}$VTU5>pjd# zI15ZD%lVXTI9H-4MVcpM$?apPp5??nPv`&kp@G=#Z7*G{V)R8lXX225`qC*w38HRu zhhVzKGvNr&;o0rDzg*Mwv7oLCJ_uO{oJhsI9QP7iVPM-YR`Ei5P1vVq(xZm@-Td1F6A#9qR}iIg zqo1ogXrhF&c^efK%d$>r0xHL9c%6ZynFiF;*3({QYqrp?8#S%8#J`s>muFG=wMW6wWA%YjMQ@jPB-05-ZA{V7jIXAZ+bZqdNvcVBG~iTyl@ zd)@>D=lv&8;!uzPEA=1T_tBGFb(WWhkQ4yf zk)u&7F7x{I__@pPZoD`>u+f#i_&N|QwvD3FGitOg%h)*>mQ9*zA{*#w&J=NuttFgIc_khy6Be)1m(>w)VM>AW)_! z$hwthqWPuoiJ^#AhJ)-BNf%VTyC_%MpM$L7f&LUz@o2Gy<&#jB@6iwdT#+4V>fy*i ziAOpKyQ($^R$qI$xMbR*rn3e?d2;-k+@y=J>&g}sXf#j2 zjj?%xF>;ekMbB)zILc8IO~PJ4rLzC*xrW!+oAn_7%W^5JiGyXIlOoI+d!h0Tod1;2 zN@Co?f!T+5-33%%+t8Kz=UF0<)1k-$LNzr>zrhgDj))^>4_EV&FXEObS^RSop(zi( zXJR4-Bj!M`xq6J%3G6TNHM?8*N)R-!(9Y!-$!1R^@Wph3ASfr^1#B@z+SD~uuz&-j z=!9F%E-<7RwWdHqDfvWrQKz||qk{9{Y$Nf1$};Q{9fG2VcNjj&p{~uQAKo5r+PPOG zHPC|E%GG>M<-l(QF)QeU%Z;o((h&jC$AB1Jp~MMLFMb(3(GcfPpN}FSU?r?2>`$nM zZ`{soPcvN8j1(xKT}ygtU=CQ3_^PBRaqWW`0=PPQQz<4TN~w6%2eKgOJ(eh9Cv`As z=h~JQYG*COO_Ad=IIsYi%UBwdvo6O63CPWW1M70Ge+KH`&u$cPOHcillx<{?sCE>_ z-d1-d`TT2kyF(^un?=N6c{0M3(k^YopA~!iu|jADjoxnP;R(5#Iq&~F5|}jhHaZPm zZgVly)FPwL83Kp8aNb~)pLRDH`exF{f$9H?=t))?S{&|ws)bOgMT0;H)il5%{X zc1Jiq;!r$Z0hl<{IMn}UWoHiH)4r)dO)&%D6&_qs;gL>}-f>4rLU0P=(ff%SiC(Ou z@S|B0=Zc|$vD%-_K?wSZAWF8oEV)eE39>^yvUorfG`3R=hku#pVgQAH^2m71!G*|( zw&`VB15pp`L|q{Tu4fF`%LSnKTuhndvTR(M1K&CHY0c37t`AM2s5TK*9T>Y#A&%ek z4I0sU_B;F%-Tuv0uQn%wj2edi{xRuytc%h2AS$RoSSxX7^8}K-Er#LM852gYrffYr zP!R)q=Q&XJRN>uaL@QcbkDRZXz(>grdAF7>-9<{yU?2;IIrR$~9z&zVi*Gl<{QO4> zAvgTu!IIeD9%q>FFqOT({cTMfPk<4i{uuCjt8Oowz6PRjWpN{$3%`*)H0OcnhKrkQc zS0`%-X(+MnoKOtY)6P4OInl@+J=QbQtFxL zj{mT^(@PB<(NQVgshok8?D27BXLSt$C4qD9_6`^4ZH>QwaMFq0=gluCpe8mhq?7 zuLj{?n`Y6NxC9i+Mf!D(qHzg4hsy_?An`XYmb>2ysV}8@PStKIoaUMxTLHVHC2tdL?C*U02HI@yNeHFxsXSL(sGY(Onw_0n6dINi zUy7(}Rev9=#gTROPe>HrZC>ytZIvf!(To{Bw2a==`@|NpgH4Ax;%S)@N?Gb}!x!1;!nZ2K_WKi* z`Ip-&OxlkyrL^pUbUk!0x&3FSR=Y_2VbQvX{gCj=E?$Tf+2;&{#BC1Xs|NJqkXdV> zE|wjC;+j*+Qgp%T8@jG*0uVnC?~Z*=h)UL}=&WkV3^PPZOl*Ja>L~<6g`W(IS&U)W zW-AQ$S1%NU#sO-|{mj*kDFQ?Cc7oycgZ+`J0f1~|PX1O{R5Gs06ih7-L5W{|O~xDx zusLsxc=;T`J{?;hNsJgJ4Ru60pv6ygD7x|LwnQkrE8&hfj*&F)Ar|bQD0=B7_1NBJ zBUb9gAAt%UFE#1cx^@A9KXTSc?$wQ9$+oT|r6aF+Dt!!CG`0@aqo_sannD#+!r6)!rynDguU)94!-U;0K=(t}lQe0}b;zvc`r9 zUR(DZe^s0v40XkJ7b9g_^>Dq5M-%&*wwLHF1ZIn)qxaX~dG90K}N4TGY6PiXhCkx?58V(|C) zl^Ix)R8n~BVGl~Bhx<*8lK4-GhGGTi+fG2uKoZS(^5OSR9|L(hQS|%_|fd_VIJ z%|r^|`MtsWQjTNO=Us!9oKXkuK*`e6K6_J%*yp4h$P7KZ_A()qVWl=WY8_pl$RuTjT!6vR50Z{n)^ z2jV%T5tEqkiyF!c#B6xvQ^>cv_M>kmJ1T@y@$6roX!!arOz_Z{&(TIQPcL;W0nuVN zPwT1Mc5$c6g#)(w%MxUo_PlAYdK8$|WNuz9ul^cR#d?jnGie40vPEPFRvB?RyUoIA zi_iqbzH0={CCV~jy@TEi5kiInS4yDu7}4sjri>siZW3)S-739eT{*YgY+>(edeUwp$;TS>(^JPM~wkVzl7!qhl#odh zcs?cjs}y5)S63dyeY9vP7m=Kam+LR!noKZekwqt!f147dh2{EKM+jN?tLTgPQ&)fa zY+9XIZO|iMlxD?1r$kXyxMYUD7)c;vAa!dfq2e};+}W0Y`sIG8e|~er{7+D30pu<- zJi_ZcWMXG7o&u&i`#f5|Jh4t+V=C(>i2#rN?d?h#-x9h&%QN@cE{K`)Nfge+?sw^^ zdlt63T8$QeCm;(5AoL2I6^e{Bh{E zVBjZifW2_r!-_Q`!zw{_lI{-WJSfaGB!Kpn5B^omS2R#SbnX|lzVL=3!ZFoOR#D^u z!v&-}#_iv`*metVR;{Ji)&OKXZGUkoA{l3gIaeUw2S(>&0AEWnggyu*3V{I9&z{@2 z_7$S@*P)0#3FSEhO#$2ypIz1|*I zZ$6z^>2iQNETQqF;Y`Ov$+Us;F$Y+k^Z)YD`#m=m@u)R)g;X<3m z5Z=G7Cqgf8f4GnVi532>Ct~cm6Q?=M9ga_}KEWv&3_M$9YBQWFvSM0*Qz+48J%~_P za1OU|NYbxm&7$ycAE<<<_M38)m&yH*iku&UcY7woDaX>TdS!>_R(MCl!@iGC^vYIa z%SMtP+N5rhp~;r)3_OA)qk0gdLIq5jzidAx58^reFjLDA;(3Xw8tT-}^`;#)@ao$f&SEb}1~g_R<4DRikN2xpeFMd!Kfgmy`$1vrqf_WBTD(|feor5Wu;qU%b8?TL z?^dITRiaA^d%&(@?kdREVE-_Bjgjrf1$CLk-BtAe>>|`9>P+KQPF~$;J1(<(k^=aP zq4xcGmRbX$La*Mv_7SDdjB$VmbqOFhU=`}u{k)o^6h&@*+!r-IO2=DE^RO!LC%A#Q%hSy{_ z>o-_$n)WN(@7M|VN=6F@G#Z|i#2NdGK3)PBNCErGj$=6f?YET;ATbIO_HUJzY*GwN z@3LkwsIZEgW#Z=3u`RF5$VUmJVL-eJxI{Mb zuT16jheuHFFv=JmLPhkJZH$cV{%BPuo_E?W|Ng5^Jl)8*laTqsNP}mKI&<9GtB^#6<&1PRrN9*B#DoY5@OrfmFu)wGcN}oq&~LaMb;szBm%S{HlFAp zb7duB*AIu=VXoA7It#8)0KZURwAg%0+%C>~*B%d=GNINtvjH&O0PSF5;8Pqf-&WFt z0`V0KwuJ~9 zHxP15xB8)ejttMpCRTt;#b<`j2}jABkv9m`y+uZxKi&lVJSe$q%vaHgB4vD7etJ)# zHUVx=GXqGY>@>=^mw4t<6r47*|C4@(5C|Joh%UwQrLVa-V1M)aq0G5RoA?R}sL%pr zj@v|1m^^;--A&p^sW0Jde2*RUWwDX<(q7lT<_h`;PH32&v5Pafuzu}SlNR1^#FDXL_D|hUd@6R4bWU{}xnEG?5@nf822D2-B*Onn z5)kNs_-RPwi!bnL;FB;a^_6(E?LF^^ALKxKzR#j@&3(q<4_%1GLZCpxH&HSoc~I=A z3YX4lKQnXw)lHV{br9hICEe(C?3uDrHG@yK-UlwtShu3qYql#ynb@2#$aOgd%_IDf zKjwiM$!w@MEb5lypJQuC-x#g;ov`{5==96b45WplNJRk!9wIaDQW&Z~EHs_k9iLqz z>Godww#yfiW-*QS;zq0rbe{Huw%A6uvxuYC3p4_?OG9w$)_BtP83P`egGw19`Sxb( zR)|;nhEcbcLpePsV@eRpi)1hT6JG0Yy#bH&X}L@^s&n1UdUO7hoekK)IO9Qvas=e3BmVK9N^ZYu^(3Cf6q!kq<=qY+642VI&)|S@)E}xE@64 z+4I1#9-x8}aJSKZG7|!I*;9TY`c=MKgr)B_OR~>=cCIc*C3S;q)s^E{9?OJFz77;x zPk0io=vJf!=`8_vXrG0MS4>&3G?}YCc&h=1m%RqqyT3L4_J@l1!fTYZ&?5s&(9VzV zDZtw+IL1{37ew%UsaA zl>RO61ZlVo{y@?8VQJr@noRhg*_&;jZjh@dP4~pR`Tqct3&~*Pj7dAEEI zrF4p>!Do79l$^q8T&)@8E_zkE8Yx_ca@Mt!#c?;;A2`2r>a1p1rGCH{(8ZJ&-(t$# z(sAQ2Gp!!FZ_dHeT?vqmX{EOqKJqYEzBvljT+ck!nk{xJHwX|?2B=U%LbKnuIA+6$ z!^>&(#8MvFD4kwGk@OJoy#-3*>&O#Tlxz`UIW!PsnFGX)07}*=RUOcQZnSNMpa3cqinlQqfS3p_ z6w=uLU_>O1qC%<1()@rXgd~p6?UZpy#@LUvn*K3H8U{>TBxB@v@B&SN1EYTxye~mY zUOF-M&>cS_08|@^Ed>*&$=yLfL+-fW?sMxBano60|6WKgVbZMtEBxt6yFvp}qYFQ0 z3|*P7$p|WTB+dofI6@@?h1+UngUVS4QO0`y$5a2c_Z6jk?rSHBFU5;@M&?nbo}=2f zM8eHYcvGN}czp+bIg^ES%@Xqg1 ziV8xqFMvnhZu#;N^iLO};4bAPPbwyv9cWjWCd&%JQ4MV{QtPO3Yx9&oAQ$A-w`4csHNN}NMbIr_r&oZCXUQA zv$peY$Fyf2q{G;c9D-|76Nblmq~D9LN5Mkzo`ip!QeAQ56BsUu4@xrhBeA&|HPIq0 zz#VYB%6#0Aj%M51HIpceZzo>zZm4)&B6&KC3867uEddijcA#;uaZEWEo}X`gR7YSU zF`ZsjRk{f(q!<9?J5FC={tx<_BADSt3pnjwmAs|-F~cQ4ww?-;C;PLq|0^97P!&yt z-gA4yf>20^TCpwk<)c3U_Dz<<6#2rg(-|>-U|IV8T zl9;s$RwnVh=#Y0lCz>K!oTxT2J_C(e$n#80?>KzdxPRW*!@vE`WzN>RHTk`|U_`Eq zgDk2Ij8{ODTSq%o!sR5~oy*qEf-%GwF_uESE|ldq+LWhF{TCMa1{8ok)YkSV{_EqY zH9AG?FC$_cVP1m8NIyCpfrxxbK2&g)DXZgfr%mjyCFX~RcpH6=SH2<^^rwL8s?Py- zNE0;#vpG-uIRGq7(SsJZ1CuY>t2e@7LW#WucbYv6I_&&buNkXd#l|aTBb=1I`fF&8 zUbFB?^l;d~OnW~8Kds|S+)J{Q^4Mu#S5vg0ZFiAH?{m@uSQYGZh(?0&lb#88fO&bN z_&T4cs_%38EL(_1KauP2Pk3=k&wuzwvnX%y=~Vy8OnFM}dH2?puD-)KHYCt}#CgoQ zp3F)MIn@w=_D#^EvTwPqpz-Ayo3Yi6FFyc)>haGPpt7kTUSqwgbKc6yzx_tNX7mG- zeUOnRS_dyy+aeUt5G_0?+g1SM$r}7(@tm;-GSbvC01iAOHEY`--~9l(0ex5&=-VLA zXcP1Pul{(;C6cDQ*wSK*6U(t_9^78Kz-hb=5p_8o$UUi8&c;D1tj~AI1)e;?KAdG{ z-C!QM|B9w+jKyzunskjmGC#wZ6yqCv$tnT_U0^Dgm@$jo49>9 z?z)t7eM^)7Ud8!}N7_T)760{5#nXYjAC5V$5AZ7taFS`JJmfG+r8rgSWtfTGeF^fj zKC9V~dS;FqEAgVC^LeRImbZz^%uXIXw0A}q1DpUSVM^VQlAqE7hOh0U+Mr+L*32BZ zBK;8>^h9{gqbgWSnu7fGerP~+^y=mET`Cd;6!3^ON|)bvZrd;~qlJ-#xZGS;hSRG_ ze*d4gT@kN(RZ>Gs5k2keR@TCs*-OSg(GkmKqgBU6{(qvnTC7=nOgsJbr7rf zx7C}HhHGVFdq~oN{?8*JjvO2VXNu8=8TZ;m8_2jn42sk&9dshs;DGq zN9Vr8xbLp}BXc6osSqe;{G&GDP-bQIqXc)rdv;z7*PpPCy0$h||1h`Ql*YWSVkS## zGs=<&IxTYC(y!>sm~_qi;nZ0ZoiMc4!GY6oiq^(#l IZ~OND0mM)}8UO$Q literal 0 HcmV?d00001 diff --git a/public/icons/icon-512.png b/public/icons/icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..40e7b347dbdd33f5cf82af975cea2f86b18a21b8 GIT binary patch literal 16375 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�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 literal 0 HcmV?d00001 diff --git a/public/sw.js b/public/sw.js new file mode 100644 index 0000000..447fd1d --- /dev/null +++ b/public/sw.js @@ -0,0 +1,17 @@ +// Clean-up for returning visitors. An earlier version of this site may have registered a +// service worker in their browser; this file replaces it, clears its caches and removes +// itself. Visitors who never had one are not affected: nothing registers this file. + +self.addEventListener('install', () => self.skipWaiting()) + +self.addEventListener('activate', (event) => { + event.waitUntil( + (async () => { + const names = await caches.keys() + await Promise.all(names.map((name) => caches.delete(name))) + await self.registration.unregister() + const windows = await self.clients.matchAll({ type: 'window' }) + windows.forEach((client) => client.navigate(client.url)) + })() + ) +}) diff --git a/scripts/make-icons.mjs b/scripts/make-icons.mjs new file mode 100644 index 0000000..daa22f1 --- /dev/null +++ b/scripts/make-icons.mjs @@ -0,0 +1,39 @@ +// Regenerates the favicon, touch icon and app icons from public/icons/icon-512.png. +// Run it after changing the source icon: node scripts/make-icons.mjs + +import { writeFile } from 'node:fs/promises' +import { fileURLToPath } from 'node:url' + +import sharp from 'sharp' + +const root = fileURLToPath(new URL('../public/', import.meta.url)) +const source = `${root}icons/icon-512.png` +const BACKGROUND = '#0a0d12' + +const resize = (size) => sharp(source).resize(size, size) + +await resize(32).toFile(`${root}favicon-32x32.png`) +await resize(192).toFile(`${root}icons/icon-192.png`) +// iOS fills transparent corners with black, so flatten onto the site background. +await resize(180) + .flatten({ background: BACKGROUND }) + .toFile(`${root}apple-touch-icon.png`) + +const manifest = { + name: 'Dennis Thiessen', + short_name: 'D. Thiessen', + start_url: '/', + display: 'minimal-ui', + background_color: BACKGROUND, + theme_color: BACKGROUND, + icons: [ + { src: '/icons/icon-192.png', sizes: '192x192', type: 'image/png' }, + { src: '/icons/icon-512.png', sizes: '512x512', type: 'image/png' }, + ], +} +await writeFile( + `${root}manifest.webmanifest`, + `${JSON.stringify(manifest, null, 2)}\n` +) + +console.log('icons and manifest written to public/') diff --git a/src/agent/engine.mjs b/src/agent/engine.mjs new file mode 100644 index 0000000..368b5ce --- /dev/null +++ b/src/agent/engine.mjs @@ -0,0 +1,1425 @@ +// The agent: a deterministic retrieval engine over src/data/profile.mjs. +// +// It has no model and makes no network calls. `respond` takes what the visitor typed and +// returns an answer made of blocks (data, not markup), so the same engine can drive the +// terminal, the tests, or one day a model that is only allowed to quote these facts. + +import { + CERTIFICATIONS, + CURRENT, + EDUCATION, + IDENTITY, + KINDS, + LANGUAGES, + NON_CLAIMS, + PROJECTS, + ROLES, + ROUTE, + SKILLS, + SUMMARY, + TIERS, + TOPICS, + WELCOME, +} from '../data/profile.mjs' +import { plainText } from './inline.mjs' +import { choiceCount, sceneView, startScene, stepScene } from './oncall.mjs' + +const MAX_INPUT = 300 + +// ---------- small builders ---------- + +// Visitor text is echoed inside answers, which are parsed for **bold**, `code` and links. +// Strip those characters so typed input can never become markup. +const clean = (text) => String(text).replace(/[*`[\]()]/g, '') + +const p = (text) => ({ t: 'p', text }) +const note = (text) => ({ t: 'note', text }) +const trace = (tool, arg, out) => ({ tool, arg, out }) +const answer = (steps, blocks, followups = []) => ({ + trace: steps, + blocks, + followups, +}) + +const FOLLOW = { + now: { label: 'What is he working on now?', cmd: '/now' }, + career: { label: 'Walk me through the career', cmd: '/experience' }, + stack: { label: 'Show the stack', cmd: '/stack' }, + projects: { label: 'Browse the projects', cmd: '/projects' }, + ai: { label: 'What about AI and ML?', cmd: '/ai' }, + contact: { label: 'How do I reach him?', cmd: '/contact' }, + education: { label: 'Education and certifications', cmd: '/education' }, + ops: { + label: 'Operations and reliability', + cmd: 'operations and reliability', + }, + play: { label: 'Play: handle an alert', cmd: '/oncall' }, + help: { label: 'All commands', cmd: '/help' }, +} + +const pick = (...keys) => keys.map((k) => FOLLOW[k]) + +export const STARTERS = pick( + 'now', + 'career', + 'stack', + 'projects', + 'contact', + 'play' +) + +// ---------- text normalisation and matching ---------- + +const REWRITES = [ + [/c#/g, ' csharp '], + [/c\+\+/g, ' cpp '], + [/\.net\b/g, ' dotnet '], + [/ci\s*\/\s*cd/g, ' cicd '], + [/node\.js/g, ' nodejs '], + [/on[\s-]+call/g, ' oncall '], + [/on[\s-]+duty/g, ' onduty '], + [/fine[\s-]+tun\w*/g, ' finetuning '], + [/self[\s-]+host\w*/g, ' selfhosted '], + [/google\s+cloud/g, ' googlecloud '], + [/unit[\s-]+test\w*/g, ' unittesting '], +] + +export const normalize = (input) => { + let text = String(input).toLowerCase() + for (const [pattern, to] of REWRITES) text = text.replace(pattern, to) + text = text + .replace(/[’']s\b/g, '') + .replace(/[^a-z0-9]+/g, ' ') + .trim() + const tokens = text.split(' ').filter(Boolean) + const set = new Set() + for (const t of tokens) { + set.add(t) + if (t.length > 3 && t.endsWith('s')) set.add(t.slice(0, -1)) + set.add(`${t}s`) + } + return { text, tokens, set } +} + +const hasPhrase = (text, phrase) => ` ${text} `.includes(` ${phrase} `) + +const matches = (norm, alias) => + alias.includes(' ') ? hasPhrase(norm.text, alias) : norm.set.has(alias) + +const levenshtein = (a, b) => { + const row = Array.from({ length: b.length + 1 }, (_, i) => i) + for (let i = 1; i <= a.length; i += 1) { + let prev = row[0] + row[0] = i + for (let j = 1; j <= b.length; j += 1) { + const tmp = row[j] + row[j] = Math.min( + row[j] + 1, + row[j - 1] + 1, + prev + (a[i - 1] === b[j - 1] ? 0 : 1) + ) + prev = tmp + } + } + return row[b.length] +} + +// ---------- entities ---------- + +const slug = (s) => s.toLowerCase().replace(/[^a-z0-9]+/g, '') + +const skillIndex = SKILLS.map((skill) => ({ + skill, + keys: [...skill.aliases, slug(skill.name)].filter((k) => k.length >= 3), +})) + +const findSkills = (norm) => { + const found = [] + for (const { skill, keys } of skillIndex) { + if (keys.some((k) => matches(norm, k)) && !found.includes(skill)) + found.push(skill) + } + return found +} + +const findNonClaim = (norm) => + NON_CLAIMS.find(([, aliases]) => aliases.some((a) => matches(norm, a))) || + null + +const findProject = (norm) => + PROJECTS.find((proj) => + [proj.id.replace(/-/g, ' '), ...proj.aliases].some((a) => matches(norm, a)) + ) || null + +const findRole = (norm) => + ROLES.find((role) => + [role.id, ...role.aliases, slug(role.company)].some((a) => matches(norm, a)) + ) || null + +const tierOf = (id) => TIERS.find((t) => t.id === id) + +// ---------- answers ---------- + +const aboutAnswer = () => + answer( + [trace('Read', 'profile', `${ROLES.length} roles, ${IDENTITY.experience}`)], + SUMMARY.map(p), + pick('now', 'career', 'stack', 'projects') + ) + +const nowAnswer = () => + answer( + [trace('Read', 'experience/swisscom', 'current role')], + CURRENT.map(p), + [ + { label: 'The Swisscom role in detail', cmd: '/experience swisscom' }, + ...pick('stack', 'ops', 'projects'), + ] + ) + +const timelineBlock = () => ({ + t: 'timeline', + items: ROLES.map(({ id, period, company, place, title, summary, live }) => ({ + id, + period, + company, + place, + title, + summary, + live: Boolean(live), + })), +}) + +const experienceAnswer = (arg) => { + if (!arg) { + return answer( + [trace('Read', 'experience', `${ROLES.length} roles, 2015 to present`)], + [ + { t: 'route', stops: ROUTE }, + timelineBlock(), + note('Open a role by clicking its name, or type /experience bosch.'), + ], + pick('now', 'stack', 'projects', 'education') + ) + } + const role = findRole(normalize(arg)) + if (!role) + return unknownEntity( + 'role', + arg, + ROLES.map((r) => r.id), + '/experience' + ) + const i = ROLES.indexOf(role) + const neighbours = [ROLES[i - 1], ROLES[i + 1]].filter(Boolean) + return answer( + [trace('Read', `experience/${role.id}`, role.period)], + [ + { + t: 'detail', + title: role.company, + meta: [role.title, role.period, role.place], + note: role.titleHistory, + points: role.points, + stack: role.stack, + }, + ], + [ + ...neighbours.map((r) => ({ + label: `${r.company}, ${r.period}`, + cmd: `/experience ${r.id}`, + })), + FOLLOW.career, + ] + ) +} + +const stackAnswer = (arg) => { + if (arg) return lookupAnswer(normalize(arg), arg) + const groups = TIERS.map((tier) => ({ + label: tier.label, + hint: tier.hint, + items: SKILLS.filter((s) => s.tier === tier.id && s.listed !== false).map( + (s) => s.name + ), + })).filter((g) => g.items.length) + return answer( + [ + trace( + 'Read', + 'stack', + `${groups.reduce((n, g) => n + g.items.length, 0)} skills in ${groups.length} tiers` + ), + ], + [ + { t: 'tiers', groups }, + note( + 'Each skill sits where it was really used. Ask about one by name, for example “Kafka” or “Does he know Kubernetes?”' + ), + ], + pick('ai', 'projects', 'career') + ) +} + +const skillsBlock = (skills) => ({ + t: 'skills', + items: skills.map((s) => ({ + name: s.name, + tier: tierOf(s.tier).label, + note: s.note, + })), +}) + +const skillAnswer = (skills) => { + const names = skills.map((s) => s.name) + const related = PROJECTS.filter((proj) => + skills.some((s) => + proj.stack.some( + (x) => slug(x) === slug(s.name) || s.aliases.includes(slug(x)) + ) + ) + ).slice(0, 2) + return answer( + [ + trace( + 'Search', + `stack, “${names.join(', ')}”`, + `${skills.length} ${skills.length === 1 ? 'match' : 'matches'}` + ), + ], + [skillsBlock(skills)], + [ + ...related.map((proj) => ({ + label: proj.name, + cmd: `/projects ${proj.id}`, + })), + FOLLOW.stack, + ] + ) +} + +const nonClaimAnswer = ([label]) => + answer( + [trace('Search', `stack, “${label}”`, 'no match in the record')], + [ + p(`**${label}** isn’t in his listed stack.`), + p( + 'What Dennis does work in is listed under /stack. If this matters for a role, ask him directly.' + ), + ], + pick('stack', 'contact') + ) + +const lookupAnswer = (norm, query) => { + const skills = findSkills(norm) + if (skills.length) return skillAnswer(skills) + const claim = findNonClaim(norm) + if (claim) return nonClaimAnswer(claim) + return answer( + [trace('Search', `stack, “${query}”`, 'no match')], + [ + p( + `Nothing in the stack matches “${clean(query)}”. Here is what is there.` + ), + ], + pick('stack', 'ai', 'contact') + ) +} + +const projectsAnswer = (arg) => { + if (!arg) { + const groups = Object.entries(KINDS) + .map(([kind, label]) => ({ + label, + items: PROJECTS.filter((x) => x.kind === kind).map( + ({ id, name, period, blurb }) => ({ id, name, period, blurb }) + ), + })) + .filter((g) => g.items.length) + return answer( + [trace('Read', 'projects', `${PROJECTS.length} projects`)], + [ + { t: 'projects', groups }, + note('Open one by clicking its name, or type /projects fab-inference.'), + ], + pick('stack', 'career', 'ai') + ) + } + const norm = normalize(arg) + const proj = + findProject(norm) || + PROJECTS.find((x) => normalize(x.name).text.includes(norm.text)) + if (!proj) + return unknownEntity( + 'project', + arg, + PROJECTS.map((x) => x.id), + '/projects' + ) + const i = PROJECTS.indexOf(proj) + const next = PROJECTS[(i + 1) % PROJECTS.length] + return answer( + [trace('Read', `projects/${proj.id}`, KINDS[proj.kind].toLowerCase())], + [ + { + t: 'detail', + title: proj.name, + meta: [KINDS[proj.kind], proj.period], + body: proj.body, + points: proj.points, + scope: proj.scope, + stack: proj.stack, + }, + ], + [ + { label: `Next: ${next.name}`, cmd: `/projects ${next.id}` }, + FOLLOW.projects, + FOLLOW.contact, + ] + ) +} + +const educationAnswer = () => + answer( + [ + trace( + 'Read', + 'education', + `${EDUCATION.length} degrees, ${CERTIFICATIONS.length} certifications` + ), + ], + [ + { + t: 'facts', + heading: 'Degrees', + rows: EDUCATION.map((e) => [e.title, e.detail]), + }, + { + t: 'facts', + heading: 'Certifications', + rows: CERTIFICATIONS.map((c) => [ + c.name, + [c.year, c.note].filter(Boolean).join(', '), + ]), + }, + p( + `**Languages:** ${LANGUAGES.map(([name, level]) => `${name} (${level})`).join(', ')}.` + ), + ], + pick('career', 'ai', 'contact') + ) + +const contactAnswer = (norm) => { + const terms = + norm && + [ + 'salary', + 'rate', + 'availability', + 'available', + 'hire', + 'hiring', + 'freelance', + ].some((w) => norm.set.has(w)) + return answer( + [trace('Read', 'contact', '2 channels')], + [ + ...(terms + ? [ + p( + 'Availability, rates and terms are best discussed with Dennis directly.' + ), + ] + : []), + { + t: 'kv', + rows: [ + ['Email', `[${IDENTITY.email}](mailto:${IDENTITY.email})`], + ['LinkedIn', `[${IDENTITY.linkedin}](${IDENTITY.linkedinUrl})`], + ], + }, + note('Email is the fastest way to reach him.'), + ], + pick('now', 'projects', 'play') + ) +} + +const countFacts = (blocks) => + blocks.reduce((n, b) => { + if (b.t === 'p') return n + 1 + if (b.t === 'list') return n + b.items.length + if (b.t === 'kv') return n + b.rows.length + return n + }, 0) + +const topicAnswer = (key, followups = []) => { + const { blocks } = TOPICS[key] + return answer( + [trace('Read', `topics/${key}`, `${countFacts(blocks)} facts`)], + blocks, + followups + ) +} + +const helpAnswer = () => + answer( + [], + [ + { + t: 'commands', + rows: COMMANDS.map((c) => ({ + usage: `/${c.name}${c.args ? ` ${c.args}` : ''}`, + hint: c.hint, + })), + }, + p( + 'You can also ask in plain language, for example “Does he know Kafka?”, “What has he built?” or “Is he allowed to work in Switzerland?”.' + ), + note('A few shell habits work too: ls, cat about.md, git log.'), + ], + pick('now', 'career', 'play') + ) + +const unknownEntity = (kind, arg, ids, base) => + answer( + [trace('Search', `${kind}s, “${arg}”`, 'no match')], + [ + p( + `No ${kind} matches “${clean(arg)}”. Try one of: ${ids.map((id) => `\`${id}\``).join(', ')}.` + ), + ], + [{ label: `All ${kind}s`, cmd: base }, FOLLOW.help] + ) + +const fallbackAnswer = (input) => + answer( + [ + trace( + 'Search', + `knowledge base, “${input.length > 40 ? `${input.slice(0, 37)}...` : input}”`, + 'no match' + ), + ], + [ + p('That’s outside what I can answer about Dennis’s work.'), + p( + `For anything else, email him at [${IDENTITY.email}](mailto:${IDENTITY.email}).` + ), + ], + pick('now', 'career', 'stack', 'help') + ) + +// ---------- commands ---------- + +const ROLE_IDS = ROLES.map((r) => r.id) +const PROJECT_IDS = PROJECTS.map((x) => x.id) + +export const COMMANDS = [ + { + name: 'about', + aliases: ['whoami', 'me', 'summary', 'intro'], + hint: 'Who Dennis is', + run: () => aboutAnswer(), + }, + { + name: 'now', + aliases: ['current', 'today'], + hint: 'What he is working on', + run: () => nowAnswer(), + }, + { + name: 'experience', + aliases: ['career', 'exp', 'work', 'roles', 'history'], + args: '[company]', + hint: 'The career, role by role', + options: ROLE_IDS, + run: (arg) => experienceAnswer(arg), + }, + { + name: 'stack', + aliases: ['skills', 'tech', 'tools'], + args: '[skill]', + hint: 'Skills, by how they were used', + run: (arg) => stackAnswer(arg), + }, + { + name: 'projects', + aliases: ['portfolio', 'project'], + args: '[name]', + hint: 'Things he has built', + options: PROJECT_IDS, + run: (arg) => projectsAnswer(arg), + }, + { + name: 'education', + aliases: ['edu', 'certs', 'certifications', 'degree', 'studies'], + hint: 'Degrees, certifications, languages', + run: () => educationAnswer(), + }, + { + name: 'ai', + aliases: ['llm', 'ml'], + hint: 'What he has done with AI and ML', + run: () => topicAnswer('ai', pick('projects', 'stack', 'contact')), + }, + { + name: 'contact', + aliases: ['email', 'reach', 'hire', 'linkedin'], + hint: 'How to reach him', + run: () => contactAnswer(null), + }, + { + name: 'oncall', + aliases: ['play', 'game'], + hint: 'A short game: handle an alert', + scene: true, + }, + { + name: 'theme', + aliases: [], + args: '[light|dark]', + hint: 'Change the colours', + options: ['light', 'dark'], + }, + { + name: 'classic', + aliases: ['plain', 'cv', 'text'], + hint: 'Switch to the plain page', + run: () => + answer( + [], + [ + p( + 'Switching to the classic view. Type /about or reload to come back to the terminal.' + ), + ] + ), + }, + { + name: 'site', + aliases: ['how', 'privacy'], + hint: 'How this terminal works', + run: () => topicAnswer('site', pick('stack', 'contact')), + }, + { + name: 'help', + aliases: ['?', 'commands'], + hint: 'This list', + run: () => helpAnswer(), + }, + { name: 'clear', aliases: ['cls'], hint: 'Clear the screen' }, +] + +export const resolveCommand = (name) => { + const n = name.toLowerCase() + const exact = COMMANDS.find((c) => c.name === n || c.aliases.includes(n)) + if (exact) return { command: exact } + const prefixed = COMMANDS.filter((c) => c.name.startsWith(n)) + if (prefixed.length === 1) return { command: prefixed[0] } + if (prefixed.length > 1) return { ambiguous: prefixed } + const near = COMMANDS.filter((c) => levenshtein(c.name, n) <= 2) + return { near } +} + +// Suggestions for the autocomplete popup. +export const completions = (value) => { + if (!value.startsWith('/')) return [] + const [head, ...rest] = value.slice(1).split(' ') + if (rest.length === 0) { + return COMMANDS.filter((c) => c.name.startsWith(head.toLowerCase())).map( + (c) => ({ + label: `/${c.name}${c.args ? ` ${c.args}` : ''}`, + hint: c.hint, + insert: `/${c.name}${c.args ? ' ' : ''}`, + }) + ) + } + const found = resolveCommand(head).command + if (!found || !found.options) return [] + const typed = rest.join(' ').toLowerCase() + return found.options + .filter((o) => o.startsWith(typed) && o !== typed) + .map((o) => ({ + label: `/${found.name} ${o}`, + hint: '', + insert: `/${found.name} ${o}`, + })) +} + +// ---------- shell habits ---------- + +const FILES = [ + ['about.md', '/about'], + ['now.md', '/now'], + ['experience/', '/experience'], + ['stack.json', '/stack'], + ['projects/', '/projects'], + ['education.md', '/education'], + ['contact.txt', '/contact'], +] + +const shortHash = (s) => { + let h = 2166136261 + for (const ch of s) h = Math.imul(h ^ ch.charCodeAt(0), 16777619) + return (h >>> 0).toString(16).padStart(8, '0').slice(0, 7) +} + +const shell = (input) => { + const [cmd, ...args] = input.trim().split(/\s+/) + const first = args[0] || '' + const say = (text, follow = pick('help')) => ({ + answer: answer([], [{ t: 'pre', lines: [text] }], follow), + }) + switch (cmd.toLowerCase()) { + case 'ls': { + const dir = first.replace(/\/$/, '') + if (dir === 'experience') + return { + answer: answer( + [], + [{ t: 'pre', lines: ROLE_IDS.map((id) => `${id}.md`) }], + pick('career') + ), + } + if (dir === 'projects') + return { + answer: answer( + [], + [{ t: 'pre', lines: PROJECT_IDS.map((id) => `${id}.md`) }], + pick('projects') + ), + } + if (dir && dir !== '.' && dir !== '~') + return say(`ls: cannot access '${first}': No such file or directory`) + return { + answer: answer( + [], + [{ t: 'pre', lines: FILES.map(([name]) => name) }], + pick('help', 'career') + ), + } + } + case 'cat': { + if (!first) return say('cat: missing file operand') + const path = first.replace(/^\.\//, '').replace(/\/$/, '') + const [dir, file] = path.split('/') + const base = (file || dir).replace(/\.(md|json|txt)$/, '') + if (dir === 'experience' && file && ROLE_IDS.includes(base)) + return { rerun: `/experience ${base}` } + if (dir === 'projects' && file && PROJECT_IDS.includes(base)) + return { rerun: `/projects ${base}` } + const hit = + !file && + FILES.find( + ([name]) => name.replace(/\.(md|json|txt)$|\/$/g, '') === base + ) + if (hit) return { rerun: hit[1] } + return say(`cat: ${first}: No such file or directory`) + } + case 'pwd': + return say('/home/visitor/thiessen.io') + case 'cd': + return say('This is a read-only session. Try ls.') + case 'echo': + return say(args.join(' ')) + case 'sudo': + return say( + 'dennis is not in the sudoers file. This incident will be reported. Try /contact instead.', + pick('contact') + ) + case 'rm': + return say('Read-only session: nothing was deleted. Nice try, though.') + case 'vim': + case 'vi': + case 'nano': + case 'emacs': + return say('No editors here: this session is read-only.') + case 'exit': + case 'quit': + case 'logout': + return say( + 'There is no exit, but the tab has a close button. To continue with a human, try /contact.', + pick('contact') + ) + case 'man': + return { rerun: '/help' } + case 'git': { + const lines = ROLES.map( + (r) => + `${shortHash(r.id)} ${r.period.padEnd(15)} ${r.title}, ${r.company}` + ) + return { + answer: answer([], [{ t: 'pre', lines }], pick('career', 'stack')), + } + } + default: + return null + } +} + +const SHELL_WORDS = new Set([ + 'ls', + 'cat', + 'pwd', + 'cd', + 'echo', + 'sudo', + 'rm', + 'vim', + 'vi', + 'nano', + 'emacs', + 'exit', + 'quit', + 'logout', + 'man', + 'git', +]) + +// ---------- intents for plain language ---------- + +const INTENTS = [ + { + id: 'greet', + short: true, + words: { + hi: 3, + hello: 3, + hey: 3, + hallo: 3, + moin: 3, + servus: 3, + greeting: 3, + hola: 3, + }, + }, + { + id: 'thanks', + short: true, + words: { thanks: 3, thank: 3, danke: 3, cheers: 3, thx: 3 }, + }, + { + id: 'jailbreak', + words: { jailbreak: 5 }, + phrases: { + 'ignore previous': 5, + 'ignore all': 5, + 'ignore your': 5, + 'system prompt': 5, + 'your instructions': 4, + 'developer mode': 5, + 'reveal your prompt': 5, + 'pretend you': 3, + }, + }, + { + id: 'site', + words: { chatbot: 3, bot: 2, scripted: 3, fake: 2, llm: 0 }, + phrases: { + 'are you real': 4, + 'are you an ai': 5, + 'are you a bot': 5, + 'are you an llm': 5, + 'are you a real': 4, + 'how does this work': 5, + 'how do you work': 5, + 'how was this built': 5, + 'how is this built': 5, + 'what model': 4, + 'which model': 4, + 'who are you': 4, + 'what are you': 4, + 'who built this': 4, + 'source code': 3, + 'this website': 3, + 'this site': 3, + 'this terminal': 3, + 'powered by': 3, + }, + }, + { + id: 'help', + words: { help: 3, command: 3, option: 2, menu: 2 }, + phrases: { + 'what can you do': 5, + 'what can i ask': 5, + 'what do you know': 4, + 'how do i use': 4, + }, + }, + { + id: 'about', + words: { + who: 2, + introduce: 2, + summary: 2, + overview: 2, + bio: 3, + profile: 2, + yourself: 1, + dennis: 2, + thiessen: 2, + about: 1, + }, + phrases: { + 'tell me about dennis': 4, + 'who is dennis': 5, + 'what does he do': 4, + 'what does dennis do': 5, + 'what do you do': 2, + 'how many years': 5, + 'years of experience': 5, + 'how long has': 4, + 'how experienced': 4, + }, + }, + { + id: 'now', + words: { + now: 2, + currently: 3, + current: 2, + today: 2, + present: 1, + working: 2, + lately: 2, + employer: 3, + recent: 1, + }, + phrases: { + 'working on': 4, + 'what is he doing': 4, + 'where does he work': 5, + 'where is he working': 5, + 'who does he work for': 5, + 'current role': 4, + 'current job': 4, + 'current employer': 4, + 'latest role': 4, + }, + }, + { + id: 'experience', + words: { + experience: 3, + career: 3, + role: 3, + job: 3, + history: 2, + worked: 2, + company: 2, + timeline: 3, + resume: 2, + cv: 2, + journey: 2, + route: 2, + employment: 3, + }, + phrases: { + 'walk me through': 3, + 'work history': 4, + 'where has he worked': 5, + 'previous jobs': 4, + }, + }, + { + id: 'stack', + words: { + stack: 3, + skill: 3, + tech: 2, + technology: 3, + tool: 2, + tooling: 2, + expertise: 3, + proficient: 2, + programming: 2, + framework: 2, + strength: 2, + language: 1, + good: 1, + }, + phrases: { + 'what can he do': 3, + 'programming languages': 4, + 'tech stack': 4, + 'what is he good at': 5, + 'best at': 3, + }, + }, + { + id: 'projects', + words: { + project: 3, + portfolio: 3, + built: 1, + build: 1, + github: 3, + showcase: 2, + demo: 2, + example: 2, + accomplishment: 3, + achievement: 3, + proud: 2, + }, + phrases: { + 'side project': 4, + 'what has he built': 5, + 'what did he build': 5, + 'what has dennis built': 5, + 'work samples': 4, + }, + }, + { + id: 'education', + words: { + education: 3, + degree: 3, + university: 3, + studied: 3, + study: 2, + school: 2, + master: 2, + bachelor: 2, + certification: 3, + certificate: 3, + certified: 2, + cert: 3, + diploma: 2, + academic: 2, + college: 2, + thesis: 3, + tongji: 3, + }, + phrases: { 'where did he study': 5 }, + }, + { + id: 'ai', + words: { + ai: 3, + ml: 3, + llm: 3, + genai: 3, + agent: 1, + neural: 2, + mlops: 3, + generative: 2, + artificial: 2, + intelligence: 2, + }, + phrases: { 'machine learning': 4, 'deep learning': 4, 'large language': 3 }, + }, + { + id: 'mentoring', + words: { + mentor: 3, + mentoring: 3, + mentored: 3, + leader: 2, + leadership: 3, + manage: 2, + management: 2, + junior: 3, + supervise: 2, + supervision: 2, + teach: 2, + coach: 2, + onboarding: 2, + lead: 1, + }, + phrases: { 'lead a team': 4, 'people management': 4, 'team player': 2 }, + }, + { + id: 'reliability', + words: { + oncall: 3, + onduty: 3, + incident: 3, + reliability: 3, + monitoring: 2, + alerting: 3, + alert: 3, + ops: 2, + operations: 2, + sre: 3, + observability: 3, + pager: 2, + slo: 2, + uptime: 2, + devops: 2, + }, + }, + { + id: 'testing', + words: { + testing: 3, + test: 2, + quality: 1, + tdd: 3, + unittesting: 3, + qa: 2, + bdd: 0, + }, + }, + { + id: 'languages', + words: { + speak: 3, + spoken: 3, + german: 2, + english: 2, + norwegian: 3, + russian: 3, + bilingual: 3, + native: 2, + }, + phrases: { 'what languages': 2 }, + }, + { + id: 'work', + words: { + based: 2, + location: 3, + relocate: 3, + relocation: 3, + remote: 3, + hybrid: 2, + onsite: 2, + live: 1, + where: 1, + }, + phrases: { + 'where is he': 3, + 'where does he live': 5, + 'where is he based': 5, + }, + }, + { + id: 'contact', + words: { + contact: 3, + email: 3, + mail: 2, + reach: 3, + linkedin: 3, + phone: 3, + call: 2, + hire: 3, + hiring: 3, + recruit: 3, + recruiter: 3, + available: 2, + availability: 3, + salary: 3, + rate: 2, + interview: 2, + connect: 2, + message: 2, + freelance: 3, + opportunity: 2, + vacancy: 3, + }, + phrases: { 'get in touch': 5, 'open to': 3, 'reach out': 4 }, + }, +] + +const MIN_SCORE = 2 + +const scoreIntent = (intent, norm) => { + let s = 0 + for (const [w, weight] of Object.entries(intent.words || {})) + if (norm.set.has(w)) s += weight + for (const [ph, weight] of Object.entries(intent.phrases || {})) + if (hasPhrase(norm.text, ph)) s += weight + return s +} + +export const classify = (norm) => { + let best = null + for (const intent of INTENTS) { + if (intent.short && norm.tokens.length > 3) continue + const s = scoreIntent(intent, norm) + if (s >= MIN_SCORE && (!best || s > best.score)) + best = { id: intent.id, score: s } + } + return best +} + +const runIntent = (id, norm, input) => { + switch (id) { + case 'greet': + return answer( + [], + [p('Hello. Ask about Dennis’s work, or pick one of the suggestions.')], + STARTERS + ) + case 'thanks': + return answer([], [p('Anytime.')], pick('contact', 'projects')) + case 'jailbreak': + return answer( + [], + [ + p( + 'There is no system prompt to leak and no instruction to override. This is a lookup table with good manners. Try /help.' + ), + ], + pick('help', 'site') + ) + case 'site': + return COMMANDS.find((c) => c.name === 'site').run() + case 'help': + return helpAnswer() + case 'about': + return aboutAnswer() + case 'now': + return nowAnswer() + case 'experience': + return experienceAnswer('') + case 'stack': + return stackAnswer('') + case 'projects': + return projectsAnswer('') + case 'education': + return educationAnswer() + case 'ai': + return COMMANDS.find((c) => c.name === 'ai').run() + case 'mentoring': + return topicAnswer('mentoring', pick('career', 'contact')) + case 'reliability': + return topicAnswer('reliability', pick('now', 'play', 'career')) + case 'testing': + return topicAnswer('testing', pick('career', 'stack')) + case 'languages': + return answer( + [trace('Read', 'languages', `${LANGUAGES.length} languages`)], + [{ t: 'kv', rows: LANGUAGES }], + pick('education', 'contact') + ) + case 'work': + return topicAnswer('work', pick('contact', 'career')) + case 'contact': + return contactAnswer(norm) + default: + return fallbackAnswer(input) + } +} + +const routePlain = (input) => { + const norm = normalize(input) + if (!norm.tokens.length) return helpAnswer() + + const skills = findSkills(norm) + if (skills.length) return skillAnswer(skills) + const claim = findNonClaim(norm) + if (claim) return nonClaimAnswer(claim) + + const proj = findProject(norm) + if (proj) return projectsAnswer(proj.id) + const role = findRole(norm) + if (role) return experienceAnswer(role.id) + const intent = classify(norm) + return runIntent(intent ? intent.id : null, norm, input) +} + +// ---------- entry points ---------- + +const sceneAnswer = (scene) => { + const view = sceneView(scene) + const followups = view.done + ? [{ label: 'Play again', cmd: '/oncall' }, FOLLOW.ops, FOLLOW.contact] + : view.choices.map((text, i) => ({ + label: text, + cmd: String(i + 1), + echo: text, + })) + const steps = + scene.node === 'start' ? [trace('Run', 'scenario/alert', 'fictional')] : [] + return { + answer: answer(steps, view.blocks, followups), + scene: view.done ? null : scene, + } +} + +const LEAVE_SCENE = new Set(['/exit', '/quit', '/stop', '/q']) + +// Whole inputs that mean a command, typed without the slash. +const BARE = { + clear: '/clear', + cls: '/clear', + classic: '/classic', + 'classic view': '/classic', + plain: '/classic', + 'plain text': '/classic', + dark: '/theme dark', + 'dark mode': '/theme dark', + light: '/theme light', + 'light mode': '/theme light', + play: '/oncall', + game: '/oncall', +} + +const runCommand = (command, arg) => { + if (command.name === 'oncall') return sceneAnswer(startScene()) + if (command.name === 'clear') + return { answer: null, action: { type: 'clear' } } + if (command.name === 'theme') { + const value = arg.toLowerCase() + if (!arg) + return { + answer: answer([], [p('Theme switched.')]), + action: { type: 'theme', value: 'toggle' }, + } + if (!['light', 'dark'].includes(value)) { + return { + answer: answer([], [p('Use /theme light or /theme dark.')]), + } + } + return { + answer: answer([], [p(`Theme set to ${value}.`)]), + action: { type: 'theme', value }, + } + } + const result = { answer: command.run(arg) } + if (command.name === 'classic') result.action = { type: 'classic' } + return result +} + +const runSlash = (text) => { + const [name = '', ...rest] = text.trim().split(/\s+/) + if (!name) return { answer: helpAnswer() } + const arg = rest.join(' ') + const found = resolveCommand(name) + if (found.command) return runCommand(found.command, arg) + const list = found.ambiguous || found.near || [] + const suggestion = list.length + ? `Did you mean ${list.map((c) => `/${c.name}`).join(' or ')}?` + : 'Type /help to see what is available.' + return { + answer: answer( + [], + [p(`Unknown command /${clean(name)}. ${suggestion}`)], + list.length + ? list.map((c) => ({ label: `/${c.name}`, cmd: `/${c.name}` })) + : pick('help') + ), + } +} + +// `scene` is the active scenario state, or null. Returns { answer, action?, scene }. +export const respond = (rawInput, scene = null) => { + const input = String(rawInput ?? '') + .trim() + .slice(0, MAX_INPUT) + if (!input) return { answer: null, scene } + + if (input.startsWith('/')) { + if (scene && LEAVE_SCENE.has(input.toLowerCase())) { + return { + answer: answer( + [], + [p('Left the scenario.')], + pick('now', 'career', 'projects') + ), + scene: null, + } + } + const out = runSlash(input.slice(1)) + return { scene: null, ...out } + } + + if (scene) { + const next = stepScene(scene, input) + if (!next) { + const n = choiceCount(scene) + return { + answer: answer( + [], + [p(`Choose 1 to ${n}, or type /exit to leave.`)], + sceneAnswer(scene).answer.followups + ), + scene, + } + } + return sceneAnswer(next) + } + + const bare = BARE[normalize(input).text] + if (bare) return respond(bare, null) + + const word = input.split(/\s+/)[0].toLowerCase() + if (SHELL_WORDS.has(word)) { + const out = shell(input) + if (out && out.rerun) return respond(out.rerun, null) + if (out) return { scene: null, ...out } + } + + return { answer: routePlain(input), scene: null } +} + +export const INTRO = { + ...aboutAnswer(), + followups: STARTERS, +} + +export { WELCOME } + +// A plain-text version of an answer: for screen readers and for tests. +export const answerToText = (a) => + a.blocks + .map((b) => { + switch (b.t) { + case 'p': + case 'note': + return plainText(b.text) + case 'list': + case 'choices': + return b.items.map(plainText).join('\n') + case 'kv': + return b.rows.map(([k, v]) => `${k}: ${plainText(v)}`).join('\n') + case 'facts': + return `${b.heading}\n${b.rows.map(([k, v]) => `${k}: ${plainText(v)}`).join('\n')}` + case 'pre': + return b.lines.join('\n') + case 'route': + return b.stops.map((s) => `${s.place} (${s.note})`).join(', ') + case 'timeline': + return b.items + .map((r) => `${r.period}: ${r.title}, ${r.company}. ${r.summary}`) + .join('\n') + case 'tiers': + return b.groups + .map((g) => `${g.label}: ${g.items.join(', ')}`) + .join('\n') + case 'skills': + return b.items + .map((s) => `${s.name} (${s.tier}): ${s.note}`) + .join('\n') + case 'projects': + return b.groups + .flatMap((g) => + g.items.map((i) => `${i.name}, ${i.period}: ${i.blurb}`) + ) + .join('\n') + case 'detail': + return [ + b.title, + b.meta.join(', '), + b.note, + ...(b.body || []), + ...(b.points || []), + b.scope, + (b.stack || []).join(', '), + ] + .filter(Boolean) + .map(plainText) + .join('\n') + case 'commands': + return b.rows.map((r) => `${r.usage}: ${r.hint}`).join('\n') + case 'ending': + return `${b.title}. ${b.text}` + default: + return '' + } + }) + .filter(Boolean) + .join('\n\n') diff --git a/src/agent/inline.mjs b/src/agent/inline.mjs new file mode 100644 index 0000000..3062cad --- /dev/null +++ b/src/agent/inline.mjs @@ -0,0 +1,38 @@ +// Inline markup for answer text: **bold**, `code` and [label](href). + +const TOKEN = /\*\*(.+?)\*\*|`([^`]+)`|\[([^\]]+)\]\(([^)]+)\)/g + +export const parseInline = (text) => { + const out = [] + let last = 0 + for (const m of text.matchAll(TOKEN)) { + if (m.index > last) out.push({ k: 'text', v: text.slice(last, m.index) }) + if (m[1] !== undefined) out.push({ k: 'strong', v: m[1] }) + else if (m[2] !== undefined) out.push({ k: 'code', v: m[2] }) + else out.push({ k: 'link', v: m[3], href: m[4] }) + last = m.index + m[0].length + } + if (last < text.length) out.push({ k: 'text', v: text.slice(last) }) + return out +} + +export const plainText = (text) => + parseInline(text) + .map((seg) => seg.v) + .join('') + +// Keep only the first `count` visible characters, for the typing effect. +export const takeChars = (segments, count) => { + const out = [] + let left = count + for (const seg of segments) { + if (left <= 0) break + out.push(seg.v.length <= left ? seg : { ...seg, v: seg.v.slice(0, left) }) + left -= seg.v.length + } + return out +} + +// The only link targets the terminal will render as links. +export const isSafeHref = (href) => + /^(https:\/\/|mailto:|#classic$)/i.test(href) diff --git a/src/agent/oncall.mjs b/src/agent/oncall.mjs new file mode 100644 index 0000000..e36966c --- /dev/null +++ b/src/agent/oncall.mjs @@ -0,0 +1,156 @@ +// A short choose-your-path scene. It is fiction, not an incident log: it only shows how +// Dennis cares about reliability (diagnose before re-running, idempotent jobs, a check +// for every incident). + +const NODES = { + start: { + text: [ + 'A data-quality alert fires on one of your pipelines: today’s partition has far fewer rows than the usual range. The dashboards that read this table refresh soon.', + 'This is a fictional scenario. What do you do first?', + ], + choices: [ + { text: 'Re-run the job right away.', next: 'rerun' }, + { + text: 'Compare against the source: row counts, schema, arrival time.', + next: 'inspect', + }, + { text: 'Silence the alert and look again tomorrow.', next: 'silence' }, + ], + }, + rerun: { + text: [ + 'The re-run finishes with the same low count. The partition has now been overwritten twice, and the evidence from the first run is gone. A re-run is not a diagnosis.', + ], + choices: [ + { + text: 'Stop and compare against the source.', + next: 'inspect', + detour: true, + }, + { text: 'Re-run once more, in case it was a fluke.', next: 'paged' }, + ], + }, + silence: { + text: [ + 'An hour later a stakeholder asks why the dashboard looks wrong. The alert did its job. You muted it.', + ], + choices: [ + { + text: 'Reopen the alert and compare against the source.', + next: 'inspect', + detour: true, + }, + { text: 'Tell them it will probably fix itself.', next: 'paged' }, + ], + }, + inspect: { + text: [ + 'The source row counts are normal. The extract landed two hours late, and the job read a partial file.', + ], + choices: [ + { + text: 'Wait for the full extract, confirm the job is idempotent, then re-run.', + next: 'fixed', + }, + { + text: 'Patch the target table by hand so the numbers look right.', + next: 'patch', + }, + ], + }, + patch: { + text: [ + 'The numbers look right until the next load, when the hand-patched rows collide with the real ones. A manual edit to a pipeline’s output is debt with interest.', + ], + choices: [ + { + text: 'Revert it, wait for the full extract and re-run.', + next: 'fixed', + detour: true, + }, + ], + }, + fixed: { + text: [ + 'Counts are back in the usual range. The ticket gets the timeline, the cause and a follow-up. What is the follow-up?', + ], + choices: [ + { + text: 'A completeness check on the source file, before the job starts.', + next: 'end-check', + }, + { text: 'None. Close the ticket and move on.', next: 'end-open' }, + ], + }, +} + +const ENDINGS = { + 'end-check': (detours) => + detours === 0 + ? { + title: 'Clean recovery', + text: 'You diagnosed first, kept the re-run safe and turned the incident into a check.', + } + : { + title: 'Recovered, with a detour', + text: 'You got there, and the check means the next late file stops at the door.', + }, + 'end-open': () => ({ + title: 'Recovered, and it will page again', + text: 'The data is fixed, the cause is not. Next late extract, same alert.', + }), + paged: () => ({ + title: 'Escalated by a stakeholder', + text: 'The problem found you before the monitoring did the job it was built for.', + }), +} + +const MORAL = + 'The takeaway: diagnose before you re-run, keep jobs idempotent so a re-run is safe, and turn every incident into a check. It is the kind of reliability Dennis cares about.' + +export const startScene = () => ({ id: 'oncall', node: 'start', detours: 0 }) + +// Turn a scene state into the blocks to show and the choices to offer. +export const sceneView = (scene) => { + const node = NODES[scene.node] + if (node) { + return { + blocks: [ + ...node.text.map((text) => ({ t: 'p', text })), + { t: 'choices', items: node.choices.map((c) => c.text) }, + ], + choices: node.choices.map((c) => c.text), + done: false, + } + } + const end = ENDINGS[scene.node](scene.detours) + return { + blocks: [ + { t: 'ending', title: end.title, text: end.text }, + { t: 'p', text: MORAL }, + ], + choices: [], + done: true, + } +} + +// Pick a choice by number or by words from its text. Returns the next scene, or null. +export const stepScene = (scene, input) => { + const node = NODES[scene.node] + if (!node) return null + const text = input.trim().toLowerCase() + let index = /^\d+$/.test(text) ? Number(text) - 1 : -1 + if (index < 0) { + index = node.choices.findIndex((c) => c.text.toLowerCase() === text) + } + const choice = node.choices[index] + if (!choice) return null + return { + ...scene, + node: choice.next, + detours: scene.detours + (choice.detour ? 1 : 0), + } +} + +export const choiceCount = (scene) => + NODES[scene.node] ? NODES[scene.node].choices.length : 0 diff --git a/src/assets/images/.gitignore b/src/assets/images/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/src/assets/images/profile_image.jpg b/src/assets/images/profile_image.jpg deleted file mode 100644 index 527fe26241151ee3edec9b9f9c1ead39127607d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284244 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 diff --git a/src/assets/images/website-icon-dt.png b/src/assets/images/website-icon-dt.png deleted file mode 100755 index 297b9127c2987f16034a59a6c6e668c845d2b746..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21687 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 .entry--agent:first-of-type { animation: fade 0.5s ease-out both; } + +.transcript > .entry--agent:first-of-type { animation-delay: 0.12s; } + +/* ---------- answer blocks ---------- */ + +.unit { min-width: 0; } + +.b-p { + margin: 0.4rem 0 1rem; + max-width: 78ch; + color: var(--ink); +} + +.b-p strong { color: var(--ink); font-weight: 700; } + +.b-p a, .b-note a, .pairs a { + color: var(--link); + text-underline-offset: 3px; +} + +.b-p code, .b-note code { + padding: 0.05em 0.4em; + background: var(--mist); + border-radius: 4px; + font-size: 0.92em; +} + +.b-note { + margin: 0.35rem 0 1rem; + max-width: 78ch; + color: var(--graphite-2); + font-size: 0.84em; + line-height: 1.6; +} + +.b-list { + list-style: none; + margin: 0.4rem 0 1rem; + padding: 0; + max-width: 80ch; +} + +.b-list li { position: relative; margin: 0.45rem 0; padding-left: 1.3rem; } + +.b-list li::before { + content: '-'; + position: absolute; + left: 0.1rem; + top: 0; + color: var(--signal); +} + +.b-choices { margin: 0.5rem 0 1rem; padding-left: 1.7rem; max-width: 78ch; } + +.b-choices li { margin: 0.45rem 0; padding-left: 0.2rem; } + +.b-choices li::marker { color: var(--amber); font-weight: 700; } + +.b-pre { + margin: 0.4rem 0 1rem; + font: inherit; + line-height: 1.6; + white-space: pre-wrap; + overflow-wrap: anywhere; +} + +/* key / value rows */ + +.pairs { + display: grid; + grid-template-columns: minmax(0, 9rem) minmax(0, 1fr); + gap: 0.4rem 1.25rem; + margin: 0.5rem 0 1rem; + max-width: 78ch; +} + +.pairs dt { color: var(--graphite-2); font-size: 0.85em; } + +.pairs dd { margin: 0; } + +.b-facts { margin: 0.9rem 0 0.4rem; max-width: 78ch; } + +.b-facts h3 { + margin: 0; + font-family: var(--font-display); + font-size: 1.05rem; + font-weight: 600; + letter-spacing: -0.01em; +} + +.b-facts .pairs { grid-template-columns: 1fr; gap: 0; margin: 0.2rem 0 0.8rem; } + +.b-facts dt { + margin-top: 0.7rem; + color: var(--ink); + font-size: 1em; + font-weight: 500; + line-height: 1.45; +} + +.b-facts dd { margin: 0.05rem 0 0; color: var(--graphite); font-size: 0.88em; } + +/* the route and the timeline */ + +.b-route { + display: flex; + flex-wrap: wrap; + gap: 0.5rem 0; + margin: 0.5rem 0 1.5rem; + padding: 0; + list-style: none; +} + +.b-route li { + position: relative; + display: flex; + flex-direction: column; + padding-right: 1.6rem; +} + +.b-route li:not(:last-child)::after { + content: ''; + position: absolute; + right: 0.4rem; + top: 0.85em; + width: 0.8rem; + border-top: 1px dashed var(--graphite-2); +} + +.b-route__place { color: var(--ink); font-weight: 700; font-size: 0.9em; line-height: 1.5; } + +.b-route__note { color: var(--graphite-2); font-size: 0.72em; } + +.b-timeline { list-style: none; margin: 1rem 0 1.25rem; padding: 0; } + +.b-timeline li { + display: grid; + grid-template-columns: 1.25rem minmax(0, 1fr); + column-gap: 1rem; +} + +.b-timeline__rail { position: relative; } + +.b-timeline__rail::before { + content: ''; + position: absolute; + left: 50%; + top: 0; + bottom: 0; + width: 1px; + background: var(--rule); + transform: translateX(-50%); +} + +.b-timeline li:first-child .b-timeline__rail::before { top: 0.7rem; } +.b-timeline li:last-child .b-timeline__rail::before { bottom: auto; height: 0.7rem; } + +.b-timeline__node { + position: absolute; + left: 50%; + top: 0.7rem; + z-index: 1; + width: 9px; + height: 9px; + background: var(--paper); + border: 1.5px solid var(--graphite); + border-radius: 50%; + transform: translate(-50%, -50%); +} + +.b-timeline .is-current .b-timeline__node { + background: var(--signal); + border-color: var(--signal); + box-shadow: 0 0 0 4px var(--signal-weak); + animation: pulse 2.6s ease-in-out infinite; +} + +.b-timeline__body { padding-bottom: 1.9rem; } +.b-timeline li:last-child .b-timeline__body { padding-bottom: 0; } + +.b-timeline p { margin: 0; } + +.b-timeline__when { color: var(--graphite-2); font-size: 0.78em; line-height: 1.6; } + +.b-timeline .is-current .b-timeline__when { color: var(--signal); } + +.b-timeline__who { + display: flex; + flex-wrap: wrap; + align-items: baseline; + gap: 0.2rem 0.8rem; + margin-top: 0.15rem; +} + +.b-timeline__who .open { + font-family: var(--font-display); + font-size: 1.3rem; + letter-spacing: -0.015em; +} + +.b-timeline__place { color: var(--graphite-2); font-size: 0.76em; } + +.b-timeline__title { margin-top: 0.15rem; color: var(--ink); font-weight: 700; font-size: 0.92em; } + +.b-timeline__sum { margin-top: 0.3rem; max-width: 68ch; color: var(--graphite); font-size: 0.92em; } + +/* links that run a command */ + +.open { + padding: 0; + background: none; + border: 0; + border-bottom: 1.5px solid var(--graphite-2); + color: var(--ink); + font-weight: 700; + text-align: left; + cursor: pointer; + transition: color 0.15s ease, border-color 0.15s ease; +} + +.open:hover { color: var(--signal); border-bottom-color: var(--signal); } + +/* the stack, by how it was used */ + +.b-tiers { margin: 0.75rem 0 0.5rem; } + +.b-tiers__row { + display: grid; + grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); + gap: 0.4rem 1.5rem; + padding: 0.85rem 0; + border-top: 1px solid var(--rule); +} + +.b-tiers dt { color: var(--ink); font-weight: 700; font-size: 0.88em; line-height: 1.45; } + +.b-tiers dt span { display: block; margin-top: 0.15rem; color: var(--graphite-2); font-weight: 400; font-size: 0.88em; } + +.b-tiers dd { + display: flex; + align-items: flex-start; + align-content: flex-start; + flex-wrap: wrap; + gap: 0.25rem 0.5rem; + margin: 0; + font-size: 0.82em; + line-height: 1.8; +} + +.b-tiers dd span { + padding: 0 0.5rem; + background: var(--mist); + border: 1px solid var(--rule); + border-radius: 4px; +} + +.b-skills { list-style: none; margin: 0.5rem 0 0.8rem; padding: 0; max-width: 80ch; } + +.b-skills li { padding: 0.7rem 0; border-top: 1px solid var(--rule); } + +.b-skills li:first-child { padding-top: 0; border-top: 0; } + +.b-skills p { margin: 0; } + +.b-skills__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 1rem; } + +.b-skills__head strong { color: var(--ink); } + +.b-skills__head span { color: var(--signal); font-size: 0.78em; } + +.b-skills li p:last-child { margin-top: 0.15rem; color: var(--graphite); font-size: 0.92em; } + +/* projects */ + +.b-projects { margin: 0.5rem 0 0.5rem; } + +.b-projects section + section { margin-top: 1.6rem; } + +.b-projects h3 { + margin: 0 0 0.3rem; + font-family: var(--font-display); + font-size: 0.95rem; + font-weight: 600; + color: var(--graphite); +} + +.b-projects ul { list-style: none; margin: 0; padding: 0; } + +.b-projects li { padding: 0.8rem 0; border-top: 1px solid var(--rule); } + +.b-projects p { margin: 0; } + +.b-projects__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; } + +.b-projects__head span { flex: none; color: var(--graphite-2); font-size: 0.76em; } + +.b-projects li p:last-child { margin-top: 0.25rem; max-width: 74ch; color: var(--graphite); font-size: 0.9em; } + +/* one role or project in detail */ + +.b-detail { max-width: 80ch; margin: 0.25rem 0 1rem; } + +.b-detail h3 { + margin: 0 0 0.3rem; + font-family: var(--font-display); + font-weight: 600; + font-size: 1.45rem; + line-height: 1.2; + letter-spacing: -0.02em; +} + +.b-detail p { margin: 0 0 0.8rem; } + +.b-detail .b-note { margin: 0.1rem 0 0.8rem; } + +.b-detail__meta { + display: flex; + flex-wrap: wrap; + gap: 0.2rem 1.1rem; + color: var(--graphite-2); + font-size: 0.78em; +} + +.tags { + display: flex; + flex-wrap: wrap; + gap: 0.4rem; + margin: 0.9rem 0 0; + padding: 0; + list-style: none; +} + +.tags li { + padding: 0 0.55rem; + background: var(--mist); + border: 1px solid var(--rule); + border-radius: 4px; + font-size: 0.78em; + line-height: 1.8; +} + +.b-commands { + display: grid; + grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); + gap: 0.35rem 1.25rem; + margin: 0.5rem 0 1rem; +} + +.b-commands dt { color: var(--signal); font-weight: 700; } + +.b-commands dd { margin: 0; color: var(--graphite); } + +.b-ending { + margin: 0.8rem 0; + padding: 0.15rem 0 0.15rem 1rem; + border-left: 3px solid var(--amber); +} + +.b-ending p { margin: 0; } + +.b-ending__title { + color: var(--amber); + font-family: var(--font-display); + font-weight: 600; + font-size: 1.2rem; + letter-spacing: -0.015em; +} + +/* ---------- composer ---------- */ + +.composer { + position: sticky; + bottom: 0; + z-index: 5; + padding: 0.8rem 0 calc(0.9rem + env(safe-area-inset-bottom)); + background: var(--paper); + border-top: 1px solid var(--rule); +} + +.chips { + display: flex; + gap: 0.5rem; + min-height: 3.1rem; + padding: 0.1rem 0 0.7rem; + overflow-x: auto; + overscroll-behavior-x: contain; + scrollbar-width: none; +} + +.chips::-webkit-scrollbar { display: none; } + +.chip { + flex: none; + padding: 0.35rem 0.8rem; + background: transparent; + border: 1px solid var(--rule); + border-radius: 6px; + color: var(--graphite); + font-family: var(--font-mono); + font-size: 0.78rem; + line-height: 1.4; + white-space: nowrap; + cursor: pointer; + transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease; +} + +.chip:hover { border-color: var(--signal); color: var(--signal); background: var(--signal-weak); } + +.chip--skip { border-style: dashed; } + +.prompt-wrap { position: relative; } + +.prompt { + display: flex; + align-items: center; + gap: 0.3rem; + padding: 0.3rem 0.35rem 0.3rem 0.85rem; + background: var(--paper-2); + border: 1px solid var(--rule); + border-radius: 10px; + box-shadow: inset 0 1px 0 var(--sheen); + transition: border-color 0.15s ease, box-shadow 0.15s ease; +} + +.prompt:focus-within { + border-color: var(--signal); + box-shadow: 0 0 0 3px var(--signal-weak); +} + +.prompt input { + flex: 1; + min-width: 0; + padding: 0.55rem 0; + background: transparent; + border: 0; + outline: none; + caret-color: var(--signal); + caret-shape: block; + color: var(--ink); + font-family: var(--font-mono); + font-size: 16px; +} + +.prompt input::placeholder { color: var(--graphite-2); opacity: 1; } + +.send { + padding: 0.5rem 0.95rem; + background: var(--signal); + border: 0; + border-radius: 7px; + color: var(--paper); + font-family: var(--font-mono); + font-size: 0.78rem; + font-weight: 700; + cursor: pointer; + transition: filter 0.15s ease; +} + +.send:hover { filter: brightness(1.12); } + +.menu { + position: absolute; + right: 0; + bottom: calc(100% + 0.4rem); + left: 0; + max-height: 40vh; + margin: 0; + padding: 0.3rem; + overflow-y: auto; + background: var(--paper-2); + border: 1px solid var(--rule); + border-radius: 10px; + box-shadow: 0 14px 36px rgba(0, 0, 0, 0.45); +} + +.menu [role='option'] { + display: grid; + grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); + gap: 0.3rem 1rem; + padding: 0.4rem 0.6rem; + border-radius: 6px; + cursor: pointer; +} + +.menu [role='option'].is-active { background: var(--signal-weak); } + +.menu__name { color: var(--signal); font-size: 0.82rem; font-weight: 700; } + +.menu__hint { color: var(--graphite); font-size: 0.8rem; } + +/* ---------- plain page ---------- */ .wrap { width: 100%; @@ -72,56 +844,15 @@ a { color: inherit; } position: sticky; top: 2rem; align-self: start; + margin: 0; font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.22em; - text-transform: uppercase; + font-size: 0.78rem; + font-weight: 400; color: var(--graphite-2); } -/* ---------- top bar ---------- */ - -.topbar { - display: flex; - align-items: center; - justify-content: space-between; - gap: 1rem; - padding: 1.75rem 0; - font-family: var(--font-mono); - font-size: 0.74rem; - letter-spacing: 0.08em; -} - -.topbar__name { color: var(--ink); text-transform: uppercase; } - -.topbar__place { - color: var(--graphite); - text-transform: uppercase; - letter-spacing: 0.16em; -} - -@keyframes pulse { - 0%, 100% { box-shadow: 0 0 0 4px var(--signal-weak); } - 50% { box-shadow: 0 0 0 7px rgba(31, 68, 240, 0.03); } -} - -/* ---------- hero ---------- */ - .hero { - display: grid; - grid-template-columns: minmax(0, 1fr) auto; - gap: clamp(2rem, 5vw, 4rem); - align-items: center; - padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(3.5rem, 7vw, 5.5rem); -} - -.eyebrow { - font-family: var(--font-mono); - font-size: 0.74rem; - letter-spacing: 0.2em; - text-transform: uppercase; - color: var(--graphite-2); - margin: 0 0 1.5rem; + padding: clamp(1.5rem, 4vw, 2.5rem) 0 clamp(3.5rem, 7vw, 5.5rem); } .hero__name { @@ -159,7 +890,8 @@ a { color: inherit; } margin: 2.25rem 0 0; } -.actions a { +.actions a, +.contact__links a { font-weight: 500; color: var(--ink); text-decoration: none; @@ -168,22 +900,8 @@ a { color: inherit; } transition: color 0.15s ease, border-color 0.15s ease; } -.actions a:hover { color: var(--signal); border-color: var(--signal); } - -.portrait { - width: 200px; - max-width: 100%; -} - -.portrait img { - width: 100%; - aspect-ratio: 4 / 5; - object-fit: cover; - border-radius: 6px; - border: 1px solid var(--mist); -} - -/* ---------- profile ---------- */ +.actions a:hover, +.contact__links a:hover { color: var(--signal); border-color: var(--signal); } .prose p { margin: 0 0 1.25rem; @@ -194,20 +912,16 @@ a { color: inherit; } .prose p:last-child { margin-bottom: 0; } -.prose strong { color: var(--ink); font-weight: 600; } - -/* ---------- experience timeline (the signature) ---------- */ - .experience__route { font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.05em; + font-size: 0.74rem; + letter-spacing: 0.02em; line-height: 1.9; color: var(--graphite-2); margin: 0 0 2.5rem; } -.roles { list-style: none; margin: 0; padding: 0; } +.roles { list-style: none; margin: 0 0 2rem; padding: 0; } .role { display: grid; @@ -256,8 +970,8 @@ a { color: inherit; } .role__year { font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.08em; + font-size: 0.74rem; + letter-spacing: 0.04em; color: var(--graphite-2); margin: 0 0 0.5rem; } @@ -281,8 +995,7 @@ a { color: inherit; } .role__loc { font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.06em; + font-size: 0.74rem; color: var(--graphite-2); } @@ -298,8 +1011,6 @@ a { color: inherit; } max-width: 58ch; } -/* ---------- stack ---------- */ - .stack { display: flex; flex-direction: column; gap: 1.6rem; } .group { @@ -314,14 +1025,14 @@ a { color: inherit; } .stack .group:last-child { border-bottom: 0; padding-bottom: 0; } .group__label { + margin: 0; font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.14em; - text-transform: uppercase; + font-size: 0.76rem; color: var(--graphite-2); } .group__tags { + margin: 0; font-family: var(--font-mono); font-size: 0.82rem; line-height: 1.95; @@ -330,8 +1041,6 @@ a { color: inherit; } .group__tags .t { color: var(--ink); } -/* ---------- contact ---------- */ - .contact__intro { color: var(--graphite); max-width: 50ch; @@ -359,19 +1068,6 @@ a { color: inherit; } margin: 2rem 0 0; } -.contact__links a { - font-weight: 500; - color: var(--ink); - text-decoration: none; - border-bottom: 1.5px solid var(--ink); - padding-bottom: 2px; - transition: color 0.15s ease, border-color 0.15s ease; -} - -.contact__links a:hover { color: var(--signal); border-color: var(--signal); } - -/* ---------- colophon ---------- */ - .colophon { display: flex; flex-wrap: wrap; @@ -380,25 +1076,34 @@ a { color: inherit; } padding: 2.25rem 0 3.5rem; border-top: 1px solid var(--mist); font-family: var(--font-mono); - font-size: 0.7rem; - letter-spacing: 0.08em; - text-transform: uppercase; + font-size: 0.72rem; + letter-spacing: 0.04em; color: var(--graphite-2); } /* ---------- 404 ---------- */ -.notfound { padding: clamp(4rem, 12vw, 9rem) 0; } +.notfound { padding-block: clamp(4rem, 12vw, 9rem); } + +.notfound__cmd { + display: flex; + align-items: baseline; + gap: 0.55rem; + margin: 0 0 1.25rem; + font-family: var(--font-mono); + font-size: 0.92rem; +} .notfound h1 { font-family: var(--font-display); font-weight: 600; - font-size: clamp(2.5rem, 8vw, 5rem); + font-size: clamp(2.2rem, 7vw, 4rem); letter-spacing: -0.03em; + line-height: 1.1; margin: 0 0 1rem; } -.notfound p { color: var(--graphite); max-width: 40ch; } +.notfound p { color: var(--graphite); max-width: 44ch; } .notfound a { color: var(--ink); @@ -411,6 +1116,10 @@ a { color: inherit; } /* ---------- responsive ---------- */ +@media (min-width: 700px) { + .chips { flex-wrap: wrap; overflow: visible; min-height: 0; } +} + @media (max-width: 820px) { .section { grid-template-columns: 1fr; gap: 1.5rem; } .section__label { position: static; top: auto; } @@ -418,21 +1127,16 @@ a { color: inherit; } } @media (max-width: 680px) { - .hero { - grid-template-columns: 1fr; - gap: 2.5rem; - } - .portrait { justify-self: start; order: -1; width: 140px; } - .portrait img { aspect-ratio: 1 / 1; } + .b-tiers__row { grid-template-columns: 1fr; } + .pairs, .b-commands { grid-template-columns: 1fr; gap: 0.1rem; } + .pairs dd, .b-commands dd { margin-bottom: 0.6rem; } + .menu [role='option'] { grid-template-columns: 1fr; gap: 0; } } @media (max-width: 520px) { - .topbar { flex-wrap: wrap; gap: 0.4rem 1rem; } -} - -@media (max-width: 460px) { - .topbar { font-size: 0.68rem; letter-spacing: 0.05em; } - .topbar__place { letter-spacing: 0.12em; } + .welcome { padding: 1.1rem; } + .chrome__id span { display: none; } + .b-projects__head { flex-direction: column; gap: 0.1rem; } } /* ---------- motion ---------- */ diff --git a/src/components/Classic.jsx b/src/components/Classic.jsx new file mode 100644 index 0000000..0ffd348 --- /dev/null +++ b/src/components/Classic.jsx @@ -0,0 +1,163 @@ +import React from 'react' + +import { + CERTIFICATIONS, + EDUCATION, + IDENTITY, + LANGUAGES, + ROLES, + ROUTE, + SKILLS, + SUMMARY, + TIERS, +} from '../data/profile.mjs' + +const Groups = ({ groups }) => ( +
+ {groups.map((group) => ( +
+

{group.label}

+

+ {group.items.map((item, i) => ( + + {i > 0 && ' · '} + {item} + + ))} +

+
+ ))} +
+) + +const SKILL_GROUPS = TIERS.map((tier) => ({ + label: tier.label, + items: SKILLS.filter((s) => s.tier === tier.id && s.listed !== false).map( + (s) => s.name + ), +})).filter((g) => g.items.length) + +const CREDENTIAL_GROUPS = [ + { label: 'Education', items: EDUCATION.map((e) => e.title) }, + { + label: 'Certifications', + items: CERTIFICATIONS.map((c) => `${c.name} (${c.year})`), + }, + { + label: 'Languages', + items: LANGUAGES.map(([name, level]) => `${name}, ${level}`), + }, +] + +// The same facts as the terminal, laid out as a page. It is also what search engines and +// visitors without JavaScript get. +const Classic = () => ( +
+) + +export default Classic diff --git a/src/components/Shell.jsx b/src/components/Shell.jsx new file mode 100644 index 0000000..04b084b --- /dev/null +++ b/src/components/Shell.jsx @@ -0,0 +1,112 @@ +import React, { useCallback, useEffect, useState } from 'react' + +import { IDENTITY } from '../data/profile.mjs' +import Classic from './Classic' +import Terminal from './Terminal' + +// Dark is the design; light is an opt-in that is remembered between visits. +const readTheme = () => { + try { + return window.localStorage.getItem('theme') === 'light' ? 'light' : 'dark' + } catch (e) { + return 'dark' + } +} + +const applyTheme = (theme) => { + const root = document.documentElement + if (theme === 'light') root.setAttribute('data-theme', 'light') + else root.removeAttribute('data-theme') + try { + if (theme === 'light') window.localStorage.setItem('theme', 'light') + else window.localStorage.removeItem('theme') + } catch (e) { + // Storage can be blocked; the theme then simply lasts for this visit. + } +} + +// The page frame: a header, the terminal, and the plain view behind a toggle. Both views +// stay mounted so switching back keeps the conversation. +const Shell = () => { + const [view, setView] = useState('terminal') + const [theme, setTheme] = useState('dark') + + useEffect(() => { + setTheme(readTheme()) + if (window.location.hash === '#classic') setView('classic') + }, []) + + const chooseTheme = useCallback((next) => { + applyTheme(next) + setTheme(next) + }, []) + + const toggleTheme = useCallback(() => { + chooseTheme(theme === 'light' ? 'dark' : 'light') + }, [theme, chooseTheme]) + + const showView = useCallback((next) => { + setView(next) + try { + window.history.replaceState( + null, + '', + next === 'classic' ? '#classic' : window.location.pathname + ) + } catch (e) { + // Rewriting the hash is optional. + } + window.scrollTo(0, 0) + }, []) + + const nav = useCallback( + (action) => { + if (action.type === 'classic') showView('classic') + if (action.type === 'theme') { + if (action.value === 'toggle') toggleTheme() + else chooseTheme(action.value) + } + }, + [showView, toggleTheme, chooseTheme] + ) + + return ( +
+
+

+ {IDENTITY.name} + {IDENTITY.location} +

+ +
+ +
+ + +
+
+ ) +} + +export default Shell diff --git a/src/components/Terminal.jsx b/src/components/Terminal.jsx new file mode 100644 index 0000000..793c949 --- /dev/null +++ b/src/components/Terminal.jsx @@ -0,0 +1,499 @@ +import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react' + +import { + answerToText, + completions, + INTRO, + respond, + STARTERS, + WELCOME, +} from '../agent/engine.mjs' +import { plainText } from '../agent/inline.mjs' +import { Block } from './blocks' + +const TICK = 16 +const DWELL_TRACE = 240 +const DWELL_BLOCK = 150 + +const prefersReducedMotion = () => + typeof window !== 'undefined' && + window.matchMedia('(prefers-reduced-motion: reduce)').matches + +const isTouch = () => + typeof window !== 'undefined' && + window.matchMedia('(pointer: coarse)').matches + +const Welcome = () => ( +
+

{WELCOME.boot}

+

{WELCOME.headline}

+ {WELCOME.lines.map((line) => ( +

{line}

+ ))} +

{WELCOME.hint}

+
+) + +const UserEntry = ({ text }) => ( +
+
+) + +// One answer. While `animate` is set it reveals its tool calls and blocks one at a time and +// types out paragraphs. A skip, or reduced motion, shows everything at once. +const AgentEntry = ({ entry, skipToken, onDone, onTick, run, nav }) => { + const units = useMemo( + () => [ + ...entry.trace.map((t) => ({ kind: 'trace', t })), + ...entry.blocks.map((b) => ({ kind: 'block', b })), + ], + [entry] + ) + const [step, setStep] = useState(entry.animate ? 0 : units.length) + const [typed, setTyped] = useState({ step: -1, n: 0 }) + const done = step >= units.length + + const lastSkip = useRef(skipToken) + useEffect(() => { + if (skipToken !== lastSkip.current) { + lastSkip.current = skipToken + setStep(units.length) + } + }, [skipToken, units.length]) + + useEffect(() => { + if (done) return undefined + const unit = units[step] + let timer + if (unit.kind === 'block' && unit.b.t === 'p') { + const length = plainText(unit.b.text).length + const perTick = Math.max(2, Math.ceil(length / 90)) + let n = 0 + timer = setInterval(() => { + n += perTick + setTyped({ step, n }) + onTick() + if (n >= length) { + clearInterval(timer) + timer = setTimeout(() => setStep((s) => s + 1), DWELL_BLOCK) + } + }, TICK) + } else { + onTick() + timer = setTimeout( + () => setStep((s) => s + 1), + unit.kind === 'trace' ? DWELL_TRACE : DWELL_BLOCK + ) + } + return () => { + clearInterval(timer) + clearTimeout(timer) + } + }, [step, done, units, onTick]) + + const finished = useRef(false) + useEffect(() => { + if (done && entry.animate && !finished.current) { + finished.current = true + onDone(entry) + } + }, [done, entry, onDone]) + + const shown = done ? units.length : step + 1 + return ( +
+ {units.slice(0, shown).map((unit, i) => { + const current = !done && i === step + if (unit.kind === 'trace') { + return ( +
+

+

+

+

+
+ ) + } + const typing = current && unit.b.t === 'p' + const limit = typing ? (typed.step === step ? typed.n : 0) : undefined + return ( +
+ +
+ ) + })} +
+ ) +} + +const Terminal = ({ nav, active }) => { + const [entries, setEntries] = useState(() => [ + { id: 0, kind: 'welcome' }, + { id: 1, kind: 'agent', ...INTRO, animate: false }, + ]) + const [followups, setFollowups] = useState(INTRO.followups) + const [scene, setScene] = useState(null) + const [busy, setBusy] = useState(false) + const [skipToken, setSkipToken] = useState(0) + const [value, setValue] = useState('') + const [focused, setFocused] = useState(false) + const [menuIndex, setMenuIndex] = useState(0) + const [announce, setAnnounce] = useState('') + + const inputRef = useRef(null) + const nextId = useRef(2) + const sceneRef = useRef(null) + const navRef = useRef(nav) + const activeRef = useRef(active) + const history = useRef({ list: [], at: -1, draft: '' }) + const stick = useRef(true) + + navRef.current = nav + activeRef.current = active + + // Recalling an earlier command from history should not open the command menu over it. + const [recalling, setRecalling] = useState(false) + const items = useMemo( + () => + focused && !recalling + ? completions(value).filter((c) => c.insert !== value) + : [], + [focused, recalling, value] + ) + + // Follow the output while the visitor has not scrolled away from the bottom. + useEffect(() => { + const onScroll = () => { + stick.current = + window.innerHeight + window.scrollY >= + document.documentElement.scrollHeight - 160 + } + window.addEventListener('scroll', onScroll, { passive: true }) + return () => window.removeEventListener('scroll', onScroll) + }, []) + + const scrollToEnd = useCallback(() => { + if (!stick.current || !activeRef.current) return + window.requestAnimationFrame(() => + window.scrollTo(0, document.documentElement.scrollHeight) + ) + }, []) + + const focusInput = useCallback(() => { + if (!isTouch() && inputRef.current) + inputRef.current.focus({ preventScroll: true }) + }, []) + + const syncHash = useCallback((input) => { + try { + const keep = + input.startsWith('/') && + !/^\/(clear|cls|theme|classic|plain|cv|text|exit|quit|stop|q)\b/i.test( + input + ) + const url = + window.location.pathname + + window.location.search + + (keep ? `#${input.replace(/\s+/g, '%20')}` : '') + window.history.replaceState(null, '', url) + } catch (e) { + // The hash is a convenience; ignore browsers that refuse to rewrite it. + } + }, []) + + // A skipped answer reports back after the next question may already have started. + const latest = useRef(1) + const finish = useCallback((entry) => { + if (entry.id !== latest.current) return + setBusy(false) + setFollowups(entry.followups) + setAnnounce(answerToText(entry).slice(0, 1800)) + }, []) + + const run = useCallback( + (raw, echo) => { + const input = String(raw).trim() + if (!input) return + setSkipToken((t) => t + 1) + latest.current = -1 + + const inScene = sceneRef.current !== null + const out = respond(input, sceneRef.current) + sceneRef.current = out.scene + setScene(out.scene) + stick.current = true + + if (out.action) { + if (out.action.type === 'clear') { + latest.current = -1 + setEntries([]) + setFollowups(STARTERS) + setBusy(false) + return + } + if (out.action.type === 'theme') + navRef.current({ type: 'theme', value: out.action.value }) + if (out.action.type === 'classic') navRef.current({ type: 'classic' }) + } + + const h = history.current + // A numbered game choice is not worth recalling later. + const isChoice = inScene && !input.startsWith('/') + if (!isChoice && h.list[h.list.length - 1] !== input) h.list.push(input) + h.at = -1 + if (!out.action) syncHash(input) + + const animate = !prefersReducedMotion() + const id = nextId.current + nextId.current += 2 + const added = [{ id, kind: 'user', text: echo || input }] + if (out.answer) { + const entry = { id: id + 1, kind: 'agent', ...out.answer, animate } + latest.current = entry.id + added.push(entry) + if (animate) { + setBusy(true) + setFollowups([]) + } else { + finish(entry) + } + } + setEntries((prev) => [...prev, ...added]) + }, + [finish, syncHash] + ) + + const submit = useCallback(() => { + const text = value + setValue('') + setMenuIndex(0) + setRecalling(false) + run(text) + }, [run, value]) + + // Deep links: thiessen.io/#/projects opens that answer on load. + const booted = useRef(false) + useEffect(() => { + const open = () => { + const hash = decodeURIComponent(window.location.hash.slice(1)) + if (hash.startsWith('/')) run(hash) + } + if (!booted.current) { + booted.current = true + open() + } + window.addEventListener('hashchange', open) + return () => window.removeEventListener('hashchange', open) + }, [run]) + + useEffect(() => { + if (active) focusInput() + }, [active, focusInput]) + + // Follow new output, but leave the first screen where it loads. + const mounted = useRef(false) + useEffect(() => { + if (mounted.current) scrollToEnd() + mounted.current = true + }, [entries, followups, scrollToEnd]) + + const applyCompletion = (item) => { + setValue(item.insert) + setMenuIndex(0) + } + + const onKeyDown = (e) => { + if (busy && (e.key === 'Escape' || e.key === 'Enter' || e.key === ' ')) + setSkipToken((t) => t + 1) + const h = history.current + if (e.key === 'Tab' && items.length) { + e.preventDefault() + applyCompletion(items[menuIndex] || items[0]) + } else if (e.key === 'ArrowUp') { + e.preventDefault() + if (items.length) { + setMenuIndex((i) => (i - 1 + items.length) % items.length) + } else if (h.list.length) { + if (h.at === -1) h.draft = value + h.at = h.at === -1 ? h.list.length - 1 : Math.max(0, h.at - 1) + setValue(h.list[h.at]) + setRecalling(true) + } + } else if (e.key === 'ArrowDown') { + e.preventDefault() + if (items.length) { + setMenuIndex((i) => (i + 1) % items.length) + } else if (h.at !== -1) { + h.at += 1 + if (h.at >= h.list.length) { + h.at = -1 + setValue(h.draft) + setRecalling(false) + } else { + setValue(h.list[h.at]) + } + } + } else if (e.key === 'Escape') { + if (items.length || value) { + setValue('') + setRecalling(false) + } + } else if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() === 'l') { + e.preventDefault() + run('/clear') + } + } + + const placeholder = scene + ? 'Pick an option, or type /exit' + : 'Ask about Dennis, or type /' + + return ( +
{ + const selection = window.getSelection + ? window.getSelection().toString() + : '' + if ( + !selection && + !e.target.closest('a, button, input, [role="option"]') + ) + focusInput() + }} + > +
+ {entries.map((entry) => { + if (entry.kind === 'welcome') return + if (entry.kind === 'user') + return + return ( + + ) + })} +
+ +
+ {announce} +
+ +
{ + e.preventDefault() + submit() + }} + > +
+ {busy ? ( + + ) : ( + followups.map((f) => ( + + )) + )} +
+ +
+ {items.length > 0 && ( +
+ {items.map((item, i) => ( +
{ + e.preventDefault() + applyCompletion(item) + }} + > + {item.label} + {item.hint} +
+ ))} +
+ )} + +
+
+
+
+
+ ) +} + +export default Terminal diff --git a/src/components/blocks.jsx b/src/components/blocks.jsx new file mode 100644 index 0000000..158e67f --- /dev/null +++ b/src/components/blocks.jsx @@ -0,0 +1,264 @@ +import React from 'react' + +import { isSafeHref, parseInline, takeChars } from '../agent/inline.mjs' + +const isExternal = (href) => /^https?:/.test(href) + +// Renders answer text with its inline markup. `limit` cuts it for the typing effect. +export const Inline = ({ text, limit, nav }) => { + let segments = parseInline(text) + if (limit !== undefined) segments = takeChars(segments, limit) + return segments.map((seg, i) => { + if (seg.k === 'strong') return {seg.v} + if (seg.k === 'code') return {seg.v} + if (seg.k === 'link') { + if (seg.href === '#classic') { + return ( + { + e.preventDefault() + nav({ type: 'classic' }) + }} + > + {seg.v} + + ) + } + // Only known-safe targets become links; anything else stays plain text. + if (!isSafeHref(seg.href)) + return {seg.v} + return ( + + {seg.v} + + ) + } + return {seg.v} + }) +} + +const Tags = ({ items }) => + items && items.length ? ( +
    + {items.map((item) => ( +
  • {item}
  • + ))} +
+ ) : null + +const Pairs = ({ rows, nav }) => ( +
+ {rows.map(([key, value]) => ( + +
{key}
+
+ +
+
+ ))} +
+) + +const Open = ({ run, cmd, children }) => ( + +) + +// One answer block. `limit` is only used by paragraphs while they are being typed. +export const Block = ({ block, limit, run, nav }) => { + switch (block.t) { + case 'p': + return ( +

+ +

+ ) + case 'note': + return ( +

+ +

+ ) + case 'list': + return ( +
    + {block.items.map((item, i) => ( +
  • + +
  • + ))} +
+ ) + case 'choices': + return ( +
    + {block.items.map((item, i) => ( +
  1. + {item} +
  2. + ))} +
+ ) + case 'kv': + return + case 'facts': + return ( +
+

{block.heading}

+ +
+ ) + case 'pre': + return
{block.lines.join('\n')}
+ case 'route': + return ( +
    + {block.stops.map((stop, i) => ( +
  1. + {stop.place} + {stop.note} +
  2. + ))} +
+ ) + case 'timeline': + return ( +
    + {block.items.map((role, i) => ( +
  1. +
  2. + ))} +
+ ) + case 'tiers': + return ( +
+ {block.groups.map((group, i) => ( +
+
+ {group.label} + {group.hint} +
+
+ {group.items.map((item) => ( + {item} + ))} +
+
+ ))} +
+ ) + case 'skills': + return ( +
    + {block.items.map((skill) => ( +
  • +

    + {skill.name} + {skill.tier} +

    +

    {skill.note}

    +
  • + ))} +
+ ) + case 'projects': + return ( +
+ {block.groups.map((group) => ( +
+

{group.label}

+
    + {group.items.map((item, i) => ( +
  • +

    + + {item.name} + + {item.period} +

    +

    {item.blurb}

    +
  • + ))} +
+
+ ))} +
+ ) + case 'detail': + return ( +
+

{block.title}

+

+ {block.meta.map((part) => ( + {part} + ))} +

+ {block.note &&

{block.note}

} + {block.body && block.body.map((text, i) =>

{text}

)} + {block.points && block.points.length > 0 && ( +
    + {block.points.map((point, i) => ( +
  • + {point} +
  • + ))} +
+ )} + {block.scope &&

{block.scope}

} + +
+ ) + case 'commands': + return ( +
+ {block.rows.map((row) => ( + +
{row.usage}
+
{row.hint}
+
+ ))} +
+ ) + case 'ending': + return ( +
+

{block.title}

+

{block.text}

+
+ ) + default: + return null + } +} diff --git a/src/components/layout.js b/src/components/layout.js deleted file mode 100644 index 5481c91..0000000 --- a/src/components/layout.js +++ /dev/null @@ -1,6 +0,0 @@ -import React from 'react' -import '../assets/style.css' - -const Layout = ({ children }) => <>{children} - -export default Layout diff --git a/src/data/profile.mjs b/src/data/profile.mjs new file mode 100644 index 0000000..2cbf674 --- /dev/null +++ b/src/data/profile.mjs @@ -0,0 +1,650 @@ +// Everything the site says about Dennis lives here. The terminal, the plain view and +// the tests all read this file, so a fact is written once. +// +// The page is written for the people who scan it fastest: recruiters and hiring managers. +// They look for the current role and title, the headline stack, what was delivered at each +// employer and at what scope, a line on education, and a way to get in touch. Anything +// personal, private or employer-internal stays out. +// +// Wording follows the verified claims in claude-resume-kit: verbs are scoped to what he did +// himself, the legacy warehouse work is in the past tense, skills carry the tier they were +// really used at, and nothing is quantified without evidence. + +export const IDENTITY = { + name: 'Dennis Thiessen', + first: 'Dennis', + title: 'Staff Data, Analytics & AI Engineer', + employer: 'Swisscom', + location: 'Bern, Switzerland', + email: 'dennis@thiessen.io', + linkedin: 'linkedin.com/in/dennis-thiessen', + linkedinUrl: 'https://www.linkedin.com/in/dennis-thiessen', + experience: '10+ years', +} + +export const SUMMARY = [ + 'Dennis Thiessen is a Staff Data, Analytics & AI Engineer at Swisscom in Bern, with more than ten years of experience where software engineering meets operations: data pipelines, ML inference in production, and the automation that keeps both running.', + 'Today he builds and models data products on Swisscom’s AWS data platform, in Python and PySpark. Before that he integrated ML inference into a 24/7 semiconductor fab at Bosch, and built research software and test automation in Hamburg and Bergen.', + 'What he cares about most is automation and reliability.', +] + +export const CURRENT = [ + 'At Swisscom he builds and models data products on the company’s AWS data platform: Python and PySpark jobs on Glue, Apache Iceberg tables queried through Athena, orchestrated with Airflow.', + 'He migrated pipelines in his own domains to AWS as part of the company-wide programme, writes unit tests (pytest) for the pipeline code, and defines data-quality alert thresholds for his pipelines. He also takes part in the team’s rotating engineer-on-duty role.', +] + +// Roles, most recent first. `live` marks the current one. +export const ROLES = [ + { + id: 'swisscom', + aliases: ['swisscom'], + period: '2023 to present', + company: 'Swisscom', + place: 'Bern, Switzerland', + title: 'Staff Data, Analytics & AI Engineer', + titleHistory: 'Senior from Oct 2023, Staff since Apr 2025', + live: true, + summary: + 'Builds and models data products on Swisscom’s AWS data platform, in Python and PySpark.', + points: [ + 'Now: Python and PySpark on AWS Glue, Apache Iceberg tables queried through Athena, orchestrated with Airflow, plus relational models and design for the data products.', + 'Migrated pipelines in his own domains to AWS as part of the company-wide programme.', + 'Unit tests (pytest) for pipeline code, and data-quality alert thresholds for his pipelines. Takes part in the team’s rotating engineer-on-duty role.', + 'Earlier, on the legacy warehouse: component owner for the ETL pipelines that moved business-critical data from Oracle into a Teradata warehouse, including data quality, root-cause analysis and on-call. Python applications there ran on Kubernetes and were deployed through automated GitLab CI/CD pipelines.', + 'Onboarded and mentored junior developers.', + ], + stack: [ + 'Python', + 'PySpark', + 'AWS Glue', + 'Apache Iceberg', + 'Athena', + 'Airflow', + 'SQL', + ], + }, + { + id: 'bosch', + aliases: ['bosch', 'semiconductor', 'dresden', 'fab'], + period: '2020 to 2022', + company: 'Bosch Semiconductor', + place: 'Dresden, Germany', + title: 'Senior Data Engineer, Data Analysis', + titleHistory: 'Data Engineer from Feb 2020, Senior from Jan 2021', + summary: + 'Integrated containerised ML inference into a 24/7 semiconductor fab and built the data services around it.', + points: [ + 'Devised and executed the integration of containerised, GPU-backed ML inference into the fab’s continuously running production environment, with Docker, Kubernetes and Ansible. A software defect could have halted production. The integration reduced the manual classification work for line engineers.', + 'Developed data services, mostly in Python with some Java and C#, over Oracle and Hadoop/Impala for internal analysis teams.', + 'Technical Application Owner for TIBCO Spotfire and the fab’s defect-management system, including SLOs, vendor contact and training. Co-presented at the TIBCO Analytics Forum 2022.', + 'Onboarded and mentored junior developers, and supervised students technically.', + ], + stack: [ + 'Python', + 'Docker', + 'Kubernetes', + 'Ansible', + 'Oracle', + 'Hadoop / Impala', + 'C#', + 'Java', + ], + }, + { + id: 'fraunhofer', + aliases: ['fraunhofer', 'cml', 'scedas'], + period: '2018 to 2019', + company: 'Fraunhofer CML', + place: 'Hamburg, Germany', + title: 'Research Software Engineer', + summary: + 'Developed crew-scheduling software and research microservices at the Fraunhofer Center for Maritime Logistics and Services.', + points: [ + 'SCEDAS crew-scheduling software in C#, Entity Framework and Microsoft SQL Server. Introduced Jenkins and built the jobs that deployed it automatically.', + 'Developed microservices for a research data-exchange platform with Express.js, Docker and SQLite.', + ], + stack: ['C#', 'Microsoft SQL Server', 'Jenkins', 'Express.js', 'Docker'], + }, + { + id: 'vizrt', + aliases: ['vizrt', 'bergen', 'norway', 'transcoding'], + period: '2017 to 2018', + company: 'Vizrt', + place: 'Bergen, Norway', + title: 'Test Automation / DevOps Engineer', + summary: + 'Contributed Python and C++ to a distributed video-transcoding backend, and wrote the automated tests that gated it in CI/CD.', + points: [ + 'Contributed Python and C++ to a distributed video-transcoding backend: a Python wrapper around a C++ transcoding engine built on FFmpeg.', + 'Developed automated test suites for audio, video and streaming, connected as quality gates in the CI/CD pipeline.', + ], + stack: ['Python', 'C++', 'CI/CD'], + }, + { + id: 'generali', + aliases: ['generali', 'rpa', 'uipath', 'bdd'], + period: '2015 to 2017', + company: 'Generali', + place: 'Hamburg, Germany', + title: 'IT Consultant', + titleHistory: + 'International Graduate Programme from May 2015, IT Consultant from Oct 2016', + summary: + 'Java/J2EE development and behaviour-driven testing at Generali’s IT services company.', + points: [ + 'Java/J2EE development on a process-oriented workflow portal: defect fixing, new requirements, and a contribution to design decisions for its task services.', + 'Introduced behaviour-driven development through a proof of concept, held technical responsibility for the UI test automation, and trained project members. Built RPA proofs of concept with UiPath.', + ], + stack: ['Java', 'J2EE', 'Selenium', 'Jenkins', 'UiPath'], + }, +] + +// Where the career took him, in order. +export const ROUTE = [ + { place: 'Munich', note: 'studies' }, + { place: 'Shanghai', note: 'thesis' }, + { place: 'Hamburg', note: '2015 to 2017' }, + { place: 'Bergen', note: '2017 to 2018' }, + { place: 'Hamburg', note: '2018 to 2019' }, + { place: 'Dresden', note: '2020 to 2022' }, + { place: 'Bern', note: '2023 to now' }, +] + +// Skills carry the tier they were really used at. `listed: false` keeps a skill out of the +// /stack overview but still answers a direct question about it honestly. +export const TIERS = [ + { id: 'now', label: 'Working with now', hint: 'Current production work' }, + { + id: 'before', + label: 'Used in production before', + hint: 'Earlier roles and the legacy warehouse', + }, + { id: 'ai', label: 'Hands-on with AI tooling', hint: 'Tools used directly' }, + { + id: 'poc', + label: 'Proof-of-concept scale', + hint: 'Built, never run as a platform', + }, + { + id: 'study', + label: 'From study and certification', + hint: 'Coursework, not production', + }, +] + +export const SKILLS = [ + { + name: 'Python', + tier: 'now', + aliases: ['python', 'python3'], + note: 'His main language at Swisscom and at Bosch.', + }, + { + name: 'SQL', + tier: 'now', + aliases: ['sql'], + note: 'Across Oracle, Teradata and Athena.', + }, + { + name: 'PySpark', + tier: 'now', + aliases: ['pyspark', 'spark'], + note: 'Current work at Swisscom.', + }, + { + name: 'AWS', + tier: 'now', + aliases: ['aws', 'amazon', 'glue', 's3', 'athena', 'redshift', 'cloud'], + note: 'S3, Glue, Athena, Redshift and Airflow at Swisscom. AWS Certified Solutions Architect – Associate, valid until Sep 2027.', + }, + { + name: 'Apache Iceberg', + tier: 'now', + aliases: ['iceberg'], + note: 'Part of the current Swisscom stack, queried through Athena.', + }, + { + name: 'Airflow', + tier: 'now', + aliases: ['airflow'], + note: 'Orchestrates the AWS pipelines at Swisscom.', + }, + { + name: 'CloudFormation', + tier: 'now', + aliases: ['cloudformation'], + note: 'Used for AWS infrastructure at Swisscom.', + }, + { + name: 'Docker', + tier: 'now', + aliases: [ + 'docker', + 'container', + 'containers', + 'containerised', + 'containerized', + ], + note: 'Production use at Bosch and Swisscom.', + }, + { + name: 'Data modelling', + tier: 'now', + aliases: ['modelling', 'modeling', 'datamodel', 'datamodelling'], + note: 'Logical and physical relational models for data products.', + }, + { + name: 'Unit testing (pytest)', + tier: 'now', + aliases: ['pytest', 'unittest', 'unittesting'], + note: 'Unit tests for pipeline code at Swisscom.', + }, + + { + name: 'Kafka', + tier: 'before', + aliases: ['kafka'], + note: 'Ingestion in the legacy warehouse unit at Swisscom, and the ELK proof of concept at Bosch.', + }, + { + name: 'Kubernetes', + tier: 'before', + aliases: ['kubernetes', 'k8s'], + note: 'Python applications at Swisscom (legacy unit) and ML inference at Bosch.', + }, + { + name: 'Ansible', + tier: 'before', + aliases: ['ansible'], + note: 'Used intensively at Bosch for configuration management, including his own extensions.', + }, + { + name: 'Teradata', + tier: 'before', + aliases: ['teradata', 'dwh', 'warehouse'], + note: 'The legacy data warehouse at Swisscom.', + }, + { + name: 'Oracle', + tier: 'before', + aliases: ['oracle'], + note: 'Source and analytics databases at Swisscom and Bosch.', + }, + { + name: 'Hadoop / Impala', + tier: 'before', + aliases: ['hadoop', 'impala'], + note: 'Data services at Bosch.', + }, + { + name: 'GitLab CI/CD', + tier: 'before', + aliases: ['gitlab', 'cicd'], + note: 'Deployed through automated pipelines at Swisscom (legacy unit).', + }, + { + name: 'Java', + tier: 'before', + aliases: ['java', 'j2ee'], + note: 'Bosch data services and the Generali workflow portal.', + }, + { + name: 'C#', + tier: 'before', + aliases: ['csharp', 'dotnet'], + note: 'Spotfire extensions and data services at Bosch, SCEDAS at Fraunhofer.', + }, + { + name: 'Linux and Bash', + tier: 'before', + aliases: ['linux', 'bash', 'shell'], + note: 'Server administration and automation at Bosch.', + }, + { + name: 'TIBCO Spotfire', + tier: 'before', + aliases: ['spotfire', 'tibco'], + note: 'Technical Application Owner and C# extension developer at Bosch.', + listed: false, + }, + { + name: 'Jenkins', + tier: 'before', + aliases: ['jenkins'], + note: 'Deployment jobs at Fraunhofer and BDD build jobs at Generali.', + listed: false, + }, + { + name: 'C++', + tier: 'before', + aliases: ['cpp'], + note: 'The transcoding engine at Vizrt, in a bounded role.', + listed: false, + }, + { + name: 'JavaScript', + tier: 'before', + aliases: ['javascript', 'node', 'nodejs', 'express'], + note: 'Express.js microservices at Fraunhofer, in a bounded role.', + listed: false, + }, + { + name: 'Kotlin', + tier: 'before', + aliases: ['kotlin'], + note: 'Some backend and Ansible-plugin work at Bosch.', + listed: false, + }, + { + name: 'Microsoft SQL Server', + tier: 'before', + aliases: ['mssql', 'sqlserver'], + note: 'Behind SCEDAS at Fraunhofer.', + listed: false, + }, + + { name: 'LiteLLM', tier: 'ai', aliases: ['litellm'], note: 'API use.' }, + { + name: 'Custom GPTs', + tier: 'ai', + aliases: ['gpt', 'gpts', 'chatgpt'], + note: 'Hands-on use.', + }, + { name: 'Copilot', tier: 'ai', aliases: ['copilot'], note: 'Hands-on use.' }, + { name: 'Kiro', tier: 'ai', aliases: ['kiro'], note: 'Hands-on use.' }, + + { + name: 'ELK Stack', + tier: 'poc', + aliases: ['elk', 'elasticsearch', 'kibana', 'logstash'], + note: 'Bosch proof of concept for log management and anomaly detection.', + listed: false, + }, + { + name: 'Grafana', + tier: 'poc', + aliases: ['grafana'], + note: 'Monitoring in the Bosch proof of concept.', + listed: false, + }, + { + name: 'Prometheus', + tier: 'poc', + aliases: ['prometheus'], + note: 'Monitoring in the Bosch proof of concept.', + listed: false, + }, + { + name: 'Loki', + tier: 'poc', + aliases: ['loki'], + note: 'Log aggregation in the Bosch proof of concept.', + listed: false, + }, + + { + name: 'TensorFlow / Keras', + tier: 'study', + aliases: ['tensorflow', 'keras'], + note: 'Covered in the IBM AI Engineering certificate (2020).', + listed: false, + }, + { + name: 'PyTorch', + tier: 'study', + aliases: ['pytorch', 'torch'], + note: 'Covered in the IBM AI Engineering certificate (2020).', + listed: false, + }, + { + name: 'Embedded systems', + tier: 'study', + aliases: ['embedded', 'vhdl', 'robotics'], + note: 'University coursework in C/C++ and VHDL, with no embedded work since.', + listed: false, + }, +] + +// Things that are not in his stack. A question about one gets a plain "not in his listed stack". +export const NON_CLAIMS = [ + ['TypeScript', ['typescript']], + ['Terraform', ['terraform']], + ['Azure', ['azure']], + ['GCP', ['gcp', 'googlecloud']], + ['Snowflake', ['snowflake']], + ['LangChain', ['langchain']], + ['LangGraph', ['langgraph']], + ['LlamaIndex', ['llamaindex']], + ['Model fine-tuning', ['finetuning', 'finetune']], +] + +// Selected work: the things worth a recruiter's two minutes. +export const PROJECTS = [ + { + id: 'data-products', + aliases: ['data products', 'data product', 'migration'], + kind: 'now', + name: 'Data products on Swisscom’s AWS platform', + period: 'Swisscom, current', + blurb: + 'Governed data products and migrated pipelines on a shared company platform.', + body: [ + 'Builds, models and documents data products on Swisscom’s company-wide AWS data platform: relational models, Python and PySpark jobs on Glue, Iceberg tables queried through Athena, Airflow for orchestration.', + 'He also migrated pipelines in his own domains from the legacy warehouse stack to AWS, as part of the wider company programme.', + ], + points: [ + 'Unit tests (pytest) for the pipeline code', + 'Alert thresholds, including data-quality checks, for his pipelines', + 'Part of the team’s rotating engineer-on-duty role', + ], + scope: + 'Scope: his own data products and pipelines on a platform the whole company builds on.', + stack: ['Python', 'PySpark', 'Glue', 'Iceberg', 'Athena', 'Airflow'], + }, + { + id: 'legacy-etl', + aliases: ['etl', 'legacy', 'data warehouse', 'legacy warehouse'], + kind: 'before', + name: 'Business-critical ETL into the legacy warehouse', + period: 'Swisscom, earlier', + blurb: + 'Component owner for the pipelines from Oracle into a Teradata warehouse.', + body: [ + 'Dennis owned the ETL pipelines that moved business-critical data from Oracle databases into the Teradata data warehouse and made it available for analysis. That covered data quality, security and compliance requirements, root-cause analysis, second and third-level support, and on-call.', + 'The Python applications around it ran on Kubernetes and were deployed through automated GitLab CI/CD pipelines. He also delivered dashboards and analyses for internal B2B stakeholders.', + ], + points: [], + scope: + 'Scope: component ownership for these pipelines, on a platform that was a team effort.', + stack: [ + 'Python', + 'Oracle', + 'Teradata', + 'Kafka', + 'Kubernetes', + 'GitLab CI/CD', + ], + }, + { + id: 'fab-inference', + aliases: ['inference', 'ml inference'], + kind: 'before', + name: 'ML inference in a 24/7 fab', + period: 'Bosch, 2020 to 2022', + blurb: + 'Containerised, GPU-backed ML inference integrated into a continuously running semiconductor fab.', + body: [ + 'At Bosch Dennis devised and executed how ML models were integrated into the fab’s production environment: containers on Kubernetes, configuration managed with Ansible, and the ingestion and inference scripts he designed.', + 'The inference automated image-based defect classification and reduced the manual classification work for line engineers. A software defect could have halted production.', + ], + points: ['Ran on NVIDIA GPUs', 'Docker, Kubernetes and Ansible end to end'], + scope: 'Scope: integration and operation of the inference.', + stack: ['Docker', 'Kubernetes', 'Ansible', 'Python', 'Linux'], + }, + { + id: 'fab-analytics', + aliases: [ + 'spotfire', + 'defect management', + 'analytics forum', + 'analytics applications', + ], + kind: 'before', + name: 'Analytics applications for the fab', + period: 'Bosch, 2020 to 2022', + blurb: + 'Technical owner of Spotfire and the defect-management system that fab analysts used.', + body: [ + 'Technical Application Owner for TIBCO Spotfire and the fab’s defect-management system: SLOs, vendor contact, training and documentation. He built Spotfire extensions in C# and co-presented at the TIBCO Analytics Forum 2022.', + 'He also developed the Python, Java and C# data services that fed the analysis teams from Oracle and Hadoop/Impala.', + ], + points: [], + scope: + 'Scope: technical Application Owner, and co-owner of the Spotfire environment.', + stack: ['TIBCO Spotfire', 'C#', 'Python', 'Oracle', 'Hadoop / Impala'], + }, +] + +export const KINDS = { + now: 'Current', + before: 'Earlier', +} + +export const EDUCATION = [ + { + id: 'meng', + title: 'M.Eng. Computer Aided Engineering', + detail: + 'Focus on software design and engineering. Universität der Bundeswehr München, 2013. Thesis written at Tongji University in Shanghai.', + }, + { + id: 'beng', + title: 'B.Eng. Information and Telecommunication Technologies', + detail: 'Universität der Bundeswehr München, 2012.', + }, +] + +export const CERTIFICATIONS = [ + { + name: 'AWS Certified Solutions Architect – Associate', + year: '2024', + note: 'valid until Sep 2027', + }, + { + name: 'Data Engineering with AWS', + year: '2026', + note: 'Udacity nanodegree', + }, + { + name: 'IBM AI Engineering Professional Certificate', + year: '2020', + note: 'Coursera', + }, + { + name: 'iSAQB Certified Professional for Software Architecture, Foundation Level', + year: '2016', + note: '', + }, +] + +export const LANGUAGES = [ + ['German', 'native'], + ['English', 'fluent'], +] + +// Hand-written answers for topics that cut across roles. Each value is a list of blocks. +export const TOPICS = { + ai: { + blocks: [ + { + t: 'p', + text: '**ML in production.** At Bosch (2020 to 2022) Dennis devised and executed the integration of ML models into a 24/7 semiconductor production environment: containerised, GPU-backed inference orchestrated with Docker, Kubernetes and Ansible. His scope was the integration and its operation around the models.', + }, + { + t: 'p', + text: '**LLM tooling.** At Swisscom he configured domain-grounded LLM assistants in a Swisscom-owned web interface by choosing models and supplying curated knowledge. He has hands-on experience with LiteLLM, custom GPTs, Copilot and Kiro.', + }, + { + t: 'p', + text: '**Study.** IBM AI Engineering Professional Certificate (2020).', + }, + ], + }, + mentoring: { + blocks: [ + { + t: 'list', + items: [ + 'Onboarded and mentored junior developers at Bosch and Swisscom. This is technical guidance, not line management.', + 'At Bosch: technical supervision of students.', + 'At Generali: introduced behaviour-driven development, presented it to the Java community and trained project members.', + ], + }, + ], + }, + reliability: { + blocks: [ + { + t: 'list', + items: [ + 'Today at Swisscom: Dennis takes part in the team’s rotating engineer-on-duty role and defines alert thresholds, including data-quality checks, for his own pipelines. Alerts turn into tickets that the team assigns and fixes.', + 'On the legacy warehouse: component owner for the Oracle-to-Teradata ETL, including root-cause analysis, second and third-level support, and on-call.', + 'At Bosch: Application Owner for analytics software, with SLOs. A software defect could have halted the fab.', + ], + }, + ], + }, + testing: { + blocks: [ + { + t: 'list', + items: [ + 'Swisscom: unit tests (pytest) for pipeline code.', + 'Vizrt: automated test suites for audio, video and streaming, wired into CI/CD as quality gates.', + 'Generali: introduced behaviour-driven development and held technical responsibility for UI test automation.', + ], + }, + ], + }, + work: { + blocks: [ + { + t: 'kv', + rows: [ + ['Based in', IDENTITY.location], + ['Languages', LANGUAGES.map(([l, v]) => `${l} (${v})`).join(', ')], + ], + }, + { + t: 'p', + text: 'For availability, location preferences or terms, the quickest answer is an email to Dennis.', + }, + ], + }, + site: { + blocks: [ + { + t: 'p', + text: 'Every answer comes from a curated knowledge base that ships with this page. There is no language model, and answering you needs no network request, so nothing here can be invented and nothing you type leaves your browser. The tool calls you see are real lookups against that data.', + }, + { + t: 'p', + text: 'A model-backed version is possible. For facts about a real person, this one trades flexibility for accuracy on purpose.', + }, + { + t: 'p', + text: 'Prefer plain text? Switch to the [classic view](#classic).', + }, + ], + }, +} + +export const WELCOME = { + boot: 'dt ~/thiessen.io retrieval-only', + headline: 'Ask about Dennis Thiessen', + lines: [ + 'I answer questions about his work, stack and projects.', + 'Every answer comes from a curated knowledge base. No model is running, so nothing is made up.', + ], + hint: 'Pick a suggestion, type a question, or type / for commands.', +} diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro new file mode 100644 index 0000000..bce1ec0 --- /dev/null +++ b/src/layouts/Base.astro @@ -0,0 +1,42 @@ +--- +// The document shell shared by every page: fonts, icons, theme and base styles. +// Fonts are served from this site (via @fontsource), so visitors make no request to +// Google or any other third party. +import '@fontsource-variable/hanken-grotesk' +import '@fontsource-variable/jetbrains-mono' +import '@fontsource-variable/space-grotesk' +import '../assets/style.css' + +interface Props { + title: string + description: string + noindex?: boolean +} + +const { title, description, noindex = false } = Astro.props + +// Dark is the design; a visitor who chose the light theme gets it before first paint, +// so they never see a flash of dark. +const themeScript = + "try{if(localStorage.getItem('theme')==='light')document.documentElement.setAttribute('data-theme','light')}catch(e){}" +--- + + + + + + + {title} + + {noindex && } + + + + +
+
+ +
+ +
+

Profile

+
+ {SUMMARY.map((text) => ( +

{text}

+ ))} +
+
+ +
+

Experience

+
+

+ {ROUTE.map((stop) => stop.place).join(' → ')} +

+
    + {ROLES.map((role) => ( +
  1. + +
    +

    {role.period}

    +
    +

    {role.company}

    + {role.place} +
    +

    {role.title}

    +

    {role.summary}

    +
    +
  2. + ))} +
+
+
+ +
+

Stack

+ +
+ +
+

Credentials

+ +
+ +
+

Contact

+
+

+ Always happy to talk about data, ML and platform engineering. Email is + the fastest way to reach me. +

+ + {IDENTITY.email} + + +
+
+ + +