diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 350a1db0d..000000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: deploy - -on: - push: - branches: - - dev - - production - workflow_dispatch: - -concurrency: ${{ github.workflow }}-${{ github.ref }} - -jobs: - deploy: - # kilocode_change start - disabled for kilo-cli fork (OpenCode infrastructure deployment) - if: false - # kilocode_change end - runs-on: blacksmith-4vcpu-ubuntu-2404 - steps: - - uses: actions/checkout@v3 - - - uses: ./.github/actions/setup-bun - - - uses: actions/setup-node@v4 - with: - node-version: "24" - - # Workaround for Pulumi version conflict: - # GitHub runners have Pulumi 3.212.0+ pre-installed, which removed the -root flag - # from pulumi-language-nodejs (see https://github.com/pulumi/pulumi/pull/21065). - # SST 3.17.x uses Pulumi SDK 3.210.0 which still passes -root, causing a conflict. - # Removing the system language plugin forces SST to use its bundled compatible version. - # TODO: Remove when sst supports Pulumi >3.210.0 - - name: Fix Pulumi version conflict - run: sudo rm -f /usr/local/bin/pulumi-language-nodejs - - - run: bun sst deploy --stage=${{ github.ref_name }} - env: - CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - PLANETSCALE_SERVICE_TOKEN_NAME: ${{ secrets.PLANETSCALE_SERVICE_TOKEN_NAME }} - PLANETSCALE_SERVICE_TOKEN: ${{ secrets.PLANETSCALE_SERVICE_TOKEN }} - STRIPE_SECRET_KEY: ${{ github.ref_name == 'production' && secrets.STRIPE_SECRET_KEY_PROD || secrets.STRIPE_SECRET_KEY_DEV }} diff --git a/.github/workflows/docs-locale-sync.yml b/.github/workflows/docs-locale-sync.yml deleted file mode 100644 index c97f3e191..000000000 --- a/.github/workflows/docs-locale-sync.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: docs-locale-sync - -on: - push: - branches: - - dev - paths: - - packages/web/src/content/docs/*.mdx - -jobs: - sync-locales: - if: github.actor != 'opencode-agent[bot]' - runs-on: blacksmith-4vcpu-ubuntu-2404 - permissions: - id-token: write - contents: write - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup Bun - uses: ./.github/actions/setup-bun - - - name: Setup git committer - id: committer - uses: ./.github/actions/setup-git-committer - with: - opencode-app-id: ${{ vars.OPENCODE_APP_ID }} - opencode-app-secret: ${{ secrets.OPENCODE_APP_SECRET }} - - - name: Compute changed English docs - id: changes - run: | - FILES=$(git diff --name-only "${{ github.event.before }}" "${{ github.sha }}" -- 'packages/web/src/content/docs/*.mdx' || true) - if [ -z "$FILES" ]; then - echo "has_changes=false" >> "$GITHUB_OUTPUT" - echo "No English docs changed in push range" - exit 0 - fi - echo "has_changes=true" >> "$GITHUB_OUTPUT" - { - echo "files<> "$GITHUB_OUTPUT" - - - name: Sync locale docs with OpenCode - if: steps.changes.outputs.has_changes == 'true' - uses: sst/opencode/github@latest - env: - OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} - with: - model: opencode/gpt-5.2 - agent: docs - prompt: | - Update localized docs to match the latest English docs changes. - - Changed English doc files: - - ${{ steps.changes.outputs.files }} - - - Requirements: - 1. Update all relevant locale docs under packages/web/src/content/docs// so they reflect these English page changes. - 2. Preserve frontmatter keys, internal links, code blocks, and existing locale-specific metadata unless the English change requires an update. - 3. Keep locale docs structure aligned with their corresponding English pages. - 4. Do not modify English source docs in packages/web/src/content/docs/*.mdx. - 5. If no locale updates are needed, make no changes. - - - name: Commit and push locale docs updates - if: steps.changes.outputs.has_changes == 'true' - run: | - if [ -z "$(git status --porcelain)" ]; then - echo "No locale docs changes to commit" - exit 0 - fi - git add -A - git commit -m "docs(i18n): sync locale docs from english changes" - git pull --rebase --autostash origin "$GITHUB_REF_NAME" - git push origin HEAD:"$GITHUB_REF_NAME" diff --git a/.github/workflows/docs-update.yml b/.github/workflows/docs-update.yml deleted file mode 100644 index 49aa8a5c2..000000000 --- a/.github/workflows/docs-update.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: docs-update - -on: - schedule: - - cron: "0 */12 * * *" - workflow_dispatch: - -env: - LOOKBACK_HOURS: 4 - -jobs: - update-docs: - # kilocode_change start - disabled for kilo-cli fork (OpenCode docs automation) - if: false - # kilocode_change end - original: if: github.repository == 'sst/opencode' - runs-on: blacksmith-4vcpu-ubuntu-2404 - permissions: - id-token: write - contents: write - pull-requests: write - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 # Fetch full history to access commits - - - name: Setup Bun - uses: ./.github/actions/setup-bun - - - name: Get recent commits - id: commits - run: | - COMMITS=$(git log --since="${{ env.LOOKBACK_HOURS }} hours ago" --pretty=format:"- %h %s" 2>/dev/null || echo "") - if [ -z "$COMMITS" ]; then - echo "No commits in the last ${{ env.LOOKBACK_HOURS }} hours" - echo "has_commits=false" >> $GITHUB_OUTPUT - else - echo "has_commits=true" >> $GITHUB_OUTPUT - { - echo "list<> $GITHUB_OUTPUT - fi - - - name: Run opencode - if: steps.commits.outputs.has_commits == 'true' - uses: sst/opencode/github@latest - env: - OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} - with: - model: kilo/openai/gpt-5.2 - agent: docs - prompt: | - Review the following commits from the last ${{ env.LOOKBACK_HOURS }} hours and identify any new features that may need documentation. - - - ${{ steps.commits.outputs.list }} - - - Steps: - 1. For each commit that looks like a new feature or significant change: - - Read the changed files to understand what was added - - Check if the feature is already documented in packages/web/src/content/docs/* - 2. If you find undocumented features: - - Update the relevant documentation files in packages/web/src/content/docs/* - - Follow the existing documentation style and structure - - Make sure to document the feature clearly with examples where appropriate - 3. If all new features are already documented, report that no updates are needed - 4. If you are creating a new documentation file be sure to update packages/web/astro.config.mjs too. - - Focus on user-facing features and API changes. Skip internal refactors, bug fixes, and test updates unless they affect user-facing behavior. - Don't feel the need to document every little thing. It is perfectly okay to make 0 changes at all. - Try to keep documentation only for large features or changes that already have a good spot to be documented. diff --git a/.prettierignore b/.prettierignore index b6747635b..c3fb42a46 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1 @@ -sst-env.d.ts packages/desktop/src/bindings.ts -packages/web/src/content/docs/** diff --git a/AGENTS.md b/AGENTS.md index 6a9428b30..24b2b6637 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -30,7 +30,7 @@ Turborepo + Bun workspaces. The packages you'll work with most: | `packages/util/` | `@opencode-ai/util` | Shared utilities (error, path, retry, slug, etc.) | | `packages/plugin/` | `@kilocode/plugin` | Plugin/tool interface definitions | -Other packages (`console/`, `enterprise/`, `web/`, `desktop/`, `slack/`, `infra/`) are for the hosted platform and rarely need changes during CLI work. +Other packages (`desktop/`, `containers/`, `extensions/`) are for desktop app, Docker containers, and editor extensions. ## Style Guide diff --git a/bun.lock b/bun.lock index 8a2e5d6a5..8da15e7da 100644 --- a/bun.lock +++ b/bun.lock @@ -5,7 +5,6 @@ "": { "name": "@kilocode/kilo", "dependencies": { - "@aws-sdk/client-s3": "3.933.0", "@kilocode/plugin": "workspace:*", "@kilocode/sdk": "workspace:*", "@opencode-ai/script": "workspace:*", @@ -17,7 +16,6 @@ "husky": "9.1.7", "prettier": "3.6.2", "semver": "^7.6.0", - "sst": "3.17.23", "turbo": "2.5.6", }, }, @@ -73,116 +71,6 @@ "vite-plugin-solid": "catalog:", }, }, - "packages/console/app": { - "name": "@opencode-ai/console-app", - "version": "1.0.14", - "dependencies": { - "@cloudflare/vite-plugin": "1.15.2", - "@ibm/plex": "6.4.1", - "@jsx-email/render": "1.1.1", - "@kobalte/core": "catalog:", - "@openauthjs/openauth": "catalog:", - "@opencode-ai/console-core": "workspace:*", - "@opencode-ai/console-mail": "workspace:*", - "@opencode-ai/console-resource": "workspace:*", - "@opencode-ai/ui": "workspace:*", - "@smithy/eventstream-codec": "4.2.7", - "@smithy/util-utf8": "4.2.0", - "@solidjs/meta": "catalog:", - "@solidjs/router": "catalog:", - "@solidjs/start": "catalog:", - "@stripe/stripe-js": "8.6.1", - "chart.js": "4.5.1", - "nitro": "3.0.1-alpha.1", - "solid-js": "catalog:", - "solid-list": "0.3.0", - "solid-stripe": "0.8.1", - "vite": "catalog:", - "zod": "catalog:", - }, - "devDependencies": { - "@typescript/native-preview": "catalog:", - "@webgpu/types": "0.1.54", - "typescript": "catalog:", - "wrangler": "4.50.0", - }, - }, - "packages/console/core": { - "name": "@opencode-ai/console-core", - "version": "1.0.14", - "dependencies": { - "@aws-sdk/client-sts": "3.782.0", - "@jsx-email/render": "1.1.1", - "@opencode-ai/console-mail": "workspace:*", - "@opencode-ai/console-resource": "workspace:*", - "@planetscale/database": "1.19.0", - "aws4fetch": "1.0.20", - "drizzle-orm": "0.41.0", - "postgres": "3.4.7", - "stripe": "18.0.0", - "ulid": "catalog:", - "zod": "catalog:", - }, - "devDependencies": { - "@cloudflare/workers-types": "catalog:", - "@tsconfig/node22": "22.0.2", - "@types/bun": "1.3.0", - "@types/node": "catalog:", - "@typescript/native-preview": "catalog:", - "drizzle-kit": "0.30.5", - "mysql2": "3.14.4", - "typescript": "catalog:", - }, - }, - "packages/console/function": { - "name": "@opencode-ai/console-function", - "version": "1.0.14", - "dependencies": { - "@ai-sdk/anthropic": "2.0.0", - "@ai-sdk/openai": "2.0.2", - "@ai-sdk/openai-compatible": "1.0.1", - "@hono/zod-validator": "catalog:", - "@openauthjs/openauth": "0.0.0-20250322224806", - "@opencode-ai/console-core": "workspace:*", - "@opencode-ai/console-resource": "workspace:*", - "ai": "catalog:", - "hono": "catalog:", - "zod": "catalog:", - }, - "devDependencies": { - "@cloudflare/workers-types": "catalog:", - "@tsconfig/node22": "22.0.2", - "@types/node": "catalog:", - "@typescript/native-preview": "catalog:", - "openai": "5.11.0", - "typescript": "catalog:", - }, - }, - "packages/console/mail": { - "name": "@opencode-ai/console-mail", - "version": "1.0.14", - "dependencies": { - "@jsx-email/all": "2.2.3", - "@jsx-email/cli": "1.4.3", - "@tsconfig/bun": "1.0.9", - "@types/react": "18.0.25", - "react": "18.2.0", - "solid-js": "catalog:", - }, - }, - "packages/console/resource": { - "name": "@opencode-ai/console-resource", - "version": "1.0.14", - "dependencies": { - "@cloudflare/workers-types": "catalog:", - }, - "devDependencies": { - "@cloudflare/workers-types": "catalog:", - "@tsconfig/node22": "22.0.2", - "@types/node": "catalog:", - "cloudflare": "5.2.0", - }, - }, "packages/desktop": { "name": "@opencode-ai/desktop", "version": "1.0.14", @@ -216,51 +104,6 @@ "vite": "catalog:", }, }, - "packages/enterprise": { - "name": "@opencode-ai/enterprise", - "version": "1.0.14", - "dependencies": { - "@opencode-ai/ui": "workspace:*", - "@opencode-ai/util": "workspace:*", - "@pierre/diffs": "catalog:", - "@solidjs/meta": "catalog:", - "@solidjs/router": "catalog:", - "@solidjs/start": "catalog:", - "aws4fetch": "^1.0.20", - "hono": "catalog:", - "hono-openapi": "catalog:", - "js-base64": "3.7.7", - "luxon": "catalog:", - "nitro": "3.0.1-alpha.1", - "solid-js": "catalog:", - "zod": "catalog:", - }, - "devDependencies": { - "@cloudflare/workers-types": "catalog:", - "@tailwindcss/vite": "catalog:", - "@types/luxon": "catalog:", - "@typescript/native-preview": "catalog:", - "tailwindcss": "catalog:", - "typescript": "catalog:", - "vite": "catalog:", - }, - }, - "packages/function": { - "name": "@opencode-ai/function", - "version": "1.0.14", - "dependencies": { - "@octokit/auth-app": "8.0.1", - "@octokit/rest": "catalog:", - "hono": "catalog:", - "jose": "6.0.11", - }, - "devDependencies": { - "@cloudflare/workers-types": "catalog:", - "@tsconfig/node22": "22.0.2", - "@types/node": "catalog:", - "typescript": "catalog:", - }, - }, "packages/kilo-gateway": { "name": "@kilocode/kilo-gateway", "version": "1.0.14", @@ -505,19 +348,6 @@ "typescript": "catalog:", }, }, - "packages/slack": { - "name": "@opencode-ai/slack", - "version": "1.0.14", - "dependencies": { - "@kilocode/sdk": "workspace:*", - "@slack/bolt": "^3.17.1", - }, - "devDependencies": { - "@types/node": "catalog:", - "@typescript/native-preview": "catalog:", - "typescript": "catalog:", - }, - }, "packages/ui": { "name": "@opencode-ai/ui", "version": "1.0.14", @@ -571,39 +401,6 @@ "typescript": "catalog:", }, }, - "packages/web": { - "name": "@opencode-ai/web", - "version": "1.0.14", - "dependencies": { - "@astrojs/cloudflare": "12.6.3", - "@astrojs/markdown-remark": "6.3.1", - "@astrojs/solid-js": "5.1.0", - "@astrojs/starlight": "0.34.3", - "@fontsource/ibm-plex-mono": "5.2.5", - "@shikijs/transformers": "3.20.0", - "@types/luxon": "catalog:", - "ai": "catalog:", - "astro": "5.7.13", - "diff": "catalog:", - "js-base64": "3.7.7", - "lang-map": "0.4.0", - "luxon": "catalog:", - "marked": "catalog:", - "marked-shiki": "catalog:", - "rehype-autolink-headings": "7.1.0", - "remeda": "catalog:", - "shiki": "catalog:", - "solid-js": "catalog:", - "toolbeam-docs-theme": "0.4.8", - "vscode-languageserver-types": "3.17.5", - }, - "devDependencies": { - "@astrojs/check": "0.9.6", - "@kilocode/cli": "workspace:*", - "@types/node": "catalog:", - "typescript": "catalog:", - }, - }, }, "trustedDependencies": [ "esbuild", @@ -671,8 +468,6 @@ "@actions/io": ["@actions/io@1.1.3", "", {}, "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q=="], - "@adobe/css-tools": ["@adobe/css-tools@4.4.4", "", {}, "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg=="], - "@agentclientprotocol/sdk": ["@agentclientprotocol/sdk@0.14.1", "", { "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" } }, "sha512-b6r3PS3Nly+Wyw9U+0nOr47bV8tfS476EgyEMhoKvJCZLbgqoDFN7DJwkxL88RR0aiOqOYV1ZnESHqb+RmdH8w=="], "@ai-sdk/amazon-bedrock": ["@ai-sdk/amazon-bedrock@3.0.74", "", { "dependencies": { "@ai-sdk/anthropic": "2.0.58", "@ai-sdk/provider": "2.0.1", "@ai-sdk/provider-utils": "3.0.20", "@smithy/eventstream-codec": "^4.0.1", "@smithy/util-utf8": "^4.0.0", "aws4fetch": "^1.0.20" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-q83HE3FBb/HPIvjXsehrHOgCuGHPorSMFt6BYnzIYZy8gNnSqV1OWX4oXVsCAuYPPMtYW/KMK35hmoIFV8QKoQ=="], @@ -721,122 +516,18 @@ "@ai-sdk/xai": ["@ai-sdk/xai@2.0.56", "", { "dependencies": { "@ai-sdk/openai-compatible": "1.0.32", "@ai-sdk/provider": "2.0.1", "@ai-sdk/provider-utils": "3.0.20" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-FGlqwWc3tAYqDHE8r8hQGQLcMiPUwgz90oU2QygUH930OWtCLapFkSu114DgVaIN/qoM1DUX+inv0Ee74Fgp5g=="], - "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], - "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], "@anthropic-ai/sdk": ["@anthropic-ai/sdk@0.71.2", "", { "dependencies": { "json-schema-to-ts": "^3.1.1" }, "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" }, "optionalPeers": ["zod"], "bin": { "anthropic-ai-sdk": "bin/cli" } }, "sha512-TGNDEUuEstk/DKu0/TflXAEt+p+p/WhTlFzEnoosvbaDU2LTjm42igSdlL0VijrKpWejtOKxX0b8A7uc+XiSAQ=="], "@anycable/core": ["@anycable/core@0.9.2", "", { "dependencies": { "nanoevents": "^7.0.1" } }, "sha512-x5ZXDcW/N4cxWl93CnbHs/u7qq4793jS2kNPWm+duPrXlrva+ml2ZGT7X9tuOBKzyIHf60zWCdIK7TUgMPAwXA=="], - "@astrojs/check": ["@astrojs/check@0.9.6", "", { "dependencies": { "@astrojs/language-server": "^2.16.1", "chokidar": "^4.0.1", "kleur": "^4.1.5", "yargs": "^17.7.2" }, "peerDependencies": { "typescript": "^5.0.0" }, "bin": { "astro-check": "bin/astro-check.js" } }, "sha512-jlaEu5SxvSgmfGIFfNgcn5/f+29H61NJzEMfAZ82Xopr4XBchXB1GVlcJsE+elUlsYSbXlptZLX+JMG3b/wZEA=="], - - "@astrojs/cloudflare": ["@astrojs/cloudflare@12.6.3", "", { "dependencies": { "@astrojs/internal-helpers": "0.7.1", "@astrojs/underscore-redirects": "1.0.0", "@cloudflare/workers-types": "^4.20250507.0", "tinyglobby": "^0.2.13", "vite": "^6.3.5", "wrangler": "^4.14.1" }, "peerDependencies": { "astro": "^5.0.0" } }, "sha512-xhJptF5tU2k5eo70nIMyL1Udma0CqmUEnGSlGyFflLqSY82CRQI6nWZ/xZt0ZvmXuErUjIx0YYQNfZsz5CNjLQ=="], - - "@astrojs/compiler": ["@astrojs/compiler@2.13.0", "", {}, "sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw=="], - - "@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.7.1", "", {}, "sha512-7dwEVigz9vUWDw3nRwLQ/yH/xYovlUA0ZD86xoeKEBmkz9O6iELG1yri67PgAPW6VLL/xInA4t7H0CK6VmtkKQ=="], - - "@astrojs/language-server": ["@astrojs/language-server@2.16.3", "", { "dependencies": { "@astrojs/compiler": "^2.13.0", "@astrojs/yaml2ts": "^0.2.2", "@jridgewell/sourcemap-codec": "^1.5.5", "@volar/kit": "~2.4.27", "@volar/language-core": "~2.4.27", "@volar/language-server": "~2.4.27", "@volar/language-service": "~2.4.27", "muggle-string": "^0.4.1", "tinyglobby": "^0.2.15", "volar-service-css": "0.0.68", "volar-service-emmet": "0.0.68", "volar-service-html": "0.0.68", "volar-service-prettier": "0.0.68", "volar-service-typescript": "0.0.68", "volar-service-typescript-twoslash-queries": "0.0.68", "volar-service-yaml": "0.0.68", "vscode-html-languageservice": "^5.6.1", "vscode-uri": "^3.1.0" }, "peerDependencies": { "prettier": "^3.0.0", "prettier-plugin-astro": ">=0.11.0" }, "optionalPeers": ["prettier", "prettier-plugin-astro"], "bin": { "astro-ls": "bin/nodeServer.js" } }, "sha512-yO5K7RYCMXUfeDlnU6UnmtnoXzpuQc0yhlaCNZ67k1C/MiwwwvMZz+LGa+H35c49w5QBfvtr4w4Zcf5PcH8uYA=="], - - "@astrojs/markdown-remark": ["@astrojs/markdown-remark@6.3.1", "", { "dependencies": { "@astrojs/internal-helpers": "0.6.1", "@astrojs/prism": "3.2.0", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "import-meta-resolve": "^4.1.0", "js-yaml": "^4.1.0", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.1", "remark-smartypants": "^3.0.2", "shiki": "^3.0.0", "smol-toml": "^1.3.1", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.0.0", "unist-util-visit-parents": "^6.0.1", "vfile": "^6.0.3" } }, "sha512-c5F5gGrkczUaTVgmMW9g1YMJGzOtRvjjhw6IfGuxarM6ct09MpwysP10US729dy07gg8y+ofVifezvP3BNsWZg=="], - - "@astrojs/mdx": ["@astrojs/mdx@4.3.13", "", { "dependencies": { "@astrojs/markdown-remark": "6.3.10", "@mdx-js/mdx": "^3.1.1", "acorn": "^8.15.0", "es-module-lexer": "^1.7.0", "estree-util-visit": "^2.0.0", "hast-util-to-html": "^9.0.5", "piccolore": "^0.1.3", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "remark-smartypants": "^3.0.2", "source-map": "^0.7.6", "unist-util-visit": "^5.0.0", "vfile": "^6.0.3" }, "peerDependencies": { "astro": "^5.0.0" } }, "sha512-IHDHVKz0JfKBy3//52JSiyWv089b7GVSChIXLrlUOoTLWowG3wr2/8hkaEgEyd/vysvNQvGk+QhysXpJW5ve6Q=="], - - "@astrojs/prism": ["@astrojs/prism@3.2.0", "", { "dependencies": { "prismjs": "^1.29.0" } }, "sha512-GilTHKGCW6HMq7y3BUv9Ac7GMe/MO9gi9GW62GzKtth0SwukCu/qp2wLiGpEujhY+VVhaG9v7kv/5vFzvf4NYw=="], - - "@astrojs/sitemap": ["@astrojs/sitemap@3.7.0", "", { "dependencies": { "sitemap": "^8.0.2", "stream-replace-string": "^2.0.0", "zod": "^3.25.76" } }, "sha512-+qxjUrz6Jcgh+D5VE1gKUJTA3pSthuPHe6Ao5JCxok794Lewx8hBFaWHtOnN0ntb2lfOf7gvOi9TefUswQ/ZVA=="], - - "@astrojs/solid-js": ["@astrojs/solid-js@5.1.0", "", { "dependencies": { "vite": "^6.3.5", "vite-plugin-solid": "^2.11.6" }, "peerDependencies": { "solid-devtools": "^0.30.1", "solid-js": "^1.8.5" }, "optionalPeers": ["solid-devtools"] }, "sha512-VmPHOU9k7m6HHCT2Y1mNzifilUnttlowBM36frGcfj5wERJE9Ci0QtWJbzdf6AlcoIirb7xVw+ByupU011Di9w=="], - - "@astrojs/starlight": ["@astrojs/starlight@0.34.3", "", { "dependencies": { "@astrojs/markdown-remark": "^6.3.1", "@astrojs/mdx": "^4.2.3", "@astrojs/sitemap": "^3.3.0", "@pagefind/default-ui": "^1.3.0", "@types/hast": "^3.0.4", "@types/js-yaml": "^4.0.9", "@types/mdast": "^4.0.4", "astro-expressive-code": "^0.41.1", "bcp-47": "^2.1.0", "hast-util-from-html": "^2.0.1", "hast-util-select": "^6.0.2", "hast-util-to-string": "^3.0.0", "hastscript": "^9.0.0", "i18next": "^23.11.5", "js-yaml": "^4.1.0", "klona": "^2.0.6", "mdast-util-directive": "^3.0.0", "mdast-util-to-markdown": "^2.1.0", "mdast-util-to-string": "^4.0.0", "pagefind": "^1.3.0", "rehype": "^13.0.1", "rehype-format": "^5.0.0", "remark-directive": "^3.0.0", "ultrahtml": "^1.6.0", "unified": "^11.0.5", "unist-util-visit": "^5.0.0", "vfile": "^6.0.2" }, "peerDependencies": { "astro": "^5.5.0" } }, "sha512-MAuD3NF+E+QXJJuVKofoR6xcPTP4BJmYWeOBd03udVdubNGVnPnSWVZAi+ZtnTofES4+mJdp8BNGf+ubUxkiiA=="], - - "@astrojs/telemetry": ["@astrojs/telemetry@3.2.1", "", { "dependencies": { "ci-info": "^4.2.0", "debug": "^4.4.0", "dlv": "^1.1.3", "dset": "^3.1.4", "is-docker": "^3.0.0", "is-wsl": "^3.1.0", "which-pm-runs": "^1.1.0" } }, "sha512-SSVM820Jqc6wjsn7qYfV9qfeQvePtVc1nSofhyap7l0/iakUKywj3hfy3UJAOV4sGV4Q/u450RD4AaCaFvNPlg=="], - - "@astrojs/underscore-redirects": ["@astrojs/underscore-redirects@1.0.0", "", {}, "sha512-qZxHwVnmb5FXuvRsaIGaqWgnftjCuMY+GSbaVZdBmE4j8AfgPqKPxYp8SUERyJcjpKCEmO4wD6ybuGH8A2kVRQ=="], - - "@astrojs/yaml2ts": ["@astrojs/yaml2ts@0.2.2", "", { "dependencies": { "yaml": "^2.5.0" } }, "sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ=="], - "@aws-crypto/crc32": ["@aws-crypto/crc32@5.2.0", "", { "dependencies": { "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "tslib": "^2.6.2" } }, "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg=="], - "@aws-crypto/crc32c": ["@aws-crypto/crc32c@5.2.0", "", { "dependencies": { "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "tslib": "^2.6.2" } }, "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag=="], - - "@aws-crypto/sha1-browser": ["@aws-crypto/sha1-browser@5.2.0", "", { "dependencies": { "@aws-crypto/supports-web-crypto": "^5.2.0", "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" } }, "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg=="], - - "@aws-crypto/sha256-browser": ["@aws-crypto/sha256-browser@5.2.0", "", { "dependencies": { "@aws-crypto/sha256-js": "^5.2.0", "@aws-crypto/supports-web-crypto": "^5.2.0", "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" } }, "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw=="], - - "@aws-crypto/sha256-js": ["@aws-crypto/sha256-js@5.2.0", "", { "dependencies": { "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "tslib": "^2.6.2" } }, "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA=="], - - "@aws-crypto/supports-web-crypto": ["@aws-crypto/supports-web-crypto@5.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg=="], - "@aws-crypto/util": ["@aws-crypto/util@5.2.0", "", { "dependencies": { "@aws-sdk/types": "^3.222.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" } }, "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ=="], - "@aws-sdk/client-s3": ["@aws-sdk/client-s3@3.933.0", "", { "dependencies": { "@aws-crypto/sha1-browser": "5.2.0", "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.932.0", "@aws-sdk/credential-provider-node": "3.933.0", "@aws-sdk/middleware-bucket-endpoint": "3.930.0", "@aws-sdk/middleware-expect-continue": "3.930.0", "@aws-sdk/middleware-flexible-checksums": "3.932.0", "@aws-sdk/middleware-host-header": "3.930.0", "@aws-sdk/middleware-location-constraint": "3.930.0", "@aws-sdk/middleware-logger": "3.930.0", "@aws-sdk/middleware-recursion-detection": "3.933.0", "@aws-sdk/middleware-sdk-s3": "3.932.0", "@aws-sdk/middleware-ssec": "3.930.0", "@aws-sdk/middleware-user-agent": "3.932.0", "@aws-sdk/region-config-resolver": "3.930.0", "@aws-sdk/signature-v4-multi-region": "3.932.0", "@aws-sdk/types": "3.930.0", "@aws-sdk/util-endpoints": "3.930.0", "@aws-sdk/util-user-agent-browser": "3.930.0", "@aws-sdk/util-user-agent-node": "3.932.0", "@smithy/config-resolver": "^4.4.3", "@smithy/core": "^3.18.2", "@smithy/eventstream-serde-browser": "^4.2.5", "@smithy/eventstream-serde-config-resolver": "^4.3.5", "@smithy/eventstream-serde-node": "^4.2.5", "@smithy/fetch-http-handler": "^5.3.6", "@smithy/hash-blob-browser": "^4.2.6", "@smithy/hash-node": "^4.2.5", "@smithy/hash-stream-node": "^4.2.5", "@smithy/invalid-dependency": "^4.2.5", "@smithy/md5-js": "^4.2.5", "@smithy/middleware-content-length": "^4.2.5", "@smithy/middleware-endpoint": "^4.3.9", "@smithy/middleware-retry": "^4.4.9", "@smithy/middleware-serde": "^4.2.5", "@smithy/middleware-stack": "^4.2.5", "@smithy/node-config-provider": "^4.3.5", "@smithy/node-http-handler": "^4.4.5", "@smithy/protocol-http": "^5.3.5", "@smithy/smithy-client": "^4.9.5", "@smithy/types": "^4.9.0", "@smithy/url-parser": "^4.2.5", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", "@smithy/util-defaults-mode-browser": "^4.3.8", "@smithy/util-defaults-mode-node": "^4.2.11", "@smithy/util-endpoints": "^3.2.5", "@smithy/util-middleware": "^4.2.5", "@smithy/util-retry": "^4.2.5", "@smithy/util-stream": "^4.5.6", "@smithy/util-utf8": "^4.2.0", "@smithy/util-waiter": "^4.2.5", "tslib": "^2.6.2" } }, "sha512-KxwZvdxdCeWK6o8mpnb+kk7Kgb8V+8AjTwSXUWH1UAD85B0tjdo1cSfE5zoR5fWGol4Ml5RLez12a6LPhsoTqA=="], - - "@aws-sdk/client-sso": ["@aws-sdk/client-sso@3.933.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.932.0", "@aws-sdk/middleware-host-header": "3.930.0", "@aws-sdk/middleware-logger": "3.930.0", "@aws-sdk/middleware-recursion-detection": "3.933.0", "@aws-sdk/middleware-user-agent": "3.932.0", "@aws-sdk/region-config-resolver": "3.930.0", "@aws-sdk/types": "3.930.0", "@aws-sdk/util-endpoints": "3.930.0", "@aws-sdk/util-user-agent-browser": "3.930.0", "@aws-sdk/util-user-agent-node": "3.932.0", "@smithy/config-resolver": "^4.4.3", "@smithy/core": "^3.18.2", "@smithy/fetch-http-handler": "^5.3.6", "@smithy/hash-node": "^4.2.5", "@smithy/invalid-dependency": "^4.2.5", "@smithy/middleware-content-length": "^4.2.5", "@smithy/middleware-endpoint": "^4.3.9", "@smithy/middleware-retry": "^4.4.9", "@smithy/middleware-serde": "^4.2.5", "@smithy/middleware-stack": "^4.2.5", "@smithy/node-config-provider": "^4.3.5", "@smithy/node-http-handler": "^4.4.5", "@smithy/protocol-http": "^5.3.5", "@smithy/smithy-client": "^4.9.5", "@smithy/types": "^4.9.0", "@smithy/url-parser": "^4.2.5", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", "@smithy/util-defaults-mode-browser": "^4.3.8", "@smithy/util-defaults-mode-node": "^4.2.11", "@smithy/util-endpoints": "^3.2.5", "@smithy/util-middleware": "^4.2.5", "@smithy/util-retry": "^4.2.5", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-zwGLSiK48z3PzKpQiDMKP85+fpIrPMF1qQOQW9OW7BGj5AuBZIisT2O4VzIgYJeh+t47MLU7VgBQL7muc+MJDg=="], - - "@aws-sdk/client-sts": ["@aws-sdk/client-sts@3.782.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.775.0", "@aws-sdk/credential-provider-node": "3.782.0", "@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-user-agent": "3.782.0", "@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/types": "3.775.0", "@aws-sdk/util-endpoints": "3.782.0", "@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-node": "3.782.0", "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/fetch-http-handler": "^5.0.2", "@smithy/hash-node": "^4.0.2", "@smithy/invalid-dependency": "^4.0.2", "@smithy/middleware-content-length": "^4.0.2", "@smithy/middleware-endpoint": "^4.1.0", "@smithy/middleware-retry": "^4.1.0", "@smithy/middleware-serde": "^4.0.3", "@smithy/middleware-stack": "^4.0.2", "@smithy/node-config-provider": "^4.0.2", "@smithy/node-http-handler": "^4.0.4", "@smithy/protocol-http": "^5.1.0", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/url-parser": "^4.0.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", "@smithy/util-defaults-mode-browser": "^4.0.8", "@smithy/util-defaults-mode-node": "^4.0.8", "@smithy/util-endpoints": "^3.0.2", "@smithy/util-middleware": "^4.0.2", "@smithy/util-retry": "^4.0.2", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-Q1QLY3xE2z1trgriusP/6w40mI/yJjM524bN4gs+g6YX4sZGufpa7+Dj+JjL4fz8f9BCJ3ZlI+p4WxFxH7qvdQ=="], - - "@aws-sdk/core": ["@aws-sdk/core@3.932.0", "", { "dependencies": { "@aws-sdk/types": "3.930.0", "@aws-sdk/xml-builder": "3.930.0", "@smithy/core": "^3.18.2", "@smithy/node-config-provider": "^4.3.5", "@smithy/property-provider": "^4.2.5", "@smithy/protocol-http": "^5.3.5", "@smithy/signature-v4": "^5.3.5", "@smithy/smithy-client": "^4.9.5", "@smithy/types": "^4.9.0", "@smithy/util-base64": "^4.3.0", "@smithy/util-middleware": "^4.2.5", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-AS8gypYQCbNojwgjvZGkJocC2CoEICDx9ZJ15ILsv+MlcCVLtUJSRSx3VzJOUY2EEIaGLRrPNlIqyn/9/fySvA=="], - - "@aws-sdk/credential-provider-env": ["@aws-sdk/credential-provider-env@3.932.0", "", { "dependencies": { "@aws-sdk/core": "3.932.0", "@aws-sdk/types": "3.930.0", "@smithy/property-provider": "^4.2.5", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-ozge/c7NdHUDyHqro6+P5oHt8wfKSUBN+olttiVfBe9Mw3wBMpPa3gQ0pZnG+gwBkKskBuip2bMR16tqYvUSEA=="], - - "@aws-sdk/credential-provider-http": ["@aws-sdk/credential-provider-http@3.932.0", "", { "dependencies": { "@aws-sdk/core": "3.932.0", "@aws-sdk/types": "3.930.0", "@smithy/fetch-http-handler": "^5.3.6", "@smithy/node-http-handler": "^4.4.5", "@smithy/property-provider": "^4.2.5", "@smithy/protocol-http": "^5.3.5", "@smithy/smithy-client": "^4.9.5", "@smithy/types": "^4.9.0", "@smithy/util-stream": "^4.5.6", "tslib": "^2.6.2" } }, "sha512-b6N9Nnlg8JInQwzBkUq5spNaXssM3h3zLxGzpPrnw0nHSIWPJPTbZzA5Ca285fcDUFuKP+qf3qkuqlAjGOdWhg=="], - - "@aws-sdk/credential-provider-ini": ["@aws-sdk/credential-provider-ini@3.933.0", "", { "dependencies": { "@aws-sdk/core": "3.932.0", "@aws-sdk/credential-provider-env": "3.932.0", "@aws-sdk/credential-provider-http": "3.932.0", "@aws-sdk/credential-provider-process": "3.932.0", "@aws-sdk/credential-provider-sso": "3.933.0", "@aws-sdk/credential-provider-web-identity": "3.933.0", "@aws-sdk/nested-clients": "3.933.0", "@aws-sdk/types": "3.930.0", "@smithy/credential-provider-imds": "^4.2.5", "@smithy/property-provider": "^4.2.5", "@smithy/shared-ini-file-loader": "^4.4.0", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-HygGyKuMG5AaGXsmM0d81miWDon55xwalRHB3UmDg3QBhtunbNIoIaWUbNTKuBZXcIN6emeeEZw/YgSMqLc0YA=="], - - "@aws-sdk/credential-provider-node": ["@aws-sdk/credential-provider-node@3.933.0", "", { "dependencies": { "@aws-sdk/credential-provider-env": "3.932.0", "@aws-sdk/credential-provider-http": "3.932.0", "@aws-sdk/credential-provider-ini": "3.933.0", "@aws-sdk/credential-provider-process": "3.932.0", "@aws-sdk/credential-provider-sso": "3.933.0", "@aws-sdk/credential-provider-web-identity": "3.933.0", "@aws-sdk/types": "3.930.0", "@smithy/credential-provider-imds": "^4.2.5", "@smithy/property-provider": "^4.2.5", "@smithy/shared-ini-file-loader": "^4.4.0", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-L2dE0Y7iMLammQewPKNeEh1z/fdJyYEU+/QsLBD9VEh+SXcN/FIyTi21Isw8wPZN6lMB9PDVtISzBnF8HuSFrw=="], - - "@aws-sdk/credential-provider-process": ["@aws-sdk/credential-provider-process@3.932.0", "", { "dependencies": { "@aws-sdk/core": "3.932.0", "@aws-sdk/types": "3.930.0", "@smithy/property-provider": "^4.2.5", "@smithy/shared-ini-file-loader": "^4.4.0", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-BodZYKvT4p/Dkm28Ql/FhDdS1+p51bcZeMMu2TRtU8PoMDHnVDhHz27zASEKSZwmhvquxHrZHB0IGuVqjZUtSQ=="], - - "@aws-sdk/credential-provider-sso": ["@aws-sdk/credential-provider-sso@3.933.0", "", { "dependencies": { "@aws-sdk/client-sso": "3.933.0", "@aws-sdk/core": "3.932.0", "@aws-sdk/token-providers": "3.933.0", "@aws-sdk/types": "3.930.0", "@smithy/property-provider": "^4.2.5", "@smithy/shared-ini-file-loader": "^4.4.0", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-/R1DBR7xNcuZIhS2RirU+P2o8E8/fOk+iLAhbqeSTq+g09fP/F6W7ouFpS5eVE2NIfWG7YBFoVddOhvuqpn51g=="], - - "@aws-sdk/credential-provider-web-identity": ["@aws-sdk/credential-provider-web-identity@3.933.0", "", { "dependencies": { "@aws-sdk/core": "3.932.0", "@aws-sdk/nested-clients": "3.933.0", "@aws-sdk/types": "3.930.0", "@smithy/property-provider": "^4.2.5", "@smithy/shared-ini-file-loader": "^4.4.0", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-c7Eccw2lhFx2/+qJn3g+uIDWRuWi2A6Sz3PVvckFUEzPsP0dPUo19hlvtarwP5GzrsXn0yEPRVhpewsIaSCGaQ=="], - - "@aws-sdk/middleware-bucket-endpoint": ["@aws-sdk/middleware-bucket-endpoint@3.930.0", "", { "dependencies": { "@aws-sdk/types": "3.930.0", "@aws-sdk/util-arn-parser": "3.893.0", "@smithy/node-config-provider": "^4.3.5", "@smithy/protocol-http": "^5.3.5", "@smithy/types": "^4.9.0", "@smithy/util-config-provider": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-cnCLWeKPYgvV4yRYPFH6pWMdUByvu2cy2BAlfsPpvnm4RaVioztyvxmQj5PmVN5fvWs5w/2d6U7le8X9iye2sA=="], - - "@aws-sdk/middleware-expect-continue": ["@aws-sdk/middleware-expect-continue@3.930.0", "", { "dependencies": { "@aws-sdk/types": "3.930.0", "@smithy/protocol-http": "^5.3.5", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-5HEQ+JU4DrLNWeY27wKg/jeVa8Suy62ivJHOSUf6e6hZdVIMx0h/kXS1fHEQNNiLu2IzSEP/bFXsKBaW7x7s0g=="], - - "@aws-sdk/middleware-flexible-checksums": ["@aws-sdk/middleware-flexible-checksums@3.932.0", "", { "dependencies": { "@aws-crypto/crc32": "5.2.0", "@aws-crypto/crc32c": "5.2.0", "@aws-crypto/util": "5.2.0", "@aws-sdk/core": "3.932.0", "@aws-sdk/types": "3.930.0", "@smithy/is-array-buffer": "^4.2.0", "@smithy/node-config-provider": "^4.3.5", "@smithy/protocol-http": "^5.3.5", "@smithy/types": "^4.9.0", "@smithy/util-middleware": "^4.2.5", "@smithy/util-stream": "^4.5.6", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-hyvRz/XS/0HTHp9/Ld1mKwpOi7bZu5olI42+T112rkCTbt1bewkygzEl4oflY4H7cKMamQusYoL0yBUD/QSEvA=="], - - "@aws-sdk/middleware-host-header": ["@aws-sdk/middleware-host-header@3.930.0", "", { "dependencies": { "@aws-sdk/types": "3.930.0", "@smithy/protocol-http": "^5.3.5", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-x30jmm3TLu7b/b+67nMyoV0NlbnCVT5DI57yDrhXAPCtdgM1KtdLWt45UcHpKOm1JsaIkmYRh2WYu7Anx4MG0g=="], - - "@aws-sdk/middleware-location-constraint": ["@aws-sdk/middleware-location-constraint@3.930.0", "", { "dependencies": { "@aws-sdk/types": "3.930.0", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-QIGNsNUdRICog+LYqmtJ03PLze6h2KCORXUs5td/hAEjVP5DMmubhtrGg1KhWyctACluUH/E/yrD14p4pRXxwA=="], - - "@aws-sdk/middleware-logger": ["@aws-sdk/middleware-logger@3.930.0", "", { "dependencies": { "@aws-sdk/types": "3.930.0", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-vh4JBWzMCBW8wREvAwoSqB2geKsZwSHTa0nSt0OMOLp2PdTYIZDi0ZiVMmpfnjcx9XbS6aSluLv9sKx4RrG46A=="], - - "@aws-sdk/middleware-recursion-detection": ["@aws-sdk/middleware-recursion-detection@3.933.0", "", { "dependencies": { "@aws-sdk/types": "3.930.0", "@aws/lambda-invoke-store": "^0.2.0", "@smithy/protocol-http": "^5.3.5", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-qgrMlkVKzTCAdNw2A05DC2sPBo0KRQ7wk+lbYSRJnWVzcrceJhnmhoZVV5PFv7JtchK7sHVcfm9lcpiyd+XaCA=="], - - "@aws-sdk/middleware-sdk-s3": ["@aws-sdk/middleware-sdk-s3@3.932.0", "", { "dependencies": { "@aws-sdk/core": "3.932.0", "@aws-sdk/types": "3.930.0", "@aws-sdk/util-arn-parser": "3.893.0", "@smithy/core": "^3.18.2", "@smithy/node-config-provider": "^4.3.5", "@smithy/protocol-http": "^5.3.5", "@smithy/signature-v4": "^5.3.5", "@smithy/smithy-client": "^4.9.5", "@smithy/types": "^4.9.0", "@smithy/util-config-provider": "^4.2.0", "@smithy/util-middleware": "^4.2.5", "@smithy/util-stream": "^4.5.6", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-bYMHxqQzseaAP9Z5qLI918z5AtbAnZRRtFi3POb4FLZyreBMgCgBNaPkIhdgywnkqaydTWvbMBX4s9f4gUwlTw=="], - - "@aws-sdk/middleware-ssec": ["@aws-sdk/middleware-ssec@3.930.0", "", { "dependencies": { "@aws-sdk/types": "3.930.0", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-N2/SvodmaDS6h7CWfuapt3oJyn1T2CBz0CsDIiTDv9cSagXAVFjPdm2g4PFJqrNBeqdDIoYBnnta336HmamWHg=="], - - "@aws-sdk/middleware-user-agent": ["@aws-sdk/middleware-user-agent@3.932.0", "", { "dependencies": { "@aws-sdk/core": "3.932.0", "@aws-sdk/types": "3.930.0", "@aws-sdk/util-endpoints": "3.930.0", "@smithy/core": "^3.18.2", "@smithy/protocol-http": "^5.3.5", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-9BGTbJyA/4PTdwQWE9hAFIJGpsYkyEW20WON3i15aDqo5oRZwZmqaVageOD57YYqG8JDJjvcwKyDdR4cc38dvg=="], - - "@aws-sdk/nested-clients": ["@aws-sdk/nested-clients@3.933.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.932.0", "@aws-sdk/middleware-host-header": "3.930.0", "@aws-sdk/middleware-logger": "3.930.0", "@aws-sdk/middleware-recursion-detection": "3.933.0", "@aws-sdk/middleware-user-agent": "3.932.0", "@aws-sdk/region-config-resolver": "3.930.0", "@aws-sdk/types": "3.930.0", "@aws-sdk/util-endpoints": "3.930.0", "@aws-sdk/util-user-agent-browser": "3.930.0", "@aws-sdk/util-user-agent-node": "3.932.0", "@smithy/config-resolver": "^4.4.3", "@smithy/core": "^3.18.2", "@smithy/fetch-http-handler": "^5.3.6", "@smithy/hash-node": "^4.2.5", "@smithy/invalid-dependency": "^4.2.5", "@smithy/middleware-content-length": "^4.2.5", "@smithy/middleware-endpoint": "^4.3.9", "@smithy/middleware-retry": "^4.4.9", "@smithy/middleware-serde": "^4.2.5", "@smithy/middleware-stack": "^4.2.5", "@smithy/node-config-provider": "^4.3.5", "@smithy/node-http-handler": "^4.4.5", "@smithy/protocol-http": "^5.3.5", "@smithy/smithy-client": "^4.9.5", "@smithy/types": "^4.9.0", "@smithy/url-parser": "^4.2.5", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", "@smithy/util-defaults-mode-browser": "^4.3.8", "@smithy/util-defaults-mode-node": "^4.2.11", "@smithy/util-endpoints": "^3.2.5", "@smithy/util-middleware": "^4.2.5", "@smithy/util-retry": "^4.2.5", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-o1GX0+IPlFi/D8ei9y/jj3yucJWNfPnbB5appVBWevAyUdZA5KzQ2nK/hDxiu9olTZlFEFpf1m1Rn3FaGxHqsw=="], - - "@aws-sdk/region-config-resolver": ["@aws-sdk/region-config-resolver@3.930.0", "", { "dependencies": { "@aws-sdk/types": "3.930.0", "@smithy/config-resolver": "^4.4.3", "@smithy/node-config-provider": "^4.3.5", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-KL2JZqH6aYeQssu1g1KuWsReupdfOoxD6f1as2VC+rdwYFUu4LfzMsFfXnBvvQWWqQ7rZHWOw1T+o5gJmg7Dzw=="], - - "@aws-sdk/signature-v4-multi-region": ["@aws-sdk/signature-v4-multi-region@3.932.0", "", { "dependencies": { "@aws-sdk/middleware-sdk-s3": "3.932.0", "@aws-sdk/types": "3.930.0", "@smithy/protocol-http": "^5.3.5", "@smithy/signature-v4": "^5.3.5", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-NCIRJvoRc9246RZHIusY1+n/neeG2yGhBGdKhghmrNdM+mLLN6Ii7CKFZjx3DhxtpHMpl1HWLTMhdVrGwP2upw=="], - - "@aws-sdk/token-providers": ["@aws-sdk/token-providers@3.933.0", "", { "dependencies": { "@aws-sdk/core": "3.932.0", "@aws-sdk/nested-clients": "3.933.0", "@aws-sdk/types": "3.930.0", "@smithy/property-provider": "^4.2.5", "@smithy/shared-ini-file-loader": "^4.4.0", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-Qzq7zj9yXUgAAJEbbmqRhm0jmUndl8nHG0AbxFEfCfQRVZWL96Qzx0mf8lYwT9hIMrXncLwy31HOthmbXwFRwQ=="], - "@aws-sdk/types": ["@aws-sdk/types@3.930.0", "", { "dependencies": { "@smithy/types": "^4.9.0", "tslib": "^2.6.2" } }, "sha512-we/vaAgwlEFW7IeftmCLlLMw+6hFs3DzZPJw7lVHbj/5HJ0bz9gndxEsS2lQoeJ1zhiiLqAqvXxmM43s0MBg0A=="], - "@aws-sdk/util-arn-parser": ["@aws-sdk/util-arn-parser@3.893.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-u8H4f2Zsi19DGnwj5FSZzDMhytYF/bCh37vAtBsn3cNDL3YG578X5oc+wSX54pM3tOxS+NY7tvOAo52SW7koUA=="], - - "@aws-sdk/util-endpoints": ["@aws-sdk/util-endpoints@3.930.0", "", { "dependencies": { "@aws-sdk/types": "3.930.0", "@smithy/types": "^4.9.0", "@smithy/url-parser": "^4.2.5", "@smithy/util-endpoints": "^3.2.5", "tslib": "^2.6.2" } }, "sha512-M2oEKBzzNAYr136RRc6uqw3aWlwCxqTP1Lawps9E1d2abRPvl1p1ztQmmXp1Ak4rv8eByIZ+yQyKQ3zPdRG5dw=="], - - "@aws-sdk/util-locate-window": ["@aws-sdk/util-locate-window@3.965.4", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-H1onv5SkgPBK2P6JR2MjGgbOnttoNzSPIRoeZTNPZYyaplwGg50zS3amXvXqF0/qfXpWEC9rLWU564QTB9bSog=="], - - "@aws-sdk/util-user-agent-browser": ["@aws-sdk/util-user-agent-browser@3.930.0", "", { "dependencies": { "@aws-sdk/types": "3.930.0", "@smithy/types": "^4.9.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "sha512-q6lCRm6UAe+e1LguM5E4EqM9brQlDem4XDcQ87NzEvlTW6GzmNCO0w1jS0XgCFXQHjDxjdlNFX+5sRbHijwklg=="], - - "@aws-sdk/util-user-agent-node": ["@aws-sdk/util-user-agent-node@3.932.0", "", { "dependencies": { "@aws-sdk/middleware-user-agent": "3.932.0", "@aws-sdk/types": "3.930.0", "@smithy/node-config-provider": "^4.3.5", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" }, "peerDependencies": { "aws-crt": ">=1.0.0" }, "optionalPeers": ["aws-crt"] }, "sha512-/kC6cscHrZL74TrZtgiIL5jJNbVsw9duGGPurmaVgoCbP7NnxyaSWEurbNV3VPNPhNE3bV3g4Ci+odq+AlsYQg=="], - - "@aws-sdk/xml-builder": ["@aws-sdk/xml-builder@3.930.0", "", { "dependencies": { "@smithy/types": "^4.9.0", "fast-xml-parser": "5.2.5", "tslib": "^2.6.2" } }, "sha512-YIfkD17GocxdmlUVc3ia52QhcWuRIUJonbF8A2CYfcWNV3HzvAqpcPeC0bYUhkK+8e8YO1ARnLKZQE0TlwzorA=="], - - "@aws/lambda-invoke-store": ["@aws/lambda-invoke-store@0.2.3", "", {}, "sha512-oLvsaPMTBejkkmHhjf09xTgk71mOqyr/409NKhRIL08If7AhVfUsJhVsx386uJaqNd42v9kWamQ9lFbkoC2dYw=="], - "@azure/abort-controller": ["@azure/abort-controller@2.1.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA=="], "@azure/core-auth": ["@azure/core-auth@1.10.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" } }, "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg=="], @@ -911,10 +602,6 @@ "@babel/plugin-transform-modules-commonjs": ["@babel/plugin-transform-modules-commonjs@7.28.6", "", { "dependencies": { "@babel/helper-module-transforms": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA=="], - "@babel/plugin-transform-react-jsx-self": ["@babel/plugin-transform-react-jsx-self@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw=="], - - "@babel/plugin-transform-react-jsx-source": ["@babel/plugin-transform-react-jsx-source@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw=="], - "@babel/plugin-transform-typescript": ["@babel/plugin-transform-typescript@7.28.6", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw=="], "@babel/preset-typescript": ["@babel/preset-typescript@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-transform-modules-commonjs": "^7.27.1", "@babel/plugin-transform-typescript": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ=="], @@ -933,70 +620,14 @@ "@bufbuild/protoplugin": ["@bufbuild/protoplugin@2.11.0", "", { "dependencies": { "@bufbuild/protobuf": "2.11.0", "@typescript/vfs": "^1.6.2", "typescript": "5.4.5" } }, "sha512-lyZVNFUHArIOt4W0+dwYBe5GBwbKzbOy8ObaloEqsw9Mmiwv2O48TwddDoHN4itylC+BaEGqFdI1W8WQt2vWJQ=="], - "@capsizecss/unpack": ["@capsizecss/unpack@2.4.0", "", { "dependencies": { "blob-to-buffer": "^1.2.8", "cross-fetch": "^3.0.4", "fontkit": "^2.0.2" } }, "sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q=="], - "@clack/core": ["@clack/core@1.0.0-alpha.1", "", { "dependencies": { "picocolors": "^1.0.0", "sisteransi": "^1.0.5" } }, "sha512-rFbCU83JnN7l3W1nfgCqqme4ZZvTTgsiKQ6FM0l+r0P+o2eJpExcocBUWUIwnDzL76Aca9VhUdWmB2MbUv+Qyg=="], "@clack/prompts": ["@clack/prompts@1.0.0-alpha.1", "", { "dependencies": { "@clack/core": "1.0.0-alpha.1", "picocolors": "^1.0.0", "sisteransi": "^1.0.5" } }, "sha512-07MNT0OsxjKOcyVfX8KhXBhJiyUbDP1vuIAcHc+nx5v93MJO23pX3X/k3bWz6T3rpM9dgWPq90i4Jq7gZAyMbw=="], - "@cloudflare/kv-asset-handler": ["@cloudflare/kv-asset-handler@0.4.0", "", { "dependencies": { "mime": "^3.0.0" } }, "sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA=="], - - "@cloudflare/unenv-preset": ["@cloudflare/unenv-preset@2.7.11", "", { "peerDependencies": { "unenv": "2.0.0-rc.24", "workerd": "^1.20251106.1" }, "optionalPeers": ["workerd"] }, "sha512-se23f1D4PxKrMKOq+Stz+Yn7AJ9ITHcEecXo2Yjb+UgbUDCEBch1FXQC6hx6uT5fNA3kmX3mfzeZiUmpK1W9IQ=="], - - "@cloudflare/vite-plugin": ["@cloudflare/vite-plugin@1.15.2", "", { "dependencies": { "@cloudflare/unenv-preset": "2.7.11", "@remix-run/node-fetch-server": "^0.8.0", "get-port": "^7.1.0", "miniflare": "4.20251118.1", "picocolors": "^1.1.1", "tinyglobby": "^0.2.12", "unenv": "2.0.0-rc.24", "wrangler": "4.50.0", "ws": "8.18.0" }, "peerDependencies": { "vite": "^6.1.0 || ^7.0.0" } }, "sha512-SPMxsesbABOjzcAa4IzW+yM+fTIjx3GG1doh229Pg16FjSEZJhknyRpcld4gnaZioK3JKwG9FWdKsUhbplKY8w=="], - - "@cloudflare/workerd-darwin-64": ["@cloudflare/workerd-darwin-64@1.20251118.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-UmWmYEYS/LkK/4HFKN6xf3Hk8cw70PviR+ftr3hUvs9HYZS92IseZEp16pkL6ZBETrPRpZC7OrzoYF7ky6kHsg=="], - - "@cloudflare/workerd-darwin-arm64": ["@cloudflare/workerd-darwin-arm64@1.20251118.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RockU7Qzf4rxNfY1lx3j4rvwutNLjTIX7rr2hogbQ4mzLo8Ea40/oZTzXVxl+on75joLBrt0YpenGW8o/r44QA=="], - - "@cloudflare/workerd-linux-64": ["@cloudflare/workerd-linux-64@1.20251118.0", "", { "os": "linux", "cpu": "x64" }, "sha512-aT97GnOAbJDuuOG0zPVhgRk0xFtB1dzBMrxMZ09eubDLoU4djH4BuORaqvxNRMmHgKfa4T6drthckT0NjUvBdw=="], - - "@cloudflare/workerd-linux-arm64": ["@cloudflare/workerd-linux-arm64@1.20251118.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-bXZPJcwlq00MPOXqP7DMWjr+goYj0+Fqyw6zgEC2M3FR1+SWla4yjghnZ4IdpN+H1t7VbUrsi5np2LzMUFs0NA=="], - - "@cloudflare/workerd-windows-64": ["@cloudflare/workerd-windows-64@1.20251118.0", "", { "os": "win32", "cpu": "x64" }, "sha512-2LV99AHSlpr8WcCb/BYbU2QsYkXLUL1izN6YKWkN9Eibv80JKX0RtgmD3dfmajE5sNvClavxZejgzVvHD9N9Ag=="], - - "@cloudflare/workers-types": ["@cloudflare/workers-types@4.20251008.0", "", {}, "sha512-dZLkO4PbCL0qcCSKzuW7KE4GYe49lI12LCfQ5y9XeSwgYBoAUbwH4gmJ6A0qUIURiTJTkGkRkhVPqpq2XNgYRA=="], - "@corvu/utils": ["@corvu/utils@0.4.2", "", { "dependencies": { "@floating-ui/dom": "^1.6.11" }, "peerDependencies": { "solid-js": "^1.8" } }, "sha512-Ox2kYyxy7NoXdKWdHeDEjZxClwzO4SKM8plAaVwmAJPxHMqA0rLOoAsa+hBDwRLpctf+ZRnAd/ykguuJidnaTA=="], - "@cspotcode/source-map-support": ["@cspotcode/source-map-support@0.8.1", "", { "dependencies": { "@jridgewell/trace-mapping": "0.3.9" } }, "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw=="], - - "@ctrl/tinycolor": ["@ctrl/tinycolor@4.2.0", "", {}, "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A=="], - "@dimforge/rapier2d-simd-compat": ["@dimforge/rapier2d-simd-compat@0.17.3", "", {}, "sha512-bijvwWz6NHsNj5e5i1vtd3dU2pDhthSaTUZSh14DUGGKJfw8eMnlWZsxwHBxB/a3AXVNDjL9abuHw1k9FGR+jg=="], - "@dot/log": ["@dot/log@0.1.5", "", { "dependencies": { "chalk": "^4.1.2", "loglevelnext": "^6.0.0", "p-defer": "^3.0.0" } }, "sha512-ECraEVJWv2f2mWK93lYiefUkphStVlKD6yKDzisuoEmxuLKrxO9iGetHK2DoEAkj7sxjE886n0OUVVCUx0YPNg=="], - - "@drizzle-team/brocli": ["@drizzle-team/brocli@0.10.2", "", {}, "sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w=="], - - "@emmetio/abbreviation": ["@emmetio/abbreviation@2.3.3", "", { "dependencies": { "@emmetio/scanner": "^1.0.4" } }, "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA=="], - - "@emmetio/css-abbreviation": ["@emmetio/css-abbreviation@2.1.8", "", { "dependencies": { "@emmetio/scanner": "^1.0.4" } }, "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw=="], - - "@emmetio/css-parser": ["@emmetio/css-parser@0.4.1", "", { "dependencies": { "@emmetio/stream-reader": "^2.2.0", "@emmetio/stream-reader-utils": "^0.1.0" } }, "sha512-2bC6m0MV/voF4CTZiAbG5MWKbq5EBmDPKu9Sb7s7nVcEzNQlrZP6mFFFlIaISM8X6514H9shWMme1fCm8cWAfQ=="], - - "@emmetio/html-matcher": ["@emmetio/html-matcher@1.3.0", "", { "dependencies": { "@emmetio/scanner": "^1.0.0" } }, "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ=="], - - "@emmetio/scanner": ["@emmetio/scanner@1.0.4", "", {}, "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA=="], - - "@emmetio/stream-reader": ["@emmetio/stream-reader@2.2.0", "", {}, "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw=="], - - "@emmetio/stream-reader-utils": ["@emmetio/stream-reader-utils@0.1.0", "", {}, "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A=="], - - "@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" } }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], - - "@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], - - "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], - - "@emotion/is-prop-valid": ["@emotion/is-prop-valid@0.8.8", "", { "dependencies": { "@emotion/memoize": "0.7.4" } }, "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA=="], - - "@emotion/memoize": ["@emotion/memoize@0.7.4", "", {}, "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="], - - "@esbuild-kit/core-utils": ["@esbuild-kit/core-utils@3.3.2", "", { "dependencies": { "esbuild": "~0.18.20", "source-map-support": "^0.5.21" } }, "sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ=="], - - "@esbuild-kit/esm-loader": ["@esbuild-kit/esm-loader@2.6.5", "", { "dependencies": { "@esbuild-kit/core-utils": "^3.3.2", "get-tsconfig": "^4.7.0" } }, "sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA=="], - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw=="], "@esbuild/android-arm": ["@esbuild/android-arm@0.27.2", "", { "os": "android", "cpu": "arm" }, "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA=="], @@ -1067,14 +698,6 @@ "@eslint/plugin-kit": ["@eslint/plugin-kit@0.4.1", "", { "dependencies": { "@eslint/core": "^0.17.0", "levn": "^0.4.1" } }, "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA=="], - "@expressive-code/core": ["@expressive-code/core@0.41.6", "", { "dependencies": { "@ctrl/tinycolor": "^4.0.4", "hast-util-select": "^6.0.2", "hast-util-to-html": "^9.0.1", "hast-util-to-text": "^4.0.1", "hastscript": "^9.0.0", "postcss": "^8.4.38", "postcss-nested": "^6.0.1", "unist-util-visit": "^5.0.0", "unist-util-visit-parents": "^6.0.1" } }, "sha512-FvJQP+hG0jWi/FLBSmvHInDqWR7jNANp9PUDjdMqSshHb0y7sxx3vHuoOr6SgXjWw+MGLqorZyPQ0aAlHEok6g=="], - - "@expressive-code/plugin-frames": ["@expressive-code/plugin-frames@0.41.6", "", { "dependencies": { "@expressive-code/core": "^0.41.6" } }, "sha512-d+hkSYXIQot6fmYnOmWAM+7TNWRv/dhfjMsNq+mIZz8Tb4mPHOcgcfZeEM5dV9TDL0ioQNvtcqQNuzA1sRPjxg=="], - - "@expressive-code/plugin-shiki": ["@expressive-code/plugin-shiki@0.41.6", "", { "dependencies": { "@expressive-code/core": "^0.41.6", "shiki": "^3.2.2" } }, "sha512-Y6zmKBmsIUtWTzdefqlzm/h9Zz0Rc4gNdt2GTIH7fhHH2I9+lDYCa27BDwuBhjqcos6uK81Aca9dLUC4wzN+ng=="], - - "@expressive-code/plugin-text-markers": ["@expressive-code/plugin-text-markers@0.41.6", "", { "dependencies": { "@expressive-code/core": "^0.41.6" } }, "sha512-PBFa1wGyYzRExMDzBmAWC6/kdfG1oLn4pLpBeTfIRrALPjcGA/59HP3e7q9J0Smk4pC7U+lWkA2LHR8FYV8U7Q=="], - "@fastify/ajv-compiler": ["@fastify/ajv-compiler@4.0.5", "", { "dependencies": { "ajv": "^8.12.0", "ajv-formats": "^3.0.1", "fast-uri": "^3.0.0" } }, "sha512-KoWKW+MhvfTRWL4qrhUwAAZoaChluo0m0vbiJlGMt2GXvL4LVPQEjt8kSpHI3IBq5Rez8fg+XeH3cneztq+C7A=="], "@fastify/busboy": ["@fastify/busboy@2.1.1", "", {}, "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA=="], @@ -1095,14 +718,8 @@ "@floating-ui/dom": ["@floating-ui/dom@1.7.5", "", { "dependencies": { "@floating-ui/core": "^1.7.4", "@floating-ui/utils": "^0.2.10" } }, "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg=="], - "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.7", "", { "dependencies": { "@floating-ui/dom": "^1.7.5" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-0tLRojf/1Go2JgEVm+3Frg9A3IW8bJgKgdO0BN5RkF//ufuz2joZM63Npau2ff3J6lUVYgDSNzNkR+aH3IVfjg=="], - "@floating-ui/utils": ["@floating-ui/utils@0.2.10", "", {}, "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="], - "@fontsource/ibm-plex-mono": ["@fontsource/ibm-plex-mono@5.2.5", "", {}, "sha512-G09N3GfuT9qj3Ax2FDZvKqZttzM3v+cco2l8uXamhKyXLdmlaUDH5o88/C3vtTHj2oT7yRKsvxz9F+BXbWKMYA=="], - - "@fontsource/inter": ["@fontsource/inter@5.2.8", "", {}, "sha512-P6r5WnJoKiNVV+zvW2xM13gNdFhAEpQ9dQJHt3naLvfg+LkF2ldgSLiF4T41lf1SQCM9QmkqPTn4TH568IRagg=="], - "@gitlab/gitlab-ai-provider": ["@gitlab/gitlab-ai-provider@3.5.0", "", { "dependencies": { "@anthropic-ai/sdk": "^0.71.0", "@anycable/core": "^0.9.2", "graphql-request": "^6.1.0", "isomorphic-ws": "^5.0.0", "openai": "^6.16.0", "socket.io-client": "^4.8.1", "vscode-jsonrpc": "^8.2.1", "zod": "^3.25.76" }, "peerDependencies": { "@ai-sdk/provider": ">=2.0.0", "@ai-sdk/provider-utils": ">=3.0.0" } }, "sha512-OoAwCz4fOci3h/2l+PRHMclclh3IaFq8w1es2wvBJ8ca7vtglKsBYT7dvmYpsXlu7pg9mopbjcexvmVCQEUTAQ=="], "@gitlab/opencode-gitlab-auth": ["@gitlab/opencode-gitlab-auth@1.3.2", "", { "dependencies": { "@fastify/rate-limit": "^10.2.0", "@opencode-ai/plugin": "*", "fastify": "^5.2.0", "open": "^10.0.0" } }, "sha512-pvGrC+aDVLY8bRCC/fZaG/Qihvt2r4by5xbTo5JTSz9O7yIcR6xG2d9Wkuu4bcXFz674z2C+i5bUk+J/RSdBpg=="], @@ -1133,48 +750,6 @@ "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], - "@ibm/plex": ["@ibm/plex@6.4.1", "", { "dependencies": { "@ibm/telemetry-js": "^1.5.1" } }, "sha512-fnsipQywHt3zWvsnlyYKMikcVI7E2fEwpiPnIHFqlbByXVfQfANAAeJk1IV4mNnxhppUIDlhU0TzwYwL++Rn2g=="], - - "@ibm/telemetry-js": ["@ibm/telemetry-js@1.11.0", "", { "bin": { "ibmtelemetry": "dist/collect.js" } }, "sha512-RO/9j+URJnSfseWg9ZkEX9p+a3Ousd33DBU7rOafoZB08RqdzxFVYJ2/iM50dkBuD0o7WX7GYt1sLbNgCoE+pA=="], - - "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.0.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ=="], - - "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.0.4" }, "os": "darwin", "cpu": "x64" }, "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q=="], - - "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.0.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg=="], - - "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.0.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ=="], - - "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.0.5", "", { "os": "linux", "cpu": "arm" }, "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g=="], - - "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA=="], - - "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.0.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA=="], - - "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw=="], - - "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA=="], - - "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw=="], - - "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.0.5" }, "os": "linux", "cpu": "arm" }, "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ=="], - - "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA=="], - - "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.0.4" }, "os": "linux", "cpu": "s390x" }, "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q=="], - - "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA=="], - - "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g=="], - - "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw=="], - - "@img/sharp-wasm32": ["@img/sharp-wasm32@0.33.5", "", { "dependencies": { "@emnapi/runtime": "^1.2.0" }, "cpu": "none" }, "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg=="], - - "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.33.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ=="], - - "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.33.5", "", { "os": "win32", "cpu": "x64" }, "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg=="], - "@internationalized/date": ["@internationalized/date@3.11.0", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-BOx5huLAWhicM9/ZFs84CzP+V3gBW6vlpM02yzsdYC7TGlZJX1OJiEEHcSayF00Z+3jLlm4w79amvSt6RqKN3Q=="], "@internationalized/number": ["@internationalized/number@3.6.5", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g=="], @@ -1259,48 +834,6 @@ "@jsdevtools/ono": ["@jsdevtools/ono@7.1.3", "", {}, "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg=="], - "@jsx-email/all": ["@jsx-email/all@2.2.3", "", { "dependencies": { "@jsx-email/body": "1.0.2", "@jsx-email/button": "1.0.4", "@jsx-email/column": "1.0.3", "@jsx-email/container": "1.0.2", "@jsx-email/font": "1.0.3", "@jsx-email/head": "1.0.2", "@jsx-email/heading": "1.0.2", "@jsx-email/hr": "1.0.2", "@jsx-email/html": "1.0.2", "@jsx-email/img": "1.0.2", "@jsx-email/link": "1.0.2", "@jsx-email/markdown": "2.0.4", "@jsx-email/preview": "1.0.2", "@jsx-email/render": "1.1.1", "@jsx-email/row": "1.0.2", "@jsx-email/section": "1.0.2", "@jsx-email/tailwind": "2.4.4", "@jsx-email/text": "1.0.2" }, "peerDependencies": { "react": "^18.2.0" } }, "sha512-OBvLe/hVSQc0LlMSTJnkjFoqs3bmxcC4zpy/5pT5agPCSKMvAKQjzmsc2xJ2wO73jSpRV1K/g38GmvdCfrhSoQ=="], - - "@jsx-email/body": ["@jsx-email/body@1.0.2", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-NjR2tgLH4XGfGkm+O8kcVwi9MBqZsXZCLlmk3HlMux3/n/+a5zB+yhJqXWZBJl2i+6cSF+E2O6hK11ekyK9WWQ=="], - - "@jsx-email/button": ["@jsx-email/button@1.0.4", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-NbuxtBtTdcFOKpyw166lvgA8sKpgwQzqpRVSTDZdd+2xlh5gzeckXG9VtCbfktIatD26r45ZMmP68QGK3hxIPA=="], - - "@jsx-email/cli": ["@jsx-email/cli@1.4.3", "", { "dependencies": { "@dot/log": "^0.1.3", "@fontsource/inter": "^5.0.8", "@jsx-email/doiuse-email": "^1.0.1", "@jsx-email/render": "1.1.1", "@radix-ui/colors": "1.0.1", "@radix-ui/react-collapsible": "1.0.3", "@radix-ui/react-popover": "1.0.6", "@radix-ui/react-slot": "1.0.2", "@radix-ui/react-toggle-group": "1.0.4", "@radix-ui/react-tooltip": "1.0.6", "@vitejs/plugin-react": "^4.1.0", "autoprefixer": "^10.4.16", "chalk": "4.1.2", "cheerio": "1.0.0-rc.12", "classnames": "2.3.2", "debug": "^4.3.4", "esbuild": "^0.19.3", "esbuild-plugin-copy": "^2.1.1", "framer-motion": "8.5.5", "globby": "11.0.4", "html-minifier-terser": "^7.2.0", "import-local": "^3.1.0", "js-beautify": "^1.14.9", "mustache": "^4.2.0", "postcss": "^8.4.30", "react": "18.2.0", "react-dom": "18.2.0", "react-router-dom": "6.16.0", "shikiji": "^0.6.8", "superstruct": "^1.0.3", "tailwindcss": "3.3.3", "titleize": "^4.0.0", "vite": "^4.4.9", "vite-plugin-dynamic-import": "^1.5.0", "yargs-parser": "^21.1.1" }, "bin": { "email": "dist/src/index.js" } }, "sha512-Aid5d5U3RM9sjkjzn/X/a5FFWLJSXlwh8pagBVgnUTiaBM8+nroSPZaC21Xe3rl/uwYpY9lc+2AAH9+7SmroiQ=="], - - "@jsx-email/column": ["@jsx-email/column@1.0.3", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-dto5s/INVWy4oMOETX53O53NerpPxezO8CQctriTaHLrqlR22lWoXJZoGTzMvt9uLyoUrYViA6Tj2F9Bio+fOg=="], - - "@jsx-email/container": ["@jsx-email/container@1.0.2", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-Muue8X2PgjxCf+YvUJ6zGTqcmo3i4S3EmsLGYpnWl7e/ZKmMLTjN4DdUeSsi27fWEdpUTjQQG4McMGdFYhZTGg=="], - - "@jsx-email/doiuse-email": ["@jsx-email/doiuse-email@1.0.4", "", { "dependencies": { "@adobe/css-tools": "^4.3.1", "css-what": "^6.1.0", "domhandler": "^5.0.3", "dot-prop": "^8.0.2", "htmlparser2": "^9.0.0", "micromatch": "^4.0.5", "style-to-object": "^1.0.4" } }, "sha512-HfLjuQsAAyAkIZWR0wHR6+P6u40RIX0jBZu/1rgsw18+jc36agZD5j84zG4CDzitRxgXJXrAohPfDFPxcrtjAA=="], - - "@jsx-email/font": ["@jsx-email/font@1.0.3", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-NRp9NBjrmYVwAFYRwuifzvavtHB8blRLEJ+q9BygY3y58+FhHENweU8FMdC5OSts2C99FbKrHUicTSanEj8+Aw=="], - - "@jsx-email/head": ["@jsx-email/head@1.0.2", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-M5Af6Imt7W/Vp09dY76I/v7gRe1aQLmeXjBZZSrSbvpMVQVAd6gwR/druNaAO+zHDoKhXwR50+pxXpnC+TFiIw=="], - - "@jsx-email/heading": ["@jsx-email/heading@1.0.2", "", { "dependencies": { "@radix-ui/react-slot": "1.0.2" }, "peerDependencies": { "react": "^18.2.0" } }, "sha512-yumw176gsAJQnwSx0HCamCj2DozQireayax7s+jvr+TvEvFxNLD4PQvK45c6JdYYD9OPGnjDApks102FJQ7xDQ=="], - - "@jsx-email/hr": ["@jsx-email/hr@1.0.2", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-CuJ/ADJoRwuQyUqulOf00BceTdY9kzrLQTMwGPUmFMtlsF+EFSPNULoksFg6nskVjFV7pBUm78FwiEfP2OAHMQ=="], - - "@jsx-email/html": ["@jsx-email/html@1.0.2", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-FOiJdZWbCwNwsAqRuXlrXo39UTVWtrezuzA0pXY0UD5nEPzwpk7N46EwW8uxBRoqNRPiuUnwnFWLXuPZNAIGlg=="], - - "@jsx-email/img": ["@jsx-email/img@1.0.2", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-aqqnx43Cvq/wVzALhK6n5pSJBqTRwq5wuM66/QAkEJaZgXqrXCNRx1fNeqQt/Zp2j6KmHq3Ax0AHSJX4pjKIDw=="], - - "@jsx-email/link": ["@jsx-email/link@1.0.2", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-+mr+WFHZ7fILkFlSdbusSm9ml6jPq7u89LGe2E71AB23JEaaF8qO5u6so6wySAme+gDIGId/+tobPcTHeI+hHQ=="], - - "@jsx-email/markdown": ["@jsx-email/markdown@2.0.4", "", { "dependencies": { "md-to-react-email": "5.0.0" }, "peerDependencies": { "react": "^18.2.0" } }, "sha512-jYf/BVGKjz7TU1FhEX0ELZGKPQj+6o0R4NjZTBJsJ3PUovgXynS4GqU83eARwGbOSUve/9qvRljsCCQHD+t/Gg=="], - - "@jsx-email/preview": ["@jsx-email/preview@1.0.2", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-dkc3hG08R0J0TEQ/cDCtdyoLYddb1MIvhh5OyTqfd5pgSxPF6MaSH8LkDqMUYpSYZ3RtUK6g4d8q3mF7tx28sQ=="], - - "@jsx-email/render": ["@jsx-email/render@1.1.1", "", { "dependencies": { "html-to-text": "9.0.5", "pretty": "2.0.0" } }, "sha512-0y45YofM0Ak8Rswss1AWgy7v9mlMoHMrgD0x601gvb2HBddDp2r0etNJhhN9ZwW8QOteuYluHD279e+PCr2WxA=="], - - "@jsx-email/row": ["@jsx-email/row@1.0.2", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-6bUr1rqIsUVrhBWcTj0QTZvUQ/deThDKoi10dSfhjmbUqFYr7RdyGwMwsUuFg1YzZCohvy8dVpBIwd+5wmtsIw=="], - - "@jsx-email/section": ["@jsx-email/section@1.0.2", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-gGGE9zkljfrgWOz7NlmFsDPVKCQv6omu+VXsce0yh0+yHBehuFYrv4WOqMZFtfQo6Y1IDdQWt+XCi5GlEvd0Lw=="], - - "@jsx-email/tailwind": ["@jsx-email/tailwind@2.4.4", "", { "dependencies": { "@jsx-email/render": "1.1.1", "react": "18.2.0", "react-dom": "18.2.0", "tw-to-css": "0.0.12" } }, "sha512-RqLD0y2le1ruFBt9MCa0PNnTVUgcS8vcOOWMJUkMezBZUAUkP5KSj3DO+6DdgVn67kH9cnnRvknXo8L6qd6BwA=="], - - "@jsx-email/text": ["@jsx-email/text@1.0.2", "", { "peerDependencies": { "react": "^18.2.0" } }, "sha512-0zzwEwrKtY6tfjPJF0r3krKCDpP/ySYDvkn4+MvIFrIH5RZKmn3XDa5o/3hkbxMwpLn4MsXGIXn9XzMTaqTfUA=="], - "@kilocode/cli": ["@kilocode/cli@workspace:packages/opencode"], "@kilocode/kilo-gateway": ["@kilocode/kilo-gateway@workspace:packages/kilo-gateway"], @@ -1319,46 +852,14 @@ "@kobalte/utils": ["@kobalte/utils@0.9.1", "", { "dependencies": { "@solid-primitives/event-listener": "^2.2.14", "@solid-primitives/keyed": "^1.2.0", "@solid-primitives/map": "^0.4.7", "@solid-primitives/media": "^2.2.4", "@solid-primitives/props": "^3.1.8", "@solid-primitives/refs": "^1.0.5", "@solid-primitives/utils": "^6.2.1" }, "peerDependencies": { "solid-js": "^1.8.8" } }, "sha512-eeU60A3kprIiBDAfv9gUJX1tXGLuZiKMajUfSQURAF2pk4ZoMYiqIzmrMBvzcxP39xnYttgTyQEVLwiTZnrV4w=="], - "@kurkle/color": ["@kurkle/color@0.3.4", "", {}, "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w=="], - "@leichtgewicht/ip-codec": ["@leichtgewicht/ip-codec@2.0.5", "", {}, "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw=="], "@lukeed/ms": ["@lukeed/ms@2.0.2", "", {}, "sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA=="], - "@mdx-js/mdx": ["@mdx-js/mdx@3.1.1", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdx": "^2.0.0", "acorn": "^8.0.0", "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-util-scope": "^1.0.0", "estree-walker": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "markdown-extensions": "^2.0.0", "recma-build-jsx": "^1.0.0", "recma-jsx": "^1.0.0", "recma-stringify": "^1.0.0", "rehype-recma": "^1.0.0", "remark-mdx": "^3.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "source-map": "^0.7.0", "unified": "^11.0.0", "unist-util-position-from-estree": "^2.0.0", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ=="], - "@mixmark-io/domino": ["@mixmark-io/domino@2.2.0", "", {}, "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw=="], "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.25.2", "", { "dependencies": { "@hono/node-server": "^1.19.7", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "jose": "^6.1.1", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.0" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-LZFeo4F9M5qOhC/Uc1aQSrBHxMrvxett+9KLHt7OhcExtoiRN9DKgbZffMP/nxjutWDQpfMDfP3nkHI4X9ijww=="], - "@motionone/animation": ["@motionone/animation@10.18.0", "", { "dependencies": { "@motionone/easing": "^10.18.0", "@motionone/types": "^10.17.1", "@motionone/utils": "^10.18.0", "tslib": "^2.3.1" } }, "sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw=="], - - "@motionone/dom": ["@motionone/dom@10.18.0", "", { "dependencies": { "@motionone/animation": "^10.18.0", "@motionone/generators": "^10.18.0", "@motionone/types": "^10.17.1", "@motionone/utils": "^10.18.0", "hey-listen": "^1.0.8", "tslib": "^2.3.1" } }, "sha512-bKLP7E0eyO4B2UaHBBN55tnppwRnaE3KFfh3Ps9HhnAkar3Cb69kUCJY9as8LrccVYKgHA+JY5dOQqJLOPhF5A=="], - - "@motionone/easing": ["@motionone/easing@10.18.0", "", { "dependencies": { "@motionone/utils": "^10.18.0", "tslib": "^2.3.1" } }, "sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg=="], - - "@motionone/generators": ["@motionone/generators@10.18.0", "", { "dependencies": { "@motionone/types": "^10.17.1", "@motionone/utils": "^10.18.0", "tslib": "^2.3.1" } }, "sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg=="], - - "@motionone/types": ["@motionone/types@10.17.1", "", {}, "sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A=="], - - "@motionone/utils": ["@motionone/utils@10.18.0", "", { "dependencies": { "@motionone/types": "^10.17.1", "hey-listen": "^1.0.8", "tslib": "^2.3.1" } }, "sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw=="], - - "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.1", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" } }, "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A=="], - - "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], - - "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], - - "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], - - "@octokit/auth-app": ["@octokit/auth-app@8.0.1", "", { "dependencies": { "@octokit/auth-oauth-app": "^9.0.1", "@octokit/auth-oauth-user": "^6.0.0", "@octokit/request": "^10.0.2", "@octokit/request-error": "^7.0.0", "@octokit/types": "^14.0.0", "toad-cache": "^3.7.0", "universal-github-app-jwt": "^2.2.0", "universal-user-agent": "^7.0.0" } }, "sha512-P2J5pB3pjiGwtJX4WqJVYCtNkcZ+j5T2Wm14aJAEIC3WJOrv12jvBley3G1U/XI8q9o1A7QMG54LiFED2BiFlg=="], - - "@octokit/auth-oauth-app": ["@octokit/auth-oauth-app@9.0.3", "", { "dependencies": { "@octokit/auth-oauth-device": "^8.0.3", "@octokit/auth-oauth-user": "^6.0.2", "@octokit/request": "^10.0.6", "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.0" } }, "sha512-+yoFQquaF8OxJSxTb7rnytBIC2ZLbLqA/yb71I4ZXT9+Slw4TziV9j/kyGhUFRRTF2+7WlnIWsePZCWHs+OGjg=="], - - "@octokit/auth-oauth-device": ["@octokit/auth-oauth-device@8.0.3", "", { "dependencies": { "@octokit/oauth-methods": "^6.0.2", "@octokit/request": "^10.0.6", "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.0" } }, "sha512-zh2W0mKKMh/VWZhSqlaCzY7qFyrgd9oTWmTmHaXnHNeQRCZr/CXy2jCgHo4e4dJVTiuxP5dLa0YM5p5QVhJHbw=="], - - "@octokit/auth-oauth-user": ["@octokit/auth-oauth-user@6.0.2", "", { "dependencies": { "@octokit/auth-oauth-device": "^8.0.3", "@octokit/oauth-methods": "^6.0.2", "@octokit/request": "^10.0.6", "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.0" } }, "sha512-qLoPPc6E6GJoz3XeDG/pnDhJpTkODTGG4kY0/Py154i/I003O9NazkrwJwRuzgCalhzyIeWQ+6MDvkUmKXjg/A=="], - "@octokit/auth-token": ["@octokit/auth-token@4.0.0", "", {}, "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA=="], "@octokit/core": ["@octokit/core@5.2.2", "", { "dependencies": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.1.0", "@octokit/request": "^8.4.1", "@octokit/request-error": "^5.1.1", "@octokit/types": "^13.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" } }, "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg=="], @@ -1367,10 +868,6 @@ "@octokit/graphql": ["@octokit/graphql@9.0.2", "", { "dependencies": { "@octokit/request": "^10.0.4", "@octokit/types": "^15.0.0", "universal-user-agent": "^7.0.0" } }, "sha512-iz6KzZ7u95Fzy9Nt2L8cG88lGRMr/qy1Q36ih/XVzMIlPDMYwaNLE/ENhqmIzgPrlNWiYJkwmveEetvxAgFBJw=="], - "@octokit/oauth-authorization-url": ["@octokit/oauth-authorization-url@8.0.0", "", {}, "sha512-7QoLPRh/ssEA/HuHBHdVdSgF8xNLz/Bc5m9fZkArJE5bb6NmVkDm3anKxXPmN1zh6b5WKZPRr3697xKT/yM3qQ=="], - - "@octokit/oauth-methods": ["@octokit/oauth-methods@6.0.2", "", { "dependencies": { "@octokit/oauth-authorization-url": "^8.0.0", "@octokit/request": "^10.0.6", "@octokit/request-error": "^7.0.2", "@octokit/types": "^16.0.0" } }, "sha512-HiNOO3MqLxlt5Da5bZbLV8Zarnphi4y9XehrbaFMkcoJ+FL7sMxH/UlUsCVxpddVu4qvNDrBdaTVE2o4ITK8ng=="], - "@octokit/openapi-types": ["@octokit/openapi-types@26.0.0", "", {}, "sha512-7AtcfKtpo77j7Ts73b4OWhOZHTKo/gGY8bB3bNBQz4H+GRSWqx2yvj8TXRsbdTE0eRmYmXOEY66jM7mJ7LzfsA=="], "@octokit/plugin-paginate-rest": ["@octokit/plugin-paginate-rest@9.2.2", "", { "dependencies": { "@octokit/types": "^12.6.0" }, "peerDependencies": { "@octokit/core": "5" } }, "sha512-u3KYkGF7GcZnSD/3UP0S7K5XUFT2FkOQdcfXZGZQPGv3lm4F2Xbf71lvjldr8c1H3nNbF+33cLEkWYbokGWqiQ=="], @@ -1391,42 +888,22 @@ "@octokit/webhooks-types": ["@octokit/webhooks-types@7.6.1", "", {}, "sha512-S8u2cJzklBC0FgTwWVLaM8tMrDuDMVE4xiTK4EYXM9GntyvrdbSoxqDQa+Fh57CCNApyIpyeqPhhFEmHPfrXgw=="], - "@one-ini/wasm": ["@one-ini/wasm@0.1.1", "", {}, "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw=="], - "@openauthjs/openauth": ["@openauthjs/openauth@0.0.0-20250322224806", "", { "dependencies": { "@standard-schema/spec": "1.0.0-beta.3", "aws4fetch": "1.0.20", "jose": "5.9.6" }, "peerDependencies": { "arctic": "^2.2.2", "hono": "^4.0.0" } }, "sha512-p5IWSRXvABcwocH2dNI0w8c1QJelIOFulwhKk+aLLFfUbs8u1pr7kQbYe8yCSM2+bcLHiwbogpUQc2ovrGwCuw=="], "@opencode-ai/app": ["@opencode-ai/app@workspace:packages/app"], - "@opencode-ai/console-app": ["@opencode-ai/console-app@workspace:packages/console/app"], - - "@opencode-ai/console-core": ["@opencode-ai/console-core@workspace:packages/console/core"], - - "@opencode-ai/console-function": ["@opencode-ai/console-function@workspace:packages/console/function"], - - "@opencode-ai/console-mail": ["@opencode-ai/console-mail@workspace:packages/console/mail"], - - "@opencode-ai/console-resource": ["@opencode-ai/console-resource@workspace:packages/console/resource"], - "@opencode-ai/desktop": ["@opencode-ai/desktop@workspace:packages/desktop"], - "@opencode-ai/enterprise": ["@opencode-ai/enterprise@workspace:packages/enterprise"], - - "@opencode-ai/function": ["@opencode-ai/function@workspace:packages/function"], - "@opencode-ai/plugin": ["@opencode-ai/plugin@1.1.52", "", { "dependencies": { "@opencode-ai/sdk": "1.1.52", "zod": "4.1.8" } }, "sha512-xmh4aKLgcUDcVdtTKdUXtX1ts8RngLLbwcIMUDEc/fOq0Y+3Dh52iMc13Daj/AhkR9j5Zs/+QIZnAo49QMSPgg=="], "@opencode-ai/script": ["@opencode-ai/script@workspace:packages/script"], "@opencode-ai/sdk": ["@opencode-ai/sdk@1.1.52", "", {}, "sha512-WtyQRGv1xdfMxVXySyKB7NbzmEcR+sqyHwWvndeY3dnxN+kxyezOjVatCB10zxznE9dz3qWIMwemVB0FwiXo/A=="], - "@opencode-ai/slack": ["@opencode-ai/slack@workspace:packages/slack"], - "@opencode-ai/ui": ["@opencode-ai/ui@workspace:packages/ui"], "@opencode-ai/util": ["@opencode-ai/util@workspace:packages/util"], - "@opencode-ai/web": ["@opencode-ai/web@workspace:packages/web"], - "@openrouter/ai-sdk-provider": ["@openrouter/ai-sdk-provider@1.5.4", "", { "dependencies": { "@openrouter/sdk": "^0.1.27" }, "peerDependencies": { "ai": "^5.0.0", "zod": "^3.24.1 || ^v4" } }, "sha512-xrSQPUIH8n9zuyYZR0XK7Ba0h2KsjJcMkxnwaYfmv13pKs3sDkjPzVPPhlhzqBGddHb5cFEwJ9VFuFeDcxCDSw=="], "@openrouter/sdk": ["@openrouter/sdk@0.1.27", "", { "dependencies": { "zod": "^3.25.0 || ^4.0.0" } }, "sha512-RH//L10bSmc81q25zAZudiI4kNkLgxF2E+WU42vghp3N6TEvZ6F0jK7uT3tOxkEn91gzmMw9YVmDENy7SJsajQ=="], @@ -1475,80 +952,6 @@ "@oslojs/jwt": ["@oslojs/jwt@0.2.0", "", { "dependencies": { "@oslojs/encoding": "0.4.1" } }, "sha512-bLE7BtHrURedCn4Mco3ma9L4Y1GR2SMBuIvjWr7rmQ4/W/4Jy70TIAgZ+0nIlk0xHz1vNP8x8DCns45Sb2XRbg=="], - "@oxc-minify/binding-android-arm64": ["@oxc-minify/binding-android-arm64@0.96.0", "", { "os": "android", "cpu": "arm64" }, "sha512-lzeIEMu/v6Y+La5JSesq4hvyKtKBq84cgQpKYTYM/yGuNk2tfd5Ha31hnC+mTh48lp/5vZH+WBfjVUjjINCfug=="], - - "@oxc-minify/binding-darwin-arm64": ["@oxc-minify/binding-darwin-arm64@0.96.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-i0LkJAUXb4BeBFrJQbMKQPoxf8+cFEffDyLSb7NEzzKuPcH8qrVsnEItoOzeAdYam8Sr6qCHVwmBNEQzl7PWpw=="], - - "@oxc-minify/binding-darwin-x64": ["@oxc-minify/binding-darwin-x64@0.96.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-C5vI0WPR+KPIFAD5LMOJk2J8iiT+Nv65vDXmemzXEXouzfEOLYNqnW+u6NSsccpuZHHWAiLyPFkYvKFduveAUQ=="], - - "@oxc-minify/binding-freebsd-x64": ["@oxc-minify/binding-freebsd-x64@0.96.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-3//5DNx+xUjVBMLLk2sl6hfe4fwfENJtjVQUBXjxzwPuv8xgZUqASG4cRG3WqG5Qe8dV6SbCI4EgKQFjO4KCZA=="], - - "@oxc-minify/binding-linux-arm-gnueabihf": ["@oxc-minify/binding-linux-arm-gnueabihf@0.96.0", "", { "os": "linux", "cpu": "arm" }, "sha512-WXChFKV7VdDk1NePDK1J31cpSvxACAVztJ7f7lJVYBTkH+iz5D0lCqPcE7a9eb7nC3xvz4yk7DM6dA9wlUQkQg=="], - - "@oxc-minify/binding-linux-arm-musleabihf": ["@oxc-minify/binding-linux-arm-musleabihf@0.96.0", "", { "os": "linux", "cpu": "arm" }, "sha512-7B18glYMX4Z/YoqgE3VRLs/2YhVLxlxNKSgrtsRpuR8xv58xca+hEhiFwZN1Rn+NSMZ29Z33LWD7iYWnqYFvRA=="], - - "@oxc-minify/binding-linux-arm64-gnu": ["@oxc-minify/binding-linux-arm64-gnu@0.96.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-Yl+KcTldsEJNcaYxxonwAXZ2q3gxIzn3kXYQWgKWdaGIpNhOCWqF+KE5WLsldoh5Ro5SHtomvb8GM6cXrIBMog=="], - - "@oxc-minify/binding-linux-arm64-musl": ["@oxc-minify/binding-linux-arm64-musl@0.96.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-rNqoFWOWaxwMmUY5fspd/h5HfvgUlA3sv9CUdA2MpnHFiyoJNovR7WU8tGh+Yn0qOAs0SNH0a05gIthHig14IA=="], - - "@oxc-minify/binding-linux-riscv64-gnu": ["@oxc-minify/binding-linux-riscv64-gnu@0.96.0", "", { "os": "linux", "cpu": "none" }, "sha512-3paajIuzGnukHwSI3YBjYVqbd72pZd8NJxaayaNFR0AByIm8rmIT5RqFXbq8j2uhtpmNdZRXiu0em1zOmIScWA=="], - - "@oxc-minify/binding-linux-s390x-gnu": ["@oxc-minify/binding-linux-s390x-gnu@0.96.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-9ESrpkB2XG0lQ89JlsxlZa86iQCOs+jkDZLl6O+u5wb7ynUy21bpJJ1joauCOSYIOUlSy3+LbtJLiqi7oSQt5Q=="], - - "@oxc-minify/binding-linux-x64-gnu": ["@oxc-minify/binding-linux-x64-gnu@0.96.0", "", { "os": "linux", "cpu": "x64" }, "sha512-UMM1jkns+p+WwwmdjC5giI3SfR2BCTga18x3C0cAu6vDVf4W37uTZeTtSIGmwatTBbgiq++Te24/DE0oCdm1iQ=="], - - "@oxc-minify/binding-linux-x64-musl": ["@oxc-minify/binding-linux-x64-musl@0.96.0", "", { "os": "linux", "cpu": "x64" }, "sha512-8b1naiC7MdP7xeMi7cQ5tb9W1rZAP9Qz/jBRqp1Y5EOZ1yhSGnf1QWuZ/0pCc+XiB9vEHXEY3Aki/H+86m2eOg=="], - - "@oxc-minify/binding-wasm32-wasi": ["@oxc-minify/binding-wasm32-wasi@0.96.0", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.0.7" }, "cpu": "none" }, "sha512-bjGDjkGzo3GWU9Vg2qiFUrfoo5QxojPNV/2RHTlbIB5FWkkV4ExVjsfyqihFiAuj0NXIZqd2SAiEq9htVd3RFw=="], - - "@oxc-minify/binding-win32-arm64-msvc": ["@oxc-minify/binding-win32-arm64-msvc@0.96.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-4L4DlHUT47qMWQuTyUghpncR3NZHWtxvd0G1KgSjVgXf+cXzFdWQCWZZtCU0yrmOoVCNUf4S04IFCJyAe+Ie7A=="], - - "@oxc-minify/binding-win32-x64-msvc": ["@oxc-minify/binding-win32-x64-msvc@0.96.0", "", { "os": "win32", "cpu": "x64" }, "sha512-T2ijfqZLpV2bgGGocXV4SXTuMoouqN0asYTIm+7jVOLvT5XgDogf3ZvCmiEnSWmxl21+r5wHcs8voU2iUROXAg=="], - - "@oxc-transform/binding-android-arm64": ["@oxc-transform/binding-android-arm64@0.96.0", "", { "os": "android", "cpu": "arm64" }, "sha512-wOm+ZsqFvyZ7B9RefUMsj0zcXw77Z2pXA51nbSQyPXqr+g0/pDGxriZWP8Sdpz/e4AEaKPA9DvrwyOZxu7GRDQ=="], - - "@oxc-transform/binding-darwin-arm64": ["@oxc-transform/binding-darwin-arm64@0.96.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-td1sbcvzsyuoNRiNdIRodPXRtFFwxzPpC/6/yIUtRRhKn30XQcizxupIvQQVpJWWchxkphbBDh6UN+u+2CJ8Zw=="], - - "@oxc-transform/binding-darwin-x64": ["@oxc-transform/binding-darwin-x64@0.96.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-xgqxnqhPYH2NYkgbqtnCJfhbXvxIf/pnhF/ig5UBK8PYpCEWIP/cfLpQRQ9DcQnRfuxi7RMIF6LdmB1AiS6Fkg=="], - - "@oxc-transform/binding-freebsd-x64": ["@oxc-transform/binding-freebsd-x64@0.96.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-1i67OXdl/rvSkcTXqDlh6qGRXYseEmf0rl/R+/i88scZ/o3A+FzlX56sThuaPzSSv9eVgesnoYUjIBJELFc1oA=="], - - "@oxc-transform/binding-linux-arm-gnueabihf": ["@oxc-transform/binding-linux-arm-gnueabihf@0.96.0", "", { "os": "linux", "cpu": "arm" }, "sha512-9MJBs0SWODsqyzO3eAnacXgJ/sZu1xqinjEwBzkcZ3tQI8nKhMADOzu2NzbVWDWujeoC8DESXaO08tujvUru+Q=="], - - "@oxc-transform/binding-linux-arm-musleabihf": ["@oxc-transform/binding-linux-arm-musleabihf@0.96.0", "", { "os": "linux", "cpu": "arm" }, "sha512-BQom57I2ScccixljNYh2Wy+5oVZtF1LXiiUPxSLtDHbsanpEvV/+kzCagQpTjk1BVzSQzOxfEUWjvL7mY53pRQ=="], - - "@oxc-transform/binding-linux-arm64-gnu": ["@oxc-transform/binding-linux-arm64-gnu@0.96.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-kaqvUzNu8LL4aBSXqcqGVLFG13GmJEplRI2+yqzkgAItxoP/LfFMdEIErlTWLGyBwd0OLiNMHrOvkcCQRWadVg=="], - - "@oxc-transform/binding-linux-arm64-musl": ["@oxc-transform/binding-linux-arm64-musl@0.96.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-EiG/L3wEkPgTm4p906ufptyblBgtiQWTubGg/JEw82f8uLRroayr5zhbUqx40EgH037a3SfJthIyLZi7XPRFJw=="], - - "@oxc-transform/binding-linux-riscv64-gnu": ["@oxc-transform/binding-linux-riscv64-gnu@0.96.0", "", { "os": "linux", "cpu": "none" }, "sha512-r01CY6OxKGtVeYnvH4mGmtkQMlLkXdPWWNXwo5o7fE2s/fgZPMpqh8bAuXEhuMXipZRJrjxTk1+ZQ4KCHpMn3Q=="], - - "@oxc-transform/binding-linux-s390x-gnu": ["@oxc-transform/binding-linux-s390x-gnu@0.96.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-4djg2vYLGbVeS8YiA2K4RPPpZE4fxTGCX5g/bOMbCYyirDbmBAIop4eOAj8vOA9i1CcWbDtmp+PVJ1dSw7f3IQ=="], - - "@oxc-transform/binding-linux-x64-gnu": ["@oxc-transform/binding-linux-x64-gnu@0.96.0", "", { "os": "linux", "cpu": "x64" }, "sha512-f6pcWVz57Y8jXa2OS7cz3aRNuks34Q3j61+3nQ4xTE8H1KbalcEvHNmM92OEddaJ8QLs9YcE0kUC6eDTbY34+A=="], - - "@oxc-transform/binding-linux-x64-musl": ["@oxc-transform/binding-linux-x64-musl@0.96.0", "", { "os": "linux", "cpu": "x64" }, "sha512-NSiRtFvR7Pbhv3mWyPMkTK38czIjcnK0+K5STo3CuzZRVbX1TM17zGdHzKBUHZu7v6IQ6/XsQ3ELa1BlEHPGWQ=="], - - "@oxc-transform/binding-wasm32-wasi": ["@oxc-transform/binding-wasm32-wasi@0.96.0", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.0.7" }, "cpu": "none" }, "sha512-A91ARLiuZHGN4hBds9s7bW3czUuLuHLsV+cz44iF9j8e1zX9m2hNGXf/acQRbg/zcFUXmjz5nmk8EkZyob876w=="], - - "@oxc-transform/binding-win32-arm64-msvc": ["@oxc-transform/binding-win32-arm64-msvc@0.96.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-IedJf40djKgDObomhYjdRAlmSYUEdfqX3A3M9KfUltl9AghTBBLkTzUMA7O09oo71vYf5TEhbFM7+Vn5vqw7AQ=="], - - "@oxc-transform/binding-win32-x64-msvc": ["@oxc-transform/binding-win32-x64-msvc@0.96.0", "", { "os": "win32", "cpu": "x64" }, "sha512-0fI0P0W7bSO/GCP/N5dkmtB9vBqCA4ggo1WmXTnxNJVmFFOtcA1vYm1I9jl8fxo+sucW2WnlpnI4fjKdo3JKxA=="], - - "@pagefind/darwin-arm64": ["@pagefind/darwin-arm64@1.4.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-2vMqkbv3lbx1Awea90gTaBsvpzgRs7MuSgKDxW0m9oV1GPZCZbZBJg/qL83GIUEN2BFlY46dtUZi54pwH+/pTQ=="], - - "@pagefind/darwin-x64": ["@pagefind/darwin-x64@1.4.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-e7JPIS6L9/cJfow+/IAqknsGqEPjJnVXGjpGm25bnq+NPdoD3c/7fAwr1OXkG4Ocjx6ZGSCijXEV4ryMcH2E3A=="], - - "@pagefind/default-ui": ["@pagefind/default-ui@1.4.0", "", {}, "sha512-wie82VWn3cnGEdIjh4YwNESyS1G6vRHwL6cNjy9CFgNnWW/PGRjsLq300xjVH5sfPFK3iK36UxvIBymtQIEiSQ=="], - - "@pagefind/freebsd-x64": ["@pagefind/freebsd-x64@1.4.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-WcJVypXSZ+9HpiqZjFXMUobfFfZZ6NzIYtkhQ9eOhZrQpeY5uQFqNWLCk7w9RkMUwBv1HAMDW3YJQl/8OqsV0Q=="], - - "@pagefind/linux-arm64": ["@pagefind/linux-arm64@1.4.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-PIt8dkqt4W06KGmQjONw7EZbhDF+uXI7i0XtRLN1vjCUxM9vGPdtJc2mUyVPevjomrGz5M86M8bqTr6cgDp1Uw=="], - - "@pagefind/linux-x64": ["@pagefind/linux-x64@1.4.0", "", { "os": "linux", "cpu": "x64" }, "sha512-z4oddcWwQ0UHrTHR8psLnVlz6USGJ/eOlDPTDYZ4cI8TK8PgwRUPQZp9D2iJPNIPcS6Qx/E4TebjuGJOyK8Mmg=="], - - "@pagefind/windows-x64": ["@pagefind/windows-x64@1.4.0", "", { "os": "win32", "cpu": "x64" }, "sha512-NkT+YAdgS2FPCn8mIA9bQhiBs+xmniMGq1LFPDhcFn0+2yIUEiIG06t7bsZlhdjknEQRTSdT7YitP6fC5qwP0g=="], - "@parcel/watcher": ["@parcel/watcher@2.5.1", "", { "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", "micromatch": "^4.0.5", "node-addon-api": "^7.0.0" }, "optionalDependencies": { "@parcel/watcher-android-arm64": "2.5.1", "@parcel/watcher-darwin-arm64": "2.5.1", "@parcel/watcher-darwin-x64": "2.5.1", "@parcel/watcher-freebsd-x64": "2.5.1", "@parcel/watcher-linux-arm-glibc": "2.5.1", "@parcel/watcher-linux-arm-musl": "2.5.1", "@parcel/watcher-linux-arm64-glibc": "2.5.1", "@parcel/watcher-linux-arm64-musl": "2.5.1", "@parcel/watcher-linux-x64-glibc": "2.5.1", "@parcel/watcher-linux-x64-musl": "2.5.1", "@parcel/watcher-win32-arm64": "2.5.1", "@parcel/watcher-win32-ia32": "2.5.1", "@parcel/watcher-win32-x64": "2.5.1" } }, "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg=="], "@parcel/watcher-android-arm64": ["@parcel/watcher-android-arm64@2.5.1", "", { "os": "android", "cpu": "arm64" }, "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA=="], @@ -1577,24 +980,14 @@ "@parcel/watcher-win32-x64": ["@parcel/watcher-win32-x64@2.5.1", "", { "os": "win32", "cpu": "x64" }, "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA=="], - "@petamoriken/float16": ["@petamoriken/float16@3.9.3", "", {}, "sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g=="], - "@pierre/diffs": ["@pierre/diffs@1.0.2", "", { "dependencies": { "@shikijs/core": "^3.0.0", "@shikijs/engine-javascript": "3.19.0", "@shikijs/transformers": "3.19.0", "diff": "8.0.2", "hast-util-to-html": "9.0.5", "lru_map": "0.4.1", "shiki": "3.19.0" }, "peerDependencies": { "react": "^18.3.1 || ^19.0.0", "react-dom": "^18.3.1 || ^19.0.0" } }, "sha512-RkFSDD5X/U+8QjyilPViYGJfmJNWXR17zTL8zw48+DcVC1Ujbh6I1edyuRnFfgRzpft05x2DSCkz2cjoIAxPvQ=="], "@pinojs/redact": ["@pinojs/redact@0.4.0", "", {}, "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg=="], "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], - "@planetscale/database": ["@planetscale/database@1.19.0", "", {}, "sha512-Tv4jcFUFAFjOWrGSio49H6R2ijALv0ZzVBfJKIdm+kl9X046Fh4LLawrF9OMsglVbK6ukqMJsUCeucGAFTBcMA=="], - "@playwright/test": ["@playwright/test@1.57.0", "", { "dependencies": { "playwright": "1.57.0" }, "bin": { "playwright": "cli.js" } }, "sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA=="], - "@poppinss/colors": ["@poppinss/colors@4.1.6", "", { "dependencies": { "kleur": "^4.1.5" } }, "sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg=="], - - "@poppinss/dumper": ["@poppinss/dumper@0.6.5", "", { "dependencies": { "@poppinss/colors": "^4.1.5", "@sindresorhus/is": "^7.0.2", "supports-color": "^10.0.0" } }, "sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw=="], - - "@poppinss/exception": ["@poppinss/exception@1.2.3", "", {}, "sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw=="], - "@protobuf-ts/plugin": ["@protobuf-ts/plugin@2.11.1", "", { "dependencies": { "@bufbuild/protobuf": "^2.4.0", "@bufbuild/protoplugin": "^2.4.0", "@protobuf-ts/protoc": "^2.11.1", "@protobuf-ts/runtime": "^2.11.1", "@protobuf-ts/runtime-rpc": "^2.11.1", "typescript": "^3.9" }, "bin": { "protoc-gen-ts": "bin/protoc-gen-ts", "protoc-gen-dump": "bin/protoc-gen-dump" } }, "sha512-HyuprDcw0bEEJqkOWe1rnXUP0gwYLij8YhPuZyZk6cJbIgc/Q0IFgoHQxOXNIXAcXM4Sbehh6kjVnCzasElw1A=="], "@protobuf-ts/protoc": ["@protobuf-ts/protoc@2.11.1", "", { "bin": { "protoc": "protoc.js" } }, "sha512-mUZJaV0daGO6HUX90o/atzQ6A7bbN2RSuHtdwo8SSF2Qoe3zHwa4IHyCN1evftTeHfLmdz+45qo47sL+5P8nyg=="], @@ -1603,74 +996,6 @@ "@protobuf-ts/runtime-rpc": ["@protobuf-ts/runtime-rpc@2.11.1", "", { "dependencies": { "@protobuf-ts/runtime": "^2.11.1" } }, "sha512-4CqqUmNA+/uMz00+d3CYKgElXO9VrEbucjnBFEjqI4GuDrEQ32MaI3q+9qPBvIGOlL4PmHXrzM32vBPWRhQKWQ=="], - "@radix-ui/colors": ["@radix-ui/colors@1.0.1", "", {}, "sha512-xySw8f0ZVsAEP+e7iLl3EvcBXX7gsIlC1Zso/sPBW9gIWerBTgz6axrjU+MZ39wD+WFi5h5zdWpsg3+hwt2Qsg=="], - - "@radix-ui/primitive": ["@radix-ui/primitive@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10" } }, "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw=="], - - "@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.0.3", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-primitive": "1.0.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA=="], - - "@radix-ui/react-collapsible": ["@radix-ui/react-collapsible@1.0.3", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.1", "@radix-ui/react-compose-refs": "1.0.1", "@radix-ui/react-context": "1.0.1", "@radix-ui/react-id": "1.0.1", "@radix-ui/react-presence": "1.0.1", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-use-controllable-state": "1.0.1", "@radix-ui/react-use-layout-effect": "1.0.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg=="], - - "@radix-ui/react-collection": ["@radix-ui/react-collection@1.0.3", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.1", "@radix-ui/react-context": "1.0.1", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-slot": "1.0.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA=="], - - "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw=="], - - "@radix-ui/react-context": ["@radix-ui/react-context@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg=="], - - "@radix-ui/react-direction": ["@radix-ui/react-direction@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA=="], - - "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.0.4", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.1", "@radix-ui/react-compose-refs": "1.0.1", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-use-callback-ref": "1.0.1", "@radix-ui/react-use-escape-keydown": "1.0.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg=="], - - "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA=="], - - "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.0.3", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.1", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-use-callback-ref": "1.0.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ=="], - - "@radix-ui/react-id": ["@radix-ui/react-id@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-layout-effect": "1.0.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ=="], - - "@radix-ui/react-popover": ["@radix-ui/react-popover@1.0.6", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.1", "@radix-ui/react-compose-refs": "1.0.1", "@radix-ui/react-context": "1.0.1", "@radix-ui/react-dismissable-layer": "1.0.4", "@radix-ui/react-focus-guards": "1.0.1", "@radix-ui/react-focus-scope": "1.0.3", "@radix-ui/react-id": "1.0.1", "@radix-ui/react-popper": "1.1.2", "@radix-ui/react-portal": "1.0.3", "@radix-ui/react-presence": "1.0.1", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-slot": "1.0.2", "@radix-ui/react-use-controllable-state": "1.0.1", "aria-hidden": "^1.1.1", "react-remove-scroll": "2.5.5" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-cZ4defGpkZ0qTRtlIBzJLSzL6ht7ofhhW4i1+pkemjV1IKXm0wgCRnee154qlV6r9Ttunmh2TNZhMfV2bavUyA=="], - - "@radix-ui/react-popper": ["@radix-ui/react-popper@1.1.2", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.0.3", "@radix-ui/react-compose-refs": "1.0.1", "@radix-ui/react-context": "1.0.1", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-use-callback-ref": "1.0.1", "@radix-ui/react-use-layout-effect": "1.0.1", "@radix-ui/react-use-rect": "1.0.1", "@radix-ui/react-use-size": "1.0.1", "@radix-ui/rect": "1.0.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg=="], - - "@radix-ui/react-portal": ["@radix-ui/react-portal@1.0.3", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-primitive": "1.0.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA=="], - - "@radix-ui/react-presence": ["@radix-ui/react-presence@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.1", "@radix-ui/react-use-layout-effect": "1.0.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg=="], - - "@radix-ui/react-primitive": ["@radix-ui/react-primitive@1.0.3", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-slot": "1.0.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g=="], - - "@radix-ui/react-roving-focus": ["@radix-ui/react-roving-focus@1.0.4", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.1", "@radix-ui/react-collection": "1.0.3", "@radix-ui/react-compose-refs": "1.0.1", "@radix-ui/react-context": "1.0.1", "@radix-ui/react-direction": "1.0.1", "@radix-ui/react-id": "1.0.1", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-use-callback-ref": "1.0.1", "@radix-ui/react-use-controllable-state": "1.0.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ=="], - - "@radix-ui/react-slot": ["@radix-ui/react-slot@1.0.2", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg=="], - - "@radix-ui/react-toggle": ["@radix-ui/react-toggle@1.0.3", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.1", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-use-controllable-state": "1.0.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg=="], - - "@radix-ui/react-toggle-group": ["@radix-ui/react-toggle-group@1.0.4", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.1", "@radix-ui/react-context": "1.0.1", "@radix-ui/react-direction": "1.0.1", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-roving-focus": "1.0.4", "@radix-ui/react-toggle": "1.0.3", "@radix-ui/react-use-controllable-state": "1.0.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A=="], - - "@radix-ui/react-tooltip": ["@radix-ui/react-tooltip@1.0.6", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.1", "@radix-ui/react-compose-refs": "1.0.1", "@radix-ui/react-context": "1.0.1", "@radix-ui/react-dismissable-layer": "1.0.4", "@radix-ui/react-id": "1.0.1", "@radix-ui/react-popper": "1.1.2", "@radix-ui/react-portal": "1.0.3", "@radix-ui/react-presence": "1.0.1", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-slot": "1.0.2", "@radix-ui/react-use-controllable-state": "1.0.1", "@radix-ui/react-visually-hidden": "1.0.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-DmNFOiwEc2UDigsYj6clJENma58OelxD24O4IODoZ+3sQc3Zb+L8w1EP+y9laTuKCLAysPw4fD6/v0j4KNV8rg=="], - - "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ=="], - - "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-callback-ref": "1.0.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA=="], - - "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.0.3", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-callback-ref": "1.0.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg=="], - - "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ=="], - - "@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/rect": "1.0.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw=="], - - "@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-layout-effect": "1.0.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react"] }, "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g=="], - - "@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.0.3", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-primitive": "1.0.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA=="], - - "@radix-ui/rect": ["@radix-ui/rect@1.0.1", "", { "dependencies": { "@babel/runtime": "^7.13.10" } }, "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ=="], - - "@remix-run/node-fetch-server": ["@remix-run/node-fetch-server@0.8.1", "", {}, "sha512-J1dev372wtJqmqn9U/qbpbZxbJSQrogNN2+Qv1lKlpATpe/WQ9aCZfl/xSb9d2Rgh1IyLSvNxZAXPZxruO6Xig=="], - - "@remix-run/router": ["@remix-run/router@1.9.0", "", {}, "sha512-bV63itrKBC0zdT27qYm6SDZHlkXwFL1xMBuhkn+X7l0+IIhNaH5wuuvZKp6eKhCD4KFhujhfhCT1YxXW6esUIA=="], - - "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.27", "", {}, "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA=="], - - "@rollup/pluginutils": ["@rollup/pluginutils@5.3.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q=="], - "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.57.1", "", { "os": "android", "cpu": "arm" }, "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg=="], "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.57.1", "", { "os": "android", "cpu": "arm64" }, "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w=="], @@ -1721,8 +1046,6 @@ "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.57.1", "", { "os": "win32", "cpu": "x64" }, "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA=="], - "@selderee/plugin-htmlparser2": ["@selderee/plugin-htmlparser2@0.11.0", "", { "dependencies": { "domhandler": "^5.0.3", "selderee": "^0.11.0" } }, "sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ=="], - "@shikijs/core": ["@shikijs/core@3.22.0", "", { "dependencies": { "@shikijs/types": "3.22.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-iAlTtSDDbJiRpvgL5ugKEATDtHdUVkqgHDm/gbD2ZS9c88mx7G1zSYjjOxp5Qa0eaW0MAQosFRmJSk354PRoQA=="], "@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.19.0", "", { "dependencies": { "@shikijs/types": "3.19.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.4" } }, "sha512-ZfWJNm2VMhKkQIKT9qXbs76RRcT0SF/CAvEz0+RkpUDAoDaCx0uFdCGzSRiD9gSlhm6AHkjdieOBJMaO2eC1rQ=="], @@ -1739,122 +1062,18 @@ "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="], - "@sindresorhus/is": ["@sindresorhus/is@7.2.0", "", {}, "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw=="], - - "@slack/bolt": ["@slack/bolt@3.22.0", "", { "dependencies": { "@slack/logger": "^4.0.0", "@slack/oauth": "^2.6.3", "@slack/socket-mode": "^1.3.6", "@slack/types": "^2.13.0", "@slack/web-api": "^6.13.0", "@types/express": "^4.16.1", "@types/promise.allsettled": "^1.0.3", "@types/tsscmp": "^1.0.0", "axios": "^1.7.4", "express": "^4.21.0", "path-to-regexp": "^8.1.0", "promise.allsettled": "^1.0.2", "raw-body": "^2.3.3", "tsscmp": "^1.0.6" } }, "sha512-iKDqGPEJDnrVwxSVlFW6OKTkijd7s4qLBeSufoBsTM0reTyfdp/5izIQVkxNfzjHi3o6qjdYbRXkYad5HBsBog=="], - - "@slack/logger": ["@slack/logger@4.0.0", "", { "dependencies": { "@types/node": ">=18.0.0" } }, "sha512-Wz7QYfPAlG/DR+DfABddUZeNgoeY7d1J39OCR2jR+v7VBsB8ezulDK5szTnDDPDwLH5IWhLvXIHlCFZV7MSKgA=="], - - "@slack/oauth": ["@slack/oauth@2.6.3", "", { "dependencies": { "@slack/logger": "^3.0.0", "@slack/web-api": "^6.12.1", "@types/jsonwebtoken": "^8.3.7", "@types/node": ">=12", "jsonwebtoken": "^9.0.0", "lodash.isstring": "^4.0.1" } }, "sha512-1amXs6xRkJpoH6zSgjVPgGEJXCibKNff9WNDijcejIuVy1HFAl1adh7lehaGNiHhTWfQkfKxBiF+BGn56kvoFw=="], - - "@slack/socket-mode": ["@slack/socket-mode@1.3.6", "", { "dependencies": { "@slack/logger": "^3.0.0", "@slack/web-api": "^6.12.1", "@types/node": ">=12.0.0", "@types/ws": "^7.4.7", "eventemitter3": "^5", "finity": "^0.5.4", "ws": "^7.5.3" } }, "sha512-G+im7OP7jVqHhiNSdHgv2VVrnN5U7KY845/5EZimZkrD4ZmtV0P3BiWkgeJhPtdLuM7C7i6+M6h6Bh+S4OOalA=="], - - "@slack/types": ["@slack/types@2.19.0", "", {}, "sha512-7+QZ38HGcNh/b/7MpvPG6jnw7mliV6UmrquJLqgdxkzJgQEYUcEztvFWRU49z0x4vthF0ixL5lTK601AXrS8IA=="], - - "@slack/web-api": ["@slack/web-api@6.13.0", "", { "dependencies": { "@slack/logger": "^3.0.0", "@slack/types": "^2.11.0", "@types/is-stream": "^1.1.0", "@types/node": ">=12.0.0", "axios": "^1.7.4", "eventemitter3": "^3.1.0", "form-data": "^2.5.0", "is-electron": "2.2.2", "is-stream": "^1.1.0", "p-queue": "^6.6.1", "p-retry": "^4.0.0" } }, "sha512-dv65crIgdh9ZYHrevLU6XFHTQwTyDmNqEqzuIrV+Vqe/vgiG6w37oex5ePDU1RGm2IJ90H8iOvHFvzdEO/vB+g=="], - - "@smithy/abort-controller": ["@smithy/abort-controller@4.2.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-peuVfkYHAmS5ybKxWcfraK7WBBP0J+rkfUcbHJJKQ4ir3UAUNQI+Y4Vt/PqSzGqgloJ5O1dk7+WzNL8wcCSXbw=="], - - "@smithy/chunked-blob-reader": ["@smithy/chunked-blob-reader@5.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-WmU0TnhEAJLWvfSeMxBNe5xtbselEO8+4wG0NtZeL8oR21WgH1xiO37El+/Y+H/Ie4SCwBy3MxYWmOYaGgZueA=="], - - "@smithy/chunked-blob-reader-native": ["@smithy/chunked-blob-reader-native@4.2.1", "", { "dependencies": { "@smithy/util-base64": "^4.3.0", "tslib": "^2.6.2" } }, "sha512-lX9Ay+6LisTfpLid2zZtIhSEjHMZoAR5hHCR4H7tBz/Zkfr5ea8RcQ7Tk4mi0P76p4cN+Btz16Ffno7YHpKXnQ=="], - - "@smithy/config-resolver": ["@smithy/config-resolver@4.4.6", "", { "dependencies": { "@smithy/node-config-provider": "^4.3.8", "@smithy/types": "^4.12.0", "@smithy/util-config-provider": "^4.2.0", "@smithy/util-endpoints": "^3.2.8", "@smithy/util-middleware": "^4.2.8", "tslib": "^2.6.2" } }, "sha512-qJpzYC64kaj3S0fueiu3kXm8xPrR3PcXDPEgnaNMRn0EjNSZFoFjvbUp0YUDsRhN1CB90EnHJtbxWKevnH99UQ=="], - - "@smithy/core": ["@smithy/core@3.22.1", "", { "dependencies": { "@smithy/middleware-serde": "^4.2.9", "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-middleware": "^4.2.8", "@smithy/util-stream": "^4.5.11", "@smithy/util-utf8": "^4.2.0", "@smithy/uuid": "^1.1.0", "tslib": "^2.6.2" } }, "sha512-x3ie6Crr58MWrm4viHqqy2Du2rHYZjwu8BekasrQx4ca+Y24dzVAwq3yErdqIbc2G3I0kLQA13PQ+/rde+u65g=="], - - "@smithy/credential-provider-imds": ["@smithy/credential-provider-imds@4.2.8", "", { "dependencies": { "@smithy/node-config-provider": "^4.3.8", "@smithy/property-provider": "^4.2.8", "@smithy/types": "^4.12.0", "@smithy/url-parser": "^4.2.8", "tslib": "^2.6.2" } }, "sha512-FNT0xHS1c/CPN8upqbMFP83+ul5YgdisfCfkZ86Jh2NSmnqw/AJ6x5pEogVCTVvSm7j9MopRU89bmDelxuDMYw=="], - "@smithy/eventstream-codec": ["@smithy/eventstream-codec@4.2.7", "", { "dependencies": { "@aws-crypto/crc32": "5.2.0", "@smithy/types": "^4.11.0", "@smithy/util-hex-encoding": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-DrpkEoM3j9cBBWhufqBwnbbn+3nf1N9FP6xuVJ+e220jbactKuQgaZwjwP5CP1t+O94brm2JgVMD2atMGX3xIQ=="], - "@smithy/eventstream-serde-browser": ["@smithy/eventstream-serde-browser@4.2.8", "", { "dependencies": { "@smithy/eventstream-serde-universal": "^4.2.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-MTfQT/CRQz5g24ayXdjg53V0mhucZth4PESoA5IhvaWVDTOQLfo8qI9vzqHcPsdd2v6sqfTYqF5L/l+pea5Uyw=="], - - "@smithy/eventstream-serde-config-resolver": ["@smithy/eventstream-serde-config-resolver@4.3.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-ah12+luBiDGzBruhu3efNy1IlbwSEdNiw8fOZksoKoWW1ZHvO/04MQsdnws/9Aj+5b0YXSSN2JXKy/ClIsW8MQ=="], - - "@smithy/eventstream-serde-node": ["@smithy/eventstream-serde-node@4.2.8", "", { "dependencies": { "@smithy/eventstream-serde-universal": "^4.2.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-cYpCpp29z6EJHa5T9WL0KAlq3SOKUQkcgSoeRfRVwjGgSFl7Uh32eYGt7IDYCX20skiEdRffyDpvF2efEZPC0A=="], - - "@smithy/eventstream-serde-universal": ["@smithy/eventstream-serde-universal@4.2.8", "", { "dependencies": { "@smithy/eventstream-codec": "^4.2.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-iJ6YNJd0bntJYnX6s52NC4WFYcZeKrPUr1Kmmr5AwZcwCSzVpS7oavAmxMR7pMq7V+D1G4s9F5NJK0xwOsKAlQ=="], - - "@smithy/fetch-http-handler": ["@smithy/fetch-http-handler@5.3.9", "", { "dependencies": { "@smithy/protocol-http": "^5.3.8", "@smithy/querystring-builder": "^4.2.8", "@smithy/types": "^4.12.0", "@smithy/util-base64": "^4.3.0", "tslib": "^2.6.2" } }, "sha512-I4UhmcTYXBrct03rwzQX1Y/iqQlzVQaPxWjCjula++5EmWq9YGBrx6bbGqluGc1f0XEfhSkiY4jhLgbsJUMKRA=="], - - "@smithy/hash-blob-browser": ["@smithy/hash-blob-browser@4.2.9", "", { "dependencies": { "@smithy/chunked-blob-reader": "^5.2.0", "@smithy/chunked-blob-reader-native": "^4.2.1", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-m80d/iicI7DlBDxyQP6Th7BW/ejDGiF0bgI754+tiwK0lgMkcaIBgvwwVc7OFbY4eUzpGtnig52MhPAEJ7iNYg=="], - - "@smithy/hash-node": ["@smithy/hash-node@4.2.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "@smithy/util-buffer-from": "^4.2.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-7ZIlPbmaDGxVoxErDZnuFG18WekhbA/g2/i97wGj+wUBeS6pcUeAym8u4BXh/75RXWhgIJhyC11hBzig6MljwA=="], - - "@smithy/hash-stream-node": ["@smithy/hash-stream-node@4.2.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-v0FLTXgHrTeheYZFGhR+ehX5qUm4IQsjAiL9qehad2cyjMWcN2QG6/4mSwbSgEQzI7jwfoXj7z4fxZUx/Mhj2w=="], - - "@smithy/invalid-dependency": ["@smithy/invalid-dependency@4.2.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-N9iozRybwAQ2dn9Fot9kI6/w9vos2oTXLhtK7ovGqwZjlOcxu6XhPlpLpC+INsxktqHinn5gS2DXDjDF2kG5sQ=="], - "@smithy/is-array-buffer": ["@smithy/is-array-buffer@4.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ=="], - "@smithy/md5-js": ["@smithy/md5-js@4.2.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-oGMaLj4tVZzLi3itBa9TCswgMBr7k9b+qKYowQ6x1rTyTuO1IU2YHdHUa+891OsOH+wCsH7aTPRsTJO3RMQmjQ=="], - - "@smithy/middleware-content-length": ["@smithy/middleware-content-length@4.2.8", "", { "dependencies": { "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-RO0jeoaYAB1qBRhfVyq0pMgBoUK34YEJxVxyjOWYZiOKOq2yMZ4MnVXMZCUDenpozHue207+9P5ilTV1zeda0A=="], - - "@smithy/middleware-endpoint": ["@smithy/middleware-endpoint@4.4.13", "", { "dependencies": { "@smithy/core": "^3.22.1", "@smithy/middleware-serde": "^4.2.9", "@smithy/node-config-provider": "^4.3.8", "@smithy/shared-ini-file-loader": "^4.4.3", "@smithy/types": "^4.12.0", "@smithy/url-parser": "^4.2.8", "@smithy/util-middleware": "^4.2.8", "tslib": "^2.6.2" } }, "sha512-x6vn0PjYmGdNuKh/juUJJewZh7MoQ46jYaJ2mvekF4EesMuFfrl4LaW/k97Zjf8PTCPQmPgMvwewg7eNoH9n5w=="], - - "@smithy/middleware-retry": ["@smithy/middleware-retry@4.4.30", "", { "dependencies": { "@smithy/node-config-provider": "^4.3.8", "@smithy/protocol-http": "^5.3.8", "@smithy/service-error-classification": "^4.2.8", "@smithy/smithy-client": "^4.11.2", "@smithy/types": "^4.12.0", "@smithy/util-middleware": "^4.2.8", "@smithy/util-retry": "^4.2.8", "@smithy/uuid": "^1.1.0", "tslib": "^2.6.2" } }, "sha512-CBGyFvN0f8hlnqKH/jckRDz78Snrp345+PVk8Ux7pnkUCW97Iinse59lY78hBt04h1GZ6hjBN94BRwZy1xC8Bg=="], - - "@smithy/middleware-serde": ["@smithy/middleware-serde@4.2.9", "", { "dependencies": { "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-eMNiej0u/snzDvlqRGSN3Vl0ESn3838+nKyVfF2FKNXFbi4SERYT6PR392D39iczngbqqGG0Jl1DlCnp7tBbXQ=="], - - "@smithy/middleware-stack": ["@smithy/middleware-stack@4.2.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-w6LCfOviTYQjBctOKSwy6A8FIkQy7ICvglrZFl6Bw4FmcQ1Z420fUtIhxaUZZshRe0VCq4kvDiPiXrPZAe8oRA=="], - - "@smithy/node-config-provider": ["@smithy/node-config-provider@4.3.8", "", { "dependencies": { "@smithy/property-provider": "^4.2.8", "@smithy/shared-ini-file-loader": "^4.4.3", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-aFP1ai4lrbVlWjfpAfRSL8KFcnJQYfTl5QxLJXY32vghJrDuFyPZ6LtUL+JEGYiFRG1PfPLHLoxj107ulncLIg=="], - - "@smithy/node-http-handler": ["@smithy/node-http-handler@4.4.9", "", { "dependencies": { "@smithy/abort-controller": "^4.2.8", "@smithy/protocol-http": "^5.3.8", "@smithy/querystring-builder": "^4.2.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-KX5Wml5mF+luxm1szW4QDz32e3NObgJ4Fyw+irhph4I/2geXwUy4jkIMUs5ZPGflRBeR6BUkC2wqIab4Llgm3w=="], - - "@smithy/property-provider": ["@smithy/property-provider@4.2.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-EtCTbyIveCKeOXDSWSdze3k612yCPq1YbXsbqX3UHhkOSW8zKsM9NOJG5gTIya0vbY2DIaieG8pKo1rITHYL0w=="], - - "@smithy/protocol-http": ["@smithy/protocol-http@5.3.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-QNINVDhxpZ5QnP3aviNHQFlRogQZDfYlCkQT+7tJnErPQbDhysondEjhikuANxgMsZrkGeiAxXy4jguEGsDrWQ=="], - - "@smithy/querystring-builder": ["@smithy/querystring-builder@4.2.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "@smithy/util-uri-escape": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-Xr83r31+DrE8CP3MqPgMJl+pQlLLmOfiEUnoyAlGzzJIrEsbKsPy1hqH0qySaQm4oWrCBlUqRt+idEgunKB+iw=="], - - "@smithy/querystring-parser": ["@smithy/querystring-parser@4.2.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-vUurovluVy50CUlazOiXkPq40KGvGWSdmusa3130MwrR1UNnNgKAlj58wlOe61XSHRpUfIIh6cE0zZ8mzKaDPA=="], - - "@smithy/service-error-classification": ["@smithy/service-error-classification@4.2.8", "", { "dependencies": { "@smithy/types": "^4.12.0" } }, "sha512-mZ5xddodpJhEt3RkCjbmUQuXUOaPNTkbMGR0bcS8FE0bJDLMZlhmpgrvPNCYglVw5rsYTpSnv19womw9WWXKQQ=="], - - "@smithy/shared-ini-file-loader": ["@smithy/shared-ini-file-loader@4.4.3", "", { "dependencies": { "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-DfQjxXQnzC5UbCUPeC3Ie8u+rIWZTvuDPAGU/BxzrOGhRvgUanaP68kDZA+jaT3ZI+djOf+4dERGlm9mWfFDrg=="], - - "@smithy/signature-v4": ["@smithy/signature-v4@5.3.8", "", { "dependencies": { "@smithy/is-array-buffer": "^4.2.0", "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", "@smithy/util-hex-encoding": "^4.2.0", "@smithy/util-middleware": "^4.2.8", "@smithy/util-uri-escape": "^4.2.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-6A4vdGj7qKNRF16UIcO8HhHjKW27thsxYci+5r/uVRkdcBEkOEiY8OMPuydLX4QHSrJqGHPJzPRwwVTqbLZJhg=="], - - "@smithy/smithy-client": ["@smithy/smithy-client@4.11.2", "", { "dependencies": { "@smithy/core": "^3.22.1", "@smithy/middleware-endpoint": "^4.4.13", "@smithy/middleware-stack": "^4.2.8", "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", "@smithy/util-stream": "^4.5.11", "tslib": "^2.6.2" } }, "sha512-SCkGmFak/xC1n7hKRsUr6wOnBTJ3L22Qd4e8H1fQIuKTAjntwgU8lrdMe7uHdiT2mJAOWA/60qaW9tiMu69n1A=="], - "@smithy/types": ["@smithy/types@4.12.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-9YcuJVTOBDjg9LWo23Qp0lTQ3D7fQsQtwle0jVfpbUHy9qBwCEgKuVH4FqFB3VYu0nwdHKiEMA+oXz7oV8X1kw=="], - "@smithy/url-parser": ["@smithy/url-parser@4.2.8", "", { "dependencies": { "@smithy/querystring-parser": "^4.2.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-NQho9U68TGMEU639YkXnVMV3GEFFULmmaWdlu1E9qzyIePOHsoSnagTGSDv1Zi8DCNN6btxOSdgmy5E/hsZwhA=="], - - "@smithy/util-base64": ["@smithy/util-base64@4.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^4.2.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ=="], - - "@smithy/util-body-length-browser": ["@smithy/util-body-length-browser@4.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg=="], - - "@smithy/util-body-length-node": ["@smithy/util-body-length-node@4.2.1", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA=="], - "@smithy/util-buffer-from": ["@smithy/util-buffer-from@4.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew=="], - "@smithy/util-config-provider": ["@smithy/util-config-provider@4.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q=="], - - "@smithy/util-defaults-mode-browser": ["@smithy/util-defaults-mode-browser@4.3.29", "", { "dependencies": { "@smithy/property-provider": "^4.2.8", "@smithy/smithy-client": "^4.11.2", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-nIGy3DNRmOjaYaaKcQDzmWsro9uxlaqUOhZDHQed9MW/GmkBZPtnU70Pu1+GT9IBmUXwRdDuiyaeiy9Xtpn3+Q=="], - - "@smithy/util-defaults-mode-node": ["@smithy/util-defaults-mode-node@4.2.32", "", { "dependencies": { "@smithy/config-resolver": "^4.4.6", "@smithy/credential-provider-imds": "^4.2.8", "@smithy/node-config-provider": "^4.3.8", "@smithy/property-provider": "^4.2.8", "@smithy/smithy-client": "^4.11.2", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-7dtFff6pu5fsjqrVve0YMhrnzJtccCWDacNKOkiZjJ++fmjGExmmSu341x+WU6Oc1IccL7lDuaUj7SfrHpWc5Q=="], - - "@smithy/util-endpoints": ["@smithy/util-endpoints@3.2.8", "", { "dependencies": { "@smithy/node-config-provider": "^4.3.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-8JaVTn3pBDkhZgHQ8R0epwWt+BqPSLCjdjXXusK1onwJlRuN69fbvSK66aIKKO7SwVFM6x2J2ox5X8pOaWcUEw=="], - "@smithy/util-hex-encoding": ["@smithy/util-hex-encoding@4.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw=="], - "@smithy/util-middleware": ["@smithy/util-middleware@4.2.8", "", { "dependencies": { "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-PMqfeJxLcNPMDgvPbbLl/2Vpin+luxqTGPpW3NAQVLbRrFRzTa4rNAASYeIGjRV9Ytuhzny39SpyU04EQreF+A=="], - - "@smithy/util-retry": ["@smithy/util-retry@4.2.8", "", { "dependencies": { "@smithy/service-error-classification": "^4.2.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-CfJqwvoRY0kTGe5AkQokpURNCT1u/MkRzMTASWMPPo2hNSnKtF1D45dQl3DE2LKLr4m+PW9mCeBMJr5mCAVThg=="], - - "@smithy/util-stream": ["@smithy/util-stream@4.5.11", "", { "dependencies": { "@smithy/fetch-http-handler": "^5.3.9", "@smithy/node-http-handler": "^4.4.9", "@smithy/types": "^4.12.0", "@smithy/util-base64": "^4.3.0", "@smithy/util-buffer-from": "^4.2.0", "@smithy/util-hex-encoding": "^4.2.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-lKmZ0S/3Qj2OF5H1+VzvDLb6kRxGzZHq6f3rAsoSu5cTLGsn3v3VQBA8czkNNXlLjoFEtVu3OQT2jEeOtOE2CA=="], - - "@smithy/util-uri-escape": ["@smithy/util-uri-escape@4.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA=="], - "@smithy/util-utf8": ["@smithy/util-utf8@4.2.0", "", { "dependencies": { "@smithy/util-buffer-from": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw=="], - "@smithy/util-waiter": ["@smithy/util-waiter@4.2.8", "", { "dependencies": { "@smithy/abort-controller": "^4.2.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" } }, "sha512-n+lahlMWk+aejGuax7DPWtqav8HYnWxQwR+LCG2BgCUmaGcTe9qZCFsmw8TMg9iG75HOwhrJCX9TCJRLH+Yzqg=="], - - "@smithy/uuid": ["@smithy/uuid@1.1.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw=="], - "@socket.io/component-emitter": ["@socket.io/component-emitter@3.1.2", "", {}, "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="], "@solid-primitives/active-element": ["@solid-primitives/active-element@2.1.3", "", { "dependencies": { "@solid-primitives/event-listener": "^2.4.3", "@solid-primitives/utils": "^6.3.2" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-9t5K4aR2naVDj950XU8OjnLgOg94a8k5wr6JNOPK+N5ESLsJDq42c1ZP8UKpewi1R+wplMMxiM6OPKRzbxJY7A=="], @@ -1901,18 +1120,12 @@ "@solidjs/router": ["@solidjs/router@0.15.4", "", { "peerDependencies": { "solid-js": "^1.8.6" } }, "sha512-WOpgg9a9T638cR+5FGbFi/IV4l2FpmBs1GpIMSPa0Ce9vyJN7Wts+X2PqMf9IYn0zUj2MlSJtm1gp7/HI/n5TQ=="], - "@solidjs/start": ["@solidjs/start@https://pkg.pr.new/@solidjs/start@dfb2020", { "dependencies": { "@babel/core": "^7.28.3", "@babel/traverse": "^7.28.3", "@babel/types": "^7.28.5", "@solidjs/meta": "^0.29.4", "@tanstack/server-functions-plugin": "1.134.5", "@types/babel__traverse": "^7.28.0", "@types/micromatch": "^4.0.9", "cookie-es": "^2.0.0", "defu": "^6.1.4", "error-stack-parser": "^2.1.4", "es-module-lexer": "^1.7.0", "esbuild": "^0.25.3", "fast-glob": "^3.3.3", "h3": "npm:h3@2.0.1-rc.4", "html-to-image": "^1.11.13", "micromatch": "^4.0.8", "path-to-regexp": "^8.2.0", "pathe": "^2.0.3", "radix3": "^1.1.2", "seroval": "^1.3.2", "seroval-plugins": "^1.2.1", "shiki": "^1.26.1", "solid-js": "^1.9.9", "source-map-js": "^1.2.1", "srvx": "^0.9.1", "terracotta": "^1.0.6", "vite": "7.1.10", "vite-plugin-solid": "^2.11.9", "vitest": "^4.0.10" } }], - - "@speed-highlight/core": ["@speed-highlight/core@1.2.14", "", {}, "sha512-G4ewlBNhUtlLvrJTb88d2mdy2KRijzs4UhnlrOSRT4bmjh/IqNElZa3zkrZ+TC47TwtlDWzVLFADljF1Ijp5hA=="], - "@standard-community/standard-json": ["@standard-community/standard-json@0.3.5", "", { "peerDependencies": { "@standard-schema/spec": "^1.0.0", "@types/json-schema": "^7.0.15", "@valibot/to-json-schema": "^1.3.0", "arktype": "^2.1.20", "effect": "^3.16.8", "quansync": "^0.2.11", "sury": "^10.0.0", "typebox": "^1.0.17", "valibot": "^1.1.0", "zod": "^3.25.0 || ^4.0.0", "zod-to-json-schema": "^3.24.5" }, "optionalPeers": ["@valibot/to-json-schema", "arktype", "effect", "sury", "typebox", "valibot", "zod", "zod-to-json-schema"] }, "sha512-4+ZPorwDRt47i+O7RjyuaxHRK/37QY/LmgxlGrRrSTLYoFatEOzvqIc85GTlM18SFZ5E91C+v0o/M37wZPpUHA=="], "@standard-community/standard-openapi": ["@standard-community/standard-openapi@0.2.9", "", { "peerDependencies": { "@standard-community/standard-json": "^0.3.5", "@standard-schema/spec": "^1.0.0", "arktype": "^2.1.20", "effect": "^3.17.14", "openapi-types": "^12.1.3", "sury": "^10.0.0", "typebox": "^1.0.0", "valibot": "^1.1.0", "zod": "^3.25.0 || ^4.0.0", "zod-openapi": "^4" }, "optionalPeers": ["arktype", "effect", "sury", "typebox", "valibot", "zod", "zod-openapi"] }, "sha512-htj+yldvN1XncyZi4rehbf9kLbu8os2Ke/rfqoZHCMHuw34kiF3LP/yQPdA0tQ940y8nDq3Iou8R3wG+AGGyvg=="], "@standard-schema/spec": ["@standard-schema/spec@1.0.0", "", {}, "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA=="], - "@stripe/stripe-js": ["@stripe/stripe-js@8.6.1", "", {}, "sha512-UJ05U2062XDgydbUcETH1AoRQLNhigQ2KmDn1BG8sC3xfzu6JKg95Qt6YozdzFpxl1Npii/02m2LEWFt1RYjVA=="], - "@swc/helpers": ["@swc/helpers@0.5.18", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ=="], "@tailwindcss/node": ["@tailwindcss/node@4.1.11", "", { "dependencies": { "@ampproject/remapping": "^2.3.0", "enhanced-resolve": "^5.18.1", "jiti": "^2.4.2", "lightningcss": "1.30.1", "magic-string": "^0.30.17", "source-map-js": "^1.2.1", "tailwindcss": "4.1.11" } }, "sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q=="], @@ -1945,12 +1158,6 @@ "@tailwindcss/vite": ["@tailwindcss/vite@4.1.11", "", { "dependencies": { "@tailwindcss/node": "4.1.11", "@tailwindcss/oxide": "4.1.11", "tailwindcss": "4.1.11" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7" } }, "sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw=="], - "@tanstack/directive-functions-plugin": ["@tanstack/directive-functions-plugin@1.134.5", "", { "dependencies": { "@babel/code-frame": "7.27.1", "@babel/core": "^7.27.7", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", "@tanstack/router-utils": "1.133.19", "babel-dead-code-elimination": "^1.0.10", "pathe": "^2.0.3", "tiny-invariant": "^1.3.3" }, "peerDependencies": { "vite": ">=6.0.0 || >=7.0.0" } }, "sha512-J3oawV8uBRBbPoLgMdyHt+LxzTNuWRKNJJuCLWsm/yq6v0IQSvIVCgfD2+liIiSnDPxGZ8ExduPXy8IzS70eXw=="], - - "@tanstack/router-utils": ["@tanstack/router-utils@1.133.19", "", { "dependencies": { "@babel/core": "^7.27.4", "@babel/generator": "^7.27.5", "@babel/parser": "^7.27.5", "@babel/preset-typescript": "^7.27.1", "ansis": "^4.1.0", "diff": "^8.0.2", "pathe": "^2.0.3", "tinyglobby": "^0.2.15" } }, "sha512-WEp5D2gPxvlLDRXwD/fV7RXjYtqaqJNXKB/L6OyZEbT+9BG/Ib2d7oG9GSUZNNMGPGYAlhBUOi3xutySsk6rxA=="], - - "@tanstack/server-functions-plugin": ["@tanstack/server-functions-plugin@1.134.5", "", { "dependencies": { "@babel/code-frame": "7.27.1", "@babel/core": "^7.27.7", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.27.1", "@babel/template": "^7.27.2", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", "@tanstack/directive-functions-plugin": "1.134.5", "babel-dead-code-elimination": "^1.0.9", "tiny-invariant": "^1.3.3" } }, "sha512-2sWxq70T+dOEUlE3sHlXjEPhaFZfdPYlWTSkHchWXrFGw2YOAa+hzD6L9wHMjGDQezYd03ue8tQlHG+9Jzbzgw=="], - "@tauri-apps/api": ["@tauri-apps/api@2.10.1", "", {}, "sha512-hKL/jWf293UDSUN09rR69hrToyIXBb8CjGaWC7gfinvnQrBVvnLr08FeFi38gxtugAVyVcTa5/FD/Xnkb1siBw=="], "@tauri-apps/cli": ["@tauri-apps/cli@2.10.0", "", { "optionalDependencies": { "@tauri-apps/cli-darwin-arm64": "2.10.0", "@tauri-apps/cli-darwin-x64": "2.10.0", "@tauri-apps/cli-linux-arm-gnueabihf": "2.10.0", "@tauri-apps/cli-linux-arm64-gnu": "2.10.0", "@tauri-apps/cli-linux-arm64-musl": "2.10.0", "@tauri-apps/cli-linux-riscv64-gnu": "2.10.0", "@tauri-apps/cli-linux-x64-gnu": "2.10.0", "@tauri-apps/cli-linux-x64-musl": "2.10.0", "@tauri-apps/cli-win32-arm64-msvc": "2.10.0", "@tauri-apps/cli-win32-ia32-msvc": "2.10.0", "@tauri-apps/cli-win32-x64-msvc": "2.10.0" }, "bin": { "tauri": "tauri.js" } }, "sha512-ZwT0T+7bw4+DPCSWzmviwq5XbXlM0cNoleDKOYPFYqcZqeKY31KlpoMW/MOON/tOFBPgi31a2v3w9gliqwL2+Q=="], @@ -2009,8 +1216,6 @@ "@tsconfig/node22": ["@tsconfig/node22@22.0.2", "", {}, "sha512-Kmwj4u8sDRDrMYRoN9FDEcXD8UpBSaPQQ24Gz+Gamqfm7xxn+GBR7ge/Z7pK8OXNGyUzbSwJj+TH6B+DS/epyA=="], - "@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], - "@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="], "@types/babel__generator": ["@types/babel__generator@7.27.0", "", { "dependencies": { "@babel/types": "^7.0.0" } }, "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg=="], @@ -2019,92 +1224,32 @@ "@types/babel__traverse": ["@types/babel__traverse@7.28.0", "", { "dependencies": { "@babel/types": "^7.28.2" } }, "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q=="], - "@types/body-parser": ["@types/body-parser@1.19.6", "", { "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g=="], - - "@types/braces": ["@types/braces@3.0.5", "", {}, "sha512-SQFof9H+LXeWNz8wDe7oN5zu7ket0qwMu5vZubW4GCJ8Kkeh6nBWUz87+KTz/G3Kqsrp0j/W253XJb3KMEeg3w=="], - "@types/bun": ["@types/bun@1.3.8", "", { "dependencies": { "bun-types": "1.3.8" } }, "sha512-3LvWJ2q5GerAXYxO2mffLTqOzEu5qnhEAlh48Vnu8WQfnmSwbgagjGZV6BoHKJztENYEDn6QmVd949W4uESRJA=="], - "@types/chai": ["@types/chai@5.2.3", "", { "dependencies": { "@types/deep-eql": "*", "assertion-error": "^2.0.1" } }, "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA=="], - - "@types/connect": ["@types/connect@3.4.38", "", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="], - - "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="], - - "@types/deep-eql": ["@types/deep-eql@4.0.2", "", {}, "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw=="], - "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], - "@types/estree-jsx": ["@types/estree-jsx@1.0.5", "", { "dependencies": { "@types/estree": "*" } }, "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg=="], - - "@types/express": ["@types/express@4.17.25", "", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "^1" } }, "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw=="], - - "@types/express-serve-static-core": ["@types/express-serve-static-core@4.19.8", "", { "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA=="], - - "@types/fontkit": ["@types/fontkit@2.0.8", "", { "dependencies": { "@types/node": "*" } }, "sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew=="], - "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="], - "@types/http-errors": ["@types/http-errors@2.0.5", "", {}, "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg=="], - - "@types/is-stream": ["@types/is-stream@1.1.0", "", { "dependencies": { "@types/node": "*" } }, "sha512-jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg=="], - "@types/istanbul-lib-coverage": ["@types/istanbul-lib-coverage@2.0.6", "", {}, "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w=="], - "@types/js-yaml": ["@types/js-yaml@4.0.9", "", {}, "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg=="], - "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], - "@types/jsonwebtoken": ["@types/jsonwebtoken@8.5.9", "", { "dependencies": { "@types/node": "*" } }, "sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg=="], - "@types/katex": ["@types/katex@0.16.7", "", {}, "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ=="], "@types/luxon": ["@types/luxon@3.7.1", "", {}, "sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg=="], "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="], - "@types/mdx": ["@types/mdx@2.0.13", "", {}, "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw=="], - - "@types/micromatch": ["@types/micromatch@4.0.10", "", { "dependencies": { "@types/braces": "*" } }, "sha512-5jOhFDElqr4DKTrTEbnW8DZ4Hz5LRUEmyrGpCMrD/NphYv3nUnaF08xmSLx1rGGnyEs/kFnhiw6dCgcDqMr5PQ=="], - - "@types/mime": ["@types/mime@1.3.5", "", {}, "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="], - "@types/mocha": ["@types/mocha@10.0.10", "", {}, "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q=="], - "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], - - "@types/nlcst": ["@types/nlcst@2.0.3", "", { "dependencies": { "@types/unist": "*" } }, "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA=="], - "@types/node": ["@types/node@22.13.9", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw=="], "@types/node-fetch": ["@types/node-fetch@2.6.13", "", { "dependencies": { "@types/node": "*", "form-data": "^4.0.4" } }, "sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw=="], - "@types/promise.allsettled": ["@types/promise.allsettled@1.0.6", "", {}, "sha512-wA0UT0HeT2fGHzIFV9kWpYz5mdoyLxKrTgMdZQM++5h6pYAFH73HXcQhefg24nD1yivUFEn5KU+EF4b+CXJ4Wg=="], - - "@types/prop-types": ["@types/prop-types@15.7.15", "", {}, "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw=="], - "@types/qrcode": ["@types/qrcode@1.5.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw=="], - "@types/qs": ["@types/qs@6.14.0", "", {}, "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ=="], - - "@types/range-parser": ["@types/range-parser@1.2.7", "", {}, "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="], - - "@types/react": ["@types/react@18.0.25", "", { "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", "csstype": "^3.0.2" } }, "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g=="], - - "@types/retry": ["@types/retry@0.12.0", "", {}, "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA=="], - - "@types/sax": ["@types/sax@1.2.7", "", { "dependencies": { "@types/node": "*" } }, "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A=="], - - "@types/scheduler": ["@types/scheduler@0.26.0", "", {}, "sha512-WFHp9YUJQ6CKshqoC37iOlHnQSmxNc795UhB26CyBBttrN9svdIrUjl/NjnNmfcwtncN0h/0PPAFWv9ovP8mLA=="], - - "@types/send": ["@types/send@1.2.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ=="], - - "@types/serve-static": ["@types/serve-static@1.15.10", "", { "dependencies": { "@types/http-errors": "*", "@types/node": "*", "@types/send": "<1" } }, "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw=="], - "@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="], - "@types/tsscmp": ["@types/tsscmp@1.0.2", "", {}, "sha512-cy7BRSU8GYYgxjcx0Py+8lo5MthuDhlyu076KUcYzVNXL23luYgRHkMG2fIFEc6neckeh/ntP82mw+U4QjZq+g=="], - "@types/tunnel": ["@types/tunnel@0.0.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA=="], "@types/turndown": ["@types/turndown@5.0.5", "", {}, "sha512-TL2IgGgc7B5j78rIccBtlYAnkuv8nUQqhQc+DSYV5j9Be9XOcm/SKOVRuA47xAVI3680Tk9B1d8flK2GWT2+4w=="], @@ -2165,48 +1310,14 @@ "@vercel/oidc": ["@vercel/oidc@3.1.0", "", {}, "sha512-Fw28YZpRnA3cAHHDlkt7xQHiJ0fcL+NRcIqsocZQUSmbzeIKRpwttJjik5ZGanXP+vlA4SbTg+AbA3bP363l+w=="], - "@vitejs/plugin-react": ["@vitejs/plugin-react@4.7.0", "", { "dependencies": { "@babel/core": "^7.28.0", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-beta.27", "@types/babel__core": "^7.20.5", "react-refresh": "^0.17.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA=="], - - "@vitest/expect": ["@vitest/expect@4.0.18", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "@types/chai": "^5.2.2", "@vitest/spy": "4.0.18", "@vitest/utils": "4.0.18", "chai": "^6.2.1", "tinyrainbow": "^3.0.3" } }, "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ=="], - - "@vitest/mocker": ["@vitest/mocker@4.0.18", "", { "dependencies": { "@vitest/spy": "4.0.18", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, "peerDependencies": { "msw": "^2.4.9", "vite": "^6.0.0 || ^7.0.0-0" }, "optionalPeers": ["msw", "vite"] }, "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ=="], - - "@vitest/pretty-format": ["@vitest/pretty-format@4.0.18", "", { "dependencies": { "tinyrainbow": "^3.0.3" } }, "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw=="], - - "@vitest/runner": ["@vitest/runner@4.0.18", "", { "dependencies": { "@vitest/utils": "4.0.18", "pathe": "^2.0.3" } }, "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw=="], - - "@vitest/snapshot": ["@vitest/snapshot@4.0.18", "", { "dependencies": { "@vitest/pretty-format": "4.0.18", "magic-string": "^0.30.21", "pathe": "^2.0.3" } }, "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA=="], - - "@vitest/spy": ["@vitest/spy@4.0.18", "", {}, "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw=="], - - "@vitest/utils": ["@vitest/utils@4.0.18", "", { "dependencies": { "@vitest/pretty-format": "4.0.18", "tinyrainbow": "^3.0.3" } }, "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA=="], - - "@volar/kit": ["@volar/kit@2.4.28", "", { "dependencies": { "@volar/language-service": "2.4.28", "@volar/typescript": "2.4.28", "typesafe-path": "^0.2.2", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" }, "peerDependencies": { "typescript": "*" } }, "sha512-cKX4vK9dtZvDRaAzeoUdaAJEew6IdxHNCRrdp5Kvcl6zZOqb6jTOfk3kXkIkG3T7oTFXguEMt5+9ptyqYR84Pg=="], - - "@volar/language-core": ["@volar/language-core@2.4.28", "", { "dependencies": { "@volar/source-map": "2.4.28" } }, "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ=="], - - "@volar/language-server": ["@volar/language-server@2.4.28", "", { "dependencies": { "@volar/language-core": "2.4.28", "@volar/language-service": "2.4.28", "@volar/typescript": "2.4.28", "path-browserify": "^1.0.1", "request-light": "^0.7.0", "vscode-languageserver": "^9.0.1", "vscode-languageserver-protocol": "^3.17.5", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" } }, "sha512-NqcLnE5gERKuS4PUFwlhMxf6vqYo7hXtbMFbViXcbVkbZ905AIVWhnSo0ZNBC2V127H1/2zP7RvVOVnyITFfBw=="], - - "@volar/language-service": ["@volar/language-service@2.4.28", "", { "dependencies": { "@volar/language-core": "2.4.28", "vscode-languageserver-protocol": "^3.17.5", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" } }, "sha512-Rh/wYCZJrI5vCwMk9xyw/Z+MsWxlJY1rmMZPsxUoJKfzIRjS/NF1NmnuEcrMbEVGja00aVpCsInJfixQTMdvLw=="], - - "@volar/source-map": ["@volar/source-map@2.4.28", "", {}, "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ=="], - - "@volar/typescript": ["@volar/typescript@2.4.28", "", { "dependencies": { "@volar/language-core": "2.4.28", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } }, "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw=="], - - "@vscode/emmet-helper": ["@vscode/emmet-helper@2.11.0", "", { "dependencies": { "emmet": "^2.4.3", "jsonc-parser": "^2.3.0", "vscode-languageserver-textdocument": "^1.0.1", "vscode-languageserver-types": "^3.15.1", "vscode-uri": "^3.0.8" } }, "sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw=="], - - "@vscode/l10n": ["@vscode/l10n@0.0.18", "", {}, "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ=="], - "@vscode/test-cli": ["@vscode/test-cli@0.0.12", "", { "dependencies": { "@types/mocha": "^10.0.10", "c8": "^10.1.3", "chokidar": "^3.6.0", "enhanced-resolve": "^5.18.3", "glob": "^10.3.10", "minimatch": "^9.0.3", "mocha": "^11.7.4", "supports-color": "^10.2.2", "yargs": "^17.7.2" }, "bin": { "vscode-test": "out/bin.mjs" } }, "sha512-iYN0fDg29+a2Xelle/Y56Xvv7Nc8Thzq4VwpzAF/SIE6918rDicqfsQxV6w1ttr2+SOm+10laGuY9FG2ptEKsQ=="], "@vscode/test-electron": ["@vscode/test-electron@2.5.2", "", { "dependencies": { "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.5", "jszip": "^3.10.1", "ora": "^8.1.0", "semver": "^7.6.2" } }, "sha512-8ukpxv4wYe0iWMRQU18jhzJOHkeGKbnw7xWRX3Zw1WJA4cEKbHcmmLPdPrPtL6rhDcrlCZN+xKRpv09n4gRHYg=="], - "@webgpu/types": ["@webgpu/types@0.1.54", "", {}, "sha512-81oaalC8LFrXjhsczomEQ0u3jG+TqE6V9QHLA8GNZq/Rnot0KDugu3LhSYSlie8tSdooAN1Hov05asrUUp9qgg=="], + "@webgpu/types": ["@webgpu/types@0.1.69", "", {}, "sha512-RPmm6kgRbI8e98zSD3RVACvnuktIja5+yLgDAkTmxLr90BEwdTXRQWNLF3ETTTyH/8mKhznZuN5AveXYFEsMGQ=="], "@zip.js/zip.js": ["@zip.js/zip.js@2.7.62", "", {}, "sha512-OaLvZ8j4gCkLn048ypkZu29KX30r8/OfFF2w4Jo5WXFr+J04J+lzJ5TKZBVgFXhlvSkqNFQdfnY1Q8TMTCyBVA=="], - "abbrev": ["abbrev@2.0.0", "", {}, "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ=="], - "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="], "abstract-logging": ["abstract-logging@2.0.1", "", {}, "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA=="], @@ -2217,36 +1328,24 @@ "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], - "acorn-walk": ["acorn-walk@8.3.2", "", {}, "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A=="], - "agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], - "agentkeepalive": ["agentkeepalive@4.6.0", "", { "dependencies": { "humanize-ms": "^1.2.1" } }, "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ=="], - "ai": ["ai@5.0.124", "", { "dependencies": { "@ai-sdk/gateway": "2.0.30", "@ai-sdk/provider": "2.0.1", "@ai-sdk/provider-utils": "3.0.20", "@opentelemetry/api": "1.9.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-Li6Jw9F9qsvFJXZPBfxj38ddP2iURCnMs96f9Q3OeQzrDVcl1hvtwSEAuxA/qmfh6SDV2ERqFUOFzigvr0697g=="], "ai-gateway-provider": ["ai-gateway-provider@2.3.1", "", { "dependencies": { "@ai-sdk/provider": "^2.0.0", "@ai-sdk/provider-utils": "^3.0.19", "ai": "^5.0.116" }, "optionalDependencies": { "@ai-sdk/amazon-bedrock": "^3.0.71", "@ai-sdk/anthropic": "^2.0.56", "@ai-sdk/azure": "^2.0.90", "@ai-sdk/cerebras": "^1.0.33", "@ai-sdk/cohere": "^2.0.21", "@ai-sdk/deepgram": "^1.0.21", "@ai-sdk/deepseek": "^1.0.32", "@ai-sdk/elevenlabs": "^1.0.21", "@ai-sdk/fireworks": "^1.0.30", "@ai-sdk/google": "^2.0.51", "@ai-sdk/google-vertex": "3.0.90", "@ai-sdk/groq": "^2.0.33", "@ai-sdk/mistral": "^2.0.26", "@ai-sdk/openai": "^2.0.88", "@ai-sdk/perplexity": "^2.0.22", "@ai-sdk/xai": "^2.0.42", "@openrouter/ai-sdk-provider": "^1.5.3" }, "peerDependencies": { "@ai-sdk/openai-compatible": "^1.0.29" } }, "sha512-PqI6TVNEDNwr7kOhy7XUGnA8XJB1SpeA9aLqGjr0CyWkKgH+y+ofPm8MZGZ74DOwVejDF+POZq0Qs9jKEKUeYg=="], "ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], - "ajv-draft-04": ["ajv-draft-04@1.0.0", "", { "peerDependencies": { "ajv": "^8.5.0" }, "optionalPeers": ["ajv"] }, "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw=="], - "ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="], - "ansi-align": ["ansi-align@3.0.1", "", { "dependencies": { "string-width": "^4.1.0" } }, "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w=="], - "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="], "ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], "ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], - "ansis": ["ansis@4.2.0", "", {}, "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig=="], - "any-base": ["any-base@1.1.0", "", {}, "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg=="], - "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="], - "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], "archiver": ["archiver@7.0.1", "", { "dependencies": { "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", "zip-stream": "^6.0.1" } }, "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ=="], @@ -2255,34 +1354,12 @@ "arctic": ["arctic@2.3.4", "", { "dependencies": { "@oslojs/crypto": "1.0.1", "@oslojs/encoding": "1.1.0", "@oslojs/jwt": "0.2.0" } }, "sha512-+p30BOWsctZp+CVYCt7oAean/hWGW42sH5LAcRQX56ttEkFJWbzXBhmSpibbzwSJkRrotmsA+oAoJoVsU0f5xA=="], - "arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="], - "argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], - "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], - - "aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="], - "array-buffer-byte-length": ["array-buffer-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "is-array-buffer": "^3.0.5" } }, "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw=="], - "array-flatten": ["array-flatten@1.1.1", "", {}, "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="], - - "array-iterate": ["array-iterate@2.0.1", "", {}, "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg=="], - - "array-union": ["array-union@2.1.0", "", {}, "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="], - - "array.prototype.map": ["array.prototype.map@1.0.8", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-abstract": "^1.23.6", "es-array-method-boxes-properly": "^1.0.0", "es-object-atoms": "^1.0.0", "is-string": "^1.1.1" } }, "sha512-YocPM7bYYu2hXGxWpb5vwZ8cMeudNHYtYBcUDY4Z1GWa53qcnQMWSl25jeBHNzitjl9HW2AWW4ro/S/nftUaOQ=="], - "arraybuffer.prototype.slice": ["arraybuffer.prototype.slice@1.0.4", "", { "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "is-array-buffer": "^3.0.4" } }, "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ=="], - "assertion-error": ["assertion-error@2.0.1", "", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="], - - "astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="], - - "astro": ["astro@5.7.13", "", { "dependencies": { "@astrojs/compiler": "^2.11.0", "@astrojs/internal-helpers": "0.6.1", "@astrojs/markdown-remark": "6.3.1", "@astrojs/telemetry": "3.2.1", "@capsizecss/unpack": "^2.4.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.1.4", "acorn": "^8.14.1", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "boxen": "8.0.1", "ci-info": "^4.2.0", "clsx": "^2.1.1", "common-ancestor-path": "^1.0.1", "cookie": "^1.0.2", "cssesc": "^3.0.0", "debug": "^4.4.0", "deterministic-object-hash": "^2.0.2", "devalue": "^5.1.1", "diff": "^5.2.0", "dlv": "^1.1.3", "dset": "^3.1.4", "es-module-lexer": "^1.6.0", "esbuild": "^0.25.0", "estree-walker": "^3.0.3", "flattie": "^1.1.1", "fontace": "~0.3.0", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.1.1", "js-yaml": "^4.1.0", "kleur": "^4.1.5", "magic-string": "^0.30.17", "magicast": "^0.3.5", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "p-limit": "^6.2.0", "p-queue": "^8.1.0", "package-manager-detector": "^1.1.0", "picomatch": "^4.0.2", "prompts": "^2.4.2", "rehype": "^13.0.2", "semver": "^7.7.1", "shiki": "^3.2.1", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.12", "tsconfck": "^3.1.5", "ultrahtml": "^1.6.0", "unifont": "~0.5.0", "unist-util-visit": "^5.0.0", "unstorage": "^1.15.0", "vfile": "^6.0.3", "vite": "^6.3.4", "vitefu": "^1.0.6", "xxhash-wasm": "^1.1.0", "yargs-parser": "^21.1.1", "yocto-spinner": "^0.2.1", "zod": "^3.24.2", "zod-to-json-schema": "^3.24.5", "zod-to-ts": "^1.2.0" }, "optionalDependencies": { "sharp": "^0.33.3" }, "bin": { "astro": "astro.js" } }, "sha512-cRGq2llKOhV3XMcYwQpfBIUcssN6HEK5CRbcMxAfd9OcFhvWE7KUy50zLioAZVVl3AqgUTJoNTlmZfD2eG0G1w=="], - - "astro-expressive-code": ["astro-expressive-code@0.41.6", "", { "dependencies": { "rehype-expressive-code": "^0.41.6" }, "peerDependencies": { "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta" } }, "sha512-l47tb1uhmVIebHUkw+HEPtU/av0G4O8Q34g2cbkPvC7/e9ZhANcjUUciKt9Hp6gSVDdIuXBBLwJQn2LkeGMOAw=="], - "async": ["async@3.2.6", "", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="], "async-function": ["async-function@1.0.0", "", {}, "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA=="], @@ -2291,50 +1368,32 @@ "atomic-sleep": ["atomic-sleep@1.0.0", "", {}, "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ=="], - "autoprefixer": ["autoprefixer@10.4.24", "", { "dependencies": { "browserslist": "^4.28.1", "caniuse-lite": "^1.0.30001766", "fraction.js": "^5.3.4", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw=="], - "available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="], "avvio": ["avvio@9.1.0", "", { "dependencies": { "@fastify/error": "^4.0.0", "fastq": "^1.17.1" } }, "sha512-fYASnYi600CsH/j9EQov7lECAniYiBFiiAtBNuZYLA2leLe9qOvZzqYHFjtIj6gD2VMoMLP14834LFWvr4IfDw=="], "await-to-js": ["await-to-js@3.0.0", "", {}, "sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g=="], - "aws-sdk": ["aws-sdk@2.1692.0", "", { "dependencies": { "buffer": "4.9.2", "events": "1.1.1", "ieee754": "1.1.13", "jmespath": "0.16.0", "querystring": "0.2.0", "sax": "1.2.1", "url": "0.10.3", "util": "^0.12.4", "uuid": "8.0.0", "xml2js": "0.6.2" } }, "sha512-x511uiJ/57FIsbgUe5csJ13k3uzu25uWQE+XqfBis/sB0SFoiElJWXRkgEAUh0U6n40eT3ay5Ue4oPkRMu1LYw=="], - - "aws-ssl-profiles": ["aws-ssl-profiles@1.1.2", "", {}, "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g=="], - "aws4fetch": ["aws4fetch@1.0.20", "", {}, "sha512-/djoAN709iY65ETD6LKCtyyEI04XIBP5xVvfmNxsEP0uJB5tyaGBztSryRr4HqMStr9R06PisQE7m9zDTXKu6g=="], "axios": ["axios@1.13.4", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, "sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg=="], - "axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="], - "b4a": ["b4a@1.7.3", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q=="], - "babel-dead-code-elimination": ["babel-dead-code-elimination@1.0.12", "", { "dependencies": { "@babel/core": "^7.23.7", "@babel/parser": "^7.23.6", "@babel/traverse": "^7.23.7", "@babel/types": "^7.23.6" } }, "sha512-GERT7L2TiYcYDtYk1IpD+ASAYXjKbLTDPhBtYj7X1NuRMDTMtAx9kyBenub1Ev41lo91OHCKdmP+egTDmfQ7Ig=="], - "babel-plugin-jsx-dom-expressions": ["babel-plugin-jsx-dom-expressions@0.40.3", "", { "dependencies": { "@babel/helper-module-imports": "7.18.6", "@babel/plugin-syntax-jsx": "^7.18.6", "@babel/types": "^7.20.7", "html-entities": "2.3.3", "parse5": "^7.1.2" }, "peerDependencies": { "@babel/core": "^7.20.12" } }, "sha512-5HOwwt0BYiv/zxl7j8Pf2bGL6rDXfV6nUhLs8ygBX+EFJXzBPHM/euj9j/6deMZ6wa52Wb2PBaAV5U/jKwIY1w=="], "babel-plugin-module-resolver": ["babel-plugin-module-resolver@5.0.2", "", { "dependencies": { "find-babel-config": "^2.1.1", "glob": "^9.3.3", "pkg-up": "^3.1.0", "reselect": "^4.1.7", "resolve": "^1.22.8" } }, "sha512-9KtaCazHee2xc0ibfqsDeamwDps6FZNo5S0Q81dUqEuFzVwPhcT4J5jOqIVvgCA3Q/wO9hKYxN/Ds3tIsp5ygg=="], "babel-preset-solid": ["babel-preset-solid@1.9.9", "", { "dependencies": { "babel-plugin-jsx-dom-expressions": "^0.40.1" }, "peerDependencies": { "@babel/core": "^7.0.0", "solid-js": "^1.9.8" }, "optionalPeers": ["solid-js"] }, "sha512-pCnxWrciluXCeli/dj5PIEHgbNzim3evtTn12snjqqg8QZWJNMjH1AWIp4iG/tbVjqQ72aBEymMSagvmgxubXw=="], - "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="], - "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], "bare-events": ["bare-events@2.8.2", "", { "peerDependencies": { "bare-abort-controller": "*" }, "optionalPeers": ["bare-abort-controller"] }, "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ=="], - "base-64": ["base-64@1.0.0", "", {}, "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg=="], - "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], "baseline-browser-mapping": ["baseline-browser-mapping@2.9.19", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg=="], - "bcp-47": ["bcp-47@2.1.0", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w=="], - - "bcp-47-match": ["bcp-47-match@2.0.3", "", {}, "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ=="], - "before-after-hook": ["before-after-hook@2.2.3", "", {}, "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="], "bignumber.js": ["bignumber.js@9.3.1", "", {}, "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ=="], @@ -2343,10 +1402,6 @@ "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], - "blake3-wasm": ["blake3-wasm@2.1.5", "", {}, "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g=="], - - "blob-to-buffer": ["blob-to-buffer@1.2.9", "", {}, "sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA=="], - "bmp-ts": ["bmp-ts@1.0.9", "", {}, "sha512-cTEHk2jLrPyi+12M3dhpEbnnPOsaZuq7C45ylbbQIiWgDFZq4UVYPEY5mlqjvsj/6gJv9qX5sa+ebDzLXT28Vw=="], "body-parser": ["body-parser@2.2.2", "", { "dependencies": { "bytes": "^3.1.2", "content-type": "^1.0.5", "debug": "^4.4.3", "http-errors": "^2.0.0", "iconv-lite": "^0.7.0", "on-finished": "^2.4.1", "qs": "^6.14.1", "raw-body": "^3.0.1", "type-is": "^2.0.1" } }, "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA=="], @@ -2357,21 +1412,15 @@ "bottleneck": ["bottleneck@2.19.5", "", {}, "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="], - "bowser": ["bowser@2.13.1", "", {}, "sha512-OHawaAbjwx6rqICCKgSG0SAnT05bzd7ppyKLVUITZpANBaaMFBAsaNkto3LoQ31tyFP5kNujE8Cdx85G9VzOkw=="], - - "boxen": ["boxen@8.0.1", "", { "dependencies": { "ansi-align": "^3.0.1", "camelcase": "^8.0.0", "chalk": "^5.3.0", "cli-boxes": "^3.0.0", "string-width": "^7.2.0", "type-fest": "^4.21.0", "widest-line": "^5.0.0", "wrap-ansi": "^9.0.0" } }, "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw=="], - "brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], - "brotli": ["brotli@1.3.3", "", { "dependencies": { "base64-js": "^1.1.2" } }, "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg=="], - "browser-stdout": ["browser-stdout@1.3.1", "", {}, "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="], "browserslist": ["browserslist@4.28.1", "", { "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", "electron-to-chromium": "^1.5.263", "node-releases": "^2.0.27", "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" } }, "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA=="], - "buffer": ["buffer@4.9.2", "", { "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" } }, "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg=="], + "buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="], "buffer-crc32": ["buffer-crc32@1.0.0", "", {}, "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w=="], @@ -2413,50 +1462,26 @@ "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], - "camel-case": ["camel-case@4.1.2", "", { "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" } }, "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw=="], - - "camelcase": ["camelcase@8.0.0", "", {}, "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA=="], - - "camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="], + "camelcase": ["camelcase@6.3.0", "", {}, "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="], "caniuse-lite": ["caniuse-lite@1.0.30001768", "", {}, "sha512-qY3aDRZC5nWPgHUgIB84WL+nySuo19wk0VJpp/XI9T34lrvkyhRvNVOFJOp2kxClQhiFBu+TaUSudf6oa3vkSA=="], "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="], - "chai": ["chai@6.2.2", "", {}, "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg=="], - "chainsaw": ["chainsaw@0.1.0", "", { "dependencies": { "traverse": ">=0.3.0 <0.4" } }, "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ=="], "chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], - "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="], - "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="], "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="], - "character-reference-invalid": ["character-reference-invalid@2.0.1", "", {}, "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="], - - "chart.js": ["chart.js@4.5.1", "", { "dependencies": { "@kurkle/color": "^0.3.0" } }, "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw=="], - - "cheerio": ["cheerio@1.0.0-rc.12", "", { "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "domutils": "^3.0.1", "htmlparser2": "^8.0.1", "parse5": "^7.0.0", "parse5-htmlparser2-tree-adapter": "^7.0.0" } }, "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q=="], - - "cheerio-select": ["cheerio-select@2.1.0", "", { "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", "css-what": "^6.1.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.0.1" } }, "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g=="], - "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], "chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="], - "ci-info": ["ci-info@4.4.0", "", {}, "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg=="], - "citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="], - "classnames": ["classnames@2.3.2", "", {}, "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="], - - "clean-css": ["clean-css@5.3.3", "", { "dependencies": { "source-map": "~0.6.0" } }, "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg=="], - - "cli-boxes": ["cli-boxes@3.0.0", "", {}, "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g=="], - "cli-cursor": ["cli-cursor@5.0.0", "", { "dependencies": { "restore-cursor": "^5.0.0" } }, "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw=="], "cli-spinners": ["cli-spinners@3.4.0", "", {}, "sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw=="], @@ -2465,22 +1490,10 @@ "cliui": ["cliui@9.0.1", "", { "dependencies": { "string-width": "^7.2.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" } }, "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w=="], - "clone": ["clone@2.1.2", "", {}, "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="], - - "cloudflare": ["cloudflare@5.2.0", "", { "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", "abort-controller": "^3.0.0", "agentkeepalive": "^4.2.1", "form-data-encoder": "1.7.2", "formdata-node": "^4.3.2", "node-fetch": "^2.6.7" } }, "sha512-dVzqDpPFYR9ApEC9e+JJshFJZXcw4HzM8W+3DHzO5oy9+8rLC53G7x6fEf9A7/gSuSCxuvndzui5qJKftfIM9A=="], - - "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], - - "collapse-white-space": ["collapse-white-space@2.1.0", "", {}, "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw=="], - - "color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="], - "color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], "color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], - "color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="], - "color-support": ["color-support@1.1.3", "", { "bin": { "color-support": "bin.js" } }, "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="], "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], @@ -2489,18 +1502,12 @@ "commander": ["commander@14.0.2", "", {}, "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ=="], - "common-ancestor-path": ["common-ancestor-path@1.0.1", "", {}, "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w=="], - "compress-commons": ["compress-commons@6.0.2", "", { "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg=="], "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], - "condense-newlines": ["condense-newlines@0.2.1", "", { "dependencies": { "extend-shallow": "^2.0.1", "is-whitespace": "^0.3.0", "kind-of": "^3.0.2" } }, "sha512-P7X+QL9Hb9B/c8HI5BFFKmjgBu2XpQuF98WZ9XkO+dBGgk5XgwiQz7o1SmpglNWId3581UcS0SFAWfoIhMHPfg=="], - "confbox": ["confbox@0.2.2", "", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="], - "config-chain": ["config-chain@1.1.13", "", { "dependencies": { "ini": "^1.3.4", "proto-list": "~1.2.1" } }, "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ=="], - "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], "content-disposition": ["content-disposition@1.0.1", "", {}, "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q=="], @@ -2509,9 +1516,7 @@ "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "cookie": ["cookie@1.1.1", "", {}, "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ=="], - - "cookie-es": ["cookie-es@2.0.0", "", {}, "sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg=="], + "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], "cookie-signature": ["cookie-signature@1.2.2", "", {}, "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg=="], @@ -2527,18 +1532,10 @@ "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], - "crossws": ["crossws@0.4.4", "", { "peerDependencies": { "srvx": ">=0.7.1" }, "optionalPeers": ["srvx"] }, "sha512-w6c4OdpRNnudVmcgr7brb/+/HmYjMQvYToO/oTrprTwxRUiom3LYWU1PMWuD006okbUWpII1Ea9/+kwpUfmyRg=="], - "css-select": ["css-select@5.2.2", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="], - "css-selector-parser": ["css-selector-parser@3.3.0", "", {}, "sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g=="], - - "css-tree": ["css-tree@3.1.0", "", { "dependencies": { "mdn-data": "2.12.2", "source-map-js": "^1.0.1" } }, "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w=="], - "css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="], - "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], - "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], "data-uri-to-buffer": ["data-uri-to-buffer@4.0.1", "", {}, "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A=="], @@ -2549,20 +1546,14 @@ "data-view-byte-offset": ["data-view-byte-offset@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" } }, "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ=="], - "db0": ["db0@0.3.4", "", { "peerDependencies": { "@electric-sql/pglite": "*", "@libsql/client": "*", "better-sqlite3": "*", "drizzle-orm": "*", "mysql2": "*", "sqlite3": "*" }, "optionalPeers": ["@electric-sql/pglite", "@libsql/client", "better-sqlite3", "drizzle-orm", "mysql2", "sqlite3"] }, "sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw=="], - "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], "decamelize": ["decamelize@1.2.0", "", {}, "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="], "decimal.js": ["decimal.js@10.5.0", "", {}, "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw=="], - "decode-named-character-reference": ["decode-named-character-reference@1.3.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q=="], - "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], - "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], - "default-browser": ["default-browser@5.5.0", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw=="], "default-browser-id": ["default-browser-id@5.0.1", "", {}, "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q=="], @@ -2577,8 +1568,6 @@ "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], - "denque": ["denque@2.1.0", "", {}, "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="], - "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], "deprecation": ["deprecation@2.3.1", "", {}, "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="], @@ -2587,32 +1576,14 @@ "destr": ["destr@2.0.5", "", {}, "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="], - "destroy": ["destroy@1.2.0", "", {}, "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="], - "detect-libc": ["detect-libc@1.0.3", "", { "bin": { "detect-libc": "./bin/detect-libc.js" } }, "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg=="], - "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], - - "deterministic-object-hash": ["deterministic-object-hash@2.0.2", "", { "dependencies": { "base-64": "^1.0.0" } }, "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ=="], - - "devalue": ["devalue@5.6.2", "", {}, "sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg=="], - "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="], - "dfa": ["dfa@1.2.0", "", {}, "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q=="], - - "didyoumean": ["didyoumean@1.2.2", "", {}, "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="], - "diff": ["diff@8.0.2", "", {}, "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg=="], "dijkstrajs": ["dijkstrajs@1.0.3", "", {}, "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="], - "dir-glob": ["dir-glob@3.0.1", "", { "dependencies": { "path-type": "^4.0.0" } }, "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="], - - "direction": ["direction@2.0.1", "", { "bin": { "direction": "cli.js" } }, "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA=="], - - "dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="], - "dns-packet": ["dns-packet@5.6.1", "", { "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" } }, "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw=="], "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], @@ -2625,36 +1596,20 @@ "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], - "dot-case": ["dot-case@3.0.4", "", { "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w=="], - - "dot-prop": ["dot-prop@8.0.2", "", { "dependencies": { "type-fest": "^3.8.0" } }, "sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ=="], - "dotenv": ["dotenv@17.2.3", "", {}, "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w=="], - "drizzle-kit": ["drizzle-kit@0.30.5", "", { "dependencies": { "@drizzle-team/brocli": "^0.10.2", "@esbuild-kit/esm-loader": "^2.5.5", "esbuild": "^0.19.7", "esbuild-register": "^3.5.0", "gel": "^2.0.0" }, "bin": { "drizzle-kit": "bin.cjs" } }, "sha512-l6dMSE100u7sDaTbLczibrQZjA35jLsHNqIV+jmhNVO3O8jzM6kywMOmV9uOz9ZVSCMPQhAZEFjL/qDPVrqpUA=="], - - "drizzle-orm": ["drizzle-orm@0.41.0", "", { "peerDependencies": { "@aws-sdk/client-rds-data": ">=3", "@cloudflare/workers-types": ">=4", "@electric-sql/pglite": ">=0.2.0", "@libsql/client": ">=0.10.0", "@libsql/client-wasm": ">=0.10.0", "@neondatabase/serverless": ">=0.10.0", "@op-engineering/op-sqlite": ">=2", "@opentelemetry/api": "^1.4.1", "@planetscale/database": ">=1", "@prisma/client": "*", "@tidbcloud/serverless": "*", "@types/better-sqlite3": "*", "@types/pg": "*", "@types/sql.js": "*", "@vercel/postgres": ">=0.8.0", "@xata.io/client": "*", "better-sqlite3": ">=7", "bun-types": "*", "expo-sqlite": ">=14.0.0", "gel": ">=2", "knex": "*", "kysely": "*", "mysql2": ">=2", "pg": ">=8", "postgres": ">=3", "sql.js": ">=1", "sqlite3": ">=5" }, "optionalPeers": ["@aws-sdk/client-rds-data", "@cloudflare/workers-types", "@electric-sql/pglite", "@libsql/client", "@libsql/client-wasm", "@neondatabase/serverless", "@op-engineering/op-sqlite", "@opentelemetry/api", "@planetscale/database", "@prisma/client", "@tidbcloud/serverless", "@types/better-sqlite3", "@types/pg", "@types/sql.js", "@vercel/postgres", "@xata.io/client", "better-sqlite3", "bun-types", "expo-sqlite", "gel", "knex", "kysely", "mysql2", "pg", "postgres", "sql.js", "sqlite3"] }, "sha512-7A4ZxhHk9gdlXmTdPj/lREtP+3u8KvZ4yEN6MYVxBzZGex5Wtdc+CWSbu7btgF6TB0N+MNPrvW7RKBbxJchs/Q=="], - - "dset": ["dset@3.1.4", "", {}, "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA=="], - "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], "ecdsa-sig-formatter": ["ecdsa-sig-formatter@1.0.11", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ=="], - "editorconfig": ["editorconfig@1.0.4", "", { "dependencies": { "@one-ini/wasm": "0.1.1", "commander": "^10.0.0", "minimatch": "9.0.1", "semver": "^7.5.3" }, "bin": { "editorconfig": "bin/editorconfig" } }, "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q=="], - "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], "electron-to-chromium": ["electron-to-chromium@1.5.286", "", {}, "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A=="], - "emmet": ["emmet@2.4.11", "", { "dependencies": { "@emmetio/abbreviation": "^2.3.3", "@emmetio/css-abbreviation": "^2.1.8" } }, "sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ=="], - "emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], - "emoji-regex-xs": ["emoji-regex-xs@1.0.0", "", {}, "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg=="], - "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], "engine.io-client": ["engine.io-client@6.6.4", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1", "engine.io-parser": "~5.2.1", "ws": "~8.18.3", "xmlhttprequest-ssl": "~2.1.1" } }, "sha512-+kjUJnZGwzewFDw951CDWcwj35vMNf2fcj7xQWOctq1F2i1jkDdVvdFG9kM/BEChymCH36KgjnW0NsL58JYRxw=="], @@ -2665,44 +1620,24 @@ "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], - "env-paths": ["env-paths@3.0.0", "", {}, "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A=="], - "error-ex": ["error-ex@1.3.4", "", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ=="], - "error-stack-parser": ["error-stack-parser@2.1.4", "", { "dependencies": { "stackframe": "^1.3.4" } }, "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ=="], - - "error-stack-parser-es": ["error-stack-parser-es@1.0.5", "", {}, "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA=="], - "es-abstract": ["es-abstract@1.24.1", "", { "dependencies": { "array-buffer-byte-length": "^1.0.2", "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", "get-intrinsic": "^1.3.0", "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", "has-proto": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "internal-slot": "^1.1.0", "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", "typed-array-buffer": "^1.0.3", "typed-array-byte-length": "^1.0.3", "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", "which-typed-array": "^1.1.19" } }, "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw=="], - "es-array-method-boxes-properly": ["es-array-method-boxes-properly@1.0.0", "", {}, "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA=="], - "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], - "es-get-iterator": ["es-get-iterator@1.1.3", "", { "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", "has-symbols": "^1.0.3", "is-arguments": "^1.1.1", "is-map": "^2.0.2", "is-set": "^2.0.2", "is-string": "^1.0.7", "isarray": "^2.0.5", "stop-iteration-iterator": "^1.0.0" } }, "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw=="], - - "es-module-lexer": ["es-module-lexer@1.7.0", "", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="], - "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], "es-to-primitive": ["es-to-primitive@1.3.0", "", { "dependencies": { "is-callable": "^1.2.7", "is-date-object": "^1.0.5", "is-symbol": "^1.0.4" } }, "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g=="], - "esast-util-from-estree": ["esast-util-from-estree@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "unist-util-position-from-estree": "^2.0.0" } }, "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ=="], - - "esast-util-from-js": ["esast-util-from-js@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "acorn": "^8.0.0", "esast-util-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw=="], - "esbuild": ["esbuild@0.27.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.2", "@esbuild/android-arm": "0.27.2", "@esbuild/android-arm64": "0.27.2", "@esbuild/android-x64": "0.27.2", "@esbuild/darwin-arm64": "0.27.2", "@esbuild/darwin-x64": "0.27.2", "@esbuild/freebsd-arm64": "0.27.2", "@esbuild/freebsd-x64": "0.27.2", "@esbuild/linux-arm": "0.27.2", "@esbuild/linux-arm64": "0.27.2", "@esbuild/linux-ia32": "0.27.2", "@esbuild/linux-loong64": "0.27.2", "@esbuild/linux-mips64el": "0.27.2", "@esbuild/linux-ppc64": "0.27.2", "@esbuild/linux-riscv64": "0.27.2", "@esbuild/linux-s390x": "0.27.2", "@esbuild/linux-x64": "0.27.2", "@esbuild/netbsd-arm64": "0.27.2", "@esbuild/netbsd-x64": "0.27.2", "@esbuild/openbsd-arm64": "0.27.2", "@esbuild/openbsd-x64": "0.27.2", "@esbuild/openharmony-arm64": "0.27.2", "@esbuild/sunos-x64": "0.27.2", "@esbuild/win32-arm64": "0.27.2", "@esbuild/win32-ia32": "0.27.2", "@esbuild/win32-x64": "0.27.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw=="], - "esbuild-plugin-copy": ["esbuild-plugin-copy@2.1.1", "", { "dependencies": { "chalk": "^4.1.2", "chokidar": "^3.5.3", "fs-extra": "^10.0.1", "globby": "^11.0.3" }, "peerDependencies": { "esbuild": ">= 0.14.0" } }, "sha512-Bk66jpevTcV8KMFzZI1P7MZKZ+uDcrZm2G2egZ2jNIvVnivDpodZI+/KnpL3Jnap0PBdIHU7HwFGB8r+vV5CVw=="], - "esbuild-plugin-solid": ["esbuild-plugin-solid@0.6.0", "", { "dependencies": { "@babel/core": "^7.20.12", "@babel/preset-typescript": "^7.18.6", "babel-preset-solid": "^1.6.9" }, "peerDependencies": { "esbuild": ">=0.20", "solid-js": ">= 1.0" } }, "sha512-V1FvDALwLDX6K0XNYM9CMRAnMzA0+Ecu55qBUT9q/eAJh1KIDsTMFoOzMSgyHqbOfvrVfO3Mws3z7TW2GVnIZA=="], - "esbuild-register": ["esbuild-register@3.6.0", "", { "dependencies": { "debug": "^4.3.4" }, "peerDependencies": { "esbuild": ">=0.12 <1" } }, "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg=="], - "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], @@ -2727,28 +1662,12 @@ "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - "estree-util-attach-comments": ["estree-util-attach-comments@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw=="], - - "estree-util-build-jsx": ["estree-util-build-jsx@3.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-walker": "^3.0.0" } }, "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ=="], - - "estree-util-is-identifier-name": ["estree-util-is-identifier-name@3.0.0", "", {}, "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg=="], - - "estree-util-scope": ["estree-util-scope@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0" } }, "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ=="], - - "estree-util-to-js": ["estree-util-to-js@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "astring": "^1.8.0", "source-map": "^0.7.0" } }, "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg=="], - - "estree-util-visit": ["estree-util-visit@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/unist": "^3.0.0" } }, "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww=="], - - "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], - "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], "event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="], - "eventemitter3": ["eventemitter3@5.0.4", "", {}, "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw=="], - "events": ["events@3.3.0", "", {}, "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="], "events-universal": ["events-universal@1.0.1", "", { "dependencies": { "bare-events": "^2.7.0" } }, "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw=="], @@ -2761,16 +1680,10 @@ "exif-parser": ["exif-parser@0.1.12", "", {}, "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw=="], - "exit-hook": ["exit-hook@2.2.1", "", {}, "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw=="], - - "expect-type": ["expect-type@1.3.0", "", {}, "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA=="], - "express": ["express@5.2.1", "", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.1", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "depd": "^2.0.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.7", "qs": "^6.14.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.0.1", "vary": "^1.1.2" } }, "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw=="], "express-rate-limit": ["express-rate-limit@7.5.1", "", { "peerDependencies": { "express": ">= 4.11" } }, "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw=="], - "expressive-code": ["expressive-code@0.41.6", "", { "dependencies": { "@expressive-code/core": "^0.41.6", "@expressive-code/plugin-frames": "^0.41.6", "@expressive-code/plugin-shiki": "^0.41.6", "@expressive-code/plugin-text-markers": "^0.41.6" } }, "sha512-W/5+IQbrpCIM5KGLjO35wlp1NCwDOOVQb+PAvzEoGkW1xjGM807ZGfBKptNWH6UECvt6qgmLyWolCMYKh7eQmA=="], - "exsolve": ["exsolve@1.0.8", "", {}, "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA=="], "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], @@ -2785,8 +1698,6 @@ "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="], - "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], - "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], "fast-json-stringify": ["fast-json-stringify@6.2.0", "", { "dependencies": { "@fastify/merge-json-schemas": "^0.2.0", "ajv": "^8.12.0", "ajv-formats": "^3.0.1", "fast-uri": "^3.0.0", "json-schema-ref-resolver": "^3.0.0", "rfdc": "^1.2.0" } }, "sha512-Eaf/KNIDwHkzfyeQFNfLXJnQ7cl1XQI3+zRqmPlvtkMigbXnAcasTrvJQmquBSxKfFGeRA6PFog8t+hFmpDoWw=="], @@ -2797,7 +1708,7 @@ "fast-uri": ["fast-uri@3.1.0", "", {}, "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA=="], - "fast-xml-parser": ["fast-xml-parser@4.4.1", "", { "dependencies": { "strnum": "^1.0.5" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw=="], + "fast-xml-parser": ["fast-xml-parser@5.2.5", "", { "dependencies": { "strnum": "^2.1.0" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ=="], "fastify": ["fastify@5.7.4", "", { "dependencies": { "@fastify/ajv-compiler": "^4.0.5", "@fastify/error": "^4.0.0", "@fastify/fast-json-stringify-compiler": "^5.0.0", "@fastify/proxy-addr": "^5.0.0", "abstract-logging": "^2.0.1", "avvio": "^9.0.0", "fast-json-stringify": "^6.0.0", "find-my-way": "^9.0.0", "light-my-request": "^6.0.0", "pino": "^10.1.0", "process-warning": "^5.0.0", "rfdc": "^1.3.1", "secure-json-parse": "^4.0.0", "semver": "^7.6.0", "toad-cache": "^3.7.0" } }, "sha512-e6l5NsRdaEP8rdD8VR0ErJASeyaRbzXYpmkrpr2SuvuMq6Si3lvsaVy5C+7gLanEkvjpMDzBXWE5HPeb/hgTxA=="], @@ -2823,44 +1734,26 @@ "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], - "finity": ["finity@0.5.4", "", {}, "sha512-3l+5/1tuw616Lgb0QBimxfdd2TqaDGpfCBpfX6EqtFmqUV3FtQnVEX4Aa62DagYEqnsTIjZcTfbq9msDbXYgyA=="], - "flat": ["flat@5.0.2", "", { "bin": { "flat": "cli.js" } }, "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="], "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], "flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="], - "flattie": ["flattie@1.1.1", "", {}, "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ=="], - "follow-redirects": ["follow-redirects@1.15.11", "", {}, "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ=="], - "fontace": ["fontace@0.3.1", "", { "dependencies": { "@types/fontkit": "^2.0.8", "fontkit": "^2.0.4" } }, "sha512-9f5g4feWT1jWT8+SbL85aLIRLIXUaDygaM2xPXRmzPYxrOMNok79Lr3FGJoKVNKibE0WCunNiEVG2mwuE+2qEg=="], - - "fontkit": ["fontkit@2.0.4", "", { "dependencies": { "@swc/helpers": "^0.5.12", "brotli": "^1.3.2", "clone": "^2.1.2", "dfa": "^1.2.0", "fast-deep-equal": "^3.1.3", "restructure": "^3.0.0", "tiny-inflate": "^1.0.3", "unicode-properties": "^1.4.0", "unicode-trie": "^2.0.0" } }, "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g=="], - "for-each": ["for-each@0.3.5", "", { "dependencies": { "is-callable": "^1.2.7" } }, "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg=="], "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], "form-data": ["form-data@4.0.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w=="], - "form-data-encoder": ["form-data-encoder@1.7.2", "", {}, "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A=="], - - "formdata-node": ["formdata-node@4.4.1", "", { "dependencies": { "node-domexception": "1.0.0", "web-streams-polyfill": "4.0.0-beta.3" } }, "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ=="], - "formdata-polyfill": ["formdata-polyfill@4.0.10", "", { "dependencies": { "fetch-blob": "^3.1.2" } }, "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g=="], "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], - "fraction.js": ["fraction.js@5.3.4", "", {}, "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ=="], - - "framer-motion": ["framer-motion@8.5.5", "", { "dependencies": { "@motionone/dom": "^10.15.3", "hey-listen": "^1.0.8", "tslib": "^2.4.0" }, "optionalDependencies": { "@emotion/is-prop-valid": "^0.8.2" }, "peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" } }, "sha512-5IDx5bxkjWHWUF3CVJoSyUVOtrbAxtzYBBowRE2uYI/6VYhkEBD+rbTHEGuUmbGHRj6YqqSfoG7Aa1cLyWCrBA=="], - "fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="], - "fs-extra": ["fs-extra@10.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ=="], - "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], @@ -2877,10 +1770,6 @@ "gcp-metadata": ["gcp-metadata@8.1.2", "", { "dependencies": { "gaxios": "^7.0.0", "google-logging-utils": "^1.0.0", "json-bigint": "^1.0.0" } }, "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg=="], - "gel": ["gel@2.2.0", "", { "dependencies": { "@petamoriken/float16": "^3.8.7", "debug": "^4.3.4", "env-paths": "^3.0.0", "semver": "^7.6.2", "shell-quote": "^1.8.1", "which": "^4.0.0" }, "bin": { "gel": "dist/cli.mjs" } }, "sha512-q0ma7z2swmoamHQusey8ayo8+ilVdzDt4WTxSPzq/yRqvucWRfymRVMvNgmSC0XK7eNjjEZEcplxpgaNojKdmQ=="], - - "generate-function": ["generate-function@2.3.1", "", { "dependencies": { "is-property": "^1.0.2" } }, "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ=="], - "generator-function": ["generator-function@2.0.1", "", {}, "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g=="], "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], @@ -2891,38 +1780,26 @@ "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], - "get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="], - - "get-port": ["get-port@7.1.0", "", {}, "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw=="], - "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], "get-stream": ["get-stream@8.0.1", "", {}, "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA=="], "get-symbol-description": ["get-symbol-description@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6" } }, "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg=="], - "get-tsconfig": ["get-tsconfig@4.13.3", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-vp8Cj/+9Q/ibZUrq1rhy8mCTQpCk31A3uu9wc1C50yAb3x2pFHOsGdAZQ7jD86ARayyxZUViYeIztW+GE8dcrg=="], - "ghostty-web": ["ghostty-web@0.4.0", "", {}, "sha512-0puDBik2qapbD/QQBW9o5ZHfXnZBqZWx/ctBiVtKZ6ZLds4NYb+wZuw1cRLXZk9zYovIQ908z3rvFhexAvc5Hg=="], "gifwrap": ["gifwrap@0.10.1", "", { "dependencies": { "image-q": "^4.0.0", "omggif": "^1.0.10" } }, "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw=="], "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], - "github-slugger": ["github-slugger@2.0.0", "", {}, "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw=="], - "glob": ["glob@11.1.0", "", { "dependencies": { "foreground-child": "^3.3.1", "jackspeak": "^4.1.1", "minimatch": "^10.1.1", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw=="], "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], - "glob-to-regexp": ["glob-to-regexp@0.4.1", "", {}, "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="], - "globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ=="], - "globby": ["globby@11.0.4", "", { "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.1.1", "ignore": "^5.1.4", "merge2": "^1.3.0", "slash": "^3.0.0" } }, "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg=="], - "google-auth-library": ["google-auth-library@10.5.0", "", { "dependencies": { "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", "gaxios": "^7.0.0", "gcp-metadata": "^8.0.0", "google-logging-utils": "^1.0.0", "gtoken": "^8.0.0", "jws": "^4.0.0" } }, "sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w=="], "google-logging-utils": ["google-logging-utils@1.1.3", "", {}, "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA=="], @@ -2939,8 +1816,6 @@ "gtoken": ["gtoken@8.0.0", "", { "dependencies": { "gaxios": "^7.0.0", "jws": "^4.0.0" } }, "sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw=="], - "h3": ["h3@2.0.1-rc.4", "", { "dependencies": { "rou3": "^0.7.8", "srvx": "^0.9.1" }, "peerDependencies": { "crossws": "^0.4.1" }, "optionalPeers": ["crossws"] }, "sha512-vZq8pEUp6THsXKXrUXX44eOqfChic2wVQ1GlSzQCBr7DeFBkfIZAo2WyNND4GSv54TAa0E4LYIK73WSPdgKUgw=="], - "happy-dom": ["happy-dom@20.5.0", "", { "dependencies": { "@types/node": ">=20.0.0", "@types/whatwg-mimetype": "^3.0.2", "@types/ws": "^8.18.1", "entities": "^4.5.0", "whatwg-mimetype": "^3.0.0", "ws": "^8.18.3" } }, "sha512-VQe+Q5CYiGOgcCERXhcfNsbnrN92FDEKciMH/x6LppU9dd0j4aTjCTlqONFOIMcAm/5JxS3+utowbXV1OoFr+g=="], "has-bigints": ["has-bigints@1.1.0", "", {}, "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg=="], @@ -2957,52 +1832,12 @@ "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], - "hast-util-embedded": ["hast-util-embedded@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-is-element": "^3.0.0" } }, "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA=="], - - "hast-util-format": ["hast-util-format@1.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", "hast-util-minify-whitespace": "^1.0.0", "hast-util-phrasing": "^3.0.0", "hast-util-whitespace": "^3.0.0", "html-whitespace-sensitive-tag-names": "^3.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA=="], - - "hast-util-from-html": ["hast-util-from-html@2.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "devlop": "^1.1.0", "hast-util-from-parse5": "^8.0.0", "parse5": "^7.0.0", "vfile": "^6.0.0", "vfile-message": "^4.0.0" } }, "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw=="], - - "hast-util-from-parse5": ["hast-util-from-parse5@8.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "hastscript": "^9.0.0", "property-information": "^7.0.0", "vfile": "^6.0.0", "vfile-location": "^5.0.0", "web-namespaces": "^2.0.0" } }, "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg=="], - - "hast-util-has-property": ["hast-util-has-property@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA=="], - - "hast-util-heading-rank": ["hast-util-heading-rank@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA=="], - - "hast-util-is-body-ok-link": ["hast-util-is-body-ok-link@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ=="], - - "hast-util-is-element": ["hast-util-is-element@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g=="], - - "hast-util-minify-whitespace": ["hast-util-minify-whitespace@1.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", "hast-util-is-element": "^3.0.0", "hast-util-whitespace": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw=="], - - "hast-util-parse-selector": ["hast-util-parse-selector@4.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A=="], - - "hast-util-phrasing": ["hast-util-phrasing@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", "hast-util-has-property": "^3.0.0", "hast-util-is-body-ok-link": "^3.0.0", "hast-util-is-element": "^3.0.0" } }, "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ=="], - - "hast-util-raw": ["hast-util-raw@9.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-from-parse5": "^8.0.0", "hast-util-to-parse5": "^8.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "parse5": "^7.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw=="], - - "hast-util-select": ["hast-util-select@6.0.4", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "bcp-47-match": "^2.0.0", "comma-separated-tokens": "^2.0.0", "css-selector-parser": "^3.0.0", "devlop": "^1.0.0", "direction": "^2.0.0", "hast-util-has-property": "^3.0.0", "hast-util-to-string": "^3.0.0", "hast-util-whitespace": "^3.0.0", "nth-check": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw=="], - - "hast-util-to-estree": ["hast-util-to-estree@3.1.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-attach-comments": "^3.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w=="], - "hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "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" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="], - "hast-util-to-jsx-runtime": ["hast-util-to-jsx-runtime@2.3.6", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" } }, "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg=="], - - "hast-util-to-parse5": ["hast-util-to-parse5@8.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA=="], - - "hast-util-to-string": ["hast-util-to-string@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A=="], - - "hast-util-to-text": ["hast-util-to-text@4.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-find-after": "^5.0.0" } }, "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A=="], - "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="], - "hastscript": ["hastscript@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w=="], - "he": ["he@1.2.0", "", { "bin": { "he": "bin/he" } }, "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="], - "hey-listen": ["hey-listen@1.0.8", "", {}, "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="], - "hono": ["hono@4.10.7", "", {}, "sha512-icXIITfw/07Q88nLSkB9aiUrd8rYzSweK681Kjo/TSggaGbOX4RRyxxm71v+3PC8C/j+4rlxGeoTRxQDkaJkUw=="], "hono-openapi": ["hono-openapi@1.1.2", "", { "peerDependencies": { "@hono/standard-validator": "^0.2.0", "@standard-community/standard-json": "^0.3.5", "@standard-community/standard-openapi": "^0.2.9", "@types/json-schema": "^7.0.15", "hono": "^4.8.3", "openapi-types": "^12.1.3" }, "optionalPeers": ["@hono/standard-validator", "hono"] }, "sha512-toUcO60MftRBxqcVyxsHNYs2m4vf4xkQaiARAucQx3TiBPDtMNNkoh+C4I1vAretQZiGyaLOZNWn1YxfSyUA5g=="], @@ -3011,22 +1846,10 @@ "html-entities": ["html-entities@2.3.3", "", {}, "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA=="], - "html-escaper": ["html-escaper@3.0.3", "", {}, "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ=="], - - "html-minifier-terser": ["html-minifier-terser@7.2.0", "", { "dependencies": { "camel-case": "^4.1.2", "clean-css": "~5.3.2", "commander": "^10.0.0", "entities": "^4.4.0", "param-case": "^3.0.4", "relateurl": "^0.2.7", "terser": "^5.15.1" }, "bin": { "html-minifier-terser": "cli.js" } }, "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA=="], - - "html-to-image": ["html-to-image@1.11.13", "", {}, "sha512-cuOPoI7WApyhBElTTb9oqsawRvZ0rHhaHwghRLlTuffoD1B2aDemlCruLeZrUIIdvG7gs9xeELEPm6PhuASqrg=="], - - "html-to-text": ["html-to-text@9.0.5", "", { "dependencies": { "@selderee/plugin-htmlparser2": "^0.11.0", "deepmerge": "^4.3.1", "dom-serializer": "^2.0.0", "htmlparser2": "^8.0.2", "selderee": "^0.11.0" } }, "sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg=="], + "html-escaper": ["html-escaper@2.0.2", "", {}, "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg=="], "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="], - "html-whitespace-sensitive-tag-names": ["html-whitespace-sensitive-tag-names@3.0.1", "", {}, "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA=="], - - "htmlparser2": ["htmlparser2@8.0.2", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.0.1", "entities": "^4.4.0" } }, "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA=="], - - "http-cache-semantics": ["http-cache-semantics@4.2.0", "", {}, "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ=="], - "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="], "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="], @@ -3035,15 +1858,11 @@ "human-signals": ["human-signals@5.0.0", "", {}, "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ=="], - "humanize-ms": ["humanize-ms@1.2.1", "", { "dependencies": { "ms": "^2.0.0" } }, "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ=="], - "husky": ["husky@9.1.7", "", { "bin": { "husky": "bin.js" } }, "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA=="], - "i18next": ["i18next@23.16.8", "", { "dependencies": { "@babel/runtime": "^7.23.2" } }, "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg=="], - "iconv-lite": ["iconv-lite@0.7.2", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw=="], - "ieee754": ["ieee754@1.1.13", "", {}, "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="], + "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], "ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], @@ -3053,33 +1872,17 @@ "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], - "import-local": ["import-local@3.2.0", "", { "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" }, "bin": { "import-local-fixture": "fixtures/cli.js" } }, "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA=="], - - "import-meta-resolve": ["import-meta-resolve@4.2.0", "", {}, "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg=="], - "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], - "ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], - - "inline-style-parser": ["inline-style-parser@0.2.7", "", {}, "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA=="], - "internal-slot": ["internal-slot@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw=="], "ipaddr.js": ["ipaddr.js@2.3.0", "", {}, "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg=="], - "iron-webcrypto": ["iron-webcrypto@1.2.1", "", {}, "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg=="], - - "is-alphabetical": ["is-alphabetical@2.0.1", "", {}, "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="], - - "is-alphanumerical": ["is-alphanumerical@2.0.1", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw=="], - - "is-arguments": ["is-arguments@1.2.0", "", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA=="], - "is-array-buffer": ["is-array-buffer@3.0.5", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A=="], - "is-arrayish": ["is-arrayish@0.3.4", "", {}, "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA=="], + "is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], "is-async-function": ["is-async-function@2.1.1", "", { "dependencies": { "async-function": "^1.0.0", "call-bound": "^1.0.3", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ=="], @@ -3089,8 +1892,6 @@ "is-boolean-object": ["is-boolean-object@1.2.2", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A=="], - "is-buffer": ["is-buffer@1.1.6", "", {}, "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="], - "is-callable": ["is-callable@1.2.7", "", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="], "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], @@ -3099,12 +1900,8 @@ "is-date-object": ["is-date-object@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg=="], - "is-decimal": ["is-decimal@2.0.1", "", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="], - "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], - "is-electron": ["is-electron@2.2.2", "", {}, "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg=="], - "is-extendable": ["is-extendable@0.1.1", "", {}, "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="], "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], @@ -3117,8 +1914,6 @@ "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], - "is-hexadecimal": ["is-hexadecimal@2.0.1", "", {}, "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="], - "is-in-ssh": ["is-in-ssh@1.0.0", "", {}, "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw=="], "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], @@ -3135,12 +1930,10 @@ "is-path-inside": ["is-path-inside@3.0.3", "", {}, "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="], - "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], + "is-plain-obj": ["is-plain-obj@2.1.0", "", {}, "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="], "is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="], - "is-property": ["is-property@1.0.2", "", {}, "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g=="], - "is-regex": ["is-regex@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g=="], "is-set": ["is-set@2.0.3", "", {}, "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg=="], @@ -3165,8 +1958,6 @@ "is-what": ["is-what@4.1.16", "", {}, "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A=="], - "is-whitespace": ["is-whitespace@0.3.0", "", {}, "sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg=="], - "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], "is64bit": ["is64bit@2.0.0", "", { "dependencies": { "system-architecture": "^0.1.0" } }, "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw=="], @@ -3183,28 +1974,16 @@ "istanbul-reports": ["istanbul-reports@3.2.0", "", { "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" } }, "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA=="], - "iterate-iterator": ["iterate-iterator@1.0.2", "", {}, "sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw=="], - - "iterate-value": ["iterate-value@1.0.2", "", { "dependencies": { "es-get-iterator": "^1.0.2", "iterate-iterator": "^1.0.1" } }, "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ=="], - "jackspeak": ["jackspeak@4.1.1", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" } }, "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ=="], "jimp": ["jimp@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/diff": "1.6.0", "@jimp/js-bmp": "1.6.0", "@jimp/js-gif": "1.6.0", "@jimp/js-jpeg": "1.6.0", "@jimp/js-png": "1.6.0", "@jimp/js-tiff": "1.6.0", "@jimp/plugin-blit": "1.6.0", "@jimp/plugin-blur": "1.6.0", "@jimp/plugin-circle": "1.6.0", "@jimp/plugin-color": "1.6.0", "@jimp/plugin-contain": "1.6.0", "@jimp/plugin-cover": "1.6.0", "@jimp/plugin-crop": "1.6.0", "@jimp/plugin-displace": "1.6.0", "@jimp/plugin-dither": "1.6.0", "@jimp/plugin-fisheye": "1.6.0", "@jimp/plugin-flip": "1.6.0", "@jimp/plugin-hash": "1.6.0", "@jimp/plugin-mask": "1.6.0", "@jimp/plugin-print": "1.6.0", "@jimp/plugin-quantize": "1.6.0", "@jimp/plugin-resize": "1.6.0", "@jimp/plugin-rotate": "1.6.0", "@jimp/plugin-threshold": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0" } }, "sha512-YcwCHw1kiqEeI5xRpDlPPBGL2EOpBKLwO4yIBJcXWHPj5PnA5urGq0jbyhM5KoNpypQ6VboSoxc9D8HyfvngSg=="], "jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], - "jmespath": ["jmespath@0.16.0", "", {}, "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw=="], - - "jose": ["jose@6.0.11", "", {}, "sha512-QxG7EaliDARm1O1S8BGakqncGT9s25bKL1WSf6/oa17Tkqwi8D2ZNglqCF+DsYF88/rV66Q/Q2mFAy697E1DUg=="], + "jose": ["jose@6.1.3", "", {}, "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ=="], "jpeg-js": ["jpeg-js@0.4.4", "", {}, "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg=="], - "js-base64": ["js-base64@3.7.7", "", {}, "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw=="], - - "js-beautify": ["js-beautify@1.15.4", "", { "dependencies": { "config-chain": "^1.1.13", "editorconfig": "^1.0.4", "glob": "^10.4.2", "js-cookie": "^3.0.5", "nopt": "^7.2.1" }, "bin": { "css-beautify": "js/bin/css-beautify.js", "html-beautify": "js/bin/html-beautify.js", "js-beautify": "js/bin/js-beautify.js" } }, "sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA=="], - - "js-cookie": ["js-cookie@3.0.5", "", {}, "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw=="], - "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], "js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], @@ -3233,10 +2012,6 @@ "jsonc-parser": ["jsonc-parser@3.3.1", "", {}, "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ=="], - "jsonfile": ["jsonfile@6.2.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg=="], - - "jsonwebtoken": ["jsonwebtoken@9.0.3", "", { "dependencies": { "jws": "^4.0.1", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", "lodash.isinteger": "^4.0.4", "lodash.isnumber": "^3.0.3", "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.once": "^4.0.0", "ms": "^2.1.1", "semver": "^7.5.4" } }, "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g=="], - "jszip": ["jszip@3.10.1", "", { "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", "readable-stream": "~2.3.6", "setimmediate": "^1.0.5" } }, "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g=="], "jwa": ["jwa@2.0.1", "", { "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg=="], @@ -3253,18 +2028,8 @@ "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="], - "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="], - - "klona": ["klona@2.0.6", "", {}, "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA=="], - - "lang-map": ["lang-map@0.4.0", "", { "dependencies": { "language-map": "^1.1.0" } }, "sha512-oiSqZIEUnWdFeDNsp4HId4tAxdFbx5iMBOwA3666Fn2L8Khj8NiD9xRvMsGmKXopPVkaDFtSv3CJOmXFUB0Hcg=="], - - "language-map": ["language-map@1.5.0", "", {}, "sha512-n7gFZpe+DwEAX9cXVTw43i3wiudWDDtSn28RmdnS/HCPr284dQI/SztsamWanRr75oSlKSaGbV2nmWCTzGCoVg=="], - "lazystream": ["lazystream@1.0.1", "", { "dependencies": { "readable-stream": "^2.0.5" } }, "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw=="], - "leac": ["leac@0.6.0", "", {}, "sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg=="], - "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], "lie": ["lie@3.3.0", "", { "dependencies": { "immediate": "~3.0.5" } }, "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ=="], @@ -3293,47 +2058,19 @@ "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.1", "", { "os": "win32", "cpu": "x64" }, "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg=="], - "lilconfig": ["lilconfig@2.1.0", "", {}, "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="], - - "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], - "load-json-file": ["load-json-file@4.0.0", "", { "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" } }, "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw=="], "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], "lodash": ["lodash@4.17.23", "", {}, "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w=="], - "lodash.includes": ["lodash.includes@4.3.0", "", {}, "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="], - - "lodash.isboolean": ["lodash.isboolean@3.0.3", "", {}, "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="], - - "lodash.isinteger": ["lodash.isinteger@4.0.4", "", {}, "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="], - - "lodash.isnumber": ["lodash.isnumber@3.0.3", "", {}, "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="], - - "lodash.isplainobject": ["lodash.isplainobject@4.0.6", "", {}, "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="], - - "lodash.isstring": ["lodash.isstring@4.0.1", "", {}, "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="], - "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], - "lodash.once": ["lodash.once@4.1.1", "", {}, "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="], - "log-symbols": ["log-symbols@4.1.0", "", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg=="], - "loglevelnext": ["loglevelnext@6.0.0", "", {}, "sha512-FDl1AI2sJGjHHG3XKJd6sG3/6ncgiGCQ0YkW46nxe7SfqQq6hujd9CvFXIXtkGBUN83KPZ2KSOJK8q5P0bSSRQ=="], - - "long": ["long@5.3.2", "", {}, "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="], - - "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="], - "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="], - "lower-case": ["lower-case@2.0.2", "", { "dependencies": { "tslib": "^2.0.3" } }, "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg=="], - - "lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="], - - "lru.min": ["lru.min@1.1.4", "", {}, "sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA=="], + "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], "lru_map": ["lru_map@0.4.1", "", {}, "sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg=="], @@ -3345,10 +2082,6 @@ "make-dir": ["make-dir@4.0.0", "", { "dependencies": { "semver": "^7.5.3" } }, "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw=="], - "markdown-extensions": ["markdown-extensions@2.0.0", "", {}, "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q=="], - - "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="], - "marked": ["marked@17.0.1", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-boeBdiS0ghpWcSwoNm/jJBwdpFaMnZWRzjA6SkUMYb40SVaN1x7mmfGKp0jvexGcx+7y2La5zRZsYFZI6Qpypg=="], "marked-katex-extension": ["marked-katex-extension@5.1.6", "", { "peerDependencies": { "katex": ">=0.16 <0.17", "marked": ">=4 <18" } }, "sha512-vYpLXwmlIDKILIhJtiRTgdyZRn5sEYdFBuTmbpjD7lbCIzg0/DWyK3HXIntN3Tp8zV6hvOUgpZNLWRCgWVc24A=="], @@ -3357,46 +2090,8 @@ "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], - "md-to-react-email": ["md-to-react-email@5.0.0", "", { "dependencies": { "marked": "7.0.4" }, "peerDependencies": { "react": "18.x" } }, "sha512-GdBrBUbAAJHypnuyofYGfVos8oUslxHx69hs3CW9P0L8mS1sT6GnJuMBTlz/Fw+2widiwdavcu9UwyLF/BzZ4w=="], - - "mdast-util-definitions": ["mdast-util-definitions@6.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ=="], - - "mdast-util-directive": ["mdast-util-directive@3.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q=="], - - "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="], - - "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA=="], - - "mdast-util-gfm": ["mdast-util-gfm@3.1.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", "mdast-util-gfm-footnote": "^2.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", "mdast-util-gfm-table": "^2.0.0", "mdast-util-gfm-task-list-item": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ=="], - - "mdast-util-gfm-autolink-literal": ["mdast-util-gfm-autolink-literal@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", "devlop": "^1.0.0", "mdast-util-find-and-replace": "^3.0.0", "micromark-util-character": "^2.0.0" } }, "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ=="], - - "mdast-util-gfm-footnote": ["mdast-util-gfm-footnote@2.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0" } }, "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ=="], - - "mdast-util-gfm-strikethrough": ["mdast-util-gfm-strikethrough@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg=="], - - "mdast-util-gfm-table": ["mdast-util-gfm-table@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "markdown-table": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg=="], - - "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ=="], - - "mdast-util-mdx": ["mdast-util-mdx@3.0.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w=="], - - "mdast-util-mdx-expression": ["mdast-util-mdx-expression@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ=="], - - "mdast-util-mdx-jsx": ["mdast-util-mdx-jsx@3.2.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" } }, "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q=="], - - "mdast-util-mdxjs-esm": ["mdast-util-mdxjs-esm@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg=="], - - "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="], - "mdast-util-to-hast": ["mdast-util-to-hast@13.2.1", "", { "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" } }, "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA=="], - "mdast-util-to-markdown": ["mdast-util-to-markdown@2.1.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA=="], - - "mdast-util-to-string": ["mdast-util-to-string@4.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0" } }, "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg=="], - - "mdn-data": ["mdn-data@2.12.2", "", {}, "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA=="], - "media-typer": ["media-typer@1.1.0", "", {}, "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw=="], "memorystream": ["memorystream@0.3.1", "", {}, "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw=="], @@ -3407,78 +2102,12 @@ "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], - "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], - - "methods": ["methods@1.1.2", "", {}, "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="], - - "micromark": ["micromark@4.0.2", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA=="], - - "micromark-core-commonmark": ["micromark-core-commonmark@2.0.3", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-destination": "^2.0.0", "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-factory-title": "^2.0.0", "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-html-tag-name": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg=="], - - "micromark-extension-directive": ["micromark-extension-directive@3.0.2", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "parse-entities": "^4.0.0" } }, "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA=="], - - "micromark-extension-gfm": ["micromark-extension-gfm@3.0.0", "", { "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", "micromark-extension-gfm-strikethrough": "^2.0.0", "micromark-extension-gfm-table": "^2.0.0", "micromark-extension-gfm-tagfilter": "^2.0.0", "micromark-extension-gfm-task-list-item": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w=="], - - "micromark-extension-gfm-autolink-literal": ["micromark-extension-gfm-autolink-literal@2.1.0", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw=="], - - "micromark-extension-gfm-footnote": ["micromark-extension-gfm-footnote@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw=="], - - "micromark-extension-gfm-strikethrough": ["micromark-extension-gfm-strikethrough@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw=="], - - "micromark-extension-gfm-table": ["micromark-extension-gfm-table@2.1.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg=="], - - "micromark-extension-gfm-tagfilter": ["micromark-extension-gfm-tagfilter@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg=="], - - "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw=="], - - "micromark-extension-mdx-expression": ["micromark-extension-mdx-expression@3.0.1", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q=="], - - "micromark-extension-mdx-jsx": ["micromark-extension-mdx-jsx@3.0.2", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ=="], - - "micromark-extension-mdx-md": ["micromark-extension-mdx-md@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ=="], - - "micromark-extension-mdxjs": ["micromark-extension-mdxjs@3.0.0", "", { "dependencies": { "acorn": "^8.0.0", "acorn-jsx": "^5.0.0", "micromark-extension-mdx-expression": "^3.0.0", "micromark-extension-mdx-jsx": "^3.0.0", "micromark-extension-mdx-md": "^2.0.0", "micromark-extension-mdxjs-esm": "^3.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ=="], - - "micromark-extension-mdxjs-esm": ["micromark-extension-mdxjs-esm@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A=="], - - "micromark-factory-destination": ["micromark-factory-destination@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA=="], - - "micromark-factory-label": ["micromark-factory-label@2.0.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg=="], - - "micromark-factory-mdx-expression": ["micromark-factory-mdx-expression@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ=="], - - "micromark-factory-space": ["micromark-factory-space@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg=="], - - "micromark-factory-title": ["micromark-factory-title@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw=="], - - "micromark-factory-whitespace": ["micromark-factory-whitespace@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ=="], - "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="], - "micromark-util-chunked": ["micromark-util-chunked@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA=="], - - "micromark-util-classify-character": ["micromark-util-classify-character@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q=="], - - "micromark-util-combine-extensions": ["micromark-util-combine-extensions@2.0.1", "", { "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg=="], - - "micromark-util-decode-numeric-character-reference": ["micromark-util-decode-numeric-character-reference@2.0.2", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw=="], - - "micromark-util-decode-string": ["micromark-util-decode-string@2.0.1", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ=="], - "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="], - "micromark-util-events-to-acorn": ["micromark-util-events-to-acorn@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg=="], - - "micromark-util-html-tag-name": ["micromark-util-html-tag-name@2.0.1", "", {}, "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA=="], - - "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q=="], - - "micromark-util-resolve-all": ["micromark-util-resolve-all@2.0.1", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg=="], - "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="], - "micromark-util-subtokenize": ["micromark-util-subtokenize@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA=="], - "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="], "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="], @@ -3495,8 +2124,6 @@ "mimic-function": ["mimic-function@5.0.1", "", {}, "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="], - "miniflare": ["miniflare@4.20251118.1", "", { "dependencies": { "@cspotcode/source-map-support": "0.8.1", "acorn": "8.14.0", "acorn-walk": "8.3.2", "exit-hook": "2.2.1", "glob-to-regexp": "0.4.1", "sharp": "^0.33.5", "stoppable": "1.1.0", "undici": "7.14.0", "workerd": "1.20251118.0", "ws": "8.18.0", "youch": "4.1.0-beta.10", "zod": "3.22.3" }, "bin": { "miniflare": "bootstrap.js" } }, "sha512-uLSAE/DvOm392fiaig4LOaatxLjM7xzIniFRG5Y3yF9IduOYLLK/pkCPQNCgKQH3ou0YJRHnTN+09LPfqYNTQQ=="], - "minimatch": ["minimatch@10.0.3", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw=="], "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], @@ -3511,22 +2138,10 @@ "morphdom": ["morphdom@2.7.8", "", {}, "sha512-D/fR4xgGUyVRbdMGU6Nejea1RFzYxYtyurG4Fbv2Fi/daKlWKuXGLOdXtl+3eIwL110cI2hz1ZojGICjjFLgTg=="], - "mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="], - "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], - "muggle-string": ["muggle-string@0.4.1", "", {}, "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="], - "multicast-dns": ["multicast-dns@7.2.5", "", { "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" }, "bin": { "multicast-dns": "cli.js" } }, "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg=="], - "mustache": ["mustache@4.2.0", "", { "bin": { "mustache": "bin/mustache" } }, "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ=="], - - "mysql2": ["mysql2@3.14.4", "", { "dependencies": { "aws-ssl-profiles": "^1.1.1", "denque": "^2.1.0", "generate-function": "^2.3.1", "iconv-lite": "^0.7.0", "long": "^5.2.1", "lru.min": "^1.0.0", "named-placeholders": "^1.1.3", "seq-queue": "^0.0.5", "sqlstring": "^2.3.2" } }, "sha512-Cs/jx3WZPNrYHVz+Iunp9ziahaG5uFMvD2R8Zlmc194AqXNxt9HBNu7ZsPYrUtmJsF0egETCWIdMIYAwOGjL1w=="], - - "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="], - - "named-placeholders": ["named-placeholders@1.1.6", "", { "dependencies": { "lru.min": "^1.1.0" } }, "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w=="], - "nanoevents": ["nanoevents@7.0.1", "", {}, "sha512-o6lpKiCxLeijK4hgsqfR6CNToPyRU3keKyyI6uwuHRvpRTbZ0wXw51WRgyldVugZqoJfkGFrjrIenYH3bfEO3Q=="], "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], @@ -3535,18 +2150,8 @@ "negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], - "neotraverse": ["neotraverse@0.6.18", "", {}, "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA=="], - - "nf3": ["nf3@0.1.12", "", {}, "sha512-qbMXT7RTGh74MYWPeqTIED8nDW70NXOULVHpdWcdZ7IVHVnAsMV9fNugSNnvooipDc1FMOzpis7T9nXJEbJhvQ=="], - "nice-try": ["nice-try@1.0.5", "", {}, "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="], - "nitro": ["nitro@3.0.1-alpha.1", "", { "dependencies": { "consola": "^3.4.2", "crossws": "^0.4.1", "db0": "^0.3.4", "h3": "2.0.1-rc.5", "jiti": "^2.6.1", "nf3": "^0.1.10", "ofetch": "^2.0.0-alpha.3", "ohash": "^2.0.11", "oxc-minify": "^0.96.0", "oxc-transform": "^0.96.0", "srvx": "^0.9.5", "undici": "^7.16.0", "unenv": "^2.0.0-rc.24", "unstorage": "^2.0.0-alpha.4" }, "peerDependencies": { "rolldown": "*", "rollup": "^4", "vite": "^7", "xml2js": "^0.6.2" }, "optionalPeers": ["rolldown", "rollup", "vite", "xml2js"], "bin": { "nitro": "dist/cli/index.mjs" } }, "sha512-U4AxIsXxdkxzkFrK0XAw0e5Qbojk8jQ50MjjRBtBakC4HurTtQoiZvF+lSe382jhuQZCfAyywGWOFa9QzXLFaw=="], - - "nlcst-to-string": ["nlcst-to-string@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0" } }, "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA=="], - - "no-case": ["no-case@3.0.4", "", { "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" } }, "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg=="], - "node-addon-api": ["node-addon-api@7.1.1", "", {}, "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ=="], "node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="], @@ -3559,12 +2164,8 @@ "node-html-parser": ["node-html-parser@7.0.2", "", { "dependencies": { "css-select": "^5.1.0", "he": "1.2.0" } }, "sha512-DxodLVh7a6JMkYzWyc8nBX9MaF4M0lLFYkJHlWOiu7+9/I6mwNK9u5TbAMC7qfqDJEPX9OIoWA2A9t4C2l1mUQ=="], - "node-mock-http": ["node-mock-http@1.0.4", "", {}, "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ=="], - "node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="], - "nopt": ["nopt@7.2.1", "", { "dependencies": { "abbrev": "^2.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w=="], - "normalize-package-data": ["normalize-package-data@2.5.0", "", { "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } }, "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA=="], "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], @@ -3579,22 +2180,14 @@ "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], - "object-hash": ["object-hash@2.2.0", "", {}, "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw=="], - "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], "object-keys": ["object-keys@1.1.1", "", {}, "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="], "object.assign": ["object.assign@4.1.7", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0", "has-symbols": "^1.1.0", "object-keys": "^1.1.1" } }, "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw=="], - "obug": ["obug@2.1.1", "", {}, "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ=="], - - "ofetch": ["ofetch@2.0.0-alpha.3", "", {}, "sha512-zpYTCs2byOuft65vI3z43Dd6iSdFbOZZLb9/d21aCpx2rGastVU9dOCv0lu4ykc1Ur1anAYjDi3SUvR0vq50JA=="], - "ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="], - "oidc-token-hash": ["oidc-token-hash@5.2.0", "", {}, "sha512-6gj2m8cJZ+iSW8bm0FXdGF0YhIQbKrfP4yWTNzxc31U6MOjfEmB1rHvlYvxI1B7t7BCi1F2vYTT6YhtQRG4hxw=="], - "omggif": ["omggif@1.0.10", "", {}, "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw=="], "on-exit-leak-free": ["on-exit-leak-free@2.1.2", "", {}, "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA=="], @@ -3611,14 +2204,10 @@ "open": ["open@10.1.2", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "is-wsl": "^3.1.0" } }, "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw=="], - "openai": ["openai@5.11.0", "", { "peerDependencies": { "ws": "^8.18.0", "zod": "^3.23.8" }, "optionalPeers": ["ws", "zod"], "bin": { "openai": "bin/cli" } }, "sha512-+AuTc5pVjlnTuA9zvn8rA/k+1RluPIx9AD4eDcnutv6JNwHHZxIhkFy+tmMKCvmMFDQzfA/r1ujvPWB19DQkYg=="], + "openai": ["openai@6.18.0", "", { "peerDependencies": { "ws": "^8.18.0", "zod": "^3.25 || ^4.0" }, "optionalPeers": ["ws", "zod"], "bin": { "openai": "bin/cli" } }, "sha512-odLRYyz9rlzz6g8gKn61RM2oP5UUm428sE2zOxZqS9MzVfD5/XW8UoEjpnRkzTuScXP7ZbP/m7fC+bl8jCOZZw=="], "openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="], - "opencontrol": ["opencontrol@0.0.6", "", { "dependencies": { "@modelcontextprotocol/sdk": "1.6.1", "@tsconfig/bun": "1.0.7", "hono": "4.7.4", "zod": "3.24.2", "zod-to-json-schema": "3.24.3" }, "bin": { "opencontrol": "bin/index.mjs" } }, "sha512-QeCrpOK5D15QV8kjnGVeD/BHFLwcVr+sn4T6KKmP0WAMs2pww56e4h+eOGHb5iPOufUQXbdbBKi6WV2kk7tefQ=="], - - "openid-client": ["openid-client@5.6.4", "", { "dependencies": { "jose": "^4.15.4", "lru-cache": "^6.0.0", "object-hash": "^2.2.0", "oidc-token-hash": "^5.0.3" } }, "sha512-T1h3B10BRPKfcObdBklX639tVz+xh34O7GjofqrqiAQdm7eHsQ00ih18x6wuJ/E6FxdtS2u3FmUGPDeEcMwzNA=="], - "opentui-spinner": ["opentui-spinner@0.0.6", "", { "dependencies": { "cli-spinners": "^3.3.0" }, "peerDependencies": { "@opentui/core": "^0.1.49", "@opentui/react": "^0.1.49", "@opentui/solid": "^0.1.49", "typescript": "^5" }, "optionalPeers": ["@opentui/react", "@opentui/solid"] }, "sha512-xupLOeVQEAXEvVJCvHkfX6fChDWmJIPHe5jyUrVb8+n4XVTX8mBNhitFfB9v2ZbkC1H2UwPab/ElePHoW37NcA=="], "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], @@ -3627,36 +2216,16 @@ "own-keys": ["own-keys@1.0.1", "", { "dependencies": { "get-intrinsic": "^1.2.6", "object-keys": "^1.1.1", "safe-push-apply": "^1.0.0" } }, "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg=="], - "oxc-minify": ["oxc-minify@0.96.0", "", { "optionalDependencies": { "@oxc-minify/binding-android-arm64": "0.96.0", "@oxc-minify/binding-darwin-arm64": "0.96.0", "@oxc-minify/binding-darwin-x64": "0.96.0", "@oxc-minify/binding-freebsd-x64": "0.96.0", "@oxc-minify/binding-linux-arm-gnueabihf": "0.96.0", "@oxc-minify/binding-linux-arm-musleabihf": "0.96.0", "@oxc-minify/binding-linux-arm64-gnu": "0.96.0", "@oxc-minify/binding-linux-arm64-musl": "0.96.0", "@oxc-minify/binding-linux-riscv64-gnu": "0.96.0", "@oxc-minify/binding-linux-s390x-gnu": "0.96.0", "@oxc-minify/binding-linux-x64-gnu": "0.96.0", "@oxc-minify/binding-linux-x64-musl": "0.96.0", "@oxc-minify/binding-wasm32-wasi": "0.96.0", "@oxc-minify/binding-win32-arm64-msvc": "0.96.0", "@oxc-minify/binding-win32-x64-msvc": "0.96.0" } }, "sha512-dXeeGrfPJJ4rMdw+NrqiCRtbzVX2ogq//R0Xns08zql2HjV3Zi2SBJ65saqfDaJzd2bcHqvGWH+M44EQCHPAcA=="], - - "oxc-transform": ["oxc-transform@0.96.0", "", { "optionalDependencies": { "@oxc-transform/binding-android-arm64": "0.96.0", "@oxc-transform/binding-darwin-arm64": "0.96.0", "@oxc-transform/binding-darwin-x64": "0.96.0", "@oxc-transform/binding-freebsd-x64": "0.96.0", "@oxc-transform/binding-linux-arm-gnueabihf": "0.96.0", "@oxc-transform/binding-linux-arm-musleabihf": "0.96.0", "@oxc-transform/binding-linux-arm64-gnu": "0.96.0", "@oxc-transform/binding-linux-arm64-musl": "0.96.0", "@oxc-transform/binding-linux-riscv64-gnu": "0.96.0", "@oxc-transform/binding-linux-s390x-gnu": "0.96.0", "@oxc-transform/binding-linux-x64-gnu": "0.96.0", "@oxc-transform/binding-linux-x64-musl": "0.96.0", "@oxc-transform/binding-wasm32-wasi": "0.96.0", "@oxc-transform/binding-win32-arm64-msvc": "0.96.0", "@oxc-transform/binding-win32-x64-msvc": "0.96.0" } }, "sha512-dQPNIF+gHpSkmC0+Vg9IktNyhcn28Y8R3eTLyzn52UNymkasLicl3sFAtz7oEVuFmCpgGjaUTKkwk+jW2cHpDQ=="], - - "p-defer": ["p-defer@3.0.0", "", {}, "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw=="], - - "p-finally": ["p-finally@1.0.0", "", {}, "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow=="], - - "p-limit": ["p-limit@6.2.0", "", { "dependencies": { "yocto-queue": "^1.1.1" } }, "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA=="], + "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], - "p-queue": ["p-queue@8.1.1", "", { "dependencies": { "eventemitter3": "^5.0.1", "p-timeout": "^6.1.2" } }, "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ=="], - - "p-retry": ["p-retry@4.6.2", "", { "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" } }, "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ=="], - - "p-timeout": ["p-timeout@6.1.4", "", {}, "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg=="], - "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], - "package-manager-detector": ["package-manager-detector@1.6.0", "", {}, "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA=="], - - "pagefind": ["pagefind@1.4.0", "", { "optionalDependencies": { "@pagefind/darwin-arm64": "1.4.0", "@pagefind/darwin-x64": "1.4.0", "@pagefind/freebsd-x64": "1.4.0", "@pagefind/linux-arm64": "1.4.0", "@pagefind/linux-x64": "1.4.0", "@pagefind/windows-x64": "1.4.0" }, "bin": { "pagefind": "lib/runner/bin.cjs" } }, "sha512-z2kY1mQlL4J8q5EIsQkLzQjilovKzfNVhX8De6oyE6uHpfFtyBaqUpcl/XzJC/4fjD8vBDyh1zolimIcVrCn9g=="], - "pako": ["pako@1.0.11", "", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="], - "param-case": ["param-case@3.0.4", "", { "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A=="], - "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], "parse-bmfont-ascii": ["parse-bmfont-ascii@1.0.6", "", {}, "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA=="], @@ -3665,26 +2234,14 @@ "parse-bmfont-xml": ["parse-bmfont-xml@1.1.6", "", { "dependencies": { "xml-parse-from-string": "^1.0.0", "xml2js": "^0.5.0" } }, "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA=="], - "parse-entities": ["parse-entities@4.0.2", "", { "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", "character-reference-invalid": "^2.0.0", "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" } }, "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw=="], - "parse-json": ["parse-json@4.0.0", "", { "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw=="], - "parse-latin": ["parse-latin@7.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "@types/unist": "^3.0.0", "nlcst-to-string": "^4.0.0", "unist-util-modify-children": "^4.0.0", "unist-util-visit-children": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ=="], - "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], - "parse5-htmlparser2-tree-adapter": ["parse5-htmlparser2-tree-adapter@7.1.0", "", { "dependencies": { "domhandler": "^5.0.3", "parse5": "^7.0.0" } }, "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g=="], - - "parseley": ["parseley@0.12.1", "", { "dependencies": { "leac": "^0.6.0", "peberminta": "^0.9.0" } }, "sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw=="], - "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], "partial-json": ["partial-json@0.1.7", "", {}, "sha512-Njv/59hHaokb/hRUjce3Hdv12wd60MtM9Z5Olmn+nehe0QDAsRtRbJPvJ0Z91TusF0SuZRIvnM+S4l6EIP8leA=="], - "pascal-case": ["pascal-case@3.1.2", "", { "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g=="], - - "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="], - "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], @@ -3693,20 +2250,16 @@ "path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], - "path-to-regexp": ["path-to-regexp@6.3.0", "", {}, "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ=="], + "path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="], "path-type": ["path-type@3.0.0", "", { "dependencies": { "pify": "^3.0.0" } }, "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg=="], "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], - "peberminta": ["peberminta@0.9.0", "", {}, "sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ=="], - "peek-readable": ["peek-readable@4.1.0", "", {}, "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg=="], "perfect-debounce": ["perfect-debounce@2.1.0", "", {}, "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g=="], - "piccolore": ["piccolore@0.1.3", "", {}, "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw=="], - "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], @@ -3721,14 +2274,10 @@ "pino-std-serializers": ["pino-std-serializers@7.1.0", "", {}, "sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw=="], - "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="], - "pixelmatch": ["pixelmatch@5.3.0", "", { "dependencies": { "pngjs": "^6.0.0" }, "bin": { "pixelmatch": "bin/pixelmatch" } }, "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q=="], "pkce-challenge": ["pkce-challenge@5.0.1", "", {}, "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ=="], - "pkg-dir": ["pkg-dir@4.2.0", "", { "dependencies": { "find-up": "^4.0.0" } }, "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ=="], - "pkg-types": ["pkg-types@2.3.0", "", { "dependencies": { "confbox": "^0.2.2", "exsolve": "^1.0.7", "pathe": "^2.0.3" } }, "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig=="], "pkg-up": ["pkg-up@3.1.0", "", { "dependencies": { "find-up": "^3.0.0" } }, "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA=="], @@ -3745,22 +2294,6 @@ "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - "postcss-css-variables": ["postcss-css-variables@0.18.0", "", { "dependencies": { "balanced-match": "^1.0.0", "escape-string-regexp": "^1.0.3", "extend": "^3.0.1" }, "peerDependencies": { "postcss": "^8.2.6" } }, "sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q=="], - - "postcss-import": ["postcss-import@15.1.0", "", { "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" }, "peerDependencies": { "postcss": "^8.0.0" } }, "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew=="], - - "postcss-js": ["postcss-js@4.1.0", "", { "dependencies": { "camelcase-css": "^2.0.1" }, "peerDependencies": { "postcss": "^8.4.21" } }, "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw=="], - - "postcss-load-config": ["postcss-load-config@4.0.2", "", { "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" }, "peerDependencies": { "postcss": ">=8.0.9", "ts-node": ">=9.0.0" }, "optionalPeers": ["postcss", "ts-node"] }, "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ=="], - - "postcss-nested": ["postcss-nested@6.2.0", "", { "dependencies": { "postcss-selector-parser": "^6.1.1" }, "peerDependencies": { "postcss": "^8.2.14" } }, "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="], - - "postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], - - "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], - - "postgres": ["postgres@3.4.7", "", {}, "sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw=="], - "posthog-node": ["posthog-node@4.4.0", "", { "dependencies": { "axios": "^1.7.4" } }, "sha512-4FEFBuc4FDFkTEiCSIo7DFV0jpprlqfR/SzjVgg7E2rRvfxTW4J47IvCwSCo5C9lBeV0ujDubY/YArHG37aJIw=="], "powershell-utils": ["powershell-utils@0.1.0", "", {}, "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A=="], @@ -3769,29 +2302,19 @@ "prettier": ["prettier@3.6.2", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ=="], - "pretty": ["pretty@2.0.0", "", { "dependencies": { "condense-newlines": "^0.2.1", "extend-shallow": "^2.0.1", "js-beautify": "^1.6.12" } }, "sha512-G9xUchgTEiNpormdYBl+Pha50gOUovT18IvAe7EYMZ1/f9W/WWMPRn+xI68yXNMUk3QXHDwo/1wV/4NejVNe1w=="], - - "prismjs": ["prismjs@1.30.0", "", {}, "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw=="], - "process": ["process@0.11.10", "", {}, "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="], "process-nextick-args": ["process-nextick-args@2.0.1", "", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="], "process-warning": ["process-warning@5.0.0", "", {}, "sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA=="], - "promise.allsettled": ["promise.allsettled@1.0.7", "", { "dependencies": { "array.prototype.map": "^1.0.5", "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1", "iterate-value": "^1.0.2" } }, "sha512-hezvKvQQmsFkOdrZfYxUxkyxl8mgFQeT259Ajj9PXdbg9VzBCWrItOev72JyWxkCD5VSSqAeHmlN3tWx4DlmsA=="], - - "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="], - "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], - "proto-list": ["proto-list@1.2.4", "", {}, "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA=="], - "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="], - "punycode": ["punycode@1.3.2", "", {}, "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="], + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], "qrcode": ["qrcode@1.5.4", "", { "dependencies": { "dijkstrajs": "^1.0.1", "pngjs": "^5.0.0", "yargs": "^15.3.1" }, "bin": { "qrcode": "bin/qrcode" } }, "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg=="], @@ -3799,14 +2322,8 @@ "quansync": ["quansync@0.2.11", "", {}, "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA=="], - "querystring": ["querystring@0.2.0", "", {}, "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g=="], - - "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], - "quick-format-unescaped": ["quick-format-unescaped@4.0.4", "", {}, "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg=="], - "radix3": ["radix3@1.1.2", "", {}, "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA=="], - "randombytes": ["randombytes@2.1.0", "", { "dependencies": { "safe-buffer": "^5.1.0" } }, "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="], "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], @@ -3819,20 +2336,6 @@ "react-dom": ["react-dom@18.2.0", "", { "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.0" }, "peerDependencies": { "react": "^18.2.0" } }, "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g=="], - "react-refresh": ["react-refresh@0.17.0", "", {}, "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ=="], - - "react-remove-scroll": ["react-remove-scroll@2.5.5", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.3", "react-style-singleton": "^2.2.1", "tslib": "^2.1.0", "use-callback-ref": "^1.3.0", "use-sidecar": "^1.1.2" }, "peerDependencies": { "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw=="], - - "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], - - "react-router": ["react-router@6.16.0", "", { "dependencies": { "@remix-run/router": "1.9.0" }, "peerDependencies": { "react": ">=16.8" } }, "sha512-VT4Mmc4jj5YyjpOi5jOf0I+TYzGpvzERy4ckNSvSh2RArv8LLoCxlsZ2D+tc7zgjxcY34oTz2hZaeX5RVprKqA=="], - - "react-router-dom": ["react-router-dom@6.16.0", "", { "dependencies": { "@remix-run/router": "1.9.0", "react-router": "6.16.0" }, "peerDependencies": { "react": ">=16.8", "react-dom": ">=16.8" } }, "sha512-aTfBLv3mk/gaKLxgRDUPbPw+s4Y/O+ma3rEN1u8EgEpLpPe6gNjIsWt9rxushMHHMb7mSwxRGdGlGdvmFsyPIg=="], - - "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], - - "read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="], - "read-pkg": ["read-pkg@3.0.0", "", { "dependencies": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", "path-type": "^3.0.0" } }, "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA=="], "readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="], @@ -3845,14 +2348,6 @@ "real-require": ["real-require@0.2.0", "", {}, "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg=="], - "recma-build-jsx": ["recma-build-jsx@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-build-jsx": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew=="], - - "recma-jsx": ["recma-jsx@1.0.1", "", { "dependencies": { "acorn-jsx": "^5.0.0", "estree-util-to-js": "^2.0.0", "recma-parse": "^1.0.0", "recma-stringify": "^1.0.0", "unified": "^11.0.0" }, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w=="], - - "recma-parse": ["recma-parse@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "esast-util-from-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ=="], - - "recma-stringify": ["recma-stringify@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-to-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g=="], - "reflect.getprototypeof": ["reflect.getprototypeof@1.0.10", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.9", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.7", "get-proto": "^1.0.1", "which-builtin-type": "^1.2.1" } }, "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw=="], "regex": ["regex@6.1.0", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg=="], @@ -3863,42 +2358,8 @@ "regexp.prototype.flags": ["regexp.prototype.flags@1.5.4", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", "get-proto": "^1.0.1", "gopd": "^1.2.0", "set-function-name": "^2.0.2" } }, "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA=="], - "rehype": ["rehype@13.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "rehype-parse": "^9.0.0", "rehype-stringify": "^10.0.0", "unified": "^11.0.0" } }, "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A=="], - - "rehype-autolink-headings": ["rehype-autolink-headings@7.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-heading-rank": "^3.0.0", "hast-util-is-element": "^3.0.0", "unified": "^11.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw=="], - - "rehype-expressive-code": ["rehype-expressive-code@0.41.6", "", { "dependencies": { "expressive-code": "^0.41.6" } }, "sha512-aBMX8kxPtjmDSFUdZlAWJkMvsQ4ZMASfee90JWIAV8tweltXLzkWC3q++43ToTelI8ac5iC0B3/S/Cl4Ql1y2g=="], - - "rehype-format": ["rehype-format@5.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-format": "^1.0.0" } }, "sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ=="], - - "rehype-parse": ["rehype-parse@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-html": "^2.0.0", "unified": "^11.0.0" } }, "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag=="], - - "rehype-raw": ["rehype-raw@7.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", "vfile": "^6.0.0" } }, "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww=="], - - "rehype-recma": ["rehype-recma@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "hast-util-to-estree": "^3.0.0" } }, "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw=="], - - "rehype-stringify": ["rehype-stringify@10.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-to-html": "^9.0.0", "unified": "^11.0.0" } }, "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA=="], - - "relateurl": ["relateurl@0.2.7", "", {}, "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog=="], - - "remark-directive": ["remark-directive@3.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-directive": "^3.0.0", "micromark-extension-directive": "^3.0.0", "unified": "^11.0.0" } }, "sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A=="], - - "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="], - - "remark-mdx": ["remark-mdx@3.1.1", "", { "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" } }, "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg=="], - - "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="], - - "remark-rehype": ["remark-rehype@11.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw=="], - - "remark-smartypants": ["remark-smartypants@3.0.2", "", { "dependencies": { "retext": "^9.0.0", "retext-smartypants": "^6.0.0", "unified": "^11.0.4", "unist-util-visit": "^5.0.0" } }, "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA=="], - - "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="], - "remeda": ["remeda@2.26.0", "", { "dependencies": { "type-fest": "^4.41.0" } }, "sha512-lmNNwtaC6Co4m0WTTNoZ/JlpjEqAjPZO0+czC9YVRQUpkbS4x8Hmh+Mn9HPfJfiXqUQ5IXXgSXSOB2pBKAytdA=="], - "request-light": ["request-light@0.7.0", "", {}, "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q=="], - "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], @@ -3909,28 +2370,12 @@ "resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], - "resolve-cwd": ["resolve-cwd@3.0.0", "", { "dependencies": { "resolve-from": "^5.0.0" } }, "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg=="], - - "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], - - "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], + "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], "restore-cursor": ["restore-cursor@5.1.0", "", { "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" } }, "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA=="], - "restructure": ["restructure@3.0.2", "", {}, "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw=="], - "ret": ["ret@0.5.0", "", {}, "sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw=="], - "retext": ["retext@9.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "retext-latin": "^4.0.0", "retext-stringify": "^4.0.0", "unified": "^11.0.0" } }, "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA=="], - - "retext-latin": ["retext-latin@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "parse-latin": "^7.0.0", "unified": "^11.0.0" } }, "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA=="], - - "retext-smartypants": ["retext-smartypants@6.2.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ=="], - - "retext-stringify": ["retext-stringify@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unified": "^11.0.0" } }, "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA=="], - - "retry": ["retry@0.13.1", "", {}, "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="], - "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], "rfdc": ["rfdc@1.4.1", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="], @@ -3939,14 +2384,10 @@ "rollup": ["rollup@4.57.1", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.57.1", "@rollup/rollup-android-arm64": "4.57.1", "@rollup/rollup-darwin-arm64": "4.57.1", "@rollup/rollup-darwin-x64": "4.57.1", "@rollup/rollup-freebsd-arm64": "4.57.1", "@rollup/rollup-freebsd-x64": "4.57.1", "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", "@rollup/rollup-linux-arm-musleabihf": "4.57.1", "@rollup/rollup-linux-arm64-gnu": "4.57.1", "@rollup/rollup-linux-arm64-musl": "4.57.1", "@rollup/rollup-linux-loong64-gnu": "4.57.1", "@rollup/rollup-linux-loong64-musl": "4.57.1", "@rollup/rollup-linux-ppc64-gnu": "4.57.1", "@rollup/rollup-linux-ppc64-musl": "4.57.1", "@rollup/rollup-linux-riscv64-gnu": "4.57.1", "@rollup/rollup-linux-riscv64-musl": "4.57.1", "@rollup/rollup-linux-s390x-gnu": "4.57.1", "@rollup/rollup-linux-x64-gnu": "4.57.1", "@rollup/rollup-linux-x64-musl": "4.57.1", "@rollup/rollup-openbsd-x64": "4.57.1", "@rollup/rollup-openharmony-arm64": "4.57.1", "@rollup/rollup-win32-arm64-msvc": "4.57.1", "@rollup/rollup-win32-ia32-msvc": "4.57.1", "@rollup/rollup-win32-x64-gnu": "4.57.1", "@rollup/rollup-win32-x64-msvc": "4.57.1", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A=="], - "rou3": ["rou3@0.7.12", "", {}, "sha512-iFE4hLDuloSWcD7mjdCDhx2bKcIsYbtOTpfH5MHHLSKMOUyjqQXTeZVa289uuwEGEKFoE/BAPbhaU4B774nceg=="], - "router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="], "run-applescript": ["run-applescript@7.1.0", "", {}, "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q=="], - "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], - "s-js": ["s-js@0.4.9", "", {}, "sha512-RtpOm+cM6O0sHg6IA70wH+UC3FZcND+rccBZpBAHzlUgNO2Bm5BN+FnM8+OBxzXdwpKWFwX11JGF0MFRkhSoIQ=="], "safe-array-concat": ["safe-array-concat@1.1.3", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "get-intrinsic": "^1.2.6", "has-symbols": "^1.1.0", "isarray": "^2.0.5" } }, "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q=="], @@ -3971,14 +2412,10 @@ "secure-json-parse": ["secure-json-parse@4.1.0", "", {}, "sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA=="], - "selderee": ["selderee@0.11.0", "", { "dependencies": { "parseley": "^0.12.0" } }, "sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA=="], - "semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "send": ["send@1.2.1", "", { "dependencies": { "debug": "^4.4.3", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", "http-errors": "^2.0.1", "mime-types": "^3.0.2", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "statuses": "^2.0.2" } }, "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ=="], - "seq-queue": ["seq-queue@0.0.5", "", {}, "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q=="], - "serialize-javascript": ["serialize-javascript@6.0.2", "", { "dependencies": { "randombytes": "^2.1.0" } }, "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g=="], "seroval": ["seroval@1.3.2", "", {}, "sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ=="], @@ -4001,8 +2438,6 @@ "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], - "sharp": ["sharp@0.33.5", "", { "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.3", "semver": "^7.6.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.33.5", "@img/sharp-darwin-x64": "0.33.5", "@img/sharp-libvips-darwin-arm64": "1.0.4", "@img/sharp-libvips-darwin-x64": "1.0.4", "@img/sharp-libvips-linux-arm": "1.0.5", "@img/sharp-libvips-linux-arm64": "1.0.4", "@img/sharp-libvips-linux-s390x": "1.0.4", "@img/sharp-libvips-linux-x64": "1.0.4", "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", "@img/sharp-libvips-linuxmusl-x64": "1.0.4", "@img/sharp-linux-arm": "0.33.5", "@img/sharp-linux-arm64": "0.33.5", "@img/sharp-linux-s390x": "0.33.5", "@img/sharp-linux-x64": "0.33.5", "@img/sharp-linuxmusl-arm64": "0.33.5", "@img/sharp-linuxmusl-x64": "0.33.5", "@img/sharp-wasm32": "0.33.5", "@img/sharp-win32-ia32": "0.33.5", "@img/sharp-win32-x64": "0.33.5" } }, "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw=="], - "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], @@ -4011,8 +2446,6 @@ "shiki": ["shiki@3.20.0", "", { "dependencies": { "@shikijs/core": "3.20.0", "@shikijs/engine-javascript": "3.20.0", "@shikijs/engine-oniguruma": "3.20.0", "@shikijs/langs": "3.20.0", "@shikijs/themes": "3.20.0", "@shikijs/types": "3.20.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-kgCOlsnyWb+p0WU+01RjkCH+eBVsjL1jOwUYWv0YDWkM2/A46+LDKVs5yZCUXjJG6bj4ndFoAg5iLIIue6dulg=="], - "shikiji": ["shikiji@0.6.13", "", { "dependencies": { "hast-util-to-html": "^9.0.0" } }, "sha512-4T7X39csvhT0p7GDnq9vysWddf2b6BeioiN3Ymhnt3xcy9tXmDcnsEFVxX18Z4YcQgEE/w48dLJ4pPPUcG9KkA=="], - "side-channel": ["side-channel@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], "side-channel-list": ["side-channel-list@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="], @@ -4021,22 +2454,12 @@ "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], - "siginfo": ["siginfo@2.0.0", "", {}, "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g=="], - "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], - "simple-swizzle": ["simple-swizzle@0.2.4", "", { "dependencies": { "is-arrayish": "^0.3.1" } }, "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw=="], - "simple-xml-to-json": ["simple-xml-to-json@1.2.3", "", {}, "sha512-kWJDCr9EWtZ+/EYYM5MareWj2cRnZGF93YDNpH4jQiHB+hBIZnfPFSQiVMzZOdk+zXWqTZ/9fTeQNu2DqeiudA=="], "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="], - "sitemap": ["sitemap@8.0.2", "", { "dependencies": { "@types/node": "^17.0.5", "@types/sax": "^1.2.1", "arg": "^5.0.0", "sax": "^1.4.1" }, "bin": { "sitemap": "dist/cli.js" } }, "sha512-LwktpJcyZDoa0IL6KT++lQ53pbSrx2c9ge41/SeLTyqy2XUNA6uR4+P9u5IVo5lPeL2arAcOKn1aZAxoYbCKlQ=="], - - "slash": ["slash@3.0.0", "", {}, "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="], - - "smol-toml": ["smol-toml@1.6.0", "", {}, "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw=="], - "socket.io-client": ["socket.io-client@4.8.3", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1", "engine.io-client": "~6.6.1", "socket.io-parser": "~4.2.4" } }, "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g=="], "socket.io-parser": ["socket.io-parser@4.2.5", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1" } }, "sha512-bPMmpy/5WWKHea5Y/jYAP6k74A+hvmRCQaJuJB6I/ML5JZq/KfNieUVo/3Mh7SAqn7TyFdIo6wqYHInG1MU1bQ=="], @@ -4051,13 +2474,9 @@ "solid-refresh": ["solid-refresh@0.6.3", "", { "dependencies": { "@babel/generator": "^7.23.6", "@babel/helper-module-imports": "^7.22.15", "@babel/types": "^7.23.6" }, "peerDependencies": { "solid-js": "^1.3" } }, "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA=="], - "solid-stripe": ["solid-stripe@0.8.1", "", { "peerDependencies": { "@stripe/stripe-js": ">=1.44.1 <8.0.0", "solid-js": "^1.6.0" } }, "sha512-l2SkWoe51rsvk9u1ILBRWyCHODZebChSGMR6zHYJTivTRC0XWrRnNNKs5x1PYXsaIU71KYI6ov5CZB5cOtGLWw=="], - - "solid-use": ["solid-use@0.9.1", "", { "peerDependencies": { "solid-js": "^1.7" } }, "sha512-UwvXDVPlrrbj/9ewG9ys5uL2IO4jSiwys2KPzK4zsnAcmEl7iDafZWW1Mo4BSEWOmQCGK6IvpmGHo1aou8iOFw=="], - "sonic-boom": ["sonic-boom@4.2.0", "", { "dependencies": { "atomic-sleep": "^1.0.0" } }, "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww=="], - "source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], + "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], @@ -4077,46 +2496,14 @@ "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], - "sqlstring": ["sqlstring@2.3.3", "", {}, "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg=="], - - "srvx": ["srvx@0.9.8", "", { "bin": { "srvx": "bin/srvx.mjs" } }, "sha512-RZaxTKJEE/14HYn8COLuUOJAt0U55N9l1Xf6jj+T0GoA01EUH1Xz5JtSUOI+EHn+AEgPCVn7gk6jHJffrr06fQ=="], - - "sst": ["sst@3.17.23", "", { "dependencies": { "aws-sdk": "2.1692.0", "aws4fetch": "1.0.18", "jose": "5.2.3", "opencontrol": "0.0.6", "openid-client": "5.6.4" }, "optionalDependencies": { "sst-darwin-arm64": "3.17.23", "sst-darwin-x64": "3.17.23", "sst-linux-arm64": "3.17.23", "sst-linux-x64": "3.17.23", "sst-linux-x86": "3.17.23", "sst-win32-arm64": "3.17.23", "sst-win32-x64": "3.17.23", "sst-win32-x86": "3.17.23" }, "bin": { "sst": "bin/sst.mjs" } }, "sha512-TwKgUgDnZdc1Swe+bvCNeyO4dQnYz5cTodMpYj3jlXZdK9/KNz0PVxT1f0u5E76i1pmilXrUBL/f7iiMPw4RDg=="], - - "sst-darwin-arm64": ["sst-darwin-arm64@3.17.23", "", { "os": "darwin", "cpu": "arm64" }, "sha512-R6kvmF+rUideOoU7KBs2SdvrIupoE+b+Dor/eq9Uo4Dojj7KvYDZI/EDm8sSCbbcx/opiWeyNqKtlnLEdCxE6g=="], - - "sst-darwin-x64": ["sst-darwin-x64@3.17.23", "", { "os": "darwin", "cpu": "x64" }, "sha512-WW4P1S35iYCifQXxD+sE3wuzcN+LHLpuKMaNoaBqEcWGZnH3IPaDJ7rpLF0arkDAo/z3jZmWWzOCkr0JuqJ8vQ=="], - - "sst-linux-arm64": ["sst-linux-arm64@3.17.23", "", { "os": "linux", "cpu": "arm64" }, "sha512-TjtNqgIh7RlAWgPLFCAt0mXvIB+J7WjmRvIRrAdX0mXsndOiBJ/DMOgXSLVsIWHCfPj8MIEot/hWpnJgXgIeag=="], - - "sst-linux-x64": ["sst-linux-x64@3.17.23", "", { "os": "linux", "cpu": "x64" }, "sha512-qdqJiEbYfCjZlI3F/TA6eoIU7JXVkEEI/UMILNf2JWhky0KQdCW2Xyz+wb6c0msVJCWdUM/uj+1DaiP2eXvghw=="], - - "sst-linux-x86": ["sst-linux-x86@3.17.23", "", { "os": "linux", "cpu": "none" }, "sha512-aGmUujIvoNlmAABEGsOgfY1rxD9koC6hN8bnTLbDI+oI/u/zjHYh50jsbL0p3TlaHpwF/lxP3xFSuT6IKp+KgA=="], - - "sst-win32-arm64": ["sst-win32-arm64@3.17.23", "", { "os": "win32", "cpu": "arm64" }, "sha512-ZxdkGqYDrrZGz98rijDCN+m5yuCcwD6Bc9/6hubLsvdpNlVorUqzpg801Ec97xSK0nIC9g6pNiRyxAcsQQstUg=="], - - "sst-win32-x64": ["sst-win32-x64@3.17.23", "", { "os": "win32", "cpu": "x64" }, "sha512-yc9cor4MS49Ccy2tQCF1tf6M81yLeSGzGL+gjhUxpVKo2pN3bxl3w70eyU/mTXSEeyAmG9zEfbt6FNu4sy5cUA=="], - - "sst-win32-x86": ["sst-win32-x86@3.17.23", "", { "os": "win32", "cpu": "none" }, "sha512-DIp3s54IpNAfdYjSRt6McvkbEPQDMxUu6RUeRAd2C+FcTJgTloon/ghAPQBaDgu2VoVgymjcJARO/XyfKcCLOQ=="], - - "stackback": ["stackback@0.0.2", "", {}, "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw=="], - - "stackframe": ["stackframe@1.3.4", "", {}, "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="], - "stage-js": ["stage-js@1.0.0-alpha.23", "", {}, "sha512-eH+X90SrOx394tVJjYu/ld6wwMdcWzDa1xU0FinTppef7fmPvvtxoCWsDtTCEtKA/sHnPslwyEy6ATGUWLYKXA=="], "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], - "std-env": ["std-env@3.10.0", "", {}, "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg=="], - "stdin-discarder": ["stdin-discarder@0.2.2", "", {}, "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ=="], "stop-iteration-iterator": ["stop-iteration-iterator@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "internal-slot": "^1.1.0" } }, "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ=="], - "stoppable": ["stoppable@1.1.0", "", {}, "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw=="], - - "stream-replace-string": ["stream-replace-string@2.0.0", "", {}, "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w=="], - "streamx": ["streamx@2.23.0", "", { "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" } }, "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg=="], "string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], @@ -4147,20 +2534,10 @@ "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], - "stripe": ["stripe@18.0.0", "", { "dependencies": { "@types/node": ">=8.1.0", "qs": "^6.11.0" } }, "sha512-3Fs33IzKUby//9kCkCa1uRpinAoTvj6rJgQ2jrBEysoxEvfsclvXdna1amyEYbA2EKkjynuB4+L/kleCCaWTpA=="], - - "strnum": ["strnum@1.1.2", "", {}, "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA=="], + "strnum": ["strnum@2.1.2", "", {}, "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ=="], "strtok3": ["strtok3@6.3.0", "", { "dependencies": { "@tokenizer/token": "^0.3.0", "peek-readable": "^4.1.0" } }, "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw=="], - "style-to-js": ["style-to-js@1.1.21", "", { "dependencies": { "style-to-object": "1.0.14" } }, "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ=="], - - "style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="], - - "sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], - - "superstruct": ["superstruct@1.0.4", "", {}, "sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ=="], - "supports-color": ["supports-color@10.2.2", "", {}, "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g=="], "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], @@ -4175,40 +2552,24 @@ "tar-stream": ["tar-stream@3.1.7", "", { "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ=="], - "terracotta": ["terracotta@1.1.0", "", { "dependencies": { "solid-use": "^0.9.1" }, "peerDependencies": { "solid-js": "^1.8" } }, "sha512-kfQciWUBUBgYkXu7gh3CK3FAJng/iqZslAaY08C+k1Hdx17aVEpcFFb/WPaysxAfcupNH3y53s/pc53xxZauww=="], - "terser": ["terser@5.46.0", "", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg=="], "test-exclude": ["test-exclude@7.0.1", "", { "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^10.4.1", "minimatch": "^9.0.4" } }, "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg=="], "text-decoder": ["text-decoder@1.2.3", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA=="], - "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="], - - "thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="], - "thread-stream": ["thread-stream@4.0.0", "", { "dependencies": { "real-require": "^0.2.0" } }, "sha512-4iMVL6HAINXWf1ZKZjIPcz5wYaOdPhtO8ATvZ+Xqp3BTdaqtAwQkNmKORqcIo5YkQqGXq5cwfswDwMqqQNrpJA=="], "three": ["three@0.177.0", "", {}, "sha512-EiXv5/qWAaGI+Vz2A+JfavwYCMdGjxVsrn3oBwllUoqYeaBO75J63ZfyaQKoiLrqNHoTlUc6PFgMXnS0kI45zg=="], "thunky": ["thunky@1.1.0", "", {}, "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA=="], - "tiny-inflate": ["tiny-inflate@1.0.3", "", {}, "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="], - - "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], - - "tinybench": ["tinybench@2.9.0", "", {}, "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg=="], - "tinycolor2": ["tinycolor2@1.6.0", "", {}, "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="], "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], - "tinyrainbow": ["tinyrainbow@3.0.3", "", {}, "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q=="], - - "titleize": ["titleize@4.0.0", "", {}, "sha512-ZgUJ1K83rhdu7uh7EHAC2BgY5DzoX8V5rTvoWI4vFysggi6YjLe5gUXABPWAU7VkvGP7P/0YiWq+dcPeYDsf1g=="], - "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], "toad-cache": ["toad-cache@3.7.0", "", {}, "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw=="], @@ -4217,8 +2578,6 @@ "token-types": ["token-types@4.2.1", "", { "dependencies": { "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" } }, "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ=="], - "toolbeam-docs-theme": ["toolbeam-docs-theme@0.4.8", "", { "peerDependencies": { "@astrojs/starlight": "^0.34.3", "astro": "^5.7.13" } }, "sha512-b+5ynEFp4Woe5a22hzNQm42lD23t13ZMihVxHbzjA50zdcM9aOSJTIjdJ0PDSd4/50HbBXcpHiQsz6rM4N88ww=="], - "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="], "traverse": ["traverse@0.3.9", "", {}, "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ=="], @@ -4227,20 +2586,12 @@ "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="], - "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="], - "ts-algebra": ["ts-algebra@2.0.0", "", {}, "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw=="], "ts-api-utils": ["ts-api-utils@2.4.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA=="], - "ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="], - - "tsconfck": ["tsconfck@3.1.6", "", { "peerDependencies": { "typescript": "^5.0.0" }, "optionalPeers": ["typescript"], "bin": { "tsconfck": "bin/tsconfck.js" } }, "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w=="], - "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "tsscmp": ["tsscmp@1.0.6", "", {}, "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA=="], - "tunnel": ["tunnel@0.0.6", "", {}, "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="], "turbo": ["turbo@2.5.6", "", { "optionalDependencies": { "turbo-darwin-64": "2.5.6", "turbo-darwin-arm64": "2.5.6", "turbo-linux-64": "2.5.6", "turbo-linux-arm64": "2.5.6", "turbo-windows-64": "2.5.6", "turbo-windows-arm64": "2.5.6" }, "bin": { "turbo": "bin/turbo" } }, "sha512-gxToHmi9oTBNB05UjUsrWf0OyN5ZXtD0apOarC1KIx232Vp3WimRNy3810QzeNSgyD5rsaIDXlxlbnOzlouo+w=="], @@ -4259,8 +2610,6 @@ "turndown": ["turndown@7.2.0", "", { "dependencies": { "@mixmark-io/domino": "^2.2.0" } }, "sha512-eCZGBN4nNNqM9Owkv9HAtWRYfLA4h909E/WGAWWBpmB275ehNhZyk87/Tpvjbp0jjNl9XwCsbe6bm6CqFsgD+A=="], - "tw-to-css": ["tw-to-css@0.0.12", "", { "dependencies": { "postcss": "8.4.31", "postcss-css-variables": "0.18.0", "tailwindcss": "3.3.2" } }, "sha512-rQAsQvOtV1lBkyCw+iypMygNHrShYAItES5r8fMsrhhaj5qrV2LkZyXc8ccEH+u5bFjHjQ9iuxe90I7Kykf6pw=="], - "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], "type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="], @@ -4275,89 +2624,43 @@ "typed-array-length": ["typed-array-length@1.0.7", "", { "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "is-typed-array": "^1.1.13", "possible-typed-array-names": "^1.0.0", "reflect.getprototypeof": "^1.0.6" } }, "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg=="], - "typesafe-path": ["typesafe-path@0.2.2", "", {}, "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA=="], - "typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="], - "typescript-auto-import-cache": ["typescript-auto-import-cache@0.3.6", "", { "dependencies": { "semver": "^7.3.8" } }, "sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ=="], - "typescript-eslint": ["typescript-eslint@8.54.0", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.54.0", "@typescript-eslint/parser": "8.54.0", "@typescript-eslint/typescript-estree": "8.54.0", "@typescript-eslint/utils": "8.54.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-CKsJ+g53QpsNPqbzUsfKVgd3Lny4yKZ1pP4qN3jdMOg/sisIDLGyDMezycquXLE5JsEU0wp3dGNdzig0/fmSVQ=="], - "ufo": ["ufo@1.6.3", "", {}, "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q=="], - "ulid": ["ulid@3.0.1", "", { "bin": { "ulid": "dist/cli.js" } }, "sha512-dPJyqPzx8preQhqq24bBG1YNkvigm87K8kVEHCD+ruZg24t6IFEFv00xMWfxcC4djmFtiTLdFuADn4+DOz6R7Q=="], - "ultrahtml": ["ultrahtml@1.6.0", "", {}, "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw=="], - "unbox-primitive": ["unbox-primitive@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "has-bigints": "^1.0.2", "has-symbols": "^1.1.0", "which-boxed-primitive": "^1.1.1" } }, "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw=="], - "uncrypto": ["uncrypto@0.1.3", "", {}, "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="], - "undici": ["undici@5.29.0", "", { "dependencies": { "@fastify/busboy": "^2.0.0" } }, "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg=="], "undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="], - "unenv": ["unenv@2.0.0-rc.24", "", { "dependencies": { "pathe": "^2.0.3" } }, "sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw=="], - - "unicode-properties": ["unicode-properties@1.4.1", "", { "dependencies": { "base64-js": "^1.3.0", "unicode-trie": "^2.0.0" } }, "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg=="], - - "unicode-trie": ["unicode-trie@2.0.0", "", { "dependencies": { "pako": "^0.2.5", "tiny-inflate": "^1.0.0" } }, "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ=="], - - "unified": ["unified@11.0.5", "", { "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" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="], - - "unifont": ["unifont@0.5.2", "", { "dependencies": { "css-tree": "^3.0.0", "ofetch": "^1.4.1", "ohash": "^2.0.0" } }, "sha512-LzR4WUqzH9ILFvjLAUU7dK3Lnou/qd5kD+IakBtBK4S15/+x2y9VX+DcWQv6s551R6W+vzwgVS6tFg3XggGBgg=="], - - "unist-util-find-after": ["unist-util-find-after@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ=="], - "unist-util-is": ["unist-util-is@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g=="], - "unist-util-modify-children": ["unist-util-modify-children@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "array-iterate": "^2.0.0" } }, "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw=="], - "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="], - "unist-util-position-from-estree": ["unist-util-position-from-estree@2.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ=="], - - "unist-util-remove-position": ["unist-util-remove-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q=="], - "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="], "unist-util-visit": ["unist-util-visit@5.1.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg=="], - "unist-util-visit-children": ["unist-util-visit-children@3.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA=="], - "unist-util-visit-parents": ["unist-util-visit-parents@6.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ=="], - "universal-github-app-jwt": ["universal-github-app-jwt@2.2.2", "", {}, "sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw=="], - "universal-user-agent": ["universal-user-agent@7.0.3", "", {}, "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A=="], - "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], - "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], - "unstorage": ["unstorage@2.0.0-alpha.5", "", { "peerDependencies": { "@azure/app-configuration": "^1.9.0", "@azure/cosmos": "^4.7.0", "@azure/data-tables": "^13.3.1", "@azure/identity": "^4.13.0", "@azure/keyvault-secrets": "^4.10.0", "@azure/storage-blob": "^12.29.1", "@capacitor/preferences": "^6.0.3 || ^7.0.0", "@deno/kv": ">=0.12.0", "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", "@planetscale/database": "^1.19.0", "@upstash/redis": "^1.35.6", "@vercel/blob": ">=0.27.3", "@vercel/functions": "^2.2.12 || ^3.0.0", "@vercel/kv": "^1.0.1", "aws4fetch": "^1.0.20", "chokidar": "^4 || ^5", "db0": ">=0.3.4", "idb-keyval": "^6.2.2", "ioredis": "^5.8.2", "lru-cache": "^11.2.2", "mongodb": "^6 || ^7", "ofetch": "*", "uploadthing": "^7.7.4" }, "optionalPeers": ["@azure/app-configuration", "@azure/cosmos", "@azure/data-tables", "@azure/identity", "@azure/keyvault-secrets", "@azure/storage-blob", "@capacitor/preferences", "@deno/kv", "@netlify/blobs", "@planetscale/database", "@upstash/redis", "@vercel/blob", "@vercel/functions", "@vercel/kv", "aws4fetch", "chokidar", "db0", "idb-keyval", "ioredis", "lru-cache", "mongodb", "ofetch", "uploadthing"] }, "sha512-Sj8btci21Twnd6M+N+MHhjg3fVn6lAPElPmvFTe0Y/wR0WImErUdA1PzlAaUavHylJ7uDiFwlZDQKm0elG4b7g=="], - "unzip-stream": ["unzip-stream@0.3.4", "", { "dependencies": { "binary": "^0.3.0", "mkdirp": "^0.5.1" } }, "sha512-PyofABPVv+d7fL7GOpusx7eRT9YETY2X04PhwbSipdj6bMxVCFJrr+nm0Mxqbf9hUiTin/UsnuFWBXlDZFy0Cw=="], "update-browserslist-db": ["update-browserslist-db@1.2.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="], "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], - "url": ["url@0.10.3", "", { "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" } }, "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ=="], - - "use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="], - - "use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="], - "utif2": ["utif2@4.1.0", "", { "dependencies": { "pako": "^1.0.11" } }, "sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w=="], - "util": ["util@0.12.5", "", { "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", "is-generator-function": "^1.0.7", "is-typed-array": "^1.1.3", "which-typed-array": "^1.1.2" } }, "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA=="], - "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], - "utils-merge": ["utils-merge@1.0.1", "", {}, "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="], - - "uuid": ["uuid@8.0.0", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw=="], + "uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], "v8-to-istanbul": ["v8-to-istanbul@9.3.0", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^2.0.0" } }, "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA=="], @@ -4367,61 +2670,23 @@ "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="], - "vfile-location": ["vfile-location@5.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg=="], - "vfile-message": ["vfile-message@4.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw=="], "virtua": ["virtua@0.42.3", "", { "peerDependencies": { "react": ">=16.14.0", "react-dom": ">=16.14.0", "solid-js": ">=1.0", "svelte": ">=5.0", "vue": ">=3.2" }, "optionalPeers": ["react", "react-dom", "solid-js", "svelte", "vue"] }, "sha512-5FoAKcEvh05qsUF97Yz42SWJ7bwnPExjUYHGuoxz1EUtfWtaOgXaRwnylJbDpA0QcH1rKvJ2qsGRi9MK1fpQbg=="], "vite": ["vite@7.1.4", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.14" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.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" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-X5QFK4SGynAeeIt+A7ZWnApdUyHYm+pzv/8/A57LqSGcI88U6R6ipOs3uCesdc6yl7nl+zNO0t8LmqAdXcQihw=="], - "vite-plugin-dynamic-import": ["vite-plugin-dynamic-import@1.6.0", "", { "dependencies": { "acorn": "^8.12.1", "es-module-lexer": "^1.5.4", "fast-glob": "^3.3.2", "magic-string": "^0.30.11" } }, "sha512-TM0sz70wfzTIo9YCxVFwS8OA9lNREsh+0vMHGSkWDTZ7bgd1Yjs5RV8EgB634l/91IsXJReg0xtmuQqP0mf+rg=="], - "vite-plugin-icons-spritesheet": ["vite-plugin-icons-spritesheet@3.0.1", "", { "dependencies": { "chalk": "^5.4.1", "glob": "^11.0.1", "node-html-parser": "^7.0.1", "tinyexec": "^0.3.2" }, "peerDependencies": { "vite": ">=5.2.0" } }, "sha512-Cr0+Z6wRMwSwKisWW9PHeTjqmQFv0jwRQQMc3YgAhAgZEe03j21el0P/CA31KN/L5eiL1LhR14VTXl96LetonA=="], "vite-plugin-solid": ["vite-plugin-solid@2.11.10", "", { "dependencies": { "@babel/core": "^7.23.3", "@types/babel__core": "^7.20.4", "babel-preset-solid": "^1.8.4", "merge-anything": "^5.1.7", "solid-refresh": "^0.6.3", "vitefu": "^1.0.4" }, "peerDependencies": { "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.*", "solid-js": "^1.7.2", "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" }, "optionalPeers": ["@testing-library/jest-dom"] }, "sha512-Yr1dQybmtDtDAHkii6hXuc1oVH9CPcS/Zb2jN/P36qqcrkNnVPsMTzQ06jyzFPFjj3U1IYKMVt/9ZqcwGCEbjw=="], "vitefu": ["vitefu@1.1.1", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" }, "optionalPeers": ["vite"] }, "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ=="], - "vitest": ["vitest@4.0.18", "", { "dependencies": { "@vitest/expect": "4.0.18", "@vitest/mocker": "4.0.18", "@vitest/pretty-format": "4.0.18", "@vitest/runner": "4.0.18", "@vitest/snapshot": "4.0.18", "@vitest/spy": "4.0.18", "@vitest/utils": "4.0.18", "es-module-lexer": "^1.7.0", "expect-type": "^1.2.2", "magic-string": "^0.30.21", "obug": "^2.1.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", "std-env": "^3.10.0", "tinybench": "^2.9.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", "tinyrainbow": "^3.0.3", "vite": "^6.0.0 || ^7.0.0", "why-is-node-running": "^2.3.0" }, "peerDependencies": { "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", "@vitest/browser-playwright": "4.0.18", "@vitest/browser-preview": "4.0.18", "@vitest/browser-webdriverio": "4.0.18", "@vitest/ui": "4.0.18", "happy-dom": "*", "jsdom": "*" }, "optionalPeers": ["@edge-runtime/vm", "@opentelemetry/api", "@types/node", "@vitest/browser-playwright", "@vitest/browser-preview", "@vitest/browser-webdriverio", "@vitest/ui", "happy-dom", "jsdom"], "bin": { "vitest": "vitest.mjs" } }, "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ=="], - - "volar-service-css": ["volar-service-css@0.0.68", "", { "dependencies": { "vscode-css-languageservice": "^6.3.0", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-lJSMh6f3QzZ1tdLOZOzovLX0xzAadPhx8EKwraDLPxBndLCYfoTvnNuiFFV8FARrpAlW5C0WkH+TstPaCxr00Q=="], - - "volar-service-emmet": ["volar-service-emmet@0.0.68", "", { "dependencies": { "@emmetio/css-parser": "^0.4.1", "@emmetio/html-matcher": "^1.3.0", "@vscode/emmet-helper": "^2.9.3", "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-nHvixrRQ83EzkQ4G/jFxu9Y4eSsXS/X2cltEPDM+K9qZmIv+Ey1w0tg1+6caSe8TU5Hgw4oSTwNMf/6cQb3LzQ=="], - - "volar-service-html": ["volar-service-html@0.0.68", "", { "dependencies": { "vscode-html-languageservice": "^5.3.0", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-fru9gsLJxy33xAltXOh4TEdi312HP80hpuKhpYQD4O5hDnkNPEBdcQkpB+gcX0oK0VxRv1UOzcGQEUzWCVHLfA=="], - - "volar-service-prettier": ["volar-service-prettier@0.0.68", "", { "dependencies": { "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0", "prettier": "^2.2 || ^3.0" }, "optionalPeers": ["@volar/language-service", "prettier"] }, "sha512-grUmWHkHlebMOd6V8vXs2eNQUw/bJGJMjekh/EPf/p2ZNTK0Uyz7hoBRngcvGfJHMsSXZH8w/dZTForIW/4ihw=="], - - "volar-service-typescript": ["volar-service-typescript@0.0.68", "", { "dependencies": { "path-browserify": "^1.0.1", "semver": "^7.6.2", "typescript-auto-import-cache": "^0.3.5", "vscode-languageserver-textdocument": "^1.0.11", "vscode-nls": "^5.2.0", "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-z7B/7CnJ0+TWWFp/gh2r5/QwMObHNDiQiv4C9pTBNI2Wxuwymd4bjEORzrJ/hJ5Yd5+OzeYK+nFCKevoGEEeKw=="], - - "volar-service-typescript-twoslash-queries": ["volar-service-typescript-twoslash-queries@0.0.68", "", { "dependencies": { "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-NugzXcM0iwuZFLCJg47vI93su5YhTIweQuLmZxvz5ZPTaman16JCvmDZexx2rd5T/75SNuvvZmrTOTNYUsfe5w=="], - - "volar-service-yaml": ["volar-service-yaml@0.0.68", "", { "dependencies": { "vscode-uri": "^3.0.8", "yaml-language-server": "~1.19.2" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-84XgE02LV0OvTcwfqhcSwVg4of3MLNUWPMArO6Aj8YXqyEVnPu8xTEMY2btKSq37mVAPuaEVASI4e3ptObmqcA=="], - - "vscode-css-languageservice": ["vscode-css-languageservice@6.3.9", "", { "dependencies": { "@vscode/l10n": "^0.0.18", "vscode-languageserver-textdocument": "^1.0.12", "vscode-languageserver-types": "3.17.5", "vscode-uri": "^3.1.0" } }, "sha512-1tLWfp+TDM5ZuVWht3jmaY5y7O6aZmpeXLoHl5bv1QtRsRKt4xYGRMmdJa5Pqx/FTkgRbsna9R+Gn2xE+evVuA=="], - - "vscode-html-languageservice": ["vscode-html-languageservice@5.6.1", "", { "dependencies": { "@vscode/l10n": "^0.0.18", "vscode-languageserver-textdocument": "^1.0.12", "vscode-languageserver-types": "^3.17.5", "vscode-uri": "^3.1.0" } }, "sha512-5Mrqy5CLfFZUgkyhNZLA1Ye5g12Cb/v6VM7SxUzZUaRKWMDz4md+y26PrfRTSU0/eQAl3XpO9m2og+GGtDMuaA=="], - - "vscode-json-languageservice": ["vscode-json-languageservice@4.1.8", "", { "dependencies": { "jsonc-parser": "^3.0.0", "vscode-languageserver-textdocument": "^1.0.1", "vscode-languageserver-types": "^3.16.0", "vscode-nls": "^5.0.0", "vscode-uri": "^3.0.2" } }, "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg=="], - "vscode-jsonrpc": ["vscode-jsonrpc@8.2.1", "", {}, "sha512-kdjOSJ2lLIn7r1rtrMbbNCHjyMPfRnowdKjBQ+mGq6NAW5QY2bEZC/khaC5OR8svbbjvLEaIXkOq45e2X9BIbQ=="], - "vscode-languageserver": ["vscode-languageserver@9.0.1", "", { "dependencies": { "vscode-languageserver-protocol": "3.17.5" }, "bin": { "installServerIntoExtension": "bin/installServerIntoExtension" } }, "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g=="], - - "vscode-languageserver-protocol": ["vscode-languageserver-protocol@3.17.5", "", { "dependencies": { "vscode-jsonrpc": "8.2.0", "vscode-languageserver-types": "3.17.5" } }, "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg=="], - - "vscode-languageserver-textdocument": ["vscode-languageserver-textdocument@1.0.12", "", {}, "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA=="], - "vscode-languageserver-types": ["vscode-languageserver-types@3.17.5", "", {}, "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="], - "vscode-nls": ["vscode-nls@5.2.0", "", {}, "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng=="], - - "vscode-uri": ["vscode-uri@3.1.0", "", {}, "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ=="], - - "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="], - - "web-streams-polyfill": ["web-streams-polyfill@4.0.0-beta.3", "", {}, "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug=="], + "web-streams-polyfill": ["web-streams-polyfill@3.3.3", "", {}, "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw=="], "web-tree-sitter": ["web-tree-sitter@0.25.10", "", { "peerDependencies": { "@types/emscripten": "^1.40.0" }, "optionalPeers": ["@types/emscripten"] }, "sha512-Y09sF44/13XvgVKgO2cNDw5rGk6s26MgoZPXLESvMXeefBf7i6/73eFurre0IsTW6E14Y0ArIzhUMmjoc7xyzA=="], @@ -4441,22 +2706,14 @@ "which-module": ["which-module@2.0.1", "", {}, "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="], - "which-pm-runs": ["which-pm-runs@1.1.0", "", {}, "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA=="], - "which-typed-array": ["which-typed-array@1.1.20", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" } }, "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg=="], "why-is-node-running": ["why-is-node-running@3.2.2", "", { "bin": { "why-is-node-running": "cli.js" } }, "sha512-NKUzAelcoCXhXL4dJzKIwXeR8iEVqsA0Lq6Vnd0UXvgaKbzVo4ZTHROF2Jidrv+SgxOQ03fMinnNhzZATxOD3A=="], - "widest-line": ["widest-line@5.0.0", "", { "dependencies": { "string-width": "^7.0.0" } }, "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA=="], - "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], - "workerd": ["workerd@1.20251118.0", "", { "optionalDependencies": { "@cloudflare/workerd-darwin-64": "1.20251118.0", "@cloudflare/workerd-darwin-arm64": "1.20251118.0", "@cloudflare/workerd-linux-64": "1.20251118.0", "@cloudflare/workerd-linux-arm64": "1.20251118.0", "@cloudflare/workerd-windows-64": "1.20251118.0" }, "bin": { "workerd": "bin/workerd" } }, "sha512-Om5ns0Lyx/LKtYI04IV0bjIrkBgoFNg0p6urzr2asekJlfP18RqFzyqMFZKf0i9Gnjtz/JfAS/Ol6tjCe5JJsQ=="], - "workerpool": ["workerpool@9.3.4", "", {}, "sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg=="], - "wrangler": ["wrangler@4.50.0", "", { "dependencies": { "@cloudflare/kv-asset-handler": "0.4.0", "@cloudflare/unenv-preset": "2.7.11", "blake3-wasm": "2.1.5", "esbuild": "0.25.4", "miniflare": "4.20251118.1", "path-to-regexp": "6.3.0", "unenv": "2.0.0-rc.24", "workerd": "1.20251118.0" }, "optionalDependencies": { "fsevents": "~2.3.2" }, "peerDependencies": { "@cloudflare/workers-types": "^4.20251118.0" }, "optionalPeers": ["@cloudflare/workers-types"], "bin": { "wrangler": "bin/wrangler.js", "wrangler2": "bin/wrangler.js" } }, "sha512-+nuZuHZxDdKmAyXOSrHlciGshCoAPiy5dM+t6mEohWm7HpXvTHmWQGUf/na9jjWlWJHCJYOWzkA1P5HBJqrIEA=="], - "wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="], "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], @@ -4471,48 +2728,34 @@ "xml-parse-from-string": ["xml-parse-from-string@1.0.1", "", {}, "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g=="], - "xml2js": ["xml2js@0.6.2", "", { "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" } }, "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA=="], + "xml2js": ["xml2js@0.5.0", "", { "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" } }, "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA=="], "xmlbuilder": ["xmlbuilder@11.0.1", "", {}, "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="], "xmlhttprequest-ssl": ["xmlhttprequest-ssl@2.1.2", "", {}, "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ=="], - "xxhash-wasm": ["xxhash-wasm@1.1.0", "", {}, "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA=="], - "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], - "yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="], + "yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], "yaml": ["yaml@2.8.2", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A=="], - "yaml-language-server": ["yaml-language-server@1.19.2", "", { "dependencies": { "@vscode/l10n": "^0.0.18", "ajv": "^8.17.1", "ajv-draft-04": "^1.0.0", "lodash": "4.17.21", "prettier": "^3.5.0", "request-light": "^0.5.7", "vscode-json-languageservice": "4.1.8", "vscode-languageserver": "^9.0.0", "vscode-languageserver-textdocument": "^1.0.1", "vscode-languageserver-types": "^3.16.0", "vscode-uri": "^3.0.2", "yaml": "2.7.1" }, "bin": { "yaml-language-server": "bin/yaml-language-server" } }, "sha512-9F3myNmJzUN/679jycdMxqtydPSDRAarSj3wPiF7pchEPnO9Dg07Oc+gIYLqXR4L+g+FSEVXXv2+mr54StLFOg=="], - "yargs": ["yargs@18.0.0", "", { "dependencies": { "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "string-width": "^7.2.0", "y18n": "^5.0.5", "yargs-parser": "^22.0.0" } }, "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg=="], "yargs-parser": ["yargs-parser@22.0.0", "", {}, "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw=="], "yargs-unparser": ["yargs-unparser@2.0.0", "", { "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", "flat": "^5.0.2", "is-plain-obj": "^2.1.0" } }, "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA=="], - "yocto-queue": ["yocto-queue@1.2.2", "", {}, "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ=="], - - "yocto-spinner": ["yocto-spinner@0.2.3", "", { "dependencies": { "yoctocolors": "^2.1.1" } }, "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ=="], - - "yoctocolors": ["yoctocolors@2.1.2", "", {}, "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug=="], + "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], "yoga-layout": ["yoga-layout@3.2.1", "", {}, "sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ=="], - "youch": ["youch@4.1.0-beta.10", "", { "dependencies": { "@poppinss/colors": "^4.1.5", "@poppinss/dumper": "^0.6.4", "@speed-highlight/core": "^1.2.7", "cookie": "^1.0.2", "youch-core": "^0.3.3" } }, "sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ=="], - - "youch-core": ["youch-core@0.3.3", "", { "dependencies": { "@poppinss/exception": "^1.2.2", "error-stack-parser-es": "^1.0.5" } }, "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA=="], - "zip-stream": ["zip-stream@6.0.1", "", { "dependencies": { "archiver-utils": "^5.0.0", "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" } }, "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA=="], "zod": ["zod@4.1.8", "", {}, "sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ=="], "zod-to-json-schema": ["zod-to-json-schema@3.24.5", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g=="], - "zod-to-ts": ["zod-to-ts@1.2.0", "", { "peerDependencies": { "typescript": "^4.9.4 || ^5.0.2", "zod": "^3" } }, "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA=="], - "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], "@actions/artifact/@actions/core": ["@actions/core@2.0.3", "", { "dependencies": { "@actions/exec": "^2.0.0", "@actions/http-client": "^3.0.2" } }, "sha512-Od9Thc3T1mQJYddvVPM4QGiLUewdh+3txmDYHHxoNdkqysR1MbCT+rFOtNUxYAz+7+6RIsqipVahY2GJqGPyxA=="], @@ -4523,78 +2766,20 @@ "@actions/http-client/undici": ["undici@6.23.0", "", {}, "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g=="], - "@astrojs/check/yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], - - "@astrojs/cloudflare/vite": ["vite@6.4.1", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g=="], - - "@astrojs/markdown-remark/@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.6.1", "", {}, "sha512-l5Pqf6uZu31aG+3Lv8nl/3s4DbUzdlxTWDof4pEpto6GUJNhhCbelVi9dEyurOVyqaelwmS9oSyOWOENSfgo9A=="], - - "@astrojs/markdown-remark/js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], - - "@astrojs/mdx/@astrojs/markdown-remark": ["@astrojs/markdown-remark@6.3.10", "", { "dependencies": { "@astrojs/internal-helpers": "0.7.5", "@astrojs/prism": "3.3.0", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "import-meta-resolve": "^4.2.0", "js-yaml": "^4.1.1", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", "shiki": "^3.19.0", "smol-toml": "^1.5.2", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.0.0", "unist-util-visit-parents": "^6.0.2", "vfile": "^6.0.3" } }, "sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A=="], - - "@astrojs/sitemap/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - - "@astrojs/solid-js/vite": ["vite@6.4.1", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g=="], - - "@astrojs/starlight/js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], - - "@aws-crypto/sha1-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], - - "@aws-crypto/sha256-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], - "@aws-crypto/util/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], - "@aws-sdk/client-sts/@aws-sdk/core": ["@aws-sdk/core@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/core": "^3.2.0", "@smithy/node-config-provider": "^4.0.2", "@smithy/property-provider": "^4.0.2", "@smithy/protocol-http": "^5.1.0", "@smithy/signature-v4": "^5.0.2", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/util-middleware": "^4.0.2", "fast-xml-parser": "4.4.1", "tslib": "^2.6.2" } }, "sha512-8vpW4WihVfz0DX+7WnnLGm3GuQER++b0IwQG35JlQMlgqnc44M//KbJPsIHA0aJUJVwJAEShgfr5dUbY8WUzaA=="], - - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node": ["@aws-sdk/credential-provider-node@3.782.0", "", { "dependencies": { "@aws-sdk/credential-provider-env": "3.775.0", "@aws-sdk/credential-provider-http": "3.775.0", "@aws-sdk/credential-provider-ini": "3.782.0", "@aws-sdk/credential-provider-process": "3.775.0", "@aws-sdk/credential-provider-sso": "3.782.0", "@aws-sdk/credential-provider-web-identity": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/credential-provider-imds": "^4.0.2", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-HZiAF+TCEyKjju9dgysjiPIWgt/+VerGaeEp18mvKLNfgKz1d+/82A2USEpNKTze7v3cMFASx3CvL8yYyF7mJw=="], - - "@aws-sdk/client-sts/@aws-sdk/middleware-host-header": ["@aws-sdk/middleware-host-header@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-tkSegM0Z6WMXpLB8oPys/d+umYIocvO298mGvcMCncpRl77L9XkvSLJIFzaHes+o7djAgIduYw8wKIMStFss2w=="], - - "@aws-sdk/client-sts/@aws-sdk/middleware-logger": ["@aws-sdk/middleware-logger@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-FaxO1xom4MAoUJsldmR92nT1G6uZxTdNYOFYtdHfd6N2wcNaTuxgjIvqzg5y7QIH9kn58XX/dzf1iTjgqUStZw=="], - - "@aws-sdk/client-sts/@aws-sdk/middleware-recursion-detection": ["@aws-sdk/middleware-recursion-detection@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-GLCzC8D0A0YDG5u3F5U03Vb9j5tcOEFhr8oc6PDk0k0vm5VwtZOE6LvK7hcCSoAB4HXyOUM0sQuXrbaAh9OwXA=="], - - "@aws-sdk/client-sts/@aws-sdk/middleware-user-agent": ["@aws-sdk/middleware-user-agent@3.782.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/types": "3.775.0", "@aws-sdk/util-endpoints": "3.782.0", "@smithy/core": "^3.2.0", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-i32H2R6IItX+bQ2p4+v2gGO2jA80jQoJO2m1xjU9rYWQW3+ErWy4I5YIuQHTBfb6hSdAHbaRfqPDgbv9J2rjEg=="], - - "@aws-sdk/client-sts/@aws-sdk/region-config-resolver": ["@aws-sdk/region-config-resolver@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/node-config-provider": "^4.0.2", "@smithy/types": "^4.2.0", "@smithy/util-config-provider": "^4.0.0", "@smithy/util-middleware": "^4.0.2", "tslib": "^2.6.2" } }, "sha512-40iH3LJjrQS3LKUJAl7Wj0bln7RFPEvUYKFxtP8a+oKFDO0F65F52xZxIJbPn6sHkxWDAnZlGgdjZXM3p2g5wQ=="], - - "@aws-sdk/client-sts/@aws-sdk/types": ["@aws-sdk/types@3.775.0", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-ZoGKwa4C9fC9Av6bdfqcW6Ix5ot05F/S4VxWR2nHuMv7hzfmAjTOcUiWT7UR4hM/U0whf84VhDtXN/DWAk52KA=="], - - "@aws-sdk/client-sts/@aws-sdk/util-endpoints": ["@aws-sdk/util-endpoints@3.782.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/types": "^4.2.0", "@smithy/util-endpoints": "^3.0.2", "tslib": "^2.6.2" } }, "sha512-/RJOAO7o7HI6lEa4ASbFFLHGU9iPK876BhsVfnl54MvApPVYWQ9sHO0anOUim2S5lQTwd/6ghuH3rFYSq/+rdw=="], - - "@aws-sdk/client-sts/@aws-sdk/util-user-agent-browser": ["@aws-sdk/util-user-agent-browser@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/types": "^4.2.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "sha512-txw2wkiJmZKVdDbscK7VBK+u+TJnRtlUjRTLei+elZg2ADhpQxfVAQl436FUeIv6AhB/oRHW6/K/EAGXUSWi0A=="], - - "@aws-sdk/client-sts/@aws-sdk/util-user-agent-node": ["@aws-sdk/util-user-agent-node@3.782.0", "", { "dependencies": { "@aws-sdk/middleware-user-agent": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/node-config-provider": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "peerDependencies": { "aws-crt": ">=1.0.0" }, "optionalPeers": ["aws-crt"] }, "sha512-dMFkUBgh2Bxuw8fYZQoH/u3H4afQ12VSkzEi//qFiDTwbKYq+u+RYjc8GLDM6JSK1BShMu5AVR7HD4ap1TYUnA=="], - - "@aws-sdk/xml-builder/fast-xml-parser": ["fast-xml-parser@5.2.5", "", { "dependencies": { "strnum": "^2.1.0" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ=="], - "@azure/core-http/@azure/abort-controller": ["@azure/abort-controller@1.1.0", "", { "dependencies": { "tslib": "^2.2.0" } }, "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw=="], "@azure/core-http/@azure/core-tracing": ["@azure/core-tracing@1.0.0-preview.13", "", { "dependencies": { "@opentelemetry/api": "^1.0.1", "tslib": "^2.2.0" } }, "sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ=="], - "@azure/core-http/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], - - "@azure/core-http/xml2js": ["xml2js@0.5.0", "", { "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" } }, "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA=="], - - "@azure/core-xml/fast-xml-parser": ["fast-xml-parser@5.2.5", "", { "dependencies": { "strnum": "^2.1.0" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ=="], - "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], - "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@bufbuild/protoplugin/typescript": ["typescript@5.4.5", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ=="], - "@cspotcode/source-map-support/@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.9", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ=="], - - "@dot/log/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "@esbuild-kit/core-utils/esbuild": ["esbuild@0.18.20", "", { "optionalDependencies": { "@esbuild/android-arm": "0.18.20", "@esbuild/android-arm64": "0.18.20", "@esbuild/android-x64": "0.18.20", "@esbuild/darwin-arm64": "0.18.20", "@esbuild/darwin-x64": "0.18.20", "@esbuild/freebsd-arm64": "0.18.20", "@esbuild/freebsd-x64": "0.18.20", "@esbuild/linux-arm": "0.18.20", "@esbuild/linux-arm64": "0.18.20", "@esbuild/linux-ia32": "0.18.20", "@esbuild/linux-loong64": "0.18.20", "@esbuild/linux-mips64el": "0.18.20", "@esbuild/linux-ppc64": "0.18.20", "@esbuild/linux-riscv64": "0.18.20", "@esbuild/linux-s390x": "0.18.20", "@esbuild/linux-x64": "0.18.20", "@esbuild/netbsd-x64": "0.18.20", "@esbuild/openbsd-x64": "0.18.20", "@esbuild/sunos-x64": "0.18.20", "@esbuild/win32-arm64": "0.18.20", "@esbuild/win32-ia32": "0.18.20", "@esbuild/win32-x64": "0.18.20" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA=="], - "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], "@eslint/config-array/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], @@ -4607,8 +2792,6 @@ "@eslint/eslintrc/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], - "@gitlab/gitlab-ai-provider/openai": ["openai@6.18.0", "", { "peerDependencies": { "ws": "^8.18.0", "zod": "^3.25 || ^4.0" }, "optionalPeers": ["ws", "zod"], "bin": { "openai": "bin/cli" } }, "sha512-odLRYyz9rlzz6g8gKn61RM2oP5UUm428sE2zOxZqS9MzVfD5/XW8UoEjpnRkzTuScXP7ZbP/m7fC+bl8jCOZZw=="], - "@gitlab/gitlab-ai-provider/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], "@hey-api/json-schema-ref-parser/js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], @@ -4657,18 +2840,6 @@ "@jimp/types/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "@jsx-email/cli/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "@jsx-email/cli/esbuild": ["esbuild@0.19.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.19.12", "@esbuild/android-arm": "0.19.12", "@esbuild/android-arm64": "0.19.12", "@esbuild/android-x64": "0.19.12", "@esbuild/darwin-arm64": "0.19.12", "@esbuild/darwin-x64": "0.19.12", "@esbuild/freebsd-arm64": "0.19.12", "@esbuild/freebsd-x64": "0.19.12", "@esbuild/linux-arm": "0.19.12", "@esbuild/linux-arm64": "0.19.12", "@esbuild/linux-ia32": "0.19.12", "@esbuild/linux-loong64": "0.19.12", "@esbuild/linux-mips64el": "0.19.12", "@esbuild/linux-ppc64": "0.19.12", "@esbuild/linux-riscv64": "0.19.12", "@esbuild/linux-s390x": "0.19.12", "@esbuild/linux-x64": "0.19.12", "@esbuild/netbsd-x64": "0.19.12", "@esbuild/openbsd-x64": "0.19.12", "@esbuild/sunos-x64": "0.19.12", "@esbuild/win32-arm64": "0.19.12", "@esbuild/win32-ia32": "0.19.12", "@esbuild/win32-x64": "0.19.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg=="], - - "@jsx-email/cli/tailwindcss": ["tailwindcss@3.3.3", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.5.3", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.2.12", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.18.2", "lilconfig": "^2.1.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.0.0", "postcss": "^8.4.23", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.1", "postcss-nested": "^6.0.1", "postcss-selector-parser": "^6.0.11", "resolve": "^1.22.2", "sucrase": "^3.32.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w=="], - - "@jsx-email/cli/vite": ["vite@4.5.14", "", { "dependencies": { "esbuild": "^0.18.10", "postcss": "^8.4.27", "rollup": "^3.27.1" }, "optionalDependencies": { "fsevents": "~2.3.2" }, "peerDependencies": { "@types/node": ">= 14", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "stylus": "*", "sugarss": "*", "terser": "^5.4.0" }, "optionalPeers": ["@types/node", "less", "lightningcss", "sass", "stylus", "sugarss", "terser"], "bin": { "vite": "bin/vite.js" } }, "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g=="], - - "@jsx-email/cli/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - - "@jsx-email/doiuse-email/htmlparser2": ["htmlparser2@9.1.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.1.0", "entities": "^4.5.0" } }, "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ=="], - "@kilocode/kilo-gateway/@openrouter/ai-sdk-provider": ["@openrouter/ai-sdk-provider@1.5.2", "", { "dependencies": { "@openrouter/sdk": "^0.1.27" }, "peerDependencies": { "@toon-format/toon": "^2.0.0", "ai": "^5.0.0", "zod": "^3.24.1 || ^v4" }, "optionalPeers": ["@toon-format/toon"] }, "sha512-3Th0vmJ9pjnwcPc2H1f59Mb0LFvwaREZAScfOQIpUxAHjZ7ZawVKDP27qgsteZPmMYqccNMy4r4Y3kgUnNcKAg=="], "@kilocode/kilo-gateway/@opentui/core": ["@opentui/core@0.1.75", "", { "dependencies": { "bun-ffi-structs": "0.1.2", "diff": "8.0.2", "jimp": "1.6.0", "marked": "17.0.1", "yoga-layout": "3.2.1" }, "optionalDependencies": { "@dimforge/rapier2d-simd-compat": "^0.17.3", "@opentui/core-darwin-arm64": "0.1.75", "@opentui/core-darwin-x64": "0.1.75", "@opentui/core-linux-arm64": "0.1.75", "@opentui/core-linux-x64": "0.1.75", "@opentui/core-win32-arm64": "0.1.75", "@opentui/core-win32-x64": "0.1.75", "bun-webgpu": "0.1.4", "planck": "^1.4.2", "three": "0.177.0" }, "peerDependencies": { "web-tree-sitter": "0.25.10" } }, "sha512-8ARRZxSG+BXkJmEVtM2DQ4se7DAF1ZCKD07d+AklgTr2mxCzmdxxPbOwRzboSQ6FM7qGuTVPVbV4O2W9DpUmoA=="], @@ -4677,28 +2848,8 @@ "@modelcontextprotocol/sdk/eventsource": ["eventsource@3.0.7", "", { "dependencies": { "eventsource-parser": "^3.0.1" } }, "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA=="], - "@modelcontextprotocol/sdk/jose": ["jose@6.1.3", "", {}, "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ=="], - "@modelcontextprotocol/sdk/zod-to-json-schema": ["zod-to-json-schema@3.25.1", "", { "peerDependencies": { "zod": "^3.25 || ^4" } }, "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA=="], - "@octokit/auth-app/@octokit/request": ["@octokit/request@10.0.7", "", { "dependencies": { "@octokit/endpoint": "^11.0.2", "@octokit/request-error": "^7.0.2", "@octokit/types": "^16.0.0", "fast-content-type-parse": "^3.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-v93h0i1yu4idj8qFPZwjehoJx4j3Ntn+JhXsdJrG9pYaX6j/XRz2RmasMUHtNgQD39nrv/VwTWSqK0RNXR8upA=="], - - "@octokit/auth-app/@octokit/request-error": ["@octokit/request-error@7.1.0", "", { "dependencies": { "@octokit/types": "^16.0.0" } }, "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw=="], - - "@octokit/auth-app/@octokit/types": ["@octokit/types@14.1.0", "", { "dependencies": { "@octokit/openapi-types": "^25.1.0" } }, "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g=="], - - "@octokit/auth-oauth-app/@octokit/request": ["@octokit/request@10.0.7", "", { "dependencies": { "@octokit/endpoint": "^11.0.2", "@octokit/request-error": "^7.0.2", "@octokit/types": "^16.0.0", "fast-content-type-parse": "^3.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-v93h0i1yu4idj8qFPZwjehoJx4j3Ntn+JhXsdJrG9pYaX6j/XRz2RmasMUHtNgQD39nrv/VwTWSqK0RNXR8upA=="], - - "@octokit/auth-oauth-app/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="], - - "@octokit/auth-oauth-device/@octokit/request": ["@octokit/request@10.0.7", "", { "dependencies": { "@octokit/endpoint": "^11.0.2", "@octokit/request-error": "^7.0.2", "@octokit/types": "^16.0.0", "fast-content-type-parse": "^3.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-v93h0i1yu4idj8qFPZwjehoJx4j3Ntn+JhXsdJrG9pYaX6j/XRz2RmasMUHtNgQD39nrv/VwTWSqK0RNXR8upA=="], - - "@octokit/auth-oauth-device/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="], - - "@octokit/auth-oauth-user/@octokit/request": ["@octokit/request@10.0.7", "", { "dependencies": { "@octokit/endpoint": "^11.0.2", "@octokit/request-error": "^7.0.2", "@octokit/types": "^16.0.0", "fast-content-type-parse": "^3.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-v93h0i1yu4idj8qFPZwjehoJx4j3Ntn+JhXsdJrG9pYaX6j/XRz2RmasMUHtNgQD39nrv/VwTWSqK0RNXR8upA=="], - - "@octokit/auth-oauth-user/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="], - "@octokit/core/@octokit/graphql": ["@octokit/graphql@7.1.1", "", { "dependencies": { "@octokit/request": "^8.4.1", "@octokit/types": "^13.0.0", "universal-user-agent": "^6.0.0" } }, "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g=="], "@octokit/core/@octokit/types": ["@octokit/types@13.10.0", "", { "dependencies": { "@octokit/openapi-types": "^24.2.0" } }, "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA=="], @@ -4711,12 +2862,6 @@ "@octokit/graphql/@octokit/request": ["@octokit/request@10.0.7", "", { "dependencies": { "@octokit/endpoint": "^11.0.2", "@octokit/request-error": "^7.0.2", "@octokit/types": "^16.0.0", "fast-content-type-parse": "^3.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-v93h0i1yu4idj8qFPZwjehoJx4j3Ntn+JhXsdJrG9pYaX6j/XRz2RmasMUHtNgQD39nrv/VwTWSqK0RNXR8upA=="], - "@octokit/oauth-methods/@octokit/request": ["@octokit/request@10.0.7", "", { "dependencies": { "@octokit/endpoint": "^11.0.2", "@octokit/request-error": "^7.0.2", "@octokit/types": "^16.0.0", "fast-content-type-parse": "^3.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-v93h0i1yu4idj8qFPZwjehoJx4j3Ntn+JhXsdJrG9pYaX6j/XRz2RmasMUHtNgQD39nrv/VwTWSqK0RNXR8upA=="], - - "@octokit/oauth-methods/@octokit/request-error": ["@octokit/request-error@7.1.0", "", { "dependencies": { "@octokit/types": "^16.0.0" } }, "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw=="], - - "@octokit/oauth-methods/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="], - "@octokit/plugin-paginate-rest/@octokit/types": ["@octokit/types@12.6.0", "", { "dependencies": { "@octokit/openapi-types": "^20.0.0" } }, "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw=="], "@octokit/plugin-rest-endpoint-methods/@octokit/types": ["@octokit/types@12.6.0", "", { "dependencies": { "@octokit/openapi-types": "^20.0.0" } }, "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw=="], @@ -4741,18 +2886,10 @@ "@openauthjs/openauth/jose": ["jose@5.9.6", "", {}, "sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ=="], - "@opencode-ai/console-function/@ai-sdk/anthropic": ["@ai-sdk/anthropic@2.0.0", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-uyyaO4KhxoIKZztREqLPh+6/K3ZJx/rp72JKoUEL9/kC+vfQTThUfPnY/bUryUpcnawx8IY/tSoYNOi/8PCv7w=="], - - "@opencode-ai/console-function/@ai-sdk/openai": ["@ai-sdk/openai@2.0.2", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-D4zYz2uR90aooKQvX1XnS00Z7PkbrcY+snUvPfm5bCabTG7bzLrVtD56nJ5bSaZG8lmuOMfXpyiEEArYLyWPpw=="], - - "@opencode-ai/console-function/@ai-sdk/openai-compatible": ["@ai-sdk/openai-compatible@1.0.1", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-luHVcU+yKzwv3ekKgbP3v+elUVxb2Rt+8c6w9qi7g2NYG2/pEL21oIrnaEnc6UtTZLLZX9EFBcpq2N1FQKDIMw=="], - "@opencode-ai/desktop/@actions/artifact": ["@actions/artifact@4.0.0", "", { "dependencies": { "@actions/core": "^1.10.0", "@actions/github": "^6.0.1", "@actions/http-client": "^2.1.0", "@azure/core-http": "^3.0.5", "@azure/storage-blob": "^12.15.0", "@octokit/core": "^5.2.1", "@octokit/plugin-request-log": "^1.0.4", "@octokit/plugin-retry": "^3.0.9", "@octokit/request": "^8.4.1", "@octokit/request-error": "^5.1.1", "@protobuf-ts/plugin": "^2.2.3-alpha.1", "archiver": "^7.0.1", "jwt-decode": "^3.1.2", "unzip-stream": "^0.3.1" } }, "sha512-HCc2jMJRAfviGFAh0FsOR/jNfWhirxl7W6z8zDtttt0GltwxBLdEIjLiweOPFl9WbyJRW1VWnPUSAixJqcWUMQ=="], "@opencode-ai/desktop/typescript": ["typescript@5.6.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw=="], - "@opencode-ai/web/@shikijs/transformers": ["@shikijs/transformers@3.20.0", "", { "dependencies": { "@shikijs/core": "3.20.0", "@shikijs/types": "3.20.0" } }, "sha512-PrHHMRr3Q5W1qB/42kJW6laqFyWdhrPF2hNR9qjOm1xcSiAO3hAHo7HaVyHE6pMyevmy3i51O8kuGGXC78uK3g=="], - "@opentui/solid/@babel/core": ["@babel/core@7.28.0", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.0", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.27.3", "@babel/helpers": "^7.27.6", "@babel/parser": "^7.28.0", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.0", "@babel/types": "^7.28.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ=="], "@opentui/solid/solid-js": ["solid-js@1.9.11", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.5.0", "seroval-plugins": "~1.5.0" } }, "sha512-WEJtcc5mkh/BnHA6Yrg4whlF8g6QwpmXXRg4P2ztPmcKeHHlH4+djYecBLhSpecZY2RRECXYUwIc/C2r3yzQ4Q=="], @@ -4765,8 +2902,6 @@ "@protobuf-ts/plugin/typescript": ["typescript@3.9.10", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q=="], - "@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], - "@shikijs/core/@shikijs/types": ["@shikijs/types@3.22.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-491iAekgKDBFE67z70Ok5a8KBMsQ2IJwOWw3us/7ffQkIBCyOQfm/aNwVMBUriP02QshIfgHCBSIYAl3u2eWjg=="], "@shikijs/engine-javascript/@shikijs/types": ["@shikijs/types@3.19.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-Z2hdeEQlzuntf/BZpFG8a+Fsw9UVXdML7w0o3TgSXV3yNESGon+bs9ITkQb3Ki7zxoXOOu5oJWqZ2uto06V9iQ=="], @@ -4779,46 +2914,6 @@ "@shikijs/transformers/@shikijs/core": ["@shikijs/core@3.9.2", "", { "dependencies": { "@shikijs/types": "3.9.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-3q/mzmw09B2B6PgFNeiaN8pkNOixWS726IHmJEpjDAcneDPMQmUg2cweT9cWXY4XcyQS3i6mOOUgQz9RRUP6HA=="], - "@slack/bolt/express": ["express@4.22.1", "", { "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "~1.20.3", "content-disposition": "~0.5.4", "content-type": "~1.0.4", "cookie": "~0.7.1", "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "~1.3.1", "fresh": "~0.5.2", "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "~2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "~0.19.0", "serve-static": "~1.16.2", "setprototypeof": "1.2.0", "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" } }, "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g=="], - - "@slack/bolt/path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="], - - "@slack/bolt/raw-body": ["raw-body@2.5.3", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "unpipe": "~1.0.0" } }, "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA=="], - - "@slack/oauth/@slack/logger": ["@slack/logger@3.0.0", "", { "dependencies": { "@types/node": ">=12.0.0" } }, "sha512-DTuBFbqu4gGfajREEMrkq5jBhcnskinhr4+AnfJEk48zhVeEv3XnUKGIX98B74kxhYsIMfApGGySTn7V3b5yBA=="], - - "@slack/socket-mode/@slack/logger": ["@slack/logger@3.0.0", "", { "dependencies": { "@types/node": ">=12.0.0" } }, "sha512-DTuBFbqu4gGfajREEMrkq5jBhcnskinhr4+AnfJEk48zhVeEv3XnUKGIX98B74kxhYsIMfApGGySTn7V3b5yBA=="], - - "@slack/socket-mode/@types/ws": ["@types/ws@7.4.7", "", { "dependencies": { "@types/node": "*" } }, "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww=="], - - "@slack/socket-mode/ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], - - "@slack/web-api/@slack/logger": ["@slack/logger@3.0.0", "", { "dependencies": { "@types/node": ">=12.0.0" } }, "sha512-DTuBFbqu4gGfajREEMrkq5jBhcnskinhr4+AnfJEk48zhVeEv3XnUKGIX98B74kxhYsIMfApGGySTn7V3b5yBA=="], - - "@slack/web-api/eventemitter3": ["eventemitter3@3.1.2", "", {}, "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q=="], - - "@slack/web-api/form-data": ["form-data@2.5.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.35", "safe-buffer": "^5.2.1" } }, "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A=="], - - "@slack/web-api/is-stream": ["is-stream@1.1.0", "", {}, "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ=="], - - "@slack/web-api/p-queue": ["p-queue@6.6.2", "", { "dependencies": { "eventemitter3": "^4.0.4", "p-timeout": "^3.2.0" } }, "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ=="], - - "@smithy/eventstream-serde-universal/@smithy/eventstream-codec": ["@smithy/eventstream-codec@4.2.8", "", { "dependencies": { "@aws-crypto/crc32": "5.2.0", "@smithy/types": "^4.12.0", "@smithy/util-hex-encoding": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-jS/O5Q14UsufqoGhov7dHLOPCzkYJl9QDzusI2Psh4wyYx/izhzvX9P4D69aTxcdfVhEPhjK+wYyn/PzLjKbbw=="], - - "@solidjs/start/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], - - "@solidjs/start/path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="], - - "@solidjs/start/seroval": ["seroval@1.5.0", "", {}, "sha512-OE4cvmJ1uSPrKorFIH9/w/Qwuvi/IMcGbv5RKgcJ/zjA/IohDLU6SVaxFN9FwajbP7nsX0dQqMDes1whk3y+yw=="], - - "@solidjs/start/seroval-plugins": ["seroval-plugins@1.5.0", "", { "peerDependencies": { "seroval": "^1.0" } }, "sha512-EAHqADIQondwRZIdeW2I636zgsODzoBDwb3PT/+7TLDWyw1Dy/Xv7iGUIEXXav7usHDE9HVhOU61irI3EnyyHA=="], - - "@solidjs/start/shiki": ["shiki@1.29.2", "", { "dependencies": { "@shikijs/core": "1.29.2", "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/langs": "1.29.2", "@shikijs/themes": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg=="], - - "@solidjs/start/solid-js": ["solid-js@1.9.11", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.5.0", "seroval-plugins": "~1.5.0" } }, "sha512-WEJtcc5mkh/BnHA6Yrg4whlF8g6QwpmXXRg4P2ztPmcKeHHlH4+djYecBLhSpecZY2RRECXYUwIc/C2r3yzQ4Q=="], - - "@solidjs/start/vite": ["vite@7.1.10", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.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" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA=="], - "@tailwindcss/oxide/detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], @@ -4833,16 +2928,8 @@ "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "@tanstack/directive-functions-plugin/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], - - "@tanstack/server-functions-plugin/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], - - "@types/serve-static/@types/send": ["@types/send@0.17.6", "", { "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og=="], - "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - "@vscode/emmet-helper/jsonc-parser": ["jsonc-parser@2.3.1", "", {}, "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg=="], - "@vscode/test-cli/chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], "@vscode/test-cli/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], @@ -4853,76 +2940,26 @@ "ai-gateway-provider/@ai-sdk/google-vertex": ["@ai-sdk/google-vertex@3.0.90", "", { "dependencies": { "@ai-sdk/anthropic": "2.0.56", "@ai-sdk/google": "2.0.46", "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.19", "google-auth-library": "^10.5.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-C9MLe1KZGg1ZbupV2osygHtL5qngyCDA6ATatunyfTbIe8TXKG8HGni/3O6ifbnI5qxTidIn150Ox7eIFZVMYg=="], - "ansi-align/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "archiver-utils/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], "archiver-utils/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], - "astro/@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.6.1", "", {}, "sha512-l5Pqf6uZu31aG+3Lv8nl/3s4DbUzdlxTWDof4pEpto6GUJNhhCbelVi9dEyurOVyqaelwmS9oSyOWOENSfgo9A=="], - - "astro/diff": ["diff@5.2.2", "", {}, "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A=="], - - "astro/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], - - "astro/js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], - - "astro/unstorage": ["unstorage@1.17.4", "", { "dependencies": { "anymatch": "^3.1.3", "chokidar": "^5.0.0", "destr": "^2.0.5", "h3": "^1.15.5", "lru-cache": "^11.2.0", "node-fetch-native": "^1.6.7", "ofetch": "^1.5.1", "ufo": "^1.6.3" }, "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", "@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" }, "optionalPeers": ["@azure/app-configuration", "@azure/cosmos", "@azure/data-tables", "@azure/identity", "@azure/keyvault-secrets", "@azure/storage-blob", "@capacitor/preferences", "@deno/kv", "@netlify/blobs", "@planetscale/database", "@upstash/redis", "@vercel/blob", "@vercel/functions", "@vercel/kv", "aws4fetch", "db0", "idb-keyval", "ioredis", "uploadthing"] }, "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw=="], - - "astro/vite": ["vite@6.4.1", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g=="], - - "astro/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - - "astro/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - - "astro/zod-to-json-schema": ["zod-to-json-schema@3.25.1", "", { "peerDependencies": { "zod": "^3.25 || ^4" } }, "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA=="], - - "aws-sdk/events": ["events@1.1.1", "", {}, "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw=="], - "babel-plugin-jsx-dom-expressions/@babel/helper-module-imports": ["@babel/helper-module-imports@7.18.6", "", { "dependencies": { "@babel/types": "^7.18.6" } }, "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA=="], "babel-plugin-module-resolver/glob": ["glob@9.3.5", "", { "dependencies": { "fs.realpath": "^1.0.0", "minimatch": "^8.0.2", "minipass": "^4.2.4", "path-scurry": "^1.6.1" } }, "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q=="], - "bun-webgpu/@webgpu/types": ["@webgpu/types@0.1.69", "", {}, "sha512-RPmm6kgRbI8e98zSD3RVACvnuktIja5+yLgDAkTmxLr90BEwdTXRQWNLF3ETTTyH/8mKhznZuN5AveXYFEsMGQ=="], - "c12/chokidar": ["chokidar@5.0.0", "", { "dependencies": { "readdirp": "^5.0.0" } }, "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw=="], "c8/yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], "c8/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - "clean-css/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], - - "color/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - - "color-string/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - "compress-commons/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], - "condense-newlines/kind-of": ["kind-of@3.2.2", "", { "dependencies": { "is-buffer": "^1.1.5" } }, "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ=="], - - "dir-glob/path-type": ["path-type@4.0.0", "", {}, "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="], - - "dot-prop/type-fest": ["type-fest@3.13.1", "", {}, "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g=="], - - "drizzle-kit/esbuild": ["esbuild@0.19.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.19.12", "@esbuild/android-arm": "0.19.12", "@esbuild/android-arm64": "0.19.12", "@esbuild/android-x64": "0.19.12", "@esbuild/darwin-arm64": "0.19.12", "@esbuild/darwin-x64": "0.19.12", "@esbuild/freebsd-arm64": "0.19.12", "@esbuild/freebsd-x64": "0.19.12", "@esbuild/linux-arm": "0.19.12", "@esbuild/linux-arm64": "0.19.12", "@esbuild/linux-ia32": "0.19.12", "@esbuild/linux-loong64": "0.19.12", "@esbuild/linux-mips64el": "0.19.12", "@esbuild/linux-ppc64": "0.19.12", "@esbuild/linux-riscv64": "0.19.12", "@esbuild/linux-s390x": "0.19.12", "@esbuild/linux-x64": "0.19.12", "@esbuild/netbsd-x64": "0.19.12", "@esbuild/openbsd-x64": "0.19.12", "@esbuild/sunos-x64": "0.19.12", "@esbuild/win32-arm64": "0.19.12", "@esbuild/win32-ia32": "0.19.12", "@esbuild/win32-x64": "0.19.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg=="], - - "editorconfig/commander": ["commander@10.0.1", "", {}, "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug=="], - - "editorconfig/minimatch": ["minimatch@9.0.1", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w=="], - "engine.io-client/ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="], - "error-ex/is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], - - "es-get-iterator/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], - - "esbuild-plugin-copy/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "esbuild-plugin-copy/chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], - "eslint/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], "eslint/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], @@ -4931,34 +2968,16 @@ "eslint/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], - "express/cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], - - "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "fetch-blob/web-streams-polyfill": ["web-streams-polyfill@3.3.3", "", {}, "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw=="], - "form-data/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], "gaxios/node-fetch": ["node-fetch@3.3.2", "", { "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", "formdata-polyfill": "^4.0.10" } }, "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA=="], - "gel/which": ["which@4.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg=="], - "glob/minimatch": ["minimatch@10.1.2", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.1" } }, "sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw=="], - "globby/ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], - "happy-dom/ws": ["ws@8.19.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg=="], - "html-minifier-terser/commander": ["commander@10.0.1", "", {}, "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug=="], - - "import-fresh/resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], - "istanbul-lib-report/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "istanbul-reports/html-escaper": ["html-escaper@2.0.2", "", {}, "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg=="], - - "js-beautify/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], - "jszip/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], "katex/commander": ["commander@8.3.0", "", {}, "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="], @@ -4971,6 +2990,8 @@ "lazystream/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], + "light-my-request/cookie": ["cookie@1.1.1", "", {}, "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ=="], + "light-my-request/process-warning": ["process-warning@4.0.1", "", {}, "sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q=="], "lightningcss/detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], @@ -4979,18 +3000,8 @@ "log-symbols/is-unicode-supported": ["is-unicode-supported@0.1.0", "", {}, "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="], - "md-to-react-email/marked": ["marked@7.0.4", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ=="], - - "mdast-util-find-and-replace/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], - "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - "miniflare/acorn": ["acorn@8.14.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA=="], - - "miniflare/undici": ["undici@7.14.0", "", {}, "sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ=="], - - "miniflare/zod": ["zod@3.22.3", "", {}, "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug=="], - "mocha/diff": ["diff@7.0.0", "", {}, "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw=="], "mocha/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], @@ -5005,10 +3016,6 @@ "mocha/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - "nitro/h3": ["h3@2.0.1-rc.5", "", { "dependencies": { "rou3": "^0.7.9", "srvx": "^0.9.1" }, "peerDependencies": { "crossws": "^0.4.1" }, "optionalPeers": ["crossws"] }, "sha512-qkohAzCab0nLzXNm78tBjZDvtKMTmtygS8BJLT3VPczAQofdqlFXDPkXdLMJN4r05+xqneG8snZJ0HgkERCZTg=="], - - "nitro/undici": ["undici@7.20.0", "", {}, "sha512-MJZrkjyd7DeC+uPZh+5/YaMDxFiiEEaDgbUSVMXayofAkDWF1088CDo+2RPg7B1BuS1qf1vgNE7xqwPxE0DuSQ=="], - "normalize-package-data/semver": ["semver@5.7.2", "", { "bin": { "semver": "bin/semver" } }, "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="], "npm-run-all/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], @@ -5023,90 +3030,46 @@ "nypm/tinyexec": ["tinyexec@1.0.2", "", {}, "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg=="], - "opencontrol/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.6.1", "", { "dependencies": { "content-type": "^1.0.5", "cors": "^2.8.5", "eventsource": "^3.0.2", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^4.1.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-oxzMzYCkZHMntzuyerehK3fV6A2Kwh5BD6CGEJSVDU2QNEhfLOptf2X7esQgaHZXHZY0oHmMsOtIDLP71UJXgA=="], - - "opencontrol/@tsconfig/bun": ["@tsconfig/bun@1.0.7", "", {}, "sha512-udGrGJBNQdXGVulehc1aWT73wkR9wdaGBtB6yL70RJsqwW/yJhIg6ZbRlPOfIUiFNrnBuYLBi9CSmMKfDC7dvA=="], - - "opencontrol/hono": ["hono@4.7.4", "", {}, "sha512-Pst8FuGqz3L7tFF+u9Pu70eI0xa5S3LPUmrNd5Jm8nTHze9FxLTK9Kaj5g/k4UcwuJSXTP65SyHOPLrffpcAJg=="], - - "opencontrol/zod": ["zod@3.24.2", "", {}, "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ=="], - - "opencontrol/zod-to-json-schema": ["zod-to-json-schema@3.24.3", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-HIAfWdYIt1sssHfYZFCXp4rU1w2r8hVVXYIlmoa0r0gABLs5di3RCqPU5DDROogVz1pAdYBaz7HK5n9pSUNs3A=="], - - "openid-client/jose": ["jose@4.15.9", "", {}, "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA=="], - "ora/cli-spinners": ["cli-spinners@2.9.2", "", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="], "ora/log-symbols": ["log-symbols@6.0.0", "", { "dependencies": { "chalk": "^5.3.0", "is-unicode-supported": "^1.3.0" } }, "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw=="], - "p-locate/p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], - - "parse-bmfont-xml/xml2js": ["xml2js@0.5.0", "", { "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" } }, "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA=="], - - "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], - "parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], "path-scurry/lru-cache": ["lru-cache@11.2.5", "", {}, "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw=="], "pixelmatch/pngjs": ["pngjs@6.0.0", "", {}, "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg=="], - "pkg-dir/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], - "pkg-up/find-up": ["find-up@3.0.0", "", { "dependencies": { "locate-path": "^3.0.0" } }, "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="], "playwright/fsevents": ["fsevents@2.3.2", "", { "os": "darwin" }, "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA=="], - "postcss-css-variables/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], - - "postcss-load-config/lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], - - "prompts/kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="], - "proxy-addr/ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], "qrcode/yargs": ["yargs@15.4.1", "", { "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", "find-up": "^4.1.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" } }, "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A=="], - "read-cache/pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="], - - "readable-stream/buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="], - "readdir-glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], "restore-cursor/onetime": ["onetime@7.0.0", "", { "dependencies": { "mimic-function": "^5.0.0" } }, "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ=="], "rimraf/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], - "router/path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="], - "safe-array-concat/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], "safe-push-apply/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], - "sharp/detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], - "shiki/@shikijs/core": ["@shikijs/core@3.20.0", "", { "dependencies": { "@shikijs/types": "3.20.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-f2ED7HYV4JEk827mtMDwe/yQ25pRiXZmtHjWF8uzZKuKiEsJR7Ce1nuQ+HhV9FzDcbIo4ObBCD9GPTzNuy9S1g=="], "shiki/@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.20.0", "", { "dependencies": { "@shikijs/types": "3.20.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.4" } }, "sha512-OFx8fHAZuk7I42Z9YAdZ95To6jDePQ9Rnfbw9uSRTSbBhYBp1kEOKv/3jOimcj3VRUKusDYM6DswLauwfhboLg=="], "shiki/@shikijs/types": ["@shikijs/types@3.20.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw=="], - "sitemap/sax": ["sax@1.4.4", "", {}, "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw=="], - - "source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], - - "sst/aws4fetch": ["aws4fetch@1.0.18", "", {}, "sha512-3Cf+YaUl07p24MoQ46rFwulAmiyCwH2+1zw1ZyPAX5OtJ34Hh185DwB8y/qRLb6cYYYtSFJ9pthyLc0MD4e8sQ=="], - - "sst/jose": ["jose@5.2.3", "", {}, "sha512-KUXdbctm1uHVL8BYhnyHkgp3zDX5KW8ZhAKVFEfUbU2P8Alpzjb+48hHvjOdQIyPshoblhzsuqOwEEAbtHVirA=="], - "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], "strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], - "tar/yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], "terser/commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], @@ -5115,34 +3078,12 @@ "test-exclude/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - "token-types/ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], - "tree-sitter-bash/node-addon-api": ["node-addon-api@8.5.0", "", {}, "sha512-/bRZty2mXUIFY/xU5HLvveNHlswNJej+RnxBjOMkidWfwZzgTbPG1E3K5TOxRLOR+5hX7bSofy8yf1hZevMS8A=="], - "tw-to-css/postcss": ["postcss@8.4.31", "", { "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="], - - "tw-to-css/tailwindcss": ["tailwindcss@3.3.2", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.5.3", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.2.12", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.18.2", "lilconfig": "^2.1.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.0.0", "postcss": "^8.4.23", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.1", "postcss-nested": "^6.0.1", "postcss-selector-parser": "^6.0.11", "postcss-value-parser": "^4.2.0", "resolve": "^1.22.2", "sucrase": "^3.32.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w=="], - - "unicode-trie/pako": ["pako@0.2.9", "", {}, "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="], - - "unifont/ofetch": ["ofetch@1.5.1", "", { "dependencies": { "destr": "^2.0.5", "node-fetch-native": "^1.6.7", "ufo": "^1.6.1" } }, "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA=="], - - "uri-js/punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], - "vite/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], - "vitest/tinyexec": ["tinyexec@1.0.2", "", {}, "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg=="], - - "vitest/vite": ["vite@7.1.10", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.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" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA=="], - - "vitest/why-is-node-running": ["why-is-node-running@2.3.0", "", { "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" }, "bin": { "why-is-node-running": "cli.js" } }, "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w=="], - - "vscode-languageserver-protocol/vscode-jsonrpc": ["vscode-jsonrpc@8.2.0", "", {}, "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA=="], - "which-builtin-type/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], - "wrangler/esbuild": ["esbuild@0.25.4", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.4", "@esbuild/android-arm": "0.25.4", "@esbuild/android-arm64": "0.25.4", "@esbuild/android-x64": "0.25.4", "@esbuild/darwin-arm64": "0.25.4", "@esbuild/darwin-x64": "0.25.4", "@esbuild/freebsd-arm64": "0.25.4", "@esbuild/freebsd-x64": "0.25.4", "@esbuild/linux-arm": "0.25.4", "@esbuild/linux-arm64": "0.25.4", "@esbuild/linux-ia32": "0.25.4", "@esbuild/linux-loong64": "0.25.4", "@esbuild/linux-mips64el": "0.25.4", "@esbuild/linux-ppc64": "0.25.4", "@esbuild/linux-riscv64": "0.25.4", "@esbuild/linux-s390x": "0.25.4", "@esbuild/linux-x64": "0.25.4", "@esbuild/netbsd-arm64": "0.25.4", "@esbuild/netbsd-x64": "0.25.4", "@esbuild/openbsd-arm64": "0.25.4", "@esbuild/openbsd-x64": "0.25.4", "@esbuild/sunos-x64": "0.25.4", "@esbuild/win32-arm64": "0.25.4", "@esbuild/win32-ia32": "0.25.4", "@esbuild/win32-x64": "0.25.4" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q=="], - "wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], "wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], @@ -5151,118 +3092,14 @@ "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "yaml-language-server/lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], - - "yaml-language-server/prettier": ["prettier@3.8.1", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg=="], - - "yaml-language-server/request-light": ["request-light@0.5.8", "", {}, "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg=="], - - "yaml-language-server/yaml": ["yaml@2.7.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ=="], - - "yargs-unparser/camelcase": ["camelcase@6.3.0", "", {}, "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="], - "yargs-unparser/decamelize": ["decamelize@4.0.0", "", {}, "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ=="], - "yargs-unparser/is-plain-obj": ["is-plain-obj@2.1.0", "", {}, "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="], - "zod-to-json-schema/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "zod-to-ts/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "@actions/artifact/@actions/core/@actions/exec": ["@actions/exec@2.0.0", "", { "dependencies": { "@actions/io": "^2.0.0" } }, "sha512-k8ngrX2voJ/RIN6r9xB82NVqKpnMRtxDoiO+g3olkIUpQNqjArXrCQceduQZCQj3P3xm32pChRLqRrtXTlqhIw=="], - "@astrojs/check/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], - - "@astrojs/check/yargs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - - "@astrojs/check/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - - "@astrojs/cloudflare/vite/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], - - "@astrojs/markdown-remark/js-yaml/argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - - "@astrojs/mdx/@astrojs/markdown-remark/@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.7.5", "", {}, "sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA=="], - - "@astrojs/mdx/@astrojs/markdown-remark/@astrojs/prism": ["@astrojs/prism@3.3.0", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ=="], - - "@astrojs/mdx/@astrojs/markdown-remark/js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], - - "@astrojs/solid-js/vite/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], - - "@astrojs/starlight/js-yaml/argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - - "@aws-crypto/sha1-browser/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="], - - "@aws-crypto/sha256-browser/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="], - "@aws-crypto/util/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="], - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node/@aws-sdk/credential-provider-env": ["@aws-sdk/credential-provider-env@3.775.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-6ESVxwCbGm7WZ17kY1fjmxQud43vzJFoLd4bmlR+idQSWdqlzGDYdcfzpjDKTcivdtNrVYmFvcH1JBUwCRAZhw=="], - - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node/@aws-sdk/credential-provider-http": ["@aws-sdk/credential-provider-http@3.775.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/types": "3.775.0", "@smithy/fetch-http-handler": "^5.0.2", "@smithy/node-http-handler": "^4.0.4", "@smithy/property-provider": "^4.0.2", "@smithy/protocol-http": "^5.1.0", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/util-stream": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-PjDQeDH/J1S0yWV32wCj2k5liRo0ssXMseCBEkCsD3SqsU8o5cU82b0hMX4sAib/RkglCSZqGO0xMiN0/7ndww=="], - - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node/@aws-sdk/credential-provider-ini": ["@aws-sdk/credential-provider-ini@3.782.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/credential-provider-env": "3.775.0", "@aws-sdk/credential-provider-http": "3.775.0", "@aws-sdk/credential-provider-process": "3.775.0", "@aws-sdk/credential-provider-sso": "3.782.0", "@aws-sdk/credential-provider-web-identity": "3.782.0", "@aws-sdk/nested-clients": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/credential-provider-imds": "^4.0.2", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-wd4KdRy2YjLsE4Y7pz00470Iip06GlRHkG4dyLW7/hFMzEO2o7ixswCWp6J2VGZVAX64acknlv2Q0z02ebjmhw=="], - - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node/@aws-sdk/credential-provider-process": ["@aws-sdk/credential-provider-process@3.775.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-A6k68H9rQp+2+7P7SGO90Csw6nrUEm0Qfjpn9Etc4EboZhhCLs9b66umUsTsSBHus4FDIe5JQxfCUyt1wgNogg=="], - - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node/@aws-sdk/credential-provider-sso": ["@aws-sdk/credential-provider-sso@3.782.0", "", { "dependencies": { "@aws-sdk/client-sso": "3.782.0", "@aws-sdk/core": "3.775.0", "@aws-sdk/token-providers": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-1y1ucxTtTIGDSNSNxriQY8msinilhe9gGvQpUDYW9gboyC7WQJPDw66imy258V6osdtdi+xoHzVCbCz3WhosMQ=="], - - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node/@aws-sdk/credential-provider-web-identity": ["@aws-sdk/credential-provider-web-identity@3.782.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/nested-clients": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-xCna0opVPaueEbJoclj5C6OpDNi0Gynj+4d7tnuXGgQhTHPyAz8ZyClkVqpi5qvHTgxROdUEDxWqEO5jqRHZHQ=="], - - "@aws-sdk/xml-builder/fast-xml-parser/strnum": ["strnum@2.1.2", "", {}, "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ=="], - - "@azure/core-xml/fast-xml-parser/strnum": ["strnum@2.1.2", "", {}, "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ=="], - - "@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], - - "@dot/log/chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "@dot/log/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.18.20", "", { "os": "android", "cpu": "arm" }, "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.18.20", "", { "os": "android", "cpu": "arm64" }, "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.18.20", "", { "os": "android", "cpu": "x64" }, "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.18.20", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.18.20", "", { "os": "darwin", "cpu": "x64" }, "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.18.20", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.18.20", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.18.20", "", { "os": "linux", "cpu": "arm" }, "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.18.20", "", { "os": "linux", "cpu": "arm64" }, "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.18.20", "", { "os": "linux", "cpu": "ia32" }, "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.18.20", "", { "os": "linux", "cpu": "ppc64" }, "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.18.20", "", { "os": "linux", "cpu": "s390x" }, "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.18.20", "", { "os": "linux", "cpu": "x64" }, "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.18.20", "", { "os": "none", "cpu": "x64" }, "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.18.20", "", { "os": "openbsd", "cpu": "x64" }, "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.18.20", "", { "os": "sunos", "cpu": "x64" }, "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.18.20", "", { "os": "win32", "cpu": "arm64" }, "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.18.20", "", { "os": "win32", "cpu": "ia32" }, "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g=="], - - "@esbuild-kit/core-utils/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.18.20", "", { "os": "win32", "cpu": "x64" }, "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ=="], - "@eslint/config-array/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], "@eslint/eslintrc/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], @@ -5277,66 +3114,6 @@ "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], - "@jsx-email/cli/chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "@jsx-email/cli/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "@jsx-email/cli/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.19.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA=="], - - "@jsx-email/cli/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.19.12", "", { "os": "android", "cpu": "arm" }, "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w=="], - - "@jsx-email/cli/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.19.12", "", { "os": "android", "cpu": "arm64" }, "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA=="], - - "@jsx-email/cli/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.19.12", "", { "os": "android", "cpu": "x64" }, "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew=="], - - "@jsx-email/cli/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.19.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g=="], - - "@jsx-email/cli/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.19.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A=="], - - "@jsx-email/cli/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.19.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA=="], - - "@jsx-email/cli/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.19.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg=="], - - "@jsx-email/cli/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.19.12", "", { "os": "linux", "cpu": "arm" }, "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w=="], - - "@jsx-email/cli/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.19.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA=="], - - "@jsx-email/cli/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.19.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA=="], - - "@jsx-email/cli/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA=="], - - "@jsx-email/cli/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w=="], - - "@jsx-email/cli/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.19.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg=="], - - "@jsx-email/cli/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg=="], - - "@jsx-email/cli/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.19.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg=="], - - "@jsx-email/cli/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.19.12", "", { "os": "linux", "cpu": "x64" }, "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg=="], - - "@jsx-email/cli/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.19.12", "", { "os": "none", "cpu": "x64" }, "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA=="], - - "@jsx-email/cli/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.19.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw=="], - - "@jsx-email/cli/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.19.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA=="], - - "@jsx-email/cli/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.19.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A=="], - - "@jsx-email/cli/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.19.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ=="], - - "@jsx-email/cli/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.19.12", "", { "os": "win32", "cpu": "x64" }, "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA=="], - - "@jsx-email/cli/tailwindcss/chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], - - "@jsx-email/cli/tailwindcss/jiti": ["jiti@1.21.7", "", { "bin": { "jiti": "bin/jiti.js" } }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="], - - "@jsx-email/cli/tailwindcss/object-hash": ["object-hash@3.0.0", "", {}, "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="], - - "@jsx-email/cli/vite/esbuild": ["esbuild@0.18.20", "", { "optionalDependencies": { "@esbuild/android-arm": "0.18.20", "@esbuild/android-arm64": "0.18.20", "@esbuild/android-x64": "0.18.20", "@esbuild/darwin-arm64": "0.18.20", "@esbuild/darwin-x64": "0.18.20", "@esbuild/freebsd-arm64": "0.18.20", "@esbuild/freebsd-x64": "0.18.20", "@esbuild/linux-arm": "0.18.20", "@esbuild/linux-arm64": "0.18.20", "@esbuild/linux-ia32": "0.18.20", "@esbuild/linux-loong64": "0.18.20", "@esbuild/linux-mips64el": "0.18.20", "@esbuild/linux-ppc64": "0.18.20", "@esbuild/linux-riscv64": "0.18.20", "@esbuild/linux-s390x": "0.18.20", "@esbuild/linux-x64": "0.18.20", "@esbuild/netbsd-x64": "0.18.20", "@esbuild/openbsd-x64": "0.18.20", "@esbuild/sunos-x64": "0.18.20", "@esbuild/win32-arm64": "0.18.20", "@esbuild/win32-ia32": "0.18.20", "@esbuild/win32-x64": "0.18.20" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA=="], - - "@jsx-email/cli/vite/rollup": ["rollup@3.29.5", "", { "optionalDependencies": { "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w=="], - "@kilocode/kilo-gateway/@opentui/core/@opentui/core-darwin-arm64": ["@opentui/core-darwin-arm64@0.1.75", "", { "os": "darwin", "cpu": "arm64" }, "sha512-gGaGZjkFpqcXJk6321JzhRl66pM2VxBlI470L8W4DQUW4S6iDT1R9L7awSzGB4Cn9toUl7DTV8BemaXZYXV4SA=="], "@kilocode/kilo-gateway/@opentui/core/@opentui/core-darwin-x64": ["@opentui/core-darwin-x64@0.1.75", "", { "os": "darwin", "cpu": "x64" }, "sha512-tPlvqQI0whZ76amHydpJs5kN+QeWAIcFbI8RAtlAo9baj2EbxTDC+JGwgb9Fnt0/YQx831humbtaNDhV2Jt1bw=="], @@ -5353,32 +3130,6 @@ "@kilocode/kilo-gateway/@opentui/solid/solid-js": ["solid-js@1.9.11", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.5.0", "seroval-plugins": "~1.5.0" } }, "sha512-WEJtcc5mkh/BnHA6Yrg4whlF8g6QwpmXXRg4P2ztPmcKeHHlH4+djYecBLhSpecZY2RRECXYUwIc/C2r3yzQ4Q=="], - "@octokit/auth-app/@octokit/request/@octokit/endpoint": ["@octokit/endpoint@11.0.2", "", { "dependencies": { "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ=="], - - "@octokit/auth-app/@octokit/request/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="], - - "@octokit/auth-app/@octokit/request-error/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="], - - "@octokit/auth-app/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@25.1.0", "", {}, "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA=="], - - "@octokit/auth-oauth-app/@octokit/request/@octokit/endpoint": ["@octokit/endpoint@11.0.2", "", { "dependencies": { "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ=="], - - "@octokit/auth-oauth-app/@octokit/request/@octokit/request-error": ["@octokit/request-error@7.1.0", "", { "dependencies": { "@octokit/types": "^16.0.0" } }, "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw=="], - - "@octokit/auth-oauth-app/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="], - - "@octokit/auth-oauth-device/@octokit/request/@octokit/endpoint": ["@octokit/endpoint@11.0.2", "", { "dependencies": { "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ=="], - - "@octokit/auth-oauth-device/@octokit/request/@octokit/request-error": ["@octokit/request-error@7.1.0", "", { "dependencies": { "@octokit/types": "^16.0.0" } }, "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw=="], - - "@octokit/auth-oauth-device/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="], - - "@octokit/auth-oauth-user/@octokit/request/@octokit/endpoint": ["@octokit/endpoint@11.0.2", "", { "dependencies": { "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ=="], - - "@octokit/auth-oauth-user/@octokit/request/@octokit/request-error": ["@octokit/request-error@7.1.0", "", { "dependencies": { "@octokit/types": "^16.0.0" } }, "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw=="], - - "@octokit/auth-oauth-user/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="], - "@octokit/core/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@24.2.0", "", {}, "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg=="], "@octokit/endpoint/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@24.2.0", "", {}, "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg=="], @@ -5389,10 +3140,6 @@ "@octokit/graphql/@octokit/request/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="], - "@octokit/oauth-methods/@octokit/request/@octokit/endpoint": ["@octokit/endpoint@11.0.2", "", { "dependencies": { "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ=="], - - "@octokit/oauth-methods/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="], - "@octokit/plugin-paginate-rest/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@20.0.0", "", {}, "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA=="], "@octokit/plugin-rest-endpoint-methods/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@20.0.0", "", {}, "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA=="], @@ -5415,24 +3162,8 @@ "@octokit/rest/@octokit/core/before-after-hook": ["before-after-hook@4.0.0", "", {}, "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ=="], - "@opencode-ai/console-function/@ai-sdk/anthropic/@ai-sdk/provider": ["@ai-sdk/provider@2.0.0", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA=="], - - "@opencode-ai/console-function/@ai-sdk/anthropic/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@3.0.0", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@standard-schema/spec": "^1.0.0", "eventsource-parser": "^3.0.3", "zod-to-json-schema": "^3.24.1" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-BoQZtGcBxkeSH1zK+SRYNDtJPIPpacTeiMZqnG4Rv6xXjEwM0FH4MGs9c+PlhyEWmQCzjRM2HAotEydFhD4dYw=="], - - "@opencode-ai/console-function/@ai-sdk/openai/@ai-sdk/provider": ["@ai-sdk/provider@2.0.0", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA=="], - - "@opencode-ai/console-function/@ai-sdk/openai/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@3.0.0", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@standard-schema/spec": "^1.0.0", "eventsource-parser": "^3.0.3", "zod-to-json-schema": "^3.24.1" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-BoQZtGcBxkeSH1zK+SRYNDtJPIPpacTeiMZqnG4Rv6xXjEwM0FH4MGs9c+PlhyEWmQCzjRM2HAotEydFhD4dYw=="], - - "@opencode-ai/console-function/@ai-sdk/openai-compatible/@ai-sdk/provider": ["@ai-sdk/provider@2.0.0", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA=="], - - "@opencode-ai/console-function/@ai-sdk/openai-compatible/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@3.0.0", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@standard-schema/spec": "^1.0.0", "eventsource-parser": "^3.0.3", "zod-to-json-schema": "^3.24.1" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-BoQZtGcBxkeSH1zK+SRYNDtJPIPpacTeiMZqnG4Rv6xXjEwM0FH4MGs9c+PlhyEWmQCzjRM2HAotEydFhD4dYw=="], - "@opencode-ai/desktop/@actions/artifact/@actions/http-client": ["@actions/http-client@2.2.3", "", { "dependencies": { "tunnel": "^0.0.6", "undici": "^5.25.4" } }, "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA=="], - "@opencode-ai/web/@shikijs/transformers/@shikijs/core": ["@shikijs/core@3.20.0", "", { "dependencies": { "@shikijs/types": "3.20.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-f2ED7HYV4JEk827mtMDwe/yQ25pRiXZmtHjWF8uzZKuKiEsJR7Ce1nuQ+HhV9FzDcbIo4ObBCD9GPTzNuy9S1g=="], - - "@opencode-ai/web/@shikijs/transformers/@shikijs/types": ["@shikijs/types@3.20.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw=="], - "@opentui/solid/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@opentui/solid/solid-js/seroval": ["seroval@1.5.0", "", {}, "sha512-OE4cvmJ1uSPrKorFIH9/w/Qwuvi/IMcGbv5RKgcJ/zjA/IohDLU6SVaxFN9FwajbP7nsX0dQqMDes1whk3y+yw=="], @@ -5453,104 +3184,6 @@ "@pierre/diffs/shiki/@shikijs/types": ["@shikijs/types@3.19.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-Z2hdeEQlzuntf/BZpFG8a+Fsw9UVXdML7w0o3TgSXV3yNESGon+bs9ITkQb3Ki7zxoXOOu5oJWqZ2uto06V9iQ=="], - "@slack/bolt/express/accepts": ["accepts@1.3.8", "", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="], - - "@slack/bolt/express/body-parser": ["body-parser@1.20.4", "", { "dependencies": { "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "~1.2.0", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "on-finished": "~2.4.1", "qs": "~6.14.0", "raw-body": "~2.5.3", "type-is": "~1.6.18", "unpipe": "~1.0.0" } }, "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA=="], - - "@slack/bolt/express/content-disposition": ["content-disposition@0.5.4", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ=="], - - "@slack/bolt/express/cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], - - "@slack/bolt/express/cookie-signature": ["cookie-signature@1.0.7", "", {}, "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA=="], - - "@slack/bolt/express/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "@slack/bolt/express/finalhandler": ["finalhandler@1.3.2", "", { "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "~2.4.1", "parseurl": "~1.3.3", "statuses": "~2.0.2", "unpipe": "~1.0.0" } }, "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg=="], - - "@slack/bolt/express/fresh": ["fresh@0.5.2", "", {}, "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="], - - "@slack/bolt/express/merge-descriptors": ["merge-descriptors@1.0.3", "", {}, "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ=="], - - "@slack/bolt/express/path-to-regexp": ["path-to-regexp@0.1.12", "", {}, "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ=="], - - "@slack/bolt/express/send": ["send@0.19.2", "", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "~0.5.2", "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "~2.4.1", "range-parser": "~1.2.1", "statuses": "~2.0.2" } }, "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg=="], - - "@slack/bolt/express/serve-static": ["serve-static@1.16.3", "", { "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "~0.19.1" } }, "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA=="], - - "@slack/bolt/express/type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], - - "@slack/bolt/raw-body/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], - - "@slack/web-api/form-data/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], - - "@slack/web-api/p-queue/eventemitter3": ["eventemitter3@4.0.7", "", {}, "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="], - - "@slack/web-api/p-queue/p-timeout": ["p-timeout@3.2.0", "", { "dependencies": { "p-finally": "^1.0.0" } }, "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg=="], - - "@solidjs/start/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], - - "@solidjs/start/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], - - "@solidjs/start/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], - - "@solidjs/start/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], - - "@solidjs/start/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], - - "@solidjs/start/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], - - "@solidjs/start/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], - - "@solidjs/start/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], - - "@solidjs/start/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], - - "@solidjs/start/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], - - "@solidjs/start/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], - - "@solidjs/start/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], - - "@solidjs/start/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], - - "@solidjs/start/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], - - "@solidjs/start/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], - - "@solidjs/start/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], - - "@solidjs/start/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], - - "@solidjs/start/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], - - "@solidjs/start/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], - - "@solidjs/start/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], - - "@solidjs/start/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], - - "@solidjs/start/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], - - "@solidjs/start/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], - - "@solidjs/start/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], - - "@solidjs/start/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], - - "@solidjs/start/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], - - "@solidjs/start/shiki/@shikijs/core": ["@shikijs/core@1.29.2", "", { "dependencies": { "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.4" } }, "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ=="], - - "@solidjs/start/shiki/@shikijs/engine-javascript": ["@shikijs/engine-javascript@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "oniguruma-to-es": "^2.2.0" } }, "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A=="], - - "@solidjs/start/shiki/@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1" } }, "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA=="], - - "@solidjs/start/shiki/@shikijs/langs": ["@shikijs/langs@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2" } }, "sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ=="], - - "@solidjs/start/shiki/@shikijs/themes": ["@shikijs/themes@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2" } }, "sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g=="], - - "@solidjs/start/shiki/@shikijs/types": ["@shikijs/types@1.29.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw=="], - "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime/@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], "@vscode/test-cli/chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], @@ -5575,78 +3208,12 @@ "ai-gateway-provider/@ai-sdk/google-vertex/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@3.0.19", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@standard-schema/spec": "^1.0.0", "eventsource-parser": "^3.0.6" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA=="], - "ansi-align/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - - "ansi-align/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "archiver-utils/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], "archiver-utils/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], "archiver-utils/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], - "astro/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], - - "astro/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], - - "astro/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], - - "astro/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], - - "astro/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], - - "astro/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], - - "astro/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], - - "astro/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], - - "astro/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], - - "astro/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], - - "astro/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], - - "astro/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], - - "astro/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], - - "astro/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], - - "astro/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], - - "astro/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], - - "astro/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], - - "astro/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], - - "astro/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], - - "astro/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], - - "astro/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], - - "astro/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], - - "astro/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], - - "astro/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], - - "astro/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], - - "astro/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], - - "astro/js-yaml/argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - - "astro/unstorage/chokidar": ["chokidar@5.0.0", "", { "dependencies": { "readdirp": "^5.0.0" } }, "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw=="], - - "astro/unstorage/h3": ["h3@1.15.5", "", { "dependencies": { "cookie-es": "^1.2.2", "crossws": "^0.3.5", "defu": "^6.1.4", "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" } }, "sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg=="], - - "astro/unstorage/lru-cache": ["lru-cache@11.2.5", "", {}, "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw=="], - - "astro/unstorage/ofetch": ["ofetch@1.5.1", "", { "dependencies": { "destr": "^2.0.5", "node-fetch-native": "^1.6.7", "ufo": "^1.6.1" } }, "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA=="], - "babel-plugin-module-resolver/glob/minimatch": ["minimatch@8.0.4", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA=="], "babel-plugin-module-resolver/glob/minipass": ["minipass@4.2.8", "", {}, "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ=="], @@ -5659,62 +3226,6 @@ "c8/yargs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "color/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "drizzle-kit/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.19.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA=="], - - "drizzle-kit/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.19.12", "", { "os": "android", "cpu": "arm" }, "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w=="], - - "drizzle-kit/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.19.12", "", { "os": "android", "cpu": "arm64" }, "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA=="], - - "drizzle-kit/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.19.12", "", { "os": "android", "cpu": "x64" }, "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew=="], - - "drizzle-kit/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.19.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g=="], - - "drizzle-kit/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.19.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A=="], - - "drizzle-kit/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.19.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA=="], - - "drizzle-kit/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.19.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg=="], - - "drizzle-kit/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.19.12", "", { "os": "linux", "cpu": "arm" }, "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w=="], - - "drizzle-kit/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.19.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA=="], - - "drizzle-kit/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.19.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA=="], - - "drizzle-kit/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA=="], - - "drizzle-kit/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w=="], - - "drizzle-kit/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.19.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg=="], - - "drizzle-kit/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg=="], - - "drizzle-kit/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.19.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg=="], - - "drizzle-kit/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.19.12", "", { "os": "linux", "cpu": "x64" }, "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg=="], - - "drizzle-kit/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.19.12", "", { "os": "none", "cpu": "x64" }, "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA=="], - - "drizzle-kit/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.19.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw=="], - - "drizzle-kit/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.19.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA=="], - - "drizzle-kit/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.19.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A=="], - - "drizzle-kit/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.19.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ=="], - - "drizzle-kit/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.19.12", "", { "os": "win32", "cpu": "x64" }, "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA=="], - - "esbuild-plugin-copy/chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "esbuild-plugin-copy/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "esbuild-plugin-copy/chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "esbuild-plugin-copy/chokidar/readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], - "eslint/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], "eslint/chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], @@ -5725,14 +3236,6 @@ "form-data/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - "gel/which/isexe": ["isexe@3.1.1", "", {}, "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="], - - "js-beautify/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], - - "js-beautify/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "js-beautify/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], - "jszip/readable-stream/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], "jszip/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], @@ -5773,20 +3276,8 @@ "npm-run-all/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], - "opencontrol/@modelcontextprotocol/sdk/eventsource": ["eventsource@3.0.7", "", { "dependencies": { "eventsource-parser": "^3.0.1" } }, "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA=="], - - "opencontrol/@modelcontextprotocol/sdk/pkce-challenge": ["pkce-challenge@4.1.0", "", {}, "sha512-ZBmhE1C9LcPoH9XZSdwiPtbPHZROwAnMy+kIFQVrnMCxY4Cudlz3gBOpzilgc0jOgRaiT3sIWfpMomW2ar2orQ=="], - - "opencontrol/@modelcontextprotocol/sdk/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - - "opencontrol/@modelcontextprotocol/sdk/zod-to-json-schema": ["zod-to-json-schema@3.25.1", "", { "peerDependencies": { "zod": "^3.25 || ^4" } }, "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA=="], - "ora/log-symbols/is-unicode-supported": ["is-unicode-supported@1.3.0", "", {}, "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ=="], - "p-locate/p-limit/yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], - - "pkg-dir/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], - "pkg-up/find-up/locate-path": ["locate-path@3.0.0", "", { "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="], "qrcode/yargs/cliui": ["cliui@6.0.0", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^6.2.0" } }, "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ=="], @@ -5799,8 +3290,6 @@ "qrcode/yargs/yargs-parser": ["yargs-parser@18.1.3", "", { "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ=="], - "readable-stream/buffer/ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], - "rimraf/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], "rimraf/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], @@ -5813,14 +3302,6 @@ "test-exclude/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], - "tw-to-css/tailwindcss/chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], - - "tw-to-css/tailwindcss/jiti": ["jiti@1.21.7", "", { "bin": { "jiti": "bin/jiti.js" } }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="], - - "tw-to-css/tailwindcss/object-hash": ["object-hash@3.0.0", "", {}, "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="], - - "tw-to-css/tailwindcss/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - "vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], "vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], @@ -5873,58 +3354,6 @@ "vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], - "vitest/vite/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], - - "wrangler/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.4", "", { "os": "aix", "cpu": "ppc64" }, "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q=="], - - "wrangler/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.4", "", { "os": "android", "cpu": "arm" }, "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ=="], - - "wrangler/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.4", "", { "os": "android", "cpu": "arm64" }, "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A=="], - - "wrangler/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.4", "", { "os": "android", "cpu": "x64" }, "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ=="], - - "wrangler/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g=="], - - "wrangler/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A=="], - - "wrangler/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.4", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ=="], - - "wrangler/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.4", "", { "os": "freebsd", "cpu": "x64" }, "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ=="], - - "wrangler/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.4", "", { "os": "linux", "cpu": "arm" }, "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ=="], - - "wrangler/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ=="], - - "wrangler/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.4", "", { "os": "linux", "cpu": "ia32" }, "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ=="], - - "wrangler/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.4", "", { "os": "linux", "cpu": "none" }, "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA=="], - - "wrangler/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.4", "", { "os": "linux", "cpu": "none" }, "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg=="], - - "wrangler/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag=="], - - "wrangler/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.4", "", { "os": "linux", "cpu": "none" }, "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA=="], - - "wrangler/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g=="], - - "wrangler/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.4", "", { "os": "linux", "cpu": "x64" }, "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA=="], - - "wrangler/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.4", "", { "os": "none", "cpu": "arm64" }, "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ=="], - - "wrangler/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.4", "", { "os": "none", "cpu": "x64" }, "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw=="], - - "wrangler/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.4", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A=="], - - "wrangler/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.4", "", { "os": "openbsd", "cpu": "x64" }, "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw=="], - - "wrangler/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.4", "", { "os": "sunos", "cpu": "x64" }, "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q=="], - - "wrangler/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ=="], - - "wrangler/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.4", "", { "os": "win32", "cpu": "ia32" }, "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg=="], - - "wrangler/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.4", "", { "os": "win32", "cpu": "x64" }, "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ=="], - "wrap-ansi-cjs/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], "wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], @@ -5933,226 +3362,20 @@ "@actions/artifact/@actions/core/@actions/exec/@actions/io": ["@actions/io@2.0.0", "", {}, "sha512-Jv33IN09XLO+0HS79aaODsvIRyduiF7NY/F6LYeK5oeUmrsz7aFdRphQjFoESF4jS7lMauDOttKALcpapVDIAg=="], - "@astrojs/check/yargs/cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "@astrojs/check/yargs/cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - - "@astrojs/check/yargs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - - "@astrojs/check/yargs/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], - - "@astrojs/cloudflare/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], - - "@astrojs/mdx/@astrojs/markdown-remark/js-yaml/argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], - - "@astrojs/solid-js/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], - - "@aws-crypto/sha1-browser/@smithy/util-utf8/@smithy/util-buffer-from/@smithy/is-array-buffer": ["@smithy/is-array-buffer@2.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA=="], - - "@aws-crypto/sha256-browser/@smithy/util-utf8/@smithy/util-buffer-from/@smithy/is-array-buffer": ["@smithy/is-array-buffer@2.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA=="], - "@aws-crypto/util/@smithy/util-utf8/@smithy/util-buffer-from/@smithy/is-array-buffer": ["@smithy/is-array-buffer@2.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA=="], - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node/@aws-sdk/credential-provider-ini/@aws-sdk/nested-clients": ["@aws-sdk/nested-clients@3.782.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.775.0", "@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-user-agent": "3.782.0", "@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/types": "3.775.0", "@aws-sdk/util-endpoints": "3.782.0", "@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-node": "3.782.0", "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/fetch-http-handler": "^5.0.2", "@smithy/hash-node": "^4.0.2", "@smithy/invalid-dependency": "^4.0.2", "@smithy/middleware-content-length": "^4.0.2", "@smithy/middleware-endpoint": "^4.1.0", "@smithy/middleware-retry": "^4.1.0", "@smithy/middleware-serde": "^4.0.3", "@smithy/middleware-stack": "^4.0.2", "@smithy/node-config-provider": "^4.0.2", "@smithy/node-http-handler": "^4.0.4", "@smithy/protocol-http": "^5.1.0", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/url-parser": "^4.0.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", "@smithy/util-defaults-mode-browser": "^4.0.8", "@smithy/util-defaults-mode-node": "^4.0.8", "@smithy/util-endpoints": "^3.0.2", "@smithy/util-middleware": "^4.0.2", "@smithy/util-retry": "^4.0.2", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-QOYC8q7luzHFXrP0xYAqBctoPkynjfV0r9dqntFu4/IWMTyC1vlo1UTxFAjIPyclYw92XJyEkVCVg9v/nQnsUA=="], - - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node/@aws-sdk/credential-provider-sso/@aws-sdk/client-sso": ["@aws-sdk/client-sso@3.782.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.775.0", "@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-user-agent": "3.782.0", "@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/types": "3.775.0", "@aws-sdk/util-endpoints": "3.782.0", "@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-node": "3.782.0", "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/fetch-http-handler": "^5.0.2", "@smithy/hash-node": "^4.0.2", "@smithy/invalid-dependency": "^4.0.2", "@smithy/middleware-content-length": "^4.0.2", "@smithy/middleware-endpoint": "^4.1.0", "@smithy/middleware-retry": "^4.1.0", "@smithy/middleware-serde": "^4.0.3", "@smithy/middleware-stack": "^4.0.2", "@smithy/node-config-provider": "^4.0.2", "@smithy/node-http-handler": "^4.0.4", "@smithy/protocol-http": "^5.1.0", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/url-parser": "^4.0.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", "@smithy/util-defaults-mode-browser": "^4.0.8", "@smithy/util-defaults-mode-node": "^4.0.8", "@smithy/util-endpoints": "^3.0.2", "@smithy/util-middleware": "^4.0.2", "@smithy/util-retry": "^4.0.2", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-5GlJBejo8wqMpSSEKb45WE82YxI2k73YuebjLH/eWDNQeE6VI5Bh9lA1YQ7xNkLLH8hIsb0pSfKVuwh0VEzVrg=="], - - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node/@aws-sdk/credential-provider-sso/@aws-sdk/token-providers": ["@aws-sdk/token-providers@3.782.0", "", { "dependencies": { "@aws-sdk/nested-clients": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-4tPuk/3+THPrzKaXW4jE2R67UyGwHLFizZ47pcjJWbhb78IIJAy94vbeqEQ+veS84KF5TXcU7g5jGTXC0D70Wg=="], - - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node/@aws-sdk/credential-provider-web-identity/@aws-sdk/nested-clients": ["@aws-sdk/nested-clients@3.782.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.775.0", "@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-user-agent": "3.782.0", "@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/types": "3.775.0", "@aws-sdk/util-endpoints": "3.782.0", "@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-node": "3.782.0", "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/fetch-http-handler": "^5.0.2", "@smithy/hash-node": "^4.0.2", "@smithy/invalid-dependency": "^4.0.2", "@smithy/middleware-content-length": "^4.0.2", "@smithy/middleware-endpoint": "^4.1.0", "@smithy/middleware-retry": "^4.1.0", "@smithy/middleware-serde": "^4.0.3", "@smithy/middleware-stack": "^4.0.2", "@smithy/node-config-provider": "^4.0.2", "@smithy/node-http-handler": "^4.0.4", "@smithy/protocol-http": "^5.1.0", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/url-parser": "^4.0.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", "@smithy/util-defaults-mode-browser": "^4.0.8", "@smithy/util-defaults-mode-node": "^4.0.8", "@smithy/util-endpoints": "^3.0.2", "@smithy/util-middleware": "^4.0.2", "@smithy/util-retry": "^4.0.2", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-QOYC8q7luzHFXrP0xYAqBctoPkynjfV0r9dqntFu4/IWMTyC1vlo1UTxFAjIPyclYw92XJyEkVCVg9v/nQnsUA=="], - - "@dot/log/chalk/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - - "@jsx-email/cli/chalk/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - - "@jsx-email/cli/tailwindcss/chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "@jsx-email/cli/tailwindcss/chokidar/readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.18.20", "", { "os": "android", "cpu": "arm" }, "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.18.20", "", { "os": "android", "cpu": "arm64" }, "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.18.20", "", { "os": "android", "cpu": "x64" }, "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.18.20", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.18.20", "", { "os": "darwin", "cpu": "x64" }, "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.18.20", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.18.20", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.18.20", "", { "os": "linux", "cpu": "arm" }, "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.18.20", "", { "os": "linux", "cpu": "arm64" }, "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.18.20", "", { "os": "linux", "cpu": "ia32" }, "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.18.20", "", { "os": "linux", "cpu": "ppc64" }, "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.18.20", "", { "os": "linux", "cpu": "s390x" }, "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.18.20", "", { "os": "linux", "cpu": "x64" }, "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.18.20", "", { "os": "none", "cpu": "x64" }, "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.18.20", "", { "os": "openbsd", "cpu": "x64" }, "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.18.20", "", { "os": "sunos", "cpu": "x64" }, "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.18.20", "", { "os": "win32", "cpu": "arm64" }, "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.18.20", "", { "os": "win32", "cpu": "ia32" }, "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g=="], - - "@jsx-email/cli/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.18.20", "", { "os": "win32", "cpu": "x64" }, "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ=="], - "@kilocode/kilo-gateway/@opentui/solid/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@kilocode/kilo-gateway/@opentui/solid/solid-js/seroval": ["seroval@1.5.0", "", {}, "sha512-OE4cvmJ1uSPrKorFIH9/w/Qwuvi/IMcGbv5RKgcJ/zjA/IohDLU6SVaxFN9FwajbP7nsX0dQqMDes1whk3y+yw=="], "@kilocode/kilo-gateway/@opentui/solid/solid-js/seroval-plugins": ["seroval-plugins@1.5.0", "", { "peerDependencies": { "seroval": "^1.0" } }, "sha512-EAHqADIQondwRZIdeW2I636zgsODzoBDwb3PT/+7TLDWyw1Dy/Xv7iGUIEXXav7usHDE9HVhOU61irI3EnyyHA=="], - "@octokit/auth-app/@octokit/request-error/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="], - - "@octokit/auth-app/@octokit/request/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="], - "@octokit/graphql/@octokit/request/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="], "@octokit/rest/@octokit/core/@octokit/request/@octokit/endpoint": ["@octokit/endpoint@11.0.2", "", { "dependencies": { "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ=="], "@octokit/rest/@octokit/core/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="], - "@opencode-ai/console-function/@ai-sdk/anthropic/@ai-sdk/provider-utils/zod-to-json-schema": ["zod-to-json-schema@3.25.1", "", { "peerDependencies": { "zod": "^3.25 || ^4" } }, "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA=="], - - "@opencode-ai/console-function/@ai-sdk/openai-compatible/@ai-sdk/provider-utils/zod-to-json-schema": ["zod-to-json-schema@3.25.1", "", { "peerDependencies": { "zod": "^3.25 || ^4" } }, "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA=="], - - "@opencode-ai/console-function/@ai-sdk/openai/@ai-sdk/provider-utils/zod-to-json-schema": ["zod-to-json-schema@3.25.1", "", { "peerDependencies": { "zod": "^3.25 || ^4" } }, "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA=="], - - "@slack/bolt/express/accepts/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], - - "@slack/bolt/express/accepts/negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], - - "@slack/bolt/express/body-parser/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], - - "@slack/bolt/express/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "@slack/bolt/express/send/mime": ["mime@1.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="], - - "@slack/bolt/express/type-is/media-typer": ["media-typer@0.3.0", "", {}, "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="], - - "@slack/bolt/express/type-is/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], - - "@slack/web-api/form-data/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - - "@solidjs/start/shiki/@shikijs/engine-javascript/oniguruma-to-es": ["oniguruma-to-es@2.3.0", "", { "dependencies": { "emoji-regex-xs": "^1.0.0", "regex": "^5.1.1", "regex-recursion": "^5.1.1" } }, "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g=="], - "@vscode/test-cli/chokidar/readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "@vscode/test-cli/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], @@ -6165,16 +3388,8 @@ "@vscode/test-cli/yargs/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "ansi-align/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "archiver-utils/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - "astro/unstorage/chokidar/readdirp": ["readdirp@5.0.0", "", {}, "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ=="], - - "astro/unstorage/h3/cookie-es": ["cookie-es@1.2.2", "", {}, "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="], - - "astro/unstorage/h3/crossws": ["crossws@0.3.5", "", { "dependencies": { "uncrypto": "^0.1.3" } }, "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA=="], - "babel-plugin-module-resolver/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], "babel-plugin-module-resolver/glob/path-scurry/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], @@ -6187,14 +3402,8 @@ "c8/yargs/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "esbuild-plugin-copy/chalk/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - - "esbuild-plugin-copy/chokidar/readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - "eslint/chalk/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "js-beautify/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - "log-symbols/chalk/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], "mocha/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], @@ -6211,8 +3420,6 @@ "npm-run-all/cross-spawn/shebang-command/shebang-regex": ["shebang-regex@1.0.0", "", {}, "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ=="], - "pkg-dir/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], - "pkg-up/find-up/locate-path/p-locate": ["p-locate@3.0.0", "", { "dependencies": { "p-limit": "^2.0.0" } }, "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="], "pkg-up/find-up/locate-path/path-exists": ["path-exists@3.0.0", "", {}, "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="], @@ -6233,86 +3440,8 @@ "test-exclude/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - "tw-to-css/tailwindcss/chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "tw-to-css/tailwindcss/chokidar/readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], - - "vitest/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], - - "vitest/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], - - "vitest/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], - - "vitest/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], - - "vitest/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], - - "vitest/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], - - "vitest/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], - - "vitest/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], - - "vitest/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], - - "vitest/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], - - "vitest/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], - - "vitest/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], - - "vitest/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], - - "vitest/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], - - "vitest/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], - - "vitest/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], - - "vitest/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], - - "vitest/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], - - "vitest/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], - - "vitest/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], - - "vitest/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], - - "vitest/vite/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], - - "vitest/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], - - "vitest/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], - - "vitest/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], - - "vitest/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], - "wrap-ansi-cjs/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - "@astrojs/check/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "@astrojs/check/yargs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "@astrojs/check/yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "@aws-sdk/client-sts/@aws-sdk/credential-provider-node/@aws-sdk/credential-provider-sso/@aws-sdk/token-providers/@aws-sdk/nested-clients": ["@aws-sdk/nested-clients@3.782.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.775.0", "@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-user-agent": "3.782.0", "@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/types": "3.775.0", "@aws-sdk/util-endpoints": "3.782.0", "@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-node": "3.782.0", "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/fetch-http-handler": "^5.0.2", "@smithy/hash-node": "^4.0.2", "@smithy/invalid-dependency": "^4.0.2", "@smithy/middleware-content-length": "^4.0.2", "@smithy/middleware-endpoint": "^4.1.0", "@smithy/middleware-retry": "^4.1.0", "@smithy/middleware-serde": "^4.0.3", "@smithy/middleware-stack": "^4.0.2", "@smithy/node-config-provider": "^4.0.2", "@smithy/node-http-handler": "^4.0.4", "@smithy/protocol-http": "^5.1.0", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/url-parser": "^4.0.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", "@smithy/util-defaults-mode-browser": "^4.0.8", "@smithy/util-defaults-mode-node": "^4.0.8", "@smithy/util-endpoints": "^3.0.2", "@smithy/util-middleware": "^4.0.2", "@smithy/util-retry": "^4.0.2", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-QOYC8q7luzHFXrP0xYAqBctoPkynjfV0r9dqntFu4/IWMTyC1vlo1UTxFAjIPyclYw92XJyEkVCVg9v/nQnsUA=="], - - "@dot/log/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "@jsx-email/cli/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "@jsx-email/cli/tailwindcss/chokidar/readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - - "@slack/bolt/express/accepts/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - - "@slack/bolt/express/type-is/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - - "@solidjs/start/shiki/@shikijs/engine-javascript/oniguruma-to-es/regex": ["regex@5.1.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw=="], - - "@solidjs/start/shiki/@shikijs/engine-javascript/oniguruma-to-es/regex-recursion": ["regex-recursion@5.1.1", "", { "dependencies": { "regex": "^5.1.1", "regex-utilities": "^2.3.0" } }, "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w=="], - "@vscode/test-cli/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], "@vscode/test-cli/yargs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], @@ -6325,8 +3454,6 @@ "c8/yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "esbuild-plugin-copy/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - "eslint/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], "log-symbols/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], @@ -6337,8 +3464,6 @@ "mocha/yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "pkg-dir/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - "pkg-up/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], "qrcode/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], @@ -6349,10 +3474,6 @@ "qrcode/yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "tw-to-css/tailwindcss/chokidar/readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - - "@astrojs/check/yargs/cliui/wrap-ansi/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "@vscode/test-cli/yargs/cliui/wrap-ansi/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], "c8/yargs/cliui/wrap-ansi/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], @@ -6363,8 +3484,6 @@ "qrcode/yargs/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - "@astrojs/check/yargs/cliui/wrap-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - "@vscode/test-cli/yargs/cliui/wrap-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], "c8/yargs/cliui/wrap-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], diff --git a/infra/app.ts b/infra/app.ts deleted file mode 100644 index bb627f51e..000000000 --- a/infra/app.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { domain } from "./stage" - -const GITHUB_APP_ID = new sst.Secret("GITHUB_APP_ID") -const GITHUB_APP_PRIVATE_KEY = new sst.Secret("GITHUB_APP_PRIVATE_KEY") -export const EMAILOCTOPUS_API_KEY = new sst.Secret("EMAILOCTOPUS_API_KEY") -const ADMIN_SECRET = new sst.Secret("ADMIN_SECRET") -const DISCORD_SUPPORT_BOT_TOKEN = new sst.Secret("DISCORD_SUPPORT_BOT_TOKEN") -const DISCORD_SUPPORT_CHANNEL_ID = new sst.Secret("DISCORD_SUPPORT_CHANNEL_ID") -const FEISHU_APP_ID = new sst.Secret("FEISHU_APP_ID") -const FEISHU_APP_SECRET = new sst.Secret("FEISHU_APP_SECRET") -const bucket = new sst.cloudflare.Bucket("Bucket") - -export const api = new sst.cloudflare.Worker("Api", { - domain: `api.${domain}`, - handler: "packages/function/src/api.ts", - environment: { - WEB_DOMAIN: domain, - }, - url: true, - link: [ - bucket, - GITHUB_APP_ID, - GITHUB_APP_PRIVATE_KEY, - ADMIN_SECRET, - DISCORD_SUPPORT_BOT_TOKEN, - DISCORD_SUPPORT_CHANNEL_ID, - FEISHU_APP_ID, - FEISHU_APP_SECRET, - ], - transform: { - worker: (args) => { - args.logpush = true - args.bindings = $resolve(args.bindings).apply((bindings) => [ - ...bindings, - { - name: "SYNC_SERVER", - type: "durable_object_namespace", - className: "SyncServer", - }, - ]) - args.migrations = { - // Note: when releasing the next tag, make sure all stages use tag v2 - oldTag: $app.stage === "production" || $app.stage === "thdxr" ? "" : "v1", - newTag: $app.stage === "production" || $app.stage === "thdxr" ? "" : "v1", - //newSqliteClasses: ["SyncServer"], - } - }, - }, -}) - -new sst.cloudflare.x.Astro("Web", { - domain: "docs." + domain, - path: "packages/web", - environment: { - // For astro config - SST_STAGE: $app.stage, - VITE_API_URL: api.url.apply((url) => url!), - }, -}) - -new sst.cloudflare.StaticSite("WebApp", { - domain: "app." + domain, - path: "packages/app", - build: { - command: "bun turbo build", - output: "./dist", - }, -}) diff --git a/infra/console.ts b/infra/console.ts deleted file mode 100644 index 4e5a14b04..000000000 --- a/infra/console.ts +++ /dev/null @@ -1,215 +0,0 @@ -import { domain } from "./stage" -import { EMAILOCTOPUS_API_KEY } from "./app" - -//////////////// -// DATABASE -//////////////// - -const cluster = planetscale.getDatabaseOutput({ - name: "opencode", - organization: "anomalyco", -}) - -const branch = - $app.stage === "production" - ? planetscale.getBranchOutput({ - name: "production", - organization: cluster.organization, - database: cluster.name, - }) - : new planetscale.Branch("DatabaseBranch", { - database: cluster.name, - organization: cluster.organization, - name: $app.stage, - parentBranch: "production", - }) -const password = new planetscale.Password("DatabasePassword", { - name: $app.stage, - database: cluster.name, - organization: cluster.organization, - branch: branch.name, -}) - -export const database = new sst.Linkable("Database", { - properties: { - host: password.accessHostUrl, - database: cluster.name, - username: password.username, - password: password.plaintext, - port: 3306, - }, -}) - -new sst.x.DevCommand("Studio", { - link: [database], - dev: { - command: "bun db studio", - directory: "packages/console/core", - autostart: true, - }, -}) - -//////////////// -// AUTH -//////////////// - -const GITHUB_CLIENT_ID_CONSOLE = new sst.Secret("GITHUB_CLIENT_ID_CONSOLE") -const GITHUB_CLIENT_SECRET_CONSOLE = new sst.Secret("GITHUB_CLIENT_SECRET_CONSOLE") -const GOOGLE_CLIENT_ID = new sst.Secret("GOOGLE_CLIENT_ID") -const authStorage = new sst.cloudflare.Kv("AuthStorage") -export const auth = new sst.cloudflare.Worker("AuthApi", { - domain: `auth.${domain}`, - handler: "packages/console/function/src/auth.ts", - url: true, - link: [database, authStorage, GITHUB_CLIENT_ID_CONSOLE, GITHUB_CLIENT_SECRET_CONSOLE, GOOGLE_CLIENT_ID], -}) - -//////////////// -// GATEWAY -//////////////// - -export const stripeWebhook = new stripe.WebhookEndpoint("StripeWebhookEndpoint", { - url: $interpolate`https://${domain}/stripe/webhook`, - enabledEvents: [ - "checkout.session.async_payment_failed", - "checkout.session.async_payment_succeeded", - "checkout.session.completed", - "checkout.session.expired", - "charge.refunded", - "invoice.payment_succeeded", - "invoice.payment_failed", - "invoice.payment_action_required", - "customer.created", - "customer.deleted", - "customer.updated", - "customer.discount.created", - "customer.discount.deleted", - "customer.discount.updated", - "customer.source.created", - "customer.source.deleted", - "customer.source.expiring", - "customer.source.updated", - "customer.subscription.created", - "customer.subscription.deleted", - "customer.subscription.paused", - "customer.subscription.pending_update_applied", - "customer.subscription.pending_update_expired", - "customer.subscription.resumed", - "customer.subscription.trial_will_end", - "customer.subscription.updated", - ], -}) - -const zenProduct = new stripe.Product("ZenBlack", { - name: "OpenCode Black", -}) -const zenPriceProps = { - product: zenProduct.id, - currency: "usd", - recurring: { - interval: "month", - intervalCount: 1, - }, -} -const zenPrice200 = new stripe.Price("ZenBlackPrice", { ...zenPriceProps, unitAmount: 20000 }) -const zenPrice100 = new stripe.Price("ZenBlack100Price", { ...zenPriceProps, unitAmount: 10000 }) -const zenPrice20 = new stripe.Price("ZenBlack20Price", { ...zenPriceProps, unitAmount: 2000 }) -const ZEN_BLACK_PRICE = new sst.Linkable("ZEN_BLACK_PRICE", { - properties: { - product: zenProduct.id, - plan200: zenPrice200.id, - plan100: zenPrice100.id, - plan20: zenPrice20.id, - }, -}) -const ZEN_BLACK_LIMITS = new sst.Secret("ZEN_BLACK_LIMITS") - -const ZEN_MODELS = [ - new sst.Secret("ZEN_MODELS1"), - new sst.Secret("ZEN_MODELS2"), - new sst.Secret("ZEN_MODELS3"), - new sst.Secret("ZEN_MODELS4"), - new sst.Secret("ZEN_MODELS5"), - new sst.Secret("ZEN_MODELS6"), - new sst.Secret("ZEN_MODELS7"), - new sst.Secret("ZEN_MODELS8"), - new sst.Secret("ZEN_MODELS9"), - new sst.Secret("ZEN_MODELS10"), - new sst.Secret("ZEN_MODELS11"), - new sst.Secret("ZEN_MODELS12"), - new sst.Secret("ZEN_MODELS13"), - new sst.Secret("ZEN_MODELS14"), - new sst.Secret("ZEN_MODELS15"), - new sst.Secret("ZEN_MODELS16"), - new sst.Secret("ZEN_MODELS17"), - new sst.Secret("ZEN_MODELS18"), - new sst.Secret("ZEN_MODELS19"), - new sst.Secret("ZEN_MODELS20"), -] -const STRIPE_SECRET_KEY = new sst.Secret("STRIPE_SECRET_KEY") -const STRIPE_PUBLISHABLE_KEY = new sst.Secret("STRIPE_PUBLISHABLE_KEY") -const AUTH_API_URL = new sst.Linkable("AUTH_API_URL", { - properties: { value: auth.url.apply((url) => url!) }, -}) -const STRIPE_WEBHOOK_SECRET = new sst.Linkable("STRIPE_WEBHOOK_SECRET", { - properties: { value: stripeWebhook.secret }, -}) -const gatewayKv = new sst.cloudflare.Kv("GatewayKv") - -//////////////// -// CONSOLE -//////////////// - -const bucket = new sst.cloudflare.Bucket("ZenData") -const bucketNew = new sst.cloudflare.Bucket("ZenDataNew") - -const AWS_SES_ACCESS_KEY_ID = new sst.Secret("AWS_SES_ACCESS_KEY_ID") -const AWS_SES_SECRET_ACCESS_KEY = new sst.Secret("AWS_SES_SECRET_ACCESS_KEY") - -const logProcessor = new sst.cloudflare.Worker("LogProcessor", { - handler: "packages/console/function/src/log-processor.ts", - link: [new sst.Secret("HONEYCOMB_API_KEY")], -}) - -new sst.cloudflare.x.SolidStart("Console", { - domain, - path: "packages/console/app", - link: [ - bucket, - bucketNew, - database, - AUTH_API_URL, - STRIPE_WEBHOOK_SECRET, - STRIPE_SECRET_KEY, - EMAILOCTOPUS_API_KEY, - AWS_SES_ACCESS_KEY_ID, - AWS_SES_SECRET_ACCESS_KEY, - ZEN_BLACK_PRICE, - ZEN_BLACK_LIMITS, - new sst.Secret("ZEN_SESSION_SECRET"), - ...ZEN_MODELS, - ...($dev - ? [ - new sst.Secret("CLOUDFLARE_DEFAULT_ACCOUNT_ID", process.env.CLOUDFLARE_DEFAULT_ACCOUNT_ID!), - new sst.Secret("CLOUDFLARE_API_TOKEN", process.env.CLOUDFLARE_API_TOKEN!), - ] - : []), - gatewayKv, - ], - environment: { - //VITE_DOCS_URL: web.url.apply((url) => url!), - //VITE_API_URL: gateway.url.apply((url) => url!), - VITE_AUTH_URL: auth.url.apply((url) => url!), - VITE_STRIPE_PUBLISHABLE_KEY: STRIPE_PUBLISHABLE_KEY.value, - }, - transform: { - server: { - transform: { - worker: { - placement: { mode: "smart" }, - tailConsumers: [{ service: logProcessor.nodes.worker.scriptName }], - }, - }, - }, - }, -}) diff --git a/infra/enterprise.ts b/infra/enterprise.ts deleted file mode 100644 index 22b4c6f44..000000000 --- a/infra/enterprise.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { SECRET } from "./secret" -import { domain, shortDomain } from "./stage" - -const storage = new sst.cloudflare.Bucket("EnterpriseStorage") - -const teams = new sst.cloudflare.x.SolidStart("Teams", { - domain: shortDomain, - path: "packages/enterprise", - buildCommand: "bun run build:cloudflare", - environment: { - OPENCODE_STORAGE_ADAPTER: "r2", - OPENCODE_STORAGE_ACCOUNT_ID: sst.cloudflare.DEFAULT_ACCOUNT_ID, - OPENCODE_STORAGE_ACCESS_KEY_ID: SECRET.R2AccessKey.value, - OPENCODE_STORAGE_SECRET_ACCESS_KEY: SECRET.R2SecretKey.value, - OPENCODE_STORAGE_BUCKET: storage.name, - }, -}) diff --git a/infra/secret.ts b/infra/secret.ts deleted file mode 100644 index 0b1870fa1..000000000 --- a/infra/secret.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const SECRET = { - R2AccessKey: new sst.Secret("R2AccessKey", "unknown"), - R2SecretKey: new sst.Secret("R2SecretKey", "unknown"), -} diff --git a/infra/stage.ts b/infra/stage.ts deleted file mode 100644 index f9a6fd755..000000000 --- a/infra/stage.ts +++ /dev/null @@ -1,19 +0,0 @@ -export const domain = (() => { - if ($app.stage === "production") return "opencode.ai" - if ($app.stage === "dev") return "dev.opencode.ai" - return `${$app.stage}.dev.opencode.ai` -})() - -export const zoneID = "430ba34c138cfb5360826c4909f99be8" - -new cloudflare.RegionalHostname("RegionalHostname", { - hostname: domain, - regionKey: "us", - zoneId: zoneID, -}) - -export const shortDomain = (() => { - if ($app.stage === "production") return "opncd.ai" - if ($app.stage === "dev") return "dev.opncd.ai" - return `${$app.stage}.dev.opncd.ai` -})() diff --git a/logs/mcp-puppeteer-2025-10-07.log b/logs/mcp-puppeteer-2025-10-07.log deleted file mode 100644 index 770535696..000000000 --- a/logs/mcp-puppeteer-2025-10-07.log +++ /dev/null @@ -1,48 +0,0 @@ -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:52.879"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:52.880"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:56.191"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:56.192"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:59.267"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:59.268"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:20.276"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:20.277"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:30.838"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:30.839"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:42.452"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:42.452"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:46.499"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:46.500"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:54:02.295"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:54:02.295"} -{"arguments":{"url":"https://google.com"},"level":"debug","message":"Tool call received","service":"mcp-puppeteer","timestamp":"2025-10-07 04:54:37.150","tool":"puppeteer_navigate"} -{"0":"n","1":"p","2":"x","level":"info","message":"Launching browser with config:","service":"mcp-puppeteer","timestamp":"2025-10-07 04:54:37.150"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:55:08.488"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:55:08.489"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:11.815"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:11.816"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:21.934"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:21.935"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:32.544"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:32.544"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:41.154"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:41.155"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:55.426"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:55.427"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:15.715"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:15.716"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:25.063"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:25.064"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:48.567"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:48.568"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:25:08.937"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:25:08.938"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 22:38:37.120"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 22:38:37.121"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 22:38:52.490"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 22:38:52.491"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 22:39:25.524"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 22:39:25.525"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 22:40:57.126"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 22:40:57.127"} -{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 22:42:24.175"} -{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 22:42:24.176"} diff --git a/package.json b/package.json index 1d7e3b6f0..986cdf484 100644 --- a/package.json +++ b/package.json @@ -18,9 +18,7 @@ "workspaces": { "packages": [ "packages/*", - "packages/console/*", - "packages/sdk/js", - "packages/slack" + "packages/sdk/js" ], "catalog": { "@types/bun": "1.3.8", @@ -70,11 +68,9 @@ "husky": "9.1.7", "prettier": "3.6.2", "semver": "^7.6.0", - "sst": "3.17.23", "turbo": "2.5.6" }, "dependencies": { - "@aws-sdk/client-s3": "3.933.0", "@kilocode/plugin": "workspace:*", "@opencode-ai/script": "workspace:*", "@kilocode/sdk": "workspace:*", diff --git a/packages/console/app/.gitignore b/packages/console/app/.gitignore deleted file mode 100644 index 5033416b5..000000000 --- a/packages/console/app/.gitignore +++ /dev/null @@ -1,30 +0,0 @@ -dist -.wrangler -.output -.vercel -.netlify -app.config.timestamp_*.js - -# Environment -.env -.env*.local - -# dependencies -/node_modules - -# IDEs and editors -/.idea -.project -.classpath -*.launch -.settings/ - -# Temp -gitignore - -# Generated files -public/sitemap.xml - -# System Files -.DS_Store -Thumbs.db diff --git a/packages/console/app/.opencode/agent/css.md b/packages/console/app/.opencode/agent/css.md deleted file mode 100644 index d5e68c7bf..000000000 --- a/packages/console/app/.opencode/agent/css.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -description: use whenever you are styling a ui with css ---- - -you are very good at writing clean maintainable css using modern techniques - -css is structured like this - -```css -[data-page="home"] { - [data-component="header"] { - [data-slot="logo"] { - } - } -} -``` - -top level pages are scoped using `data-page` - -pages can break down into components using `data-component` - -components can break down into slots using `data-slot` - -structure things so that this hierarchy is followed IN YOUR CSS - you should rarely need to -nest components inside other components. you should NEVER nest components inside -slots. you should NEVER nest slots inside other slots. - -**IMPORTANT: This hierarchy rule applies to CSS structure, NOT JSX/DOM structure.** - -The hierarchy in css file does NOT have to match the hierarchy in the dom - you -can put components or slots at the same level in CSS even if one goes inside another in the DOM. - -Your JSX can nest however makes semantic sense - components can be inside slots, -slots can contain components, etc. The DOM structure should be whatever makes the most -semantic and functional sense. - -It is more important to follow the pages -> components -> slots structure IN YOUR CSS, -while keeping your JSX/DOM structure logical and semantic. - -use data attributes to represent different states of the component - -```css -[data-component="modal"] { - opacity: 0; - - &[data-state="open"] { - opacity: 1; - } -} -``` - -this will allow jsx to control the styling - -avoid selectors that just target an element type like `> span` you should assign -it a slot name. it's ok to do this sometimes where it makes sense semantically -like targeting `li` elements in a list - -in terms of file structure `./src/style/` contains all universal styling rules. -these should not contain anything specific to a page - -`./src/style/token` contains all the tokens used in the project - -`./src/style/component` is for reusable components like buttons or inputs - -page specific styles should go next to the page they are styling so -`./src/routes/about.tsx` should have its styles in `./src/routes/about.css` - -`about.css` should be scoped using `data-page="about"` - -## Example of correct implementation - -JSX can nest however makes sense semantically: - -```jsx -
-
Section Title
-
Content here
-
-``` - -CSS maintains clean hierarchy regardless of DOM nesting: - -```css -[data-page="home"] { - [data-component="screenshots"] { - [data-slot="left"] { - /* styles */ - } - [data-slot="content"] { - /* styles */ - } - } - - [data-component="title"] { - /* can be at same level even though nested in DOM */ - } -} -``` - -## Reusable Components - -If a component is reused across multiple sections of the same page, define it at the page level: - -```jsx - -
-
-

npm

-
-
-

bun

-
-
- -
-
-
Screenshot Title
-
-
-``` - -```css -[data-page="home"] { - /* Reusable title component defined at page level since it's used in multiple components */ - [data-component="title"] { - text-transform: uppercase; - font-weight: 400; - } - - [data-component="install"] { - /* install-specific styles */ - } - - [data-component="screenshots"] { - /* screenshots-specific styles */ - } -} -``` - -This is correct because the `title` component has consistent styling and behavior across the page. - -## Key Clarifications - -1. **JSX Nesting is Flexible**: Components can be nested inside slots, slots can contain components - whatever makes semantic sense -2. **CSS Hierarchy is Strict**: Follow pages → components → slots structure in CSS -3. **Reusable Components**: Define at the appropriate level where they're shared (page level if used across the page, component level if only used within that component) -4. **DOM vs CSS Structure**: These don't need to match - optimize each for its purpose - -See ./src/routes/index.css and ./src/routes/index.tsx for a complete example. diff --git a/packages/console/app/README.md b/packages/console/app/README.md deleted file mode 100644 index 9337430cf..000000000 --- a/packages/console/app/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# SolidStart - -Everything you need to build a Solid project, powered by [`solid-start`](https://start.solidjs.com); - -## Creating a project - -```bash -# create a new project in the current directory -npm init solid@latest - -# create a new project in my-app -npm init solid@latest my-app -``` - -## Developing - -Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: - -```bash -npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open -``` - -## Building - -Solid apps are built with _presets_, which optimise your project for deployment to different environments. - -By default, `npm run build` will generate a Node app that you can run with `npm start`. To use a different preset, add it to the `devDependencies` in `package.json` and specify in your `app.config.js`. - -## This project was created with the [Solid CLI](https://github.com/solidjs-community/solid-cli) diff --git a/packages/console/app/package.json b/packages/console/app/package.json deleted file mode 100644 index 09b401404..000000000 --- a/packages/console/app/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "@opencode-ai/console-app", - "version": "1.0.14", - "type": "module", - "license": "MIT", - "scripts": { - "typecheck": "tsgo --noEmit", - "dev": "vite dev --host 0.0.0.0", - "dev:remote": "VITE_AUTH_URL=https://auth.dev.opencode.ai VITE_STRIPE_PUBLISHABLE_KEY=pk_test_51RtuLNE7fOCwHSD4mewwzFejyytjdGoSDK7CAvhbffwaZnPbNb2rwJICw6LTOXCmWO320fSNXvb5NzI08RZVkAxd00syfqrW7t bun sst shell --stage=dev bun dev", - "build": "./script/generate-sitemap.ts && vite build && ../../opencode/script/schema.ts ./.output/public/config.json", - "start": "vite start" - }, - "dependencies": { - "@cloudflare/vite-plugin": "1.15.2", - "@ibm/plex": "6.4.1", - "@jsx-email/render": "1.1.1", - "@kobalte/core": "catalog:", - "@openauthjs/openauth": "catalog:", - "@opencode-ai/console-core": "workspace:*", - "@opencode-ai/console-mail": "workspace:*", - "@opencode-ai/console-resource": "workspace:*", - "@opencode-ai/ui": "workspace:*", - "@smithy/eventstream-codec": "4.2.7", - "@smithy/util-utf8": "4.2.0", - "@solidjs/meta": "catalog:", - "@solidjs/router": "catalog:", - "@solidjs/start": "catalog:", - "@stripe/stripe-js": "8.6.1", - "chart.js": "4.5.1", - "nitro": "3.0.1-alpha.1", - "solid-js": "catalog:", - "solid-list": "0.3.0", - "solid-stripe": "0.8.1", - "vite": "catalog:", - "zod": "catalog:" - }, - "devDependencies": { - "@typescript/native-preview": "catalog:", - "@webgpu/types": "0.1.54", - "typescript": "catalog:", - "wrangler": "4.50.0" - }, - "engines": { - "node": ">=22" - } -} diff --git a/packages/console/app/public/apple-touch-icon-v3.png b/packages/console/app/public/apple-touch-icon-v3.png deleted file mode 120000 index ddd1d1ac3..000000000 --- a/packages/console/app/public/apple-touch-icon-v3.png +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/favicon/apple-touch-icon-v3.png \ No newline at end of file diff --git a/packages/console/app/public/apple-touch-icon.png b/packages/console/app/public/apple-touch-icon.png deleted file mode 120000 index 52ebd1c30..000000000 --- a/packages/console/app/public/apple-touch-icon.png +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/favicon/apple-touch-icon.png \ No newline at end of file diff --git a/packages/console/app/public/email b/packages/console/app/public/email deleted file mode 120000 index 0df016d01..000000000 --- a/packages/console/app/public/email +++ /dev/null @@ -1 +0,0 @@ -../../mail/emails/templates/static \ No newline at end of file diff --git a/packages/console/app/public/favicon-96x96-v3.png b/packages/console/app/public/favicon-96x96-v3.png deleted file mode 120000 index 5f4b8a73b..000000000 --- a/packages/console/app/public/favicon-96x96-v3.png +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/favicon/favicon-96x96-v3.png \ No newline at end of file diff --git a/packages/console/app/public/favicon-96x96.png b/packages/console/app/public/favicon-96x96.png deleted file mode 120000 index 0a40e5619..000000000 --- a/packages/console/app/public/favicon-96x96.png +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/favicon/favicon-96x96.png \ No newline at end of file diff --git a/packages/console/app/public/favicon-v3.ico b/packages/console/app/public/favicon-v3.ico deleted file mode 120000 index 6e1f48aec..000000000 --- a/packages/console/app/public/favicon-v3.ico +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/favicon/favicon-v3.ico \ No newline at end of file diff --git a/packages/console/app/public/favicon-v3.svg b/packages/console/app/public/favicon-v3.svg deleted file mode 120000 index 77814acf5..000000000 --- a/packages/console/app/public/favicon-v3.svg +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/favicon/favicon-v3.svg \ No newline at end of file diff --git a/packages/console/app/public/favicon.ico b/packages/console/app/public/favicon.ico deleted file mode 120000 index d861e771f..000000000 --- a/packages/console/app/public/favicon.ico +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/favicon/favicon.ico \ No newline at end of file diff --git a/packages/console/app/public/favicon.svg b/packages/console/app/public/favicon.svg deleted file mode 120000 index 9a9c41c92..000000000 --- a/packages/console/app/public/favicon.svg +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/favicon/favicon.svg \ No newline at end of file diff --git a/packages/console/app/public/opencode-brand-assets.zip b/packages/console/app/public/opencode-brand-assets.zip deleted file mode 100644 index 1a145bbe0..000000000 Binary files a/packages/console/app/public/opencode-brand-assets.zip and /dev/null differ diff --git a/packages/console/app/public/robots.txt b/packages/console/app/public/robots.txt deleted file mode 100644 index bddac69de..000000000 --- a/packages/console/app/public/robots.txt +++ /dev/null @@ -1,6 +0,0 @@ -User-agent: * -Allow: / - -# Disallow shared content pages -Disallow: /s/ -Disallow: /share/ \ No newline at end of file diff --git a/packages/console/app/public/site.webmanifest b/packages/console/app/public/site.webmanifest deleted file mode 120000 index ce3161b45..000000000 --- a/packages/console/app/public/site.webmanifest +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/favicon/site.webmanifest \ No newline at end of file diff --git a/packages/console/app/public/social-share-black.png b/packages/console/app/public/social-share-black.png deleted file mode 120000 index 5baa00483..000000000 --- a/packages/console/app/public/social-share-black.png +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/images/social-share-black.png \ No newline at end of file diff --git a/packages/console/app/public/social-share-zen.png b/packages/console/app/public/social-share-zen.png deleted file mode 120000 index 2cb95c718..000000000 --- a/packages/console/app/public/social-share-zen.png +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/images/social-share-zen.png \ No newline at end of file diff --git a/packages/console/app/public/social-share.png b/packages/console/app/public/social-share.png deleted file mode 120000 index deb3346c2..000000000 --- a/packages/console/app/public/social-share.png +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/images/social-share.png \ No newline at end of file diff --git a/packages/console/app/public/theme.json b/packages/console/app/public/theme.json deleted file mode 100644 index b3e97f7ca..000000000 --- a/packages/console/app/public/theme.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "$schema": { - "type": "string", - "description": "JSON schema reference for configuration validation" - }, - "defs": { - "type": "object", - "description": "Color definitions that can be referenced in the theme", - "patternProperties": { - "^[a-zA-Z][a-zA-Z0-9_]*$": { - "oneOf": [ - { - "type": "string", - "pattern": "^#[0-9a-fA-F]{6}$", - "description": "Hex color value" - }, - { - "type": "integer", - "minimum": 0, - "maximum": 255, - "description": "ANSI color code (0-255)" - }, - { - "type": "string", - "enum": ["none"], - "description": "No color (uses terminal default)" - } - ] - } - }, - "additionalProperties": false - }, - "theme": { - "type": "object", - "description": "Theme color definitions", - "properties": { - "primary": { "$ref": "#/definitions/colorValue" }, - "secondary": { "$ref": "#/definitions/colorValue" }, - "accent": { "$ref": "#/definitions/colorValue" }, - "error": { "$ref": "#/definitions/colorValue" }, - "warning": { "$ref": "#/definitions/colorValue" }, - "success": { "$ref": "#/definitions/colorValue" }, - "info": { "$ref": "#/definitions/colorValue" }, - "text": { "$ref": "#/definitions/colorValue" }, - "textMuted": { "$ref": "#/definitions/colorValue" }, - "background": { "$ref": "#/definitions/colorValue" }, - "backgroundPanel": { "$ref": "#/definitions/colorValue" }, - "backgroundElement": { "$ref": "#/definitions/colorValue" }, - "border": { "$ref": "#/definitions/colorValue" }, - "borderActive": { "$ref": "#/definitions/colorValue" }, - "borderSubtle": { "$ref": "#/definitions/colorValue" }, - "diffAdded": { "$ref": "#/definitions/colorValue" }, - "diffRemoved": { "$ref": "#/definitions/colorValue" }, - "diffContext": { "$ref": "#/definitions/colorValue" }, - "diffHunkHeader": { "$ref": "#/definitions/colorValue" }, - "diffHighlightAdded": { "$ref": "#/definitions/colorValue" }, - "diffHighlightRemoved": { "$ref": "#/definitions/colorValue" }, - "diffAddedBg": { "$ref": "#/definitions/colorValue" }, - "diffRemovedBg": { "$ref": "#/definitions/colorValue" }, - "diffContextBg": { "$ref": "#/definitions/colorValue" }, - "diffLineNumber": { "$ref": "#/definitions/colorValue" }, - "diffAddedLineNumberBg": { "$ref": "#/definitions/colorValue" }, - "diffRemovedLineNumberBg": { "$ref": "#/definitions/colorValue" }, - "markdownText": { "$ref": "#/definitions/colorValue" }, - "markdownHeading": { "$ref": "#/definitions/colorValue" }, - "markdownLink": { "$ref": "#/definitions/colorValue" }, - "markdownLinkText": { "$ref": "#/definitions/colorValue" }, - "markdownCode": { "$ref": "#/definitions/colorValue" }, - "markdownBlockQuote": { "$ref": "#/definitions/colorValue" }, - "markdownEmph": { "$ref": "#/definitions/colorValue" }, - "markdownStrong": { "$ref": "#/definitions/colorValue" }, - "markdownHorizontalRule": { "$ref": "#/definitions/colorValue" }, - "markdownListItem": { "$ref": "#/definitions/colorValue" }, - "markdownListEnumeration": { "$ref": "#/definitions/colorValue" }, - "markdownImage": { "$ref": "#/definitions/colorValue" }, - "markdownImageText": { "$ref": "#/definitions/colorValue" }, - "markdownCodeBlock": { "$ref": "#/definitions/colorValue" }, - "syntaxComment": { "$ref": "#/definitions/colorValue" }, - "syntaxKeyword": { "$ref": "#/definitions/colorValue" }, - "syntaxFunction": { "$ref": "#/definitions/colorValue" }, - "syntaxVariable": { "$ref": "#/definitions/colorValue" }, - "syntaxString": { "$ref": "#/definitions/colorValue" }, - "syntaxNumber": { "$ref": "#/definitions/colorValue" }, - "syntaxType": { "$ref": "#/definitions/colorValue" }, - "syntaxOperator": { "$ref": "#/definitions/colorValue" }, - "syntaxPunctuation": { "$ref": "#/definitions/colorValue" } - }, - "required": ["primary", "secondary", "accent", "text", "textMuted", "background"], - "additionalProperties": false - } - }, - "required": ["theme"], - "additionalProperties": false, - "definitions": { - "colorValue": { - "oneOf": [ - { - "type": "string", - "pattern": "^#[0-9a-fA-F]{6}$", - "description": "Hex color value (same for dark and light)" - }, - { - "type": "integer", - "minimum": 0, - "maximum": 255, - "description": "ANSI color code (0-255, same for dark and light)" - }, - { - "type": "string", - "enum": ["none"], - "description": "No color (uses terminal default)" - }, - { - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$", - "description": "Reference to another color in the theme or defs" - }, - { - "type": "object", - "properties": { - "dark": { - "oneOf": [ - { - "type": "string", - "pattern": "^#[0-9a-fA-F]{6}$", - "description": "Hex color value for dark mode" - }, - { - "type": "integer", - "minimum": 0, - "maximum": 255, - "description": "ANSI color code for dark mode" - }, - { - "type": "string", - "enum": ["none"], - "description": "No color (uses terminal default)" - }, - { - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$", - "description": "Reference to another color for dark mode" - } - ] - }, - "light": { - "oneOf": [ - { - "type": "string", - "pattern": "^#[0-9a-fA-F]{6}$", - "description": "Hex color value for light mode" - }, - { - "type": "integer", - "minimum": 0, - "maximum": 255, - "description": "ANSI color code for light mode" - }, - { - "type": "string", - "enum": ["none"], - "description": "No color (uses terminal default)" - }, - { - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$", - "description": "Reference to another color for light mode" - } - ] - } - }, - "required": ["dark", "light"], - "additionalProperties": false, - "description": "Separate colors for dark and light modes" - } - ] - } - } -} diff --git a/packages/console/app/public/web-app-manifest-192x192.png b/packages/console/app/public/web-app-manifest-192x192.png deleted file mode 120000 index 9d3590fc2..000000000 --- a/packages/console/app/public/web-app-manifest-192x192.png +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/favicon/web-app-manifest-192x192.png \ No newline at end of file diff --git a/packages/console/app/public/web-app-manifest-512x512.png b/packages/console/app/public/web-app-manifest-512x512.png deleted file mode 120000 index 0ca44b889..000000000 --- a/packages/console/app/public/web-app-manifest-512x512.png +++ /dev/null @@ -1 +0,0 @@ -../../../ui/src/assets/favicon/web-app-manifest-512x512.png \ No newline at end of file diff --git a/packages/console/app/script/generate-sitemap.ts b/packages/console/app/script/generate-sitemap.ts deleted file mode 100755 index bdce205b9..000000000 --- a/packages/console/app/script/generate-sitemap.ts +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/env bun -import { readdir, writeFile } from "fs/promises" -import { join, dirname } from "path" -import { fileURLToPath } from "url" -import { config } from "../src/config.js" -import { LOCALES, route } from "../src/lib/language.js" - -const __dirname = dirname(fileURLToPath(import.meta.url)) -const BASE_URL = config.baseUrl -const PUBLIC_DIR = join(__dirname, "../public") -const ROUTES_DIR = join(__dirname, "../src/routes") -const DOCS_DIR = join(__dirname, "../../../web/src/content/docs") - -interface SitemapEntry { - url: string - priority: number - changefreq: string -} - -async function getMainRoutes(): Promise { - const routes: SitemapEntry[] = [] - - // Add main static routes - const staticRoutes = [ - { path: "/", priority: 1.0, changefreq: "daily" }, - { path: "/enterprise", priority: 0.8, changefreq: "weekly" }, - { path: "/brand", priority: 0.6, changefreq: "monthly" }, - { path: "/zen", priority: 0.8, changefreq: "weekly" }, - ] - - for (const item of staticRoutes) { - for (const locale of LOCALES) { - routes.push({ - url: `${BASE_URL}${route(locale, item.path)}`, - priority: item.priority, - changefreq: item.changefreq, - }) - } - } - - return routes -} - -async function getDocsRoutes(): Promise { - const routes: SitemapEntry[] = [] - - try { - const files = await readdir(DOCS_DIR) - - for (const file of files) { - if (!file.endsWith(".mdx")) continue - - const slug = file.replace(".mdx", "") - const path = slug === "index" ? "/docs/" : `/docs/${slug}` - - for (const locale of LOCALES) { - routes.push({ - url: `${BASE_URL}${route(locale, path)}`, - priority: slug === "index" ? 0.9 : 0.7, - changefreq: "weekly", - }) - } - } - } catch (error) { - console.error("Error reading docs directory:", error) - } - - return routes -} - -function generateSitemapXML(entries: SitemapEntry[]): string { - const urls = entries - .map( - (entry) => ` - ${entry.url} - ${entry.changefreq} - ${entry.priority} - `, - ) - .join("\n") - - return ` - -${urls} -` -} - -async function main() { - console.log("Generating sitemap...") - - const mainRoutes = await getMainRoutes() - const docsRoutes = await getDocsRoutes() - - const allRoutes = [...mainRoutes, ...docsRoutes] - - console.log(`Found ${mainRoutes.length} main routes`) - console.log(`Found ${docsRoutes.length} docs routes`) - console.log(`Total: ${allRoutes.length} routes`) - - const xml = generateSitemapXML(allRoutes) - - const outputPath = join(PUBLIC_DIR, "sitemap.xml") - await writeFile(outputPath, xml, "utf-8") - - console.log(`✓ Sitemap generated at ${outputPath}`) -} - -main() diff --git a/packages/console/app/src/app.css b/packages/console/app/src/app.css deleted file mode 100644 index c0261c422..000000000 --- a/packages/console/app/src/app.css +++ /dev/null @@ -1 +0,0 @@ -@import "./style/index.css"; diff --git a/packages/console/app/src/app.tsx b/packages/console/app/src/app.tsx deleted file mode 100644 index 8012d5ed6..000000000 --- a/packages/console/app/src/app.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { MetaProvider, Title, Meta } from "@solidjs/meta" -import { Router } from "@solidjs/router" -import { FileRoutes } from "@solidjs/start/router" -import { Suspense } from "solid-js" -import { Favicon } from "@opencode-ai/ui/favicon" -import { Font } from "@opencode-ai/ui/font" -import "@ibm/plex/css/ibm-plex.css" -import "./app.css" -import { LanguageProvider } from "~/context/language" -import { I18nProvider } from "~/context/i18n" -import { strip } from "~/lib/language" - -export default function App() { - return ( - ( - - - - Kilo - - - - {props.children} - - - - )} - > - - - ) -} diff --git a/packages/console/app/src/asset/black/hero.png b/packages/console/app/src/asset/black/hero.png deleted file mode 100644 index 967f4ac6e..000000000 Binary files a/packages/console/app/src/asset/black/hero.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/opencode-brand-assets.zip b/packages/console/app/src/asset/brand/opencode-brand-assets.zip deleted file mode 100644 index 85d3635ac..000000000 Binary files a/packages/console/app/src/asset/brand/opencode-brand-assets.zip and /dev/null differ diff --git a/packages/console/app/src/asset/brand/opencode-logo-dark.png b/packages/console/app/src/asset/brand/opencode-logo-dark.png deleted file mode 100644 index cf868c8e8..000000000 Binary files a/packages/console/app/src/asset/brand/opencode-logo-dark.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/opencode-logo-dark.svg b/packages/console/app/src/asset/brand/opencode-logo-dark.svg deleted file mode 100644 index c28babff1..000000000 --- a/packages/console/app/src/asset/brand/opencode-logo-dark.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/packages/console/app/src/asset/brand/opencode-logo-light.png b/packages/console/app/src/asset/brand/opencode-logo-light.png deleted file mode 100644 index a2ffc9b90..000000000 Binary files a/packages/console/app/src/asset/brand/opencode-logo-light.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/opencode-logo-light.svg b/packages/console/app/src/asset/brand/opencode-logo-light.svg deleted file mode 100644 index 7ed0af003..000000000 --- a/packages/console/app/src/asset/brand/opencode-logo-light.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/packages/console/app/src/asset/brand/opencode-wordmark-dark.png b/packages/console/app/src/asset/brand/opencode-wordmark-dark.png deleted file mode 100644 index f8e2c3f40..000000000 Binary files a/packages/console/app/src/asset/brand/opencode-wordmark-dark.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/opencode-wordmark-dark.svg b/packages/console/app/src/asset/brand/opencode-wordmark-dark.svg deleted file mode 100644 index a242eeeab..000000000 --- a/packages/console/app/src/asset/brand/opencode-wordmark-dark.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/console/app/src/asset/brand/opencode-wordmark-light.png b/packages/console/app/src/asset/brand/opencode-wordmark-light.png deleted file mode 100644 index f53607f71..000000000 Binary files a/packages/console/app/src/asset/brand/opencode-wordmark-light.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/opencode-wordmark-light.svg b/packages/console/app/src/asset/brand/opencode-wordmark-light.svg deleted file mode 100644 index 24a36c7ce..000000000 --- a/packages/console/app/src/asset/brand/opencode-wordmark-light.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/console/app/src/asset/brand/opencode-wordmark-simple-dark.png b/packages/console/app/src/asset/brand/opencode-wordmark-simple-dark.png deleted file mode 100644 index 945d4eb39..000000000 Binary files a/packages/console/app/src/asset/brand/opencode-wordmark-simple-dark.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/opencode-wordmark-simple-dark.svg b/packages/console/app/src/asset/brand/opencode-wordmark-simple-dark.svg deleted file mode 100644 index afc323e4d..000000000 --- a/packages/console/app/src/asset/brand/opencode-wordmark-simple-dark.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/console/app/src/asset/brand/opencode-wordmark-simple-light.png b/packages/console/app/src/asset/brand/opencode-wordmark-simple-light.png deleted file mode 100644 index 6c1d05704..000000000 Binary files a/packages/console/app/src/asset/brand/opencode-wordmark-simple-light.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/opencode-wordmark-simple-light.svg b/packages/console/app/src/asset/brand/opencode-wordmark-simple-light.svg deleted file mode 100644 index 29be24534..000000000 --- a/packages/console/app/src/asset/brand/opencode-wordmark-simple-light.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/console/app/src/asset/brand/preview-opencode-dark.png b/packages/console/app/src/asset/brand/preview-opencode-dark.png deleted file mode 100644 index 3c19242a8..000000000 Binary files a/packages/console/app/src/asset/brand/preview-opencode-dark.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/preview-opencode-logo-dark.png b/packages/console/app/src/asset/brand/preview-opencode-logo-dark.png deleted file mode 100644 index d1ef71372..000000000 Binary files a/packages/console/app/src/asset/brand/preview-opencode-logo-dark.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/preview-opencode-logo-light.png b/packages/console/app/src/asset/brand/preview-opencode-logo-light.png deleted file mode 100644 index d77bbc38a..000000000 Binary files a/packages/console/app/src/asset/brand/preview-opencode-logo-light.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/preview-opencode-wordmark-dark.png b/packages/console/app/src/asset/brand/preview-opencode-wordmark-dark.png deleted file mode 100644 index 58bcf936f..000000000 Binary files a/packages/console/app/src/asset/brand/preview-opencode-wordmark-dark.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/preview-opencode-wordmark-light.png b/packages/console/app/src/asset/brand/preview-opencode-wordmark-light.png deleted file mode 100644 index b39b7997d..000000000 Binary files a/packages/console/app/src/asset/brand/preview-opencode-wordmark-light.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/preview-opencode-wordmark-simple-dark.png b/packages/console/app/src/asset/brand/preview-opencode-wordmark-simple-dark.png deleted file mode 100644 index 2910c7a28..000000000 Binary files a/packages/console/app/src/asset/brand/preview-opencode-wordmark-simple-dark.png and /dev/null differ diff --git a/packages/console/app/src/asset/brand/preview-opencode-wordmark-simple-light.png b/packages/console/app/src/asset/brand/preview-opencode-wordmark-simple-light.png deleted file mode 100644 index 6ab84aa58..000000000 Binary files a/packages/console/app/src/asset/brand/preview-opencode-wordmark-simple-light.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/avatar-adam.png b/packages/console/app/src/asset/lander/avatar-adam.png deleted file mode 100644 index d94a0a9a4..000000000 Binary files a/packages/console/app/src/asset/lander/avatar-adam.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/avatar-david.png b/packages/console/app/src/asset/lander/avatar-david.png deleted file mode 100644 index 2e65272e3..000000000 Binary files a/packages/console/app/src/asset/lander/avatar-david.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/avatar-dax.png b/packages/console/app/src/asset/lander/avatar-dax.png deleted file mode 100644 index 0ee8feace..000000000 Binary files a/packages/console/app/src/asset/lander/avatar-dax.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/avatar-frank.png b/packages/console/app/src/asset/lander/avatar-frank.png deleted file mode 100644 index 5e8f7715f..000000000 Binary files a/packages/console/app/src/asset/lander/avatar-frank.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/avatar-jay.png b/packages/console/app/src/asset/lander/avatar-jay.png deleted file mode 100644 index 2f74ca8dc..000000000 Binary files a/packages/console/app/src/asset/lander/avatar-jay.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/brand-assets-dark.svg b/packages/console/app/src/asset/lander/brand-assets-dark.svg deleted file mode 100644 index 93da2462d..000000000 --- a/packages/console/app/src/asset/lander/brand-assets-dark.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/packages/console/app/src/asset/lander/brand-assets-light.svg b/packages/console/app/src/asset/lander/brand-assets-light.svg deleted file mode 100644 index aa9d115bf..000000000 --- a/packages/console/app/src/asset/lander/brand-assets-light.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/packages/console/app/src/asset/lander/brand.png b/packages/console/app/src/asset/lander/brand.png deleted file mode 100644 index 9c1653ed0..000000000 Binary files a/packages/console/app/src/asset/lander/brand.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/check.svg b/packages/console/app/src/asset/lander/check.svg deleted file mode 100644 index 0ac7759ea..000000000 --- a/packages/console/app/src/asset/lander/check.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/console/app/src/asset/lander/copy.svg b/packages/console/app/src/asset/lander/copy.svg deleted file mode 100644 index e2263279e..000000000 --- a/packages/console/app/src/asset/lander/copy.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/console/app/src/asset/lander/desktop-app-icon.png b/packages/console/app/src/asset/lander/desktop-app-icon.png deleted file mode 100644 index a35c28f51..000000000 Binary files a/packages/console/app/src/asset/lander/desktop-app-icon.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/dock.png b/packages/console/app/src/asset/lander/dock.png deleted file mode 100644 index b53db0106..000000000 Binary files a/packages/console/app/src/asset/lander/dock.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/logo-dark.svg b/packages/console/app/src/asset/lander/logo-dark.svg deleted file mode 100644 index d73830f93..000000000 --- a/packages/console/app/src/asset/lander/logo-dark.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/packages/console/app/src/asset/lander/logo-light.svg b/packages/console/app/src/asset/lander/logo-light.svg deleted file mode 100644 index 7394bf432..000000000 --- a/packages/console/app/src/asset/lander/logo-light.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/packages/console/app/src/asset/lander/opencode-comparison-min.mp4 b/packages/console/app/src/asset/lander/opencode-comparison-min.mp4 deleted file mode 100644 index 3cfa15b36..000000000 Binary files a/packages/console/app/src/asset/lander/opencode-comparison-min.mp4 and /dev/null differ diff --git a/packages/console/app/src/asset/lander/opencode-comparison-poster.png b/packages/console/app/src/asset/lander/opencode-comparison-poster.png deleted file mode 100644 index e1cd4bd75..000000000 Binary files a/packages/console/app/src/asset/lander/opencode-comparison-poster.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/opencode-desktop-icon.png b/packages/console/app/src/asset/lander/opencode-desktop-icon.png deleted file mode 100644 index f2c8d4f5a..000000000 Binary files a/packages/console/app/src/asset/lander/opencode-desktop-icon.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/opencode-logo-dark.svg b/packages/console/app/src/asset/lander/opencode-logo-dark.svg deleted file mode 100644 index 154000aaa..000000000 --- a/packages/console/app/src/asset/lander/opencode-logo-dark.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/packages/console/app/src/asset/lander/opencode-logo-light.svg b/packages/console/app/src/asset/lander/opencode-logo-light.svg deleted file mode 100644 index c1259a77d..000000000 --- a/packages/console/app/src/asset/lander/opencode-logo-light.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/packages/console/app/src/asset/lander/opencode-min.mp4 b/packages/console/app/src/asset/lander/opencode-min.mp4 deleted file mode 100644 index ffd6c4f7a..000000000 Binary files a/packages/console/app/src/asset/lander/opencode-min.mp4 and /dev/null differ diff --git a/packages/console/app/src/asset/lander/opencode-poster.png b/packages/console/app/src/asset/lander/opencode-poster.png deleted file mode 100644 index e1cd4bd75..000000000 Binary files a/packages/console/app/src/asset/lander/opencode-poster.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/opencode-wordmark-dark.svg b/packages/console/app/src/asset/lander/opencode-wordmark-dark.svg deleted file mode 100644 index 822d971ad..000000000 --- a/packages/console/app/src/asset/lander/opencode-wordmark-dark.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/console/app/src/asset/lander/opencode-wordmark-light.svg b/packages/console/app/src/asset/lander/opencode-wordmark-light.svg deleted file mode 100644 index 6d98af700..000000000 --- a/packages/console/app/src/asset/lander/opencode-wordmark-light.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/console/app/src/asset/lander/screenshot-github.png b/packages/console/app/src/asset/lander/screenshot-github.png deleted file mode 100644 index a421598ee..000000000 Binary files a/packages/console/app/src/asset/lander/screenshot-github.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/screenshot-splash.png b/packages/console/app/src/asset/lander/screenshot-splash.png deleted file mode 100644 index 98e9b477c..000000000 Binary files a/packages/console/app/src/asset/lander/screenshot-splash.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/screenshot-vscode.png b/packages/console/app/src/asset/lander/screenshot-vscode.png deleted file mode 100644 index 4297948e5..000000000 Binary files a/packages/console/app/src/asset/lander/screenshot-vscode.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/screenshot.png b/packages/console/app/src/asset/lander/screenshot.png deleted file mode 100644 index 26975bc89..000000000 Binary files a/packages/console/app/src/asset/lander/screenshot.png and /dev/null differ diff --git a/packages/console/app/src/asset/lander/wordmark-dark.svg b/packages/console/app/src/asset/lander/wordmark-dark.svg deleted file mode 100644 index 42f8e22a6..000000000 --- a/packages/console/app/src/asset/lander/wordmark-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/console/app/src/asset/lander/wordmark-light.svg b/packages/console/app/src/asset/lander/wordmark-light.svg deleted file mode 100644 index 398278da6..000000000 --- a/packages/console/app/src/asset/lander/wordmark-light.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/console/app/src/asset/logo-ornate-dark.svg b/packages/console/app/src/asset/logo-ornate-dark.svg deleted file mode 100644 index a15827324..000000000 --- a/packages/console/app/src/asset/logo-ornate-dark.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/packages/console/app/src/asset/logo-ornate-light.svg b/packages/console/app/src/asset/logo-ornate-light.svg deleted file mode 100644 index 2a856dcce..000000000 --- a/packages/console/app/src/asset/logo-ornate-light.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/packages/console/app/src/asset/logo.svg b/packages/console/app/src/asset/logo.svg deleted file mode 100644 index 2a856dcce..000000000 --- a/packages/console/app/src/asset/logo.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/packages/console/app/src/asset/zen-ornate-dark.svg b/packages/console/app/src/asset/zen-ornate-dark.svg deleted file mode 100644 index cdc4485fc..000000000 --- a/packages/console/app/src/asset/zen-ornate-dark.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/packages/console/app/src/asset/zen-ornate-light.svg b/packages/console/app/src/asset/zen-ornate-light.svg deleted file mode 100644 index 2a9ed1342..000000000 --- a/packages/console/app/src/asset/zen-ornate-light.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/packages/console/app/src/component/dropdown.css b/packages/console/app/src/component/dropdown.css deleted file mode 100644 index 242940e6a..000000000 --- a/packages/console/app/src/component/dropdown.css +++ /dev/null @@ -1,80 +0,0 @@ -[data-component="dropdown"] { - position: relative; - - [data-slot="trigger"] { - display: flex; - align-items: center; - justify-content: space-between; - gap: var(--space-2); - padding: var(--space-2) var(--space-3); - border: none; - border-radius: var(--border-radius-sm); - background-color: transparent; - color: var(--color-text); - font-size: var(--font-size-sm); - font-family: var(--font-sans); - cursor: pointer; - transition: all 0.15s ease; - - &:hover { - background-color: var(--color-surface-hover); - } - - span { - flex: 1; - text-align: left; - font-weight: 500; - } - } - - [data-slot="chevron"] { - flex-shrink: 0; - color: var(--color-text-secondary); - } - - [data-slot="dropdown"] { - position: absolute; - top: 100%; - z-index: 1000; - margin-top: var(--space-1); - border: 1px solid var(--color-border); - border-radius: var(--border-radius-sm); - background-color: var(--color-bg); - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); - min-width: 160px; - - &[data-align="left"] { - left: 0; - } - - &[data-align="right"] { - right: 0; - } - - @media (prefers-color-scheme: dark) { - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); - } - } - - [data-slot="item"] { - display: block; - width: 100%; - padding: var(--space-2-5) var(--space-3); - border: none; - background: none; - color: var(--color-text); - font-size: var(--font-size-sm); - font-family: var(--font-sans); - text-align: left; - cursor: pointer; - transition: background-color 0.15s ease; - - &:hover { - background-color: var(--color-bg-surface); - } - - &[data-selected="true"] { - background-color: var(--color-accent-alpha); - } - } -} diff --git a/packages/console/app/src/component/dropdown.tsx b/packages/console/app/src/component/dropdown.tsx deleted file mode 100644 index de99d4481..000000000 --- a/packages/console/app/src/component/dropdown.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import { JSX, Show, createEffect, onCleanup } from "solid-js" -import { createStore } from "solid-js/store" -import { IconChevron } from "./icon" -import "./dropdown.css" - -interface DropdownProps { - trigger: JSX.Element | string - children: JSX.Element - open?: boolean - onOpenChange?: (open: boolean) => void - align?: "left" | "right" - class?: string -} - -export function Dropdown(props: DropdownProps) { - const [store, setStore] = createStore({ - isOpen: props.open ?? false, - }) - let dropdownRef: HTMLDivElement | undefined - - createEffect(() => { - if (props.open !== undefined) { - setStore("isOpen", props.open) - } - }) - - createEffect(() => { - const handleClickOutside = (event: MouseEvent) => { - if (dropdownRef && !dropdownRef.contains(event.target as Node)) { - setStore("isOpen", false) - props.onOpenChange?.(false) - } - } - - document.addEventListener("click", handleClickOutside) - onCleanup(() => document.removeEventListener("click", handleClickOutside)) - }) - - const toggle = () => { - const newValue = !store.isOpen - setStore("isOpen", newValue) - props.onOpenChange?.(newValue) - } - - return ( -
- - - -
- {props.children} -
-
-
- ) -} - -interface DropdownItemProps { - children: JSX.Element - selected?: boolean - onClick?: () => void - type?: "button" | "submit" | "reset" -} - -export function DropdownItem(props: DropdownItemProps) { - return ( - - ) -} diff --git a/packages/console/app/src/component/email-signup.tsx b/packages/console/app/src/component/email-signup.tsx deleted file mode 100644 index bd33e9200..000000000 --- a/packages/console/app/src/component/email-signup.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { action, useSubmission } from "@solidjs/router" -import dock from "../asset/lander/dock.png" -import { Resource } from "@opencode-ai/console-resource" -import { Show } from "solid-js" -import { useI18n } from "~/context/i18n" - -const emailSignup = action(async (formData: FormData) => { - "use server" - const emailAddress = formData.get("email")! - const listId = "8b9bb82c-9d5f-11f0-975f-0df6fd1e4945" - const response = await fetch(`https://api.emailoctopus.com/lists/${listId}/contacts`, { - method: "PUT", - headers: { - Authorization: `Bearer ${Resource.EMAILOCTOPUS_API_KEY.value}`, - "Content-Type": "application/json", - }, - body: JSON.stringify({ - email_address: emailAddress, - }), - }) - console.log(response) - return true -}) - -export function EmailSignup() { - const submission = useSubmission(emailSignup) - const i18n = useI18n() - return ( -
-
-

{i18n.t("email.title")}

-

{i18n.t("email.subtitle")}

-
-
- - -
- -
{i18n.t("email.success")}
-
- -
{submission.error}
-
-
- ) -} diff --git a/packages/console/app/src/component/faq.tsx b/packages/console/app/src/component/faq.tsx deleted file mode 100644 index 753a0dce4..000000000 --- a/packages/console/app/src/component/faq.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { Collapsible } from "@kobalte/core/collapsible" -import { ParentProps } from "solid-js" - -export function Faq(props: ParentProps & { question: string }) { - return ( - - - - - - - - -
{props.question}
-
- {props.children} -
- ) -} diff --git a/packages/console/app/src/component/footer.tsx b/packages/console/app/src/component/footer.tsx deleted file mode 100644 index d81bf3247..000000000 --- a/packages/console/app/src/component/footer.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { createAsync } from "@solidjs/router" -import { createMemo } from "solid-js" -import { github } from "~/lib/github" -import { config } from "~/config" -import { useLanguage } from "~/context/language" -import { useI18n } from "~/context/i18n" - -export function Footer() { - const language = useLanguage() - const i18n = useI18n() - const githubData = createAsync(() => github()) - const starCount = createMemo(() => - githubData()?.stars - ? new Intl.NumberFormat(language.tag(language.locale()), { - notation: "compact", - compactDisplay: "short", - }).format(githubData()!.stars!) - : config.github.starsFormatted.compact, - ) - - return ( - - ) -} diff --git a/packages/console/app/src/component/header-context-menu.css b/packages/console/app/src/component/header-context-menu.css deleted file mode 100644 index 34177457d..000000000 --- a/packages/console/app/src/component/header-context-menu.css +++ /dev/null @@ -1,63 +0,0 @@ -.context-menu { - position: fixed; - z-index: 1000; - min-width: 160px; - border-radius: 8px; - background-color: var(--color-background); - box-shadow: - 0 0 0 1px rgba(19, 16, 16, 0.08), - 0 6px 8px -4px rgba(19, 16, 16, 0.12), - 0 4px 3px -2px rgba(19, 16, 16, 0.12), - 0 1px 2px -1px rgba(19, 16, 16, 0.12); - padding: 6px; - - @media (prefers-color-scheme: dark) { - box-shadow: 0 0 0 1px rgba(247, 237, 237, 0.1); - } -} - -.context-menu-item { - display: flex; - gap: 12px; - width: 100%; - padding: 8px 16px 8px 8px; - font-weight: 500; - cursor: pointer; - background: none; - border: none; - align-items: center; - color: var(--color-text); - font-size: var(--font-size-sm); - text-align: left; - border-radius: 2px; - transition: background-color 0.2s ease; - - [data-slot="copy dark"] { - display: none; - } - - @media (prefers-color-scheme: dark) { - [data-slot="copy light"] { - display: none; - } - [data-slot="copy dark"] { - display: block; - } - } - - &:hover { - background-color: var(--color-background-weak-hover); - color: var(--color-text-strong); - } - - img { - width: 22px; - height: 26px; - } -} - -.context-menu-divider { - border: none; - border-top: 1px solid var(--color-border); - margin: var(--space-1) 0; -} diff --git a/packages/console/app/src/component/header.tsx b/packages/console/app/src/component/header.tsx deleted file mode 100644 index cca7ac47c..000000000 --- a/packages/console/app/src/component/header.tsx +++ /dev/null @@ -1,287 +0,0 @@ -import logoLight from "../asset/logo-ornate-light.svg" -import logoDark from "../asset/logo-ornate-dark.svg" -import copyLogoLight from "../asset/lander/logo-light.svg" -import copyLogoDark from "../asset/lander/logo-dark.svg" -import copyWordmarkLight from "../asset/lander/wordmark-light.svg" -import copyWordmarkDark from "../asset/lander/wordmark-dark.svg" -import copyBrandAssetsLight from "../asset/lander/brand-assets-light.svg" -import copyBrandAssetsDark from "../asset/lander/brand-assets-dark.svg" - -// SVG files for copying (separate from button icons) -// Replace these with your actual SVG files for copying -import copyLogoSvgLight from "../asset/lander/opencode-logo-light.svg" -import copyLogoSvgDark from "../asset/lander/opencode-logo-dark.svg" -import copyWordmarkSvgLight from "../asset/lander/opencode-wordmark-light.svg" -import copyWordmarkSvgDark from "../asset/lander/opencode-wordmark-dark.svg" -import { A, createAsync, useNavigate } from "@solidjs/router" -import { createMemo, Match, Show, Switch } from "solid-js" -import { createStore } from "solid-js/store" -import { github } from "~/lib/github" -import { createEffect, onCleanup } from "solid-js" -import { config } from "~/config" -import { useI18n } from "~/context/i18n" -import { useLanguage } from "~/context/language" -import "./header-context-menu.css" - -const isDarkMode = () => window.matchMedia("(prefers-color-scheme: dark)").matches - -const fetchSvgContent = async (svgPath: string): Promise => { - try { - const response = await fetch(svgPath) - const svgText = await response.text() - return svgText - } catch (err) { - console.error("Failed to fetch SVG content:", err) - throw err - } -} - -export function Header(props: { zen?: boolean; hideGetStarted?: boolean }) { - const navigate = useNavigate() - const i18n = useI18n() - const language = useLanguage() - const githubData = createAsync(() => github()) - const starCount = createMemo(() => - githubData()?.stars - ? new Intl.NumberFormat("en-US", { - notation: "compact", - compactDisplay: "short", - maximumFractionDigits: 0, - }).format(githubData()?.stars!) - : config.github.starsFormatted.compact, - ) - - const [store, setStore] = createStore({ - mobileMenuOpen: false, - contextMenuOpen: false, - contextMenuPosition: { x: 0, y: 0 }, - }) - - createEffect(() => { - const handleClickOutside = () => { - setStore("contextMenuOpen", false) - } - - const handleContextMenu = (event: MouseEvent) => { - event.preventDefault() - setStore("contextMenuOpen", false) - } - - const handleKeyDown = (event: KeyboardEvent) => { - if (event.key === "Escape") { - setStore("contextMenuOpen", false) - } - } - - if (store.contextMenuOpen) { - document.addEventListener("click", handleClickOutside) - document.addEventListener("contextmenu", handleContextMenu) - document.addEventListener("keydown", handleKeyDown) - onCleanup(() => { - document.removeEventListener("click", handleClickOutside) - document.removeEventListener("contextmenu", handleContextMenu) - document.removeEventListener("keydown", handleKeyDown) - }) - } - }) - - const handleLogoContextMenu = (event: MouseEvent) => { - event.preventDefault() - const logoElement = (event.currentTarget as HTMLElement).querySelector("a") - if (logoElement) { - const rect = logoElement.getBoundingClientRect() - setStore("contextMenuPosition", { - x: rect.left - 16, - y: rect.bottom + 8, - }) - } - setStore("contextMenuOpen", true) - } - - const copyWordmarkToClipboard = async () => { - try { - const isDark = isDarkMode() - const wordmarkSvgPath = isDark ? copyWordmarkSvgDark : copyWordmarkSvgLight - const wordmarkSvg = await fetchSvgContent(wordmarkSvgPath) - await navigator.clipboard.writeText(wordmarkSvg) - } catch (err) { - console.error("Failed to copy wordmark to clipboard:", err) - } - } - - const copyLogoToClipboard = async () => { - try { - const isDark = isDarkMode() - const logoSvgPath = isDark ? copyLogoSvgDark : copyLogoSvgLight - const logoSvg = await fetchSvgContent(logoSvgPath) - await navigator.clipboard.writeText(logoSvg) - } catch (err) { - console.error("Failed to copy logo to clipboard:", err) - } - } - - return ( -
- - - -
- - - -
-
- - -
- ) -} diff --git a/packages/console/app/src/component/icon.tsx b/packages/console/app/src/component/icon.tsx deleted file mode 100644 index 1225aeb10..000000000 --- a/packages/console/app/src/component/icon.tsx +++ /dev/null @@ -1,257 +0,0 @@ -import { JSX } from "solid-js" - -export function IconLogo(props: JSX.SvgSVGAttributes) { - return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ) -} - -export function IconCopy(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconCheck(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconCreditCard(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconStripe(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconChevron(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconWorkspaceLogo(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconOpenAI(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconAnthropic(props: JSX.SvgSVGAttributes) { - return ( - - - - - ) -} - -export function IconXai(props: JSX.SvgSVGAttributes) { - return ( - - - - - ) -} - -export function IconAlibaba(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconMoonshotAI(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconZai(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconMiniMax(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconGemini(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconStealth(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconChevronLeft(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconChevronRight(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -export function IconBreakdown(props: JSX.SvgSVGAttributes) { - return ( - - - - - - - ) -} diff --git a/packages/console/app/src/component/language-picker.css b/packages/console/app/src/component/language-picker.css deleted file mode 100644 index 8ef2306d7..000000000 --- a/packages/console/app/src/component/language-picker.css +++ /dev/null @@ -1,135 +0,0 @@ -[data-component="language-picker"] { - width: auto; -} - -[data-component="footer"] [data-component="language-picker"] { - width: 100%; -} - -[data-component="footer"] [data-component="language-picker"] [data-component="dropdown"] { - width: 100%; -} - -/* Standard site footer (grid of cells) */ -[data-component="footer"] [data-slot="cell"] [data-component="language-picker"] { - height: 100%; -} - -[data-component="footer"] [data-slot="cell"] [data-component="language-picker"] [data-slot="trigger"] { - width: 100%; - padding: 2rem 0; - border-radius: 0; - justify-content: center; - gap: var(--space-2); - color: inherit; - font: inherit; -} - -[data-component="footer"] [data-slot="cell"] [data-component="language-picker"] [data-slot="trigger"] span { - flex: 0 0 auto; - text-align: center; - font-weight: inherit; -} - -[data-component="footer"] [data-slot="cell"] [data-component="language-picker"] [data-slot="trigger"]:hover { - background: var(--color-background-weak); - text-decoration: underline; - text-underline-offset: var(--space-1); - text-decoration-thickness: 1px; -} - -/* Footer dropdown should open upward */ -[data-component="footer"] [data-component="language-picker"] [data-slot="dropdown"] { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: var(--space-2); - max-height: min(60vh, 420px); - overflow: auto; -} - -[data-component="legal"] { - flex-wrap: wrap; - row-gap: var(--space-2); -} - -[data-component="legal"] [data-component="language-picker"] { - width: auto; -} - -[data-component="legal"] [data-component="language-picker"] [data-slot="trigger"] { - padding: 0; - border-radius: 0; - background: transparent; - font: inherit; - color: var(--color-text-weak); - white-space: nowrap; -} - -[data-component="legal"] [data-component="language-picker"] [data-slot="trigger"] span { - font-weight: inherit; -} - -[data-component="legal"] [data-component="language-picker"] [data-slot="trigger"]:hover { - background: transparent; - color: var(--color-text); - text-decoration: underline; - text-underline-offset: var(--space-1); - text-decoration-thickness: 1px; -} - -[data-component="legal"] [data-component="language-picker"] [data-slot="dropdown"] { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: var(--space-2); - max-height: min(60vh, 420px); - overflow: auto; -} - -/* Black pages footer */ -[data-page="black"] [data-component="language-picker"] { - width: auto; -} - -[data-page="black"] [data-component="language-picker"] [data-component="dropdown"] { - width: auto; -} - -[data-page="black"] [data-component="language-picker"] [data-slot="trigger"] { - padding: 0; - border-radius: 0; - background: transparent; - font: inherit; - color: rgba(255, 255, 255, 0.39); -} - -[data-page="black"] [data-component="language-picker"] [data-slot="trigger"]:hover { - background: transparent; - text-decoration: underline; - text-underline-offset: 4px; -} - -[data-page="black"] [data-component="language-picker"] [data-slot="dropdown"] { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: 12px; - background-color: #0e0e10; - border-color: rgba(255, 255, 255, 0.14); - box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6); - max-height: min(60vh, 420px); - overflow: auto; -} - -[data-page="black"] [data-component="language-picker"] [data-slot="item"] { - color: rgba(255, 255, 255, 0.86); -} - -[data-page="black"] [data-component="language-picker"] [data-slot="item"]:hover { - background-color: rgba(255, 255, 255, 0.06); -} - -[data-page="black"] [data-component="language-picker"] [data-slot="item"][data-selected="true"] { - background-color: rgba(255, 255, 255, 0.1); -} diff --git a/packages/console/app/src/component/language-picker.tsx b/packages/console/app/src/component/language-picker.tsx deleted file mode 100644 index f42fd8065..000000000 --- a/packages/console/app/src/component/language-picker.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { For, createSignal } from "solid-js" -import { useLocation, useNavigate } from "@solidjs/router" -import { Dropdown, DropdownItem } from "~/component/dropdown" -import { useLanguage } from "~/context/language" -import { route, strip } from "~/lib/language" -import "./language-picker.css" - -export function LanguagePicker(props: { align?: "left" | "right" } = {}) { - const language = useLanguage() - const navigate = useNavigate() - const location = useLocation() - const [open, setOpen] = createSignal(false) - - return ( -
- - - {(locale) => ( - { - language.setLocale(locale) - const href = `${route(locale, strip(location.pathname))}${location.search}${location.hash}` - if (href !== `${location.pathname}${location.search}${location.hash}`) navigate(href) - setOpen(false) - }} - > - {language.label(locale)} - - )} - - -
- ) -} diff --git a/packages/console/app/src/component/legal.tsx b/packages/console/app/src/component/legal.tsx deleted file mode 100644 index 39c534bf2..000000000 --- a/packages/console/app/src/component/legal.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { A } from "@solidjs/router" -import { LanguagePicker } from "~/component/language-picker" -import { useI18n } from "~/context/i18n" -import { useLanguage } from "~/context/language" - -export function Legal() { - const i18n = useI18n() - const language = useLanguage() - return ( -
- - ©{new Date().getFullYear()} Anomaly - - - {i18n.t("legal.brand")} - - - {i18n.t("legal.privacy")} - - - {i18n.t("legal.terms")} - - - - -
- ) -} diff --git a/packages/console/app/src/component/locale-links.tsx b/packages/console/app/src/component/locale-links.tsx deleted file mode 100644 index f773bb885..000000000 --- a/packages/console/app/src/component/locale-links.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { Link } from "@solidjs/meta" -import { For } from "solid-js" -import { getRequestEvent } from "solid-js/web" -import { config } from "~/config" -import { useLanguage } from "~/context/language" -import { LOCALES, route, tag } from "~/lib/language" - -function skip(path: string) { - const evt = getRequestEvent() - if (!evt) return false - - const key = "__locale_links_seen" - const locals = evt.locals as Record - const seen = locals[key] instanceof Set ? (locals[key] as Set) : new Set() - locals[key] = seen - if (seen.has(path)) return true - seen.add(path) - return false -} - -export function LocaleLinks(props: { path: string }) { - const language = useLanguage() - if (skip(props.path)) return null - - return ( - <> - - - {(locale) => ( - - )} - - - - ) -} diff --git a/packages/console/app/src/component/modal.css b/packages/console/app/src/component/modal.css deleted file mode 100644 index 1f47f395d..000000000 --- a/packages/console/app/src/component/modal.css +++ /dev/null @@ -1,66 +0,0 @@ -@keyframes fadeIn { - from { - opacity: 0; - } - - to { - opacity: 1; - } -} - -@keyframes slideUp { - from { - opacity: 0; - transform: translateY(20px); - } - - to { - opacity: 1; - transform: translateY(0); - } -} - -[data-component="modal"][data-slot="overlay"] { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 9999; - display: flex; - align-items: center; - justify-content: center; - background-color: rgba(0, 0, 0, 0.5); - animation: fadeIn 0.2s ease; - - @media (prefers-color-scheme: dark) { - background-color: rgba(0, 0, 0, 0.7); - } - - [data-slot="content"] { - background-color: var(--color-bg); - border: 1px solid var(--color-border); - border-radius: var(--border-radius-md); - padding: var(--space-6); - min-width: 400px; - max-width: 90vw; - box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2); - animation: slideUp 0.2s ease; - - @media (max-width: 30rem) { - min-width: 300px; - padding: var(--space-4); - } - - @media (prefers-color-scheme: dark) { - box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); - } - } - - [data-slot="title"] { - margin: 0 0 var(--space-4) 0; - font-size: var(--font-size-lg); - font-weight: 600; - color: var(--color-text); - } -} diff --git a/packages/console/app/src/component/modal.tsx b/packages/console/app/src/component/modal.tsx deleted file mode 100644 index d6dc8a3de..000000000 --- a/packages/console/app/src/component/modal.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { JSX, Show } from "solid-js" -import "./modal.css" - -interface ModalProps { - open: boolean - onClose: () => void - title?: string - children: JSX.Element -} - -export function Modal(props: ModalProps) { - return ( - -
-
e.stopPropagation()}> - -

{props.title}

-
- {props.children} -
-
-
- ) -} diff --git a/packages/console/app/src/component/spotlight.css b/packages/console/app/src/component/spotlight.css deleted file mode 100644 index 4b311c3d0..000000000 --- a/packages/console/app/src/component/spotlight.css +++ /dev/null @@ -1,15 +0,0 @@ -.spotlight-container { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 50dvh; - pointer-events: none; - overflow: hidden; -} - -.spotlight-container canvas { - display: block; - width: 100%; - height: 100%; -} diff --git a/packages/console/app/src/component/spotlight.tsx b/packages/console/app/src/component/spotlight.tsx deleted file mode 100644 index 704306990..000000000 --- a/packages/console/app/src/component/spotlight.tsx +++ /dev/null @@ -1,820 +0,0 @@ -import { createSignal, createEffect, onMount, onCleanup, Accessor } from "solid-js" -import "./spotlight.css" - -export interface ParticlesConfig { - enabled: boolean - amount: number - size: [number, number] - speed: number - opacity: number - drift: number -} - -export interface SpotlightConfig { - placement: [number, number] - color: string - speed: number - spread: number - length: number - width: number - pulsating: false | [number, number] - distance: number - saturation: number - noiseAmount: number - distortion: number - opacity: number - particles: ParticlesConfig -} - -export const defaultConfig: SpotlightConfig = { - placement: [0.5, -0.15], - color: "#ffffff", - speed: 0.8, - spread: 0.5, - length: 4.0, - width: 0.15, - pulsating: [0.95, 1.1], - distance: 3.5, - saturation: 0.35, - noiseAmount: 0.15, - distortion: 0.05, - opacity: 0.325, - particles: { - enabled: true, - amount: 70, - size: [1.25, 1.5], - speed: 0.75, - opacity: 0.9, - drift: 1.5, - }, -} - -export interface SpotlightAnimationState { - time: number - intensity: number - pulseValue: number -} - -interface SpotlightProps { - config: Accessor - class?: string - onAnimationFrame?: (state: SpotlightAnimationState) => void -} - -const hexToRgb = (hex: string): [number, number, number] => { - const m = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex) - return m ? [parseInt(m[1], 16) / 255, parseInt(m[2], 16) / 255, parseInt(m[3], 16) / 255] : [1, 1, 1] -} - -const getAnchorAndDir = ( - placement: [number, number], - w: number, - h: number, -): { anchor: [number, number]; dir: [number, number] } => { - const [px, py] = placement - const outside = 0.2 - - let anchorX = px * w - let anchorY = py * h - let dirX = 0 - let dirY = 0 - - const centerX = 0.5 - const centerY = 0.5 - - if (py <= 0.25) { - anchorY = -outside * h + py * h - dirY = 1 - dirX = (centerX - px) * 0.5 - } else if (py >= 0.75) { - anchorY = (1 + outside) * h - (1 - py) * h - dirY = -1 - dirX = (centerX - px) * 0.5 - } else if (px <= 0.25) { - anchorX = -outside * w + px * w - dirX = 1 - dirY = (centerY - py) * 0.5 - } else if (px >= 0.75) { - anchorX = (1 + outside) * w - (1 - px) * w - dirX = -1 - dirY = (centerY - py) * 0.5 - } else { - dirY = 1 - } - - const len = Math.sqrt(dirX * dirX + dirY * dirY) - if (len > 0) { - dirX /= len - dirY /= len - } - - return { anchor: [anchorX, anchorY], dir: [dirX, dirY] } -} - -interface UniformData { - iTime: number - iResolution: [number, number] - lightPos: [number, number] - lightDir: [number, number] - color: [number, number, number] - speed: number - lightSpread: number - lightLength: number - sourceWidth: number - pulsating: number - pulsatingMin: number - pulsatingMax: number - fadeDistance: number - saturation: number - noiseAmount: number - distortion: number - particlesEnabled: number - particleAmount: number - particleSizeMin: number - particleSizeMax: number - particleSpeed: number - particleOpacity: number - particleDrift: number -} - -const WGSL_SHADER = ` - struct Uniforms { - iTime: f32, - _pad0: f32, - iResolution: vec2, - lightPos: vec2, - lightDir: vec2, - color: vec3, - speed: f32, - lightSpread: f32, - lightLength: f32, - sourceWidth: f32, - pulsating: f32, - pulsatingMin: f32, - pulsatingMax: f32, - fadeDistance: f32, - saturation: f32, - noiseAmount: f32, - distortion: f32, - particlesEnabled: f32, - particleAmount: f32, - particleSizeMin: f32, - particleSizeMax: f32, - particleSpeed: f32, - particleOpacity: f32, - particleDrift: f32, - _pad1: f32, - _pad2: f32, - }; - - @group(0) @binding(0) var uniforms: Uniforms; - - struct VertexOutput { - @builtin(position) position: vec4, - @location(0) vUv: vec2, - }; - - @vertex - fn vertexMain(@builtin(vertex_index) vertexIndex: u32) -> VertexOutput { - var positions = array, 3>( - vec2(-1.0, -1.0), - vec2(3.0, -1.0), - vec2(-1.0, 3.0) - ); - - var output: VertexOutput; - let pos = positions[vertexIndex]; - output.position = vec4(pos, 0.0, 1.0); - output.vUv = pos * 0.5 + 0.5; - return output; - } - - fn hash(p: vec2) -> f32 { - let p3 = fract(p.xyx * 0.1031); - return fract((p3.x + p3.y) * p3.z + dot(p3, p3.yzx + 33.33)); - } - - fn hash2(p: vec2) -> vec2 { - let n = sin(dot(p, vec2(41.0, 289.0))); - return fract(vec2(n * 262144.0, n * 32768.0)); - } - - fn fastNoise(st: vec2) -> f32 { - return fract(sin(dot(st, vec2(12.9898, 78.233))) * 43758.5453); - } - - fn lightStrengthCombined(lightSource: vec2, lightRefDirection: vec2, coord: vec2) -> f32 { - let sourceToCoord = coord - lightSource; - let distSq = dot(sourceToCoord, sourceToCoord); - let distance = sqrt(distSq); - - let baseSize = min(uniforms.iResolution.x, uniforms.iResolution.y); - let maxDistance = max(baseSize * uniforms.lightLength, 0.001); - if (distance > maxDistance) { - return 0.0; - } - - let invDist = 1.0 / max(distance, 0.001); - let dirNorm = sourceToCoord * invDist; - let cosAngle = dot(dirNorm, lightRefDirection); - - if (cosAngle < 0.0) { - return 0.0; - } - - let side = dot(dirNorm, vec2(-lightRefDirection.y, lightRefDirection.x)); - let time = uniforms.iTime; - let speed = uniforms.speed; - - let asymNoise = fastNoise(vec2(side * 6.0 + time * 0.12, distance * 0.004 + cosAngle * 2.0)); - let asymShift = (asymNoise - 0.5) * uniforms.distortion * 0.6; - - let distortPhase = time * 1.4 + distance * 0.006 + cosAngle * 4.5 + side * 1.7; - let distortedAngle = cosAngle + uniforms.distortion * sin(distortPhase) * 0.22 + asymShift; - - let flickerSeed = cosAngle * 9.0 + side * 4.0 + time * speed * 0.35; - let flicker = 0.86 + fastNoise(vec2(flickerSeed, distance * 0.01)) * 0.28; - - let asymSpread = max(uniforms.lightSpread * (0.9 + (asymNoise - 0.5) * 0.25), 0.001); - let spreadFactor = pow(max(distortedAngle, 0.0), 1.0 / asymSpread); - let lengthFalloff = clamp(1.0 - distance / maxDistance, 0.0, 1.0); - - let fadeMaxDist = max(baseSize * uniforms.fadeDistance, 0.001); - let fadeFalloff = clamp((fadeMaxDist - distance) / fadeMaxDist, 0.0, 1.0); - - var pulse: f32 = 1.0; - if (uniforms.pulsating > 0.5) { - let pulseCenter = (uniforms.pulsatingMin + uniforms.pulsatingMax) * 0.5; - let pulseAmplitude = (uniforms.pulsatingMax - uniforms.pulsatingMin) * 0.5; - pulse = pulseCenter + pulseAmplitude * sin(time * speed * 3.0); - } - - let timeSpeed = time * speed; - let wave = 0.5 - + 0.25 * sin(cosAngle * 28.0 + side * 8.0 + timeSpeed * 1.2) - + 0.18 * cos(cosAngle * 22.0 - timeSpeed * 0.95 + side * 6.0) - + 0.12 * sin(cosAngle * 35.0 + timeSpeed * 1.6 + asymNoise * 3.0); - let minStrength = 0.14 + asymNoise * 0.06; - let baseStrength = max(clamp(wave * (0.85 + asymNoise * 0.3), 0.0, 1.0), minStrength); - - let lightStrength = baseStrength * lengthFalloff * fadeFalloff * spreadFactor * pulse * flicker; - let ambientLight = (0.06 + asymNoise * 0.04) * lengthFalloff * fadeFalloff * spreadFactor; - - return max(lightStrength, ambientLight); - } - - fn particle(coord: vec2, particlePos: vec2, size: f32) -> f32 { - let delta = coord - particlePos; - let distSq = dot(delta, delta); - let sizeSq = size * size; - - if (distSq > sizeSq * 9.0) { - return 0.0; - } - - let d = sqrt(distSq); - let core = smoothstep(size, size * 0.35, d); - let glow = smoothstep(size * 3.0, 0.0, d) * 0.55; - return core + glow; - } - - fn renderParticles(coord: vec2, lightSource: vec2, lightDir: vec2) -> f32 { - if (uniforms.particlesEnabled < 0.5 || uniforms.particleAmount < 1.0) { - return 0.0; - } - - var particleSum: f32 = 0.0; - let particleCount = i32(uniforms.particleAmount); - let time = uniforms.iTime * uniforms.particleSpeed; - let perpDir = vec2(-lightDir.y, lightDir.x); - let baseSize = min(uniforms.iResolution.x, uniforms.iResolution.y); - let maxDist = max(baseSize * uniforms.lightLength, 1.0); - let spreadScale = uniforms.lightSpread * baseSize * 0.65; - let coneHalfWidth = uniforms.lightSpread * baseSize * 0.55; - - for (var i: i32 = 0; i < particleCount; i = i + 1) { - let fi = f32(i); - let seed = vec2(fi * 127.1, fi * 311.7); - let rnd = hash2(seed); - - let lifeDuration = 2.0 + hash(seed + vec2(19.0, 73.0)) * 3.0; - let lifeOffset = hash(seed + vec2(91.0, 37.0)) * lifeDuration; - let lifeProgress = fract((time + lifeOffset) / lifeDuration); - - let fadeIn = smoothstep(0.0, 0.2, lifeProgress); - let fadeOut = 1.0 - smoothstep(0.8, 1.0, lifeProgress); - let lifeFade = fadeIn * fadeOut; - if (lifeFade < 0.01) { - continue; - } - - let alongLight = rnd.x * maxDist * 0.8; - let perpOffset = (rnd.y - 0.5) * spreadScale; - - let floatPhase = rnd.y * 6.28318 + fi * 0.37; - let floatSpeed = 0.35 + rnd.x * 0.9; - let drift = vec2( - sin(time * floatSpeed + floatPhase), - cos(time * floatSpeed * 0.85 + floatPhase * 1.3) - ) * uniforms.particleDrift * baseSize * 0.08; - - let wobble = vec2( - sin(time * 1.4 + floatPhase * 2.1), - cos(time * 1.1 + floatPhase * 1.6) - ) * uniforms.particleDrift * baseSize * 0.03; - - let flowOffset = (rnd.x - 0.5) * baseSize * 0.12 + fract(time * 0.06 + rnd.y) * baseSize * 0.1; - - let basePos = lightSource + lightDir * (alongLight + flowOffset) + perpDir * perpOffset + drift + wobble; - - let toParticle = basePos - lightSource; - let projLen = dot(toParticle, lightDir); - if (projLen < 0.0 || projLen > maxDist) { - continue; - } - - let sideDist = abs(dot(toParticle, perpDir)); - if (sideDist > coneHalfWidth) { - continue; - } - - let size = mix(uniforms.particleSizeMin, uniforms.particleSizeMax, rnd.x); - let twinkle = 0.7 + 0.3 * sin(time * (1.5 + rnd.y * 2.0) + floatPhase); - let distFade = 1.0 - smoothstep(maxDist * 0.2, maxDist * 0.95, projLen); - if (distFade < 0.01) { - continue; - } - - let p = particle(coord, basePos, size); - if (p > 0.0) { - particleSum = particleSum + p * lifeFade * twinkle * distFade * uniforms.particleOpacity; - if (particleSum >= 1.0) { - break; - } - } - } - - return min(particleSum, 1.0); - } - - @fragment - fn fragmentMain(@builtin(position) fragCoord: vec4, @location(0) vUv: vec2) -> @location(0) vec4 { - let coord = vec2(fragCoord.x, fragCoord.y); - - let normalizedX = (coord.x / uniforms.iResolution.x) - 0.5; - let widthOffset = -normalizedX * uniforms.sourceWidth * uniforms.iResolution.x; - - let perpDir = vec2(-uniforms.lightDir.y, uniforms.lightDir.x); - let adjustedLightPos = uniforms.lightPos + perpDir * widthOffset; - - let lightValue = lightStrengthCombined(adjustedLightPos, uniforms.lightDir, coord); - - if (lightValue < 0.001) { - let particles = renderParticles(coord, adjustedLightPos, uniforms.lightDir); - if (particles < 0.001) { - return vec4(0.0, 0.0, 0.0, 0.0); - } - let particleBrightness = particles * 1.8; - return vec4(uniforms.color * particleBrightness, particles * 0.9); - } - - var fragColor = vec4(lightValue, lightValue, lightValue, lightValue); - - if (uniforms.noiseAmount > 0.01) { - let n = fastNoise(coord * 0.5 + uniforms.iTime * 0.5); - let grain = mix(1.0, n, uniforms.noiseAmount * 0.5); - fragColor = vec4(fragColor.rgb * grain, fragColor.a); - } - - let brightness = 1.0 - (coord.y / uniforms.iResolution.y); - fragColor = vec4( - fragColor.x * (0.15 + brightness * 0.85), - fragColor.y * (0.35 + brightness * 0.65), - fragColor.z * (0.55 + brightness * 0.45), - fragColor.a - ); - - if (abs(uniforms.saturation - 1.0) > 0.01) { - let gray = dot(fragColor.rgb, vec3(0.299, 0.587, 0.114)); - fragColor = vec4(mix(vec3(gray), fragColor.rgb, uniforms.saturation), fragColor.a); - } - - fragColor = vec4(fragColor.rgb * uniforms.color, fragColor.a); - - let particles = renderParticles(coord, adjustedLightPos, uniforms.lightDir); - if (particles > 0.001) { - let particleBrightness = particles * 1.8; - fragColor = vec4(fragColor.rgb + uniforms.color * particleBrightness, max(fragColor.a, particles * 0.9)); - } - - return fragColor; - } -` - -const UNIFORM_BUFFER_SIZE = 144 - -function updateUniformBuffer(buffer: Float32Array, data: UniformData): void { - buffer[0] = data.iTime - buffer[2] = data.iResolution[0] - buffer[3] = data.iResolution[1] - buffer[4] = data.lightPos[0] - buffer[5] = data.lightPos[1] - buffer[6] = data.lightDir[0] - buffer[7] = data.lightDir[1] - buffer[8] = data.color[0] - buffer[9] = data.color[1] - buffer[10] = data.color[2] - buffer[11] = data.speed - buffer[12] = data.lightSpread - buffer[13] = data.lightLength - buffer[14] = data.sourceWidth - buffer[15] = data.pulsating - buffer[16] = data.pulsatingMin - buffer[17] = data.pulsatingMax - buffer[18] = data.fadeDistance - buffer[19] = data.saturation - buffer[20] = data.noiseAmount - buffer[21] = data.distortion - buffer[22] = data.particlesEnabled - buffer[23] = data.particleAmount - buffer[24] = data.particleSizeMin - buffer[25] = data.particleSizeMax - buffer[26] = data.particleSpeed - buffer[27] = data.particleOpacity - buffer[28] = data.particleDrift -} - -export default function Spotlight(props: SpotlightProps) { - let containerRef: HTMLDivElement | undefined - let canvasRef: HTMLCanvasElement | null = null - let deviceRef: GPUDevice | null = null - let contextRef: GPUCanvasContext | null = null - let pipelineRef: GPURenderPipeline | null = null - let uniformBufferRef: GPUBuffer | null = null - let bindGroupRef: GPUBindGroup | null = null - let animationIdRef: number | null = null - let cleanupFunctionRef: (() => void) | null = null - let uniformDataRef: UniformData | null = null - let uniformArrayRef: Float32Array | null = null - let configRef: SpotlightConfig = props.config() - let frameCount = 0 - - const [isVisible, setIsVisible] = createSignal(false) - - createEffect(() => { - configRef = props.config() - }) - - onMount(() => { - if (!containerRef) return - - const observer = new IntersectionObserver( - (entries) => { - const entry = entries[0] - setIsVisible(entry.isIntersecting) - }, - { threshold: 0.1 }, - ) - - observer.observe(containerRef) - - onCleanup(() => { - observer.disconnect() - }) - }) - - createEffect(() => { - const visible = isVisible() - const config = props.config() - if (!visible || !containerRef) { - return - } - - if (cleanupFunctionRef) { - cleanupFunctionRef() - cleanupFunctionRef = null - } - - const initializeWebGPU = async () => { - if (!containerRef) { - return - } - - await new Promise((resolve) => setTimeout(resolve, 10)) - - if (!containerRef) { - return - } - - if (!navigator.gpu) { - console.warn("WebGPU is not supported in this browser") - return - } - - const adapter = await navigator.gpu.requestAdapter({ - powerPreference: "high-performance", - }) - if (!adapter) { - console.warn("Failed to get WebGPU adapter") - return - } - - const device = await adapter.requestDevice() - deviceRef = device - - const canvas = document.createElement("canvas") - canvas.style.width = "100%" - canvas.style.height = "100%" - canvasRef = canvas - - while (containerRef.firstChild) { - containerRef.removeChild(containerRef.firstChild) - } - containerRef.appendChild(canvas) - - const context = canvas.getContext("webgpu") - if (!context) { - console.warn("Failed to get WebGPU context") - return - } - contextRef = context - - const presentationFormat = navigator.gpu.getPreferredCanvasFormat() - context.configure({ - device, - format: presentationFormat, - alphaMode: "premultiplied", - }) - - const shaderModule = device.createShaderModule({ - code: WGSL_SHADER, - }) - - const uniformBuffer = device.createBuffer({ - size: UNIFORM_BUFFER_SIZE, - usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST, - }) - uniformBufferRef = uniformBuffer - - const bindGroupLayout = device.createBindGroupLayout({ - entries: [ - { - binding: 0, - visibility: GPUShaderStage.VERTEX | GPUShaderStage.FRAGMENT, - buffer: { type: "uniform" }, - }, - ], - }) - - const bindGroup = device.createBindGroup({ - layout: bindGroupLayout, - entries: [ - { - binding: 0, - resource: { buffer: uniformBuffer }, - }, - ], - }) - bindGroupRef = bindGroup - - const pipelineLayout = device.createPipelineLayout({ - bindGroupLayouts: [bindGroupLayout], - }) - - const pipeline = device.createRenderPipeline({ - layout: pipelineLayout, - vertex: { - module: shaderModule, - entryPoint: "vertexMain", - }, - fragment: { - module: shaderModule, - entryPoint: "fragmentMain", - targets: [ - { - format: presentationFormat, - blend: { - color: { - srcFactor: "src-alpha", - dstFactor: "one-minus-src-alpha", - operation: "add", - }, - alpha: { - srcFactor: "one", - dstFactor: "one-minus-src-alpha", - operation: "add", - }, - }, - }, - ], - }, - primitive: { - topology: "triangle-list", - }, - }) - pipelineRef = pipeline - - const { clientWidth: wCSS, clientHeight: hCSS } = containerRef - const dpr = Math.min(window.devicePixelRatio, 2) - const w = wCSS * dpr - const h = hCSS * dpr - const { anchor, dir } = getAnchorAndDir(config.placement, w, h) - - uniformDataRef = { - iTime: 0, - iResolution: [w, h], - lightPos: anchor, - lightDir: dir, - color: hexToRgb(config.color), - speed: config.speed, - lightSpread: config.spread, - lightLength: config.length, - sourceWidth: config.width, - pulsating: config.pulsating !== false ? 1.0 : 0.0, - pulsatingMin: config.pulsating !== false ? config.pulsating[0] : 1.0, - pulsatingMax: config.pulsating !== false ? config.pulsating[1] : 1.0, - fadeDistance: config.distance, - saturation: config.saturation, - noiseAmount: config.noiseAmount, - distortion: config.distortion, - particlesEnabled: config.particles.enabled ? 1.0 : 0.0, - particleAmount: config.particles.amount, - particleSizeMin: config.particles.size[0], - particleSizeMax: config.particles.size[1], - particleSpeed: config.particles.speed, - particleOpacity: config.particles.opacity, - particleDrift: config.particles.drift, - } - - const updatePlacement = () => { - if (!containerRef || !canvasRef || !uniformDataRef) { - return - } - - const dpr = Math.min(window.devicePixelRatio, 2) - const { clientWidth: wCSS, clientHeight: hCSS } = containerRef - const w = Math.floor(wCSS * dpr) - const h = Math.floor(hCSS * dpr) - - canvasRef.width = w - canvasRef.height = h - - uniformDataRef.iResolution = [w, h] - - const { anchor, dir } = getAnchorAndDir(configRef.placement, w, h) - uniformDataRef.lightPos = anchor - uniformDataRef.lightDir = dir - } - - const loop = (t: number) => { - if (!deviceRef || !contextRef || !pipelineRef || !uniformBufferRef || !bindGroupRef || !uniformDataRef) { - return - } - - const timeSeconds = t * 0.001 - uniformDataRef.iTime = timeSeconds - frameCount++ - - if (props.onAnimationFrame && frameCount % 2 === 0) { - const pulsatingMin = configRef.pulsating !== false ? configRef.pulsating[0] : 1.0 - const pulsatingMax = configRef.pulsating !== false ? configRef.pulsating[1] : 1.0 - const pulseCenter = (pulsatingMin + pulsatingMax) * 0.5 - const pulseAmplitude = (pulsatingMax - pulsatingMin) * 0.5 - const pulseValue = - configRef.pulsating !== false - ? pulseCenter + pulseAmplitude * Math.sin(timeSeconds * configRef.speed * 3.0) - : 1.0 - - const baseIntensity1 = 0.45 + 0.15 * Math.sin(timeSeconds * configRef.speed * 1.5) - const baseIntensity2 = 0.3 + 0.2 * Math.cos(timeSeconds * configRef.speed * 1.1) - const intensity = Math.max((baseIntensity1 + baseIntensity2) * pulseValue, 0.55) - - props.onAnimationFrame({ - time: timeSeconds, - intensity, - pulseValue: Math.max(pulseValue, 0.9), - }) - } - - try { - if (!uniformArrayRef) { - uniformArrayRef = new Float32Array(36) - } - updateUniformBuffer(uniformArrayRef, uniformDataRef) - deviceRef.queue.writeBuffer(uniformBufferRef, 0, uniformArrayRef.buffer) - - const commandEncoder = deviceRef.createCommandEncoder() - - const textureView = contextRef.getCurrentTexture().createView() - - const renderPass = commandEncoder.beginRenderPass({ - colorAttachments: [ - { - view: textureView, - clearValue: { r: 0, g: 0, b: 0, a: 0 }, - loadOp: "clear", - storeOp: "store", - }, - ], - }) - - renderPass.setPipeline(pipelineRef) - renderPass.setBindGroup(0, bindGroupRef) - renderPass.draw(3) - renderPass.end() - - deviceRef.queue.submit([commandEncoder.finish()]) - - animationIdRef = requestAnimationFrame(loop) - } catch (error) { - console.warn("WebGPU rendering error:", error) - return - } - } - - window.addEventListener("resize", updatePlacement) - updatePlacement() - animationIdRef = requestAnimationFrame(loop) - - cleanupFunctionRef = () => { - if (animationIdRef) { - cancelAnimationFrame(animationIdRef) - animationIdRef = null - } - - window.removeEventListener("resize", updatePlacement) - - if (uniformBufferRef) { - uniformBufferRef.destroy() - uniformBufferRef = null - } - - if (deviceRef) { - deviceRef.destroy() - deviceRef = null - } - - if (canvasRef && canvasRef.parentNode) { - canvasRef.parentNode.removeChild(canvasRef) - } - - canvasRef = null - contextRef = null - pipelineRef = null - bindGroupRef = null - uniformDataRef = null - } - } - - initializeWebGPU() - - onCleanup(() => { - if (cleanupFunctionRef) { - cleanupFunctionRef() - cleanupFunctionRef = null - } - }) - }) - - createEffect(() => { - if (!uniformDataRef || !containerRef) { - return - } - - const config = props.config() - - uniformDataRef.color = hexToRgb(config.color) - uniformDataRef.speed = config.speed - uniformDataRef.lightSpread = config.spread - uniformDataRef.lightLength = config.length - uniformDataRef.sourceWidth = config.width - uniformDataRef.pulsating = config.pulsating !== false ? 1.0 : 0.0 - uniformDataRef.pulsatingMin = config.pulsating !== false ? config.pulsating[0] : 1.0 - uniformDataRef.pulsatingMax = config.pulsating !== false ? config.pulsating[1] : 1.0 - uniformDataRef.fadeDistance = config.distance - uniformDataRef.saturation = config.saturation - uniformDataRef.noiseAmount = config.noiseAmount - uniformDataRef.distortion = config.distortion - uniformDataRef.particlesEnabled = config.particles.enabled ? 1.0 : 0.0 - uniformDataRef.particleAmount = config.particles.amount - uniformDataRef.particleSizeMin = config.particles.size[0] - uniformDataRef.particleSizeMax = config.particles.size[1] - uniformDataRef.particleSpeed = config.particles.speed - uniformDataRef.particleOpacity = config.particles.opacity - uniformDataRef.particleDrift = config.particles.drift - - const dpr = Math.min(window.devicePixelRatio, 2) - const { clientWidth: wCSS, clientHeight: hCSS } = containerRef - const { anchor, dir } = getAnchorAndDir(config.placement, wCSS * dpr, hCSS * dpr) - uniformDataRef.lightPos = anchor - uniformDataRef.lightDir = dir - }) - - return ( -
- ) -} diff --git a/packages/console/app/src/config.ts b/packages/console/app/src/config.ts deleted file mode 100644 index e823d9d73..000000000 --- a/packages/console/app/src/config.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Application-wide constants and configuration - */ -export const config = { - // Base URL - baseUrl: "https://opencode.ai", - - // GitHub - github: { - repoUrl: "https://github.com/Kilo-Org/kilo", - starsFormatted: { - compact: "95K", - full: "95,000", - }, - }, - - // Social links - social: { - twitter: "https://x.com/opencode", - discord: "https://discord.gg/opencode", - }, - - // Static stats (used on landing page) - stats: { - contributors: "650", - commits: "8,500", - monthlyUsers: "2.5M", - }, -} as const diff --git a/packages/console/app/src/context/auth.session.ts b/packages/console/app/src/context/auth.session.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/console/app/src/context/auth.ts b/packages/console/app/src/context/auth.ts deleted file mode 100644 index aed07a630..000000000 --- a/packages/console/app/src/context/auth.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { getRequestEvent } from "solid-js/web" -import { and, Database, eq, inArray, isNull, sql } from "@opencode-ai/console-core/drizzle/index.js" -import { UserTable } from "@opencode-ai/console-core/schema/user.sql.js" -import { redirect } from "@solidjs/router" -import { Actor } from "@opencode-ai/console-core/actor.js" - -import { createClient } from "@openauthjs/openauth/client" - -export const AuthClient = createClient({ - clientID: "app", - issuer: import.meta.env.VITE_AUTH_URL, -}) - -import { useSession } from "@solidjs/start/http" -import { Resource } from "@opencode-ai/console-resource" - -export interface AuthSession { - account?: Record< - string, - { - id: string - email: string - } - > - current?: string -} - -export function useAuthSession() { - return useSession({ - password: Resource.ZEN_SESSION_SECRET.value, - name: "auth", - maxAge: 60 * 60 * 24 * 365, - cookie: { - secure: false, - httpOnly: true, - }, - }) -} - -export const getActor = async (workspace?: string): Promise => { - "use server" - const evt = getRequestEvent() - if (!evt) throw new Error("No request event") - if (evt.locals.actor) return evt.locals.actor - evt.locals.actor = (async () => { - const auth = await useAuthSession() - if (!workspace) { - const account = auth.data.account ?? {} - const current = account[auth.data.current ?? ""] - if (current) { - return { - type: "account", - properties: { - email: current.email, - accountID: current.id, - }, - } - } - if (Object.keys(account).length > 0) { - const current = Object.values(account)[0] - await auth.update((val) => ({ - ...val, - current: current.id, - })) - return { - type: "account", - properties: { - email: current.email, - accountID: current.id, - }, - } - } - return { - type: "public", - properties: {}, - } - } - const accounts = Object.keys(auth.data.account ?? {}) - if (accounts.length) { - const user = await Database.use((tx) => - tx - .select() - .from(UserTable) - .where( - and( - eq(UserTable.workspaceID, workspace), - isNull(UserTable.timeDeleted), - inArray(UserTable.accountID, accounts), - ), - ) - .limit(1) - .execute() - .then((x) => x[0]), - ) - if (user) { - await Database.use((tx) => - tx - .update(UserTable) - .set({ timeSeen: sql`now()` }) - .where(and(eq(UserTable.workspaceID, workspace), eq(UserTable.id, user.id))), - ) - return { - type: "user", - properties: { - userID: user.id, - workspaceID: user.workspaceID, - accountID: user.accountID, - role: user.role, - }, - } - } - } - throw redirect("/auth/authorize") - })() - return evt.locals.actor -} diff --git a/packages/console/app/src/context/auth.withActor.ts b/packages/console/app/src/context/auth.withActor.ts deleted file mode 100644 index ff377cda4..000000000 --- a/packages/console/app/src/context/auth.withActor.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Actor } from "@opencode-ai/console-core/actor.js" -import { getActor } from "./auth" - -export async function withActor(fn: () => T, workspace?: string) { - const actor = await getActor(workspace) - return Actor.provide(actor.type, actor.properties, fn) -} diff --git a/packages/console/app/src/context/i18n.tsx b/packages/console/app/src/context/i18n.tsx deleted file mode 100644 index 5d178c8b8..000000000 --- a/packages/console/app/src/context/i18n.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { createMemo } from "solid-js" -import { createSimpleContext } from "@opencode-ai/ui/context" -import { i18n, type Key } from "~/i18n" -import { useLanguage } from "~/context/language" - -function resolve(text: string, params?: Record) { - if (!params) return text - return text.replace(/\{\{(\w+)\}\}/g, (raw, key) => { - const value = params[key] - if (value === undefined || value === null) return raw - return String(value) - }) -} - -export const { use: useI18n, provider: I18nProvider } = createSimpleContext({ - name: "I18n", - init: () => { - const language = useLanguage() - const dict = createMemo(() => i18n(language.locale())) - - return { - t(key: Key, params?: Record) { - return resolve(dict()[key], params) - }, - } - }, -}) diff --git a/packages/console/app/src/context/language.tsx b/packages/console/app/src/context/language.tsx deleted file mode 100644 index 2999242f0..000000000 --- a/packages/console/app/src/context/language.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { createEffect } from "solid-js" -import { createStore } from "solid-js/store" -import { getRequestEvent } from "solid-js/web" -import { createSimpleContext } from "@opencode-ai/ui/context" -import { - LOCALES, - type Locale, - clearCookie, - cookie, - detectFromLanguages, - dir as localeDir, - label as localeLabel, - localeFromCookieHeader, - localeFromRequest, - parseLocale, - route as localeRoute, - tag as localeTag, -} from "~/lib/language" - -function initial() { - const evt = getRequestEvent() - if (evt) return localeFromRequest(evt.request) - - if (typeof document === "object") { - const fromDom = parseLocale(document.documentElement.dataset.locale) - if (fromDom) return fromDom - - const fromCookie = localeFromCookieHeader(document.cookie) - if (fromCookie) return fromCookie - } - - if (typeof navigator !== "object") return "en" satisfies Locale - - const languages = navigator.languages?.length ? navigator.languages : [navigator.language] - return detectFromLanguages(languages) -} - -export const { use: useLanguage, provider: LanguageProvider } = createSimpleContext({ - name: "Language", - init: () => { - const [store, setStore] = createStore({ - locale: initial(), - }) - - createEffect(() => { - if (typeof document !== "object") return - document.documentElement.lang = localeTag(store.locale) - document.documentElement.dir = localeDir(store.locale) - document.documentElement.dataset.locale = store.locale - }) - - return { - locale: () => store.locale, - locales: LOCALES, - label: localeLabel, - tag: localeTag, - dir: localeDir, - route(pathname: string) { - return localeRoute(store.locale, pathname) - }, - setLocale(next: Locale) { - setStore("locale", next) - if (typeof document !== "object") return - document.cookie = cookie(next) - }, - clear() { - if (typeof document !== "object") return - document.cookie = clearCookie() - }, - } - }, -}) diff --git a/packages/console/app/src/entry-client.tsx b/packages/console/app/src/entry-client.tsx deleted file mode 100644 index 642deacf7..000000000 --- a/packages/console/app/src/entry-client.tsx +++ /dev/null @@ -1,4 +0,0 @@ -// @refresh reload -import { mount, StartClient } from "@solidjs/start/client" - -mount(() => , document.getElementById("app")!) diff --git a/packages/console/app/src/entry-server.tsx b/packages/console/app/src/entry-server.tsx deleted file mode 100644 index 619a1925d..000000000 --- a/packages/console/app/src/entry-server.tsx +++ /dev/null @@ -1,37 +0,0 @@ -// @refresh reload -import { createHandler, StartServer } from "@solidjs/start/server" -import { getRequestEvent } from "solid-js/web" -import { dir, localeFromRequest, tag } from "~/lib/language" - -const criticalCSS = `[data-component="top"]{min-height:80px;display:flex;align-items:center}` - -export default createHandler( - () => ( - { - const evt = getRequestEvent() - const locale = evt ? localeFromRequest(evt.request) : "en" - - return ( - - - - - - - - {assets} - - -
{children}
- {scripts} - - - ) - }} - /> - ), - { - mode: "async", - }, -) diff --git a/packages/console/app/src/global.d.ts b/packages/console/app/src/global.d.ts deleted file mode 100644 index ba6c441be..000000000 --- a/packages/console/app/src/global.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// - -export declare module "@solidjs/start/server" { - export type APIEvent = { request: Request } -} - -// kilocode_change start -declare module "solid-js/web" { - interface RequestEvent { - locals: Record - } -} -// kilocode_change end diff --git a/packages/console/app/src/i18n/ar.ts b/packages/console/app/src/i18n/ar.ts deleted file mode 100644 index 4e3206715..000000000 --- a/packages/console/app/src/i18n/ar.ts +++ /dev/null @@ -1,533 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "\u0627\u0644\u0648\u062b\u0627\u0626\u0642", - "nav.changelog": "\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "\u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a", - "nav.zen": "Zen", - "nav.login": "\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644", - "nav.free": "\u0645\u062c\u0627\u0646\u0627", - "nav.home": "\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629", - "nav.openMenu": "\u0641\u062a\u062d \u0627\u0644\u0642\u0627\u0626\u0645\u0629", - "nav.getStartedFree": "\u0627\u0628\u062f\u0623 \u0645\u062c\u0627\u0646\u0627", - - "nav.context.copyLogo": "\u0646\u0633\u062e \u0627\u0644\u0634\u0639\u0627\u0631 \u0643\u0640 SVG", - "nav.context.copyWordmark": - "\u0646\u0633\u062e \u0627\u0633\u0645 \u0627\u0644\u0639\u0644\u0627\u0645\u0629 \u0643\u0640 SVG", - "nav.context.brandAssets": "\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0639\u0644\u0627\u0645\u0629", - - "footer.github": "GitHub", - "footer.docs": "\u0627\u0644\u0648\u062b\u0627\u0626\u0642", - "footer.changelog": "\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "\u0627\u0644\u0639\u0644\u0627\u0645\u0629", - "legal.privacy": "\u0627\u0644\u062e\u0635\u0648\u0635\u064a\u0629", - "legal.terms": "\u0627\u0644\u0634\u0631\u0648\u0637", - - "email.title": - "\u0643\u0646 \u0627\u0644\u0623\u0648\u0644 \u0644\u0645\u0639\u0631\u0641\u0629 \u0639\u0646\u062f \u0625\u0637\u0644\u0627\u0642 \u0645\u0646\u062a\u062c\u0627\u062a \u062c\u062f\u064a\u062f\u0629", - "email.subtitle": - "\u0627\u0646\u0636\u0645 \u0625\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062a\u0638\u0627\u0631 \u0644\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0648\u0635\u0648\u0644 \u0645\u0628\u0643\u0631.", - "email.placeholder": - "\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a", - "email.subscribe": "\u0627\u0634\u062a\u0631\u0627\u0643", - "email.success": - "\u062a\u0628\u0642\u0649 \u062e\u0637\u0648\u0629 \u0648\u0627\u062d\u062f\u0629: \u062a\u062d\u0642\u0642 \u0645\u0646 \u0628\u0631\u064a\u062f\u0643 \u0648\u0623\u0643\u062f \u0639\u0646\u0648\u0627\u0646\u0643", - - "notFound.title": "\u063a\u064a\u0631 \u0645\u0648\u062c\u0648\u062f | opencode", - "notFound.heading": - "404 - \u0627\u0644\u0635\u0641\u062d\u0629 \u063a\u064a\u0631 \u0645\u0648\u062c\u0648\u062f\u0629", - "notFound.home": "\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629", - "notFound.docs": "\u0627\u0644\u0648\u062b\u0627\u0626\u0642", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062e\u0631\u0648\u062c", - - "workspace.select": "\u0627\u062e\u062a\u0631 \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644", - "workspace.createNew": - "+ \u0625\u0646\u0634\u0627\u0621 \u0645\u0633\u0627\u062d\u0629 \u0639\u0645\u0644 \u062c\u062f\u064a\u062f\u0629", - "workspace.modal.title": - "\u0625\u0646\u0634\u0627\u0621 \u0645\u0633\u0627\u062d\u0629 \u0639\u0645\u0644 \u062c\u062f\u064a\u062f\u0629", - "workspace.modal.placeholder": - "\u0623\u062f\u062e\u0644 \u0627\u0633\u0645 \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644", - - "common.cancel": "\u0625\u0644\u063a\u0627\u0621", - "common.creating": "\u062c\u0627\u0631\u064a \u0627\u0644\u0625\u0646\u0634\u0627\u0621...", - "common.create": "\u0625\u0646\u0634\u0627\u0621", - - "common.videoUnsupported": - "\u0645\u062a\u0635\u0641\u062d\u0643 \u0644\u0627 \u064a\u062f\u0639\u0645 \u0648\u0633\u0645 \u0627\u0644\u0641\u064a\u062f\u064a\u0648.", - "common.figure": "\u0634\u0643\u0644 {{n}}.", - "common.faq": "\u0627\u0644\u0623\u0633\u0626\u0644\u0629 \u0627\u0644\u0634\u0627\u0626\u0639\u0629", - "common.learnMore": "\u0627\u0639\u0631\u0641 \u0627\u0644\u0645\u0632\u064a\u062f", - - "home.title": - "OpenCode | \u0648\u0643\u064a\u0644 \u0628\u0631\u0645\u062c\u0629 \u0628\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0645\u0641\u062a\u0648\u062d \u0627\u0644\u0645\u0635\u062f\u0631", - - "home.banner.badge": "\u062c\u062f\u064a\u062f", - "home.banner.text": - "\u062a\u0637\u0628\u064a\u0642 \u0633\u0637\u062d \u0627\u0644\u0645\u0643\u062a\u0628 \u0645\u062a\u0627\u062d \u0628\u0646\u0633\u062e\u0629 \u062a\u062c\u0631\u064a\u0628\u064a\u0629", - "home.banner.platforms": "\u0639\u0644\u0649 macOS\u060c Windows\u060c \u0648Linux", - "home.banner.downloadNow": "\u062d\u0645\u0651\u0644 \u0627\u0644\u0622\u0646", - "home.banner.downloadBetaNow": - "\u062d\u0645\u0651\u0644 \u0627\u0644\u0622\u0646 \u0627\u0644\u0646\u0633\u062e\u0629 \u0627\u0644\u062a\u062c\u0631\u064a\u0628\u064a\u0629 \u0644\u062a\u0637\u0628\u064a\u0642 \u0633\u0637\u062d \u0627\u0644\u0645\u0643\u062a\u0628", - - "home.hero.title": - "\u0648\u0643\u064a\u0644 \u0628\u0631\u0645\u062c\u0629 \u0628\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0645\u0641\u062a\u0648\u062d \u0627\u0644\u0645\u0635\u062f\u0631", - "home.hero.subtitle.a": - "\u0646\u0645\u0627\u0630\u062c \u0645\u062c\u0627\u0646\u064a\u0629 \u0645\u0636\u0645\u0651\u0646\u0629 \u0623\u0648 \u0627\u0631\u0628\u0637 \u0623\u064a \u0646\u0645\u0648\u0630\u062c \u0645\u0646 \u0623\u064a \u0645\u0632\u0648\u0651\u062f\u060c", - "home.hero.subtitle.b": - "\u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 Claude\u060c GPT\u060c Gemini \u0648\u063a\u064a\u0631\u0647\u0627.", - - "home.install.ariaLabel": "\u062e\u064a\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u062b\u0628\u064a\u062a", - - "home.what.title": "\u0645\u0627 \u0647\u0648 OpenCode\u061f", - "home.what.body": - "OpenCode \u0648\u0643\u064a\u0644 \u0645\u0641\u062a\u0648\u062d \u0627\u0644\u0645\u0635\u062f\u0631 \u064a\u0633\u0627\u0639\u062f\u0643 \u0639\u0644\u0649 \u0643\u062a\u0627\u0628\u0629 \u0627\u0644\u0643\u0648\u062f \u0641\u064a \u0627\u0644\u0637\u0631\u0641\u064a\u0629\u060c IDE\u060c \u0623\u0648 \u0633\u0637\u062d \u0627\u0644\u0645\u0643\u062a\u0628.", - "home.what.lsp.title": "\u062f\u0639\u0645 LSP", - "home.what.lsp.body": - "\u064a\u062d\u0645\u0651\u0644 \u062a\u0644\u0642\u0627\u0626\u064a\u064b\u0627 \u0645\u0648\u0627\u0641\u0642\u0627\u062a LSP \u0627\u0644\u0645\u0646\u0627\u0633\u0628\u0629 \u0644\u0644\u0640 LLM", - "home.what.multiSession.title": "\u062c\u0644\u0633\u0627\u062a \u0645\u062a\u0639\u062f\u062f\u0629", - "home.what.multiSession.body": - "\u0627\u0628\u062f\u0623 \u0639\u062f\u0629 \u0648\u0643\u0644\u0627\u0621 \u0628\u0627\u0644\u062a\u0648\u0627\u0632\u064a \u0639\u0644\u0649 \u0646\u0641\u0633 \u0627\u0644\u0645\u0634\u0631\u0648\u0639", - "home.what.shareLinks.title": "\u0631\u0648\u0627\u0628\u0637 \u0645\u0634\u0627\u0631\u0643\u0629", - "home.what.shareLinks.body": - "\u0634\u0627\u0631\u0643 \u0631\u0627\u0628\u0637\u064b\u0627 \u0644\u0623\u064a \u062c\u0644\u0633\u0629 \u0644\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u064a\u0647\u0627 \u0623\u0648 \u0644\u0644\u062a\u0635\u062d\u064a\u062d", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": - "\u0633\u062c\u0651\u0644 \u0627\u0644\u062f\u062e\u0648\u0644 \u0628\u0640 GitHub \u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u062d\u0633\u0627\u0628\u0643 \u0641\u064a Copilot", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": - "\u0633\u062c\u0651\u0644 \u0627\u0644\u062f\u062e\u0648\u0644 \u0628\u0640 OpenAI \u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u062d\u0633\u0627\u0628\u0643 \u0641\u064a ChatGPT Plus \u0623\u0648 Pro", - "home.what.anyModel.title": "\u0623\u064a \u0646\u0645\u0648\u0630\u062c", - "home.what.anyModel.body": - "75+ \u0645\u0632\u0648\u0651\u062f LLM \u0639\u0628\u0631 Models.dev\u060c \u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0627\u0644\u0645\u062d\u0644\u064a\u0629", - "home.what.anyEditor.title": "\u0623\u064a \u0645\u062d\u0631\u0631", - "home.what.anyEditor.body": - "\u0645\u062a\u0627\u062d \u0643\u0648\u0627\u062c\u0647\u0629 \u0637\u0631\u0641\u064a\u0629\u060c \u0648\u062a\u0637\u0628\u064a\u0642 \u0633\u0637\u062d \u0645\u0643\u062a\u0628\u060c \u0648\u0627\u0645\u062a\u062f\u0627\u062f IDE", - "home.what.readDocs": "\u0627\u0642\u0631\u0623 \u0627\u0644\u0648\u062b\u0627\u0626\u0642", - - "home.growth.title": - "\u0648\u0643\u064a\u0644 \u0628\u0631\u0645\u062c\u0629 \u0628\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0645\u0641\u062a\u0648\u062d \u0627\u0644\u0645\u0635\u062f\u0631", - "home.growth.body": - "\u0645\u0639 \u0623\u0643\u062b\u0631 \u0645\u0646 {{stars}} \u0646\u062c\u0645\u0629 \u0639\u0644\u0649 GitHub\u060c \u0648{{contributors}} \u0645\u0633\u0627\u0647\u0645\u064b\u0627\u060c \u0648\u0623\u0643\u062b\u0631 \u0645\u0646 {{commits}} \u062a\u0639\u0647\u062f\u064b\u0627\u060c \u064a\u0633\u062a\u062e\u062f\u0645 OpenCode \u0648\u064a\u062b\u0642 \u0628\u0647 \u0623\u0643\u062b\u0631 \u0645\u0646 {{monthlyUsers}} \u0645\u0637\u0648\u0651\u0631 \u0643\u0644 \u0634\u0647\u0631.", - "home.growth.githubStars": "\u0646\u062c\u0648\u0645 GitHub", - "home.growth.contributors": "\u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0648\u0646", - "home.growth.monthlyDevs": "\u0645\u0637\u0648\u0631\u0648\u0646 \u0634\u0647\u0631\u064a\u064b\u0627", - - "home.privacy.title": - "\u0645\u0635\u0645\u0645 \u0644\u0644\u062e\u0635\u0648\u0635\u064a\u0629 \u0623\u0648\u0644\u0627\u064b", - "home.privacy.body": - "\u0644\u0627 \u064a\u062e\u0632\u0651\u0646 OpenCode \u0623\u064a \u0643\u0648\u062f \u0623\u0648 \u0628\u064a\u0627\u0646\u0627\u062a \u0633\u064a\u0627\u0642\u060c \u0644\u064a\u062a\u0645\u0643\u0646 \u0645\u0646 \u0627\u0644\u0639\u0645\u0644 \u0641\u064a \u0628\u064a\u0626\u0627\u062a \u062d\u0633\u0627\u0633\u0629 \u0644\u0644\u062e\u0635\u0648\u0635\u064a\u0629.", - "home.privacy.learnMore": "\u0627\u0639\u0631\u0641 \u0627\u0644\u0645\u0632\u064a\u062f \u0639\u0646", - "home.privacy.link": "\u0627\u0644\u062e\u0635\u0648\u0635\u064a\u0629", - - "home.faq.q1": "\u0645\u0627 \u0647\u0648 OpenCode\u061f", - "home.faq.a1": - "OpenCode \u0648\u0643\u064a\u0644 \u0645\u0641\u062a\u0648\u062d \u0627\u0644\u0645\u0635\u062f\u0631 \u064a\u0633\u0627\u0639\u062f\u0643 \u0639\u0644\u0649 \u0643\u062a\u0627\u0628\u0629 \u0648\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0643\u0648\u062f \u0645\u0639 \u0623\u064a \u0646\u0645\u0648\u0630\u062c \u0630\u0643\u0627\u0621 \u0627\u0635\u0637\u0646\u0627\u0639\u064a. \u0645\u062a\u0627\u062d \u0643\u0648\u0627\u062c\u0647\u0629 \u0637\u0631\u0641\u064a\u0629\u060c \u0648\u062a\u0637\u0628\u064a\u0642 \u0633\u0637\u062d \u0645\u0643\u062a\u0628\u060c \u0623\u0648 \u0627\u0645\u062a\u062f\u0627\u062f IDE.", - "home.faq.q2": "\u0643\u064a\u0641 \u0623\u0633\u062a\u062e\u062f\u0645 OpenCode\u061f", - "home.faq.a2.before": - "\u0623\u0633\u0647\u0644 \u0637\u0631\u064a\u0642\u0629 \u0644\u0644\u0628\u062f\u0621 \u0647\u064a \u0642\u0631\u0627\u0621\u0629", - "home.faq.a2.link": "\u0627\u0644\u0645\u0642\u062f\u0645\u0629", - "home.faq.q3": - "\u0647\u0644 \u0623\u062d\u062a\u0627\u062c \u0644\u0627\u0634\u062a\u0631\u0627\u0643\u0627\u062a \u0630\u0643\u0627\u0621 \u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0625\u0636\u0627\u0641\u064a\u0629 \u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 OpenCode\u061f", - "home.faq.a3.p1": - "\u0644\u064a\u0633 \u0628\u0627\u0644\u0636\u0631\u0648\u0631\u0629\u060c \u0641\u0640 OpenCode \u064a\u0623\u062a\u064a \u0645\u0639 \u0645\u062c\u0645\u0648\u0639\u0629 \u0645\u0646 \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0627\u0644\u0645\u062c\u0627\u0646\u064a\u0629 \u0627\u0644\u062a\u064a \u062a\u0633\u062a\u0637\u064a\u0639 \u0627\u0633\u062a\u062e\u062f\u0627\u0645\u0647\u0627 \u062f\u0648\u0646 \u0625\u0646\u0634\u0627\u0621 \u062d\u0633\u0627\u0628.", - "home.faq.a3.p2.beforeZen": - "\u0648\u0628\u062e\u0644\u0627\u0641 \u0630\u0644\u0643\u060c \u064a\u0645\u0643\u0646\u0643 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0646\u0645\u0627\u0630\u062c \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u0634\u0627\u0626\u0639\u0629 \u0628\u0625\u0646\u0634\u0627\u0621 \u062d\u0633\u0627\u0628", - "home.faq.a3.p2.afterZen": ".", - "home.faq.a3.p3": - "\u0645\u0639 \u0623\u0646\u0646\u0627 \u0646\u0634\u062c\u0651\u0639 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0639\u0644\u0649 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 Zen\u060c \u0641\u0625\u0646 OpenCode \u064a\u0639\u0645\u0644 \u0623\u064a\u0636\u064b\u0627 \u0645\u0639 \u0627\u0644\u0645\u0632\u0648\u0651\u062f\u064a\u0646 \u0627\u0644\u0634\u0627\u0626\u0639\u064a\u0646 \u0645\u062b\u0644 OpenAI\u060c Anthropic\u060c xAI\u060c \u0625\u0644\u062e.", - "home.faq.a3.p4.beforeLocal": - "\u0648\u064a\u0645\u0643\u0646\u0643 \u0623\u064a\u0636\u064b\u0627 \u0631\u0628\u0637", - "home.faq.a3.p4.localLink": "\u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0627\u0644\u0645\u062d\u0644\u064a\u0629", - "home.faq.q4": - "\u0647\u0644 \u064a\u0645\u0643\u0646\u0646\u064a \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0634\u062a\u0631\u0627\u0643\u0627\u062a\u064a \u0627\u0644\u062d\u0627\u0644\u064a\u0629 \u0645\u0639 OpenCode\u061f", - "home.faq.a4.p1": - "\u0646\u0639\u0645\u060c \u064a\u062f\u0639\u0645 OpenCode \u062e\u0637\u0637 \u0627\u0644\u0627\u0634\u062a\u0631\u0627\u0643 \u0645\u0646 \u0643\u0644 \u0627\u0644\u0645\u0632\u0648\u0651\u062f\u064a\u0646 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u064a\u0646. \u064a\u0645\u0643\u0646\u0643 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0634\u062a\u0631\u0627\u0643\u0627\u062a Claude Pro/Max\u060c ChatGPT Plus/Pro\u060c \u0623\u0648 GitHub Copilot.", - "home.faq.q5": - "\u0647\u0644 \u064a\u0645\u0643\u0646\u0646\u064a \u0627\u0633\u062a\u062e\u062f\u0627\u0645 OpenCode \u0641\u064a \u0627\u0644\u0637\u0631\u0641\u064a\u0629 \u0641\u0642\u0637\u061f", - "home.faq.a5.beforeDesktop": - "\u0644\u0627 \u0628\u0639\u062f \u0627\u0644\u0622\u0646! OpenCode \u0645\u062a\u0627\u062d \u0627\u0644\u0622\u0646 \u0643\u062a\u0637\u0628\u064a\u0642 \u0644\u0640", - "home.faq.a5.desktop": "\u0633\u0637\u062d \u0627\u0644\u0645\u0643\u062a\u0628", - "home.faq.a5.and": "\u0648", - "home.faq.a5.web": "\u0627\u0644\u0648\u064a\u0628", - "home.faq.q6": "\u0643\u0645 \u062a\u0643\u0644\u0641\u0629 OpenCode\u061f", - "home.faq.a6": - "OpenCode \u0645\u062c\u0627\u0646\u064a 100% \u0644\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645. \u0643\u0645\u0627 \u064a\u0623\u062a\u064a \u0645\u0639 \u0645\u062c\u0645\u0648\u0639\u0629 \u0645\u0646 \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0627\u0644\u0645\u062c\u0627\u0646\u064a\u0629. \u0642\u062f \u062a\u0648\u062c\u062f \u062a\u0643\u0627\u0644\u064a\u0641 \u0625\u0636\u0627\u0641\u064a\u0629 \u0625\u0630\u0627 \u0631\u0628\u0637\u062a \u0645\u0632\u0648\u0651\u062f\u064b\u0627 \u0622\u062e\u0631.", - "home.faq.q7": - "\u0645\u0627\u0630\u0627 \u0639\u0646 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0648\u0627\u0644\u062e\u0635\u0648\u0635\u064a\u0629\u061f", - "home.faq.a7.p1": - "\u0644\u0627 \u064a\u062a\u0645 \u062a\u062e\u0632\u064a\u0646 \u0628\u064a\u0627\u0646\u0627\u062a\u0643 \u0625\u0644\u0627 \u0639\u0646\u062f\u0645\u0627 \u062a\u0633\u062a\u062e\u062f\u0645 \u0646\u0645\u0627\u0630\u062c\u0646\u0627 \u0627\u0644\u0645\u062c\u0627\u0646\u064a\u0629 \u0623\u0648 \u062a\u0646\u0634\u0626 \u0631\u0648\u0627\u0628\u0637 \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0645\u0634\u0627\u0631\u0643\u0629.", - "home.faq.a7.p2.beforeModels": "\u0627\u0639\u0631\u0641 \u0627\u0644\u0645\u0632\u064a\u062f \u0639\u0646", - "home.faq.a7.p2.modelsLink": "\u0646\u0645\u0627\u0630\u062c\u0646\u0627", - "home.faq.a7.p2.and": "\u0648", - "home.faq.a7.p2.shareLink": "\u0635\u0641\u062d\u0627\u062a \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629", - "home.faq.q8": "\u0647\u0644 OpenCode \u0645\u0641\u062a\u0648\u062d \u0627\u0644\u0645\u0635\u062f\u0631\u061f", - "home.faq.a8.p1": - "\u0646\u0639\u0645\u060c OpenCode \u0645\u0641\u062a\u0648\u062d \u0627\u0644\u0645\u0635\u062f\u0631 \u0628\u0627\u0644\u0643\u0627\u0645\u0644. \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u0645\u0635\u062f\u0631\u064a \u0645\u062a\u0627\u062d \u0639\u0644\u0646\u064b\u0627 \u0639\u0644\u0649", - "home.faq.a8.p2": "\u0628\u0645\u0648\u062c\u0628", - "home.faq.a8.mitLicense": "\u0631\u062e\u0635\u0629 MIT", - "home.faq.a8.p3": - ", \u0645\u0645\u0627 \u064a\u0639\u0646\u064a \u0623\u0646 \u0623\u064a \u0634\u062e\u0635 \u064a\u0633\u062a\u0637\u064a\u0639 \u0627\u0633\u062a\u062e\u062f\u0627\u0645\u0647 \u0623\u0648 \u062a\u0639\u062f\u064a\u0644\u0647 \u0623\u0648 \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0641\u064a \u062a\u0637\u0648\u064a\u0631\u0647. \u064a\u0645\u0643\u0646 \u0644\u0623\u064a \u0634\u062e\u0635 \u0645\u0646 \u0627\u0644\u0645\u062c\u062a\u0645\u0639 \u0641\u062a\u062d \u0642\u0636\u0627\u064a\u0627\u060c \u0648\u062a\u0642\u062f\u064a\u0645 \u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0633\u062d\u0628\u060c \u0648\u062a\u0648\u0633\u064a\u0639 \u0627\u0644\u0648\u0638\u0627\u0626\u0641.", - - "home.zenCta.title": - "\u0646\u0645\u0627\u0630\u062c \u0645\u0648\u062b\u0648\u0642\u0629 \u0648\u0645\u062d\u0633\u0646\u0629 \u0644\u0648\u0643\u0644\u0627\u0621 \u0627\u0644\u0628\u0631\u0645\u062c\u0629", - "home.zenCta.body": - "\u064a\u0645\u0646\u062d\u0643 Zen \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0645\u062c\u0645\u0648\u0639\u0629 \u0645\u062e\u062a\u0627\u0631\u0629 \u0628\u0639\u0646\u0627\u064a\u0629 \u0645\u0646 \u0646\u0645\u0627\u0630\u062c \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0627\u0644\u062a\u064a \u0627\u062e\u062a\u0628\u0631\u0647\u0627 OpenCode \u0648\u0642\u0627\u0633 \u0623\u062f\u0627\u0621\u0647\u0627 \u062e\u0635\u064a\u0635\u064b\u0627 \u0644\u0648\u0643\u0644\u0627\u0621 \u0627\u0644\u0628\u0631\u0645\u062c\u0629. \u0644\u0627 \u062d\u0627\u062c\u0629 \u0644\u0644\u0642\u0644\u0642 \u0628\u0634\u0623\u0646 \u0627\u062e\u062a\u0644\u0627\u0641 \u0627\u0644\u0623\u062f\u0627\u0621 \u0648\u0627\u0644\u062c\u0648\u062f\u0629 \u0628\u064a\u0646 \u0627\u0644\u0645\u0632\u0648\u0651\u062f\u064a\u0646\u061b \u0627\u0633\u062a\u062e\u062f\u0645 \u0646\u0645\u0627\u0630\u062c \u0645\u062d\u0642\u0642\u0629 \u062a\u0639\u0645\u0644.", - "home.zenCta.link": "\u062a\u0639\u0631\u0641 \u0639\u0644\u0649 Zen", - - "download.title": "OpenCode | \u062a\u0646\u0632\u064a\u0644", - - "zen.title": - "OpenCode Zen | \u0645\u062c\u0645\u0648\u0639\u0629 \u0645\u062e\u062a\u0627\u0631\u0629 \u0645\u0646 \u0646\u0645\u0627\u0630\u062c \u0645\u0648\u062b\u0648\u0642\u0629 \u0648\u0645\u062d\u0633\u0646\u0629 \u0644\u0648\u0643\u0644\u0627\u0621 \u0627\u0644\u0628\u0631\u0645\u062c\u0629", - "zen.hero.title": - "\u0646\u0645\u0627\u0630\u062c \u0645\u0648\u062b\u0648\u0642\u0629 \u0648\u0645\u062d\u0633\u0646\u0629 \u0644\u0648\u0643\u0644\u0627\u0621 \u0627\u0644\u0628\u0631\u0645\u062c\u0629", - "zen.hero.body": - "\u064a\u0645\u0646\u062d\u0643 Zen \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0645\u062c\u0645\u0648\u0639\u0629 \u0645\u062e\u062a\u0627\u0631\u0629 \u0628\u0639\u0646\u0627\u064a\u0629 \u0645\u0646 \u0646\u0645\u0627\u0630\u062c \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0627\u0644\u062a\u064a \u0627\u062e\u062a\u0628\u0631\u0647\u0627 OpenCode \u0648\u0642\u0627\u0633 \u0623\u062f\u0627\u0621\u0647\u0627 \u062e\u0635\u064a\u0635\u064b\u0627 \u0644\u0648\u0643\u0644\u0627\u0621 \u0627\u0644\u0628\u0631\u0645\u062c\u0629. \u0644\u0627 \u062d\u0627\u062c\u0629 \u0644\u0644\u0642\u0644\u0642 \u0628\u0634\u0623\u0646 \u0627\u062e\u062a\u0644\u0627\u0641 \u0627\u0644\u0623\u062f\u0627\u0621 \u0648\u0627\u0644\u062c\u0648\u062f\u0629 \u0628\u064a\u0646 \u0627\u0644\u0645\u0632\u0648\u0651\u062f\u064a\u0646\u061b \u0627\u0633\u062a\u062e\u062f\u0645 \u0646\u0645\u0627\u0630\u062c \u0645\u062d\u0642\u0642\u0629 \u062a\u0639\u0645\u0644.", - - "zen.faq.q1": "\u0645\u0627 \u0647\u0648 OpenCode Zen\u061f", - "zen.faq.a1": - "Zen \u0647\u0648 \u0645\u062c\u0645\u0648\u0639\u0629 \u0645\u062e\u062a\u0627\u0631\u0629 \u0645\u0646 \u0646\u0645\u0627\u0630\u062c \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0627\u0644\u062a\u064a \u062a\u0645 \u0627\u062e\u062a\u0628\u0627\u0631\u0647\u0627 \u0648\u0642\u064a\u0627\u0633 \u0627\u062f\u0627\u0626\u0647\u0627 \u0644\u0648\u0643\u0644\u0627\u0621 \u0627\u0644\u0628\u0631\u0645\u062c\u0629\u060c \u0648\u0642\u062f \u0627\u0646\u0634\u0623\u0647\u0627 \u0627\u0644\u0641\u0631\u064a\u0642 \u0648\u0631\u0627\u0621 OpenCode.", - "zen.faq.q2": "\u0645\u0627 \u0627\u0644\u0630\u064a \u064a\u062c\u0639\u0644 Zen \u0627\u062f\u0642\u061f", - "zen.faq.a2": - "Zen \u064a\u0648\u0641\u0631 \u0641\u0642\u0637 \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0627\u0644\u062a\u064a \u062a\u0645 \u0627\u062e\u062a\u0628\u0627\u0631\u0647\u0627 \u0648\u0642\u064a\u0627\u0633 \u0627\u062f\u0627\u0626\u0647\u0627 \u062e\u0635\u064a\u0635\u0627 \u0644\u0648\u0643\u0644\u0627\u0621 \u0627\u0644\u0628\u0631\u0645\u062c\u0629. \u0644\u0646 \u062a\u0633\u062a\u062e\u062f\u0645 \u0633\u0643\u064a\u0646 \u0632\u0628\u062f\u0629 \u0644\u0642\u0637\u0639 \u0634\u0631\u064a\u062d\u0629 \u0644\u062d\u0645\u060c \u0644\u0627 \u062a\u0633\u062a\u062e\u062f\u0645 \u0646\u0645\u0627\u0630\u062c \u0633\u064a\u0626\u0629 \u0644\u0644\u0628\u0631\u0645\u062c\u0629.", - "zen.faq.q3": "\u0647\u0644 Zen \u0627\u0631\u062e\u0635\u061f", - "zen.faq.a3": - "Zen \u0644\u064a\u0633 \u0644\u0644\u0631\u0628\u062d. Zen \u064a\u0646\u0642\u0644 \u062a\u0643\u0627\u0644\u064a\u0641 \u0645\u0632\u0648\u062f\u064a \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0627\u0644\u064a\u0643 \u0645\u0628\u0627\u0634\u0631\u0629. \u0643\u0644\u0645\u0627 \u0632\u0627\u062f \u0627\u0633\u062a\u062e\u062f\u0627\u0645 Zen\u060c \u062a\u0645\u0643\u0646 OpenCode \u0645\u0646 \u0627\u0644\u062a\u0641\u0627\u0648\u0636 \u0639\u0644\u0649 \u0627\u0633\u0639\u0627\u0631 \u0627\u0641\u0636\u0644 \u0648\u062a\u0645\u0631\u064a\u0631\u0647\u0627 \u0627\u0644\u064a\u0643.", - "zen.faq.q4": "\u0643\u0645 \u062a\u0643\u0644\u0641 Zen\u061f", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "\u064a\u062d\u0627\u0633\u0628 \u0644\u0643\u0644 \u0637\u0644\u0628", - "zen.faq.a4.p1.afterPricing": - "\u0628\u062f\u0648\u0646 \u0627\u064a \u0632\u064a\u0627\u062f\u0627\u062a\u060c \u0644\u0630\u0627 \u062a\u062f\u0641\u0639 \u0628\u0627\u0644\u0636\u0628\u0637 \u0645\u0627 \u064a\u0641\u0631\u0636\u0647 \u0645\u0632\u0648\u062f \u0627\u0644\u0646\u0645\u0648\u0630\u062c.", - "zen.faq.a4.p2.beforeAccount": - "\u062a\u0639\u062a\u0645\u062f \u062a\u0643\u0644\u0641\u062a\u0643 \u0627\u0644\u0627\u062c\u0645\u0627\u0644\u064a\u0629 \u0639\u0644\u0649 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645\u060c \u0648\u064a\u0645\u0643\u0646\u0643 \u062a\u0639\u064a\u064a\u0646 \u062d\u062f\u0648\u062f \u0627\u0646\u0641\u0627\u0642 \u0634\u0647\u0631\u064a\u0629 \u0641\u064a", - "zen.faq.a4.p2.accountLink": "\u062d\u0633\u0627\u0628\u0643", - "zen.faq.a4.p3": - "\u0644\u062a\u063a\u0637\u064a\u0629 \u0627\u0644\u062a\u0643\u0627\u0644\u064a\u0641\u060c \u062a\u0636\u064a\u0641 OpenCode \u0641\u0642\u0637 \u0631\u0633\u0648\u0645\u0627 \u0635\u063a\u064a\u0631\u0629 \u0644\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u062f\u0641\u0639 \u0642\u062f\u0631\u0647\u0627 $1.23 \u0644\u0643\u0644 \u0627\u0639\u0627\u062f\u0629 \u0634\u062d\u0646 \u0631\u0635\u064a\u062f \u0628\u0642\u064a\u0645\u0629 $20.", - "zen.faq.q5": - "\u0645\u0627\u0630\u0627 \u0639\u0646 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0648\u0627\u0644\u062e\u0635\u0648\u0635\u064a\u0629\u061f", - "zen.faq.a5.beforeExceptions": - "\u064a\u062a\u0645 \u0627\u0633\u062a\u0636\u0627\u0641\u0629 \u062c\u0645\u064a\u0639 \u0646\u0645\u0627\u0630\u062c Zen \u0641\u064a \u0627\u0644\u0648\u0644\u0627\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u062d\u062f\u0629. \u064a\u0644\u062a\u0632\u0645 \u0627\u0644\u0645\u0632\u0648\u062f\u0648\u0646 \u0628\u0633\u064a\u0627\u0633\u0629 \u0639\u062f\u0645 \u0627\u0644\u0627\u062d\u062a\u0641\u0627\u0638 \u0628\u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0648\u0644\u0627 \u064a\u0633\u062a\u062e\u062f\u0645\u0648\u0646 \u0628\u064a\u0627\u0646\u0627\u062a\u0643 \u0644\u062a\u062f\u0631\u064a\u0628 \u0627\u0644\u0646\u0645\u0627\u0630\u062c\u060c \u0645\u0639", - "zen.faq.a5.exceptionsLink": - "\u0627\u0644\u0627\u0633\u062a\u062b\u0646\u0627\u0621\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629", - "zen.faq.q6": - "\u0647\u0644 \u064a\u0645\u0643\u0646\u0646\u064a \u062a\u0639\u064a\u064a\u0646 \u062d\u062f\u0648\u062f \u0627\u0646\u0641\u0627\u0642\u061f", - "zen.faq.a6": - "\u0646\u0639\u0645\u060c \u064a\u0645\u0643\u0646\u0643 \u062a\u0639\u064a\u064a\u0646 \u062d\u062f\u0648\u062f \u0627\u0646\u0641\u0627\u0642 \u0634\u0647\u0631\u064a\u0629 \u0641\u064a \u062d\u0633\u0627\u0628\u0643.", - "zen.faq.q7": "\u0647\u0644 \u064a\u0645\u0643\u0646\u0646\u064a \u0627\u0644\u0627\u0644\u063a\u0627\u0621\u061f", - "zen.faq.a7": - "\u0646\u0639\u0645\u060c \u064a\u0645\u0643\u0646\u0643 \u062a\u0639\u0637\u064a\u0644 \u0627\u0644\u0641\u0648\u062a\u0631\u0629 \u0641\u064a \u0627\u064a \u0648\u0642\u062a \u0648\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0631\u0635\u064a\u062f\u0643 \u0627\u0644\u0645\u062a\u0628\u0642\u064a.", - "zen.faq.q8": - "\u0647\u0644 \u064a\u0645\u0643\u0646\u0646\u064a \u0627\u0633\u062a\u062e\u062f\u0627\u0645 Zen \u0645\u0639 \u0648\u0643\u0644\u0627\u0621 \u0628\u0631\u0645\u062c\u0629 \u0627\u062e\u0631\u064a\u0646\u061f", - "zen.faq.a8": - "\u0628\u064a\u0646\u0645\u0627 \u064a\u0639\u0645\u0644 Zen \u0628\u0634\u0643\u0644 \u0631\u0627\u0626\u0639 \u0645\u0639 OpenCode\u060c \u064a\u0645\u0643\u0646\u0643 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 Zen \u0645\u0639 \u0627\u064a \u0648\u0643\u064a\u0644. \u0627\u062a\u0628\u0639 \u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u0627\u0639\u062f\u0627\u062f \u0641\u064a \u0648\u0643\u064a\u0644 \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u0645\u0641\u0636\u0644 \u0644\u062f\u064a\u0643.", - "zen.cta.start": "ابدأ مع Zen", - "zen.pricing.title": "أضف 20 دولارًا ادفع حسب رصيدك", - "zen.pricing.fee": "(+1.23 دولار رسوم معالجة البطاقة)", - "zen.pricing.body": "استخدم مع أي وكيل. ضبط حدود الإنفاق الشهري. قم بالإلغاء في أي وقت.", - "zen.problem.title": "ما هي المشكلة التي يحلها Zen؟", - "zen.problem.body": - "هناك العديد من النماذج المتاحة، ولكن القليل منها فقط يعمل بشكل جيد مع وكلاء البرمجة. يقوم معظم مقدمي الخدمة بتكوينها بشكل مختلف وبنتائج مختلفة.", - "zen.problem.subtitle": "نحن نعمل على إصلاح هذه المشكلة للجميع، وليس فقط لمستخدمي OpenCode.", - "zen.problem.item1": "اختبار نماذج مختارة واستشارة فرقهم", - "zen.problem.item2": "العمل مع مقدمي الخدمة لضمان تسليمهم بشكل صحيح", - "zen.problem.item3": "نوصي بقياس جميع مجموعات موفري النماذج", - "zen.how.title": "كيف يعمل Zen", - "zen.how.body": "بينما نقترح عليك استخدام Zen مع OpenCode، يمكنك استخدام Zen مع أي وكيل.", - "zen.how.step1.title": "قم بالتسجيل وأضف رصيدًا بقيمة 20 دولارًا", - "zen.how.step1.beforeLink": "اتبع", - "zen.how.step1.link": "تعليمات الإعداد", - "zen.how.step2.title": "استخدم Zen بسعر شفاف", - "zen.how.step2.link": "الدفع لكل طلب", - "zen.how.step2.afterLink": "مع صفر هوامش الربح", - "zen.how.step3.title": "التعبئة التلقائية", - "zen.how.step3.body": "عندما يصل رصيدك إلى 5 دولارات، سنضيف تلقائيًا 20 دولارًا", - "zen.privacy.title": "خصوصيتك مهمة بالنسبة لنا", - "zen.privacy.beforeExceptions": - "جميع موديلات Zen مستضافة في الولايات المتحدة. يتبع مقدمو الخدمة سياسة عدم الاحتفاظ بالبيانات ولا يستخدمون بياناتك للتدريب النموذجي", - "zen.privacy.exceptionsLink": "الاستثناءات التالية", - "download.meta.description": - "\u0642\u0645 \u0628\u062a\u0646\u0632\u064a\u0644 OpenCode \u0644\u0640 macOS\u060c Windows\u060c \u0648Linux", - "download.hero.title": "\u062a\u0646\u0632\u064a\u0644 OpenCode", - "download.hero.subtitle": - "\u0645\u062a\u0627\u062d \u0628\u0646\u0633\u062e\u0629 \u062a\u062c\u0631\u064a\u0628\u064a\u0629 \u0644\u0640 macOS\u060c Windows\u060c \u0648Linux", - "download.hero.button": "\u062a\u0646\u0632\u064a\u0644 \u0644\u0640 {{os}}", - "download.section.terminal": "OpenCode \u0644\u0644\u0637\u0631\u0641\u064a\u0629", - "download.section.desktop": "OpenCode \u0644\u0633\u0637\u062d \u0627\u0644\u0645\u0643\u062a\u0628 (Beta)", - "download.section.extensions": "\u0627\u0645\u062a\u062f\u0627\u062f\u0627\u062a OpenCode", - "download.section.integrations": "\u062a\u0643\u0627\u0645\u0644\u0627\u062a OpenCode", - "download.action.download": "\u062a\u0646\u0632\u064a\u0644", - "download.action.install": "\u062a\u062b\u0628\u064a\u062a", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - "download.faq.a3.beforeLocal": - "\u0644\u064a\u0633 \u0628\u0627\u0644\u0636\u0631\u0648\u0631\u0629\u060c \u0644\u0643\u0646 \u0639\u0644\u0649 \u0627\u0644\u0627\u0631\u062c\u062d. \u0633\u062a\u062d\u062a\u0627\u062c \u0627\u0644\u0649 \u0627\u0634\u062a\u0631\u0627\u0643 \u0628\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0627\u0630\u0627 \u0643\u0646\u062a \u062a\u0631\u064a\u062f \u0631\u0628\u0637 OpenCode \u0628\u0645\u0632\u0648\u062f \u0645\u062f\u0641\u0648\u0639\u060c \u0644\u0643\u0646 \u064a\u0645\u0643\u0646\u0643 \u0627\u0644\u0639\u0645\u0644 \u0645\u0639", - "download.faq.a3.localLink": "\u0646\u0645\u0627\u0630\u062c \u0645\u062d\u0644\u064a\u0629", - "download.faq.a3.afterLocal.beforeZen": - "\u0645\u062c\u0627\u0646\u0627. \u0628\u064a\u0646\u0645\u0627 \u0646\u0634\u062c\u0639 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0639\u0644\u0649 \u0627\u0633\u062a\u062e\u062f\u0627\u0645", - "download.faq.a3.afterZen": - "\u060c \u0641\u0627\u0646 OpenCode \u064a\u0639\u0645\u0644 \u0645\u0639 \u062c\u0645\u064a\u0639 \u0627\u0644\u0645\u0632\u0648\u062f\u064a\u0646 \u0627\u0644\u0634\u0627\u0626\u0639\u064a\u0646 \u0645\u062b\u0644 OpenAI \u0648Anthropic \u0648xAI \u0648\u063a\u064a\u0631\u0647\u0627.", - "download.faq.a5.p1": - "OpenCode \u0645\u062c\u0627\u0646\u064a 100% \u0644\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645.", - "download.faq.a5.p2.beforeZen": - "\u0627\u064a \u062a\u0643\u0627\u0644\u064a\u0641 \u0627\u0636\u0627\u0641\u064a\u0629 \u0633\u062a\u0627\u062a\u064a \u0645\u0646 \u0627\u0634\u062a\u0631\u0627\u0643\u0643 \u0644\u062f\u0649 \u0645\u0632\u0648\u062f \u0627\u0644\u0646\u0645\u0627\u0630\u062c. \u0631\u063a\u0645 \u0627\u0646 OpenCode \u064a\u0639\u0645\u0644 \u0645\u0639 \u0627\u064a \u0645\u0632\u0648\u062f \u0646\u0645\u0627\u0630\u062c\u060c \u0646\u0648\u0635\u064a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645", - "download.faq.a5.p2.afterZen": ".", - "download.faq.a6.p1": - "\u064a\u062a\u0645 \u062d\u0641\u0638 \u0628\u064a\u0627\u0646\u0627\u062a\u0643 \u0648\u0645\u0639\u0644\u0648\u0645\u0627\u062a\u0643 \u0641\u0642\u0637 \u0639\u0646\u062f \u0627\u0646\u0634\u0627\u0621 \u0631\u0648\u0627\u0628\u0637 \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a OpenCode.", - "download.faq.a6.p2.beforeShare": "\u0627\u0639\u0631\u0641 \u0627\u0644\u0645\u0632\u064a\u062f \u0639\u0646", - "download.faq.a6.shareLink": "\u0635\u0641\u062d\u0627\u062a \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629", - - "enterprise.title": - "OpenCode | \u062d\u0644\u0648\u0644 \u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u0644\u0645\u0624\u0633\u0633\u062a\u0643", - "enterprise.meta.description": - "\u062a\u0648\u0627\u0635\u0644 \u0645\u0639 OpenCode \u0644\u062d\u0644\u0648\u0644 \u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a", - "enterprise.hero.title": "\u0643\u0648\u062f\u0643 \u0645\u0644\u0643\u0643", - "enterprise.hero.body1": - "\u064a\u0639\u0645\u0644 OpenCode \u0628\u0623\u0645\u0627\u0646 \u062f\u0627\u062e\u0644 \u0645\u0624\u0633\u0633\u062a\u0643 \u062f\u0648\u0646 \u062a\u062e\u0632\u064a\u0646 \u0623\u064a \u0628\u064a\u0627\u0646\u0627\u062a \u0623\u0648 \u0633\u064a\u0627\u0642\u060c \u0648\u062f\u0648\u0646 \u0642\u064a\u0648\u062f \u062a\u0631\u062e\u064a\u0635 \u0623\u0648 \u0627\u062f\u0639\u0627\u0621\u0627\u062a \u0645\u0644\u0643\u064a\u0629. \u0627\u0628\u062f\u0623 \u062a\u062c\u0631\u0628\u0629 \u0645\u0639 \u0641\u0631\u064a\u0642\u0643\u060c \u062b\u0645 \u0627\u0646\u0634\u0631\u0647 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0645\u0624\u0633\u0633\u0629 \u0639\u0628\u0631 \u062f\u0645\u062c\u0647 \u0645\u0639 SSO \u0648\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629 \u0644\u062f\u064a\u0643.", - "enterprise.hero.body2": - "\u0623\u062e\u0628\u0631\u0646\u0627 \u0643\u064a\u0641 \u064a\u0645\u0643\u0646\u0646\u0627 \u0627\u0644\u0645\u0633\u0627\u0639\u062f\u0629.", - "enterprise.form.name.label": "\u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u0643\u0627\u0645\u0644", - "enterprise.form.name.placeholder": "\u062c\u064a\u0641 \u0628\u064a\u0632\u0648\u0633", - "enterprise.form.role.label": "\u0627\u0644\u0645\u0646\u0635\u0628", - "enterprise.form.role.placeholder": - "\u0631\u0626\u064a\u0633 \u0645\u062c\u0644\u0633 \u0627\u0644\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u062a\u0646\u0641\u064a\u0630\u064a", - "enterprise.form.email.label": - "\u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u0644\u0644\u0634\u0631\u0643\u0629", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": - "\u0645\u0627 \u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0627\u0644\u062a\u064a \u062a\u062d\u0627\u0648\u0644 \u062d\u0644\u0647\u0627\u061f", - "enterprise.form.message.placeholder": - "\u0646\u062d\u062a\u0627\u062c \u0645\u0633\u0627\u0639\u062f\u0629 \u0641\u064a...", - "enterprise.form.send": "\u0625\u0631\u0633\u0627\u0644", - "enterprise.form.sending": "\u062c\u0627\u0631\u064d \u0627\u0644\u0625\u0631\u0633\u0627\u0644...", - "enterprise.form.success": - "\u062a\u0645 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0644\u0629\u060c \u0633\u0646\u062a\u0648\u0627\u0635\u0644 \u0645\u0639\u0643 \u0642\u0631\u064a\u0628\u064b\u0627.", - "enterprise.faq.title": "\u0627\u0644\u0623\u0633\u0626\u0644\u0629 \u0627\u0644\u0634\u0627\u0626\u0639\u0629", - "enterprise.faq.q1": "\u0645\u0627 \u0647\u0648 OpenCode Enterprise\u061f", - "enterprise.faq.a1": - "OpenCode Enterprise \u0645\u062e\u0635\u0635 \u0644\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0631\u064a\u062f \u0627\u0644\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646 \u0627\u0644\u0643\u0648\u062f \u0648\u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0644\u0627 \u062a\u063a\u0627\u062f\u0631 \u0628\u0646\u064a\u062a\u0647\u0627 \u0627\u0644\u062a\u062d\u062a\u064a\u0629 \u0623\u0628\u062f\u064b\u0627. \u064a\u062a\u062d\u0642\u0642 \u0630\u0644\u0643 \u0639\u0628\u0631 \u0625\u0639\u062f\u0627\u062f \u0645\u0631\u0643\u0632\u064a \u064a\u0646\u062f\u0645\u062c \u0645\u0639 SSO \u0648\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629 \u0644\u062f\u064a\u0643.", - "enterprise.faq.q2": - "\u0643\u064a\u0641 \u0623\u0628\u062f\u0623 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 OpenCode Enterprise\u061f", - "enterprise.faq.a2": - "\u0627\u0628\u062f\u0623 \u0628\u0628\u0633\u0627\u0637\u0629 \u0628\u062a\u062c\u0631\u0628\u0629 \u062f\u0627\u062e\u0644\u064a\u0629 \u0645\u0639 \u0641\u0631\u064a\u0642\u0643. \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u064b\u0627\u060c \u0644\u0627 \u064a\u0642\u0648\u0645 OpenCode \u0628\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0643\u0648\u062f \u0623\u0648 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0633\u064a\u0627\u0642\u060c \u0645\u0645\u0627 \u064a\u062c\u0639\u0644 \u0627\u0644\u0628\u062f\u0621 \u0633\u0647\u0644\u064b\u0627. \u0628\u0639\u062f \u0630\u0644\u0643\u060c \u062a\u0648\u0627\u0635\u0644 \u0645\u0639\u0646\u0627 \u0644\u0645\u0646\u0627\u0642\u0634\u0629 \u0627\u0644\u0623\u0633\u0639\u0627\u0631 \u0648\u062e\u064a\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u0646\u0641\u064a\u0630.", - "enterprise.faq.q3": - "\u0643\u064a\u0641 \u062a\u0639\u0645\u0644 \u062a\u0633\u0639\u064a\u0631\u0629 \u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a\u061f", - "enterprise.faq.a3": - "\u0646\u0642\u062f\u0645 \u062a\u0633\u0639\u064a\u0631\u064b\u0627 \u0644\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u062d\u0633\u0628 \u0639\u062f\u062f \u0627\u0644\u0645\u0642\u0627\u0639\u062f. \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0644\u062f\u064a\u0643 \u0628\u0648\u0627\u0628\u0629 LLM \u062e\u0627\u0635\u0629 \u0628\u0643\u060c \u0641\u0644\u0646 \u0646\u0641\u0631\u0636 \u0631\u0633\u0648\u0645\u064b\u0627 \u0639\u0644\u0649 \u0627\u0644\u062a\u0648\u0643\u0646\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u0629. \u0644\u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644\u060c \u062a\u0648\u0627\u0635\u0644 \u0645\u0639\u0646\u0627 \u0644\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0639\u0631\u0636 \u0633\u0639\u0631 \u0645\u062e\u0635\u0635 \u0628\u0646\u0627\u0621\u064b \u0639\u0644\u0649 \u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u0645\u0624\u0633\u0633\u062a\u0643.", - "enterprise.faq.q4": - "\u0647\u0644 \u0628\u064a\u0627\u0646\u0627\u062a\u064a \u0622\u0645\u0646\u0629 \u0645\u0639 OpenCode Enterprise\u061f", - "enterprise.faq.a4": - "\u0646\u0639\u0645. \u0644\u0627 \u064a\u0642\u0648\u0645 OpenCode \u0628\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0643\u0648\u062f \u0623\u0648 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0633\u064a\u0627\u0642. \u062a\u062a\u0645 \u062c\u0645\u064a\u0639 \u0627\u0644\u0645\u0639\u0627\u0644\u062c\u0629 \u0645\u062d\u0644\u064a\u064b\u0627 \u0623\u0648 \u0639\u0628\u0631 \u0627\u0633\u062a\u062f\u0639\u0627\u0621\u0627\u062a API \u0645\u0628\u0627\u0634\u0631\u0629 \u0625\u0644\u0649 \u0645\u0632\u0648\u062f \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0644\u062f\u064a\u0643. \u0648\u0645\u0639 \u0627\u0644\u0625\u0639\u062f\u0627\u062f \u0627\u0644\u0645\u0631\u0643\u0632\u064a \u0648\u062a\u0643\u0627\u0645\u0644 SSO\u060c \u062a\u0638\u0644 \u0628\u064a\u0627\u0646\u0627\u062a\u0643 \u0622\u0645\u0646\u0629 \u062f\u0627\u062e\u0644 \u0627\u0644\u0628\u0646\u064a\u0629 \u0627\u0644\u062a\u062d\u062a\u064a\u0629 \u0644\u0645\u0624\u0633\u0633\u062a\u0643.", - - "brand.title": - "OpenCode | \u0627\u0644\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u062a\u062c\u0627\u0631\u064a\u0629", - "brand.meta.description": - "\u0625\u0631\u0634\u0627\u062f\u0627\u062a \u0639\u0644\u0627\u0645\u0629 OpenCode \u0627\u0644\u062a\u062c\u0627\u0631\u064a\u0629", - "brand.heading": - "\u0625\u0631\u0634\u0627\u062f\u0627\u062a \u0627\u0644\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u062a\u062c\u0627\u0631\u064a\u0629", - "brand.subtitle": - "\u0645\u0648\u0627\u0631\u062f \u0648\u0645\u0644\u0641\u0627\u062a \u0644\u0645\u0633\u0627\u0639\u062f\u062a\u0643 \u0639\u0644\u0649 \u0627\u0644\u0639\u0645\u0644 \u0645\u0639 \u0639\u0644\u0627\u0645\u0629 OpenCode \u0627\u0644\u062a\u062c\u0627\u0631\u064a\u0629.", - "brand.downloadAll": - "\u062a\u0646\u0632\u064a\u0644 \u062c\u0645\u064a\u0639 \u0627\u0644\u0645\u0644\u0641\u0627\u062a", - "changelog.title": "OpenCode | \u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a", - "changelog.meta.description": - "\u0645\u0644\u0627\u062d\u0638\u0627\u062a \u0627\u0644\u0625\u0635\u062f\u0627\u0631 \u0648\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0644\u0640 OpenCode", - "changelog.hero.title": "\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a", - "changelog.hero.subtitle": - "\u062a\u062d\u062f\u064a\u062b\u0627\u062a \u0648\u062a\u062d\u0633\u064a\u0646\u0627\u062a \u062c\u062f\u064a\u062f\u0629 \u0644\u0640 OpenCode", - "changelog.empty": - "\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0623\u064a \u0625\u062f\u062e\u0627\u0644\u0627\u062a \u0641\u064a \u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a.", - "changelog.viewJson": "\u0639\u0631\u0636 JSON", - "workspace.nav.zen": "Zen", - "workspace.nav.apiKeys": "مفاتيح API", - "workspace.nav.members": "أعضاء", - "workspace.nav.billing": "الفواتير", - "workspace.nav.settings": "إعدادات", - "workspace.home.banner.beforeLink": "نماذج محسنة موثوقة لوكلاء الترميز.", - "workspace.home.billing.loading": "تحميل...", - "workspace.home.billing.enable": "تمكين الفوترة", - "workspace.home.billing.currentBalance": "الرصيد الحالي", - "workspace.newUser.feature.tested.title": "نماذج تم اختبارها والتحقق منها", - "workspace.newUser.feature.tested.body": "لقد قمنا بقياس واختبار النماذج خصيصًا لوكلاء الترميز لضمان أفضل أداء.", - "workspace.newUser.feature.quality.title": "أعلى جودة", - "workspace.newUser.feature.quality.body": - "الوصول إلى النماذج التي تم تكوينها لتحقيق الأداء الأمثل - لا يوجد تخفيضات أو توجيه إلى موفري الخدمة الأرخص.", - "workspace.newUser.feature.lockin.title": "بدون احتجاز بمزوّد واحد", - "workspace.newUser.feature.lockin.body": - "استخدم Zen مع أي وكيل ترميز، واستمر في استخدام موفري الخدمات الآخرين مع opencode وقتما تشاء.", - "workspace.newUser.copyApiKey": "انسخ مفتاح API", - "workspace.newUser.copyKey": "نسخ المفتاح", - "workspace.newUser.copied": "منسوخ!", - "workspace.newUser.step.enableBilling": "تمكين الفوترة", - "workspace.newUser.step.login.before": "شغّل", - "workspace.newUser.step.login.after": "وحدد opencode", - "workspace.newUser.step.pasteKey": "الصق مفتاح API الخاص بك", - "workspace.newUser.step.models.before": "ابدأ opencode ثم قم بالتشغيل", - "workspace.newUser.step.models.after": "لاختيار نموذج", - "workspace.models.title": "نماذج", - "workspace.models.subtitle.beforeLink": "إدارة النماذج التي يمكن لأعضاء مساحة العمل الوصول إليها.", - "workspace.models.table.model": "نموذج", - "workspace.models.table.enabled": "ممكّن", - "workspace.providers.title": "أحضر مفتاحك الخاص", - "workspace.providers.subtitle": "قم بتكوين مفاتيح API الخاصة بك من موفري الذكاء الاصطناعي.", - "workspace.providers.placeholder": "أدخل {{provider}} API مفتاح ({{prefix}}...)", - "workspace.providers.configure": "تكوين", - "workspace.providers.edit": "يحرر", - "workspace.providers.delete": "يمسح", - "workspace.providers.saving": "توفير...", - "workspace.providers.save": "يحفظ", - "workspace.providers.table.provider": "مزود", - "workspace.providers.table.apiKey": "مفتاح API", - "workspace.usage.title": "تاريخ الاستخدام", - "workspace.usage.subtitle": "استخدام وتكاليف API الأخيرة.", - "workspace.usage.empty": "قم بإجراء أول مكالمة API للبدء.", - "workspace.usage.table.date": "تاريخ", - "workspace.usage.table.model": "نموذج", - "workspace.usage.table.input": "مدخل", - "workspace.usage.table.output": "الإخراج", - "workspace.usage.table.cost": "التكلفة", - "workspace.usage.breakdown.input": "مدخل", - "workspace.usage.breakdown.cacheRead": "قراءة ذاكرة التخزين المؤقت", - "workspace.usage.breakdown.cacheWrite": "كتابة ذاكرة التخزين المؤقت", - "workspace.usage.breakdown.output": "الإخراج", - "workspace.usage.breakdown.reasoning": "المنطق", - "workspace.usage.subscription": "الاشتراك (${{amount}})", - "workspace.cost.title": "التكلفة", - "workspace.cost.subtitle": "تكاليف الاستخدام مقسمة حسب النموذج.", - "workspace.cost.allModels": "جميع النماذج", - "workspace.cost.allKeys": "جميع المفاتيح", - "workspace.cost.deletedSuffix": "(محذوف)", - "workspace.cost.empty": "لا توجد بيانات استخدام متاحة للفترة المحددة.", - "workspace.cost.subscriptionShort": "اشتراك", - "workspace.keys.title": "مفاتيح API", - "workspace.keys.subtitle": "إدارة مفاتيح API الخاصة بك للوصول إلى خدمات opencode.", - "workspace.keys.create": "قم بإنشاء مفتاح API", - "workspace.keys.placeholder": "أدخل اسم المفتاح", - "workspace.keys.empty": "أنشئ مفتاح API لبوابة opencode", - "workspace.keys.table.name": "اسم", - "workspace.keys.table.key": "مفتاح", - "workspace.keys.table.createdBy": "تم الإنشاء بواسطة", - "workspace.keys.table.lastUsed": "آخر استخدام", - "workspace.keys.copyApiKey": "انسخ مفتاح API", - "workspace.keys.delete": "يمسح", - "workspace.members.title": "أعضاء", - "workspace.members.subtitle": "إدارة أعضاء مساحة العمل وأذوناتهم.", - "workspace.members.invite": "دعوة العضو", - "workspace.members.inviting": "دعوة...", - "workspace.members.beta.beforeLink": "مساحات العمل مجانية للفرق أثناء النسخة التجريبية.", - "workspace.members.form.invitee": "المدعو", - "workspace.members.form.emailPlaceholder": "أدخل البريد الإلكتروني", - "workspace.members.form.role": "دور", - "workspace.members.form.monthlyLimit": "حد الإنفاق الشهري", - "workspace.members.noLimit": "لا يوجد حد", - "workspace.members.noLimitLowercase": "لا يوجد حد", - "workspace.members.invited": "مدعو", - "workspace.members.edit": "يحرر", - "workspace.members.delete": "يمسح", - "workspace.members.saving": "توفير...", - "workspace.members.save": "يحفظ", - "workspace.members.table.email": "بريد إلكتروني", - "workspace.members.table.role": "دور", - "workspace.members.table.monthLimit": "حد الشهر", - "workspace.members.role.admin": "مسؤول", - "workspace.members.role.adminDescription": "يمكن إدارة النماذج، والأعضاء، والفواتير", - "workspace.members.role.member": "عضو", - "workspace.members.role.memberDescription": "يمكنهم فقط إنشاء مفاتيح API لأنفسهم", - "workspace.settings.title": "إعدادات", - "workspace.settings.subtitle": "قم بتحديث اسم مساحة العمل الخاصة بك وتفضيلاتك.", - "workspace.settings.workspaceName": "اسم مساحة العمل", - "workspace.settings.defaultName": "الافتراضي", - "workspace.settings.updating": "جارٍ التحديث...", - "workspace.settings.save": "يحفظ", - "workspace.settings.edit": "يحرر", - "workspace.billing.title": "الفواتير", - "workspace.billing.subtitle.beforeLink": "إدارة طرق الدفع.", - "workspace.billing.contactUs": "اتصل بنا", - "workspace.billing.subtitle.afterLink": "إذا كان لديك أي أسئلة.", - "workspace.billing.currentBalance": "الرصيد الحالي", - "workspace.billing.add": "أضف $", - "workspace.billing.enterAmount": "أدخل المبلغ", - "workspace.billing.loading": "تحميل...", - "workspace.billing.addAction": "إضافة", - "workspace.billing.addBalance": "إضافة الرصيد", - "workspace.billing.linkedToStripe": "مرتبط بـ Stripe", - "workspace.billing.manage": "إدارة", - "workspace.billing.enable": "تمكين الفوترة", - "workspace.monthlyLimit.title": "الحد الشهري", - "workspace.monthlyLimit.subtitle": "قم بتعيين حد الاستخدام الشهري لحسابك.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "جارٍ التعيين...", - "workspace.monthlyLimit.set": "تعيين", - "workspace.monthlyLimit.edit": "تحرير الحد", - "workspace.monthlyLimit.noLimit": "لم يتم تعيين حد الاستخدام.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "الاستخدام الحالي ل", - "workspace.monthlyLimit.currentUsage.beforeAmount": "هو $", - "workspace.reload.title": "إعادة الشحن التلقائي", - "workspace.reload.disabled.before": "إعادة الشحن التلقائي", - "workspace.reload.disabled.state": "معطّل", - "workspace.reload.disabled.after": "فعّلها لإعادة شحن الرصيد تلقائيًا عندما يكون منخفضًا.", - "workspace.reload.enabled.before": "إعادة الشحن التلقائي", - "workspace.reload.enabled.state": "ممكّن", - "workspace.reload.enabled.middle": "سنعيد شحن رصيدك بمبلغ", - "workspace.reload.processingFee": "رسوم المعالجة", - "workspace.reload.enabled.after": "عندما يصل الرصيد إلى", - "workspace.reload.edit": "يحرر", - "workspace.reload.enable": "تفعيل", - "workspace.reload.enableAutoReload": "تفعيل إعادة الشحن التلقائي", - "workspace.reload.reloadAmount": "مبلغ إعادة الشحن $", - "workspace.reload.whenBalanceReaches": "عندما يصل الرصيد إلى $", - "workspace.reload.saving": "توفير...", - "workspace.reload.save": "يحفظ", - "workspace.reload.failedAt": "فشلت إعادة الشحن في", - "workspace.reload.reason": "سبب:", - "workspace.reload.updatePaymentMethod": "يرجى تحديث طريقة الدفع الخاصة بك والمحاولة مرة أخرى.", - "workspace.reload.retrying": "جارٍ إعادة المحاولة...", - "workspace.reload.retry": "أعد المحاولة", - "workspace.payments.title": "تاريخ المدفوعات", - "workspace.payments.subtitle": "معاملات الدفع الأخيرة.", - "workspace.payments.table.date": "تاريخ", - "workspace.payments.table.paymentId": "معرف الدفع", - "workspace.payments.table.amount": "المبلغ", - "workspace.payments.table.receipt": "إيصال", - "workspace.payments.type.credit": "ائتمان", - "workspace.payments.type.subscription": "الاشتراك", - "workspace.payments.view": "عرض", - "workspace.black.loading": "تحميل...", - "workspace.black.time.day": "يوم", - "workspace.black.time.days": "أيام", - "workspace.black.time.hour": "ساعة", - "workspace.black.time.hours": "ساعات", - "workspace.black.time.minute": "دقيقة", - "workspace.black.time.minutes": "دقائق", - "workspace.black.time.fewSeconds": "بضع ثوان", - "workspace.black.subscription.title": "الاشتراك", - "workspace.black.subscription.message": "أنت مشترك في OpenCode Black مقابل {{plan}} دولار شهريًا.", - "workspace.black.subscription.manage": "إدارة الاشتراك", - "workspace.black.subscription.rollingUsage": "استخدام لمدة 5 ساعات", - "workspace.black.subscription.weeklyUsage": "الاستخدام الأسبوعي", - "workspace.black.subscription.resetsIn": "إعادة تعيين في", - "workspace.black.subscription.useBalance": "استخدم رصيدك المتوفر بعد الوصول إلى حدود الاستخدام", - "workspace.black.waitlist.title": "قائمة الانتظار", - "workspace.black.waitlist.joined": "أنت على قائمة الانتظار لخطة OpenCode Black بقيمة ${{plan}} شهريًا.", - "workspace.black.waitlist.ready": "نحن مستعدون لتسجيلك في خطة OpenCode Black بقيمة ${{plan}} شهريًا.", - "workspace.black.waitlist.leave": "ترك قائمة الانتظار", - "workspace.black.waitlist.leaving": "مغادرة...", - "workspace.black.waitlist.left": "غادر", - "workspace.black.waitlist.enroll": "تسجل", - "workspace.black.waitlist.enrolling": "جارٍ التسجيل...", - "workspace.black.waitlist.enrolled": "مسجل", - "workspace.black.waitlist.enrollNote": 'عند النقر فوق "تسجيل"، يبدأ اشتراكك على الفور وسيتم خصم الرسوم من بطاقتك.', -} satisfies Dict diff --git a/packages/console/app/src/i18n/br.ts b/packages/console/app/src/i18n/br.ts deleted file mode 100644 index c7ce5f9ca..000000000 --- a/packages/console/app/src/i18n/br.ts +++ /dev/null @@ -1,470 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "Documentacao", - "nav.changelog": "Registro de mudancas", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "Empresas", - "nav.zen": "Zen", - "nav.login": "Entrar", - "nav.free": "Gratis", - "nav.home": "Inicio", - "nav.openMenu": "Abrir menu", - "nav.getStartedFree": "Comecar gratis", - - "nav.context.copyLogo": "Copiar logo como SVG", - "nav.context.copyWordmark": "Copiar wordmark como SVG", - "nav.context.brandAssets": "Assets da marca", - - "footer.github": "GitHub", - "footer.docs": "Documentacao", - "footer.changelog": "Registro de mudancas", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "Marca", - "legal.privacy": "Privacidade", - "legal.terms": "Termos", - - "email.title": "Seja o primeiro a saber quando lancarmos novos produtos", - "email.subtitle": "Entre na lista de espera para acesso antecipado.", - "email.placeholder": "Endereco de e-mail", - "email.subscribe": "Inscrever-se", - "email.success": "Quase pronto: verifique sua caixa de entrada e confirme seu e-mail", - - "notFound.title": "Nao encontrado | opencode", - "notFound.heading": "404 - Pagina nao encontrada", - "notFound.home": "Inicio", - "notFound.docs": "Documentacao", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "Sair", - - "workspace.select": "Selecionar workspace", - "workspace.createNew": "+ Criar novo workspace", - "workspace.modal.title": "Criar novo workspace", - "workspace.modal.placeholder": "Digite o nome do workspace", - - "common.cancel": "Cancelar", - "common.creating": "Criando...", - "common.create": "Criar", - - "common.videoUnsupported": "Seu navegador nao suporta a tag de video.", - "common.figure": "Fig {{n}}.", - "common.faq": "FAQ", - "common.learnMore": "Saiba mais", - - "home.title": "OpenCode | O agente de codificacao com IA de codigo aberto", - - "home.banner.badge": "Novo", - "home.banner.text": "App desktop disponivel em beta", - "home.banner.platforms": "no macOS, Windows e Linux", - "home.banner.downloadNow": "Baixar agora", - "home.banner.downloadBetaNow": "Baixe agora o beta do desktop", - - "home.hero.title": "O agente de codificacao com IA de codigo aberto", - "home.hero.subtitle.a": "Modelos gratis incluidos ou conecte qualquer modelo de qualquer provedor,", - "home.hero.subtitle.b": "incluindo Claude, GPT, Gemini e mais.", - - "home.install.ariaLabel": "Opcoes de instalacao", - - "home.what.title": "O que e OpenCode?", - "home.what.body": - "OpenCode e um agente de codigo aberto que ajuda voce a escrever codigo no terminal, IDE ou desktop.", - "home.what.lsp.title": "LSP habilitado", - "home.what.lsp.body": "Carrega automaticamente os LSPs certos para o LLM", - "home.what.multiSession.title": "Multi-sessao", - "home.what.multiSession.body": "Inicie varios agentes em paralelo no mesmo projeto", - "home.what.shareLinks.title": "Links para compartilhar", - "home.what.shareLinks.body": "Compartilhe um link para qualquer sessao para referencia ou depuracao", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "Faca login com o GitHub para usar sua conta do Copilot", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": "Faca login com a OpenAI para usar sua conta do ChatGPT Plus ou Pro", - "home.what.anyModel.title": "Qualquer modelo", - "home.what.anyModel.body": "75+ provedores de LLM via Models.dev, incluindo modelos locais", - "home.what.anyEditor.title": "Qualquer editor", - "home.what.anyEditor.body": "Disponivel como interface de terminal, app desktop e extensao de IDE", - "home.what.readDocs": "Ler docs", - - "home.growth.title": "O agente de codificacao com IA de codigo aberto", - "home.growth.body": - "Com mais de {{stars}} estrelas no GitHub, {{contributors}} colaboradores e mais de {{commits}} commits, OpenCode e usado e confiado por mais de {{monthlyUsers}} desenvolvedores todos os meses.", - "home.growth.githubStars": "Estrelas no GitHub", - "home.growth.contributors": "Colaboradores", - "home.growth.monthlyDevs": "Devs mensais", - - "home.privacy.title": "Feito com privacidade em primeiro lugar", - "home.privacy.body": - "OpenCode nao armazena nenhum codigo seu nem dados de contexto, para poder operar em ambientes sensiveis a privacidade.", - "home.privacy.learnMore": "Saiba mais sobre", - "home.privacy.link": "privacidade", - - "home.faq.q1": "O que e OpenCode?", - "home.faq.a1": - "OpenCode e um agente de codigo aberto que ajuda voce a escrever e executar codigo com qualquer modelo de IA. Ele esta disponivel como interface de terminal, app desktop ou extensao de IDE.", - "home.faq.q2": "Como eu uso o OpenCode?", - "home.faq.a2.before": "A forma mais facil de comecar e ler a", - "home.faq.a2.link": "introducao", - "home.faq.q3": "Preciso de assinaturas extras de IA para usar o OpenCode?", - "home.faq.a3.p1": - "Nao necessariamente, OpenCode vem com um conjunto de modelos gratis que voce pode usar sem criar conta.", - "home.faq.a3.p2.beforeZen": "Fora isso, voce pode usar modelos populares para codigo criando uma conta", - "home.faq.a3.p2.afterZen": ".", - "home.faq.a3.p3": - "Embora incentivemos os usuarios a usar o Zen, OpenCode tambem funciona com todos os provedores populares, como OpenAI, Anthropic, xAI etc.", - "home.faq.a3.p4.beforeLocal": "Voce pode ate conectar seus", - "home.faq.a3.p4.localLink": "modelos locais", - "home.faq.q4": "Posso usar minhas assinaturas de IA existentes com o OpenCode?", - "home.faq.a4.p1": - "Sim, OpenCode oferece suporte a planos de assinatura dos principais provedores. Voce pode usar suas assinaturas Claude Pro/Max, ChatGPT Plus/Pro ou GitHub Copilot.", - "home.faq.q5": "Posso usar o OpenCode apenas no terminal?", - "home.faq.a5.beforeDesktop": "Nao mais! OpenCode agora esta disponivel como um app para o", - "home.faq.a5.desktop": "desktop", - "home.faq.a5.and": "e", - "home.faq.a5.web": "web", - "home.faq.q6": "Quanto custa o OpenCode?", - "home.faq.a6": - "OpenCode e 100% gratis para usar. Tambem vem com um conjunto de modelos gratuitos. Pode haver custos adicionais se voce conectar outro provedor.", - "home.faq.q7": "E sobre dados e privacidade?", - "home.faq.a7.p1": - "Seus dados e informacoes so sao armazenados quando voce usa nossos modelos gratis ou cria links compartilhaveis.", - "home.faq.a7.p2.beforeModels": "Saiba mais sobre", - "home.faq.a7.p2.modelsLink": "nossos modelos", - "home.faq.a7.p2.and": "e", - "home.faq.a7.p2.shareLink": "paginas de compartilhamento", - "home.faq.q8": "OpenCode e codigo aberto?", - "home.faq.a8.p1": "Sim, OpenCode e totalmente open source. O codigo-fonte e publico no", - "home.faq.a8.p2": "sob a", - "home.faq.a8.mitLicense": "Licenca MIT", - "home.faq.a8.p3": - ", o que significa que qualquer pessoa pode usar, modificar ou contribuir com o desenvolvimento. Qualquer pessoa da comunidade pode abrir issues, enviar pull requests e estender funcionalidades.", - - "home.zenCta.title": "Acesse modelos confiaveis e otimizados para agentes de codigo", - "home.zenCta.body": - "O Zen te da acesso a um conjunto selecionado de modelos de IA que a OpenCode testou e benchmarkou especificamente para agentes de codigo. Nao precisa se preocupar com desempenho e qualidade inconsistentes entre provedores: use modelos validados que funcionam.", - "home.zenCta.link": "Saiba mais sobre o Zen", - - "download.title": "OpenCode | Download", - - "zen.title": "OpenCode Zen | Um conjunto selecionado de modelos confiaveis e otimizados para agentes de codigo", - "zen.hero.title": "Acesse modelos confiaveis e otimizados para agentes de codigo", - "zen.hero.body": - "O Zen te da acesso a um conjunto selecionado de modelos de IA que a OpenCode testou e benchmarkou especificamente para agentes de codigo. Nao precisa se preocupar com desempenho e qualidade inconsistentes entre provedores: use modelos validados que funcionam.", - - "zen.faq.q1": "O que e OpenCode Zen?", - "zen.faq.a1": - "Zen e um conjunto selecionado de modelos de IA testados e benchmarkados para agentes de codigo, criado pelo time por tras do OpenCode.", - "zen.faq.q2": "O que torna o Zen mais preciso?", - "zen.faq.a2": - "O Zen so oferece modelos que foram testados e benchmarkados especificamente para agentes de codigo. Voce nao usaria uma faca de manteiga para cortar um bife; nao use modelos ruins para programar.", - "zen.faq.q3": "Zen e mais barato?", - "zen.faq.a3": - "Zen nao tem fins lucrativos. Zen repassa os custos dos provedores de modelos diretamente para voce. Quanto maior o uso do Zen, mais a OpenCode pode negociar melhores taxas e repassar para voce.", - "zen.faq.q4": "Quanto custa o Zen?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "cobra por requisicao", - "zen.faq.a4.p1.afterPricing": "sem margem, entao voce paga exatamente o que o provedor do modelo cobra.", - "zen.faq.a4.p2.beforeAccount": "Seu custo total depende do uso, e voce pode definir limites mensais de gasto na sua", - "zen.faq.a4.p2.accountLink": "conta", - "zen.faq.a4.p3": - "Para cobrir custos, a OpenCode adiciona apenas uma pequena taxa de processamento de pagamento de $1.23 por recarga de saldo de $20.", - "zen.faq.q5": "E sobre dados e privacidade?", - "zen.faq.a5.beforeExceptions": - "Todos os modelos do Zen sao hospedados nos EUA. Os provedores seguem uma politica de zero retencao e nao usam seus dados para treinamento de modelos, com as", - "zen.faq.a5.exceptionsLink": "seguintes excecoes", - "zen.faq.q6": "Posso definir limites de gasto?", - "zen.faq.a6": "Sim, voce pode definir limites mensais de gasto na sua conta.", - "zen.faq.q7": "Posso cancelar?", - "zen.faq.a7": "Sim, voce pode desativar a cobranca a qualquer momento e usar o saldo restante.", - "zen.faq.q8": "Posso usar Zen com outros agentes de codigo?", - "zen.faq.a8": - "Embora o Zen funcione muito bem com o OpenCode, voce pode usar o Zen com qualquer agente. Siga as instrucoes de configuracao no seu agente de codigo preferido.", - "zen.cta.start": "Comece com Zen", - "zen.pricing.title": "Adicione $ 20 de saldo pré-pago", - "zen.pricing.fee": "(+$ 1,23 taxa de processamento do cartão)", - "zen.pricing.body": "Use com qualquer agente. Defina limites de gastos mensais. Cancele a qualquer momento.", - "zen.problem.title": "Que problema Zen está resolvendo?", - "zen.problem.body": - "Existem muitos modelos disponíveis, mas apenas alguns funcionam bem com agentes de codificação. A maioria dos provedores os configura de maneira diferente, com resultados variados.", - "zen.problem.subtitle": "Estamos corrigindo isso para todos, não apenas para os usuários OpenCode.", - "zen.problem.item1": "Testando modelos selecionados e consultando suas equipes", - "zen.problem.item2": "Trabalhar com fornecedores para garantir que eles sejam entregues corretamente", - "zen.problem.item3": "Comparando todas as combinações de fornecedor de modelo que recomendamos", - "zen.how.title": "Como Zen funciona", - "zen.how.body": "Embora sugerimos que você use Zen com OpenCode, você pode usar Zen com qualquer agente.", - "zen.how.step1.title": "Cadastre-se e adicione saldo de $ 20", - "zen.how.step1.beforeLink": "siga o", - "zen.how.step1.link": "instruções de configuração", - "zen.how.step2.title": "Use Zen com preços transparentes", - "zen.how.step2.link": "pague por solicitação", - "zen.how.step2.afterLink": "com marcação zero", - "zen.how.step3.title": "Recarga automática", - "zen.how.step3.body": "quando seu saldo atingir US$ 5, adicionaremos automaticamente US$ 20", - "zen.privacy.title": "Sua privacidade é importante para nós", - "zen.privacy.beforeExceptions": - "Todos os modelos Zen estão hospedados nos EUA. Os provedores seguem uma política de retenção zero e não usam seus dados para treinamento de modelo, com a", - "zen.privacy.exceptionsLink": "seguintes exceções", - "download.meta.description": "Baixe o OpenCode para macOS, Windows e Linux", - "download.hero.title": "Baixar OpenCode", - "download.hero.subtitle": "Disponivel em beta para macOS, Windows e Linux", - "download.hero.button": "Baixar para {{os}}", - "download.section.terminal": "OpenCode Terminal", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "Extensoes do OpenCode", - "download.section.integrations": "Integracoes do OpenCode", - "download.action.download": "Baixar", - "download.action.install": "Instalar", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - - "download.faq.a3.beforeLocal": - "Nao necessariamente, mas provavelmente. Voce vai precisar de uma assinatura de IA se quiser conectar o OpenCode a um provedor pago, embora possa trabalhar com", - "download.faq.a3.localLink": "modelos locais", - "download.faq.a3.afterLocal.beforeZen": "de graca. Embora encorajemos os usuarios a usar", - "download.faq.a3.afterZen": - ", o OpenCode funciona com todos os provedores populares como OpenAI, Anthropic, xAI etc.", - - "download.faq.a5.p1": "OpenCode e 100% gratuito para usar.", - "download.faq.a5.p2.beforeZen": - "Qualquer custo adicional vira da sua assinatura de um provedor de modelos. Embora o OpenCode funcione com qualquer provedor de modelos, recomendamos usar", - "download.faq.a5.p2.afterZen": ".", - - "download.faq.a6.p1": - "Seus dados e informacoes so sao armazenados quando voce cria links compartilhaveis no OpenCode.", - "download.faq.a6.p2.beforeShare": "Saiba mais sobre", - "download.faq.a6.shareLink": "paginas de compartilhamento", - - "enterprise.title": "OpenCode | Solucoes empresariais para sua organizacao", - "enterprise.meta.description": "Entre em contato com a OpenCode para solucoes empresariais", - "enterprise.hero.title": "Seu codigo e seu", - "enterprise.hero.body1": - "A OpenCode opera de forma segura dentro da sua organizacao sem armazenar dados ou contexto e sem restricoes de licenca ou reivindicacoes de propriedade. Inicie um teste com sua equipe e, em seguida, implante em toda a organizacao integrando com seu SSO e gateway interno de IA.", - "enterprise.hero.body2": "Diga-nos como podemos ajudar.", - "enterprise.form.name.label": "Nome completo", - "enterprise.form.name.placeholder": "Jeff Bezos", - "enterprise.form.role.label": "Cargo", - "enterprise.form.role.placeholder": "Presidente do conselho", - "enterprise.form.email.label": "E-mail corporativo", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "Qual problema voce esta tentando resolver?", - "enterprise.form.message.placeholder": "Precisamos de ajuda com...", - "enterprise.form.send": "Enviar", - "enterprise.form.sending": "Enviando...", - "enterprise.form.success": "Mensagem enviada, entraremos em contato em breve.", - "enterprise.faq.title": "FAQ", - "enterprise.faq.q1": "O que e OpenCode Enterprise?", - "enterprise.faq.a1": - "OpenCode Enterprise e para organizacoes que querem garantir que seu codigo e dados nunca saiam da sua infraestrutura. Isso pode ser feito com uma configuracao centralizada que se integra ao seu SSO e gateway interno de IA.", - "enterprise.faq.q2": "Como comeco com OpenCode Enterprise?", - "enterprise.faq.a2": - "Basta comecar com um teste interno com sua equipe. A OpenCode por padrao nao armazena seu codigo nem dados de contexto, tornando facil comecar. Depois, entre em contato conosco para discutir precos e opcoes de implementacao.", - "enterprise.faq.q3": "Como funciona a precificacao empresarial?", - "enterprise.faq.a3": - "Oferecemos precos empresariais por assento. Se voce tiver seu proprio gateway de LLM, nao cobramos pelos tokens utilizados. Para mais detalhes, entre em contato para um orcamento personalizado com base nas necessidades da sua organizacao.", - "enterprise.faq.q4": "Meus dados estao seguros com OpenCode Enterprise?", - "enterprise.faq.a4": - "Sim. A OpenCode nao armazena seu codigo nem dados de contexto. Todo o processamento acontece localmente ou por chamadas diretas de API ao seu provedor de IA. Com configuracao centralizada e integracao SSO, seus dados permanecem seguros dentro da infraestrutura da sua organizacao.", - - "brand.title": "OpenCode | Marca", - "brand.meta.description": "Diretrizes de marca da OpenCode", - "brand.heading": "Diretrizes de marca", - "brand.subtitle": "Recursos e arquivos para ajudar você a trabalhar com a marca OpenCode.", - "brand.downloadAll": "Baixar todos os assets", - "changelog.title": "OpenCode | Registro de mudancas", - "changelog.meta.description": "Notas de versao e registro de mudancas do OpenCode", - "changelog.hero.title": "Registro de mudancas", - "changelog.hero.subtitle": "Novas atualizacoes e melhorias no OpenCode", - "changelog.empty": "Nenhuma entrada de changelog encontrada.", - "changelog.viewJson": "Ver JSON", - "workspace.nav.zen": "zen", - "workspace.nav.apiKeys": "API Chaves", - "workspace.nav.members": "Membros", - "workspace.nav.billing": "Cobrança", - "workspace.nav.settings": "Configurações", - "workspace.home.banner.beforeLink": "Modelos otimizados confiáveis ​​para agentes de codificação.", - "workspace.home.billing.loading": "Carregando...", - "workspace.home.billing.enable": "Ativar faturamento", - "workspace.home.billing.currentBalance": "Saldo atual", - "workspace.newUser.feature.tested.title": "Modelos testados e verificados", - "workspace.newUser.feature.tested.body": - "Comparamos e testamos modelos especificamente para agentes de codificação para garantir o melhor desempenho.", - "workspace.newUser.feature.quality.title": "Mais alta qualidade", - "workspace.newUser.feature.quality.body": - "Modelos de acesso configurados para desempenho ideal – sem downgrades ou roteamento para provedores mais baratos.", - "workspace.newUser.feature.lockin.title": "Sem bloqueio", - "workspace.newUser.feature.lockin.body": - "Use Zen com qualquer agente de codificação e continue usando outros provedores com opencode sempre que quiser.", - "workspace.newUser.copyApiKey": "Copiar chave API", - "workspace.newUser.copyKey": "Copiar chave", - "workspace.newUser.copied": "Copiado!", - "workspace.newUser.step.enableBilling": "Ativar faturamento", - "workspace.newUser.step.login.before": "Correr", - "workspace.newUser.step.login.after": "e selecione opencode", - "workspace.newUser.step.pasteKey": "Cole sua chave API", - "workspace.newUser.step.models.before": "Inicie opencode e execute", - "workspace.newUser.step.models.after": "para selecionar um modelo", - "workspace.models.title": "Modelos", - "workspace.models.subtitle.beforeLink": "Gerencie quais modelos os membros do espaço de trabalho podem acessar.", - "workspace.models.table.model": "Modelo", - "workspace.models.table.enabled": "Habilitado", - "workspace.providers.title": "Traga sua própria chave", - "workspace.providers.subtitle": "Configure suas próprias chaves API de provedores de IA.", - "workspace.providers.placeholder": "Insira a chave {{provider}} API ({{prefix}}...)", - "workspace.providers.configure": "Configurar", - "workspace.providers.edit": "Editar", - "workspace.providers.delete": "Excluir", - "workspace.providers.saving": "Salvando...", - "workspace.providers.save": "Salvar", - "workspace.providers.table.provider": "Provedor", - "workspace.providers.table.apiKey": "Chave API", - "workspace.usage.title": "Histórico de uso", - "workspace.usage.subtitle": "Uso e custos recentes de API.", - "workspace.usage.empty": "Faça sua primeira chamada API para começar.", - "workspace.usage.table.date": "Data", - "workspace.usage.table.model": "Modelo", - "workspace.usage.table.input": "Entrada", - "workspace.usage.table.output": "Saída", - "workspace.usage.table.cost": "Custo", - "workspace.usage.breakdown.input": "Entrada", - "workspace.usage.breakdown.cacheRead": "Leitura de cache", - "workspace.usage.breakdown.cacheWrite": "Gravação em cache", - "workspace.usage.breakdown.output": "Saída", - "workspace.usage.breakdown.reasoning": "Raciocínio", - "workspace.usage.subscription": "assinatura (${{amount}})", - "workspace.cost.title": "Custo", - "workspace.cost.subtitle": "Custos de utilização discriminados por modelo.", - "workspace.cost.allModels": "Todos os modelos", - "workspace.cost.allKeys": "Todas as chaves", - "workspace.cost.deletedSuffix": "(excluído)", - "workspace.cost.empty": "Não há dados de uso disponíveis para o período selecionado.", - "workspace.cost.subscriptionShort": "sub", - "workspace.keys.title": "API Chaves", - "workspace.keys.subtitle": "Gerencie suas chaves API para acessar serviços opencode.", - "workspace.keys.create": "Criar chave API", - "workspace.keys.placeholder": "Digite o nome da chave", - "workspace.keys.empty": "Crie uma chave opencode Gateway API", - "workspace.keys.table.name": "Nome", - "workspace.keys.table.key": "Chave", - "workspace.keys.table.createdBy": "Criado por", - "workspace.keys.table.lastUsed": "Último uso", - "workspace.keys.copyApiKey": "Copiar chave API", - "workspace.keys.delete": "Excluir", - "workspace.members.title": "Membros", - "workspace.members.subtitle": "Gerencie membros do espaço de trabalho e suas permissões.", - "workspace.members.invite": "Convidar membro", - "workspace.members.inviting": "Convidativo...", - "workspace.members.beta.beforeLink": "Os espaços de trabalho são gratuitos para equipes durante a versão beta.", - "workspace.members.form.invitee": "Convidado", - "workspace.members.form.emailPlaceholder": "Digite o e-mail", - "workspace.members.form.role": "Papel", - "workspace.members.form.monthlyLimit": "Limite de gastos mensais", - "workspace.members.noLimit": "Sem limite", - "workspace.members.noLimitLowercase": "sem limite", - "workspace.members.invited": "convidado", - "workspace.members.edit": "Editar", - "workspace.members.delete": "Excluir", - "workspace.members.saving": "Salvando...", - "workspace.members.save": "Salvar", - "workspace.members.table.email": "E-mail", - "workspace.members.table.role": "Papel", - "workspace.members.table.monthLimit": "Limite de mês", - "workspace.members.role.admin": "Administrador", - "workspace.members.role.adminDescription": "Pode gerenciar modelos, membros e cobrança", - "workspace.members.role.member": "Membro", - "workspace.members.role.memberDescription": "Só podem gerar chaves API para si próprios", - "workspace.settings.title": "Configurações", - "workspace.settings.subtitle": "Atualize o nome e as preferências do seu espaço de trabalho.", - "workspace.settings.workspaceName": "Nome do espaço de trabalho", - "workspace.settings.defaultName": "Padrão", - "workspace.settings.updating": "Atualizando...", - "workspace.settings.save": "Salvar", - "workspace.settings.edit": "Editar", - "workspace.billing.title": "Cobrança", - "workspace.billing.subtitle.beforeLink": "Gerenciar métodos de pagamentos.", - "workspace.billing.contactUs": "Contate-nos", - "workspace.billing.subtitle.afterLink": "se você tiver alguma dúvida.", - "workspace.billing.currentBalance": "Saldo Atual", - "workspace.billing.add": "Adicionar $", - "workspace.billing.enterAmount": "Insira o valor", - "workspace.billing.loading": "Carregando...", - "workspace.billing.addAction": "Adicionar", - "workspace.billing.addBalance": "Adicionar saldo", - "workspace.billing.linkedToStripe": "Vinculado ao Stripe", - "workspace.billing.manage": "Gerenciar", - "workspace.billing.enable": "Ativar faturamento", - "workspace.monthlyLimit.title": "Limite Mensal", - "workspace.monthlyLimit.subtitle": "Defina um limite de uso mensal para sua conta.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "Contexto...", - "workspace.monthlyLimit.set": "Definir", - "workspace.monthlyLimit.edit": "Editar Limite", - "workspace.monthlyLimit.noLimit": "Nenhum limite de uso definido.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "Uso atual para", - "workspace.monthlyLimit.currentUsage.beforeAmount": "é $", - "workspace.reload.title": "Recarga automática", - "workspace.reload.disabled.before": "A recarga automática é", - "workspace.reload.disabled.state": "desabilitado", - "workspace.reload.disabled.after": "Ative para recarregar automaticamente quando o saldo estiver baixo.", - "workspace.reload.enabled.before": "A recarga automática é", - "workspace.reload.enabled.state": "habilitado", - "workspace.reload.enabled.middle": "Vamos recarregar", - "workspace.reload.processingFee": "taxa de processamento", - "workspace.reload.enabled.after": "quando o equilíbrio atinge", - "workspace.reload.edit": "Editar", - "workspace.reload.enable": "Habilitar", - "workspace.reload.enableAutoReload": "Ativar recarga automática", - "workspace.reload.reloadAmount": "Recarregar $", - "workspace.reload.whenBalanceReaches": "Quando o saldo atinge $", - "workspace.reload.saving": "Salvando...", - "workspace.reload.save": "Salvar", - "workspace.reload.failedAt": "Falha ao recarregar em", - "workspace.reload.reason": "Razão:", - "workspace.reload.updatePaymentMethod": "Atualize sua forma de pagamento e tente novamente.", - "workspace.reload.retrying": "Tentando novamente...", - "workspace.reload.retry": "Tentar novamente", - "workspace.payments.title": "Histórico de pagamentos", - "workspace.payments.subtitle": "Transações de pagamento recentes.", - "workspace.payments.table.date": "Data", - "workspace.payments.table.paymentId": "ID de pagamento", - "workspace.payments.table.amount": "Quantia", - "workspace.payments.table.receipt": "Recibo", - "workspace.payments.type.credit": "crédito", - "workspace.payments.type.subscription": "subscrição", - "workspace.payments.view": "Visualizar", - "workspace.black.loading": "Carregando...", - "workspace.black.time.day": "dia", - "workspace.black.time.days": "dias", - "workspace.black.time.hour": "hora", - "workspace.black.time.hours": "horas", - "workspace.black.time.minute": "minuto", - "workspace.black.time.minutes": "minutos", - "workspace.black.time.fewSeconds": "alguns segundos", - "workspace.black.subscription.title": "Subscrição", - "workspace.black.subscription.message": "Você está inscrito no OpenCode Black por ${{plan}} por mês.", - "workspace.black.subscription.manage": "Gerenciar assinatura", - "workspace.black.subscription.rollingUsage": "Uso de 5 horas", - "workspace.black.subscription.weeklyUsage": "Uso semanal", - "workspace.black.subscription.resetsIn": "Reinicia em", - "workspace.black.subscription.useBalance": "Use seu saldo disponível após atingir os limites de uso", - "workspace.black.waitlist.title": "Lista de espera", - "workspace.black.waitlist.joined": "Você está na lista de espera do plano Black de ${{plan}} por mês OpenCode.", - "workspace.black.waitlist.ready": "Estamos prontos para inscrevê-lo no plano Black de ${{plan}} por mês OpenCode.", - "workspace.black.waitlist.leave": "Sair da lista de espera", - "workspace.black.waitlist.leaving": "Saindo...", - "workspace.black.waitlist.left": "Esquerda", - "workspace.black.waitlist.enroll": "Matricular", - "workspace.black.waitlist.enrolling": "Inscrevendo-se...", - "workspace.black.waitlist.enrolled": "Inscrito", - "workspace.black.waitlist.enrollNote": - "Ao clicar em Inscrever-se, sua assinatura será iniciada imediatamente e seu cartão será cobrado.", -} satisfies Dict diff --git a/packages/console/app/src/i18n/da.ts b/packages/console/app/src/i18n/da.ts deleted file mode 100644 index 719c2b961..000000000 --- a/packages/console/app/src/i18n/da.ts +++ /dev/null @@ -1,467 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "Dokumentation", - "nav.changelog": "Changelog", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "Enterprise", - "nav.zen": "Zen", - "nav.login": "Log ind", - "nav.free": "Gratis", - "nav.home": "Hjem", - "nav.openMenu": "Aben menu", - "nav.getStartedFree": "Kom i gang gratis", - - "nav.context.copyLogo": "Kopier logo som SVG", - "nav.context.copyWordmark": "Kopier wordmark som SVG", - "nav.context.brandAssets": "Brand-assets", - - "footer.github": "GitHub", - "footer.docs": "Dokumentation", - "footer.changelog": "Changelog", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "Brand", - "legal.privacy": "Privatliv", - "legal.terms": "Vilkår", - - "email.title": "Fa besked først, nar vi lancerer nye produkter", - "email.subtitle": "Tilmeld dig ventelisten for tidlig adgang.", - "email.placeholder": "E-mailadresse", - "email.subscribe": "Tilmeld", - "email.success": "Næsten færdig - tjek din indbakke og bekræft din e-mailadresse", - - "notFound.title": "Ikke fundet | opencode", - "notFound.heading": "404 - Siden blev ikke fundet", - "notFound.home": "Hjem", - "notFound.docs": "Dokumentation", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "Log ud", - - "workspace.select": "Vælg workspace", - "workspace.createNew": "+ Opret nyt workspace", - "workspace.modal.title": "Opret nyt workspace", - "workspace.modal.placeholder": "Indtast workspace-navn", - - "common.cancel": "Annuller", - "common.creating": "Opretter...", - "common.create": "Opret", - - "common.videoUnsupported": "Din browser understotter ikke video-tagget.", - "common.figure": "Fig {{n}}.", - "common.faq": "FAQ", - "common.learnMore": "Laes mere", - - "home.title": "OpenCode | Den open source AI-kodningsagent", - - "home.banner.badge": "Ny", - "home.banner.text": "Desktop-app tilgaengelig i beta", - "home.banner.platforms": "pa macOS, Windows og Linux", - "home.banner.downloadNow": "Download nu", - "home.banner.downloadBetaNow": "Download desktop-betaen nu", - - "home.hero.title": "Den open source AI-kodningsagent", - "home.hero.subtitle.a": "Gratis modeller inkluderet, eller forbind enhver model fra enhver udbyder,", - "home.hero.subtitle.b": "inklusive Claude, GPT, Gemini og mere.", - - "home.install.ariaLabel": "Installationsmuligheder", - - "home.what.title": "Hvad er OpenCode?", - "home.what.body": - "OpenCode er en open source agent, der hjelper dig med at skrive kode i din terminal, IDE eller desktop.", - "home.what.lsp.title": "LSP aktiveret", - "home.what.lsp.body": "Indlaeser automatisk de rigtige LSP'er til LLM'en", - "home.what.multiSession.title": "Multi-session", - "home.what.multiSession.body": "Start flere agenter parallelt pa det samme projekt", - "home.what.shareLinks.title": "Del links", - "home.what.shareLinks.body": "Del et link til enhver session til reference eller debugging", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "Log ind med GitHub for at bruge din Copilot-konto", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": "Log ind med OpenAI for at bruge din ChatGPT Plus- eller Pro-konto", - "home.what.anyModel.title": "Enhver model", - "home.what.anyModel.body": "75+ LLM-udbydere via Models.dev, inklusive lokale modeller", - "home.what.anyEditor.title": "Enhver editor", - "home.what.anyEditor.body": "Tilgengelig som terminal-interface, desktop-app og IDE-udvidelse", - "home.what.readDocs": "Laes docs", - - "home.growth.title": "Den open source AI-kodningsagent", - "home.growth.body": - "Med over {{stars}} GitHub-stjerner, {{contributors}} bidragsydere og over {{commits}} commits bruges OpenCode af over {{monthlyUsers}} udviklere hver maaned.", - "home.growth.githubStars": "GitHub-stjerner", - "home.growth.contributors": "Bidragsydere", - "home.growth.monthlyDevs": "Maanedlige devs", - - "home.privacy.title": "Bygget med privatliv forst", - "home.privacy.body": - "OpenCode gemmer ikke din kode eller kontekstdata, sa den kan bruges i privatlivsfomlsomme miljoer.", - "home.privacy.learnMore": "Laes mere om", - "home.privacy.link": "privatliv", - - "home.faq.q1": "Hvad er OpenCode?", - "home.faq.a1": - "OpenCode er en open source agent, der hjelper dig med at skrive og kore kode med enhver AI-model. Den er tilgengelig som terminal-interface, desktop-app eller IDE-udvidelse.", - "home.faq.q2": "Hvordan bruger jeg OpenCode?", - "home.faq.a2.before": "Den nemmeste made at komme i gang pa er at laese", - "home.faq.a2.link": "introen", - "home.faq.q3": "Skal jeg have ekstra AI-abonnementer for at bruge OpenCode?", - "home.faq.a3.p1": - "Ikke nodvendigvis. OpenCode kommer med gratis modeller, som du kan bruge uden at oprette en konto.", - "home.faq.a3.p2.beforeZen": "Derudover kan du bruge populære kodningsmodeller ved at oprette en", - "home.faq.a3.p2.afterZen": " konto.", - "home.faq.a3.p3": - "Vi opfordrer til at bruge Zen, men OpenCode virker ogsa med populære udbydere som OpenAI, Anthropic, xAI osv.", - "home.faq.a3.p4.beforeLocal": "Du kan endda forbinde dine", - "home.faq.a3.p4.localLink": "lokale modeller", - "home.faq.q4": "Kan jeg bruge mine eksisterende AI-abonnementer med OpenCode?", - "home.faq.a4.p1": - "Ja. OpenCode understotter abonnementer fra alle store udbydere. Du kan bruge Claude Pro/Max, ChatGPT Plus/Pro eller GitHub Copilot.", - "home.faq.q5": "Kan jeg kun bruge OpenCode i terminalen?", - "home.faq.a5.beforeDesktop": "Ikke længere! OpenCode er nu tilgengelig som en app til", - "home.faq.a5.desktop": "desktop", - "home.faq.a5.and": "og", - "home.faq.a5.web": "web", - "home.faq.q6": "Hvad koster OpenCode?", - "home.faq.a6": - "OpenCode er 100% gratis at bruge. Det kommer ogsa med et saet gratis modeller. Der kan vare ekstra omkostninger, hvis du forbinder en anden udbyder.", - "home.faq.q7": "Hvad med data og privatliv?", - "home.faq.a7.p1": "Dine data gemmes kun, nar du bruger vores gratis modeller eller opretter delbare links.", - "home.faq.a7.p2.beforeModels": "Laes mere om", - "home.faq.a7.p2.modelsLink": "vores modeller", - "home.faq.a7.p2.and": "og", - "home.faq.a7.p2.shareLink": "delingssider", - "home.faq.q8": "Er OpenCode open source?", - "home.faq.a8.p1": "Ja, OpenCode er fuldt open source. Kildekoden er offentlig pa", - "home.faq.a8.p2": "under", - "home.faq.a8.mitLicense": "MIT-licensen", - "home.faq.a8.p3": - ", hvilket betyder at alle kan bruge, ændre eller bidrage til udviklingen. Alle i communityet kan oprette issues, indsende pull requests og udvide funktionalitet.", - - "home.zenCta.title": "Fa adgang til palidelige, optimerede modeller til kodningsagenter", - "home.zenCta.body": - "Zen giver dig adgang til et handplukket sæt AI-modeller, som OpenCode har testet og benchmarked specifikt til kodningsagenter. Du behøver ikke bekymre dig om svingende performance og kvalitet pa tværs af udbydere: brug validerede modeller, der virker.", - "home.zenCta.link": "Laes om Zen", - - "download.title": "OpenCode | Download", - - "zen.title": "OpenCode Zen | Et kurateret saet af palidelige, optimerede modeller til kodningsagenter", - "zen.hero.title": "Fa adgang til palidelige, optimerede modeller til kodningsagenter", - "zen.hero.body": - "Zen giver dig adgang til et handplukket sæt AI-modeller, som OpenCode har testet og benchmarked specifikt til kodningsagenter. Du behøver ikke bekymre dig om svingende performance og kvalitet pa tværs af udbydere: brug validerede modeller, der virker.", - - "zen.faq.q1": "Hvad er OpenCode Zen?", - "zen.faq.a1": - "Zen er et kurateret saet AI-modeller testet og benchmarked til kodningsagenter, skabt af teamet bag OpenCode.", - "zen.faq.q2": "Hvad gor Zen mere praecis?", - "zen.faq.a2": - "Zen tilbyder kun modeller, der er testet og benchmarked specifikt til kodningsagenter. Du ville ikke bruge en smorkniv til at skare steak; brug ikke darlige modeller til kodning.", - "zen.faq.q3": "Er Zen billigere?", - "zen.faq.a3": - "Zen er ikke for profit. Zen viderefakturerer omkostningerne fra modeludbyderne til dig. Jo mere Zen bruges, desto mere kan OpenCode forhandle bedre priser og give dem videre til dig.", - "zen.faq.q4": "Hvad koster Zen?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "opkraever per request", - "zen.faq.a4.p1.afterPricing": "uden markups, sa du betaler praecis det, som modeludbyderen opkraever.", - "zen.faq.a4.p2.beforeAccount": "Din samlede pris afhanger af brug, og du kan saette manedlige udgiftsgraenser i din", - "zen.faq.a4.p2.accountLink": "konto", - "zen.faq.a4.p3": - "For at daekke omkostninger tilfojer OpenCode kun et lille betalingsgebyr pa $1.23 per $20 saldo-opfyldning.", - "zen.faq.q5": "Hvad med data og privatliv?", - "zen.faq.a5.beforeExceptions": - "Alle Zen-modeller hostes i USA. Udbydere folger en zero-retention-policy og bruger ikke dine data til modeltraening, med de", - "zen.faq.a5.exceptionsLink": "foelgende undtagelser", - "zen.faq.q6": "Kan jeg saette udgiftsgraenser?", - "zen.faq.a6": "Ja, du kan saette manedlige udgiftsgraenser i din konto.", - "zen.faq.q7": "Kan jeg afmelde?", - "zen.faq.a7": "Ja, du kan deaktivere betaling nar som helst og bruge din resterende saldo.", - "zen.faq.q8": "Kan jeg bruge Zen med andre kodningsagenter?", - "zen.faq.a8": - "Selvom Zen fungerer godt med OpenCode, kan du bruge Zen med enhver agent. Folg opsaetningsinstruktionerne i din foretrukne kodningsagent.", - "zen.cta.start": "Kom godt i gang med Zen", - "zen.pricing.title": "Tilføj $20 Pay as you go-saldo", - "zen.pricing.fee": "(+$1,23 kortbehandlingsgebyr)", - "zen.pricing.body": "Brug med ethvert middel. Indstil månedlige forbrugsgrænser. Annuller til enhver tid.", - "zen.problem.title": "Hvilket problem løser Zen?", - "zen.problem.body": - "Der er så mange modeller tilgængelige, men kun få fungerer godt med kodningsmidler. De fleste udbydere konfigurerer dem anderledes med forskellige resultater.", - "zen.problem.subtitle": "Vi løser dette for alle, ikke kun OpenCode-brugere.", - "zen.problem.item1": "Test af udvalgte modeller og høring af deres teams", - "zen.problem.item2": "Samarbejde med udbydere for at sikre, at de bliver leveret korrekt", - "zen.problem.item3": "Benchmarking af alle model-udbyder kombinationer, vi anbefaler", - "zen.how.title": "Hvordan Zen virker", - "zen.how.body": "Selvom vi foreslår, at du bruger Zen med OpenCode, kan du bruge Zen med enhver agent.", - "zen.how.step1.title": "Tilmeld dig og tilføj saldo på $20", - "zen.how.step1.beforeLink": "følg", - "zen.how.step1.link": "opsætningsinstruktioner", - "zen.how.step2.title": "Brug Zen med gennemsigtige priser", - "zen.how.step2.link": "betale pr anmodning", - "zen.how.step2.afterLink": "med nul markeringer", - "zen.how.step3.title": "Auto-top op", - "zen.how.step3.body": "når din saldo når $5, tilføjer vi automatisk $20", - "zen.privacy.title": "Dit privatliv er vigtigt for os", - "zen.privacy.beforeExceptions": - "Alle Zen-modeller er hostet i USA. Udbydere følger en nulopbevaringspolitik og bruger ikke dine data til modeltræning med", - "zen.privacy.exceptionsLink": "følgende undtagelser", - "download.meta.description": "Download OpenCode til macOS, Windows og Linux", - "download.hero.title": "Download OpenCode", - "download.hero.subtitle": "Tilgengelig i beta til macOS, Windows og Linux", - "download.hero.button": "Download til {{os}}", - "download.section.terminal": "OpenCode Terminal", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "OpenCode Extensions", - "download.section.integrations": "OpenCode Integrations", - "download.action.download": "Download", - "download.action.install": "Installer", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - - "download.faq.a3.beforeLocal": - "Ikke nodvendigvis, men sandsynligvis. Du skal bruge et AI-abonnement hvis du vil forbinde OpenCode til en betalt udbyder, men du kan arbejde med", - "download.faq.a3.localLink": "lokale modeller", - "download.faq.a3.afterLocal.beforeZen": "gratis. Selvom vi opfordrer brugere til at bruge", - "download.faq.a3.afterZen": ", fungerer OpenCode med alle populære udbydere som OpenAI, Anthropic, xAI osv.", - - "download.faq.a5.p1": "OpenCode er 100% gratis at bruge.", - "download.faq.a5.p2.beforeZen": - "Eventuelle ekstra omkostninger kommer fra dit abonnement hos en modeludbyder. Selvom OpenCode fungerer med enhver modeludbyder, anbefaler vi at bruge", - "download.faq.a5.p2.afterZen": ".", - - "download.faq.a6.p1": "Dine data og oplysninger gemmes kun når du opretter delbare links i OpenCode.", - "download.faq.a6.p2.beforeShare": "Laes mere om", - "download.faq.a6.shareLink": "delingssider", - - "enterprise.title": "OpenCode | Enterprise-løsninger til din organisation", - "enterprise.meta.description": "Kontakt OpenCode for enterprise-løsninger", - "enterprise.hero.title": "Din kode er din egen", - "enterprise.hero.body1": - "OpenCode fungerer sikkert inde i din organisation uden at lagre data eller kontekst og uden licensbegrænsninger eller ejerskabskrav. Start en prøveperiode med dit team, og udrul det derefter i hele din organisation ved at integrere det med dit SSO og din interne AI-gateway.", - "enterprise.hero.body2": "Fortæl os, hvordan vi kan hjælpe.", - "enterprise.form.name.label": "Fulde navn", - "enterprise.form.name.placeholder": "Jeff Bezos", - "enterprise.form.role.label": "Rolle", - "enterprise.form.role.placeholder": "Bestyrelsesformand", - "enterprise.form.email.label": "Firma-e-mail", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "Hvilket problem prøver du at løse?", - "enterprise.form.message.placeholder": "Vi har brug for hjælp med...", - "enterprise.form.send": "Send", - "enterprise.form.sending": "Sender...", - "enterprise.form.success": "Besked sendt, vi vender tilbage snart.", - "enterprise.faq.title": "FAQ", - "enterprise.faq.q1": "Hvad er OpenCode Enterprise?", - "enterprise.faq.a1": - "OpenCode Enterprise er til organisationer, der vil sikre, at deres kode og data aldrig forlader deres infrastruktur. Det kan gøres med en central konfiguration, der integrerer med dit SSO og din interne AI-gateway.", - "enterprise.faq.q2": "Hvordan kommer jeg i gang med OpenCode Enterprise?", - "enterprise.faq.a2": - "Start blot med en intern prøveperiode med dit team. OpenCode gemmer som standard ikke din kode eller kontekstdata, hvilket gør det nemt at komme i gang. Kontakt os derefter for at tale om priser og implementeringsmuligheder.", - "enterprise.faq.q3": "Hvordan fungerer enterprise-priser?", - "enterprise.faq.a3": - "Vi tilbyder enterprise-priser pr. bruger. Hvis du har din egen LLM-gateway, opkræver vi ikke for brugte tokens. Kontakt os for flere detaljer og et tilbud tilpasset din organisations behov.", - "enterprise.faq.q4": "Er mine data sikre med OpenCode Enterprise?", - "enterprise.faq.a4": - "Ja. OpenCode gemmer ikke din kode eller kontekstdata. Al behandling sker lokalt eller via direkte API-kald til din AI-udbyder. Med central konfiguration og SSO-integration forbliver dine data sikre inden for din organisations infrastruktur.", - - "brand.title": "OpenCode | Brand", - "brand.meta.description": "OpenCode brandretningslinjer", - "brand.heading": "Brandretningslinjer", - "brand.subtitle": "Ressourcer og assets, der hjelper dig med at arbejde med OpenCode-brandet.", - "brand.downloadAll": "Download alle assets", - "changelog.title": "OpenCode | Changelog", - "changelog.meta.description": "OpenCode versionsnoter og changelog", - "changelog.hero.title": "Changelog", - "changelog.hero.subtitle": "Nye opdateringer og forbedringer til OpenCode", - "changelog.empty": "Ingen changelog-indlaeg fundet.", - "changelog.viewJson": "Se JSON", - "workspace.nav.zen": "Zen", - "workspace.nav.apiKeys": "API nøgler", - "workspace.nav.members": "Medlemmer", - "workspace.nav.billing": "Fakturering", - "workspace.nav.settings": "Indstillinger", - "workspace.home.banner.beforeLink": "Pålidelige optimerede modeller til kodningsagenter.", - "workspace.home.billing.loading": "Indlæser...", - "workspace.home.billing.enable": "Aktiver fakturering", - "workspace.home.billing.currentBalance": "Nuværende saldo", - "workspace.newUser.feature.tested.title": "Testede og verificerede modeller", - "workspace.newUser.feature.tested.body": - "Vi har benchmarket og testet modeller specifikt til kodningsagenter for at sikre den bedste ydeevne.", - "workspace.newUser.feature.quality.title": "Højeste kvalitet", - "workspace.newUser.feature.quality.body": - "Få adgang til modeller konfigureret til optimal ydeevne - ingen nedgraderinger eller routing til billigere udbydere.", - "workspace.newUser.feature.lockin.title": "Ingen indlåsning", - "workspace.newUser.feature.lockin.body": - "Brug Zen med en hvilken som helst kodningsagent, og fortsæt med at bruge andre udbydere med opencode, når du vil.", - "workspace.newUser.copyApiKey": "Kopiér API-nøgle", - "workspace.newUser.copyKey": "Kopier nøgle", - "workspace.newUser.copied": "Kopieret!", - "workspace.newUser.step.enableBilling": "Aktiver fakturering", - "workspace.newUser.step.login.before": "Kør", - "workspace.newUser.step.login.after": "og vælg opencode", - "workspace.newUser.step.pasteKey": "Indsæt din API nøgle", - "workspace.newUser.step.models.before": "Start opencode og kør", - "workspace.newUser.step.models.after": "for at vælge en model", - "workspace.models.title": "Modeller", - "workspace.models.subtitle.beforeLink": "Administrer, hvilke modeller arbejdsområdemedlemmer kan få adgang til.", - "workspace.models.table.model": "Model", - "workspace.models.table.enabled": "Aktiveret", - "workspace.providers.title": "Medbring din egen nøgle", - "workspace.providers.subtitle": "Konfigurer dine egne API nøgler fra AI-udbydere.", - "workspace.providers.placeholder": "Indtast {{provider}} API-nøgle ({{prefix}}...)", - "workspace.providers.configure": "Konfigurer", - "workspace.providers.edit": "Rediger", - "workspace.providers.delete": "Slet", - "workspace.providers.saving": "Gemmer...", - "workspace.providers.save": "Gem", - "workspace.providers.table.provider": "Udbyder", - "workspace.providers.table.apiKey": "API Nøgle", - "workspace.usage.title": "Brugshistorik", - "workspace.usage.subtitle": "Seneste API brug og omkostninger.", - "workspace.usage.empty": "Foretag dit første API-opkald for at komme i gang.", - "workspace.usage.table.date": "Dato", - "workspace.usage.table.model": "Model", - "workspace.usage.table.input": "Input", - "workspace.usage.table.output": "Output", - "workspace.usage.table.cost": "Omkostning", - "workspace.usage.breakdown.input": "Input", - "workspace.usage.breakdown.cacheRead": "Cache læst", - "workspace.usage.breakdown.cacheWrite": "Cache skriv", - "workspace.usage.breakdown.output": "Output", - "workspace.usage.breakdown.reasoning": "Ræsonnement", - "workspace.usage.subscription": "abonnement (${{amount}})", - "workspace.cost.title": "Omkostninger", - "workspace.cost.subtitle": "Brugsomkostninger opdelt efter model.", - "workspace.cost.allModels": "Alle modeller", - "workspace.cost.allKeys": "Alle nøgler", - "workspace.cost.deletedSuffix": "(slettet)", - "workspace.cost.empty": "Ingen brugsdata tilgængelige for den valgte periode.", - "workspace.cost.subscriptionShort": "sub", - "workspace.keys.title": "API nøgler", - "workspace.keys.subtitle": "Administrer dine API nøgler for at få adgang til opencode tjenester.", - "workspace.keys.create": "Opret API nøgle", - "workspace.keys.placeholder": "Indtast nøglenavn", - "workspace.keys.empty": "Opret en opencode Gateway API nøgle", - "workspace.keys.table.name": "Navn", - "workspace.keys.table.key": "Nøgle", - "workspace.keys.table.createdBy": "Skabt af", - "workspace.keys.table.lastUsed": "Sidst brugt", - "workspace.keys.copyApiKey": "Kopiér API-nøgle", - "workspace.keys.delete": "Slet", - "workspace.members.title": "Medlemmer", - "workspace.members.subtitle": "Administrer arbejdsområdemedlemmer og deres tilladelser.", - "workspace.members.invite": "Inviter medlem", - "workspace.members.inviting": "Inviterer...", - "workspace.members.beta.beforeLink": "Arbejdsområder er gratis for teams under betaversionen.", - "workspace.members.form.invitee": "Inviteret", - "workspace.members.form.emailPlaceholder": "Indtast e-mail", - "workspace.members.form.role": "Rolle", - "workspace.members.form.monthlyLimit": "Månedlig forbrugsgrænse", - "workspace.members.noLimit": "Ingen grænse", - "workspace.members.noLimitLowercase": "ingen grænse", - "workspace.members.invited": "inviteret", - "workspace.members.edit": "Rediger", - "workspace.members.delete": "Slet", - "workspace.members.saving": "Gemmer...", - "workspace.members.save": "Gem", - "workspace.members.table.email": "E-mail", - "workspace.members.table.role": "Rolle", - "workspace.members.table.monthLimit": "Månedsgrænse", - "workspace.members.role.admin": "Admin", - "workspace.members.role.adminDescription": "Kan administrere modeller, medlemmer og fakturering", - "workspace.members.role.member": "Medlem", - "workspace.members.role.memberDescription": "Kan kun generere API nøgler til sig selv", - "workspace.settings.title": "Indstillinger", - "workspace.settings.subtitle": "Opdater dit arbejdsområdes navn og præferencer.", - "workspace.settings.workspaceName": "Arbejdsområdets navn", - "workspace.settings.defaultName": "Standard", - "workspace.settings.updating": "Opdaterer...", - "workspace.settings.save": "Gem", - "workspace.settings.edit": "Rediger", - "workspace.billing.title": "Fakturering", - "workspace.billing.subtitle.beforeLink": "Administrer betalingsmetoder.", - "workspace.billing.contactUs": "Kontakt os", - "workspace.billing.subtitle.afterLink": "hvis du har spørgsmål.", - "workspace.billing.currentBalance": "Nuværende saldo", - "workspace.billing.add": "Tilføj $", - "workspace.billing.enterAmount": "Indtast beløb", - "workspace.billing.loading": "Indlæser...", - "workspace.billing.addAction": "Tilføj", - "workspace.billing.addBalance": "Tilføj balance", - "workspace.billing.linkedToStripe": "Forbundet til Stripe", - "workspace.billing.manage": "Administrer", - "workspace.billing.enable": "Aktiver fakturering", - "workspace.monthlyLimit.title": "Månedlig grænse", - "workspace.monthlyLimit.subtitle": "Indstil en månedlig forbrugsgrænse for din konto.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "Indstiller...", - "workspace.monthlyLimit.set": "Sæt", - "workspace.monthlyLimit.edit": "Rediger grænse", - "workspace.monthlyLimit.noLimit": "Ingen forbrugsgrænse angivet.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "Nuværende brug for", - "workspace.monthlyLimit.currentUsage.beforeAmount": "er $", - "workspace.reload.title": "Automatisk genopfyldning", - "workspace.reload.disabled.before": "Automatisk genopfyldning er", - "workspace.reload.disabled.state": "deaktiveret", - "workspace.reload.disabled.after": "Aktiver for automatisk at genopfylde, når saldoen er lav.", - "workspace.reload.enabled.before": "Automatisk genopfyldning er", - "workspace.reload.enabled.state": "aktiveret", - "workspace.reload.enabled.middle": "Vi genopfylder", - "workspace.reload.processingFee": "ekspeditionsgebyr", - "workspace.reload.enabled.after": "når balancen er nået", - "workspace.reload.edit": "Rediger", - "workspace.reload.enable": "Aktiver", - "workspace.reload.enableAutoReload": "Aktiver automatisk genopfyldning", - "workspace.reload.reloadAmount": "Genopfyld $", - "workspace.reload.whenBalanceReaches": "Når saldoen når $", - "workspace.reload.saving": "Gemmer...", - "workspace.reload.save": "Gem", - "workspace.reload.failedAt": "Genopfyldning mislykkedes kl", - "workspace.reload.reason": "Årsag:", - "workspace.reload.updatePaymentMethod": "Opdater din betalingsmetode, og prøv igen.", - "workspace.reload.retrying": "Prøver igen...", - "workspace.reload.retry": "Prøv igen", - "workspace.payments.title": "Betalingshistorik", - "workspace.payments.subtitle": "Seneste betalingstransaktioner.", - "workspace.payments.table.date": "Dato", - "workspace.payments.table.paymentId": "Betalings-id", - "workspace.payments.table.amount": "Beløb", - "workspace.payments.table.receipt": "Kvittering", - "workspace.payments.type.credit": "kredit", - "workspace.payments.type.subscription": "abonnement", - "workspace.payments.view": "Vis", - "workspace.black.loading": "Indlæser...", - "workspace.black.time.day": "dag", - "workspace.black.time.days": "dage", - "workspace.black.time.hour": "time", - "workspace.black.time.hours": "timer", - "workspace.black.time.minute": "minut", - "workspace.black.time.minutes": "minutter", - "workspace.black.time.fewSeconds": "et par sekunder", - "workspace.black.subscription.title": "Abonnement", - "workspace.black.subscription.message": "Du abonnerer på OpenCode Black for ${{plan}} om måneden.", - "workspace.black.subscription.manage": "Administrer abonnement", - "workspace.black.subscription.rollingUsage": "5-timers brug", - "workspace.black.subscription.weeklyUsage": "Ugentlig brug", - "workspace.black.subscription.resetsIn": "Nulstiller i", - "workspace.black.subscription.useBalance": "Brug din tilgængelige saldo, når du har nået forbrugsgrænserne", - "workspace.black.waitlist.title": "Venteliste", - "workspace.black.waitlist.joined": "Du er på ventelisten for ${{plan}} per måned OpenCode Black plan.", - "workspace.black.waitlist.ready": "Vi er klar til at tilmelde dig ${{plan}} per måned OpenCode Black plan.", - "workspace.black.waitlist.leave": "Forlad venteliste", - "workspace.black.waitlist.leaving": "Forlader...", - "workspace.black.waitlist.left": "Forladt", - "workspace.black.waitlist.enroll": "Tilmeld", - "workspace.black.waitlist.enrolling": "Tilmelder...", - "workspace.black.waitlist.enrolled": "Tilmeldt", - "workspace.black.waitlist.enrollNote": - "Når du klikker på Tilmeld, starter dit abonnement med det samme, og dit kort vil blive debiteret.", -} satisfies Dict diff --git a/packages/console/app/src/i18n/de.ts b/packages/console/app/src/i18n/de.ts deleted file mode 100644 index ea20893a6..000000000 --- a/packages/console/app/src/i18n/de.ts +++ /dev/null @@ -1,477 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "Dokumentation", - "nav.changelog": "Changelog", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "Enterprise", - "nav.zen": "Zen", - "nav.login": "Anmelden", - "nav.free": "Kostenlos", - "nav.home": "Startseite", - "nav.openMenu": "Menu offnen", - "nav.getStartedFree": "Kostenlos starten", - - "nav.context.copyLogo": "Logo als SVG kopieren", - "nav.context.copyWordmark": "Wordmarke als SVG kopieren", - "nav.context.brandAssets": "Brand-Assets", - - "footer.github": "GitHub", - "footer.docs": "Dokumentation", - "footer.changelog": "Changelog", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "Brand", - "legal.privacy": "Datenschutz", - "legal.terms": "Bedingungen", - - "email.title": "Erfahre als Erste*r, wenn wir neue Produkte veroffentlichen", - "email.subtitle": "Trage dich fur fruhzeitigen Zugriff in die Warteliste ein.", - "email.placeholder": "E-Mail-Adresse", - "email.subscribe": "Abonnieren", - "email.success": "Fast fertig - prufe deinen Posteingang und bestatige deine E-Mail-Adresse", - - "notFound.title": "Nicht gefunden | opencode", - "notFound.heading": "404 - Seite nicht gefunden", - "notFound.home": "Startseite", - "notFound.docs": "Dokumentation", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "Abmelden", - - "workspace.select": "Workspace auswahlen", - "workspace.createNew": "+ Neuen Workspace erstellen", - "workspace.modal.title": "Neuen Workspace erstellen", - "workspace.modal.placeholder": "Workspace-Namen eingeben", - - "common.cancel": "Abbrechen", - "common.creating": "Wird erstellt...", - "common.create": "Erstellen", - - "common.videoUnsupported": "Dein Browser unterstuetzt das Video-Tag nicht.", - "common.figure": "Abb. {{n}}.", - "common.faq": "FAQ", - "common.learnMore": "Mehr erfahren", - - "home.title": "OpenCode | Der Open-Source AI-Coding-Agent", - - "home.banner.badge": "Neu", - "home.banner.text": "Desktop-App als Beta verfugbar", - "home.banner.platforms": "fur macOS, Windows und Linux", - "home.banner.downloadNow": "Jetzt herunterladen", - "home.banner.downloadBetaNow": "Desktop-Beta jetzt herunterladen", - - "home.hero.title": "Der Open-Source AI-Coding-Agent", - "home.hero.subtitle.a": "Kostenlose Modelle inklusive oder verbinde jedes Modell von jedem Anbieter,", - "home.hero.subtitle.b": "einschliesslich Claude, GPT, Gemini und mehr.", - - "home.install.ariaLabel": "Installationsoptionen", - - "home.what.title": "Was ist OpenCode?", - "home.what.body": - "OpenCode ist ein Open-Source Agent, der dir hilft, Code im Terminal, in der IDE oder auf dem Desktop zu schreiben.", - "home.what.lsp.title": "LSP aktiviert", - "home.what.lsp.body": "Laedt automatisch die passenden LSPs fur das LLM", - "home.what.multiSession.title": "Mehrere Sessions", - "home.what.multiSession.body": "Starte mehrere Agents parallel im selben Projekt", - "home.what.shareLinks.title": "Links teilen", - "home.what.shareLinks.body": "Teile einen Link zu jeder Session zum Nachschlagen oder Debuggen", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "Mit GitHub anmelden, um deinen Copilot-Account zu nutzen", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": "Mit OpenAI anmelden, um dein ChatGPT Plus- oder Pro-Konto zu nutzen", - "home.what.anyModel.title": "Jedes Modell", - "home.what.anyModel.body": "75+ LLM-Anbieter uber Models.dev, inklusive lokaler Modelle", - "home.what.anyEditor.title": "Jeder Editor", - "home.what.anyEditor.body": "Verfugbar als Terminal-UI, Desktop-App und IDE-Extension", - "home.what.readDocs": "Docs lesen", - - "home.growth.title": "Der Open-Source AI-Coding-Agent", - "home.growth.body": - "Mit uber {{stars}} GitHub-Stars, {{contributors}} Contributors und uber {{commits}} Commits wird OpenCode von uber {{monthlyUsers}} Entwickler*innen pro Monat genutzt und geschatzt.", - "home.growth.githubStars": "GitHub-Stars", - "home.growth.contributors": "Contributors", - "home.growth.monthlyDevs": "Monatliche Devs", - - "home.privacy.title": "Privacy-first gebaut", - "home.privacy.body": - "OpenCode speichert weder deinen Code noch Kontextdaten, damit es auch in datenschutzsensiblen Umgebungen eingesetzt werden kann.", - "home.privacy.learnMore": "Mehr erfahren uber", - "home.privacy.link": "Datenschutz", - - "home.faq.q1": "Was ist OpenCode?", - "home.faq.a1": - "OpenCode ist ein Open-Source Agent, der dir hilft, Code mit jedem AI-Modell zu schreiben und auszufuhren. Es ist als Terminal-Interface, Desktop-App oder IDE-Extension verfugbar.", - "home.faq.q2": "Wie nutze ich OpenCode?", - "home.faq.a2.before": "Der einfachste Einstieg ist, die", - "home.faq.a2.link": "Einfuhrung", - "home.faq.q3": "Brauche ich zusatzliche AI-Abos, um OpenCode zu nutzen?", - "home.faq.a3.p1": "Nicht unbedingt: OpenCode bringt kostenlose Modelle mit, die du ohne Account nutzen kannst.", - "home.faq.a3.p2.beforeZen": "Daruber hinaus kannst du beliebte Coding-Modelle nutzen, indem du einen", - "home.faq.a3.p2.afterZen": " Account erstellst.", - "home.faq.a3.p3": - "Wir empfehlen Zen, aber OpenCode funktioniert auch mit allen gängigen Anbietern wie OpenAI, Anthropic, xAI usw.", - "home.faq.a3.p4.beforeLocal": "Du kannst sogar deine", - "home.faq.a3.p4.localLink": "lokalen Modelle", - "home.faq.q4": "Kann ich meine bestehenden AI-Abos mit OpenCode nutzen?", - "home.faq.a4.p1": - "Ja, OpenCode unterstutzt Abos von allen grossen Anbietern. Du kannst Claude Pro/Max, ChatGPT Plus/Pro oder GitHub Copilot verwenden.", - "home.faq.q5": "Kann ich OpenCode nur im Terminal nutzen?", - "home.faq.a5.beforeDesktop": "Nicht mehr! OpenCode gibt es jetzt auch als App fur", - "home.faq.a5.desktop": "Desktop", - "home.faq.a5.and": "und", - "home.faq.a5.web": "Web", - "home.faq.q6": "Wie viel kostet OpenCode?", - "home.faq.a6": - "OpenCode ist zu 100% kostenlos. Es bringt ausserdem kostenlose Modelle mit. Zusatzliche Kosten konnen entstehen, wenn du einen anderen Anbieter verbindest.", - "home.faq.q7": "Wie sieht es mit Daten und Datenschutz aus?", - "home.faq.a7.p1": - "Deine Daten werden nur gespeichert, wenn du unsere kostenlosen Modelle nutzt oder teilbare Links erstellst.", - "home.faq.a7.p2.beforeModels": "Mehr erfahren uber", - "home.faq.a7.p2.modelsLink": "unsere Modelle", - "home.faq.a7.p2.and": "und", - "home.faq.a7.p2.shareLink": "Share-Seiten", - "home.faq.q8": "Ist OpenCode Open Source?", - "home.faq.a8.p1": "Ja, OpenCode ist vollstandig Open Source. Der Quellcode ist offentlich auf", - "home.faq.a8.p2": "unter der", - "home.faq.a8.mitLicense": "MIT-Lizenz", - "home.faq.a8.p3": - ", d.h. jede*r kann ihn nutzen, andern oder zur Entwicklung beitragen. Aus der Community kann jede*r Issues erstellen, Pull Requests einreichen und Funktionen erweitern.", - - "home.zenCta.title": "Zuverlassige, optimierte Modelle fur Coding-Agents", - "home.zenCta.body": - "Zen gibt dir Zugriff auf eine handverlesene Auswahl an AI-Modellen, die OpenCode speziell fur Coding-Agents getestet und benchmarked hat. Keine Sorge uber schwankende Leistung und Qualitat zwischen Anbietern: nutze validierte Modelle, die funktionieren.", - "home.zenCta.link": "Mehr uber Zen", - - "download.title": "OpenCode | Download", - - "zen.title": "OpenCode Zen | Eine kuratierte Auswahl an zuverlassigen, optimierten Modellen fur Coding-Agents", - "zen.hero.title": "Zuverlassige, optimierte Modelle fur Coding-Agents", - "zen.hero.body": - "Zen gibt dir Zugriff auf eine handverlesene Auswahl an AI-Modellen, die OpenCode speziell fur Coding-Agents getestet und benchmarked hat. Keine Sorge uber schwankende Leistung und Qualitat zwischen Anbietern: nutze validierte Modelle, die funktionieren.", - - "zen.faq.q1": "Was ist OpenCode Zen?", - "zen.faq.a1": - "Zen ist eine kuratierte Auswahl an AI-Modellen, die vom Team hinter OpenCode fur Coding-Agents getestet und benchmarked wurden.", - "zen.faq.q2": "Was macht Zen genauer?", - "zen.faq.a2": - "Zen bietet nur Modelle an, die speziell fur Coding-Agents getestet und benchmarked wurden. Du wurdest kein Buttermesser benutzen, um Steak zu schneiden - nutze keine schlechten Modelle zum Coden.", - "zen.faq.q3": "Ist Zen gunstiger?", - "zen.faq.a3": - "Zen ist nicht gewinnorientiert. Zen gibt die Kosten der Modellanbieter direkt an dich weiter. Je hoher die Nutzung von Zen, desto mehr kann OpenCode bessere Preise verhandeln und an dich weitergeben.", - "zen.faq.q4": "Was kostet Zen?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "berechnet pro Request", - "zen.faq.a4.p1.afterPricing": "ohne Aufschlage, du zahlst also genau das, was der Modellanbieter berechnet.", - "zen.faq.a4.p2.beforeAccount": - "Deine Gesamtkosten hangen von der Nutzung ab, und du kannst monatliche Ausgabenlimits in deinem", - "zen.faq.a4.p2.accountLink": "Account", - "zen.faq.a4.p3": - "Um Kosten zu decken, erhebt OpenCode nur eine kleine Zahlungsabwicklungsgebuhr von $1.23 pro $20 Guthaben-Aufladung.", - "zen.faq.q5": "Wie sieht es mit Daten und Datenschutz aus?", - "zen.faq.a5.beforeExceptions": - "Alle Zen-Modelle werden in den USA gehostet. Anbieter folgen einer Zero-Retention-Policy und verwenden deine Daten nicht fur Modelltraining, mit den", - "zen.faq.a5.exceptionsLink": "folgenden Ausnahmen", - "zen.faq.q6": "Kann ich Ausgabenlimits festlegen?", - "zen.faq.a6": "Ja, du kannst monatliche Ausgabenlimits in deinem Account festlegen.", - "zen.faq.q7": "Kann ich kundigen?", - "zen.faq.a7": "Ja, du kannst die Abrechnung jederzeit deaktivieren und dein verbleibendes Guthaben nutzen.", - "zen.faq.q8": "Kann ich Zen mit anderen Coding-Agents nutzen?", - "zen.faq.a8": - "Zen funktioniert grossartig mit OpenCode, aber du kannst Zen mit jedem Agent verwenden. Folge den Setup-Anweisungen in deinem bevorzugten Coding-Agent.", - "zen.cta.start": "Beginnen Sie mit Zen", - "zen.pricing.title": "Fügen Sie 20 $ Pay-as-you-go-Guthaben hinzu", - "zen.pricing.fee": "(+1,23 $ Kartenbearbeitungsgebühr)", - "zen.pricing.body": - "Zur Verwendung mit jedem beliebigen Agenten. Legen Sie monatliche Ausgabenlimits fest. Jederzeit kündbar.", - "zen.problem.title": "Welches Problem löst Zen?", - "zen.problem.body": - "Es gibt so viele Modelle, aber nur wenige funktionieren gut mit Codierungsagenten. Die meisten Anbieter konfigurieren sie unterschiedlich und führen zu unterschiedlichen Ergebnissen.", - "zen.problem.subtitle": "Wir beheben dieses Problem für alle, nicht nur für OpenCode-Benutzer.", - "zen.problem.item1": "Testen ausgewählter Modelle und Beratung ihrer Teams", - "zen.problem.item2": - "Arbeiten Sie mit Anbietern zusammen, um sicherzustellen, dass sie ordnungsgemäß geliefert werden", - "zen.problem.item3": "Benchmarking aller von uns empfohlenen Modell-Anbieter-Kombinationen", - "zen.how.title": "So funktioniert Zen", - "zen.how.body": - "Während wir Ihnen empfehlen, Zen mit OpenCode zu verwenden, können Sie Zen mit jedem Agenten verwenden.", - "zen.how.step1.title": "Melden Sie sich an und fügen Sie ein Guthaben von 20 $ hinzu", - "zen.how.step1.beforeLink": "Folgen Sie dem", - "zen.how.step1.link": "Installationsanweisungen", - "zen.how.step2.title": "Nutzen Sie Zen mit transparenter Preisgestaltung", - "zen.how.step2.link": "Bezahlung pro Anfrage", - "zen.how.step2.afterLink": "ohne Aufschläge", - "zen.how.step3.title": "Automatisches Aufladen", - "zen.how.step3.body": "Wenn Ihr Guthaben 5 $ erreicht, fügen wir automatisch 20 $ hinzu", - "zen.privacy.title": "Ihre Privatsphäre ist uns wichtig", - "zen.privacy.beforeExceptions": - "Alle Zen-Modelle werden in den USA gehostet. Anbieter folgen einer Null-Aufbewahrungsrichtlinie und verwenden Ihre Daten nicht für Modellschulungen", - "zen.privacy.exceptionsLink": "folgende Ausnahmen", - "download.meta.description": "Lade OpenCode fur macOS, Windows und Linux herunter", - "download.hero.title": "OpenCode herunterladen", - "download.hero.subtitle": "Als Beta verfugbar fur macOS, Windows und Linux", - "download.hero.button": "Download fur {{os}}", - "download.section.terminal": "OpenCode Terminal", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "OpenCode Extensions", - "download.section.integrations": "OpenCode Integrations", - "download.action.download": "Download", - "download.action.install": "Installieren", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - - "download.faq.a3.beforeLocal": - "Nicht unbedingt, aber wahrscheinlich. Du brauchst ein AI-Abo, wenn du OpenCode mit einem kostenpflichtigen Anbieter verbinden willst, obwohl du mit", - "download.faq.a3.localLink": "lokalen Modellen", - "download.faq.a3.afterLocal.beforeZen": "kostenlos arbeiten kannst. Obwohl wir Nutzer ermutigen,", - "download.faq.a3.afterZen": - " zu verwenden, funktioniert OpenCode mit allen popularen Anbietern wie OpenAI, Anthropic, xAI usw.", - - "download.faq.a5.p1": "OpenCode ist zu 100% kostenlos.", - "download.faq.a5.p2.beforeZen": - "Zusatzliche Kosten entstehen durch dein Abo bei einem Modellanbieter. OpenCode funktioniert mit jedem Modellanbieter, aber wir empfehlen", - "download.faq.a5.p2.afterZen": " zu nutzen.", - - "download.faq.a6.p1": "Deine Daten werden nur gespeichert, wenn du in OpenCode teilbare Links erstellst.", - "download.faq.a6.p2.beforeShare": "Mehr erfahren uber", - "download.faq.a6.shareLink": "Share-Seiten", - - "enterprise.title": "OpenCode | Enterprise-Losungen fur Ihre Organisation", - "enterprise.meta.description": "Kontaktieren Sie OpenCode fur Enterprise-Losungen", - "enterprise.hero.title": "Ihr Code gehort Ihnen", - "enterprise.hero.body1": - "OpenCode arbeitet sicher innerhalb Ihrer Organisation, ohne dass Daten oder Kontext gespeichert werden, und ohne Lizenzbeschrankungen oder Eigentumsanspruche. Starten Sie einen Testlauf mit Ihrem Team und rollen Sie es anschliessend in der gesamten Organisation aus, indem Sie es in Ihr SSO und Ihr internes AI-Gateway integrieren.", - "enterprise.hero.body2": "Sagen Sie uns, wie wir helfen konnen.", - "enterprise.form.name.label": "Vollstandiger Name", - "enterprise.form.name.placeholder": "Jeff Bezos", - "enterprise.form.role.label": "Rolle", - "enterprise.form.role.placeholder": "Executive Chairman", - "enterprise.form.email.label": "Firmen-E-Mail", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "Welches Problem mochten Sie losen?", - "enterprise.form.message.placeholder": "Wir brauchen Hilfe bei...", - "enterprise.form.send": "Senden", - "enterprise.form.sending": "Wird gesendet...", - "enterprise.form.success": "Nachricht gesendet, wir melden uns bald.", - "enterprise.faq.title": "FAQ", - "enterprise.faq.q1": "Was ist OpenCode Enterprise?", - "enterprise.faq.a1": - "OpenCode Enterprise richtet sich an Organisationen, die sicherstellen wollen, dass Code und Daten ihre Infrastruktur niemals verlassen. Das wird durch eine zentralisierte Konfiguration erreicht, die sich in Ihr SSO und Ihr internes AI-Gateway integrieren lasst.", - "enterprise.faq.q2": "Wie starte ich mit OpenCode Enterprise?", - "enterprise.faq.a2": - "Starten Sie einfach mit einem internen Testlauf mit Ihrem Team. OpenCode speichert standardmassig weder Code noch Kontextdaten, sodass der Einstieg leicht ist. Kontaktieren Sie uns anschliessend, um Preise und Implementierungsoptionen zu besprechen.", - "enterprise.faq.q3": "Wie funktioniert die Enterprise-Preisgestaltung?", - "enterprise.faq.a3": - "Wir bieten Enterprise-Preise pro Sitz an. Wenn Sie ein eigenes LLM-Gateway haben, berechnen wir keine Kosten fur verwendete Token. Fur weitere Details kontaktieren Sie uns bitte fur ein individuelles Angebot basierend auf den Anforderungen Ihrer Organisation.", - "enterprise.faq.q4": "Sind meine Daten mit OpenCode Enterprise sicher?", - "enterprise.faq.a4": - "Ja. OpenCode speichert weder Code noch Kontextdaten. Die Verarbeitung erfolgt lokal oder uber direkte API-Aufrufe an Ihren AI-Anbieter. Mit zentraler Konfiguration und SSO-Integration bleiben Ihre Daten sicher innerhalb Ihrer Infrastruktur.", - - "brand.title": "OpenCode | Marke", - "brand.meta.description": "OpenCode Markenrichtlinien", - "brand.heading": "Markenrichtlinien", - "brand.subtitle": "Ressourcen und Assets, die dir helfen, mit der OpenCode-Marke zu arbeiten.", - "brand.downloadAll": "Alle Assets herunterladen", - "changelog.title": "OpenCode | Changelog", - "changelog.meta.description": "OpenCode Release Notes und Changelog", - "changelog.hero.title": "Changelog", - "changelog.hero.subtitle": "Neue Updates und Verbesserungen fur OpenCode", - "changelog.empty": "Keine Changelog-Eintrage gefunden.", - "changelog.viewJson": "JSON ansehen", - "workspace.nav.zen": "Zen", - "workspace.nav.apiKeys": "API-Schlüssel", - "workspace.nav.members": "Mitglieder", - "workspace.nav.billing": "Abrechnung", - "workspace.nav.settings": "Einstellungen", - "workspace.home.banner.beforeLink": "Zuverlässige optimierte Modelle für Codierungsagenten.", - "workspace.home.billing.loading": "Laden...", - "workspace.home.billing.enable": "Abrechnung aktivieren", - "workspace.home.billing.currentBalance": "Aktueller Kontostand", - "workspace.newUser.feature.tested.title": "Getestete und verifizierte Modelle", - "workspace.newUser.feature.tested.body": - "Wir haben Modelle speziell für Codierungsagenten einem Benchmarking unterzogen und getestet, um die beste Leistung sicherzustellen.", - "workspace.newUser.feature.quality.title": "Höchste Qualität", - "workspace.newUser.feature.quality.body": - "Für optimale Performance konfigurierte Zugangsmodelle – keine Downgrades oder Weiterleitung zu günstigeren Anbietern.", - "workspace.newUser.feature.lockin.title": "Kein Lock-in", - "workspace.newUser.feature.lockin.body": - "Verwenden Sie Zen mit einem beliebigen Codierungsagenten und nutzen Sie weiterhin andere Anbieter mit opencode, wann immer Sie möchten.", - "workspace.newUser.copyApiKey": "API-Schlüssel kopieren", - "workspace.newUser.copyKey": "Schlüssel kopieren", - "workspace.newUser.copied": "Kopiert!", - "workspace.newUser.step.enableBilling": "Abrechnung aktivieren", - "workspace.newUser.step.login.before": "Führe", - "workspace.newUser.step.login.after": "und wählen Sie opencode", - "workspace.newUser.step.pasteKey": "Fügen Sie Ihren API-Schlüssel ein", - "workspace.newUser.step.models.before": "Starte opencode und führe", - "workspace.newUser.step.models.after": "um ein Modell auszuwählen", - "workspace.models.title": "Modelle", - "workspace.models.subtitle.beforeLink": - "Verwalten Sie, auf welche Modelle Arbeitsbereichsmitglieder zugreifen können.", - "workspace.models.table.model": "Modell", - "workspace.models.table.enabled": "Aktiviert", - "workspace.providers.title": "Bringen Sie Ihren eigenen Schlüssel mit", - "workspace.providers.subtitle": "Konfigurieren Sie Ihre eigenen API-Schlüssel von KI-Anbietern.", - "workspace.providers.placeholder": "Geben Sie den Schlüssel {{provider}} API ein ({{prefix}}...)", - "workspace.providers.configure": "Konfigurieren", - "workspace.providers.edit": "Bearbeiten", - "workspace.providers.delete": "Löschen", - "workspace.providers.saving": "Wird gespeichert...", - "workspace.providers.save": "Speichern", - "workspace.providers.table.provider": "Anbieter", - "workspace.providers.table.apiKey": "API-Schlüssel", - "workspace.usage.title": "Nutzungsverlauf", - "workspace.usage.subtitle": "Aktuelle API-Nutzung und Kosten.", - "workspace.usage.empty": "Machen Sie Ihren ersten API-Aufruf, um loszulegen.", - "workspace.usage.table.date": "Datum", - "workspace.usage.table.model": "Modell", - "workspace.usage.table.input": "Input", - "workspace.usage.table.output": "Output", - "workspace.usage.table.cost": "Kosten", - "workspace.usage.breakdown.input": "Input", - "workspace.usage.breakdown.cacheRead": "Cache-Lesen", - "workspace.usage.breakdown.cacheWrite": "Cache-Schreiben", - "workspace.usage.breakdown.output": "Output", - "workspace.usage.breakdown.reasoning": "Reasoning", - "workspace.usage.subscription": "Abonnement (${{amount}})", - "workspace.cost.title": "Kosten", - "workspace.cost.subtitle": "Nutzungskosten aufgeschlüsselt nach Modell.", - "workspace.cost.allModels": "Alle Modelle", - "workspace.cost.allKeys": "Alle Schlüssel", - "workspace.cost.deletedSuffix": "(gelöscht)", - "workspace.cost.empty": "Für den ausgewählten Zeitraum sind keine Nutzungsdaten verfügbar.", - "workspace.cost.subscriptionShort": "sub", - "workspace.keys.title": "API-Schlüssel", - "workspace.keys.subtitle": "Verwalten Sie Ihre API-Schlüssel für den Zugriff auf opencode-Dienste.", - "workspace.keys.create": "Erstellen Sie einen API-Schlüssel", - "workspace.keys.placeholder": "Geben Sie den Schlüsselnamen ein", - "workspace.keys.empty": "Erstellen Sie einen opencode Gateway-API-Schlüssel", - "workspace.keys.table.name": "Name", - "workspace.keys.table.key": "Schlüssel", - "workspace.keys.table.createdBy": "Erstellt von", - "workspace.keys.table.lastUsed": "Zuletzt verwendet", - "workspace.keys.copyApiKey": "API-Schlüssel kopieren", - "workspace.keys.delete": "Löschen", - "workspace.members.title": "Mitglieder", - "workspace.members.subtitle": "Verwalten Sie Arbeitsbereichsmitglieder und ihre Berechtigungen.", - "workspace.members.invite": "Mitglied einladen", - "workspace.members.inviting": "Wird eingeladen...", - "workspace.members.beta.beforeLink": "Während der Betaversion sind Arbeitsbereiche für Teams kostenlos.", - "workspace.members.form.invitee": "Eingeladen", - "workspace.members.form.emailPlaceholder": "Geben Sie Ihre E-Mail-Adresse ein", - "workspace.members.form.role": "Rolle", - "workspace.members.form.monthlyLimit": "Monatliches Ausgabenlimit", - "workspace.members.noLimit": "Keine Begrenzung", - "workspace.members.noLimitLowercase": "keine Begrenzung", - "workspace.members.invited": "eingeladen", - "workspace.members.edit": "Bearbeiten", - "workspace.members.delete": "Löschen", - "workspace.members.saving": "Wird gespeichert...", - "workspace.members.save": "Speichern", - "workspace.members.table.email": "E-Mail", - "workspace.members.table.role": "Rolle", - "workspace.members.table.monthLimit": "Monatslimit", - "workspace.members.role.admin": "Admin", - "workspace.members.role.adminDescription": "Kann Modelle, Mitglieder und Abrechnungen verwalten", - "workspace.members.role.member": "Mitglied", - "workspace.members.role.memberDescription": "Kann nur API-Schlüssel für sich selbst generieren", - "workspace.settings.title": "Einstellungen", - "workspace.settings.subtitle": "Aktualisieren Sie den Namen und die Einstellungen Ihres Arbeitsbereichs.", - "workspace.settings.workspaceName": "Name des Arbeitsbereichs", - "workspace.settings.defaultName": "Standard", - "workspace.settings.updating": "Aktualisierung...", - "workspace.settings.save": "Speichern", - "workspace.settings.edit": "Bearbeiten", - "workspace.billing.title": "Abrechnung", - "workspace.billing.subtitle.beforeLink": "Zahlungsmethoden verwalten.", - "workspace.billing.contactUs": "Kontaktieren Sie uns", - "workspace.billing.subtitle.afterLink": "wenn Sie Fragen haben.", - "workspace.billing.currentBalance": "Aktueller Kontostand", - "workspace.billing.add": "$ hinzufügen", - "workspace.billing.enterAmount": "Betrag eingeben", - "workspace.billing.loading": "Laden...", - "workspace.billing.addAction": "Hinzufügen", - "workspace.billing.addBalance": "Guthaben hinzufügen", - "workspace.billing.linkedToStripe": "Mit Stripe verknüpft", - "workspace.billing.manage": "Verwalten", - "workspace.billing.enable": "Abrechnung aktivieren", - "workspace.monthlyLimit.title": "Monatliches Limit", - "workspace.monthlyLimit.subtitle": "Legen Sie ein monatliches Nutzungslimit für Ihr Konto fest.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "Wird gesetzt...", - "workspace.monthlyLimit.set": "Festlegen", - "workspace.monthlyLimit.edit": "Limit bearbeiten", - "workspace.monthlyLimit.noLimit": "Kein Nutzungslimit festgelegt.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "Aktuelle Nutzung für", - "workspace.monthlyLimit.currentUsage.beforeAmount": "ist $", - "workspace.reload.title": "Automatische Aufladung", - "workspace.reload.disabled.before": "Automatische Aufladung ist", - "workspace.reload.disabled.state": "deaktiviert", - "workspace.reload.disabled.after": - "Aktivieren Sie diese Option, damit bei niedrigem Kontostand automatisch aufgeladen wird.", - "workspace.reload.enabled.before": "Automatische Aufladung ist", - "workspace.reload.enabled.state": "aktiviert", - "workspace.reload.enabled.middle": "Wir laden auf", - "workspace.reload.processingFee": "Bearbeitungsgebühr", - "workspace.reload.enabled.after": "sobald der Kontostand", - "workspace.reload.edit": "Bearbeiten", - "workspace.reload.enable": "Aktivieren", - "workspace.reload.enableAutoReload": "Automatische Aufladung aktivieren", - "workspace.reload.reloadAmount": "Aufladebetrag $", - "workspace.reload.whenBalanceReaches": "Wenn der Kontostand $ erreicht", - "workspace.reload.saving": "Wird gespeichert...", - "workspace.reload.save": "Speichern", - "workspace.reload.failedAt": "Aufladung fehlgeschlagen am", - "workspace.reload.reason": "Grund:", - "workspace.reload.updatePaymentMethod": "Bitte aktualisieren Sie Ihre Zahlungsmethode und versuchen Sie es erneut.", - "workspace.reload.retrying": "Erneuter Versuch...", - "workspace.reload.retry": "Wiederholen", - "workspace.payments.title": "Zahlungshistorie", - "workspace.payments.subtitle": "Letzte Zahlungsvorgänge.", - "workspace.payments.table.date": "Datum", - "workspace.payments.table.paymentId": "Zahlungs-ID", - "workspace.payments.table.amount": "Betrag", - "workspace.payments.table.receipt": "Quittung", - "workspace.payments.type.credit": "Kredit", - "workspace.payments.type.subscription": "Abonnement", - "workspace.payments.view": "Anzeigen", - "workspace.black.loading": "Laden...", - "workspace.black.time.day": "Tag", - "workspace.black.time.days": "Tage", - "workspace.black.time.hour": "Stunde", - "workspace.black.time.hours": "Std.", - "workspace.black.time.minute": "Minute", - "workspace.black.time.minutes": "Minuten", - "workspace.black.time.fewSeconds": "ein paar Sekunden", - "workspace.black.subscription.title": "Abonnement", - "workspace.black.subscription.message": "Sie haben OpenCode Black für ${{plan}} pro Monat abonniert.", - "workspace.black.subscription.manage": "Abonnement verwalten", - "workspace.black.subscription.rollingUsage": "5-stündige Nutzung", - "workspace.black.subscription.weeklyUsage": "Wöchentliche Nutzung", - "workspace.black.subscription.resetsIn": "Zurückgesetzt in", - "workspace.black.subscription.useBalance": - "Nutzen Sie Ihr verfügbares Guthaben, nachdem Sie die Nutzungslimits erreicht haben", - "workspace.black.waitlist.title": "Warteliste", - "workspace.black.waitlist.joined": - "Sie stehen auf der Warteliste für den OpenCode Black Tarif für ${{plan}} pro Monat.", - "workspace.black.waitlist.ready": - "Wir können Sie jetzt in den OpenCode Black Tarif für ${{plan}} pro Monat aufnehmen.", - "workspace.black.waitlist.leave": "Warteliste verlassen", - "workspace.black.waitlist.leaving": "Verlassen...", - "workspace.black.waitlist.left": "Verlassen", - "workspace.black.waitlist.enroll": "Einschreiben", - "workspace.black.waitlist.enrolling": "Anmeldung...", - "workspace.black.waitlist.enrolled": "Eingeschrieben", - "workspace.black.waitlist.enrollNote": - "Wenn Sie auf „Anmelden“ klicken, beginnt Ihr Abonnement sofort und Ihre Karte wird belastet.", -} satisfies Dict diff --git a/packages/console/app/src/i18n/en.ts b/packages/console/app/src/i18n/en.ts deleted file mode 100644 index 08c716aba..000000000 --- a/packages/console/app/src/i18n/en.ts +++ /dev/null @@ -1,591 +0,0 @@ -export const dict = { - "nav.github": "GitHub", - "nav.docs": "Docs", - "nav.changelog": "Changelog", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "Enterprise", - "nav.zen": "Zen", - "nav.login": "Login", - "nav.free": "Free", - "nav.home": "Home", - "nav.openMenu": "Open menu", - "nav.getStartedFree": "Get started for free", - - "nav.context.copyLogo": "Copy logo as SVG", - "nav.context.copyWordmark": "Copy wordmark as SVG", - "nav.context.brandAssets": "Brand assets", - - "footer.github": "GitHub", - "footer.docs": "Docs", - "footer.changelog": "Changelog", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "Brand", - "legal.privacy": "Privacy", - "legal.terms": "Terms", - - "email.title": "Be the first to know when we release new products", - "email.subtitle": "Join the waitlist for early access.", - "email.placeholder": "Email address", - "email.subscribe": "Subscribe", - "email.success": "Almost done, check your inbox and confirm your email address", - - "notFound.title": "Not Found | opencode", - "notFound.heading": "404 - Page Not Found", - "notFound.home": "Home", - "notFound.docs": "Docs", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "Logout", - - "workspace.select": "Select workspace", - "workspace.createNew": "+ Create New Workspace", - "workspace.modal.title": "Create New Workspace", - "workspace.modal.placeholder": "Enter workspace name", - - "common.cancel": "Cancel", - "common.creating": "Creating...", - "common.create": "Create", - - "common.videoUnsupported": "Your browser does not support the video tag.", - "common.figure": "Fig {{n}}.", - "common.faq": "FAQ", - "common.learnMore": "Learn more", - - "error.invalidPlan": "Invalid plan", - "error.workspaceRequired": "Workspace ID is required", - "error.alreadySubscribed": "This workspace already has a subscription", - "error.limitRequired": "Limit is required.", - "error.monthlyLimitInvalid": "Set a valid monthly limit.", - "error.workspaceNameRequired": "Workspace name is required.", - "error.nameTooLong": "Name must be 255 characters or less.", - "error.emailRequired": "Email is required", - "error.roleRequired": "Role is required", - "error.idRequired": "ID is required", - "error.nameRequired": "Name is required", - "error.providerRequired": "Provider is required", - "error.apiKeyRequired": "API key is required", - "error.modelRequired": "Model is required", - "error.reloadAmountMin": "Reload amount must be at least ${{amount}}", - "error.reloadTriggerMin": "Balance trigger must be at least ${{amount}}", - - "home.title": "OpenCode | The open source AI coding agent", - - "temp.title": "opencode | AI coding agent built for the terminal", - "temp.hero.title": "The AI coding agent built for the terminal", - "temp.zen": "opencode zen", - "temp.getStarted": "Get Started", - "temp.feature.native.title": "Native TUI", - "temp.feature.native.body": "A responsive, native, themeable terminal UI", - "temp.feature.zen.beforeLink": "A", - "temp.feature.zen.link": "curated list of models", - "temp.feature.zen.afterLink": "provided by opencode", - "temp.feature.models.beforeLink": "Supports 75+ LLM providers through", - "temp.feature.models.afterLink": ", including local models", - "temp.screenshot.caption": "opencode TUI with the tokyonight theme", - "temp.screenshot.alt": "opencode TUI with tokyonight theme", - - "home.banner.badge": "New", - "home.banner.text": "Desktop app available in beta", - "home.banner.platforms": "on macOS, Windows, and Linux", - "home.banner.downloadNow": "Download now", - "home.banner.downloadBetaNow": "Download the desktop beta now", - - "home.hero.title": "The open source AI coding agent", - "home.hero.subtitle.a": "Free models included or connect any model from any provider,", - "home.hero.subtitle.b": "including Claude, GPT, Gemini and more.", - - "home.install.ariaLabel": "Install options", - - "home.what.title": "What is OpenCode?", - "home.what.body": "OpenCode is an open source agent that helps you write code in your terminal, IDE, or desktop.", - "home.what.lsp.title": "LSP enabled", - "home.what.lsp.body": "Automatically loads the right LSPs for the LLM", - "home.what.multiSession.title": "Multi-session", - "home.what.multiSession.body": "Start multiple agents in parallel on the same project", - "home.what.shareLinks.title": "Share links", - "home.what.shareLinks.body": "Share a link to any session for reference or to debug", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "Log in with GitHub to use your Copilot account", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": "Log in with OpenAI to use your ChatGPT Plus or Pro account", - "home.what.anyModel.title": "Any model", - "home.what.anyModel.body": "75+ LLM providers through Models.dev, including local models", - "home.what.anyEditor.title": "Any editor", - "home.what.anyEditor.body": "Available as a terminal interface, desktop app, and IDE extension", - "home.what.readDocs": "Read docs", - - "home.growth.title": "The open source AI coding agent", - "home.growth.body": - "With over {{stars}} GitHub stars, {{contributors}} contributors, and over {{commits}} commits, OpenCode is used and trusted by over {{monthlyUsers}} developers every month.", - "home.growth.githubStars": "GitHub Stars", - "home.growth.contributors": "Contributors", - "home.growth.monthlyDevs": "Monthly Devs", - - "home.privacy.title": "Built for privacy first", - "home.privacy.body": - "OpenCode does not store any of your code or context data, so that it can operate in privacy sensitive environments.", - "home.privacy.learnMore": "Learn more about", - "home.privacy.link": "privacy", - - "home.faq.q1": "What is OpenCode?", - "home.faq.a1": - "OpenCode is an open source agent that helps you write and run code with any AI model. It's available as a terminal-based interface, desktop app, or IDE extension.", - "home.faq.q2": "How do I use OpenCode?", - "home.faq.a2.before": "The easiest way to get started is to read the", - "home.faq.a2.link": "intro", - "home.faq.q3": "Do I need extra AI subscriptions to use OpenCode?", - "home.faq.a3.p1": - "Not necessarily, OpenCode comes with a set of free models that you can use without creating an account.", - "home.faq.a3.p2.beforeZen": "Aside from these, you can use any of the popular coding models by creating a", - "home.faq.a3.p2.afterZen": " account.", - "home.faq.a3.p3": - "While we encourage users to use Zen, OpenCode also works with all popular providers such as OpenAI, Anthropic, xAI etc.", - "home.faq.a3.p4.beforeLocal": "You can even connect your", - "home.faq.a3.p4.localLink": "local models", - "home.faq.q4": "Can I use my existing AI subscriptions with OpenCode?", - "home.faq.a4.p1": - "Yes, OpenCode supports subscription plans from all major providers. You can use your Claude Pro/Max, ChatGPT Plus/Pro, or GitHub Copilot subscriptions.", - "home.faq.q5": "Can I only use OpenCode in the terminal?", - "home.faq.a5.beforeDesktop": "Not anymore! OpenCode is now available as an app for your", - "home.faq.a5.desktop": "desktop", - "home.faq.a5.and": "and", - "home.faq.a5.web": "web", - "home.faq.q6": "How much does OpenCode cost?", - "home.faq.a6": - "OpenCode is 100% free to use. It also comes with a set of free models. There might be additional costs if you connect any other provider.", - "home.faq.q7": "What about data and privacy?", - "home.faq.a7.p1": "Your data and information is only stored when you use our free models or create sharable links.", - "home.faq.a7.p2.beforeModels": "Learn more about", - "home.faq.a7.p2.modelsLink": "our models", - "home.faq.a7.p2.and": "and", - "home.faq.a7.p2.shareLink": "share pages", - "home.faq.q8": "Is OpenCode open source?", - "home.faq.a8.p1": "Yes, OpenCode is fully open source. The source code is public on", - "home.faq.a8.p2": "under the", - "home.faq.a8.mitLicense": "MIT License", - "home.faq.a8.p3": - ", meaning anyone can use, modify, or contribute to its development. Anyone from the community can file issues, submit pull requests, and extend functionality.", - - "home.zenCta.title": "Access reliable optimized models for coding agents", - "home.zenCta.body": - "Zen gives you access to a handpicked set of AI models that OpenCode has tested and benchmarked specifically for coding agents. No need to worry about inconsistent performance and quality across providers, use validated models that work.", - "home.zenCta.link": "Learn about Zen", - - "zen.title": "OpenCode Zen | A curated set of reliable optimized models for coding agents", - "zen.hero.title": "Reliable optimized models for coding agents", - "zen.hero.body": - "Zen gives you access to a curated set of AI models that OpenCode has tested and benchmarked specifically for coding agents. No need to worry about inconsistent performance and quality, use validated models that work.", - - "zen.faq.q1": "What is OpenCode Zen?", - "zen.faq.a1": - "Zen is a curated set of AI models tested and benchmarked for coding agents created by the team behind OpenCode.", - "zen.faq.q2": "What makes Zen more accurate?", - "zen.faq.a2": - "Zen only provides models that have been specifically tested and benchmarked for coding agents. You wouldn't use a butter knife to cut steak, don't use poor models for coding.", - "zen.faq.q3": "Is Zen cheaper?", - "zen.faq.a3": - "Zen is not for profit. Zen passes through the costs from the model providers to you. The higher Zen's usage the more OpenCode can negotiate better rates and pass those to you.", - "zen.faq.q4": "How much does Zen cost?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "charges per request", - "zen.faq.a4.p1.afterPricing": "with zero markups, so you pay exactly what the model provider charges.", - "zen.faq.a4.p2.beforeAccount": "Your total cost depends on usage, and you can set monthly spend limits in your", - "zen.faq.a4.p2.accountLink": "account", - "zen.faq.a4.p3": "To cover costs, OpenCode adds only a small payment processing fee of $1.23 per $20 balance top-up.", - "zen.faq.q5": "What about data and privacy?", - "zen.faq.a5.beforeExceptions": - "All Zen models are hosted in the US. Providers follow a zero-retention policy and do not use your data for model training, with the", - "zen.faq.a5.exceptionsLink": "following exceptions", - "zen.faq.q6": "Can I set spend limits?", - "zen.faq.a6": "Yes, you can set monthly spending limits in your account.", - "zen.faq.q7": "Can I cancel?", - "zen.faq.a7": "Yes, you can disable billing at any time and use your remaining balance.", - "zen.faq.q8": "Can I use Zen with other coding agents?", - "zen.faq.a8": - "While Zen works great with OpenCode, you can use Zen with any agent. Follow the setup instructions in your preferred coding agent.", - - "zen.cta.start": "Get started with Zen", - "zen.pricing.title": "Add $20 Pay as you go balance", - "zen.pricing.fee": "(+$1.23 card processing fee)", - "zen.pricing.body": "Use with any agent. Set monthly spend limits. Cancel any time.", - "zen.problem.title": "What problem is Zen solving?", - "zen.problem.body": - "There are so many models available, but only a few work well with coding agents. Most providers configure them differently with varying results.", - "zen.problem.subtitle": "We're fixing this for everyone, not just OpenCode users.", - "zen.problem.item1": "Testing select models and consulting their teams", - "zen.problem.item2": "Working with providers to ensure they're delivered properly", - "zen.problem.item3": "Benchmarking all model-provider combinations we recommend", - "zen.how.title": "How Zen works", - "zen.how.body": "While we suggest you use Zen with OpenCode, you can use Zen with any agent.", - "zen.how.step1.title": "Sign up and add $20 balance", - "zen.how.step1.beforeLink": "follow the", - "zen.how.step1.link": "setup instructions", - "zen.how.step2.title": "Use Zen with transparent pricing", - "zen.how.step2.link": "pay per request", - "zen.how.step2.afterLink": "with zero markups", - "zen.how.step3.title": "Auto-top up", - "zen.how.step3.body": "when your balance reaches $5 we'll automatically add $20", - "zen.privacy.title": "Your privacy is important to us", - "zen.privacy.beforeExceptions": - "All Zen models are hosted in the US. Providers follow a zero-retention policy and do not use your data for model training, with the", - "zen.privacy.exceptionsLink": "following exceptions", - - "black.meta.title": "OpenCode Black | Access all the world's best coding models", - "black.meta.description": "Get access to Claude, GPT, Gemini and more with OpenCode Black subscription plans.", - "black.hero.title": "Access all the world's best coding models", - "black.hero.subtitle": "Including Claude, GPT, Gemini and more", - "black.title": "OpenCode Black | Pricing", - "black.plan.icon20": "Black 20 plan", - "black.plan.icon100": "Black 100 plan", - "black.plan.icon200": "Black 200 plan", - "black.plan.multiplier100": "5x more usage than Black 20", - "black.plan.multiplier200": "20x more usage than Black 20", - "black.price.perMonth": "per month", - "black.price.perPersonBilledMonthly": "per person billed monthly", - "black.terms.1": "Your subscription will not start immediately", - "black.terms.2": "You will be added to the waitlist and activated soon", - "black.terms.3": "Your card will only be charged when your subscription is activated", - "black.terms.4": "Usage limits apply, heavily automated use may reach limits sooner", - "black.terms.5": "Subscriptions are for individuals, contact Enterprise for teams", - "black.terms.6": "Limits may be adjusted and plans may be discontinued in the future", - "black.terms.7": "Cancel your subscription at any time", - "black.action.continue": "Continue", - "black.finePrint.beforeTerms": "Prices shown don't include applicable tax", - "black.finePrint.terms": "Terms of Service", - "black.workspace.title": "OpenCode Black | Select Workspace", - "black.workspace.selectPlan": "Select a workspace for this plan", - "black.workspace.name": "Workspace {{n}}", - "black.subscribe.title": "Subscribe to OpenCode Black", - "black.subscribe.paymentMethod": "Payment method", - "black.subscribe.loadingPaymentForm": "Loading payment form...", - "black.subscribe.selectWorkspaceToContinue": "Select a workspace to continue", - "black.subscribe.failurePrefix": "Uh oh!", - "black.subscribe.error.generic": "An error occurred", - "black.subscribe.error.invalidPlan": "Invalid plan", - "black.subscribe.error.workspaceRequired": "Workspace ID is required", - "black.subscribe.error.alreadySubscribed": "This workspace already has a subscription", - "black.subscribe.processing": "Processing...", - "black.subscribe.submit": "Subscribe ${{plan}}", - "black.subscribe.form.chargeNotice": "You will only be charged when your subscription is activated", - "black.subscribe.success.title": "You're on the OpenCode Black waitlist", - "black.subscribe.success.subscriptionPlan": "Subscription plan", - "black.subscribe.success.planName": "OpenCode Black {{plan}}", - "black.subscribe.success.amount": "Amount", - "black.subscribe.success.amountValue": "${{plan}} per month", - "black.subscribe.success.paymentMethod": "Payment method", - "black.subscribe.success.dateJoined": "Date joined", - "black.subscribe.success.chargeNotice": "Your card will be charged when your subscription is activated", - - "workspace.nav.zen": "Zen", - "workspace.nav.apiKeys": "API Keys", - "workspace.nav.members": "Members", - "workspace.nav.billing": "Billing", - "workspace.nav.settings": "Settings", - - "workspace.home.banner.beforeLink": "Reliable optimized models for coding agents.", - "workspace.home.billing.loading": "Loading...", - "workspace.home.billing.enable": "Enable billing", - "workspace.home.billing.currentBalance": "Current balance", - - "workspace.newUser.feature.tested.title": "Tested & Verified Models", - "workspace.newUser.feature.tested.body": - "We've benchmarked and tested models specifically for coding agents to ensure the best performance.", - "workspace.newUser.feature.quality.title": "Highest Quality", - "workspace.newUser.feature.quality.body": - "Access models configured for optimal performance - no downgrades or routing to cheaper providers.", - "workspace.newUser.feature.lockin.title": "No Lock-in", - "workspace.newUser.feature.lockin.body": - "Use Zen with any coding agent, and continue using other providers with opencode whenever you want.", - "workspace.newUser.copyApiKey": "Copy API key", - "workspace.newUser.copyKey": "Copy Key", - "workspace.newUser.copied": "Copied!", - "workspace.newUser.step.enableBilling": "Enable billing", - "workspace.newUser.step.login.before": "Run", - "workspace.newUser.step.login.after": "and select opencode", - "workspace.newUser.step.pasteKey": "Paste your API key", - "workspace.newUser.step.models.before": "Start opencode and run", - "workspace.newUser.step.models.after": "to select a model", - - "workspace.models.title": "Models", - "workspace.models.subtitle.beforeLink": "Manage which models workspace members can access.", - "workspace.models.table.model": "Model", - "workspace.models.table.enabled": "Enabled", - - "workspace.providers.title": "Bring Your Own Key", - "workspace.providers.subtitle": "Configure your own API keys from AI providers.", - "workspace.providers.placeholder": "Enter {{provider}} API key ({{prefix}}...)", - "workspace.providers.configure": "Configure", - "workspace.providers.edit": "Edit", - "workspace.providers.delete": "Delete", - "workspace.providers.saving": "Saving...", - "workspace.providers.save": "Save", - "workspace.providers.table.provider": "Provider", - "workspace.providers.table.apiKey": "API Key", - - "workspace.usage.title": "Usage History", - "workspace.usage.subtitle": "Recent API usage and costs.", - "workspace.usage.empty": "Make your first API call to get started.", - "workspace.usage.table.date": "Date", - "workspace.usage.table.model": "Model", - "workspace.usage.table.input": "Input", - "workspace.usage.table.output": "Output", - "workspace.usage.table.cost": "Cost", - "workspace.usage.breakdown.input": "Input", - "workspace.usage.breakdown.cacheRead": "Cache Read", - "workspace.usage.breakdown.cacheWrite": "Cache Write", - "workspace.usage.breakdown.output": "Output", - "workspace.usage.breakdown.reasoning": "Reasoning", - "workspace.usage.subscription": "subscription (${{amount}})", - - "workspace.cost.title": "Cost", - "workspace.cost.subtitle": "Usage costs broken down by model.", - "workspace.cost.allModels": "All Models", - "workspace.cost.allKeys": "All Keys", - "workspace.cost.deletedSuffix": "(deleted)", - "workspace.cost.empty": "No usage data available for the selected period.", - "workspace.cost.subscriptionShort": "sub", - - "workspace.keys.title": "API Keys", - "workspace.keys.subtitle": "Manage your API keys for accessing opencode services.", - "workspace.keys.create": "Create API Key", - "workspace.keys.placeholder": "Enter key name", - "workspace.keys.empty": "Create an opencode Gateway API key", - "workspace.keys.table.name": "Name", - "workspace.keys.table.key": "Key", - "workspace.keys.table.createdBy": "Created By", - "workspace.keys.table.lastUsed": "Last Used", - "workspace.keys.copyApiKey": "Copy API key", - "workspace.keys.delete": "Delete", - - "workspace.members.title": "Members", - "workspace.members.subtitle": "Manage workspace members and their permissions.", - "workspace.members.invite": "Invite Member", - "workspace.members.inviting": "Inviting...", - "workspace.members.beta.beforeLink": "Workspaces are free for teams during the beta.", - "workspace.members.form.invitee": "Invitee", - "workspace.members.form.emailPlaceholder": "Enter email", - "workspace.members.form.role": "Role", - "workspace.members.form.monthlyLimit": "Monthly spending limit", - "workspace.members.noLimit": "No limit", - "workspace.members.noLimitLowercase": "no limit", - "workspace.members.invited": "invited", - "workspace.members.edit": "Edit", - "workspace.members.delete": "Delete", - "workspace.members.saving": "Saving...", - "workspace.members.save": "Save", - "workspace.members.table.email": "Email", - "workspace.members.table.role": "Role", - "workspace.members.table.monthLimit": "Month limit", - "workspace.members.role.admin": "Admin", - "workspace.members.role.adminDescription": "Can manage models, members, and billing", - "workspace.members.role.member": "Member", - "workspace.members.role.memberDescription": "Can only generate API keys for themselves", - - "workspace.settings.title": "Settings", - "workspace.settings.subtitle": "Update your workspace name and preferences.", - "workspace.settings.workspaceName": "Workspace name", - "workspace.settings.defaultName": "Default", - "workspace.settings.updating": "Updating...", - "workspace.settings.save": "Save", - "workspace.settings.edit": "Edit", - - "workspace.billing.title": "Billing", - "workspace.billing.subtitle.beforeLink": "Manage payment methods.", - "workspace.billing.contactUs": "Contact us", - "workspace.billing.subtitle.afterLink": "if you have any questions.", - "workspace.billing.currentBalance": "Current Balance", - "workspace.billing.add": "Add $", - "workspace.billing.enterAmount": "Enter amount", - "workspace.billing.loading": "Loading...", - "workspace.billing.addAction": "Add", - "workspace.billing.addBalance": "Add Balance", - "workspace.billing.linkedToStripe": "Linked to Stripe", - "workspace.billing.manage": "Manage", - "workspace.billing.enable": "Enable Billing", - - "workspace.monthlyLimit.title": "Monthly Limit", - "workspace.monthlyLimit.subtitle": "Set a monthly usage limit for your account.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "Setting...", - "workspace.monthlyLimit.set": "Set", - "workspace.monthlyLimit.edit": "Edit Limit", - "workspace.monthlyLimit.noLimit": "No usage limit set.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "Current usage for", - "workspace.monthlyLimit.currentUsage.beforeAmount": "is $", - - "workspace.reload.title": "Auto Reload", - "workspace.reload.disabled.before": "Auto reload is", - "workspace.reload.disabled.state": "disabled", - "workspace.reload.disabled.after": "Enable to automatically reload when balance is low.", - "workspace.reload.enabled.before": "Auto reload is", - "workspace.reload.enabled.state": "enabled", - "workspace.reload.enabled.middle": "We'll reload", - "workspace.reload.processingFee": "processing fee", - "workspace.reload.enabled.after": "when balance reaches", - "workspace.reload.edit": "Edit", - "workspace.reload.enable": "Enable", - "workspace.reload.enableAutoReload": "Enable Auto Reload", - "workspace.reload.reloadAmount": "Reload $", - "workspace.reload.whenBalanceReaches": "When balance reaches $", - "workspace.reload.saving": "Saving...", - "workspace.reload.save": "Save", - "workspace.reload.failedAt": "Reload failed at", - "workspace.reload.reason": "Reason:", - "workspace.reload.updatePaymentMethod": "Please update your payment method and try again.", - "workspace.reload.retrying": "Retrying...", - "workspace.reload.retry": "Retry", - - "workspace.payments.title": "Payments History", - "workspace.payments.subtitle": "Recent payment transactions.", - "workspace.payments.table.date": "Date", - "workspace.payments.table.paymentId": "Payment ID", - "workspace.payments.table.amount": "Amount", - "workspace.payments.table.receipt": "Receipt", - "workspace.payments.type.credit": "credit", - "workspace.payments.type.subscription": "subscription", - "workspace.payments.view": "View", - - "workspace.black.loading": "Loading...", - "workspace.black.time.day": "day", - "workspace.black.time.days": "days", - "workspace.black.time.hour": "hour", - "workspace.black.time.hours": "hours", - "workspace.black.time.minute": "minute", - "workspace.black.time.minutes": "minutes", - "workspace.black.time.fewSeconds": "a few seconds", - "workspace.black.subscription.title": "Subscription", - "workspace.black.subscription.message": "You are subscribed to OpenCode Black for ${{plan}} per month.", - "workspace.black.subscription.manage": "Manage Subscription", - "workspace.black.subscription.rollingUsage": "5-hour Usage", - "workspace.black.subscription.weeklyUsage": "Weekly Usage", - "workspace.black.subscription.resetsIn": "Resets in", - "workspace.black.subscription.useBalance": "Use your available balance after reaching the usage limits", - "workspace.black.waitlist.title": "Waitlist", - "workspace.black.waitlist.joined": "You are on the waitlist for the ${{plan}} per month OpenCode Black plan.", - "workspace.black.waitlist.ready": "We're ready to enroll you into the ${{plan}} per month OpenCode Black plan.", - "workspace.black.waitlist.leave": "Leave Waitlist", - "workspace.black.waitlist.leaving": "Leaving...", - "workspace.black.waitlist.left": "Left", - "workspace.black.waitlist.enroll": "Enroll", - "workspace.black.waitlist.enrolling": "Enrolling...", - "workspace.black.waitlist.enrolled": "Enrolled", - "workspace.black.waitlist.enrollNote": - "When you click Enroll, your subscription starts immediately and your card will be charged.", - - "download.title": "OpenCode | Download", - "download.meta.description": "Download OpenCode for macOS, Windows, and Linux", - "download.hero.title": "Download OpenCode", - "download.hero.subtitle": "Available in Beta for macOS, Windows, and Linux", - "download.hero.button": "Download for {{os}}", - "download.section.terminal": "OpenCode Terminal", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "OpenCode Extensions", - "download.section.integrations": "OpenCode Integrations", - "download.action.download": "Download", - "download.action.install": "Install", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - - "download.faq.a3.beforeLocal": - "Not necessarily, but probably. You'll need an AI subscription if you want to connect OpenCode to a paid provider, although you can work with", - "download.faq.a3.localLink": "local models", - "download.faq.a3.afterLocal.beforeZen": "for free. While we encourage users to use", - "download.faq.a3.afterZen": ", OpenCode works with all popular providers such as OpenAI, Anthropic, xAI etc.", - - "download.faq.a5.p1": "OpenCode is 100% free to use.", - "download.faq.a5.p2.beforeZen": - "Any additional costs will come from your subscription to a model provider. While OpenCode works with any model provider, we recommend using", - "download.faq.a5.p2.afterZen": ".", - - "download.faq.a6.p1": "Your data and information is only stored when you create sharable links in OpenCode.", - "download.faq.a6.p2.beforeShare": "Learn more about", - "download.faq.a6.shareLink": "share pages", - - "enterprise.title": "OpenCode | Enterprise solutions for your organisation", - "enterprise.meta.description": "Contact OpenCode for enterprise solutions", - "enterprise.hero.title": "Your code is yours", - "enterprise.hero.body1": - "OpenCode operates securely inside your organization with no data or context stored and no licensing restrictions or ownership claims. Start a trial with your team, then deploy it across your organization by integrating it with your SSO and internal AI gateway.", - "enterprise.hero.body2": "Let us know how we can help.", - "enterprise.form.name.label": "Full name", - "enterprise.form.name.placeholder": "Jeff Bezos", - "enterprise.form.role.label": "Role", - "enterprise.form.role.placeholder": "Executive Chairman", - "enterprise.form.email.label": "Company email", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "What problem are you trying to solve?", - "enterprise.form.message.placeholder": "We need help with...", - "enterprise.form.send": "Send", - "enterprise.form.sending": "Sending...", - "enterprise.form.success": "Message sent, we'll be in touch soon.", - "enterprise.faq.title": "FAQ", - "enterprise.faq.q1": "What is OpenCode Enterprise?", - "enterprise.faq.a1": - "OpenCode Enterprise is for organizations that want to ensure that their code and data never leaves their infrastructure. It can do this by using a centralized config that integrates with your SSO and internal AI gateway.", - "enterprise.faq.q2": "How do I get started with OpenCode Enterprise?", - "enterprise.faq.a2": - "Simply start with an internal trial with your team. OpenCode by default does not store your code or context data, making it easy to get started. Then contact us to discuss pricing and implementation options.", - "enterprise.faq.q3": "How does enterprise pricing work?", - "enterprise.faq.a3": - "We offer per-seat enterprise pricing. If you have your own LLM gateway, we do not charge for tokens used. For further details, contact us for a custom quote based on your organization's needs.", - "enterprise.faq.q4": "Is my data secure with OpenCode Enterprise?", - "enterprise.faq.a4": - "Yes. OpenCode does not store your code or context data. All processing happens locally or through direct API calls to your AI provider. With central config and SSO integration, your data remains secure within your organization's infrastructure.", - - "brand.title": "OpenCode | Brand", - "brand.meta.description": "OpenCode brand guidelines", - "brand.heading": "Brand guidelines", - "brand.subtitle": "Resources and assets to help you work with the OpenCode brand.", - "brand.downloadAll": "Download all assets", - - "changelog.title": "OpenCode | Changelog", - "changelog.meta.description": "OpenCode release notes and changelog", - "changelog.hero.title": "Changelog", - "changelog.hero.subtitle": "New updates and improvements to OpenCode", - "changelog.empty": "No changelog entries found.", - "changelog.viewJson": "View JSON", - - "bench.list.title": "Benchmark", - "bench.list.heading": "Benchmarks", - "bench.list.table.agent": "Agent", - "bench.list.table.model": "Model", - "bench.list.table.score": "Score", - - "bench.detail.title": "Benchmark - {{task}}", - "bench.detail.notFound": "Task not found", - "bench.detail.na": "N/A", - "bench.detail.labels.agent": "Agent", - "bench.detail.labels.model": "Model", - "bench.detail.labels.task": "Task", - "bench.detail.labels.repo": "Repo", - "bench.detail.labels.from": "From", - "bench.detail.labels.to": "To", - "bench.detail.labels.prompt": "Prompt", - "bench.detail.labels.commit": "Commit", - "bench.detail.labels.averageDuration": "Average Duration", - "bench.detail.labels.averageScore": "Average Score", - "bench.detail.labels.averageCost": "Average Cost", - "bench.detail.labels.summary": "Summary", - "bench.detail.labels.runs": "Runs", - "bench.detail.labels.score": "Score", - "bench.detail.labels.base": "Base", - "bench.detail.labels.penalty": "Penalty", - "bench.detail.labels.weight": "weight", - "bench.detail.table.run": "Run", - "bench.detail.table.score": "Score (Base - Penalty)", - "bench.detail.table.cost": "Cost", - "bench.detail.table.duration": "Duration", - "bench.detail.run.title": "Run {{n}}", - "bench.detail.rawJson": "Raw JSON", -} as const - -export type Key = keyof typeof dict -export type Dict = Record diff --git a/packages/console/app/src/i18n/es.ts b/packages/console/app/src/i18n/es.ts deleted file mode 100644 index 4892ca22e..000000000 --- a/packages/console/app/src/i18n/es.ts +++ /dev/null @@ -1,471 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "Documentacion", - "nav.changelog": "Registro de cambios", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "Empresas", - "nav.zen": "Zen", - "nav.login": "Iniciar sesion", - "nav.free": "Gratis", - "nav.home": "Inicio", - "nav.openMenu": "Abrir menu", - "nav.getStartedFree": "Empezar gratis", - - "nav.context.copyLogo": "Copiar logo como SVG", - "nav.context.copyWordmark": "Copiar logotipo como SVG", - "nav.context.brandAssets": "Recursos de marca", - - "footer.github": "GitHub", - "footer.docs": "Documentacion", - "footer.changelog": "Registro de cambios", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "Marca", - "legal.privacy": "Privacidad", - "legal.terms": "Terminos", - - "email.title": "Se el primero en enterarte cuando lancemos nuevos productos", - "email.subtitle": "Unete a la lista de espera para acceso anticipado.", - "email.placeholder": "Correo electronico", - "email.subscribe": "Suscribirse", - "email.success": "Casi listo: revisa tu bandeja de entrada y confirma tu correo", - - "notFound.title": "No encontrado | opencode", - "notFound.heading": "404 - Pagina no encontrada", - "notFound.home": "Inicio", - "notFound.docs": "Documentacion", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "Cerrar sesion", - - "workspace.select": "Seleccionar workspace", - "workspace.createNew": "+ Crear nuevo workspace", - "workspace.modal.title": "Crear nuevo workspace", - "workspace.modal.placeholder": "Introduce el nombre del workspace", - - "common.cancel": "Cancelar", - "common.creating": "Creando...", - "common.create": "Crear", - - "common.videoUnsupported": "Tu navegador no admite la etiqueta de video.", - "common.figure": "Fig {{n}}.", - "common.faq": "FAQ", - "common.learnMore": "Mas informacion", - - "home.title": "OpenCode | El agente de codificacion con IA de codigo abierto", - - "home.banner.badge": "Nuevo", - "home.banner.text": "App de escritorio disponible en beta", - "home.banner.platforms": "en macOS, Windows y Linux", - "home.banner.downloadNow": "Descargar ahora", - "home.banner.downloadBetaNow": "Descargar ahora la beta de escritorio", - - "home.hero.title": "El agente de codificacion con IA de codigo abierto", - "home.hero.subtitle.a": "Modelos gratis incluidos o conecta cualquier modelo de cualquier proveedor,", - "home.hero.subtitle.b": "incluyendo Claude, GPT, Gemini y mas.", - - "home.install.ariaLabel": "Opciones de instalacion", - - "home.what.title": "Que es OpenCode?", - "home.what.body": - "OpenCode es un agente de codigo abierto que te ayuda a escribir codigo en tu terminal, IDE o escritorio.", - "home.what.lsp.title": "LSP habilitado", - "home.what.lsp.body": "Carga automaticamente los LSP correctos para el LLM", - "home.what.multiSession.title": "Multi-sesion", - "home.what.multiSession.body": "Inicia multiples agentes en paralelo en el mismo proyecto", - "home.what.shareLinks.title": "Compartir enlaces", - "home.what.shareLinks.body": "Comparte un enlace a cualquier sesion para referencia o depuracion", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "Inicia sesion con GitHub para usar tu cuenta de Copilot", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": "Inicia sesion con OpenAI para usar tu cuenta de ChatGPT Plus o Pro", - "home.what.anyModel.title": "Cualquier modelo", - "home.what.anyModel.body": "75+ proveedores de LLM a traves de Models.dev, incluidos modelos locales", - "home.what.anyEditor.title": "Cualquier editor", - "home.what.anyEditor.body": "Disponible como interfaz de terminal, app de escritorio y extension de IDE", - "home.what.readDocs": "Leer docs", - - "home.growth.title": "El agente de codificacion con IA de codigo abierto", - "home.growth.body": - "Con mas de {{stars}} estrellas en GitHub, {{contributors}} colaboradores y mas de {{commits}} commits, OpenCode es usado y confiado por mas de {{monthlyUsers}} desarrolladores cada mes.", - "home.growth.githubStars": "Estrellas de GitHub", - "home.growth.contributors": "Colaboradores", - "home.growth.monthlyDevs": "Devs mensuales", - - "home.privacy.title": "Creado para la privacidad primero", - "home.privacy.body": - "OpenCode no almacena tu codigo ni datos de contexto, para poder operar en entornos sensibles a la privacidad.", - "home.privacy.learnMore": "Mas informacion sobre", - "home.privacy.link": "privacidad", - - "home.faq.q1": "Que es OpenCode?", - "home.faq.a1": - "OpenCode es un agente de codigo abierto que te ayuda a escribir y ejecutar codigo con cualquier modelo de IA. Esta disponible como interfaz de terminal, app de escritorio o extension de IDE.", - "home.faq.q2": "Como uso OpenCode?", - "home.faq.a2.before": "La forma mas facil de empezar es leer la", - "home.faq.a2.link": "introduccion", - "home.faq.q3": "Necesito suscripciones extra de IA para usar OpenCode?", - "home.faq.a3.p1": - "No necesariamente: OpenCode incluye un conjunto de modelos gratis que puedes usar sin crear una cuenta.", - "home.faq.a3.p2.beforeZen": "Ademas, puedes usar modelos populares para codigo creando una cuenta de", - "home.faq.a3.p2.afterZen": ".", - "home.faq.a3.p3": - "Aunque alentamos a los usuarios a usar Zen, OpenCode tambien funciona con los proveedores populares como OpenAI, Anthropic, xAI, etc.", - "home.faq.a3.p4.beforeLocal": "Incluso puedes conectar tus", - "home.faq.a3.p4.localLink": "modelos locales", - "home.faq.q4": "Puedo usar mis suscripciones de IA existentes con OpenCode?", - "home.faq.a4.p1": - "Si, OpenCode admite planes de suscripcion de los principales proveedores. Puedes usar Claude Pro/Max, ChatGPT Plus/Pro o GitHub Copilot.", - "home.faq.q5": "Solo puedo usar OpenCode en la terminal?", - "home.faq.a5.beforeDesktop": "Ya no! OpenCode ahora esta disponible como una app para", - "home.faq.a5.desktop": "escritorio", - "home.faq.a5.and": "y", - "home.faq.a5.web": "web", - "home.faq.q6": "Cuanto cuesta OpenCode?", - "home.faq.a6": - "OpenCode es 100% gratis. Tambien incluye modelos gratuitos. Puede haber costos adicionales si conectas otro proveedor.", - "home.faq.q7": "Y sobre datos y privacidad?", - "home.faq.a7.p1": - "Tus datos e informacion solo se almacenan cuando usas nuestros modelos gratis o creas enlaces compartibles.", - "home.faq.a7.p2.beforeModels": "Mas informacion sobre", - "home.faq.a7.p2.modelsLink": "nuestros modelos", - "home.faq.a7.p2.and": "y", - "home.faq.a7.p2.shareLink": "paginas para compartir", - "home.faq.q8": "OpenCode es de codigo abierto?", - "home.faq.a8.p1": "Si, OpenCode es totalmente open source. El codigo fuente es publico en", - "home.faq.a8.p2": "bajo la", - "home.faq.a8.mitLicense": "Licencia MIT", - "home.faq.a8.p3": - ", lo que significa que cualquiera puede usarlo, modificarlo o contribuir a su desarrollo. Cualquiera de la comunidad puede abrir issues, enviar pull requests y ampliar la funcionalidad.", - - "home.zenCta.title": "Accede a modelos confiables y optimizados para agentes de codigo", - "home.zenCta.body": - "Zen te da acceso a un conjunto seleccionado de modelos de IA que OpenCode ha probado y benchmarkeado especificamente para agentes de codigo. No necesitas preocuparte por el rendimiento y la calidad inconsistentes entre proveedores: usa modelos validados que funcionan.", - "home.zenCta.link": "Aprende sobre Zen", - - "download.title": "OpenCode | Descargar", - - "zen.title": "OpenCode Zen | Un conjunto seleccionado de modelos confiables y optimizados para agentes de codigo", - "zen.hero.title": "Accede a modelos confiables y optimizados para agentes de codigo", - "zen.hero.body": - "Zen te da acceso a un conjunto seleccionado de modelos de IA que OpenCode ha probado y benchmarkeado especificamente para agentes de codigo. No necesitas preocuparte por el rendimiento y la calidad inconsistentes entre proveedores: usa modelos validados que funcionan.", - - "zen.faq.q1": "Que es OpenCode Zen?", - "zen.faq.a1": - "Zen es un conjunto seleccionado de modelos de IA probados y benchmarkeados para agentes de codigo, creado por el equipo detras de OpenCode.", - "zen.faq.q2": "Que hace a Zen mas preciso?", - "zen.faq.a2": - "Zen solo ofrece modelos que han sido probados y benchmarkeados especificamente para agentes de codigo. No usarias un cuchillo de mantequilla para cortar un filete; no uses malos modelos para programar.", - "zen.faq.q3": "Zen es mas barato?", - "zen.faq.a3": - "Zen no tiene fines de lucro. Zen traslada los costos de los proveedores de modelos directamente a ti. Cuanto mas uso tenga Zen, mas puede OpenCode negociar mejores tarifas y trasladartelas.", - "zen.faq.q4": "Cuanto cuesta Zen?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "cobra por solicitud", - "zen.faq.a4.p1.afterPricing": "sin margenes, asi que pagas exactamente lo que cobra el proveedor del modelo.", - "zen.faq.a4.p2.beforeAccount": "Tu costo total depende del uso, y puedes establecer limites de gasto mensuales en tu", - "zen.faq.a4.p2.accountLink": "cuenta", - "zen.faq.a4.p3": - "Para cubrir costos, OpenCode solo agrega una pequena tarifa de procesamiento de pagos de $1.23 por cada recarga de saldo de $20.", - "zen.faq.q5": "Y sobre datos y privacidad?", - "zen.faq.a5.beforeExceptions": - "Todos los modelos de Zen estan alojados en EE. UU. Los proveedores siguen una politica de cero retencion y no usan tus datos para entrenar modelos, con las", - "zen.faq.a5.exceptionsLink": "siguientes excepciones", - "zen.faq.q6": "Puedo establecer limites de gasto?", - "zen.faq.a6": "Si, puedes establecer limites de gasto mensuales en tu cuenta.", - "zen.faq.q7": "Puedo cancelar?", - "zen.faq.a7": "Si, puedes desactivar la facturacion en cualquier momento y usar tu saldo restante.", - "zen.faq.q8": "Puedo usar Zen con otros agentes de codigo?", - "zen.faq.a8": - "Aunque Zen funciona muy bien con OpenCode, puedes usar Zen con cualquier agente. Sigue las instrucciones de configuracion en tu agente preferido.", - "zen.cta.start": "Comience con Zen", - "zen.pricing.title": "Agregue $20 de saldo de pago por uso", - "zen.pricing.fee": "(+$1.23 tarifa de procesamiento de tarjeta)", - "zen.pricing.body": "Úselo con cualquier agente. Establezca límites de gasto mensual. Cancela en cualquier momento.", - "zen.problem.title": "¿Qué problema está resolviendo Zen?", - "zen.problem.body": - "Hay muchos modelos disponibles, pero sólo unos pocos funcionan bien con agentes codificadores. La mayoría de los proveedores los configuran de manera diferente con resultados variables.", - "zen.problem.subtitle": "Estamos solucionando este problema para todos, no solo para los usuarios de OpenCode.", - "zen.problem.item1": "Probar modelos seleccionados y consultar a sus equipos.", - "zen.problem.item2": "Trabajar con proveedores para garantizar que se entreguen correctamente.", - "zen.problem.item3": "Comparación de todas las combinaciones de modelo y proveedor que recomendamos", - "zen.how.title": "Cómo funciona Zen", - "zen.how.body": "Si bien le sugerimos que utilice Zen con OpenCode, puede utilizar Zen con cualquier agente.", - "zen.how.step1.title": "Regístrese y agregue un saldo de $20", - "zen.how.step1.beforeLink": "sigue el", - "zen.how.step1.link": "instrucciones de configuración", - "zen.how.step2.title": "Utilice Zen con precios transparentes", - "zen.how.step2.link": "pago por solicitud", - "zen.how.step2.afterLink": "con cero marcas", - "zen.how.step3.title": "Recarga automática", - "zen.how.step3.body": "cuando su saldo alcance $5, agregaremos automáticamente $20", - "zen.privacy.title": "Tu privacidad es importante para nosotros", - "zen.privacy.beforeExceptions": - "Todos los modelos Zen están alojados en EE. UU. Los proveedores siguen una política de retención cero y no utilizan sus datos para la capacitación de modelos, con la", - "zen.privacy.exceptionsLink": "siguientes excepciones", - "download.meta.description": "Descarga OpenCode para macOS, Windows y Linux", - "download.hero.title": "Descargar OpenCode", - "download.hero.subtitle": "Disponible en Beta para macOS, Windows y Linux", - "download.hero.button": "Descargar para {{os}}", - "download.section.terminal": "OpenCode Terminal", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "Extensiones de OpenCode", - "download.section.integrations": "Integraciones de OpenCode", - "download.action.download": "Descargar", - "download.action.install": "Instalar", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - - "download.faq.a3.beforeLocal": - "No necesariamente, pero probablemente. Necesitaras una suscripcion de IA si quieres conectar OpenCode a un proveedor de pago, aunque puedes trabajar con", - "download.faq.a3.localLink": "modelos locales", - "download.faq.a3.afterLocal.beforeZen": "gratis. Aunque animamos a los usuarios a usar", - "download.faq.a3.afterZen": - ", OpenCode funciona con todos los proveedores populares como OpenAI, Anthropic, xAI, etc.", - - "download.faq.a5.p1": "OpenCode es 100% gratis.", - "download.faq.a5.p2.beforeZen": - "Cualquier costo adicional vendra de tu suscripcion a un proveedor de modelos. Aunque OpenCode funciona con cualquier proveedor de modelos, recomendamos usar", - "download.faq.a5.p2.afterZen": ".", - - "download.faq.a6.p1": "Tus datos e informacion solo se almacenan cuando creas enlaces compartibles en OpenCode.", - "download.faq.a6.p2.beforeShare": "Mas informacion sobre", - "download.faq.a6.shareLink": "paginas para compartir", - - "enterprise.title": "OpenCode | Soluciones empresariales para tu organizacion", - "enterprise.meta.description": "Contacta a OpenCode para soluciones empresariales", - "enterprise.hero.title": "Tu codigo es tuyo", - "enterprise.hero.body1": - "OpenCode opera de forma segura dentro de tu organizacion sin almacenar datos ni contexto, y sin restricciones de licencia ni reclamaciones de propiedad. Inicia una prueba con tu equipo y luego despliegalo en toda tu organizacion integrandolo con tu SSO y tu gateway interno de IA.", - "enterprise.hero.body2": "Cuentanos como podemos ayudar.", - "enterprise.form.name.label": "Nombre completo", - "enterprise.form.name.placeholder": "Jeff Bezos", - "enterprise.form.role.label": "Cargo", - "enterprise.form.role.placeholder": "Presidente ejecutivo", - "enterprise.form.email.label": "Correo de la empresa", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "Que problema intentas resolver?", - "enterprise.form.message.placeholder": "Necesitamos ayuda con...", - "enterprise.form.send": "Enviar", - "enterprise.form.sending": "Enviando...", - "enterprise.form.success": "Mensaje enviado, nos pondremos en contacto pronto.", - "enterprise.faq.title": "FAQ", - "enterprise.faq.q1": "Que es OpenCode Enterprise?", - "enterprise.faq.a1": - "OpenCode Enterprise es para organizaciones que quieren asegurarse de que su codigo y datos nunca salgan de su infraestructura. Puede lograrlo mediante una configuracion centralizada que se integra con tu SSO y tu gateway interno de IA/LLM.", - "enterprise.faq.q2": "Como empiezo con OpenCode Enterprise?", - "enterprise.faq.a2": - "Empieza con una prueba interna con tu equipo. OpenCode por defecto no almacena tu codigo ni datos de contexto, lo que facilita comenzar. Despues, contactanos para hablar sobre precios y opciones de implementacion.", - "enterprise.faq.q3": "Como funciona el precio para empresas?", - "enterprise.faq.a3": - "Ofrecemos precios enterprise por asiento. Si tienes tu propio gateway de LLM, no cobramos por los tokens usados. Para mas detalles, contactanos para una cotizacion personalizada segun las necesidades de tu organizacion.", - "enterprise.faq.q4": "Mis datos estan seguros con OpenCode Enterprise?", - "enterprise.faq.a4": - "Si. OpenCode no almacena tu codigo ni datos de contexto. Todo el procesamiento ocurre localmente o mediante llamadas directas a la API de tu proveedor de IA. Con configuracion centralizada e integracion SSO, tus datos permanecen seguros dentro de la infraestructura de tu organizacion.", - - "brand.title": "OpenCode | Marca", - "brand.meta.description": "Guia de marca de OpenCode", - "brand.heading": "Guia de marca", - "brand.subtitle": "Recursos y materiales para ayudarte a trabajar con la marca OpenCode.", - "brand.downloadAll": "Descargar todos los recursos", - "changelog.title": "OpenCode | Registro de cambios", - "changelog.meta.description": "Notas de version y registro de cambios de OpenCode", - "changelog.hero.title": "Registro de cambios", - "changelog.hero.subtitle": "Nuevas actualizaciones y mejoras de OpenCode", - "changelog.empty": "No se encontraron entradas en el registro de cambios.", - "changelog.viewJson": "Ver JSON", - "workspace.nav.zen": "zen", - "workspace.nav.apiKeys": "API claves", - "workspace.nav.members": "Miembros", - "workspace.nav.billing": "Facturación", - "workspace.nav.settings": "Ajustes", - "workspace.home.banner.beforeLink": "Modelos optimizados confiables para agentes de codificación.", - "workspace.home.billing.loading": "Cargando...", - "workspace.home.billing.enable": "Habilitar facturación", - "workspace.home.billing.currentBalance": "Saldo actual", - "workspace.newUser.feature.tested.title": "Modelos probados y verificados", - "workspace.newUser.feature.tested.body": - "Hemos evaluado y probado modelos específicamente para agentes de codificación para garantizar el mejor rendimiento.", - "workspace.newUser.feature.quality.title": "La más alta calidad", - "workspace.newUser.feature.quality.body": - "Acceda a modelos configurados para un rendimiento óptimo, sin degradaciones ni enrutamiento a proveedores más baratos.", - "workspace.newUser.feature.lockin.title": "Sin bloqueo", - "workspace.newUser.feature.lockin.body": - "Utilice Zen con cualquier agente de codificación y continúe utilizando otros proveedores con opencode cuando lo desee.", - "workspace.newUser.copyApiKey": "Copiar la clave API", - "workspace.newUser.copyKey": "Copiar clave", - "workspace.newUser.copied": "¡Copiado!", - "workspace.newUser.step.enableBilling": "Habilitar facturación", - "workspace.newUser.step.login.before": "Correr", - "workspace.newUser.step.login.after": "y seleccione opencode", - "workspace.newUser.step.pasteKey": "Pega tu clave API", - "workspace.newUser.step.models.before": "Inicie opencode y ejecute", - "workspace.newUser.step.models.after": "para seleccionar un modelo", - "workspace.models.title": "Modelos", - "workspace.models.subtitle.beforeLink": - "Administre a qué modelos pueden acceder los miembros del espacio de trabajo.", - "workspace.models.table.model": "Modelo", - "workspace.models.table.enabled": "Activado", - "workspace.providers.title": "Trae tu propia llave", - "workspace.providers.subtitle": "Configure sus propias claves API de proveedores de IA.", - "workspace.providers.placeholder": "Ingrese la clave {{provider}} API ({{prefix}}...)", - "workspace.providers.configure": "Configurar", - "workspace.providers.edit": "Editar", - "workspace.providers.delete": "Borrar", - "workspace.providers.saving": "Ahorro...", - "workspace.providers.save": "Ahorrar", - "workspace.providers.table.provider": "Proveedor", - "workspace.providers.table.apiKey": "Clave API", - "workspace.usage.title": "Historial de uso", - "workspace.usage.subtitle": "Uso y costos recientes de API.", - "workspace.usage.empty": "Realice su primera llamada API para comenzar.", - "workspace.usage.table.date": "Fecha", - "workspace.usage.table.model": "Modelo", - "workspace.usage.table.input": "Aporte", - "workspace.usage.table.output": "Producción", - "workspace.usage.table.cost": "Costo", - "workspace.usage.breakdown.input": "Aporte", - "workspace.usage.breakdown.cacheRead": "Lectura de caché", - "workspace.usage.breakdown.cacheWrite": "Escritura en caché", - "workspace.usage.breakdown.output": "Producción", - "workspace.usage.breakdown.reasoning": "Razonamiento", - "workspace.usage.subscription": "suscripción (${{amount}})", - "workspace.cost.title": "Costo", - "workspace.cost.subtitle": "Costes de uso desglosados ​​por modelo.", - "workspace.cost.allModels": "Todos los modelos", - "workspace.cost.allKeys": "Todas las claves", - "workspace.cost.deletedSuffix": "(eliminado)", - "workspace.cost.empty": "No hay datos de uso disponibles para el período seleccionado.", - "workspace.cost.subscriptionShort": "sub", - "workspace.keys.title": "API claves", - "workspace.keys.subtitle": "Administre sus claves API para acceder a los servicios opencode.", - "workspace.keys.create": "Crear clave API", - "workspace.keys.placeholder": "Introduzca el nombre de la clave", - "workspace.keys.empty": "Cree una clave opencode de puerta de enlace API", - "workspace.keys.table.name": "Nombre", - "workspace.keys.table.key": "Llave", - "workspace.keys.table.createdBy": "Creado por", - "workspace.keys.table.lastUsed": "Usado por última vez", - "workspace.keys.copyApiKey": "Copiar la clave API", - "workspace.keys.delete": "Borrar", - "workspace.members.title": "Miembros", - "workspace.members.subtitle": "Administre los miembros del espacio de trabajo y sus permisos.", - "workspace.members.invite": "Invitar miembro", - "workspace.members.inviting": "Atractivo...", - "workspace.members.beta.beforeLink": - "Los espacios de trabajo son gratuitos para los equipos durante la versión beta.", - "workspace.members.form.invitee": "invitado", - "workspace.members.form.emailPlaceholder": "Ingrese el correo electrónico", - "workspace.members.form.role": "Role", - "workspace.members.form.monthlyLimit": "Límite de gasto mensual", - "workspace.members.noLimit": "Sin límite", - "workspace.members.noLimitLowercase": "sin limite", - "workspace.members.invited": "invitado", - "workspace.members.edit": "Editar", - "workspace.members.delete": "Borrar", - "workspace.members.saving": "Ahorro...", - "workspace.members.save": "Ahorrar", - "workspace.members.table.email": "Correo electrónico", - "workspace.members.table.role": "Role", - "workspace.members.table.monthLimit": "Límite de meses", - "workspace.members.role.admin": "Administración", - "workspace.members.role.adminDescription": "Puede gestionar modelos, miembros y facturación.", - "workspace.members.role.member": "Miembro", - "workspace.members.role.memberDescription": "Solo pueden generar claves API para ellos mismos", - "workspace.settings.title": "Ajustes", - "workspace.settings.subtitle": "Actualice el nombre y las preferencias de su espacio de trabajo.", - "workspace.settings.workspaceName": "Nombre del espacio de trabajo", - "workspace.settings.defaultName": "Por defecto", - "workspace.settings.updating": "Actualizando...", - "workspace.settings.save": "Ahorrar", - "workspace.settings.edit": "Editar", - "workspace.billing.title": "Facturación", - "workspace.billing.subtitle.beforeLink": "Administrar métodos de pago.", - "workspace.billing.contactUs": "Contáctenos", - "workspace.billing.subtitle.afterLink": "si tienes alguna pregunta.", - "workspace.billing.currentBalance": "Saldo actual", - "workspace.billing.add": "Agregar $", - "workspace.billing.enterAmount": "Ingrese la cantidad", - "workspace.billing.loading": "Cargando...", - "workspace.billing.addAction": "Agregar", - "workspace.billing.addBalance": "Agregar saldo", - "workspace.billing.linkedToStripe": "Vinculado a Stripe", - "workspace.billing.manage": "Administrar", - "workspace.billing.enable": "Habilitar facturación", - "workspace.monthlyLimit.title": "Límite mensual", - "workspace.monthlyLimit.subtitle": "Establezca un límite de uso mensual para su cuenta.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "Configuración...", - "workspace.monthlyLimit.set": "Colocar", - "workspace.monthlyLimit.edit": "Editar límite", - "workspace.monthlyLimit.noLimit": "No se ha establecido ningún límite de uso.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "Uso actual para", - "workspace.monthlyLimit.currentUsage.beforeAmount": "es $", - "workspace.reload.title": "Recarga automática", - "workspace.reload.disabled.before": "La recarga automática es", - "workspace.reload.disabled.state": "desactivado", - "workspace.reload.disabled.after": "Habilite la recarga automática cuando el saldo sea bajo.", - "workspace.reload.enabled.before": "La recarga automática es", - "workspace.reload.enabled.state": "activado", - "workspace.reload.enabled.middle": "vamos a recargar", - "workspace.reload.processingFee": "tarifa de procesamiento", - "workspace.reload.enabled.after": "cuando el saldo llega", - "workspace.reload.edit": "Editar", - "workspace.reload.enable": "Permitir", - "workspace.reload.enableAutoReload": "Habilitar recarga automática", - "workspace.reload.reloadAmount": "Recargar $", - "workspace.reload.whenBalanceReaches": "Cuando el saldo llega a $", - "workspace.reload.saving": "Ahorro...", - "workspace.reload.save": "Ahorrar", - "workspace.reload.failedAt": "La recarga falló en", - "workspace.reload.reason": "Razón:", - "workspace.reload.updatePaymentMethod": "Actualice su método de pago e inténtelo nuevamente.", - "workspace.reload.retrying": "Reintentando...", - "workspace.reload.retry": "Rever", - "workspace.payments.title": "Historial de pagos", - "workspace.payments.subtitle": "Transacciones de pago recientes.", - "workspace.payments.table.date": "Fecha", - "workspace.payments.table.paymentId": "ID de pago", - "workspace.payments.table.amount": "Cantidad", - "workspace.payments.table.receipt": "Recibo", - "workspace.payments.type.credit": "crédito", - "workspace.payments.type.subscription": "suscripción", - "workspace.payments.view": "Vista", - "workspace.black.loading": "Cargando...", - "workspace.black.time.day": "día", - "workspace.black.time.days": "días", - "workspace.black.time.hour": "hora", - "workspace.black.time.hours": "horas", - "workspace.black.time.minute": "minuto", - "workspace.black.time.minutes": "minutos", - "workspace.black.time.fewSeconds": "unos segundos", - "workspace.black.subscription.title": "Suscripción", - "workspace.black.subscription.message": "Estás suscrito a OpenCode Black por ${{plan}} al mes.", - "workspace.black.subscription.manage": "Administrar suscripción", - "workspace.black.subscription.rollingUsage": "Uso de 5 horas", - "workspace.black.subscription.weeklyUsage": "Uso semanal", - "workspace.black.subscription.resetsIn": "Se reinicia en", - "workspace.black.subscription.useBalance": "Utilice su saldo disponible después de alcanzar los límites de uso", - "workspace.black.waitlist.title": "Lista de espera", - "workspace.black.waitlist.joined": "Estás en la lista de espera para el plan Black de ${{plan}} por mes OpenCode.", - "workspace.black.waitlist.ready": "Estamos listos para inscribirlo en el plan Black de ${{plan}} por mes OpenCode.", - "workspace.black.waitlist.leave": "Salir de la lista de espera", - "workspace.black.waitlist.leaving": "Partida...", - "workspace.black.waitlist.left": "Izquierda", - "workspace.black.waitlist.enroll": "Inscribirse", - "workspace.black.waitlist.enrolling": "Inscribiéndose...", - "workspace.black.waitlist.enrolled": "Inscrito", - "workspace.black.waitlist.enrollNote": - "Cuando hace clic en Inscribirse, su suscripción comienza inmediatamente y se cargará en su tarjeta.", -} satisfies Dict diff --git a/packages/console/app/src/i18n/fr.ts b/packages/console/app/src/i18n/fr.ts deleted file mode 100644 index 8a73ca994..000000000 --- a/packages/console/app/src/i18n/fr.ts +++ /dev/null @@ -1,478 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "Documentation", - "nav.changelog": "Changelog", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "Entreprise", - "nav.zen": "Zen", - "nav.login": "Se connecter", - "nav.free": "Gratuit", - "nav.home": "Accueil", - "nav.openMenu": "Ouvrir le menu", - "nav.getStartedFree": "Commencer gratuitement", - - "nav.context.copyLogo": "Copier le logo en SVG", - "nav.context.copyWordmark": "Copier le logotype en SVG", - "nav.context.brandAssets": "Ressources de marque", - - "footer.github": "GitHub", - "footer.docs": "Documentation", - "footer.changelog": "Changelog", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "Marque", - "legal.privacy": "Confidentialite", - "legal.terms": "Conditions", - - "email.title": "Soyez le premier a etre informe lorsque nous sortons de nouveaux produits", - "email.subtitle": "Inscrivez-vous a la liste d'attente pour un acces anticipe.", - "email.placeholder": "Adresse e-mail", - "email.subscribe": "S'abonner", - "email.success": "Presque termine - verifiez votre boite de reception et confirmez votre adresse e-mail", - - "notFound.title": "Introuvable | opencode", - "notFound.heading": "404 - Page introuvable", - "notFound.home": "Accueil", - "notFound.docs": "Documentation", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "Se deconnecter", - - "workspace.select": "Choisir un espace de travail", - "workspace.createNew": "+ Creer un nouvel espace", - "workspace.modal.title": "Creer un nouvel espace", - "workspace.modal.placeholder": "Saisir le nom de l'espace", - - "common.cancel": "Annuler", - "common.creating": "Creation...", - "common.create": "Creer", - - "common.videoUnsupported": "Votre navigateur ne prend pas en charge la balise video.", - "common.figure": "Fig {{n}}.", - "common.faq": "FAQ", - "common.learnMore": "En savoir plus", - - "home.title": "OpenCode | L'agent de code IA open source", - - "home.banner.badge": "Nouveau", - "home.banner.text": "Application desktop disponible en beta", - "home.banner.platforms": "sur macOS, Windows et Linux", - "home.banner.downloadNow": "Telecharger maintenant", - "home.banner.downloadBetaNow": "Telecharger la beta desktop maintenant", - - "home.hero.title": "L'agent de code IA open source", - "home.hero.subtitle.a": - "Modeles gratuits inclus ou connectez n'importe quel modele depuis n'importe quel fournisseur,", - "home.hero.subtitle.b": "dont Claude, GPT, Gemini et plus.", - - "home.install.ariaLabel": "Options d'installation", - - "home.what.title": "Qu'est-ce que OpenCode?", - "home.what.body": - "OpenCode est un agent open source qui vous aide a ecrire du code dans votre terminal, IDE ou desktop.", - "home.what.lsp.title": "LSP active", - "home.what.lsp.body": "Charge automatiquement les bons LSP pour le LLM", - "home.what.multiSession.title": "Multi-session", - "home.what.multiSession.body": "Lancez plusieurs agents en parallele sur le meme projet", - "home.what.shareLinks.title": "Liens de partage", - "home.what.shareLinks.body": "Partagez un lien vers n'importe quelle session pour reference ou debug", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "Connectez-vous avec GitHub pour utiliser votre compte Copilot", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": "Connectez-vous avec OpenAI pour utiliser votre compte ChatGPT Plus ou Pro", - "home.what.anyModel.title": "N'importe quel modele", - "home.what.anyModel.body": "75+ fournisseurs de LLM via Models.dev, y compris des modeles locaux", - "home.what.anyEditor.title": "N'importe quel editeur", - "home.what.anyEditor.body": "Disponible en interface terminal, application desktop et extension IDE", - "home.what.readDocs": "Lire la doc", - - "home.growth.title": "L'agent de code IA open source", - "home.growth.body": - "Avec plus de {{stars}} etoiles sur GitHub, {{contributors}} contributeurs et plus de {{commits}} commits, OpenCode est utilise et approuve par plus de {{monthlyUsers}} developpeurs chaque mois.", - "home.growth.githubStars": "Etoiles GitHub", - "home.growth.contributors": "Contributeurs", - "home.growth.monthlyDevs": "Devs mensuels", - - "home.privacy.title": "Concu pour la confidentialite", - "home.privacy.body": - "OpenCode ne stocke ni votre code ni vos donnees de contexte, afin de pouvoir fonctionner dans des environnements sensibles a la confidentialite.", - "home.privacy.learnMore": "En savoir plus sur", - "home.privacy.link": "la confidentialite", - - "home.faq.q1": "Qu'est-ce que OpenCode?", - "home.faq.a1": - "OpenCode est un agent open source qui vous aide a ecrire et executer du code avec n'importe quel modele d'IA. Il est disponible en interface terminal, application desktop ou extension IDE.", - "home.faq.q2": "Comment utiliser OpenCode?", - "home.faq.a2.before": "Le moyen le plus simple de commencer est de lire l'", - "home.faq.a2.link": "intro", - "home.faq.q3": "Ai-je besoin d'abonnements IA supplementaires pour utiliser OpenCode?", - "home.faq.a3.p1": - "Pas forcement: OpenCode propose des modeles gratuits que vous pouvez utiliser sans creer de compte.", - "home.faq.a3.p2.beforeZen": "En plus, vous pouvez utiliser des modeles populaires pour le code en creant un compte", - "home.faq.a3.p2.afterZen": ".", - "home.faq.a3.p3": - "Nous encourageons l'utilisation de Zen, mais OpenCode fonctionne aussi avec les fournisseurs populaires comme OpenAI, Anthropic, xAI, etc.", - "home.faq.a3.p4.beforeLocal": "Vous pouvez meme connecter vos", - "home.faq.a3.p4.localLink": "modeles locaux", - "home.faq.q4": "Puis-je utiliser mes abonnements IA existants avec OpenCode?", - "home.faq.a4.p1": - "Oui, OpenCode prend en charge les abonnements des principaux fournisseurs. Vous pouvez utiliser Claude Pro/Max, ChatGPT Plus/Pro ou GitHub Copilot.", - "home.faq.q5": "Puis-je utiliser OpenCode uniquement dans le terminal?", - "home.faq.a5.beforeDesktop": "Plus maintenant! OpenCode est desormais disponible en application pour", - "home.faq.a5.desktop": "desktop", - "home.faq.a5.and": "et", - "home.faq.a5.web": "web", - "home.faq.q6": "Combien coute OpenCode?", - "home.faq.a6": - "OpenCode est 100% gratuit. Il inclut aussi des modeles gratuits. Des couts supplementaires peuvent s'appliquer si vous connectez un autre fournisseur.", - "home.faq.q7": "Qu'en est-il des donnees et de la confidentialite?", - "home.faq.a7.p1": - "Vos donnees ne sont stockees que lorsque vous utilisez nos modeles gratuits ou creez des liens partageables.", - "home.faq.a7.p2.beforeModels": "En savoir plus sur", - "home.faq.a7.p2.modelsLink": "nos modeles", - "home.faq.a7.p2.and": "et", - "home.faq.a7.p2.shareLink": "les pages de partage", - "home.faq.q8": "OpenCode est-il open source?", - "home.faq.a8.p1": "Oui, OpenCode est entierement open source. Le code source est public sur", - "home.faq.a8.p2": "sous la", - "home.faq.a8.mitLicense": "Licence MIT", - "home.faq.a8.p3": - ", ce qui signifie que tout le monde peut l'utiliser, le modifier ou contribuer a son developpement. Toute personne de la communaute peut ouvrir des issues, soumettre des pull requests et etendre les fonctionnalites.", - - "home.zenCta.title": "Accedez a des modeles fiables et optimises pour les agents de code", - "home.zenCta.body": - "Zen vous donne acces a un ensemble selectionne de modeles d'IA que OpenCode a testes et benchmarkes specifiquement pour les agents de code. Plus besoin de vous soucier des variations de performance et de qualite selon les fournisseurs: utilisez des modeles valides qui fonctionnent.", - "home.zenCta.link": "En savoir plus sur Zen", - - "download.title": "OpenCode | Telechargement", - - "zen.title": "OpenCode Zen | Un ensemble selectionne de modeles fiables et optimises pour les agents de code", - "zen.hero.title": "Accedez a des modeles fiables et optimises pour les agents de code", - "zen.hero.body": - "Zen vous donne acces a un ensemble selectionne de modeles d'IA que OpenCode a testes et benchmarkes specifiquement pour les agents de code. Plus besoin de vous soucier des variations de performance et de qualite selon les fournisseurs: utilisez des modeles valides qui fonctionnent.", - - "zen.faq.q1": "Qu'est-ce que OpenCode Zen?", - "zen.faq.a1": - "Zen est un ensemble selectionne de modeles d'IA testes et benchmarkes pour les agents de code, cree par l'equipe derriere OpenCode.", - "zen.faq.q2": "Qu'est-ce qui rend Zen plus precis?", - "zen.faq.a2": - "Zen ne propose que des modeles testes et benchmarkes specifiquement pour les agents de code. Vous n'utiliseriez pas un couteau a beurre pour couper un steak; n'utilisez pas de mauvais modeles pour coder.", - "zen.faq.q3": "Zen est-il moins cher?", - "zen.faq.a3": - "Zen n'est pas a but lucratif. Zen vous facture au prix coutant des fournisseurs de modeles. Plus Zen est utilise, plus OpenCode peut negocier de meilleurs tarifs et vous les repercuter.", - "zen.faq.q4": "Combien coute Zen?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "facture par requete", - "zen.faq.a4.p1.afterPricing": "sans marge, vous payez donc exactement ce que facture le fournisseur du modele.", - "zen.faq.a4.p2.beforeAccount": - "Votre cout total depend de l'usage, et vous pouvez definir des limites de depense mensuelles dans votre", - "zen.faq.a4.p2.accountLink": "compte", - "zen.faq.a4.p3": - "Pour couvrir les frais, OpenCode ajoute uniquement de petits frais de traitement de paiement de $1.23 par recharge de $20.", - "zen.faq.q5": "Et pour les donnees et la confidentialite?", - "zen.faq.a5.beforeExceptions": - "Tous les modeles Zen sont heberges aux Etats-Unis. Les fournisseurs appliquent une politique de zero retention et n'utilisent pas vos donnees pour l'entrainement des modeles, avec les", - "zen.faq.a5.exceptionsLink": "exceptions suivantes", - "zen.faq.q6": "Puis-je definir des limites de depense?", - "zen.faq.a6": "Oui, vous pouvez definir des limites de depense mensuelles dans votre compte.", - "zen.faq.q7": "Puis-je annuler?", - "zen.faq.a7": "Oui, vous pouvez desactiver la facturation a tout moment et utiliser votre solde restant.", - "zen.faq.q8": "Puis-je utiliser Zen avec d'autres agents de code?", - "zen.faq.a8": - "Zen fonctionne tres bien avec OpenCode, mais vous pouvez utiliser Zen avec n'importe quel agent. Suivez les instructions de configuration dans votre agent prefere.", - "zen.cta.start": "Commencez avec Zen", - "zen.pricing.title": "Ajoutez 20 $ de solde Pay as you go", - "zen.pricing.fee": "(+1,23 $ de frais de traitement de carte)", - "zen.pricing.body": - "À utiliser avec n'importe quel agent. Fixez des limites de dépenses mensuelles. Annulez à tout moment.", - "zen.problem.title": "Quel problème Zen résout-il ?", - "zen.problem.body": - "Il existe de nombreux modèles disponibles, mais seuls quelques-uns fonctionnent bien avec les agents de codage. La plupart des fournisseurs les configurent différemment avec des résultats variables.", - "zen.problem.subtitle": - "Nous résolvons ce problème pour tout le monde, pas seulement pour les utilisateurs de OpenCode.", - "zen.problem.item1": "Tester les modèles sélectionnés et consulter leurs équipes", - "zen.problem.item2": "Travailler avec les fournisseurs pour garantir qu'ils sont livrés correctement", - "zen.problem.item3": "Analyse comparative de toutes les combinaisons modèle-fournisseur que nous recommandons", - "zen.how.title": "Comment fonctionne Zen", - "zen.how.body": - "Bien que nous vous suggérions d'utiliser Zen avec OpenCode, vous pouvez utiliser Zen avec n'importe quel agent.", - "zen.how.step1.title": "Inscrivez-vous et ajoutez un solde de 20 $", - "zen.how.step1.beforeLink": "suivre le", - "zen.how.step1.link": "instructions de configuration", - "zen.how.step2.title": "Utilisez Zen avec une tarification transparente", - "zen.how.step2.link": "payer par demande", - "zen.how.step2.afterLink": "avec zéro majoration", - "zen.how.step3.title": "Recharge automatique", - "zen.how.step3.body": "lorsque votre solde atteint 5 $, nous ajouterons automatiquement 20 $", - "zen.privacy.title": "Votre vie privée est importante pour nous", - "zen.privacy.beforeExceptions": - "Tous les modèles Zen sont hébergés aux États-Unis. Les fournisseurs suivent une politique de rétention zéro et n'utilisent pas vos données pour la formation de modèles, avec le", - "zen.privacy.exceptionsLink": "exceptions suivantes", - "download.meta.description": "Telechargez OpenCode pour macOS, Windows et Linux", - "download.hero.title": "Telecharger OpenCode", - "download.hero.subtitle": "Disponible en beta pour macOS, Windows et Linux", - "download.hero.button": "Telecharger pour {{os}}", - "download.section.terminal": "OpenCode Terminal", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "Extensions OpenCode", - "download.section.integrations": "Integrations OpenCode", - "download.action.download": "Telecharger", - "download.action.install": "Installer", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - - "download.faq.a3.beforeLocal": - "Pas forcement, mais probablement. Vous aurez besoin d'un abonnement IA si vous voulez connecter OpenCode a un fournisseur payant, mais vous pouvez travailler avec", - "download.faq.a3.localLink": "des modeles locaux", - "download.faq.a3.afterLocal.beforeZen": "gratuitement. Meme si nous encourageons les utilisateurs a utiliser", - "download.faq.a3.afterZen": - ", OpenCode fonctionne avec tous les fournisseurs populaires comme OpenAI, Anthropic, xAI, etc.", - - "download.faq.a5.p1": "OpenCode est 100% gratuit a utiliser.", - "download.faq.a5.p2.beforeZen": - "Les couts supplementaires viendront de votre abonnement a un fournisseur de modele. Meme si OpenCode fonctionne avec n'importe quel fournisseur, nous recommandons d'utiliser", - "download.faq.a5.p2.afterZen": ".", - - "download.faq.a6.p1": - "Vos donnees et informations ne sont stockees que lorsque vous creez des liens partageables dans OpenCode.", - "download.faq.a6.p2.beforeShare": "En savoir plus sur", - "download.faq.a6.shareLink": "les pages de partage", - - "enterprise.title": "OpenCode | Solutions entreprise pour votre organisation", - "enterprise.meta.description": "Contactez OpenCode pour des solutions entreprise", - "enterprise.hero.title": "Votre code vous appartient", - "enterprise.hero.body1": - "OpenCode fonctionne de maniere securisee au sein de votre organisation, sans stocker de donnees ni de contexte, et sans restrictions de licence ni revendications de propriete. Demarrez un essai avec votre equipe, puis deployeez-le dans votre organisation en l'integrant a votre SSO et a votre passerelle IA interne.", - "enterprise.hero.body2": "Dites-nous comment nous pouvons vous aider.", - "enterprise.form.name.label": "Nom complet", - "enterprise.form.name.placeholder": "Jeff Bezos", - "enterprise.form.role.label": "Poste", - "enterprise.form.role.placeholder": "President executif", - "enterprise.form.email.label": "E-mail professionnel", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "Quel probleme essayez-vous de resoudre?", - "enterprise.form.message.placeholder": "Nous avons besoin d'aide pour...", - "enterprise.form.send": "Envoyer", - "enterprise.form.sending": "Envoi...", - "enterprise.form.success": "Message envoye, nous vous contacterons bientot.", - "enterprise.faq.title": "FAQ", - "enterprise.faq.q1": "Qu'est-ce que OpenCode Enterprise?", - "enterprise.faq.a1": - "OpenCode Enterprise s'adresse aux organisations qui veulent s'assurer que leur code et leurs donnees ne quittent jamais leur infrastructure. Cela est possible grace a une configuration centralisee qui s'integre a votre SSO et a votre passerelle IA/LLM interne.", - "enterprise.faq.q2": "Comment demarrer avec OpenCode Enterprise?", - "enterprise.faq.a2": - "Commencez simplement par un essai interne avec votre equipe. Par defaut, OpenCode ne stocke pas votre code ni vos donnees de contexte, ce qui facilite la prise en main. Ensuite, contactez-nous pour discuter des tarifs et des options de mise en oeuvre.", - "enterprise.faq.q3": "Comment fonctionne la tarification entreprise?", - "enterprise.faq.a3": - "Nous proposons une tarification entreprise par siege. Si vous avez votre propre passerelle LLM, nous ne facturons pas les tokens utilises. Pour plus de details, contactez-nous pour un devis sur mesure en fonction des besoins de votre organisation.", - "enterprise.faq.q4": "Mes donnees sont-elles securisees avec OpenCode Enterprise?", - "enterprise.faq.a4": - "Oui. OpenCode ne stocke pas votre code ni vos donnees de contexte. Tout le traitement se fait localement ou via des appels API directs vers votre fournisseur d'IA. Avec une configuration centralisee et une integration SSO, vos donnees restent securisees au sein de votre infrastructure.", - - "brand.title": "OpenCode | Marque", - "brand.meta.description": "Guide de marque OpenCode", - "brand.heading": "Guide de marque", - "brand.subtitle": "Ressources et elements pour vous aider a utiliser la marque OpenCode.", - "brand.downloadAll": "Telecharger tous les assets", - "changelog.title": "OpenCode | Changelog", - "changelog.meta.description": "Notes de version et changelog d'OpenCode", - "changelog.hero.title": "Changelog", - "changelog.hero.subtitle": "Nouvelles mises a jour et ameliorations pour OpenCode", - "changelog.empty": "Aucune entree de changelog trouvee.", - "changelog.viewJson": "Voir le JSON", - "workspace.nav.zen": "Zen", - "workspace.nav.apiKeys": "Clés API", - "workspace.nav.members": "Membres", - "workspace.nav.billing": "Facturation", - "workspace.nav.settings": "Paramètres", - "workspace.home.banner.beforeLink": "Modèles optimisés fiables pour les agents de codage.", - "workspace.home.billing.loading": "Chargement...", - "workspace.home.billing.enable": "Activer la facturation", - "workspace.home.billing.currentBalance": "Solde courant", - "workspace.newUser.feature.tested.title": "Modèles testés et vérifiés", - "workspace.newUser.feature.tested.body": - "Nous avons comparé et testé des modèles spécifiquement pour les agents de codage afin de garantir les meilleures performances.", - "workspace.newUser.feature.quality.title": "La plus haute qualité", - "workspace.newUser.feature.quality.body": - "Modèles d'accès configurés pour des performances optimales - pas de rétrogradation ni de routage vers des fournisseurs moins chers.", - "workspace.newUser.feature.lockin.title": "Pas de verrouillage", - "workspace.newUser.feature.lockin.body": - "Utilisez Zen avec n'importe quel agent de codage et continuez à utiliser d'autres fournisseurs avec opencode quand vous le souhaitez.", - "workspace.newUser.copyApiKey": "Copier la clé API", - "workspace.newUser.copyKey": "Copier la clé", - "workspace.newUser.copied": "Copié!", - "workspace.newUser.step.enableBilling": "Activer la facturation", - "workspace.newUser.step.login.before": "Courir", - "workspace.newUser.step.login.after": "et sélectionnez opencode", - "workspace.newUser.step.pasteKey": "Collez votre clé API", - "workspace.newUser.step.models.before": "Démarrez opencode et exécutez", - "workspace.newUser.step.models.after": "pour sélectionner un modèle", - "workspace.models.title": "Modèles", - "workspace.models.subtitle.beforeLink": - "Gérez les modèles auxquels les membres de l’espace de travail peuvent accéder.", - "workspace.models.table.model": "Modèle", - "workspace.models.table.enabled": "Activé", - "workspace.providers.title": "Apportez votre propre clé", - "workspace.providers.subtitle": "Configurez vos propres clés API auprès des fournisseurs d'IA.", - "workspace.providers.placeholder": "Entrez la clé {{provider}} API ({{prefix}}...)", - "workspace.providers.configure": "Configurer", - "workspace.providers.edit": "Modifier", - "workspace.providers.delete": "Supprimer", - "workspace.providers.saving": "Économie...", - "workspace.providers.save": "Sauvegarder", - "workspace.providers.table.provider": "Fournisseur", - "workspace.providers.table.apiKey": "Clé API", - "workspace.usage.title": "Historique d'utilisation", - "workspace.usage.subtitle": "Utilisation et coûts récents de API.", - "workspace.usage.empty": "Passez votre premier appel API pour commencer.", - "workspace.usage.table.date": "Date", - "workspace.usage.table.model": "Modèle", - "workspace.usage.table.input": "Saisir", - "workspace.usage.table.output": "Sortir", - "workspace.usage.table.cost": "Coût", - "workspace.usage.breakdown.input": "Saisir", - "workspace.usage.breakdown.cacheRead": "Lecture du cache", - "workspace.usage.breakdown.cacheWrite": "Écriture du cache", - "workspace.usage.breakdown.output": "Sortir", - "workspace.usage.breakdown.reasoning": "Raisonnement", - "workspace.usage.subscription": "abonnement (${{amount}})", - "workspace.cost.title": "Coût", - "workspace.cost.subtitle": "Coûts d'utilisation répartis par modèle.", - "workspace.cost.allModels": "Tous les modèles", - "workspace.cost.allKeys": "Toutes les clés", - "workspace.cost.deletedSuffix": "(supprimé)", - "workspace.cost.empty": "Aucune donnée d'utilisation disponible pour la période sélectionnée.", - "workspace.cost.subscriptionShort": "sous", - "workspace.keys.title": "Clés API", - "workspace.keys.subtitle": "Gérez vos clés API pour accéder aux services opencode.", - "workspace.keys.create": "Créer une clé API", - "workspace.keys.placeholder": "Entrez le nom de la clé", - "workspace.keys.empty": "Créer une clé opencode Gateway API", - "workspace.keys.table.name": "Nom", - "workspace.keys.table.key": "Clé", - "workspace.keys.table.createdBy": "Créé par", - "workspace.keys.table.lastUsed": "Dernière utilisation", - "workspace.keys.copyApiKey": "Copier la clé API", - "workspace.keys.delete": "Supprimer", - "workspace.members.title": "Membres", - "workspace.members.subtitle": "Gérez les membres de l'espace de travail et leurs autorisations.", - "workspace.members.invite": "Inviter un membre", - "workspace.members.inviting": "Attrayant...", - "workspace.members.beta.beforeLink": "Les espaces de travail sont gratuits pour les équipes pendant la version bêta.", - "workspace.members.form.invitee": "Invité", - "workspace.members.form.emailPlaceholder": "Entrez l'e-mail", - "workspace.members.form.role": "Rôle", - "workspace.members.form.monthlyLimit": "Limite de dépenses mensuelle", - "workspace.members.noLimit": "Aucune limite", - "workspace.members.noLimitLowercase": "pas de limite", - "workspace.members.invited": "invité", - "workspace.members.edit": "Modifier", - "workspace.members.delete": "Supprimer", - "workspace.members.saving": "Économie...", - "workspace.members.save": "Sauvegarder", - "workspace.members.table.email": "E-mail", - "workspace.members.table.role": "Rôle", - "workspace.members.table.monthLimit": "Limite mensuelle", - "workspace.members.role.admin": "Administrateur", - "workspace.members.role.adminDescription": "Peut gérer les modèles, les membres et la facturation", - "workspace.members.role.member": "Membre", - "workspace.members.role.memberDescription": "Ne peut générer que des clés API pour lui-même", - "workspace.settings.title": "Paramètres", - "workspace.settings.subtitle": "Mettez à jour le nom et les préférences de votre espace de travail.", - "workspace.settings.workspaceName": "Nom de l'espace de travail", - "workspace.settings.defaultName": "Défaut", - "workspace.settings.updating": "Mise à jour...", - "workspace.settings.save": "Sauvegarder", - "workspace.settings.edit": "Modifier", - "workspace.billing.title": "Facturation", - "workspace.billing.subtitle.beforeLink": "Gérer les méthodes de paiement.", - "workspace.billing.contactUs": "Contactez-nous", - "workspace.billing.subtitle.afterLink": "si vous avez des questions.", - "workspace.billing.currentBalance": "Solde actuel", - "workspace.billing.add": "Ajouter $", - "workspace.billing.enterAmount": "Entrez le montant", - "workspace.billing.loading": "Chargement...", - "workspace.billing.addAction": "Ajouter", - "workspace.billing.addBalance": "Ajouter un solde", - "workspace.billing.linkedToStripe": "Lié à Stripe", - "workspace.billing.manage": "Gérer", - "workspace.billing.enable": "Activer la facturation", - "workspace.monthlyLimit.title": "Limite mensuelle", - "workspace.monthlyLimit.subtitle": "Définissez une limite d'utilisation mensuelle pour votre compte.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "Paramètre...", - "workspace.monthlyLimit.set": "Ensemble", - "workspace.monthlyLimit.edit": "Modifier la limite", - "workspace.monthlyLimit.noLimit": "Aucune limite d'utilisation définie.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "Utilisation actuelle pour", - "workspace.monthlyLimit.currentUsage.beforeAmount": "est $", - "workspace.reload.title": "Rechargement automatique", - "workspace.reload.disabled.before": "Le rechargement automatique est", - "workspace.reload.disabled.state": "désactivé", - "workspace.reload.disabled.after": "Activer le rechargement automatique lorsque le solde est faible.", - "workspace.reload.enabled.before": "Le rechargement automatique est", - "workspace.reload.enabled.state": "activé", - "workspace.reload.enabled.middle": "Nous rechargerons", - "workspace.reload.processingFee": "frais de traitement", - "workspace.reload.enabled.after": "quand l'équilibre atteint", - "workspace.reload.edit": "Modifier", - "workspace.reload.enable": "Activer", - "workspace.reload.enableAutoReload": "Activer le rechargement automatique", - "workspace.reload.reloadAmount": "Recharger $", - "workspace.reload.whenBalanceReaches": "Lorsque le solde atteint $", - "workspace.reload.saving": "Économie...", - "workspace.reload.save": "Sauvegarder", - "workspace.reload.failedAt": "Le rechargement a échoué à", - "workspace.reload.reason": "Raison:", - "workspace.reload.updatePaymentMethod": "Veuillez mettre à jour votre mode de paiement et réessayer.", - "workspace.reload.retrying": "Nouvelle tentative...", - "workspace.reload.retry": "Réessayer", - "workspace.payments.title": "Historique des paiements", - "workspace.payments.subtitle": "Opérations de paiement récentes.", - "workspace.payments.table.date": "Date", - "workspace.payments.table.paymentId": "Identifiant de paiement", - "workspace.payments.table.amount": "Montant", - "workspace.payments.table.receipt": "Reçu", - "workspace.payments.type.credit": "crédit", - "workspace.payments.type.subscription": "abonnement", - "workspace.payments.view": "Voir", - "workspace.black.loading": "Chargement...", - "workspace.black.time.day": "jour", - "workspace.black.time.days": "jours", - "workspace.black.time.hour": "heure", - "workspace.black.time.hours": "heures", - "workspace.black.time.minute": "minute", - "workspace.black.time.minutes": "minutes", - "workspace.black.time.fewSeconds": "quelques secondes", - "workspace.black.subscription.title": "Abonnement", - "workspace.black.subscription.message": "Vous êtes abonné à OpenCode Black pour {{plan}} $ par mois.", - "workspace.black.subscription.manage": "Gérer l'abonnement", - "workspace.black.subscription.rollingUsage": "Utilisation de 5 heures", - "workspace.black.subscription.weeklyUsage": "Utilisation hebdomadaire", - "workspace.black.subscription.resetsIn": "Réinitialise dans", - "workspace.black.subscription.useBalance": - "Utilisez votre solde disponible après avoir atteint les limites d'utilisation", - "workspace.black.waitlist.title": "Liste d'attente", - "workspace.black.waitlist.joined": - "Vous êtes sur la liste d'attente pour le forfait Black {{plan}} $ par mois OpenCode.", - "workspace.black.waitlist.ready": "Nous sommes prêts à vous inscrire au forfait Black {{plan}} $ par mois OpenCode.", - "workspace.black.waitlist.leave": "Quitter la liste d'attente", - "workspace.black.waitlist.leaving": "Sortie...", - "workspace.black.waitlist.left": "Gauche", - "workspace.black.waitlist.enroll": "Inscrire", - "workspace.black.waitlist.enrolling": "Inscription...", - "workspace.black.waitlist.enrolled": "Inscrit", - "workspace.black.waitlist.enrollNote": - "Lorsque vous cliquez sur S'inscrire, votre abonnement démarre immédiatement et votre carte sera débitée.", -} satisfies Dict diff --git a/packages/console/app/src/i18n/index.ts b/packages/console/app/src/i18n/index.ts deleted file mode 100644 index a49fbe375..000000000 --- a/packages/console/app/src/i18n/index.ts +++ /dev/null @@ -1,43 +0,0 @@ -import type { Locale } from "~/lib/language" -import { dict as en } from "~/i18n/en" -import { dict as zh } from "~/i18n/zh" -import { dict as zht } from "~/i18n/zht" -import { dict as ko } from "~/i18n/ko" -import { dict as de } from "~/i18n/de" -import { dict as es } from "~/i18n/es" -import { dict as fr } from "~/i18n/fr" -import { dict as it } from "~/i18n/it" -import { dict as da } from "~/i18n/da" -import { dict as ja } from "~/i18n/ja" -import { dict as pl } from "~/i18n/pl" -import { dict as ru } from "~/i18n/ru" -import { dict as ar } from "~/i18n/ar" -import { dict as no } from "~/i18n/no" -import { dict as br } from "~/i18n/br" -import { dict as th } from "~/i18n/th" -import { dict as tr } from "~/i18n/tr" - -export type Key = keyof typeof en -export type Dict = Record - -const base = en satisfies Dict - -export function i18n(locale: Locale): Dict { - if (locale === "en") return base - if (locale === "zh") return { ...base, ...zh } - if (locale === "zht") return { ...base, ...zht } - if (locale === "ko") return { ...base, ...ko } - if (locale === "de") return { ...base, ...de } - if (locale === "es") return { ...base, ...es } - if (locale === "fr") return { ...base, ...fr } - if (locale === "it") return { ...base, ...it } - if (locale === "da") return { ...base, ...da } - if (locale === "ja") return { ...base, ...ja } - if (locale === "pl") return { ...base, ...pl } - if (locale === "ru") return { ...base, ...ru } - if (locale === "ar") return { ...base, ...ar } - if (locale === "no") return { ...base, ...no } - if (locale === "br") return { ...base, ...br } - if (locale === "th") return { ...base, ...th } - return { ...base, ...tr } -} diff --git a/packages/console/app/src/i18n/it.ts b/packages/console/app/src/i18n/it.ts deleted file mode 100644 index daf9e5625..000000000 --- a/packages/console/app/src/i18n/it.ts +++ /dev/null @@ -1,468 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "Documentazione", - "nav.changelog": "Changelog", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "Enterprise", - "nav.zen": "Zen", - "nav.login": "Accedi", - "nav.free": "Gratis", - "nav.home": "Home", - "nav.openMenu": "Apri menu", - "nav.getStartedFree": "Inizia gratis", - - "nav.context.copyLogo": "Copia il logo come SVG", - "nav.context.copyWordmark": "Copia il wordmark come SVG", - "nav.context.brandAssets": "Asset del brand", - - "footer.github": "GitHub", - "footer.docs": "Documentazione", - "footer.changelog": "Changelog", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "Brand", - "legal.privacy": "Privacy", - "legal.terms": "Termini", - - "email.title": "Sii il primo a sapere quando rilasciamo nuovi prodotti", - "email.subtitle": "Iscriviti alla waitlist per l'accesso anticipato.", - "email.placeholder": "Indirizzo email", - "email.subscribe": "Iscriviti", - "email.success": "Quasi fatto: controlla la posta in arrivo e conferma il tuo indirizzo email", - - "notFound.title": "Non trovato | opencode", - "notFound.heading": "404 - Pagina non trovata", - "notFound.home": "Home", - "notFound.docs": "Documentazione", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "Esci", - - "workspace.select": "Seleziona workspace", - "workspace.createNew": "+ Crea nuovo workspace", - "workspace.modal.title": "Crea nuovo workspace", - "workspace.modal.placeholder": "Inserisci il nome del workspace", - - "common.cancel": "Annulla", - "common.creating": "Creazione...", - "common.create": "Crea", - - "common.videoUnsupported": "Il tuo browser non supporta il tag video.", - "common.figure": "Fig {{n}}.", - "common.faq": "FAQ", - "common.learnMore": "Scopri di piu", - - "home.title": "OpenCode | L'agente di coding IA open source", - - "home.banner.badge": "Nuovo", - "home.banner.text": "App desktop disponibile in beta", - "home.banner.platforms": "su macOS, Windows e Linux", - "home.banner.downloadNow": "Scarica ora", - "home.banner.downloadBetaNow": "Scarica ora la beta desktop", - - "home.hero.title": "L'agente di coding IA open source", - "home.hero.subtitle.a": "Modelli gratuiti inclusi o collega qualsiasi modello da qualsiasi provider,", - "home.hero.subtitle.b": "inclusi Claude, GPT, Gemini e altri.", - - "home.install.ariaLabel": "Opzioni di installazione", - - "home.what.title": "Che cos'e OpenCode?", - "home.what.body": "OpenCode e un agente open source che ti aiuta a scrivere codice nel terminale, IDE o desktop.", - "home.what.lsp.title": "LSP abilitato", - "home.what.lsp.body": "Carica automaticamente gli LSP giusti per il LLM", - "home.what.multiSession.title": "Multi-session", - "home.what.multiSession.body": "Avvia piu agenti in parallelo sullo stesso progetto", - "home.what.shareLinks.title": "Link condivisi", - "home.what.shareLinks.body": "Condividi un link a qualsiasi sessione per riferimento o debug", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "Accedi con GitHub per usare il tuo account Copilot", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": "Accedi con OpenAI per usare il tuo account ChatGPT Plus o Pro", - "home.what.anyModel.title": "Qualsiasi modello", - "home.what.anyModel.body": "75+ provider LLM tramite Models.dev, inclusi modelli locali", - "home.what.anyEditor.title": "Qualsiasi editor", - "home.what.anyEditor.body": "Disponibile come interfaccia terminale, app desktop ed estensione IDE", - "home.what.readDocs": "Leggi la doc", - - "home.growth.title": "L'agente di coding IA open source", - "home.growth.body": - "Con oltre {{stars}} stelle su GitHub, {{contributors}} contributori e oltre {{commits}} commit, OpenCode e usato e apprezzato da oltre {{monthlyUsers}} sviluppatori ogni mese.", - "home.growth.githubStars": "Stelle GitHub", - "home.growth.contributors": "Contributori", - "home.growth.monthlyDevs": "Devs mensili", - - "home.privacy.title": "Progettato per la privacy", - "home.privacy.body": - "OpenCode non archivia il tuo codice ne i dati di contesto, cosi puo operare in ambienti sensibili alla privacy.", - "home.privacy.learnMore": "Scopri di piu su", - "home.privacy.link": "privacy", - - "home.faq.q1": "Che cos'e OpenCode?", - "home.faq.a1": - "OpenCode e un agente open source che ti aiuta a scrivere ed eseguire codice con qualsiasi modello di IA. E disponibile come interfaccia terminale, app desktop o estensione IDE.", - "home.faq.q2": "Come uso OpenCode?", - "home.faq.a2.before": "Il modo piu semplice per iniziare e leggere l'", - "home.faq.a2.link": "introduzione", - "home.faq.q3": "Mi servono abbonamenti IA extra per usare OpenCode?", - "home.faq.a3.p1": - "Non necessariamente: OpenCode include un set di modelli gratuiti che puoi usare senza creare un account.", - "home.faq.a3.p2.beforeZen": "Inoltre, puoi usare modelli popolari per il coding creando un account", - "home.faq.a3.p2.afterZen": ".", - "home.faq.a3.p3": - "Anche se incoraggiamo gli utenti a usare Zen, OpenCode funziona anche con i provider piu diffusi come OpenAI, Anthropic, xAI, ecc.", - "home.faq.a3.p4.beforeLocal": "Puoi anche collegare i tuoi", - "home.faq.a3.p4.localLink": "modelli locali", - "home.faq.q4": "Posso usare i miei abbonamenti IA esistenti con OpenCode?", - "home.faq.a4.p1": - "Si, OpenCode supporta gli abbonamenti dei principali provider. Puoi usare Claude Pro/Max, ChatGPT Plus/Pro o GitHub Copilot.", - "home.faq.q5": "Posso usare OpenCode solo nel terminale?", - "home.faq.a5.beforeDesktop": "Non piu! OpenCode ora e disponibile come app per", - "home.faq.a5.desktop": "desktop", - "home.faq.a5.and": "e", - "home.faq.a5.web": "web", - "home.faq.q6": "Quanto costa OpenCode?", - "home.faq.a6": - "OpenCode e gratuito al 100%. Include anche un set di modelli gratuiti. Potrebbero esserci costi aggiuntivi se colleghi altri provider.", - "home.faq.q7": "E per quanto riguarda dati e privacy?", - "home.faq.a7.p1": - "I tuoi dati vengono archiviati solo quando usi i nostri modelli gratuiti o crei link condivisibili.", - "home.faq.a7.p2.beforeModels": "Scopri di piu su", - "home.faq.a7.p2.modelsLink": "i nostri modelli", - "home.faq.a7.p2.and": "e", - "home.faq.a7.p2.shareLink": "le pagine di condivisione", - "home.faq.q8": "OpenCode e open source?", - "home.faq.a8.p1": "Si, OpenCode e completamente open source. Il codice sorgente e pubblico su", - "home.faq.a8.p2": "sotto la", - "home.faq.a8.mitLicense": "Licenza MIT", - "home.faq.a8.p3": - ", il che significa che chiunque puo usarlo, modificarlo o contribuire al suo sviluppo. Chiunque nella comunita puo aprire issue, inviare pull request ed estendere le funzionalita.", - - "home.zenCta.title": "Accedi a modelli affidabili e ottimizzati per agenti di coding", - "home.zenCta.body": - "Zen ti da accesso a una selezione di modelli di IA che OpenCode ha testato e benchmarkato specificamente per agenti di coding. Niente piu preoccupazioni per prestazioni e qualita incoerenti tra provider: usa modelli validati che funzionano.", - "home.zenCta.link": "Scopri Zen", - - "download.title": "OpenCode | Download", - - "zen.title": "OpenCode Zen | Una selezione curata di modelli affidabili e ottimizzati per agenti di coding", - "zen.hero.title": "Accedi a modelli affidabili e ottimizzati per agenti di coding", - "zen.hero.body": - "Zen ti da accesso a una selezione di modelli di IA che OpenCode ha testato e benchmarkato specificamente per agenti di coding. Niente piu preoccupazioni per prestazioni e qualita incoerenti tra provider: usa modelli validati che funzionano.", - - "zen.faq.q1": "Cos'e OpenCode Zen?", - "zen.faq.a1": - "Zen e un set curato di modelli di IA testati e benchmarkati per agenti di coding, creato dal team dietro OpenCode.", - "zen.faq.q2": "Cosa rende Zen piu accurato?", - "zen.faq.a2": - "Zen offre solo modelli testati e benchmarkati specificamente per agenti di coding. Non useresti un coltello da burro per tagliare una bistecca; non usare modelli scarsi per programmare.", - "zen.faq.q3": "Zen e piu economico?", - "zen.faq.a3": - "Zen non e a scopo di lucro. Zen ribalta i costi dei provider di modelli direttamente su di te. Piu Zen viene usato, piu OpenCode puo negoziare tariffe migliori e passarle a te.", - "zen.faq.q4": "Quanto costa Zen?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "addebita per richiesta", - "zen.faq.a4.p1.afterPricing": "senza ricarichi, quindi paghi esattamente cio che addebita il provider del modello.", - "zen.faq.a4.p2.beforeAccount": "Il costo totale dipende dall'uso e puoi impostare limiti di spesa mensili nel tuo", - "zen.faq.a4.p2.accountLink": "account", - "zen.faq.a4.p3": - "Per coprire i costi, OpenCode aggiunge solo una piccola commissione di elaborazione del pagamento di $1.23 per ogni ricarica di saldo da $20.", - "zen.faq.q5": "E per quanto riguarda dati e privacy?", - "zen.faq.a5.beforeExceptions": - "Tutti i modelli Zen sono ospitati negli Stati Uniti. I provider seguono una policy di zero-retention e non usano i tuoi dati per l'addestramento dei modelli, con le", - "zen.faq.a5.exceptionsLink": "seguenti eccezioni", - "zen.faq.q6": "Posso impostare limiti di spesa?", - "zen.faq.a6": "Si, puoi impostare limiti di spesa mensuali nel tuo account.", - "zen.faq.q7": "Posso annullare?", - "zen.faq.a7": "Si, puoi disattivare la fatturazione in qualsiasi momento e usare il saldo rimanente.", - "zen.faq.q8": "Posso usare Zen con altri agenti di coding?", - "zen.faq.a8": - "Anche se Zen funziona alla grande con OpenCode, puoi usare Zen con qualsiasi agente. Segui le istruzioni di configurazione nel tuo agente di coding preferito.", - "zen.cta.start": "Inizia con Zen", - "zen.pricing.title": "Aggiungi $ 20 di saldo a consumo", - "zen.pricing.fee": "(+$ 1,23 commissione di elaborazione della carta)", - "zen.pricing.body": "Utilizzare con qualsiasi agente. Imposta limiti di spesa mensili. Annulla in qualsiasi momento.", - "zen.problem.title": "Quale problema sta risolvendo Zen?", - "zen.problem.body": - "Sono disponibili numerosi modelli, ma solo pochi funzionano bene con gli agenti di codifica. La maggior parte dei provider li configura in modo diverso con risultati diversi.", - "zen.problem.subtitle": "Stiamo risolvendo questo problema per tutti, non solo per gli utenti OpenCode.", - "zen.problem.item1": "Testare modelli selezionati e consultare i loro team", - "zen.problem.item2": "Collaborare con i fornitori per garantire che vengano consegnati correttamente", - "zen.problem.item3": "Eseguiamo il benchmarking di tutte le combinazioni di fornitori di modelli che consigliamo", - "zen.how.title": "Come funziona Zen", - "zen.how.body": "Anche se ti consigliamo di utilizzare Zen con OpenCode, puoi utilizzare Zen con qualsiasi agente.", - "zen.how.step1.title": "Iscriviti e aggiungi un saldo di $ 20", - "zen.how.step1.beforeLink": "seguire il", - "zen.how.step1.link": "istruzioni di configurazione", - "zen.how.step2.title": "Utilizza Zen con prezzi trasparenti", - "zen.how.step2.link": "pagare per richiesta", - "zen.how.step2.afterLink": "con zero ricarichi", - "zen.how.step3.title": "Ricarica automatica", - "zen.how.step3.body": "quando il tuo saldo raggiunge $ 5, aggiungeremo automaticamente $ 20", - "zen.privacy.title": "La tua privacy è importante per noi", - "zen.privacy.beforeExceptions": - "Tutti i modelli Zen sono ospitati negli Stati Uniti. I fornitori seguono una politica di conservazione zero e non utilizzano i tuoi dati per l'addestramento del modello, con il", - "zen.privacy.exceptionsLink": "seguenti eccezioni", - "download.meta.description": "Scarica OpenCode per macOS, Windows e Linux", - "download.hero.title": "Scarica OpenCode", - "download.hero.subtitle": "Disponibile in beta per macOS, Windows e Linux", - "download.hero.button": "Scarica per {{os}}", - "download.section.terminal": "OpenCode Terminal", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "Estensioni OpenCode", - "download.section.integrations": "Integrazioni OpenCode", - "download.action.download": "Scarica", - "download.action.install": "Installa", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - - "download.faq.a3.beforeLocal": - "Non necessariamente, ma probabilmente. Ti serve un abbonamento IA se vuoi collegare OpenCode a un provider a pagamento, ma puoi lavorare con", - "download.faq.a3.localLink": "modelli locali", - "download.faq.a3.afterLocal.beforeZen": "gratis. Anche se incoraggiamo gli utenti a usare", - "download.faq.a3.afterZen": ", OpenCode funziona con tutti i provider popolari come OpenAI, Anthropic, xAI, ecc.", - - "download.faq.a5.p1": "OpenCode e gratuito al 100%.", - "download.faq.a5.p2.beforeZen": - "Eventuali costi aggiuntivi dipendono dal tuo abbonamento a un provider di modelli. Anche se OpenCode funziona con qualsiasi provider, consigliamo di usare", - "download.faq.a5.p2.afterZen": ".", - - "download.faq.a6.p1": - "I tuoi dati e le tue informazioni vengono archiviati solo quando crei link condivisibili in OpenCode.", - "download.faq.a6.p2.beforeShare": "Scopri di piu su", - "download.faq.a6.shareLink": "le pagine di condivisione", - - "enterprise.title": "OpenCode | Soluzioni enterprise per la tua organizzazione", - "enterprise.meta.description": "Contatta OpenCode per soluzioni enterprise", - "enterprise.hero.title": "Il tuo codice e tuo", - "enterprise.hero.body1": - "OpenCode opera in modo sicuro all'interno della tua organizzazione senza archiviare dati o contesto e senza restrizioni di licenza o rivendicazioni di proprieta. Avvia una prova con il tuo team, poi distribuiscilo in tutta l'organizzazione integrandolo con il tuo SSO e il tuo gateway IA interno.", - "enterprise.hero.body2": "Dicci come possiamo aiutarti.", - "enterprise.form.name.label": "Nome completo", - "enterprise.form.name.placeholder": "Jeff Bezos", - "enterprise.form.role.label": "Ruolo", - "enterprise.form.role.placeholder": "Presidente esecutivo", - "enterprise.form.email.label": "Email aziendale", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "Quale problema stai cercando di risolvere?", - "enterprise.form.message.placeholder": "Abbiamo bisogno di aiuto per...", - "enterprise.form.send": "Invia", - "enterprise.form.sending": "Invio...", - "enterprise.form.success": "Messaggio inviato, ti contatteremo a breve.", - "enterprise.faq.title": "FAQ", - "enterprise.faq.q1": "Cos'e OpenCode Enterprise?", - "enterprise.faq.a1": - "OpenCode Enterprise e pensato per le organizzazioni che vogliono assicurarsi che il loro codice e i loro dati non lascino mai la propria infrastruttura. Lo fa tramite una configurazione centralizzata che si integra con il tuo SSO e il tuo gateway IA interno.", - "enterprise.faq.q2": "Come posso iniziare con OpenCode Enterprise?", - "enterprise.faq.a2": - "Inizia semplicemente con una prova interna con il tuo team. OpenCode, per impostazione predefinita, non archivia il tuo codice ne i dati di contesto, rendendo facile partire. Poi contattaci per discutere prezzi e opzioni di implementazione.", - "enterprise.faq.q3": "Come funziona la tariffazione enterprise?", - "enterprise.faq.a3": - "Offriamo una tariffazione enterprise per postazione. Se hai il tuo gateway LLM, non addebitiamo i token utilizzati. Per ulteriori dettagli, contattaci per un preventivo personalizzato in base alle esigenze della tua organizzazione.", - "enterprise.faq.q4": "I miei dati sono al sicuro con OpenCode Enterprise?", - "enterprise.faq.a4": - "Si. OpenCode non archivia il tuo codice ne i dati di contesto. Tutta l'elaborazione avviene localmente o tramite chiamate API dirette al tuo provider di IA. Con configurazione centralizzata e integrazione SSO, i tuoi dati rimangono al sicuro all'interno dell'infrastruttura della tua organizzazione.", - - "brand.title": "OpenCode | Brand", - "brand.meta.description": "Linee guida del brand OpenCode", - "brand.heading": "Linee guida del brand", - "brand.subtitle": "Risorse e asset per aiutarti a lavorare con il brand OpenCode.", - "brand.downloadAll": "Scarica tutti gli asset", - "changelog.title": "OpenCode | Changelog", - "changelog.meta.description": "Note di rilascio e changelog di OpenCode", - "changelog.hero.title": "Changelog", - "changelog.hero.subtitle": "Nuovi aggiornamenti e miglioramenti per OpenCode", - "changelog.empty": "Nessuna voce di changelog trovata.", - "changelog.viewJson": "Visualizza JSON", - "workspace.nav.zen": "Zen", - "workspace.nav.apiKeys": "Chiavi API", - "workspace.nav.members": "Membri", - "workspace.nav.billing": "Fatturazione", - "workspace.nav.settings": "Impostazioni", - "workspace.home.banner.beforeLink": "Modelli ottimizzati affidabili per agenti di codifica.", - "workspace.home.billing.loading": "Caricamento...", - "workspace.home.billing.enable": "Abilita fatturazione", - "workspace.home.billing.currentBalance": "Saldo attuale", - "workspace.newUser.feature.tested.title": "Modelli testati e verificati", - "workspace.newUser.feature.tested.body": - "Abbiamo confrontato e testato modelli specifici per gli agenti di codifica per garantire le migliori prestazioni.", - "workspace.newUser.feature.quality.title": "Massima qualità", - "workspace.newUser.feature.quality.body": - "Modelli di accesso configurati per prestazioni ottimali: senza downgrade o instradamento verso fornitori più economici.", - "workspace.newUser.feature.lockin.title": "Nessun lock-in", - "workspace.newUser.feature.lockin.body": - "Utilizza Zen con qualsiasi agente di codifica e continua a utilizzare altri provider con opencode ogni volta che vuoi.", - "workspace.newUser.copyApiKey": "Copia la chiave API", - "workspace.newUser.copyKey": "Copia chiave", - "workspace.newUser.copied": "Copiato!", - "workspace.newUser.step.enableBilling": "Abilita fatturazione", - "workspace.newUser.step.login.before": "Esegui", - "workspace.newUser.step.login.after": "e seleziona opencode", - "workspace.newUser.step.pasteKey": "Incolla la tua chiave API", - "workspace.newUser.step.models.before": "Avvia opencode ed esegui", - "workspace.newUser.step.models.after": "per selezionare un modello", - "workspace.models.title": "Modelli", - "workspace.models.subtitle.beforeLink": "Gestire i modelli a cui possono accedere i membri dell'area di lavoro.", - "workspace.models.table.model": "Modello", - "workspace.models.table.enabled": "Abilitato", - "workspace.providers.title": "Bring Your Own Key (BYOK)", - "workspace.providers.subtitle": "Configura le tue chiavi API dai fornitori di intelligenza artificiale.", - "workspace.providers.placeholder": "Inserisci la chiave {{provider}} API ({{prefix}}...)", - "workspace.providers.configure": "Configura", - "workspace.providers.edit": "Modificare", - "workspace.providers.delete": "Eliminare", - "workspace.providers.saving": "Salvataggio in corso...", - "workspace.providers.save": "Salva", - "workspace.providers.table.provider": "Fornitore", - "workspace.providers.table.apiKey": "Chiave API", - "workspace.usage.title": "Cronologia dell'utilizzo", - "workspace.usage.subtitle": "Utilizzo e costi recenti di API.", - "workspace.usage.empty": "Effettua la tua prima chiamata API per iniziare.", - "workspace.usage.table.date": "Data", - "workspace.usage.table.model": "Modello", - "workspace.usage.table.input": "Ingresso", - "workspace.usage.table.output": "Produzione", - "workspace.usage.table.cost": "Costo", - "workspace.usage.breakdown.input": "Ingresso", - "workspace.usage.breakdown.cacheRead": "Lettura cache", - "workspace.usage.breakdown.cacheWrite": "Scrittura nella cache", - "workspace.usage.breakdown.output": "Produzione", - "workspace.usage.breakdown.reasoning": "Ragionamento", - "workspace.usage.subscription": "abbonamento (${{amount}})", - "workspace.cost.title": "Costo", - "workspace.cost.subtitle": "Costi di utilizzo suddivisi per modello.", - "workspace.cost.allModels": "Tutti i modelli", - "workspace.cost.allKeys": "Tutte le chiavi", - "workspace.cost.deletedSuffix": "(eliminato)", - "workspace.cost.empty": "Nessun dato di utilizzo disponibile per il periodo selezionato.", - "workspace.cost.subscriptionShort": "sub", - "workspace.keys.title": "Chiavi API", - "workspace.keys.subtitle": "Gestisci le tue chiavi API per accedere ai servizi opencode.", - "workspace.keys.create": "Crea chiave API", - "workspace.keys.placeholder": "Inserisci il nome della chiave", - "workspace.keys.empty": "Crea una chiave opencode Gateway API", - "workspace.keys.table.name": "Nome", - "workspace.keys.table.key": "Chiave", - "workspace.keys.table.createdBy": "Creato da", - "workspace.keys.table.lastUsed": "Ultimo utilizzo", - "workspace.keys.copyApiKey": "Copia la chiave API", - "workspace.keys.delete": "Eliminare", - "workspace.members.title": "Membri", - "workspace.members.subtitle": "Gestire i membri dell'area di lavoro e le relative autorizzazioni.", - "workspace.members.invite": "Invita membro", - "workspace.members.inviting": "Invito in corso...", - "workspace.members.beta.beforeLink": "Gli spazi di lavoro sono gratuiti per i team durante la beta.", - "workspace.members.form.invitee": "Invitato", - "workspace.members.form.emailPlaceholder": "Inserisci l'e-mail", - "workspace.members.form.role": "Ruolo", - "workspace.members.form.monthlyLimit": "Limite di spesa mensile", - "workspace.members.noLimit": "Nessun limite", - "workspace.members.noLimitLowercase": "nessun limite", - "workspace.members.invited": "invitato", - "workspace.members.edit": "Modificare", - "workspace.members.delete": "Eliminare", - "workspace.members.saving": "Salvataggio in corso...", - "workspace.members.save": "Salva", - "workspace.members.table.email": "E-mail", - "workspace.members.table.role": "Ruolo", - "workspace.members.table.monthLimit": "Limite mensile", - "workspace.members.role.admin": "Admin", - "workspace.members.role.adminDescription": "Può gestire modelli, membri e fatturazione", - "workspace.members.role.member": "Membro", - "workspace.members.role.memberDescription": "Possono generare chiavi API solo per se stessi", - "workspace.settings.title": "Impostazioni", - "workspace.settings.subtitle": "Aggiorna il nome e le preferenze dell'area di lavoro.", - "workspace.settings.workspaceName": "Nome dell'area di lavoro", - "workspace.settings.defaultName": "Predefinito", - "workspace.settings.updating": "Aggiornamento...", - "workspace.settings.save": "Salva", - "workspace.settings.edit": "Modificare", - "workspace.billing.title": "Fatturazione", - "workspace.billing.subtitle.beforeLink": "Gestisci i metodi di pagamento.", - "workspace.billing.contactUs": "Contattaci", - "workspace.billing.subtitle.afterLink": "se hai qualche domanda", - "workspace.billing.currentBalance": "Saldo attuale", - "workspace.billing.add": "Aggiungi $", - "workspace.billing.enterAmount": "Inserisci l'importo", - "workspace.billing.loading": "Caricamento...", - "workspace.billing.addAction": "Aggiungi", - "workspace.billing.addBalance": "Aggiungi saldo", - "workspace.billing.linkedToStripe": "Collegato a Stripe", - "workspace.billing.manage": "Gestisci", - "workspace.billing.enable": "Abilita fatturazione", - "workspace.monthlyLimit.title": "Limite mensile", - "workspace.monthlyLimit.subtitle": "Imposta un limite di utilizzo mensile per il tuo account.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "Impostazione in corso...", - "workspace.monthlyLimit.set": "Impostato", - "workspace.monthlyLimit.edit": "Modifica limite", - "workspace.monthlyLimit.noLimit": "Nessun limite di utilizzo impostato.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "Utilizzo attuale per", - "workspace.monthlyLimit.currentUsage.beforeAmount": "è $", - "workspace.reload.title": "Ricarica automatica", - "workspace.reload.disabled.before": "La ricarica automatica è", - "workspace.reload.disabled.state": "disabilitato", - "workspace.reload.disabled.after": "Abilita la ricarica automatica quando il saldo è basso.", - "workspace.reload.enabled.before": "La ricarica automatica è", - "workspace.reload.enabled.state": "abilitato", - "workspace.reload.enabled.middle": "Ricaricheremo", - "workspace.reload.processingFee": "tassa di elaborazione", - "workspace.reload.enabled.after": "quando il saldo raggiunge", - "workspace.reload.edit": "Modificare", - "workspace.reload.enable": "Abilitare", - "workspace.reload.enableAutoReload": "Abilita ricarica automatica", - "workspace.reload.reloadAmount": "Ricarica $", - "workspace.reload.whenBalanceReaches": "Quando il saldo raggiunge $", - "workspace.reload.saving": "Salvataggio in corso...", - "workspace.reload.save": "Salva", - "workspace.reload.failedAt": "Ricarica non riuscita a", - "workspace.reload.reason": "Motivo:", - "workspace.reload.updatePaymentMethod": "Aggiorna il tuo metodo di pagamento e riprova.", - "workspace.reload.retrying": "Nuovo tentativo...", - "workspace.reload.retry": "Riprova", - "workspace.payments.title": "Cronologia dei pagamenti", - "workspace.payments.subtitle": "Transazioni di pagamento recenti.", - "workspace.payments.table.date": "Data", - "workspace.payments.table.paymentId": "ID pagamento", - "workspace.payments.table.amount": "Importo", - "workspace.payments.table.receipt": "Ricevuta", - "workspace.payments.type.credit": "credito", - "workspace.payments.type.subscription": "sottoscrizione", - "workspace.payments.view": "Visualizza", - "workspace.black.loading": "Caricamento...", - "workspace.black.time.day": "giorno", - "workspace.black.time.days": "giorni", - "workspace.black.time.hour": "ora", - "workspace.black.time.hours": "ore", - "workspace.black.time.minute": "minuto", - "workspace.black.time.minutes": "minuti", - "workspace.black.time.fewSeconds": "pochi secondi", - "workspace.black.subscription.title": "Sottoscrizione", - "workspace.black.subscription.message": "Sei abbonato a OpenCode Black per ${{plan}} al mese.", - "workspace.black.subscription.manage": "Gestisci abbonamento", - "workspace.black.subscription.rollingUsage": "Utilizzo di 5 ore", - "workspace.black.subscription.weeklyUsage": "Utilizzo settimanale", - "workspace.black.subscription.resetsIn": "Si reimposta tra", - "workspace.black.subscription.useBalance": "Utilizza il saldo disponibile dopo aver raggiunto i limiti di utilizzo", - "workspace.black.waitlist.title": "Lista d'attesa", - "workspace.black.waitlist.joined": "Sei in lista d'attesa per il piano OpenCode Black da ${{plan}} al mese.", - "workspace.black.waitlist.ready": "Siamo pronti per iscriverti al piano OpenCode Black da ${{plan}} al mese.", - "workspace.black.waitlist.leave": "Lascia la lista d'attesa", - "workspace.black.waitlist.leaving": "Uscita in corso...", - "workspace.black.waitlist.left": "Uscito dalla lista d'attesa", - "workspace.black.waitlist.enroll": "Iscriversi", - "workspace.black.waitlist.enrolling": "Iscrizione...", - "workspace.black.waitlist.enrolled": "Iscritto", - "workspace.black.waitlist.enrollNote": - "Quando fai clic su Iscriviti, l'abbonamento inizia immediatamente e l'importo verrà addebitato sulla tua carta.", -} satisfies Dict diff --git a/packages/console/app/src/i18n/ja.ts b/packages/console/app/src/i18n/ja.ts deleted file mode 100644 index b49ab24cb..000000000 --- a/packages/console/app/src/i18n/ja.ts +++ /dev/null @@ -1,507 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8", - "nav.changelog": "\u5909\u66f4\u5c65\u6b74", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba", - "nav.zen": "Zen", - "nav.login": "\u30ed\u30b0\u30a4\u30f3", - "nav.free": "\u7121\u6599", - "nav.home": "\u30db\u30fc\u30e0", - "nav.openMenu": "\u30e1\u30cb\u30e5\u30fc\u3092\u958b\u304f", - "nav.getStartedFree": "\u7121\u6599\u3067\u306f\u3058\u3081\u308b", - - "nav.context.copyLogo": "\u30ed\u30b4\u3092SVG\u3067\u30b3\u30d4\u30fc", - "nav.context.copyWordmark": "\u30ef\u30fc\u30c9\u30de\u30fc\u30af\u3092SVG\u3067\u30b3\u30d4\u30fc", - "nav.context.brandAssets": "\u30d6\u30e9\u30f3\u30c9\u7d20\u6750", - - "footer.github": "GitHub", - "footer.docs": "\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8", - "footer.changelog": "\u5909\u66f4\u5c65\u6b74", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "\u30d6\u30e9\u30f3\u30c9", - "legal.privacy": "\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc", - "legal.terms": "\u5229\u7528\u898f\u7d04", - - "email.title": - "\u65b0\u88fd\u54c1\u30ea\u30ea\u30fc\u30b9\u306e\u60c5\u5831\u3092\u3044\u3061\u65e9\u304f\u53d7\u3051\u53d6\u308b", - "email.subtitle": - "\u65e9\u671f\u30a2\u30af\u30bb\u30b9\u306e\u305f\u3081\u306b\u30a6\u30a7\u30a4\u30c8\u30ea\u30b9\u30c8\u306b\u767b\u9332\u3057\u3066\u304f\u3060\u3055\u3044\u3002", - "email.placeholder": "\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9", - "email.subscribe": "\u767b\u9332", - "email.success": - "\u307b\u307c\u5b8c\u4e86\u3067\u3059\u3002\u53d7\u4fe1\u30c8\u30ec\u30a4\u3092\u78ba\u8a8d\u3057\u3066\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044", - - "notFound.title": "\u898b\u3064\u304b\u308a\u307e\u305b\u3093 | opencode", - "notFound.heading": "404 - \u30da\u30fc\u30b8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093", - "notFound.home": "\u30db\u30fc\u30e0", - "notFound.docs": "\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "\u30ed\u30b0\u30a2\u30a6\u30c8", - - "workspace.select": "\u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u3092\u9078\u629e", - "workspace.createNew": "+ \u65b0\u3057\u3044\u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u3092\u4f5c\u6210", - "workspace.modal.title": "\u65b0\u3057\u3044\u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u3092\u4f5c\u6210", - "workspace.modal.placeholder": "\u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u540d\u3092\u5165\u529b", - - "common.cancel": "\u30ad\u30e3\u30f3\u30bb\u30eb", - "common.creating": "\u4f5c\u6210\u4e2d...", - "common.create": "\u4f5c\u6210", - - "common.videoUnsupported": - "\u304a\u4f7f\u3044\u306e\u30d6\u30e9\u30a6\u30b6\u306f video \u30bf\u30b0\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002", - "common.figure": "\u56f3{{n}}", - "common.faq": "FAQ", - "common.learnMore": "\u8a73\u3057\u304f\u898b\u308b", - - "home.title": - "OpenCode | \u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306eAI\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8", - - "home.banner.badge": "\u65b0\u7740", - "home.banner.text": - "\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u30a2\u30d7\u30ea\u304c\u30d9\u30fc\u30bf\u7248\u3067\u5229\u7528\u53ef\u80fd", - "home.banner.platforms": "macOS\u3001Windows\u3001Linux\u3067", - "home.banner.downloadNow": "\u4eca\u3059\u3050\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9", - "home.banner.downloadBetaNow": - "\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306e\u30d9\u30fc\u30bf\u7248\u3092\u4eca\u3059\u3050\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9", - - "home.hero.title": - "\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306eAI\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8", - "home.hero.subtitle.a": - "\u7121\u6599\u30e2\u30c7\u30eb\u4ed8\u304d\u3002\u4efb\u610f\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u306e\u4efb\u610f\u306e\u30e2\u30c7\u30eb\u306b\u63a5\u7d9a\u3067\u304d\u3001", - "home.hero.subtitle.b": "Claude\u3001GPT\u3001Gemini\u306a\u3069\u306b\u3082\u5bfe\u5fdc\u3057\u307e\u3059\u3002", - - "home.install.ariaLabel": "\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5", - - "home.what.title": "OpenCode\u3068\u306f\uff1f", - "home.what.body": - "OpenCode\u306f\u3001\u30bf\u30fc\u30df\u30ca\u30eb\u3001IDE\u3001\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u3067\u306e\u30b3\u30fc\u30c9\u4f5c\u6210\u3092\u652f\u63f4\u3059\u308b\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3067\u3059\u3002", - "home.what.lsp.title": "LSP\u5bfe\u5fdc", - "home.what.lsp.body": "LLM\u306b\u9069\u3057\u305fLSP\u3092\u81ea\u52d5\u3067\u8aad\u307f\u8fbc\u307f\u307e\u3059", - "home.what.multiSession.title": "\u30de\u30eb\u30c1\u30bb\u30c3\u30b7\u30e7\u30f3", - "home.what.multiSession.body": - "\u540c\u3058\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u8907\u6570\u306e\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u4e26\u884c\u5b9f\u884c\u3067\u304d\u307e\u3059", - "home.what.shareLinks.title": "\u5171\u6709\u30ea\u30f3\u30af", - "home.what.shareLinks.body": - "\u53c2\u7167\u3084\u30c7\u30d0\u30c3\u30b0\u306e\u305f\u3081\u306b\u3001\u4efb\u610f\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3078\u306e\u30ea\u30f3\u30af\u3092\u5171\u6709\u3067\u304d\u307e\u3059", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": - "GitHub\u3067\u30ed\u30b0\u30a4\u30f3\u3057\u3066Copilot\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u5229\u7528\u3067\u304d\u307e\u3059", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": - "OpenAI\u3067\u30ed\u30b0\u30a4\u30f3\u3057\u3066ChatGPT Plus/Pro\u3092\u5229\u7528\u3067\u304d\u307e\u3059", - "home.what.anyModel.title": "\u3042\u3089\u3086\u308b\u30e2\u30c7\u30eb", - "home.what.anyModel.body": - "Models.dev\u7d4c\u7531\u306775\u4ee5\u4e0a\u306eLLM\u30d7\u30ed\u30d0\u30a4\u30c0\u306b\u5bfe\u5fdc\uff08\u30ed\u30fc\u30ab\u30eb\u30e2\u30c7\u30eb\u542b\u3080\uff09", - "home.what.anyEditor.title": "\u3042\u3089\u3086\u308b\u30a8\u30c7\u30a3\u30bf", - "home.what.anyEditor.body": - "\u30bf\u30fc\u30df\u30ca\u30ebUI\u3001\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u30a2\u30d7\u30ea\u3001IDE\u62e1\u5f35\u3068\u3057\u3066\u5229\u7528\u3067\u304d\u307e\u3059", - "home.what.readDocs": "\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u8aad\u3080", - - "home.growth.title": - "\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306eAI\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8", - "home.growth.body": - "GitHub\u30b9\u30bf\u30fc{{stars}}\u4ee5\u4e0a\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc{{contributors}}\u4eba\u3001\u30b3\u30df\u30c3\u30c8{{commits}}\u4ef6\u4ee5\u4e0a\u3002\u6bce\u6708{{monthlyUsers}}\u4eba\u4ee5\u4e0a\u306e\u958b\u767a\u8005\u306b\u5229\u7528\u30fb\u4fe1\u983c\u3055\u308c\u3066\u3044\u307e\u3059\u3002", - "home.growth.githubStars": "GitHub\u30b9\u30bf\u30fc", - "home.growth.contributors": "\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc", - "home.growth.monthlyDevs": "\u6708\u9593\u958b\u767a\u8005\u6570", - - "home.privacy.title": "\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc\u3092\u6700\u512a\u5148\u306b\u8a2d\u8a08", - "home.privacy.body": - "OpenCode\u306f\u30b3\u30fc\u30c9\u3084\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30c7\u30fc\u30bf\u3092\u4e00\u5207\u4fdd\u5b58\u3057\u306a\u3044\u305f\u3081\u3001\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc\u304c\u91cd\u8996\u3055\u308c\u308b\u74b0\u5883\u3067\u3082\u5229\u7528\u3067\u304d\u307e\u3059\u3002", - "home.privacy.learnMore": "\u8a73\u3057\u304f\u306f", - "home.privacy.link": "\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc", - - "home.faq.q1": "OpenCode\u3068\u306f\uff1f", - "home.faq.a1": - "OpenCode\u306f\u3001\u4efb\u610f\u306eAI\u30e2\u30c7\u30eb\u3067\u30b3\u30fc\u30c9\u306e\u4f5c\u6210\u30fb\u5b9f\u884c\u3092\u652f\u63f4\u3059\u308b\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3067\u3059\u3002\u30bf\u30fc\u30df\u30ca\u30eb\u30d9\u30fc\u30b9\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3001\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u30a2\u30d7\u30ea\u3001IDE\u62e1\u5f35\u3068\u3057\u3066\u5229\u7528\u3067\u304d\u307e\u3059\u3002", - "home.faq.q2": "OpenCode\u306e\u4f7f\u3044\u65b9\u306f\uff1f", - "home.faq.a2.before": "\u6700\u3082\u7c21\u5358\u306a\u59cb\u3081\u65b9\u306f", - "home.faq.a2.link": "\u30a4\u30f3\u30c8\u30ed\u3092\u8aad\u3080", - "home.faq.q3": - "OpenCode\u306b\u306f\u8ffd\u52a0\u306eAI\u30b5\u30d6\u30b9\u30af\u304c\u5fc5\u8981\u3067\u3059\u304b\uff1f", - "home.faq.a3.p1": - "\u5fc5\u305a\u3057\u3082\u5fc5\u8981\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002OpenCode\u306b\u306f\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u4e0d\u8981\u3067\u4f7f\u3048\u308b\u7121\u6599\u30e2\u30c7\u30eb\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002", - "home.faq.a3.p2.beforeZen": "\u307e\u305f\u3001", - "home.faq.a3.p2.afterZen": - "\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u3067\u3001\u4eba\u6c17\u306e\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30e2\u30c7\u30eb\u3092\u5229\u7528\u3067\u304d\u307e\u3059\u3002", - "home.faq.a3.p3": - "Zen\u306e\u5229\u7528\u3092\u63a8\u5968\u3057\u3066\u3044\u307e\u3059\u304c\u3001OpenCode\u306fOpenAI\u3001Anthropic\u3001xAI\u306a\u3069\u306e\u4e3b\u8981\u30d7\u30ed\u30d0\u30a4\u30c0\u306b\u3082\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002", - "home.faq.a3.p4.beforeLocal": "\u3055\u3089\u306b\u3001", - "home.faq.a3.p4.localLink": "\u30ed\u30fc\u30ab\u30eb\u30e2\u30c7\u30eb", - "home.faq.q4": "\u65e2\u5b58\u306eAI\u30b5\u30d6\u30b9\u30af\u3092OpenCode\u3067\u4f7f\u3048\u307e\u3059\u304b\uff1f", - "home.faq.a4.p1": - "\u306f\u3044\u3002OpenCode\u306f\u4e3b\u8981\u30d7\u30ed\u30d0\u30a4\u30c0\u306e\u30b5\u30d6\u30b9\u30af\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002Claude Pro/Max\u3001ChatGPT Plus/Pro\u3001GitHub Copilot\u3092\u5229\u7528\u3067\u304d\u307e\u3059\u3002", - "home.faq.q5": "\u30bf\u30fc\u30df\u30ca\u30eb\u3060\u3051\u3067\u4f7f\u3048\u307e\u3059\u304b\uff1f", - "home.faq.a5.beforeDesktop": "\u3082\u3046\u9055\u3044\u307e\u3059! OpenCode\u306f\u4eca\u306f", - "home.faq.a5.desktop": "\u30c7\u30b9\u30af\u30c8\u30c3\u30d7", - "home.faq.a5.and": "\u3068", - "home.faq.a5.web": "\u30a6\u30a7\u30d6", - "home.faq.q6": "OpenCode\u306e\u4fa1\u683c\u306f\uff1f", - "home.faq.a6": - "OpenCode\u306f100%\u7121\u6599\u3067\u4f7f\u3048\u307e\u3059\u3002\u7121\u6599\u30e2\u30c7\u30eb\u3082\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002\u4ed6\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u306b\u63a5\u7d9a\u3059\u308b\u5834\u5408\u306f\u8ffd\u52a0\u8cbb\u7528\u304c\u767a\u751f\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002", - "home.faq.q7": "\u30c7\u30fc\u30bf\u3068\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc\u306f\uff1f", - "home.faq.a7.p1": - "\u7121\u6599\u30e2\u30c7\u30eb\u3092\u4f7f\u3046\u5834\u5408\u3084\u5171\u6709\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b\u5834\u5408\u306b\u306e\u307f\u3001\u30c7\u30fc\u30bf\u304c\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002", - "home.faq.a7.p2.beforeModels": "\u8a73\u3057\u304f\u306f", - "home.faq.a7.p2.modelsLink": "\u30e2\u30c7\u30eb\u306e\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc", - "home.faq.a7.p2.and": "\u3068", - "home.faq.a7.p2.shareLink": "\u5171\u6709\u30da\u30fc\u30b8\u306e\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc", - "home.faq.q8": "OpenCode\u306f\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u3067\u3059\u304b\uff1f", - "home.faq.a8.p1": - "\u306f\u3044\u3002OpenCode\u306f\u5b8c\u5168\u306b\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u3067\u3059\u3002\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306f", - "home.faq.a8.p2": "\u306e", - "home.faq.a8.mitLicense": "MIT\u30e9\u30a4\u30bb\u30f3\u30b9", - "home.faq.a8.p3": - "\u306e\u3082\u3068\u3067\u516c\u958b\u3055\u308c\u3066\u304a\u308a\u3001\u8ab0\u3067\u3082\u4f7f\u7528\u30fb\u5909\u66f4\u30fb\u958b\u767a\u3078\u306e\u53c2\u52a0\u304c\u3067\u304d\u307e\u3059\u3002\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306e\u8ab0\u3067\u3082issue\u3092\u8d77\u3053\u3057\u305f\u308a\u3001pull request\u3092\u9001\u3063\u305f\u308a\u3001\u6a5f\u80fd\u3092\u62e1\u5f35\u3067\u304d\u307e\u3059\u3002", - - "home.zenCta.title": - "\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u5411\u3051\u306e\u4fe1\u983c\u3067\u304d\u308b\u6700\u9069\u5316\u30e2\u30c7\u30eb", - "home.zenCta.body": - "Zen\u306f\u3001OpenCode\u304c\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u5411\u3051\u306b\u30c6\u30b9\u30c8\u30fb\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u6e08\u307f\u306eAI\u30e2\u30c7\u30eb\u3092\u53b3\u9078\u3057\u3066\u63d0\u4f9b\u3057\u307e\u3059\u3002\u30d7\u30ed\u30d0\u30a4\u30c0\u9593\u306e\u6027\u80fd\u30fb\u54c1\u8cea\u306e\u30d6\u30ec\u3092\u6c17\u306b\u305b\u305a\u3001\u691c\u8a3c\u6e08\u307f\u306e\u30e2\u30c7\u30eb\u3092\u5229\u7528\u3067\u304d\u307e\u3059\u3002", - "home.zenCta.link": "Zen\u306b\u3064\u3044\u3066\u77e5\u308b", - - "download.title": "OpenCode | \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9", - - "zen.title": - "OpenCode Zen | \u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u5411\u3051\u306e\u4fe1\u983c\u3067\u304d\u308b\u6700\u9069\u5316\u30e2\u30c7\u30eb\u3092\u53b3\u9078", - "zen.hero.title": - "\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u5411\u3051\u306e\u4fe1\u983c\u3067\u304d\u308b\u6700\u9069\u5316\u30e2\u30c7\u30eb", - "zen.hero.body": - "Zen\u306f\u3001OpenCode\u304c\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u5411\u3051\u306b\u30c6\u30b9\u30c8\u30fb\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u6e08\u307f\u306eAI\u30e2\u30c7\u30eb\u3092\u53b3\u9078\u3057\u3066\u63d0\u4f9b\u3057\u307e\u3059\u3002\u30d7\u30ed\u30d0\u30a4\u30c0\u9593\u306e\u6027\u80fd\u30fb\u54c1\u8cea\u306e\u30d6\u30ec\u3092\u6c17\u306b\u305b\u305a\u3001\u691c\u8a3c\u6e08\u307f\u306e\u30e2\u30c7\u30eb\u3092\u5229\u7528\u3067\u304d\u307e\u3059\u3002", - - "zen.faq.q1": "OpenCode Zen\u3068\u306f?", - "zen.faq.a1": - "Zen \u306f\u3001OpenCode \u306e\u30c1\u30fc\u30e0\u304c\u4f5c\u6210\u3057\u305f\u3001\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u5411\u3051\u306b\u30c6\u30b9\u30c8\u30fb\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3055\u308c\u305f AI \u30e2\u30c7\u30eb\u306e\u53b3\u9078\u30bb\u30c3\u30c8\u3067\u3059\u3002", - "zen.faq.q2": "Zen \u306f\u306a\u305c\u7cbe\u5ea6\u304c\u9ad8\u3044\u306e\u3067\u3059\u304b?", - "zen.faq.a2": - "Zen \u306f\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u5411\u3051\u306b\u30c6\u30b9\u30c8\u30fb\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3055\u308c\u305f\u30e2\u30c7\u30eb\u3060\u3051\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u30d0\u30bf\u30fc\u30ca\u30a4\u30d5\u3067\u30b9\u30c6\u30fc\u30ad\u3092\u5207\u3089\u306a\u3044\u3088\u3046\u306b\u3001\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u306b\u306f\u8cea\u306e\u4f4e\u3044\u30e2\u30c7\u30eb\u3092\u4f7f\u308f\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002", - "zen.faq.q3": "Zen \u306f\u5b89\u3044\u3067\u3059\u304b?", - "zen.faq.a3": - "Zen \u306f\u55b6\u5229\u76ee\u7684\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002Zen \u306f\u30e2\u30c7\u30eb\u63d0\u4f9b\u5143\u306e\u30b3\u30b9\u30c8\u3092\u305d\u306e\u307e\u307e\u3042\u306a\u305f\u306b\u6e21\u3057\u307e\u3059\u3002Zen \u306e\u5229\u7528\u304c\u5897\u3048\u308b\u307b\u3069\u3001OpenCode \u306f\u3088\u308a\u826f\u3044\u30ec\u30fc\u30c8\u3092\u4ea4\u6e09\u3057\u3001\u305d\u306e\u5206\u3092\u3042\u306a\u305f\u306b\u9084\u5143\u3067\u304d\u307e\u3059\u3002", - "zen.faq.q4": "Zen \u306e\u6599\u91d1\u306f?", - "zen.faq.a4.p1.beforePricing": "Zen \u306f", - "zen.faq.a4.p1.pricingLink": "\u30ea\u30af\u30a8\u30b9\u30c8\u5358\u4f4d\u3067\u8ab2\u91d1", - "zen.faq.a4.p1.afterPricing": - "\u3057\u3001\u30de\u30fc\u30af\u30a2\u30c3\u30d7\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3064\u307e\u308a\u3001\u30e2\u30c7\u30eb\u63d0\u4f9b\u5143\u306e\u8acb\u6c42\u984d\u3092\u305d\u306e\u307e\u307e\u652f\u6255\u3044\u307e\u3059\u3002", - "zen.faq.a4.p2.beforeAccount": - "\u7dcf\u30b3\u30b9\u30c8\u306f\u5229\u7528\u91cf\u306b\u4f9d\u5b58\u3057\u3001\u6708\u6b21\u306e\u652f\u51fa\u4e0a\u9650\u3092", - "zen.faq.a4.p2.accountLink": "\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u8a2d\u5b9a\u3067\u304d\u307e\u3059", - "zen.faq.a4.p3": - "\u30b3\u30b9\u30c8\u3092\u8cc4\u3046\u305f\u3081\u306b\u3001OpenCode \u306f $20 \u306e\u6b8b\u9ad8\u30c1\u30e3\u30fc\u30b8\u3042\u305f\u308a $1.23 \u306e\u5c0f\u3055\u306a\u6c7a\u6e08\u624b\u6570\u6599\u306e\u307f\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002", - "zen.faq.q5": "\u30c7\u30fc\u30bf\u3068\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc\u306f?", - "zen.faq.a5.beforeExceptions": - "Zen \u306e\u30e2\u30c7\u30eb\u306f\u3059\u3079\u3066\u7c73\u56fd\u3067\u30db\u30b9\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30d7\u30ed\u30d0\u30a4\u30c0\u306f\u30bc\u30ed\u4fdd\u6301\u30dd\u30ea\u30b7\u30fc\u3092\u5b88\u308a\u3001\u30c7\u30fc\u30bf\u3092\u30e2\u30c7\u30eb\u5b66\u7fd2\u306b\u4f7f\u7528\u3057\u307e\u305b\u3093\u3002", - "zen.faq.a5.exceptionsLink": "\u4f8b\u5916\u306f\u3053\u3061\u3089", - "zen.faq.q6": "\u652f\u51fa\u4e0a\u9650\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u304b?", - "zen.faq.a6": - "\u306f\u3044\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u6708\u6b21\u306e\u652f\u51fa\u4e0a\u9650\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002", - "zen.faq.q7": "\u30ad\u30e3\u30f3\u30bb\u30eb\u3067\u304d\u307e\u3059\u304b?", - "zen.faq.a7": - "\u306f\u3044\u3001\u3044\u3064\u3067\u3082\u8acb\u6c42\u3092\u7121\u52b9\u5316\u3057\u3001\u6b8b\u308a\u306e\u6b8b\u9ad8\u3092\u5229\u7528\u3067\u304d\u307e\u3059\u3002", - "zen.faq.q8": - "\u4ed6\u306e\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3067\u3082 Zen \u3092\u4f7f\u3048\u307e\u3059\u304b?", - "zen.faq.a8": - "Zen \u306f OpenCode \u3068\u306e\u76f8\u6027\u304c\u826f\u3044\u3067\u3059\u304c\u3001\u3069\u306e\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3067\u3082 Zen \u3092\u5229\u7528\u3067\u304d\u307e\u3059\u3002\u304a\u4f7f\u3044\u306e\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002", - "zen.cta.start": "Zen を始めましょう", - "zen.pricing.title": "$20 の従量課金制残高を追加", - "zen.pricing.fee": "(+$1.23 カード処理手数料)", - "zen.pricing.body": - "任意のエージェントと一緒に使用します。毎月の支出制限を設定します。いつでもキャンセルしてください。", - "zen.problem.title": "Zen はどのような問題を解決していますか?", - "zen.problem.body": - "利用可能なモデルは非常に多くありますが、コーディング エージェントで適切に機能するモデルはほんのわずかです。ほとんどのプロバイダーは、それらを異なる方法で構成し、結果も異なります。", - "zen.problem.subtitle": "OpenCode ユーザーだけでなく、すべての人を対象にこの問題を修正しています。", - "zen.problem.item1": "選択したモデルをテストし、チームに相談する", - "zen.problem.item2": "プロバイダーと連携して適切に配信されるようにする", - "zen.problem.item3": "私たちが推奨するすべてのモデルとプロバイダーの組み合わせのベンチマーク", - "zen.how.title": "Zen の仕組み", - "zen.how.body": "Zen を OpenCode とともに使用することをお勧めしますが、Zen はどのエージェントでも使用できます。", - "zen.how.step1.title": "サインアップして 20 ドルの残高を追加してください", - "zen.how.step1.beforeLink": "に従ってください", - "zen.how.step1.link": "セットアップ手順", - "zen.how.step2.title": "透明性のある価格設定で Zen を使用する", - "zen.how.step2.link": "リクエストごとに支払う", - "zen.how.step2.afterLink": "値上げゼロで", - "zen.how.step3.title": "自動補充", - "zen.how.step3.body": "残高が 5 ドルに達すると、自動的に 20 ドルが追加されます", - "zen.privacy.title": "あなたのプライバシーは私たちにとって重要です", - "zen.privacy.beforeExceptions": - "すべての Zen モデルは米国でホストされています。プロバイダーはゼロ保持ポリシーに従い、モデルのトレーニングにデータを使用しません。", - "zen.privacy.exceptionsLink": "以下の例外", - "download.meta.description": - "macOS\u3001Windows\u3001Linux \u5411\u3051\u306b OpenCode \u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059", - "download.hero.title": "OpenCode \u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9", - "download.hero.subtitle": - "macOS\u3001Windows\u3001Linux \u5411\u3051\u306b\u30d9\u30fc\u30bf\u7248\u3092\u63d0\u4f9b\u4e2d", - "download.hero.button": "{{os}} \u5411\u3051\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9", - "download.section.terminal": "OpenCode \u30bf\u30fc\u30df\u30ca\u30eb", - "download.section.desktop": "OpenCode \u30c7\u30b9\u30af\u30c8\u30c3\u30d7\uff08Beta\uff09", - "download.section.extensions": "OpenCode \u62e1\u5f35\u6a5f\u80fd", - "download.section.integrations": "OpenCode \u9023\u643a", - "download.action.download": "\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9", - "download.action.install": "\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - "download.faq.a3.beforeLocal": - "\u5fc5\u305a\u3057\u3082\u305d\u3046\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u304a\u305d\u3089\u304f\u5fc5\u8981\u3067\u3059\u3002OpenCode \u3092\u6709\u6599\u30d7\u30ed\u30d0\u30a4\u30c0\u306b\u63a5\u7d9a\u3057\u305f\u3044\u5834\u5408\u306f AI \u306e\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u304c\u5fc5\u8981\u3067\u3059\u304c\u3001", - "download.faq.a3.localLink": "\u30ed\u30fc\u30ab\u30eb\u30e2\u30c7\u30eb", - "download.faq.a3.afterLocal.beforeZen": - "\u306f\u7121\u6599\u3067\u5229\u7528\u3067\u304d\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306b", - "download.faq.a3.afterZen": - "\u306e\u5229\u7528\u3092\u52e7\u3081\u3066\u3044\u307e\u3059\u304c\u3001OpenCode \u306f OpenAI\u3001Anthropic\u3001xAI \u306a\u3069\u306e\u4e3b\u8981\u306a\u30d7\u30ed\u30d0\u30a4\u30c0\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002", - "download.faq.a5.p1": "OpenCode \u306f 100% \u7121\u6599\u3067\u5229\u7528\u3067\u304d\u307e\u3059\u3002", - "download.faq.a5.p2.beforeZen": - "\u8ffd\u52a0\u30b3\u30b9\u30c8\u306f\u30e2\u30c7\u30eb\u30d7\u30ed\u30d0\u30a4\u30c0\u306e\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u304b\u3089\u767a\u751f\u3057\u307e\u3059\u3002OpenCode \u306f\u3069\u306e\u30e2\u30c7\u30eb\u30d7\u30ed\u30d0\u30a4\u30c0\u3067\u3082\u5229\u7528\u3067\u304d\u307e\u3059\u304c\u3001", - "download.faq.a5.p2.afterZen": "\u306e\u5229\u7528\u3092\u304a\u3059\u3059\u3081\u3057\u307e\u3059\u3002", - "download.faq.a6.p1": - "\u3042\u306a\u305f\u306e\u30c7\u30fc\u30bf\u3068\u60c5\u5831\u306f\u3001OpenCode \u3067\u5171\u6709\u53ef\u80fd\u306a\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3057\u305f\u3068\u304d\u306b\u306e\u307f\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002", - "download.faq.a6.p2.beforeShare": "\u8a73\u3057\u304f\u306f", - "download.faq.a6.shareLink": "\u5171\u6709\u30da\u30fc\u30b8", - - "enterprise.title": - "OpenCode | \u7d44\u7e54\u5411\u3051\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3", - "enterprise.meta.description": - "\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066 OpenCode \u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044", - "enterprise.hero.title": "\u3042\u306a\u305f\u306e\u30b3\u30fc\u30c9\u306f\u3042\u306a\u305f\u306e\u3082\u306e", - "enterprise.hero.body1": - "OpenCode \u306f\u3001\u30c7\u30fc\u30bf\u3084\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3092\u4fdd\u5b58\u305b\u305a\u3001\u30e9\u30a4\u30bb\u30f3\u30b9\u306e\u5236\u9650\u3084\u6240\u6709\u6a29\u306e\u4e3b\u5f35\u3082\u306a\u304f\u3001\u7d44\u7e54\u5185\u3067\u5b89\u5168\u306b\u52d5\u4f5c\u3057\u307e\u3059\u3002\u30c1\u30fc\u30e0\u3067\u30c8\u30e9\u30a4\u30a2\u30eb\u3092\u958b\u59cb\u3057\u3001\u305d\u306e\u5f8c SSO \u3068\u793e\u5185 AI \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3068\u7d71\u5408\u3057\u3066\u7d44\u7e54\u5168\u4f53\u306b\u5c55\u958b\u3067\u304d\u307e\u3059\u3002", - "enterprise.hero.body2": - "\u3069\u306e\u3088\u3046\u306b\u304a\u624b\u4f1d\u3044\u3067\u304d\u308b\u304b\u304a\u805e\u304b\u305b\u304f\u3060\u3055\u3044\u3002", - "enterprise.form.name.label": "\u6c0f\u540d", - "enterprise.form.name.placeholder": "\u30b8\u30a7\u30d5\u30fb\u30d9\u30be\u30b9", - "enterprise.form.role.label": "\u5f79\u8077", - "enterprise.form.role.placeholder": "\u53d6\u7de0\u5f79\u4f1a\u4f1a\u9577", - "enterprise.form.email.label": "\u4f1a\u793e\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "\u89e3\u6c7a\u3057\u305f\u3044\u8ab2\u984c\u306f\u4f55\u3067\u3059\u304b\uff1f", - "enterprise.form.message.placeholder": - "\u79c1\u305f\u3061\u306f...\u306b\u3064\u3044\u3066\u52a9\u3051\u304c\u5fc5\u8981\u3067\u3059", - "enterprise.form.send": "\u9001\u4fe1", - "enterprise.form.sending": "\u9001\u4fe1\u4e2d...", - "enterprise.form.success": - "\u9001\u4fe1\u3057\u307e\u3057\u305f\u3002\u8fd1\u65e5\u4e2d\u306b\u3054\u9023\u7d61\u3057\u307e\u3059\u3002", - "enterprise.faq.title": "\u3088\u304f\u3042\u308b\u8cea\u554f", - "enterprise.faq.q1": "OpenCode Enterprise \u3068\u306f\uff1f", - "enterprise.faq.a1": - "OpenCode Enterprise \u306f\u3001\u30b3\u30fc\u30c9\u3068\u30c7\u30fc\u30bf\u304c\u6c7a\u3057\u3066\u30a4\u30f3\u30d5\u30e9\u306e\u5916\u306b\u51fa\u306a\u3044\u3053\u3068\u3092\u4fdd\u8a3c\u3057\u305f\u3044\u7d44\u7e54\u5411\u3051\u3067\u3059\u3002SSO \u3068\u793e\u5185 AI \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3068\u9023\u643a\u3059\u308b\u96c6\u4e2d\u7ba1\u7406\u306e\u8a2d\u5b9a\u306b\u3088\u3063\u3066\u5b9f\u73fe\u3057\u307e\u3059\u3002", - "enterprise.faq.q2": "OpenCode Enterprise \u3092\u59cb\u3081\u308b\u306b\u306f\uff1f", - "enterprise.faq.a2": - "\u307e\u305a\u306f\u30c1\u30fc\u30e0\u3067\u793e\u5185\u30c8\u30e9\u30a4\u30a2\u30eb\u3092\u59cb\u3081\u3066\u304f\u3060\u3055\u3044\u3002OpenCode \u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u30b3\u30fc\u30c9\u3084\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3057\u306a\u3044\u305f\u3081\u3001\u7c21\u5358\u306b\u59cb\u3081\u3089\u308c\u307e\u3059\u3002\u305d\u306e\u5f8c\u3001\u4fa1\u683c\u3084\u5c0e\u5165\u65b9\u6cd5\u306b\u3064\u3044\u3066\u3054\u76f8\u8ac7\u304f\u3060\u3055\u3044\u3002", - "enterprise.faq.q3": - "\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u4fa1\u683c\u306f\u3069\u306e\u3088\u3046\u306b\u6c7a\u307e\u308a\u307e\u3059\u304b\uff1f", - "enterprise.faq.a3": - "\u5e2d\u5358\u4f4d\uff08\u30e6\u30fc\u30b6\u30fc\u6570\uff09\u3067\u306e\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u4fa1\u683c\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u72ec\u81ea\u306e LLM \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u304c\u3042\u308b\u5834\u5408\u3001\u4f7f\u7528\u3057\u305f\u30c8\u30fc\u30af\u30f3\u306b\u5bfe\u3057\u3066\u8ab2\u91d1\u3057\u307e\u305b\u3093\u3002\u8a73\u7d30\u306f\u3001\u7d44\u7e54\u306e\u8981\u4ef6\u306b\u57fa\u3065\u3044\u305f\u304a\u898b\u7a4d\u308a\u306e\u305f\u3081\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002", - "enterprise.faq.q4": "OpenCode Enterprise \u3067\u30c7\u30fc\u30bf\u306f\u5b89\u5168\u3067\u3059\u304b\uff1f", - "enterprise.faq.a4": - "\u306f\u3044\u3002OpenCode \u306f\u30b3\u30fc\u30c9\u3084\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3057\u307e\u305b\u3093\u3002\u51e6\u7406\u306f\u30ed\u30fc\u30ab\u30eb\u3067\u884c\u308f\u308c\u308b\u304b\u3001AI \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3078\u306e\u76f4\u63a5 API \u547c\u3073\u51fa\u3057\u3092\u901a\u3058\u3066\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\u96c6\u4e2d\u7ba1\u7406\u306e\u8a2d\u5b9a\u3068 SSO \u9023\u643a\u306b\u3088\u308a\u3001\u30c7\u30fc\u30bf\u306f\u7d44\u7e54\u306e\u30a4\u30f3\u30d5\u30e9\u5185\u3067\u5b89\u5168\u306b\u4fdd\u305f\u308c\u307e\u3059\u3002", - - "brand.title": "OpenCode | \u30d6\u30e9\u30f3\u30c9", - "brand.meta.description": "OpenCode \u30d6\u30e9\u30f3\u30c9\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3", - "brand.heading": "\u30d6\u30e9\u30f3\u30c9\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3", - "brand.subtitle": - "OpenCode \u30d6\u30e9\u30f3\u30c9\u3092\u6271\u3046\u305f\u3081\u306e\u30ea\u30bd\u30fc\u30b9\u3068\u7d20\u6750\u3067\u3059\u3002", - "brand.downloadAll": "\u3059\u3079\u3066\u306e\u7d20\u6750\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9", - "changelog.title": "OpenCode | \u5909\u66f4\u5c65\u6b74", - "changelog.meta.description": - "OpenCode \u306e\u30ea\u30ea\u30fc\u30b9\u30ce\u30fc\u30c8\u3068\u5909\u66f4\u5c65\u6b74", - "changelog.hero.title": "\u5909\u66f4\u5c65\u6b74", - "changelog.hero.subtitle": "OpenCode \u306e\u66f4\u65b0\u3068\u6539\u5584", - "changelog.empty": "\u5909\u66f4\u5c65\u6b74\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002", - "changelog.viewJson": "JSON \u3092\u8868\u793a", - "workspace.nav.zen": "禅", - "workspace.nav.apiKeys": "API キー", - "workspace.nav.members": "メンバー", - "workspace.nav.billing": "請求する", - "workspace.nav.settings": "設定", - "workspace.home.banner.beforeLink": "コーディングエージェント向けに信頼性の高い最適化されたモデル。", - "workspace.home.billing.loading": "読み込み中...", - "workspace.home.billing.enable": "課金を有効にする", - "workspace.home.billing.currentBalance": "現在の残高", - "workspace.newUser.feature.tested.title": "テストおよび検証されたモデル", - "workspace.newUser.feature.tested.body": - "最高のパフォーマンスを保証するために、コーディング エージェントに特化したモデルのベンチマークとテストを行いました。", - "workspace.newUser.feature.quality.title": "最高の品質", - "workspace.newUser.feature.quality.body": - "最適なパフォーマンスを実現するように構成されたモデルにアクセスします。ダウングレードしたり、より安価なプロバイダーにルーティングしたりする必要はありません。", - "workspace.newUser.feature.lockin.title": "ロックインなし", - "workspace.newUser.feature.lockin.body": - "任意のコーディング エージェントで Zen を使用し、必要に応じていつでも opencode を備えた他のプロバイダーを使用し続けます。", - "workspace.newUser.copyApiKey": "API キーをコピーします", - "workspace.newUser.copyKey": "キーをコピーする", - "workspace.newUser.copied": "コピーしました!", - "workspace.newUser.step.enableBilling": "課金を有効にする", - "workspace.newUser.step.login.before": "走る", - "workspace.newUser.step.login.after": "opencode を選択します", - "workspace.newUser.step.pasteKey": "API キーを貼り付けます", - "workspace.newUser.step.models.before": "opencode を開始して実行します", - "workspace.newUser.step.models.after": "モデルを選択するには", - "workspace.models.title": "モデル", - "workspace.models.subtitle.beforeLink": "ワークスペースのメンバーがアクセスできるモデルを管理します。", - "workspace.models.table.model": "モデル", - "workspace.models.table.enabled": "有効", - "workspace.providers.title": "自分の鍵を持参する", - "workspace.providers.subtitle": "AI プロバイダーから独自の API キーを構成します。", - "workspace.providers.placeholder": "{{provider}} API キー ({{prefix}}...) を入力してください", - "workspace.providers.configure": "設定する", - "workspace.providers.edit": "編集", - "workspace.providers.delete": "消去", - "workspace.providers.saving": "保存中...", - "workspace.providers.save": "保存", - "workspace.providers.table.provider": "プロバイダー", - "workspace.providers.table.apiKey": "API キー", - "workspace.usage.title": "利用履歴", - "workspace.usage.subtitle": "最近の API の使用状況とコスト。", - "workspace.usage.empty": "開始するには、最初の API 呼び出しを行ってください。", - "workspace.usage.table.date": "日付", - "workspace.usage.table.model": "モデル", - "workspace.usage.table.input": "入力", - "workspace.usage.table.output": "出力", - "workspace.usage.table.cost": "料金", - "workspace.usage.breakdown.input": "入力", - "workspace.usage.breakdown.cacheRead": "キャッシュ読み取り", - "workspace.usage.breakdown.cacheWrite": "キャッシュ書き込み", - "workspace.usage.breakdown.output": "出力", - "workspace.usage.breakdown.reasoning": "推論", - "workspace.usage.subscription": "サブスクリプション (${{amount}})", - "workspace.cost.title": "料金", - "workspace.cost.subtitle": "モデルごとの使用料金の内訳。", - "workspace.cost.allModels": "全モデル", - "workspace.cost.allKeys": "すべてのキー", - "workspace.cost.deletedSuffix": "(削除されました)", - "workspace.cost.empty": "選択した期間の使用状況データはありません。", - "workspace.cost.subscriptionShort": "サブ", - "workspace.keys.title": "API キー", - "workspace.keys.subtitle": "opencode サービスにアクセスするための API キーを管理します。", - "workspace.keys.create": "API キーの作成", - "workspace.keys.placeholder": "キー名を入力してください", - "workspace.keys.empty": "opencode ゲートウェイ API キーを作成する", - "workspace.keys.table.name": "名前", - "workspace.keys.table.key": "鍵", - "workspace.keys.table.createdBy": "作成者", - "workspace.keys.table.lastUsed": "最後に使用したもの", - "workspace.keys.copyApiKey": "API キーをコピーします", - "workspace.keys.delete": "消去", - "workspace.members.title": "メンバー", - "workspace.members.subtitle": "ワークスペースのメンバーとその権限を管理します。", - "workspace.members.invite": "メンバーを招待する", - "workspace.members.inviting": "招待中...", - "workspace.members.beta.beforeLink": "ベータ期間中、チームはワークスペースを無料で利用できます。", - "workspace.members.form.invitee": "招待者", - "workspace.members.form.emailPlaceholder": "メールアドレスを入力してください", - "workspace.members.form.role": "役割", - "workspace.members.form.monthlyLimit": "月々の利用限度額", - "workspace.members.noLimit": "制限なし", - "workspace.members.noLimitLowercase": "制限なし", - "workspace.members.invited": "招待されました", - "workspace.members.edit": "編集", - "workspace.members.delete": "消去", - "workspace.members.saving": "保存中...", - "workspace.members.save": "保存", - "workspace.members.table.email": "電子メール", - "workspace.members.table.role": "役割", - "workspace.members.table.monthLimit": "月の制限", - "workspace.members.role.admin": "管理者", - "workspace.members.role.adminDescription": "モデル、メンバー、請求を管理できる", - "workspace.members.role.member": "メンバー", - "workspace.members.role.memberDescription": "自分自身の API キーのみを生成できます", - "workspace.settings.title": "設定", - "workspace.settings.subtitle": "ワークスペース名と設定を更新します。", - "workspace.settings.workspaceName": "ワークスペース名", - "workspace.settings.defaultName": "デフォルト", - "workspace.settings.updating": "更新中...", - "workspace.settings.save": "保存", - "workspace.settings.edit": "編集", - "workspace.billing.title": "請求する", - "workspace.billing.subtitle.beforeLink": "支払い方法を管理します。", - "workspace.billing.contactUs": "お問い合わせ", - "workspace.billing.subtitle.afterLink": "ご質問がございましたら。", - "workspace.billing.currentBalance": "現在の残高", - "workspace.billing.add": "$を追加", - "workspace.billing.enterAmount": "金額を入力してください", - "workspace.billing.loading": "読み込み中...", - "workspace.billing.addAction": "追加", - "workspace.billing.addBalance": "残高を追加", - "workspace.billing.linkedToStripe": "ストライプにリンク", - "workspace.billing.manage": "管理", - "workspace.billing.enable": "課金を有効にする", - "workspace.monthlyLimit.title": "月間限度額", - "workspace.monthlyLimit.subtitle": "アカウントの月間使用制限を設定します。", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "設定...", - "workspace.monthlyLimit.set": "セット", - "workspace.monthlyLimit.edit": "編集制限", - "workspace.monthlyLimit.noLimit": "使用制限は設定されていません。", - "workspace.monthlyLimit.currentUsage.beforeMonth": "現在の使用状況", - "workspace.monthlyLimit.currentUsage.beforeAmount": "は$です", - "workspace.reload.title": "オートリロード", - "workspace.reload.disabled.before": "オートリロードは", - "workspace.reload.disabled.state": "無効", - "workspace.reload.disabled.after": "残高が少なくなったときに自動的にリロードできるようにします。", - "workspace.reload.enabled.before": "オートリロードは", - "workspace.reload.enabled.state": "有効", - "workspace.reload.enabled.middle": "リロードします", - "workspace.reload.processingFee": "手数料", - "workspace.reload.enabled.after": "残高が達したとき", - "workspace.reload.edit": "編集", - "workspace.reload.enable": "有効にする", - "workspace.reload.enableAutoReload": "自動リロードを有効にする", - "workspace.reload.reloadAmount": "$をリロード", - "workspace.reload.whenBalanceReaches": "残高が$に達すると", - "workspace.reload.saving": "保存中...", - "workspace.reload.save": "保存", - "workspace.reload.failedAt": "リロードに失敗しました", - "workspace.reload.reason": "理由:", - "workspace.reload.updatePaymentMethod": "お支払い方法を更新して、もう一度お試しください。", - "workspace.reload.retrying": "再試行中...", - "workspace.reload.retry": "リトライ", - "workspace.payments.title": "支払い履歴", - "workspace.payments.subtitle": "最近の支払い取引。", - "workspace.payments.table.date": "日付", - "workspace.payments.table.paymentId": "支払いID", - "workspace.payments.table.amount": "額", - "workspace.payments.table.receipt": "レシート", - "workspace.payments.type.credit": "クレジット", - "workspace.payments.type.subscription": "サブスクリプション", - "workspace.payments.view": "ビュー", - "workspace.black.loading": "読み込み中...", - "workspace.black.time.day": "日", - "workspace.black.time.days": "日", - "workspace.black.time.hour": "時間", - "workspace.black.time.hours": "時間", - "workspace.black.time.minute": "分", - "workspace.black.time.minutes": "分", - "workspace.black.time.fewSeconds": "数秒", - "workspace.black.subscription.title": "サブスクリプション", - "workspace.black.subscription.message": "あなたは、OpenCode Black を月額 ${{plan}} で購読しています。", - "workspace.black.subscription.manage": "サブスクリプションの管理", - "workspace.black.subscription.rollingUsage": "5時間利用", - "workspace.black.subscription.weeklyUsage": "毎週の使用量", - "workspace.black.subscription.resetsIn": "でリセットします", - "workspace.black.subscription.useBalance": "利用限度額に達したら利用可能な残高を使い切る", - "workspace.black.waitlist.title": "順番待ちリスト", - "workspace.black.waitlist.joined": - "あなたは、月額 ${{plan}} OpenCode ブラック プランの待機リストに登録されています。", - "workspace.black.waitlist.ready": "月額 ${{plan}} の OpenCode ブラック プランに登録する準備ができました。", - "workspace.black.waitlist.leave": "順番待ちリストを残す", - "workspace.black.waitlist.leaving": "出発中...", - "workspace.black.waitlist.left": "左", - "workspace.black.waitlist.enroll": "登録する", - "workspace.black.waitlist.enrolling": "登録中...", - "workspace.black.waitlist.enrolled": "登録済み", - "workspace.black.waitlist.enrollNote": - "[登録] をクリックすると、サブスクリプションがすぐに開始され、カードに請求されます。", -} satisfies Dict diff --git a/packages/console/app/src/i18n/ko.ts b/packages/console/app/src/i18n/ko.ts deleted file mode 100644 index 1d6e3cefe..000000000 --- a/packages/console/app/src/i18n/ko.ts +++ /dev/null @@ -1,497 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "\ubb38\uc11c", - "nav.changelog": "\ubcc0\uacbd \ub0b4\uc5ed", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "\uc5d4\ud130\ud504\ub77c\uc774\uc988", - "nav.zen": "Zen", - "nav.login": "\ub85c\uadf8\uc778", - "nav.free": "\ubb34\ub8cc", - "nav.home": "\ud648", - "nav.openMenu": "\uba54\ub274 \uc5f4\uae30", - "nav.getStartedFree": "\ubb34\ub8cc\ub85c \uc2dc\uc791\ud558\uae30", - - "nav.context.copyLogo": "\ub85c\uace0\ub97c SVG\ub85c \ubcf5\uc0ac", - "nav.context.copyWordmark": "\uc6cc\ub4dc\ub9c8\ud06c\ub97c SVG\ub85c \ubcf5\uc0ac", - "nav.context.brandAssets": "\ube0c\ub79c\ub4dc \uc790\uc0b0", - - "footer.github": "GitHub", - "footer.docs": "\ubb38\uc11c", - "footer.changelog": "\ubcc0\uacbd \ub0b4\uc5ed", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "\ube0c\ub79c\ub4dc", - "legal.privacy": "\uac1c\uc778\uc815\ubcf4", - "legal.terms": "\uc57d\uad00", - - "email.title": - "\uc0c8\ub85c\uc6b4 \uc81c\ud488 \ucd9c\uc2dc \uc18c\uc2dd\uc744 \uac00\uc7a5 \uba3c\uc800 \uc54c\uc544\ubcf4\uc138\uc694", - "email.subtitle": - "\ucd08\uae30 \uc811\uadfc\uc744 \uc704\ud574 \ub300\uae30 \uba85\ub2e8\uc5d0 \ucd94\uac00\ud558\uc138\uc694.", - "email.placeholder": "\uc774\uba54\uc77c \uc8fc\uc18c", - "email.subscribe": "\uad6c\ub3c5", - "email.success": - "\uac70\uc758 \uc644\ub8cc\ub410\uc5b4\uc694. \uc774\uba54\uc77c\ud568\uc744 \ud655\uc778\ud558\uace0 \uc774\uba54\uc77c \uc8fc\uc18c\ub97c \uc778\uc99d\ud574 \uc8fc\uc138\uc694", - - "notFound.title": "\ud398\uc774\uc9c0\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4 | opencode", - "notFound.heading": "404 - \ud398\uc774\uc9c0\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4", - "notFound.home": "\ud648", - "notFound.docs": "\ubb38\uc11c", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "\ub85c\uadf8\uc544\uc6c3", - - "workspace.select": "\uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc120\ud0dd", - "workspace.createNew": "+ \uc0c8 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc0dd\uc131", - "workspace.modal.title": "\uc0c8 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc0dd\uc131", - "workspace.modal.placeholder": "\uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc774\ub984 \uc785\ub825", - - "common.cancel": "\ucde8\uc18c", - "common.creating": "\uc0dd\uc131 \uc911...", - "common.create": "\uc0dd\uc131", - - "common.videoUnsupported": - "\ube0c\ub77c\uc6b0\uc800\uac00 video \ud0dc\uadf8\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.", - "common.figure": "\uadf8\ub9bc {{n}}", - "common.faq": "FAQ", - "common.learnMore": "\uc790\uc138\ud788 \uc54c\uc544\ubcf4\uae30", - - "home.title": "OpenCode | \uc624\ud508 \uc18c\uc2a4 AI \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8", - - "home.banner.badge": "\uc0c8\uc18c\uc2dd", - "home.banner.text": "\ub370\uc2a4\ud06c\ud1b1 \uc571 \ubca0\ud0c0 \ubc84\uc804 \uc81c\uacf5 \uc911", - "home.banner.platforms": "macOS, Windows, Linux\uc5d0\uc11c", - "home.banner.downloadNow": "\uc9c0\uae08 \ub2e4\uc6b4\ub85c\ub4dc", - "home.banner.downloadBetaNow": "\ub370\uc2a4\ud06c\ud1b1 \ubca0\ud0c0 \uc9c0\uae08 \ub2e4\uc6b4\ub85c\ub4dc", - - "home.hero.title": "\uc624\ud508 \uc18c\uc2a4 AI \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8", - "home.hero.subtitle.a": - "\ubb34\ub8cc \ubaa8\ub378\uc744 \ud3ec\ud568\ud558\uac70\ub098 \uc5b4\ub5a4 \ud504\ub85c\ubc14\uc774\ub354\uc758 \uc5b4\ub5a4 \ubaa8\ub378\uc774\ub4e0 \uc5f0\uacb0\ud560 \uc218 \uc788\uace0,", - "home.hero.subtitle.b": "Claude, GPT, Gemini \ub4f1\ub3c4 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.", - - "home.install.ariaLabel": "\uc124\uce58 \uc635\uc158", - - "home.what.title": "OpenCode\ub780?", - "home.what.body": - "OpenCode\ub294 \ud130\ubbf8\ub110, IDE, \ub370\uc2a4\ud06c\ud1b1\uc5d0\uc11c \ucf54\ub4dc\ub97c \uc791\uc131\ud558\ub294 \ub370 \ub3c4\uc6c0\uc744 \uc8fc\ub294 \uc624\ud508 \uc18c\uc2a4 \uc5d0\uc774\uc804\ud2b8\uc785\ub2c8\ub2e4.", - "home.what.lsp.title": "LSP \uc9c0\uc6d0", - "home.what.lsp.body": "LLM\uc5d0 \ub9de\ub294 LSP\ub97c \uc790\ub3d9\uc73c\ub85c \ub85c\ub4dc\ud569\ub2c8\ub2e4", - "home.what.multiSession.title": "\uba40\ud2f0 \uc138\uc158", - "home.what.multiSession.body": - "\uac19\uc740 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uc5ec\ub7ec \uc5d0\uc774\uc804\ud2b8\ub97c \ub3d9\uc2dc\uc5d0 \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4", - "home.what.shareLinks.title": "\uacf5\uc720 \ub9c1\ud06c", - "home.what.shareLinks.body": - "\ucc38\uace0\ub098 \ub514\ubc84\uae45\uc744 \uc704\ud574 \uc5b4\ub5a4 \uc138\uc158\uc774\ub4e0 \ub9c1\ud06c\ub97c \uacf5\uc720\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": - "GitHub\ub85c \ub85c\uadf8\uc778\ud558\uc5ec Copilot \uacc4\uc815\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": - "OpenAI\ub85c \ub85c\uadf8\uc778\ud558\uc5ec ChatGPT Plus/Pro \uacc4\uc815\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4", - "home.what.anyModel.title": "\uc5b4\ub5a4 \ubaa8\ub378\uc774\ub4e0", - "home.what.anyModel.body": - "Models.dev\ub97c \ud1b5\ud574 75+ \uac1c\uc758 LLM \ud504\ub85c\ubc14\uc774\ub354\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\uc73c\uba70, \ub85c\uceec \ubaa8\ub378\ub3c4 \ud3ec\ud568\ub429\ub2c8\ub2e4", - "home.what.anyEditor.title": "\uc5b4\ub5a4 \uc5d0\ub514\ud130\ub4e0", - "home.what.anyEditor.body": - "\ud130\ubbf8\ub110 UI, \ub370\uc2a4\ud06c\ud1b1 \uc571, IDE \ud655\uc7a5\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4", - "home.what.readDocs": "\ubb38\uc11c \uc77d\uae30", - - "home.growth.title": "\uc624\ud508 \uc18c\uc2a4 AI \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8", - "home.growth.body": - "GitHub \uc2a4\ud0c0\uac00 {{stars}}\uac1c \uc774\uc0c1, \ucf58\ud2b8\ub9ac\ubdf0\ud130 {{contributors}}\uba85, \ucee4\ubc0b {{commits}}\uac1c \uc774\uc0c1\uc744 \ubcf4\uc720\ud558\uba70, \ub9e4\uc6d4 {{monthlyUsers}}\uba85 \uc774\uc0c1\uc758 \uac1c\ubc1c\uc790\uac00 \uc0ac\uc6a9\ud558\uace0 \uc2e0\ub8b0\ud569\ub2c8\ub2e4.", - "home.growth.githubStars": "GitHub \uc2a4\ud0c0", - "home.growth.contributors": "\ucf58\ud2b8\ub9ac\ubdf0\ud130", - "home.growth.monthlyDevs": "\uc6d4\uac04 \uac1c\ubc1c\uc790", - - "home.privacy.title": "\ud504\ub77c\uc774\ubc84\uc2dc \uc6b0\uc120 \uc124\uacc4", - "home.privacy.body": - "OpenCode\ub294 \ucf54\ub4dc\uc640 \ucee8\ud14d\uc2a4\ud2b8 \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud558\uc9c0 \uc54a\uc544 \ud504\ub77c\uc774\ubc84\uc2dc\uac00 \ubbfc\uac10\ud55c \ud658\uacbd\uc5d0\uc11c\ub3c4 \uc548\uc804\ud558\uac8c \uc791\ub3d9\ud569\ub2c8\ub2e4.", - "home.privacy.learnMore": "\uc790\uc138\ud55c \ub0b4\uc6a9:\u0020", - "home.privacy.link": "\ud504\ub77c\uc774\ubc84\uc2dc", - - "home.faq.q1": "OpenCode\ub780?", - "home.faq.a1": - "OpenCode\ub294 \uc5b4\ub5a4 AI \ubaa8\ub378\uc774\ub4e0 \ucf54\ub4dc\ub97c \uc791\uc131\ud558\uace0 \uc2e4\ud589\ud558\ub294 \ub370 \ub3c4\uc6c0\uc744 \uc8fc\ub294 \uc624\ud508 \uc18c\uc2a4 \uc5d0\uc774\uc804\ud2b8\uc785\ub2c8\ub2e4. \ud130\ubbf8\ub110 \uae30\ubc18 UI, \ub370\uc2a4\ud06c\ud1b1 \uc571, IDE \ud655\uc7a5\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", - "home.faq.q2": "OpenCode\ub97c \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub098\uc694?", - "home.faq.a2.before": "\uac00\uc7a5 \uc27d\uac8c \uc2dc\uc791\ud558\ub824\uba74", - "home.faq.a2.link": "\uc778\ud2b8\ub85c\ub97c \uc77d\uc5b4\ubcf4\uc138\uc694", - "home.faq.q3": "OpenCode\ub97c \uc0ac\uc6a9\ud558\ub824\uba74 AI \uad6c\ub3c5\uc774 \ud544\uc694\ud55c\uac00\uc694?", - "home.faq.a3.p1": - "\ud544\uc218\ub294 \uc544\ub2c8\uc5d0\uc694. OpenCode\uc5d0\ub294 \uacc4\uc815 \uc5c6\uc774\ub3c4 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ubb34\ub8cc \ubaa8\ub378\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4.", - "home.faq.a3.p2.beforeZen": "\uadf8 \uc678\uc5d0\ub294", - "home.faq.a3.p2.afterZen": - "\uacc4\uc815\uc744 \uc0dd\uc131\ud558\uba74 \uc778\uae30 \ucf54\ub529 \ubaa8\ub378\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", - "home.faq.a3.p3": - "Zen \uc0ac\uc6a9\uc744 \uad8c\uc7a5\ud558\uc9c0\ub9cc, OpenCode\ub294 OpenAI, Anthropic, xAI \ub4f1 \uc8fc\uc694 \ud504\ub85c\ubc14\uc774\ub354\uc640\ub3c4 \ud638\ud658\ub429\ub2c8\ub2e4.", - "home.faq.a3.p4.beforeLocal": "\ub610\ud55c", - "home.faq.a3.p4.localLink": "\ub85c\uceec \ubaa8\ub378\uc744 \uc5f0\uacb0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4", - "home.faq.q4": - "\uae30\uc874 AI \uad6c\ub3c5\uc744 OpenCode\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub098\uc694?", - "home.faq.a4.p1": - "\ub124. OpenCode\ub294 \uc8fc\uc694 \ud504\ub85c\ubc14\uc774\ub354\uc758 \uad6c\ub3c5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. Claude Pro/Max, ChatGPT Plus/Pro, GitHub Copilot\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", - "home.faq.q5": "OpenCode\ub97c \ud130\ubbf8\ub110\uc5d0\uc11c\ub9cc \uc0ac\uc6a9\ud574\uc57c \ud558\ub098\uc694?", - "home.faq.a5.beforeDesktop": "\uc774\uc81c\ub294 \uc544\ub2c8\uc5d0\uc694! OpenCode\ub294 \uc774\uc81c", - "home.faq.a5.desktop": "\ub370\uc2a4\ud06c\ud1b1", - "home.faq.a5.and": "\uacfc", - "home.faq.a5.web": "\uc6f9", - "home.faq.q6": "OpenCode\ub294 \uc5bc\ub9c8\uc778\uac00\uc694?", - "home.faq.a6": - "OpenCode\ub294 100% \ubb34\ub8cc\uc785\ub2c8\ub2e4. \ubb34\ub8cc \ubaa8\ub378\ub3c4 \ud3ec\ud568\ub429\ub2c8\ub2e4. \ub2e4\ub978 \ud504\ub85c\ubc14\uc774\ub354\ub97c \uc5f0\uacb0\ud558\uba74 \ucd94\uac00 \ube44\uc6a9\uc774 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", - "home.faq.q7": "\ub370\uc774\ud130\uc640 \ud504\ub77c\uc774\ubc84\uc2dc\ub294 \uc5b4\ub5a4\uac00\uc694?", - "home.faq.a7.p1": - "\ubb34\ub8cc \ubaa8\ub378\uc744 \uc0ac\uc6a9\ud558\uac70\ub098 \uacf5\uc720 \ub9c1\ud06c\ub97c \uc0dd\uc131\ud560 \ub54c\ub9cc \ub370\uc774\ud130\uac00 \uc800\uc7a5\ub429\ub2c8\ub2e4.", - "home.faq.a7.p2.beforeModels": "\uc790\uc138\ud55c \ub0b4\uc6a9\uc740", - "home.faq.a7.p2.modelsLink": "\ubaa8\ub378 \ud504\ub77c\uc774\ubc84\uc2dc", - "home.faq.a7.p2.and": "\uc640", - "home.faq.a7.p2.shareLink": "\uacf5\uc720 \ud398\uc774\uc9c0 \ud504\ub77c\uc774\ubc84\uc2dc", - "home.faq.q8": "OpenCode\ub294 \uc624\ud508 \uc18c\uc2a4\uc778\uac00\uc694?", - "home.faq.a8.p1": - "\ub124. OpenCode\ub294 \uc644\uc804\ud788 \uc624\ud508 \uc18c\uc2a4\uc785\ub2c8\ub2e4. \uc18c\uc2a4 \ucf54\ub4dc\ub294", - "home.faq.a8.p2": "\uc758", - "home.faq.a8.mitLicense": "MIT \ub77c\uc774\uc13c\uc2a4", - "home.faq.a8.p3": - "\ub85c \uacf5\uac1c\ub418\uc5b4 \ub204\uad6c\ub098 \uc0ac\uc6a9\ud558\uac70\ub098 \uc218\uc815\ud558\uac70\ub098 \uac1c\ubc1c\uc5d0 \ucc38\uc5ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ucee4\ubba4\ub2c8\ud2f0\uc5d0\uc11c issue\ub97c \uc5f4\uace0, pull request\ub97c \uc81c\ucd9c\ud558\uace0, \uae30\ub2a5\uc744 \ud655\uc7a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", - - "home.zenCta.title": - "\ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\ub97c \uc704\ud55c \uc2e0\ub8b0\ud560 \uc218 \uc788\ub294 \ucd5c\uc801\ud654 \ubaa8\ub378 \uc811\uadfc", - "home.zenCta.body": - "Zen\uc740 OpenCode\uac00 \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\ub97c \uc704\ud574 \ud14c\uc2a4\ud2b8\ud558\uace0 \ubca4\uce58\ub9c8\ud06c\ud55c AI \ubaa8\ub378\uc744 \uc120\ubcc4\ud574 \uc81c\uacf5\ud569\ub2c8\ub2e4. \ud504\ub85c\ubc14\uc774\ub354\ubcc4 \uc131\ub2a5\uacfc \ud488\uc9c8 \ud3b8\ucc28\ub97c \uac71\uc815\ud560 \ud544\uc694 \uc5c6\uc774, \uac80\uc99d\ub41c \ubaa8\ub378\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.", - "home.zenCta.link": "Zen \uc54c\uc544\ubcf4\uae30", - - "download.title": "OpenCode | \ub2e4\uc6b4\ub85c\ub4dc", - - "zen.title": - "OpenCode Zen | \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\ub97c \uc704\ud55c \uc2e0\ub8b0\ud560 \uc218 \uc788\ub294 \ucd5c\uc801\ud654 \ubaa8\ub378 \ubaa8\uc74c", - "zen.hero.title": - "\ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\ub97c \uc704\ud55c \uc2e0\ub8b0\ud560 \uc218 \uc788\ub294 \ucd5c\uc801\ud654 \ubaa8\ub378 \uc811\uadfc", - "zen.hero.body": - "Zen\uc740 OpenCode\uac00 \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\ub97c \uc704\ud574 \ud14c\uc2a4\ud2b8\ud558\uace0 \ubca4\uce58\ub9c8\ud06c\ud55c AI \ubaa8\ub378\uc744 \uc120\ubcc4\ud574 \uc81c\uacf5\ud569\ub2c8\ub2e4. \ud504\ub85c\ubc14\uc774\ub354\ubcc4 \uc131\ub2a5\uacfc \ud488\uc9c8 \ud3b8\ucc28\ub97c \uac71\uc815\ud560 \ud544\uc694 \uc5c6\uc774, \uac80\uc99d\ub41c \ubaa8\ub378\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.", - - "zen.faq.q1": "OpenCode Zen\uc774\ub780?", - "zen.faq.a1": - "Zen\uc740 OpenCode \ud300\uc774 \ub9cc\ub4e0, \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\ub97c \uc704\ud574 \ud14c\uc2a4\ud2b8\ud558\uace0 \ubca4\uce58\ub9c8\ud06c\ud55c AI \ubaa8\ub378\uc758 \uc5c4\uc120\ub41c \uc138\ud2b8\uc785\ub2c8\ub2e4.", - "zen.faq.q2": "Zen\uc740 \uc65c \ub354 \uc815\ud655\ud55c\uac00\uc694?", - "zen.faq.a2": - "Zen\uc740 \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\ub97c \uc704\ud574 \ud2b9\ubcc4\ud788 \ud14c\uc2a4\ud2b8\ud558\uace0 \ubca4\uce58\ub9c8\ud06c\ud55c \ubaa8\ub378\ub9cc \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc2a4\ud14c\uc774\ud06c\ub97c \ubc84\ud130 \ub098\uc774\ud504\ub85c \uc790\ub974\uc9c0 \uc54a\ub4ef\uc774, \ucf54\ub529\uc5d0\ub294 \uc9c8 \ub0ae\uc740 \ubaa8\ub378\uc744 \uc4f0\uc9c0 \ub9c8\uc138\uc694.", - "zen.faq.q3": "Zen\uc774 \ub354 \uc800\ub834\ud55c\uac00\uc694?", - "zen.faq.a3": - "Zen\uc740 \ube44\uc601\ub9ac\uc785\ub2c8\ub2e4. Zen\uc740 \ubaa8\ub378 \uc81c\uacf5\uc5c5\uccb4\uc758 \ube44\uc6a9\uc744 \uadf8\ub300\ub85c \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc804\ub2ec\ud569\ub2c8\ub2e4. Zen \uc0ac\uc6a9\ub7c9\uc774 \ub9ce\uc544\uc9c8\uc218\ub85d OpenCode\uac00 \ub354 \ub098\uc740 \uc694\uc728\uc744 \ud611\uc0c1\ud574 \uadf8 \ud61c\ud0dd\uc744 \uc0ac\uc6a9\uc790\uc5d0\uac8c \ub3cc\ub824\uc904 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", - "zen.faq.q4": "Zen \ube44\uc6a9\uc740 \uc5bc\ub9c8\uc778\uac00\uc694?", - "zen.faq.a4.p1.beforePricing": "Zen\uc740", - "zen.faq.a4.p1.pricingLink": "\uc694\uccad\ub2f9 \uacfc\uae08", - "zen.faq.a4.p1.afterPricing": - "\ud558\uba70 \ub9c8\ud06c\uc5c5\uc774 \uc5c6\uc73c\ubbc0\ub85c, \ubaa8\ub378 \uc81c\uacf5\uc5c5\uccb4\uac00 \uccad\uad6c\ud558\ub294 \uae08\uc561\uc744 \uadf8\ub300\ub85c \uc9c0\ubd88\ud569\ub2c8\ub2e4.", - "zen.faq.a4.p2.beforeAccount": - "\ucd1d \ube44\uc6a9\uc740 \uc0ac\uc6a9\ub7c9\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c0\uba70, \uc6d4\uac04 \uc9c0\ucd9c \ud55c\ub3c4\ub97c", - "zen.faq.a4.p2.accountLink": "\uacc4\uc815\uc5d0\uc11c \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4", - "zen.faq.a4.p3": - "\ube44\uc6a9\uc744 \ucda9\ub2f9\ud558\uae30 \uc704\ud574 OpenCode\ub294 $20 \uc794\uc561 \ucda9\uc804\ub2f9 $1.23\uc758 \uc18c\uc561 \uacb0\uc81c \ucc98\ub9ac \uc218\uc218\ub8cc\ub9cc \ucd94\uac00\ud569\ub2c8\ub2e4.", - "zen.faq.q5": "\ub370\uc774\ud130\uc640 \ud504\ub77c\uc774\ubc84\uc2dc\ub294 \uc5b4\ub5bb\uac8c \ub418\ub098\uc694?", - "zen.faq.a5.beforeExceptions": - "\ubaa8\ub4e0 Zen \ubaa8\ub378\uc740 \ubbf8\uad6d\uc5d0\uc11c \ud638\uc2a4\ud305\ub429\ub2c8\ub2e4. \uc81c\uacf5\uc5c5\uccb4\ub294 \uc81c\ub85c \ubcf4\uad00 \uc815\ucc45\uc744 \ub530\ub974\uba70 \ub370\uc774\ud130\ub97c \ubaa8\ub378 \ud559\uc2b5\uc5d0 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.", - "zen.faq.a5.exceptionsLink": "\uc608\uc678 \uc0ac\ud56d \ubcf4\uae30", - "zen.faq.q6": "\uc9c0\ucd9c \ud55c\ub3c4\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub098\uc694?", - "zen.faq.a6": - "\ub124, \uacc4\uc815\uc5d0\uc11c \uc6d4\uac04 \uc9c0\ucd9c \ud55c\ub3c4\ub97c \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", - "zen.faq.q7": "\ucde8\uc18c\ud560 \uc218 \uc788\ub098\uc694?", - "zen.faq.a7": - "\ub124, \uc5b8\uc81c\ub4e0\uc9c0 \uacb0\uc81c\ub97c \ube44\ud65c\uc131\ud654\ud558\uace0 \ub0a8\uc740 \uc794\uc561\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", - "zen.faq.q8": - "\ub2e4\ub978 \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\uc5d0\uc11c\ub3c4 Zen\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub098\uc694?", - "zen.faq.a8": - "Zen\uc740 OpenCode\uc640 \uc798 \uc791\ub3d9\ud558\uc9c0\ub9cc, \uc5b4\ub5a4 \uc5d0\uc774\uc804\ud2b8\uc5d0\uc11c\ub3c4 Zen\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9 \uc911\uc778 \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\uc758 \uc124\uc815 \uc548\ub0b4\ub97c \ub530\ub974\uc138\uc694.", - "zen.cta.start": "Zen 시작하기", - "zen.pricing.title": "$20 선불 잔액 추가", - "zen.pricing.fee": "(+$1.23 카드 처리 수수료)", - "zen.pricing.body": "모든 에이전트와 함께 사용하세요. 월간 지출 한도를 설정하세요. 언제든지 취소하세요.", - "zen.problem.title": "Zen은 어떤 문제를 해결하고 있나요?", - "zen.problem.body": - "사용할 수 있는 모델이 너무 많지만 코딩 에이전트와 잘 작동하는 모델은 소수에 불과합니다. 대부분의 공급자는 다양한 결과에 따라 다르게 구성합니다.", - "zen.problem.subtitle": "우리는 OpenCode 사용자뿐만 아니라 모든 사람을 위해 이 문제를 해결하고 있습니다.", - "zen.problem.item1": "특정 모델을 테스트하고 팀에 문의", - "zen.problem.item2": "공급자와 협력하여 제대로 전달되도록 보장", - "zen.problem.item3": "우리가 권장하는 모든 모델 제공자 조합 벤치마킹", - "zen.how.title": "Zen 작동 방식", - "zen.how.body": "OpenCode와 함께 Zen을 사용하는 것이 좋지만 모든 에이전트와 함께 Zen을 사용할 수 있습니다.", - "zen.how.step1.title": "가입하고 $20 잔액을 추가하세요", - "zen.how.step1.beforeLink": "따라가다", - "zen.how.step1.link": "설정 지침", - "zen.how.step2.title": "투명한 가격으로 Zen을 사용하세요", - "zen.how.step2.link": "요청당 지불", - "zen.how.step2.afterLink": "마크업이 전혀 없는", - "zen.how.step3.title": "자동 충전", - "zen.how.step3.body": "잔액이 5달러에 도달하면 자동으로 20달러가 추가됩니다.", - "zen.privacy.title": "귀하의 개인 정보는 우리에게 중요합니다", - "zen.privacy.beforeExceptions": - "모든 Zen 모델은 미국에서 호스팅됩니다. 제공업체는 무보존 정책을 따르고 모델 교육에 데이터를 사용하지 않습니다.", - "zen.privacy.exceptionsLink": "다음 예외", - "download.meta.description": "macOS, Windows, Linux\uc6a9 OpenCode\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\uc138\uc694", - "download.hero.title": "OpenCode \ub2e4\uc6b4\ub85c\ub4dc", - "download.hero.subtitle": "macOS, Windows, Linux\uc5d0\uc11c \ubca0\ud0c0\ub85c \uc81c\uacf5\ub429\ub2c8\ub2e4", - "download.hero.button": "{{os}}\uc6a9 \ub2e4\uc6b4\ub85c\ub4dc", - "download.section.terminal": "OpenCode \ud130\ubbf8\ub110", - "download.section.desktop": "OpenCode \ub370\uc2a4\ud06c\ud1b1 (Beta)", - "download.section.extensions": "OpenCode \ud655\uc7a5", - "download.section.integrations": "OpenCode \ud1b5\ud569", - "download.action.download": "\ub2e4\uc6b4\ub85c\ub4dc", - "download.action.install": "\uc124\uce58", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - "download.faq.a3.beforeLocal": - "\uaf2d \uadf8\ub807\uc9c0\ub294 \uc54a\uc9c0\ub9cc \uc544\ub9c8\ub3c4 \ud544\uc694\ud569\ub2c8\ub2e4. OpenCode\ub97c \uc720\ub8cc \uc81c\uacf5\uc5c5\uccb4\uc5d0 \uc5f0\uacb0\ud558\ub824\uba74 AI \uad6c\ub3c5\uc774 \ud544\uc694\ud558\uc9c0\ub9cc", - "download.faq.a3.localLink": "\ub85c\uceec \ubaa8\ub378", - "download.faq.a3.afterLocal.beforeZen": - "\uc740 \ubb34\ub8cc\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c", - "download.faq.a3.afterZen": - " \uc0ac\uc6a9\uc744 \uad8c\uc7a5\ud558\uc9c0\ub9cc OpenCode\ub294 OpenAI, Anthropic, xAI \ub4f1 \ubaa8\ub4e0 \uc8fc\uc694 \uc81c\uacf5\uc5c5\uccb4\uc640\ub3c4 \uc791\ub3d9\ud569\ub2c8\ub2e4.", - "download.faq.a5.p1": "OpenCode\ub294 100% \ubb34\ub8cc\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", - "download.faq.a5.p2.beforeZen": - "\ucd94\uac00 \ube44\uc6a9\uc740 \ubaa8\ub378 \uc81c\uacf5\uc5c5\uccb4 \uad6c\ub3c5\uc5d0\uc11c \ubc1c\uc0dd\ud569\ub2c8\ub2e4. OpenCode\ub294 \uc5b4\ub5a4 \ubaa8\ub378 \uc81c\uacf5\uc5c5\uccb4\uc640\ub3c4 \ub3d9\uc791\ud558\uc9c0\ub9cc", - "download.faq.a5.p2.afterZen": " \uc0ac\uc6a9\uc744 \uad8c\uc7a5\ud569\ub2c8\ub2e4.", - "download.faq.a6.p1": - "\ub370\uc774\ud130\uc640 \uc815\ubcf4\ub294 OpenCode\uc5d0\uc11c \uacf5\uc720 \uac00\ub2a5\ud55c \ub9c1\ud06c\ub97c \ub9cc\ub4e4 \ub54c\ub9cc \uc800\uc7a5\ub429\ub2c8\ub2e4.", - "download.faq.a6.p2.beforeShare": "\uc790\uc138\ud788 \uc54c\uc544\ubcf4\uae30:", - "download.faq.a6.shareLink": "\uacf5\uc720 \ud398\uc774\uc9c0", - - "enterprise.title": - "OpenCode | \uc870\uc9c1\uc744 \uc704\ud55c \uc5d4\ud130\ud504\ub77c\uc774\uc988 \uc194\ub8e8\uc158", - "enterprise.meta.description": "\uc5d4\ud130\ud504\ub77c\uc774\uc988 \uc194\ub8e8\uc158 \ubb38\uc758: OpenCode", - "enterprise.hero.title": "\ub2f9\uc2e0\uc758 \ucf54\ub4dc\ub294 \ub2f9\uc2e0\uc758 \uac83", - "enterprise.hero.body1": - "OpenCode\ub294 \ub370\uc774\ud130\ub098 \ucf58\ud150\uce20\ub97c \uc800\uc7a5\ud558\uc9c0 \uc54a\uace0, \ub77c\uc774\uc120\uc2a4 \uc81c\ud55c\uc774\ub098 \uc18c\uc720\uad8c \uc8fc\uc7a5 \uc5c6\uc774 \uc870\uc9c1 \ub0b4\ubd80\uc5d0\uc11c \uc548\uc804\ud558\uac8c \uc6b4\uc601\ub429\ub2c8\ub2e4. \ud300\uacfc \ud568\uaed8 \ud30c\uc77c\ub7ff \ud14c\uc2a4\ud2b8\ub97c \uc2dc\uc791\ud55c \ub4a4, SSO\uc640 \ub0b4\ubd80 AI \uac8c\uc774\ud2b8\uc6e8\uc774\uc5d0 \ud1b5\ud569\ud558\uc5ec \uc870\uc9c1 \uc804\uccb4\uc5d0 \ubc30\ud3ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", - "enterprise.hero.body2": - "\uc5b4\ub5a4 \ubd80\ubd84\uc5d0\uc11c \ub3c4\uc640\ub4dc\ub9b4 \uc218 \uc788\ub294\uc9c0 \uc54c\ub824\uc8fc\uc138\uc694.", - "enterprise.form.name.label": "\uc774\ub984", - "enterprise.form.name.placeholder": "\uc81c\ud504 \ubca0\uc774\uc870\uc2a4", - "enterprise.form.role.label": "\uc9c1\ucc45", - "enterprise.form.role.placeholder": "\ucd5c\uace0\uacbd\uc601\ucc45\uc784\uc790", - "enterprise.form.email.label": "\ud68c\uc0ac \uc774\uba54\uc77c", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "\uc5b4\ub5a4 \ubb38\uc81c\ub97c \ud574\uacb0\ud558\uace0 \uc2f6\uc740\uac00\uc694?", - "enterprise.form.message.placeholder": - "\uc6b0\ub9ac\ub294 ...\uc5d0 \ub300\ud55c \ub3c4\uc6c0\uc774 \ud544\uc694\ud574\uc694.", - "enterprise.form.send": "\ubcf4\ub0b4\uae30", - "enterprise.form.sending": "\ubcf4\ub0b4\ub294 \uc911...", - "enterprise.form.success": - "\uba54\uc2dc\uc9c0\uac00 \uc804\uc1a1\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uace7 \uc5f0\ub77d\ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4.", - "enterprise.faq.title": "FAQ", - "enterprise.faq.q1": "OpenCode Enterprise\ub294 \ubb34\uc5c7\uc778\uac00\uc694?", - "enterprise.faq.a1": - "OpenCode Enterprise\ub294 \ucf54\ub4dc\uc640 \ub370\uc774\ud130\uac00 \uc808\ub300 \uc678\ubd80\ub85c \ub098\uac00\uc9c0 \uc54a\uac8c \ud558\uace0 \uc2f6\uc740 \uc870\uc9c1\uc744 \uc704\ud55c \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4. SSO\uc640 \ub0b4\ubd80 AI/LLM \uac8c\uc774\ud2b8\uc6e8\uc774\uc640 \ud1b5\ud569\ub418\ub294 \uc911\uc559\ud654\ub41c \uad6c\uc131\uc744 \ud1b5\ud574 \uc774\ub97c \uc2e4\ud604\ud569\ub2c8\ub2e4.", - "enterprise.faq.q2": - "OpenCode Enterprise\ub97c \uc2dc\uc791\ud558\ub824\uba74 \uc5b4\ub5a4 \ubc29\ubc95\uc774 \uc788\ub098\uc694?", - "enterprise.faq.a2": - "\ud300\uc5d0\uc11c \ub0b4\ubd80 \ud2b8\ub77c\uc774\uc5bc\ub85c \uc2dc\uc791\ud558\uba74 \ub429\ub2c8\ub2e4. OpenCode\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \ucf54\ub4dc\uc640 \ucf58\ud150\uce20 \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud558\uc9c0 \uc54a\uc544 \uc27d\uac8c \uc2dc\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c \uc800\ud76c\uc5d0\uac8c \uc5f0\ub77d\ud558\uc5ec \uac00\uaca9\uacfc \uad6c\ud604 \uc635\uc158\uc744 \uc0c1\uc758\ud558\uc138\uc694.", - "enterprise.faq.q3": - "\uc5d4\ud130\ud504\ub77c\uc774\uc988 \uac00\uaca9\uc740 \uc5b4\ub5bb\uac8c \ucc45\uc815\ub418\ub098\uc694?", - "enterprise.faq.a3": - "\uc0ac\uc6a9\uc790 \uc218(\uc2dc\ud2b8) \uae30\ubc18\uc758 \uc5d4\ud130\ud504\ub77c\uc774\uc988 \uac00\uaca9\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc790\uccb4 LLM \uac8c\uc774\ud2b8\uc6e8\uc774\uac00 \uc788\ub2e4\uba74, \uc0ac\uc6a9\ud55c \ud1a0\ud070\uc5d0 \ub300\ud574 \ubcc4\ub3c4 \uacfc\uae08\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \uc0ac\ud56d\uc740 \uc870\uc9c1 \uc694\uad6c \uc0ac\ud56d\uc5d0 \ub9de\ucd98 \uacac\uc801\uc744 \uc704\ud574 \ubb38\uc758\ud574 \uc8fc\uc138\uc694.", - "enterprise.faq.q4": "OpenCode Enterprise\uc5d0\uc11c \ub370\uc774\ud130\uac00 \uc548\uc804\ud55c\uac00\uc694?", - "enterprise.faq.a4": - "\uc608. OpenCode\ub294 \ucf54\ub4dc\ub098 \ucf58\ud150\uce20 \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubaa8\ub4e0 \ucc98\ub9ac\ub294 \ub85c\uceec\uc5d0\uc11c \uc774\ub8e8\uc5b4\uc9c0\uac70\ub098, \uadc0\uc0ac\uc758 AI \uc81c\uacf5\uc790\uc5d0 \ub300\ud55c \uc9c1\uc811 API \ud638\ucd9c\ub85c \uc218\ud589\ub429\ub2c8\ub2e4. \uc911\uc559\ud654\ub41c \uad6c\uc131\uacfc SSO \ud1b5\ud569\uc744 \ud1b5\ud574 \ub370\uc774\ud130\ub294 \uc870\uc9c1\uc758 \uc778\ud504\ub77c \ub0b4\uc5d0\uc11c \uc548\uc804\ud558\uac8c \uc720\uc9c0\ub429\ub2c8\ub2e4.", - - "brand.title": "OpenCode | \ube0c\ub79c\ub4dc", - "brand.meta.description": "OpenCode \ube0c\ub79c\ub4dc \uac00\uc774\ub4dc\ub77c\uc778", - "brand.heading": "\ube0c\ub79c\ub4dc \uac00\uc774\ub4dc\ub77c\uc778", - "brand.subtitle": - "OpenCode \ube0c\ub79c\ub4dc\ub97c \ud65c\uc6a9\ud560 \ub54c \ub3c4\uc6c0\uc774 \ub418\ub294 \ub9ac\uc18c\uc2a4\uc640 \uc5d0\uc14b\uc785\ub2c8\ub2e4.", - "brand.downloadAll": "\ubaa8\ub4e0 \uc5d0\uc14b \ub2e4\uc6b4\ub85c\ub4dc", - "changelog.title": "OpenCode | \ubcc0\uacbd \ub0b4\uc5ed", - "changelog.meta.description": "OpenCode \ub9b4\ub9ac\uc2a4 \ub178\ud2b8 \ubc0f \ubcc0\uacbd \ub0b4\uc5ed", - "changelog.hero.title": "\ubcc0\uacbd \ub0b4\uc5ed", - "changelog.hero.subtitle": - "OpenCode\uc758 \uc0c8\ub85c\uc6b4 \uc5c5\ub370\uc774\ud2b8\uc640 \uac1c\uc120 \uc0ac\ud56d", - "changelog.empty": "\ubcc0\uacbd \ub0b4\uc5ed\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.", - "changelog.viewJson": "JSON \ubcf4\uae30", - "workspace.nav.zen": "선", - "workspace.nav.apiKeys": "API 키", - "workspace.nav.members": "회원", - "workspace.nav.billing": "청구", - "workspace.nav.settings": "설정", - "workspace.home.banner.beforeLink": "코딩 에이전트를 위한 신뢰할 수 있는 최적화 모델입니다.", - "workspace.home.billing.loading": "로드 중...", - "workspace.home.billing.enable": "결제 활성화", - "workspace.home.billing.currentBalance": "현재 잔액", - "workspace.newUser.feature.tested.title": "테스트 및 검증된 모델", - "workspace.newUser.feature.tested.body": - "최고의 성능을 보장하기 위해 코딩 에이전트용 모델을 벤치마킹하고 테스트했습니다.", - "workspace.newUser.feature.quality.title": "최고 품질", - "workspace.newUser.feature.quality.body": - "최적의 성능을 위해 구성된 액세스 모델 - 다운그레이드나 저렴한 공급자로의 라우팅이 없습니다.", - "workspace.newUser.feature.lockin.title": "잠금 없음", - "workspace.newUser.feature.lockin.body": - "코딩 에이전트와 함께 Zen을 사용하고 원할 때마다 opencode와 함께 다른 공급자를 계속 사용하세요.", - "workspace.newUser.copyApiKey": "API 키 복사", - "workspace.newUser.copyKey": "키 복사", - "workspace.newUser.copied": "복사되었습니다!", - "workspace.newUser.step.enableBilling": "결제 활성화", - "workspace.newUser.step.login.before": "달리다", - "workspace.newUser.step.login.after": "opencode를 선택하세요.", - "workspace.newUser.step.pasteKey": "API 키를 붙여넣으세요.", - "workspace.newUser.step.models.before": "opencode를 시작하고 실행하세요.", - "workspace.newUser.step.models.after": "모델을 선택하려면", - "workspace.models.title": "모델", - "workspace.models.subtitle.beforeLink": "작업 영역 구성원이 액세스할 수 있는 모델을 관리합니다.", - "workspace.models.table.model": "모델", - "workspace.models.table.enabled": "활성화됨", - "workspace.providers.title": "나만의 키 가져오기", - "workspace.providers.subtitle": "AI 제공업체에서 자체 API 키를 구성하세요.", - "workspace.providers.placeholder": "{{provider}} API 키({{prefix}}...)를 입력하세요.", - "workspace.providers.configure": "구성", - "workspace.providers.edit": "편집하다", - "workspace.providers.delete": "삭제", - "workspace.providers.saving": "절약...", - "workspace.providers.save": "구하다", - "workspace.providers.table.provider": "공급자", - "workspace.providers.table.apiKey": "API 키", - "workspace.usage.title": "이용내역", - "workspace.usage.subtitle": "최근 API 사용량 및 비용.", - "workspace.usage.empty": "시작하려면 첫 번째 API 호출을 하세요.", - "workspace.usage.table.date": "날짜", - "workspace.usage.table.model": "모델", - "workspace.usage.table.input": "입력", - "workspace.usage.table.output": "산출", - "workspace.usage.table.cost": "비용", - "workspace.usage.breakdown.input": "입력", - "workspace.usage.breakdown.cacheRead": "캐시 읽기", - "workspace.usage.breakdown.cacheWrite": "캐시 쓰기", - "workspace.usage.breakdown.output": "산출", - "workspace.usage.breakdown.reasoning": "추리", - "workspace.usage.subscription": "구독(${{amount}})", - "workspace.cost.title": "비용", - "workspace.cost.subtitle": "모델별로 분류된 사용 비용입니다.", - "workspace.cost.allModels": "모든 모델", - "workspace.cost.allKeys": "모든 키", - "workspace.cost.deletedSuffix": "(삭제됨)", - "workspace.cost.empty": "선택한 기간에는 사용 데이터가 없습니다.", - "workspace.cost.subscriptionShort": "보결", - "workspace.keys.title": "API 키", - "workspace.keys.subtitle": "opencode 서비스에 액세스하기 위해 API 키를 관리하세요.", - "workspace.keys.create": "API 키 생성", - "workspace.keys.placeholder": "키 이름을 입력하세요", - "workspace.keys.empty": "opencode 게이트웨이 API 키 생성", - "workspace.keys.table.name": "이름", - "workspace.keys.table.key": "열쇠", - "workspace.keys.table.createdBy": "작성자", - "workspace.keys.table.lastUsed": "마지막으로 사용됨", - "workspace.keys.copyApiKey": "API 키 복사", - "workspace.keys.delete": "삭제", - "workspace.members.title": "회원", - "workspace.members.subtitle": "워크스페이스 멤버 및 해당 권한을 관리합니다.", - "workspace.members.invite": "회원 초대", - "workspace.members.inviting": "초대 중...", - "workspace.members.beta.beforeLink": "베타 기간 동안 팀에는 작업공간이 무료로 제공됩니다.", - "workspace.members.form.invitee": "초대받은 사람", - "workspace.members.form.emailPlaceholder": "이메일을 입력하세요", - "workspace.members.form.role": "역할", - "workspace.members.form.monthlyLimit": "월별 지출 한도", - "workspace.members.noLimit": "제한 없음", - "workspace.members.noLimitLowercase": "제한 없음", - "workspace.members.invited": "초대됨", - "workspace.members.edit": "편집하다", - "workspace.members.delete": "삭제", - "workspace.members.saving": "절약...", - "workspace.members.save": "구하다", - "workspace.members.table.email": "이메일", - "workspace.members.table.role": "역할", - "workspace.members.table.monthLimit": "월 한도", - "workspace.members.role.admin": "관리자", - "workspace.members.role.adminDescription": "모델, 회원, 결제를 관리할 수 있습니다.", - "workspace.members.role.member": "회원", - "workspace.members.role.memberDescription": "자신에 대해서만 API 키를 생성할 수 있습니다.", - "workspace.settings.title": "설정", - "workspace.settings.subtitle": "워크스페이스 이름과 기본 설정을 업데이트하세요.", - "workspace.settings.workspaceName": "작업공간 이름", - "workspace.settings.defaultName": "기본", - "workspace.settings.updating": "업데이트 중...", - "workspace.settings.save": "구하다", - "workspace.settings.edit": "편집하다", - "workspace.billing.title": "청구", - "workspace.billing.subtitle.beforeLink": "결제 수단을 관리합니다.", - "workspace.billing.contactUs": "문의하기", - "workspace.billing.subtitle.afterLink": "질문이 있는 경우.", - "workspace.billing.currentBalance": "현재 잔액", - "workspace.billing.add": "$ 추가", - "workspace.billing.enterAmount": "금액 입력", - "workspace.billing.loading": "로드 중...", - "workspace.billing.addAction": "추가하다", - "workspace.billing.addBalance": "잔액 추가", - "workspace.billing.linkedToStripe": "스트라이프에 연결됨", - "workspace.billing.manage": "관리하다", - "workspace.billing.enable": "결제 활성화", - "workspace.monthlyLimit.title": "월 한도", - "workspace.monthlyLimit.subtitle": "계정의 월별 사용 한도를 설정하세요.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "환경...", - "workspace.monthlyLimit.set": "세트", - "workspace.monthlyLimit.edit": "한도 편집", - "workspace.monthlyLimit.noLimit": "사용 제한이 설정되지 않았습니다.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "현재 사용량:", - "workspace.monthlyLimit.currentUsage.beforeAmount": "$입니다", - "workspace.reload.title": "자동 재장전", - "workspace.reload.disabled.before": "자동 새로고침은", - "workspace.reload.disabled.state": "장애가 있는", - "workspace.reload.disabled.after": "잔액이 부족할 때 자동으로 다시 로드할 수 있습니다.", - "workspace.reload.enabled.before": "자동 새로고침은", - "workspace.reload.enabled.state": "활성화됨", - "workspace.reload.enabled.middle": "다시 로드하겠습니다.", - "workspace.reload.processingFee": "처리 수수료", - "workspace.reload.enabled.after": "잔액이 도달하면", - "workspace.reload.edit": "편집하다", - "workspace.reload.enable": "할 수 있게 하다", - "workspace.reload.enableAutoReload": "자동 재로드 활성화", - "workspace.reload.reloadAmount": "$ 새로고침", - "workspace.reload.whenBalanceReaches": "잔액이 $에 도달하면", - "workspace.reload.saving": "절약...", - "workspace.reload.save": "구하다", - "workspace.reload.failedAt": "새로고침 실패 시간:", - "workspace.reload.reason": "이유:", - "workspace.reload.updatePaymentMethod": "결제 수단을 업데이트하고 다시 시도해 주세요.", - "workspace.reload.retrying": "재시도 중...", - "workspace.reload.retry": "다시 해 보다", - "workspace.payments.title": "결제 내역", - "workspace.payments.subtitle": "최근 결제 거래.", - "workspace.payments.table.date": "날짜", - "workspace.payments.table.paymentId": "결제 ID", - "workspace.payments.table.amount": "양", - "workspace.payments.table.receipt": "영수증", - "workspace.payments.type.credit": "신용 거래", - "workspace.payments.type.subscription": "신청", - "workspace.payments.view": "보다", - "workspace.black.loading": "로드 중...", - "workspace.black.time.day": "낮", - "workspace.black.time.days": "날", - "workspace.black.time.hour": "시간", - "workspace.black.time.hours": "시간", - "workspace.black.time.minute": "분", - "workspace.black.time.minutes": "분", - "workspace.black.time.fewSeconds": "몇 초", - "workspace.black.subscription.title": "신청", - "workspace.black.subscription.message": "귀하는 월 ${{plan}}의 가격으로 OpenCode Black을 구독하고 있습니다.", - "workspace.black.subscription.manage": "구독 관리", - "workspace.black.subscription.rollingUsage": "5시간 이용", - "workspace.black.subscription.weeklyUsage": "주간 사용량", - "workspace.black.subscription.resetsIn": "다음 시간에 재설정됩니다.", - "workspace.black.subscription.useBalance": "사용 한도 도달 후 사용 가능한 잔액을 사용하세요", - "workspace.black.waitlist.title": "대기자 명단", - "workspace.black.waitlist.joined": "귀하는 월 ${{plan}} OpenCode 블랙 플랜의 대기자 명단에 등록되어 있습니다.", - "workspace.black.waitlist.ready": "귀하를 월 ${{plan}} OpenCode Black 플랜에 등록할 준비가 되었습니다.", - "workspace.black.waitlist.leave": "대기자 명단에서 나가기", - "workspace.black.waitlist.leaving": "퇴거...", - "workspace.black.waitlist.left": "왼쪽", - "workspace.black.waitlist.enroll": "싸다", - "workspace.black.waitlist.enrolling": "등록 중...", - "workspace.black.waitlist.enrolled": "등록됨", - "workspace.black.waitlist.enrollNote": "등록을 클릭하면 구독이 즉시 시작되고 카드에 요금이 청구됩니다.", -} satisfies Dict diff --git a/packages/console/app/src/i18n/no.ts b/packages/console/app/src/i18n/no.ts deleted file mode 100644 index a1c04bc0a..000000000 --- a/packages/console/app/src/i18n/no.ts +++ /dev/null @@ -1,466 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "Dokumentasjon", - "nav.changelog": "Endringslogg", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "Enterprise", - "nav.zen": "Zen", - "nav.login": "Logg inn", - "nav.free": "Gratis", - "nav.home": "Hjem", - "nav.openMenu": "Aapne meny", - "nav.getStartedFree": "Kom i gang gratis", - - "nav.context.copyLogo": "Kopier logo som SVG", - "nav.context.copyWordmark": "Kopier wordmark som SVG", - "nav.context.brandAssets": "Brand-ressurser", - - "footer.github": "GitHub", - "footer.docs": "Dokumentasjon", - "footer.changelog": "Endringslogg", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "Brand", - "legal.privacy": "Personvern", - "legal.terms": "Vilkår", - - "email.title": "Fa beskjed forst nar vi lanserer nye produkter", - "email.subtitle": "Meld deg pa ventelisten for tidlig tilgang.", - "email.placeholder": "E-postadresse", - "email.subscribe": "Abonner", - "email.success": "Nesten ferdig - sjekk innboksen din og bekreft e-postadressen", - - "notFound.title": "Ikke funnet | opencode", - "notFound.heading": "404 - Side ikke funnet", - "notFound.home": "Hjem", - "notFound.docs": "Dokumentasjon", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "Logg ut", - - "workspace.select": "Velg workspace", - "workspace.createNew": "+ Opprett nytt workspace", - "workspace.modal.title": "Opprett nytt workspace", - "workspace.modal.placeholder": "Skriv inn workspace-navn", - - "common.cancel": "Avbryt", - "common.creating": "Oppretter...", - "common.create": "Opprett", - - "common.videoUnsupported": "Nettleseren din stotter ikke video-taggen.", - "common.figure": "Fig {{n}}.", - "common.faq": "FAQ", - "common.learnMore": "Les mer", - - "home.title": "OpenCode | Den apne kildekode AI-kodingsagenten", - - "home.banner.badge": "Ny", - "home.banner.text": "Desktop-app tilgjengelig i beta", - "home.banner.platforms": "pa macOS, Windows og Linux", - "home.banner.downloadNow": "Last ned na", - "home.banner.downloadBetaNow": "Last ned desktop-betaen na", - - "home.hero.title": "Den apne kildekode AI-kodingsagenten", - "home.hero.subtitle.a": - "Gratis modeller inkludert, eller koble til hvilken som helst modell fra hvilken som helst leverandor,", - "home.hero.subtitle.b": "inkludert Claude, GPT, Gemini og mer.", - - "home.install.ariaLabel": "Installeringsalternativer", - - "home.what.title": "Hva er OpenCode?", - "home.what.body": "OpenCode er en apen kildekode-agent som hjelper deg a skrive kode i terminal, IDE eller desktop.", - "home.what.lsp.title": "LSP aktivert", - "home.what.lsp.body": "Laster automatisk de riktige LSP-ene for LLM-en", - "home.what.multiSession.title": "Multi-sesjon", - "home.what.multiSession.body": "Start flere agenter parallelt pa samme prosjekt", - "home.what.shareLinks.title": "Del lenker", - "home.what.shareLinks.body": "Del en lenke til en sesjon for referanse eller feilsoking", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "Logg inn med GitHub for a bruke Copilot-kontoen din", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": "Logg inn med OpenAI for a bruke ChatGPT Plus- eller Pro-kontoen din", - "home.what.anyModel.title": "Hvilken som helst modell", - "home.what.anyModel.body": "75+ LLM-leverandorer via Models.dev, inkludert lokale modeller", - "home.what.anyEditor.title": "Hvilken som helst editor", - "home.what.anyEditor.body": "Tilgjengelig som terminalgrensesnitt, desktop-app og IDE-utvidelse", - "home.what.readDocs": "Les docs", - - "home.growth.title": "Den apne kildekode AI-kodingsagenten", - "home.growth.body": - "Med over {{stars}} GitHub-stjerner, {{contributors}} bidragsytere og over {{commits}} commits, brukes OpenCode av over {{monthlyUsers}} utviklere hver maned.", - "home.growth.githubStars": "GitHub-stjerner", - "home.growth.contributors": "Bidragsytere", - "home.growth.monthlyDevs": "Manedlige devs", - - "home.privacy.title": "Bygget med personvern forst", - "home.privacy.body": - "OpenCode lagrer ikke koden din eller kontekstdata, slik at den kan fungere i personvernsensitive miljoer.", - "home.privacy.learnMore": "Les mer om", - "home.privacy.link": "personvern", - - "home.faq.q1": "Hva er OpenCode?", - "home.faq.a1": - "OpenCode er en apen kildekode-agent som hjelper deg a skrive og kjore kode med hvilken som helst AI-modell. Den er tilgjengelig som terminalgrensesnitt, desktop-app eller IDE-utvidelse.", - "home.faq.q2": "Hvordan bruker jeg OpenCode?", - "home.faq.a2.before": "Den enkleste maten a komme i gang pa er a lese", - "home.faq.a2.link": "introen", - "home.faq.q3": "Trenger jeg ekstra AI-abonnementer for a bruke OpenCode?", - "home.faq.a3.p1": "Ikke nodvendigvis. OpenCode kommer med gratis modeller du kan bruke uten a opprette en konto.", - "home.faq.a3.p2.beforeZen": "I tillegg kan du bruke populære kodemodeller ved a opprette en", - "home.faq.a3.p2.afterZen": " konto.", - "home.faq.a3.p3": - "Vi oppfordrer til a bruke Zen, men OpenCode fungerer ogsa med populære leverandorer som OpenAI, Anthropic, xAI osv.", - "home.faq.a3.p4.beforeLocal": "Du kan til og med koble til dine", - "home.faq.a3.p4.localLink": "lokale modeller", - "home.faq.q4": "Kan jeg bruke mine eksisterende AI-abonnementer med OpenCode?", - "home.faq.a4.p1": - "Ja. OpenCode stotter abonnementer fra alle store leverandorer. Du kan bruke Claude Pro/Max, ChatGPT Plus/Pro eller GitHub Copilot.", - "home.faq.q5": "Kan jeg bare bruke OpenCode i terminalen?", - "home.faq.a5.beforeDesktop": "Ikke lenger! OpenCode er na tilgjengelig som en app for", - "home.faq.a5.desktop": "desktop", - "home.faq.a5.and": "og", - "home.faq.a5.web": "web", - "home.faq.q6": "Hva koster OpenCode?", - "home.faq.a6": - "OpenCode er 100% gratis a bruke. Det kommer ogsa med et sett gratis modeller. Det kan vare ekstra kostnader hvis du kobler til en annen leverandor.", - "home.faq.q7": "Hva med data og personvern?", - "home.faq.a7.p1": "Dataene dine lagres kun nar du bruker vare gratis modeller eller lager delbare lenker.", - "home.faq.a7.p2.beforeModels": "Les mer om", - "home.faq.a7.p2.modelsLink": "vare modeller", - "home.faq.a7.p2.and": "og", - "home.faq.a7.p2.shareLink": "delingssider", - "home.faq.q8": "Er OpenCode apen kildekode?", - "home.faq.a8.p1": "Ja, OpenCode er fullt open source. Kildekoden er offentlig pa", - "home.faq.a8.p2": "under", - "home.faq.a8.mitLicense": "MIT-lisensen", - "home.faq.a8.p3": - ", som betyr at hvem som helst kan bruke, endre eller bidra til utviklingen. Alle i communityet kan opprette issues, sende inn pull requests og utvide funksjonalitet.", - - "home.zenCta.title": "Fa tilgang til palitelige, optimaliserte modeller for kodingsagenter", - "home.zenCta.body": - "Zen gir deg tilgang til et handplukket sett med AI-modeller som OpenCode har testet og benchmarked spesielt for kodingsagenter. Du slipper a bekymre deg for ujevn ytelse og kvalitet pa tvers av leverandorer: bruk validerte modeller som fungerer.", - "home.zenCta.link": "Les om Zen", - - "download.title": "OpenCode | Nedlasting", - - "zen.title": "OpenCode Zen | Et kuratert sett med palitelige, optimaliserte modeller for kodingsagenter", - "zen.hero.title": "Fa tilgang til palitelige, optimaliserte modeller for kodingsagenter", - "zen.hero.body": - "Zen gir deg tilgang til et handplukket sett med AI-modeller som OpenCode har testet og benchmarked spesielt for kodingsagenter. Du slipper a bekymre deg for ujevn ytelse og kvalitet pa tvers av leverandorer: bruk validerte modeller som fungerer.", - - "zen.faq.q1": "Hva er OpenCode Zen?", - "zen.faq.a1": - "Zen er et kuratert sett med AI-modeller testet og benchmarked for kodingsagenter, laget av teamet bak OpenCode.", - "zen.faq.q2": "Hva gjor Zen mer presis?", - "zen.faq.a2": - "Zen tilbyr bare modeller som er testet og benchmarked spesifikt for kodingsagenter. Du ville ikke brukt en smorkniv til a skjare biff; ikke bruk darlige modeller til koding.", - "zen.faq.q3": "Er Zen billigere?", - "zen.faq.a3": - "Zen er ikke for profitt. Zen videreformidler kostnadene fra modellleverandorene direkte til deg. Jo mer Zen brukes, desto mer kan OpenCode forhandle bedre priser og gi dem videre til deg.", - "zen.faq.q4": "Hva koster Zen?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "tar betalt per foresporsel", - "zen.faq.a4.p1.afterPricing": "uten paslag, sa du betaler akkurat det modellleverandoren tar betalt.", - "zen.faq.a4.p2.beforeAccount": "Totalprisen avhenger av bruk, og du kan sette manedlige utgiftsgrenser i din", - "zen.faq.a4.p2.accountLink": "konto", - "zen.faq.a4.p3": - "For a dekke kostnader legger OpenCode til bare en liten betalingsbehandlingsavgift pa $1.23 per $20 saldo-pafyll.", - "zen.faq.q5": "Hva med data og personvern?", - "zen.faq.a5.beforeExceptions": - "Alle Zen-modeller hostes i USA. Leverandorer folger en zero-retention-policy og bruker ikke dataene dine til modelltrening, med de", - "zen.faq.a5.exceptionsLink": "folgende unntakene", - "zen.faq.q6": "Kan jeg sette utgiftsgrenser?", - "zen.faq.a6": "Ja, du kan sette manedlige utgiftsgrenser i kontoen din.", - "zen.faq.q7": "Kan jeg avslutte?", - "zen.faq.a7": "Ja, du kan deaktivere fakturering nar som helst og bruke resterende saldo.", - "zen.faq.q8": "Kan jeg bruke Zen med andre kodingsagenter?", - "zen.faq.a8": - "Zen fungerer veldig bra med OpenCode, men du kan bruke Zen med hvilken som helst agent. Folg oppsettinstruksjonene i din foretrukne kodingsagent.", - "zen.cta.start": "Kom i gang med Zen", - "zen.pricing.title": "Legg til $20 Pay as you go-saldo", - "zen.pricing.fee": "(+$1,23 kortbehandlingsgebyr)", - "zen.pricing.body": "Bruk med ethvert middel. Angi månedlige forbruksgrenser. Avbryt når som helst.", - "zen.problem.title": "Hvilket problem løser Zen?", - "zen.problem.body": - "Det er så mange modeller tilgjengelig, men bare noen få fungerer bra med kodemidler. De fleste leverandører konfigurerer dem annerledes med varierende resultater.", - "zen.problem.subtitle": "Vi fikser dette for alle, ikke bare OpenCode-brukere.", - "zen.problem.item1": "Tester utvalgte modeller og konsulterer teamene deres", - "zen.problem.item2": "Samarbeide med leverandører for å sikre at de blir levert riktig", - "zen.problem.item3": "Benchmarking av alle modellleverandørkombinasjoner anbefaler vi", - "zen.how.title": "Hvordan Zen fungerer", - "zen.how.body": "Selv om vi foreslår at du bruker Zen med OpenCode, kan du bruke Zen med hvilken som helst agent.", - "zen.how.step1.title": "Registrer deg og legg til $20-saldo", - "zen.how.step1.beforeLink": "følg", - "zen.how.step1.link": "oppsettsinstruksjoner", - "zen.how.step2.title": "Bruk Zen med transparente priser", - "zen.how.step2.link": "betale per forespørsel", - "zen.how.step2.afterLink": "med null markeringer", - "zen.how.step3.title": "Automatisk påfylling", - "zen.how.step3.body": "når saldoen din når $5, fyller vi automatisk på $20", - "zen.privacy.title": "Personvernet ditt er viktig for oss", - "zen.privacy.beforeExceptions": - "Alle Zen-modeller er vert i USA. Leverandører følger en nulloppbevaringspolicy og bruker ikke dataene dine til modelltrening, med", - "zen.privacy.exceptionsLink": "følgende unntak", - "download.meta.description": "Last ned OpenCode for macOS, Windows og Linux", - "download.hero.title": "Last ned OpenCode", - "download.hero.subtitle": "Tilgjengelig i beta for macOS, Windows og Linux", - "download.hero.button": "Last ned for {{os}}", - "download.section.terminal": "OpenCode Terminal", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "OpenCode Extensions", - "download.section.integrations": "OpenCode Integrations", - "download.action.download": "Last ned", - "download.action.install": "Installer", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - - "download.faq.a3.beforeLocal": - "Ikke nodvendigvis, men sannsynligvis. Du trenger et AI-abonnement hvis du vil koble OpenCode til en betalt leverandor, men du kan jobbe med", - "download.faq.a3.localLink": "lokale modeller", - "download.faq.a3.afterLocal.beforeZen": "gratis. Selv om vi oppfordrer brukere til a bruke", - "download.faq.a3.afterZen": ", fungerer OpenCode med alle populære leverandorer som OpenAI, Anthropic, xAI osv.", - - "download.faq.a5.p1": "OpenCode er 100% gratis a bruke.", - "download.faq.a5.p2.beforeZen": - "Eventuelle ekstra kostnader kommer fra abonnementet ditt hos en modellleverandor. Selv om OpenCode fungerer med enhver modellleverandor, anbefaler vi a bruke", - "download.faq.a5.p2.afterZen": ".", - - "download.faq.a6.p1": "Dataene og informasjonen din lagres bare nar du oppretter delbare lenker i OpenCode.", - "download.faq.a6.p2.beforeShare": "Les mer om", - "download.faq.a6.shareLink": "delingssider", - - "enterprise.title": "OpenCode | Enterprise-losninger for din organisasjon", - "enterprise.meta.description": "Kontakt OpenCode for enterprise-losninger", - "enterprise.hero.title": "Koden din er din", - "enterprise.hero.body1": - "OpenCode opererer sikkert inne i organisasjonen din uten at data eller kontekst lagres, og uten lisensbegrensninger eller eierskapskrav. Start en proveperiode med teamet ditt, og rull den deretter ut i hele organisasjonen ved a integrere den med SSO-en din og den interne AI-gatewayen.", - "enterprise.hero.body2": "Fortell oss hvordan vi kan hjelpe.", - "enterprise.form.name.label": "Fullt navn", - "enterprise.form.name.placeholder": "Jeff Bezos", - "enterprise.form.role.label": "Rolle", - "enterprise.form.role.placeholder": "Styrets leder", - "enterprise.form.email.label": "Bedriftens e-post", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "Hvilket problem prover du a lose?", - "enterprise.form.message.placeholder": "Vi trenger hjelp med...", - "enterprise.form.send": "Send", - "enterprise.form.sending": "Sender...", - "enterprise.form.success": "Melding sendt, vi tar kontakt snart.", - "enterprise.faq.title": "FAQ", - "enterprise.faq.q1": "Hva er OpenCode Enterprise?", - "enterprise.faq.a1": - "OpenCode Enterprise er for organisasjoner som vil sikre at koden og dataene deres aldri forlater infrastrukturen deres. Dette kan gjores med en sentral konfigurasjon som integreres med SSO-en din og den interne AI-gatewayen.", - "enterprise.faq.q2": "Hvordan kommer jeg i gang med OpenCode Enterprise?", - "enterprise.faq.a2": - "Start enkelt med en intern proveperiode med teamet ditt. OpenCode lagrer som standard ikke koden din eller kontekstdata, noe som gjor det enkelt a komme i gang. Kontakt oss deretter for a diskutere priser og implementeringsalternativer.", - "enterprise.faq.q3": "Hvordan fungerer enterprise-prising?", - "enterprise.faq.a3": - "Vi tilbyr enterprise-prising per sete. Har du din egen LLM-gateway, tar vi ikke betalt for brukte tokens. Kontakt oss for flere detaljer og et tilpasset tilbud basert pa organisasjonens behov.", - "enterprise.faq.q4": "Er dataene mine sikre med OpenCode Enterprise?", - "enterprise.faq.a4": - "Ja. OpenCode lagrer ikke koden din eller kontekstdata. All behandling skjer lokalt eller gjennom direkte API-kall til AI-leverandoren din. Med sentral konfigurasjon og SSO-integrasjon forblir dataene dine sikre innenfor organisasjonens infrastruktur.", - - "brand.title": "OpenCode | Brand", - "brand.meta.description": "OpenCode retningslinjer for merkevaren", - "brand.heading": "Retningslinjer for merkevaren", - "brand.subtitle": "Ressurser og assets som hjelper deg å jobbe med OpenCode-brandet.", - "brand.downloadAll": "Last ned alle assets", - "changelog.title": "OpenCode | Endringslogg", - "changelog.meta.description": "Utgivelsesnotater og endringslogg for OpenCode", - "changelog.hero.title": "Endringslogg", - "changelog.hero.subtitle": "Nye oppdateringer og forbedringer for OpenCode", - "changelog.empty": "Ingen endringsloggoppforinger funnet.", - "changelog.viewJson": "Vis JSON", - "workspace.nav.zen": "Zen", - "workspace.nav.apiKeys": "API Nøkler", - "workspace.nav.members": "Medlemmer", - "workspace.nav.billing": "Fakturering", - "workspace.nav.settings": "Innstillinger", - "workspace.home.banner.beforeLink": "Pålitelige optimaliserte modeller for kodingsagenter.", - "workspace.home.billing.loading": "Laster inn...", - "workspace.home.billing.enable": "Aktiver fakturering", - "workspace.home.billing.currentBalance": "Gjeldende saldo", - "workspace.newUser.feature.tested.title": "Testede og verifiserte modeller", - "workspace.newUser.feature.tested.body": - "Vi har benchmarked og testet modeller spesifikt for kodingsagenter for å sikre best mulig ytelse.", - "workspace.newUser.feature.quality.title": "Høyeste kvalitet", - "workspace.newUser.feature.quality.body": - "Få tilgang til modeller konfigurert for optimal ytelse – ingen nedgraderinger eller ruting til billigere leverandører.", - "workspace.newUser.feature.lockin.title": "Ingen innlåsing", - "workspace.newUser.feature.lockin.body": - "Bruk Zen med hvilken som helst kodeagent, og fortsett å bruke andre leverandører med opencode når du vil.", - "workspace.newUser.copyApiKey": "Kopier API-nøkkelen", - "workspace.newUser.copyKey": "Kopier nøkkel", - "workspace.newUser.copied": "Kopiert!", - "workspace.newUser.step.enableBilling": "Aktiver fakturering", - "workspace.newUser.step.login.before": "Løp", - "workspace.newUser.step.login.after": "og velg opencode", - "workspace.newUser.step.pasteKey": "Lim inn API-nøkkelen", - "workspace.newUser.step.models.before": "Start opencode og kjør", - "workspace.newUser.step.models.after": "for å velge en modell", - "workspace.models.title": "Modeller", - "workspace.models.subtitle.beforeLink": "Administrer hvilke modeller arbeidsområdemedlemmer har tilgang til.", - "workspace.models.table.model": "Modell", - "workspace.models.table.enabled": "Aktivert", - "workspace.providers.title": "Ta med din egen nøkkel", - "workspace.providers.subtitle": "Konfigurer dine egne API-nøkler fra AI-leverandører.", - "workspace.providers.placeholder": "Skriv inn {{provider}} API nøkkel ({{prefix}}...)", - "workspace.providers.configure": "Konfigurer", - "workspace.providers.edit": "Redigere", - "workspace.providers.delete": "Slett", - "workspace.providers.saving": "Lagrer...", - "workspace.providers.save": "Lagre", - "workspace.providers.table.provider": "Leverandør", - "workspace.providers.table.apiKey": "API nøkkel", - "workspace.usage.title": "Brukshistorikk", - "workspace.usage.subtitle": "Nylig API bruk og kostnader.", - "workspace.usage.empty": "Foreta ditt første API-anrop for å komme i gang.", - "workspace.usage.table.date": "Dato", - "workspace.usage.table.model": "Modell", - "workspace.usage.table.input": "Inndata", - "workspace.usage.table.output": "Produksjon", - "workspace.usage.table.cost": "Kostnad", - "workspace.usage.breakdown.input": "Inndata", - "workspace.usage.breakdown.cacheRead": "Cache lest", - "workspace.usage.breakdown.cacheWrite": "Cache-skriving", - "workspace.usage.breakdown.output": "Produksjon", - "workspace.usage.breakdown.reasoning": "Argumentasjon", - "workspace.usage.subscription": "abonnement (${{amount}})", - "workspace.cost.title": "Kostnad", - "workspace.cost.subtitle": "Brukskostnader fordelt på modell.", - "workspace.cost.allModels": "Alle modeller", - "workspace.cost.allKeys": "Alle nøkler", - "workspace.cost.deletedSuffix": "(slettet)", - "workspace.cost.empty": "Ingen bruksdata tilgjengelig for den valgte perioden.", - "workspace.cost.subscriptionShort": "sub", - "workspace.keys.title": "API Nøkler", - "workspace.keys.subtitle": "Administrer API-nøklene dine for å få tilgang til opencode-tjenester.", - "workspace.keys.create": "Opprett API-nøkkel", - "workspace.keys.placeholder": "Skriv inn nøkkelnavn", - "workspace.keys.empty": "Opprett en opencode Gateway API nøkkel", - "workspace.keys.table.name": "Navn", - "workspace.keys.table.key": "Nøkkel", - "workspace.keys.table.createdBy": "Laget av", - "workspace.keys.table.lastUsed": "Sist brukt", - "workspace.keys.copyApiKey": "Kopier API-nøkkelen", - "workspace.keys.delete": "Slett", - "workspace.members.title": "Medlemmer", - "workspace.members.subtitle": "Administrer arbeidsområdemedlemmer og deres tillatelser.", - "workspace.members.invite": "Inviter medlem", - "workspace.members.inviting": "Inviterer...", - "workspace.members.beta.beforeLink": "Arbeidsområder er gratis for team under betaversjonen.", - "workspace.members.form.invitee": "Invitert", - "workspace.members.form.emailPlaceholder": "Skriv inn e-post", - "workspace.members.form.role": "Rolle", - "workspace.members.form.monthlyLimit": "Månedlig utgiftsgrense", - "workspace.members.noLimit": "Ingen grense", - "workspace.members.noLimitLowercase": "ingen grense", - "workspace.members.invited": "invitert", - "workspace.members.edit": "Redigere", - "workspace.members.delete": "Slett", - "workspace.members.saving": "Lagrer...", - "workspace.members.save": "Lagre", - "workspace.members.table.email": "E-post", - "workspace.members.table.role": "Rolle", - "workspace.members.table.monthLimit": "Månedsgrense", - "workspace.members.role.admin": "Admin", - "workspace.members.role.adminDescription": "Kan administrere modeller, medlemmer og fakturering", - "workspace.members.role.member": "Medlem", - "workspace.members.role.memberDescription": "Kan bare generere API-nøkler for seg selv", - "workspace.settings.title": "Innstillinger", - "workspace.settings.subtitle": "Oppdater arbeidsområdets navn og preferanser.", - "workspace.settings.workspaceName": "Navn på arbeidsområde", - "workspace.settings.defaultName": "Misligholde", - "workspace.settings.updating": "Oppdaterer...", - "workspace.settings.save": "Lagre", - "workspace.settings.edit": "Redigere", - "workspace.billing.title": "Fakturering", - "workspace.billing.subtitle.beforeLink": "Administrer betalingsmåter.", - "workspace.billing.contactUs": "Kontakt oss", - "workspace.billing.subtitle.afterLink": "hvis du har spørsmål.", - "workspace.billing.currentBalance": "Nåværende saldo", - "workspace.billing.add": "Legg til $", - "workspace.billing.enterAmount": "Angi beløp", - "workspace.billing.loading": "Laster inn...", - "workspace.billing.addAction": "Legge til", - "workspace.billing.addBalance": "Legg til saldo", - "workspace.billing.linkedToStripe": "Knyttet til Stripe", - "workspace.billing.manage": "Administrer", - "workspace.billing.enable": "Aktiver fakturering", - "workspace.monthlyLimit.title": "Månedlig grense", - "workspace.monthlyLimit.subtitle": "Angi en månedlig bruksgrense for kontoen din.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "Innstilling...", - "workspace.monthlyLimit.set": "Sett", - "workspace.monthlyLimit.edit": "Rediger grense", - "workspace.monthlyLimit.noLimit": "Ingen bruksgrense satt.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "Gjeldende bruk for", - "workspace.monthlyLimit.currentUsage.beforeAmount": "er $", - "workspace.reload.title": "Automatisk påfylling", - "workspace.reload.disabled.before": "Automatisk påfylling er", - "workspace.reload.disabled.state": "deaktivert", - "workspace.reload.disabled.after": "Aktiver for å automatisk påfylle på nytt når saldoen er lav.", - "workspace.reload.enabled.before": "Automatisk påfylling er", - "workspace.reload.enabled.state": "aktivert", - "workspace.reload.enabled.middle": "Vi fyller på", - "workspace.reload.processingFee": "behandlingsgebyr", - "workspace.reload.enabled.after": "når saldoen når", - "workspace.reload.edit": "Redigere", - "workspace.reload.enable": "Aktiver", - "workspace.reload.enableAutoReload": "Aktiver automatisk påfylling", - "workspace.reload.reloadAmount": "Last inn $", - "workspace.reload.whenBalanceReaches": "Når saldoen når $", - "workspace.reload.saving": "Lagrer...", - "workspace.reload.save": "Lagre", - "workspace.reload.failedAt": "Omlasting mislyktes kl", - "workspace.reload.reason": "Grunn:", - "workspace.reload.updatePaymentMethod": "Oppdater betalingsmåten og prøv på nytt.", - "workspace.reload.retrying": "Prøver på nytt...", - "workspace.reload.retry": "Prøv på nytt", - "workspace.payments.title": "Betalingshistorikk", - "workspace.payments.subtitle": "Nylige betalingstransaksjoner.", - "workspace.payments.table.date": "Dato", - "workspace.payments.table.paymentId": "Betalings-ID", - "workspace.payments.table.amount": "Beløp", - "workspace.payments.table.receipt": "Kvittering", - "workspace.payments.type.credit": "kreditt", - "workspace.payments.type.subscription": "abonnement", - "workspace.payments.view": "Vis", - "workspace.black.loading": "Laster inn...", - "workspace.black.time.day": "dag", - "workspace.black.time.days": "dager", - "workspace.black.time.hour": "time", - "workspace.black.time.hours": "timer", - "workspace.black.time.minute": "minutt", - "workspace.black.time.minutes": "minutter", - "workspace.black.time.fewSeconds": "noen få sekunder", - "workspace.black.subscription.title": "Abonnement", - "workspace.black.subscription.message": "Du abonnerer på OpenCode Black for ${{plan}} per måned.", - "workspace.black.subscription.manage": "Administrer abonnement", - "workspace.black.subscription.rollingUsage": "5-timers bruk", - "workspace.black.subscription.weeklyUsage": "Ukentlig bruk", - "workspace.black.subscription.resetsIn": "Tilbakestilles inn", - "workspace.black.subscription.useBalance": "Bruk din tilgjengelige saldo etter å ha nådd bruksgrensene", - "workspace.black.waitlist.title": "Venteliste", - "workspace.black.waitlist.joined": "Du er på ventelisten for ${{plan}} per måned OpenCode Black plan.", - "workspace.black.waitlist.ready": "Vi er klare til å melde deg på ${{plan}} per måned OpenCode Black plan.", - "workspace.black.waitlist.leave": "Gå ut av venteliste", - "workspace.black.waitlist.leaving": "Forlater...", - "workspace.black.waitlist.left": "Igjen", - "workspace.black.waitlist.enroll": "Registrere", - "workspace.black.waitlist.enrolling": "Registrerer...", - "workspace.black.waitlist.enrolled": "Påmeldt", - "workspace.black.waitlist.enrollNote": - "Når du klikker på Registrer, starter abonnementet umiddelbart og kortet ditt belastes.", -} satisfies Dict diff --git a/packages/console/app/src/i18n/pl.ts b/packages/console/app/src/i18n/pl.ts deleted file mode 100644 index 85de1c058..000000000 --- a/packages/console/app/src/i18n/pl.ts +++ /dev/null @@ -1,471 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "Dokumentacja", - "nav.changelog": "Dziennik zmian", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "Enterprise", - "nav.zen": "Zen", - "nav.login": "Zaloguj sie", - "nav.free": "Za darmo", - "nav.home": "Strona glowna", - "nav.openMenu": "Otworz menu", - "nav.getStartedFree": "Zacznij za darmo", - - "nav.context.copyLogo": "Skopiuj logo jako SVG", - "nav.context.copyWordmark": "Skopiuj wordmark jako SVG", - "nav.context.brandAssets": "Materialy marki", - - "footer.github": "GitHub", - "footer.docs": "Dokumentacja", - "footer.changelog": "Dziennik zmian", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "Marka", - "legal.privacy": "Prywatnosc", - "legal.terms": "Warunki", - - "email.title": "Badz pierwszy, aby dowiedziec sie o nowych produktach", - "email.subtitle": "Dolacz do listy oczekujacych po wczesny dostep.", - "email.placeholder": "Adres e-mail", - "email.subscribe": "Subskrybuj", - "email.success": "Prawie gotowe - sprawdz skrzynke i potwierdz adres e-mail", - - "notFound.title": "Nie znaleziono | opencode", - "notFound.heading": "404 - Strona nie znaleziona", - "notFound.home": "Strona glowna", - "notFound.docs": "Dokumentacja", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "Wyloguj sie", - - "workspace.select": "Wybierz workspace", - "workspace.createNew": "+ Utworz nowy workspace", - "workspace.modal.title": "Utworz nowy workspace", - "workspace.modal.placeholder": "Wpisz nazwe workspace", - - "common.cancel": "Anuluj", - "common.creating": "Tworzenie...", - "common.create": "Utworz", - - "common.videoUnsupported": "Twoja przegladarka nie obsluguje tagu video.", - "common.figure": "Rys. {{n}}.", - "common.faq": "FAQ", - "common.learnMore": "Dowiedz sie wiecej", - - "home.title": "OpenCode | Open source AI agent do kodowania", - - "home.banner.badge": "Nowosc", - "home.banner.text": "Aplikacja desktopowa dostepna w wersji beta", - "home.banner.platforms": "na macOS, Windows i Linux", - "home.banner.downloadNow": "Pobierz teraz", - "home.banner.downloadBetaNow": "Pobierz teraz bete desktop", - - "home.hero.title": "Open source AI agent do kodowania", - "home.hero.subtitle.a": "Darmowe modele w zestawie lub podlacz dowolny model od dowolnego dostawcy,", - "home.hero.subtitle.b": "w tym Claude, GPT, Gemini i inne.", - - "home.install.ariaLabel": "Opcje instalacji", - - "home.what.title": "Czym jest OpenCode?", - "home.what.body": "OpenCode to open source agent, ktory pomaga pisac kod w terminalu, IDE lub na desktopie.", - "home.what.lsp.title": "LSP wlaczone", - "home.what.lsp.body": "Automatycznie laduje odpowiednie LSP dla LLM", - "home.what.multiSession.title": "Multi-session", - "home.what.multiSession.body": "Uruchom wiele agentow rownolegle w tym samym projekcie", - "home.what.shareLinks.title": "Linki do udostepniania", - "home.what.shareLinks.body": "Udostepnij link do dowolnej sesji do wgladu lub debugowania", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "Zaloguj sie przez GitHub, aby uzyc konta Copilot", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": "Zaloguj sie przez OpenAI, aby uzyc konta ChatGPT Plus lub Pro", - "home.what.anyModel.title": "Dowolny model", - "home.what.anyModel.body": "75+ dostawcow LLM przez Models.dev, w tym modele lokalne", - "home.what.anyEditor.title": "Dowolny edytor", - "home.what.anyEditor.body": "Dostepny jako interfejs terminalowy, aplikacja desktopowa i rozszerzenie IDE", - "home.what.readDocs": "Czytaj docs", - - "home.growth.title": "Open source AI agent do kodowania", - "home.growth.body": - "Ponad {{stars}} gwiazdek na GitHub, {{contributors}} wspoltworcow i ponad {{commits}} commitow - OpenCode jest uzywany i ceniony przez ponad {{monthlyUsers}} deweloperow co miesiac.", - "home.growth.githubStars": "Gwiazdki GitHub", - "home.growth.contributors": "Wspoltworcy", - "home.growth.monthlyDevs": "Deweloperzy miesiecznie", - - "home.privacy.title": "Stworzone z mysla o prywatnosci", - "home.privacy.body": - "OpenCode nie przechowuje Twojego kodu ani danych kontekstowych, dzieki czemu moze dzialac w srodowiskach wrazliwych na prywatnosc.", - "home.privacy.learnMore": "Dowiedz sie wiecej o", - "home.privacy.link": "prywatnosci", - - "home.faq.q1": "Czym jest OpenCode?", - "home.faq.a1": - "OpenCode to open source agent, ktory pomaga pisac i uruchamiac kod z dowolnym modelem AI. Jest dostepny jako interfejs terminalowy, aplikacja desktopowa lub rozszerzenie IDE.", - "home.faq.q2": "Jak korzystac z OpenCode?", - "home.faq.a2.before": "Najlatwiej zaczac od przeczytania", - "home.faq.a2.link": "wprowadzenia", - "home.faq.q3": "Czy potrzebuje dodatkowych subskrypcji AI, aby uzywac OpenCode?", - "home.faq.a3.p1": - "Niekoniecznie. OpenCode ma zestaw darmowych modeli, z ktorych mozesz korzystac bez zakladania konta.", - "home.faq.a3.p2.beforeZen": "Poza tym mozesz uzywac popularnych modeli do kodowania tworzac konto", - "home.faq.a3.p2.afterZen": ".", - "home.faq.a3.p3": - "Choc zachecamy do Zen, OpenCode dziala tez z popularnymi dostawcami, takimi jak OpenAI, Anthropic, xAI itd.", - "home.faq.a3.p4.beforeLocal": "Mozesz nawet podlaczyc swoje", - "home.faq.a3.p4.localLink": "modele lokalne", - "home.faq.q4": "Czy moge uzywac moich istniejacych subskrypcji AI z OpenCode?", - "home.faq.a4.p1": - "Tak. OpenCode wspiera subskrypcje u wszystkich glownych dostawcow. Mozesz uzywac Claude Pro/Max, ChatGPT Plus/Pro lub GitHub Copilot.", - "home.faq.q5": "Czy moge uzywac OpenCode tylko w terminalu?", - "home.faq.a5.beforeDesktop": "Juz nie! OpenCode jest teraz dostepny jako aplikacja na", - "home.faq.a5.desktop": "desktop", - "home.faq.a5.and": "i", - "home.faq.a5.web": "web", - "home.faq.q6": "Ile kosztuje OpenCode?", - "home.faq.a6": - "OpenCode jest w 100% darmowy. Zawiera tez zestaw darmowych modeli. Moga pojawic sie dodatkowe koszty, jesli podlaczysz innego dostawce.", - "home.faq.q7": "A co z danymi i prywatnoscia?", - "home.faq.a7.p1": - "Twoje dane sa przechowywane tylko gdy uzywasz naszych darmowych modeli lub tworzysz linki do udostepniania.", - "home.faq.a7.p2.beforeModels": "Dowiedz sie wiecej o", - "home.faq.a7.p2.modelsLink": "naszych modelach", - "home.faq.a7.p2.and": "i", - "home.faq.a7.p2.shareLink": "stronach udostepniania", - "home.faq.q8": "Czy OpenCode jest open source?", - "home.faq.a8.p1": "Tak, OpenCode jest w pelni open source. Kod zrodlowy jest publiczny na", - "home.faq.a8.p2": "na podstawie", - "home.faq.a8.mitLicense": "Licencji MIT", - "home.faq.a8.p3": - ", co oznacza ze kazdy moze go uzywac, modyfikowac i wspoltworzyc. Kazdy z community moze zglaszac issues, wysylac pull requesty i rozszerzac funkcjonalnosc.", - - "home.zenCta.title": "Uzyskaj dostep do niezawodnych, zoptymalizowanych modeli dla agentow kodowania", - "home.zenCta.body": - "Zen daje dostep do wyselekcjonowanego zestawu modeli AI, ktore OpenCode przetestowal i zbenchmarkowal specjalnie dla agentow kodowania. Nie musisz martwic sie o niespojne wyniki i jakosc miedzy dostawcami - uzywaj zweryfikowanych modeli, ktore dzialaja.", - "home.zenCta.link": "Dowiedz sie o Zen", - - "download.title": "OpenCode | Pobieranie", - - "zen.title": "OpenCode Zen | Wyselekcjonowany zestaw niezawodnych, zoptymalizowanych modeli dla agentow kodowania", - "zen.hero.title": "Uzyskaj dostep do niezawodnych, zoptymalizowanych modeli dla agentow kodowania", - "zen.hero.body": - "Zen daje dostep do wyselekcjonowanego zestawu modeli AI, ktore OpenCode przetestowal i zbenchmarkowal specjalnie dla agentow kodowania. Nie musisz martwic sie o niespojne wyniki i jakosc miedzy dostawcami - uzywaj zweryfikowanych modeli, ktore dzialaja.", - - "zen.faq.q1": "Czym jest OpenCode Zen?", - "zen.faq.a1": - "Zen to wyselekcjonowany zestaw modeli AI przetestowanych i zbenchmarkowanych pod agentow kodowania, stworzony przez zespol stojacy za OpenCode.", - "zen.faq.q2": "Co sprawia, ze Zen jest dokladniejszy?", - "zen.faq.a2": - "Zen oferuje tylko modele, ktore zostaly specjalnie przetestowane i zbenchmarkowane pod agentow kodowania. Nie uzywalbys nozna do masla, zeby kroic stek; nie uzywaj slabych modeli do kodowania.", - "zen.faq.q3": "Czy Zen jest tanszy?", - "zen.faq.a3": - "Zen nie jest nastawiony na zysk. Zen przekazuje koszty dostawcow modeli bezposrednio do Ciebie. Im wieksze uzycie Zen, tym bardziej OpenCode moze negocjowac lepsze stawki i przekazywac je Tobie.", - "zen.faq.q4": "Ile kosztuje Zen?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "nalicza oplaty za request", - "zen.faq.a4.p1.afterPricing": "bez narzutow, wiec placisz dokladnie tyle, ile nalicza dostawca modelu.", - "zen.faq.a4.p2.beforeAccount": - "Twoj calkowity koszt zalezy od uzycia, i mozesz ustawic miesieczne limity wydatkow w swoim", - "zen.faq.a4.p2.accountLink": "koncie", - "zen.faq.a4.p3": - "Aby pokryc koszty, OpenCode dodaje tylko niewielka oplate za przetwarzanie platnosci w wysokosci $1.23 za kazde doladowanie salda $20.", - "zen.faq.q5": "A co z danymi i prywatnoscia?", - "zen.faq.a5.beforeExceptions": - "Wszystkie modele Zen sa hostowane w USA. Dostawcy stosuja polityke zero-retention i nie uzywaja twoich danych do trenowania modeli, z", - "zen.faq.a5.exceptionsLink": "nastepujacymi wyjatkami", - "zen.faq.q6": "Czy moge ustawic limity wydatkow?", - "zen.faq.a6": "Tak, mozesz ustawic miesieczne limity wydatkow w swoim koncie.", - "zen.faq.q7": "Czy moge anulowac?", - "zen.faq.a7": "Tak, mozesz wylaczyc rozliczenia w dowolnym momencie i wykorzystac pozostale saldo.", - "zen.faq.q8": "Czy moge uzywac Zen z innymi agentami kodowania?", - "zen.faq.a8": - "Zen swietnie dziala z OpenCode, ale mozesz uzywac Zen z dowolnym agentem. Postepuj zgodnie z instrukcjami konfiguracji w swoim ulubionym agencie kodowania.", - "zen.cta.start": "Zacznij od Zen", - "zen.pricing.title": "Dodaj saldo w wysokości 20 USD w formie płatności w miarę upływu czasu", - "zen.pricing.fee": "(+1,23 USD opłaty za przetwarzanie karty)", - "zen.pricing.body": "Używaj z dowolnym środkiem. Ustaw miesięczne limity wydatków. Anuluj w dowolnym momencie.", - "zen.problem.title": "Jaki problem rozwiązuje Zen?", - "zen.problem.body": - "Dostępnych jest wiele modeli, ale tylko kilka dobrze współpracuje z agentami kodującymi. Większość dostawców konfiguruje je inaczej, z różnymi wynikami.", - "zen.problem.subtitle": "Naprawiamy to dla wszystkich, nie tylko dla użytkowników OpenCode.", - "zen.problem.item1": "Testowanie wybranych modeli i konsultacje z ich zespołami", - "zen.problem.item2": "Współpraca z dostawcami w celu zapewnienia ich prawidłowej dostawy", - "zen.problem.item3": "Benchmarking wszystkich zalecanych przez nas kombinacji modeli i dostawców", - "zen.how.title": "Jak działa Zen", - "zen.how.body": "Chociaż sugerujemy używanie Zen z OpenCode, możesz używać Zen z dowolnym agentem.", - "zen.how.step1.title": "Zarejestruj się i dodaj saldo 20 $", - "zen.how.step1.beforeLink": "podążaj za", - "zen.how.step1.link": "instrukcje konfiguracji", - "zen.how.step2.title": "Użyj Zen z przejrzystymi cenami", - "zen.how.step2.link": "płacić za żądanie", - "zen.how.step2.afterLink": "z zerowymi znacznikami", - "zen.how.step3.title": "Automatyczne doładowanie", - "zen.how.step3.body": "kiedy saldo osiągnie 5 USD, automatycznie dodamy 20 USD", - "zen.privacy.title": "Twoja prywatność jest dla nas ważna", - "zen.privacy.beforeExceptions": - "Wszystkie modele Zen są hostowane w USA. Dostawcy przestrzegają polityki zerowego przechowywania i nie wykorzystują Twoich danych do szkolenia modeli, przy czym", - "zen.privacy.exceptionsLink": "następujące wyjątki", - "download.meta.description": "Pobierz OpenCode dla macOS, Windows i Linux", - "download.hero.title": "Pobierz OpenCode", - "download.hero.subtitle": "Dostepne w wersji beta dla macOS, Windows i Linux", - "download.hero.button": "Pobierz dla {{os}}", - "download.section.terminal": "OpenCode Terminal", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "Rozszerzenia OpenCode", - "download.section.integrations": "Integracje OpenCode", - "download.action.download": "Pobierz", - "download.action.install": "Zainstaluj", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - - "download.faq.a3.beforeLocal": - "Niekoniecznie, ale prawdopodobnie. Potrzebujesz subskrypcji AI, jesli chcesz podlaczyc OpenCode do platnego dostawcy, ale mozesz korzystac z", - "download.faq.a3.localLink": "lokalnych modeli", - "download.faq.a3.afterLocal.beforeZen": "za darmo. Chociaz zachecamy uzytkownikow do korzystania z", - "download.faq.a3.afterZen": - ", OpenCode dziala ze wszystkimi popularnymi dostawcami, takimi jak OpenAI, Anthropic, xAI itd.", - - "download.faq.a5.p1": "OpenCode jest w 100% darmowy.", - "download.faq.a5.p2.beforeZen": - "Wszelkie dodatkowe koszty wynikaja z Twojej subskrypcji u dostawcy modeli. OpenCode dziala z kazdym dostawca modeli, ale polecamy korzystac z", - "download.faq.a5.p2.afterZen": ".", - - "download.faq.a6.p1": - "Twoje dane i informacje sa przechowywane tylko gdy tworzysz linki do udostepniania w OpenCode.", - "download.faq.a6.p2.beforeShare": "Dowiedz sie wiecej o", - "download.faq.a6.shareLink": "stronach udostepniania", - - "enterprise.title": "OpenCode | Rozwiazania enterprise dla twojej organizacji", - "enterprise.meta.description": "Skontaktuj sie z OpenCode w sprawie rozwiazan enterprise", - "enterprise.hero.title": "Twoj kod nalezy do Ciebie", - "enterprise.hero.body1": - "OpenCode dziala bezpiecznie w obrebie Twojej organizacji, nie przechowuje danych ani kontekstu oraz nie narzuca ograniczen licencyjnych ani roszczen do wlasnosci. Rozpocznij okres probny z zespolem, a nastepnie wdroz OpenCode w calej organizacji, integrujac go z Twoim SSO i wewnetrzna brama AI.", - "enterprise.hero.body2": "Daj nam znac, jak mozemy pomoc.", - "enterprise.form.name.label": "Imie i nazwisko", - "enterprise.form.name.placeholder": "Jeff Bezos", - "enterprise.form.role.label": "Rola", - "enterprise.form.role.placeholder": "Przewodniczacy zarzadu", - "enterprise.form.email.label": "Firmowy e-mail", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "Jaki problem probujesz rozwiazac?", - "enterprise.form.message.placeholder": "Potrzebujemy pomocy z...", - "enterprise.form.send": "Wyslij", - "enterprise.form.sending": "Wysylanie...", - "enterprise.form.success": "Wiadomosc wyslana, wkrotce sie odezwiemy.", - "enterprise.faq.title": "FAQ", - "enterprise.faq.q1": "Czym jest OpenCode Enterprise?", - "enterprise.faq.a1": - "OpenCode Enterprise jest dla organizacji, ktore chca miec pewnosc, ze ich kod i dane nigdy nie opuszcza ich infrastruktury. Osiaga to dzieki scentralizowanej konfiguracji, ktora integruje sie z Twoim SSO i wewnetrzna brama AI.", - "enterprise.faq.q2": "Jak zaczac korzystac z OpenCode Enterprise?", - "enterprise.faq.a2": - "Po prostu zacznij od wewnetrznego okresu probnego z Twoim zespolem. OpenCode domyslnie nie przechowuje Twojego kodu ani danych kontekstowych, dzieki czemu latwo zaczac. Nastepnie skontaktuj sie z nami, aby omowic ceny i opcje wdrozenia.", - "enterprise.faq.q3": "Jak dziala wycena enterprise?", - "enterprise.faq.a3": - "Oferujemy wycene enterprise per uzytkownik (per-seat). Jesli masz wlasna brame LLM, nie naliczamy oplat za wykorzystane tokeny. Aby poznac szczegoly, skontaktuj sie z nami po indywidualna wycene dopasowana do potrzeb Twojej organizacji.", - "enterprise.faq.q4": "Czy moje dane sa bezpieczne z OpenCode Enterprise?", - "enterprise.faq.a4": - "Tak. OpenCode nie przechowuje Twojego kodu ani danych kontekstowych. Cale przetwarzanie odbywa sie lokalnie lub poprzez bezposrednie wywolania API do Twojego dostawcy AI. Dzieki scentralizowanej konfiguracji i integracji SSO Twoje dane pozostaja bezpieczne w obrebie infrastruktury Twojej organizacji.", - - "brand.title": "OpenCode | Marka", - "brand.meta.description": "Wytyczne marki OpenCode", - "brand.heading": "Wytyczne marki", - "brand.subtitle": "Zasoby i materialy, ktore pomoga Ci pracowac z marka OpenCode.", - "brand.downloadAll": "Pobierz wszystkie materialy", - "changelog.title": "OpenCode | Dziennik zmian", - "changelog.meta.description": "Informacje o wydaniach i dziennik zmian OpenCode", - "changelog.hero.title": "Dziennik zmian", - "changelog.hero.subtitle": "Nowe aktualizacje i ulepszenia OpenCode", - "changelog.empty": "Nie znaleziono wpisow w dzienniku zmian.", - "changelog.viewJson": "Zobacz JSON", - "workspace.nav.zen": "Zen", - "workspace.nav.apiKeys": "API Klucze", - "workspace.nav.members": "Członkowie", - "workspace.nav.billing": "Rozliczenia", - "workspace.nav.settings": "Ustawienia", - "workspace.home.banner.beforeLink": "Niezawodne, zoptymalizowane modele dla agentów kodujących.", - "workspace.home.billing.loading": "Załadunek...", - "workspace.home.billing.enable": "Włącz rozliczenia", - "workspace.home.billing.currentBalance": "Aktualne saldo", - "workspace.newUser.feature.tested.title": "Przetestowane i zweryfikowane modele", - "workspace.newUser.feature.tested.body": - "Przeprowadziliśmy testy porównawcze i przetestowaliśmy modele specjalnie dla agentów kodujących, aby zapewnić najlepszą wydajność.", - "workspace.newUser.feature.quality.title": "Najwyższa jakość", - "workspace.newUser.feature.quality.body": - "Modele dostępu skonfigurowane pod kątem optymalnej wydajności – bez konieczności zmiany wersji na wyższą lub przekierowania do tańszych dostawców.", - "workspace.newUser.feature.lockin.title": "Brak blokady", - "workspace.newUser.feature.lockin.body": - "Używaj Zen z dowolnym agentem kodującym i kontynuuj korzystanie z innych dostawców z opencode, kiedy tylko chcesz.", - "workspace.newUser.copyApiKey": "Skopiuj klucz API", - "workspace.newUser.copyKey": "Skopiuj klucz", - "workspace.newUser.copied": "Skopiowano!", - "workspace.newUser.step.enableBilling": "Włącz rozliczenia", - "workspace.newUser.step.login.before": "Uruchomić", - "workspace.newUser.step.login.after": "i wybierz opencode", - "workspace.newUser.step.pasteKey": "Wklej swój klucz API", - "workspace.newUser.step.models.before": "Uruchom opencode i uruchom", - "workspace.newUser.step.models.after": "aby wybrać model", - "workspace.models.title": "Modele", - "workspace.models.subtitle.beforeLink": "Zarządzaj, do których modeli mają dostęp członkowie obszaru roboczego.", - "workspace.models.table.model": "Model", - "workspace.models.table.enabled": "Włączony", - "workspace.providers.title": "Przynieś swój własny klucz", - "workspace.providers.subtitle": "Skonfiguruj własne klucze API od dostawców AI.", - "workspace.providers.placeholder": "Wprowadź klucz {{provider}} API ({{prefix}}...)", - "workspace.providers.configure": "Skonfiguruj", - "workspace.providers.edit": "Redagować", - "workspace.providers.delete": "Usuwać", - "workspace.providers.saving": "Oszczędność...", - "workspace.providers.save": "Ratować", - "workspace.providers.table.provider": "Dostawca", - "workspace.providers.table.apiKey": "API Klucz", - "workspace.usage.title": "Historia użytkowania", - "workspace.usage.subtitle": "Ostatnie użycie i koszty API.", - "workspace.usage.empty": "Aby rozpocząć, wykonaj pierwsze połączenie API.", - "workspace.usage.table.date": "Data", - "workspace.usage.table.model": "Model", - "workspace.usage.table.input": "Wejście", - "workspace.usage.table.output": "Wyjście", - "workspace.usage.table.cost": "Koszt", - "workspace.usage.breakdown.input": "Wejście", - "workspace.usage.breakdown.cacheRead": "Odczyt pamięci podręcznej", - "workspace.usage.breakdown.cacheWrite": "Zapis w pamięci podręcznej", - "workspace.usage.breakdown.output": "Wyjście", - "workspace.usage.breakdown.reasoning": "Rozumowanie", - "workspace.usage.subscription": "subskrypcja (${{amount}})", - "workspace.cost.title": "Koszt", - "workspace.cost.subtitle": "Koszty użytkowania w podziale na modele.", - "workspace.cost.allModels": "Wszystkie modele", - "workspace.cost.allKeys": "Wszystkie klucze", - "workspace.cost.deletedSuffix": "(usunięte)", - "workspace.cost.empty": "Brak dostępnych danych o użytkowaniu w wybranym okresie.", - "workspace.cost.subscriptionShort": "zastąpić", - "workspace.keys.title": "API Klucze", - "workspace.keys.subtitle": "Zarządzaj kluczami API umożliwiającymi dostęp do usług opencode.", - "workspace.keys.create": "Utwórz klucz API", - "workspace.keys.placeholder": "Wprowadź nazwę klucza", - "workspace.keys.empty": "Utwórz klucz opencode bramy API", - "workspace.keys.table.name": "Nazwa", - "workspace.keys.table.key": "Klawisz", - "workspace.keys.table.createdBy": "Stworzony przez", - "workspace.keys.table.lastUsed": "Ostatnio używany", - "workspace.keys.copyApiKey": "Skopiuj klucz API", - "workspace.keys.delete": "Usuwać", - "workspace.members.title": "Członkowie", - "workspace.members.subtitle": "Zarządzaj członkami obszaru roboczego i ich uprawnieniami.", - "workspace.members.invite": "Zaproś członka", - "workspace.members.inviting": "Atrakcyjny...", - "workspace.members.beta.beforeLink": "Obszary robocze są bezpłatne dla zespołów w fazie beta.", - "workspace.members.form.invitee": "Zaproś", - "workspace.members.form.emailPlaceholder": "Wpisz adres e-mail", - "workspace.members.form.role": "Rola", - "workspace.members.form.monthlyLimit": "Miesięczny limit wydatków", - "workspace.members.noLimit": "Bez limitu", - "workspace.members.noLimitLowercase": "bez limitu", - "workspace.members.invited": "zaproszony", - "workspace.members.edit": "Redagować", - "workspace.members.delete": "Usuwać", - "workspace.members.saving": "Oszczędność...", - "workspace.members.save": "Ratować", - "workspace.members.table.email": "E-mail", - "workspace.members.table.role": "Rola", - "workspace.members.table.monthLimit": "Limit miesiąca", - "workspace.members.role.admin": "Administrator", - "workspace.members.role.adminDescription": "Może zarządzać modelami, członkami i rozliczeniami", - "workspace.members.role.member": "Członek", - "workspace.members.role.memberDescription": "Może generować klucze API tylko dla siebie", - "workspace.settings.title": "Ustawienia", - "workspace.settings.subtitle": "Zaktualizuj nazwę i preferencje obszaru roboczego.", - "workspace.settings.workspaceName": "Nazwa obszaru roboczego", - "workspace.settings.defaultName": "Domyślny", - "workspace.settings.updating": "Aktualizowanie...", - "workspace.settings.save": "Ratować", - "workspace.settings.edit": "Redagować", - "workspace.billing.title": "Rozliczenia", - "workspace.billing.subtitle.beforeLink": "Zarządzaj metodami płatności.", - "workspace.billing.contactUs": "Skontaktuj się z nami", - "workspace.billing.subtitle.afterLink": "jeśli masz jakieś pytania.", - "workspace.billing.currentBalance": "Aktualne saldo", - "workspace.billing.add": "Dodaj $", - "workspace.billing.enterAmount": "Wpisz kwotę", - "workspace.billing.loading": "Załadunek...", - "workspace.billing.addAction": "Dodać", - "workspace.billing.addBalance": "Dodaj równowagę", - "workspace.billing.linkedToStripe": "Powiązany ze Stripem", - "workspace.billing.manage": "Zarządzać", - "workspace.billing.enable": "Włącz rozliczenia", - "workspace.monthlyLimit.title": "Limit miesięczny", - "workspace.monthlyLimit.subtitle": "Ustaw miesięczny limit wykorzystania dla swojego konta.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "Ustawienie...", - "workspace.monthlyLimit.set": "Ustawić", - "workspace.monthlyLimit.edit": "Edytuj limit", - "workspace.monthlyLimit.noLimit": "Nie ustawiono limitu wykorzystania.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "Obecne wykorzystanie dla", - "workspace.monthlyLimit.currentUsage.beforeAmount": "jest $", - "workspace.reload.title": "Automatyczne przeładowanie", - "workspace.reload.disabled.before": "Automatyczne przeładowanie jest", - "workspace.reload.disabled.state": "wyłączony", - "workspace.reload.disabled.after": "Włącz automatyczne przeładowywanie, gdy saldo jest niskie.", - "workspace.reload.enabled.before": "Automatyczne przeładowanie jest", - "workspace.reload.enabled.state": "włączony", - "workspace.reload.enabled.middle": "Załadujemy ponownie", - "workspace.reload.processingFee": "opłata manipulacyjna", - "workspace.reload.enabled.after": "kiedy równowaga osiągnie", - "workspace.reload.edit": "Redagować", - "workspace.reload.enable": "Włączać", - "workspace.reload.enableAutoReload": "Włącz automatyczne ładowanie", - "workspace.reload.reloadAmount": "Załaduj ponownie $", - "workspace.reload.whenBalanceReaches": "Kiedy saldo osiągnie $", - "workspace.reload.saving": "Oszczędność...", - "workspace.reload.save": "Ratować", - "workspace.reload.failedAt": "Nie udało się przeładować o godz", - "workspace.reload.reason": "Powód:", - "workspace.reload.updatePaymentMethod": "Zaktualizuj metodę płatności i spróbuj ponownie.", - "workspace.reload.retrying": "Ponawiam próbę...", - "workspace.reload.retry": "Spróbować ponownie", - "workspace.payments.title": "Historia płatności", - "workspace.payments.subtitle": "Ostatnie transakcje płatnicze.", - "workspace.payments.table.date": "Data", - "workspace.payments.table.paymentId": "Identyfikator płatności", - "workspace.payments.table.amount": "Kwota", - "workspace.payments.table.receipt": "Paragon", - "workspace.payments.type.credit": "kredyt", - "workspace.payments.type.subscription": "prenumerata", - "workspace.payments.view": "Pogląd", - "workspace.black.loading": "Załadunek...", - "workspace.black.time.day": "dzień", - "workspace.black.time.days": "dni", - "workspace.black.time.hour": "godzina", - "workspace.black.time.hours": "godziny", - "workspace.black.time.minute": "chwila", - "workspace.black.time.minutes": "protokół", - "workspace.black.time.fewSeconds": "kilka sekund", - "workspace.black.subscription.title": "Prenumerata", - "workspace.black.subscription.message": "Subskrybujesz OpenCode Black za {{plan}} miesięcznie.", - "workspace.black.subscription.manage": "Zarządzaj subskrypcją", - "workspace.black.subscription.rollingUsage": "5-godzinne użycie", - "workspace.black.subscription.weeklyUsage": "Tygodniowe użycie", - "workspace.black.subscription.resetsIn": "Resetuje się", - "workspace.black.subscription.useBalance": "Wykorzystaj dostępne saldo po osiągnięciu limitów wykorzystania", - "workspace.black.waitlist.title": "Lista oczekujących", - "workspace.black.waitlist.joined": "Jesteś na liście oczekujących na plan ${{plan}} miesięcznie OpenCode Black.", - "workspace.black.waitlist.ready": - "Jesteśmy gotowi zapisać Cię do planu Black o wartości {{plan}} miesięcznie OpenCode.", - "workspace.black.waitlist.leave": "Opuść listę oczekujących", - "workspace.black.waitlist.leaving": "Odjazd...", - "workspace.black.waitlist.left": "Lewy", - "workspace.black.waitlist.enroll": "Zapisać", - "workspace.black.waitlist.enrolling": "Rejestracja...", - "workspace.black.waitlist.enrolled": "Przyjęty", - "workspace.black.waitlist.enrollNote": - "Kiedy klikniesz Zarejestruj, Twoja subskrypcja rozpocznie się natychmiast, a Twoja karta zostanie obciążona.", -} satisfies Dict diff --git a/packages/console/app/src/i18n/ru.ts b/packages/console/app/src/i18n/ru.ts deleted file mode 100644 index 64f4c0358..000000000 --- a/packages/console/app/src/i18n/ru.ts +++ /dev/null @@ -1,544 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f", - "nav.changelog": "\u0421\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "Enterprise", - "nav.zen": "Zen", - "nav.login": "\u0412\u043e\u0439\u0442\u0438", - "nav.free": "\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e", - "nav.home": "\u0413\u043b\u0430\u0432\u043d\u0430\u044f", - "nav.openMenu": "\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u043c\u0435\u043d\u044e", - "nav.getStartedFree": "\u041d\u0430\u0447\u0430\u0442\u044c \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e", - - "nav.context.copyLogo": - "\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u043e\u0433\u043e\u0442\u0438\u043f (SVG)", - "nav.context.copyWordmark": - "\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0432\u0435\u0441\u043d\u044b\u0439 \u0437\u043d\u0430\u043a (SVG)", - "nav.context.brandAssets": - "\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0431\u0440\u0435\u043d\u0434\u0430", - - "footer.github": "GitHub", - "footer.docs": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f", - "footer.changelog": "\u0421\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "\u0411\u0440\u0435\u043d\u0434", - "legal.privacy": - "\u041a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c", - "legal.terms": "\u0423\u0441\u043b\u043e\u0432\u0438\u044f", - - "email.title": - "\u0423\u0437\u043d\u0430\u0439\u0442\u0435 \u043f\u0435\u0440\u0432\u044b\u043c\u0438 \u043e \u0432\u044b\u0445\u043e\u0434\u0435 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432", - "email.subtitle": - "\u0412\u0441\u0442\u0443\u043f\u0438\u0442\u0435 \u0432 \u043b\u0438\u0441\u0442 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u043d\u043d\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430.", - "email.placeholder": - "\u0410\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b", - "email.subscribe": "\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f", - "email.success": - "\u041f\u043e\u0447\u0442\u0438 \u0433\u043e\u0442\u043e\u0432\u043e - \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u043e\u0447\u0442\u0443 \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", - - "notFound.title": "\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e | opencode", - "notFound.heading": - "404 - \u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430", - "notFound.home": "\u0413\u043b\u0430\u0432\u043d\u0430\u044f", - "notFound.docs": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "\u0412\u044b\u0439\u0442\u0438", - - "workspace.select": "\u0412\u044b\u0431\u0440\u0430\u0442\u044c workspace", - "workspace.createNew": "+ \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 workspace", - "workspace.modal.title": "\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 workspace", - "workspace.modal.placeholder": - "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 workspace", - - "common.cancel": "\u041e\u0442\u043c\u0435\u043d\u0430", - "common.creating": "\u0421\u043e\u0437\u0434\u0430\u0435\u043c...", - "common.create": "\u0421\u043e\u0437\u0434\u0430\u0442\u044c", - - "common.videoUnsupported": - "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0435\u0433 video.", - "common.figure": "\u0420\u0438\u0441. {{n}}.", - "common.faq": "FAQ", - "common.learnMore": "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435", - - "home.title": - "OpenCode | \u041e\u043f\u0435\u043d\u0441\u043e\u0443\u0440\u0441\u043d\u044b\u0439 AI-\u0430\u0433\u0435\u043d\u0442 \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u043d\u0433\u0430", - - "home.banner.badge": "\u041d\u043e\u0432\u043e\u0435", - "home.banner.text": - "\u0414\u0435\u0441\u043a\u0442\u043e\u043f\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432 \u0431\u0435\u0442\u0435", - "home.banner.platforms": "\u043d\u0430 macOS, Windows \u0438 Linux", - "home.banner.downloadNow": "\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0441\u0435\u0439\u0447\u0430\u0441", - "home.banner.downloadBetaNow": - "\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0431\u0435\u0442\u0443 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430 \u0441\u0435\u0439\u0447\u0430\u0441", - - "home.hero.title": - "\u041e\u043f\u0435\u043d\u0441\u043e\u0443\u0440\u0441\u043d\u044b\u0439 AI-\u0430\u0433\u0435\u043d\u0442 \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u043d\u0433\u0430", - "home.hero.subtitle.a": - "\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0438\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043b\u044e\u0431\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u0442 \u043b\u044e\u0431\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430,", - "home.hero.subtitle.b": - "\u0432\u043a\u043b\u044e\u0447\u0430\u044f Claude, GPT, Gemini \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.", - - "home.install.ariaLabel": - "\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438", - - "home.what.title": "\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 OpenCode?", - "home.what.body": - "OpenCode \u2014 \u043e\u043f\u0435\u043d\u0441\u043e\u0443\u0440\u0441\u043d\u044b\u0439 \u0430\u0433\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435, IDE \u0438\u043b\u0438 \u043d\u0430 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0435.", - "home.what.lsp.title": "LSP \u0432\u043a\u043b\u044e\u0447\u0435\u043d", - "home.what.lsp.body": - "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0435 LSP \u0434\u043b\u044f LLM", - "home.what.multiSession.title": "\u041c\u0443\u043b\u044c\u0442\u0438-\u0441\u0435\u0441\u0441\u0438\u0438", - "home.what.multiSession.body": - "\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0439\u0442\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0430\u0433\u0435\u043d\u0442\u043e\u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435", - "home.what.shareLinks.title": "\u041e\u0431\u0449\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438", - "home.what.shareLinks.body": - "\u0414\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u0441\u0441\u044b\u043b\u043a\u043e\u0439 \u043d\u0430 \u043b\u044e\u0431\u0443\u044e \u0441\u0435\u0441\u0441\u0438\u044e \u0434\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u043a\u0438 \u0438\u043b\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": - "\u0412\u043e\u0439\u0434\u0438\u0442\u0435 \u0447\u0435\u0440\u0435\u0437 GitHub, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u0448 Copilot", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": - "\u0412\u043e\u0439\u0434\u0438\u0442\u0435 \u0447\u0435\u0440\u0435\u0437 OpenAI, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ChatGPT Plus \u0438\u043b\u0438 Pro", - "home.what.anyModel.title": "\u041b\u044e\u0431\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c", - "home.what.anyModel.body": - "75+ \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 LLM \u0447\u0435\u0440\u0435\u0437 Models.dev, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438", - "home.what.anyEditor.title": "\u041b\u044e\u0431\u043e\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440", - "home.what.anyEditor.body": - "\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043a\u0430\u043a \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b, \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 IDE", - "home.what.readDocs": "\u0427\u0438\u0442\u0430\u0442\u044c \u0434\u043e\u043a\u0438", - - "home.growth.title": - "\u041e\u043f\u0435\u043d\u0441\u043e\u0443\u0440\u0441\u043d\u044b\u0439 AI-\u0430\u0433\u0435\u043d\u0442 \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u043d\u0433\u0430", - "home.growth.body": - "\u0421 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c {{stars}} \u0437\u0432\u0435\u0437\u0434\u0430\u043c\u0438 \u043d\u0430 GitHub, {{contributors}} \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u0430\u043c\u0438 \u0438 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c {{commits}} \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u043c\u0438, OpenCode \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0438 \u0434\u043e\u0432\u0435\u0440\u044f\u044e\u0442 \u0435\u043c\u0443 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c {{monthlyUsers}} \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446.", - "home.growth.githubStars": "\u0417\u0432\u0435\u0437\u0434\u044b GitHub", - "home.growth.contributors": "\u041a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u044b", - "home.growth.monthlyDevs": - "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0432 \u043c\u0435\u0441\u044f\u0446", - - "home.privacy.title": - "\u041f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u043e\u0439 \u043e\u0447\u0435\u0440\u0435\u0434\u044c\u044e", - "home.privacy.body": - "OpenCode \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0430\u0448 \u043a\u043e\u0434 \u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043c\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0441\u0440\u0435\u0434\u0430\u0445, \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u0438.", - "home.privacy.learnMore": "\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e", - "home.privacy.link": "\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u0438", - - "home.faq.q1": "\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 OpenCode?", - "home.faq.a1": - "OpenCode \u2014 \u043e\u043f\u0435\u043d\u0441\u043e\u0443\u0440\u0441\u043d\u044b\u0439 \u0430\u0433\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u0434 \u0441 \u043b\u044e\u0431\u043e\u0439 AI-\u043c\u043e\u0434\u0435\u043b\u044c\u044e. \u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043a\u0430\u043a \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b, \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 IDE.", - "home.faq.q2": - "\u041a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f OpenCode?", - "home.faq.a2.before": - "\u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441", - "home.faq.a2.link": "\u0438\u043d\u0442\u0440\u043e", - "home.faq.q3": - "\u041d\u0443\u0436\u043d\u044b \u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 AI-\u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f OpenCode?", - "home.faq.a3.p1": - "\u041d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e: OpenCode \u0434\u0430\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0435\u0437 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430.", - "home.faq.a3.p2.beforeZen": - "\u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e, \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u043d\u0433\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430", - "home.faq.a3.p2.afterZen": ".", - "home.faq.a3.p3": - "\u041c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c Zen, \u043d\u043e OpenCode \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438 \u2014 OpenAI, Anthropic, xAI \u0438 \u0434\u0440.", - "home.faq.a3.p4.beforeLocal": - "\u041c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0430\u0448\u0438", - "home.faq.a3.p4.localLink": - "\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438", - "home.faq.q4": - "\u041c\u043e\u0433\u0443 \u043b\u0438 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0435 AI-\u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u0441 OpenCode?", - "home.faq.a4.p1": - "\u0414\u0430, OpenCode \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u0443 \u0432\u0441\u0435\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432. \u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Claude Pro/Max, ChatGPT Plus/Pro \u0438\u043b\u0438 GitHub Copilot.", - "home.faq.q5": - "\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c OpenCode \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435?", - "home.faq.a5.beforeDesktop": - "\u0423\u0436\u0435 \u043d\u0435\u0442! OpenCode \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043a\u0430\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f", - "home.faq.a5.desktop": "\u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430", - "home.faq.a5.and": "\u0438", - "home.faq.a5.web": "\u0432\u0435\u0431\u0430", - "home.faq.q6": "\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u043e\u0438\u0442 OpenCode?", - "home.faq.a6": - "OpenCode \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u0435\u043d \u043d\u0430 100%. \u0412 \u043d\u0435\u043c \u0435\u0441\u0442\u044c \u043d\u0430\u0431\u043e\u0440 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430.", - "home.faq.q7": - "\u0427\u0442\u043e \u043f\u043e \u0434\u0430\u043d\u043d\u044b\u043c \u0438 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u0438?", - "home.faq.a7.p1": - "\u0412\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u043d\u0430\u0448\u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0434\u043b\u044f \u0448\u0430\u0440\u0438\u043d\u0433\u0430.", - "home.faq.a7.p2.beforeModels": "\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e", - "home.faq.a7.p2.modelsLink": "\u043d\u0430\u0448\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u044f\u0445", - "home.faq.a7.p2.and": "\u0438", - "home.faq.a7.p2.shareLink": - "\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0448\u0430\u0440\u0438\u043d\u0433\u0430", - "home.faq.q8": "OpenCode \u2014 \u044d\u0442\u043e open source?", - "home.faq.a8.p1": - "\u0414\u0430, OpenCode \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e open source. \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043e\u0442\u043a\u0440\u044b\u0442 \u043d\u0430", - "home.faq.a8.p2": "\u043f\u043e\u0434", - "home.faq.a8.mitLicense": "\u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT", - "home.faq.a8.p3": - ", \u0447\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442: \u043b\u044e\u0431\u043e\u0439 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443. \u041b\u044e\u0431\u043e\u0439 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u044c issue, \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c pull request \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c.", - - "home.zenCta.title": - "\u041d\u0430\u0434\u0435\u0436\u043d\u044b\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u043d\u0433-\u0430\u0433\u0435\u043d\u0442\u043e\u0432", - "home.zenCta.body": - "Zen \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043e\u0442\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u043c \u043c\u043e\u0434\u0435\u043b\u044f\u043c AI, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 OpenCode \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438\u043b \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u043d\u0433-\u0430\u0433\u0435\u043d\u0442\u043e\u0432. \u041d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0438\u0437-\u0437\u0430 \u0440\u0430\u0437\u043d\u043e\u0433\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442.", - "home.zenCta.link": "\u0423\u0437\u043d\u0430\u0442\u044c \u043e Zen", - - "enterprise.title": - "OpenCode | \u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438", - - "zen.title": - "OpenCode Zen | \u041f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0445, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u043d\u0433-\u0430\u0433\u0435\u043d\u0442\u043e\u0432", - "zen.hero.title": - "\u041d\u0430\u0434\u0435\u0436\u043d\u044b\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u043d\u0433-\u0430\u0433\u0435\u043d\u0442\u043e\u0432", - "zen.hero.body": - "Zen \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043e\u0442\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u043c \u043c\u043e\u0434\u0435\u043b\u044f\u043c AI, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 OpenCode \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438\u043b \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u043d\u0433-\u0430\u0433\u0435\u043d\u0442\u043e\u0432. \u041d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0438\u0437-\u0437\u0430 \u0440\u0430\u0437\u043d\u043e\u0433\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442.", - - "zen.faq.q1": "\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 OpenCode Zen?", - "zen.faq.a1": - "Zen \u2014 \u044d\u0442\u043e \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 AI-\u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043d\u0443\u0442\u044b\u0445 \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u043d\u0433-\u0430\u0433\u0435\u043d\u0442\u043e\u0432, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 OpenCode.", - "zen.faq.q2": "\u041f\u043e\u0447\u0435\u043c\u0443 Zen \u0442\u043e\u0447\u043d\u0435\u0435?", - "zen.faq.a2": - "Zen \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0434\u0435\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043d\u0443\u0442\u044b \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u043d\u0433-\u0430\u0433\u0435\u043d\u0442\u043e\u0432. \u0412\u044b \u0436\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442\u0435 \u0440\u0435\u0437\u0430\u0442\u044c \u0441\u0442\u0435\u0439\u043a \u043d\u043e\u0436\u043e\u043c \u0434\u043b\u044f \u043c\u0430\u0441\u043b\u0430 \u2014 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043b\u0430\u0431\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u043a\u043e\u0434\u0430.", - "zen.faq.q3": "Zen \u0434\u0435\u0448\u0435\u0432\u043b\u0435?", - "zen.faq.a3": - "Zen \u043d\u0435 \u0434\u043b\u044f \u043f\u0440\u0438\u0431\u044b\u043b\u0438. Zen \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0432\u0430\u043c \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0431\u0435\u0437 \u043d\u0430\u0446\u0435\u043d\u043a\u0438. \u0427\u0435\u043c \u0432\u044b\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Zen, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 OpenCode \u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f \u043e \u043b\u0443\u0447\u0448\u0438\u0445 \u0442\u0430\u0440\u0438\u0444\u0430\u0445 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0438\u0445 \u0432\u0430\u043c.", - "zen.faq.q4": "\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u043e\u0438\u0442 Zen?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": - "\u0431\u0435\u0440\u0435\u0442 \u043e\u043f\u043b\u0430\u0442\u0443 \u0437\u0430 \u0437\u0430\u043f\u0440\u043e\u0441", - "zen.faq.a4.p1.afterPricing": - "\u0431\u0435\u0437 \u043d\u0430\u0446\u0435\u043d\u043e\u043a, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b \u043f\u043b\u0430\u0442\u0438\u0442\u0435 \u0440\u043e\u0432\u043d\u043e \u0441\u0442\u043e\u043b\u044c\u043a\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0435\u0440\u0435\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u043c\u043e\u0434\u0435\u043b\u0438.", - "zen.faq.a4.p2.beforeAccount": - "\u0418\u0442\u043e\u0433\u043e\u0432\u0430\u044f \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043c\u0435\u0441\u044f\u0447\u043d\u044b\u0435 \u043b\u0438\u043c\u0438\u0442\u044b \u0440\u0430\u0441\u0445\u043e\u0434\u043e\u0432 \u0432 \u0441\u0432\u043e\u0435\u043c", - "zen.faq.a4.p2.accountLink": "\u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435", - "zen.faq.a4.p3": - "\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0440\u044b\u0442\u044c \u0440\u0430\u0441\u0445\u043e\u0434\u044b, OpenCode \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043b\u0438\u0448\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u044e \u0437\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043f\u043b\u0430\u0442\u0435\u0436\u0430: $1.23 \u0437\u0430 \u043f\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0431\u0430\u043b\u0430\u043d\u0441\u0430 \u043d\u0430 $20.", - "zen.faq.q5": - "\u0427\u0442\u043e \u043d\u0430\u0441\u0447\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u0438?", - "zen.faq.a5.beforeExceptions": - "\u0412\u0441\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 Zen \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u044b \u0432 \u0421\u0428\u0410. \u041f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u043d\u0443\u043b\u0435\u0432\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0432\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u0437\u0430", - "zen.faq.a5.exceptionsLink": - "\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c\u0438", - "zen.faq.q6": - "\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0437\u0430\u0434\u0430\u0442\u044c \u043b\u0438\u043c\u0438\u0442\u044b \u0440\u0430\u0441\u0445\u043e\u0434\u043e\u0432?", - "zen.faq.a6": - "\u0414\u0430, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u0434\u0430\u0442\u044c \u043c\u0435\u0441\u044f\u0447\u043d\u044b\u0435 \u043b\u0438\u043c\u0438\u0442\u044b \u0440\u0430\u0441\u0445\u043e\u0434\u043e\u0432 \u0432 \u0441\u0432\u043e\u0435\u043c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435.", - "zen.faq.q7": "\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c?", - "zen.faq.a7": - "\u0414\u0430, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u0438\u043b\u043b\u0438\u043d\u0433 \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0439\u0441\u044f \u0431\u0430\u043b\u0430\u043d\u0441.", - "zen.faq.q8": - "\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Zen \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043a\u043e\u0434\u0438\u043d\u0433-\u0430\u0433\u0435\u043d\u0442\u0430\u043c\u0438?", - "zen.faq.a8": - "Zen \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 OpenCode, \u043d\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Zen \u0441 \u043b\u044e\u0431\u044b\u043c \u0430\u0433\u0435\u043d\u0442\u043e\u043c. \u0421\u043b\u0435\u0434\u0443\u0439\u0442\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0432 \u0432\u0430\u0448\u0435\u043c \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u043e\u043c \u043a\u043e\u0434\u0438\u043d\u0433-\u0430\u0433\u0435\u043d\u0442\u0435.", - - "download.title": "OpenCode | \u0421\u043a\u0430\u0447\u0430\u0442\u044c", - "zen.cta.start": "Начните работу с Zen", - "zen.pricing.title": "Добавьте баланс в размере 20 долларов США с оплатой по мере использования.", - "zen.pricing.fee": "(+$1,23 комиссия за обработку карты)", - "zen.pricing.body": "Используйте с любым агентом. Установите ежемесячные лимиты расходов. Отмените в любое время.", - "zen.problem.title": "Какую проблему решает Zen?", - "zen.problem.body": - "Доступно очень много моделей, но лишь некоторые из них хорошо работают с агентами кодирования. Большинство провайдеров настраивают их по-разному с разными результатами.", - "zen.problem.subtitle": "Мы исправляем это для всех, а не только для пользователей OpenCode.", - "zen.problem.item1": "Тестирование выбранных моделей и консультирование их команд.", - "zen.problem.item2": "Работа с поставщиками для обеспечения их правильной доставки.", - "zen.problem.item3": "Сравнительный анализ всех комбинаций модели и поставщика, которые мы рекомендуем", - "zen.how.title": "Как работает Zen", - "zen.how.body": "Хотя мы предлагаем вам использовать Zen с OpenCode, вы можете использовать Zen с любым агентом.", - "zen.how.step1.title": "Зарегистрируйтесь и пополните баланс в размере 20 долларов США.", - "zen.how.step1.beforeLink": "следовать", - "zen.how.step1.link": "инструкции по настройке", - "zen.how.step2.title": "Используйте Zen с прозрачными ценами", - "zen.how.step2.link": "оплата за запрос", - "zen.how.step2.afterLink": "с нулевой наценкой", - "zen.how.step3.title": "Автопополнение", - "zen.how.step3.body": "когда ваш баланс достигнет 5 долларов США, мы автоматически добавим 20 долларов США", - "zen.privacy.title": "Ваша конфиденциальность важна для нас", - "zen.privacy.beforeExceptions": - "Все модели Zen размещены в США. Поставщики следуют политике нулевого хранения и не используют ваши данные для обучения моделей.", - "zen.privacy.exceptionsLink": "следующие исключения", - "download.meta.description": - "\u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 OpenCode \u0434\u043b\u044f macOS, Windows \u0438 Linux", - "download.hero.title": "\u0421\u043a\u0430\u0447\u0430\u0442\u044c OpenCode", - "download.hero.subtitle": - "\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432 \u0431\u0435\u0442\u0430-\u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043b\u044f macOS, Windows \u0438 Linux", - "download.hero.button": "\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0434\u043b\u044f {{os}}", - "download.section.terminal": "OpenCode \u0422\u0435\u0440\u043c\u0438\u043d\u0430\u043b", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f OpenCode", - "download.section.integrations": "\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 OpenCode", - "download.action.download": "\u0421\u043a\u0430\u0447\u0430\u0442\u044c", - "download.action.install": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c", - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - "download.faq.a3.beforeLocal": - "\u041d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e. \u0412\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 AI, \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c OpenCode \u043a \u043f\u043b\u0430\u0442\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0443, \u0445\u043e\u0442\u044f \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441", - "download.faq.a3.localLink": - "\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438", - "download.faq.a3.afterLocal.beforeZen": - "\u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e. \u0425\u043e\u0442\u044f \u043c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c", - "download.faq.a3.afterZen": - ", OpenCode \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a OpenAI, Anthropic, xAI \u0438 \u0434\u0440.", - "download.faq.a5.p1": "OpenCode \u043d\u0430 100% \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u0435\u043d.", - "download.faq.a5.p2.beforeZen": - "\u041b\u044e\u0431\u044b\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u0431\u0443\u0434\u0443\u0442 \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0441 \u0432\u0430\u0448\u0435\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u043e\u0439 \u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439. \u0425\u043e\u0442\u044f OpenCode \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043b\u044e\u0431\u044b\u043c \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u043c \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u043c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c", - "download.faq.a5.p2.afterZen": ".", - "download.faq.a6.p1": - "\u0412\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0434\u043b\u044f \u0448\u0430\u0440\u0438\u043d\u0433\u0430 \u0432 OpenCode.", - "download.faq.a6.p2.beforeShare": "\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e", - "download.faq.a6.shareLink": - "\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0448\u0430\u0440\u0438\u043d\u0433\u0430", - "enterprise.meta.description": - "\u0421\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441 OpenCode \u0434\u043b\u044f \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439", - "enterprise.hero.title": - "\u0412\u0430\u0448 \u043a\u043e\u0434 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0432\u0430\u043c", - "enterprise.hero.body1": - "OpenCode \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u0432\u0430\u0448\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438: \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442, \u043d\u0435 \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0438 \u043d\u0435 \u0437\u0430\u044f\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u0430\u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438. \u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u043f\u0440\u043e\u0431\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439, \u0430 \u0437\u0430\u0442\u0435\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0438\u0442\u0435 OpenCode \u043f\u043e \u0432\u0441\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0432 \u0435\u0433\u043e \u0441 \u0432\u0430\u0448\u0438\u043c SSO \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c AI-\u0448\u043b\u044e\u0437\u043e\u043c.", - "enterprise.hero.body2": - "\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0438\u0442\u0435, \u0447\u0435\u043c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043c\u043e\u0447\u044c.", - "enterprise.form.name.label": "\u041f\u043e\u043b\u043d\u043e\u0435 \u0438\u043c\u044f", - "enterprise.form.name.placeholder": "\u0414\u0436\u0435\u0444\u0444 \u0411\u0435\u0437\u043e\u0441", - "enterprise.form.role.label": "\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c", - "enterprise.form.role.placeholder": - "\u041f\u0440\u0435\u0434\u0441\u0435\u0434\u0430\u0442\u0435\u043b\u044c \u0441\u043e\u0432\u0435\u0442\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u043e\u0432", - "enterprise.form.email.label": - "\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043f\u043e\u0447\u0442\u0430", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": - "\u041a\u0430\u043a\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0432\u044b \u043f\u044b\u0442\u0430\u0435\u0442\u0435\u0441\u044c \u0440\u0435\u0448\u0438\u0442\u044c?", - "enterprise.form.message.placeholder": - "\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u0441...", - "enterprise.form.send": "\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c", - "enterprise.form.sending": "\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430...", - "enterprise.form.success": - "\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e, \u0441\u043a\u043e\u0440\u043e \u0441\u0432\u044f\u0436\u0435\u043c\u0441\u044f.", - "enterprise.faq.title": "FAQ", - "enterprise.faq.q1": "\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 OpenCode Enterprise?", - "enterprise.faq.a1": - "OpenCode Enterprise \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0442\u044f\u0442 \u0431\u044b\u0442\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0438\u0445 \u043a\u043e\u0434 \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043f\u043e\u043a\u0438\u0434\u0430\u044e\u0442 \u0438\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443. \u042d\u0442\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0437\u0430 \u0441\u0447\u0435\u0442 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0441 \u0432\u0430\u0448\u0438\u043c SSO \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c AI-\u0448\u043b\u044e\u0437\u043e\u043c.", - "enterprise.faq.q2": - "\u041a\u0430\u043a \u043d\u0430\u0447\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c OpenCode Enterprise?", - "enterprise.faq.a2": - "\u041f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0447\u043d\u0438\u0442\u0435 \u0441 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u043f\u0438\u043b\u043e\u0442\u0430 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e OpenCode \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0430\u0448 \u043a\u043e\u0434 \u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0447\u0430\u0442\u044c \u043b\u0435\u0433\u043a\u043e. \u0417\u0430\u0442\u0435\u043c \u0441\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441 \u043d\u0430\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0441\u0443\u0434\u0438\u0442\u044c \u0446\u0435\u043d\u044b \u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f.", - "enterprise.faq.q3": - "\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u0446\u0435\u043d\u0430?", - "enterprise.faq.a3": - "\u041c\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u043f\u043b\u0430\u0442\u044b \u043f\u043e \u0447\u0438\u0441\u043b\u0443 \u043c\u0435\u0441\u0442 (per-seat). \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 LLM-\u0448\u043b\u044e\u0437, \u043c\u044b \u043d\u0435 \u0432\u0437\u0438\u043c\u0430\u0435\u043c \u043f\u043b\u0430\u0442\u0443 \u0437\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0442\u043e\u043a\u0435\u043d\u044b. \u0414\u043b\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441 \u043d\u0430\u043c\u0438 \u2014 \u043c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043c \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u0435\u0439 \u0432\u0430\u0448\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438.", - "enterprise.faq.q4": - "\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b \u043b\u0438 \u043c\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 OpenCode Enterprise?", - "enterprise.faq.a4": - "\u0414\u0430. OpenCode \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0430\u0448 \u043a\u043e\u0434 \u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0412\u0441\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u044f\u043c\u044b\u0435 API-\u0432\u044b\u0437\u043e\u0432\u044b \u043a \u0432\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0443 \u0418\u0418. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 SSO \u0432\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0432\u0430\u0448\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438.", - - "brand.title": "OpenCode | \u0411\u0440\u0435\u043d\u0434", - "brand.meta.description": - "\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0431\u0440\u0435\u043d\u0434\u0443 OpenCode", - "brand.heading": - "\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0431\u0440\u0435\u043d\u0434\u0443", - "brand.subtitle": - "\u0420\u0435\u0441\u0443\u0440\u0441\u044b \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0432\u0430\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u0440\u0435\u043d\u0434\u043e\u043c OpenCode.", - "brand.downloadAll": - "\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0432\u0441\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b", - "changelog.title": - "OpenCode | \u0421\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439", - "changelog.meta.description": - "\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f \u043a \u0440\u0435\u043b\u0438\u0437\u0430\u043c \u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 OpenCode", - "changelog.hero.title": "\u0421\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439", - "changelog.hero.subtitle": - "\u041d\u043e\u0432\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f OpenCode", - "changelog.empty": - "\u0417\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e.", - "changelog.viewJson": "\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c JSON", - "workspace.nav.zen": "Дзен", - "workspace.nav.apiKeys": "API Ключи", - "workspace.nav.members": "Члены", - "workspace.nav.billing": "Биллинг", - "workspace.nav.settings": "Настройки", - "workspace.home.banner.beforeLink": "Надежные оптимизированные модели для агентов кодирования.", - "workspace.home.billing.loading": "Загрузка...", - "workspace.home.billing.enable": "Включить биллинг", - "workspace.home.billing.currentBalance": "Текущий баланс", - "workspace.newUser.feature.tested.title": "Протестированные и проверенные модели", - "workspace.newUser.feature.tested.body": - "Мы протестировали модели специально для агентов кодирования, чтобы обеспечить максимальную производительность.", - "workspace.newUser.feature.quality.title": "Высочайшее качество", - "workspace.newUser.feature.quality.body": - "Модели доступа, настроенные для оптимальной производительности — без перехода на более раннюю версию или перенаправления к более дешевым поставщикам.", - "workspace.newUser.feature.lockin.title": "Нет блокировки", - "workspace.newUser.feature.lockin.body": - "Используйте Zen с любым агентом кодирования и продолжайте использовать других поставщиков с opencode, когда захотите.", - "workspace.newUser.copyApiKey": "Скопируйте ключ API", - "workspace.newUser.copyKey": "Копировать ключ", - "workspace.newUser.copied": "Скопировано!", - "workspace.newUser.step.enableBilling": "Включить биллинг", - "workspace.newUser.step.login.before": "Бегать", - "workspace.newUser.step.login.after": "и выберите opencode", - "workspace.newUser.step.pasteKey": "Вставьте свой ключ API.", - "workspace.newUser.step.models.before": "Запустите opencode и запустите", - "workspace.newUser.step.models.after": "чтобы выбрать модель", - "workspace.models.title": "Модели", - "workspace.models.subtitle.beforeLink": "Управляйте доступом участников рабочей области к моделям.", - "workspace.models.table.model": "Модель", - "workspace.models.table.enabled": "Включено", - "workspace.providers.title": "Принесите свой ключ", - "workspace.providers.subtitle": "Настройте свои собственные ключи API от поставщиков ИИ.", - "workspace.providers.placeholder": "Введите ключ {{provider}} API ({{prefix}}...)", - "workspace.providers.configure": "Настроить", - "workspace.providers.edit": "Редактировать", - "workspace.providers.delete": "Удалить", - "workspace.providers.saving": "Сохранение...", - "workspace.providers.save": "Сохранять", - "workspace.providers.table.provider": "Поставщик", - "workspace.providers.table.apiKey": "API Ключ", - "workspace.usage.title": "История использования", - "workspace.usage.subtitle": "Недавнее использование API и затраты.", - "workspace.usage.empty": "Чтобы начать работу, сделайте первый вызов API.", - "workspace.usage.table.date": "Дата", - "workspace.usage.table.model": "Модель", - "workspace.usage.table.input": "Вход", - "workspace.usage.table.output": "Выход", - "workspace.usage.table.cost": "Расходы", - "workspace.usage.breakdown.input": "Вход", - "workspace.usage.breakdown.cacheRead": "Чтение кэша", - "workspace.usage.breakdown.cacheWrite": "Запись в кэш", - "workspace.usage.breakdown.output": "Выход", - "workspace.usage.breakdown.reasoning": "Рассуждение", - "workspace.usage.subscription": "подписка (${{amount}})", - "workspace.cost.title": "Расходы", - "workspace.cost.subtitle": "Стоимость использования в разбивке по моделям.", - "workspace.cost.allModels": "Все модели", - "workspace.cost.allKeys": "Все ключи", - "workspace.cost.deletedSuffix": "(удалено)", - "workspace.cost.empty": "Данные об использовании за выбранный период отсутствуют.", - "workspace.cost.subscriptionShort": "суб", - "workspace.keys.title": "API Ключи", - "workspace.keys.subtitle": "Управляйте ключами API для доступа к сервисам opencode.", - "workspace.keys.create": "Создать ключ API", - "workspace.keys.placeholder": "Введите имя ключа", - "workspace.keys.empty": "Создайте ключ opencode шлюза API.", - "workspace.keys.table.name": "Имя", - "workspace.keys.table.key": "Ключ", - "workspace.keys.table.createdBy": "Создано", - "workspace.keys.table.lastUsed": "Последнее использование", - "workspace.keys.copyApiKey": "Скопируйте ключ API", - "workspace.keys.delete": "Удалить", - "workspace.members.title": "Члены", - "workspace.members.subtitle": "Управляйте участниками рабочей области и их разрешениями.", - "workspace.members.invite": "Пригласить участника", - "workspace.members.inviting": "Приглашаем...", - "workspace.members.beta.beforeLink": "Во время бета-тестирования рабочие места предоставляются командам бесплатно.", - "workspace.members.form.invitee": "Приглашенный", - "workspace.members.form.emailPlaceholder": "Введите адрес электронной почты", - "workspace.members.form.role": "Роль", - "workspace.members.form.monthlyLimit": "Ежемесячный лимит расходов", - "workspace.members.noLimit": "Без ограничений", - "workspace.members.noLimitLowercase": "без ограничений", - "workspace.members.invited": "приглашенный", - "workspace.members.edit": "Редактировать", - "workspace.members.delete": "Удалить", - "workspace.members.saving": "Сохранение...", - "workspace.members.save": "Сохранять", - "workspace.members.table.email": "Электронная почта", - "workspace.members.table.role": "Роль", - "workspace.members.table.monthLimit": "Лимит месяца", - "workspace.members.role.admin": "Админ", - "workspace.members.role.adminDescription": "Может управлять моделями, участниками и выставлением счетов.", - "workspace.members.role.member": "Член", - "workspace.members.role.memberDescription": "Может генерировать ключи API только для себя.", - "workspace.settings.title": "Настройки", - "workspace.settings.subtitle": "Обновите имя и настройки рабочей области.", - "workspace.settings.workspaceName": "Имя рабочей области", - "workspace.settings.defaultName": "По умолчанию", - "workspace.settings.updating": "Обновление...", - "workspace.settings.save": "Сохранять", - "workspace.settings.edit": "Редактировать", - "workspace.billing.title": "Биллинг", - "workspace.billing.subtitle.beforeLink": "Управление способами оплаты.", - "workspace.billing.contactUs": "Связаться с нами", - "workspace.billing.subtitle.afterLink": "если у вас есть какие-либо вопросы.", - "workspace.billing.currentBalance": "Текущий баланс", - "workspace.billing.add": "Добавить $", - "workspace.billing.enterAmount": "Введите сумму", - "workspace.billing.loading": "Загрузка...", - "workspace.billing.addAction": "Добавлять", - "workspace.billing.addBalance": "Добавить баланс", - "workspace.billing.linkedToStripe": "Связано с Stripe", - "workspace.billing.manage": "Управлять", - "workspace.billing.enable": "Включить биллинг", - "workspace.monthlyLimit.title": "Ежемесячный лимит", - "workspace.monthlyLimit.subtitle": "Установите ежемесячный лимит использования для вашей учетной записи.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "Параметр...", - "workspace.monthlyLimit.set": "Набор", - "workspace.monthlyLimit.edit": "Изменить лимит", - "workspace.monthlyLimit.noLimit": "Ограничение использования не установлено.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "Текущее использование для", - "workspace.monthlyLimit.currentUsage.beforeAmount": "составляет $", - "workspace.reload.title": "Автоматическая перезагрузка", - "workspace.reload.disabled.before": "Автоматическая перезагрузка есть", - "workspace.reload.disabled.state": "неполноценный", - "workspace.reload.disabled.after": "Включите автоматическую перезагрузку при низком балансе.", - "workspace.reload.enabled.before": "Автоматическая перезагрузка есть", - "workspace.reload.enabled.state": "включено", - "workspace.reload.enabled.middle": "Мы перезагрузим", - "workspace.reload.processingFee": "плата за обработку", - "workspace.reload.enabled.after": "когда баланс достигнет", - "workspace.reload.edit": "Редактировать", - "workspace.reload.enable": "Давать возможность", - "workspace.reload.enableAutoReload": "Включить автоматическую перезагрузку", - "workspace.reload.reloadAmount": "Перезагрузить $", - "workspace.reload.whenBalanceReaches": "Когда баланс достигнет $", - "workspace.reload.saving": "Сохранение...", - "workspace.reload.save": "Сохранять", - "workspace.reload.failedAt": "Перезагрузка не удалась", - "workspace.reload.reason": "Причина:", - "workspace.reload.updatePaymentMethod": "Пожалуйста, обновите способ оплаты и повторите попытку.", - "workspace.reload.retrying": "Повторная попытка...", - "workspace.reload.retry": "Повторить попытку", - "workspace.payments.title": "История платежей", - "workspace.payments.subtitle": "Последние платежные операции.", - "workspace.payments.table.date": "Дата", - "workspace.payments.table.paymentId": "Идентификатор платежа", - "workspace.payments.table.amount": "Количество", - "workspace.payments.table.receipt": "Квитанция", - "workspace.payments.type.credit": "кредит", - "workspace.payments.type.subscription": "подписка", - "workspace.payments.view": "Вид", - "workspace.black.loading": "Загрузка...", - "workspace.black.time.day": "день", - "workspace.black.time.days": "дни", - "workspace.black.time.hour": "час", - "workspace.black.time.hours": "часы", - "workspace.black.time.minute": "минута", - "workspace.black.time.minutes": "минуты", - "workspace.black.time.fewSeconds": "несколько секунд", - "workspace.black.subscription.title": "Подписка", - "workspace.black.subscription.message": "Вы подписаны на OpenCode Black за {{plan}} долларов США в месяц.", - "workspace.black.subscription.manage": "Управление подпиской", - "workspace.black.subscription.rollingUsage": "5-часовое использование", - "workspace.black.subscription.weeklyUsage": "Еженедельное использование", - "workspace.black.subscription.resetsIn": "Сбрасывается через", - "workspace.black.subscription.useBalance": "Используйте доступный баланс после достижения лимитов использования.", - "workspace.black.waitlist.title": "Список ожидания", - "workspace.black.waitlist.joined": "Вы находитесь в списке ожидания плана OpenCode Black за ${{plan}} в месяц.", - "workspace.black.waitlist.ready": - "Мы готовы зарегистрировать вас в плане OpenCode Black стоимостью ${{plan}} в месяц.", - "workspace.black.waitlist.leave": "Покинуть список ожидания", - "workspace.black.waitlist.leaving": "Уход...", - "workspace.black.waitlist.left": "Левый", - "workspace.black.waitlist.enroll": "Зарегистрироваться", - "workspace.black.waitlist.enrolling": "Регистрация...", - "workspace.black.waitlist.enrolled": "Зачислен", - "workspace.black.waitlist.enrollNote": - "Когда вы нажмете «Зарегистрироваться», ваша подписка начнется немедленно, и с вашей карты будет снята оплата.", -} satisfies Dict diff --git a/packages/console/app/src/i18n/th.ts b/packages/console/app/src/i18n/th.ts deleted file mode 100644 index 26642db4a..000000000 --- a/packages/console/app/src/i18n/th.ts +++ /dev/null @@ -1,545 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23", - "nav.changelog": - "\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23", - "nav.zen": "Zen", - "nav.login": "\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a", - "nav.free": "\u0e1f\u0e23\u0e35", - "nav.home": "\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01", - "nav.openMenu": "\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39", - "nav.getStartedFree": "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e1f\u0e23\u0e35", - - "nav.context.copyLogo": - "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e42\u0e25\u0e42\u0e01\u0e49\u0e40\u0e1b\u0e47\u0e19 SVG", - "nav.context.copyWordmark": - "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e15\u0e31\u0e27\u0e2d\u0e31\u0e01\u0e29\u0e23\u0e41\u0e1a\u0e23\u0e19\u0e14\u0e4c\u0e40\u0e1b\u0e47\u0e19 SVG", - "nav.context.brandAssets": "\u0e41\u0e2d\u0e2a\u0e40\u0e0b\u0e17\u0e41\u0e1a\u0e23\u0e19\u0e14\u0e4c", - - "footer.github": "GitHub", - "footer.docs": "\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23", - "footer.changelog": - "\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "\u0e41\u0e1a\u0e23\u0e19\u0e14\u0e4c", - "legal.privacy": "\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27", - "legal.terms": "\u0e02\u0e49\u0e2d\u0e01\u0e33\u0e2b\u0e19\u0e14", - - "email.title": - "\u0e23\u0e39\u0e49\u0e01\u0e48\u0e2d\u0e19\u0e43\u0e04\u0e23\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e32\u0e1b\u0e25\u0e48\u0e2d\u0e22\u0e1c\u0e25\u0e34\u0e15\u0e20\u0e31\u0e13\u0e11\u0e4c\u0e43\u0e2b\u0e21\u0e48", - "email.subtitle": - "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e23\u0e32\u0e22\u0e0a\u0e37\u0e48\u0e2d\u0e23\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07\u0e01\u0e48\u0e2d\u0e19\u0e43\u0e04\u0e23.", - "email.placeholder": "\u0e2d\u0e35\u0e40\u0e21\u0e25\u0e4c", - "email.subscribe": "\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e23\u0e31\u0e1a\u0e02\u0e48\u0e32\u0e27\u0e2a\u0e32\u0e23", - "email.success": - "\u0e40\u0e01\u0e37\u0e2d\u0e1a\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e01\u0e25\u0e48\u0e2d\u0e07\u0e02\u0e32\u0e40\u0e02\u0e49\u0e32\u0e41\u0e25\u0e30\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e2d\u0e35\u0e40\u0e21\u0e25\u0e4c\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", - - "notFound.title": "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e2b\u0e19\u0e49\u0e32 | opencode", - "notFound.heading": - "404 - \u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e04\u0e49\u0e19\u0e2b\u0e32", - "notFound.home": "\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01", - "notFound.docs": "\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e23\u0e30\u0e1a\u0e1a", - - "workspace.select": "\u0e40\u0e25\u0e37\u0e2d\u0e01 workspace", - "workspace.createNew": "+ \u0e2a\u0e23\u0e49\u0e32\u0e07 workspace \u0e43\u0e2b\u0e21\u0e48", - "workspace.modal.title": "\u0e2a\u0e23\u0e49\u0e32\u0e07 workspace \u0e43\u0e2b\u0e21\u0e48", - "workspace.modal.placeholder": "\u0e01\u0e23\u0e2d\u0e01\u0e0a\u0e37\u0e48\u0e2d workspace", - - "common.cancel": "\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01", - "common.creating": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07...", - "common.create": "\u0e2a\u0e23\u0e49\u0e32\u0e07", - - "common.videoUnsupported": - "\u0e40\u0e1a\u0e23\u0e32\u0e27\u0e4c\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e44\u0e21\u0e48\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e41\u0e17\u0e47\u0e01 video", - "common.figure": "\u0e23\u0e39\u0e1b {{n}}", - "common.faq": "\u0e04\u0e33\u0e16\u0e32\u0e21\u0e17\u0e35\u0e48\u0e1e\u0e1a\u0e1a\u0e48\u0e2d\u0e22", - "common.learnMore": "\u0e14\u0e39\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21", - - "home.title": - "OpenCode | \u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14\u0e14\u0e49\u0e27\u0e22 AI \u0e41\u0e1a\u0e1a\u0e42\u0e2d\u0e40\u0e1e\u0e19\u0e0b\u0e2d\u0e23\u0e4c\u0e2a", - - "home.banner.badge": "\u0e43\u0e2b\u0e21\u0e48", - "home.banner.text": - "\u0e41\u0e2d\u0e1b\u0e40\u0e14\u0e2a\u0e01\u0e4c\u0e17\u0e47\u0e2d\u0e1b\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e43\u0e19\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e0a\u0e31\u0e19\u0e40\u0e1a\u0e15\u0e49\u0e32", - "home.banner.platforms": "\u0e1a\u0e19 macOS, Windows \u0e41\u0e25\u0e30 Linux", - "home.banner.downloadNow": - "\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49", - "home.banner.downloadBetaNow": - "\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e40\u0e1a\u0e15\u0e49\u0e32\u0e40\u0e14\u0e2a\u0e01\u0e4c\u0e17\u0e47\u0e2d\u0e1b\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49", - - "home.hero.title": - "\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14\u0e14\u0e49\u0e27\u0e22 AI \u0e41\u0e1a\u0e1a\u0e42\u0e2d\u0e40\u0e1e\u0e19\u0e0b\u0e2d\u0e23\u0e4c\u0e2a", - "home.hero.subtitle.a": - "\u0e21\u0e35\u0e23\u0e27\u0e21\u0e42\u0e21\u0e40\u0e14\u0e25\u0e1f\u0e23\u0e35 \u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e42\u0e21\u0e40\u0e14\u0e25\u0e43\u0e14\u0e46\u0e08\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e43\u0e14\u0e46,", - "home.hero.subtitle.b": - "\u0e23\u0e27\u0e21\u0e16\u0e36\u0e07 Claude, GPT, Gemini \u0e41\u0e25\u0e30\u0e2d\u0e35\u0e01\u0e21\u0e32\u0e01\u0e21\u0e32\u0e22.", - - "home.install.ariaLabel": - "\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07", - - "home.what.title": "OpenCode \u0e04\u0e37\u0e2d\u0e2d\u0e30\u0e44\u0e23?", - "home.what.body": - "OpenCode \u0e40\u0e1b\u0e47\u0e19\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e42\u0e2d\u0e40\u0e1e\u0e19\u0e0b\u0e2d\u0e23\u0e4c\u0e2a \u0e17\u0e35\u0e48\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14\u0e43\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e21\u0e34\u0e19\u0e31\u0e25, IDE \u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e14\u0e2a\u0e01\u0e4c\u0e17\u0e47\u0e2d\u0e1b.", - "home.what.lsp.title": "\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a LSP", - "home.what.lsp.body": - "\u0e42\u0e2b\u0e25\u0e14 LSP \u0e17\u0e35\u0e48\u0e40\u0e2b\u0e21\u0e32\u0e30\u0e2a\u0e21\u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a LLM \u0e41\u0e1a\u0e1a\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34", - "home.what.multiSession.title": "\u0e2b\u0e25\u0e32\u0e22\u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19", - "home.what.multiSession.body": - "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e43\u0e0a\u0e49\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e2b\u0e25\u0e32\u0e22\u0e15\u0e31\u0e27\u0e04\u0e39\u0e48\u0e02\u0e19\u0e32\u0e19\u0e43\u0e19\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e01\u0e15\u0e4c\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19", - "home.what.shareLinks.title": "\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e1a\u0e48\u0e07\u0e1b\u0e31\u0e19", - "home.what.shareLinks.body": - "\u0e41\u0e1a\u0e48\u0e07\u0e1b\u0e31\u0e19\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19\u0e43\u0e14\u0e46 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2d\u0e49\u0e32\u0e07\u0e2d\u0e34\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e14\u0e35\u0e1a\u0e31\u0e01", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": - "\u0e25\u0e47\u0e2d\u0e01\u0e2d\u0e34\u0e19\u0e14\u0e49\u0e27\u0e22 GitHub \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e1a\u0e31\u0e0d\u0e0a\u0e35 Copilot \u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": - "\u0e25\u0e47\u0e2d\u0e01\u0e2d\u0e34\u0e19\u0e14\u0e49\u0e27\u0e22 OpenAI \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49 ChatGPT Plus \u0e2b\u0e23\u0e37\u0e2d Pro \u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", - "home.what.anyModel.title": "\u0e42\u0e21\u0e40\u0e14\u0e25\u0e43\u0e14\u0e46", - "home.what.anyModel.body": - "\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23 LLM 75+ \u0e23\u0e32\u0e22\u0e1c\u0e48\u0e32\u0e19 Models.dev \u0e23\u0e27\u0e21\u0e16\u0e36\u0e07\u0e42\u0e21\u0e40\u0e14\u0e25\u0e42\u0e25\u0e04\u0e2d\u0e25", - "home.what.anyEditor.title": "\u0e40\u0e2d\u0e14\u0e34\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e43\u0e14\u0e46", - "home.what.anyEditor.body": - "\u0e43\u0e0a\u0e49\u0e44\u0e14\u0e49\u0e17\u0e31\u0e49\u0e07\u0e41\u0e1a\u0e1a\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e21\u0e34\u0e19\u0e31\u0e25, \u0e41\u0e2d\u0e1b\u0e40\u0e14\u0e2a\u0e01\u0e4c\u0e17\u0e47\u0e2d\u0e1b \u0e41\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e02\u0e22\u0e32\u0e22 IDE", - "home.what.readDocs": "\u0e2d\u0e48\u0e32\u0e19\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23", - - "home.growth.title": - "\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14\u0e14\u0e49\u0e27\u0e22 AI \u0e41\u0e1a\u0e1a\u0e42\u0e2d\u0e40\u0e1e\u0e19\u0e0b\u0e2d\u0e23\u0e4c\u0e2a", - "home.growth.body": - "\u0e14\u0e49\u0e27\u0e22\u0e14\u0e32\u0e27 GitHub \u0e01\u0e27\u0e48\u0e32 {{stars}} \u0e14\u0e27\u0e07, \u0e1c\u0e39\u0e49\u0e23\u0e48\u0e27\u0e21\u0e2a\u0e19\u0e31\u0e1a\u0e2a\u0e19\u0e38\u0e19 {{contributors}} \u0e04\u0e19 \u0e41\u0e25\u0e30\u0e04\u0e2d\u0e21\u0e21\u0e34\u0e15\u0e01\u0e27\u0e48\u0e32 {{commits}} \u0e04\u0e23\u0e31\u0e49\u0e07, OpenCode \u0e16\u0e39\u0e01\u0e43\u0e0a\u0e49\u0e41\u0e25\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e44\u0e27\u0e49\u0e27\u0e32\u0e07\u0e43\u0e08\u0e08\u0e32\u0e01\u0e19\u0e31\u0e01\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e01\u0e27\u0e48\u0e32 {{monthlyUsers}} \u0e04\u0e19\u0e43\u0e19\u0e17\u0e38\u0e01\u0e40\u0e14\u0e37\u0e2d\u0e19.", - "home.growth.githubStars": "\u0e14\u0e32\u0e27 GitHub", - "home.growth.contributors": - "\u0e1c\u0e39\u0e49\u0e23\u0e48\u0e27\u0e21\u0e2a\u0e19\u0e31\u0e1a\u0e2a\u0e19\u0e38\u0e19", - "home.growth.monthlyDevs": - "\u0e19\u0e31\u0e01\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e23\u0e32\u0e22\u0e40\u0e14\u0e37\u0e2d\u0e19", - - "home.privacy.title": - "\u0e2d\u0e2d\u0e01\u0e41\u0e1a\u0e1a\u0e14\u0e49\u0e27\u0e22\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27\u0e40\u0e1b\u0e47\u0e19\u0e2b\u0e25\u0e31\u0e01", - "home.privacy.body": - "OpenCode \u0e44\u0e21\u0e48\u0e08\u0e31\u0e14\u0e40\u0e01\u0e47\u0e1a\u0e42\u0e04\u0e49\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1a\u0e23\u0e34\u0e1a\u0e17\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e17\u0e33\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e43\u0e19\u0e2a\u0e34\u0e48\u0e07\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e49\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e01\u0e31\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27.", - "home.privacy.learnMore": - "\u0e14\u0e39\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a", - "home.privacy.link": "\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27", - - "home.faq.q1": "OpenCode \u0e04\u0e37\u0e2d\u0e2d\u0e30\u0e44\u0e23?", - "home.faq.a1": - "OpenCode \u0e40\u0e1b\u0e47\u0e19\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e42\u0e2d\u0e40\u0e1e\u0e19\u0e0b\u0e2d\u0e23\u0e4c\u0e2a \u0e17\u0e35\u0e48\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e40\u0e02\u0e35\u0e22\u0e19\u0e41\u0e25\u0e30\u0e23\u0e31\u0e19\u0e42\u0e04\u0e49\u0e14\u0e14\u0e49\u0e27\u0e22\u0e42\u0e21\u0e40\u0e14\u0e25 AI \u0e43\u0e14\u0e46 \u0e44\u0e14\u0e49 \u0e21\u0e35\u0e17\u0e31\u0e49\u0e07\u0e41\u0e1a\u0e1a\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e21\u0e34\u0e19\u0e31\u0e25, \u0e41\u0e2d\u0e1b\u0e40\u0e14\u0e2a\u0e01\u0e4c\u0e17\u0e47\u0e2d\u0e1b \u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e48\u0e27\u0e19\u0e02\u0e22\u0e32\u0e22 IDE.", - "home.faq.q2": "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e43\u0e0a\u0e49 OpenCode \u0e22\u0e31\u0e07\u0e44\u0e07?", - "home.faq.a2.before": - "\u0e27\u0e34\u0e18\u0e35\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e17\u0e35\u0e48\u0e07\u0e48\u0e32\u0e22\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e04\u0e37\u0e2d\u0e2d\u0e48\u0e32\u0e19", - "home.faq.a2.link": "\u0e1a\u0e17\u0e19\u0e33", - "home.faq.q3": - "\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01 AI \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e16\u0e36\u0e07\u0e08\u0e30\u0e43\u0e0a\u0e49 OpenCode \u0e44\u0e14\u0e49\u0e44\u0e2b\u0e21?", - "home.faq.a3.p1": - "\u0e44\u0e21\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e1b OpenCode \u0e21\u0e35\u0e42\u0e21\u0e40\u0e14\u0e25\u0e1f\u0e23\u0e35\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1a\u0e31\u0e0d\u0e0a\u0e35.", - "home.faq.a3.p2.beforeZen": - "\u0e19\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e19\u0e35\u0e49 \u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49\u0e42\u0e21\u0e40\u0e14\u0e25\u0e22\u0e2d\u0e14\u0e19\u0e34\u0e22\u0e21\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1a\u0e31\u0e0d\u0e0a\u0e35", - "home.faq.a3.p2.afterZen": ".", - "home.faq.a3.p3": - "\u0e41\u0e21\u0e49\u0e40\u0e23\u0e32\u0e08\u0e30\u0e41\u0e19\u0e30\u0e19\u0e33\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49 Zen \u0e41\u0e15\u0e48 OpenCode \u0e01\u0e47\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e01\u0e31\u0e1a\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e22\u0e2d\u0e14\u0e19\u0e34\u0e22\u0e21\u0e40\u0e0a\u0e48\u0e19 OpenAI, Anthropic, xAI \u0e44\u0e14\u0e49\u0e40\u0e0a\u0e48\u0e19\u0e01\u0e31\u0e19.", - "home.faq.a3.p4.beforeLocal": - "\u0e04\u0e38\u0e13\u0e22\u0e31\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d", - "home.faq.a3.p4.localLink": "\u0e42\u0e21\u0e40\u0e14\u0e25\u0e42\u0e25\u0e04\u0e2d\u0e25", - "home.faq.q4": - "\u0e43\u0e0a\u0e49\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01 AI \u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27\u0e01\u0e31\u0e1a OpenCode \u0e44\u0e14\u0e49\u0e44\u0e2b\u0e21?", - "home.faq.a4.p1": - "\u0e44\u0e14\u0e49 OpenCode \u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e41\u0e1c\u0e19\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01\u0e08\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e23\u0e32\u0e22\u0e43\u0e2b\u0e0d\u0e48\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 \u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49 Claude Pro/Max, ChatGPT Plus/Pro \u0e2b\u0e23\u0e37\u0e2d GitHub Copilot \u0e44\u0e14\u0e49.", - "home.faq.q5": - "\u0e43\u0e0a\u0e49 OpenCode \u0e44\u0e14\u0e49\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e43\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e21\u0e34\u0e19\u0e31\u0e25\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e1b\u0e25\u0e48\u0e32?", - "home.faq.a5.beforeDesktop": - "\u0e44\u0e21\u0e48\u0e41\u0e25\u0e49\u0e27! OpenCode \u0e21\u0e35\u0e41\u0e2d\u0e1b\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a", - "home.faq.a5.desktop": "\u0e40\u0e14\u0e2a\u0e01\u0e4c\u0e17\u0e47\u0e2d\u0e1b", - "home.faq.a5.and": "\u0e41\u0e25\u0e30", - "home.faq.a5.web": "\u0e40\u0e27\u0e47\u0e1a", - "home.faq.q6": "OpenCode \u0e23\u0e32\u0e04\u0e32\u0e40\u0e17\u0e48\u0e32\u0e44\u0e2b\u0e23\u0e48?", - "home.faq.a6": - "OpenCode \u0e43\u0e0a\u0e49\u0e1f\u0e23\u0e35 100% \u0e41\u0e25\u0e30\u0e21\u0e35\u0e42\u0e21\u0e40\u0e14\u0e25\u0e1f\u0e23\u0e35\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49 \u0e2d\u0e32\u0e08\u0e21\u0e35\u0e04\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e2b\u0e32\u0e01\u0e04\u0e38\u0e13\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e2d\u0e37\u0e48\u0e19.", - "home.faq.q7": - "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e41\u0e25\u0e30\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27\u0e25\u0e48\u0e30?", - "home.faq.a7.p1": - "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e08\u0e30\u0e16\u0e39\u0e01\u0e08\u0e31\u0e14\u0e40\u0e01\u0e47\u0e1a\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e43\u0e0a\u0e49\u0e42\u0e21\u0e40\u0e14\u0e25\u0e1f\u0e23\u0e35\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32 \u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e1b\u0e31\u0e19\u0e44\u0e14\u0e49.", - "home.faq.a7.p2.beforeModels": - "\u0e14\u0e39\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a", - "home.faq.a7.p2.modelsLink": "\u0e42\u0e21\u0e40\u0e14\u0e25\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32", - "home.faq.a7.p2.and": "\u0e41\u0e25\u0e30", - "home.faq.a7.p2.shareLink": "\u0e2b\u0e19\u0e49\u0e32\u0e41\u0e0a\u0e23\u0e4c", - "home.faq.q8": - "OpenCode \u0e40\u0e1b\u0e47\u0e19\u0e42\u0e2d\u0e40\u0e1e\u0e19\u0e0b\u0e2d\u0e23\u0e4c\u0e2a\u0e44\u0e2b\u0e21?", - "home.faq.a8.p1": - "\u0e43\u0e0a\u0e48 OpenCode \u0e40\u0e1b\u0e47\u0e19\u0e42\u0e2d\u0e40\u0e1e\u0e19\u0e0b\u0e2d\u0e23\u0e4c\u0e2a\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e41\u0e17\u0e49\u0e08\u0e23\u0e34\u0e07 \u0e42\u0e04\u0e49\u0e14\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19", - "home.faq.a8.p2": "\u0e20\u0e32\u0e22\u0e43\u0e15\u0e49", - "home.faq.a8.mitLicense": "MIT License", - "home.faq.a8.p3": - ", \u0e0b\u0e36\u0e48\u0e07\u0e2b\u0e21\u0e32\u0e22\u0e04\u0e27\u0e32\u0e21\u0e27\u0e48\u0e32\u0e43\u0e04\u0e23\u0e46\u0e01\u0e47\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 \u0e41\u0e01\u0e49\u0e44\u0e02 \u0e2b\u0e23\u0e37\u0e2d\u0e23\u0e48\u0e27\u0e21\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e44\u0e14\u0e49 \u0e41\u0e25\u0e30\u0e04\u0e19\u0e43\u0e19\u0e0a\u0e38\u0e21\u0e0a\u0e19\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14 issue, \u0e2a\u0e48\u0e07 pull request \u0e41\u0e25\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e44\u0e14\u0e49.", - - "home.zenCta.title": - "\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07\u0e42\u0e21\u0e40\u0e14\u0e25\u0e17\u0e35\u0e48\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e16\u0e37\u0e2d\u0e44\u0e14\u0e49\u0e41\u0e25\u0e30\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e15\u0e48\u0e07\u0e21\u0e32\u0e14\u0e35\u0e41\u0e25\u0e49\u0e27\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14", - "home.zenCta.body": - "Zen \u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07\u0e0a\u0e38\u0e14\u0e42\u0e21\u0e40\u0e14\u0e25 AI \u0e17\u0e35\u0e48 OpenCode \u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e41\u0e25\u0e30\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e1b\u0e23\u0e30\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e\u0e21\u0e32\u0e41\u0e25\u0e49\u0e27 \u0e42\u0e14\u0e22\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14 \u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e07\u0e27\u0e25\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e1b\u0e23\u0e30\u0e2aa\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e20\u0e32\u0e1e\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e2a\u0e21\u0e48\u0e33\u0e40\u0e2a\u0e21\u0e2d\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23 \u0e43\u0e0a\u0e49\u0e42\u0e21\u0e40\u0e14\u0e25\u0e17\u0e35\u0e48\u0e1c\u0e48\u0e32\u0e19\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e41\u0e25\u0e49\u0e27\u0e27\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e44\u0e14\u0e49\u0e08\u0e23\u0e34\u0e07.", - "home.zenCta.link": - "\u0e40\u0e23\u0e35\u0e22\u0e19\u0e23\u0e39\u0e49\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a Zen", - - "zen.title": - "OpenCode Zen | \u0e0a\u0e38\u0e14\u0e42\u0e21\u0e40\u0e14\u0e25\u0e17\u0e35\u0e48\u0e04\u0e31\u0e14\u0e2a\u0e23\u0e23\u0e21\u0e32\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e14\u0e35\u0e41\u0e25\u0e30\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e15\u0e48\u0e07\u0e41\u0e25\u0e49\u0e27\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14", - "zen.hero.title": - "\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07\u0e42\u0e21\u0e40\u0e14\u0e25\u0e17\u0e35\u0e48\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e16\u0e37\u0e2d\u0e44\u0e14\u0e49\u0e41\u0e25\u0e30\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e15\u0e48\u0e07\u0e21\u0e32\u0e14\u0e35\u0e41\u0e25\u0e49\u0e27\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14", - "zen.hero.body": - "Zen \u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07\u0e0a\u0e38\u0e14\u0e42\u0e21\u0e40\u0e14\u0e25 AI \u0e17\u0e35\u0e48 OpenCode \u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e41\u0e25\u0e30\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e1b\u0e23\u0e30\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e\u0e21\u0e32\u0e41\u0e25\u0e49\u0e27 \u0e42\u0e14\u0e22\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14 \u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e07\u0e27\u0e25\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e1b\u0e23\u0e30\u0e2aa\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e20\u0e32\u0e1e\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e2a\u0e21\u0e48\u0e33\u0e40\u0e2a\u0e21\u0e2d\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23 \u0e43\u0e0a\u0e49\u0e42\u0e21\u0e40\u0e14\u0e25\u0e17\u0e35\u0e48\u0e1c\u0e48\u0e32\u0e19\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e41\u0e25\u0e49\u0e27\u0e27\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e44\u0e14\u0e49\u0e08\u0e23\u0e34\u0e07.", - - "zen.faq.q1": "OpenCode Zen \u0e04\u0e37\u0e2d\u0e2d\u0e30\u0e44\u0e23?", - "zen.faq.a1": - "Zen \u0e04\u0e37\u0e2d\u0e0a\u0e38\u0e14\u0e42\u0e21\u0e40\u0e14\u0e25 AI \u0e17\u0e35\u0e48\u0e04\u0e31\u0e14\u0e2a\u0e23\u0e23\u0e21\u0e32\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e14\u0e35 \u0e1c\u0e48\u0e32\u0e19\u0e01\u0e32\u0e23\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e41\u0e25\u0e30\u0e17\u0e33\u0e40\u0e1a\u0e19\u0e0a\u0e4c\u0e21\u0e32\u0e23\u0e4c\u0e01\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14 \u0e42\u0e14\u0e22\u0e17\u0e35\u0e21\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e40\u0e1a\u0e37\u0e49\u0e2d\u0e07\u0e2b\u0e25\u0e31\u0e07 OpenCode", - "zen.faq.q2": - "\u0e2d\u0e30\u0e44\u0e23\u0e17\u0e33\u0e43\u0e2b\u0e49 Zen \u0e41\u0e21\u0e48\u0e19\u0e22\u0e33\u0e01\u0e27\u0e48\u0e32?", - "zen.faq.a2": - "Zen \u0e43\u0e2b\u0e49\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e42\u0e21\u0e40\u0e14\u0e25\u0e17\u0e35\u0e48\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e41\u0e25\u0e30\u0e17\u0e33\u0e40\u0e1a\u0e19\u0e0a\u0e4c\u0e21\u0e32\u0e23\u0e4c\u0e01\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14\u0e42\u0e14\u0e22\u0e40\u0e09\u0e1e\u0e32\u0e30 \u0e04\u0e38\u0e13\u0e04\u0e07\u0e44\u0e21\u0e48\u0e43\u0e0a\u0e49\u0e21\u0e35\u0e14\u0e17\u0e32\u0e40\u0e19\u0e22\u0e15\u0e31\u0e14\u0e2a\u0e40\u0e15\u0e4a\u0e01 \u0e2d\u0e22\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e42\u0e21\u0e40\u0e14\u0e25\u0e41\u0e22\u0e48\u0e46 \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14", - "zen.faq.q3": "Zen \u0e16\u0e39\u0e01\u0e01\u0e27\u0e48\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48?", - "zen.faq.a3": - "Zen \u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e17\u0e33\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e33\u0e44\u0e23 Zen \u0e2a\u0e48\u0e07\u0e1c\u0e48\u0e32\u0e19\u0e15\u0e49\u0e19\u0e17\u0e38\u0e19\u0e08\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e42\u0e21\u0e40\u0e14\u0e25\u0e21\u0e32\u0e16\u0e36\u0e07\u0e04\u0e38\u0e13 \u0e22\u0e34\u0e48\u0e07 Zen \u0e16\u0e39\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e21\u0e32\u0e01\u0e40\u0e17\u0e48\u0e32\u0e44\u0e23 OpenCode \u0e01\u0e47\u0e22\u0e34\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e23\u0e2d\u0e07\u0e40\u0e23\u0e15\u0e23\u0e32\u0e04\u0e32\u0e17\u0e35\u0e48\u0e14\u0e35\u0e01\u0e27\u0e48\u0e32\u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e21\u0e32\u0e01\u0e02\u0e36\u0e49\u0e19", - "zen.faq.q4": "Zen \u0e23\u0e32\u0e04\u0e32\u0e40\u0e17\u0e48\u0e32\u0e44\u0e23?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": - "\u0e04\u0e34\u0e14\u0e04\u0e48\u0e32\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d\u0e04\u0e33\u0e02\u0e2d", - "zen.faq.a4.p1.afterPricing": - "\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e21\u0e35\u0e21\u0e32\u0e23\u0e4c\u0e01\u0e2d\u0e31\u0e1b \u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19\u0e04\u0e38\u0e13\u0e08\u0e48\u0e32\u0e22\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a\u0e17\u0e35\u0e48\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e42\u0e21\u0e40\u0e14\u0e25\u0e40\u0e23\u0e35\u0e22\u0e01\u0e40\u0e01\u0e47\u0e1a", - "zen.faq.a4.p2.beforeAccount": - "\u0e04\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22\u0e23\u0e27\u0e21\u0e02\u0e36\u0e49\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 \u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e15\u0e31\u0e49\u0e07\u0e25\u0e34\u0e21\u0e34\u0e15\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e22\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e44\u0e14\u0e49\u0e43\u0e19", - "zen.faq.a4.p2.accountLink": "\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", - "zen.faq.a4.p3": - "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e04\u0e23\u0e2d\u0e1a\u0e04\u0e25\u0e38\u0e21\u0e15\u0e49\u0e19\u0e17\u0e38\u0e19 OpenCode \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e04\u0e48\u0e32\u0e18\u0e23\u0e23\u0e21\u0e40\u0e19\u0e35\u0e22\u0e21\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e01\u0e32\u0e23\u0e0a\u0e33\u0e23\u0e30\u0e40\u0e07\u0e34\u0e19\u0e40\u0e25\u0e47\u0e01\u0e19\u0e49\u0e2d\u0e22 $1.23 \u0e15\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e15\u0e34\u0e21\u0e22\u0e2d\u0e14 $20", - "zen.faq.q5": - "\u0e41\u0e25\u0e49\u0e27\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e41\u0e25\u0e30\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27\u0e25\u0e48\u0e30?", - "zen.faq.a5.beforeExceptions": - "\u0e42\u0e21\u0e40\u0e14\u0e25 Zen \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e42\u0e2e\u0e2a\u0e15\u0e4c\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e2a\u0e2b\u0e23\u0e31\u0e10\u0e2f \u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e21\u0e35\u0e19\u0e42\u0e22\u0e1a\u0e32\u0e22\u0e44\u0e21\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e41\u0e25\u0e30\u0e44\u0e21\u0e48\u0e43\u0e0a\u0e49\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e1d\u0e36\u0e01\u0e42\u0e21\u0e40\u0e14\u0e25 \u0e42\u0e14\u0e22\u0e21\u0e35", - "zen.faq.a5.exceptionsLink": - "\u0e02\u0e49\u0e2d\u0e22\u0e01\u0e40\u0e27\u0e49\u0e19\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49", - "zen.faq.q6": - "\u0e09\u0e31\u0e19\u0e15\u0e31\u0e49\u0e07\u0e25\u0e34\u0e21\u0e34\u0e15\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22\u0e44\u0e14\u0e49\u0e44\u0e2b\u0e21?", - "zen.faq.a6": - "\u0e44\u0e14\u0e49 \u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e15\u0e31\u0e49\u0e07\u0e25\u0e34\u0e21\u0e34\u0e15\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e22\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e44\u0e14\u0e49\u0e43\u0e19\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", - "zen.faq.q7": "\u0e09\u0e31\u0e19\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u0e44\u0e14\u0e49\u0e44\u0e2b\u0e21?", - "zen.faq.a7": - "\u0e44\u0e14\u0e49 \u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e34\u0e14\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e40\u0e01\u0e47\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e44\u0e23\u0e01\u0e47\u0e44\u0e14\u0e49\u0e41\u0e25\u0e30\u0e43\u0e0a\u0e49\u0e22\u0e2d\u0e14\u0e04\u0e07\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48", - "zen.faq.q8": - "\u0e09\u0e31\u0e19\u0e43\u0e0a\u0e49 Zen \u0e01\u0e31\u0e1a\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14\u0e2d\u0e37\u0e48\u0e19\u0e44\u0e14\u0e49\u0e44\u0e2b\u0e21?", - "zen.faq.a8": - "\u0e41\u0e21\u0e49 Zen \u0e08\u0e30\u0e17\u0e33\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e14\u0e35\u0e01\u0e31\u0e1a OpenCode \u0e41\u0e15\u0e48\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49 Zen \u0e01\u0e31\u0e1a\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49 \u0e17\u0e33\u0e15\u0e32\u0e21\u0e04\u0e33\u0e41\u0e19\u0e30\u0e19\u0e33\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e43\u0e19\u0e40\u0e2d\u0e40\u0e08\u0e19\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e43\u0e0a\u0e49\u0e2d\u0e22\u0e39\u0e48", - - "download.title": "OpenCode | \u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14", - "zen.cta.start": "เริ่มต้นกับ Zen", - "zen.pricing.title": "เพิ่ม $20 จ่ายตามยอดคงเหลือ", - "zen.pricing.fee": "(+ค่าธรรมเนียมการดำเนินการบัตร $1.23)", - "zen.pricing.body": "ใช้ร่วมกับตัวแทนใดๆ กำหนดวงเงินการใช้จ่ายรายเดือน ยกเลิกได้ตลอดเวลา", - "zen.problem.title": "Zen กำลังแก้ปัญหาอะไรอยู่?", - "zen.problem.body": - "มีหลายรุ่นให้เลือก แต่มีเพียงไม่กี่รุ่นเท่านั้นที่ทำงานได้ดีกับเอเจนต์การเขียนโค้ด ผู้ให้บริการส่วนใหญ่กำหนดค่าให้แตกต่างออกไปด้วยผลลัพธ์ที่แตกต่างกัน", - "zen.problem.subtitle": "เรากำลังแก้ไขปัญหานี้สำหรับทุกคน ไม่ใช่แค่ผู้ใช้ OpenCode เท่านั้น", - "zen.problem.item1": "ทดสอบโมเดลที่เลือกและปรึกษาทีมงาน", - "zen.problem.item2": "ทำงานร่วมกับผู้ให้บริการเพื่อให้แน่ใจว่ามีการจัดส่งอย่างถูกต้อง", - "zen.problem.item3": "การเปรียบเทียบชุดค่าผสมของผู้ให้บริการโมเดลทั้งหมดที่เราแนะนำ", - "zen.how.title": "Zen ทำงานอย่างไร", - "zen.how.body": "แม้ว่าเราจะแนะนำให้คุณใช้ Zen กับ OpenCode แต่คุณสามารถใช้ Zen กับตัวแทนใดก็ได้", - "zen.how.step1.title": "ลงทะเบียนและเพิ่มยอดคงเหลือ $20", - "zen.how.step1.beforeLink": "ปฏิบัติตาม", - "zen.how.step1.link": "คำแนะนำในการตั้งค่า", - "zen.how.step2.title": "ใช้ Zen ด้วยการกำหนดราคาที่โปร่งใส", - "zen.how.step2.link": "จ่ายตามคำขอ", - "zen.how.step2.afterLink": "โดยไม่มีมาร์กอัป", - "zen.how.step3.title": "เติมเงินอัตโนมัติ", - "zen.how.step3.body": "เมื่อยอดเงินของคุณถึง $5 เราจะเพิ่ม $20 โดยอัตโนมัติ", - "zen.privacy.title": "ความเป็นส่วนตัวของคุณเป็นสิ่งสำคัญสำหรับเรา", - "zen.privacy.beforeExceptions": - "โมเดล Zen ทั้งหมดโฮสต์ในสหรัฐอเมริกา ผู้ให้บริการปฏิบัติตามนโยบายการเก็บรักษาเป็นศูนย์และไม่ใช้ข้อมูลของคุณสำหรับการฝึกโมเดลด้วย", - "zen.privacy.exceptionsLink": "ข้อยกเว้นต่อไปนี้", - "download.meta.description": - "\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14 OpenCode \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a macOS, Windows \u0e41\u0e25\u0e30 Linux", - "download.hero.title": "\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14 OpenCode", - "download.hero.subtitle": - "\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e43\u0e19\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e0a\u0e31\u0e19 Beta \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a macOS, Windows \u0e41\u0e25\u0e30 Linux", - "download.hero.button": - "\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a {{os}}", - "download.section.terminal": "OpenCode Terminal", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "\u0e2a\u0e48\u0e27\u0e19\u0e02\u0e22\u0e32\u0e22 OpenCode", - "download.section.integrations": "\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d OpenCode", - "download.action.download": "\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14", - "download.action.install": "\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07", - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - "download.faq.a3.beforeLocal": - "\u0e44\u0e21\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e1b \u0e41\u0e15\u0e48\u0e01\u0e47\u0e19\u0e48\u0e32\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35 \u0e04\u0e38\u0e13\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01 AI \u0e2b\u0e32\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d OpenCode \u0e01\u0e31\u0e1a\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e41\u0e1a\u0e1a\u0e21\u0e35\u0e04\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22 \u0e41\u0e15\u0e48\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49", - "download.faq.a3.localLink": "\u0e42\u0e21\u0e40\u0e14\u0e25\u0e43\u0e19\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07", - "download.faq.a3.afterLocal.beforeZen": - "\u0e44\u0e14\u0e49\u0e1f\u0e23\u0e35 \u0e41\u0e21\u0e49\u0e27\u0e48\u0e32\u0e40\u0e23\u0e32\u0e08\u0e30\u0e41\u0e19\u0e30\u0e19\u0e33\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49", - "download.faq.a3.afterZen": - " \u0e41\u0e15\u0e48 OpenCode \u0e01\u0e47\u0e17\u0e33\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e01\u0e31\u0e1a\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e22\u0e2d\u0e14\u0e19\u0e34\u0e22\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 \u0e40\u0e0a\u0e48\u0e19 OpenAI, Anthropic, xAI \u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e19.", - "download.faq.a5.p1": "OpenCode \u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e1f\u0e23\u0e35 100%.", - "download.faq.a5.p2.beforeZen": - "\u0e04\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e08\u0e30\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01\u0e01\u0e31\u0e1a\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e42\u0e21\u0e40\u0e14\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13 \u0e41\u0e21\u0e49\u0e27\u0e48\u0e32 OpenCode \u0e08\u0e30\u0e17\u0e33\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e01\u0e31\u0e1a\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e42\u0e21\u0e40\u0e14\u0e25\u0e43\u0e14\u0e46 \u0e41\u0e15\u0e48\u0e40\u0e23\u0e32\u0e41\u0e19\u0e30\u0e19\u0e33\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49", - "download.faq.a5.p2.afterZen": ".", - "download.faq.a6.p1": - "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e41\u0e25\u0e30\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e08\u0e30\u0e16\u0e39\u0e01\u0e08\u0e31\u0e14\u0e40\u0e01\u0e47\u0e1a\u0e01\u0e47\u0e15\u0e48\u0e2d\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e41\u0e0a\u0e23\u0e4c\u0e43\u0e19 OpenCode \u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19.", - "download.faq.a6.p2.beforeShare": - "\u0e40\u0e23\u0e35\u0e22\u0e19\u0e23\u0e39\u0e49\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a", - "download.faq.a6.shareLink": "\u0e2b\u0e19\u0e49\u0e32\u0e41\u0e0a\u0e23\u0e4c", - - "enterprise.title": - "OpenCode | \u0e42\u0e0b\u0e25\u0e39\u0e0a\u0e31\u0e19\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", - "enterprise.meta.description": - "\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d OpenCode \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e42\u0e0b\u0e25\u0e39\u0e0a\u0e31\u0e19\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23", - "enterprise.hero.title": - "\u0e42\u0e04\u0e49\u0e14\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e40\u0e1b\u0e47\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", - "enterprise.hero.body1": - "OpenCode \u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22\u0e20\u0e32\u0e22\u0e43\u0e19\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13 \u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e08\u0e31\u0e14\u0e40\u0e01\u0e47\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2b\u0e23\u0e37\u0e2d\u0e1a\u0e23\u0e34\u0e1a\u0e17 \u0e41\u0e25\u0e30\u0e44\u0e21\u0e48\u0e21\u0e35\u0e02\u0e49\u0e2d\u0e08\u0e33\u0e01\u0e31\u0e14\u0e14\u0e49\u0e32\u0e19\u0e44\u0e25\u0e40\u0e0b\u0e19\u0e2a\u0e4c\u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e2d\u0e49\u0e32\u0e07\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e08\u0e49\u0e32\u0e02\u0e2d\u0e07 \u0e40\u0e23\u0e34\u0e48\u0e21\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e01\u0e31\u0e1a\u0e17\u0e35\u0e21\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13 \u0e41\u0e25\u0e49\u0e27\u0e19\u0e33\u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e17\u0e31\u0e48\u0e27\u0e17\u0e31\u0e49\u0e07\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23\u0e42\u0e14\u0e22\u0e1c\u0e2a\u0e32\u0e19\u0e23\u0e27\u0e21\u0e01\u0e31\u0e1a SSO \u0e41\u0e25\u0e30\u0e40\u0e01\u0e15\u0e40\u0e27\u0e22\u0e4c AI \u0e20\u0e32\u0e22\u0e43\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", - "enterprise.hero.body2": - "\u0e1a\u0e2d\u0e01\u0e40\u0e23\u0e32\u0e27\u0e48\u0e32\u0e40\u0e23\u0e32\u0e0a\u0e48\u0e27\u0e22\u0e2d\u0e30\u0e44\u0e23\u0e44\u0e14\u0e49\u0e1a\u0e49\u0e32\u0e07", - "enterprise.form.name.label": "\u0e0a\u0e37\u0e48\u0e2d-\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25", - "enterprise.form.name.placeholder": "\u0e40\u0e08\u0e1f\u0e1f\u0e4c \u0e40\u0e1a\u0e42\u0e0b\u0e2a", - "enterprise.form.role.label": "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07", - "enterprise.form.role.placeholder": - "\u0e1b\u0e23\u0e30\u0e18\u0e32\u0e19\u0e01\u0e23\u0e23\u0e21\u0e01\u0e32\u0e23\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23", - "enterprise.form.email.label": "\u0e2d\u0e35\u0e40\u0e21\u0e25\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": - "\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1e\u0e22\u0e32\u0e22\u0e32\u0e21\u0e41\u0e01\u0e49\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e2d\u0e30\u0e44\u0e23\u0e2d\u0e22\u0e39\u0e48?", - "enterprise.form.message.placeholder": - "\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e48\u0e27\u0e22\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07...", - "enterprise.form.send": "\u0e2a\u0e48\u0e07", - "enterprise.form.sending": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e2a\u0e48\u0e07...", - "enterprise.form.success": - "\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e01\u0e25\u0e31\u0e1a\u0e40\u0e23\u0e47\u0e27\u0e46 \u0e19\u0e35\u0e49", - "enterprise.faq.title": "\u0e04\u0e33\u0e16\u0e32\u0e21\u0e17\u0e35\u0e48\u0e1e\u0e1a\u0e1a\u0e48\u0e2d\u0e22", - "enterprise.faq.q1": "OpenCode Enterprise \u0e04\u0e37\u0e2d\u0e2d\u0e30\u0e44\u0e23?", - "enterprise.faq.a1": - "OpenCode Enterprise \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e21\u0e31\u0e48\u0e19\u0e43\u0e08\u0e27\u0e48\u0e32\u0e42\u0e04\u0e49\u0e14\u0e41\u0e25\u0e30\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e08\u0e30\u0e44\u0e21\u0e48\u0e2d\u0e2d\u0e01\u0e19\u0e2d\u0e01\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1e\u0e37\u0e49\u0e19\u0e10\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e15\u0e19\u0e40\u0e2d\u0e07 \u0e17\u0e33\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e41\u0e1a\u0e1a\u0e28\u0e39\u0e19\u0e22\u0e4c\u0e01\u0e25\u0e32\u0e07\u0e17\u0e35\u0e48\u0e1c\u0e2a\u0e32\u0e19\u0e23\u0e27\u0e21\u0e01\u0e31\u0e1a SSO \u0e41\u0e25\u0e30\u0e40\u0e01\u0e15\u0e40\u0e27\u0e22\u0e4c AI \u0e20\u0e32\u0e22\u0e43\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", - "enterprise.faq.q2": - "\u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e43\u0e0a\u0e49 OpenCode Enterprise \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23?", - "enterprise.faq.a2": - "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e20\u0e32\u0e22\u0e43\u0e19\u0e01\u0e31\u0e1a\u0e17\u0e35\u0e21\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22 \u0e42\u0e14\u0e22\u0e04\u0e48\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19 OpenCode \u0e44\u0e21\u0e48\u0e08\u0e31\u0e14\u0e40\u0e01\u0e47\u0e1a\u0e42\u0e04\u0e49\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1a\u0e23\u0e34\u0e1a\u0e17\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13 \u0e17\u0e33\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e44\u0e14\u0e49\u0e07\u0e48\u0e32\u0e22 \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e40\u0e23\u0e32\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1e\u0e39\u0e14\u0e04\u0e38\u0e22\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e23\u0e32\u0e04\u0e32\u0e41\u0e25\u0e30\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19", - "enterprise.faq.q3": - "\u0e01\u0e32\u0e23\u0e04\u0e34\u0e14\u0e23\u0e32\u0e04\u0e32\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23?", - "enterprise.faq.a3": - "\u0e40\u0e23\u0e32\u0e21\u0e35\u0e01\u0e32\u0e23\u0e04\u0e34\u0e14\u0e23\u0e32\u0e04\u0e32\u0e41\u0e1a\u0e1a\u0e15\u0e48\u0e2d\u0e17\u0e35\u0e48\u0e19\u0e31\u0e48\u0e07 (per-seat) \u0e2b\u0e32\u0e01\u0e04\u0e38\u0e13\u0e21\u0e35\u0e40\u0e01\u0e15\u0e40\u0e27\u0e22\u0e4c LLM \u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e40\u0e2d\u0e07 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e44\u0e21\u0e48\u0e04\u0e34\u0e14\u0e04\u0e48\u0e32\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e15\u0e32\u0e21\u0e08\u0e33\u0e19\u0e27\u0e19\u0e42\u0e17\u0e40\u0e04\u0e19\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49 \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 \u0e42\u0e1b\u0e23\u0e14\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e40\u0e23\u0e32\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e02\u0e2d\u0e43\u0e1a\u0e40\u0e2a\u0e19\u0e2d\u0e23\u0e32\u0e04\u0e32\u0e41\u0e1a\u0e1a\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e40\u0e2d\u0e07\u0e15\u0e32\u0e21\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e02\u0e2d\u0e07\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", - "enterprise.faq.q4": - "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49 OpenCode Enterprise \u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48?", - "enterprise.faq.a4": - "\u0e43\u0e0a\u0e48 OpenCode \u0e44\u0e21\u0e48\u0e08\u0e31\u0e14\u0e40\u0e01\u0e47\u0e1a\u0e42\u0e04\u0e49\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1a\u0e23\u0e34\u0e1a\u0e17\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13 \u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e40\u0e01\u0e34\u0e14\u0e02\u0e36\u0e49\u0e19\u0e43\u0e19\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e1c\u0e48\u0e32\u0e19\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01 API \u0e42\u0e14\u0e22\u0e15\u0e23\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23 AI \u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13 \u0e14\u0e49\u0e27\u0e22\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e41\u0e1a\u0e1a\u0e28\u0e39\u0e19\u0e22\u0e4c\u0e01\u0e25\u0e32\u0e07\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e1c\u0e2a\u0e32\u0e19\u0e23\u0e27\u0e21 SSO \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e08\u0e30\u0e22\u0e31\u0e07\u0e04\u0e07\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22\u0e2d\u0e22\u0e39\u0e48\u0e20\u0e32\u0e22\u0e43\u0e19\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1e\u0e37\u0e49\u0e19\u0e10\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23", - - "brand.title": "OpenCode | \u0e41\u0e1a\u0e23\u0e19\u0e14\u0e4c", - "brand.meta.description": - "\u0e41\u0e19\u0e27\u0e17\u0e32\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e41\u0e1a\u0e23\u0e19\u0e14\u0e4c OpenCode", - "brand.heading": - "\u0e41\u0e19\u0e27\u0e17\u0e32\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e41\u0e1a\u0e23\u0e19\u0e14\u0e4c", - "brand.subtitle": - "\u0e17\u0e23\u0e31\u0e1e\u0e22\u0e32\u0e01\u0e23\u0e41\u0e25\u0e30\u0e41\u0e2d\u0e2a\u0e40\u0e0b\u0e17\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e41\u0e1a\u0e23\u0e19\u0e14\u0e4c OpenCode \u0e44\u0e14\u0e49\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07", - "brand.downloadAll": - "\u0e14\u0e32\u0e27\u0e42\u0e2b\u0e25\u0e14\u0e41\u0e2d\u0e2a\u0e40\u0e0b\u0e17\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14", - "changelog.title": - "OpenCode | \u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07", - "changelog.meta.description": - "\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e23\u0e38\u0e48\u0e19\u0e41\u0e25\u0e30\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07\u0e02\u0e2d\u0e07 OpenCode", - "changelog.hero.title": - "\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07", - "changelog.hero.subtitle": - "\u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e02\u0e2d\u0e07 OpenCode", - "changelog.empty": - "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07", - "changelog.viewJson": "\u0e14\u0e39 JSON", - "workspace.nav.zen": "เซน", - "workspace.nav.apiKeys": "API คีย์", - "workspace.nav.members": "สมาชิก", - "workspace.nav.billing": "การเรียกเก็บเงิน", - "workspace.nav.settings": "การตั้งค่า", - "workspace.home.banner.beforeLink": "โมเดลที่ได้รับการปรับปรุงให้เชื่อถือได้สำหรับเอเจนต์การเขียนโค้ด", - "workspace.home.billing.loading": "กำลังโหลด...", - "workspace.home.billing.enable": "เปิดใช้งานการเรียกเก็บเงิน", - "workspace.home.billing.currentBalance": "ยอดคงเหลือปัจจุบัน", - "workspace.newUser.feature.tested.title": "รุ่นที่ผ่านการทดสอบและตรวจสอบแล้ว", - "workspace.newUser.feature.tested.body": - "เราได้เปรียบเทียบและทดสอบโมเดลสำหรับเอเจนต์การเขียนโค้ดโดยเฉพาะเพื่อให้มั่นใจถึงประสิทธิภาพที่ดีที่สุด", - "workspace.newUser.feature.quality.title": "คุณภาพสูงสุด", - "workspace.newUser.feature.quality.body": - "โมเดลการเข้าถึงที่กำหนดค่าไว้เพื่อประสิทธิภาพสูงสุด - ไม่ต้องดาวน์เกรดหรือกำหนดเส้นทางไปยังผู้ให้บริการที่ถูกกว่า", - "workspace.newUser.feature.lockin.title": "ไม่มีการล็อคอิน", - "workspace.newUser.feature.lockin.body": - "ใช้ Zen กับตัวแทนการเขียนโค้ด และใช้ผู้ให้บริการรายอื่นต่อไปด้วย opencode ทุกครั้งที่คุณต้องการ", - "workspace.newUser.copyApiKey": "คัดลอกคีย์ API", - "workspace.newUser.copyKey": "คัดลอกคีย์", - "workspace.newUser.copied": "คัดลอก!", - "workspace.newUser.step.enableBilling": "เปิดใช้งานการเรียกเก็บเงิน", - "workspace.newUser.step.login.before": "วิ่ง", - "workspace.newUser.step.login.after": "และเลือก opencode", - "workspace.newUser.step.pasteKey": "วางคีย์ API ของคุณ", - "workspace.newUser.step.models.before": "เริ่มต้น opencode และเรียกใช้", - "workspace.newUser.step.models.after": "เพื่อเลือกรุ่น", - "workspace.models.title": "โมเดล", - "workspace.models.subtitle.beforeLink": "จัดการโมเดลที่สมาชิกพื้นที่ทำงานสามารถเข้าถึงได้", - "workspace.models.table.model": "แบบอย่าง", - "workspace.models.table.enabled": "เปิดใช้งานแล้ว", - "workspace.providers.title": "นำกุญแจมาเอง", - "workspace.providers.subtitle": "กำหนดค่าคีย์ API ของคุณเองจากผู้ให้บริการ AI", - "workspace.providers.placeholder": "ป้อนคีย์ {{provider}} API ({{prefix}}...)", - "workspace.providers.configure": "กำหนดค่า", - "workspace.providers.edit": "แก้ไข", - "workspace.providers.delete": "ลบ", - "workspace.providers.saving": "ประหยัด...", - "workspace.providers.save": "บันทึก", - "workspace.providers.table.provider": "ผู้ให้บริการ", - "workspace.providers.table.apiKey": "API คีย์", - "workspace.usage.title": "ประวัติการใช้งาน", - "workspace.usage.subtitle": "การใช้งานและต้นทุน API ล่าสุด", - "workspace.usage.empty": "ทำการเรียก API ครั้งแรกเพื่อเริ่มต้น", - "workspace.usage.table.date": "วันที่", - "workspace.usage.table.model": "แบบอย่าง", - "workspace.usage.table.input": "ป้อนข้อมูล", - "workspace.usage.table.output": "เอาท์พุต", - "workspace.usage.table.cost": "ค่าใช้จ่าย", - "workspace.usage.breakdown.input": "ป้อนข้อมูล", - "workspace.usage.breakdown.cacheRead": "แคชอ่าน", - "workspace.usage.breakdown.cacheWrite": "แคชเขียน", - "workspace.usage.breakdown.output": "เอาท์พุต", - "workspace.usage.breakdown.reasoning": "การใช้เหตุผล", - "workspace.usage.subscription": "สมัครสมาชิก (${{amount}})", - "workspace.cost.title": "ค่าใช้จ่าย", - "workspace.cost.subtitle": "ต้นทุนการใช้งานแยกตามรุ่น", - "workspace.cost.allModels": "ทุกรุ่น", - "workspace.cost.allKeys": "กุญแจทั้งหมด", - "workspace.cost.deletedSuffix": "(ลบแล้ว)", - "workspace.cost.empty": "ไม่มีข้อมูลการใช้งานในช่วงเวลาที่เลือก", - "workspace.cost.subscriptionShort": "ย่อย", - "workspace.keys.title": "API คีย์", - "workspace.keys.subtitle": "จัดการคีย์ API ของคุณสำหรับการเข้าถึงบริการ opencode", - "workspace.keys.create": "สร้างคีย์ API", - "workspace.keys.placeholder": "ป้อนชื่อคีย์", - "workspace.keys.empty": "สร้างคีย์ opencode เกตเวย์ API", - "workspace.keys.table.name": "ชื่อ", - "workspace.keys.table.key": "สำคัญ", - "workspace.keys.table.createdBy": "สร้างโดย", - "workspace.keys.table.lastUsed": "ใช้ล่าสุด", - "workspace.keys.copyApiKey": "คัดลอกคีย์ API", - "workspace.keys.delete": "ลบ", - "workspace.members.title": "สมาชิก", - "workspace.members.subtitle": "จัดการสมาชิกพื้นที่ทำงานและสิทธิ์ของพวกเขา", - "workspace.members.invite": "เชิญสมาชิก", - "workspace.members.inviting": "กำลังเชิญ...", - "workspace.members.beta.beforeLink": "พื้นที่ทำงานให้บริการฟรีสำหรับทีมในช่วงเบต้า", - "workspace.members.form.invitee": "ผู้ได้รับเชิญ", - "workspace.members.form.emailPlaceholder": "ใส่อีเมล์", - "workspace.members.form.role": "บทบาท", - "workspace.members.form.monthlyLimit": "วงเงินการใช้จ่ายรายเดือน", - "workspace.members.noLimit": "ไม่มีขีดจำกัด", - "workspace.members.noLimitLowercase": "ไม่มีขีดจำกัด", - "workspace.members.invited": "เชิญ", - "workspace.members.edit": "แก้ไข", - "workspace.members.delete": "ลบ", - "workspace.members.saving": "ประหยัด...", - "workspace.members.save": "บันทึก", - "workspace.members.table.email": "อีเมล", - "workspace.members.table.role": "บทบาท", - "workspace.members.table.monthLimit": "จำกัดเดือน", - "workspace.members.role.admin": "ผู้ดูแลระบบ", - "workspace.members.role.adminDescription": "สามารถจัดการโมเดล สมาชิก และการเรียกเก็บเงินได้", - "workspace.members.role.member": "สมาชิก", - "workspace.members.role.memberDescription": "สามารถสร้างคีย์ API สำหรับตัวเองได้เท่านั้น", - "workspace.settings.title": "การตั้งค่า", - "workspace.settings.subtitle": "อัพเดตชื่อพื้นที่ทำงานและการกำหนดค่าตามความชอบของคุณ", - "workspace.settings.workspaceName": "ชื่อพื้นที่ทำงาน", - "workspace.settings.defaultName": "ค่าเริ่มต้น", - "workspace.settings.updating": "กำลังอัปเดต...", - "workspace.settings.save": "บันทึก", - "workspace.settings.edit": "แก้ไข", - "workspace.billing.title": "การเรียกเก็บเงิน", - "workspace.billing.subtitle.beforeLink": "จัดการวิธีการชำระเงิน", - "workspace.billing.contactUs": "ติดต่อเรา", - "workspace.billing.subtitle.afterLink": "หากคุณมีคำถามใดๆ", - "workspace.billing.currentBalance": "ยอดคงเหลือปัจจุบัน", - "workspace.billing.add": "เพิ่ม $", - "workspace.billing.enterAmount": "ใส่จำนวนเงิน", - "workspace.billing.loading": "กำลังโหลด...", - "workspace.billing.addAction": "เพิ่ม", - "workspace.billing.addBalance": "เพิ่มยอดคงเหลือ", - "workspace.billing.linkedToStripe": "เชื่อมโยงกับแถบ", - "workspace.billing.manage": "จัดการ", - "workspace.billing.enable": "เปิดใช้งานการเรียกเก็บเงิน", - "workspace.monthlyLimit.title": "วงเงินรายเดือน", - "workspace.monthlyLimit.subtitle": "กำหนดขีดจำกัดการใช้งานรายเดือนสำหรับบัญชีของคุณ", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "กำลังตั้งค่า...", - "workspace.monthlyLimit.set": "ชุด", - "workspace.monthlyLimit.edit": "แก้ไขขีดจำกัด", - "workspace.monthlyLimit.noLimit": "ไม่มีการกำหนดขีดจำกัดการใช้งาน", - "workspace.monthlyLimit.currentUsage.beforeMonth": "การใช้งานปัจจุบันสำหรับ", - "workspace.monthlyLimit.currentUsage.beforeAmount": "คือ $", - "workspace.reload.title": "โหลดซ้ำอัตโนมัติ", - "workspace.reload.disabled.before": "รีโหลดอัตโนมัติคือ", - "workspace.reload.disabled.state": "พิการ", - "workspace.reload.disabled.after": "เปิดใช้งานเพื่อโหลดซ้ำอัตโนมัติเมื่อยอดเงินคงเหลือต่ำ", - "workspace.reload.enabled.before": "รีโหลดอัตโนมัติคือ", - "workspace.reload.enabled.state": "เปิดใช้งาน", - "workspace.reload.enabled.middle": "เราจะโหลดซ้ำ", - "workspace.reload.processingFee": "ค่าธรรมเนียมการดำเนินการ", - "workspace.reload.enabled.after": "เมื่อถึงจุดสมดุล", - "workspace.reload.edit": "แก้ไข", - "workspace.reload.enable": "เปิดใช้งาน", - "workspace.reload.enableAutoReload": "เปิดใช้งานการโหลดซ้ำอัตโนมัติ", - "workspace.reload.reloadAmount": "โหลด $", - "workspace.reload.whenBalanceReaches": "เมื่อยอดถึง $", - "workspace.reload.saving": "ประหยัด...", - "workspace.reload.save": "บันทึก", - "workspace.reload.failedAt": "โหลดซ้ำไม่สำเร็จเมื่อ", - "workspace.reload.reason": "เหตุผล:", - "workspace.reload.updatePaymentMethod": "โปรดอัปเดตวิธีการชำระเงินของคุณแล้วลองอีกครั้ง", - "workspace.reload.retrying": "กำลังลองอีกครั้ง...", - "workspace.reload.retry": "ลองอีกครั้ง", - "workspace.payments.title": "ประวัติการชำระเงิน", - "workspace.payments.subtitle": "ธุรกรรมการชำระเงินล่าสุด", - "workspace.payments.table.date": "วันที่", - "workspace.payments.table.paymentId": "รหัสการชำระเงิน", - "workspace.payments.table.amount": "จำนวน", - "workspace.payments.table.receipt": "ใบเสร็จ", - "workspace.payments.type.credit": "เครดิต", - "workspace.payments.type.subscription": "สมัครสมาชิก", - "workspace.payments.view": "ดู", - "workspace.black.loading": "กำลังโหลด...", - "workspace.black.time.day": "วัน", - "workspace.black.time.days": "วัน", - "workspace.black.time.hour": "ชั่วโมง", - "workspace.black.time.hours": "ชั่วโมง", - "workspace.black.time.minute": "นาที", - "workspace.black.time.minutes": "นาที", - "workspace.black.time.fewSeconds": "ไม่กี่วินาที", - "workspace.black.subscription.title": "สมัครสมาชิก", - "workspace.black.subscription.message": "คุณสมัครรับข้อมูล OpenCode Black ในราคา ${{plan}} ต่อเดือน", - "workspace.black.subscription.manage": "จัดการการสมัครสมาชิก", - "workspace.black.subscription.rollingUsage": "การใช้งาน 5 ชั่วโมง", - "workspace.black.subscription.weeklyUsage": "การใช้งานรายสัปดาห์", - "workspace.black.subscription.resetsIn": "รีเซ็ตเข้า", - "workspace.black.subscription.useBalance": "ใช้ยอดเงินคงเหลือของคุณหลังจากถึงขีดจำกัดการใช้งานแล้ว", - "workspace.black.waitlist.title": "รายชื่อผู้รอ", - "workspace.black.waitlist.joined": "คุณอยู่ในรายชื่อรอสำหรับแผน ${{plan}} ต่อเดือน OpenCode Black", - "workspace.black.waitlist.ready": "เราพร้อมที่จะลงทะเบียนให้คุณเข้าร่วมแผน ${{plan}} ต่อเดือน OpenCode Black แล้ว", - "workspace.black.waitlist.leave": "ออกจากรายชื่อผู้รอ", - "workspace.black.waitlist.leaving": "กำลังออก...", - "workspace.black.waitlist.left": "ซ้าย", - "workspace.black.waitlist.enroll": "ลงทะเบียน", - "workspace.black.waitlist.enrolling": "กำลังลงทะเบียน...", - "workspace.black.waitlist.enrolled": "ลงทะเบียนแล้ว", - "workspace.black.waitlist.enrollNote": - "เมื่อคุณคลิกลงทะเบียน การสมัครของคุณจะเริ่มต้นทันทีและบัตรของคุณจะถูกเรียกเก็บเงิน", -} satisfies Dict diff --git a/packages/console/app/src/i18n/tr.ts b/packages/console/app/src/i18n/tr.ts deleted file mode 100644 index 623165574..000000000 --- a/packages/console/app/src/i18n/tr.ts +++ /dev/null @@ -1,471 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "Dokumantasyon", - "nav.changelog": "Degisiklik gunlugu", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "Kurumsal", - "nav.zen": "Zen", - "nav.login": "Giris", - "nav.free": "\u00dccretsiz", - "nav.home": "Ana sayfa", - "nav.openMenu": "Menüyü aç", - "nav.getStartedFree": "\u00dccretsiz basla", - - "nav.context.copyLogo": "Logoyu SVG olarak kopyala", - "nav.context.copyWordmark": "Wordmark'i SVG olarak kopyala", - "nav.context.brandAssets": "Marka varliklari", - - "footer.github": "GitHub", - "footer.docs": "Dokumantasyon", - "footer.changelog": "Degisiklik gunlugu", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "Marka", - "legal.privacy": "Gizlilik", - "legal.terms": "Kosullar", - - "email.title": "Yeni urunler yayinladigimizda ilk siz haberdar olun", - "email.subtitle": "Erken erisim icin bekleme listesine katilin.", - "email.placeholder": "E-posta adresi", - "email.subscribe": "Abone ol", - "email.success": "Neredeyse bitti - gelen kutunuzu kontrol edin ve e-postanizi onaylayin", - - "notFound.title": "Bulunamadi | opencode", - "notFound.heading": "404 - Sayfa bulunamadi", - "notFound.home": "Ana sayfa", - "notFound.docs": "Dokumantasyon", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "Cikis", - - "workspace.select": "Workspace sec", - "workspace.createNew": "+ Yeni workspace olustur", - "workspace.modal.title": "Yeni workspace olustur", - "workspace.modal.placeholder": "Workspace adini girin", - - "common.cancel": "Iptal", - "common.creating": "Olusturuluyor...", - "common.create": "Olustur", - - "common.videoUnsupported": "Tarayiciniz video etiketini desteklemiyor.", - "common.figure": "Sekil {{n}}.", - "common.faq": "SSS", - "common.learnMore": "Daha fazla bilgi", - - "home.title": "OpenCode | Acik kaynakli yapay zeka kodlama ajani", - - "home.banner.badge": "Yeni", - "home.banner.text": "Masaustu uygulamasi beta olarak kullanilabilir", - "home.banner.platforms": "macOS, Windows ve Linux'ta", - "home.banner.downloadNow": "Simdi indir", - "home.banner.downloadBetaNow": "Masaustu betayi simdi indir", - - "home.hero.title": "Acik kaynakli yapay zeka kodlama ajani", - "home.hero.subtitle.a": "Ucretsiz modeller dahil, ya da herhangi bir saglayicidan herhangi bir modeli baglayin,", - "home.hero.subtitle.b": "Claude, GPT, Gemini ve daha fazlasi dahil.", - - "home.install.ariaLabel": "Kurulum secenekleri", - - "home.what.title": "OpenCode nedir?", - "home.what.body": - "OpenCode, terminalinizde, IDE'nizde veya masaustunde kod yazmaniza yardim eden acik kaynakli bir ajandir.", - "home.what.lsp.title": "LSP etkin", - "home.what.lsp.body": "LLM icin dogru LSP'leri otomatik olarak yukler", - "home.what.multiSession.title": "Coklu oturum", - "home.what.multiSession.body": "Ayni projede birden fazla ajani paralel calistirin", - "home.what.shareLinks.title": "Paylasim baglantilari", - "home.what.shareLinks.body": "Referans veya hata ayiklama icin herhangi bir oturumu baglanti olarak paylasin", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "Copilot hesabinizi kullanmak icin GitHub ile giris yapin", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": "ChatGPT Plus veya Pro hesabinizi kullanmak icin OpenAI ile giris yapin", - "home.what.anyModel.title": "Herhangi bir model", - "home.what.anyModel.body": "Models.dev uzerinden 75+ LLM saglayicisi, yerel modeller dahil", - "home.what.anyEditor.title": "Herhangi bir editor", - "home.what.anyEditor.body": "Terminal arayuzu, masaustu uygulamasi ve IDE uzantisi olarak kullanilabilir", - "home.what.readDocs": "Dokumanlari oku", - - "home.growth.title": "Acik kaynakli yapay zeka kodlama ajani", - "home.growth.body": - "GitHub'da {{stars}}+ yildiz, {{contributors}} katilimci ve {{commits}}+ commit ile OpenCode, her ay {{monthlyUsers}}+ gelistirici tarafindan kullaniliyor ve guveniliyor.", - "home.growth.githubStars": "GitHub yildizlari", - "home.growth.contributors": "Katilimcilar", - "home.growth.monthlyDevs": "Aylik gelistiriciler", - - "home.privacy.title": "Once gizlilik icin tasarlandi", - "home.privacy.body": - "OpenCode kodunuzu veya baglam verilerinizi saklamaz; bu sayede gizlilige duyarli ortamlarda calisabilir.", - "home.privacy.learnMore": "Hakkinda daha fazla bilgi:", - "home.privacy.link": "gizlilik", - - "home.faq.q1": "OpenCode nedir?", - "home.faq.a1": - "OpenCode, herhangi bir AI modeliyle kod yazmaniza ve calistirmaniza yardim eden acik kaynakli bir ajandir. Terminal arayuzu, masaustu uygulamasi veya IDE uzantisi olarak kullanilabilir.", - "home.faq.q2": "OpenCode'u nasil kullanirim?", - "home.faq.a2.before": "Baslamanin en kolay yolu", - "home.faq.a2.link": "girisi okumaktir", - "home.faq.q3": "OpenCode icin ek AI aboneliklerine ihtiyacim var mi?", - "home.faq.a3.p1": "Sart degil. OpenCode, hesap acmadan kullanabileceginiz ucretsiz modellerle gelir.", - "home.faq.a3.p2.beforeZen": "Bunun disinda, populer kodlama modellerini kullanmak icin bir", - "home.faq.a3.p2.afterZen": " hesabi olusturabilirsiniz.", - "home.faq.a3.p3": "Zen'i oneriyoruz, ancak OpenCode OpenAI, Anthropic, xAI gibi populer saglayicilarla da calisir.", - "home.faq.a3.p4.beforeLocal": "Hatta", - "home.faq.a3.p4.localLink": "yerel modellerinizi baglayabilirsiniz", - "home.faq.q4": "Mevcut AI aboneliklerimi OpenCode ile kullanabilir miyim?", - "home.faq.a4.p1": - "Evet. OpenCode tum buyuk saglayicilarin aboneliklerini destekler. Claude Pro/Max, ChatGPT Plus/Pro veya GitHub Copilot kullanabilirsiniz.", - "home.faq.q5": "OpenCode'u sadece terminalde mi kullanabilirim?", - "home.faq.a5.beforeDesktop": "Artik hayir! OpenCode simdi", - "home.faq.a5.desktop": "masaustu", - "home.faq.a5.and": "ve", - "home.faq.a5.web": "web", - "home.faq.q6": "OpenCode ne kadar?", - "home.faq.a6": - "OpenCode %100 ucretsizdir. Ayrica ucretsiz model setiyle gelir. Baska bir saglayici baglarsaniz ek maliyetler olabilir.", - "home.faq.q7": "Veri ve gizlilik ne olacak?", - "home.faq.a7.p1": - "Verileriniz yalnizca ucretsiz modellerimizi kullandiginizda veya paylasilabilir baglantilar olusturdugunuzda saklanir.", - "home.faq.a7.p2.beforeModels": "Daha fazla bilgi:", - "home.faq.a7.p2.modelsLink": "modellerimiz", - "home.faq.a7.p2.and": "ve", - "home.faq.a7.p2.shareLink": "paylasim sayfalari", - "home.faq.q8": "OpenCode acik kaynak mi?", - "home.faq.a8.p1": "Evet, OpenCode tamamen acik kaynaktir. Kaynak kodu", - "home.faq.a8.p2": "altinda", - "home.faq.a8.mitLicense": "MIT Lisansi", - "home.faq.a8.p3": - ", yani herkes kullanabilir, degistirebilir veya gelistirmeye katkida bulunabilir. Topluluktan herkes issue acabilir, pull request gonderebilir ve islevselligi genisletebilir.", - - "home.zenCta.title": "Kodlama ajanlari icin guvenilir, optimize modeller", - "home.zenCta.body": - "Zen, OpenCode'un kodlama ajanlari icin ozel olarak test edip benchmark ettigi secilmis AI modellerine erisim saglar. Saglayicilar arasinda tutarsiz performans ve kalite konusunda endiselenmeyin; calisan, dogrulanmis modelleri kullanin.", - "home.zenCta.link": "Zen hakkinda", - - "download.title": "OpenCode | Indir", - - "zen.title": "OpenCode Zen | Kodlama ajanlari icin guvenilir, optimize edilmis modellerin secilmis seti", - "zen.hero.title": "Kodlama ajanlari icin guvenilir, optimize modeller", - "zen.hero.body": - "Zen, OpenCode'un kodlama ajanlari icin ozel olarak test edip benchmark ettigi secilmis AI modellerine erisim saglar. Saglayicilar arasinda tutarsiz performans ve kalite konusunda endiselenmeyin; calisan, dogrulanmis modelleri kullanin.", - - "zen.faq.q1": "OpenCode Zen nedir?", - "zen.faq.a1": - "Zen, OpenCode ekibi tarafindan olusturulan ve kodlama ajanlari icin test edilip benchmark edilen secilmis bir AI model setidir.", - "zen.faq.q2": "Zen'i daha dogru yapan nedir?", - "zen.faq.a2": - "Zen yalnizca kodlama ajanlari icin ozel olarak test edilip benchmark edilmis modelleri sunar. Biftek kesmek icin tereyag bicagi kullanmazsin; kodlama icin kotu modeller kullanma.", - "zen.faq.q3": "Zen daha ucuz mu?", - "zen.faq.a3": - "Zen kar amacli degildir. Zen, model saglayicilarinin maliyetlerini size yansitir. Zen'in kullanimi arttikca OpenCode daha iyi fiyatlar pazarlayabilir ve bunlari size yansitabilir.", - "zen.faq.q4": "Zen ne kadar?", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "istek basi ucret alir", - "zen.faq.a4.p1.afterPricing": - "ve hicbir markup eklemez, yani model saglayicinin ucretlendirdigi tutari aynen odersiniz.", - "zen.faq.a4.p2.beforeAccount": "Toplam maliyetiniz kullanim miktarina baglidir ve aylik harcama limitlerini", - "zen.faq.a4.p2.accountLink": "hesabinizda ayarlayabilirsiniz", - "zen.faq.a4.p3": - "Maliyetleri karsilamak icin OpenCode, $20 bakiye yuklemesi basina yalnizca $1.23 tutarinda kucuk bir odeme isleme ucreti ekler.", - "zen.faq.q5": "Veri ve gizlilik ne olacak?", - "zen.faq.a5.beforeExceptions": - "Tum Zen modelleri ABD'de barindirilir. Saglayicilar sifir-retention politikasini uygular ve verilerinizi model egitimi icin kullanmaz; su", - "zen.faq.a5.exceptionsLink": "istisnalarla", - "zen.faq.q6": "Harcama limitleri ayarlayabilir miyim?", - "zen.faq.a6": "Evet, hesabinizda aylik harcama limitleri ayarlayabilirsiniz.", - "zen.faq.q7": "Iptal edebilir miyim?", - "zen.faq.a7": - "Evet, istediginiz zaman faturalandirmayi devre disi birakabilir ve kalan bakiyenizi kullanabilirsiniz.", - "zen.faq.q8": "Zen'i diger kodlama ajanlariyla kullanabilir miyim?", - "zen.faq.a8": - "Zen OpenCode ile harika calisir, ama Zen'i herhangi bir ajan ile kullanabilirsiniz. Tercih ettiginiz kodlama ajaninda kurulum talimatlarini izleyin.", - "zen.cta.start": "Zen'yi kullanmaya başlayın", - "zen.pricing.title": "20$ ekle Kullandıkça öde bakiyesi", - "zen.pricing.fee": "(+1,23$ kart işlem ücreti)", - "zen.pricing.body": - "Herhangi bir aracıyla kullanın. Aylık harcama limitlerini belirleyin. İstediğiniz zaman iptal edin.", - "zen.problem.title": "Zen hangi sorunu çözüyor?", - "zen.problem.body": - "Pek çok model mevcut ancak yalnızca birkaçı kodlama aracılarıyla iyi çalışıyor. Çoğu sağlayıcı, bunları değişen sonuçlarla farklı şekilde yapılandırır.", - "zen.problem.subtitle": "Bu sorunu yalnızca OpenCode kullanıcıları için değil, herkes için düzeltiyoruz.", - "zen.problem.item1": "Seçilen modelleri test etme ve ekiplerine danışmanlık yapma", - "zen.problem.item2": "Düzgün bir şekilde teslim edildiklerinden emin olmak için sağlayıcılarla birlikte çalışmak", - "zen.problem.item3": "Önerdiğimiz tüm model-sağlayıcı kombinasyonlarının karşılaştırılması", - "zen.how.title": "Zen nasıl çalışır?", - "zen.how.body": "Zen'yi OpenCode ile kullanmanızı önersek de, Zen'yi herhangi bir aracıyla kullanabilirsiniz.", - "zen.how.step1.title": "Kaydolun ve 20$ bakiye ekleyin", - "zen.how.step1.beforeLink": "takip et", - "zen.how.step1.link": "kurulum talimatları", - "zen.how.step2.title": "Şeffaf fiyatlandırmayla Zen kullanın", - "zen.how.step2.link": "istek başına ödeme", - "zen.how.step2.afterLink": "sıfır işaretlemeyle", - "zen.how.step3.title": "Otomatik yükleme", - "zen.how.step3.body": "bakiyeniz 5$'a ulaştığında otomatik olarak 20$ ekleyeceğiz", - "zen.privacy.title": "Gizliliğiniz bizim için önemlidir", - "zen.privacy.beforeExceptions": - "Tüm Zen modelleri ABD'de barındırılmaktadır. Sağlayıcılar sıfır saklama politikası izler ve verilerinizi model eğitimi için kullanmaz; şu", - "zen.privacy.exceptionsLink": "aşağıdaki istisnalar", - "download.meta.description": "OpenCode'u macOS, Windows ve Linux icin indir", - "download.hero.title": "OpenCode'u indir", - "download.hero.subtitle": "macOS, Windows ve Linux icin Beta olarak sunuluyor", - "download.hero.button": "{{os}} icin indir", - "download.section.terminal": "OpenCode Terminal", - "download.section.desktop": "OpenCode Desktop (Beta)", - "download.section.extensions": "OpenCode Eklentileri", - "download.section.integrations": "OpenCode Entegrasyonlari", - "download.action.download": "Indir", - "download.action.install": "Kur", - - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - - "download.faq.a3.beforeLocal": - "Tam olarak degil, ama muhtemelen. OpenCode'u ucretli bir saglayiciya baglamak istiyorsaniz bir AI aboneligi gerekir, ancak", - "download.faq.a3.localLink": "yerel modeller", - "download.faq.a3.afterLocal.beforeZen": "ile ucretsiz calisabilirsiniz. Kullanicilari", - "download.faq.a3.afterZen": - " kullanmaya tesvik ediyoruz, ancak OpenCode OpenAI, Anthropic, xAI vb. gibi tum populer saglayicilarla calisir.", - - "download.faq.a5.p1": "OpenCode %100 ucretsizdir.", - "download.faq.a5.p2.beforeZen": - "Ek maliyetler, bir model saglayicisina olan aboneliginizden gelir. OpenCode herhangi bir model saglayicisiyla calisir, ancak", - "download.faq.a5.p2.afterZen": " kullanmanizi oneririz.", - - "download.faq.a6.p1": - "Verileriniz ve bilginiz yalnizca OpenCode'da paylasilabilir baglantilar olusturdugunuzda saklanir.", - "download.faq.a6.p2.beforeShare": "Daha fazla bilgi:", - "download.faq.a6.shareLink": "paylasim sayfalari", - - "enterprise.title": "OpenCode | Kurumunuz icin kurumsal cozumler", - "enterprise.meta.description": "Kurumsal cozumler icin OpenCode ile iletisime gecin", - "enterprise.hero.title": "Kodunuz size aittir", - "enterprise.hero.body1": - "OpenCode, hicbir veri veya baglam saklamadan ve lisans kisitlamalari ya da sahiplik iddialari olmadan kurulusunuzun icinde guvenli sekilde calisir. Ekibinizle bir deneme baslatin, ardindan SSO'nuz ve dahili AI gecidiniz ile entegre ederek tum kurulusunuzda devreye alin.", - "enterprise.hero.body2": "Nasil yardimci olabilecegimizi bize soyleyin.", - "enterprise.form.name.label": "Ad soyad", - "enterprise.form.name.placeholder": "Jeff Bezos", - "enterprise.form.role.label": "Rol", - "enterprise.form.role.placeholder": "Yonetim Kurulu Baskani", - "enterprise.form.email.label": "Sirket e-postasi", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "Hangi problemi cozmeye calisiyorsunuz?", - "enterprise.form.message.placeholder": "Su konuda yardima ihtiyacimiz var...", - "enterprise.form.send": "Gonder", - "enterprise.form.sending": "Gonderiliyor...", - "enterprise.form.success": "Mesaj gonderildi, yakinda size donus yapacagiz.", - "enterprise.faq.title": "SSS", - "enterprise.faq.q1": "OpenCode Enterprise nedir?", - "enterprise.faq.a1": - "OpenCode Enterprise, kodunuzun ve verilerinizin asla altyapinizi terk etmemesini saglamak isteyen kurumlar icindir. Bunu, SSO'nuz ve dahili AI gecidiniz ile entegre olan merkezilestirilmis bir konfigurasyonla saglar.", - "enterprise.faq.q2": "OpenCode Enterprise'a nasil baslarim?", - "enterprise.faq.a2": - "Ekibinizle dahili bir deneme ile baslayin. OpenCode varsayilan olarak kodunuzu veya baglam verilerinizi saklamaz, bu da baslamayi kolaylastirir. Ardindan fiyatlandirma ve uygulama seceneklerini gorusmek icin bize ulasin.", - "enterprise.faq.q3": "Kurumsal fiyatlandirma nasil calisir?", - "enterprise.faq.a3": - "Kullanici basi (per-seat) kurumsal fiyatlandirma sunuyoruz. Kendi LLM gecidiniz varsa, kullanilan tokenlar icin ucret almiyoruz. Daha fazla bilgi icin, kurumunuzun ihtiyaclarina gore ozel bir teklif icin bize ulasin.", - "enterprise.faq.q4": "OpenCode Enterprise ile verilerim guvende mi?", - "enterprise.faq.a4": - "Evet. OpenCode kodunuzu veya baglam verilerinizi saklamaz. Tum isleme yerel olarak ya da AI saglayiciniza dogrudan API cagirilari ile gerceklestirilir. Merkezilestirilmis konfigurasyon ve SSO entegrasyonu ile verileriniz kurumunuzun altyapisi icinde guvende kalir.", - - "brand.title": "OpenCode | Marka", - "brand.meta.description": "OpenCode marka kilavuzu", - "brand.heading": "Marka kilavuzu", - "brand.subtitle": "OpenCode markasi ile calismaniza yardimci olacak kaynaklar ve varliklar.", - "brand.downloadAll": "Tum varliklari indir", - "changelog.title": "OpenCode | Degisiklik gunlugu", - "changelog.meta.description": "OpenCode surum notlari ve degisiklik gunlugu", - "changelog.hero.title": "Degisiklik gunlugu", - "changelog.hero.subtitle": "OpenCode icin yeni guncellemeler ve iyilestirmeler", - "changelog.empty": "Degisiklik gunlugu kaydi bulunamadi.", - "changelog.viewJson": "JSON'u goruntule", - "workspace.nav.zen": "Zen", - "workspace.nav.apiKeys": "API Anahtarları", - "workspace.nav.members": "Üyeler", - "workspace.nav.billing": "Faturalandırma", - "workspace.nav.settings": "Ayarlar", - "workspace.home.banner.beforeLink": "Kodlama aracıları için güvenilir optimize edilmiş modeller.", - "workspace.home.billing.loading": "Yükleniyor...", - "workspace.home.billing.enable": "Faturalandırmayı etkinleştir", - "workspace.home.billing.currentBalance": "Mevcut bakiye", - "workspace.newUser.feature.tested.title": "Test Edilmiş ve Doğrulanmış Modeller", - "workspace.newUser.feature.tested.body": - "En iyi performansı sağlamak için modelleri özellikle kodlama aracılarına yönelik olarak karşılaştırdık ve test ettik.", - "workspace.newUser.feature.quality.title": "En Yüksek Kalite", - "workspace.newUser.feature.quality.body": - "Optimum performans için yapılandırılmış modellere erişin; sürüm düşürme veya daha ucuz sağlayıcılara yönlendirme yok.", - "workspace.newUser.feature.lockin.title": "Kilitlenme Yok", - "workspace.newUser.feature.lockin.body": - "Zen'i herhangi bir kodlama aracısıyla kullanın ve istediğiniz zaman opencode ile diğer sağlayıcıları kullanmaya devam edin.", - "workspace.newUser.copyApiKey": "API anahtarını kopyala", - "workspace.newUser.copyKey": "Anahtarı Kopyala", - "workspace.newUser.copied": "Kopyalandı!", - "workspace.newUser.step.enableBilling": "Faturalandırmayı etkinleştir", - "workspace.newUser.step.login.before": "Koşmak", - "workspace.newUser.step.login.after": "ve opencode seçeneğini seçin", - "workspace.newUser.step.pasteKey": "API anahtarınızı yapıştırın", - "workspace.newUser.step.models.before": "opencode başlatın ve çalıştırın", - "workspace.newUser.step.models.after": "bir model seçmek için", - "workspace.models.title": "Modeller", - "workspace.models.subtitle.beforeLink": "Çalışma alanı üyelerinin hangi modellere erişebileceğini yönetin.", - "workspace.models.table.model": "Modeli", - "workspace.models.table.enabled": "Etkinleştirilmiş", - "workspace.providers.title": "Kendi Anahtarınızı Getirin", - "workspace.providers.subtitle": "Yapay zeka sağlayıcılarından kendi API anahtarlarınızı yapılandırın.", - "workspace.providers.placeholder": "{{provider}} API anahtarını girin ({{prefix}}...)", - "workspace.providers.configure": "Yapılandır", - "workspace.providers.edit": "Düzenlemek", - "workspace.providers.delete": "Silmek", - "workspace.providers.saving": "Kaydediliyor...", - "workspace.providers.save": "Kaydetmek", - "workspace.providers.table.provider": "sağlayıcı", - "workspace.providers.table.apiKey": "API Anahtarı", - "workspace.usage.title": "Kullanım Geçmişi", - "workspace.usage.subtitle": "Son API kullanımı ve maliyetleri.", - "workspace.usage.empty": "Başlamak için ilk API çağrınızı yapın.", - "workspace.usage.table.date": "Tarih", - "workspace.usage.table.model": "Modeli", - "workspace.usage.table.input": "Giriş", - "workspace.usage.table.output": "Çıkış", - "workspace.usage.table.cost": "Maliyet", - "workspace.usage.breakdown.input": "Giriş", - "workspace.usage.breakdown.cacheRead": "Önbellek Okuması", - "workspace.usage.breakdown.cacheWrite": "Önbelleğe Yazma", - "workspace.usage.breakdown.output": "Çıkış", - "workspace.usage.breakdown.reasoning": "muhakeme", - "workspace.usage.subscription": "abonelik (${{amount}})", - "workspace.cost.title": "Maliyet", - "workspace.cost.subtitle": "Modele göre ayrılmış kullanım maliyetleri.", - "workspace.cost.allModels": "Tüm Modeller", - "workspace.cost.allKeys": "Tüm Tuşlar", - "workspace.cost.deletedSuffix": "(silindi)", - "workspace.cost.empty": "Seçilen döneme ait kullanım verisi yok.", - "workspace.cost.subscriptionShort": "alt", - "workspace.keys.title": "API Anahtarları", - "workspace.keys.subtitle": "opencode hizmetlerine erişim için API anahtarlarınızı yönetin.", - "workspace.keys.create": "API Anahtarı Oluşturun", - "workspace.keys.placeholder": "Anahtar adını girin", - "workspace.keys.empty": "Bir opencode Ağ Geçidi API anahtarı oluşturun", - "workspace.keys.table.name": "İsim", - "workspace.keys.table.key": "Anahtar", - "workspace.keys.table.createdBy": "Oluşturan", - "workspace.keys.table.lastUsed": "Son Kullanılan", - "workspace.keys.copyApiKey": "API anahtarını kopyala", - "workspace.keys.delete": "Silmek", - "workspace.members.title": "Üyeler", - "workspace.members.subtitle": "Çalışma alanı üyelerini ve izinlerini yönetin.", - "workspace.members.invite": "Üyeyi Davet Et", - "workspace.members.inviting": "Davet ediliyor...", - "workspace.members.beta.beforeLink": "Beta süresince çalışma alanları ekipler için ücretsizdir.", - "workspace.members.form.invitee": "Davetli", - "workspace.members.form.emailPlaceholder": "E-postayı girin", - "workspace.members.form.role": "Rol", - "workspace.members.form.monthlyLimit": "Aylık harcama limiti", - "workspace.members.noLimit": "Sınır yok", - "workspace.members.noLimitLowercase": "sınır yok", - "workspace.members.invited": "davet edildi", - "workspace.members.edit": "Düzenlemek", - "workspace.members.delete": "Silmek", - "workspace.members.saving": "Kaydediliyor...", - "workspace.members.save": "Kaydetmek", - "workspace.members.table.email": "E-posta", - "workspace.members.table.role": "Rol", - "workspace.members.table.monthLimit": "Ay sınırı", - "workspace.members.role.admin": "Yönetici", - "workspace.members.role.adminDescription": "Modelleri, üyeleri ve faturalamayı yönetebilir", - "workspace.members.role.member": "Üye", - "workspace.members.role.memberDescription": "Yalnızca kendileri için API anahtarları oluşturabilirler", - "workspace.settings.title": "Ayarlar", - "workspace.settings.subtitle": "Çalışma alanı adınızı ve tercihlerinizi güncelleyin.", - "workspace.settings.workspaceName": "Çalışma alanı adı", - "workspace.settings.defaultName": "Varsayılan", - "workspace.settings.updating": "Güncelleniyor...", - "workspace.settings.save": "Kaydetmek", - "workspace.settings.edit": "Düzenlemek", - "workspace.billing.title": "Faturalandırma", - "workspace.billing.subtitle.beforeLink": "Ödeme yöntemlerini yönetin.", - "workspace.billing.contactUs": "Bize Ulaşın", - "workspace.billing.subtitle.afterLink": "herhangi bir sorunuz varsa.", - "workspace.billing.currentBalance": "Cari Bakiye", - "workspace.billing.add": "$ ekle", - "workspace.billing.enterAmount": "Tutarı girin", - "workspace.billing.loading": "Yükleniyor...", - "workspace.billing.addAction": "Eklemek", - "workspace.billing.addBalance": "Bakiye Ekle", - "workspace.billing.linkedToStripe": "Stripe'a bağlı", - "workspace.billing.manage": "Üstesinden gelmek", - "workspace.billing.enable": "Faturalandırmayı Etkinleştir", - "workspace.monthlyLimit.title": "Aylık Limit", - "workspace.monthlyLimit.subtitle": "Hesabınız için aylık kullanım limiti belirleyin.", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "Ayar...", - "workspace.monthlyLimit.set": "Ayarlamak", - "workspace.monthlyLimit.edit": "Sınırı Düzenle", - "workspace.monthlyLimit.noLimit": "Kullanım sınırı belirlenmedi.", - "workspace.monthlyLimit.currentUsage.beforeMonth": "Şu anki kullanım", - "workspace.monthlyLimit.currentUsage.beforeAmount": "$", - "workspace.reload.title": "Otomatik Yeniden Yükleme", - "workspace.reload.disabled.before": "Otomatik yeniden yükleme:", - "workspace.reload.disabled.state": "engelli", - "workspace.reload.disabled.after": "Bakiye azaldığında otomatik olarak yeniden yüklemeyi etkinleştirin.", - "workspace.reload.enabled.before": "Otomatik yeniden yükleme:", - "workspace.reload.enabled.state": "etkinleştirilmiş", - "workspace.reload.enabled.middle": "Yeniden yükleyeceğiz", - "workspace.reload.processingFee": "işlem ücreti", - "workspace.reload.enabled.after": "dengeye ulaşıldığında", - "workspace.reload.edit": "Düzenlemek", - "workspace.reload.enable": "Olanak vermek", - "workspace.reload.enableAutoReload": "Otomatik Yeniden Yüklemeyi Etkinleştir", - "workspace.reload.reloadAmount": "ı yeniden yükle", - "workspace.reload.whenBalanceReaches": "Bakiye a ulaştığında", - "workspace.reload.saving": "Kaydediliyor...", - "workspace.reload.save": "Kaydetmek", - "workspace.reload.failedAt": "Yeniden yükleme başarısız oldu:", - "workspace.reload.reason": "Sebep:", - "workspace.reload.updatePaymentMethod": "Lütfen ödeme yönteminizi güncelleyin ve tekrar deneyin.", - "workspace.reload.retrying": "Yeniden deneniyor...", - "workspace.reload.retry": "Yeniden dene", - "workspace.payments.title": "Ödeme Geçmişi", - "workspace.payments.subtitle": "Son ödeme işlemleri.", - "workspace.payments.table.date": "Tarih", - "workspace.payments.table.paymentId": "Ödeme Kimliği", - "workspace.payments.table.amount": "Miktar", - "workspace.payments.table.receipt": "Fiş", - "workspace.payments.type.credit": "kredi", - "workspace.payments.type.subscription": "abonelik", - "workspace.payments.view": "Görüş", - "workspace.black.loading": "Yükleniyor...", - "workspace.black.time.day": "gün", - "workspace.black.time.days": "günler", - "workspace.black.time.hour": "saat", - "workspace.black.time.hours": "saat", - "workspace.black.time.minute": "dakika", - "workspace.black.time.minutes": "dakika", - "workspace.black.time.fewSeconds": "birkaç saniye", - "workspace.black.subscription.title": "Abonelik", - "workspace.black.subscription.message": "Aylık {{plan}} karşılığında OpenCode Black'e abonesiniz.", - "workspace.black.subscription.manage": "Aboneliği Yönet", - "workspace.black.subscription.rollingUsage": "5 Saatlik Kullanım", - "workspace.black.subscription.weeklyUsage": "Haftalık Kullanım", - "workspace.black.subscription.resetsIn": "Sıfırlama süresi", - "workspace.black.subscription.useBalance": "Kullanım limitlerine ulaştıktan sonra mevcut bakiyenizi kullanın", - "workspace.black.waitlist.title": "Bekleme listesi", - "workspace.black.waitlist.joined": "Aylık ${{plan}} OpenCode Black planı için bekleme listesindesiniz.", - "workspace.black.waitlist.ready": "Sizi ayda {{plan}} $ tutarındaki OpenCode Black planına kaydetmeye hazırız.", - "workspace.black.waitlist.leave": "Bekleme Listesinden Ayrıl", - "workspace.black.waitlist.leaving": "Ayrılıyorum...", - "workspace.black.waitlist.left": "Sol", - "workspace.black.waitlist.enroll": "Kayıt ol", - "workspace.black.waitlist.enrolling": "Kaydediliyor...", - "workspace.black.waitlist.enrolled": "Kayıtlı", - "workspace.black.waitlist.enrollNote": - "Kayıt Ol'a tıkladığınızda aboneliğiniz hemen başlar ve kartınızdan çekim yapılır.", -} satisfies Dict diff --git a/packages/console/app/src/i18n/zh.ts b/packages/console/app/src/i18n/zh.ts deleted file mode 100644 index b24ad2684..000000000 --- a/packages/console/app/src/i18n/zh.ts +++ /dev/null @@ -1,474 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "\u6587\u6863", - "nav.changelog": "\u66f4\u65b0\u65e5\u5fd7", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "\u4f01\u4e1a", - "nav.zen": "Zen", - "nav.login": "\u767b\u5f55", - "nav.free": "\u514d\u8d39", - "nav.home": "\u9996\u9875", - "nav.openMenu": "\u6253\u5f00\u83dc\u5355", - "nav.getStartedFree": "\u514d\u8d39\u5f00\u59cb\u4f7f\u7528", - - "nav.context.copyLogo": "\u590d\u5236\u6807\u5fd7\uff08SVG\uff09", - "nav.context.copyWordmark": "\u590d\u5236\u5b57\u6807\uff08SVG\uff09", - "nav.context.brandAssets": "\u54c1\u724c\u8d44\u4ea7", - - "footer.github": "GitHub", - "footer.docs": "\u6587\u6863", - "footer.changelog": "\u66f4\u65b0\u65e5\u5fd7", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "\u54c1\u724c", - "legal.privacy": "\u9690\u79c1", - "legal.terms": "\u6761\u6b3e", - - "email.title": "\u7b2c\u4e00\u65f6\u95f4\u83b7\u77e5\u6211\u4eec\u7684\u65b0\u4ea7\u54c1\u53d1\u5e03", - "email.subtitle": "\u52a0\u5165\u5019\u8865\u540d\u5355\uff0c\u83b7\u53d6\u63d0\u524d\u4f7f\u7528\u8d44\u683c\u3002", - "email.placeholder": "\u7535\u5b50\u90ae\u7bb1\u5730\u5740", - "email.subscribe": "\u8ba2\u9605", - "email.success": - "\u5c31\u5dee\u4e00\u6b65\uff0c\u8bf7\u67e5\u6536\u90ae\u4ef6\u5e76\u786e\u8ba4\u4f60\u7684\u90ae\u7bb1\u5730\u5740", - - "notFound.title": "\u672a\u627e\u5230\u9875\u9762 | opencode", - "notFound.heading": "404 - \u9875\u9762\u672a\u627e\u5230", - "notFound.home": "\u9996\u9875", - "notFound.docs": "\u6587\u6863", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "\u9000\u51fa\u767b\u5f55", - - "workspace.select": "\u9009\u62e9\u5de5\u4f5c\u533a", - "workspace.createNew": "+ \u521b\u5efa\u65b0\u5de5\u4f5c\u533a", - "workspace.modal.title": "\u521b\u5efa\u65b0\u5de5\u4f5c\u533a", - "workspace.modal.placeholder": "\u8bf7\u8f93\u5165\u5de5\u4f5c\u533a\u540d\u79f0", - - "common.cancel": "\u53d6\u6d88", - "common.creating": "\u6b63\u5728\u521b\u5efa...", - "common.create": "\u521b\u5efa", - - "common.videoUnsupported": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301 video \u6807\u7b7e\u3002", - "common.figure": "\u56fe{{n}}", - "common.faq": "\u5e38\u89c1\u95ee\u9898", - "common.learnMore": "\u4e86\u89e3\u66f4\u591a", - - "home.title": "OpenCode | \u5f00\u6e90 AI \u7f16\u7801\u4ee3\u7406", - - "home.banner.badge": "\u65b0", - "home.banner.text": "\u684c\u9762\u7aef\u5e94\u7528\u5df2\u63a8\u51fa Beta", - "home.banner.platforms": "\u652f\u6301 macOS\u3001Windows \u548c Linux", - "home.banner.downloadNow": "\u7acb\u5373\u4e0b\u8f7d", - "home.banner.downloadBetaNow": "\u7acb\u5373\u4e0b\u8f7d\u684c\u9762 Beta \u7248", - - "home.hero.title": "\u5f00\u6e90 AI \u7f16\u7801\u4ee3\u7406", - "home.hero.subtitle.a": - "\u5185\u7f6e\u514d\u8d39\u6a21\u578b\uff0c\u6216\u8fde\u63a5\u4efb\u610f\u63d0\u4f9b\u5546\u7684\u4efb\u610f\u6a21\u578b\uff0c", - "home.hero.subtitle.b": "\u5305\u62ec Claude\u3001GPT\u3001Gemini \u7b49\u3002", - - "home.install.ariaLabel": "\u5b89\u88c5\u9009\u9879", - - "home.what.title": "\u4ec0\u4e48\u662f OpenCode\uff1f", - "home.what.body": - "OpenCode \u662f\u4e00\u4e2a\u5f00\u6e90\u4ee3\u7406\uff0c\u5e2e\u52a9\u4f60\u5728\u7ec8\u7aef\u3001IDE \u6216\u684c\u9762\u7aef\u7f16\u5199\u4ee3\u7801\u3002", - "home.what.lsp.title": "\u652f\u6301 LSP", - "home.what.lsp.body": "\u4e3a LLM \u81ea\u52a8\u52a0\u8f7d\u5408\u9002\u7684 LSP", - "home.what.multiSession.title": "\u591a\u4f1a\u8bdd", - "home.what.multiSession.body": "\u540c\u4e00\u4e2a\u9879\u76ee\u4e2d\u5e76\u884c\u542f\u52a8\u591a\u4e2a\u4ee3\u7406", - "home.what.shareLinks.title": "\u5171\u4eab\u94fe\u63a5", - "home.what.shareLinks.body": - "\u5c06\u4efb\u610f\u4f1a\u8bdd\u7684\u94fe\u63a5\u5171\u4eab\u7ed9\u4ed6\u4eba\u7528\u4e8e\u53c2\u8003\u6216\u8c03\u8bd5", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "\u4f7f\u7528 GitHub \u767b\u5f55\u4ee5\u4f7f\u7528\u4f60\u7684 Copilot \u8d26\u6237", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": - "\u4f7f\u7528 OpenAI \u767b\u5f55\u4ee5\u4f7f\u7528\u4f60\u7684 ChatGPT Plus/Pro \u8d26\u6237", - "home.what.anyModel.title": "\u4efb\u610f\u6a21\u578b", - "home.what.anyModel.body": - "\u901a\u8fc7 Models.dev \u8fde\u63a5 75+ \u5bb6 LLM \u63d0\u4f9b\u5546\uff0c\u5305\u62ec\u672c\u5730\u6a21\u578b", - "home.what.anyEditor.title": "\u4efb\u610f\u7f16\u8f91\u5668", - "home.what.anyEditor.body": - "\u53ef\u4f5c\u4e3a\u7ec8\u7aef\u754c\u9762\u3001\u684c\u9762\u5e94\u7528\u548c IDE \u6269\u5c55\u4f7f\u7528", - "home.what.readDocs": "\u9605\u8bfb\u6587\u6863", - - "home.growth.title": "\u5f00\u6e90 AI \u7f16\u7801\u4ee3\u7406", - "home.growth.body": - "\u62e5\u6709\u8d85\u8fc7 {{stars}} \u4e2a GitHub Star\u3001{{contributors}} \u4f4d\u8d21\u732e\u8005\u4ee5\u53ca\u8d85\u8fc7 {{commits}} \u6b21\u63d0\u4ea4\uff0cOpenCode \u6bcf\u6708\u88ab\u8d85\u8fc7 {{monthlyUsers}} \u540d\u5f00\u53d1\u8005\u4f7f\u7528\u5e76\u4fe1\u8d56\u3002", - "home.growth.githubStars": "GitHub Star", - "home.growth.contributors": "\u8d21\u732e\u8005", - "home.growth.monthlyDevs": "\u6708\u6d3b\u5f00\u53d1\u8005", - - "home.privacy.title": "\u9690\u79c1\u4f18\u5148", - "home.privacy.body": - "OpenCode \u4e0d\u5b58\u50a8\u4f60\u7684\u4ee3\u7801\u6216\u4e0a\u4e0b\u6587\u6570\u636e\uff0c\u56e0\u6b64\u53ef\u4ee5\u5728\u6ce8\u91cd\u9690\u79c1\u7684\u73af\u5883\u4e2d\u8fd0\u884c\u3002", - "home.privacy.learnMore": "\u4e86\u89e3\u66f4\u591a\u5173\u4e8e", - "home.privacy.link": "\u9690\u79c1", - - "home.faq.q1": "\u4ec0\u4e48\u662f OpenCode\uff1f", - "home.faq.a1": - "OpenCode \u662f\u4e00\u4e2a\u5f00\u6e90\u4ee3\u7406\uff0c\u5e2e\u52a9\u4f60\u4f7f\u7528\u4efb\u610f AI \u6a21\u578b\u7f16\u5199\u5e76\u8fd0\u884c\u4ee3\u7801\u3002\u5b83\u63d0\u4f9b\u7ec8\u7aef\u754c\u9762\u3001\u684c\u9762\u5e94\u7528\u6216 IDE \u6269\u5c55\u3002", - "home.faq.q2": "\u5982\u4f55\u4f7f\u7528 OpenCode\uff1f", - "home.faq.a2.before": "\u6700\u7b80\u5355\u7684\u65b9\u5f0f\u662f\u5148\u9605\u8bfb", - "home.faq.a2.link": "\u5165\u95e8\u4ecb\u7ecd", - "home.faq.q3": "\u4f7f\u7528 OpenCode \u9700\u8981\u989d\u5916\u7684 AI \u8ba2\u9605\u5417\uff1f", - "home.faq.a3.p1": - "\u4e0d\u4e00\u5b9a\u3002OpenCode \u81ea\u5e26\u4e00\u7ec4\u514d\u8d39\u6a21\u578b\uff0c\u65e0\u9700\u521b\u5efa\u8d26\u6237\u5373\u53ef\u4f7f\u7528\u3002", - "home.faq.a3.p2.beforeZen": "\u6b64\u5916\uff0c\u4f60\u53ef\u4ee5\u901a\u8fc7\u521b\u5efa", - "home.faq.a3.p2.afterZen": "\u8d26\u6237\u6765\u4f7f\u7528\u5e38\u89c1\u7684\u7f16\u7801\u6a21\u578b\u3002", - "home.faq.a3.p3": - "\u6211\u4eec\u9f13\u52b1\u4f7f\u7528 Zen\uff0c\u4f46 OpenCode \u4e5f\u652f\u6301 OpenAI\u3001Anthropic\u3001xAI \u7b49\u4e3b\u6d41\u63d0\u4f9b\u5546\u3002", - "home.faq.a3.p4.beforeLocal": "\u4f60\u8fd8\u53ef\u4ee5\u8fde\u63a5", - "home.faq.a3.p4.localLink": "\u672c\u5730\u6a21\u578b", - "home.faq.q4": "\u53ef\u4ee5\u4f7f\u7528\u6211\u73b0\u6709\u7684 AI \u8ba2\u9605\u5417\uff1f", - "home.faq.a4.p1": - "\u53ef\u4ee5\u3002OpenCode \u652f\u6301\u4e3b\u6d41\u63d0\u4f9b\u5546\u7684\u8ba2\u9605\u65b9\u6848\uff0c\u5305\u62ec Claude Pro/Max\u3001ChatGPT Plus/Pro \u548c GitHub Copilot\u3002", - "home.faq.q5": "OpenCode \u53ea\u80fd\u5728\u7ec8\u7aef\u4e2d\u7528\u5417\uff1f", - "home.faq.a5.beforeDesktop": "\u4e0d\u518d\u662f\u4e86\uff01OpenCode \u73b0\u5728\u4e5f\u63d0\u4f9b", - "home.faq.a5.desktop": "\u684c\u9762\u7aef", - "home.faq.a5.and": "\u548c", - "home.faq.a5.web": "\u7f51\u9875", - "home.faq.q6": "OpenCode \u4ef7\u683c\u5982\u4f55\uff1f", - "home.faq.a6": - "OpenCode 100% \u514d\u8d39\u3002\u4e5f\u81ea\u5e26\u4e00\u7ec4\u514d\u8d39\u6a21\u578b\u3002\u5982\u679c\u4f60\u8fde\u63a5\u5176\u4ed6\u63d0\u4f9b\u5546\uff0c\u53ef\u80fd\u4f1a\u6709\u989d\u5916\u8d39\u7528\u3002", - "home.faq.q7": "\u6570\u636e\u548c\u9690\u79c1\u600e\u4e48\u529e\uff1f", - "home.faq.a7.p1": - "\u4ec5\u5f53\u4f60\u4f7f\u7528\u6211\u4eec\u7684\u514d\u8d39\u6a21\u578b\u6216\u521b\u5efa\u53ef\u5171\u4eab\u94fe\u63a5\u65f6\uff0c\u624d\u4f1a\u5b58\u50a8\u4f60\u7684\u6570\u636e\u548c\u4fe1\u606f\u3002", - "home.faq.a7.p2.beforeModels": "\u4e86\u89e3\u66f4\u591a\u5173\u4e8e", - "home.faq.a7.p2.modelsLink": "\u6211\u4eec\u7684\u6a21\u578b", - "home.faq.a7.p2.and": "\u548c", - "home.faq.a7.p2.shareLink": "\u5171\u4eab\u9875\u9762", - "home.faq.q8": "OpenCode \u662f\u5f00\u6e90\u7684\u5417\uff1f", - "home.faq.a8.p1": "\u662f\u7684\uff0cOpenCode \u5b8c\u5168\u5f00\u6e90\u3002\u6e90\u7801\u516c\u5f00\u5728", - "home.faq.a8.p2": "\u5e76\u4ee5", - "home.faq.a8.mitLicense": "MIT \u8bb8\u53ef\u8bc1", - "home.faq.a8.p3": - "\u53d1\u5e03\uff0c\u610f\u5473\u7740\u4efb\u4f55\u4eba\u90fd\u53ef\u4ee5\u4f7f\u7528\u3001\u4fee\u6539\u6216\u8d21\u732e\u3002\u793e\u533a\u7684\u4efb\u4f55\u4eba\u90fd\u53ef\u4ee5\u63d0\u4ea4 issues\u3001pull requests \u5e76\u6269\u5c55\u529f\u80fd\u3002", - - "home.zenCta.title": "\u4e3a\u7f16\u7801\u4ee3\u7406\u63d0\u4f9b\u53ef\u9760\u3001\u4f18\u5316\u7684\u6a21\u578b", - "home.zenCta.body": - "Zen \u63d0\u4f9b\u4e00\u7ec4\u7cbe\u9009\u7684 AI \u6a21\u578b\uff0c\u8fd9\u4e9b\u6a21\u578b\u662f OpenCode \u4e3a\u4e86\u7f16\u7801\u4ee3\u7406\u4e13\u95e8\u6d4b\u8bd5\u548c\u8bc4\u6d4b\u8fc7\u7684\u3002\u65e0\u9700\u62c5\u5fc3\u4e0d\u540c\u63d0\u4f9b\u5546\u4e4b\u95f4\u6027\u80fd\u4e0e\u8d28\u91cf\u53c2\u5dee\uff0c\u4f7f\u7528\u7ecf\u8fc7\u9a8c\u8bc1\u7684\u6a21\u578b\u5373\u53ef\u3002", - "home.zenCta.link": "\u4e86\u89e3 Zen", - - "enterprise.title": "OpenCode | \u9762\u5411\u7ec4\u7ec7\u7684\u4f01\u4e1a\u89e3\u51b3\u65b9\u6848", - - "zen.title": - "OpenCode Zen | \u4e3a\u7f16\u7801\u4ee3\u7406\u7cbe\u9009\u7684\u53ef\u9760\u3001\u4f18\u5316\u6a21\u578b", - "zen.hero.title": "\u4e3a\u7f16\u7801\u4ee3\u7406\u63d0\u4f9b\u53ef\u9760\u3001\u4f18\u5316\u7684\u6a21\u578b", - "zen.hero.body": - "Zen \u63d0\u4f9b\u4e00\u7ec4\u7cbe\u9009\u7684 AI \u6a21\u578b\uff0c\u8fd9\u4e9b\u6a21\u578b\u662f OpenCode \u4e3a\u4e86\u7f16\u7801\u4ee3\u7406\u4e13\u95e8\u6d4b\u8bd5\u548c\u8bc4\u6d4b\u8fc7\u7684\u3002\u65e0\u9700\u62c5\u5fc3\u4e0d\u540c\u63d0\u4f9b\u5546\u4e4b\u95f4\u6027\u80fd\u4e0e\u8d28\u91cf\u53c2\u5dee\uff0c\u4f7f\u7528\u7ecf\u8fc7\u9a8c\u8bc1\u7684\u6a21\u578b\u5373\u53ef\u3002", - - "zen.faq.q1": "\u4ec0\u4e48\u662f OpenCode Zen\uff1f", - "zen.faq.a1": - "Zen \u662f\u7531 OpenCode \u56e2\u961f\u6253\u9020\u3001\u4e13\u4e3a\u7f16\u7801\u4ee3\u7406\u6d4b\u8bd5\u4e0e\u8bc4\u6d4b\u7684 AI \u6a21\u578b\u7cbe\u9009\u96c6\u5408\u3002", - "zen.faq.q2": "\u662f\u4ec0\u4e48\u8ba9 Zen \u66f4\u51c6\u786e\uff1f", - "zen.faq.a2": - "Zen \u53ea\u63d0\u4f9b\u4e13\u4e3a\u7f16\u7801\u4ee3\u7406\u6d4b\u8bd5\u4e0e\u8bc4\u6d4b\u7684\u6a21\u578b\u3002\u4f60\u4e0d\u4f1a\u7528\u9ec4\u6cb9\u5200\u5207\u725b\u6392\uff0c\u4e5f\u522b\u7528\u7cdf\u7cd5\u7684\u6a21\u578b\u6765\u5199\u4ee3\u7801\u3002", - "zen.faq.q3": "Zen \u66f4\u4fbf\u5b9c\u5417\uff1f", - "zen.faq.a3": - "Zen \u4e0d\u4ee5\u76c8\u5229\u4e3a\u76ee\u7684\u3002Zen \u4f1a\u628a\u6a21\u578b\u63d0\u4f9b\u5546\u7684\u6210\u672c\u539f\u6837\u8f6c\u7ed9\u4f60\u3002Zen \u4f7f\u7528\u8d8a\u591a\uff0cOpenCode \u5c31\u8d8a\u80fd\u8c08\u5230\u66f4\u597d\u7684\u4ef7\u683c\u5e76\u628a\u4f18\u60e0\u8ba9\u5229\u7ed9\u4f60\u3002", - "zen.faq.q4": "Zen \u8d39\u7528\u662f\u591a\u5c11\uff1f", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "\u6309\u8bf7\u6c42\u8ba1\u8d39", - "zen.faq.a4.p1.afterPricing": - "\u4e14\u96f6\u52a0\u4ef7\uff0c\u56e0\u6b64\u4f60\u652f\u4ed8\u7684\u5c31\u662f\u6a21\u578b\u63d0\u4f9b\u5546\u7684\u539f\u4ef7\u3002", - "zen.faq.a4.p2.beforeAccount": "\u603b\u8d39\u7528\u53d6\u51b3\u4e8e\u4f7f\u7528\u91cf\uff0c\u4f60\u53ef\u4ee5\u5728", - "zen.faq.a4.p2.accountLink": "\u8d26\u6237\u4e2d\u8bbe\u7f6e\u6bcf\u6708\u652f\u51fa\u4e0a\u9650", - "zen.faq.a4.p3": - "\u4e3a\u8986\u76d6\u6210\u672c\uff0cOpenCode \u4ec5\u4f1a\u6536\u53d6\u5f88\u5c0f\u7684\u652f\u4ed8\u5904\u7406\u8d39\u7528\uff1a\u6bcf\u6b21\u5145\u503c $20 \u4f1a\u989d\u5916\u6536\u53d6 $1.23\u3002", - "zen.faq.q5": "\u6570\u636e\u4e0e\u9690\u79c1\u600e\u4e48\u6837\uff1f", - "zen.faq.a5.beforeExceptions": - "\u6240\u6709 Zen \u6a21\u578b\u90fd\u6258\u7ba1\u5728\u7f8e\u56fd\u3002\u63d0\u4f9b\u5546\u9075\u5faa\u96f6\u7559\u5b58\u653f\u7b56\uff0c\u4e0d\u4f1a\u5c06\u4f60\u7684\u6570\u636e\u7528\u4e8e\u6a21\u578b\u8bad\u7ec3\uff0c\u4f46\u6709", - "zen.faq.a5.exceptionsLink": "\u4ee5\u4e0b\u4f8b\u5916", - "zen.faq.q6": "\u6211\u53ef\u4ee5\u8bbe\u7f6e\u652f\u51fa\u4e0a\u9650\u5417\uff1f", - "zen.faq.a6": - "\u53ef\u4ee5\uff0c\u4f60\u53ef\u4ee5\u5728\u8d26\u6237\u4e2d\u8bbe\u7f6e\u6bcf\u6708\u652f\u51fa\u4e0a\u9650\u3002", - "zen.faq.q7": "\u6211\u53ef\u4ee5\u53d6\u6d88\u5417\uff1f", - "zen.faq.a7": - "\u53ef\u4ee5\uff0c\u4f60\u53ef\u4ee5\u968f\u65f6\u505c\u7528\u8ba1\u8d39\u5e76\u4f7f\u7528\u5269\u4f59\u4f59\u989d\u3002", - "zen.faq.q8": "\u6211\u53ef\u4ee5\u5728\u5176\u4ed6\u7f16\u7801\u4ee3\u7406\u4e2d\u4f7f\u7528 Zen \u5417\uff1f", - "zen.faq.a8": - "Zen \u4e0e OpenCode \u914d\u5408\u5f97\u5f88\u597d\uff0c\u4f46\u4f60\u4e5f\u53ef\u4ee5\u5728\u4efb\u4f55\u4ee3\u7406\u4e2d\u4f7f\u7528 Zen\u3002\u8bf7\u5728\u4f60\u504f\u597d\u7684\u7f16\u7801\u4ee3\u7406\u4e2d\u6309\u7167\u8bbe\u7f6e\u8bf4\u660e\u8fdb\u884c\u914d\u7f6e\u3002", - - "download.title": "OpenCode | \u4e0b\u8f7d", - "zen.cta.start": "开始使用 Zen", - "zen.pricing.title": "添加 20 美元即用即付余额", - "zen.pricing.fee": "(+ 1.23 美元卡处理费)", - "zen.pricing.body": "与任何代理一起使用。设置每月支出限额。随时取消。", - "zen.problem.title": "Zen 正在解决什么问题?", - "zen.problem.body": - "可用的模型有很多,但只有少数可以与编码代理配合良好。大多数提供商以不同的方式配置它们,并产生不同的结果。", - "zen.problem.subtitle": "我们正在为所有人修复此问题,而不仅仅是 OpenCode 用户。", - "zen.problem.item1": "测试选定的模型并咨询其团队", - "zen.problem.item2": "与提供商合作以确保正确交付", - "zen.problem.item3": "对我们推荐的所有模型-提供商组合进行基准测试", - "zen.how.title": "Zen 如何运作", - "zen.how.body": "虽然我们建议您将 Zen 与 OpenCode 一起使用,但您可以将 Zen 与任何代理一起使用。", - "zen.how.step1.title": "注册并添加 20 美元余额", - "zen.how.step1.beforeLink": "遵循", - "zen.how.step1.link": "设置说明", - "zen.how.step2.title": "使用 Zen 并提供透明的定价", - "zen.how.step2.link": "按请求付费", - "zen.how.step2.afterLink": "零加价", - "zen.how.step3.title": "自动充值", - "zen.how.step3.body": "当您的余额达到 5 美元时,我们会自动添加 20 美元", - "zen.privacy.title": "您的隐私对我们很重要", - "zen.privacy.beforeExceptions": "所有 Zen 模型均在美国托管。提供商遵循零保留政策,不会将您的数据用于模型训练,并且", - "zen.privacy.exceptionsLink": "以下例外情况", - "download.meta.description": "\u4e0b\u8f7d\u9002\u7528\u4e8e macOS\u3001Windows \u548c Linux \u7684 OpenCode", - "download.hero.title": "\u4e0b\u8f7d OpenCode", - "download.hero.subtitle": - "\u9002\u7528\u4e8e macOS\u3001Windows \u548c Linux \u7684 Beta \u7248\u73b0\u5df2\u63d0\u4f9b", - "download.hero.button": "\u4e0b\u8f7d {{os}} \u7248\u672c", - "download.section.terminal": "OpenCode \u7ec8\u7aef", - "download.section.desktop": "OpenCode \u684c\u9762\u7aef\uff08Beta\uff09", - "download.section.extensions": "OpenCode \u6269\u5c55", - "download.section.integrations": "OpenCode \u96c6\u6210", - "download.action.download": "\u4e0b\u8f7d", - "download.action.install": "\u5b89\u88c5", - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - "download.faq.a3.beforeLocal": - "\u4e0d\u4e00\u5b9a\uff0c\u4f46\u5927\u6982\u7387\u9700\u8981\u3002\u5982\u679c\u4f60\u60f3\u5c06 OpenCode \u8fde\u63a5\u5230\u4ed8\u8d39\u63d0\u4f9b\u5546\uff0c\u4f60\u9700\u8981 AI \u8ba2\u9605\uff0c\u4e0d\u8fc7\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528", - "download.faq.a3.localLink": "\u672c\u5730\u6a21\u578b", - "download.faq.a3.afterLocal.beforeZen": "\u514d\u8d39\u3002\u6211\u4eec\u4e5f\u63a8\u8350\u4f7f\u7528", - "download.faq.a3.afterZen": - "\uff0c\u4f46 OpenCode \u540c\u6837\u652f\u6301 OpenAI\u3001Anthropic\u3001xAI \u7b49\u6240\u6709\u4e3b\u6d41\u63d0\u4f9b\u5546\u3002", - "download.faq.a5.p1": "OpenCode 100% \u514d\u8d39\u4f7f\u7528\u3002", - "download.faq.a5.p2.beforeZen": - "\u989d\u5916\u8d39\u7528\u6765\u81ea\u4f60\u5bf9\u6a21\u578b\u63d0\u4f9b\u5546\u7684\u8ba2\u9605\u3002\u867d\u7136 OpenCode \u652f\u6301\u4efb\u4f55\u6a21\u578b\u63d0\u4f9b\u5546\uff0c\u4f46\u6211\u4eec\u5efa\u8bae\u4f7f\u7528", - "download.faq.a5.p2.afterZen": "\u3002", - "download.faq.a6.p1": - "\u4f60\u7684\u6570\u636e\u548c\u4fe1\u606f\u53ea\u4f1a\u5728\u4f60\u5728 OpenCode \u4e2d\u521b\u5efa\u53ef\u5206\u4eab\u94fe\u63a5\u65f6\u88ab\u5b58\u50a8\u3002", - "download.faq.a6.p2.beforeShare": "\u4e86\u89e3\u66f4\u591a\u5173\u4e8e", - "download.faq.a6.shareLink": "\u5206\u4eab\u9875\u9762", - "enterprise.meta.description": "\u8054\u7cfb OpenCode \u83b7\u53d6\u4f01\u4e1a\u89e3\u51b3\u65b9\u6848", - "enterprise.hero.title": "\u4f60\u7684\u4ee3\u7801\u5f52\u4f60\u6240\u6709", - "enterprise.hero.body1": - "OpenCode \u5728\u4f60\u7684\u7ec4\u7ec7\u5185\u90e8\u5b89\u5168\u8fd0\u884c\uff0c\u4e0d\u4f1a\u5b58\u50a8\u4efb\u4f55\u6570\u636e\u6216\u4e0a\u4e0b\u6587\uff0c\u4e5f\u6ca1\u6709\u8bb8\u53ef\u9650\u5236\u6216\u6240\u6709\u6743\u58f0\u660e\u3002\u4f60\u53ef\u4ee5\u5148\u4e0e\u56e2\u961f\u8fdb\u884c\u8bd5\u7528\uff0c\u7136\u540e\u901a\u8fc7\u4e0e\u4f60\u7684 SSO \u548c\u5185\u90e8 AI \u7f51\u5173\u96c6\u6210\uff0c\u5c06\u5176\u90e8\u7f72\u5230\u6574\u4e2a\u7ec4\u7ec7\u3002", - "enterprise.hero.body2": "\u544a\u8bc9\u6211\u4eec\u6211\u4eec\u80fd\u5982\u4f55\u5e2e\u52a9\u4f60\u3002", - "enterprise.form.name.label": "\u59d3\u540d", - "enterprise.form.name.placeholder": "\u6770\u592b\u00b7\u8d1d\u4f50\u65af", - "enterprise.form.role.label": "\u804c\u4f4d", - "enterprise.form.role.placeholder": "\u6267\u884c\u8463\u4e8b\u957f", - "enterprise.form.email.label": "\u516c\u53f8\u90ae\u7bb1", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "\u4f60\u60f3\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\uff1f", - "enterprise.form.message.placeholder": "\u6211\u4eec\u9700\u8981\u5e2e\u52a9\u6765...", - "enterprise.form.send": "\u53d1\u9001", - "enterprise.form.sending": "\u53d1\u9001\u4e2d...", - "enterprise.form.success": - "\u6d88\u606f\u5df2\u53d1\u9001\uff0c\u6211\u4eec\u4f1a\u5c3d\u5feb\u4e0e\u4f60\u8054\u7cfb\u3002", - "enterprise.faq.title": "\u5e38\u89c1\u95ee\u9898", - "enterprise.faq.q1": "\u4ec0\u4e48\u662f OpenCode Enterprise\uff1f", - "enterprise.faq.a1": - "OpenCode Enterprise \u9762\u5411\u5e0c\u671b\u786e\u4fdd\u4ee3\u7801\u548c\u6570\u636e\u7edd\u4e0d\u79bb\u5f00\u81ea\u5df1\u57fa\u7840\u8bbe\u65bd\u7684\u7ec4\u7ec7\u3002\u901a\u8fc7\u4e2d\u5fc3\u5316\u914d\u7f6e\uff0c\u5b83\u53ef\u4e0e\u4f60\u7684 SSO \u548c\u5185\u90e8 LLM/AI \u7f51\u5173\u96c6\u6210\uff0c\u4ece\u800c\u5b9e\u73b0\u8fd9\u4e00\u76ee\u6807\u3002", - "enterprise.faq.q2": "\u5982\u4f55\u5f00\u59cb\u4f7f\u7528 OpenCode Enterprise\uff1f", - "enterprise.faq.a2": - "\u53ea\u9700\u4ece\u56e2\u961f\u5185\u90e8\u8bd5\u7528\u5f00\u59cb\u3002OpenCode \u9ed8\u8ba4\u4e0d\u4f1a\u5b58\u50a8\u4f60\u7684\u4ee3\u7801\u6216\u4e0a\u4e0b\u6587\u6570\u636e\uff0c\u6240\u4ee5\u4e0a\u624b\u975e\u5e38\u7b80\u5355\u3002\u4e4b\u540e\u8054\u7cfb\u6211\u4eec\uff0c\u8ba8\u8bba\u5b9a\u4ef7\u548c\u5b9e\u65bd\u65b9\u6848\u3002", - "enterprise.faq.q3": "\u4f01\u4e1a\u5b9a\u4ef7\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\uff1f", - "enterprise.faq.a3": - "\u6211\u4eec\u63d0\u4f9b\u6309\u5e2d\u4f4d\u7684\u4f01\u4e1a\u5b9a\u4ef7\u3002\u5982\u679c\u4f60\u62e5\u6709\u81ea\u5df1\u7684 LLM \u7f51\u5173\uff0c\u6211\u4eec\u4e0d\u4f1a\u5bf9\u6d88\u8017\u7684 token \u53e6\u6536\u8d39\u3002\u5982\u9700\u8be6\u60c5\uff0c\u8bf7\u8054\u7cfb\u6211\u4eec\u83b7\u53d6\u57fa\u4e8e\u4f60\u7ec4\u7ec7\u9700\u6c42\u7684\u5b9a\u5236\u62a5\u4ef7\u3002", - "enterprise.faq.q4": "OpenCode Enterprise \u4f1a\u4fdd\u969c\u6211\u7684\u6570\u636e\u5b89\u5168\u5417\uff1f", - "enterprise.faq.a4": - "\u4f1a\u3002OpenCode \u4e0d\u5b58\u50a8\u4f60\u7684\u4ee3\u7801\u6216\u4e0a\u4e0b\u6587\u6570\u636e\u3002\u6240\u6709\u5904\u7406\u90fd\u5728\u672c\u5730\u8fdb\u884c\uff0c\u6216\u901a\u8fc7\u76f4\u8fde\u4f60\u7684 AI \u63d0\u4f9b\u5546\u7684 API \u8bf7\u6c42\u5b8c\u6210\u3002\u901a\u8fc7\u4e2d\u5fc3\u5316\u914d\u7f6e\u548c SSO \u96c6\u6210\uff0c\u4f60\u7684\u6570\u636e\u4f1a\u4fdd\u6301\u5728\u7ec4\u7ec7\u7684\u57fa\u7840\u8bbe\u65bd\u5185\u90e8\u3002", - - "brand.title": "OpenCode | \u54c1\u724c", - "brand.meta.description": "OpenCode \u54c1\u724c\u6307\u5357", - "brand.heading": "\u54c1\u724c\u6307\u5357", - "brand.subtitle": "\u5e2e\u52a9\u4f60\u4f7f\u7528 OpenCode \u54c1\u724c\u7684\u8d44\u6e90\u4e0e\u7d20\u6750\u3002", - "brand.downloadAll": "\u4e0b\u8f7d\u5168\u90e8\u7d20\u6750", - "changelog.title": "OpenCode | \u66f4\u65b0\u65e5\u5fd7", - "changelog.meta.description": "OpenCode \u53d1\u5e03\u8bf4\u660e\u4e0e\u66f4\u65b0\u65e5\u5fd7", - "changelog.hero.title": "\u66f4\u65b0\u65e5\u5fd7", - "changelog.hero.subtitle": "OpenCode \u7684\u65b0\u66f4\u65b0\u4e0e\u6539\u8fdb", - "changelog.empty": "\u672a\u627e\u5230\u66f4\u65b0\u65e5\u5fd7\u6761\u76ee\u3002", - "changelog.viewJson": "\u67e5\u770b JSON", - "workspace.nav.zen": "Zen", - "workspace.nav.apiKeys": "API 键", - "workspace.nav.members": "成员", - "workspace.nav.billing": "计费", - "workspace.nav.settings": "设置", - "workspace.home.banner.beforeLink": "编码代理的可靠优化模型。", - "workspace.home.billing.loading": "加载中...", - "workspace.home.billing.enable": "启用计费", - "workspace.home.billing.currentBalance": "当前余额", - "workspace.newUser.feature.tested.title": "经过测试和验证的模型", - "workspace.newUser.feature.tested.body": "我们专门针对编码代理对模型进行了基准测试和测试,以确保最佳性能。", - "workspace.newUser.feature.quality.title": "最高品质", - "workspace.newUser.feature.quality.body": "访问模型配置为最佳性能 - 无需降级或路由到更便宜的提供商。", - "workspace.newUser.feature.lockin.title": "无锁定", - "workspace.newUser.feature.lockin.body": - "将 Zen 与任何编码代理结合使用,并在需要时继续将其他提供程序与 opencode 结合使用。", - "workspace.newUser.copyApiKey": "复制 API 密钥", - "workspace.newUser.copyKey": "复制密钥", - "workspace.newUser.copied": "已复制!", - "workspace.newUser.step.enableBilling": "启用计费", - "workspace.newUser.step.login.before": "运行", - "workspace.newUser.step.login.after": "并选择 opencode", - "workspace.newUser.step.pasteKey": "粘贴您的 API 密钥", - "workspace.newUser.step.models.before": "启动 opencode 并运行", - "workspace.newUser.step.models.after": "选择模型", - "workspace.models.title": "模型", - "workspace.models.subtitle.beforeLink": "管理工作区成员可以访问哪些模型。", - "workspace.models.table.model": "模型", - "workspace.models.table.enabled": "启用", - "workspace.providers.title": "自带密钥", - "workspace.providers.subtitle": "从 AI 提供商处配置您自己的 API 密钥。", - "workspace.providers.placeholder": "输入 {{provider}} API 密钥({{prefix}}...)", - "workspace.providers.configure": "配置", - "workspace.providers.edit": "编辑", - "workspace.providers.delete": "删除", - "workspace.providers.saving": "保存...", - "workspace.providers.save": "保存", - "workspace.providers.table.provider": "提供者", - "workspace.providers.table.apiKey": "API 密钥", - "workspace.usage.title": "使用历史", - "workspace.usage.subtitle": "最近的 API 使用情况和成本。", - "workspace.usage.empty": "进行第一个 API 调用即可开始。", - "workspace.usage.table.date": "日期", - "workspace.usage.table.model": "模型", - "workspace.usage.table.input": "输入", - "workspace.usage.table.output": "输出", - "workspace.usage.table.cost": "成本", - "workspace.usage.breakdown.input": "输入", - "workspace.usage.breakdown.cacheRead": "缓存读取", - "workspace.usage.breakdown.cacheWrite": "缓存写入", - "workspace.usage.breakdown.output": "输出", - "workspace.usage.breakdown.reasoning": "推理", - "workspace.usage.subscription": "订阅 (${{amount}})", - "workspace.cost.title": "成本", - "workspace.cost.subtitle": "按型号细分的使用成本。", - "workspace.cost.allModels": "所有模型", - "workspace.cost.allKeys": "所有密钥", - "workspace.cost.deletedSuffix": "(已删除)", - "workspace.cost.empty": "所选期间没有可用的使用数据。", - "workspace.cost.subscriptionShort": "订", - "workspace.keys.title": "API 键", - "workspace.keys.subtitle": "管理您的 API 密钥以访问 opencode 服务。", - "workspace.keys.create": "创建 API 密钥", - "workspace.keys.placeholder": "输入密钥名称", - "workspace.keys.empty": "创建 opencode 网关 API 密钥", - "workspace.keys.table.name": "名称", - "workspace.keys.table.key": "密钥", - "workspace.keys.table.createdBy": "创建者", - "workspace.keys.table.lastUsed": "最后使用", - "workspace.keys.copyApiKey": "复制 API 密钥", - "workspace.keys.delete": "删除", - "workspace.members.title": "成员", - "workspace.members.subtitle": "管理工作区成员及其权限。", - "workspace.members.invite": "邀请成员", - "workspace.members.inviting": "邀请...", - "workspace.members.beta.beforeLink": "测试期间,工作空间对团队免费。", - "workspace.members.form.invitee": "受邀者", - "workspace.members.form.emailPlaceholder": "输入电子邮件", - "workspace.members.form.role": "角色", - "workspace.members.form.monthlyLimit": "每月消费限额", - "workspace.members.noLimit": "无限制", - "workspace.members.noLimitLowercase": "没有限制", - "workspace.members.invited": "邀请", - "workspace.members.edit": "编辑", - "workspace.members.delete": "删除", - "workspace.members.saving": "保存...", - "workspace.members.save": "保存", - "workspace.members.table.email": "电子邮件", - "workspace.members.table.role": "角色", - "workspace.members.table.monthLimit": "月限额", - "workspace.members.role.admin": "管理员", - "workspace.members.role.adminDescription": "可以管理模型、成员和计费", - "workspace.members.role.member": "成员", - "workspace.members.role.memberDescription": "只能为自己生成 API 密钥", - "workspace.settings.title": "设置", - "workspace.settings.subtitle": "更新您的工作区名称和首选项。", - "workspace.settings.workspaceName": "工作区名称", - "workspace.settings.defaultName": "默认", - "workspace.settings.updating": "更新中...", - "workspace.settings.save": "保存", - "workspace.settings.edit": "编辑", - "workspace.billing.title": "计费", - "workspace.billing.subtitle.beforeLink": "管理付款方式。", - "workspace.billing.contactUs": "联系我们", - "workspace.billing.subtitle.afterLink": "如有任何问题。", - "workspace.billing.currentBalance": "当前余额", - "workspace.billing.add": "添加$", - "workspace.billing.enterAmount": "输入金额", - "workspace.billing.loading": "加载中...", - "workspace.billing.addAction": "添加", - "workspace.billing.addBalance": "添加余额", - "workspace.billing.linkedToStripe": "已绑定 Stripe", - "workspace.billing.manage": "管理", - "workspace.billing.enable": "启用计费", - "workspace.monthlyLimit.title": "每月限额", - "workspace.monthlyLimit.subtitle": "为您的帐户设置每月使用限额。", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "设置中...", - "workspace.monthlyLimit.set": "设置", - "workspace.monthlyLimit.edit": "编辑限制", - "workspace.monthlyLimit.noLimit": "没有设置使用限制。", - "workspace.monthlyLimit.currentUsage.beforeMonth": "当前", - "workspace.monthlyLimit.currentUsage.beforeAmount": "的使用量为 $", - "workspace.reload.title": "自动充值", - "workspace.reload.disabled.before": "自动充值已", - "workspace.reload.disabled.state": "停用", - "workspace.reload.disabled.after": "启用后将在余额较低时自动充值。", - "workspace.reload.enabled.before": "自动充值已", - "workspace.reload.enabled.state": "已启用", - "workspace.reload.enabled.middle": "我们将自动充值", - "workspace.reload.processingFee": "手续费", - "workspace.reload.enabled.after": "当余额达到", - "workspace.reload.edit": "编辑", - "workspace.reload.enable": "启用", - "workspace.reload.enableAutoReload": "启用自动充值", - "workspace.reload.reloadAmount": "充值 $", - "workspace.reload.whenBalanceReaches": "当余额达到 $", - "workspace.reload.saving": "保存...", - "workspace.reload.save": "保存", - "workspace.reload.failedAt": "充值失败于", - "workspace.reload.reason": "原因:", - "workspace.reload.updatePaymentMethod": "请更新您的付款方式并重试。", - "workspace.reload.retrying": "正在重试...", - "workspace.reload.retry": "重试", - "workspace.payments.title": "付款记录", - "workspace.payments.subtitle": "最近的付款交易。", - "workspace.payments.table.date": "日期", - "workspace.payments.table.paymentId": "付款ID", - "workspace.payments.table.amount": "金额", - "workspace.payments.table.receipt": "收据", - "workspace.payments.type.credit": "信用", - "workspace.payments.type.subscription": "订阅", - "workspace.payments.view": "查看", - "workspace.black.loading": "加载中...", - "workspace.black.time.day": "天", - "workspace.black.time.days": "天", - "workspace.black.time.hour": "小时", - "workspace.black.time.hours": "小时", - "workspace.black.time.minute": "分钟", - "workspace.black.time.minutes": "分钟", - "workspace.black.time.fewSeconds": "几秒钟", - "workspace.black.subscription.title": "订阅", - "workspace.black.subscription.message": "您已订阅 OpenCode Black,费用为每月 ${{plan}}。", - "workspace.black.subscription.manage": "管理订阅", - "workspace.black.subscription.rollingUsage": "5小时使用", - "workspace.black.subscription.weeklyUsage": "每周使用量", - "workspace.black.subscription.resetsIn": "重置于", - "workspace.black.subscription.useBalance": "达到使用限额后使用您的可用余额", - "workspace.black.waitlist.title": "候补名单", - "workspace.black.waitlist.joined": "您已加入每月 ${{plan}} 的 OpenCode Black 方案候补名单。", - "workspace.black.waitlist.ready": "我们已准备好将您加入每月 ${{plan}} 的 OpenCode Black 方案。", - "workspace.black.waitlist.leave": "离开候补名单", - "workspace.black.waitlist.leaving": "离开...", - "workspace.black.waitlist.left": "已退出", - "workspace.black.waitlist.enroll": "加入", - "workspace.black.waitlist.enrolling": "加入中...", - "workspace.black.waitlist.enrolled": "已加入", - "workspace.black.waitlist.enrollNote": "单击“注册”后,您的订阅将立即开始,并且将从您的卡中扣费。", -} satisfies Dict diff --git a/packages/console/app/src/i18n/zht.ts b/packages/console/app/src/i18n/zht.ts deleted file mode 100644 index 2de7c3996..000000000 --- a/packages/console/app/src/i18n/zht.ts +++ /dev/null @@ -1,474 +0,0 @@ -import type { Dict } from "./en" -import { dict as en } from "./en" - -export const dict = { - ...en, - "nav.github": "GitHub", - "nav.docs": "\u6587\u4ef6", - "nav.changelog": "\u66f4\u65b0\u65e5\u8a8c", - "nav.discord": "Discord", - "nav.x": "X", - "nav.enterprise": "\u4f01\u696d", - "nav.zen": "Zen", - "nav.login": "\u767b\u5165", - "nav.free": "\u514d\u8cbb", - "nav.home": "\u9996\u9801", - "nav.openMenu": "\u958b\u555f\u9078\u55ae", - "nav.getStartedFree": "\u514d\u8cbb\u958b\u59cb\u4f7f\u7528", - - "nav.context.copyLogo": "\u8907\u88fd\u6a19\u8a8c\uff08SVG\uff09", - "nav.context.copyWordmark": "\u8907\u88fd\u5b57\u6a19\uff08SVG\uff09", - "nav.context.brandAssets": "\u54c1\u724c\u8cc7\u7522", - - "footer.github": "GitHub", - "footer.docs": "\u6587\u4ef6", - "footer.changelog": "\u66f4\u65b0\u65e5\u8a8c", - "footer.discord": "Discord", - "footer.x": "X", - - "legal.brand": "\u54c1\u724c", - "legal.privacy": "\u96b1\u79c1", - "legal.terms": "\u689d\u6b3e", - - "email.title": "\u7b2c\u4e00\u6642\u9593\u77e5\u9053\u6211\u5011\u767c\u4f48\u65b0\u7522\u54c1", - "email.subtitle": "\u52a0\u5165\u7b49\u5019\u540d\u55ae\uff0c\u7372\u53d6\u63d0\u65e9\u4f7f\u7528\u6b0a\u3002", - "email.placeholder": "\u96fb\u5b50\u90f5\u4ef6\u5730\u5740", - "email.subscribe": "\u8a02\u95b1", - "email.success": - "\u5c31\u5dee\u4e00\u6b65\uff0c\u8acb\u67e5\u6536\u4f60\u7684\u4fe1\u7bb1\u4e26\u78ba\u8a8d\u96fb\u5b50\u90f5\u4ef6\u5730\u5740", - - "notFound.title": "\u627e\u4e0d\u5230\u9801\u9762 | opencode", - "notFound.heading": "404 - \u627e\u4e0d\u5230\u9801\u9762", - "notFound.home": "\u9996\u9801", - "notFound.docs": "\u6587\u4ef6", - "notFound.github": "GitHub", - "notFound.discord": "Discord", - - "user.logout": "\u767b\u51fa", - - "workspace.select": "\u9078\u53d6\u5de5\u4f5c\u5340", - "workspace.createNew": "+ \u5efa\u7acb\u65b0\u5de5\u4f5c\u5340", - "workspace.modal.title": "\u5efa\u7acb\u65b0\u5de5\u4f5c\u5340", - "workspace.modal.placeholder": "\u8f38\u5165\u5de5\u4f5c\u5340\u540d\u7a31", - - "common.cancel": "\u53d6\u6d88", - "common.creating": "\u6b63\u5728\u5efa\u7acb...", - "common.create": "\u5efa\u7acb", - - "common.videoUnsupported": "\u4f60\u7684\u700f\u89bd\u5668\u4e0d\u652f\u63f4 video \u6a19\u7c64\u3002", - "common.figure": "\u5716{{n}}", - "common.faq": "\u5e38\u898b\u554f\u984c", - "common.learnMore": "\u4e86\u89e3\u66f4\u591a", - - "home.title": "OpenCode | \u958b\u6e90 AI \u7de8\u78bc\u4ee3\u7406", - - "home.banner.badge": "\u65b0", - "home.banner.text": "\u684c\u9762\u61c9\u7528\u5df2\u63a8\u51fa Beta", - "home.banner.platforms": "\u652f\u63f4 macOS\u3001Windows \u8207 Linux", - "home.banner.downloadNow": "\u7acb\u5373\u4e0b\u8f09", - "home.banner.downloadBetaNow": "\u7acb\u5373\u4e0b\u8f09\u684c\u9762 Beta \u7248", - - "home.hero.title": "\u958b\u6e90 AI \u7de8\u78bc\u4ee3\u7406", - "home.hero.subtitle.a": - "\u5167\u5efa\u514d\u8cbb\u6a21\u578b\uff0c\u6216\u9023\u63a5\u4efb\u610f\u63d0\u4f9b\u5546\u7684\u4efb\u610f\u6a21\u578b\uff0c", - "home.hero.subtitle.b": "\u5305\u62ec Claude\u3001GPT\u3001Gemini \u7b49\u3002", - - "home.install.ariaLabel": "\u5b89\u88dd\u9078\u9805", - - "home.what.title": "\u4ec0\u9ebc\u662f OpenCode\uff1f", - "home.what.body": - "OpenCode \u662f\u4e00\u500b\u958b\u6e90\u4ee3\u7406\uff0c\u5e6b\u52a9\u4f60\u5728\u7d42\u7aef\u3001IDE \u6216\u684c\u9762\u7aef\u7de8\u5beb\u7a0b\u5f0f\u78bc\u3002", - "home.what.lsp.title": "\u652f\u63f4 LSP", - "home.what.lsp.body": "\u70ba LLM \u81ea\u52d5\u8f09\u5165\u5408\u9069\u7684 LSP", - "home.what.multiSession.title": "\u591a\u5de5\u4f5c\u968e\u6bb5", - "home.what.multiSession.body": "\u540c\u4e00\u500b\u5c08\u6848\u4e2d\u5e36\u884c\u555f\u52d5\u591a\u500b\u4ee3\u7406", - "home.what.shareLinks.title": "\u5206\u4eab\u9023\u7d50", - "home.what.shareLinks.body": - "\u5c07\u4efb\u610f\u968e\u6bb5\u7684\u9023\u7d50\u5206\u4eab\u7d66\u4ed6\u4eba\u4f9b\u53c3\u8003\u6216\u9664\u932f", - "home.what.copilot.title": "GitHub Copilot", - "home.what.copilot.body": "\u4f7f\u7528 GitHub \u767b\u5165\u4ee5\u4f7f\u7528\u4f60\u7684 Copilot \u5e33\u865f", - "home.what.chatgptPlus.title": "ChatGPT Plus/Pro", - "home.what.chatgptPlus.body": - "\u4f7f\u7528 OpenAI \u767b\u5165\u4ee5\u4f7f\u7528\u4f60\u7684 ChatGPT Plus/Pro \u5e33\u865f", - "home.what.anyModel.title": "\u4efb\u610f\u6a21\u578b", - "home.what.anyModel.body": - "\u900f\u904e Models.dev \u9023\u63a5 75+ \u5bb6 LLM \u63d0\u4f9b\u5546\uff0c\u5305\u62ec\u672c\u5730\u6a21\u578b", - "home.what.anyEditor.title": "\u4efb\u610f\u7de8\u8f2f\u5668", - "home.what.anyEditor.body": - "\u53ef\u4f5c\u70ba\u7d42\u7aef\u4ecb\u9762\u3001\u684c\u9762\u61c9\u7528\u8207 IDE \u64f4\u5145\u4f7f\u7528", - "home.what.readDocs": "\u95b1\u8b80\u6587\u4ef6", - - "home.growth.title": "\u958b\u6e90 AI \u7de8\u78bc\u4ee3\u7406", - "home.growth.body": - "\u64c1\u6709\u8d85\u904e {{stars}} \u500b GitHub Star\u3001{{contributors}} \u4f4d\u8ca2\u737b\u8005\u4ee5\u53ca\u8d85\u904e {{commits}} \u6b21\u63d0\u4ea4\uff0cOpenCode \u6bcf\u6708\u88ab\u8d85\u904e {{monthlyUsers}} \u540d\u958b\u767c\u8005\u4f7f\u7528\u4e26\u4fe1\u8cf4\u3002", - "home.growth.githubStars": "GitHub Star", - "home.growth.contributors": "\u8ca2\u737b\u8005", - "home.growth.monthlyDevs": "\u6708\u6d3b\u958b\u767c\u8005", - - "home.privacy.title": "\u96b1\u79c1\u512a\u5148", - "home.privacy.body": - "OpenCode \u4e0d\u5132\u5b58\u4f60\u7684\u7a0b\u5f0f\u78bc\u6216\u4e0a\u4e0b\u6587\u8cc7\u6599\uff0c\u56e0\u6b64\u53ef\u4ee5\u5728\u6ce8\u91cd\u96b1\u79c1\u7684\u74b0\u5883\u4e2d\u904b\u4f5c\u3002", - "home.privacy.learnMore": "\u4e86\u89e3\u66f4\u591a\u95dc\u65bc", - "home.privacy.link": "\u96b1\u79c1", - - "home.faq.q1": "\u4ec0\u9ebc\u662f OpenCode\uff1f", - "home.faq.a1": - "OpenCode \u662f\u4e00\u500b\u958b\u6e90\u4ee3\u7406\uff0c\u5e6b\u52a9\u4f60\u4f7f\u7528\u4efb\u610f AI \u6a21\u578b\u7de8\u5beb\u4e26\u57f7\u884c\u7a0b\u5f0f\u78bc\u3002\u5b83\u63d0\u4f9b\u7d42\u7aef\u4ecb\u9762\u3001\u684c\u9762\u61c9\u7528\u6216 IDE \u64f4\u5145\u3002", - "home.faq.q2": "\u5982\u4f55\u4f7f\u7528 OpenCode\uff1f", - "home.faq.a2.before": "\u6700\u7c21\u55ae\u7684\u65b9\u5f0f\u662f\u5148\u95b1\u8b80", - "home.faq.a2.link": "\u5165\u9580\u4ecb\u7d39", - "home.faq.q3": "\u4f7f\u7528 OpenCode \u9700\u8981\u984d\u5916\u7684 AI \u8a02\u95b1\u55ce\uff1f", - "home.faq.a3.p1": - "\u4e0d\u4e00\u5b9a\u3002OpenCode \u81ea\u5e36\u4e00\u7d44\u514d\u8cbb\u6a21\u578b\uff0c\u7121\u9700\u5efa\u7acb\u5e33\u865f\u5373\u53ef\u4f7f\u7528\u3002", - "home.faq.a3.p2.beforeZen": "\u6b64\u5916\uff0c\u4f60\u53ef\u4ee5\u900f\u904e\u5efa\u7acb", - "home.faq.a3.p2.afterZen": "\u5e33\u865f\u4f7f\u7528\u5e38\u898b\u7684\u7de8\u78bc\u6a21\u578b\u3002", - "home.faq.a3.p3": - "\u6211\u5011\u9f13\u52f5\u4f7f\u7528 Zen\uff0c\u4f46 OpenCode \u4e5f\u652f\u63f4 OpenAI\u3001Anthropic\u3001xAI \u7b49\u4e3b\u6d41\u63d0\u4f9b\u5546\u3002", - "home.faq.a3.p4.beforeLocal": "\u4f60\u9084\u53ef\u4ee5\u9023\u63a5", - "home.faq.a3.p4.localLink": "\u672c\u5730\u6a21\u578b", - "home.faq.q4": "\u53ef\u4ee5\u4f7f\u7528\u6211\u73fe\u6709\u7684 AI \u8a02\u95b1\u55ce\uff1f", - "home.faq.a4.p1": - "\u53ef\u4ee5\u3002OpenCode \u652f\u63f4\u4e3b\u6d41\u63d0\u4f9b\u5546\u7684\u8a02\u95b1\u65b9\u6848\uff0c\u5305\u62ec Claude Pro/Max\u3001ChatGPT Plus/Pro \u8207 GitHub Copilot\u3002", - "home.faq.q5": "OpenCode \u53ea\u80fd\u5728\u7d42\u7aef\u4e2d\u7528\u55ce\uff1f", - "home.faq.a5.beforeDesktop": "\u4e0d\u518d\u662f\u4e86\uff01OpenCode \u73fe\u5728\u4e5f\u63d0\u4f9b", - "home.faq.a5.desktop": "\u684c\u9762\u7aef", - "home.faq.a5.and": "\u8207", - "home.faq.a5.web": "\u7db2\u9801", - "home.faq.q6": "OpenCode \u50f9\u683c\u5982\u4f55\uff1f", - "home.faq.a6": - "OpenCode 100% \u514d\u8cbb\u3002\u4e5f\u81ea\u5e36\u4e00\u7d44\u514d\u8cbb\u6a21\u578b\u3002\u5982\u679c\u4f60\u9023\u63a5\u5176\u4ed6\u63d0\u4f9b\u5546\uff0c\u53ef\u80fd\u6703\u6709\u984d\u5916\u8cbb\u7528\u3002", - "home.faq.q7": "\u8cc7\u6599\u8207\u96b1\u79c1\u600e\u9ebc\u8fa6\uff1f", - "home.faq.a7.p1": - "\u50c5\u7576\u4f60\u4f7f\u7528\u6211\u5011\u7684\u514d\u8cbb\u6a21\u578b\u6216\u5efa\u7acb\u53ef\u5206\u4eab\u9023\u7d50\u6642\uff0c\u624d\u6703\u5132\u5b58\u4f60\u7684\u8cc7\u6599\u8207\u8cc7\u8a0a\u3002", - "home.faq.a7.p2.beforeModels": "\u4e86\u89e3\u66f4\u591a\u95dc\u65bc", - "home.faq.a7.p2.modelsLink": "\u6211\u5011\u7684\u6a21\u578b", - "home.faq.a7.p2.and": "\u8207", - "home.faq.a7.p2.shareLink": "\u5206\u4eab\u9801\u9762", - "home.faq.q8": "OpenCode \u662f\u958b\u6e90\u7684\u55ce\uff1f", - "home.faq.a8.p1": "\u662f\u7684\uff0cOpenCode \u5b8c\u5168\u958b\u6e90\u3002\u539f\u59cb\u78bc\u516c\u958b\u5728", - "home.faq.a8.p2": "\u4e26\u4ee5", - "home.faq.a8.mitLicense": "MIT \u6388\u6b0a\u689d\u6b3e", - "home.faq.a8.p3": - "\u767c\u5e03\uff0c\u610f\u5473\u8457\u4efb\u4f55\u4eba\u90fd\u53ef\u4ee5\u4f7f\u7528\u3001\u4fee\u6539\u6216\u8ca2\u737b\u3002\u793e\u7fa4\u7684\u4efb\u4f55\u4eba\u90fd\u53ef\u4ee5\u63d0\u4ea4 issues\u3001pull requests \u4e26\u64f4\u5c55\u529f\u80fd\u3002", - - "home.zenCta.title": "\u70ba\u7de8\u78bc\u4ee3\u7406\u63d0\u4f9b\u53ef\u9760\u3001\u512a\u5316\u7684\u6a21\u578b", - "home.zenCta.body": - "Zen \u63d0\u4f9b\u4e00\u7d44\u7cbe\u9078\u7684 AI \u6a21\u578b\uff0c\u9019\u4e9b\u6a21\u578b\u662f OpenCode \u70ba\u4e86\u7de8\u78bc\u4ee3\u7406\u5c08\u9580\u6e2c\u8a66\u8207\u8a55\u6e2c\u904e\u7684\u3002\u7121\u9700\u64d4\u5fc3\u4e0d\u540c\u63d0\u4f9b\u5546\u4e4b\u9593\u6027\u80fd\u8207\u54c1\u8cea\u53c3\u5dee\uff0c\u4f7f\u7528\u7d93\u904e\u9a57\u8b49\u7684\u6a21\u578b\u5373\u53ef\u3002", - "home.zenCta.link": "\u4e86\u89e3 Zen", - - "enterprise.title": "OpenCode | \u9762\u5411\u7d44\u7e54\u7684\u4f01\u696d\u89e3\u6c7a\u65b9\u6848", - - "zen.title": - "OpenCode Zen | \u70ba\u7de8\u78bc\u4ee3\u7406\u7cbe\u9078\u7684\u53ef\u9760\u3001\u512a\u5316\u6a21\u578b", - "zen.hero.title": "\u70ba\u7de8\u78bc\u4ee3\u7406\u63d0\u4f9b\u53ef\u9760\u3001\u512a\u5316\u7684\u6a21\u578b", - "zen.hero.body": - "Zen \u63d0\u4f9b\u4e00\u7d44\u7cbe\u9078\u7684 AI \u6a21\u578b\uff0c\u9019\u4e9b\u6a21\u578b\u662f OpenCode \u70ba\u4e86\u7de8\u78bc\u4ee3\u7406\u5c08\u9580\u6e2c\u8a66\u8207\u8a55\u6e2c\u904e\u7684\u3002\u7121\u9700\u64d4\u5fc3\u4e0d\u540c\u63d0\u4f9b\u5546\u4e4b\u9593\u6027\u80fd\u8207\u54c1\u8cea\u53c3\u5dee\uff0c\u4f7f\u7528\u7d93\u904e\u9a57\u8b49\u7684\u6a21\u578b\u5373\u53ef\u3002", - - "zen.faq.q1": "\u4ec0\u9ebc\u662f OpenCode Zen\uff1f", - "zen.faq.a1": - "Zen \u662f\u7531 OpenCode \u5718\u968a\u6253\u9020\u3001\u5c08\u70ba\u7de8\u78bc\u4ee3\u7406\u6e2c\u8a66\u8207\u8a55\u6e2c\u7684 AI \u6a21\u578b\u7cbe\u9078\u96c6\u5408\u3002", - "zen.faq.q2": "\u662f\u4ec0\u9ebc\u8b93 Zen \u66f4\u6e96\u78ba\uff1f", - "zen.faq.a2": - "Zen \u53ea\u63d0\u4f9b\u5c08\u70ba\u7de8\u78bc\u4ee3\u7406\u6e2c\u8a66\u8207\u8a55\u6e2c\u7684\u6a21\u578b\u3002\u4f60\u4e0d\u6703\u7528\u5976\u6cb9\u5200\u5207\u725b\u6392\uff0c\u4e5f\u5225\u7528\u7cdf\u7cd5\u7684\u6a21\u578b\u4f86\u5beb\u7a0b\u5f0f\u3002", - "zen.faq.q3": "Zen \u66f4\u4fbf\u5b9c\u55ce\uff1f", - "zen.faq.a3": - "Zen \u4e0d\u4ee5\u71df\u5229\u70ba\u76ee\u7684\u3002Zen \u6703\u628a\u6a21\u578b\u4f9b\u61c9\u5546\u7684\u6210\u672c\u539f\u6a23\u8f49\u7d66\u4f60\u3002Zen \u4f7f\u7528\u8d8a\u591a\uff0cOpenCode \u5c31\u8d8a\u80fd\u8ac7\u5230\u66f4\u597d\u7684\u50f9\u683c\u4e26\u628a\u512a\u60e0\u8b93\u5229\u7d66\u4f60\u3002", - "zen.faq.q4": "Zen \u8cbb\u7528\u662f\u591a\u5c11\uff1f", - "zen.faq.a4.p1.beforePricing": "Zen", - "zen.faq.a4.p1.pricingLink": "\u6309\u8acb\u6c42\u8a08\u8cbb", - "zen.faq.a4.p1.afterPricing": - "\u4e14\u96f6\u52a0\u50f9\uff0c\u56e0\u6b64\u4f60\u652f\u4ed8\u7684\u5c31\u662f\u6a21\u578b\u4f9b\u61c9\u5546\u7684\u539f\u50f9\u3002", - "zen.faq.a4.p2.beforeAccount": "\u7e3d\u8cbb\u7528\u53d6\u6c7a\u65bc\u4f7f\u7528\u91cf\uff0c\u4f60\u53ef\u4ee5\u5728", - "zen.faq.a4.p2.accountLink": "\u5e33\u6236\u4e2d\u8a2d\u5b9a\u6bcf\u6708\u652f\u51fa\u4e0a\u9650", - "zen.faq.a4.p3": - "\u70ba\u4e86\u8986\u84cb\u6210\u672c\uff0cOpenCode \u53ea\u6703\u6536\u53d6\u5f88\u5c0f\u7684\u652f\u4ed8\u8655\u7406\u8cbb\uff1a\u6bcf\u6b21\u5145\u503c $20 \u6703\u984d\u5916\u6536\u53d6 $1.23\u3002", - "zen.faq.q5": "\u8cc7\u6599\u8207\u96b1\u79c1\u5982\u4f55\uff1f", - "zen.faq.a5.beforeExceptions": - "\u6240\u6709 Zen \u6a21\u578b\u90fd\u8a17\u7ba1\u5728\u7f8e\u570b\u3002\u4f9b\u61c9\u5546\u9075\u5faa\u96f6\u7559\u5b58\u653f\u7b56\uff0c\u4e0d\u6703\u5c07\u4f60\u7684\u8cc7\u6599\u7528\u65bc\u6a21\u578b\u8a13\u7df4\uff0c\u4f46\u6709", - "zen.faq.a5.exceptionsLink": "\u4ee5\u4e0b\u4f8b\u5916", - "zen.faq.q6": "\u6211\u53ef\u4ee5\u8a2d\u5b9a\u652f\u51fa\u4e0a\u9650\u55ce\uff1f", - "zen.faq.a6": - "\u53ef\u4ee5\uff0c\u4f60\u53ef\u4ee5\u5728\u5e33\u6236\u4e2d\u8a2d\u5b9a\u6bcf\u6708\u652f\u51fa\u4e0a\u9650\u3002", - "zen.faq.q7": "\u6211\u53ef\u4ee5\u53d6\u6d88\u55ce\uff1f", - "zen.faq.a7": - "\u53ef\u4ee5\uff0c\u4f60\u53ef\u4ee5\u96a8\u6642\u505c\u7528\u8a08\u8cbb\u4e26\u4f7f\u7528\u5269\u9918\u9918\u984d\u3002", - "zen.faq.q8": "\u6211\u53ef\u4ee5\u5728\u5176\u4ed6\u7de8\u78bc\u4ee3\u7406\u4e2d\u4f7f\u7528 Zen \u55ce\uff1f", - "zen.faq.a8": - "Zen \u8207 OpenCode \u642d\u914d\u5f97\u5f88\u597d\uff0c\u4f46\u4f60\u4e5f\u53ef\u4ee5\u5728\u4efb\u4f55\u4ee3\u7406\u4e2d\u4f7f\u7528 Zen\u3002\u8acb\u5728\u4f60\u504f\u597d\u7684\u7de8\u78bc\u4ee3\u7406\u4e2d\u6309\u7167\u8a2d\u5b9a\u8aaa\u660e\u9032\u884c\u914d\u7f6e\u3002", - - "download.title": "OpenCode | \u4e0b\u8f09", - "zen.cta.start": "開始使用 Zen", - "zen.pricing.title": "添加 20 美元即用即付餘額", - "zen.pricing.fee": "(+ 1.23 美元卡處理費)", - "zen.pricing.body": "與任何代理一起使用。設置每月支出限額。隨時取消。", - "zen.problem.title": "Zen 正在解決什麼問題?", - "zen.problem.body": - "可用的模型有很多,但只有少數可以與編碼代理配合良好。大多數提供商以不同的方式配置它們,並產生不同的結果。", - "zen.problem.subtitle": "我們正在為所有人修復此問題,而不僅僅是 OpenCode 用戶。", - "zen.problem.item1": "測試選定的模型並諮詢其團隊", - "zen.problem.item2": "與提供商合作以確保正確交付", - "zen.problem.item3": "對我們推薦的所有模型-提供商組合進行基準測試", - "zen.how.title": "Zen 如何運作", - "zen.how.body": "雖然我們建議您將 Zen 與 OpenCode 一起使用,但您可以將 Zen 與任何代理一起使用。", - "zen.how.step1.title": "註冊並添加 20 美元餘額", - "zen.how.step1.beforeLink": "遵循", - "zen.how.step1.link": "設置說明", - "zen.how.step2.title": "使用 Zen 並提供透明的定價", - "zen.how.step2.link": "按請求付費", - "zen.how.step2.afterLink": "零加價", - "zen.how.step3.title": "自動充值", - "zen.how.step3.body": "當您的餘額達到 5 美元時,我們會自動添加 20 美元", - "zen.privacy.title": "您的隱私對我們很重要", - "zen.privacy.beforeExceptions": "所有 Zen 模型均在美國託管。提供商遵循零保留政策,不會將您的數據用於模型訓練,並且", - "zen.privacy.exceptionsLink": "以下例外情況", - "download.meta.description": "\u4e0b\u8f09\u9069\u7528\u65bc macOS\u3001Windows \u8207 Linux \u7684 OpenCode", - "download.hero.title": "\u4e0b\u8f09 OpenCode", - "download.hero.subtitle": - "\u9069\u7528\u65bc macOS\u3001Windows \u8207 Linux \u7684 Beta \u7248\u73fe\u5df2\u63d0\u4f9b", - "download.hero.button": "\u4e0b\u8f09 {{os}} \u7248\u672c", - "download.section.terminal": "OpenCode \u7d42\u7aef", - "download.section.desktop": "OpenCode \u684c\u9762\u7248\uff08Beta\uff09", - "download.section.extensions": "OpenCode \u64f4\u5145\u529f\u80fd", - "download.section.integrations": "OpenCode \u6574\u5408", - "download.action.download": "\u4e0b\u8f09", - "download.action.install": "\u5b89\u88dd", - "download.platform.macosAppleSilicon": "macOS (Apple Silicon)", - "download.platform.macosIntel": "macOS (Intel)", - "download.platform.windowsX64": "Windows (x64)", - "download.platform.linuxDeb": "Linux (.deb)", - "download.platform.linuxRpm": "Linux (.rpm)", - "download.faq.a3.beforeLocal": - "\u4e0d\u4e00\u5b9a\uff0c\u4f46\u5927\u6a5f\u7387\u9700\u8981\u3002\u5982\u679c\u4f60\u60f3\u5c07 OpenCode \u9023\u63a5\u5230\u4ed8\u8cbb\u4f9b\u61c9\u5546\uff0c\u4f60\u9700\u8981 AI \u8a02\u95b1\uff0c\u4e0d\u904e\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528", - "download.faq.a3.localLink": "\u672c\u5730\u6a21\u578b", - "download.faq.a3.afterLocal.beforeZen": "\u514d\u8cbb\u3002\u6211\u5011\u4e5f\u63a8\u85a6\u4f7f\u7528", - "download.faq.a3.afterZen": - "\uff0c\u4f46 OpenCode \u540c\u6a23\u652f\u63f4 OpenAI\u3001Anthropic\u3001xAI \u7b49\u6240\u6709\u4e3b\u6d41\u4f9b\u61c9\u5546\u3002", - "download.faq.a5.p1": "OpenCode 100% \u514d\u8cbb\u4f7f\u7528\u3002", - "download.faq.a5.p2.beforeZen": - "\u984d\u5916\u8cbb\u7528\u4f86\u81ea\u4f60\u5c0d\u6a21\u578b\u4f9b\u61c9\u5546\u7684\u8a02\u95b1\u3002\u96d6\u7136 OpenCode \u652f\u63f4\u4efb\u4f55\u6a21\u578b\u4f9b\u61c9\u5546\uff0c\u4f46\u6211\u5011\u5efa\u8b70\u4f7f\u7528", - "download.faq.a5.p2.afterZen": "\u3002", - "download.faq.a6.p1": - "\u4f60\u7684\u8cc7\u6599\u8207\u8cc7\u8a0a\u53ea\u6703\u5728\u4f60\u5728 OpenCode \u4e2d\u5efa\u7acb\u53ef\u5206\u4eab\u9023\u7d50\u6642\u88ab\u5132\u5b58\u3002", - "download.faq.a6.p2.beforeShare": "\u4e86\u89e3\u66f4\u591a\u95dc\u65bc", - "download.faq.a6.shareLink": "\u5206\u4eab\u9801\u9762", - "enterprise.meta.description": "\u806f\u7d61 OpenCode \u53d6\u5f97\u4f01\u696d\u89e3\u6c7a\u65b9\u6848", - "enterprise.hero.title": "\u4f60\u7684\u7a0b\u5f0f\u78bc\u5c6c\u65bc\u4f60", - "enterprise.hero.body1": - "OpenCode \u5728\u4f60\u7684\u7d44\u7e54\u5167\u90e8\u5b89\u5168\u904b\u4f5c\uff0c\u4e0d\u6703\u5132\u5b58\u4efb\u4f55\u8cc7\u6599\u6216\u4e0a\u4e0b\u6587\uff0c\u4e5f\u6c92\u6709\u6388\u6b0a\u9650\u5236\u6216\u6240\u6709\u6b0a\u4e3b\u5f35\u3002\u4f60\u53ef\u4ee5\u5148\u8207\u5718\u968a\u9032\u884c\u8a66\u7528\uff0c\u7136\u5f8c\u900f\u904e\u8207\u4f60\u7684 SSO \u8207\u5167\u90e8 AI \u7db2\u95dc\u6574\u5408\uff0c\u5c07\u5176\u90e8\u7f72\u5230\u6574\u500b\u7d44\u7e54\u3002", - "enterprise.hero.body2": "\u544a\u8a34\u6211\u5011\u6211\u5011\u80fd\u5982\u4f55\u5e6b\u52a9\u4f60\u3002", - "enterprise.form.name.label": "\u5168\u540d", - "enterprise.form.name.placeholder": "\u5091\u592b\u00b7\u8c9d\u4f50\u65af", - "enterprise.form.role.label": "\u8077\u7a31", - "enterprise.form.role.placeholder": "\u57f7\u884c\u8463\u4e8b\u9577", - "enterprise.form.email.label": "\u516c\u53f8\u96fb\u5b50\u90f5\u4ef6", - "enterprise.form.email.placeholder": "jeff@amazon.com", - "enterprise.form.message.label": "\u4f60\u60f3\u89e3\u6c7a\u4ec0\u9ebc\u554f\u984c\uff1f", - "enterprise.form.message.placeholder": "\u6211\u5011\u9700\u8981\u5e6b\u52a9\u4f86...", - "enterprise.form.send": "\u50b3\u9001", - "enterprise.form.sending": "\u50b3\u9001\u4e2d...", - "enterprise.form.success": - "\u8a0a\u606f\u5df2\u50b3\u9001\uff0c\u6211\u5011\u6703\u76e1\u5feb\u8207\u4f60\u806f\u7d61\u3002", - "enterprise.faq.title": "\u5e38\u898b\u554f\u7b54", - "enterprise.faq.q1": "\u4ec0\u9ebc\u662f OpenCode Enterprise\uff1f", - "enterprise.faq.a1": - "OpenCode Enterprise \u9069\u7528\u65bc\u5e0c\u671b\u78ba\u4fdd\u7a0b\u5f0f\u78bc\u8207\u8cc7\u6599\u7d55\u4e0d\u96e2\u958b\u81ea\u5df1\u57fa\u790e\u8a2d\u65bd\u7684\u7d44\u7e54\u3002\u900f\u904e\u4e2d\u592e\u5316\u8a2d\u5b9a\uff0c\u5b83\u53ef\u8207\u4f60\u7684 SSO \u8207\u5167\u90e8 LLM/AI \u7db2\u95dc\u6574\u5408\uff0c\u4ee5\u9054\u6210\u6b64\u76ee\u6a19\u3002", - "enterprise.faq.q2": "\u5982\u4f55\u958b\u59cb\u4f7f\u7528 OpenCode Enterprise\uff1f", - "enterprise.faq.a2": - "\u53ea\u8981\u5148\u4ee5\u5718\u968a\u7684\u5167\u90e8\u8a66\u7528\u958b\u59cb\u3002OpenCode \u9810\u8a2d\u4e0d\u6703\u5132\u5b58\u4f60\u7684\u7a0b\u5f0f\u78bc\u6216\u4e0a\u4e0b\u6587\u8cc7\u6599\uff0c\u6240\u4ee5\u4e0a\u624b\u975e\u5e38\u5bb9\u6613\u3002\u4e4b\u5f8c\u806f\u7d61\u6211\u5011\uff0c\u8a0e\u8ad6\u5b9a\u50f9\u8207\u5b8c\u6574\u5be6\u4f5c\u65b9\u6848\u3002", - "enterprise.faq.q3": "\u4f01\u696d\u5b9a\u50f9\u662f\u5982\u4f55\u9032\u884c\u7684\uff1f", - "enterprise.faq.a3": - "\u6211\u5011\u63d0\u4f9b\u6309\u5e2d\u4f4d\u7684\u4f01\u696d\u5b9a\u50f9\u3002\u5982\u679c\u4f60\u6709\u81ea\u5df1\u7684 LLM \u7db2\u95dc\uff0c\u6211\u5011\u4e0d\u6703\u5c0d\u4f7f\u7528\u7684 token \u53e6\u5916\u6536\u8cbb\u3002\u66f4\u591a\u8a73\u60c5\uff0c\u8acb\u806f\u7d61\u6211\u5011\u4ee5\u7372\u5f97\u4f9d\u64da\u7d44\u7e54\u9700\u6c42\u7684\u5ba2\u88fd\u5831\u50f9\u3002", - "enterprise.faq.q4": "\u6211\u7684\u8cc7\u6599\u5728 OpenCode Enterprise \u4e2d\u662f\u5b89\u5168\u7684\u55ce\uff1f", - "enterprise.faq.a4": - "\u662f\u7684\u3002OpenCode \u4e0d\u6703\u5132\u5b58\u4f60\u7684\u7a0b\u5f0f\u78bc\u6216\u4e0a\u4e0b\u6587\u8cc7\u6599\u3002\u6240\u6709\u8655\u7406\u90fd\u6703\u5728\u672c\u5730\u6216\u900f\u904e\u76f4\u63a5\u547c\u53eb\u4f60\u7684 AI \u4f9b\u61c9\u5546 API \u5b8c\u6210\u3002\u900f\u904e\u4e2d\u592e\u5316\u8a2d\u5b9a\u8207 SSO \u6574\u5408\uff0c\u4f60\u7684\u8cc7\u6599\u6703\u5b89\u5168\u4fdd\u7559\u5728\u7d44\u7e54\u7684\u57fa\u790e\u8a2d\u65bd\u5167\u90e8\u3002", - - "brand.title": "OpenCode | \u54c1\u724c", - "brand.meta.description": "OpenCode \u54c1\u724c\u6307\u5357", - "brand.heading": "\u54c1\u724c\u6307\u5357", - "brand.subtitle": "\u5354\u52a9\u4f60\u4f7f\u7528 OpenCode \u54c1\u724c\u7684\u8cc7\u6e90\u8207\u7d20\u6750\u3002", - "brand.downloadAll": "\u4e0b\u8f09\u6240\u6709\u7d20\u6750", - "changelog.title": "OpenCode | \u66f4\u65b0\u65e5\u8a8c", - "changelog.meta.description": "OpenCode \u767c\u4f48\u8aaa\u660e\u8207\u66f4\u65b0\u65e5\u8a8c", - "changelog.hero.title": "\u66f4\u65b0\u65e5\u8a8c", - "changelog.hero.subtitle": "OpenCode \u7684\u65b0\u66f4\u65b0\u8207\u6539\u5584", - "changelog.empty": "\u627e\u4e0d\u5230\u66f4\u65b0\u65e5\u8a8c\u9805\u76ee\u3002", - "changelog.viewJson": "\u6aa2\u8996 JSON", - "workspace.nav.zen": "Zen", - "workspace.nav.apiKeys": "API 鍵", - "workspace.nav.members": "成員", - "workspace.nav.billing": "計費", - "workspace.nav.settings": "設定", - "workspace.home.banner.beforeLink": "編碼代理的可靠優化模型。", - "workspace.home.billing.loading": "載入中...", - "workspace.home.billing.enable": "啟用計費", - "workspace.home.billing.currentBalance": "當前餘額", - "workspace.newUser.feature.tested.title": "經過測試和驗證的模型", - "workspace.newUser.feature.tested.body": "我們專門針對編碼代理對模型進行了基準測試和測試,以確保最佳性能。", - "workspace.newUser.feature.quality.title": "最高品質", - "workspace.newUser.feature.quality.body": "訪問模型配置為最佳性能 - 無需降級或路由到更便宜的提供商。", - "workspace.newUser.feature.lockin.title": "無鎖定", - "workspace.newUser.feature.lockin.body": - "將 Zen 與任何編碼代理結合使用,並在需要時繼續將其他提供程序與 opencode 結合使用。", - "workspace.newUser.copyApiKey": "複製 API 密鑰", - "workspace.newUser.copyKey": "複製密鑰", - "workspace.newUser.copied": "已複製!", - "workspace.newUser.step.enableBilling": "啟用計費", - "workspace.newUser.step.login.before": "執行", - "workspace.newUser.step.login.after": "並選擇 opencode", - "workspace.newUser.step.pasteKey": "粘貼您的 API 密鑰", - "workspace.newUser.step.models.before": "啟動 opencode 並運行", - "workspace.newUser.step.models.after": "選擇模型", - "workspace.models.title": "模型", - "workspace.models.subtitle.beforeLink": "管理工作區成員可以訪問哪些模型。", - "workspace.models.table.model": "模型", - "workspace.models.table.enabled": "啟用", - "workspace.providers.title": "自帶密鑰", - "workspace.providers.subtitle": "從 AI 提供商處配置您自己的 API 密鑰。", - "workspace.providers.placeholder": "輸入 {{provider}} API 密鑰({{prefix}}...)", - "workspace.providers.configure": "配置", - "workspace.providers.edit": "編輯", - "workspace.providers.delete": "刪除", - "workspace.providers.saving": "保存...", - "workspace.providers.save": "儲存", - "workspace.providers.table.provider": "提供者", - "workspace.providers.table.apiKey": "API 密鑰", - "workspace.usage.title": "使用歷史", - "workspace.usage.subtitle": "最近的 API 使用情況和成本。", - "workspace.usage.empty": "進行第一個 API 調用即可開始。", - "workspace.usage.table.date": "日期", - "workspace.usage.table.model": "模型", - "workspace.usage.table.input": "輸入", - "workspace.usage.table.output": "輸出", - "workspace.usage.table.cost": "成本", - "workspace.usage.breakdown.input": "輸入", - "workspace.usage.breakdown.cacheRead": "緩存讀取", - "workspace.usage.breakdown.cacheWrite": "緩存寫入", - "workspace.usage.breakdown.output": "輸出", - "workspace.usage.breakdown.reasoning": "推理", - "workspace.usage.subscription": "訂閱 (${{amount}})", - "workspace.cost.title": "成本", - "workspace.cost.subtitle": "按型號細分的使用成本。", - "workspace.cost.allModels": "所有模型", - "workspace.cost.allKeys": "所有密鑰", - "workspace.cost.deletedSuffix": "(已刪除)", - "workspace.cost.empty": "所選期間沒有可用的使用數據。", - "workspace.cost.subscriptionShort": "訂", - "workspace.keys.title": "API 鍵", - "workspace.keys.subtitle": "管理您的 API 密鑰以訪問 opencode 服務。", - "workspace.keys.create": "創建 API 密鑰", - "workspace.keys.placeholder": "輸入密鑰名稱", - "workspace.keys.empty": "創建 opencode 網關 API 密鑰", - "workspace.keys.table.name": "名稱", - "workspace.keys.table.key": "密鑰", - "workspace.keys.table.createdBy": "創建者", - "workspace.keys.table.lastUsed": "最後使用", - "workspace.keys.copyApiKey": "複製 API 密鑰", - "workspace.keys.delete": "刪除", - "workspace.members.title": "成員", - "workspace.members.subtitle": "管理工作區成員及其權限。", - "workspace.members.invite": "邀請成員", - "workspace.members.inviting": "邀請...", - "workspace.members.beta.beforeLink": "測試期間,工作空間對團隊免費。", - "workspace.members.form.invitee": "受邀者", - "workspace.members.form.emailPlaceholder": "輸入電子郵件", - "workspace.members.form.role": "角色", - "workspace.members.form.monthlyLimit": "每月消費限額", - "workspace.members.noLimit": "無限制", - "workspace.members.noLimitLowercase": "沒有限制", - "workspace.members.invited": "邀請", - "workspace.members.edit": "編輯", - "workspace.members.delete": "刪除", - "workspace.members.saving": "保存...", - "workspace.members.save": "儲存", - "workspace.members.table.email": "電子郵件", - "workspace.members.table.role": "角色", - "workspace.members.table.monthLimit": "月限額", - "workspace.members.role.admin": "管理員", - "workspace.members.role.adminDescription": "可以管理模型、成員和計費", - "workspace.members.role.member": "成員", - "workspace.members.role.memberDescription": "只能為自己生成 API 密鑰", - "workspace.settings.title": "設定", - "workspace.settings.subtitle": "更新您的工作區名稱和首選項。", - "workspace.settings.workspaceName": "工作區名稱", - "workspace.settings.defaultName": "預設", - "workspace.settings.updating": "更新中...", - "workspace.settings.save": "儲存", - "workspace.settings.edit": "編輯", - "workspace.billing.title": "計費", - "workspace.billing.subtitle.beforeLink": "管理付款方式。", - "workspace.billing.contactUs": "聯繫我們", - "workspace.billing.subtitle.afterLink": "如有任何問題。", - "workspace.billing.currentBalance": "當前餘額", - "workspace.billing.add": "添加$", - "workspace.billing.enterAmount": "輸入金額", - "workspace.billing.loading": "載入中...", - "workspace.billing.addAction": "添加", - "workspace.billing.addBalance": "添加餘額", - "workspace.billing.linkedToStripe": "已連結 Stripe", - "workspace.billing.manage": "管理", - "workspace.billing.enable": "啟用計費", - "workspace.monthlyLimit.title": "每月限額", - "workspace.monthlyLimit.subtitle": "為您的帳戶設置每月使用限額。", - "workspace.monthlyLimit.placeholder": "50", - "workspace.monthlyLimit.setting": "設定中...", - "workspace.monthlyLimit.set": "設定", - "workspace.monthlyLimit.edit": "編輯限制", - "workspace.monthlyLimit.noLimit": "沒有設置使用限制。", - "workspace.monthlyLimit.currentUsage.beforeMonth": "當前", - "workspace.monthlyLimit.currentUsage.beforeAmount": "的使用量為 $", - "workspace.reload.title": "自動儲值", - "workspace.reload.disabled.before": "自動儲值已", - "workspace.reload.disabled.state": "停用", - "workspace.reload.disabled.after": "啟用後會在餘額偏低時自動儲值。", - "workspace.reload.enabled.before": "自動儲值已", - "workspace.reload.enabled.state": "已啟用", - "workspace.reload.enabled.middle": "我們將自動儲值", - "workspace.reload.processingFee": "手續費", - "workspace.reload.enabled.after": "當餘額達到", - "workspace.reload.edit": "編輯", - "workspace.reload.enable": "啟用", - "workspace.reload.enableAutoReload": "啟用自動儲值", - "workspace.reload.reloadAmount": "儲值 $", - "workspace.reload.whenBalanceReaches": "當餘額達到 $", - "workspace.reload.saving": "保存...", - "workspace.reload.save": "儲存", - "workspace.reload.failedAt": "儲值失敗於", - "workspace.reload.reason": "原因:", - "workspace.reload.updatePaymentMethod": "請更新您的付款方式並重試。", - "workspace.reload.retrying": "正在重試...", - "workspace.reload.retry": "重試", - "workspace.payments.title": "付款記錄", - "workspace.payments.subtitle": "最近的付款交易。", - "workspace.payments.table.date": "日期", - "workspace.payments.table.paymentId": "付款ID", - "workspace.payments.table.amount": "金額", - "workspace.payments.table.receipt": "收據", - "workspace.payments.type.credit": "信用", - "workspace.payments.type.subscription": "訂閱", - "workspace.payments.view": "查看", - "workspace.black.loading": "載入中...", - "workspace.black.time.day": "天", - "workspace.black.time.days": "天", - "workspace.black.time.hour": "小時", - "workspace.black.time.hours": "小時", - "workspace.black.time.minute": "分鐘", - "workspace.black.time.minutes": "分鐘", - "workspace.black.time.fewSeconds": "幾秒鐘", - "workspace.black.subscription.title": "訂閱", - "workspace.black.subscription.message": "您已訂閱 OpenCode Black,費用為每月 ${{plan}}。", - "workspace.black.subscription.manage": "管理訂閱", - "workspace.black.subscription.rollingUsage": "5小時使用", - "workspace.black.subscription.weeklyUsage": "每週使用量", - "workspace.black.subscription.resetsIn": "重置於", - "workspace.black.subscription.useBalance": "達到使用限額後使用您的可用餘額", - "workspace.black.waitlist.title": "候補名單", - "workspace.black.waitlist.joined": "您已加入每月 ${{plan}} 的 OpenCode Black 方案候補名單。", - "workspace.black.waitlist.ready": "我們已準備好將您加入每月 ${{plan}} 的 OpenCode Black 方案。", - "workspace.black.waitlist.leave": "離開候補名單", - "workspace.black.waitlist.leaving": "離開...", - "workspace.black.waitlist.left": "已退出", - "workspace.black.waitlist.enroll": "加入", - "workspace.black.waitlist.enrolling": "加入中...", - "workspace.black.waitlist.enrolled": "已加入", - "workspace.black.waitlist.enrollNote": "單擊“註冊”後,您的訂閱將立即開始,並且將從您的卡中扣費。", -} satisfies Dict diff --git a/packages/console/app/src/lib/changelog.ts b/packages/console/app/src/lib/changelog.ts deleted file mode 100644 index 93a0d423c..000000000 --- a/packages/console/app/src/lib/changelog.ts +++ /dev/null @@ -1,146 +0,0 @@ -import { query } from "@solidjs/router" - -type Release = { - tag_name: string - name: string - body: string - published_at: string - html_url: string -} - -export type HighlightMedia = - | { type: "video"; src: string } - | { type: "image"; src: string; width: string; height: string } - -export type HighlightItem = { - title: string - description: string - shortDescription?: string - media: HighlightMedia -} - -export type HighlightGroup = { - source: string - items: HighlightItem[] -} - -export type ChangelogRelease = { - tag: string - name: string - date: string - url: string - highlights: HighlightGroup[] - sections: { title: string; items: string[] }[] -} - -export type ChangelogData = { - ok: boolean - releases: ChangelogRelease[] -} - -export async function loadChangelog(): Promise { - const response = await fetch("https://api.github.com/repos/anomalyco/opencode/releases?per_page=20", { - headers: { - Accept: "application/vnd.github.v3+json", - "User-Agent": "OpenCode-Console", - }, - cf: { - // best-effort edge caching (ignored outside Cloudflare) - cacheTtl: 60 * 5, - cacheEverything: true, - }, - } as RequestInit).catch(() => undefined) - - if (!response?.ok) return { ok: false, releases: [] } - - const data = await response.json().catch(() => undefined) - if (!Array.isArray(data)) return { ok: false, releases: [] } - - const releases = (data as Release[]).map((release) => { - const parsed = parseMarkdown(release.body || "") - return { - tag: release.tag_name, - name: release.name, - date: release.published_at, - url: release.html_url, - highlights: parsed.highlights, - sections: parsed.sections, - } - }) - - return { ok: true, releases } -} - -export const changelog = query(async () => { - "use server" - const result = await loadChangelog() - return result.releases -}, "changelog") - -function parseHighlights(body: string): HighlightGroup[] { - const groups = new Map() - const regex = /([\s\S]*?)<\/highlight>/g - let match - - while ((match = regex.exec(body)) !== null) { - const source = match[1] - const content = match[2] - - const titleMatch = content.match(/

([^<]+)<\/h2>/) - const pMatch = content.match(/([^<]+)<\/p>/) - const imgMatch = content.match(/ { - if (videoMatch) return { type: "video", src: videoMatch[1] } satisfies HighlightMedia - if (imgMatch) { - return { - type: "image", - src: imgMatch[3], - width: imgMatch[1], - height: imgMatch[2], - } satisfies HighlightMedia - } - })() - - if (!titleMatch || !media) continue - - const item: HighlightItem = { - title: titleMatch[1], - description: pMatch?.[2] || "", - shortDescription: pMatch?.[1], - media, - } - - if (!groups.has(source)) groups.set(source, []) - groups.get(source)!.push(item) - } - - return Array.from(groups.entries()).map(([source, items]) => ({ source, items })) -} - -function parseMarkdown(body: string) { - const lines = body.split("\n") - const sections: { title: string; items: string[] }[] = [] - let current: { title: string; items: string[] } | null = null - let skip = false - - for (const line of lines) { - if (line.startsWith("## ")) { - if (current) sections.push(current) - current = { title: line.slice(3).trim(), items: [] } - skip = false - continue - } - - if (line.startsWith("**Thank you")) { - skip = true - continue - } - - if (line.startsWith("- ") && !skip) current?.items.push(line.slice(2).trim()) - } - - if (current) sections.push(current) - return { sections, highlights: parseHighlights(body) } -} diff --git a/packages/console/app/src/lib/form-error.ts b/packages/console/app/src/lib/form-error.ts deleted file mode 100644 index 1f6e2ea1e..000000000 --- a/packages/console/app/src/lib/form-error.ts +++ /dev/null @@ -1,83 +0,0 @@ -import type { Key } from "~/i18n" - -export const formError = { - invalidPlan: "error.invalidPlan", - workspaceRequired: "error.workspaceRequired", - alreadySubscribed: "error.alreadySubscribed", - limitRequired: "error.limitRequired", - monthlyLimitInvalid: "error.monthlyLimitInvalid", - workspaceNameRequired: "error.workspaceNameRequired", - nameTooLong: "error.nameTooLong", - emailRequired: "error.emailRequired", - roleRequired: "error.roleRequired", - idRequired: "error.idRequired", - nameRequired: "error.nameRequired", - providerRequired: "error.providerRequired", - apiKeyRequired: "error.apiKeyRequired", - modelRequired: "error.modelRequired", -} as const - -const map = { - [formError.invalidPlan]: "error.invalidPlan", - [formError.workspaceRequired]: "error.workspaceRequired", - [formError.alreadySubscribed]: "error.alreadySubscribed", - [formError.limitRequired]: "error.limitRequired", - [formError.monthlyLimitInvalid]: "error.monthlyLimitInvalid", - [formError.workspaceNameRequired]: "error.workspaceNameRequired", - [formError.nameTooLong]: "error.nameTooLong", - [formError.emailRequired]: "error.emailRequired", - [formError.roleRequired]: "error.roleRequired", - [formError.idRequired]: "error.idRequired", - [formError.nameRequired]: "error.nameRequired", - [formError.providerRequired]: "error.providerRequired", - [formError.apiKeyRequired]: "error.apiKeyRequired", - [formError.modelRequired]: "error.modelRequired", - "Invalid plan": "error.invalidPlan", - "Workspace ID is required": "error.workspaceRequired", - "Workspace ID is required.": "error.workspaceRequired", - "This workspace already has a subscription": "error.alreadySubscribed", - "Limit is required.": "error.limitRequired", - "Set a valid monthly limit": "error.monthlyLimitInvalid", - "Set a valid monthly limit.": "error.monthlyLimitInvalid", - "Workspace name is required.": "error.workspaceNameRequired", - "Name must be 255 characters or less.": "error.nameTooLong", - "Email is required": "error.emailRequired", - "Role is required": "error.roleRequired", - "ID is required": "error.idRequired", - "Name is required": "error.nameRequired", - "Provider is required": "error.providerRequired", - "API key is required": "error.apiKeyRequired", - "Model is required": "error.modelRequired", -} as const satisfies Record - -export function formErrorReloadAmountMin(amount: number) { - return `error.reloadAmountMin:${amount}` -} - -export function formErrorReloadTriggerMin(amount: number) { - return `error.reloadTriggerMin:${amount}` -} - -export function localizeError(t: (key: Key, params?: Record) => string, error?: string) { - if (!error) return "" - - if (error.startsWith("error.reloadAmountMin:")) { - const amount = Number(error.split(":")[1] ?? 0) - return t("error.reloadAmountMin", { amount }) - } - - if (error.startsWith("error.reloadTriggerMin:")) { - const amount = Number(error.split(":")[1] ?? 0) - return t("error.reloadTriggerMin", { amount }) - } - - const amount = error.match(/^Reload amount must be at least \$(\d+)$/) - if (amount) return t("error.reloadAmountMin", { amount: Number(amount[1]) }) - - const trigger = error.match(/^Balance trigger must be at least \$(\d+)$/) - if (trigger) return t("error.reloadTriggerMin", { amount: Number(trigger[1]) }) - - const key = map[error as keyof typeof map] - if (key) return t(key) - return error -} diff --git a/packages/console/app/src/lib/github.ts b/packages/console/app/src/lib/github.ts deleted file mode 100644 index ccde5972d..000000000 --- a/packages/console/app/src/lib/github.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { query } from "@solidjs/router" -import { config } from "~/config" - -export const github = query(async () => { - "use server" - const headers = { - "User-Agent": - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", - } - const apiBaseUrl = config.github.repoUrl.replace("https://github.com/", "https://api.github.com/repos/") - try { - const [meta, releases, contributors] = await Promise.all([ - fetch(apiBaseUrl, { headers }).then((res) => res.json()), - fetch(`${apiBaseUrl}/releases`, { headers }).then((res) => res.json()), - fetch(`${apiBaseUrl}/contributors?per_page=1`, { headers }), - ]) - if (!Array.isArray(releases) || releases.length === 0) { - return undefined - } - const [release] = releases - const linkHeader = contributors.headers.get("Link") - const contributorCount = linkHeader - ? Number.parseInt(linkHeader.match(/&page=(\d+)>; rel="last"/)?.at(1) ?? "0") - : 0 - return { - stars: meta.stargazers_count, - release: { - name: release.name, - url: release.html_url, - tag_name: release.tag_name, - }, - contributors: contributorCount, - } - } catch (e) { - console.error(e) - } - return undefined -}, "github") diff --git a/packages/console/app/src/lib/language.ts b/packages/console/app/src/lib/language.ts deleted file mode 100644 index 54321d234..000000000 --- a/packages/console/app/src/lib/language.ts +++ /dev/null @@ -1,287 +0,0 @@ -export const LOCALES = [ - "en", - "zh", - "zht", - "ko", - "de", - "es", - "fr", - "it", - "da", - "ja", - "pl", - "ru", - "ar", - "no", - "br", - "th", - "tr", -] as const - -export type Locale = (typeof LOCALES)[number] - -export const LOCALE_COOKIE = "oc_locale" as const -export const LOCALE_HEADER = "x-opencode-locale" as const - -function fix(pathname: string) { - if (pathname.startsWith("/")) return pathname - return `/${pathname}` -} - -const LABEL = { - en: "English", - zh: "简体中文", - zht: "繁體中文", - ko: "한국어", - de: "Deutsch", - es: "Español", - fr: "Français", - it: "Italiano", - da: "Dansk", - ja: "日本語", - pl: "Polski", - ru: "Русский", - ar: "العربية", - no: "Norsk", - br: "Português (Brasil)", - th: "ไทย", - tr: "Türkçe", -} satisfies Record - -const TAG = { - en: "en", - zh: "zh-Hans", - zht: "zh-Hant", - ko: "ko", - de: "de", - es: "es", - fr: "fr", - it: "it", - da: "da", - ja: "ja", - pl: "pl", - ru: "ru", - ar: "ar", - no: "no", - br: "pt-BR", - th: "th", - tr: "tr", -} satisfies Record - -const DOCS = { - en: "root", - zh: "zh-cn", - zht: "zh-tw", - ko: "ko", - de: "de", - es: "es", - fr: "fr", - it: "it", - da: "da", - ja: "ja", - pl: "pl", - ru: "ru", - ar: "ar", - no: "nb", - br: "pt-br", - th: "th", - tr: "tr", -} satisfies Record - -const DOCS_SEGMENT = new Set([ - "ar", - "bs", - "da", - "de", - "es", - "fr", - "it", - "ja", - "ko", - "nb", - "pl", - "pt-br", - "ru", - "th", - "tr", - "zh-cn", - "zh-tw", -]) - -function suffix(pathname: string) { - const index = pathname.search(/[?#]/) - if (index === -1) { - return { - path: fix(pathname), - suffix: "", - } - } - - return { - path: fix(pathname.slice(0, index)), - suffix: pathname.slice(index), - } -} - -export function docs(locale: Locale, pathname: string) { - const value = DOCS[locale] - const next = suffix(pathname) - if (next.path !== "/docs" && next.path !== "/docs/" && !next.path.startsWith("/docs/")) { - return `${next.path}${next.suffix}` - } - - if (value === "root") return `${next.path}${next.suffix}` - - if (next.path === "/docs") return `/docs/${value}${next.suffix}` - if (next.path === "/docs/") return `/docs/${value}/${next.suffix}` - - const head = next.path.slice("/docs/".length).split("/")[0] ?? "" - if (!head) return `/docs/${value}/${next.suffix}` - if (DOCS_SEGMENT.has(head)) return `${next.path}${next.suffix}` - if (head.startsWith("_")) return `${next.path}${next.suffix}` - if (head.includes(".")) return `${next.path}${next.suffix}` - - return `/docs/${value}${next.path.slice("/docs".length)}${next.suffix}` -} - -export function parseLocale(value: unknown): Locale | null { - if (typeof value !== "string") return null - if ((LOCALES as readonly string[]).includes(value)) return value as Locale - return null -} - -export function fromPathname(pathname: string) { - return parseLocale(fix(pathname).split("/")[1]) -} - -export function strip(pathname: string) { - const locale = fromPathname(pathname) - if (!locale) return fix(pathname) - - const next = fix(pathname).slice(locale.length + 1) - if (!next) return "/" - if (next.startsWith("/")) return next - return `/${next}` -} - -export function route(locale: Locale, pathname: string) { - const next = strip(pathname) - if (next.startsWith("/docs")) return docs(locale, next) - if (next.startsWith("/auth")) return next - if (next.startsWith("/workspace")) return next - if (locale === "en") return next - if (next === "/") return `/${locale}` - return `/${locale}${next}` -} - -export function label(locale: Locale) { - return LABEL[locale] -} - -export function tag(locale: Locale) { - return TAG[locale] -} - -export function dir(locale: Locale) { - if (locale === "ar") return "rtl" - return "ltr" -} - -function match(input: string): Locale | null { - const value = input.trim().toLowerCase() - if (!value) return null - - if (value.startsWith("zh")) { - if (value.includes("hant") || value.includes("-tw") || value.includes("-hk") || value.includes("-mo")) return "zht" - return "zh" - } - - if (value.startsWith("ko")) return "ko" - if (value.startsWith("de")) return "de" - if (value.startsWith("es")) return "es" - if (value.startsWith("fr")) return "fr" - if (value.startsWith("it")) return "it" - if (value.startsWith("da")) return "da" - if (value.startsWith("ja")) return "ja" - if (value.startsWith("pl")) return "pl" - if (value.startsWith("ru")) return "ru" - if (value.startsWith("ar")) return "ar" - if (value.startsWith("tr")) return "tr" - if (value.startsWith("th")) return "th" - if (value.startsWith("pt")) return "br" - if (value.startsWith("no") || value.startsWith("nb") || value.startsWith("nn")) return "no" - if (value.startsWith("en")) return "en" - return null -} - -export function detectFromLanguages(languages: readonly string[]) { - for (const language of languages) { - const locale = match(language) - if (locale) return locale - } - return "en" satisfies Locale -} - -export function detectFromAcceptLanguage(header: string | null) { - if (!header) return "en" satisfies Locale - - const items = header - .split(",") - .map((raw) => raw.trim()) - .filter(Boolean) - .map((raw) => { - const parts = raw.split(";").map((x) => x.trim()) - const lang = parts[0] ?? "" - const q = parts - .slice(1) - .find((x) => x.startsWith("q=")) - ?.slice(2) - return { - lang, - q: q ? Number.parseFloat(q) : 1, - } - }) - .sort((a, b) => b.q - a.q) - - for (const item of items) { - if (!item.lang || item.lang === "*") continue - const locale = match(item.lang) - if (locale) return locale - } - - return "en" satisfies Locale -} - -export function localeFromCookieHeader(header: string | null) { - if (!header) return null - - const raw = header - .split(";") - .map((x) => x.trim()) - .find((x) => x.startsWith(`${LOCALE_COOKIE}=`)) - ?.slice(`${LOCALE_COOKIE}=`.length) - - if (!raw) return null - return parseLocale(decodeURIComponent(raw)) -} - -export function localeFromRequest(request: Request) { - const fromHeader = parseLocale(request.headers.get(LOCALE_HEADER)) - if (fromHeader) return fromHeader - - const fromPath = fromPathname(new URL(request.url).pathname) - if (fromPath) return fromPath - - return ( - localeFromCookieHeader(request.headers.get("cookie")) ?? - detectFromAcceptLanguage(request.headers.get("accept-language")) - ) -} - -export function cookie(locale: Locale) { - return `${LOCALE_COOKIE}=${encodeURIComponent(locale)}; Path=/; Max-Age=31536000; SameSite=Lax` -} - -export function clearCookie() { - return `${LOCALE_COOKIE}=; Path=/; Max-Age=0; SameSite=Lax` -} diff --git a/packages/console/app/src/middleware.ts b/packages/console/app/src/middleware.ts deleted file mode 100644 index 750b0d967..000000000 --- a/packages/console/app/src/middleware.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { createMiddleware } from "@solidjs/start/middleware" -import { LOCALE_HEADER, cookie, fromPathname, strip } from "~/lib/language" - -export default createMiddleware({ - onRequest(event) { - const url = new URL(event.request.url) - const locale = fromPathname(url.pathname) - if (!locale) return - - url.pathname = strip(url.pathname) - const request = new Request(url, event.request) - request.headers.set(LOCALE_HEADER, locale) - event.request = request - event.response.headers.append("set-cookie", cookie(locale)) - }, -}) diff --git a/packages/console/app/src/routes/[...404].css b/packages/console/app/src/routes/[...404].css deleted file mode 100644 index 1edbd0a5a..000000000 --- a/packages/console/app/src/routes/[...404].css +++ /dev/null @@ -1,130 +0,0 @@ -[data-page="not-found"] { - --color-text: hsl(224, 10%, 10%); - --color-text-secondary: hsl(224, 7%, 46%); - --color-text-dimmed: hsl(224, 6%, 63%); - --color-text-inverted: hsl(0, 0%, 100%); - - --color-border: hsl(224, 6%, 77%); -} - -[data-page="not-found"] { - @media (prefers-color-scheme: dark) { - --color-text: hsl(0, 0%, 100%); - --color-text-secondary: hsl(224, 6%, 66%); - --color-text-dimmed: hsl(224, 7%, 46%); - --color-text-inverted: hsl(224, 10%, 10%); - - --color-border: hsl(224, 6%, 36%); - } -} - -[data-page="not-found"] { - --padding: 3rem; - --vertical-padding: 1.5rem; - --heading-font-size: 1.375rem; - - @media (max-width: 30rem) { - --padding: 1rem; - --vertical-padding: 0.75rem; - --heading-font-size: 1rem; - } - - font-family: var(--font-mono); - color: var(--color-text); - padding: calc(var(--padding) + 1rem); - min-height: 100vh; - display: flex; - align-items: center; - justify-content: center; - - a { - color: var(--color-text); - text-decoration: underline; - text-underline-offset: var(--space-0-75); - text-decoration-thickness: 1px; - } - - [data-component="content"] { - max-width: 40rem; - width: 100%; - border: 1px solid var(--color-border); - } - - [data-component="top"] { - padding: var(--padding); - display: flex; - flex-direction: column; - align-items: center; - gap: calc(var(--vertical-padding) / 2); - text-align: center; - - [data-slot="logo-link"] { - text-decoration: none; - } - - img { - height: auto; - width: clamp(200px, 85vw, 400px); - } - - [data-slot="logo dark"] { - display: none; - } - - @media (prefers-color-scheme: dark) { - [data-slot="logo light"] { - display: none; - } - [data-slot="logo dark"] { - display: block; - } - } - - [data-slot="title"] { - line-height: 1.25; - font-weight: 500; - text-align: center; - font-size: var(--heading-font-size); - color: var(--color-text); - text-transform: uppercase; - margin: 0; - } - } - - [data-component="actions"] { - border-top: 1px solid var(--color-border); - display: flex; - - [data-slot="action"] { - flex: 1; - text-align: center; - line-height: 1.4; - padding: var(--vertical-padding) 1rem; - text-transform: uppercase; - font-size: 1rem; - - a { - display: block; - width: 100%; - height: 100%; - color: var(--color-text); - text-decoration: underline; - text-underline-offset: var(--space-0-75); - text-decoration-thickness: 1px; - } - } - - [data-slot="action"] + [data-slot="action"] { - border-left: 1px solid var(--color-border); - } - - @media (max-width: 40rem) { - flex-direction: column; - - [data-slot="action"] + [data-slot="action"] { - border-left: none; - border-top: 1px solid var(--color-border); - } - } - } -} diff --git a/packages/console/app/src/routes/[...404].tsx b/packages/console/app/src/routes/[...404].tsx deleted file mode 100644 index 6f8ed5023..000000000 --- a/packages/console/app/src/routes/[...404].tsx +++ /dev/null @@ -1,42 +0,0 @@ -import "./[...404].css" -import { Title } from "@solidjs/meta" -import { HttpStatusCode } from "@solidjs/start" -import logoLight from "../asset/logo-ornate-light.svg" -import logoDark from "../asset/logo-ornate-dark.svg" -import { useI18n } from "~/context/i18n" -import { useLanguage } from "~/context/language" - -export default function NotFound() { - const i18n = useI18n() - const language = useLanguage() - return ( -
- {i18n.t("notFound.title")} - - -
- ) -} diff --git a/packages/console/app/src/routes/api/enterprise.ts b/packages/console/app/src/routes/api/enterprise.ts deleted file mode 100644 index 6776a7b3c..000000000 --- a/packages/console/app/src/routes/api/enterprise.ts +++ /dev/null @@ -1,47 +0,0 @@ -import type { APIEvent } from "@solidjs/start/server" -import { AWS } from "@opencode-ai/console-core/aws.js" - -interface EnterpriseFormData { - name: string - role: string - email: string - message: string -} - -export async function POST(event: APIEvent) { - try { - const body = (await event.request.json()) as EnterpriseFormData - - // Validate required fields - if (!body.name || !body.role || !body.email || !body.message) { - return Response.json({ error: "All fields are required" }, { status: 400 }) - } - - // Validate email format - const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/ - if (!emailRegex.test(body.email)) { - return Response.json({ error: "Invalid email format" }, { status: 400 }) - } - - // Create email content - const emailContent = ` -${body.message}

---
-${body.name}
-${body.role}
-${body.email}`.trim() - - // Send email using AWS SES - await AWS.sendEmail({ - to: "contact@anoma.ly", - subject: `Enterprise Inquiry from ${body.name}`, - body: emailContent, - replyTo: body.email, - }) - - return Response.json({ success: true, message: "Form submitted successfully" }, { status: 200 }) - } catch (error) { - console.error("Error processing enterprise form:", error) - return Response.json({ error: "Internal server error" }, { status: 500 }) - } -} diff --git a/packages/console/app/src/routes/auth/[...callback].ts b/packages/console/app/src/routes/auth/[...callback].ts deleted file mode 100644 index 664f6cc6d..000000000 --- a/packages/console/app/src/routes/auth/[...callback].ts +++ /dev/null @@ -1,44 +0,0 @@ -import { redirect } from "@solidjs/router" -import type { APIEvent } from "@solidjs/start/server" -import { AuthClient } from "~/context/auth" -import { useAuthSession } from "~/context/auth" -import { localeFromRequest, route } from "~/lib/language" - -export async function GET(input: APIEvent) { - const url = new URL(input.request.url) - const locale = localeFromRequest(input.request) - - try { - const code = url.searchParams.get("code") - if (!code) throw new Error("No code found") - const result = await AuthClient.exchange(code, `${url.origin}${url.pathname}`) - if (result.err) throw new Error(result.err.message) - const decoded = AuthClient.decode(result.tokens.access, {} as any) - if (decoded.err) throw new Error(decoded.err.message) - const session = await useAuthSession() - const id = decoded.subject.properties.accountID - await session.update((value) => { - return { - ...value, - account: { - ...value.account, - [id]: { - id, - email: decoded.subject.properties.email, - }, - }, - current: id, - } - }) - const next = url.pathname === "/auth/callback" ? "/auth" : url.pathname.replace("/auth/callback", "") - return redirect(route(locale, next)) - } catch (e: any) { - return new Response( - JSON.stringify({ - error: e.message, - cause: Object.fromEntries(url.searchParams.entries()), - }), - { status: 500 }, - ) - } -} diff --git a/packages/console/app/src/routes/auth/authorize.ts b/packages/console/app/src/routes/auth/authorize.ts deleted file mode 100644 index 0f0651ae3..000000000 --- a/packages/console/app/src/routes/auth/authorize.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { APIEvent } from "@solidjs/start/server" -import { AuthClient } from "~/context/auth" - -export async function GET(input: APIEvent) { - const url = new URL(input.request.url) - const cont = url.searchParams.get("continue") ?? "" - const callbackUrl = new URL(`./callback${cont}`, input.request.url) - const result = await AuthClient.authorize(callbackUrl.toString(), "code") - return Response.redirect(result.url, 302) -} diff --git a/packages/console/app/src/routes/auth/index.ts b/packages/console/app/src/routes/auth/index.ts deleted file mode 100644 index 0fefb9893..000000000 --- a/packages/console/app/src/routes/auth/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { redirect } from "@solidjs/router" -import type { APIEvent } from "@solidjs/start/server" -import { getLastSeenWorkspaceID } from "../workspace/common" -import { localeFromRequest, route } from "~/lib/language" - -export async function GET(input: APIEvent) { - const locale = localeFromRequest(input.request) - try { - const workspaceID = await getLastSeenWorkspaceID() - return redirect(route(locale, `/workspace/${workspaceID}`)) - } catch { - return redirect("/auth/authorize") - } -} diff --git a/packages/console/app/src/routes/auth/logout.ts b/packages/console/app/src/routes/auth/logout.ts deleted file mode 100644 index 9aaac37e2..000000000 --- a/packages/console/app/src/routes/auth/logout.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { redirect } from "@solidjs/router" -import { APIEvent } from "@solidjs/start" -import { useAuthSession } from "~/context/auth" - -export async function GET(event: APIEvent) { - const auth = await useAuthSession() - const current = auth.data.current - if (current) - await auth.update((val) => { - delete val.account?.[current] - const first = Object.keys(val.account ?? {})[0] - val.current = first - event!.locals.actor = undefined - return val - }) - return redirect("/zen") -} diff --git a/packages/console/app/src/routes/auth/status.ts b/packages/console/app/src/routes/auth/status.ts deleted file mode 100644 index 215cae698..000000000 --- a/packages/console/app/src/routes/auth/status.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { APIEvent } from "@solidjs/start" -import { useAuthSession } from "~/context/auth" - -export async function GET(input: APIEvent) { - const session = await useAuthSession() - return Response.json(session.data) -} diff --git a/packages/console/app/src/routes/bench/[id].tsx b/packages/console/app/src/routes/bench/[id].tsx deleted file mode 100644 index dd96bcbbc..000000000 --- a/packages/console/app/src/routes/bench/[id].tsx +++ /dev/null @@ -1,375 +0,0 @@ -import { Title } from "@solidjs/meta" -import { createAsync, query, useParams } from "@solidjs/router" -import { createSignal, For, Show } from "solid-js" -import { Database, desc, eq } from "@opencode-ai/console-core/drizzle/index.js" -import { BenchmarkTable } from "@opencode-ai/console-core/schema/benchmark.sql.js" -import { useI18n } from "~/context/i18n" - -interface TaskSource { - repo: string - from: string - to: string -} - -interface Judge { - score: number - rationale: string - judge: string -} - -interface ScoreDetail { - criterion: string - weight: number - average: number - variance?: number - judges?: Judge[] -} - -interface RunUsage { - input: number - output: number - cost: number -} - -interface Run { - task: string - model: string - agent: string - score: { - final: number - base: number - penalty: number - } - scoreDetails: ScoreDetail[] - usage?: RunUsage - duration?: number -} - -interface Prompt { - commit: string - prompt: string -} - -interface AverageUsage { - input: number - output: number - cost: number -} - -interface Task { - averageScore: number - averageDuration?: number - averageUsage?: AverageUsage - model?: string - agent?: string - summary?: string - runs?: Run[] - task: { - id: string - source: TaskSource - prompts?: Prompt[] - } -} - -interface BenchmarkResult { - averageScore: number - tasks: Task[] -} - -async function getTaskDetail(benchmarkId: string, taskId: string) { - "use server" - const rows = await Database.use((tx) => - tx.select().from(BenchmarkTable).where(eq(BenchmarkTable.id, benchmarkId)).limit(1), - ) - if (!rows[0]) return null - const parsed = JSON.parse(rows[0].result) as BenchmarkResult - const task = parsed.tasks.find((t) => t.task.id === taskId) - return task ?? null -} - -const queryTaskDetail = query(getTaskDetail, "benchmark.task.detail") - -function formatDuration(ms: number): string { - const seconds = Math.floor(ms / 1000) - const minutes = Math.floor(seconds / 60) - const remainingSeconds = seconds % 60 - if (minutes > 0) { - return `${minutes}m ${remainingSeconds}s` - } - return `${remainingSeconds}s` -} - -export default function BenchDetail() { - const params = useParams() - const i18n = useI18n() - const [benchmarkId, taskId] = (params.id ?? "").split(":") - const task = createAsync(() => queryTaskDetail(benchmarkId, taskId)) - - return ( -
- {i18n.t("bench.detail.title", { task: taskId })} -
- {i18n.t("bench.detail.notFound")}

}> -
-
- {i18n.t("bench.detail.labels.agent")}: - {task()?.agent ?? i18n.t("bench.detail.na")} -
-
- {i18n.t("bench.detail.labels.model")}: - {task()?.model ?? i18n.t("bench.detail.na")} -
-
- {i18n.t("bench.detail.labels.task")}: - {task()!.task.id} -
-
- -
-
- {i18n.t("bench.detail.labels.repo")}: - - {task()!.task.source.repo} - -
-
- {i18n.t("bench.detail.labels.from")}: - - {task()!.task.source.from.slice(0, 7)} - -
-
- {i18n.t("bench.detail.labels.to")}: - - {task()!.task.source.to.slice(0, 7)} - -
-
- - 0}> -
- {i18n.t("bench.detail.labels.prompt")}: - - {(p) => ( -
-
- {i18n.t("bench.detail.labels.commit")}: {p.commit.slice(0, 7)} -
-

{p.prompt}

-
- )} -
-
-
- -
- -
-
- {i18n.t("bench.detail.labels.averageDuration")}: - {task()?.averageDuration ? formatDuration(task()!.averageDuration!) : i18n.t("bench.detail.na")} -
-
- {i18n.t("bench.detail.labels.averageScore")}: - {task()?.averageScore?.toFixed(3) ?? i18n.t("bench.detail.na")} -
-
- {i18n.t("bench.detail.labels.averageCost")}: - {task()?.averageUsage?.cost ? `$${task()!.averageUsage!.cost.toFixed(4)}` : i18n.t("bench.detail.na")} -
-
- - -
- {i18n.t("bench.detail.labels.summary")}: -

{task()!.summary}

-
-
- - 0}> -
- {i18n.t("bench.detail.labels.runs")}: - - - - - - - - - {(detail) => ( - - )} - - - - - - {(run, index) => ( - - - - - - - {(detail) => ( - - )} - - - )} - - -
- {i18n.t("bench.detail.table.run")} - - {i18n.t("bench.detail.table.score")} - - {i18n.t("bench.detail.table.cost")} - - {i18n.t("bench.detail.table.duration")} - - {detail.criterion} ({detail.weight}) -
{index() + 1} - {run.score.final.toFixed(3)} ({run.score.base.toFixed(3)} - {run.score.penalty.toFixed(3)}) - - {run.usage?.cost ? `$${run.usage.cost.toFixed(4)}` : i18n.t("bench.detail.na")} - - {run.duration ? formatDuration(run.duration) : i18n.t("bench.detail.na")} - - - {(judge) => ( - - {judge.score === 1 ? "✓" : judge.score === 0 ? "✗" : judge.score} - - )} - -
- - {(run, index) => ( -
-

{i18n.t("bench.detail.run.title", { n: index() + 1 })}

-
- {i18n.t("bench.detail.labels.score")}: - {run.score.final.toFixed(3)} ({i18n.t("bench.detail.labels.base")}: {run.score.base.toFixed(3)} -{" "} - {i18n.t("bench.detail.labels.penalty")}: {run.score.penalty.toFixed(3)}) -
- - {(detail) => ( -
-
- {detail.criterion} ({i18n.t("bench.detail.labels.weight")}: {detail.weight}){" "} - - {(judge) => ( - - {judge.score === 1 ? "✓" : judge.score === 0 ? "✗" : judge.score} - - )} - -
- 0}> - - {(judge) => { - const [expanded, setExpanded] = createSignal(false) - return ( -
-
setExpanded(!expanded())} - > - {expanded() ? "▼" : "▶"} - - {judge.score === 1 ? "✓" : judge.score === 0 ? "✗" : judge.score} - {" "} - {judge.judge} -
- -

- {judge.rationale} -

-
-
- ) - }} -
-
-
- )} -
-
- )} -
-
-
- - {(() => { - const [jsonExpanded, setJsonExpanded] = createSignal(false) - return ( -
- - -
{JSON.stringify(task(), null, 2)}
-
-
- ) - })()} -
-
-
- ) -} diff --git a/packages/console/app/src/routes/bench/index.tsx b/packages/console/app/src/routes/bench/index.tsx deleted file mode 100644 index 17798eff4..000000000 --- a/packages/console/app/src/routes/bench/index.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import { Title } from "@solidjs/meta" -import { A, createAsync, query } from "@solidjs/router" -import { createMemo, For, Show } from "solid-js" -import { Database, desc } from "@opencode-ai/console-core/drizzle/index.js" -import { BenchmarkTable } from "@opencode-ai/console-core/schema/benchmark.sql.js" -import { useI18n } from "~/context/i18n" - -interface BenchmarkResult { - averageScore: number - tasks: { averageScore: number; task: { id: string } }[] -} - -async function getBenchmarks() { - "use server" - const rows = await Database.use((tx) => - tx.select().from(BenchmarkTable).orderBy(desc(BenchmarkTable.timeCreated)).limit(100), - ) - return rows.map((row) => { - const parsed = JSON.parse(row.result) as BenchmarkResult - const taskScores: Record = {} - for (const t of parsed.tasks) { - taskScores[t.task.id] = t.averageScore - } - return { - id: row.id, - agent: row.agent, - model: row.model, - averageScore: parsed.averageScore, - taskScores, - } - }) -} - -const queryBenchmarks = query(getBenchmarks, "benchmarks.list") - -export default function Bench() { - const i18n = useI18n() - const benchmarks = createAsync(() => queryBenchmarks()) - - const taskIds = createMemo(() => { - const ids = new Set() - for (const row of benchmarks() ?? []) { - for (const id of Object.keys(row.taskScores)) { - ids.add(id) - } - } - return [...ids].sort() - }) - - return ( -
- {i18n.t("bench.list.title")} -

{i18n.t("bench.list.heading")}

- - - - - - - {(id) => } - - - - - {(row) => ( - - - - - - {(id) => ( - - )} - - - )} - - -
{i18n.t("bench.list.table.agent")}{i18n.t("bench.list.table.model")}{i18n.t("bench.list.table.score")}{id}
{row.agent}{row.model}{row.averageScore.toFixed(3)} - - - {row.taskScores[id]?.toFixed(3)} - - -
-
- ) -} diff --git a/packages/console/app/src/routes/bench/submission.ts b/packages/console/app/src/routes/bench/submission.ts deleted file mode 100644 index 94639439b..000000000 --- a/packages/console/app/src/routes/bench/submission.ts +++ /dev/null @@ -1,29 +0,0 @@ -import type { APIEvent } from "@solidjs/start/server" -import { Database } from "@opencode-ai/console-core/drizzle/index.js" -import { BenchmarkTable } from "@opencode-ai/console-core/schema/benchmark.sql.js" -import { Identifier } from "@opencode-ai/console-core/identifier.js" - -interface SubmissionBody { - model: string - agent: string - result: string -} - -export async function POST(event: APIEvent) { - const body = (await event.request.json()) as SubmissionBody - - if (!body.model || !body.agent || !body.result) { - return Response.json({ error: "All fields are required" }, { status: 400 }) - } - - await Database.use((tx) => - tx.insert(BenchmarkTable).values({ - id: Identifier.create("benchmark"), - model: body.model, - agent: body.agent, - result: body.result, - }), - ) - - return Response.json({ success: true }, { status: 200 }) -} diff --git a/packages/console/app/src/routes/black.css b/packages/console/app/src/routes/black.css deleted file mode 100644 index 66bffea59..000000000 --- a/packages/console/app/src/routes/black.css +++ /dev/null @@ -1,828 +0,0 @@ -::view-transition-group(*) { - animation-duration: 250ms; - animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} - -::view-transition-old(root), -::view-transition-new(root) { - animation-duration: 250ms; - animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} - -::view-transition-image-pair(root) { - isolation: isolate; -} - -::view-transition-old(root) { - animation: none; - mix-blend-mode: normal; -} - -::view-transition-new(root) { - animation: none; - mix-blend-mode: normal; -} - -@keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} - -@keyframes fade-out { - from { - opacity: 1; - } - to { - opacity: 0; - } -} - -@keyframes fade-in-up { - from { - opacity: 0; - transform: translateY(8px); - } - to { - opacity: 1; - transform: translateY(0); - } -} - -@keyframes reveal-terms { - from { - mask-position: 0% 200%; - } - to { - mask-position: 0% 50%; - } -} - -@keyframes hide-terms { - from { - mask-position: 0% 50%; - } - to { - mask-position: 0% 200%; - } -} - -::view-transition-old(terms-20), -::view-transition-old(terms-100), -::view-transition-old(terms-200) { - mask-image: linear-gradient(to bottom, transparent, black 25% 75%, transparent); - mask-repeat: no-repeat; - mask-size: 100% 200%; - animation: hide-terms 200ms cubic-bezier(0.25, 0, 0.5, 1) forwards; -} - -::view-transition-new(terms-20), -::view-transition-new(terms-100), -::view-transition-new(terms-200) { - mask-image: linear-gradient(to bottom, transparent, black 25% 75%, transparent); - mask-repeat: no-repeat; - mask-position: 0% 200%; - mask-size: 100% 200%; - animation: reveal-terms 300ms cubic-bezier(0.25, 0, 0.5, 1) 50ms forwards; -} - -::view-transition-old(actions-20), -::view-transition-old(actions-100), -::view-transition-old(actions-200) { - animation: fade-out 80ms cubic-bezier(0.4, 0, 0.2, 1) forwards; -} - -::view-transition-new(actions-20), -::view-transition-new(actions-100), -::view-transition-new(actions-200) { - animation: fade-in-up 300ms cubic-bezier(0.16, 1, 0.3, 1) 300ms forwards; - opacity: 0; -} - -::view-transition-group(card-20), -::view-transition-group(card-100), -::view-transition-group(card-200) { - animation-duration: 250ms; - animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} - -[data-page="black"] { - background: #000; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: stretch; - font-family: var(--font-mono); - color: #fff; - - [data-component="header-logo"] { - filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.25)) drop-shadow(0 4px 16px rgba(0, 0, 0, 0.1)); - position: relative; - z-index: 1; - } - - .header-light-rays { - position: absolute; - inset: 0 0 auto 0; - height: 30dvh; - pointer-events: none; - z-index: 0; - } - - [data-component="header"] { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - padding-top: 40px; - flex-shrink: 0; - } - - [data-component="content"] { - display: flex; - flex-direction: column; - align-items: center; - width: 100%; - flex-grow: 1; - - [data-slot="hero"] { - display: flex; - flex-direction: column; - align-items: center; - text-align: center; - gap: 8px; - margin-top: 40px; - padding: 0 20px; - - @media (min-width: 768px) { - margin-top: 60px; - } - - h1 { - color: rgba(255, 255, 255, 0.92); - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 1.45; - margin: 0; - - @media (min-width: 768px) { - font-size: 20px; - } - - @media (max-width: 480px) { - font-size: 14px; - } - } - - p { - color: rgba(255, 255, 255, 0.59); - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 1.45; - margin: 0; - - @media (min-width: 768px) { - font-size: 20px; - } - - @media (max-width: 480px) { - font-size: 14px; - } - } - } - - [data-slot="hero-black"] { - margin-top: 40px; - padding: 0 20px; - position: relative; - - @media (min-width: 768px) { - margin-top: 60px; - } - - svg { - width: 100%; - max-width: 590px; - height: auto; - overflow: visible; - filter: drop-shadow(0 0 20px rgba(255, 255, 255, calc(0.1 + var(--hero-black-glow-intensity, 0) * 0.15))) - drop-shadow(0 -5px 30px rgba(255, 255, 255, calc(var(--hero-black-glow-intensity, 0) * 0.2))); - mask-image: linear-gradient(to bottom, black, transparent); - stroke-width: 1.5; - - [data-slot="black-base"] { - fill: url(#hero-black-fill-gradient); - stroke: url(#hero-black-stroke-gradient); - } - - [data-slot="black-glow"] { - fill: url(#hero-black-top-glow); - pointer-events: none; - } - - [data-slot="black-shimmer"] { - fill: url(#hero-black-shimmer-gradient); - pointer-events: none; - mix-blend-mode: overlay; - } - } - } - - [data-slot="cta"] { - display: flex; - flex-direction: column; - gap: 16px; - align-items: center; - text-align: center; - margin-top: -40px; - width: 100%; - - @media (min-width: 768px) { - margin-top: -20px; - } - - [data-slot="heading"] { - color: rgba(255, 255, 255, 0.92); - text-align: center; - font-size: 18px; - font-style: normal; - font-weight: 400; - line-height: 160%; - - span { - display: inline-block; - } - } - [data-slot="subheading"] { - color: rgba(255, 255, 255, 0.59); - font-size: 15px; - font-style: normal; - font-weight: 400; - line-height: 160%; - - @media (min-width: 768px) { - font-size: 18px; - line-height: 160%; - } - } - [data-slot="button"] { - display: inline-flex; - height: 40px; - padding: 0 12px; - justify-content: center; - align-items: center; - gap: 8px; - border-radius: 4px; - background: rgba(255, 255, 255, 0.92); - text-decoration: none; - color: #000; - font-family: "JetBrains Mono Nerd Font"; - font-size: 16px; - font-style: normal; - font-weight: 500; - line-height: normal; - - &:hover { - background: #e0e0e0; - } - - &:active { - transform: scale(0.98); - } - } - [data-slot="back-soon"] { - color: rgba(255, 255, 255, 0.59); - text-align: center; - font-size: 13px; - font-style: normal; - font-weight: 400; - line-height: 160%; /* 20.8px */ - } - [data-slot="follow-us"] { - display: inline-flex; - height: 40px; - padding: 0 12px; - justify-content: center; - align-items: center; - gap: 8px; - border-radius: 4px; - border: 1px solid rgba(255, 255, 255, 0.17); - color: rgba(255, 255, 255, 0.59); - font-family: var(--font-mono); - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: normal; - text-decoration: none; - } - - [data-slot="pricing"] { - display: flex; - flex-direction: column; - gap: 16px; - width: 100%; - max-width: 660px; - padding: 0 20px; - - @media (min-width: 768px) { - padding: 0; - } - } - - [data-slot="pricing-card"] { - display: flex; - flex-direction: column; - gap: 12px; - padding: 24px; - border: 1px solid rgba(255, 255, 255, 0.17); - background: black; - background-clip: padding-box; - border-radius: 4px; - text-decoration: none; - transition: border-color 0.15s ease; - cursor: pointer; - text-align: left; - - @media (max-width: 480px) { - padding: 16px; - } - - &:hover:not(:active) { - border-color: rgba(255, 255, 255, 0.35); - } - - [data-slot="icon"] { - color: rgba(255, 255, 255, 0.59); - } - - [data-slot="price"] { - display: flex; - flex-wrap: wrap; - align-items: baseline; - gap: 8px; - } - - [data-slot="amount"] { - color: rgba(255, 255, 255, 0.92); - font-size: 24px; - font-weight: 500; - } - - [data-slot="period"] { - color: rgba(255, 255, 255, 0.59); - font-size: 14px; - } - - [data-slot="multiplier"] { - color: rgba(255, 255, 255, 0.39); - font-size: 14px; - - &::before { - content: "·"; - margin-right: 8px; - } - } - } - - [data-slot="selected-plan"] { - display: flex; - flex-direction: column; - gap: 32px; - width: 100%; - max-width: 660px; - margin: 0 auto; - position: relative; - background-color: rgba(0, 0, 0, 0.75); - z-index: 1; - - @media (max-width: 480px) { - margin: 0 20px; - width: calc(100% - 40px); - } - } - - [data-slot="selected-card"] { - display: flex; - flex-direction: column; - gap: 12px; - padding: 24px; - border: 1px solid rgba(255, 255, 255, 0.17); - border-radius: 4px; - width: 100%; - - [data-slot="icon"] { - color: rgba(255, 255, 255, 0.59); - } - - [data-slot="price"] { - display: flex; - flex-wrap: wrap; - align-items: baseline; - gap: 8px; - } - - [data-slot="amount"] { - color: rgba(255, 255, 255, 0.92); - font-size: 24px; - font-weight: 500; - } - - [data-slot="period"] { - color: rgba(255, 255, 255, 0.59); - font-size: 14px; - } - - [data-slot="multiplier"] { - color: rgba(255, 255, 255, 0.39); - font-size: 14px; - - &::before { - content: "·"; - margin-right: 8px; - } - } - - [data-slot="terms"] { - list-style: none; - padding: 0; - margin: 0; - display: flex; - flex-direction: column; - gap: 8px; - text-align: left; - - li { - color: rgba(255, 255, 255, 0.59); - font-size: 14px; - line-height: 1.5; - padding-left: 16px; - position: relative; - - &::before { - content: "▪"; - position: absolute; - left: 0; - color: rgba(255, 255, 255, 0.39); - } - - @media (max-width: 768px) { - font-size: 12px; - } - } - } - - [data-slot="actions"] { - display: flex; - gap: 16px; - margin-top: 8px; - - button, - a { - flex: 1; - display: inline-flex; - height: 48px; - padding: 0 16px; - justify-content: center; - align-items: center; - border-radius: 4px; - font-family: var(--font-mono); - font-size: 16px; - font-weight: 400; - text-decoration: none; - cursor: pointer; - } - - [data-slot="cancel"] { - background: rgba(255, 255, 255, 0.05); - border: 1px solid rgba(255, 255, 255, 0.17); - color: rgba(255, 255, 255, 0.92); - transition-property: background-color, border-color; - transition-duration: 150ms; - transition-timing-function: cubic-bezier(0.25, 0, 0.5, 1); - - &:hover { - background-color: rgba(255, 255, 255, 0.08); - border-color: rgba(255, 255, 255, 0.25); - } - } - - [data-slot="continue"] { - background: rgb(255, 255, 255); - color: rgb(0, 0, 0); - transition: background-color 150ms cubic-bezier(0.25, 0, 0.5, 1); - - &:hover { - background: rgba(255, 255, 255, 0.9); - } - } - } - } - - [data-slot="fine-print"] { - color: rgba(255, 255, 255, 0.39); - text-align: center; - font-size: 13px; - font-style: normal; - font-weight: 400; - line-height: 160%; /* 20.8px */ - font-style: italic; - - a { - color: rgba(255, 255, 255, 0.39); - text-decoration: underline; - } - } - } - - /* Subscribe page styles */ - [data-slot="subscribe-form"] { - display: flex; - flex-direction: column; - gap: 32px; - align-items: center; - margin-top: -18px; - width: 100%; - max-width: 660px; - padding: 0 20px; - - @media (min-width: 768px) { - margin-top: 40px; - padding: 0; - } - - [data-slot="form-card"] { - width: 100%; - border: 1px solid rgba(255, 255, 255, 0.17); - border-radius: 4px; - padding: 24px; - display: flex; - flex-direction: column; - gap: 20px; - } - - [data-slot="plan-header"] { - display: flex; - flex-direction: column; - gap: 8px; - } - - [data-slot="title"] { - color: rgba(255, 255, 255, 0.92); - font-size: 16px; - font-weight: 400; - margin-bottom: 8px; - } - - [data-slot="icon"] { - color: rgba(255, 255, 255, 0.59); - isolation: isolate; - transform: translateZ(0); - } - - [data-slot="price"] { - display: flex; - flex-wrap: wrap; - align-items: baseline; - gap: 8px; - } - - [data-slot="amount"] { - color: rgba(255, 255, 255, 0.92); - font-size: 24px; - font-weight: 500; - } - - [data-slot="period"] { - color: rgba(255, 255, 255, 0.59); - font-size: 14px; - } - - [data-slot="multiplier"] { - color: rgba(255, 255, 255, 0.39); - font-size: 14px; - - &::before { - content: "·"; - margin: 0 8px; - } - } - - [data-slot="divider"] { - height: 1px; - background: rgba(255, 255, 255, 0.17); - } - - [data-slot="section-title"] { - color: rgba(255, 255, 255, 0.92); - font-size: 16px; - font-weight: 400; - } - - [data-slot="checkout-form"] { - display: flex; - flex-direction: column; - gap: 20px; - } - - [data-slot="error"] { - color: #ff6b6b; - font-size: 14px; - } - - [data-slot="submit-button"] { - width: 100%; - height: 48px; - background: rgba(255, 255, 255, 0.92); - border: none; - border-radius: 4px; - color: #000; - font-family: var(--font-mono); - font-size: 16px; - font-weight: 500; - cursor: pointer; - transition: background 0.15s ease; - - &:hover:not(:disabled) { - background: #e0e0e0; - } - - &:disabled { - opacity: 0.5; - cursor: not-allowed; - } - } - - [data-slot="charge-notice"] { - color: #d4a500; - font-size: 14px; - text-align: center; - } - - [data-slot="loading"] { - display: flex; - justify-content: center; - padding: 40px 0; - - p { - color: rgba(255, 255, 255, 0.59); - font-size: 14px; - } - } - - [data-slot="fine-print"] { - color: rgba(255, 255, 255, 0.39); - text-align: center; - font-size: 13px; - font-style: italic; - view-transition-name: fine-print; - - a { - color: rgba(255, 255, 255, 0.39); - text-decoration: underline; - } - } - - [data-slot="workspace-picker"] { - [data-slot="workspace-list"] { - width: 100%; - padding: 0; - margin: 0; - list-style: none; - display: flex; - flex-direction: column; - align-items: flex-start; - gap: 8px; - align-self: stretch; - outline: none; - overflow-y: auto; - max-height: 240px; - scrollbar-width: none; - - &::-webkit-scrollbar { - display: none; - } - - [data-slot="workspace-item"] { - width: 100%; - display: flex; - padding: 8px 12px; - align-items: center; - gap: 8px; - align-self: stretch; - cursor: pointer; - - [data-slot="selected-icon"] { - visibility: hidden; - color: rgba(255, 255, 255, 0.39); - font-family: "IBM Plex Mono", monospace; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 160%; - } - - span:last-child { - color: rgba(255, 255, 255, 0.92); - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 160%; - } - - &:hover, - &[data-active="true"] { - background: #161616; - - [data-slot="selected-icon"] { - visibility: visible; - } - } - } - } - } - } - } - - [data-component="footer"] { - display: flex; - flex-direction: column; - width: 100%; - justify-content: center; - align-items: center; - gap: 24px; - flex-shrink: 0; - - @media (min-width: 768px) { - height: 120px; - } - - [data-slot="footer-content"] { - display: flex; - gap: 24px; - align-items: center; - justify-content: center; - - @media (min-width: 768px) { - gap: 40px; - } - - span, - a { - color: rgba(255, 255, 255, 0.39); - font-family: "JetBrains Mono Nerd Font"; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - text-decoration: none; - } - - [data-slot="github-stars"] { - color: rgba(255, 255, 255, 0.25); - font-family: "JetBrains Mono Nerd Font"; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - } - - [data-slot="anomaly"] { - display: none; - - @media (min-width: 768px) { - display: block; - } - } - } - [data-slot="anomaly-alt"] { - color: rgba(255, 255, 255, 0.39); - font-family: "JetBrains Mono Nerd Font"; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - text-decoration: none; - margin-bottom: 24px; - - a { - color: rgba(255, 255, 255, 0.39); - font-family: "JetBrains Mono Nerd Font"; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - text-decoration: none; - } - - @media (min-width: 768px) { - display: none; - } - } - } -} diff --git a/packages/console/app/src/routes/black.tsx b/packages/console/app/src/routes/black.tsx deleted file mode 100644 index 243ae687d..000000000 --- a/packages/console/app/src/routes/black.tsx +++ /dev/null @@ -1,283 +0,0 @@ -import { A, createAsync, RouteSectionProps } from "@solidjs/router" -import { Title, Meta } from "@solidjs/meta" -import { createMemo, createSignal } from "solid-js" -import { github } from "~/lib/github" -import { config } from "~/config" -import { useLanguage } from "~/context/language" -import { LanguagePicker } from "~/component/language-picker" -import { useI18n } from "~/context/i18n" -import Spotlight, { defaultConfig, type SpotlightAnimationState } from "~/component/spotlight" -import { LocaleLinks } from "~/component/locale-links" -import "./black.css" - -export default function BlackLayout(props: RouteSectionProps) { - const language = useLanguage() - const i18n = useI18n() - const githubData = createAsync(() => github()) - const starCount = createMemo(() => - githubData()?.stars - ? new Intl.NumberFormat(language.tag(language.locale()), { - notation: "compact", - compactDisplay: "short", - }).format(githubData()!.stars!) - : config.github.starsFormatted.compact, - ) - - const [spotlightAnimationState, setSpotlightAnimationState] = createSignal({ - time: 0, - intensity: 0.5, - pulseValue: 1, - }) - - const svgLightingValues = createMemo(() => { - const state = spotlightAnimationState() - const t = state.time - - const wave1 = Math.sin(t * 1.5) * 0.5 + 0.5 - const wave2 = Math.sin(t * 2.3 + 1.2) * 0.5 + 0.5 - const wave3 = Math.sin(t * 0.8 + 2.5) * 0.5 + 0.5 - - const shimmerPos = Math.sin(t * 0.7) * 0.5 + 0.5 - const glowIntensity = Math.max(state.intensity * state.pulseValue * 0.35, 0.15) - const fillOpacity = Math.max(0.1 + wave1 * 0.08 * state.pulseValue, 0.12) - const strokeBrightness = Math.max(55 + wave2 * 25 * state.pulseValue, 60) - - const shimmerIntensity = Math.max(wave3 * 0.15 * state.pulseValue, 0.08) - - return { - glowIntensity, - fillOpacity, - strokeBrightness, - shimmerPos, - shimmerIntensity, - } - }) - - const svgLightingStyle = createMemo(() => { - const values = svgLightingValues() - return { - "--hero-black-glow-intensity": values.glowIntensity.toFixed(3), - "--hero-black-stroke-brightness": `${values.strokeBrightness.toFixed(0)}%`, - } as Record - }) - - const handleAnimationFrame = (state: SpotlightAnimationState) => { - setSpotlightAnimationState(state) - } - - const spotlightConfig = () => defaultConfig - - return ( -
- {i18n.t("black.meta.title")} - - - - - - - - - - - - - - -
- - - opencode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-

{i18n.t("black.hero.title")}

-

{i18n.t("black.hero.subtitle")}

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- {props.children} -
- -
- ) -} diff --git a/packages/console/app/src/routes/black/common.tsx b/packages/console/app/src/routes/black/common.tsx deleted file mode 100644 index 8932a967e..000000000 --- a/packages/console/app/src/routes/black/common.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import { Match, Switch } from "solid-js" -import { useI18n } from "~/context/i18n" - -export const plans = [ - { id: "20", multiplier: null }, - { id: "100", multiplier: "black.plan.multiplier100" }, - { id: "200", multiplier: "black.plan.multiplier200" }, -] as const - -export type PlanID = (typeof plans)[number]["id"] -export type Plan = (typeof plans)[number] - -export function PlanIcon(props: { plan: string }) { - const i18n = useI18n() - - return ( - - - - {i18n.t("black.plan.icon20")} - - - - - - {i18n.t("black.plan.icon100")} - - - - - - - - - {i18n.t("black.plan.icon200")} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ) -} diff --git a/packages/console/app/src/routes/black/index.tsx b/packages/console/app/src/routes/black/index.tsx deleted file mode 100644 index 72b196f57..000000000 --- a/packages/console/app/src/routes/black/index.tsx +++ /dev/null @@ -1,114 +0,0 @@ -import { A, useSearchParams } from "@solidjs/router" -import { Title } from "@solidjs/meta" -import { createMemo, createSignal, For, Match, onMount, Show, Switch } from "solid-js" -import { PlanIcon, plans } from "./common" -import { useI18n } from "~/context/i18n" -import { useLanguage } from "~/context/language" - -export default function Black() { - const [params] = useSearchParams() - const i18n = useI18n() - const language = useLanguage() - const [selected, setSelected] = createSignal((params.plan as string) || null) - const [mounted, setMounted] = createSignal(false) - const selectedPlan = createMemo(() => plans.find((p) => p.id === selected())) - - onMount(() => { - requestAnimationFrame(() => setMounted(true)) - }) - - const transition = (action: () => void) => { - if (mounted() && "startViewTransition" in document) { - ;(document as any).startViewTransition(action) - return - } - - action() - } - - const select = (planId: string) => { - if (selected() === planId) { - return - } - - transition(() => setSelected(planId)) - } - - const cancel = () => { - transition(() => setSelected(null)) - } - - return ( - <> - {i18n.t("black.title")} -
- - -
- - {(plan) => ( - - )} - -
-
- - {(plan) => ( -
-
-
- -
-

- ${plan().id}{" "} - {i18n.t("black.price.perPersonBilledMonthly")} - - {(multiplier) => {i18n.t(multiplier())}} - -

-
    -
  • {i18n.t("black.terms.1")}
  • -
  • {i18n.t("black.terms.2")}
  • -
  • {i18n.t("black.terms.3")}
  • -
  • {i18n.t("black.terms.4")}
  • -
  • {i18n.t("black.terms.5")}
  • -
  • {i18n.t("black.terms.6")}
  • -
  • {i18n.t("black.terms.7")}
  • -
-
- - - {i18n.t("black.action.continue")} - -
-
-
- )} -
-
-

- {i18n.t("black.finePrint.beforeTerms")} ·{" "} - {i18n.t("black.finePrint.terms")} -

-
- - ) -} diff --git a/packages/console/app/src/routes/black/subscribe/[plan].tsx b/packages/console/app/src/routes/black/subscribe/[plan].tsx deleted file mode 100644 index 644d87d9b..000000000 --- a/packages/console/app/src/routes/black/subscribe/[plan].tsx +++ /dev/null @@ -1,477 +0,0 @@ -import { A, createAsync, query, redirect, useParams } from "@solidjs/router" -import { Title } from "@solidjs/meta" -import { createEffect, createSignal, For, Match, Show, Switch } from "solid-js" -import { type Stripe, type PaymentMethod, loadStripe } from "@stripe/stripe-js" -import { Elements, PaymentElement, useStripe, useElements, AddressElement } from "solid-stripe" -import { PlanID, plans } from "../common" -import { getActor, useAuthSession } from "~/context/auth" -import { withActor } from "~/context/auth.withActor" -import { Actor } from "@opencode-ai/console-core/actor.js" -import { and, Database, eq, isNull } from "@opencode-ai/console-core/drizzle/index.js" -import { WorkspaceTable } from "@opencode-ai/console-core/schema/workspace.sql.js" -import { UserTable } from "@opencode-ai/console-core/schema/user.sql.js" -import { createList } from "solid-list" -import { Modal } from "~/component/modal" -import { BillingTable } from "@opencode-ai/console-core/schema/billing.sql.js" -import { Billing } from "@opencode-ai/console-core/billing.js" -import { useI18n } from "~/context/i18n" -import { useLanguage } from "~/context/language" -import { formError } from "~/lib/form-error" - -const plansMap = Object.fromEntries(plans.map((p) => [p.id, p])) as Record -const stripePromise = loadStripe(import.meta.env.VITE_STRIPE_PUBLISHABLE_KEY!) - -const getWorkspaces = query(async (plan: string) => { - "use server" - const actor = await getActor() - if (actor.type === "public") throw redirect("/auth/authorize?continue=/black/subscribe/" + plan) - return withActor(async () => { - return Database.use((tx) => - tx - .select({ - id: WorkspaceTable.id, - name: WorkspaceTable.name, - slug: WorkspaceTable.slug, - billing: { - customerID: BillingTable.customerID, - paymentMethodID: BillingTable.paymentMethodID, - paymentMethodType: BillingTable.paymentMethodType, - paymentMethodLast4: BillingTable.paymentMethodLast4, - subscriptionID: BillingTable.subscriptionID, - timeSubscriptionBooked: BillingTable.timeSubscriptionBooked, - }, - }) - .from(UserTable) - .innerJoin(WorkspaceTable, eq(UserTable.workspaceID, WorkspaceTable.id)) - .innerJoin(BillingTable, eq(WorkspaceTable.id, BillingTable.workspaceID)) - .where( - and( - eq(UserTable.accountID, Actor.account()), - isNull(WorkspaceTable.timeDeleted), - isNull(UserTable.timeDeleted), - ), - ), - ) - }) -}, "black.subscribe.workspaces") - -const createSetupIntent = async (input: { plan: string; workspaceID: string }) => { - "use server" - const { plan, workspaceID } = input - - if (!plan || !["20", "100", "200"].includes(plan)) return { error: formError.invalidPlan } - if (!workspaceID) return { error: formError.workspaceRequired } - - return withActor(async () => { - const session = await useAuthSession() - const account = session.data.account?.[session.data.current ?? ""] - const email = account?.email - - const customer = await Database.use((tx) => - tx - .select({ - customerID: BillingTable.customerID, - subscriptionID: BillingTable.subscriptionID, - }) - .from(BillingTable) - .where(eq(BillingTable.workspaceID, workspaceID)) - .then((rows) => rows[0]), - ) - if (customer?.subscriptionID) { - return { error: formError.alreadySubscribed } - } - - let customerID = customer?.customerID - if (!customerID) { - const customer = await Billing.stripe().customers.create({ - email, - metadata: { - workspaceID, - }, - }) - customerID = customer.id - await Database.use((tx) => - tx - .update(BillingTable) - .set({ - customerID, - }) - .where(eq(BillingTable.workspaceID, workspaceID)), - ) - } - - const intent = await Billing.stripe().setupIntents.create({ - customer: customerID, - payment_method_types: ["card"], - metadata: { - workspaceID, - }, - }) - - return { clientSecret: intent.client_secret ?? undefined } - }, workspaceID) -} - -const bookSubscription = async (input: { - workspaceID: string - plan: PlanID - paymentMethodID: string - paymentMethodType: string - paymentMethodLast4?: string -}) => { - "use server" - return withActor( - () => - Database.use((tx) => - tx - .update(BillingTable) - .set({ - paymentMethodID: input.paymentMethodID, - paymentMethodType: input.paymentMethodType, - paymentMethodLast4: input.paymentMethodLast4, - subscriptionPlan: input.plan, - timeSubscriptionBooked: new Date(), - }) - .where(eq(BillingTable.workspaceID, input.workspaceID)), - ), - input.workspaceID, - ) -} - -interface SuccessData { - plan: string - paymentMethodType: string - paymentMethodLast4?: string -} - -function Failure(props: { message: string }) { - const i18n = useI18n() - - return ( -
-

- {i18n.t("black.subscribe.failurePrefix")} {props.message} -

-
- ) -} - -function Success(props: SuccessData) { - const i18n = useI18n() - - return ( -
-

{i18n.t("black.subscribe.success.title")}

-
-
-
{i18n.t("black.subscribe.success.subscriptionPlan")}
-
{i18n.t("black.subscribe.success.planName", { plan: props.plan })}
-
-
-
{i18n.t("black.subscribe.success.amount")}
-
{i18n.t("black.subscribe.success.amountValue", { plan: props.plan })}
-
-
-
{i18n.t("black.subscribe.success.paymentMethod")}
-
- {props.paymentMethodType}}> - - {props.paymentMethodType} - {props.paymentMethodLast4} - - -
-
-
-
{i18n.t("black.subscribe.success.dateJoined")}
-
{new Date().toLocaleDateString(undefined, { month: "short", day: "numeric", year: "numeric" })}
-
-
-

{i18n.t("black.subscribe.success.chargeNotice")}

-
- ) -} - -function IntentForm(props: { plan: PlanID; workspaceID: string; onSuccess: (data: SuccessData) => void }) { - const i18n = useI18n() - const stripe = useStripe() - const elements = useElements() - const [error, setError] = createSignal(undefined) - const [loading, setLoading] = createSignal(false) - - const handleSubmit = async (e: Event) => { - e.preventDefault() - if (!stripe() || !elements()) return - - setLoading(true) - setError(undefined) - - const result = await elements()!.submit() - if (result.error) { - setError(result.error.message ?? i18n.t("black.subscribe.error.generic")) - setLoading(false) - return - } - - const { error: confirmError, setupIntent } = await stripe()!.confirmSetup({ - elements: elements()!, - confirmParams: { - expand: ["payment_method"], - payment_method_data: { - allow_redisplay: "always", - }, - }, - redirect: "if_required", - }) - - if (confirmError) { - setError(confirmError.message ?? i18n.t("black.subscribe.error.generic")) - setLoading(false) - return - } - - if (setupIntent?.status === "succeeded") { - const pm = setupIntent.payment_method as PaymentMethod - - await bookSubscription({ - workspaceID: props.workspaceID, - plan: props.plan, - paymentMethodID: pm.id, - paymentMethodType: pm.type, - paymentMethodLast4: pm.card?.last4, - }) - - props.onSuccess({ - plan: props.plan, - paymentMethodType: pm.type, - paymentMethodLast4: pm.card?.last4, - }) - } - - setLoading(false) - } - - return ( -
- - - -

{error()}

-
- -

{i18n.t("black.subscribe.form.chargeNotice")}

- - ) -} - -export default function BlackSubscribe() { - const params = useParams() - const i18n = useI18n() - const language = useLanguage() - const planData = plansMap[(params.plan as PlanID) ?? "20"] ?? plansMap["20"] - const plan = planData.id - - const workspaces = createAsync(() => getWorkspaces(plan)) - const [selectedWorkspace, setSelectedWorkspace] = createSignal(undefined) - const [success, setSuccess] = createSignal(undefined) - const [failure, setFailure] = createSignal(undefined) - const [clientSecret, setClientSecret] = createSignal(undefined) - const [stripe, setStripe] = createSignal(undefined) - - const formatError = (error: string) => { - if (error === formError.invalidPlan) return i18n.t("black.subscribe.error.invalidPlan") - if (error === formError.workspaceRequired) return i18n.t("black.subscribe.error.workspaceRequired") - if (error === formError.alreadySubscribed) return i18n.t("black.subscribe.error.alreadySubscribed") - if (error === "Invalid plan") return i18n.t("black.subscribe.error.invalidPlan") - if (error === "Workspace ID is required") return i18n.t("black.subscribe.error.workspaceRequired") - if (error === "This workspace already has a subscription") return i18n.t("black.subscribe.error.alreadySubscribed") - return error - } - - // Resolve stripe promise once - createEffect(() => { - stripePromise.then((s) => { - if (s) setStripe(s) - }) - }) - - // Auto-select if only one workspace - createEffect(() => { - const ws = workspaces() - if (ws?.length === 1 && !selectedWorkspace()) { - setSelectedWorkspace(ws[0].id) - } - }) - - // Fetch setup intent when workspace is selected (unless workspace already has payment method) - createEffect(async () => { - const id = selectedWorkspace() - if (!id) return - - const ws = workspaces()?.find((w) => w.id === id) - if (ws?.billing?.subscriptionID) { - setFailure(i18n.t("black.subscribe.error.alreadySubscribed")) - return - } - if (ws?.billing?.paymentMethodID) { - if (!ws?.billing?.timeSubscriptionBooked) { - await bookSubscription({ - workspaceID: id, - plan: planData.id, - paymentMethodID: ws.billing.paymentMethodID!, - paymentMethodType: ws.billing.paymentMethodType!, - paymentMethodLast4: ws.billing.paymentMethodLast4 ?? undefined, - }) - } - setSuccess({ - plan: planData.id, - paymentMethodType: ws.billing.paymentMethodType!, - paymentMethodLast4: ws.billing.paymentMethodLast4 ?? undefined, - }) - return - } - - const result = await createSetupIntent({ plan, workspaceID: id }) - if (result.error) { - setFailure(formatError(result.error)) - } else if ("clientSecret" in result) { - setClientSecret(result.clientSecret) - } - }) - - // Keyboard navigation for workspace picker - const { active, setActive, onKeyDown } = createList({ - items: () => workspaces()?.map((w) => w.id) ?? [], - initialActive: null, - }) - - const handleSelectWorkspace = (id: string) => { - setSelectedWorkspace(id) - } - - let listRef: HTMLUListElement | undefined - - // Show workspace picker if multiple workspaces and none selected - const showWorkspacePicker = () => { - const ws = workspaces() - return ws && ws.length > 1 && !selectedWorkspace() - } - - return ( - <> - {i18n.t("black.subscribe.title")} -
-
- - {(data) => } - {(data) => } - - <> -
-

{i18n.t("black.subscribe.title")}

-

- ${planData.id}{" "} - {i18n.t("black.price.perMonth")} - - {(multiplier) => {i18n.t(multiplier())}} - -

-
-
-

{i18n.t("black.subscribe.paymentMethod")}

- - -

- {selectedWorkspace() - ? i18n.t("black.subscribe.loadingPaymentForm") - : i18n.t("black.subscribe.selectWorkspaceToContinue")} -

-
- } - > - - - - - -
-
-
- - {/* Workspace picker modal */} - {}} title={i18n.t("black.workspace.selectPlan")}> -
-
    { - if (e.key === "Enter" && active()) { - handleSelectWorkspace(active()!) - } else { - onKeyDown(e) - } - }} - > - - {(workspace) => ( -
  • setActive(workspace.id)} - onClick={() => handleSelectWorkspace(workspace.id)} - > - [*] - {workspace.name || workspace.slug} -
  • - )} -
    -
-
-
-

- {i18n.t("black.finePrint.beforeTerms")} ·{" "} - {i18n.t("black.finePrint.terms")} -

-
- - ) -} diff --git a/packages/console/app/src/routes/black/workspace.css b/packages/console/app/src/routes/black/workspace.css deleted file mode 100644 index bf9d94878..000000000 --- a/packages/console/app/src/routes/black/workspace.css +++ /dev/null @@ -1,214 +0,0 @@ -[data-page="black"] { - background: #000; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: stretch; - font-family: var(--font-mono); - color: #fff; - - [data-component="header-gradient"] { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 288px; - background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(0, 0, 0, 0) 100%); - } - - [data-component="header"] { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - padding-top: 40px; - flex-shrink: 0; - - /* [data-component="header-logo"] { */ - /* } */ - } - - [data-component="content"] { - display: flex; - flex-direction: column; - align-items: center; - width: 100%; - flex-grow: 1; - - [data-slot="hero-black"] { - margin-top: 110px; - - @media (min-width: 768px) { - margin-top: 150px; - } - } - - [data-slot="select-workspace"] { - display: flex; - margin-top: -24px; - width: 100%; - max-width: 480px; - height: 305px; - padding: 32px 20px 0 20px; - flex-direction: column; - align-items: flex-start; - gap: 24px; - - border: 1px solid #303030; - background: #0a0a0a; - box-shadow: - 0 100px 80px 0 rgba(0, 0, 0, 0.04), - 0 41.778px 33.422px 0 rgba(0, 0, 0, 0.05), - 0 22.336px 17.869px 0 rgba(0, 0, 0, 0.06), - 0 12.522px 10.017px 0 rgba(0, 0, 0, 0.08), - 0 6.65px 5.32px 0 rgba(0, 0, 0, 0.09), - 0 2.767px 2.214px 0 rgba(0, 0, 0, 0.13); - - [data-slot="select-workspace-title"] { - flex-shrink: 0; - align-self: stretch; - color: rgba(255, 255, 255, 0.59); - text-align: center; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 160%; /* 25.6px */ - } - - [data-slot="workspaces"] { - width: 100%; - padding: 0; - display: flex; - flex-direction: column; - align-items: flex-start; - gap: 8px; - align-self: stretch; - outline: none; - overflow-y: auto; - flex: 1; - min-height: 0; - - scrollbar-width: none; - &::-webkit-scrollbar { - display: none; - } - - [data-slot="workspace"] { - width: 100%; - display: flex; - padding: 8px 12px; - align-items: center; - gap: 8px; - align-self: stretch; - cursor: pointer; - - [data-slot="selected-icon"] { - visibility: hidden; - color: rgba(255, 255, 255, 0.39); - font-family: "IBM Plex Mono"; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 160%; /* 25.6px */ - } - - a { - color: rgba(255, 255, 255, 0.92); - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 160%; /* 25.6px */ - text-decoration: none; - } - } - - [data-slot="workspace"]:hover, - [data-slot="workspace"][data-active="true"] { - background: #161616; - - [data-slot="selected-icon"] { - visibility: visible; - } - } - } - } - } - - [data-component="footer"] { - display: flex; - flex-direction: column; - width: 100%; - justify-content: center; - align-items: center; - gap: 24px; - flex-shrink: 0; - - @media (min-width: 768px) { - height: 120px; - } - - [data-slot="footer-content"] { - display: flex; - gap: 24px; - align-items: center; - justify-content: center; - - @media (min-width: 768px) { - gap: 40px; - } - - span, - a { - color: rgba(255, 255, 255, 0.39); - font-family: "JetBrains Mono Nerd Font"; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - text-decoration: none; - } - - [data-slot="github-stars"] { - color: rgba(255, 255, 255, 0.25); - font-family: "JetBrains Mono Nerd Font"; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - } - - [data-slot="anomaly"] { - display: none; - - @media (min-width: 768px) { - display: block; - } - } - } - [data-slot="anomaly-alt"] { - color: rgba(255, 255, 255, 0.39); - font-family: "JetBrains Mono Nerd Font"; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - text-decoration: none; - margin-bottom: 24px; - - a { - color: rgba(255, 255, 255, 0.39); - font-family: "JetBrains Mono Nerd Font"; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - text-decoration: none; - } - - @media (min-width: 768px) { - display: none; - } - } - } -} diff --git a/packages/console/app/src/routes/black/workspace.tsx b/packages/console/app/src/routes/black/workspace.tsx deleted file mode 100644 index 106e8a23e..000000000 --- a/packages/console/app/src/routes/black/workspace.tsx +++ /dev/null @@ -1,238 +0,0 @@ -import { A, createAsync, useNavigate } from "@solidjs/router" -import "./workspace.css" -import { Title } from "@solidjs/meta" -import { github } from "~/lib/github" -import { createEffect, createMemo, For, onMount } from "solid-js" -import { config } from "~/config" -import { createList } from "solid-list" -import { useLanguage } from "~/context/language" -import { LanguagePicker } from "~/component/language-picker" -import { useI18n } from "~/context/i18n" - -export default function BlackWorkspace() { - const navigate = useNavigate() - const language = useLanguage() - const i18n = useI18n() - const githubData = createAsync(() => github()) - const starCount = createMemo(() => - githubData()?.stars - ? new Intl.NumberFormat(language.tag(language.locale()), { - notation: "compact", - compactDisplay: "short", - }).format(githubData()!.stars!) - : config.github.starsFormatted.compact, - ) - - // TODO: Frank, replace with real workspaces - const workspaces = [ - { id: "wrk_123", n: 1 }, - { id: "wrk_456", n: 2 }, - { id: "wrk_789", n: 3 }, - { id: "wrk_111", n: 4 }, - { id: "wrk_222", n: 5 }, - { id: "wrk_333", n: 6 }, - { id: "wrk_444", n: 7 }, - { id: "wrk_555", n: 8 }, - ].map((workspace) => ({ - ...workspace, - name: i18n.t("black.workspace.name", { n: workspace.n }), - })) - - let listRef: HTMLUListElement | undefined - - const { active, setActive, onKeyDown } = createList({ - items: () => workspaces.map((w) => w.id), - initialActive: workspaces[0]?.id ?? null, - handleTab: true, - }) - - onMount(() => { - listRef?.focus() - }) - - createEffect(() => { - const id = active() - if (!id || !listRef) return - const el = listRef.querySelector(`[data-id="${id}"]`) - el?.scrollIntoView({ block: "nearest" }) - }) - - return ( -
- {i18n.t("black.workspace.title")} -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - - - - - - - - - - - - - - - - -
-
-

{i18n.t("black.workspace.selectPlan")}

-
    { - if (e.key === "Enter" && active()) { - navigate(`/black/workspace/${active()}`) - } else if (e.key === "Tab") { - e.preventDefault() - onKeyDown(e) - } else { - onKeyDown(e) - } - }} - > - - {(workspace) => ( -
  • setActive(workspace.id)} - onClick={() => navigate(`/black/workspace/${workspace.id}`)} - > - [*] - {workspace.name} -
  • - )} -
    -
-
-
- -
- ) -} diff --git a/packages/console/app/src/routes/brand/index.css b/packages/console/app/src/routes/brand/index.css deleted file mode 100644 index 6fe7c9a8d..000000000 --- a/packages/console/app/src/routes/brand/index.css +++ /dev/null @@ -1,556 +0,0 @@ -::selection { - background: var(--color-background-interactive); - color: var(--color-text-strong); - - @media (prefers-color-scheme: dark) { - background: var(--color-background-interactive); - color: var(--color-text-inverted); - } -} - -[data-page="enterprise"], -[data-page="legal"] { - --color-background: hsl(0, 20%, 99%); - --color-background-weak: hsl(0, 8%, 97%); - --color-background-weak-hover: hsl(0, 8%, 94%); - --color-background-strong: hsl(0, 5%, 12%); - --color-background-strong-hover: hsl(0, 5%, 18%); - --color-background-interactive: hsl(62, 84%, 88%); - --color-background-interactive-weaker: hsl(64, 74%, 95%); - - --color-text: hsl(0, 1%, 39%); - --color-text-weak: hsl(0, 1%, 60%); - --color-text-weaker: hsl(30, 2%, 81%); - --color-text-strong: hsl(0, 5%, 12%); - --color-text-inverted: hsl(0, 20%, 99%); - --color-text-success: hsl(119, 100%, 35%); - - --color-border: hsl(30, 2%, 81%); - --color-border-weak: hsl(0, 1%, 85%); - - --color-icon: hsl(0, 1%, 55%); - --color-success: hsl(142, 76%, 36%); - - background: var(--color-background); - font-family: var(--font-mono); - color: var(--color-text); - padding-bottom: 5rem; - - @media (prefers-color-scheme: dark) { - --color-background: hsl(0, 9%, 7%); - --color-background-weak: hsl(0, 6%, 10%); - --color-background-weak-hover: hsl(0, 6%, 15%); - --color-background-strong: hsl(0, 15%, 94%); - --color-background-strong-hover: hsl(0, 15%, 97%); - --color-background-interactive: hsl(62, 100%, 90%); - --color-background-interactive-weaker: hsl(60, 20%, 8%); - - --color-text: hsl(0, 4%, 71%); - --color-text-weak: hsl(0, 2%, 49%); - --color-text-weaker: hsl(0, 3%, 28%); - --color-text-strong: hsl(0, 15%, 94%); - --color-text-inverted: hsl(0, 9%, 7%); - --color-text-success: hsl(119, 60%, 72%); - - --color-border: hsl(0, 3%, 28%); - --color-border-weak: hsl(0, 4%, 23%); - - --color-icon: hsl(10, 3%, 43%); - --color-success: hsl(142, 76%, 46%); - } - - /* Header and Footer styles - copied from index.css */ - [data-component="top"] { - padding: 24px 5rem; - height: 80px; - position: sticky; - top: 0; - display: flex; - justify-content: space-between; - align-items: center; - background: var(--color-background); - border-bottom: 1px solid var(--color-border-weak); - z-index: 10; - - @media (max-width: 60rem) { - padding: 24px 1.5rem; - } - - img { - height: 34px; - width: auto; - } - - [data-component="nav-desktop"] { - ul { - display: flex; - justify-content: space-between; - align-items: center; - gap: 48px; - - @media (max-width: 55rem) { - gap: 32px; - } - - @media (max-width: 48rem) { - gap: 24px; - } - li { - display: inline-block; - a { - text-decoration: none; - span { - color: var(--color-text-weak); - } - } - a:hover { - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - [data-slot="cta-button"] { - background: var(--color-background-strong); - color: var(--color-text-inverted); - padding: 8px 16px 8px 10px; - border-radius: 4px; - font-weight: 500; - text-decoration: none; - display: flex; - align-items: center; - gap: 8px; - white-space: nowrap; - - @media (max-width: 55rem) { - display: none; - } - } - [data-slot="cta-button"]:hover { - background: var(--color-background-strong-hover); - text-decoration: none; - } - } - } - - @media (max-width: 40rem) { - display: none; - } - } - - [data-component="nav-mobile"] { - button > svg { - color: var(--color-icon); - } - } - - [data-component="nav-mobile-toggle"] { - border: none; - background: none; - outline: none; - height: 40px; - width: 40px; - cursor: pointer; - margin-right: -8px; - } - - [data-component="nav-mobile-toggle"]:hover { - background: var(--color-background-weak); - } - - [data-component="nav-mobile"] { - display: none; - - @media (max-width: 40rem) { - display: block; - - [data-component="nav-mobile-icon"] { - cursor: pointer; - height: 40px; - width: 40px; - display: flex; - align-items: center; - justify-content: center; - } - - [data-component="nav-mobile-menu-list"] { - position: fixed; - background: var(--color-background); - top: 80px; - left: 0; - right: 0; - height: 100vh; - - ul { - list-style: none; - padding: 20px 0; - - li { - a { - text-decoration: none; - padding: 20px; - display: block; - - span { - color: var(--color-text-weak); - } - } - - a:hover { - background: var(--color-background-weak); - } - } - } - } - } - } - - [data-slot="logo dark"] { - display: none; - } - - @media (prefers-color-scheme: dark) { - [data-slot="logo light"] { - display: none; - } - [data-slot="logo dark"] { - display: block; - } - } - } - - [data-component="footer"] { - border-top: 1px solid var(--color-border-weak); - display: flex; - flex-direction: row; - - @media (max-width: 65rem) { - border-bottom: 1px solid var(--color-border-weak); - } - - [data-slot="cell"] { - flex: 1; - text-align: center; - - a { - text-decoration: none; - padding: 2rem 0; - width: 100%; - display: block; - - span { - color: var(--color-text-weak); - - @media (max-width: 40rem) { - display: none; - } - } - } - - a:hover { - background: var(--color-background-weak); - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - } - - [data-slot="cell"] + [data-slot="cell"] { - border-left: 1px solid var(--color-border-weak); - - @media (max-width: 40rem) { - border-left: none; - } - } - - /* Mobile: third column on its own row */ - @media (max-width: 25rem) { - flex-wrap: wrap; - - [data-slot="cell"] { - flex: 1 0 100%; - border-left: none; - border-top: 1px solid var(--color-border-weak); - } - - [data-slot="cell"]:nth-child(1) { - border-top: none; - } - } - } - - [data-component="container"] { - max-width: 67.5rem; - margin: 0 auto; - border: 1px solid var(--color-border-weak); - border-top: none; - - @media (max-width: 65rem) { - border: none; - } - } - - [data-component="content"] { - } - - [data-component="brand-content"] { - padding: 4rem 5rem; - - h1 { - font-size: 1.5rem; - font-weight: 700; - color: var(--color-text-strong); - margin-bottom: 1rem; - } - - h3 { - font-size: 1.25rem; - font-weight: 500; - color: var(--color-text-strong); - margin: 2rem 0 1rem 0; - } - - p { - line-height: 1.6; - margin-bottom: 2.5rem; - color: var(--color-text); - } - - [data-component="download-button"] { - padding: 8px 12px 8px 20px; - background: var(--color-background-strong); - color: var(--color-text-inverted); - border: none; - border-radius: 4px; - font-weight: 500; - cursor: pointer; - display: flex; - width: fit-content; - align-items: center; - gap: 12px; - transition: all 0.2s ease; - text-decoration: none; - - &:hover:not(:disabled) { - background: var(--color-background-strong-hover); - } - - &:active { - transform: scale(0.98); - } - - &:disabled { - opacity: 0.6; - cursor: not-allowed; - } - } - - [data-component="brand-grid"] { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); - gap: 2rem; - margin-top: 4rem; - margin-bottom: 2rem; - } - - [data-component="brand-grid"] img { - width: 100%; - height: auto; - display: block; - border-radius: 4px; - border: 1px solid var(--color-border-weak); - } - - [data-component="brand-grid"] > div { - position: relative; - } - - [data-component="actions"] { - position: absolute; - background: rgba(4, 0, 0, 0.08); - border-radius: 4px; - bottom: 0; - right: 0; - top: 0; - left: 0; - display: flex; - justify-content: center; - align-items: center; - gap: 16px; - opacity: 0; - transition: opacity 0.2s ease; - - @media (max-width: 40rem) { - position: static; - opacity: 1; - background: none; - margin-top: 1rem; - justify-content: start; - } - } - - [data-component="brand-grid"] > div:hover [data-component="actions"] { - opacity: 1; - - @media (max-width: 40rem) { - opacity: 1; - } - } - - [data-component="actions"] button { - padding: 6px 12px; - background: var(--color-background); - color: var(--color-text); - border: none; - border-radius: 4px; - font-weight: 500; - display: flex; - align-items: center; - gap: 12px; - transition: all 0.2s ease; - cursor: pointer; - box-shadow: - 0 0 0 1px rgba(19, 16, 16, 0.08), - 0 6px 8px -4px rgba(19, 16, 16, 0.12), - 0 4px 3px -2px rgba(19, 16, 16, 0.12), - 0 1px 2px -1px rgba(19, 16, 16, 0.12); - - @media (max-width: 40rem) { - box-shadow: 0 0 0 1px rgba(19, 16, 16, 0.16); - } - - &:hover { - background: var(--color-background); - } - - &:active { - transform: scale(0.98); - box-shadow: - 0 0 0 1px rgba(19, 16, 16, 0.08), - 0 6px 8px -8px rgba(19, 16, 16, 0.5); - } - } - - @media (max-width: 60rem) { - padding: 2rem 1.5rem; - } - } - - [data-component="faq"] { - border-top: 1px solid var(--color-border-weak); - padding: 4rem 5rem; - - @media (max-width: 60rem) { - padding: 2rem 1.5rem; - } - - [data-slot="section-title"] { - margin-bottom: 24px; - - h3 { - font-size: 16px; - font-weight: 500; - color: var(--color-text-strong); - margin-bottom: 12px; - } - - p { - margin-bottom: 12px; - color: var(--color-text); - } - } - - ul { - padding: 0; - - li { - list-style: none; - margin-bottom: 24px; - line-height: 200%; - - @media (max-width: 60rem) { - line-height: 180%; - } - } - } - - [data-slot="faq-question"] { - display: flex; - gap: 16px; - margin-bottom: 8px; - color: var(--color-text-strong); - font-weight: 500; - cursor: pointer; - background: none; - border: none; - padding: 0; - - [data-slot="faq-icon-plus"] { - flex-shrink: 0; - color: var(--color-text-weak); - margin-top: 2px; - - [data-closed] & { - display: block; - } - [data-expanded] & { - display: none; - } - } - [data-slot="faq-icon-minus"] { - flex-shrink: 0; - color: var(--color-text-weak); - margin-top: 2px; - - [data-closed] & { - display: none; - } - [data-expanded] & { - display: block; - } - } - [data-slot="faq-question-text"] { - flex-grow: 1; - text-align: left; - } - } - - [data-slot="faq-answer"] { - margin-left: 40px; - margin-bottom: 32px; - color: var(--color-text); - } - } - - [data-component="legal"] { - color: var(--color-text-weak); - text-align: center; - padding: 2rem 5rem; - display: flex; - gap: 32px; - justify-content: center; - - @media (max-width: 60rem) { - padding: 2rem 1.5rem; - } - - a { - color: var(--color-text-weak); - text-decoration: none; - } - - a:hover { - color: var(--color-text); - text-decoration: underline; - } - } - - a { - color: var(--color-text-strong); - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - - &:hover { - text-decoration-thickness: 2px; - } - } -} diff --git a/packages/console/app/src/routes/brand/index.tsx b/packages/console/app/src/routes/brand/index.tsx deleted file mode 100644 index 1215625d4..000000000 --- a/packages/console/app/src/routes/brand/index.tsx +++ /dev/null @@ -1,254 +0,0 @@ -import "./index.css" -import { Title, Meta } from "@solidjs/meta" -import { Header } from "~/component/header" -import { Footer } from "~/component/footer" -import { Legal } from "~/component/legal" -import { useI18n } from "~/context/i18n" -import { LocaleLinks } from "~/component/locale-links" -import previewLogoLight from "../../asset/brand/preview-opencode-logo-light.png" -import previewLogoDark from "../../asset/brand/preview-opencode-logo-dark.png" -import previewWordmarkLight from "../../asset/brand/preview-opencode-wordmark-light.png" -import previewWordmarkDark from "../../asset/brand/preview-opencode-wordmark-dark.png" -import previewWordmarkSimpleLight from "../../asset/brand/preview-opencode-wordmark-simple-light.png" -import previewWordmarkSimpleDark from "../../asset/brand/preview-opencode-wordmark-simple-dark.png" -import logoLightPng from "../../asset/brand/opencode-logo-light.png" -import logoDarkPng from "../../asset/brand/opencode-logo-dark.png" -import wordmarkLightPng from "../../asset/brand/opencode-wordmark-light.png" -import wordmarkDarkPng from "../../asset/brand/opencode-wordmark-dark.png" -import wordmarkSimpleLightPng from "../../asset/brand/opencode-wordmark-simple-light.png" -import wordmarkSimpleDarkPng from "../../asset/brand/opencode-wordmark-simple-dark.png" -import logoLightSvg from "../../asset/brand/opencode-logo-light.svg" -import logoDarkSvg from "../../asset/brand/opencode-logo-dark.svg" -import wordmarkLightSvg from "../../asset/brand/opencode-wordmark-light.svg" -import wordmarkDarkSvg from "../../asset/brand/opencode-wordmark-dark.svg" -import wordmarkSimpleLightSvg from "../../asset/brand/opencode-wordmark-simple-light.svg" -import wordmarkSimpleDarkSvg from "../../asset/brand/opencode-wordmark-simple-dark.svg" -const brandAssets = "/opencode-brand-assets.zip" - -export default function Brand() { - const i18n = useI18n() - const downloadFile = async (url: string, filename: string) => { - try { - const response = await fetch(url) - const blob = await response.blob() - const blobUrl = window.URL.createObjectURL(blob) - - const link = document.createElement("a") - link.href = blobUrl - link.download = filename - document.body.appendChild(link) - link.click() - document.body.removeChild(link) - - window.URL.revokeObjectURL(blobUrl) - } catch (error) { - console.error("Download failed:", error) - const link = document.createElement("a") - link.href = url - link.target = "_blank" - link.rel = "noopener noreferrer" - document.body.appendChild(link) - link.click() - document.body.removeChild(link) - } - } - - return ( -
- {i18n.t("brand.title")} - - -
-
- -
-
-

{i18n.t("brand.heading")}

-

{i18n.t("brand.subtitle")}

- - -
-
- Kilo CLI brand guidelines -
- - -
-
-
- Kilo CLI brand guidelines -
- - -
-
-
- Kilo CLI brand guidelines -
- - -
-
-
- Kilo CLI brand guidelines -
- - -
-
-
- Kilo CLI brand guidelines -
- - -
-
-
- Kilo CLI brand guidelines -
- - -
-
-
-
-
-
-
- -
- ) -} diff --git a/packages/console/app/src/routes/changelog.json.ts b/packages/console/app/src/routes/changelog.json.ts deleted file mode 100644 index f06c1be9b..000000000 --- a/packages/console/app/src/routes/changelog.json.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { loadChangelog } from "~/lib/changelog" - -const cors = { - "Access-Control-Allow-Origin": "*", - "Access-Control-Allow-Methods": "GET, OPTIONS", - "Access-Control-Allow-Headers": "Content-Type, Authorization", -} - -const ok = "public, max-age=1, s-maxage=300, stale-while-revalidate=86400, stale-if-error=86400" -const error = "public, max-age=1, s-maxage=60, stale-while-revalidate=600, stale-if-error=86400" - -export async function GET() { - const result = await loadChangelog().catch(() => ({ ok: false, releases: [] })) - - return new Response(JSON.stringify({ releases: result.releases }), { - status: result.ok ? 200 : 503, - headers: { - "Content-Type": "application/json", - "Cache-Control": result.ok ? ok : error, - ...cors, - }, - }) -} - -export async function OPTIONS() { - return new Response(null, { - status: 200, - headers: cors, - }) -} diff --git a/packages/console/app/src/routes/changelog/index.css b/packages/console/app/src/routes/changelog/index.css deleted file mode 100644 index b441754a6..000000000 --- a/packages/console/app/src/routes/changelog/index.css +++ /dev/null @@ -1,604 +0,0 @@ -::selection { - background: var(--color-background-interactive); - color: var(--color-text-strong); - - @media (prefers-color-scheme: dark) { - background: var(--color-background-interactive); - color: var(--color-text-inverted); - } -} - -[data-page="changelog"] { - --color-background: hsl(0, 20%, 99%); - --color-background-weak: hsl(0, 8%, 97%); - --color-background-weak-hover: hsl(0, 8%, 94%); - --color-background-strong: hsl(0, 5%, 12%); - --color-background-strong-hover: hsl(0, 5%, 18%); - --color-background-interactive: hsl(62, 84%, 88%); - --color-background-interactive-weaker: hsl(64, 74%, 95%); - - --color-text: hsl(0, 1%, 39%); - --color-text-weak: hsl(0, 1%, 60%); - --color-text-weaker: hsl(30, 2%, 81%); - --color-text-strong: hsl(0, 5%, 12%); - --color-text-inverted: hsl(0, 20%, 99%); - - --color-border: hsl(30, 2%, 81%); - --color-border-weak: hsl(0, 1%, 85%); - - --color-icon: hsl(0, 1%, 55%); - - background: var(--color-background); - font-family: var(--font-mono); - color: var(--color-text); - padding-bottom: 5rem; - - @media (prefers-color-scheme: dark) { - --color-background: hsl(0, 9%, 7%); - --color-background-weak: hsl(0, 6%, 10%); - --color-background-weak-hover: hsl(0, 6%, 15%); - --color-background-strong: hsl(0, 15%, 94%); - --color-background-strong-hover: hsl(0, 15%, 97%); - --color-background-interactive: hsl(62, 100%, 90%); - --color-background-interactive-weaker: hsl(60, 20%, 8%); - - --color-text: hsl(0, 4%, 71%); - --color-text-weak: hsl(0, 2%, 49%); - --color-text-weaker: hsl(0, 3%, 28%); - --color-text-strong: hsl(0, 15%, 94%); - --color-text-inverted: hsl(0, 9%, 7%); - - --color-border: hsl(0, 3%, 28%); - --color-border-weak: hsl(0, 4%, 23%); - - --color-icon: hsl(10, 3%, 43%); - } - - /* Header styles - copied from download */ - [data-component="top"] { - padding: 24px 5rem; - height: 80px; - position: sticky; - top: 0; - display: flex; - justify-content: space-between; - align-items: center; - background: var(--color-background); - border-bottom: 1px solid var(--color-border-weak); - z-index: 10; - - @media (max-width: 60rem) { - padding: 24px 1.5rem; - } - - img { - height: 34px; - width: auto; - } - - [data-component="nav-desktop"] { - ul { - display: flex; - justify-content: space-between; - align-items: center; - gap: 48px; - - @media (max-width: 55rem) { - gap: 32px; - } - - @media (max-width: 48rem) { - gap: 24px; - } - li { - display: inline-block; - a { - text-decoration: none; - span { - color: var(--color-text-weak); - } - } - a:hover { - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - [data-slot="cta-button"] { - background: var(--color-background-strong); - color: var(--color-text-inverted); - padding: 8px 16px 8px 10px; - border-radius: 4px; - font-weight: 500; - text-decoration: none; - display: flex; - align-items: center; - gap: 8px; - white-space: nowrap; - - @media (max-width: 55rem) { - display: none; - } - } - [data-slot="cta-button"]:hover { - background: var(--color-background-strong-hover); - text-decoration: none; - } - } - } - - @media (max-width: 40rem) { - display: none; - } - } - - [data-component="nav-mobile"] { - button > svg { - color: var(--color-icon); - } - } - - [data-component="nav-mobile-toggle"] { - border: none; - background: none; - outline: none; - height: 40px; - width: 40px; - cursor: pointer; - margin-right: -8px; - } - - [data-component="nav-mobile-toggle"]:hover { - background: var(--color-background-weak); - } - - [data-component="nav-mobile"] { - display: none; - - @media (max-width: 40rem) { - display: block; - - [data-component="nav-mobile-icon"] { - cursor: pointer; - height: 40px; - width: 40px; - display: flex; - align-items: center; - justify-content: center; - } - - [data-component="nav-mobile-menu-list"] { - position: fixed; - background: var(--color-background); - top: 80px; - left: 0; - right: 0; - height: 100vh; - - ul { - list-style: none; - padding: 20px 0; - - li { - a { - text-decoration: none; - padding: 20px; - display: block; - - span { - color: var(--color-text-weak); - } - } - - a:hover { - background: var(--color-background-weak); - } - } - } - } - } - } - - [data-slot="logo dark"] { - display: none; - } - - @media (prefers-color-scheme: dark) { - [data-slot="logo light"] { - display: none; - } - [data-slot="logo dark"] { - display: block; - } - } - } - - [data-component="footer"] { - border-top: 1px solid var(--color-border-weak); - display: flex; - flex-direction: row; - margin-top: 4rem; - - @media (max-width: 65rem) { - border-bottom: 1px solid var(--color-border-weak); - } - - [data-slot="cell"] { - flex: 1; - text-align: center; - - a { - text-decoration: none; - padding: 2rem 0; - width: 100%; - display: block; - - span { - color: var(--color-text-weak); - - @media (max-width: 40rem) { - display: none; - } - } - } - - a:hover { - background: var(--color-background-weak); - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - } - - [data-slot="cell"] + [data-slot="cell"] { - border-left: 1px solid var(--color-border-weak); - - @media (max-width: 40rem) { - border-left: none; - } - } - - @media (max-width: 25rem) { - flex-wrap: wrap; - - [data-slot="cell"] { - flex: 1 0 100%; - border-left: none; - border-top: 1px solid var(--color-border-weak); - } - - [data-slot="cell"]:nth-child(1) { - border-top: none; - } - } - } - - [data-component="container"] { - max-width: 67.5rem; - margin: 0 auto; - border: 1px solid var(--color-border-weak); - border-top: none; - - @media (max-width: 65rem) { - border: none; - } - } - - [data-component="content"] { - padding: 6rem 5rem; - - @media (max-width: 60rem) { - padding: 4rem 1.5rem; - } - } - - [data-component="legal"] { - color: var(--color-text-weak); - text-align: center; - padding: 2rem 5rem; - display: flex; - gap: 32px; - justify-content: center; - - @media (max-width: 60rem) { - padding: 2rem 1.5rem; - } - - a { - color: var(--color-text-weak); - text-decoration: none; - } - - a:hover { - color: var(--color-text); - text-decoration: underline; - } - } - - /* Changelog Hero */ - [data-component="changelog-hero"] { - margin-bottom: 4rem; - padding-bottom: 2rem; - border-bottom: 1px solid var(--color-border-weak); - - @media (max-width: 50rem) { - margin-bottom: 2rem; - padding-bottom: 1.5rem; - } - - h1 { - font-size: 1.5rem; - font-weight: 700; - color: var(--color-text-strong); - margin-bottom: 8px; - } - - p { - color: var(--color-text); - } - } - - /* Releases */ - [data-component="releases"] { - display: flex; - flex-direction: column; - gap: 0; - } - - [data-component="release"] { - display: grid; - grid-template-columns: 180px 1fr; - gap: 3rem; - padding: 2rem 0; - border-bottom: 1px solid var(--color-border-weak); - - @media (max-width: 50rem) { - grid-template-columns: 1fr; - gap: 1rem; - } - - &:first-child { - padding-top: 0; - } - - &:last-child { - border-bottom: none; - } - - header { - display: flex; - flex-direction: column; - gap: 4px; - position: sticky; - top: 80px; - align-self: start; - background: var(--color-background); - padding: 44px 0 8px; - - @media (max-width: 50rem) { - position: static; - flex-direction: row; - align-items: center; - gap: 12px; - padding: 0; - } - - [data-slot="version"] { - a { - font-weight: 600; - color: var(--color-text-strong); - text-decoration: none; - - &:hover { - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - } - } - - time { - color: var(--color-text-weak); - font-size: 14px; - } - } - - [data-slot="content"] { - display: flex; - flex-direction: column; - gap: 1.5rem; - } - - [data-component="section"] { - h3 { - font-size: 13px; - font-weight: 600; - color: var(--color-text-strong); - margin-bottom: 6px; - } - - ul { - list-style: none; - padding: 0; - margin: 0; - padding-left: 16px; - display: flex; - flex-direction: column; - gap: 4px; - - li { - color: var(--color-text); - font-size: 13px; - line-height: 1.5; - padding-left: 12px; - position: relative; - - &::before { - content: "-"; - position: absolute; - left: 0; - color: var(--color-text-weak); - } - - [data-slot="author"] { - color: var(--color-text-weak); - font-size: 12px; - margin-left: 4px; - text-decoration: none; - - &:hover { - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - } - } - } - } - - [data-component="contributors"] { - font-size: 13px; - color: var(--color-text-weak); - padding-top: 0.5rem; - - span { - color: var(--color-text-weak); - } - - a { - color: var(--color-text); - text-decoration: none; - - &:hover { - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - } - } - - [data-component="highlights"] { - display: flex; - flex-direction: column; - gap: 3rem; - margin-bottom: 0.75rem; - } - - [data-component="collapsible-sections"] { - display: flex; - flex-direction: column; - gap: 0; - } - - [data-component="collapsible-section"] { - [data-slot="toggle"] { - display: flex; - align-items: center; - gap: 6px; - background: none; - border: none; - padding: 6px 0; - cursor: pointer; - font-family: inherit; - font-size: 13px; - font-weight: 600; - color: var(--color-text-weak); - - &:hover { - color: var(--color-text); - } - - [data-slot="icon"] { - font-size: 10px; - } - } - - ul { - list-style: none; - padding: 0; - margin: 0; - padding-left: 16px; - padding-bottom: 8px; - - li { - color: var(--color-text); - font-size: 13px; - line-height: 1.5; - padding-left: 12px; - position: relative; - - &::before { - content: "-"; - position: absolute; - left: 0; - color: var(--color-text-weak); - } - - [data-slot="author"] { - color: var(--color-text-weak); - font-size: 12px; - margin-left: 4px; - text-decoration: none; - - &:hover { - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - } - } - } - } - - [data-component="highlight"] { - h4 { - font-size: 14px; - font-weight: 600; - color: var(--color-text-strong); - margin-bottom: 8px; - } - - hr { - border: none; - border-top: 1px solid var(--color-border-weak); - margin-bottom: 16px; - } - - [data-slot="highlight-item"] { - margin-bottom: 48px; - - &:last-child { - margin-bottom: 0; - } - - p[data-slot="title"] { - font-weight: 600; - font-size: 16px; - margin-bottom: 4px; - } - - p { - font-size: 14px; - margin-bottom: 12px; - } - } - - img, - video { - max-width: 100%; - height: auto; - border-radius: 4px; - } - } - } - - a { - color: var(--color-text-strong); - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - - &:hover { - text-decoration-thickness: 2px; - } - } -} diff --git a/packages/console/app/src/routes/changelog/index.tsx b/packages/console/app/src/routes/changelog/index.tsx deleted file mode 100644 index 54f037479..000000000 --- a/packages/console/app/src/routes/changelog/index.tsx +++ /dev/null @@ -1,176 +0,0 @@ -import "./index.css" -import { Title, Meta } from "@solidjs/meta" -import { createAsync } from "@solidjs/router" -import { Header } from "~/component/header" -import { Footer } from "~/component/footer" -import { Legal } from "~/component/legal" -import { changelog } from "~/lib/changelog" -import type { HighlightGroup } from "~/lib/changelog" -import { For, Show, createSignal } from "solid-js" -import { useI18n } from "~/context/i18n" -import { useLanguage } from "~/context/language" -import { LocaleLinks } from "~/component/locale-links" - -function formatDate(dateString: string, locale: string) { - const date = new Date(dateString) - return date.toLocaleDateString(locale, { - year: "numeric", - month: "short", - day: "numeric", - }) -} - -function ReleaseItem(props: { item: string }) { - const parts = () => { - const match = props.item.match(/^(.+?)(\s*\(@([\w-]+)\))?$/) - if (match) { - return { - text: match[1], - username: match[3], - } - } - return { text: props.item, username: undefined } - } - - return ( -
  • - {parts().text} - - - (@{parts().username}) - - -
  • - ) -} - -function HighlightSection(props: { group: HighlightGroup }) { - return ( -
    -

    {props.group.source}

    -
    - - {(item) => ( -
    -

    {item.title}

    -

    {item.description}

    - - - - {item.title} - -
    - )} -
    -
    - ) -} - -function CollapsibleSection(props: { section: { title: string; items: string[] } }) { - const [open, setOpen] = createSignal(false) - - return ( -
    - - -
      - {(item) => } -
    -
    -
    - ) -} - -function CollapsibleSections(props: { sections: { title: string; items: string[] }[] }) { - return ( -
    - {(section) => } -
    - ) -} - -export default function Changelog() { - const i18n = useI18n() - const language = useLanguage() - const data = createAsync(() => changelog()) - const releases = () => data() ?? [] - - return ( -
    - {i18n.t("changelog.title")} - - - -
    -
    - -
    -
    -

    {i18n.t("changelog.hero.title")}

    -

    {i18n.t("changelog.hero.subtitle")}

    -
    - -
    - -

    - {i18n.t("changelog.empty")}{" "} - {i18n.t("changelog.viewJson")} -

    -
    - - {(release) => { - return ( -
    -
    - - -
    -
    - 0}> -
    - {(group) => } -
    -
    - 0 && release.sections.length > 0}> - - - - - {(section) => ( -
    -

    {section.title}

    -
      - {(item) => } -
    -
    - )} -
    -
    -
    -
    - ) - }} -
    -
    -
    - -
    -
    - - -
    - ) -} diff --git a/packages/console/app/src/routes/debug/index.ts b/packages/console/app/src/routes/debug/index.ts deleted file mode 100644 index 2bdd269e7..000000000 --- a/packages/console/app/src/routes/debug/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { APIEvent } from "@solidjs/start/server" -import { json } from "@solidjs/router" -import { Database } from "@opencode-ai/console-core/drizzle/index.js" -import { UserTable } from "@opencode-ai/console-core/schema/user.sql.js" - -export async function GET(evt: APIEvent) { - return json({ - data: await Database.use(async (tx) => { - const result = await tx.$count(UserTable) - return result - }), - }) -} diff --git a/packages/console/app/src/routes/desktop-feedback.ts b/packages/console/app/src/routes/desktop-feedback.ts deleted file mode 100644 index 1916cdb4c..000000000 --- a/packages/console/app/src/routes/desktop-feedback.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { redirect } from "@solidjs/router" - -export async function GET() { - return redirect("https://discord.gg/h5TNnkFVNy") -} diff --git a/packages/console/app/src/routes/discord.ts b/packages/console/app/src/routes/discord.ts deleted file mode 100644 index 7088295da..000000000 --- a/packages/console/app/src/routes/discord.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { redirect } from "@solidjs/router" - -export async function GET() { - return redirect("https://discord.gg/opencode") -} diff --git a/packages/console/app/src/routes/docs/[...path].ts b/packages/console/app/src/routes/docs/[...path].ts deleted file mode 100644 index bbe07f1f0..000000000 --- a/packages/console/app/src/routes/docs/[...path].ts +++ /dev/null @@ -1,28 +0,0 @@ -import type { APIEvent } from "@solidjs/start/server" -import { Resource } from "@opencode-ai/console-resource" -import { docs, localeFromRequest, tag } from "~/lib/language" - -async function handler(evt: APIEvent) { - const req = evt.request.clone() - const url = new URL(req.url) - const locale = localeFromRequest(req) - const host = Resource.App.stage === "production" ? "docs.opencode.ai" : "docs.dev.opencode.ai" - const targetUrl = `https://${host}${docs(locale, url.pathname)}${url.search}` - - const headers = new Headers(req.headers) - headers.set("accept-language", tag(locale)) - - const response = await fetch(targetUrl, { - method: req.method, - headers, - body: req.body, - }) - return response -} - -export const GET = handler -export const POST = handler -export const PUT = handler -export const DELETE = handler -export const OPTIONS = handler -export const PATCH = handler diff --git a/packages/console/app/src/routes/docs/index.ts b/packages/console/app/src/routes/docs/index.ts deleted file mode 100644 index bbe07f1f0..000000000 --- a/packages/console/app/src/routes/docs/index.ts +++ /dev/null @@ -1,28 +0,0 @@ -import type { APIEvent } from "@solidjs/start/server" -import { Resource } from "@opencode-ai/console-resource" -import { docs, localeFromRequest, tag } from "~/lib/language" - -async function handler(evt: APIEvent) { - const req = evt.request.clone() - const url = new URL(req.url) - const locale = localeFromRequest(req) - const host = Resource.App.stage === "production" ? "docs.opencode.ai" : "docs.dev.opencode.ai" - const targetUrl = `https://${host}${docs(locale, url.pathname)}${url.search}` - - const headers = new Headers(req.headers) - headers.set("accept-language", tag(locale)) - - const response = await fetch(targetUrl, { - method: req.method, - headers, - body: req.body, - }) - return response -} - -export const GET = handler -export const POST = handler -export const PUT = handler -export const DELETE = handler -export const OPTIONS = handler -export const PATCH = handler diff --git a/packages/console/app/src/routes/download/[platform].ts b/packages/console/app/src/routes/download/[platform].ts deleted file mode 100644 index 2fe067df2..000000000 --- a/packages/console/app/src/routes/download/[platform].ts +++ /dev/null @@ -1,38 +0,0 @@ -import { APIEvent } from "@solidjs/start" -import { DownloadPlatform } from "./types" - -const assetNames: Record = { - "darwin-aarch64-dmg": "kilo-desktop-darwin-aarch64.dmg", - "darwin-x64-dmg": "kilo-desktop-darwin-x64.dmg", - "windows-x64-nsis": "kilo-desktop-windows-x64.exe", - "linux-x64-deb": "kilo-desktop-linux-amd64.deb", - "linux-x64-appimage": "kilo-desktop-linux-amd64.AppImage", - "linux-x64-rpm": "kilo-desktop-linux-x86_64.rpm", -} satisfies Record - -// Doing this on the server lets us preserve the original name for platforms we don't care to rename for -const downloadNames: Record = { - "darwin-aarch64-dmg": "Kilo Desktop.dmg", - "darwin-x64-dmg": "Kilo Desktop.dmg", - "windows-x64-nsis": "Kilo Desktop Installer.exe", -} satisfies { [K in DownloadPlatform]?: string } - -export async function GET({ params: { platform } }: APIEvent) { - const assetName = assetNames[platform] - if (!assetName) return new Response("Not Found", { status: 404 }) - - const resp = await fetch(`https://github.com/Kilo-Org/kilo/releases/latest/download/${assetName}`, { - cf: { - // in case gh releases has rate limits - cacheTtl: 60 * 5, - cacheEverything: true, - }, - } as any) - - const downloadName = downloadNames[platform] - - const headers = new Headers(resp.headers) - if (downloadName) headers.set("content-disposition", `attachment; filename="${downloadName}"`) - - return new Response(resp.body, { ...resp, headers }) -} diff --git a/packages/console/app/src/routes/download/index.css b/packages/console/app/src/routes/download/index.css deleted file mode 100644 index 41bb55eee..000000000 --- a/packages/console/app/src/routes/download/index.css +++ /dev/null @@ -1,751 +0,0 @@ -::selection { - background: var(--color-background-interactive); - color: var(--color-text-strong); - - @media (prefers-color-scheme: dark) { - background: var(--color-background-interactive); - color: var(--color-text-inverted); - } -} - -[data-page="download"] { - --color-background: hsl(0, 20%, 99%); - --color-background-weak: hsl(0, 8%, 97%); - --color-background-weak-hover: hsl(0, 8%, 94%); - --color-background-strong: hsl(0, 5%, 12%); - --color-background-strong-hover: hsl(0, 5%, 18%); - --color-background-interactive: hsl(62, 84%, 88%); - --color-background-interactive-weaker: hsl(64, 74%, 95%); - - --color-text: hsl(0, 1%, 39%); - --color-text-weak: hsl(0, 1%, 60%); - --color-text-weaker: hsl(30, 2%, 81%); - --color-text-strong: hsl(0, 5%, 12%); - --color-text-inverted: hsl(0, 20%, 99%); - --color-text-success: hsl(119, 100%, 35%); - - --color-border: hsl(30, 2%, 81%); - --color-border-weak: hsl(0, 1%, 85%); - - --color-icon: hsl(0, 1%, 55%); - --color-success: hsl(142, 76%, 36%); - - background: var(--color-background); - font-family: var(--font-mono); - color: var(--color-text); - padding-bottom: 5rem; - - @media (prefers-color-scheme: dark) { - --color-background: hsl(0, 9%, 7%); - --color-background-weak: hsl(0, 6%, 10%); - --color-background-weak-hover: hsl(0, 6%, 15%); - --color-background-strong: hsl(0, 15%, 94%); - --color-background-strong-hover: hsl(0, 15%, 97%); - --color-background-interactive: hsl(62, 100%, 90%); - --color-background-interactive-weaker: hsl(60, 20%, 8%); - - --color-text: hsl(0, 4%, 71%); - --color-text-weak: hsl(0, 2%, 49%); - --color-text-weaker: hsl(0, 3%, 28%); - --color-text-strong: hsl(0, 15%, 94%); - --color-text-inverted: hsl(0, 9%, 7%); - --color-text-success: hsl(119, 60%, 72%); - - --color-border: hsl(0, 3%, 28%); - --color-border-weak: hsl(0, 4%, 23%); - - --color-icon: hsl(10, 3%, 43%); - --color-success: hsl(142, 76%, 46%); - } - - /* Header and Footer styles - copied from enterprise */ - [data-component="top"] { - padding: 24px 5rem; - height: 80px; - position: sticky; - top: 0; - display: flex; - justify-content: space-between; - align-items: center; - background: var(--color-background); - border-bottom: 1px solid var(--color-border-weak); - z-index: 10; - - @media (max-width: 60rem) { - padding: 24px 1.5rem; - } - - img { - height: 34px; - width: auto; - } - - [data-component="nav-desktop"] { - ul { - display: flex; - justify-content: space-between; - align-items: center; - gap: 48px; - - @media (max-width: 55rem) { - gap: 32px; - } - - @media (max-width: 48rem) { - gap: 24px; - } - li { - display: inline-block; - a { - text-decoration: none; - span { - color: var(--color-text-weak); - } - } - a:hover { - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - [data-slot="cta-button"] { - background: var(--color-background-strong); - color: var(--color-text-inverted); - padding: 8px 16px; - border-radius: 4px; - font-weight: 500; - text-decoration: none; - white-space: nowrap; - - @media (max-width: 55rem) { - display: none; - } - } - [data-slot="cta-button"]:hover { - background: var(--color-background-strong-hover); - text-decoration: none; - } - } - } - - @media (max-width: 40rem) { - display: none; - } - } - - [data-component="nav-mobile"] { - button > svg { - color: var(--color-icon); - } - } - - [data-component="nav-mobile-toggle"] { - border: none; - background: none; - outline: none; - height: 40px; - width: 40px; - cursor: pointer; - margin-right: -8px; - } - - [data-component="nav-mobile-toggle"]:hover { - background: var(--color-background-weak); - } - - [data-component="nav-mobile"] { - display: none; - - @media (max-width: 40rem) { - display: block; - - [data-component="nav-mobile-icon"] { - cursor: pointer; - height: 40px; - width: 40px; - display: flex; - align-items: center; - justify-content: center; - } - - [data-component="nav-mobile-menu-list"] { - position: fixed; - background: var(--color-background); - top: 80px; - left: 0; - right: 0; - height: 100vh; - - ul { - list-style: none; - padding: 20px 0; - - li { - a { - text-decoration: none; - padding: 20px; - display: block; - - span { - color: var(--color-text-weak); - } - } - - a:hover { - background: var(--color-background-weak); - } - } - } - } - } - } - - [data-slot="logo dark"] { - display: none; - } - - @media (prefers-color-scheme: dark) { - [data-slot="logo light"] { - display: none; - } - [data-slot="logo dark"] { - display: block; - } - } - } - - [data-component="footer"] { - border-top: 1px solid var(--color-border-weak); - display: flex; - flex-direction: row; - - @media (max-width: 65rem) { - border-bottom: 1px solid var(--color-border-weak); - } - - [data-slot="cell"] { - flex: 1; - text-align: center; - - a { - text-decoration: none; - padding: 2rem 0; - width: 100%; - display: block; - - span { - color: var(--color-text-weak); - - @media (max-width: 40rem) { - display: none; - } - } - } - - a:hover { - background: var(--color-background-weak); - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - } - - [data-slot="cell"] + [data-slot="cell"] { - border-left: 1px solid var(--color-border-weak); - - @media (max-width: 40rem) { - border-left: none; - } - } - - @media (max-width: 25rem) { - flex-wrap: wrap; - - [data-slot="cell"] { - flex: 1 0 100%; - border-left: none; - border-top: 1px solid var(--color-border-weak); - } - - [data-slot="cell"]:nth-child(1) { - border-top: none; - } - } - } - - [data-component="container"] { - max-width: 67.5rem; - margin: 0 auto; - border: 1px solid var(--color-border-weak); - border-top: none; - - @media (max-width: 65rem) { - border: none; - } - } - - [data-component="content"] { - padding: 6rem 5rem; - - @media (max-width: 60rem) { - padding: 4rem 1.5rem; - } - } - - [data-component="legal"] { - color: var(--color-text-weak); - text-align: center; - padding: 2rem 5rem; - display: flex; - gap: 32px; - justify-content: center; - - @media (max-width: 60rem) { - padding: 2rem 1.5rem; - } - - a { - color: var(--color-text-weak); - text-decoration: none; - } - - a:hover { - color: var(--color-text); - text-decoration: underline; - } - } - - /* Download Hero Section */ - [data-component="download-hero"] { - display: grid; - grid-template-columns: 260px 1fr; - gap: 4rem; - padding-bottom: 2rem; - margin-bottom: 4rem; - - @media (max-width: 50rem) { - grid-template-columns: 1fr; - gap: 1.5rem; - padding-bottom: 2rem; - margin-bottom: 2rem; - } - - [data-component="hero-icon"] { - display: flex; - justify-content: flex-end; - align-items: center; - - @media (max-width: 40rem) { - display: none; - } - - [data-slot="icon-placeholder"] { - width: 120px; - height: 120px; - background: var(--color-background-weak); - border: 1px solid var(--color-border-weak); - border-radius: 24px; - - @media (max-width: 50rem) { - width: 80px; - height: 80px; - } - } - - img { - width: 120px; - height: 120px; - border-radius: 24px; - box-shadow: - 0 1.467px 2.847px 0 rgba(0, 0, 0, 0.42), - 0 0.779px 1.512px 0 rgba(0, 0, 0, 0.34), - 0 0.324px 0.629px 0 rgba(0, 0, 0, 0.24); - - @media (max-width: 50rem) { - width: 80px; - height: 80px; - border-radius: 16px; - } - } - - @media (max-width: 50rem) { - justify-content: flex-start; - } - } - - [data-component="hero-text"] { - display: flex; - flex-direction: column; - justify-content: center; - - h1 { - font-size: 1.5rem; - font-weight: 700; - color: var(--color-text-strong); - margin-bottom: 4px; - - @media (max-width: 40rem) { - margin-bottom: 1rem; - } - } - - p { - color: var(--color-text); - margin-bottom: 12px; - - @media (max-width: 40rem) { - margin-bottom: 2.5rem; - line-height: 1.6; - } - } - - [data-component="download-button"] { - padding: 8px 20px 8px 16px; - background: var(--color-background-strong); - color: var(--color-text-inverted); - border: none; - border-radius: 4px; - font-weight: 500; - cursor: pointer; - display: inline-flex; - align-items: center; - gap: 10px; - transition: all 0.2s ease; - text-decoration: none; - width: fit-content; - - &:hover:not(:disabled) { - background: var(--color-background-strong-hover); - } - - &:active { - transform: scale(0.98); - } - - &:disabled { - opacity: 0.6; - cursor: not-allowed; - } - } - } - } - - /* Download Sections */ - [data-component="download-section"] { - display: grid; - grid-template-columns: 260px 1fr; - gap: 4rem; - margin-bottom: 4rem; - - @media (max-width: 50rem) { - grid-template-columns: 1fr; - gap: 1rem; - margin-bottom: 3rem; - } - - &:last-child { - margin-bottom: 0; - } - - [data-component="section-label"] { - font-weight: 500; - color: var(--color-text-strong); - padding-top: 1rem; - - span { - color: var(--color-text-weaker); - } - - @media (max-width: 50rem) { - padding-top: 0; - padding-bottom: 0.5rem; - } - } - - [data-component="section-content"] { - display: flex; - flex-direction: column; - gap: 0; - } - } - - /* CLI Rows */ - button[data-component="cli-row"] { - display: flex; - align-items: center; - gap: 12px; - padding: 1rem 0.5rem 1rem 1.5rem; - margin: 0 -0.5rem 0 -1.5rem; - background: none; - border: none; - border-radius: 4px; - width: calc(100% + 2rem); - text-align: left; - cursor: pointer; - transition: background 0.15s ease; - - &:hover { - background: var(--color-background-weak); - } - - code { - font-family: var(--font-mono); - color: var(--color-text-weak); - - strong { - color: var(--color-text-strong); - font-weight: 500; - } - } - - [data-component="copy-status"] { - display: flex; - align-items: center; - opacity: 0; - transition: opacity 0.15s ease; - color: var(--color-icon); - - svg { - width: 18px; - height: 18px; - } - - [data-slot="copy"] { - display: block; - } - - [data-slot="check"] { - display: none; - } - } - - &:hover [data-component="copy-status"] { - opacity: 1; - } - - &[data-copied] [data-component="copy-status"] { - opacity: 1; - - [data-slot="copy"] { - display: none; - } - - [data-slot="check"] { - display: block; - } - } - } - - /* Download Rows */ - [data-component="download-row"] { - display: flex; - justify-content: space-between; - align-items: center; - padding: 0.75rem 0.5rem 0.75rem 1.5rem; - margin: 0 -0.5rem 0 -1.5rem; - border-radius: 4px; - transition: background 0.15s ease; - - &:hover { - background: var(--color-background-weak); - } - - [data-component="download-info"] { - display: flex; - align-items: center; - gap: 0.75rem; - - [data-slot="icon"] { - width: 20px; - height: 20px; - display: flex; - align-items: center; - justify-content: center; - color: var(--color-icon); - - svg { - width: 20px; - height: 20px; - } - - img { - width: 20px; - height: 20px; - } - } - - span { - color: var(--color-text); - } - } - - [data-component="action-button"] { - padding: 6px 16px; - background: var(--color-background); - color: var(--color-text); - border: 1px solid var(--color-border); - border-radius: 4px; - font-weight: 500; - cursor: pointer; - text-decoration: none; - transition: all 0.2s ease; - - &:hover { - background: var(--color-background-weak); - border-color: var(--color-border); - text-decoration: none; - } - - &:active { - transform: scale(0.98); - } - } - } - - a { - color: var(--color-text-strong); - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - - &:hover { - text-decoration-thickness: 2px; - } - } - - /* Narrow screen font sizes */ - @media (max-width: 40rem) { - [data-component="download-section"] { - [data-component="section-label"] { - font-size: 14px; - } - } - - button[data-component="cli-row"] { - margin: 0; - padding: 1rem 0; - width: 100%; - overflow: hidden; - - code { - font-size: 14px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - display: block; - max-width: calc(100vw - 80px); - } - - [data-component="copy-status"] { - opacity: 1 !important; - flex-shrink: 0; - } - } - - [data-component="download-row"] { - margin: 0; - padding: 0.75rem 0; - - [data-component="download-info"] span { - font-size: 14px; - } - - [data-component="action-button"] { - font-size: 14px; - padding-left: 8px; - padding-right: 8px; - } - } - } - - @media (max-width: 22.5rem) { - [data-slot="hide-narrow"] { - display: none; - } - } - - /* FAQ Section */ - [data-component="faq"] { - border-top: 1px solid var(--color-border-weak); - padding: 4rem 5rem; - margin-top: 4rem; - - @media (max-width: 60rem) { - padding: 3rem 1.5rem; - margin-top: 3rem; - } - - [data-slot="section-title"] { - margin-bottom: 24px; - - h3 { - font-size: 16px; - font-weight: 700; - color: var(--color-text-strong); - margin-bottom: 12px; - } - } - - ul { - padding: 0; - - li { - list-style: none; - margin-bottom: 24px; - line-height: 200%; - } - } - - [data-slot="faq-question"] { - display: flex; - gap: 16px; - margin-bottom: 8px; - color: var(--color-text-strong); - font-weight: 500; - cursor: pointer; - background: none; - border: none; - padding: 0; - align-items: start; - min-height: 24px; - - svg { - margin-top: 2px; - } - - [data-slot="faq-icon-plus"] { - flex-shrink: 0; - color: var(--color-text-weak); - margin-top: 2px; - - [data-closed] & { - display: block; - } - [data-expanded] & { - display: none; - } - } - [data-slot="faq-icon-minus"] { - flex-shrink: 0; - color: var(--color-text-weak); - margin-top: 2px; - - [data-closed] & { - display: none; - } - [data-expanded] & { - display: block; - } - } - [data-slot="faq-question-text"] { - flex-grow: 1; - text-align: left; - } - } - - [data-slot="faq-answer"] { - margin-left: 40px; - margin-bottom: 32px; - line-height: 200%; - } - } -} diff --git a/packages/console/app/src/routes/download/index.tsx b/packages/console/app/src/routes/download/index.tsx deleted file mode 100644 index e5e4e9750..000000000 --- a/packages/console/app/src/routes/download/index.tsx +++ /dev/null @@ -1,486 +0,0 @@ -import "./index.css" -import { Title, Meta } from "@solidjs/meta" -import { A, createAsync, query } from "@solidjs/router" -import { Header } from "~/component/header" -import { Footer } from "~/component/footer" -import { IconCopy, IconCheck } from "~/component/icon" -import { Faq } from "~/component/faq" -import desktopAppIcon from "../../asset/lander/opencode-desktop-icon.png" -import { Legal } from "~/component/legal" -import { config } from "~/config" -import { createSignal, onMount, Show, JSX } from "solid-js" -import { DownloadPlatform } from "./types" -import { useI18n } from "~/context/i18n" -import { useLanguage } from "~/context/language" -import { LocaleLinks } from "~/component/locale-links" - -type OS = "macOS" | "Windows" | "Linux" | null - -function detectOS(): OS { - if (typeof navigator === "undefined") return null - const platform = navigator.platform.toLowerCase() - const userAgent = navigator.userAgent.toLowerCase() - - if (platform.includes("mac") || userAgent.includes("mac")) return "macOS" - if (platform.includes("win") || userAgent.includes("win")) return "Windows" - if (platform.includes("linux") || userAgent.includes("linux")) return "Linux" - return null -} - -function getDownloadPlatform(os: OS): DownloadPlatform { - switch (os) { - case "macOS": - return "darwin-aarch64-dmg" - case "Windows": - return "windows-x64-nsis" - case "Linux": - return "linux-x64-deb" - default: - return "darwin-aarch64-dmg" - } -} - -function getDownloadHref(platform: DownloadPlatform) { - return `/download/${platform}` -} - -function IconDownload(props: JSX.SvgSVGAttributes) { - return ( - - - - ) -} - -function CopyStatus() { - return ( - - - - - ) -} - -export default function Download() { - const i18n = useI18n() - const language = useLanguage() - const [detectedOS, setDetectedOS] = createSignal(null) - - onMount(() => { - setDetectedOS(detectOS()) - }) - - const handleCopyClick = (command: string) => (event: Event) => { - const button = event.currentTarget as HTMLButtonElement - navigator.clipboard.writeText(command) - button.setAttribute("data-copied", "") - setTimeout(() => { - button.removeAttribute("data-copied") - }, 1500) - } - return ( -
    - {i18n.t("download.title")} - - -
    -
    - -
    -
    -
    - -
    -
    -

    {i18n.t("download.hero.title")}

    -

    {i18n.t("download.hero.subtitle")}

    - - - - {i18n.t("download.hero.button", { os: detectedOS()! })} - - -
    -
    - -
    -
    - [1] {i18n.t("download.section.terminal")} -
    -
    - - - - - -
    -
    - -
    -
    - [2] {i18n.t("download.section.desktop")} -
    -
    - -
    -
    - - - - - - {i18n.t("download.platform.macosAppleSilicon")} -
    - - {i18n.t("download.action.download")} - -
    -
    -
    - - - - - - {i18n.t("download.platform.macosIntel")} -
    - - {i18n.t("download.action.download")} - -
    -
    -
    - - - - - - - - - - - - - {i18n.t("download.platform.windowsX64")} -
    - - {i18n.t("download.action.download")} - -
    -
    -
    - - - - - - {i18n.t("download.platform.linuxDeb")} -
    - - {i18n.t("download.action.download")} - -
    -
    -
    - - - - - - {i18n.t("download.platform.linuxRpm")} -
    - - {i18n.t("download.action.download")} - -
    - {/* Disabled temporarily as it doesn't work */} - {/*
    -
    - - - - - - Linux (.AppImage) -
    - - Download - -
    */} -
    -
    - -
    -
    - [3] {i18n.t("download.section.extensions")} -
    -
    -
    -
    - - - - - - - - - - - - - VS Code -
    - - {i18n.t("download.action.install")} - -
    - -
    -
    - - - - - - - - - - - - - Cursor -
    - - {i18n.t("download.action.install")} - -
    - - - -
    -
    - - - - - - Windsurf -
    - - {i18n.t("download.action.install")} - -
    - -
    -
    - - - - - - VSCodium -
    - - {i18n.t("download.action.install")} - -
    -
    -
    - -
    -
    - [4] {i18n.t("download.section.integrations")} -
    -
    - - - -
    -
    -
    - -
    -
    -

    {i18n.t("common.faq")}

    -
    - -
    - -
    -
    - -
    - ) -} diff --git a/packages/console/app/src/routes/download/types.ts b/packages/console/app/src/routes/download/types.ts deleted file mode 100644 index 916f97022..000000000 --- a/packages/console/app/src/routes/download/types.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type DownloadPlatform = - | `darwin-${"x64" | "aarch64"}-dmg` - | "windows-x64-nsis" - | `linux-x64-${"deb" | "rpm" | "appimage"}` diff --git a/packages/console/app/src/routes/enterprise/index.css b/packages/console/app/src/routes/enterprise/index.css deleted file mode 100644 index d42a817e6..000000000 --- a/packages/console/app/src/routes/enterprise/index.css +++ /dev/null @@ -1,579 +0,0 @@ -::selection { - background: var(--color-background-interactive); - color: var(--color-text-strong); - - @media (prefers-color-scheme: dark) { - background: var(--color-background-interactive); - color: var(--color-text-inverted); - } -} - -[data-page="enterprise"] { - --color-background: hsl(0, 20%, 99%); - --color-background-weak: hsl(0, 8%, 97%); - --color-background-weak-hover: hsl(0, 8%, 94%); - --color-background-strong: hsl(0, 5%, 12%); - --color-background-strong-hover: hsl(0, 5%, 18%); - --color-background-interactive: hsl(62, 84%, 88%); - --color-background-interactive-weaker: hsl(64, 74%, 95%); - - --color-text: hsl(0, 1%, 39%); - --color-text-weak: hsl(0, 1%, 60%); - --color-text-weaker: hsl(30, 2%, 81%); - --color-text-strong: hsl(0, 5%, 12%); - --color-text-inverted: hsl(0, 20%, 99%); - --color-text-success: hsl(119, 100%, 35%); - - --color-border: hsl(30, 2%, 81%); - --color-border-weak: hsl(0, 1%, 85%); - - --color-icon: hsl(0, 1%, 55%); - --color-success: hsl(142, 76%, 36%); - - background: var(--color-background); - font-family: var(--font-mono); - color: var(--color-text); - padding-bottom: 5rem; - - @media (prefers-color-scheme: dark) { - --color-background: hsl(0, 9%, 7%); - --color-background-weak: hsl(0, 6%, 10%); - --color-background-weak-hover: hsl(0, 6%, 15%); - --color-background-strong: hsl(0, 15%, 94%); - --color-background-strong-hover: hsl(0, 15%, 97%); - --color-background-interactive: hsl(62, 100%, 90%); - --color-background-interactive-weaker: hsl(60, 20%, 8%); - - --color-text: hsl(0, 4%, 71%); - --color-text-weak: hsl(0, 2%, 49%); - --color-text-weaker: hsl(0, 3%, 28%); - --color-text-strong: hsl(0, 15%, 94%); - --color-text-inverted: hsl(0, 9%, 7%); - --color-text-success: hsl(119, 60%, 72%); - - --color-border: hsl(0, 3%, 28%); - --color-border-weak: hsl(0, 4%, 23%); - - --color-icon: hsl(10, 3%, 43%); - --color-success: hsl(142, 76%, 46%); - } - - /* Header and Footer styles - copied from index.css */ - [data-component="top"] { - padding: 24px 5rem; - height: 80px; - position: sticky; - top: 0; - display: flex; - justify-content: space-between; - align-items: center; - background: var(--color-background); - border-bottom: 1px solid var(--color-border-weak); - z-index: 10; - - @media (max-width: 60rem) { - padding: 24px 1.5rem; - } - - img { - height: 34px; - width: auto; - } - - [data-component="nav-desktop"] { - ul { - display: flex; - justify-content: space-between; - align-items: center; - gap: 48px; - - @media (max-width: 55rem) { - gap: 32px; - } - - @media (max-width: 48rem) { - gap: 24px; - } - li { - display: inline-block; - a { - text-decoration: none; - span { - color: var(--color-text-weak); - } - } - a:hover { - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - [data-slot="cta-button"] { - background: var(--color-background-strong); - color: var(--color-text-inverted); - padding: 8px 16px 8px 10px; - border-radius: 4px; - font-weight: 500; - text-decoration: none; - display: flex; - align-items: center; - gap: 8px; - white-space: nowrap; - - @media (max-width: 55rem) { - display: none; - } - } - [data-slot="cta-button"]:hover { - background: var(--color-background-strong-hover); - text-decoration: none; - } - } - } - - @media (max-width: 40rem) { - display: none; - } - } - - [data-component="nav-mobile"] { - button > svg { - color: var(--color-icon); - } - } - - [data-component="nav-mobile-toggle"] { - border: none; - background: none; - outline: none; - height: 40px; - width: 40px; - cursor: pointer; - margin-right: -8px; - } - - [data-component="nav-mobile-toggle"]:hover { - background: var(--color-background-weak); - } - - [data-component="nav-mobile"] { - display: none; - - @media (max-width: 40rem) { - display: block; - - [data-component="nav-mobile-icon"] { - cursor: pointer; - height: 40px; - width: 40px; - display: flex; - align-items: center; - justify-content: center; - } - - [data-component="nav-mobile-menu-list"] { - position: fixed; - background: var(--color-background); - top: 80px; - left: 0; - right: 0; - height: 100vh; - - ul { - list-style: none; - padding: 20px 0; - - li { - a { - text-decoration: none; - padding: 20px; - display: block; - - span { - color: var(--color-text-weak); - } - } - - a:hover { - background: var(--color-background-weak); - } - } - } - } - } - } - - [data-slot="logo dark"] { - display: none; - } - - @media (prefers-color-scheme: dark) { - [data-slot="logo light"] { - display: none; - } - [data-slot="logo dark"] { - display: block; - } - } - } - - [data-component="footer"] { - border-top: 1px solid var(--color-border-weak); - display: flex; - flex-direction: row; - - @media (max-width: 65rem) { - border-bottom: 1px solid var(--color-border-weak); - } - - [data-slot="cell"] { - flex: 1; - text-align: center; - - a { - text-decoration: none; - padding: 2rem 0; - width: 100%; - display: block; - - span { - color: var(--color-text-weak); - - @media (max-width: 40rem) { - display: none; - } - } - } - - a:hover { - background: var(--color-background-weak); - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - } - } - - [data-slot="cell"] + [data-slot="cell"] { - border-left: 1px solid var(--color-border-weak); - - @media (max-width: 40rem) { - border-left: none; - } - } - - /* Mobile: third column on its own row */ - @media (max-width: 25rem) { - flex-wrap: wrap; - - [data-slot="cell"] { - flex: 1 0 100%; - border-left: none; - border-top: 1px solid var(--color-border-weak); - } - - [data-slot="cell"]:nth-child(1) { - border-top: none; - } - } - } - - [data-component="container"] { - max-width: 67.5rem; - margin: 0 auto; - border: 1px solid var(--color-border-weak); - border-top: none; - - @media (max-width: 65rem) { - border: none; - } - } - - [data-component="content"] { - } - - [data-component="enterprise-content"] { - padding: 4rem 0; - - @media (max-width: 60rem) { - padding: 2rem 0; - } - } - - [data-component="enterprise-columns"] { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 4rem; - padding: 4rem 5rem; - - @media (max-width: 80rem) { - gap: 3rem; - } - - @media (max-width: 60rem) { - grid-template-columns: 1fr; - gap: 3rem; - padding: 2rem 1.5rem; - } - } - - [data-component="enterprise-column-1"] { - h1 { - font-size: 1.5rem; - font-weight: 700; - color: var(--color-text-strong); - margin-bottom: 1rem; - } - - h3 { - font-size: 1.25rem; - font-weight: 500; - color: var(--color-text-strong); - margin: 2rem 0 1rem 0; - } - - p { - line-height: 1.6; - margin-bottom: 1.5rem; - color: var(--color-text); - } - - [data-component="testimonial"] { - margin-top: 4rem; - font-weight: 500; - color: var(--color-text-strong); - - [data-component="quotation"] { - svg { - margin-bottom: 1rem; - opacity: 20%; - } - } - - [data-component="testimonial-logo"] { - svg { - margin-top: 1.5rem; - } - } - } - } - - [data-component="enterprise-column-2"] { - [data-component="enterprise-form"] { - padding: 0; - - h2 { - font-size: 1.5rem; - font-weight: 500; - color: var(--color-text-strong); - margin-bottom: 1.5rem; - } - - [data-component="form-group"] { - margin-bottom: 1.5rem; - - label { - display: block; - font-weight: 500; - color: var(--color-text-weak); - margin-bottom: 0.5rem; - font-size: 0.875rem; - } - - input:-webkit-autofill, - input:-webkit-autofill:hover, - input:-webkit-autofill:focus, - input:-webkit-autofill:active { - transition: background-color 5000000s ease-in-out 0s; - } - - input:-webkit-autofill { - -webkit-text-fill-color: var(--color-text-strong) !important; - } - - input:-moz-autofill { - -moz-text-fill-color: var(--color-text-strong) !important; - } - - input, - textarea { - width: 100%; - padding: 0.75rem; - border: 1px solid var(--color-border-weak); - border-radius: 4px; - background: var(--color-background-weak); - color: var(--color-text-strong); - font-family: inherit; - - &::placeholder { - color: var(--color-text-weak); - } - - &:focus { - background: var(--color-background-interactive-weaker); - outline: none; - border: none; - color: var(--color-text-strong); - border: 1px solid var(--color-background-strong); - box-shadow: 0 0 0 3px var(--color-background-interactive); - - @media (prefers-color-scheme: dark) { - box-shadow: none; - border: 1px solid var(--color-background-interactive); - } - } - } - - textarea { - resize: vertical; - min-height: 120px; - } - } - - [data-component="submit-button"] { - padding: 0.5rem 1.5rem; - background: var(--color-background-strong); - color: var(--color-text-inverted); - border: none; - border-radius: 4px; - font-weight: 500; - cursor: pointer; - transition: background-color 0.2s ease; - - &:hover:not(:disabled) { - background: var(--color-background-strong-hover); - } - - &:disabled { - opacity: 0.6; - cursor: not-allowed; - } - } - - [data-component="success-message"] { - margin-top: 1rem; - padding: 1rem 0; - color: var(--color-text-success); - text-align: left; - } - } - } - - [data-component="faq"] { - border-top: 1px solid var(--color-border-weak); - padding: 4rem 5rem; - - @media (max-width: 60rem) { - padding: 2rem 1.5rem; - } - - [data-slot="section-title"] { - margin-bottom: 24px; - - h3 { - font-size: 16px; - font-weight: 700; - color: var(--color-text-strong); - margin-bottom: 12px; - } - - p { - margin-bottom: 12px; - color: var(--color-text); - } - } - - ul { - padding: 0; - - li { - list-style: none; - margin-bottom: 24px; - line-height: 200%; - - @media (max-width: 60rem) { - line-height: 180%; - } - } - } - - [data-slot="faq-question"] { - display: flex; - gap: 16px; - margin-bottom: 8px; - color: var(--color-text-strong); - font-weight: 500; - cursor: pointer; - background: none; - border: none; - padding: 0; - - [data-slot="faq-icon-plus"] { - flex-shrink: 0; - color: var(--color-text-weak); - margin-top: 2px; - - [data-closed] & { - display: block; - } - [data-expanded] & { - display: none; - } - } - [data-slot="faq-icon-minus"] { - flex-shrink: 0; - color: var(--color-text-weak); - margin-top: 2px; - - [data-closed] & { - display: none; - } - [data-expanded] & { - display: block; - } - } - [data-slot="faq-question-text"] { - flex-grow: 1; - text-align: left; - } - } - - [data-slot="faq-answer"] { - margin-left: 40px; - margin-bottom: 32px; - color: var(--color-text); - } - } - - [data-component="legal"] { - color: var(--color-text-weak); - text-align: center; - padding: 2rem 5rem; - display: flex; - gap: 32px; - justify-content: center; - - @media (max-width: 60rem) { - padding: 2rem 1.5rem; - } - - a { - color: var(--color-text-weak); - text-decoration: none; - } - - a:hover { - color: var(--color-text); - text-decoration: underline; - } - } - - a { - color: var(--color-text-strong); - text-decoration: underline; - text-underline-offset: 2px; - text-decoration-thickness: 1px; - - &:hover { - text-decoration-thickness: 2px; - } - } -} diff --git a/packages/console/app/src/routes/enterprise/index.tsx b/packages/console/app/src/routes/enterprise/index.tsx deleted file mode 100644 index eaa2470ca..000000000 --- a/packages/console/app/src/routes/enterprise/index.tsx +++ /dev/null @@ -1,234 +0,0 @@ -import "./index.css" -import { Title, Meta } from "@solidjs/meta" -import { createSignal, Show } from "solid-js" -import { Header } from "~/component/header" -import { Footer } from "~/component/footer" -import { Legal } from "~/component/legal" -import { Faq } from "~/component/faq" -import { useI18n } from "~/context/i18n" -import { LocaleLinks } from "~/component/locale-links" - -export default function Enterprise() { - const i18n = useI18n() - const [formData, setFormData] = createSignal({ - name: "", - role: "", - email: "", - message: "", - }) - const [isSubmitting, setIsSubmitting] = createSignal(false) - const [showSuccess, setShowSuccess] = createSignal(false) - - const handleInputChange = (field: string) => (e: Event) => { - const target = e.target as HTMLInputElement | HTMLTextAreaElement - setFormData((prev) => ({ ...prev, [field]: target.value })) - } - - const handleSubmit = async (e: Event) => { - e.preventDefault() - setIsSubmitting(true) - - try { - const response = await fetch("/api/enterprise", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(formData()), - }) - - if (response.ok) { - setShowSuccess(true) - setFormData({ - name: "", - role: "", - email: "", - message: "", - }) - setTimeout(() => setShowSuccess(false), 5000) - } - } catch (error) { - console.error("Failed to submit form:", error) - } finally { - setIsSubmitting(false) - } - } - - return ( -
    - {i18n.t("enterprise.title")} - - -
    -
    - -
    -
    -
    -
    -

    {i18n.t("enterprise.hero.title")}

    -

    {i18n.t("enterprise.hero.body1")}

    -

    {i18n.t("enterprise.hero.body2")}

    - - -
    -
    - - - -
    - Thanks to Kilo CLI, we found a way to create software to track all our assets — even the imaginary - ones. -
    - - - - - - - - - - - -
    -
    -
    -
    - -
    -
    -
    -
    - - -
    - -
    - - -
    - -
    - - -
    - -
    - -