From d3a3bd2982c7e1c3cd8af1ac402f7e8d5cba0318 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 12 Aug 2026 22:45:36 +0000 Subject: [PATCH 1/4] feat(source-control): add multi-provider source-control support Evolve the GitHub-only adapter boundary into a provider-neutral source-control package with adapters for GitHub / GitHub Enterprise, GitLab / Self-Managed, Bitbucket Cloud, Bitbucket Data Center, and Gitea / Forgejo, per the v0.5 milestone (#14). Boundary: packages/github becomes packages/source-control. Shared contracts (SourceControlProvider, ProviderCapabilities, ChangeRequestRef, RunOutcome, StatusPublication) keep provider payload shapes, event names, URLs, and credentials at the integration boundary; the agent runtime keeps consuming only @agent-zero/shared types. Safety: every adapter authenticates the raw webhook body before parsing (HMAC-SHA256 or constant-time shared-token compare), bounds and attributes untrusted feedback, defaults parsed events to observe mode so a webhook can never escalate a run, and suppresses self-replies via ignoreAuthors. Status credentials travel only as Authorization headers and are redacted from raised errors. Capability detection makes unsupported features degrade explicitly: providers without a neutral or action-required status report the mapping in StatusPublication.degraded instead of lying, GitLab's missing diff base yields no fabricated pull-request range, and bodyless change-request signals are ignored rather than invented. The oRPC server now routes inbound deliveries by provider headers, so one deployment can accept webhooks from several configured providers, each with its own secret; evidence publishing resolves the adapter from the change-request reference and its per-provider token variable. A framework-free conformance suite runs every adapter through the same recognition, forgery-rejection, normalization, self-reply, junk-payload, observe-by-default, credential-hygiene, and explicit-degradation checks from authentic signed fixtures. Verification: 121 package tests (conformance plus adapter suites) and 68 server tests pass; typecheck, oxlint type-aware lint, oxfmt, build, and check:repo pass locally for the affected packages. Closes #14 Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01MJQxEwqaaP4aMG4E7yeaky --- .skills/agent-zero-architecture/SKILL.md | 8 +- AGENTS.md | 4 +- CONTRIBUTING.md | 24 +- README.md | 28 +- apps/server/package.json | 2 +- apps/server/src/index.ts | 2 + apps/server/src/router.test.ts | 90 +++-- apps/server/src/router.ts | 90 +++-- apps/server/tsconfig.json | 2 +- docs/architecture.md | 12 +- docs/source-control-providers.md | 95 +++++ packages/github/src/checks.test.ts | 199 ---------- packages/github/src/checks.ts | 138 ------- packages/github/src/events.ts | 228 ----------- packages/github/src/index.test.ts | 15 - packages/github/src/index.ts | 36 -- .../{github => source-control}/package.json | 2 +- .../source-control/src/conformance.test.ts | 220 +++++++++++ packages/source-control/src/conformance.ts | 313 +++++++++++++++ packages/source-control/src/contracts.ts | 181 +++++++++ packages/source-control/src/index.ts | 48 +++ packages/source-control/src/input.ts | 61 +++ .../src/providers/bitbucket-cloud.ts | 209 ++++++++++ .../src/providers/bitbucket-data-center.ts | 208 ++++++++++ .../src/providers/bitbucket.test.ts | 105 ++++++ .../src/providers/gitea.test.ts | 82 ++++ .../source-control/src/providers/gitea.ts | 223 +++++++++++ .../src/providers/github.test.ts} | 206 +++++++++- .../source-control/src/providers/github.ts | 356 ++++++++++++++++++ .../src/providers/gitlab.test.ts | 128 +++++++ .../source-control/src/providers/gitlab.ts | 245 ++++++++++++ packages/source-control/src/registry.test.ts | 54 +++ packages/source-control/src/registry.ts | 51 +++ packages/source-control/src/signatures.ts | 32 ++ packages/source-control/src/status.ts | 46 +++ packages/source-control/src/untrusted.ts | 74 ++++ .../{github => source-control}/tsconfig.json | 0 .../tsdown.config.ts | 0 pnpm-lock.yaml | 68 ++-- tsconfig.json | 2 +- 40 files changed, 3150 insertions(+), 737 deletions(-) create mode 100644 docs/source-control-providers.md delete mode 100644 packages/github/src/checks.test.ts delete mode 100644 packages/github/src/checks.ts delete mode 100644 packages/github/src/events.ts delete mode 100644 packages/github/src/index.test.ts delete mode 100644 packages/github/src/index.ts rename packages/{github => source-control}/package.json (95%) create mode 100644 packages/source-control/src/conformance.test.ts create mode 100644 packages/source-control/src/conformance.ts create mode 100644 packages/source-control/src/contracts.ts create mode 100644 packages/source-control/src/index.ts create mode 100644 packages/source-control/src/input.ts create mode 100644 packages/source-control/src/providers/bitbucket-cloud.ts create mode 100644 packages/source-control/src/providers/bitbucket-data-center.ts create mode 100644 packages/source-control/src/providers/bitbucket.test.ts create mode 100644 packages/source-control/src/providers/gitea.test.ts create mode 100644 packages/source-control/src/providers/gitea.ts rename packages/{github/src/events.test.ts => source-control/src/providers/github.test.ts} (53%) create mode 100644 packages/source-control/src/providers/github.ts create mode 100644 packages/source-control/src/providers/gitlab.test.ts create mode 100644 packages/source-control/src/providers/gitlab.ts create mode 100644 packages/source-control/src/registry.test.ts create mode 100644 packages/source-control/src/registry.ts create mode 100644 packages/source-control/src/signatures.ts create mode 100644 packages/source-control/src/status.ts create mode 100644 packages/source-control/src/untrusted.ts rename packages/{github => source-control}/tsconfig.json (100%) rename packages/{github => source-control}/tsdown.config.ts (100%) diff --git a/.skills/agent-zero-architecture/SKILL.md b/.skills/agent-zero-architecture/SKILL.md index 311693f..4700164 100644 --- a/.skills/agent-zero-architecture/SKILL.md +++ b/.skills/agent-zero-architecture/SKILL.md @@ -12,7 +12,7 @@ Keep dependency direction explicit while changing the monorepo. - `shared`: stable contracts only, plus pure functions over them (evidence rendering, redaction, path predicates). - `config`: configuration, repository policy, and check discovery. Pure; the agent supplies what it read through the runner. - `models`: provider-independent model contracts and provider adapters. -- `github`: GitHub-specific translation, event parsing, and Checks API behavior. +- `source-control`: provider-neutral source-control contracts, webhook normalization, capability detection, and the GitHub, GitLab, Bitbucket, and Gitea adapters. - `runner`: command execution and checkout mutation boundary, plus the policy-to-boundary factory. - `agent`: orchestration, the lifecycle machine, and the validation policy. - `cli`: argument parsing and terminal presentation. @@ -23,7 +23,7 @@ Keep dependency direction explicit while changing the monorepo. 1. Read `AGENTS.md` and `docs/architecture.md`. 2. Identify the narrowest package that owns the behavior. -3. Check imports before adding a dependency. Core packages must not import CLI, HTTP, or GitHub adapters. +3. Check imports before adding a dependency. Core packages must not import CLI, HTTP, or source-control adapters. 4. Put a contract in `shared` only when at least two packages need a stable common type. 5. Keep SDK-specific types inside their adapter. 6. Add deterministic tests beside the changed source. @@ -31,9 +31,9 @@ Keep dependency direction explicit while changing the monorepo. ## Reject these designs -- Shell execution in a transport adapter, CLI presentation, GitHub adapter, model adapter, or agent state machine. +- Shell execution in a transport adapter, CLI presentation, source-control adapter, model adapter, or agent state machine. - HTTP request/response types inside the runtime. -- GitHub SDK objects passed through shared contracts. +- Provider SDK or payload objects passed through shared contracts. - A generic `utils` package used to bypass ownership decisions. - Cross-package imports from another package's `src/` directory. - A capability package importing another capability package. When `runner` needs policy, it declares the fields it needs structurally instead of importing `config`. diff --git a/AGENTS.md b/AGENTS.md index 2ef0ad9..b7573ad 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,7 +24,7 @@ These instructions apply to humans and coding agents working in this repository. - `packages/agent`: orchestration and state transitions only. - `packages/runner`: the only boundary allowed to execute repository commands or mutate a checkout. - `packages/models`: model-provider abstractions. -- `packages/github`: GitHub event and API adapters. +- `packages/source-control`: provider-neutral source-control contracts, with GitHub, GitLab, Bitbucket, and Gitea adapters underneath. - `packages/config`: configuration parsing and policy. - `packages/shared`: stable cross-package contracts. - `packages/cli`: argument parsing and terminal presentation. @@ -33,7 +33,7 @@ These instructions apply to humans and coding agents working in this repository. - `apps/auth-server`: the only component that owns a persistence layer. Serves the Better Auth handler and nothing else. - `apps/dashboard`: frontend-only Nuxt operational dashboard. Presentation plus an authenticated client of `apps/auth-server`. No Nitro server routes, no persistence, no runtime-package imports. -The runtime must remain independent from HTTP, GitHub, terminal UI, and specific model providers. Adapters depend on the runtime; the runtime must not depend on adapters. Authentication is an adapter concern: neither `packages/auth` nor `apps/auth-server` may import a runtime package, and neither may execute repository work. +The runtime must remain independent from HTTP, source-control platforms, terminal UI, and specific model providers. Adapters depend on the runtime; the runtime must not depend on adapters. Authentication is an adapter concern: neither `packages/auth` nor `apps/auth-server` may import a runtime package, and neither may execute repository work. ## Safety and determinism diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2d1cf38..b371735 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,18 +32,18 @@ aube test ## Choose the right package -| Change | Location | -| -------------------------------- | ------------------ | -| Agent lifecycle and decisions | `packages/agent` | -| Commands and repository mutation | `packages/runner` | -| LLM providers | `packages/models` | -| GitHub adapters | `packages/github` | -| Configuration and policy | `packages/config` | -| Shared contracts | `packages/shared` | -| CLI parsing and presentation | `packages/cli` | -| Authentication policy | `packages/auth` | -| Authentication HTTP adapter | `apps/auth-server` | -| Dashboard frontend | `apps/dashboard` | +| Change | Location | +| -------------------------------- | ------------------------- | +| Agent lifecycle and decisions | `packages/agent` | +| Commands and repository mutation | `packages/runner` | +| LLM providers | `packages/models` | +| Source-control provider adapters | `packages/source-control` | +| Configuration and policy | `packages/config` | +| Shared contracts | `packages/shared` | +| CLI parsing and presentation | `packages/cli` | +| Authentication policy | `packages/auth` | +| Authentication HTTP adapter | `apps/auth-server` | +| Dashboard frontend | `apps/dashboard` | Read [AGENTS.md](AGENTS.md) and the matching files in `.agents/skills/` before making architectural or safety-sensitive changes. diff --git a/README.md b/README.md index 0739e21..2d50337 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Feedback is never treated as truth merely because it came from a human or an AI ## Architecture ```text -GitHub adapter / CLI +Source-control adapters (GitHub, GitLab, Bitbucket, Gitea) / CLI │ ▼ Agent state machine @@ -48,19 +48,19 @@ oRPC control plane ─── typed task API, persistence, and scheduling Nuxt dashboard ─── frontend-only operational interface ─── auth adapter ─── session store ``` -| Package | Responsibility | -| ---------------------------------------- | --------------------------------------------------------------- | -| [`packages/agent`](./packages/agent) | Orchestration and state transitions | -| [`packages/runner`](./packages/runner) | The only boundary that executes commands or mutates a checkout | -| [`packages/models`](./packages/models) | Model-provider abstractions | -| [`packages/github`](./packages/github) | GitHub event and API adapters | -| [`packages/config`](./packages/config) | Configuration parsing and policy | -| [`packages/shared`](./packages/shared) | Stable cross-package contracts | -| [`packages/cli`](./packages/cli) | Argument parsing and terminal presentation | -| [`packages/auth`](./packages/auth) | Authentication policy and the Better Auth instance | -| [`apps/server`](./apps/server) | oRPC control-plane transport and composition root | -| [`apps/auth-server`](./apps/auth-server) | Standalone auth adapter; the only component with a database | -| [`apps/dashboard`](./apps/dashboard) | Nuxt operational dashboard, authenticated client of the adapter | +| Package | Responsibility | +| ------------------------------------------------------ | ----------------------------------------------------------------------------------------- | +| [`packages/agent`](./packages/agent) | Orchestration and state transitions | +| [`packages/runner`](./packages/runner) | The only boundary that executes commands or mutates a checkout | +| [`packages/models`](./packages/models) | Model-provider abstractions | +| [`packages/source-control`](./packages/source-control) | Provider-neutral source-control contracts and adapters (GitHub, GitLab, Bitbucket, Gitea) | +| [`packages/config`](./packages/config) | Configuration parsing and policy | +| [`packages/shared`](./packages/shared) | Stable cross-package contracts | +| [`packages/cli`](./packages/cli) | Argument parsing and terminal presentation | +| [`packages/auth`](./packages/auth) | Authentication policy and the Better Auth instance | +| [`apps/server`](./apps/server) | oRPC control-plane transport and composition root | +| [`apps/auth-server`](./apps/auth-server) | Standalone auth adapter; the only component with a database | +| [`apps/dashboard`](./apps/dashboard) | Nuxt operational dashboard, authenticated client of the adapter | Adapters depend on the runtime; the runtime never depends on adapters. See [docs/architecture.md](./docs/architecture.md) for the full dependency rules. diff --git a/apps/server/package.json b/apps/server/package.json index d4659cc..c152bc0 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -14,10 +14,10 @@ "dependencies": { "@agent-zero/agent": "workspace:*", "@agent-zero/config": "workspace:*", - "@agent-zero/github": "workspace:*", "@agent-zero/models": "workspace:*", "@agent-zero/runner": "workspace:*", "@agent-zero/shared": "workspace:*", + "@agent-zero/source-control": "workspace:*", "@orpc/server": "2.0.0-beta.26", "nitro": "^3.0.260610-beta", "vite-hub": "^0.0.3", diff --git a/apps/server/src/index.ts b/apps/server/src/index.ts index 28e629b..9d9b226 100644 --- a/apps/server/src/index.ts +++ b/apps/server/src/index.ts @@ -10,8 +10,10 @@ export { listTasks, publishEvidence, runTask, + statusTokenFromEnvironment, taskInput, tasks, + type ProviderWebhookConfig, type PublishOptions, type RunTaskOptions, type WebhookOptions, diff --git a/apps/server/src/router.test.ts b/apps/server/src/router.test.ts index 9b775d3..4705f7e 100644 --- a/apps/server/src/router.test.ts +++ b/apps/server/src/router.test.ts @@ -26,6 +26,14 @@ function sign(body: string): string { return `sha256=${createHmac('sha256', secret).update(body).digest('hex')}`; } +/** A GitHub delivery for the router: raw body plus the headers GitHub would send. */ +function githubDelivery(event: string, body: string, signature = sign(body)) { + return { + body, + headers: { 'x-github-event': event, 'x-hub-signature-256': signature }, + }; +} + function reviewPayload(overrides: Record = {}): string { return JSON.stringify({ action: 'submitted', @@ -144,32 +152,41 @@ describe('runTask', () => { }); describe('ingestWebhook', () => { - const options = () => ({ secret, checkoutPath: checkout }); + const options = () => ({ + providers: [{ kind: 'github' as const, secret }], + checkoutPath: checkout, + }); + + it('rejects a delivery no configured provider recognizes', async () => { + const body = reviewPayload(); + await expect( + ingestWebhook({ body, headers: { 'x-gitlab-event': 'Note Hook' } }, options()), + ).resolves.toEqual({ + status: 'rejected', + reason: 'No configured provider recognizes this delivery', + }); + expect(tasks.size).toBe(0); + }); it('rejects a forged signature before parsing the payload', async () => { const body = reviewPayload(); await expect( - ingestWebhook( - { event: 'pull_request_review', body, signature: 'sha256=deadbeef' }, - options(), - ), + ingestWebhook(githubDelivery('pull_request_review', body, 'sha256=deadbeef'), options()), ).resolves.toEqual({ status: 'rejected', reason: 'Invalid webhook signature' }); expect(tasks.size).toBe(0); }); it('rejects a body that is not JSON', async () => { - const body = 'not json'; const outcome = await ingestWebhook( - { event: 'pull_request_review', body, signature: sign(body) }, + githubDelivery('pull_request_review', 'not json'), options(), ); expect(outcome).toEqual({ status: 'rejected', reason: 'Webhook body is not valid JSON' }); }); it('ignores an event that carries no claim to validate', async () => { - const body = reviewPayload({ state: 'approved' }); const outcome = await ingestWebhook( - { event: 'pull_request_review', body, signature: sign(body) }, + githubDelivery('pull_request_review', reviewPayload({ state: 'approved' })), options(), ); expect(outcome.status).toBe('ignored'); @@ -177,23 +194,23 @@ describe('ingestWebhook', () => { }); it('ignores its own account so a run cannot answer itself', async () => { - const body = reviewPayload({ user: { login: 'agent-zero[bot]' } }); const outcome = await ingestWebhook( - { event: 'pull_request_review', body, signature: sign(body) }, + githubDelivery('pull_request_review', reviewPayload({ user: { login: 'agent-zero[bot]' } })), { ...options(), ignoreAuthors: ['agent-zero[bot]'] }, ); expect(outcome.status).toBe('ignored'); }); it('runs an authenticated review in observe mode and never writes', async () => { - const body = reviewPayload(); const outcome = await ingestWebhook( - { event: 'pull_request_review', body, signature: sign(body) }, + githubDelivery('pull_request_review', reviewPayload()), options(), ); expect(outcome.status).toBe('accepted'); if (outcome.status !== 'accepted') return; - expect(outcome.pullRequest).toEqual({ + expect(outcome.provider).toBe('github'); + expect(outcome.changeRequest).toEqual({ + provider: 'github', owner: 'acme', repo: 'app', number: 7, @@ -205,6 +222,29 @@ describe('ingestWebhook', () => { expect(outcome.result.summary).toContain('github:acme/app#7'); }); + it('accepts deliveries from a second configured provider in the same deployment', async () => { + const body = JSON.stringify({ + object_kind: 'note', + user: { username: 'alice' }, + project: { path_with_namespace: 'acme/app' }, + object_attributes: { + id: 11, + note: 'load() can return null', + noteable_type: 'MergeRequest', + }, + merge_request: { iid: 7, last_commit: { id: 'a'.repeat(40) } }, + }); + const outcome = await ingestWebhook( + { body, headers: { 'x-gitlab-event': 'Note Hook', 'x-gitlab-token': secret } }, + { ...options(), providers: [...options().providers, { kind: 'gitlab' as const, secret }] }, + ); + expect(outcome.status).toBe('accepted'); + if (outcome.status !== 'accepted') return; + expect(outcome.provider).toBe('gitlab'); + expect(outcome.changeRequest.baseSha).toBeUndefined(); + expect(outcome.result.summary).toContain('gitlab:acme/app!7'); + }); + it('ignores proactive pull-request events until repository policy enables them', async () => { const body = JSON.stringify({ action: 'synchronize', @@ -215,9 +255,7 @@ describe('ingestWebhook', () => { head: { sha: 'a'.repeat(40) }, }, }); - await expect( - ingestWebhook({ event: 'pull_request', body, signature: sign(body) }, options()), - ).resolves.toEqual({ + await expect(ingestWebhook(githubDelivery('pull_request', body), options())).resolves.toEqual({ status: 'ignored', reason: 'Proactive review is disabled by repository policy', }); @@ -238,10 +276,7 @@ describe('ingestWebhook', () => { head: { sha: 'a'.repeat(40) }, }, }); - const outcome = await ingestWebhook( - { event: 'pull_request', body, signature: sign(body) }, - options(), - ); + const outcome = await ingestWebhook(githubDelivery('pull_request', body), options()); expect(outcome.status).toBe('accepted'); if (outcome.status !== 'accepted') return; expect(outcome.result.runner.writable).toBe(false); @@ -277,6 +312,7 @@ function recordingFetch(): { describe('publishEvidence', () => { const target = { + provider: 'github' as const, owner: 'acme', repo: 'app', number: 7, @@ -311,4 +347,16 @@ describe('publishEvidence', () => { expect(bodies[0]).toMatchObject({ head_sha: target.headSha, status: 'completed' }); expect(bodies[0]?.conclusion).not.toBe('success'); }); + + it('surfaces an explicit degradation on a provider without a neutral state', async () => { + const result = await runTask({ repository: checkout, feedback: 'x', mode: 'observe' }); + const { fetch, bodies } = recordingFetch(); + const outcome = await publishEvidence({ ...target, provider: 'gitlab' as const }, result.id, { + token: 'glpat_token_value', + fetch, + }); + expect(outcome.published).toBe(true); + expect(outcome.reason).toContain('no neutral state'); + expect(bodies[0]?.state).toBe('success'); + }); }); diff --git a/apps/server/src/router.ts b/apps/server/src/router.ts index 2bd9b26..adb4a53 100644 --- a/apps/server/src/router.ts +++ b/apps/server/src/router.ts @@ -1,11 +1,5 @@ import { AgentZero } from '@agent-zero/agent'; import { loadConfig, mayModifyRepository } from '@agent-zero/config'; -import { - GitHubChecks, - parseReviewEvent, - reviewInputFromEvent, - verifyWebhook, -} from '@agent-zero/github'; import { modelFromEnvironment } from '@agent-zero/models'; import { createRunner, runnerOptionsFromPolicy, type RunnerPool } from '@agent-zero/runner'; import { @@ -15,10 +9,17 @@ import { renderEvidenceMarkdown, secretValuesFromEnvironment, taskId, - type PullRequestRef, type ReviewInput, type TaskResult, } from '@agent-zero/shared'; +import { + createProvider, + providerForDelivery, + reviewInputFromEvent, + type ChangeRequestRef, + type ProviderKind, + type WebhookHeaders, +} from '@agent-zero/source-control'; import { z } from 'zod'; import { @@ -225,13 +226,20 @@ export async function decideApproval( } export interface WebhookRequest { - event: string; + /** The raw request body, exactly as received; signatures verify these bytes. */ body: string; - signature: string | undefined; + headers: WebhookHeaders; } -export interface WebhookOptions { +/** One source-control provider a deployment accepts webhooks from, with its own secret. */ +export interface ProviderWebhookConfig { + kind: ProviderKind; secret: string; +} + +export interface WebhookOptions { + /** Providers this deployment listens to. One deployment may connect several. */ + providers: readonly ProviderWebhookConfig[]; checkoutPath: string; ignoreAuthors?: readonly string[]; store?: TaskStore; @@ -241,15 +249,29 @@ export interface WebhookOptions { export type WebhookOutcome = | { status: 'rejected'; reason: string } | { status: 'ignored'; reason: string } - | { status: 'accepted'; result: TaskResult; pullRequest: PullRequestRef }; + | { + status: 'accepted'; + result: TaskResult; + provider: ProviderKind; + changeRequest: ChangeRequestRef; + }; export async function ingestWebhook( request: WebhookRequest, options: WebhookOptions, ): Promise { - if (!verifyWebhook(request.body, request.signature, options.secret)) + const kinds = options.providers.map((provider) => provider.kind); + const provider = providerForDelivery(request.headers, kinds); + if (!provider) + return { status: 'rejected', reason: 'No configured provider recognizes this delivery' }; + const secret = options.providers.find((entry) => entry.kind === provider.kind)?.secret ?? ''; + + if (!provider.verifyWebhook({ body: request.body, headers: request.headers }, secret)) return { status: 'rejected', reason: 'Invalid webhook signature' }; + const eventName = provider.eventName(request.headers); + if (eventName === undefined) return { status: 'ignored', reason: 'The delivery names no event' }; + let payload: unknown; try { payload = JSON.parse(request.body); @@ -257,8 +279,8 @@ export async function ingestWebhook( return { status: 'rejected', reason: 'Webhook body is not valid JSON' }; } - const event = parseReviewEvent( - request.event, + const event = provider.parseReviewEvent( + eventName, payload, options.ignoreAuthors ? { ignoreAuthors: options.ignoreAuthors } : {}, ); @@ -280,32 +302,58 @@ export async function ingestWebhook( reviewInputFromEvent(event, { checkoutPath: options.checkoutPath, mode }), runOptions, ); - return { status: 'accepted', result, pullRequest: event.pullRequest }; + return { + status: 'accepted', + result, + provider: provider.kind, + changeRequest: event.changeRequest, + }; } export interface PublishOptions { token: string | undefined; + /** API base URL, required for self-hosted providers. */ + baseUrl?: string; fetch?: typeof globalThis.fetch; store?: TaskStore; } +const statusTokenVariables: Record = { + github: 'GITHUB_TOKEN', + gitlab: 'GITLAB_TOKEN', + 'bitbucket-cloud': 'BITBUCKET_TOKEN', + 'bitbucket-data-center': 'BITBUCKET_TOKEN', + gitea: 'GITEA_TOKEN', +}; + +/** The status credential for one provider, from its fixed environment variable. */ +export function statusTokenFromEnvironment(kind: ProviderKind): string | undefined { + return process.env[statusTokenVariables[kind]]; +} + export function githubTokenFromEnvironment(): string | undefined { - return process.env.GITHUB_TOKEN; + return statusTokenFromEnvironment('github'); } export async function publishEvidence( - target: PullRequestRef, + target: ChangeRequestRef, taskIdentifier: string, options: PublishOptions, ): Promise<{ published: boolean; reason?: string }> { - if (!options.token) return { published: false, reason: 'GITHUB_TOKEN is not configured' }; + if (!options.token) + return { + published: false, + reason: `${statusTokenVariables[target.provider]} is not configured`, + }; const task = await (options.store ?? defaultStore).get(taskIdentifier); if (!task?.evidence) return { published: false, reason: `Unknown task: ${taskIdentifier}` }; - await new GitHubChecks({ + const publisher = createProvider(target.provider).statusPublisher({ token: options.token, + ...(options.baseUrl ? { baseUrl: options.baseUrl } : {}), ...(options.fetch ? { fetch: options.fetch } : {}), - }).publish(target, task.evidence); - return { published: true }; + }); + const publication = await publisher.publish(target, task.evidence); + return { published: true, ...(publication.degraded ? { reason: publication.degraded } : {}) }; } function repositoryLabel(input: ReviewInput): string { diff --git a/apps/server/tsconfig.json b/apps/server/tsconfig.json index 2e9d943..3d7a7a5 100644 --- a/apps/server/tsconfig.json +++ b/apps/server/tsconfig.json @@ -11,7 +11,7 @@ "references": [ { "path": "../../packages/agent" }, { "path": "../../packages/config" }, - { "path": "../../packages/github" }, + { "path": "../../packages/source-control" }, { "path": "../../packages/models" }, { "path": "../../packages/runner" }, { "path": "../../packages/shared" } diff --git a/docs/architecture.md b/docs/architecture.md index 492ac17..4a6aa44 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -3,9 +3,9 @@ Agent Zero is organized as a dependency-directed monorepo. The core decides what should happen; adapters decide how external systems communicate with it; the runner controls what is allowed to happen to a checkout. ```text -GitHub adapter ─┐ -CLI adapter ────┼──> agent runtime ──> runner boundary ──> isolated checkout -oRPC server ────┘ │ +Source-control adapters ─┐ +CLI adapter ─────────────┼──> agent runtime ──> runner boundary ──> isolated checkout +oRPC server ─────────────┘ │ ├──> model abstraction ──> provider └──> shared contracts @@ -15,7 +15,7 @@ Nuxt dashboard ───> operational interface ──> auth adapter ──> ses ## Dependency direction - `shared` contains stable data contracts and must not import feature packages. -- `config`, `models`, `github`, and `runner` implement focused capabilities around shared contracts. +- `config`, `models`, `source-control`, and `runner` implement focused capabilities around shared contracts. - `agent` composes policies and state transitions without knowing HTTP or terminal details. - `cli` is an entry-point adapter. It may depend on the runtime, but the runtime must not depend on it. - `apps/server` is an entry-point adapter and composition root. Like `cli`, it may depend on the runtime; the runtime must not depend on it. @@ -26,7 +26,7 @@ If a change creates a reverse dependency, move the shared contract inward instea ## Execution boundary -Only `packages/runner` may execute commands or mutate a target repository at runtime. The boundary is responsible for validating working directories, arguments, timeouts, output limits, and execution mode. A transport handler, GitHub adapter, model provider, or state transition must request runner work through typed contracts rather than invoking a shell directly. +Only `packages/runner` may execute commands or mutate a target repository at runtime. The boundary is responsible for validating working directories, arguments, timeouts, output limits, and execution mode. A transport handler, source-control adapter, model provider, or state transition must request runner work through typed contracts rather than invoking a shell directly. `observe` is the default mode. It can inspect and report but cannot write. Enabling `fix` requires both an explicit mode and repository policy permission. @@ -96,7 +96,7 @@ Validation lives in `packages/agent/src/validation.ts` and is independent of any `TaskResult.verified` is derived in exactly one place, at the point a run produces its terminal result: it requires a completed state, an applied change, and every executed check passing. No branch can assert verification it did not earn, which is what makes "a failed verification is never presented as success" a property of the code rather than a convention. -`EvidenceBundle` and its Markdown renderer live in `packages/shared` because both the GitHub adapter and the CLI consume them, and because rendering is a pure function over contracts with no I/O. Terminal states map deterministically onto GitHub check conclusions in `packages/github`. +`EvidenceBundle` and its Markdown renderer live in `packages/shared` because both the source-control adapters and the CLI consume them, and because rendering is a pure function over contracts with no I/O. Terminal states map deterministically onto a provider-neutral run outcome in `packages/source-control`, which each provider adapter translates into its own status vocabulary — explicitly noting any conclusion the platform cannot express (see `docs/source-control-providers.md`). ## Adding a capability diff --git a/docs/source-control-providers.md b/docs/source-control-providers.md new file mode 100644 index 0000000..d349f5a --- /dev/null +++ b/docs/source-control-providers.md @@ -0,0 +1,95 @@ +# Source-control providers + +Agent Zero integrates with source-control platforms through `packages/source-control`: a +provider-neutral boundary with one adapter per platform. The agent runtime consumes only shared +contracts (`ReviewInput`, `FeedbackItem`, `PullRequestRef`); provider payload shapes, URLs, IDs, +event names, and credentials never cross the boundary. One deployment may connect repositories +from several providers at once: inbound deliveries are routed to the adapter that recognizes +their headers, and each configured provider keeps its own webhook secret. + +The find → fix → verify workflow is identical on every provider. What differs is what each +platform can express, and the boundary makes those differences explicit instead of guessing. + +## Contracts + +- `SourceControlProvider` — one platform: webhook recognition, authentication, event + normalization, and status publishing. +- `ProviderCapabilities` — what the adapter can actually deliver. Flags describe the webhook and + API surface the adapter consumes, not the platform's brochure. +- `ChangeRequestRef` — a provider-neutral pull-/merge-request reference. `baseSha` is present + only when the provider's payload carries a diff base. +- `runOutcome` — the provider-neutral meaning of a finished run (`success`, `failure`, + `neutral`, `action-required`), derived from the evidence bundle in exactly one place. +- `StatusPublication` — what was actually reported, including a `degraded` note whenever an + outcome had no native equivalent on the platform. + +## Capability matrix + +| Capability | GitHub | GitLab | Bitbucket Cloud | Bitbucket Data Center | Gitea / Forgejo | +| ---------------------- | ----------- | ------------- | --------------- | --------------------- | --------------- | +| Webhook authentication | HMAC-SHA256 | shared token | HMAC-SHA256 | HMAC-SHA256 | HMAC-SHA256 | +| Status reporting | check runs | commit status | build status | build status | commit status | +| Neutral conclusion | native | degraded | degraded | degraded | degraded | +| Action-required | native | degraded | degraded | degraded | degraded | +| Review submissions | yes | notes only | comments only | comments only | yes | +| Formal change requests | yes | no text | no text | no text | yes | +| Inline comment anchors | yes | yes | yes | not delivered | not delivered | +| Bot author detection | yes | no | no | no | no | +| Diff base in payload | yes | no | yes | yes | yes | + +Notes on explicit degradation: + +- **Statuses.** Only GitHub can express `neutral` and `action_required`. Elsewhere a neutral + outcome (for example, incorrect feedback rejected with evidence) is reported as the platform's + success state, and action-required maps to the platform's blocking state (`failed` on GitLab + and Bitbucket, `warning` on Gitea). Every mapping is returned in `StatusPublication.degraded` + so callers can surface it; a failed verification is never presented as success anywhere. +- **Diff base.** GitLab merge-request webhooks carry no base commit. The adapter never invents + one: the run receives no pull-request range and falls back to runner-side diff discovery. +- **Formal change requests.** GitLab approvals/"request changes", Bitbucket's + `changes_request_created`, and Bitbucket Data Center's `needs_work` arrive without text, so + there is no claim to validate and the events are ignored. Reviewer text arrives as comments. +- **Bots.** Only GitHub payloads mark bot authors, so `allowBots: false` filters bots there and + is documented as unenforceable elsewhere. Self-replies are prevented on every provider through + `ignoreAuthors`. + +## Webhook routing + +Deliveries are identified by provider headers, not by URL: + +| Provider | Event header | Authentication header | +| --------------------- | ----------------------------------- | ------------------------------------------------------ | +| GitHub | `X-GitHub-Event` | `X-Hub-Signature-256` (`sha256=`) | +| GitLab | `X-Gitlab-Event` | `X-Gitlab-Token` (constant-time) | +| Bitbucket Cloud | `X-Event-Key` | `X-Hub-Signature` (`sha256=`) | +| Bitbucket Data Center | `X-Event-Key` | `X-Hub-Signature` (`sha256=`) | +| Gitea / Forgejo | `X-Gitea-Event` / `X-Forgejo-Event` | `X-Gitea-Signature` / `X-Forgejo-Signature` (bare hex) | + +Gitea and Forgejo also send GitHub compatibility headers; the registry consults their adapter +first and the GitHub adapter declines deliveries carrying a Gitea or Forgejo header. The two +Bitbucket products are distinguished by event-key shape (`pullrequest:*` versus `pr:*`). + +Regardless of provider, a webhook can never escalate a run: parsed events produce `observe`-mode +input unless the deployment's own policy chooses otherwise, and an unverifiable delivery is +rejected before its payload is parsed. + +## Status credentials + +Status publishing reads one fixed environment variable per provider; credentials are sent only +as an `Authorization` header and are redacted from any error raised. + +| Provider | Variable | Notes | +| --------------------- | ----------------- | ---------------------------------------- | +| GitHub | `GITHUB_TOKEN` | Checks API | +| GitLab | `GITLAB_TOKEN` | `baseUrl` for GitLab Self-Managed | +| Bitbucket Cloud | `BITBUCKET_TOKEN` | access token with repository write scope | +| Bitbucket Data Center | `BITBUCKET_TOKEN` | `baseUrl` required | +| Gitea / Forgejo | `GITEA_TOKEN` | `baseUrl` required | + +## Conformance + +Every adapter must pass the same conformance suite (`src/conformance.ts`), driven by authentic +signed fixtures per provider: recognition, constant-time authentication with forgery and +tampering rejection, proactive and feedback normalization, self-reply suppression, junk-payload +tolerance, observe-by-default input, credential-free status publishing, and explicit degradation +of unsupported conclusions. New provider adapters start by supplying fixtures to this suite. diff --git a/packages/github/src/checks.test.ts b/packages/github/src/checks.test.ts deleted file mode 100644 index 401a753..0000000 --- a/packages/github/src/checks.test.ts +++ /dev/null @@ -1,199 +0,0 @@ -import type { CheckResult, EvidenceBundle } from '@agent-zero/shared'; -import { describe, expect, it } from 'vitest'; - -import { checkConclusion, GitHubChecks } from './checks.js'; - -const target = { - owner: 'acme', - repo: 'app', - number: 7, - baseSha: 'b'.repeat(40), - headSha: 'a'.repeat(40), -}; -const REDACTED_MARKER = /\[redacted]/; -const LEAKED_TOKEN = /ghs_token_value/; - -const passing: CheckResult = { - command: 'pnpm run test', - exitCode: 0, - stdout: '', - stderr: '', - durationMs: 5, -}; -const failing: CheckResult = { ...passing, exitCode: 1, stderr: 'assertion failed' }; - -function bundle(overrides: Partial = {}): EvidenceBundle { - return { - taskId: 'az_test', - state: 'completed', - verdict: 'accepted', - verified: true, - mode: 'fix', - trigger: 'feedback', - source: 'github:acme/app#7', - runner: { kind: 'container', isolated: true, writable: true, network: 'none' }, - finding: null, - plan: [], - changedFiles: ['src/user.ts'], - checks: [passing], - attempts: 1, - transitions: [], - summary: 'Fixed and verified', - ...overrides, - }; -} - -describe('checkConclusion', () => { - it('reports success only for a verified run', () => { - expect(checkConclusion(bundle())).toBe('success'); - }); - - it('never reports success when a check failed', () => { - expect(checkConclusion(bundle({ checks: [passing, failing], verified: true }))).toBe('failure'); - }); - - it('reports a crashed run as a failure', () => { - expect(checkConclusion(bundle({ state: 'failed', verified: false, checks: [] }))).toBe( - 'failure', - ); - }); - - it('asks for action when a run needs a human', () => { - expect(checkConclusion(bundle({ state: 'needs-human', verified: false, checks: [] }))).toBe( - 'action_required', - ); - }); - - it('reports rejected feedback as neutral rather than a pull-request failure', () => { - expect( - checkConclusion( - bundle({ verdict: 'rejected', verified: false, checks: [], changedFiles: [] }), - ), - ).toBe('neutral'); - }); - - it('reports an observe-only run as neutral', () => { - expect( - checkConclusion(bundle({ mode: 'observe', verified: false, checks: [], changedFiles: [] })), - ).toBe('neutral'); - }); -}); - -/** One recorded request, already decoded so tests never stringify an unknown body. */ -interface RecordedCall { - url: string; - headers: Headers; - body: Record; -} - -type FetchArguments = Parameters; - -const token = 'ghs_token_value_1234567890'; - -function requestUrl(url: FetchArguments[0]): string { - if (typeof url === 'string') return url; - return url instanceof URL ? url.href : url.url; -} - -function readBody(body: NonNullable['body']): Record { - if (typeof body !== 'string') return {}; - const parsed: unknown = JSON.parse(body); - return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed) - ? { ...parsed } - : {}; -} - -function created(): Response { - return new Response(JSON.stringify({ id: 42 }), { - status: 201, - headers: { 'content-type': 'application/json' }, - }); -} - -function client(handler: () => Response = created): { - checks: GitHubChecks; - calls: RecordedCall[]; -} { - const calls: RecordedCall[] = []; - const checks = new GitHubChecks({ - token, - fetch: async (url, init) => { - calls.push({ - url: requestUrl(url), - headers: new Headers(init?.headers), - body: readBody(init?.body), - }); - return handler(); - }, - }); - return { checks, calls }; -} - -/** The check output object a completion request carries. */ -function readOutput(call: RecordedCall | undefined): { title: string; text: string } { - const output = call?.body.output; - if (typeof output !== 'object' || output === null) throw new Error('no check output recorded'); - const record: Record = { ...output }; - return { - title: typeof record.title === 'string' ? record.title : '', - text: typeof record.text === 'string' ? record.text : '', - }; -} - -describe('GitHubChecks', () => { - it('opens an in-progress run against the head commit', async () => { - const { checks, calls } = client(created); - await expect(checks.start(target)).resolves.toBe(42); - expect(calls[0]?.url).toBe('https://api.github.com/repos/acme/app/check-runs'); - expect(calls[0]?.body).toMatchObject({ - head_sha: target.headSha, - status: 'in_progress', - name: 'Agent Zero', - }); - }); - - it('sends the token only as an authorization header', async () => { - const { checks, calls } = client(created); - await checks.publish(target, bundle()); - expect(calls[0]?.headers.get('authorization')).toBe(`Bearer ${token}`); - expect(JSON.stringify(calls[0]?.body)).not.toContain('ghs_token_value'); - expect(calls[0]?.url).not.toContain('ghs_token_value'); - }); - - it('completes a run with the evidence report and a matching conclusion', async () => { - const { checks, calls } = client(created); - await checks.complete(target, 42, bundle({ verified: false, checks: [failing] })); - expect(calls[0]?.url).toBe('https://api.github.com/repos/acme/app/check-runs/42'); - expect(calls[0]?.body.conclusion).toBe('failure'); - const output = readOutput(calls[0]); - expect(output.title).toContain('Feedback accepted'); - expect(output.title).toContain('failed'); - expect(output.text).toContain('assertion failed'); - }); - - it('keeps the report inside the GitHub output limit', async () => { - const { checks, calls } = client(created); - await checks.publish( - target, - bundle({ verified: false, checks: [{ ...failing, stderr: 'x'.repeat(200_000) }] }), - ); - expect(readOutput(calls[0]).text.length).toBeLessThanOrEqual(60_000); - }); - - it('redacts the token from a failed request instead of leaking it', async () => { - const { checks } = client(() => new Response(`bad credentials for ${token}`, { status: 401 })); - await expect(checks.publish(target, bundle())).rejects.toThrow(REDACTED_MARKER); - await expect(checks.publish(target, bundle())).rejects.not.toThrow(LEAKED_TOKEN); - }); - - it('fails loudly when GitHub does not return a check run id', async () => { - const { checks } = client( - () => - new Response(JSON.stringify({ message: 'ok' }), { - status: 201, - headers: { 'content-type': 'application/json' }, - }), - ); - await expect(checks.start(target)).rejects.toThrow('did not return a check run id'); - }); -}); diff --git a/packages/github/src/checks.ts b/packages/github/src/checks.ts deleted file mode 100644 index abe23bc..0000000 --- a/packages/github/src/checks.ts +++ /dev/null @@ -1,138 +0,0 @@ -import { - evidenceTitle, - redactSecrets, - renderEvidenceMarkdown, - secretValuesFromEnvironment, - type EvidenceBundle, - type PullRequestRef, -} from '@agent-zero/shared'; - -/** Conclusions a check run may report. */ -export type CheckConclusion = 'success' | 'failure' | 'neutral' | 'action_required'; - -/** GitHub caps check output fields; staying under the limit keeps a report from being rejected. */ -const MAX_OUTPUT = 60_000; -const MAX_TITLE = 255; -const MAX_SUMMARY = 4_000; - -export interface GitHubChecksOptions { - token: string; - baseUrl?: string; - /** Check run name, so several Agent Zero configurations can report side by side. */ - name?: string; - fetch?: typeof globalThis.fetch; -} - -/** - * Decide what a run means for a pull request. - * - * Verification is the only thing that produces `success`. A failing check, an unreached terminal - * state, or an unverified change can never be reported as a passing check, which is what keeps the - * GitHub status honest. Rejecting incorrect feedback is a legitimate, neutral outcome rather than a - * failure: nothing is wrong with the pull request. - */ -export function checkConclusion(bundle: EvidenceBundle): CheckConclusion { - if (bundle.state === 'failed') return 'failure'; - if (bundle.checks.some((check) => check.exitCode !== 0)) return 'failure'; - if (bundle.state === 'needs-human') return 'action_required'; - if (bundle.verified) return 'success'; - return 'neutral'; -} - -/** - * Publishes run evidence to the GitHub Checks API. - * - * The token is only ever sent as an Authorization header, and any error body is redacted before it - * is raised, so a failed publish cannot leak a credential into logs. - */ -export class GitHubChecks { - private readonly baseUrl: string; - private readonly name: string; - private readonly request: typeof globalThis.fetch; - - constructor(private readonly options: GitHubChecksOptions) { - this.baseUrl = options.baseUrl ?? 'https://api.github.com'; - this.name = options.name ?? 'Agent Zero'; - this.request = options.fetch ?? globalThis.fetch; - } - - /** Open an in-progress check run so a long verification is visible while it happens. */ - async start(target: PullRequestRef): Promise { - const body = await this.send('POST', `/repos/${target.owner}/${target.repo}/check-runs`, { - name: this.name, - head_sha: target.headSha, - status: 'in_progress', - }); - return readCheckRunId(body); - } - - /** Complete an existing check run with the run's evidence. */ - async complete( - target: PullRequestRef, - checkRunId: number, - bundle: EvidenceBundle, - ): Promise { - await this.send( - 'PATCH', - `/repos/${target.owner}/${target.repo}/check-runs/${String(checkRunId)}`, - this.completionPayload(bundle), - ); - } - - /** Create an already-completed check run, for a verification that finished quickly. */ - async publish(target: PullRequestRef, bundle: EvidenceBundle): Promise { - const body = await this.send('POST', `/repos/${target.owner}/${target.repo}/check-runs`, { - name: this.name, - head_sha: target.headSha, - ...this.completionPayload(bundle), - }); - return readCheckRunId(body); - } - - /** The request body for a finished check run, including the rendered evidence report. */ - completionPayload(bundle: EvidenceBundle): Record { - const secrets = secretValuesFromEnvironment(); - return { - status: 'completed', - conclusion: checkConclusion(bundle), - output: { - title: redactSecrets(evidenceTitle(bundle), secrets).slice(0, MAX_TITLE), - summary: redactSecrets(bundle.summary, secrets).slice(0, MAX_SUMMARY), - text: renderEvidenceMarkdown(bundle, { maxLength: MAX_OUTPUT, secrets }), - }, - }; - } - - private async send( - method: 'POST' | 'PATCH', - path: string, - body: Record, - ): Promise { - const response = await this.request(`${this.baseUrl}${path}`, { - method, - headers: { - accept: 'application/vnd.github+json', - authorization: `Bearer ${this.options.token}`, - 'content-type': 'application/json', - 'x-github-api-version': '2022-11-28', - }, - body: JSON.stringify(body), - }); - if (!response.ok) { - const detail = redactSecrets(await response.text(), [ - this.options.token, - ...secretValuesFromEnvironment(), - ]); - throw new Error( - `GitHub check run request failed (${String(response.status)}): ${detail.slice(0, 1_000)}`, - ); - } - return response.json(); - } -} - -function readCheckRunId(body: unknown): number { - if (typeof body === 'object' && body !== null && 'id' in body && typeof body.id === 'number') - return body.id; - throw new Error('GitHub did not return a check run id'); -} diff --git a/packages/github/src/events.ts b/packages/github/src/events.ts deleted file mode 100644 index 739988b..0000000 --- a/packages/github/src/events.ts +++ /dev/null @@ -1,228 +0,0 @@ -import { - isRepositoryRelativePath, - type FeedbackItem, - type PullRequestRef, - type ReviewInput, - type ReviewTrigger, - type RunMode, -} from '@agent-zero/shared'; - -/** Webhook event names this adapter understands. */ -export const supportedEvents = [ - 'pull_request', - 'pull_request_review', - 'pull_request_review_comment', -] as const; -export type SupportedEvent = (typeof supportedEvents)[number]; - -/** A review event normalized away from GitHub's payload shape. */ -export interface ReviewEvent { - trigger: ReviewTrigger; - pullRequest: PullRequestRef; - items: FeedbackItem[]; - /** True when at least one item came from a formal request for changes. */ - requestedChanges: boolean; -} - -export interface ParseOptions { - /** - * Logins whose feedback is ignored, normally including the account Agent Zero posts as. - * - * Without this a run reacts to its own comments and loops. - */ - ignoreAuthors?: readonly string[]; - /** Whether feedback from bot accounts is ingested. AI reviewers are a first-class source. */ - allowBots?: boolean; -} - -/** Untrusted comment bodies are bounded before they reach a prompt or an evidence report. */ -const MAX_BODY = 8_000; -const COMMIT_SHA = /^[0-9a-f]{7,64}$/i; - -/** - * Turn a GitHub webhook payload into a review event, or null when there is nothing to act on. - * - * The payload is untrusted, so every field is checked rather than asserted. Approvals and - * dismissals produce nothing: there is no claim to validate. - */ -export function parseReviewEvent( - event: string, - payload: unknown, - options: ParseOptions = {}, -): ReviewEvent | null { - if (!isRecord(payload)) return null; - const pullRequest = readPullRequest(payload); - if (!pullRequest) return null; - - if (event === 'pull_request') { - if (!isProactiveAction(payload.action)) return null; - return { trigger: 'proactive', pullRequest, items: [], requestedChanges: false }; - } - - const items = - event === 'pull_request_review_comment' - ? readReviewComment(payload, options) - : event === 'pull_request_review' - ? readReview(payload, options) - : null; - if (!items || items.length === 0) return null; - - return { - trigger: 'feedback', - pullRequest, - items, - requestedChanges: items.some((item) => item.requestedChanges), - }; -} - -/** - * Build runtime input for a review event. - * - * The mode is supplied by the caller and defaults to `observe`, so an inbound webhook can never - * escalate a run into writing to a repository on its own. - */ -export function reviewInputFromEvent( - event: ReviewEvent, - options: { checkoutPath: string; mode?: RunMode }, -): ReviewInput { - const { owner, repo, number } = event.pullRequest; - const files = [ - ...new Set( - event.items - .map((item) => item.path) - .filter((path): path is string => path !== undefined && isRepositoryRelativePath(path)), - ), - ]; - return { - repository: options.checkoutPath, - mode: options.mode ?? 'observe', - trigger: event.trigger, - source: `github:${owner}/${repo}#${String(number)}`, - pullRequest: event.pullRequest, - ...(event.trigger === 'feedback' - ? { feedback: renderFeedback(event.items), items: event.items } - : {}), - ...(files.length > 0 ? { files } : {}), - }; -} - -/** A single human-readable transcript of the review, used when no structured items are consumed. */ -export function renderFeedback(items: readonly FeedbackItem[]): string { - return items - .map((item) => { - const location = item.path - ? ` on ${item.path}${item.line === undefined ? '' : `:${String(item.line)}`}` - : ''; - const kind = item.requestedChanges ? `${item.kind} (changes requested)` : item.kind; - return `[${kind} by ${item.author}${location}]\n${item.body}`; - }) - .join('\n\n---\n\n'); -} - -function readReviewComment( - payload: Record, - options: ParseOptions, -): FeedbackItem[] | null { - if (payload.action !== 'created') return null; - if (!isRecord(payload.comment)) return null; - const comment = payload.comment; - const author = readAuthor(comment.user, options); - const body = readBody(comment.body); - if (author === null || body === null) return null; - const path = typeof comment.path === 'string' ? comment.path : undefined; - const line = readLine(comment.line ?? comment.original_line); - return [ - { - id: readId(comment.id, 'review-comment'), - kind: 'review-comment', - body, - author, - // A single inline comment is a remark; the review that carries it decides on changes. - requestedChanges: false, - ...(path === undefined ? {} : { path }), - ...(line === undefined ? {} : { line }), - }, - ]; -} - -function readReview( - payload: Record, - options: ParseOptions, -): FeedbackItem[] | null { - if (payload.action !== 'submitted') return null; - if (!isRecord(payload.review)) return null; - const review = payload.review; - const state = typeof review.state === 'string' ? review.state.toLowerCase() : ''; - // An approval or a dismissal carries no claim to validate. - if (state !== 'changes_requested' && state !== 'commented') return null; - const author = readAuthor(review.user, options); - const body = readBody(review.body); - if (author === null || body === null) return null; - return [ - { - id: readId(review.id, 'review'), - kind: 'review-body', - body, - author, - requestedChanges: state === 'changes_requested', - }, - ]; -} - -function readPullRequest(payload: Record): PullRequestRef | null { - const pullRequest = isRecord(payload.pull_request) ? payload.pull_request : undefined; - const repository = isRecord(payload.repository) ? payload.repository : undefined; - if (!pullRequest || !repository) return null; - - const number = typeof pullRequest.number === 'number' ? pullRequest.number : undefined; - const head = isRecord(pullRequest.head) ? pullRequest.head : undefined; - const base = isRecord(pullRequest.base) ? pullRequest.base : undefined; - const headSha = typeof head?.sha === 'string' ? head.sha : undefined; - const baseSha = typeof base?.sha === 'string' ? base.sha : undefined; - const repo = typeof repository.name === 'string' ? repository.name : undefined; - const ownerRecord = isRecord(repository.owner) ? repository.owner : undefined; - const owner = typeof ownerRecord?.login === 'string' ? ownerRecord.login : undefined; - - if (number === undefined || !baseSha || !headSha || !repo || !owner) return null; - if (!COMMIT_SHA.test(baseSha) || !COMMIT_SHA.test(headSha)) return null; - return { owner, repo, number, baseSha, headSha }; -} - -function isProactiveAction(action: unknown): boolean { - return ( - action === 'opened' || - action === 'reopened' || - action === 'synchronize' || - action === 'ready_for_review' - ); -} - -function readAuthor(user: unknown, options: ParseOptions): string | null { - if (!isRecord(user)) return null; - const login = typeof user.login === 'string' ? user.login : ''; - if (login.length === 0) return null; - const ignored = options.ignoreAuthors ?? []; - if (ignored.some((ignore) => ignore.toLowerCase() === login.toLowerCase())) return null; - if (options.allowBots === false && user.type === 'Bot') return null; - return login; -} - -function readBody(body: unknown): string | null { - if (typeof body !== 'string') return null; - const trimmed = body.trim(); - if (trimmed.length === 0) return null; - return trimmed.slice(0, MAX_BODY); -} - -function readLine(value: unknown): number | undefined { - return typeof value === 'number' && Number.isInteger(value) && value > 0 ? value : undefined; -} - -function readId(value: unknown, prefix: string): string { - if (typeof value === 'number' || typeof value === 'string') return `${prefix}:${String(value)}`; - return prefix; -} - -function isRecord(value: unknown): value is Record { - return typeof value === 'object' && value !== null && !Array.isArray(value); -} diff --git a/packages/github/src/index.test.ts b/packages/github/src/index.test.ts deleted file mode 100644 index 343eae0..0000000 --- a/packages/github/src/index.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { createHmac } from 'node:crypto'; - -import { describe, expect, it } from 'vitest'; - -import { verifyWebhook } from './index.js'; - -describe('verifyWebhook', () => { - it('accepts the exact HMAC and rejects a forged one', () => { - const body = '{"ok":true}'; - const secret = 'secret'; - const signature = `sha256=${createHmac('sha256', secret).update(body).digest('hex')}`; - expect(verifyWebhook(body, signature, secret)).toBe(true); - expect(verifyWebhook(body, `${signature.slice(0, -1)}0`, secret)).toBe(false); - }); -}); diff --git a/packages/github/src/index.ts b/packages/github/src/index.ts deleted file mode 100644 index 34652e1..0000000 --- a/packages/github/src/index.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { createHmac, timingSafeEqual } from 'node:crypto'; - -export { - checkConclusion, - GitHubChecks, - type CheckConclusion, - type GitHubChecksOptions, -} from './checks.js'; -export { - parseReviewEvent, - renderFeedback, - reviewInputFromEvent, - supportedEvents, - type ParseOptions, - type ReviewEvent, - type SupportedEvent, -} from './events.js'; - -/** - * Verify a webhook signature in constant time. - * - * The comparison length is checked first because `timingSafeEqual` throws on a length mismatch, and - * a thrown error would be a slower path than a rejection. - */ -export function verifyWebhook( - body: string, - signature: string | undefined, - secret: string, -): boolean { - if (!signature?.startsWith('sha256=')) return false; - const expected = `sha256=${createHmac('sha256', secret).update(body).digest('hex')}`; - return ( - signature.length === expected.length && - timingSafeEqual(Buffer.from(signature), Buffer.from(expected)) - ); -} diff --git a/packages/github/package.json b/packages/source-control/package.json similarity index 95% rename from packages/github/package.json rename to packages/source-control/package.json index dc853db..5b3b4a0 100644 --- a/packages/github/package.json +++ b/packages/source-control/package.json @@ -1,5 +1,5 @@ { - "name": "@agent-zero/github", + "name": "@agent-zero/source-control", "version": "0.3.0", "type": "module", "main": "./dist/index.cjs", diff --git a/packages/source-control/src/conformance.test.ts b/packages/source-control/src/conformance.test.ts new file mode 100644 index 0000000..035afa6 --- /dev/null +++ b/packages/source-control/src/conformance.test.ts @@ -0,0 +1,220 @@ +import { createHmac } from 'node:crypto'; + +import { describe, expect, it } from 'vitest'; + +import { conformanceCases, type ProviderConformanceFixtures } from './conformance.js'; +import type { ProviderKind, WebhookDelivery } from './contracts.js'; +import { allProviders } from './registry.js'; + +const secret = 'webhook-secret'; +const token = 'zz-status-credential'; + +function hmac(body: string, prefix = ''): string { + return `${prefix}${createHmac('sha256', secret).update(body).digest('hex')}`; +} + +function githubDelivery(event: string, payload: unknown): WebhookDelivery { + const body = JSON.stringify(payload); + return { + body, + headers: { 'x-github-event': event, 'x-hub-signature-256': hmac(body, 'sha256=') }, + }; +} + +function gitlabDelivery(event: string, payload: unknown): WebhookDelivery { + return { + body: JSON.stringify(payload), + headers: { 'x-gitlab-event': event, 'x-gitlab-token': secret }, + }; +} + +function bitbucketDelivery(event: string, payload: unknown): WebhookDelivery { + const body = JSON.stringify(payload); + return { + body, + headers: { 'x-event-key': event, 'x-hub-signature': hmac(body, 'sha256=') }, + }; +} + +function giteaDelivery(event: string, payload: unknown): WebhookDelivery { + const body = JSON.stringify(payload); + return { + body, + headers: { + 'x-gitea-event': event, + 'x-gitea-signature': hmac(body), + // Gitea sends a GitHub compatibility header; routing must still pick the Gitea adapter. + 'x-github-event': event, + }, + }; +} + +const githubPullRequest = { + number: 7, + base: { sha: 'b'.repeat(40) }, + head: { sha: 'a'.repeat(40) }, +}; +const githubRepository = { name: 'app', owner: { login: 'acme' } }; + +const gitlabMergeRequest = { + iid: 7, + last_commit: { id: 'a'.repeat(40) }, +}; + +const cloudPullRequest = { + id: 7, + source: { commit: { hash: 'a'.repeat(12) } }, + destination: { commit: { hash: 'b'.repeat(12) } }, +}; + +const dataCenterPullRequest = { + id: 7, + fromRef: { latestCommit: 'a'.repeat(40) }, + toRef: { + latestCommit: 'b'.repeat(40), + repository: { slug: 'app', project: { key: 'ACME' } }, + }, +}; + +const fixtures: Record = { + github: { + secret, + proactive: githubDelivery('pull_request', { + action: 'opened', + repository: githubRepository, + pull_request: githubPullRequest, + }), + feedback: githubDelivery('pull_request_review', { + action: 'submitted', + repository: githubRepository, + pull_request: githubPullRequest, + review: { + id: 202, + body: 'Please guard the null return.', + state: 'changes_requested', + user: { login: 'alice', type: 'User' }, + }, + }), + feedbackAuthor: 'alice', + claimFree: githubDelivery('pull_request_review', { + action: 'submitted', + repository: githubRepository, + pull_request: githubPullRequest, + review: { id: 203, body: 'Nice.', state: 'approved', user: { login: 'alice' } }, + }), + statusOptions: (fetch) => ({ token, fetch }), + statusUrlPrefix: 'https://api.github.com/repos/acme/app/check-runs', + }, + gitlab: { + secret, + proactive: gitlabDelivery('Merge Request Hook', { + object_kind: 'merge_request', + project: { path_with_namespace: 'acme/app' }, + object_attributes: { ...gitlabMergeRequest, action: 'open' }, + }), + feedback: gitlabDelivery('Note Hook', { + object_kind: 'note', + user: { username: 'alice' }, + project: { path_with_namespace: 'acme/app' }, + object_attributes: { + id: 11, + note: 'This dereferences a null return.', + noteable_type: 'MergeRequest', + position: { new_path: 'src/user.ts', new_line: 12 }, + }, + merge_request: gitlabMergeRequest, + }), + feedbackAuthor: 'alice', + claimFree: gitlabDelivery('Merge Request Hook', { + object_kind: 'merge_request', + project: { path_with_namespace: 'acme/app' }, + object_attributes: { ...gitlabMergeRequest, action: 'approved' }, + }), + statusOptions: (fetch) => ({ token, fetch }), + statusUrlPrefix: 'https://gitlab.com/api/v4/projects/acme%2Fapp/statuses/', + }, + 'bitbucket-cloud': { + secret, + proactive: bitbucketDelivery('pullrequest:created', { + pullrequest: cloudPullRequest, + repository: { full_name: 'acme/app' }, + }), + feedback: bitbucketDelivery('pullrequest:comment_created', { + pullrequest: cloudPullRequest, + repository: { full_name: 'acme/app' }, + comment: { + id: 31, + content: { raw: 'This dereferences a null return.' }, + user: { nickname: 'alice', display_name: 'Alice' }, + inline: { path: 'src/user.ts', to: 12 }, + }, + }), + feedbackAuthor: 'alice', + claimFree: bitbucketDelivery('pullrequest:approved', { + pullrequest: cloudPullRequest, + repository: { full_name: 'acme/app' }, + approval: { user: { nickname: 'alice' } }, + }), + statusOptions: (fetch) => ({ token, fetch }), + statusUrlPrefix: 'https://api.bitbucket.org/2.0/repositories/acme/app/commit/', + }, + 'bitbucket-data-center': { + secret, + proactive: bitbucketDelivery('pr:opened', { pullRequest: dataCenterPullRequest }), + feedback: bitbucketDelivery('pr:comment:added', { + pullRequest: dataCenterPullRequest, + comment: { + id: 41, + text: 'This dereferences a null return.', + author: { name: 'alice', displayName: 'Alice' }, + }, + }), + feedbackAuthor: 'alice', + claimFree: bitbucketDelivery('pr:reviewer:approved', { + pullRequest: dataCenterPullRequest, + participant: { user: { name: 'alice' } }, + }), + statusOptions: (fetch) => ({ token, fetch, baseUrl: 'https://bitbucket.example.com' }), + statusUrlPrefix: + 'https://bitbucket.example.com/rest/api/latest/projects/ACME/repos/app/commits/', + }, + gitea: { + secret, + proactive: giteaDelivery('pull_request', { + action: 'opened', + repository: githubRepository, + pull_request: githubPullRequest, + }), + feedback: giteaDelivery('pull_request_review_rejected', { + action: 'reviewed', + repository: githubRepository, + pull_request: githubPullRequest, + sender: { login: 'alice' }, + review: { id: 51, type: 'pull_request_review_rejected', content: 'Guard the null return.' }, + }), + feedbackAuthor: 'alice', + claimFree: giteaDelivery('pull_request_review_approved', { + action: 'reviewed', + repository: githubRepository, + pull_request: githubPullRequest, + sender: { login: 'alice' }, + review: { id: 52, type: 'pull_request_review_approved', content: 'Nice.' }, + }), + statusOptions: (fetch) => ({ token, fetch, baseUrl: 'https://gitea.example.com' }), + statusUrlPrefix: 'https://gitea.example.com/api/v1/repos/acme/app/statuses/', + }, +}; + +for (const provider of allProviders()) { + describe(`${provider.kind} adapter conformance`, () => { + for (const conformanceCase of conformanceCases) { + // oxlint-disable-next-line vitest/valid-title -- case names come from the shared suite + it(conformanceCase.name, async () => { + // The cases assert by throwing, so the suite stays framework-free for other runners. + await expect( + conformanceCase.run(provider, fixtures[provider.kind]), + ).resolves.toBeUndefined(); + }); + } + }); +} diff --git a/packages/source-control/src/conformance.ts b/packages/source-control/src/conformance.ts new file mode 100644 index 0000000..f55b965 --- /dev/null +++ b/packages/source-control/src/conformance.ts @@ -0,0 +1,313 @@ +import type { EvidenceBundle } from '@agent-zero/shared'; + +import type { + SourceControlProvider, + StatusPublisherOptions, + WebhookDelivery, +} from './contracts.js'; +import { reviewInputFromEvent } from './input.js'; +import { COMMIT_SHA, MAX_BODY } from './untrusted.js'; + +/** + * The fixtures one adapter supplies to the conformance suite. + * + * Fixtures are authentic deliveries: headers and body exactly as the provider would send them, + * signed or tokened with `secret`. The suite derives every negative case (forged signature, + * tampered body, ignored author, junk payload) from these, so an adapter cannot pass by special- + * casing the happy path. + */ +export interface ProviderConformanceFixtures { + secret: string; + /** An authenticated delivery that must parse into a proactive review. */ + proactive: WebhookDelivery; + /** An authenticated delivery that must parse into reviewer feedback. */ + feedback: WebhookDelivery; + /** The author of `feedback`, for the self-ignore check. */ + feedbackAuthor: string; + /** A delivery carrying an approval or another claim-free event, which must parse to null. */ + claimFree?: WebhookDelivery; + /** Publisher options wired to an injected fetch, so no test touches the network. */ + statusOptions: (fetch: typeof globalThis.fetch) => StatusPublisherOptions; + /** Every status request must address this URL prefix. */ + statusUrlPrefix: string; +} + +export interface ConformanceCase { + name: string; + run: (provider: SourceControlProvider, fixtures: ProviderConformanceFixtures) => Promise; +} + +function ok(condition: boolean, message: string): asserts condition { + if (!condition) throw new Error(message); +} + +function parsed(provider: SourceControlProvider, delivery: WebhookDelivery) { + const event = provider.eventName(delivery.headers); + ok(event !== undefined, 'eventName must identify the fixture delivery'); + return provider.parseReviewEvent(event, JSON.parse(delivery.body)); +} + +function evidence(overrides: Partial): EvidenceBundle { + return { + taskId: 'az_conformance', + state: 'completed', + verdict: 'accepted', + verified: true, + mode: 'observe', + trigger: 'feedback', + source: null, + runner: { kind: 'local', isolated: false, writable: false, network: 'none' }, + finding: null, + plan: [], + changedFiles: [], + checks: [{ command: 'test', exitCode: 0, stdout: '', stderr: '', durationMs: 1 }], + attempts: 1, + transitions: [], + summary: 'conformance summary', + ...overrides, + }; +} + +interface RecordedRequest { + url: string; + init: RequestInit | undefined; +} + +function requestUrl(url: Parameters[0]): string { + if (typeof url === 'string') return url; + return url instanceof URL ? url.href : url.url; +} + +function recordingFetch(): { fetch: typeof globalThis.fetch; requests: RecordedRequest[] } { + const requests: RecordedRequest[] = []; + const fetch: typeof globalThis.fetch = async (url, init) => { + requests.push({ url: requestUrl(url), init }); + return new Response(JSON.stringify({ id: 1 }), { + status: 201, + headers: { 'content-type': 'application/json' }, + }); + }; + return { fetch, requests }; +} + +/** + * The behavior every provider adapter must exhibit. + * + * The cases are framework-free and throw on violation, so any test runner (and any out-of-tree + * adapter) can execute them unchanged. + */ +export const conformanceCases: readonly ConformanceCase[] = [ + { + name: 'declares coherent capabilities', + run: async (provider) => { + const c = provider.capabilities; + ok( + c.changeRequestNoun === 'pull request' || c.changeRequestNoun === 'merge request', + 'changeRequestNoun must be a known noun', + ); + ok( + ['check-runs', 'commit-status', 'build-status'].includes(c.statusReporting), + 'statusReporting must be a known surface', + ); + }, + }, + { + name: 'recognizes its own deliveries and nothing anonymous', + run: async (provider, fixtures) => { + ok(provider.recognizes(fixtures.proactive.headers), 'must recognize its proactive fixture'); + ok(provider.recognizes(fixtures.feedback.headers), 'must recognize its feedback fixture'); + ok(!provider.recognizes({}), 'must not claim a delivery with no headers'); + }, + }, + { + name: 'authenticates deliveries and rejects forgeries', + run: async (provider, fixtures) => { + for (const delivery of [fixtures.proactive, fixtures.feedback]) { + ok(provider.verifyWebhook(delivery, fixtures.secret), 'must accept an authentic delivery'); + ok( + !provider.verifyWebhook(delivery, `${fixtures.secret}-wrong`), + 'must reject the wrong secret', + ); + ok(!provider.verifyWebhook(delivery, ''), 'must reject an empty secret'); + ok( + !provider.verifyWebhook({ body: delivery.body, headers: {} }, fixtures.secret), + 'must reject a delivery with no credentials', + ); + if (provider.capabilities.webhookAuthentication === 'hmac-sha256') { + ok( + !provider.verifyWebhook( + { body: `${delivery.body} `, headers: delivery.headers }, + fixtures.secret, + ), + 'must reject a tampered body', + ); + } + } + }, + }, + { + name: 'parses a proactive delivery into a diff-triggered review', + run: async (provider, fixtures) => { + const event = parsed(provider, fixtures.proactive); + ok(event !== null, 'proactive fixture must parse'); + ok(event.trigger === 'proactive', 'trigger must be proactive'); + ok(event.items.length === 0, 'a proactive review must not invent feedback'); + ok(!event.requestedChanges, 'a proactive review carries no change request'); + assertRef(provider, event.changeRequest); + }, + }, + { + name: 'parses a feedback delivery into bounded, attributed items', + run: async (provider, fixtures) => { + const event = parsed(provider, fixtures.feedback); + ok(event !== null, 'feedback fixture must parse'); + ok(event.trigger === 'feedback', 'trigger must be feedback'); + ok(event.items.length > 0, 'feedback must carry at least one item'); + for (const item of event.items) { + ok(item.id.length > 0, 'items must be identifiable'); + ok(item.body.length > 0 && item.body.length <= MAX_BODY, 'bodies must be bounded'); + ok(item.author === fixtures.feedbackAuthor, 'the author must be preserved'); + if (item.requestedChanges) + ok( + provider.capabilities.changeRequests, + 'requestedChanges requires the changeRequests capability', + ); + } + assertRef(provider, event.changeRequest); + }, + }, + { + name: 'ignores its own account so a run cannot answer itself', + run: async (provider, fixtures) => { + const event = provider.eventName(fixtures.feedback.headers); + ok(event !== undefined, 'eventName must identify the fixture delivery'); + const result = provider.parseReviewEvent(event, JSON.parse(fixtures.feedback.body), { + ignoreAuthors: [fixtures.feedbackAuthor.toUpperCase()], + }); + ok(result === null, 'an ignored author must produce nothing'); + }, + }, + { + name: 'produces nothing for a claim-free event', + run: async (provider, fixtures) => { + if (!fixtures.claimFree) return; + ok( + parsed(provider, fixtures.claimFree) === null, + 'an approval or claim-free event must parse to null', + ); + }, + }, + { + name: 'rejects junk payloads instead of throwing', + run: async (provider, fixtures) => { + const event = provider.eventName(fixtures.feedback.headers) ?? 'unknown'; + for (const junk of [null, undefined, 42, 'text', [], {}, { action: 'created' }]) { + ok(provider.parseReviewEvent(event, junk) === null, 'junk payloads must parse to null'); + } + ok( + provider.parseReviewEvent('no-such-event', JSON.parse(fixtures.feedback.body)) === null, + 'unknown events must parse to null', + ); + }, + }, + { + name: 'builds observe-mode runtime input by default', + run: async (provider, fixtures) => { + const event = parsed(provider, fixtures.feedback); + ok(event !== null, 'feedback fixture must parse'); + const input = reviewInputFromEvent(event, { checkoutPath: '/checkout' }); + ok(input.mode === 'observe', 'a webhook must never escalate its own mode'); + ok( + input.source?.startsWith(`${provider.kind}:`) === true, + 'the source label must be provider-qualified', + ); + if (provider.capabilities.diffBase) + ok(input.pullRequest !== undefined, 'diffBase providers must supply a full reference'); + else + ok( + input.pullRequest === undefined, + 'a partial diff reference must not masquerade as complete', + ); + }, + }, + { + name: 'publishes statuses without leaking the credential', + run: async (provider, fixtures) => { + const { fetch, requests } = recordingFetch(); + const options = fixtures.statusOptions(fetch); + const publisher = provider.statusPublisher(options); + const publication = await publisher.publish( + (parsed(provider, fixtures.proactive) ?? assertNever()).changeRequest, + evidence({}), + ); + ok(publication.outcome === 'success', 'a verified run must publish success'); + ok(publication.state.length > 0, 'the provider-native state must be reported'); + ok(publication.degraded === undefined, 'success must never be degraded'); + ok(requests.length > 0, 'a publication must send a request'); + for (const request of requests) { + ok( + request.url.startsWith(fixtures.statusUrlPrefix), + `unexpected status URL ${request.url}`, + ); + const headers = new Headers(request.init?.headers); + ok( + headers.get('authorization')?.includes(options.token) === true, + 'the token must travel as an Authorization header', + ); + const body = typeof request.init?.body === 'string' ? request.init.body : ''; + const visible = request.url + body; + ok(!visible.includes(options.token), 'the token must not appear outside the header'); + } + }, + }, + { + name: 'degrades unsupported status conclusions explicitly', + run: async (provider, fixtures) => { + const { fetch } = recordingFetch(); + const publisher = provider.statusPublisher(fixtures.statusOptions(fetch)); + const target = (parsed(provider, fixtures.proactive) ?? assertNever()).changeRequest; + + const neutral = await publisher.publish(target, evidence({ verified: false })); + ok(neutral.outcome === 'neutral', 'an unverified clean run is neutral'); + if (provider.capabilities.neutralStatus) + ok(neutral.degraded === undefined, 'native neutral must not be degraded'); + else ok(neutral.degraded !== undefined, 'a mapped neutral must say it was mapped'); + + const needsHuman = await publisher.publish( + target, + evidence({ state: 'needs-human', verified: false }), + ); + ok(needsHuman.outcome === 'action-required', 'needs-human is action-required'); + if (provider.capabilities.actionRequiredStatus) + ok(needsHuman.degraded === undefined, 'native action-required must not be degraded'); + else ok(needsHuman.degraded !== undefined, 'a mapped action-required must say it was mapped'); + + const failed = await publisher.publish( + target, + evidence({ + state: 'failed', + verified: false, + checks: [{ command: 'test', exitCode: 1, stdout: '', stderr: '', durationMs: 1 }], + }), + ); + ok(failed.outcome === 'failure', 'a failed run is a failure'); + ok(failed.degraded === undefined, 'every provider has a native failure state'); + }, + }, +]; + +function assertRef( + provider: SourceControlProvider, + ref: { owner: string; repo: string; number: number; headSha: string; baseSha?: string }, +): void { + ok(ref.owner.length > 0 && ref.repo.length > 0, 'the reference must name a repository'); + ok(Number.isInteger(ref.number) && ref.number > 0, 'the reference must carry a number'); + ok(COMMIT_SHA.test(ref.headSha), 'the head commit must look like a commit'); + if (provider.capabilities.diffBase) + ok(ref.baseSha !== undefined && COMMIT_SHA.test(ref.baseSha), 'diffBase promises a base'); + else ok(ref.baseSha === undefined, 'a provider without diffBase must not invent a base'); +} + +function assertNever(): never { + throw new Error('the proactive fixture must parse'); +} diff --git a/packages/source-control/src/contracts.ts b/packages/source-control/src/contracts.ts new file mode 100644 index 0000000..fe4f909 --- /dev/null +++ b/packages/source-control/src/contracts.ts @@ -0,0 +1,181 @@ +import type { + EvidenceBundle, + FeedbackItem, + PullRequestRef, + ReviewTrigger, +} from '@agent-zero/shared'; + +/** Source-control platforms Agent Zero can integrate with. */ +export const providerKinds = [ + 'github', + 'gitlab', + 'bitbucket-cloud', + 'bitbucket-data-center', + 'gitea', +] as const; +export type ProviderKind = (typeof providerKinds)[number]; + +export function isProviderKind(value: unknown): value is ProviderKind { + return typeof value === 'string' && (providerKinds as readonly string[]).includes(value); +} + +/** + * What one provider can actually deliver, so unsupported features degrade explicitly. + * + * Every flag is honest about the webhook and API surface the adapter consumes, not about the + * platform's full feature set: a platform capability the adapter cannot observe is reported as + * absent rather than assumed. + */ +export interface ProviderCapabilities { + /** How inbound webhook deliveries are authenticated. */ + webhookAuthentication: 'hmac-sha256' | 'shared-token'; + /** The API surface run evidence is reported through. */ + statusReporting: 'check-runs' | 'commit-status' | 'build-status'; + /** Whether the status vocabulary has a native neutral conclusion. */ + neutralStatus: boolean; + /** Whether the status vocabulary has a native action-required conclusion. */ + actionRequiredStatus: boolean; + /** Whether the provider delivers formal review submissions distinct from plain comments. */ + reviewSubmissions: boolean; + /** Whether ingested feedback can carry a formal request for changes. */ + changeRequests: boolean; + /** Whether inline comments arrive with file path and line information. */ + inlineComments: boolean; + /** Whether payloads mark bot authors, so `allowBots: false` can filter them. */ + botAuthorDetection: boolean; + /** Whether webhook payloads carry the base commit needed for a base-to-head diff. */ + diffBase: boolean; + /** The provider's own noun for a unit of proposed change, for user-facing text. */ + changeRequestNoun: 'pull request' | 'merge request'; +} + +/** Case-insensitive HTTP header map of an inbound webhook request. */ +export type WebhookHeaders = Readonly>; + +/** One inbound webhook request. The body is the raw bytes; signatures verify it verbatim. */ +export interface WebhookDelivery { + body: string; + headers: WebhookHeaders; +} + +/** + * Identifies the change request a run reports against, in provider-neutral terms. + * + * `owner` is the provider's namespace: a GitHub owner, a GitLab namespace path, a Bitbucket + * workspace or project key, or a Gitea owner. `baseSha` is absent when the provider's webhook + * payload does not carry a diff base; see `ProviderCapabilities.diffBase`. + */ +export interface ChangeRequestRef { + provider: ProviderKind; + owner: string; + repo: string; + number: number; + headSha: string; + baseSha?: string; +} + +/** The complete pull-request reference, for runs that can diff base to head. */ +export function toPullRequestRef(ref: ChangeRequestRef): PullRequestRef | undefined { + if (ref.baseSha === undefined) return undefined; + const { owner, repo, number, baseSha, headSha } = ref; + return { owner, repo, number, baseSha, headSha }; +} + +/** A review event normalized away from any provider's payload shape. */ +export interface ReviewEvent { + provider: ProviderKind; + trigger: ReviewTrigger; + changeRequest: ChangeRequestRef; + items: FeedbackItem[]; + /** True when at least one item came from a formal request for changes. */ + requestedChanges: boolean; +} + +export interface ParseOptions { + /** + * Logins whose feedback is ignored, normally including the account Agent Zero posts as. + * + * Without this a run reacts to its own comments and loops. + */ + ignoreAuthors?: readonly string[]; + /** + * Whether feedback from bot accounts is ingested. AI reviewers are a first-class source. + * Only enforceable on providers whose payloads mark bots; see `botAuthorDetection`. + */ + allowBots?: boolean; +} + +/** The provider-neutral meaning of a finished run for a change request. */ +export type RunOutcome = 'success' | 'failure' | 'neutral' | 'action-required'; + +/** + * Decide what a run means for a change request. + * + * Verification is the only thing that produces `success`. A failing check, an unreached terminal + * state, or an unverified change can never be reported as passing, which is what keeps the + * published status honest. Rejecting incorrect feedback is a legitimate, neutral outcome rather + * than a failure: nothing is wrong with the change request. + */ +export function runOutcome(bundle: EvidenceBundle): RunOutcome { + if (bundle.state === 'failed') return 'failure'; + if (bundle.checks.some((check) => check.exitCode !== 0)) return 'failure'; + if (bundle.state === 'needs-human') return 'action-required'; + if (bundle.verified) return 'success'; + return 'neutral'; +} + +/** What a status publisher actually reported, including any explicit degradation. */ +export interface StatusPublication { + outcome: RunOutcome; + /** The provider-native state that was reported. */ + state: string; + /** Present when the outcome had no native equivalent on this provider and was mapped. */ + degraded?: string; +} + +export interface StatusPublisherOptions { + /** Provider API credential. Sent only as an Authorization header, never logged. */ + token: string; + /** API base URL. Required for self-hosted providers; cloud providers have a default. */ + baseUrl?: string; + /** Status or check name, so several Agent Zero configurations can report side by side. */ + name?: string; + fetch?: typeof globalThis.fetch; +} + +/** Publishes run evidence as the provider's commit status or check equivalent. */ +export interface StatusPublisher { + publish(target: ChangeRequestRef, bundle: EvidenceBundle): Promise; +} + +/** + * One source-control platform behind the provider-neutral boundary. + * + * Adapters translate untrusted provider payloads into shared contracts and keep + * provider-specific URLs, IDs, credentials, and SDK shapes on their side of the boundary. + */ +export interface SourceControlProvider { + readonly kind: ProviderKind; + readonly capabilities: ProviderCapabilities; + /** True when the delivery's headers identify this provider. */ + recognizes(headers: WebhookHeaders): boolean; + /** The provider's event name for a delivery, read from its headers. */ + eventName(headers: WebhookHeaders): string | undefined; + /** Authenticate a delivery. The raw body is verified, never a re-serialization. */ + verifyWebhook(delivery: WebhookDelivery, secret: string): boolean; + /** Turn an untrusted payload into a review event, or null when there is nothing to act on. */ + parseReviewEvent(event: string, payload: unknown, options?: ParseOptions): ReviewEvent | null; + /** Build a status publisher, or throw `ProviderConfigurationError` when misconfigured. */ + statusPublisher(options: StatusPublisherOptions): StatusPublisher; +} + +/** A provider was asked for something its configuration cannot support. */ +export class ProviderConfigurationError extends Error { + constructor( + readonly provider: ProviderKind, + message: string, + ) { + super(`${provider}: ${message}`); + this.name = 'ProviderConfigurationError'; + } +} diff --git a/packages/source-control/src/index.ts b/packages/source-control/src/index.ts new file mode 100644 index 0000000..a026621 --- /dev/null +++ b/packages/source-control/src/index.ts @@ -0,0 +1,48 @@ +export { + isProviderKind, + ProviderConfigurationError, + providerKinds, + runOutcome, + toPullRequestRef, + type ChangeRequestRef, + type ParseOptions, + type ProviderCapabilities, + type ProviderKind, + type ReviewEvent, + type RunOutcome, + type SourceControlProvider, + type StatusPublication, + type StatusPublisher, + type StatusPublisherOptions, + type WebhookDelivery, + type WebhookHeaders, +} from './contracts.js'; +export { renderFeedback, reviewInputFromEvent, sourceLabel } from './input.js'; +export { allProviders, createProvider, providerForDelivery } from './registry.js'; +export { timingSafeStringEqual, verifyHmacSha256 } from './signatures.js'; +export { + bitbucketCloudProvider, + parseBitbucketCloudReviewEvent, +} from './providers/bitbucket-cloud.js'; +export { + bitbucketDataCenterProvider, + parseBitbucketDataCenterReviewEvent, +} from './providers/bitbucket-data-center.js'; +export { giteaProvider, parseGiteaReviewEvent } from './providers/gitea.js'; +export { + checkConclusion, + GitHubChecks, + githubProvider, + parseReviewEvent, + supportedEvents, + verifyWebhook, + type CheckConclusion, + type GitHubChecksOptions, + type SupportedEvent, +} from './providers/github.js'; +export { gitlabProvider, parseGitLabReviewEvent } from './providers/gitlab.js'; +export { + conformanceCases, + type ConformanceCase, + type ProviderConformanceFixtures, +} from './conformance.js'; diff --git a/packages/source-control/src/input.ts b/packages/source-control/src/input.ts new file mode 100644 index 0000000..e2e60b0 --- /dev/null +++ b/packages/source-control/src/input.ts @@ -0,0 +1,61 @@ +import { + isRepositoryRelativePath, + type FeedbackItem, + type ReviewInput, + type RunMode, +} from '@agent-zero/shared'; + +import { toPullRequestRef, type ChangeRequestRef, type ReviewEvent } from './contracts.js'; + +/** A stable, provider-qualified label for where a run came from. */ +export function sourceLabel(ref: ChangeRequestRef): string { + // GitLab writes merge requests as `!7`; everyone else numbers change requests with `#`. + const separator = ref.provider === 'gitlab' ? '!' : '#'; + return `${ref.provider}:${ref.owner}/${ref.repo}${separator}${String(ref.number)}`; +} + +/** + * Build runtime input for a review event. + * + * The mode is supplied by the caller and defaults to `observe`, so an inbound webhook can never + * escalate a run into writing to a repository on its own. The pull-request reference is attached + * only when the provider delivered a diff base; without one the run falls back to the runner's + * own diff discovery instead of trusting a partial range. + */ +export function reviewInputFromEvent( + event: ReviewEvent, + options: { checkoutPath: string; mode?: RunMode }, +): ReviewInput { + const pullRequest = toPullRequestRef(event.changeRequest); + const files = [ + ...new Set( + event.items + .map((item) => item.path) + .filter((path): path is string => path !== undefined && isRepositoryRelativePath(path)), + ), + ]; + return { + repository: options.checkoutPath, + mode: options.mode ?? 'observe', + trigger: event.trigger, + source: sourceLabel(event.changeRequest), + ...(pullRequest ? { pullRequest } : {}), + ...(event.trigger === 'feedback' + ? { feedback: renderFeedback(event.items), items: event.items } + : {}), + ...(files.length > 0 ? { files } : {}), + }; +} + +/** A single human-readable transcript of the review, used when no structured items are consumed. */ +export function renderFeedback(items: readonly FeedbackItem[]): string { + return items + .map((item) => { + const location = item.path + ? ` on ${item.path}${item.line === undefined ? '' : `:${String(item.line)}`}` + : ''; + const kind = item.requestedChanges ? `${item.kind} (changes requested)` : item.kind; + return `[${kind} by ${item.author}${location}]\n${item.body}`; + }) + .join('\n\n---\n\n'); +} diff --git a/packages/source-control/src/providers/bitbucket-cloud.ts b/packages/source-control/src/providers/bitbucket-cloud.ts new file mode 100644 index 0000000..7ca84cf --- /dev/null +++ b/packages/source-control/src/providers/bitbucket-cloud.ts @@ -0,0 +1,209 @@ +import { + evidenceTitle, + redactSecrets, + secretValuesFromEnvironment, + type EvidenceBundle, + type FeedbackItem, +} from '@agent-zero/shared'; + +import { + ProviderConfigurationError, + runOutcome, + type ChangeRequestRef, + type ParseOptions, + type ProviderCapabilities, + type ReviewEvent, + type RunOutcome, + type SourceControlProvider, + type StatusPublication, + type StatusPublisher, + type StatusPublisherOptions, + type WebhookDelivery, + type WebhookHeaders, +} from '../contracts.js'; +import { verifyHmacSha256 } from '../signatures.js'; +import { sendProviderRequest } from '../status.js'; +import { + acceptAuthor, + readBody, + readHeader, + readId, + readLine, + readPositiveInteger, + readRecord, + readSha, + readString, +} from '../untrusted.js'; + +const MAX_DESCRIPTION = 1_000; + +/** + * Bitbucket Cloud's `changes_request_created` event carries no text, so a formal request for + * changes has no claim this adapter can ingest; comments are the reviewable surface. Build + * statuses have neither a neutral nor an action-required state, so both degrade explicitly. + */ +const capabilities: ProviderCapabilities = { + webhookAuthentication: 'hmac-sha256', + statusReporting: 'build-status', + neutralStatus: false, + actionRequiredStatus: false, + reviewSubmissions: false, + changeRequests: false, + inlineComments: true, + botAuthorDetection: false, + diffBase: true, + changeRequestNoun: 'pull request', +}; + +/** Turn a Bitbucket Cloud webhook payload into a review event, or null when nothing is actionable. */ +export function parseBitbucketCloudReviewEvent( + event: string, + payload: unknown, + options: ParseOptions = {}, +): ReviewEvent | null { + const record = readRecord(payload); + if (!record) return null; + const changeRequest = readChangeRequest(record); + if (!changeRequest) return null; + + if (event === 'pullrequest:created' || event === 'pullrequest:updated') { + return { + provider: 'bitbucket-cloud', + trigger: 'proactive', + changeRequest, + items: [], + requestedChanges: false, + }; + } + + if (event !== 'pullrequest:comment_created') return null; + const comment = readRecord(record.comment); + if (!comment) return null; + const user = readRecord(comment.user); + const author = acceptAuthor( + readString(user?.nickname) ?? readString(user?.display_name), + false, + options, + ); + const body = readBody(readRecord(comment.content)?.raw); + if (author === null || body === null) return null; + + const inline = readRecord(comment.inline); + const path = readString(inline?.path); + const line = readLine(inline?.to); + const items: FeedbackItem[] = [ + { + id: readId(comment.id, 'comment'), + kind: 'review-comment', + body, + author, + // Bitbucket Cloud's formal "changes requested" signal is a separate, bodyless event. + requestedChanges: false, + ...(path === undefined ? {} : { path }), + ...(line === undefined ? {} : { line }), + }, + ]; + return { + provider: 'bitbucket-cloud', + trigger: 'feedback', + changeRequest, + items, + requestedChanges: false, + }; +} + +function readChangeRequest(payload: Record): ChangeRequestRef | null { + const pullRequest = readRecord(payload.pullrequest); + const repository = readRecord(payload.repository); + if (!pullRequest || !repository) return null; + + const fullName = readString(repository.full_name); + const number = readPositiveInteger(pullRequest.id); + const headSha = readSha(readRecord(readRecord(pullRequest.source)?.commit)?.hash); + // The destination head serves as the diff base; the runner diffs with merge-base semantics. + const baseSha = readSha(readRecord(readRecord(pullRequest.destination)?.commit)?.hash); + if (!fullName || number === undefined || !headSha || !baseSha) return null; + + const separator = fullName.indexOf('/'); + if (separator <= 0 || separator === fullName.length - 1) return null; + return { + provider: 'bitbucket-cloud', + owner: fullName.slice(0, separator), + repo: fullName.slice(separator + 1), + number, + headSha, + baseSha, + }; +} + +const stateByOutcome: Record = { + success: 'SUCCESSFUL', + failure: 'FAILED', + // Build statuses have no neutral or action-required state. A neutral outcome means nothing is + // wrong with the pull request, so it maps to SUCCESSFUL; a run that needs a human maps to + // FAILED so the pull request cannot quietly proceed. Both are reported as degraded. + neutral: 'SUCCESSFUL', + 'action-required': 'FAILED', +}; + +class BitbucketCloudStatusPublisher implements StatusPublisher { + constructor( + private readonly options: StatusPublisherOptions, + private readonly baseUrl: string, + ) {} + + async publish(target: ChangeRequestRef, bundle: EvidenceBundle): Promise { + const outcome = runOutcome(bundle); + const state = stateByOutcome[outcome]; + const name = this.options.name ?? 'Agent Zero'; + const secrets = secretValuesFromEnvironment(); + await sendProviderRequest({ + provider: 'bitbucket-cloud', + method: 'POST', + url: `${this.baseUrl}/2.0/repositories/${target.owner}/${target.repo}/commit/${target.headSha}/statuses/build`, + token: this.options.token, + tokenScheme: 'Bearer', + fetch: this.options.fetch, + body: { + key: name, + name, + state, + // Bitbucket Cloud requires a URL on build statuses; the pull request itself is the + // only address this run is guaranteed to have. + url: `https://bitbucket.org/${target.owner}/${target.repo}/pull-requests/${String(target.number)}`, + description: redactSecrets(evidenceTitle(bundle), secrets).slice(0, MAX_DESCRIPTION), + }, + }); + return { + outcome, + state, + ...(outcome === 'neutral' || outcome === 'action-required' + ? { degraded: `Bitbucket build statuses have no ${outcome} state; reported ${state}` } + : {}), + }; + } +} + +export const bitbucketCloudProvider: SourceControlProvider = { + kind: 'bitbucket-cloud', + capabilities, + recognizes(headers: WebhookHeaders): boolean { + return readHeader(headers, 'x-event-key')?.startsWith('pullrequest:') === true; + }, + eventName(headers: WebhookHeaders): string | undefined { + return readHeader(headers, 'x-event-key'); + }, + verifyWebhook(delivery: WebhookDelivery, secret: string): boolean { + const signature = readHeader(delivery.headers, 'x-hub-signature'); + return verifyHmacSha256(delivery.body, signature, secret, 'sha256='); + }, + parseReviewEvent: parseBitbucketCloudReviewEvent, + statusPublisher(options: StatusPublisherOptions): StatusPublisher { + if (options.token.length === 0) + throw new ProviderConfigurationError('bitbucket-cloud', 'a status token is required'); + return new BitbucketCloudStatusPublisher( + options, + options.baseUrl ?? 'https://api.bitbucket.org', + ); + }, +}; diff --git a/packages/source-control/src/providers/bitbucket-data-center.ts b/packages/source-control/src/providers/bitbucket-data-center.ts new file mode 100644 index 0000000..e3769de --- /dev/null +++ b/packages/source-control/src/providers/bitbucket-data-center.ts @@ -0,0 +1,208 @@ +import { + evidenceTitle, + redactSecrets, + secretValuesFromEnvironment, + type EvidenceBundle, + type FeedbackItem, +} from '@agent-zero/shared'; + +import { + ProviderConfigurationError, + runOutcome, + type ChangeRequestRef, + type ParseOptions, + type ProviderCapabilities, + type ReviewEvent, + type RunOutcome, + type SourceControlProvider, + type StatusPublication, + type StatusPublisher, + type StatusPublisherOptions, + type WebhookDelivery, + type WebhookHeaders, +} from '../contracts.js'; +import { verifyHmacSha256 } from '../signatures.js'; +import { sendProviderRequest } from '../status.js'; +import { + acceptAuthor, + readBody, + readHeader, + readId, + readLine, + readPositiveInteger, + readRecord, + readSha, + readString, +} from '../untrusted.js'; + +const MAX_DESCRIPTION = 1_000; +const TRAILING_SLASH = /\/$/u; + +/** + * Bitbucket Data Center's `pr:reviewer:needs_work` event carries no text, so a formal request + * for changes has no claim this adapter can ingest. Comment webhooks do not reliably deliver an + * inline anchor, so path and line are read when present but not promised. + */ +const capabilities: ProviderCapabilities = { + webhookAuthentication: 'hmac-sha256', + statusReporting: 'build-status', + neutralStatus: false, + actionRequiredStatus: false, + reviewSubmissions: false, + changeRequests: false, + inlineComments: false, + botAuthorDetection: false, + diffBase: true, + changeRequestNoun: 'pull request', +}; + +/** Turn a Bitbucket Data Center webhook payload into a review event, or null when nothing is actionable. */ +export function parseBitbucketDataCenterReviewEvent( + event: string, + payload: unknown, + options: ParseOptions = {}, +): ReviewEvent | null { + const record = readRecord(payload); + if (!record) return null; + const changeRequest = readChangeRequest(record); + if (!changeRequest) return null; + + // `pr:modified` fires for title and description edits, which introduce no reviewable diff. + if (event === 'pr:opened' || event === 'pr:from_ref_updated') { + return { + provider: 'bitbucket-data-center', + trigger: 'proactive', + changeRequest, + items: [], + requestedChanges: false, + }; + } + + if (event !== 'pr:comment:added') return null; + const comment = readRecord(record.comment); + if (!comment) return null; + const authorRecord = readRecord(comment.author); + const author = acceptAuthor( + readString(authorRecord?.name) ?? readString(authorRecord?.displayName), + false, + options, + ); + const body = readBody(comment.text); + if (author === null || body === null) return null; + + // The inline anchor is not part of the documented payload everywhere; read it when present. + const anchor = readRecord(comment.anchor) ?? readRecord(record.commentAnchor); + const path = readString(anchor?.path); + const line = readLine(anchor?.line); + const items: FeedbackItem[] = [ + { + id: readId(comment.id, 'comment'), + kind: 'review-comment', + body, + author, + // The formal "needs work" signal is a separate, bodyless event. + requestedChanges: false, + ...(path === undefined ? {} : { path }), + ...(line === undefined ? {} : { line }), + }, + ]; + return { + provider: 'bitbucket-data-center', + trigger: 'feedback', + changeRequest, + items, + requestedChanges: false, + }; +} + +function readChangeRequest(payload: Record): ChangeRequestRef | null { + const pullRequest = readRecord(payload.pullRequest); + if (!pullRequest) return null; + const fromRef = readRecord(pullRequest.fromRef); + const toRef = readRecord(pullRequest.toRef); + const repository = readRecord(toRef?.repository); + if (!fromRef || !toRef || !repository) return null; + + const number = readPositiveInteger(pullRequest.id); + const headSha = readSha(fromRef.latestCommit); + // The target head serves as the diff base; the runner diffs with merge-base semantics. + const baseSha = readSha(toRef.latestCommit); + const repo = readString(repository.slug); + const owner = readString(readRecord(repository.project)?.key); + if (number === undefined || !headSha || !baseSha || !repo || !owner) return null; + return { provider: 'bitbucket-data-center', owner, repo, number, headSha, baseSha }; +} + +const stateByOutcome: Record = { + success: 'SUCCESSFUL', + failure: 'FAILED', + // Build statuses have no neutral or action-required state; see the Cloud adapter for the + // rationale behind these mappings. Both are reported as degraded. + neutral: 'SUCCESSFUL', + 'action-required': 'FAILED', +}; + +class BitbucketDataCenterStatusPublisher implements StatusPublisher { + constructor( + private readonly options: StatusPublisherOptions, + private readonly baseUrl: string, + ) {} + + async publish(target: ChangeRequestRef, bundle: EvidenceBundle): Promise { + const outcome = runOutcome(bundle); + const state = stateByOutcome[outcome]; + const name = this.options.name ?? 'Agent Zero'; + const secrets = secretValuesFromEnvironment(); + await sendProviderRequest({ + provider: 'bitbucket-data-center', + method: 'POST', + url: `${this.baseUrl}/rest/api/latest/projects/${target.owner}/repos/${target.repo}/commits/${target.headSha}/builds`, + token: this.options.token, + tokenScheme: 'Bearer', + fetch: this.options.fetch, + body: { + key: name, + name, + state, + url: `${this.baseUrl}/projects/${target.owner}/repos/${target.repo}/pull-requests/${String(target.number)}`, + description: redactSecrets(evidenceTitle(bundle), secrets).slice(0, MAX_DESCRIPTION), + }, + }); + return { + outcome, + state, + ...(outcome === 'neutral' || outcome === 'action-required' + ? { degraded: `Bitbucket build statuses have no ${outcome} state; reported ${state}` } + : {}), + }; + } +} + +export const bitbucketDataCenterProvider: SourceControlProvider = { + kind: 'bitbucket-data-center', + capabilities, + recognizes(headers: WebhookHeaders): boolean { + return readHeader(headers, 'x-event-key')?.startsWith('pr:') === true; + }, + eventName(headers: WebhookHeaders): string | undefined { + return readHeader(headers, 'x-event-key'); + }, + verifyWebhook(delivery: WebhookDelivery, secret: string): boolean { + const signature = readHeader(delivery.headers, 'x-hub-signature'); + return verifyHmacSha256(delivery.body, signature, secret, 'sha256='); + }, + parseReviewEvent: parseBitbucketDataCenterReviewEvent, + statusPublisher(options: StatusPublisherOptions): StatusPublisher { + if (options.token.length === 0) + throw new ProviderConfigurationError('bitbucket-data-center', 'a status token is required'); + if (!options.baseUrl) + throw new ProviderConfigurationError( + 'bitbucket-data-center', + 'a baseUrl is required for a self-hosted instance', + ); + return new BitbucketDataCenterStatusPublisher( + options, + options.baseUrl.replace(TRAILING_SLASH, ''), + ); + }, +}; diff --git a/packages/source-control/src/providers/bitbucket.test.ts b/packages/source-control/src/providers/bitbucket.test.ts new file mode 100644 index 0000000..0989e29 --- /dev/null +++ b/packages/source-control/src/providers/bitbucket.test.ts @@ -0,0 +1,105 @@ +import { describe, expect, it } from 'vitest'; + +import { parseBitbucketCloudReviewEvent } from './bitbucket-cloud.js'; +import { parseBitbucketDataCenterReviewEvent } from './bitbucket-data-center.js'; + +const cloudPayload = { + pullrequest: { + id: 7, + source: { commit: { hash: 'a'.repeat(12) } }, + destination: { commit: { hash: 'b'.repeat(12) } }, + }, + repository: { full_name: 'acme/app' }, +}; + +describe('parseBitbucketCloudReviewEvent', () => { + it('starts a proactive review for a created or updated pull request', () => { + for (const event of ['pullrequest:created', 'pullrequest:updated']) { + expect(parseBitbucketCloudReviewEvent(event, cloudPayload)).toMatchObject({ + provider: 'bitbucket-cloud', + trigger: 'proactive', + changeRequest: { + owner: 'acme', + repo: 'app', + number: 7, + headSha: 'a'.repeat(12), + baseSha: 'b'.repeat(12), + }, + }); + } + }); + + it('normalizes a comment with its inline anchor', () => { + const event = parseBitbucketCloudReviewEvent('pullrequest:comment_created', { + ...cloudPayload, + comment: { + id: 31, + content: { raw: 'This dereferences a null return.' }, + user: { nickname: 'alice', display_name: 'Alice' }, + inline: { path: 'src/user.ts', to: 12 }, + }, + }); + expect(event?.items[0]).toMatchObject({ + id: 'comment:31', + author: 'alice', + path: 'src/user.ts', + line: 12, + }); + }); + + it('falls back to the display name when no nickname exists', () => { + const event = parseBitbucketCloudReviewEvent('pullrequest:comment_created', { + ...cloudPayload, + comment: { id: 31, content: { raw: 'claim' }, user: { display_name: 'Alice' } }, + }); + expect(event?.items[0]?.author).toBe('Alice'); + }); + + it('produces nothing for the bodyless changes-requested event', () => { + expect( + parseBitbucketCloudReviewEvent('pullrequest:changes_request_created', cloudPayload), + ).toBeNull(); + }); +}); + +const dataCenterPayload = { + pullRequest: { + id: 7, + fromRef: { latestCommit: 'a'.repeat(40) }, + toRef: { + latestCommit: 'b'.repeat(40), + repository: { slug: 'app', project: { key: 'ACME' } }, + }, + }, +}; + +describe('parseBitbucketDataCenterReviewEvent', () => { + it('starts a proactive review when a pull request opens or gains commits', () => { + for (const event of ['pr:opened', 'pr:from_ref_updated']) { + expect(parseBitbucketDataCenterReviewEvent(event, dataCenterPayload)).toMatchObject({ + provider: 'bitbucket-data-center', + trigger: 'proactive', + changeRequest: { owner: 'ACME', repo: 'app', number: 7 }, + }); + } + }); + + it('ignores metadata edits that introduce no reviewable diff', () => { + expect(parseBitbucketDataCenterReviewEvent('pr:modified', dataCenterPayload)).toBeNull(); + }); + + it('normalizes a comment and survives a missing inline anchor', () => { + const event = parseBitbucketDataCenterReviewEvent('pr:comment:added', { + ...dataCenterPayload, + comment: { id: 41, text: 'This dereferences a null return.', author: { name: 'alice' } }, + }); + expect(event?.items[0]).toMatchObject({ id: 'comment:41', author: 'alice' }); + expect(event?.items[0]?.path).toBeUndefined(); + }); + + it('produces nothing for the bodyless needs-work event', () => { + expect( + parseBitbucketDataCenterReviewEvent('pr:reviewer:needs_work', dataCenterPayload), + ).toBeNull(); + }); +}); diff --git a/packages/source-control/src/providers/gitea.test.ts b/packages/source-control/src/providers/gitea.test.ts new file mode 100644 index 0000000..0bd55be --- /dev/null +++ b/packages/source-control/src/providers/gitea.test.ts @@ -0,0 +1,82 @@ +import { describe, expect, it } from 'vitest'; + +import { parseGiteaReviewEvent } from './gitea.js'; + +const repository = { name: 'app', owner: { login: 'acme' } }; +const pullRequest = { + number: 7, + base: { sha: 'b'.repeat(40) }, + head: { sha: 'a'.repeat(40) }, +}; + +function review(overrides: Record = {}): Record { + return { + action: 'reviewed', + repository, + pull_request: pullRequest, + sender: { login: 'alice' }, + review: { + id: 51, + type: 'pull_request_review_rejected', + content: 'Guard the null return.', + ...overrides, + }, + }; +} + +describe('parseGiteaReviewEvent', () => { + it('starts a proactive review for new and synchronized pull requests', () => { + for (const action of ['opened', 'reopened', 'synchronized', 'synchronize']) { + expect( + parseGiteaReviewEvent('pull_request', { action, repository, pull_request: pullRequest }), + ).toMatchObject({ + provider: 'gitea', + trigger: 'proactive', + changeRequest: { owner: 'acme', repo: 'app', baseSha: 'b'.repeat(40) }, + }); + } + }); + + it('marks a rejected review as a request for changes', () => { + const event = parseGiteaReviewEvent('pull_request_review_rejected', review()); + expect(event?.requestedChanges).toBe(true); + expect(event?.items[0]).toMatchObject({ kind: 'review-body', author: 'alice' }); + }); + + it('ingests a comment review without marking changes requested', () => { + const event = parseGiteaReviewEvent( + 'pull_request_review_comment', + review({ type: 'pull_request_review_comment' }), + ); + expect(event?.requestedChanges).toBe(false); + }); + + it('dispatches on review.type when the event name is the bare review event', () => { + const event = parseGiteaReviewEvent('pull_request_review', review()); + expect(event?.requestedChanges).toBe(true); + }); + + it('produces nothing for an approval', () => { + expect( + parseGiteaReviewEvent( + 'pull_request_review_approved', + review({ type: 'pull_request_review_approved', content: 'Nice.' }), + ), + ).toBeNull(); + }); + + it('produces nothing for a rejection with no body to act on', () => { + expect( + parseGiteaReviewEvent('pull_request_review_rejected', review({ content: ' ' })), + ).toBeNull(); + }); + + it('accepts a Forgejo-style owner username field', () => { + const event = parseGiteaReviewEvent('pull_request', { + action: 'opened', + repository: { name: 'app', owner: { username: 'acme' } }, + pull_request: pullRequest, + }); + expect(event?.changeRequest.owner).toBe('acme'); + }); +}); diff --git a/packages/source-control/src/providers/gitea.ts b/packages/source-control/src/providers/gitea.ts new file mode 100644 index 0000000..5d4e86c --- /dev/null +++ b/packages/source-control/src/providers/gitea.ts @@ -0,0 +1,223 @@ +import { + evidenceTitle, + redactSecrets, + secretValuesFromEnvironment, + type EvidenceBundle, + type FeedbackItem, +} from '@agent-zero/shared'; + +import { + ProviderConfigurationError, + runOutcome, + type ChangeRequestRef, + type ParseOptions, + type ProviderCapabilities, + type ReviewEvent, + type RunOutcome, + type SourceControlProvider, + type StatusPublication, + type StatusPublisher, + type StatusPublisherOptions, + type WebhookDelivery, + type WebhookHeaders, +} from '../contracts.js'; +import { verifyHmacSha256 } from '../signatures.js'; +import { sendProviderRequest } from '../status.js'; +import { + acceptAuthor, + readBody, + readHeader, + readId, + readPositiveInteger, + readRecord, + readSha, + readString, +} from '../untrusted.js'; + +const MAX_DESCRIPTION = 1_000; +const TRAILING_SLASH = /\/$/u; + +/** + * One adapter serves Gitea and Forgejo: Forgejo keeps Gitea's payload shapes and sends both its + * own and Gitea's compatibility headers. Review submissions arrive as whole events without + * per-comment file anchors, so inline positions are not promised. + */ +const capabilities: ProviderCapabilities = { + webhookAuthentication: 'hmac-sha256', + statusReporting: 'commit-status', + neutralStatus: false, + actionRequiredStatus: false, + reviewSubmissions: true, + changeRequests: true, + inlineComments: false, + botAuthorDetection: false, + diffBase: true, + changeRequestNoun: 'pull request', +}; + +const REVIEW_EVENT = /^pull_request_review/u; + +/** Turn a Gitea or Forgejo webhook payload into a review event, or null when nothing is actionable. */ +export function parseGiteaReviewEvent( + event: string, + payload: unknown, + options: ParseOptions = {}, +): ReviewEvent | null { + const record = readRecord(payload); + if (!record) return null; + const changeRequest = readChangeRequest(record); + if (!changeRequest) return null; + + if (event === 'pull_request') { + if (!isProactiveAction(record.action)) return null; + return { + provider: 'gitea', + trigger: 'proactive', + changeRequest, + items: [], + requestedChanges: false, + }; + } + + if (!REVIEW_EVENT.test(event)) return null; + const items = readReview(event, record, options); + if (!items || items.length === 0) return null; + return { + provider: 'gitea', + trigger: 'feedback', + changeRequest, + items, + requestedChanges: items.some((item) => item.requestedChanges), + }; +} + +function isProactiveAction(action: unknown): boolean { + return ( + action === 'opened' || + action === 'reopened' || + action === 'synchronize' || + action === 'synchronized' || + action === 'ready_for_review' + ); +} + +/** + * Gitea names review events `pull_request_review_approved`, `..._rejected`, and `..._comment`; + * some versions send a plain `pull_request_review` and disambiguate through `review.type`. Both + * spellings are accepted, and an approval produces nothing: there is no claim to validate. + */ +function readReview( + event: string, + payload: Record, + options: ParseOptions, +): FeedbackItem[] | null { + const review = readRecord(payload.review); + if (!review) return null; + const marker = `${event} ${readString(review.type) ?? ''}`; + if (marker.includes('approved')) return null; + const requestedChanges = marker.includes('rejected'); + if (!requestedChanges && !marker.includes('comment')) return null; + + const author = acceptAuthor(readString(readRecord(payload.sender)?.login), false, options); + const body = readBody(review.content); + if (author === null || body === null) return null; + return [ + { + id: readId(review.id, 'review'), + kind: 'review-body', + body, + author, + requestedChanges, + }, + ]; +} + +function readChangeRequest(payload: Record): ChangeRequestRef | null { + const pullRequest = readRecord(payload.pull_request); + const repository = readRecord(payload.repository); + if (!pullRequest || !repository) return null; + + const number = readPositiveInteger(pullRequest.number); + const headSha = readSha(readRecord(pullRequest.head)?.sha); + const baseSha = readSha(readRecord(pullRequest.base)?.sha); + const repo = readString(repository.name); + const ownerRecord = readRecord(repository.owner); + const owner = readString(ownerRecord?.login) ?? readString(ownerRecord?.username); + if (number === undefined || !headSha || !baseSha || !repo || !owner) return null; + return { provider: 'gitea', owner, repo, number, headSha, baseSha }; +} + +const stateByOutcome: Record = { + success: 'success', + failure: 'failure', + // Gitea statuses have no neutral state; nothing is wrong on a neutral outcome, so it maps to + // success. `warning` is the closest visible signal for a run that needs a human. Both are + // reported as degraded. + neutral: 'success', + 'action-required': 'warning', +}; + +class GiteaStatusPublisher implements StatusPublisher { + constructor( + private readonly options: StatusPublisherOptions, + private readonly baseUrl: string, + ) {} + + async publish(target: ChangeRequestRef, bundle: EvidenceBundle): Promise { + const outcome = runOutcome(bundle); + const state = stateByOutcome[outcome]; + const secrets = secretValuesFromEnvironment(); + await sendProviderRequest({ + provider: 'gitea', + method: 'POST', + url: `${this.baseUrl}/api/v1/repos/${target.owner}/${target.repo}/statuses/${target.headSha}`, + token: this.options.token, + tokenScheme: 'token', + fetch: this.options.fetch, + body: { + state, + context: this.options.name ?? 'Agent Zero', + description: redactSecrets(evidenceTitle(bundle), secrets).slice(0, MAX_DESCRIPTION), + }, + }); + return { + outcome, + state, + ...(outcome === 'neutral' || outcome === 'action-required' + ? { degraded: `Gitea commit statuses have no ${outcome} state; reported ${state}` } + : {}), + }; + } +} + +export const giteaProvider: SourceControlProvider = { + kind: 'gitea', + capabilities, + recognizes(headers: WebhookHeaders): boolean { + return ( + readHeader(headers, 'x-gitea-event') !== undefined || + readHeader(headers, 'x-forgejo-event') !== undefined + ); + }, + eventName(headers: WebhookHeaders): string | undefined { + return readHeader(headers, 'x-gitea-event') ?? readHeader(headers, 'x-forgejo-event'); + }, + verifyWebhook(delivery: WebhookDelivery, secret: string): boolean { + const signature = + readHeader(delivery.headers, 'x-gitea-signature') ?? + readHeader(delivery.headers, 'x-forgejo-signature'); + // Gitea and Forgejo sign with bare-hex HMAC-SHA256, without GitHub's `sha256=` prefix. + return verifyHmacSha256(delivery.body, signature, secret); + }, + parseReviewEvent: parseGiteaReviewEvent, + statusPublisher(options: StatusPublisherOptions): StatusPublisher { + if (options.token.length === 0) + throw new ProviderConfigurationError('gitea', 'a status token is required'); + if (!options.baseUrl) + throw new ProviderConfigurationError( + 'gitea', + 'a baseUrl is required for a self-hosted instance', + ); + return new GiteaStatusPublisher(options, options.baseUrl.replace(TRAILING_SLASH, '')); + }, +}; diff --git a/packages/github/src/events.test.ts b/packages/source-control/src/providers/github.test.ts similarity index 53% rename from packages/github/src/events.test.ts rename to packages/source-control/src/providers/github.test.ts index ebc9baf..fdd3b29 100644 --- a/packages/github/src/events.test.ts +++ b/packages/source-control/src/providers/github.test.ts @@ -1,6 +1,8 @@ +import type { CheckResult, EvidenceBundle } from '@agent-zero/shared'; import { describe, expect, it } from 'vitest'; -import { parseReviewEvent, reviewInputFromEvent } from './events.js'; +import { reviewInputFromEvent } from '../input.js'; +import { checkConclusion, GitHubChecks, parseReviewEvent } from './github.js'; const repository = { name: 'app', owner: { login: 'acme' } }; const pullRequest = { @@ -44,8 +46,10 @@ describe('parseReviewEvent for inline comments', () => { it('normalizes a created review comment', () => { const event = parseReviewEvent('pull_request_review_comment', reviewComment()); expect(event).toEqual({ + provider: 'github', trigger: 'feedback', - pullRequest: { + changeRequest: { + provider: 'github', owner: 'acme', repo: 'app', number: 7, @@ -102,7 +106,7 @@ describe('parseReviewEvent for proactive pull-request changes', () => { pull_request: pullRequest, }); expect(event).toMatchObject({ trigger: 'proactive', items: [], requestedChanges: false }); - expect(event?.pullRequest).toMatchObject({ + expect(event?.changeRequest).toMatchObject({ baseSha: 'b'.repeat(40), headSha: 'a'.repeat(40), }); @@ -230,3 +234,199 @@ describe('reviewInputFromEvent', () => { expect(reviewInputFromEvent(event!, { checkoutPath: '/checkout' }).files).toBeUndefined(); }); }); + +const target = { + provider: 'github' as const, + owner: 'acme', + repo: 'app', + number: 7, + baseSha: 'b'.repeat(40), + headSha: 'a'.repeat(40), +}; +const REDACTED_MARKER = /\[redacted]/; +const LEAKED_TOKEN = /ghs_token_value/; + +const passing: CheckResult = { + command: 'pnpm run test', + exitCode: 0, + stdout: '', + stderr: '', + durationMs: 5, +}; +const failing: CheckResult = { ...passing, exitCode: 1, stderr: 'assertion failed' }; + +function bundle(overrides: Partial = {}): EvidenceBundle { + return { + taskId: 'az_test', + state: 'completed', + verdict: 'accepted', + verified: true, + mode: 'fix', + trigger: 'feedback', + source: 'github:acme/app#7', + runner: { kind: 'container', isolated: true, writable: true, network: 'none' }, + finding: null, + plan: [], + changedFiles: ['src/user.ts'], + checks: [passing], + attempts: 1, + transitions: [], + summary: 'Fixed and verified', + ...overrides, + }; +} + +describe('checkConclusion', () => { + it('reports success only for a verified run', () => { + expect(checkConclusion(bundle())).toBe('success'); + }); + + it('never reports success when a check failed', () => { + expect(checkConclusion(bundle({ checks: [passing, failing], verified: true }))).toBe('failure'); + }); + + it('reports a crashed run as a failure', () => { + expect(checkConclusion(bundle({ state: 'failed', verified: false, checks: [] }))).toBe( + 'failure', + ); + }); + + it('asks for action when a run needs a human', () => { + expect(checkConclusion(bundle({ state: 'needs-human', verified: false, checks: [] }))).toBe( + 'action_required', + ); + }); + + it('reports rejected feedback as neutral rather than a pull-request failure', () => { + expect( + checkConclusion( + bundle({ verdict: 'rejected', verified: false, checks: [], changedFiles: [] }), + ), + ).toBe('neutral'); + }); + + it('reports an observe-only run as neutral', () => { + expect( + checkConclusion(bundle({ mode: 'observe', verified: false, checks: [], changedFiles: [] })), + ).toBe('neutral'); + }); +}); + +/** One recorded request, already decoded so tests never stringify an unknown body. */ +interface RecordedCall { + url: string; + headers: Headers; + body: Record; +} + +type FetchArguments = Parameters; + +const token = 'ghs_token_value_1234567890'; + +function requestUrl(url: FetchArguments[0]): string { + if (typeof url === 'string') return url; + return url instanceof URL ? url.href : url.url; +} + +function readBody(body: NonNullable['body']): Record { + if (typeof body !== 'string') return {}; + const parsed: unknown = JSON.parse(body); + return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed) + ? { ...parsed } + : {}; +} + +function created(): Response { + return new Response(JSON.stringify({ id: 42 }), { + status: 201, + headers: { 'content-type': 'application/json' }, + }); +} + +function client(handler: () => Response = created): { + checks: GitHubChecks; + calls: RecordedCall[]; +} { + const calls: RecordedCall[] = []; + const checks = new GitHubChecks({ + token, + fetch: async (url, init) => { + calls.push({ + url: requestUrl(url), + headers: new Headers(init?.headers), + body: readBody(init?.body), + }); + return handler(); + }, + }); + return { checks, calls }; +} + +/** The check output object a completion request carries. */ +function readOutput(call: RecordedCall | undefined): { title: string; text: string } { + const output = call?.body.output; + if (typeof output !== 'object' || output === null) throw new Error('no check output recorded'); + const record: Record = { ...output }; + return { + title: typeof record.title === 'string' ? record.title : '', + text: typeof record.text === 'string' ? record.text : '', + }; +} + +describe('GitHubChecks', () => { + it('opens an in-progress run against the head commit', async () => { + const { checks, calls } = client(created); + await expect(checks.start(target)).resolves.toBe(42); + expect(calls[0]?.url).toBe('https://api.github.com/repos/acme/app/check-runs'); + expect(calls[0]?.body).toMatchObject({ + head_sha: target.headSha, + status: 'in_progress', + name: 'Agent Zero', + }); + }); + + it('sends the token only as an authorization header', async () => { + const { checks, calls } = client(created); + await checks.publish(target, bundle()); + expect(calls[0]?.headers.get('authorization')).toBe(`Bearer ${token}`); + expect(JSON.stringify(calls[0]?.body)).not.toContain('ghs_token_value'); + expect(calls[0]?.url).not.toContain('ghs_token_value'); + }); + + it('completes a run with the evidence report and a matching conclusion', async () => { + const { checks, calls } = client(created); + await checks.complete(target, 42, bundle({ verified: false, checks: [failing] })); + expect(calls[0]?.url).toBe('https://api.github.com/repos/acme/app/check-runs/42'); + expect(calls[0]?.body.conclusion).toBe('failure'); + const output = readOutput(calls[0]); + expect(output.title).toContain('Feedback accepted'); + expect(output.title).toContain('failed'); + expect(output.text).toContain('assertion failed'); + }); + + it('keeps the report inside the GitHub output limit', async () => { + const { checks, calls } = client(created); + await checks.publish( + target, + bundle({ verified: false, checks: [{ ...failing, stderr: 'x'.repeat(200_000) }] }), + ); + expect(readOutput(calls[0]).text.length).toBeLessThanOrEqual(60_000); + }); + + it('redacts the token from a failed request instead of leaking it', async () => { + const { checks } = client(() => new Response(`bad credentials for ${token}`, { status: 401 })); + await expect(checks.publish(target, bundle())).rejects.toThrow(REDACTED_MARKER); + await expect(checks.publish(target, bundle())).rejects.not.toThrow(LEAKED_TOKEN); + }); + + it('fails loudly when GitHub does not return a check run id', async () => { + const { checks } = client( + () => + new Response(JSON.stringify({ message: 'ok' }), { + status: 201, + headers: { 'content-type': 'application/json' }, + }), + ); + await expect(checks.start(target)).rejects.toThrow('did not return a check run id'); + }); +}); diff --git a/packages/source-control/src/providers/github.ts b/packages/source-control/src/providers/github.ts new file mode 100644 index 0000000..23c14d6 --- /dev/null +++ b/packages/source-control/src/providers/github.ts @@ -0,0 +1,356 @@ +import { + evidenceTitle, + redactSecrets, + renderEvidenceMarkdown, + secretValuesFromEnvironment, + type EvidenceBundle, + type FeedbackItem, +} from '@agent-zero/shared'; + +import { + ProviderConfigurationError, + runOutcome, + type ChangeRequestRef, + type ParseOptions, + type ProviderCapabilities, + type ReviewEvent, + type SourceControlProvider, + type StatusPublication, + type StatusPublisherOptions, + type WebhookDelivery, + type WebhookHeaders, +} from '../contracts.js'; +import { verifyHmacSha256 } from '../signatures.js'; +import { + acceptAuthor, + isRecord, + readBody, + readHeader, + readId, + readLine, + readPositiveInteger, + readRecord, + readSha, + readString, +} from '../untrusted.js'; + +/** Webhook event names this adapter understands. */ +export const supportedEvents = [ + 'pull_request', + 'pull_request_review', + 'pull_request_review_comment', +] as const; +export type SupportedEvent = (typeof supportedEvents)[number]; + +/** Conclusions a GitHub check run may report. */ +export type CheckConclusion = 'success' | 'failure' | 'neutral' | 'action_required'; + +/** GitHub caps check output fields; staying under the limit keeps a report from being rejected. */ +const MAX_OUTPUT = 60_000; +const MAX_TITLE = 255; +const MAX_SUMMARY = 4_000; + +const capabilities: ProviderCapabilities = { + webhookAuthentication: 'hmac-sha256', + statusReporting: 'check-runs', + neutralStatus: true, + actionRequiredStatus: true, + reviewSubmissions: true, + changeRequests: true, + inlineComments: true, + botAuthorDetection: true, + diffBase: true, + changeRequestNoun: 'pull request', +}; + +/** Terminal run outcomes map one-to-one onto GitHub check conclusions. */ +export function checkConclusion(bundle: EvidenceBundle): CheckConclusion { + const outcome = runOutcome(bundle); + return outcome === 'action-required' ? 'action_required' : outcome; +} + +export interface GitHubChecksOptions { + token: string; + baseUrl?: string; + /** Check run name, so several Agent Zero configurations can report side by side. */ + name?: string; + fetch?: typeof globalThis.fetch; +} + +/** + * Publishes run evidence to the GitHub Checks API. + * + * The token is only ever sent as an Authorization header, and any error body is redacted before + * it is raised, so a failed publish cannot leak a credential into logs. + */ +export class GitHubChecks { + private readonly baseUrl: string; + private readonly name: string; + private readonly request: typeof globalThis.fetch; + + constructor(private readonly options: GitHubChecksOptions) { + this.baseUrl = options.baseUrl ?? 'https://api.github.com'; + this.name = options.name ?? 'Agent Zero'; + this.request = options.fetch ?? globalThis.fetch; + } + + /** Open an in-progress check run so a long verification is visible while it happens. */ + async start(target: Pick): Promise { + const body = await this.send('POST', `/repos/${target.owner}/${target.repo}/check-runs`, { + name: this.name, + head_sha: target.headSha, + status: 'in_progress', + }); + return readCheckRunId(body); + } + + /** Complete an existing check run with the run's evidence. */ + async complete( + target: Pick, + checkRunId: number, + bundle: EvidenceBundle, + ): Promise { + await this.send( + 'PATCH', + `/repos/${target.owner}/${target.repo}/check-runs/${String(checkRunId)}`, + this.completionPayload(bundle), + ); + } + + /** Create an already-completed check run, for a verification that finished quickly. */ + async publish( + target: Pick, + bundle: EvidenceBundle, + ): Promise { + const body = await this.send('POST', `/repos/${target.owner}/${target.repo}/check-runs`, { + name: this.name, + head_sha: target.headSha, + ...this.completionPayload(bundle), + }); + return readCheckRunId(body); + } + + /** The request body for a finished check run, including the rendered evidence report. */ + completionPayload(bundle: EvidenceBundle): Record { + const secrets = secretValuesFromEnvironment(); + return { + status: 'completed', + conclusion: checkConclusion(bundle), + output: { + title: redactSecrets(evidenceTitle(bundle), secrets).slice(0, MAX_TITLE), + summary: redactSecrets(bundle.summary, secrets).slice(0, MAX_SUMMARY), + text: renderEvidenceMarkdown(bundle, { maxLength: MAX_OUTPUT, secrets }), + }, + }; + } + + private async send( + method: 'POST' | 'PATCH', + path: string, + body: Record, + ): Promise { + const response = await this.request(`${this.baseUrl}${path}`, { + method, + headers: { + accept: 'application/vnd.github+json', + authorization: `Bearer ${this.options.token}`, + 'content-type': 'application/json', + 'x-github-api-version': '2022-11-28', + }, + body: JSON.stringify(body), + }); + if (!response.ok) { + const detail = redactSecrets(await response.text(), [ + this.options.token, + ...secretValuesFromEnvironment(), + ]); + throw new Error( + `GitHub check run request failed (${String(response.status)}): ${detail.slice(0, 1_000)}`, + ); + } + return response.json(); + } +} + +function readCheckRunId(body: unknown): number { + if (typeof body === 'object' && body !== null && 'id' in body && typeof body.id === 'number') + return body.id; + throw new Error('GitHub did not return a check run id'); +} + +/** + * Turn a GitHub webhook payload into a review event, or null when there is nothing to act on. + * + * The payload is untrusted, so every field is checked rather than asserted. Approvals and + * dismissals produce nothing: there is no claim to validate. + */ +export function parseReviewEvent( + event: string, + payload: unknown, + options: ParseOptions = {}, +): ReviewEvent | null { + if (!isRecord(payload)) return null; + const changeRequest = readChangeRequest(payload); + if (!changeRequest) return null; + + if (event === 'pull_request') { + if (!isProactiveAction(payload.action)) return null; + return { + provider: 'github', + trigger: 'proactive', + changeRequest, + items: [], + requestedChanges: false, + }; + } + + const items = + event === 'pull_request_review_comment' + ? readReviewComment(payload, options) + : event === 'pull_request_review' + ? readReview(payload, options) + : null; + if (!items || items.length === 0) return null; + + return { + provider: 'github', + trigger: 'feedback', + changeRequest, + items, + requestedChanges: items.some((item) => item.requestedChanges), + }; +} + +function readReviewComment( + payload: Record, + options: ParseOptions, +): FeedbackItem[] | null { + if (payload.action !== 'created') return null; + const comment = readRecord(payload.comment); + if (!comment) return null; + const author = readGitHubAuthor(comment.user, options); + const body = readBody(comment.body); + if (author === null || body === null) return null; + const path = readString(comment.path); + const line = readLine(comment.line ?? comment.original_line); + return [ + { + id: readId(comment.id, 'review-comment'), + kind: 'review-comment', + body, + author, + // A single inline comment is a remark; the review that carries it decides on changes. + requestedChanges: false, + ...(path === undefined ? {} : { path }), + ...(line === undefined ? {} : { line }), + }, + ]; +} + +function readReview( + payload: Record, + options: ParseOptions, +): FeedbackItem[] | null { + if (payload.action !== 'submitted') return null; + const review = readRecord(payload.review); + if (!review) return null; + const state = typeof review.state === 'string' ? review.state.toLowerCase() : ''; + // An approval or a dismissal carries no claim to validate. + if (state !== 'changes_requested' && state !== 'commented') return null; + const author = readGitHubAuthor(review.user, options); + const body = readBody(review.body); + if (author === null || body === null) return null; + return [ + { + id: readId(review.id, 'review'), + kind: 'review-body', + body, + author, + requestedChanges: state === 'changes_requested', + }, + ]; +} + +function readChangeRequest(payload: Record): ChangeRequestRef | null { + const pullRequest = readRecord(payload.pull_request); + const repository = readRecord(payload.repository); + if (!pullRequest || !repository) return null; + + const number = readPositiveInteger(pullRequest.number); + const headSha = readSha(readRecord(pullRequest.head)?.sha); + const baseSha = readSha(readRecord(pullRequest.base)?.sha); + const repo = readString(repository.name); + const owner = readString(readRecord(repository.owner)?.login); + + if (number === undefined || !baseSha || !headSha || !repo || !owner) return null; + return { provider: 'github', owner, repo, number, baseSha, headSha }; +} + +function isProactiveAction(action: unknown): boolean { + return ( + action === 'opened' || + action === 'reopened' || + action === 'synchronize' || + action === 'ready_for_review' + ); +} + +function readGitHubAuthor(user: unknown, options: ParseOptions): string | null { + const record = readRecord(user); + if (!record) return null; + return acceptAuthor(readString(record.login), record.type === 'Bot', options); +} + +class GitHubStatusPublisher { + constructor(private readonly checks: GitHubChecks) {} + + async publish(target: ChangeRequestRef, bundle: EvidenceBundle): Promise { + await this.checks.publish(target, bundle); + return { outcome: runOutcome(bundle), state: checkConclusion(bundle) }; + } +} + +export const githubProvider: SourceControlProvider = { + kind: 'github', + capabilities, + recognizes(headers: WebhookHeaders): boolean { + // Gitea and Forgejo send an X-GitHub-Event compatibility header; their own header wins. + if (readHeader(headers, 'x-gitea-event') || readHeader(headers, 'x-forgejo-event')) + return false; + return readHeader(headers, 'x-github-event') !== undefined; + }, + eventName(headers: WebhookHeaders): string | undefined { + return readHeader(headers, 'x-github-event'); + }, + verifyWebhook(delivery: WebhookDelivery, secret: string): boolean { + const signature = readHeader(delivery.headers, 'x-hub-signature-256'); + return verifyHmacSha256(delivery.body, signature, secret, 'sha256='); + }, + parseReviewEvent, + statusPublisher(options: StatusPublisherOptions): GitHubStatusPublisher { + if (options.token.length === 0) + throw new ProviderConfigurationError('github', 'a status token is required'); + return new GitHubStatusPublisher( + new GitHubChecks({ + token: options.token, + ...(options.baseUrl ? { baseUrl: options.baseUrl } : {}), + ...(options.name ? { name: options.name } : {}), + ...(options.fetch ? { fetch: options.fetch } : {}), + }), + ); + }, +}; + +/** + * Verify a GitHub webhook signature in constant time. + * + * Kept as a named export for callers that verify before routing; equivalent to + * `githubProvider.verifyWebhook` on a delivery whose header is already extracted. + */ +export function verifyWebhook( + body: string, + signature: string | undefined, + secret: string, +): boolean { + return verifyHmacSha256(body, signature, secret, 'sha256='); +} diff --git a/packages/source-control/src/providers/gitlab.test.ts b/packages/source-control/src/providers/gitlab.test.ts new file mode 100644 index 0000000..4365ecd --- /dev/null +++ b/packages/source-control/src/providers/gitlab.test.ts @@ -0,0 +1,128 @@ +import { describe, expect, it } from 'vitest'; + +import { reviewInputFromEvent } from '../input.js'; +import { parseGitLabReviewEvent } from './gitlab.js'; + +const mergeRequest = { iid: 7, last_commit: { id: 'a'.repeat(40) } }; +const project = { path_with_namespace: 'acme/platform/app' }; + +function mergeRequestHook(overrides: Record = {}): Record { + return { + object_kind: 'merge_request', + project, + object_attributes: { ...mergeRequest, action: 'open', ...overrides }, + }; +} + +function noteHook(overrides: Record = {}): Record { + return { + object_kind: 'note', + user: { username: 'alice' }, + project, + object_attributes: { + id: 11, + note: 'This dereferences a null return.', + noteable_type: 'MergeRequest', + position: { new_path: 'src/user.ts', new_line: 12 }, + ...overrides, + }, + merge_request: mergeRequest, + }; +} + +describe('parseGitLabReviewEvent for merge requests', () => { + it('starts a proactive review when a merge request opens', () => { + const event = parseGitLabReviewEvent('Merge Request Hook', mergeRequestHook()); + expect(event).toMatchObject({ + provider: 'gitlab', + trigger: 'proactive', + items: [], + changeRequest: { + owner: 'acme/platform', + repo: 'app', + number: 7, + headSha: 'a'.repeat(40), + }, + }); + // GitLab webhooks never deliver a diff base; the reference must not invent one. + expect(event?.changeRequest.baseSha).toBeUndefined(); + }); + + it('treats an update as proactive only when commits changed', () => { + expect( + parseGitLabReviewEvent('Merge Request Hook', mergeRequestHook({ action: 'update' })), + ).toBeNull(); + expect( + parseGitLabReviewEvent( + 'Merge Request Hook', + mergeRequestHook({ action: 'update', oldrev: 'c'.repeat(40) }), + ), + ).not.toBeNull(); + }); + + it('produces nothing for approvals, merges, and closes', () => { + for (const action of ['approved', 'unapproved', 'merge', 'close']) + expect(parseGitLabReviewEvent('Merge Request Hook', mergeRequestHook({ action }))).toBeNull(); + }); + + it('accepts the object_kind spelling of the event name', () => { + expect(parseGitLabReviewEvent('merge_request', mergeRequestHook())).not.toBeNull(); + }); + + it('ignores unknown event names and contradictory payload kinds', () => { + expect(parseGitLabReviewEvent('Webhook', mergeRequestHook())).toBeNull(); + expect( + parseGitLabReviewEvent('Note Hook', { ...noteHook(), object_kind: 'merge_request' }), + ).toBeNull(); + }); + + it('requires a well-formed namespace path', () => { + for (const path of ['app', '/app', 'acme/']) { + expect( + parseGitLabReviewEvent('Merge Request Hook', { + ...mergeRequestHook(), + project: { path_with_namespace: path }, + }), + ).toBeNull(); + } + }); +}); + +describe('parseGitLabReviewEvent for notes', () => { + it('normalizes a merge-request note with its inline position', () => { + const event = parseGitLabReviewEvent('Note Hook', noteHook()); + expect(event?.items[0]).toMatchObject({ + id: 'note:11', + kind: 'review-comment', + author: 'alice', + path: 'src/user.ts', + line: 12, + requestedChanges: false, + }); + }); + + it('ignores notes on anything but a merge request', () => { + expect(parseGitLabReviewEvent('Note Hook', noteHook({ noteable_type: 'Commit' }))).toBeNull(); + }); + + it('ignores its own account so a run cannot answer itself', () => { + expect( + parseGitLabReviewEvent('Note Hook', noteHook(), { ignoreAuthors: ['ALICE'] }), + ).toBeNull(); + }); + + it('bounds an oversized note body', () => { + const event = parseGitLabReviewEvent('Note Hook', noteHook({ note: 'x'.repeat(20_000) })); + expect(event?.items[0]?.body.length).toBe(8_000); + }); +}); + +describe('reviewInputFromEvent for GitLab', () => { + it('labels the source with merge-request notation and omits the partial diff reference', () => { + const event = parseGitLabReviewEvent('Note Hook', noteHook()); + const input = reviewInputFromEvent(event!, { checkoutPath: '/checkout' }); + expect(input.source).toBe('gitlab:acme/platform/app!7'); + expect(input.pullRequest).toBeUndefined(); + expect(input.files).toEqual(['src/user.ts']); + }); +}); diff --git a/packages/source-control/src/providers/gitlab.ts b/packages/source-control/src/providers/gitlab.ts new file mode 100644 index 0000000..a5ae036 --- /dev/null +++ b/packages/source-control/src/providers/gitlab.ts @@ -0,0 +1,245 @@ +import { + evidenceTitle, + redactSecrets, + secretValuesFromEnvironment, + type EvidenceBundle, + type FeedbackItem, +} from '@agent-zero/shared'; + +import { + ProviderConfigurationError, + runOutcome, + type ChangeRequestRef, + type ParseOptions, + type ProviderCapabilities, + type ReviewEvent, + type RunOutcome, + type SourceControlProvider, + type StatusPublication, + type StatusPublisher, + type StatusPublisherOptions, + type WebhookDelivery, + type WebhookHeaders, +} from '../contracts.js'; +import { timingSafeStringEqual } from '../signatures.js'; +import { sendProviderRequest } from '../status.js'; +import { + acceptAuthor, + readBody, + readHeader, + readId, + readLine, + readPositiveInteger, + readRecord, + readSha, + readString, +} from '../untrusted.js'; + +const MAX_DESCRIPTION = 1_000; + +/** + * GitLab merge-request webhooks carry the head commit but no diff base, and its commit statuses + * have neither a neutral nor an action-required state, so both degrade explicitly. Approvals and + * "request changes" arrive as actions without a reviewable claim, so `changeRequests` is honest + * about what this adapter can ingest, not about the platform. + */ +const capabilities: ProviderCapabilities = { + webhookAuthentication: 'shared-token', + statusReporting: 'commit-status', + neutralStatus: false, + actionRequiredStatus: false, + reviewSubmissions: false, + changeRequests: false, + inlineComments: true, + botAuthorDetection: false, + diffBase: false, + changeRequestNoun: 'merge request', +}; + +/** + * Turn a GitLab webhook payload into a review event, or null when there is nothing to act on. + * + * The event name is matched against both the `X-Gitlab-Event` header form (`Merge Request Hook`) + * and the payload's `object_kind` spelling, so a caller may pass either. An unknown event name is + * ignored outright, and a payload whose `object_kind` contradicts the event name is rejected + * rather than trusted. + */ +export function parseGitLabReviewEvent( + event: string, + payload: unknown, + options: ParseOptions = {}, +): ReviewEvent | null { + const record = readRecord(payload); + if (!record) return null; + const kind = normalizeEventName(event); + if (kind === undefined) return null; + const objectKind = readString(record.object_kind); + if (objectKind !== undefined && objectKind !== kind) return null; + + if (kind === 'merge_request') return readMergeRequestEvent(record); + return readNoteEvent(record, options); +} + +function normalizeEventName(event: string): string | undefined { + const lowered = event.toLowerCase(); + if (lowered === 'merge request hook' || lowered === 'merge_request') return 'merge_request'; + if (lowered === 'note hook' || lowered === 'note') return 'note'; + return undefined; +} + +function readMergeRequestEvent(payload: Record): ReviewEvent | null { + const attributes = readRecord(payload.object_attributes); + if (!attributes) return null; + const action = readString(attributes.action); + // `update` fires for title and label edits too; `oldrev` is only present when commits changed. + const proactive = + action === 'open' || + action === 'reopen' || + (action === 'update' && readString(attributes.oldrev) !== undefined); + if (!proactive) return null; + + const changeRequest = readChangeRequest(payload, attributes); + if (!changeRequest) return null; + return { + provider: 'gitlab', + trigger: 'proactive', + changeRequest, + items: [], + requestedChanges: false, + }; +} + +function readNoteEvent( + payload: Record, + options: ParseOptions, +): ReviewEvent | null { + const attributes = readRecord(payload.object_attributes); + const mergeRequest = readRecord(payload.merge_request); + if (!attributes || !mergeRequest) return null; + if (readString(attributes.noteable_type) !== 'MergeRequest') return null; + + const author = acceptAuthor(readString(readRecord(payload.user)?.username), false, options); + const body = readBody(attributes.note); + if (author === null || body === null) return null; + + const changeRequest = readChangeRequest(payload, mergeRequest); + if (!changeRequest) return null; + + const position = readRecord(attributes.position); + const path = readString(position?.new_path); + const line = readLine(position?.new_line); + const items: FeedbackItem[] = [ + { + id: readId(attributes.id, 'note'), + kind: 'review-comment', + body, + author, + // GitLab notes are remarks; formal change requests never reach this adapter as text. + requestedChanges: false, + ...(path === undefined ? {} : { path }), + ...(line === undefined ? {} : { line }), + }, + ]; + return { + provider: 'gitlab', + trigger: 'feedback', + changeRequest, + items, + requestedChanges: false, + }; +} + +/** + * Build the change-request reference from a merge-request record. + * + * GitLab does not deliver a base commit in webhook payloads, so the reference carries only the + * head; runs fall back to runner-side diff discovery (see `capabilities.diffBase`). + */ +function readChangeRequest( + payload: Record, + mergeRequest: Record, +): ChangeRequestRef | null { + const project = readRecord(payload.project); + const pathWithNamespace = readString(project?.path_with_namespace); + const number = readPositiveInteger(mergeRequest.iid); + const headSha = readSha(readRecord(mergeRequest.last_commit)?.id); + if (!pathWithNamespace || number === undefined || !headSha) return null; + + const separator = pathWithNamespace.lastIndexOf('/'); + if (separator <= 0 || separator === pathWithNamespace.length - 1) return null; + return { + provider: 'gitlab', + owner: pathWithNamespace.slice(0, separator), + repo: pathWithNamespace.slice(separator + 1), + number, + headSha, + }; +} + +const stateByOutcome: Record = { + success: 'success', + failure: 'failed', + // GitLab commit statuses have no neutral or action-required state. Nothing is wrong with the + // merge request on a neutral outcome, so it maps to success; a run that needs a human maps to + // failed so the merge request cannot quietly proceed. Both are reported as degraded. + neutral: 'success', + 'action-required': 'failed', +}; + +class GitLabStatusPublisher implements StatusPublisher { + constructor( + private readonly options: StatusPublisherOptions, + private readonly baseUrl: string, + ) {} + + async publish(target: ChangeRequestRef, bundle: EvidenceBundle): Promise { + const outcome = runOutcome(bundle); + const state = stateByOutcome[outcome]; + const project = encodeURIComponent(`${target.owner}/${target.repo}`); + const secrets = secretValuesFromEnvironment(); + await sendProviderRequest({ + provider: 'gitlab', + method: 'POST', + url: `${this.baseUrl}/api/v4/projects/${project}/statuses/${target.headSha}`, + token: this.options.token, + tokenScheme: 'Bearer', + fetch: this.options.fetch, + body: { + state, + context: this.options.name ?? 'Agent Zero', + description: redactSecrets(evidenceTitle(bundle), secrets).slice(0, MAX_DESCRIPTION), + }, + }); + return { + outcome, + state, + ...(outcome === 'neutral' || outcome === 'action-required' + ? { degraded: `GitLab commit statuses have no ${outcome} state; reported ${state}` } + : {}), + }; + } +} + +export const gitlabProvider: SourceControlProvider = { + kind: 'gitlab', + capabilities, + recognizes(headers: WebhookHeaders): boolean { + return readHeader(headers, 'x-gitlab-event') !== undefined; + }, + eventName(headers: WebhookHeaders): string | undefined { + return readHeader(headers, 'x-gitlab-event'); + }, + verifyWebhook(delivery: WebhookDelivery, secret: string): boolean { + // GitLab authenticates with a shared token rather than a body signature. + return ( + secret.length > 0 && + timingSafeStringEqual(readHeader(delivery.headers, 'x-gitlab-token'), secret) + ); + }, + parseReviewEvent: parseGitLabReviewEvent, + statusPublisher(options: StatusPublisherOptions): StatusPublisher { + if (options.token.length === 0) + throw new ProviderConfigurationError('gitlab', 'a status token is required'); + return new GitLabStatusPublisher(options, options.baseUrl ?? 'https://gitlab.com'); + }, +}; diff --git a/packages/source-control/src/registry.test.ts b/packages/source-control/src/registry.test.ts new file mode 100644 index 0000000..379d36e --- /dev/null +++ b/packages/source-control/src/registry.test.ts @@ -0,0 +1,54 @@ +import { describe, expect, it } from 'vitest'; + +import { createProvider, providerForDelivery } from './registry.js'; +import { verifyHmacSha256 } from './signatures.js'; + +describe('providerForDelivery', () => { + it('routes each provider by its own headers', () => { + expect(providerForDelivery({ 'x-github-event': 'pull_request' })?.kind).toBe('github'); + expect(providerForDelivery({ 'x-gitlab-event': 'Note Hook' })?.kind).toBe('gitlab'); + expect(providerForDelivery({ 'x-event-key': 'pullrequest:created' })?.kind).toBe( + 'bitbucket-cloud', + ); + expect(providerForDelivery({ 'x-event-key': 'pr:opened' })?.kind).toBe('bitbucket-data-center'); + expect(providerForDelivery({ 'x-gitea-event': 'pull_request' })?.kind).toBe('gitea'); + }); + + it('routes Gitea and Forgejo ahead of their GitHub compatibility header', () => { + expect( + providerForDelivery({ 'x-github-event': 'pull_request', 'x-gitea-event': 'pull_request' }) + ?.kind, + ).toBe('gitea'); + expect( + providerForDelivery({ 'x-github-event': 'pull_request', 'x-forgejo-event': 'pull_request' }) + ?.kind, + ).toBe('gitea'); + }); + + it('reads headers case-insensitively, as proxies rewrite casing', () => { + expect(providerForDelivery({ 'X-GitHub-Event': 'pull_request' })?.kind).toBe('github'); + }); + + it('only routes to providers the deployment configured', () => { + const headers = { 'x-github-event': 'pull_request' }; + expect(providerForDelivery(headers, ['gitlab'])).toBeUndefined(); + expect(providerForDelivery(headers, ['gitlab', 'github'])?.kind).toBe('github'); + }); + + it('returns nothing for an anonymous delivery', () => { + expect(providerForDelivery({})).toBeUndefined(); + }); +}); + +describe('createProvider', () => { + it('returns a stateless adapter per kind', () => { + expect(createProvider('github').kind).toBe('github'); + expect(createProvider('gitea')).toBe(createProvider('gitea')); + }); +}); + +describe('verifyHmacSha256', () => { + it('rejects an empty secret so a missing configuration cannot verify anything', () => { + expect(verifyHmacSha256('body', 'signature', '')).toBe(false); + }); +}); diff --git a/packages/source-control/src/registry.ts b/packages/source-control/src/registry.ts new file mode 100644 index 0000000..358a722 --- /dev/null +++ b/packages/source-control/src/registry.ts @@ -0,0 +1,51 @@ +import type { ProviderKind, SourceControlProvider, WebhookHeaders } from './contracts.js'; +import { bitbucketCloudProvider } from './providers/bitbucket-cloud.js'; +import { bitbucketDataCenterProvider } from './providers/bitbucket-data-center.js'; +import { giteaProvider } from './providers/gitea.js'; +import { githubProvider } from './providers/github.js'; +import { gitlabProvider } from './providers/gitlab.js'; + +/** + * Every provider adapter, in recognition order. + * + * Gitea and Forgejo send GitHub compatibility headers, so their adapter must be consulted before + * GitHub's; the GitHub adapter also declines deliveries that carry a Gitea or Forgejo header. + */ +const providers: readonly SourceControlProvider[] = [ + giteaProvider, + gitlabProvider, + bitbucketCloudProvider, + bitbucketDataCenterProvider, + githubProvider, +]; + +const byKind = new Map( + providers.map((provider) => [provider.kind, provider]), +); + +/** The adapter for one provider. Adapters are stateless; credentials live in publisher options. */ +export function createProvider(kind: ProviderKind): SourceControlProvider { + const provider = byKind.get(kind); + if (!provider) throw new Error(`Unknown source-control provider: ${kind}`); + return provider; +} + +export function allProviders(): readonly SourceControlProvider[] { + return providers; +} + +/** + * Route an inbound delivery to the adapter that recognizes its headers. + * + * `kinds` restricts routing to the providers a deployment actually configured, so an + * unconfigured provider's deliveries are rejected instead of half-processed. + */ +export function providerForDelivery( + headers: WebhookHeaders, + kinds?: readonly ProviderKind[], +): SourceControlProvider | undefined { + return providers.find( + (provider) => + (kinds === undefined || kinds.includes(provider.kind)) && provider.recognizes(headers), + ); +} diff --git a/packages/source-control/src/signatures.ts b/packages/source-control/src/signatures.ts new file mode 100644 index 0000000..fa8f29b --- /dev/null +++ b/packages/source-control/src/signatures.ts @@ -0,0 +1,32 @@ +import { createHmac, timingSafeEqual } from 'node:crypto'; + +/** + * Compare two strings in constant time. + * + * The comparison length is checked first because `timingSafeEqual` throws on a length mismatch, + * and a thrown error would be a slower path than a rejection. + */ +export function timingSafeStringEqual(actual: string | undefined, expected: string): boolean { + if (actual === undefined || expected.length === 0) return false; + return ( + actual.length === expected.length && timingSafeEqual(Buffer.from(actual), Buffer.from(expected)) + ); +} + +/** + * Verify an HMAC-SHA256 hex signature over the raw request body in constant time. + * + * `prefix` covers the `sha256=` convention GitHub and Bitbucket use; Gitea and Forgejo send the + * bare hex digest. + */ +export function verifyHmacSha256( + body: string, + signature: string | undefined, + secret: string, + prefix = '', +): boolean { + if (signature === undefined || secret.length === 0) return false; + if (prefix.length > 0 && !signature.startsWith(prefix)) return false; + const expected = `${prefix}${createHmac('sha256', secret).update(body).digest('hex')}`; + return timingSafeStringEqual(signature, expected); +} diff --git a/packages/source-control/src/status.ts b/packages/source-control/src/status.ts new file mode 100644 index 0000000..f9f5826 --- /dev/null +++ b/packages/source-control/src/status.ts @@ -0,0 +1,46 @@ +import { redactSecrets, secretValuesFromEnvironment } from '@agent-zero/shared'; + +import type { ProviderKind } from './contracts.js'; + +export interface ProviderRequestOptions { + provider: ProviderKind; + method: 'POST' | 'PATCH'; + url: string; + token: string; + /** The Authorization scheme the provider expects. */ + tokenScheme: 'Bearer' | 'token'; + headers?: Record; + body: Record; + fetch?: typeof globalThis.fetch | undefined; +} + +/** + * Send one JSON request to a provider API. + * + * The token is only ever sent as an Authorization header, and any error body is redacted before + * it is raised, so a failed publish cannot leak a credential into logs. + */ +export async function sendProviderRequest(options: ProviderRequestOptions): Promise { + const request = options.fetch ?? globalThis.fetch; + const response = await request(options.url, { + method: options.method, + headers: { + accept: 'application/json', + authorization: `${options.tokenScheme} ${options.token}`, + 'content-type': 'application/json', + ...options.headers, + }, + body: JSON.stringify(options.body), + }); + if (!response.ok) { + const detail = redactSecrets(await response.text(), [ + options.token, + ...secretValuesFromEnvironment(), + ]); + throw new Error( + `${options.provider} status request failed (${String(response.status)}): ${detail.slice(0, 1_000)}`, + ); + } + // Some providers answer 204 or a non-JSON body; the callers only need success. + return response.json().catch(() => undefined); +} diff --git a/packages/source-control/src/untrusted.ts b/packages/source-control/src/untrusted.ts new file mode 100644 index 0000000..c71d7fe --- /dev/null +++ b/packages/source-control/src/untrusted.ts @@ -0,0 +1,74 @@ +import type { ParseOptions } from './contracts.js'; + +/** Untrusted comment bodies are bounded before they reach a prompt or an evidence report. */ +export const MAX_BODY = 8_000; +export const COMMIT_SHA = /^[0-9a-f]{7,64}$/i; + +export function isRecord(value: unknown): value is Record { + return typeof value === 'object' && value !== null && !Array.isArray(value); +} + +export function readRecord(value: unknown): Record | undefined { + return isRecord(value) ? value : undefined; +} + +export function readString(value: unknown): string | undefined { + return typeof value === 'string' && value.length > 0 ? value : undefined; +} + +/** A positive integer, as required for change-request numbers and line numbers. */ +export function readPositiveInteger(value: unknown): number | undefined { + return typeof value === 'number' && Number.isInteger(value) && value > 0 ? value : undefined; +} + +export function readSha(value: unknown): string | undefined { + return typeof value === 'string' && COMMIT_SHA.test(value) ? value : undefined; +} + +export function readBody(body: unknown): string | null { + if (typeof body !== 'string') return null; + const trimmed = body.trim(); + if (trimmed.length === 0) return null; + return trimmed.slice(0, MAX_BODY); +} + +export function readLine(value: unknown): number | undefined { + return readPositiveInteger(value); +} + +export function readId(value: unknown, prefix: string): string { + if (typeof value === 'number' || typeof value === 'string') return `${prefix}:${String(value)}`; + return prefix; +} + +/** + * Accept or reject a feedback author. + * + * `isBot` is only meaningful on providers whose payloads mark bot accounts; adapters on other + * providers pass `false`, so `allowBots: false` cannot filter what the payload does not reveal. + */ +export function acceptAuthor( + login: string | undefined, + isBot: boolean, + options: ParseOptions, +): string | null { + if (!login) return null; + const ignored = options.ignoreAuthors ?? []; + if (ignored.some((ignore) => ignore.toLowerCase() === login.toLowerCase())) return null; + if (options.allowBots === false && isBot) return null; + return login; +} + +/** Case-insensitive header lookup; webhook hosts disagree on header-name casing. */ +export function readHeader( + headers: Readonly>, + name: string, +): string | undefined { + const direct = headers[name]; + if (direct !== undefined) return direct; + const lower = name.toLowerCase(); + for (const [key, value] of Object.entries(headers)) { + if (key.toLowerCase() === lower) return value; + } + return undefined; +} diff --git a/packages/github/tsconfig.json b/packages/source-control/tsconfig.json similarity index 100% rename from packages/github/tsconfig.json rename to packages/source-control/tsconfig.json diff --git a/packages/github/tsdown.config.ts b/packages/source-control/tsdown.config.ts similarity index 100% rename from packages/github/tsdown.config.ts rename to packages/source-control/tsdown.config.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c37ebcc..7eba66e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -284,9 +284,6 @@ importers: '@agent-zero/config': specifier: workspace:* version: 0.3.0 - '@agent-zero/github': - specifier: workspace:* - version: 0.3.0 '@agent-zero/models': specifier: workspace:* version: 0.3.0 @@ -296,6 +293,9 @@ importers: '@agent-zero/shared': specifier: workspace:* version: 0.3.0 + '@agent-zero/source-control': + specifier: workspace:* + version: 0.3.0 '@orpc/server': specifier: 2.0.0-beta.26 version: 2.0.0-beta.26(crossws@0.4.10) @@ -611,11 +611,23 @@ importers: specifier: ^3.2.4 version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) - packages/github: + packages/models: dependencies: '@agent-zero/shared': specifier: workspace:* version: 0.3.0 + '@ai-sdk/anthropic': + specifier: ^4.0.36 + version: 4.0.36(zod@4.4.3) + '@ai-sdk/google': + specifier: ^4.0.39 + version: 4.0.39(zod@4.4.3) + '@ai-sdk/openai': + specifier: ^4.0.36 + version: 4.0.36(zod@4.4.3) + '@ai-sdk/openai-compatible': + specifier: ^3.0.16 + version: 3.0.27(zod@4.4.3) '@arethetypeswrong/core': specifier: ^0.18.1 version: 0.18.5 @@ -625,6 +637,9 @@ importers: '@types/node': specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 version: 24.13.3 + ai: + specifier: ^7.0.40 + version: 7.0.58(zod@4.4.3) happy-dom: specifier: '*' version: 20.11.2 @@ -634,6 +649,9 @@ importers: tsx: specifier: '*' version: 4.23.11 + zod: + specifier: ^4.4.3 + version: 4.4.3 devDependencies: oxlint: specifier: ^1.44.0 @@ -651,23 +669,11 @@ importers: specifier: ^3.2.4 version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) - packages/models: + packages/runner: dependencies: '@agent-zero/shared': specifier: workspace:* version: 0.3.0 - '@ai-sdk/anthropic': - specifier: ^4.0.36 - version: 4.0.36(zod@4.4.3) - '@ai-sdk/google': - specifier: ^4.0.39 - version: 4.0.39(zod@4.4.3) - '@ai-sdk/openai': - specifier: ^4.0.36 - version: 4.0.36(zod@4.4.3) - '@ai-sdk/openai-compatible': - specifier: ^3.0.16 - version: 3.0.27(zod@4.4.3) '@arethetypeswrong/core': specifier: ^0.18.1 version: 0.18.5 @@ -677,21 +683,21 @@ importers: '@types/node': specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 version: 24.13.3 - ai: - specifier: ^7.0.40 - version: 7.0.58(zod@4.4.3) + '@vite-hub/shell': + specifier: ^0.0.3 + version: 0.0.3 happy-dom: specifier: '*' version: 20.11.2 + magic-regexp: + specifier: ^0.11.0 + version: 0.11.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.11)(yaml@2.9.0))(webpack@5.109.2) publint: specifier: ^0.3.8 version: 0.3.23 tsx: specifier: '*' version: 4.23.11 - zod: - specifier: ^4.4.3 - version: 4.4.3 devDependencies: oxlint: specifier: ^1.44.0 @@ -709,11 +715,8 @@ importers: specifier: ^3.2.4 version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) - packages/runner: + packages/shared: dependencies: - '@agent-zero/shared': - specifier: workspace:* - version: 0.3.0 '@arethetypeswrong/core': specifier: ^0.18.1 version: 0.18.5 @@ -723,15 +726,9 @@ importers: '@types/node': specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 version: 24.13.3 - '@vite-hub/shell': - specifier: ^0.0.3 - version: 0.0.3 happy-dom: specifier: '*' version: 20.11.2 - magic-regexp: - specifier: ^0.11.0 - version: 0.11.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.11)(yaml@2.9.0))(webpack@5.109.2) publint: specifier: ^0.3.8 version: 0.3.23 @@ -755,8 +752,11 @@ importers: specifier: ^3.2.4 version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) - packages/shared: + packages/source-control: dependencies: + '@agent-zero/shared': + specifier: workspace:* + version: 0.3.0 '@arethetypeswrong/core': specifier: ^0.18.1 version: 0.18.5 diff --git a/tsconfig.json b/tsconfig.json index 6b8b85c..3124f5e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,7 +5,7 @@ { "path": "packages/config" }, { "path": "packages/models" }, { "path": "packages/runner" }, - { "path": "packages/github" }, + { "path": "packages/source-control" }, { "path": "packages/agent" }, { "path": "packages/cli" }, { "path": "packages/auth" }, From f6d12dbf594753593d4f3222f225c6153fdca152 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 13 Aug 2026 10:58:10 +0000 Subject: [PATCH 2/4] fix(server): give each Bitbucket product its own status token Bitbucket Cloud and Bitbucket Data Center both resolved status credentials from BITBUCKET_TOKEN, so a deployment connecting both products with distinct credentials could not configure them independently. Split the mapping into BITBUCKET_CLOUD_TOKEN and BITBUCKET_DATA_CENTER_TOKEN, update the provider docs, and add a regression test asserting the two resolve independently. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01MJQxEwqaaP4aMG4E7yeaky --- apps/server/src/router.test.ts | 17 +++++++++++++++++ apps/server/src/router.ts | 4 ++-- docs/source-control-providers.md | 18 +++++++++++------- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/apps/server/src/router.test.ts b/apps/server/src/router.test.ts index 4705f7e..2f9f415 100644 --- a/apps/server/src/router.test.ts +++ b/apps/server/src/router.test.ts @@ -15,6 +15,7 @@ import { listTasks, publishEvidence, runTask, + statusTokenFromEnvironment, taskInput, tasks, } from './router.js'; @@ -359,4 +360,20 @@ describe('publishEvidence', () => { expect(outcome.reason).toContain('no neutral state'); expect(bodies[0]?.state).toBe('success'); }); + + it('resolves independent credentials for the two Bitbucket products', () => { + const originalCloud = process.env.BITBUCKET_CLOUD_TOKEN; + const originalDataCenter = process.env.BITBUCKET_DATA_CENTER_TOKEN; + try { + process.env.BITBUCKET_CLOUD_TOKEN = 'cloud-credential'; + process.env.BITBUCKET_DATA_CENTER_TOKEN = 'data-center-credential'; + expect(statusTokenFromEnvironment('bitbucket-cloud')).toBe('cloud-credential'); + expect(statusTokenFromEnvironment('bitbucket-data-center')).toBe('data-center-credential'); + } finally { + if (originalCloud === undefined) delete process.env.BITBUCKET_CLOUD_TOKEN; + else process.env.BITBUCKET_CLOUD_TOKEN = originalCloud; + if (originalDataCenter === undefined) delete process.env.BITBUCKET_DATA_CENTER_TOKEN; + else process.env.BITBUCKET_DATA_CENTER_TOKEN = originalDataCenter; + } + }); }); diff --git a/apps/server/src/router.ts b/apps/server/src/router.ts index adb4a53..32ba783 100644 --- a/apps/server/src/router.ts +++ b/apps/server/src/router.ts @@ -321,8 +321,8 @@ export interface PublishOptions { const statusTokenVariables: Record = { github: 'GITHUB_TOKEN', gitlab: 'GITLAB_TOKEN', - 'bitbucket-cloud': 'BITBUCKET_TOKEN', - 'bitbucket-data-center': 'BITBUCKET_TOKEN', + 'bitbucket-cloud': 'BITBUCKET_CLOUD_TOKEN', + 'bitbucket-data-center': 'BITBUCKET_DATA_CENTER_TOKEN', gitea: 'GITEA_TOKEN', }; diff --git a/docs/source-control-providers.md b/docs/source-control-providers.md index d349f5a..e801894 100644 --- a/docs/source-control-providers.md +++ b/docs/source-control-providers.md @@ -78,13 +78,17 @@ rejected before its payload is parsed. Status publishing reads one fixed environment variable per provider; credentials are sent only as an `Authorization` header and are redacted from any error raised. -| Provider | Variable | Notes | -| --------------------- | ----------------- | ---------------------------------------- | -| GitHub | `GITHUB_TOKEN` | Checks API | -| GitLab | `GITLAB_TOKEN` | `baseUrl` for GitLab Self-Managed | -| Bitbucket Cloud | `BITBUCKET_TOKEN` | access token with repository write scope | -| Bitbucket Data Center | `BITBUCKET_TOKEN` | `baseUrl` required | -| Gitea / Forgejo | `GITEA_TOKEN` | `baseUrl` required | +| Provider | Variable | Notes | +| --------------------- | ----------------------------- | ---------------------------------------- | +| GitHub | `GITHUB_TOKEN` | Checks API | +| GitLab | `GITLAB_TOKEN` | `baseUrl` for GitLab Self-Managed | +| Bitbucket Cloud | `BITBUCKET_CLOUD_TOKEN` | access token with repository write scope | +| Bitbucket Data Center | `BITBUCKET_DATA_CENTER_TOKEN` | `baseUrl` required | +| Gitea / Forgejo | `GITEA_TOKEN` | `baseUrl` required | + +The two Bitbucket products keep separate variables because a deployment may connect both with +distinct credentials; a shared variable would force one publication path to authenticate with +the other product's token. ## Conformance From f1691bb8d315b2b6482379daaea63244807dee02 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 13 Aug 2026 12:01:48 +0000 Subject: [PATCH 3/4] ci(semantic-pr): allow the source-control scope in PR titles packages/github was renamed to packages/source-control by this PR; the semantic-pull-requests.yml scope allowlist did not know the new name, which failed the title-validation check on this PR's own title. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01MJQxEwqaaP4aMG4E7yeaky --- .github/workflows/semantic-pull-requests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/semantic-pull-requests.yml b/.github/workflows/semantic-pull-requests.yml index 89926a2..50bd3b2 100644 --- a/.github/workflows/semantic-pull-requests.yml +++ b/.github/workflows/semantic-pull-requests.yml @@ -42,6 +42,7 @@ jobs: safety server shared + source-control test subjectPattern: ^(?![A-Z]).+$ subjectPatternError: | From 0753190a6e71bd6af4a85c88b8751a18429126b4 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 13 Aug 2026 22:53:15 +0000 Subject: [PATCH 4/4] fix(lockfile): restore missing apps/dashboard and packages/i18n entries A local install with those two manifests temporarily sidelined (to route around a sandboxed network block on pkg.pr.new, unrelated to this PR) pruned their importer blocks from pnpm-lock.yaml before the previous commit. CI's frozen-lockfile install then silently skipped both workspaces, so packages/i18n's own dependencies (@lunariajs/core, vue-i18n-extract) were never linked and its typecheck failed with "Cannot find module", cascading into the other CI jobs via Turborepo's lockfile-derived task graph. Restored both importer blocks verbatim from origin/main's lockfile, keeping the packages/source-control rename applied on top. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01MJQxEwqaaP4aMG4E7yeaky --- pnpm-lock.yaml | 8181 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 6619 insertions(+), 1562 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1995521..d9e7658 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,22 +10,53 @@ overrides: importers: .: + dependencies: + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 + '@nuxt/kit': + specifier: ^3 + version: 3.21.11 + '@nuxt/schema': + specifier: ^3 + version: 3.21.11 + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + esbuild: + specifier: '*' + version: 0.28.2 + eslint: + specifier: ^9.0.0 || ^10.0.0 + version: 10.8.1 + happy-dom: + specifier: '*' + version: 20.11.2 + rollup: + specifier: ^3 + version: 4.62.4 + vite: + specifier: '>=3' + version: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + webpack: + specifier: ^4 || ^5 + version: 5.109.2 devDependencies: '@arethetypeswrong/cli': specifier: ^0.18.5 version: 0.18.5 '@commitlint/cli': specifier: ^21.2.1 - version: 21.2.1(@types/node@24.13.3)(conventional-commits-parser@7.1.2)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + version: 21.2.1(@types/node@24.13.3)(typescript@6.0.3-bridge.12.tsgo.7.0.2) '@commitlint/config-conventional': specifier: ^21.2.0 version: 21.2.0 '@e18e/eslint-plugin': specifier: ^0.8.0 - version: 0.8.0(eslint@10.8.1(jiti@2.7.0))(oxlint@1.78.0(oxlint-tsgolint@7.0.2001)) + version: 0.8.0(eslint@10.8.1)(oxlint@1.78.0(oxlint-tsgolint@7.0.2001)) '@redstardev/unplugin-version-injector': specifier: 0.0.2 - version: 0.0.2(@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0))))(@nuxt/schema@4.5.2)(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)) + version: 0.0.2(@nuxt/kit@3.21.11)(@nuxt/schema@3.21.11)(esbuild@0.28.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) '@types/node': specifier: ^24.3.0 version: 24.13.3 @@ -52,10 +83,10 @@ importers: version: 0.3.23 skilld: specifier: ^2.1.0 - version: 2.1.0(a30719771215b9af753ca476aac649ea) + version: 2.1.0 tsdown: specifier: ^0.22.14 - version: 0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) tsx: specifier: ^4.20.5 version: 4.23.12 @@ -63,29 +94,44 @@ importers: specifier: ^2.5.6 version: 2.10.9 typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + specifier: ^5.9.2 version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 vitest: specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) apps/auth-server: dependencies: '@agent-zero/auth': specifier: workspace:* - version: link:../../packages/auth + version: 0.3.0 '@agent-zero/mail': specifier: workspace:* - version: link:../../packages/mail + version: 0.3.0 '@agent-zero/shared': specifier: workspace:* - version: link:../../packages/shared + version: 0.3.0 + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 '@hono/node-server': specifier: ^1.19.17 version: 1.19.17(hono@4.13.1) + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 + version: 24.13.3 + happy-dom: + specifier: '*' + version: 20.11.2 hono: specifier: ^4.13.1 version: 4.13.1 + publint: + specifier: ^0.3.8 + version: 0.3.23 devDependencies: oxlint: specifier: ^1.44.0 @@ -95,46 +141,209 @@ importers: version: 7.0.2001 tsdown: specifier: ^0.22.14 - version: 0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) tsx: specifier: ^4.20.3 version: 4.23.12 typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + specifier: ^5.9.2 version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 vitest: specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) + + apps/dashboard: + dependencies: + '@agent-zero/auth': + specifier: workspace:* + version: 0.3.0 + '@agent-zero/i18n': + specifier: workspace:* + version: 0.3.0 + '@onmax/nuxt-better-auth': + specifier: ^0.0.7 + version: 0.0.7(better-auth@1.6.26(@prisma/client@5.22.0(prisma@7.9.1))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mongodb@7.5.0)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vue@3.5.41)) + '@opentelemetry/api': + specifier: ^1.9.0 + version: 1.9.1 + '@prisma/client': + specifier: ^5.0.0 || ^6.0.0 || ^7.0.0 + version: 5.22.0(prisma@7.9.1) + '@types/node': + specifier: '>=18.12.0' + version: 24.13.3 + '@unocss/webpack': + specifier: 66.7.5 + version: 66.7.5(webpack@5.109.2) + '@vue/compiler-dom': + specifier: 3.x + version: 3.5.41 + '@vue/server-renderer': + specifier: 3.x + version: 3.5.41 + better-auth: + specifier: ^1.6.26 + version: 1.6.26(@prisma/client@5.22.0(prisma@7.9.1))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mongodb@7.5.0)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vue@3.5.41) + drizzle-kit: + specifier: '>=0.31.4' + version: 0.31.10 + drizzle-orm: + specifier: ^0.45.2 + version: 0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1) + mongodb: + specifier: ^6.0.0 || ^7.0.0 + version: 7.5.0 + mysql2: + specifier: ^3.0.0 + version: 3.15.3 + nuxt: + specifier: ^4.5.2 + version: 4.5.2(@types/node@24.13.3)(rolldown@1.2.3) + pg: + specifier: ^8.0.0 + version: 8.23.0 + playwright-core: + specifier: ^1.43.1 + version: 1.62.1 + prisma: + specifier: ^5.0.0 || ^6.0.0 || ^7.0.0 + version: 7.9.1 + react: + specifier: ^18.0.0 || ^19.0.0 + version: 19.2.8 + react-dom: + specifier: ^18.0.0 || ^19.0.0 + version: 19.2.8(react@19.2.8) + rolldown: + specifier: ~1.2.1 + version: 1.2.3 + vite: + specifier: ^6.0.0 || ^7.0.0 || ^8.0.0 + version: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vue: + specifier: ^3.0.0 + version: 3.5.41 + vue-i18n: + specifier: ^11.4.8 + version: 11.4.8(vue@3.5.41) + devDependencies: + '@iconify-json/lucide': + specifier: ^1.2.123 + version: 1.2.123 + '@nuxt/icon': + specifier: ^2.5.0 + version: 2.5.0(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41) + '@nuxt/test-utils': + specifier: 4.1.0 + version: 4.1.0(@playwright/test@1.62.1)(@vue/test-utils@2.4.11(@vue/compiler-dom@3.5.41)(@vue/server-renderer@3.5.41)(vue@3.5.41))(happy-dom@20.11.2)(playwright-core@1.62.1)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))) + '@nuxtjs/color-mode': + specifier: 4.0.1 + version: 4.0.1(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + '@nuxtjs/i18n': + specifier: ^10.6.0 + version: 10.6.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41)(webpack@5.109.2) + '@playwright/test': + specifier: ^1.62.0 + version: 1.62.1 + '@unocss/nuxt': + specifier: ^66.7.5 + version: 66.7.5(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + '@unocss/preset-wind4': + specifier: ^66.7.5 + version: 66.7.5 + '@vue/test-utils': + specifier: ^2.4.6 + version: 2.4.11(@vue/compiler-dom@3.5.41)(@vue/server-renderer@3.5.41)(vue@3.5.41) + happy-dom: + specifier: ^20.0.11 + version: 20.11.2 + oxlint: + specifier: ^1.44.0 + version: 1.78.0(oxlint-tsgolint@7.0.2001) + oxlint-tsgolint: + specifier: ^7.0.2001 + version: 7.0.2001 + typescript: + specifier: ^5.9.2 + version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + unocss: + specifier: ^66.7.5 + version: 66.7.5(@unocss/webpack@66.7.5(webpack@5.109.2)) + vitest: + specifier: ^4.1.10 + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + vue-tsc: + specifier: ^3.1.2 + version: 3.3.9(typescript@6.0.3-bridge.12.tsgo.7.0.2) apps/server: dependencies: '@agent-zero/agent': specifier: workspace:* - version: link:../../packages/agent + version: 0.3.0 '@agent-zero/config': specifier: workspace:* - version: link:../../packages/config + version: 0.3.0 '@agent-zero/models': specifier: workspace:* - version: link:../../packages/models + version: 0.3.0 '@agent-zero/runner': specifier: workspace:* - version: link:../../packages/runner + version: 0.3.0 '@agent-zero/shared': specifier: workspace:* - version: link:../../packages/shared + version: 0.3.0 '@agent-zero/source-control': specifier: workspace:* - version: link:../../packages/source-control + version: 0.3.0 '@orpc/server': specifier: 2.0.0-beta.26 - version: 2.0.0-beta.26(@opentelemetry/api@1.9.1)(crossws@0.4.10(srvx@0.11.22)) + version: 2.0.0-beta.26(crossws@0.4.10) + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^20.19.0 || >=22.12.0 + version: 24.13.3 + '@vercel/queue': + specifier: ^0.3.0 + version: 0.4.0 + crossws: + specifier: '>=0.3.4' + version: 0.4.10 + dotenv: + specifier: '*' + version: 17.4.2 + esbuild: + specifier: ^0.27.0 || ^0.28.0 + version: 0.27.7 + giget: + specifier: '*' + version: 3.3.1 + happy-dom: + specifier: '*' + version: 20.11.2 + jiti: + specifier: ^2.7.0 + version: 2.7.0 nitro: specifier: ^3.0.260610-beta - version: 3.0.260610-beta(7fbd5d73e87e41626b5b9cb59d16f624) + version: 3.0.260610-beta(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + rollup: + specifier: ^4.61.1 + version: 4.62.4 + terser: + specifier: ^5.16.0 + version: 5.49.2 + tsx: + specifier: ^4.8.1 + version: 4.23.12 vite-hub: specifier: ^0.0.3 - version: 0.0.3(4af2f55f92ed26dc60e734c5dde9b23f) + version: 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + yaml: + specifier: ^2.4.2 + version: 2.9.0 zod: specifier: ^4.1.5 version: 4.1.11 @@ -146,29 +355,47 @@ importers: specifier: ^7.0.2001 version: 7.0.2001 typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + specifier: ^5.9.2 version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 vite: specifier: ^8.2.1 - version: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) vitest: specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) packages/agent: dependencies: '@agent-zero/config': specifier: workspace:* - version: link:../config + version: 0.3.0 '@agent-zero/models': specifier: workspace:* - version: link:../models + version: 0.3.0 '@agent-zero/runner': specifier: workspace:* - version: link:../runner + version: 0.3.0 '@agent-zero/shared': specifier: workspace:* - version: link:../shared + version: 0.3.0 + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 + version: 24.13.3 + happy-dom: + specifier: '*' + version: 20.11.2 + publint: + specifier: ^0.3.8 + version: 0.3.23 + tsx: + specifier: '*' + version: 4.23.12 devDependencies: oxlint: specifier: ^1.44.0 @@ -178,25 +405,85 @@ importers: version: 7.0.2001 tsdown: specifier: ^0.22.14 - version: 0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + specifier: ^5.9.2 version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 vitest: specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) packages/auth: dependencies: + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 + '@electric-sql/pglite': + specifier: '>=0.2.0' + version: 0.4.3 + '@libsql/client': + specifier: '>=0.10.0' + version: 0.17.4 + '@opentelemetry/api': + specifier: ^1.4.1 + version: 1.9.1 + '@prisma/client': + specifier: ^5.0.0 || ^6.0.0 || ^7.0.0 + version: 5.22.0(prisma@7.9.1) + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 + version: 24.13.3 + '@types/pg': + specifier: '*' + version: 8.21.0 better-auth: specifier: ^1.6.26 - version: 1.6.26(ce6bbb557f8e987e3115bcd555e5f2e5) + version: 1.6.26(@prisma/client@5.22.0(prisma@7.9.1))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1)(sql.js@1.14.1))(mongodb@7.5.0)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2))(vue@3.5.41) drizzle-orm: specifier: ^0.45.2 - version: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1) + version: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1)(sql.js@1.14.1) + happy-dom: + specifier: '*' + version: 20.11.2 + kysely: + specifier: '*' + version: 0.29.5 + mongodb: + specifier: ^6.0.0 || ^7.0.0 + version: 7.5.0 + mysql2: + specifier: ^3.0.0 + version: 3.15.3 + pg: + specifier: ^8.0.0 + version: 8.23.0 postgres: specifier: ^3.4.9 version: 3.4.9 + prisma: + specifier: ^5.0.0 || ^6.0.0 || ^7.0.0 + version: 7.9.1 + publint: + specifier: ^0.3.8 + version: 0.3.23 + react: + specifier: ^18.0.0 || ^19.0.0 + version: 19.2.8 + react-dom: + specifier: ^18.0.0 || ^19.0.0 + version: 19.2.8(react@19.2.8) + sql.js: + specifier: '>=1' + version: 1.14.1 + tsx: + specifier: '*' + version: 4.23.12 + vue: + specifier: ^3.0.0 + version: 3.5.41 devDependencies: drizzle-kit: specifier: ^0.31.10 @@ -209,37 +496,55 @@ importers: version: 7.0.2001 tsdown: specifier: ^0.22.14 - version: 0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + specifier: ^5.9.2 version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 vitest: specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) packages/cli: dependencies: '@agent-zero/agent': specifier: workspace:* - version: link:../agent + version: 0.3.0 '@agent-zero/config': specifier: workspace:* - version: link:../config + version: 0.3.0 '@agent-zero/models': specifier: workspace:* - version: link:../models + version: 0.3.0 '@agent-zero/runner': specifier: workspace:* - version: link:../runner + version: 0.3.0 '@agent-zero/shared': specifier: workspace:* - version: link:../shared + version: 0.3.0 + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 '@bomb.sh/args': specifier: ^0.3.1 version: 0.3.1 '@clack/prompts': specifier: ^1.7.0 version: 1.7.0 + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 + version: 24.13.3 + happy-dom: + specifier: '*' + version: 20.11.2 + publint: + specifier: ^0.3.8 + version: 0.3.23 + tsx: + specifier: '*' + version: 4.23.12 devDependencies: oxlint: specifier: ^1.44.0 @@ -249,25 +554,43 @@ importers: version: 7.0.2001 tsdown: specifier: ^0.22.14 - version: 0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + specifier: ^5.9.2 version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 vitest: specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) packages/config: dependencies: '@agent-zero/shared': specifier: workspace:* - version: link:../shared + version: 0.3.0 + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 + version: 24.13.3 destr: specifier: ^2.0.5 version: 2.0.5 + happy-dom: + specifier: '*' + version: 20.11.2 magic-regexp: specifier: ^0.11.0 - version: 0.11.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)) + version: 0.11.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + publint: + specifier: ^0.3.8 + version: 0.3.23 + tsx: + specifier: '*' + version: 4.23.12 yaml: specifier: ^2.8.1 version: 2.9.0 @@ -280,22 +603,132 @@ importers: version: 7.0.2001 tsdown: specifier: ^0.22.14 - version: 0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + specifier: ^5.9.2 version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 vitest: specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) + + packages/source-control: + dependencies: + '@agent-zero/shared': + specifier: workspace:* + version: 0.3.0 + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 + version: 24.13.3 + happy-dom: + specifier: '*' + version: 20.11.2 + publint: + specifier: ^0.3.8 + version: 0.3.23 + tsx: + specifier: '*' + version: 4.23.12 + devDependencies: + oxlint: + specifier: ^1.44.0 + version: 1.78.0(oxlint-tsgolint@7.0.2001) + oxlint-tsgolint: + specifier: ^7.0.2001 + version: 7.0.2001 + tsdown: + specifier: ^0.22.14 + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) + typescript: + specifier: ^5.9.2 + version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + vitest: + specifier: ^3.2.4 + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) + + packages/i18n: + dependencies: + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 + '@lunariajs/core': + specifier: https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@904b935 + version: https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@904b935 + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 + version: 24.13.3 + happy-dom: + specifier: '*' + version: 20.11.2 + publint: + specifier: ^0.3.8 + version: 0.3.23 + tsx: + specifier: '*' + version: 4.23.12 + vue-i18n-extract: + specifier: 2.0.7 + version: 2.0.7 + devDependencies: + oxlint: + specifier: ^1.44.0 + version: 1.78.0(oxlint-tsgolint@7.0.2001) + oxlint-tsgolint: + specifier: ^7.0.2001 + version: 7.0.2001 + tsdown: + specifier: ^0.22.14 + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) + typescript: + specifier: ^5.9.2 + version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + vitest: + specifier: ^3.2.4 + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) packages/mail: dependencies: + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 '@maizzle/framework': specifier: ^6.0.13 - version: 6.0.13(@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))))(@oxc-project/types@0.143.0)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(shiki@4.4.3)(tailwind-merge@3.6.0)(terser@5.49.2)(tsx@4.23.12)(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))(yaml@2.9.0) + version: 6.0.13(shiki@4.4.3)(tailwind-merge@3.6.0)(vue@3.5.41) '@maizzle/tailwindcss': specifier: ^1.5.6 version: 1.5.6 + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 + version: 24.13.3 + happy-dom: + specifier: '*' + version: 20.11.2 + publint: + specifier: ^0.3.8 + version: 0.3.23 + shiki: + specifier: ^1 || ^2 || ^3 || ^4 + version: 4.4.3 + tailwind-merge: + specifier: ^2 || ^3 + version: 3.6.0 + tsx: + specifier: '*' + version: 4.23.12 + vue: + specifier: ^3 + version: 3.5.41 devDependencies: '@types/nodemailer': specifier: ^8.0.1 @@ -314,19 +747,19 @@ importers: version: 6.17.1 tsdown: specifier: ^0.22.14 - version: 0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + specifier: ^5.9.2 version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 vitest: specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) packages/models: dependencies: '@agent-zero/shared': specifier: workspace:* - version: link:../shared + version: 0.3.0 '@ai-sdk/anthropic': specifier: ^4.0.36 version: 4.0.37(zod@4.4.3) @@ -339,9 +772,27 @@ importers: '@ai-sdk/openai-compatible': specifier: ^3.0.16 version: 3.0.29(zod@4.4.3) + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 + version: 24.13.3 ai: specifier: ^7.0.40 version: 7.0.59(zod@4.4.3) + happy-dom: + specifier: '*' + version: 20.11.2 + publint: + specifier: ^0.3.8 + version: 0.3.23 + tsx: + specifier: '*' + version: 4.23.12 zod: specifier: ^4.4.3 version: 4.4.3 @@ -354,25 +805,43 @@ importers: version: 7.0.2001 tsdown: specifier: ^0.22.14 - version: 0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + specifier: ^5.9.2 version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 vitest: specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) packages/runner: dependencies: '@agent-zero/shared': specifier: workspace:* - version: link:../shared + version: 0.3.0 + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 + version: 24.13.3 '@vite-hub/shell': specifier: ^0.0.3 version: 0.0.3 + happy-dom: + specifier: '*' + version: 20.11.2 magic-regexp: specifier: ^0.11.0 - version: 0.11.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)) + version: 0.11.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + publint: + specifier: ^0.3.8 + version: 0.3.23 + tsx: + specifier: '*' + version: 4.23.12 devDependencies: oxlint: specifier: ^1.44.0 @@ -382,37 +851,34 @@ importers: version: 7.0.2001 tsdown: specifier: ^0.22.14 - version: 0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + specifier: ^5.9.2 version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 vitest: specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) packages/shared: - devDependencies: - oxlint: - specifier: ^1.44.0 - version: 1.78.0(oxlint-tsgolint@7.0.2001) - oxlint-tsgolint: - specifier: ^7.0.2001 - version: 7.0.2001 - tsdown: - specifier: ^0.22.14 - version: 0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) - typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 - version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 - vitest: - specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - - packages/source-control: dependencies: - '@agent-zero/shared': - specifier: workspace:* - version: link:../shared + '@arethetypeswrong/core': + specifier: ^0.18.1 + version: 0.18.5 + '@types/debug': + specifier: ^4.1.12 + version: 4.1.13 + '@types/node': + specifier: ^18.0.0 || ^20.0.0 || >=22.0.0 + version: 24.13.3 + happy-dom: + specifier: '*' + version: 20.11.2 + publint: + specifier: ^0.3.8 + version: 0.3.23 + tsx: + specifier: '*' + version: 4.23.12 devDependencies: oxlint: specifier: ^1.44.0 @@ -422,13 +888,13 @@ importers: version: 7.0.2001 tsdown: specifier: ^0.22.14 - version: 0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12) typescript: - specifier: npm:typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + specifier: ^5.9.2 version: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 vitest: specifier: ^3.2.4 - version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + version: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) packages: @@ -539,6 +1005,9 @@ packages: '@andrewbranch/untar.js@1.0.4': resolution: {integrity: sha512-pVXSwPsLuw8IGLo2Di0EaOfsk+ntVvpkk942J/sHYIkwvtKUakEcPh7HBgZ6tuimgzKSEHgCvO4XgQ05DEbwDw==} + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + '@anthropic-ai/sdk@0.91.1': resolution: {integrity: sha512-LAmu761tSN9r66ixvmciswUj/ZC+1Q4iAfpedTfSVLeswRwnY3n2Nb6Tsk+cLPP28aLOPWeMgIuTuCcMC6W/iw==} hasBin: true @@ -759,26 +1228,96 @@ packages: resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.8': + resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==} + engines: {node: '>=6.9.0'} + '@babel/generator@8.0.0': resolution: {integrity: sha512-NT9NrVwJsbSV6Y2FSstWa71EETOnzrjkL5/wX3D2mYHtKM+qvqB1DvR4D0Setb/gDBsHzRICifwEWMO8CnTF6g==} engines: {node: ^22.18.0 || >=24.11.0} - '@babel/helper-string-parser@7.29.7': - resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@8.0.0': - resolution: {integrity: sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==} - engines: {node: ^22.18.0 || >=24.11.0} - - '@babel/helper-validator-identifier@7.29.7': - resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.29.7': + resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.29.7': + resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.29.7': + resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-replace-supers@7.29.7': + resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@8.0.0': + resolution: {integrity: sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==} + engines: {node: ^22.18.0 || >=24.11.0} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} '@babel/helper-validator-identifier@8.0.4': resolution: {integrity: sha512-4wFaiLd0bVo4cIoTXI3zKI038NIWE/cr3jvBjejOVYVxV/m8Ltav1USiGzG1fmS5J2RhgEOgXNNK46cRPnRsrg==} engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.29.8': resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} engines: {node: '>=6.0.0'} @@ -789,10 +1328,78 @@ packages: engines: {node: ^22.18.0 || >=24.11.0} hasBin: true + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.29.7': + resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.29.7': + resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.29.7': + resolution: {integrity: sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.29.7': + resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.29.7': + resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.29.7': + resolution: {integrity: sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.29.7': + resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-react@7.29.7': + resolution: {integrity: sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.29.7': + resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/runtime@7.29.7': resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} engines: {node: '>=6.9.0'} + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.8': + resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} + engines: {node: '>=6.9.0'} + '@babel/types@7.29.8': resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} engines: {node: '>=6.9.0'} @@ -801,6 +1408,20 @@ packages: resolution: {integrity: sha512-eY+Yn3dCqTGmyiq2QRU66lA5FL8lqqqvecHt0fF3uHONIa7ToYsaCiWV8lOKqAs0Rb2SjixiKFROngnulPtt2g==} engines: {node: ^22.18.0 || >=24.11.0} + '@better-auth/cli@1.5.0-beta.13': + resolution: {integrity: sha512-/Of+Pdsutq4R4R+bpWlaitc3epokj3R1M/6U2ZmZFyNz1YPMsjTQSR3zJBLJr1HnvbUzSeMBSNvOAJM4kyx84w==} + hasBin: true + + '@better-auth/core@1.5.0-beta.13': + resolution: {integrity: sha512-oOK1O3bwfzebK5W4iIYOdB+IBLk+RLWfOm/MU6dMq4l1HNWvi5iZ75lxxk7Sgx0MfaeEn1C+lXIHplDyeeZKhQ==} + peerDependencies: + '@better-auth/utils': 0.3.1 + '@better-fetch/fetch': 1.1.21 + better-call: 1.2.1 + jose: ^6.1.0 + kysely: ^0.28.5 + nanostores: ^1.0.1 + '@better-auth/core@1.6.26': resolution: {integrity: sha512-Ud4FqnjIJDvmeo+3bN+OsuVVAiuvFjNERbW7G8/65ictSxCox62gNgTOsJ4YXmbwXzBzyyekStzrupg2qNGEkA==} peerDependencies: @@ -818,6 +1439,13 @@ packages: '@opentelemetry/api': optional: true + '@better-auth/drizzle-adapter@1.5.0-beta.13': + resolution: {integrity: sha512-PZmyTDun2AEhwQtO/xQb8Zi5eBMyJ/o69T3h4wj59CxHtBD11fvhY19csJd3hVk1YvFJobgMv3icWXmz02Egmw==} + peerDependencies: + '@better-auth/core': 1.5.0-beta.13 + '@better-auth/utils': ^0.3.0 + drizzle-orm: '>=0.41.0' + '@better-auth/drizzle-adapter@1.6.26': resolution: {integrity: sha512-SMvAeeUqEsz0BLtWVVp+HdStAVOwcxs4vPkL/AVmFJ0e9dDKItXl881xWeB/Ze4NgBW6NYmUId9qI4LrdQu3hA==} peerDependencies: @@ -828,6 +1456,13 @@ packages: drizzle-orm: optional: true + '@better-auth/kysely-adapter@1.5.0-beta.13': + resolution: {integrity: sha512-1Ek0jV/FiFUEcTkoPkf4MWNR3k6b5t1mLBanJVjvSD+UhAXhe93H8onEKlRcSopNu2ls6z70BI75jYBxYSdf5Q==} + peerDependencies: + '@better-auth/core': 1.5.0-beta.13 + '@better-auth/utils': ^0.3.0 + kysely: ^0.27.0 || ^0.28.0 + '@better-auth/kysely-adapter@1.6.26': resolution: {integrity: sha512-Y0Kdqn8JQMR8dHMtUnbBNqq7Mk8mDf18DwTves2uhjtRfcOWByVTGxsFMDVUbedMuoM+Ab+v04bwCk94sAo8NA==} peerDependencies: @@ -838,12 +1473,25 @@ packages: kysely: optional: true + '@better-auth/memory-adapter@1.5.0-beta.13': + resolution: {integrity: sha512-7pCJXEiI4MPduxueVtUUnfUOxOQhu4EcFmQQ7zUodumtYmi5Xwar/bctl7v8GsabkG8bZwEQUEvO5uqVtnGwhA==} + peerDependencies: + '@better-auth/core': 1.5.0-beta.13 + '@better-auth/utils': ^0.3.0 + '@better-auth/memory-adapter@1.6.26': resolution: {integrity: sha512-kb5ahphEp9jyMleXU4T8I/xgWPa8gjOLFKKsnaVqR/BU+h7xqTOsjJwTY3evY+PFYHvjNFUlrjZ1Km8A/w1p/w==} peerDependencies: '@better-auth/core': ^1.6.26 '@better-auth/utils': 0.4.2 + '@better-auth/mongo-adapter@1.5.0-beta.13': + resolution: {integrity: sha512-FDqbLWqreELN/wiIwGlItZmi+FShzGPNdNk2KaRo2hVLakBQy9hlCtnxeYV7OfptOPs+AkGc8hboKjBzFA1uUQ==} + peerDependencies: + '@better-auth/core': 1.5.0-beta.13 + '@better-auth/utils': ^0.3.0 + mongodb: ^6.0.0 || ^7.0.0 + '@better-auth/mongo-adapter@1.6.26': resolution: {integrity: sha512-jYGhuIQqj48h69ROLPYdc8jgqDaMmRRLLFiRViZFYarNyBuYUV07DywJXvRuw8l9ADx+M1TB+BJZGnLE2nnmwQ==} peerDependencies: @@ -854,6 +1502,14 @@ packages: mongodb: optional: true + '@better-auth/prisma-adapter@1.5.0-beta.13': + resolution: {integrity: sha512-w2+KMfoWrPeYKAmG1tinwmsHe2Lc3HNyOASEO5jw6oJY7BrLDKcqeqCJuhavuwhd2fCAq3fEiqyJVCYDDLVKqA==} + peerDependencies: + '@better-auth/core': 1.5.0-beta.13 + '@better-auth/utils': ^0.3.0 + '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 + prisma: ^5.0.0 || ^6.0.0 || ^7.0.0 + '@better-auth/prisma-adapter@1.6.26': resolution: {integrity: sha512-ILQoYmnoYyghDP4iN1h/Gkd9Jt7Xs/vxoNAt4AuuJJbqs73u27LlQM4P1YiP7nJ+bM1iVTBI1dDF73myIAtjzQ==} peerDependencies: @@ -867,6 +1523,11 @@ packages: prisma: optional: true + '@better-auth/telemetry@1.5.0-beta.13': + resolution: {integrity: sha512-Ju/29VMM+pfgFs/i7rX7scMO2QFgNbt/PRQGU3VJEQDC9M9NHhGgLe2kPkUEFQic5Z6sOYpXTGKFJyF/YSJRFw==} + peerDependencies: + '@better-auth/core': 1.5.0-beta.13 + '@better-auth/telemetry@1.6.26': resolution: {integrity: sha512-pBs69RORUSJHRF9r5PdeY7pzLRga09YSWew8igFYrBvT2tLt7DktrbD5WjryLZpAZOuKAMZ+Xo0DlJbnvLWGpQ==} peerDependencies: @@ -874,15 +1535,36 @@ packages: '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 + '@better-auth/utils@0.3.1': + resolution: {integrity: sha512-+CGp4UmZSUrHHnpHhLPYu6cV+wSUSvVbZbNykxhUDocpVNTo9uFFxw/NqJlh1iC4wQ9HKKWGCKuZ5wUgS0v6Kg==} + '@better-auth/utils@0.4.2': resolution: {integrity: sha512-AUxrvu+HaaODsUyzDxFgwd/8RZ1yZaYo42LXKSrU2oGgR38pS1ij8nqQKNgtTWoYGpNevNXtCfgTy6loHveW9A==} + '@better-fetch/fetch@1.1.21': + resolution: {integrity: sha512-/ImESw0sskqlVR94jB+5+Pxjf+xBwDZF/N5+y2/q4EqD7IARUTSpPfIo8uf39SYpCxyOCtbyYpUrZ3F/k0zT4A==} + '@better-fetch/fetch@1.3.1': resolution: {integrity: sha512-ABkD1WhyfPZprKRQI3bhATjeiFuNWC9PXhfGWqL+sg/gKrM977oFrYkdb4msM3hgUGonr7KlOsOFT5TU2rht9g==} '@bomb.sh/args@0.3.1': resolution: {integrity: sha512-CwxKrfgcorUPP6KfYD59aRdBYWBTsfsxT+GmoLVnKo5Tmyoqbpo0UNcjngRMyU+6tiPbd18RuIYxhgAn44wU/Q==} + '@bomb.sh/tab@0.0.19': + resolution: {integrity: sha512-dTRfo9Q9B+lbLG3JCu8a/AGQSfD2XXcFcnakQzVjSOX+VvR/s9zpsH8TlqV3iHqazniRn1Ypwd1hcRlXcu/4BA==} + hasBin: true + peerDependencies: + cac: ^6.7.14 + citty: ^0.1.6 || ^0.2.0 + commander: ^13.1.0 || ^14.0.0 || ^15.0.0 + peerDependenciesMeta: + cac: + optional: true + citty: + optional: true + commander: + optional: true + '@borewit/text-codec@0.2.2': resolution: {integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==} @@ -927,10 +1609,28 @@ packages: resolution: {integrity: sha512-QqEoFDbXa1o+AnXCMMoLG7Y2FyabJ3dZsNPXjWfHU/hjoiQ8Noofp12SnckIF2OPWF8zgDgDZuq76hrKGsxFsQ==} engines: {node: '>=20'} + '@chevrotain/cst-dts-gen@10.5.0': + resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==} + + '@chevrotain/gast@10.5.0': + resolution: {integrity: sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==} + + '@chevrotain/types@10.5.0': + resolution: {integrity: sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==} + + '@chevrotain/utils@10.5.0': + resolution: {integrity: sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==} + + '@clack/core@0.5.0': + resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==} + '@clack/core@1.4.3': resolution: {integrity: sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ==} engines: {node: '>= 20.12.0'} + '@clack/prompts@0.11.0': + resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==} + '@clack/prompts@1.7.0': resolution: {integrity: sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==} engines: {node: '>= 20.12.0'} @@ -938,6 +1638,10 @@ packages: '@cloudflare/containers@0.3.7': resolution: {integrity: sha512-DM9dm3FnIBSyiSJ1FLavKwl/lk3oAmTaynCzZQ9pZR0ncRPquSxkxd8Nu2MFILxmDDsPkxKsSNEh9mHHMty4Fw==} + '@cloudflare/kv-asset-handler@0.4.2': + resolution: {integrity: sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==} + engines: {node: '>=18.0.0'} + '@cloudflare/playwright@1.3.5': resolution: {integrity: sha512-FJqX6bJxcJd+82WvVm315HfOAVh3Yg7AiuaDJrHx78UWPP3E28o6HHgvDVtTpKXUmtLHwqwkw706+pGw4pmWvA==} peerDependencies: @@ -960,6 +1664,9 @@ packages: '@xterm/xterm': optional: true + '@colordx/core@5.5.0': + resolution: {integrity: sha512-3PxTH8itZzltK0U9jTwVVnjLXvnDYuq3m+QXsHkENxWiPRh4WaoLcs1SQjqgZ55kS+QyirpH5BVwzP2gMVG6EQ==} + '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -1064,6 +1771,12 @@ packages: '@drizzle-team/brocli@0.10.2': resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} + '@dxup/nuxt@0.5.6': + resolution: {integrity: sha512-uZjAFoocWtWHr7YP9jm6FqwI8kjX2QN9bjcncoZt0GS+zExIAP3Ewv6EqEUvVP7w9pjZE+T19QxLHeoacN/MNg==} + + '@dxup/unimport@0.1.2': + resolution: {integrity: sha512-/B8YJGPzaYq1NbsQmwgP8EZqg40NpTw4ZB3suuI0TplbxKHeK94jeaawLmVhCv+YwUnOpiWEz9U6SeThku/8JQ==} + '@e18e/eslint-plugin@0.8.0': resolution: {integrity: sha512-js/TeM+XJyoJ2Zk4if5uTEchv3MEbqugc9gLgq8YdB6Dy+LvwGACpQiAwcul0r4LUl0TvhuzAKUeIUPtGp2cew==} peerDependencies: @@ -1099,12 +1812,21 @@ packages: '@electric-sql/pglite@0.4.3': resolution: {integrity: sha512-ichuWTgtd4mOM1G4SpyGJa5trT03lWbMypDV0fUXUCXg5hiHqVAz/bZyV68NqmkLB7WcYmj1RMJVSp8HV/v/ZQ==} + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + '@emnapi/core@1.11.2': resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==} + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + '@emnapi/runtime@1.11.2': resolution: {integrity: sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==} + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@emnapi/wasi-threads@1.2.2': resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} @@ -1830,6 +2552,23 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@iconify-json/lucide@1.2.123': + resolution: {integrity: sha512-0CozmpKXEOEEhltrfT2zt+/t1hez67Y+hM2VJWoIcBKdBrb83VYuKf+b5A0QU9HfQm+RNn2GjFWlTOwi+Ss6IA==} + + '@iconify/collections@1.0.723': + resolution: {integrity: sha512-h9/C2f+OC/iYFwCuqPh8nFAdAbRyV0TwNUGEA2L3VI4hC89YUa6LOBMr/6LUAgcd3wMPXPnnt0Y6Ecgxqb/rIQ==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@3.1.4': + resolution: {integrity: sha512-b1S7B1k9ohZ+iNTi2ATxbRYG9fTrJmUT0rc46bvVnNxqNRGW7dyo/vRREwyniI5IRN2RSJHDcm+s3BjWrSAjHw==} + + '@iconify/vue@5.0.1': + resolution: {integrity: sha512-aumwwooJlFJ5H5qYWB6ZTAyM0C8hpfcSVLB9/a3qnH1GGvIJ+FEbpEs4s/HfErYe/M5qZeLjwmESR5fFm3lXEw==} + peerDependencies: + vue: '>=3.0.0' + '@img/colour@1.1.0': resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} engines: {node: '>=18'} @@ -1989,6 +2728,84 @@ packages: '@internationalized/number@3.6.7': resolution: {integrity: sha512-3ji1fcrT+FPAK86UqEhB/psHixYo6niWPJtt7+qRaYFynt/BaJG8GhAPimtWUpEiVSTq8ZM8L5psMxGquiB/Vg==} + '@intlify/bundle-utils@11.2.4': + resolution: {integrity: sha512-eE18yR9eM9k5n8snCkHIYp2MuVTxa19aF8z9OMyxXWv0frz2HlBZDGIPFjA38pP3OJ1IlRBXC/dW5GILeLMSCQ==} + engines: {node: '>= 22.13'} + peerDependencies: + petite-vue-i18n: '*' + vue-i18n: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + + '@intlify/core-base@11.4.8': + resolution: {integrity: sha512-A+Q7SKm5oEcy1E/cghqd7n/St4XjTqLhiiyDuieNcMrJcrHlkY5n0jp7Q9dD3txvVHzvsmBVV5M9wD5/s1zfzw==} + engines: {node: '>= 22'} + + '@intlify/core@11.4.8': + resolution: {integrity: sha512-TGFCWeunb0mmKWpX7UXRAS2enMtucTC+NG9dT+RMfxFDCAIvXF33Wb2yJUbeNczxER4f0uMt0b9g1MCsROfKyA==} + engines: {node: '>= 22'} + + '@intlify/devtools-types@11.4.8': + resolution: {integrity: sha512-MGpID+rlfzGUbNcnC20bm5NMSBHPrvx0atLTfv9dftn3kjXw1hGKDcIcwrO99tSrZEc2i+hczRL7ks8qXsHPkQ==} + engines: {node: '>= 22'} + + '@intlify/h3@0.7.4': + resolution: {integrity: sha512-BtL5+U3Dd9Qz6so+ArOMQWZ+nV21rOqqYUXnqwvW6J3VUXr66A9+9+vUFb/NAQvOU4kdfkO3c/9LMRGU9WZ8vw==} + engines: {node: '>= 20'} + + '@intlify/message-compiler@11.4.8': + resolution: {integrity: sha512-vbzk17dYwduYiv52EK61+FDCyhfVg1uPUtPmiD/d45W99uJIcXywrweOBcHv7n9/iEqmXiMGT52bgJbZDQqK3w==} + engines: {node: '>= 22'} + + '@intlify/shared@11.4.8': + resolution: {integrity: sha512-XbRgrv+XEuvDr7UCY55oibVrh+o4u+A0VB6nSL0F5Z8LcZxE/8j573LYG6bCrOigIcHdGpSNI7Rh5UpC5/B/eg==} + engines: {node: '>= 22'} + + '@intlify/unplugin-vue-i18n@11.2.4': + resolution: {integrity: sha512-bY0ZOaVUvWTyvy4bRGCUKw4Brx5uH/ojjVKsZ1aWzY2drFKIJbeP8DpGMD2QZT8aLpZSUsHtiJlRGLQSZenrvw==} + engines: {node: '>= 22.13'} + peerDependencies: + petite-vue-i18n: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + vue: ^3.2.25 + vue-i18n: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vite: + optional: true + vue-i18n: + optional: true + + '@intlify/utils@0.13.0': + resolution: {integrity: sha512-8i3uRdAxCGzuHwfmHcVjeLQBtysQB2aXl/ojoagDut5/gY5lvWCQ2+cnl2TiqE/fXj/D8EhWG/SLKA7qz4a3QA==} + engines: {node: '>= 18'} + + '@intlify/utils@0.14.1': + resolution: {integrity: sha512-/NVDhX6sG87h0PXIwUCTW9DeHbKeqlni6qVV8xzMULQRHE9azIETldBlTKaBji7z6ostyDIH4s6SWI3AAI4uFg==} + engines: {node: '>= 20'} + + '@intlify/vue-i18n-extensions@8.0.0': + resolution: {integrity: sha512-w0+70CvTmuqbskWfzeYhn0IXxllr6mU+IeM2MU0M+j9OW64jkrvqY+pYFWrUnIIC9bEdij3NICruicwd5EgUuQ==} + engines: {node: '>= 18'} + peerDependencies: + '@intlify/shared': ^9.0.0 || ^10.0.0 || ^11.0.0 + '@vue/compiler-dom': ^3.0.0 + vue: ^3.0.0 + vue-i18n: ^9.0.0 || ^10.0.0 || ^11.0.0 + peerDependenciesMeta: + '@intlify/shared': + optional: true + '@vue/compiler-dom': + optional: true + vue: + optional: true + vue-i18n: + optional: true + '@ioredis/commands@1.10.0': resolution: {integrity: sha512-UmeW7z4LfctwoQ5wkhVzgq8tXkreED2xZGpX+Bg+zA+WJFZCT6c062AfCK/Dfk81xZnnwdhJCUMkitihRaoC2Q==} @@ -2037,6 +2854,12 @@ packages: '@keyv/serialize@1.1.1': resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} + '@kwsites/file-exists@1.1.1': + resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} + + '@kwsites/promise-deferred@1.1.1': + resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} + '@libsql/client@0.17.4': resolution: {integrity: sha512-lYayFWasDV78A+TjlEhr6ubb3odBV6OHjb+wdp8VQcyWWAEIjuwbCHaraEUS4m4yWoo0BvZo96It4VdzZRmRWw==} @@ -2106,6 +2929,10 @@ packages: resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} engines: {node: '>=8'} + '@lunariajs/core@https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@904b935': + resolution: {integrity: sha512-N0PDFIitA/Vzh5V6BtTacWU9jgSDJJtPLHamRLMU85mohmyuVW/pggHX8dzdV5ieqZeHEz8pDZSzH4I0hOYxOg==, tarball: https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@904b935} + version: 0.1.1 + '@maizzle/framework@6.0.13': resolution: {integrity: sha512-cWoRA98Ur4JulzzYEhYMvMkOshniIh/hRCm/UE4VslzgCoVOiPhvEi5G9oZqVN3M3EmTpKWZx8B2aAyPK0mNew==} hasBin: true @@ -2113,8 +2940,6 @@ packages: shiki: ^1 || ^2 || ^3 || ^4 tailwind-merge: ^2 || ^3 vue: ^3 - bundledDependencies: - - maizzle '@maizzle/tailwindcss@1.5.6': resolution: {integrity: sha512-JBJJLV3x1SpG7zqgdpjMGhGzANcZ/T6qxKzxMe0TzfJJ+12a2UV4N55dWzos9xLgcdt91NySPqQRMNKWZexMUg==} @@ -2220,13 +3045,6 @@ packages: resolution: {integrity: sha512-jViIuWzt6qxKMoHBXrXGyB5qwRgn2z3oxwD/SXAZxnSTanTZkEhOqDE8hPfrOWZOYl1SYujDQaJd5fZIN/akew==} engines: {node: '>= 22.0.0'} cpu: [wasm32] - bundledDependencies: - - '@napi-rs/wasm-runtime' - - '@emnapi/core' - - '@emnapi/runtime' - - '@tybys/wasm-util' - - '@emnapi/wasi-threads' - - tslib '@mdream/rust-win32-arm64-msvc@1.6.1': resolution: {integrity: sha512-jFJE0ZdSfx/7M4MWYN8fPBw3Apci3LyO2JmwMZgHL8zT4ic2YO4fIAeynynI7e1v2J8+1UwlSmPQPGTjPjP2Jg==} @@ -2269,6 +3087,11 @@ packages: '@mixmark-io/domino@2.2.0': resolution: {integrity: sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==} + '@miyaneee/rollup-plugin-json5@1.2.0': + resolution: {integrity: sha512-JjTIaXZp9WzhUHpElrqPnl1AzBi/rvRs065F71+aTmlqvTMVkdbjZ8vfFl4nRlgJy+TPBw69ZK4pwFdmOAt4aA==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + '@modelcontextprotocol/sdk@1.30.0': resolution: {integrity: sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA==} engines: {node: '>=18'} @@ -2278,6 +3101,7 @@ packages: peerDependenciesMeta: '@cfworker/json-schema': optional: true + zod: {} '@mongodb-js/saslprep@1.4.13': resolution: {integrity: sha512-E3Sv4eCYAlKYUTx8S3ioQcDUscOif+8zZ5OnW1IzJ+Tt+EO+ke8mn+Y3FX6N1H79picwbdOavVOb1jPi2EOyrg==} @@ -2286,6 +3110,10 @@ packages: resolution: {integrity: sha512-mQ2s0pYYiav+tzCDR05Zptem8Ey2v8s11lri5RKGhTtL4COVCvVCk5vtyRYNT+9L8qSfyOqqefF9UtnW8mC5jA==} engines: {node: '>= 20.19.0'} + '@mrleebo/prisma-ast@0.13.1': + resolution: {integrity: sha512-XyroGQXcHrZdvmrGJvsA9KNeOOgGMg1Vg9OlheUsBOSKznLMDl+YChxbkboRHvtFYJEMRYmlV3uoo/njCw05iw==} + engines: {node: '>=16'} + '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4': resolution: {integrity: sha512-LCkGo6JDfaBhgST7UpPWgNgLINpcpabaHfyz5OBx75nUYxBsaEPxjnyNjWpeb/xBup/682QnBfRBy2/LvPutZQ==} cpu: [arm64] @@ -2585,6 +3413,62 @@ packages: '@nodable/entities@3.0.0': resolution: {integrity: sha512-8L9xFeTYKhm49xfIypoe2W5wV1m/3Z58kT+7kR9A8OyFxcPduI4VmxaUMQyKYrRjUoLLSXv6EKKID5Tvj9cUVw==} + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nuxt/cli@3.37.0': + resolution: {integrity: sha512-Zj9NwHjEBzVrgezsgMFjpMhNqwNgROk9DzNi/dyfk1mCbXIRigV11br2xOl0Satek30bmv7oZAfMtCnDe6Ip0Q==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + peerDependencies: + '@nuxt/schema': ^4.4.6 + peerDependenciesMeta: + '@nuxt/schema': + optional: true + + '@nuxt/devalue@2.0.2': + resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} + + '@nuxt/devtools-kit@2.7.0': + resolution: {integrity: sha512-MIJdah6CF6YOW2GhfKnb8Sivu6HpcQheqdjOlZqShBr+1DyjtKQbAKSCAyKPaoIzZP4QOo2SmTFV6aN8jBeEIQ==} + peerDependencies: + vite: '>=6.0' + + '@nuxt/devtools-kit@3.4.1': + resolution: {integrity: sha512-6ltPm2yUW8GvDdf3VJna7+flLi+ej7xRfSr+S4ovevKt/CuPf9EqYOn1jW7Kw/U1MXt/71zkn+/O2vu3G6O9Hg==} + peerDependencies: + vite: '>=6.0' + + '@nuxt/devtools-wizard@3.4.1': + resolution: {integrity: sha512-taGeuTnkHsZVjgD9r6NXvvHaBzB2j4mCgOmlmkz3ntsqgh1SJfmsD11Tmtl7FVAxJS8Wuvuzgt0GyTlADBW9Wg==} + hasBin: true + + '@nuxt/devtools@3.4.1': + resolution: {integrity: sha512-20zZs6k/zAdi+PM7s1BwxE3hanZ+R1OGi5DWCKPyzSnhUUeeNebvWNgec7Rwnx6iKLkJfK4WFIZ+FL2QurG/ZQ==} + hasBin: true + peerDependencies: + '@vitejs/devtools': '*' + vite: '>=6.0' + peerDependenciesMeta: + '@vitejs/devtools': + optional: true + + '@nuxt/icon@2.5.0': + resolution: {integrity: sha512-EBczSfd3QmAD7GoSmJ5jCPvQ5zzNaPPuWPU9DSMcBuBM10A3JIvjaMLEOEniHQRz4iVPb05cJRO/JdC60oiiwg==} + + '@nuxt/kit@3.21.11': + resolution: {integrity: sha512-0Xi3tgwN77w43Q8GCPIrvWmF1J7Peehkts44E0uKNIml9lB8WoUn8YxyUjxBv47XtVR86NWoWALAT+/IEMHJEA==} + engines: {node: '>=18.12.0'} + '@nuxt/kit@4.4.8': resolution: {integrity: sha512-ZUlZ5iYfyfJFDPluhn6ZxFWcsuxWbLnZBc8w3MAROcQ4lYfZ+qFpALBLSNlpc0zhOa++33EE+5PEbOAdVIY+dw==} engines: {node: '>=18.12.0'} @@ -2593,10 +3477,103 @@ packages: resolution: {integrity: sha512-l66LU9DcJYjmNwqwAj2I5UGRrUbnG2DOKGChnN70zIGtn0eq/z87gi/FRgha6eMb9/FmB1PFHgtx6PWVml1C2Q==} engines: {node: '>=18.12.0'} + '@nuxt/nitro-server@4.5.2': + resolution: {integrity: sha512-sx/vtT8D1WIRUOMuKQz/9z8nZb7jgVWc6HWwlkXKDjYZ84otPFtYCozKqhXWv6xf3JxJvge/RUAOwh9Z7P4nQQ==} + engines: {node: ^22.19.0 || ^24.11.0 || >=26.0.0} + peerDependencies: + '@babel/plugin-proposal-decorators': ^7.25.0 || ^8.0.0 + '@babel/plugin-syntax-typescript': ^7.25.0 || ^8.0.0 + '@rollup/plugin-babel': ^6.0.0 || ^7.0.0 + nuxt: ^4.5.2 + peerDependenciesMeta: + '@babel/plugin-proposal-decorators': + optional: true + '@babel/plugin-syntax-typescript': + optional: true + '@rollup/plugin-babel': + optional: true + + '@nuxt/schema@3.21.11': + resolution: {integrity: sha512-5Couz53Pl/SgTwtMQ9jlxVIC6wZk9aAbWyeOD7D6D1UIP5DzV/yV5lPDY/kM0nmiqPSzJf9WLTdJgB2gNm0dOA==} + engines: {node: ^14.18.0 || >=16.10.0} + '@nuxt/schema@4.5.2': resolution: {integrity: sha512-h9g1kt9O2iU9nX6HDFu9gvwtpn+8oSJX0RSTWRBnEx/Pkz+WlOHtjuS0SbkTAXw5aT1+H1GysWVwNTjJfBY/0w==} engines: {node: ^14.18.0 || >=16.10.0} + '@nuxt/telemetry@2.8.0': + resolution: {integrity: sha512-zAwXY24KYvpLTmiV+osagd2EHkfs5IF+7oDZYTQoit5r0kPlwaCNlzHp5I/wUAWT4LBw6lG8gZ6bWidAdv/erQ==} + engines: {node: '>=18.12.0'} + hasBin: true + peerDependencies: + '@nuxt/kit': '>=3.0.0' + + '@nuxt/test-utils@4.1.0': + resolution: {integrity: sha512-B0CipGKVVY5qbLMXJqYPYdalNzE9VFzybEAOqHGFHPDqv/8RFRe+/F3lJJigtLFroxaBDMMyrhLcmgKIXBv8og==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + peerDependencies: + '@cucumber/cucumber': '>=11.0.0' + '@jest/globals': '>=30.0.0' + '@playwright/test': ^1.43.1 + '@testing-library/vue': ^8.0.1 + '@vitest/ui': '*' + '@vue/test-utils': ^2.4.2 + h3-next: '>=2.0.1-rc.22' + happy-dom: '>=20.0.11' + jsdom: '>=27.4.0' + playwright-core: ^1.43.1 + vitest: ^4.0.2 + peerDependenciesMeta: + '@cucumber/cucumber': + optional: true + '@jest/globals': + optional: true + '@playwright/test': + optional: true + '@testing-library/vue': + optional: true + '@vitest/ui': + optional: true + '@vue/test-utils': + optional: true + h3-next: + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright-core: + optional: true + vitest: + optional: true + + '@nuxt/vite-builder@4.5.2': + resolution: {integrity: sha512-fC8KUs5F1VpSEjTIjmx5pdflciMlp3FDCubx3AXElvRPLtBAPmyB69kmqVFjRnVQ8+vRHNyI7iBHUg9Se8srLA==} + engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} + peerDependencies: + '@babel/plugin-proposal-decorators': ^7.25.0 || ^8.0.0 + '@babel/plugin-syntax-jsx': ^7.25.0 || ^8.0.0 + nuxt: 4.5.2 + rolldown: ^1.0.0 + rollup-plugin-visualizer: ^6.0.0 || ^7.0.1 + vue: ^3.3.4 + peerDependenciesMeta: + '@babel/plugin-proposal-decorators': + optional: true + '@babel/plugin-syntax-jsx': + optional: true + rolldown: + optional: true + rollup-plugin-visualizer: + optional: true + + '@nuxtjs/color-mode@4.0.1': + resolution: {integrity: sha512-eiA7hWXi5zNHaYKyJFCGF6i0wFZtuvR7KDXZ6jiSvwxjCpRFwphrw0MOSmNfArTSSsT1wpW+/2H92cejeVfUlg==} + + '@nuxtjs/i18n@10.6.0': + resolution: {integrity: sha512-20YXYOcc8cSh/pSpNgj+MHAn11qUbsFR1IBJh6qYtRPVhUUmgqJ1DyMu39MB+uEYYL/fsberL2ByMYrFaROslw==} + engines: {node: '>=20.11.1'} + '@oclif/core@4.11.4': resolution: {integrity: sha512-URwiQ5ALx/sJ2iH4vzXEd+H4K6NAI7LRs6Jag3hrgKEpGmaE6alfRC8qjO4GIgb6A3ACaJumqP9twi/M9ywdHQ==} engines: {node: '>=18.0.0'} @@ -2605,6 +3582,18 @@ packages: resolution: {integrity: sha512-5N/X/FzlJaYfpaHwDC0YHzOzKDWa41s9t+4FpCDu4f9OMReds4JeNBaaWk9rlIzdKjh2M6AC5Q18ORfECRkHGA==} engines: {node: '>=18.0.0'} + '@one-ini/wasm@0.1.1': + resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} + + '@onmax/nuxt-better-auth@0.0.7': + resolution: {integrity: sha512-YzTg0TrXV80UK8YIIqcScT869XEbxxCJUH8ZD0iMpdytCyYR2bXD2FyPBeY94Jk0CKzpQQzL3jSnfeuIsE0PDw==} + peerDependencies: + '@nuxthub/core': '>=0.10.5' + better-auth: '>=1.0.0' + peerDependenciesMeta: + '@nuxthub/core': + optional: true + '@opentelemetry/api-logs@0.220.0': resolution: {integrity: sha512-CmVa4ImJ+ynfrPMNaAXHET6Bhb44SwzmfyVJFq9ni2jgXJR/l7C6gfVFddNmHP+ZOkP9cf4f9DBe68qVLTHc9w==} engines: {node: '>=8.0.0'} @@ -2694,6 +3683,18 @@ packages: '@opentelemetry/api': optional: true + '@oxc-parser/binding-android-arm-eabi@0.131.0': + resolution: {integrity: sha512-t2xicr9pfzkSRYx5aPqZqlLaayIwJTqgQ81Jor31Xep2nGyL2Aq3d0K5wOfeR7VevaSdxaS9dzSQP9xDwn8fDg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxc-parser/binding-android-arm-eabi@0.141.0': + resolution: {integrity: sha512-jk7086MFvR/T4DG9IY7MKBVt1PMxvSZoz/TvnifodvS0pjghVwJHRttnAExhlwdMOgHv1TmLdENnbNpYk2zjvA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@oxc-parser/binding-android-arm-eabi@0.142.0': resolution: {integrity: sha512-ZiRGDutGsv1G6bL/ozy/koC0Sv39T1DqyoC4KD1DOy9ZoACm1O5UWhEK2c02Qdk+4lfLVkvFa/mQ0fm/4h1BtQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2706,7 +3707,19 @@ packages: cpu: [arm] os: [android] - '@oxc-parser/binding-android-arm64@0.142.0': + '@oxc-parser/binding-android-arm64@0.131.0': + resolution: {integrity: sha512-nlGIod6gw75x1aEDgLS+srj+JRGY0HHm9MI9YgzE/B64l6d6+H3MSP9NOgp0+HTg8tp4vV9rVfgQGgd+TfVZcA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-parser/binding-android-arm64@0.141.0': + resolution: {integrity: sha512-a4XDQ27ZT7e7zwAlxJDTiCA7IBGWDuy2+MhFq85Of7XlBSmpkfcBFml11q0Zx6f7RMuI0B4xCtt2ytBS4yOptg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-parser/binding-android-arm64@0.142.0': resolution: {integrity: sha512-WZkvGRLNQTz8lR9zP5nLjUdlroRCopBu3g9zF1p/laE6DzT1UbQo8Rdz5MWhaJUPYg/6gp+jo7HUgsyKaN1FtQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] @@ -2718,6 +3731,18 @@ packages: cpu: [arm64] os: [android] + '@oxc-parser/binding-darwin-arm64@0.131.0': + resolution: {integrity: sha512-jukuV6xe5RbQKFo7QD34NDCLDZp4PSOm8rmckhNdH/60ymG5zXbDzGBEyc+nTkuLQNama2aSGCt+CPfpjNTqyw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-parser/binding-darwin-arm64@0.141.0': + resolution: {integrity: sha512-m/kVk6rzYmBeHYnz+1Y5fod00AVTTxMbC71azFfm/zjx1j9XxwKtA0+VfkKuVMC8rbghb9TtfevnuWZa9OuPEg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@oxc-parser/binding-darwin-arm64@0.142.0': resolution: {integrity: sha512-l4khS8LQOOVYsGRVARo1gSaCT/aBSceUVXgtovWc2+drnxVuDr082WA3OCHVdVzIz5JIrP/y9CWsSKxBDNmYGg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2730,6 +3755,18 @@ packages: cpu: [arm64] os: [darwin] + '@oxc-parser/binding-darwin-x64@0.131.0': + resolution: {integrity: sha512-g3JOo4khe9rslHm5WYaVDWb0HS/M1MLR3I9S8560MkKIcC96VQY00QjOlsuRyfSj/JDXj8i9T7ryPO2RidiXVg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-parser/binding-darwin-x64@0.141.0': + resolution: {integrity: sha512-o0X+6KZlfucWU/v5oKRQPwdFXsXAjW8jmpo/Gpw/qyKsbKtlfkHoeH9Bjp/m13TwjewvJnCkwF0DWzgpC4HjTQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@oxc-parser/binding-darwin-x64@0.142.0': resolution: {integrity: sha512-QBsNF3nqlXmcH2B1YOPqQYmCJoy4HuIjUxGbBO/k5JAJUl68ghU2psRY2zPk+RyBaWqKP/qfL4oaFgEMCdwskA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2742,6 +3779,18 @@ packages: cpu: [x64] os: [darwin] + '@oxc-parser/binding-freebsd-x64@0.131.0': + resolution: {integrity: sha512-1hziITDTxjMePnX+dR9ocVT+EuZkQ8wm4FPAbmbEiKG+Phbo73J1ZnPAA6Y/aGsWF3McOFnQuZIktAFwalkfJQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-parser/binding-freebsd-x64@0.141.0': + resolution: {integrity: sha512-W5KbTnNkTMMMylqj6dYqnsXvkmESVPodPKYLJ5zdzIPdl9fUJtolkpUeSzYEbGGYB4a4A4avl3EePnZ/wLIdJg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@oxc-parser/binding-freebsd-x64@0.142.0': resolution: {integrity: sha512-b7Q7m4Cqc6XqNhri3R+QhU+GVy646Pn+bkdhrDdWym/Fdi0ZUa+d73H9dm5H91JtbtAQ/z1d8XKMW3oOV8a4tQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2754,6 +3803,18 @@ packages: cpu: [x64] os: [freebsd] + '@oxc-parser/binding-linux-arm-gnueabihf@0.131.0': + resolution: {integrity: sha512-9uRxfXwyKG9+MwmGQBo2ncPNwZH5HTmCETFM2WiuDBNDCW4NC5ttSQkwCAMrTAWgwMzVBH1CP8pM0v7nebCWXQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm-gnueabihf@0.141.0': + resolution: {integrity: sha512-g3dtbJa8zeOGK36Sr9cQavsdi5H/ie2hVjrSjIxsNAR1qZA40ZYVXnfdfoMAlq8CmB9qFL1yhsSCUHeNmdmt8w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-parser/binding-linux-arm-gnueabihf@0.142.0': resolution: {integrity: sha512-3riVS5IhdH3uCZj1Y9ftDQlR0dvLsIlw/edrRqk8JhgNd5K0XSs+UBtgh50N13CAlW9/TXj6sVGXaKNBocd0Yg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2766,6 +3827,18 @@ packages: cpu: [arm] os: [linux] + '@oxc-parser/binding-linux-arm-musleabihf@0.131.0': + resolution: {integrity: sha512-mgbLvzRShXOLBdWGInf08Af4q+pfj1xD8hSgLClDZ9of/BXkB6+LIhTH7fihiDUipqB3yoSkKBWaZ3Ejlf5Yag==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm-musleabihf@0.141.0': + resolution: {integrity: sha512-e6hwQqd+3lvP13G2jxvFpoA7dzHcFLN+Mq47JCVMtdNHbbyBRo756JCtbbJH6ca8inTfyqZoqBmS3vhQlzAK2w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-parser/binding-linux-arm-musleabihf@0.142.0': resolution: {integrity: sha512-NmXUOpgpTSkhl795TiXmWppTwmSJ92RC1qvD6e4XOF+slgmo3e6Ah+kEu+6AN8s7NAOEwqGmir58MgSQSWmBSA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2778,6 +3851,20 @@ packages: cpu: [arm] os: [linux] + '@oxc-parser/binding-linux-arm64-gnu@0.131.0': + resolution: {integrity: sha512-OPT8++4aN6j2GJ8+3IZHS/byXoZP4aSBn+FoG6rgBJ2fKwPKXWF3MqrFMNW7NKHM28FLY579xYLxJSfgobEqPA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-arm64-gnu@0.141.0': + resolution: {integrity: sha512-vXz2BLAuypA+4MLyBg94pzEo6THVnzYnCtAjXoihIIQo0t2pnp/AmW+SH1EI+4VbuJnC//KplIJ5yyaCGua4jA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-arm64-gnu@0.142.0': resolution: {integrity: sha512-gc0EXsKtXgerujmU2Bql3u1L1HsSQ2774R83idq/FoNMPVV/RY/1ErFsvnit7KoiP/sLvzQixeUo4Ut0ic0wmw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2792,6 +3879,20 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-arm64-musl@0.131.0': + resolution: {integrity: sha512-vtPiwmfVTAXzaxDKsOXG+LwgRAA7WEnaeHzhS5z0GE89gAK18KSXnly7Z6saXXq6L3dVMyK44uoTI03zKxrpmw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-linux-arm64-musl@0.141.0': + resolution: {integrity: sha512-jMkS/EztNW34HKsXIaT/SoHcmtocq/vWhwFOVduF9kduuuRIVwfwQ6uxzIO+qPKSXdd2TXt54of0BJ2zFMXnmw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-linux-arm64-musl@0.142.0': resolution: {integrity: sha512-F2XvmWSE0uWpie+jHKKIFgdVOe9ypGhkEZxKx5DuW215K6cbAC274yYaPkcM7EqY4Df3Weyhpcz3lsURyH2LVg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2806,6 +3907,20 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-linux-ppc64-gnu@0.131.0': + resolution: {integrity: sha512-8AW8L7w5cGHSdZPcyZX2yR0+GUODsT15rbRjfdD54rv6DMbtuEB19ysLOpKJlRGfH6UNYNpCHaU1uJWgTWf1/w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-ppc64-gnu@0.141.0': + resolution: {integrity: sha512-vo+MR+n3zQJ6Mq92hiP084NZcgDv5iJlVR02gMf28neMvVT1tKVm7VeiW/DxhdqOi3QLeaXIk9cUcLL1qrkngw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-ppc64-gnu@0.142.0': resolution: {integrity: sha512-wLMbT21U/QxknQsk+VvNF0b9D2/aGWhcaQQQ+VYlE8FwD5+GoWZIPPXNzyHmkYyhm0KB3itL+TBavjMatqNnYA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2820,6 +3935,20 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-riscv64-gnu@0.131.0': + resolution: {integrity: sha512-vvpjkjEOUsPcsYf8evE4MO3aGx9+3wodXEBOicGNnOwTuAik8eBONNkgSdhkGsAblQmfVHJyanRnpxglddTXIA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-riscv64-gnu@0.141.0': + resolution: {integrity: sha512-oh80w+7RuiO5gBp9Jnoa/H8Qlt3JsHL2MkW+0dwEdlDMdslVZX/YsekSK6EeyEenY66/mhCfypsNATQ7Ph3qlQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-riscv64-gnu@0.142.0': resolution: {integrity: sha512-+G8F/4ckwT7FCJV4H2bt09xEzJbjNCfuL4Sp1AYNaFtFMVtgIGMuJlteT82U+K0UIZ/DzAR/LDlMFnEuajG7Kw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2834,6 +3963,20 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-riscv64-musl@0.131.0': + resolution: {integrity: sha512-AqmcNC3fClXX+fxQ6VGEN1667xVFiRBkY0CZmDMSiaeFUsv1+UkBPYYi48IUKcA9/ivvoKNRzQl2I4//kT9F/w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-linux-riscv64-musl@0.141.0': + resolution: {integrity: sha512-LOyEmFA8sCnYbEXP1+iQvCC/P1YXHMA/t6x1Ksp0Y9VwhLFsiBJFzV1zIxrOIE2LKaGGhDjQ29xq9cbq6omDXA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-linux-riscv64-musl@0.142.0': resolution: {integrity: sha512-hTsHtTLxMAfCo+rpF5K3qZJKW2NpPN/CHd4mYB3y7XlSdspHkd2gehDIofP64AacA9nWQw2tY3O7wR6UY8IVOA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2848,6 +3991,20 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-linux-s390x-gnu@0.131.0': + resolution: {integrity: sha512-7d3jOMKy7RSQCcDLIci+ySll2FgsOMl/GiRux4q2JNv0zg4EdhFISa9idvrdN/HEUIQQJNg6dmveUeJl2YErGA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-s390x-gnu@0.141.0': + resolution: {integrity: sha512-3wnwk/l1CvszVE5TJR1wSl/zSEfydRqrNhn6s7Vr9IzSJpUQIroqVsIoPARHRFA+FQwkxAFDAHDAasa7v8OobQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-s390x-gnu@0.142.0': resolution: {integrity: sha512-6y7qYY3TCUDYjqswImdTGl92y+KA/80twALegQPN27kfY+bG7Ib1+L3jbmrCZQx6wrVnai9IPsEZp07I0hx7JQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2862,6 +4019,20 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-x64-gnu@0.131.0': + resolution: {integrity: sha512-JHK/h95qVqVQ+ITER837kcTdwBDFpFaNnOTYGCP0zdUSX/mLKC7tXOoyrTb6vG7iRPwGlcgBil3v2IjYw1FqJA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-x64-gnu@0.141.0': + resolution: {integrity: sha512-qtyQVAAebFq57B2tifTlel3TgGqUtsYNI/e+p6aya9rN9lOZVTDvr215fGYSA9XWooxzMxDiVxkBLk2jQHbsOQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-x64-gnu@0.142.0': resolution: {integrity: sha512-i69kAWU+2LgoH5bR+zWiiu+UzAw7Oxkwv7COeJTeY19pn4e70nKQcr9Pm6cL2Z0Z54d+gl9qADlK/0yyuCPiBA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2876,6 +4047,20 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-x64-musl@0.131.0': + resolution: {integrity: sha512-b2BO82O8azXAyf7EUgOPKu145nWypbNyk07HbU09fkzhm9lEA5oPvaN/M8Nlo7tOErVTa2WOgS4QbOnxAPXdDQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-linux-x64-musl@0.141.0': + resolution: {integrity: sha512-SkGV1nKw40roEc94pv5EaaeH2ay14G6+roe8Q0wIUC1LcEKxzKW921h7+ZuZX0D3q2Mb/7aSFmxEVqnko3lPRw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-linux-x64-musl@0.142.0': resolution: {integrity: sha512-4SQs678MmjYVrmhAgCWD4o0vpaFszXw9xLX5p2Z9MMFcltxiLkA88wQjh80YHjPrXtpyZ2CWI5m+1yNKM0m2Pw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2890,6 +4075,18 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-openharmony-arm64@0.131.0': + resolution: {integrity: sha512-GHO9glZaX7LkX/OGfluEPf1yjg+ehiFbUdowbX6uNWOQhmwKWU4m4+nZ9FJkrHNKuxyI1KKertMdGjVKCApKWA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxc-parser/binding-openharmony-arm64@0.141.0': + resolution: {integrity: sha512-cVgDM7n8QziQqOaP5hNgUYfMG7S/ZeuPxFWXnnHRv7rh025COk0rfQ6eEdKG3j/GaUuyvNZN4ifF1J8KmuXLLA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@oxc-parser/binding-openharmony-arm64@0.142.0': resolution: {integrity: sha512-YHpx9N7Ln3a++Tc8rv+H7mrK1zyJQOAwCFg8LZ3lTs1T5afGWeZrLPhPT9HLnIwSjCyJqPWVMIrMxbjcmBr2oQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2902,11 +4099,33 @@ packages: cpu: [arm64] os: [openharmony] + '@oxc-parser/binding-wasm32-wasi@0.131.0': + resolution: {integrity: sha512-3SkikPaEFoih1N83qLVEDLRLeY4nYsf6JT9SnWiMCQ5lGQdKup6bEuKCqkRiG9dD1IIaFeYz9RjlciPmYoFIWA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + + '@oxc-parser/binding-wasm32-wasi@0.141.0': + resolution: {integrity: sha512-HggH++Fkn3OilBn+bs3jpgIFQa34oMAyUUHy0vpGum+gt1Eb5nyLc8dNU/RAPSw6lsLrx7ncKtHSZE+3Sp0l2g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + '@oxc-parser/binding-wasm32-wasi@0.142.0': resolution: {integrity: sha512-3pLDyY3+oogW73RM5uehNgAiR/Xfb7fvO2Q1Z1gIqZ2+50XDVQmBVlRkHXZTU4gKnQHpwETNsYQVsJ3joVB2iA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] + '@oxc-parser/binding-win32-arm64-msvc@0.131.0': + resolution: {integrity: sha512-Os5bEhryeA2jkH+ZrnZyAC1EP5gs+X4YB1Fjqml7UPD5kU7ecsK1MPEVMfCrdt/GDNpDbavYXiOXOdyJ5b3OPw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-parser/binding-win32-arm64-msvc@0.141.0': + resolution: {integrity: sha512-KLSEH9GwgbrqbJOjtGHt9STw96s+78yDzp7IDN8Lno+7Ut9sNBfZ4jYZIz4mD50qmWUjoOI7i9I6UENbhNbMZQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@oxc-parser/binding-win32-arm64-msvc@0.142.0': resolution: {integrity: sha512-Had/VeVY28Oyb0K+Q4FV8KCzoBycIh93oDK6pCbya9lkzdq+ikMHMgBubsdqqlybjJmQRawCQRrnBRHyQwYvcQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2919,6 +4138,18 @@ packages: cpu: [arm64] os: [win32] + '@oxc-parser/binding-win32-ia32-msvc@0.131.0': + resolution: {integrity: sha512-m+jNz9EuF0NXoiptc6B9h5yompZQVW/a5MJeOu5zojfH5yWk82tvF2ccrHkfhgtrS9h9DD5l1Qv8dWlfY7Nz8g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxc-parser/binding-win32-ia32-msvc@0.141.0': + resolution: {integrity: sha512-9UVWUOOCI/1YkiSSNjg2zyBJYM9E/t1A/8GNobd48JDn/fQ6mzxcVO3H08jb3rAaW/B1VBf8eCORTvSsO9T08g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + '@oxc-parser/binding-win32-ia32-msvc@0.142.0': resolution: {integrity: sha512-GGi3+YphVHavvgs6gum2UXoNCqzHAmPt/nXkn8ZQZstV2Q1qZD1Mn8fz/nWrDkefHQtrG/+1/XrbMxsBTo6Svw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2931,6 +4162,18 @@ packages: cpu: [ia32] os: [win32] + '@oxc-parser/binding-win32-x64-msvc@0.131.0': + resolution: {integrity: sha512-o14Hk8dAyiEUMFEWEgmAwFZvBt1RzAYLM3xeQ+5315JXgVYhoemivgYcbYVRbsFkS71ShMGlAFE0kPnr460rww==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxc-parser/binding-win32-x64-msvc@0.141.0': + resolution: {integrity: sha512-HI/wsvbWT5RHHw5c37D0fEgeTd8/1Q4OJs5jUmEBc17VZFG6SsCIe4barq7NsAPPks/JW+3ayi3Rp+PQI5h4Kg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxc-parser/binding-win32-x64-msvc@0.142.0': resolution: {integrity: sha512-Ny/Wv4Us1LGC/ljwNTp+Hx3r/pH15EFfeDF0p+n898gt+TtRd6C9SccHcuUhDiNTb8s5tt7jdeAMDRQZ4Vq6hg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2943,6 +4186,12 @@ packages: cpu: [x64] os: [win32] + '@oxc-project/types@0.131.0': + resolution: {integrity: sha512-PgnWDfV0h+b16XNKbXU7Daib/BFSt/J2mEzfYIBu6JB/wNdlU+kVYXCkGA1A9fWkTbOgbjh4e6NhPeQOYvFhEA==} + + '@oxc-project/types@0.141.0': + resolution: {integrity: sha512-S4as7z0j0xQkXcJlyY5ehntwK8/wRkQb9Cyqw+J/N2rkWGQGK0SxD6X6DhQTc7qsxVTBxXbxZtBJh3mr3PtIzQ==} + '@oxc-project/types@0.142.0': resolution: {integrity: sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ==} @@ -3052,6 +4301,133 @@ packages: cpu: [x64] os: [win32] + '@oxc-transform/binding-android-arm-eabi@0.141.0': + resolution: {integrity: sha512-FOdseb5KpV3JtkM+7TN4u3sW3aQkUSRy0bWWiKgT/qrIGqZHqzKEUpwaMybutsfwEglWBXuJgnrT9loWisPkrw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxc-transform/binding-android-arm64@0.141.0': + resolution: {integrity: sha512-jglqGwEnSuldt1nfFSpDBHQZ/RzjCjWQEMDatPOEOWIA0ZCCYFj/9ILUOTVllZz79FI9/c0p/bctVVlQqQxxYg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-transform/binding-darwin-arm64@0.141.0': + resolution: {integrity: sha512-81jBeodJH0IRJ3/OnAgW2lBPm/kcoz603d8eGnnwgW2HbxAUs8rfw+YWaKLrWaKjT0oSIPOrGMJu9DeaKD68sQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-transform/binding-darwin-x64@0.141.0': + resolution: {integrity: sha512-o2jD9E7CyPxhb3CuYbaYsnFH0Mo1hKa2R+Hfo6xJxOlyfcM8U4R73W3YXb9w6lRPUc0PBFUbCmJjtGR/k5SIYA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-transform/binding-freebsd-x64@0.141.0': + resolution: {integrity: sha512-DNF+Of7nckfwqu9fZin4vR8bGmF/3sWPvtw9Jc4cjeQoRB9vUuC6w9C/GxW+0Vr+PCH+gk4tR4Ygvjfx3LYOzQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-transform/binding-linux-arm-gnueabihf@0.141.0': + resolution: {integrity: sha512-nolqi5WqP68qVQJdnPFCF50JT5KzqlcpvwGFyIV+IRCLcv5Hh11gIu4InMs3Uswcf0BJnV/oLIjzb7Sycd3zJg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-transform/binding-linux-arm-musleabihf@0.141.0': + resolution: {integrity: sha512-ytbO89DQl6KxjKCRlyCEtABgfs8njm623ambDkZZBer5J9dbTwbaV5hseZsPkVzZPxwXobu43/XS0jVZnrmCTA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-transform/binding-linux-arm64-gnu@0.141.0': + resolution: {integrity: sha512-Tjj3pobBAzbzUJE8ljbS61om6yfVnarSZzS8LaFCSn0rB+hs0IZRE3jC9IzpsVPHSoJl4uhbIGebuDY2G3B6gg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxc-transform/binding-linux-arm64-musl@0.141.0': + resolution: {integrity: sha512-aUUptri02E4nqkUvyA+2oYkmU20pYnHIpNLPZOgom0kAa0Fx9X6QFKqKm1MopyucWolQ9XTgCK2PrupSSBdCdQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxc-transform/binding-linux-ppc64-gnu@0.141.0': + resolution: {integrity: sha512-d28AT+SfcAYFnulI2C8HJ5OeoUa5w+eMpwy0uMzbU/3zXJpFjjFOvJlEL8FNvx7HBEENj5IfgD+aXdNzEEn1Tg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxc-transform/binding-linux-riscv64-gnu@0.141.0': + resolution: {integrity: sha512-P6XVhw+MJsjeliWJ6BBKdC0HU1VEiwMRHtqUADK+jK5wiqgzt3/JhIcMuRLzBPYfnOujLpe+fm63yEzKUIAcSA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxc-transform/binding-linux-riscv64-musl@0.141.0': + resolution: {integrity: sha512-6QUicErqoLpCVsXPYI+OEYJ95TjiV+trvX9VeCuyVcyL5p0Opi7DFQL2c1DcGHi1c9cqz1h09mUKCZ7Y52kxfw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxc-transform/binding-linux-s390x-gnu@0.141.0': + resolution: {integrity: sha512-r2Jk0vfcnHnkPOjLnWvpGVTFcYDirGICBJYraCkWeplhPZ2Sgg9GvDVgah9VFOHRZVtK6XQynELP9A8EB/Ne0Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxc-transform/binding-linux-x64-gnu@0.141.0': + resolution: {integrity: sha512-lIsdGq4LA1IlbrZlmrhP/p0pCo4+5jrAlLp9BMzIHaV4mILBSr+ZtuTDkML4117cLHdzoWOqw0s3Rb7igOWtxw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxc-transform/binding-linux-x64-musl@0.141.0': + resolution: {integrity: sha512-y+9FbVRBhUtHBVn0xHiVcaNHkoRudIhlKhRk1+CclE1uGD6af3xznTjCOrKGB7HZ2SzlCWLZwQGm/KERpUjX1w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxc-transform/binding-openharmony-arm64@0.141.0': + resolution: {integrity: sha512-Ul5Fu6zPL7kjTbtBU30HaRFHPL3bjjpdieHmAXJlJDuFukuOXqVD6dS70b314IjFy/rbqkD8OK4MQ4408eEjyg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxc-transform/binding-wasm32-wasi@0.141.0': + resolution: {integrity: sha512-GaQJvcyFJyle5lll67+iYAgv+G21bQXvWPNhD6YIYoR/bV8kS0Qm8YSL22Y/YZC/8RwsneVFWpP2y6VZJfcM/g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + + '@oxc-transform/binding-win32-arm64-msvc@0.141.0': + resolution: {integrity: sha512-Fbi/hC64tNa56mXEitjaWsxQoMvtJDbOe2MxO+BA1v1Ev28L9n1yMJwhKyOCA+Rm8lYK91oOb5CRv3Ct5RuvJA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-transform/binding-win32-ia32-msvc@0.141.0': + resolution: {integrity: sha512-2HlslqwOXQ2nxAZjhqZIpvPxENhQGvA6b4cGwmiVD6Uh5x+dZAopOeEJRxRPpKcrr/W5KXfwwbttwx4OWbg9TA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxc-transform/binding-win32-x64-msvc@0.141.0': + resolution: {integrity: sha512-JEgTv+y56FbwinH1/kqpNyD+bWRWDpbbPdSY7Ta7rCKFiRsYkUHZd1v+XWxda08cS8GAmlKS4WKcVwtrAbDUHA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxfmt/binding-android-arm-eabi@0.61.0': resolution: {integrity: sha512-BaS+1OVvg9sr+Xav0+KdWedQRcAzrdoEcwMZeqoc2F6ieC1s/t5eM35YQoRPQ7vAqkZ+p3tbQb1r9I9mrV5oGA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3448,10 +4824,31 @@ packages: cpu: [x64] os: [win32] + '@parcel/watcher-wasm@2.6.0': + resolution: {integrity: sha512-dtjbDxKSDPQ8AmA+pS4OFaHE1FKrjtGpLGBxw85uKFkRorjNbvDM/aFPgqosu40wprbp1xw2ZSxIKqghCUHe2w==} + engines: {node: '>= 10.0.0'} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@playwright/test@1.62.1': + resolution: {integrity: sha512-DTcUc8qii+cpHvtOwggMtBRMjKZHXYWdw8syRYu2vtzuq4Wxphqq4NfCs5Zt44L6mA8rfDfj+PHnxFc/FeK6mQ==} + engines: {node: '>=20'} + hasBin: true + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + + '@poppinss/colors@4.1.6': + resolution: {integrity: sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==} + + '@poppinss/dumper@0.7.0': + resolution: {integrity: sha512-0UTYalzk2t6S4rA2uHOz5bSSW2CHdv4vggJI6Alg90yvl0UgXs6XSXpH96OH+bRkX4J/06djv29pqXJ0lq5Kag==} + + '@poppinss/exception@1.2.3': + resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} + '@prisma/client@5.22.0': resolution: {integrity: sha512-M0SVXfyHnQREBKxCgyo7sffrKttwE6R8PMq330MIUF0pTwjUhLbW84pFDlf06B27XyCR++VtjugEnIHdr07SVA==} engines: {node: '>=16.13'} @@ -3727,6 +5124,78 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + '@rollup/plugin-alias@6.0.0': + resolution: {integrity: sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==} + engines: {node: '>=20.19.0'} + peerDependencies: + rollup: '>=4.0.0' + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-commonjs@29.0.3': + resolution: {integrity: sha512-ZaOxZceP7SOUW7Lqw5IRVweSQYWaeIPnXIGLiB690EBA3FGJTO40EEr2L5yZplJWsgTCogILRSpcAe7+U0Otdg==} + engines: {node: '>=16.0.0 || 14 >= 14.17'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-inject@5.0.5': + resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-json@6.1.0': + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-node-resolve@16.0.3': + resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-replace@6.0.3': + resolution: {integrity: sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-terser@1.0.0': + resolution: {integrity: sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-yaml@4.1.2': + resolution: {integrity: sha512-RpupciIeZMUqhgFE97ba0s98mOFS7CWzN3EJNhJkqSv9XLlWYtwVdtE6cDw6ASOF/sZVFS7kRJXftaqM2Vakdw==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/pluginutils@5.4.0': resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} engines: {node: '>=14.0.0'} @@ -3912,6 +5381,12 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@simple-git/args-pathspec@1.0.3': + resolution: {integrity: sha512-ngJMaHlsWDTfjyq9F3VIQ8b7NXbBLq5j9i5bJ6XLYtD6qlDXT7fdKY2KscWWUF8t18xx052Y/PUO1K1TRc9yKA==} + + '@simple-git/argv-parser@1.1.1': + resolution: {integrity: sha512-Q9lBcfQ+VQCpQqGJFHe5yooOS5hGdLFFbJ5R+R5aDsnkPCahtn1hSkMcORX65J2Z5lxSkD0lQorMsncuBQxYUw==} + '@simple-libs/child-process-utils@2.0.0': resolution: {integrity: sha512-dvNoRKLijXnD0XoJAz94pbNuB5GQgDr55UhpSPhffDkTT0Cmcqh9jSCOtwfT2d4H6MI9E7c4SgtMuJXZ6F3c6A==} engines: {node: '>=22'} @@ -3972,6 +5447,9 @@ packages: resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} engines: {node: '>=14.0.0'} + '@speed-highlight/core@1.2.24': + resolution: {integrity: sha512-qeW2e1l78afw8VhRPfPQ1Gjj+KU5XFQ/OFV5ti6eTa9bruO7mJyZtA4vw0ofqmA3tKCkROE9xLk3VZoeRc98nw==} + '@stablelib/base64@1.0.1': resolution: {integrity: sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==} @@ -4172,13 +5650,6 @@ packages: resolution: {integrity: sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==} engines: {node: '>=14.0.0'} cpu: [wasm32] - bundledDependencies: - - '@napi-rs/wasm-runtime' - - '@emnapi/core' - - '@emnapi/runtime' - - '@tybys/wasm-util' - - '@emnapi/wasi-threads' - - tslib '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': resolution: {integrity: sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==} @@ -4361,6 +5832,9 @@ packages: '@types/request@2.48.13': resolution: {integrity: sha512-FGJ6udDNUCjd19pp0Q3iTiDkwhYup7J8hpMW9c4k53NrccQFFWKRho6hvtPPEhnXWKvukfwAlB6DbDz4yhH5Gg==} + '@types/resolve@1.20.2': + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -4385,6 +5859,36 @@ packages: '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + '@typescript-eslint/project-service@8.67.0': + resolution: {integrity: sha512-cvE8c7ulYeXN9fYuszhCeCsbzyVEXuhrRCybnBre7TUmqb5nRmBfQAwCj0O3WJFDeyAZt4VYv51vMCC9LHSdYw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/scope-manager@8.67.0': + resolution: {integrity: sha512-EgvsleTwS4E+WzzSvem8fAUubLwatMNF1B5hHSLQxcvs7q2dtRhGyujHwLJSYlG41niJ7GP24Aha2+0mb1b2kg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.67.0': + resolution: {integrity: sha512-vV+LUSv5njUWsknE71fqKTlXUva+R76SaeORd6Zojcunk/6DvKFXONU3BrAs2H49mbygUXt6gbYunzwqNwlhdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/types@8.67.0': + resolution: {integrity: sha512-sBtgslww8nsMYUjhdPBiSyUqSzT8uR6g93A2QXnQC8+cGdjz0CyaOdqHDRJb1AtORbZCNUJBBeFA/tNR2uQmww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.67.0': + resolution: {integrity: sha512-EKQBCE9yNlRJYm7jdTW5AhDacDUmSwQb0FAJAmK2EKYrNXIsa2vxcSZx6PvJ/dEdI6lS+Y9W+EXckLj0iPFGcw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/visitor-keys@8.67.0': + resolution: {integrity: sha512-fkv8dHRDqfGtTHuJeebdrQ7cX6Ad4WAS00rgHh9UGvMycF1mjBfsxry1XsLIFhWZ6Judlh6UdzK+TYlbpCXgnA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-native-bridge/darwin-arm64@6.0.3-bridge.12.tsgo.7.0.2': resolution: {integrity: sha512-l4IugI9UwUsdUu164Cz7TJ0u1MtQW3GiQwjKTF8QtQ7GbuXEVQ3PPOJZooAACiiYzNzvU9hZ/4pWRY9MKLJBeQ==} cpu: [arm64] @@ -4469,6 +5973,83 @@ packages: webpack: optional: true + '@unocss/cli@66.7.5': + resolution: {integrity: sha512-fgWkECRn2LGVo9sEpmjk/KJ3NSKUDitaZCNrJcEYM93DG+ELriTHcL+VWBlF4rcZf9fdGlq1nKbbRHUZirFCHQ==} + hasBin: true + + '@unocss/config@66.7.5': + resolution: {integrity: sha512-dkPl9glhEahJ+Xoja5ZseKKnH+vZaeaKQzg8b0otcKcPPNrHQgu1nu3QgfeOjnXOGrjZIotHwUeVtt4ZA2Skgg==} + + '@unocss/core@66.7.5': + resolution: {integrity: sha512-UdJb8MiMywcau8QrWEVgUAz0kvoFHyR+sACwYCgmBh/BpKJGyR/zw/Ys3wvysbm0f+i/20VGBex/QQxYVlzdyQ==} + + '@unocss/extractor-arbitrary-variants@66.7.5': + resolution: {integrity: sha512-5zOkbnLIJc8E749qNjLXfPHl3FdHloop12h706/ojr6idK4ix0KLm43R//uLnphixCehdHJRuHnavnM4C/kQbA==} + + '@unocss/inspector@66.7.5': + resolution: {integrity: sha512-WmTJMnj8bmRxvw/wGeShmL2eEHr2/L0BdGTXSxhfzwcO8y5XZEbBmVciLcM7pqaTXQ6JY4+KnITrDUf1urjZxQ==} + + '@unocss/nuxt@66.7.5': + resolution: {integrity: sha512-jEpG/bvPjjpXqr/hmTXxDZLajI/SyakviVX03djtcJl8jih1khXMqUAAehLcFUJg1DvoUIUdReGagTJGdyGPNw==} + + '@unocss/preset-attributify@66.7.5': + resolution: {integrity: sha512-1Oi1Cp81pqYJwG3h4+OlP5A0FKyaa07MFBXaXc4Yr3faiTbsI8SKj2TqnZCb+NQvBsEqslEd+jKXGZ3lKzCVOQ==} + + '@unocss/preset-icons@66.7.5': + resolution: {integrity: sha512-ZsxadWnGGtHdANTikuMnjkQaT1qwUFJHZBF4fzVsPMnUiiKGs8rzXukwM9w3Gi9ontM7nbG2FYi9clWETSlpFg==} + + '@unocss/preset-mini@66.7.5': + resolution: {integrity: sha512-o37TSl4ecT0dKu+3/TYuTYht75h82SEwDNl476m9ve0KW4Pv1O2tT/9TWd7N5cutEpySr8/YtjMwtWBD+drxBg==} + + '@unocss/preset-tagify@66.7.5': + resolution: {integrity: sha512-/8YB1tXVi+WmNKPhsCdtO1xnQKEkshSnWDp6AbvVP3f6qOF7adlMYpAt3kpWCoVUBsfOQ06ZQlnfricMjObyoQ==} + + '@unocss/preset-typography@66.7.5': + resolution: {integrity: sha512-2dxC8LT9KYa29UZT4muDFl7DbIXvKktTfeSMbUGMdZKbHcuMtKSP2U52wti1PL5I9duqp4v+8G33EeVutGTUaQ==} + + '@unocss/preset-uno@66.7.5': + resolution: {integrity: sha512-zaUlYgNngbt50fZA/LbtsEnmPKojPqeiXCyUUiKQMv2uJQhncR32xhLZXVQ+TJD7hlfZ+6FAqlco1NIiAcub9w==} + + '@unocss/preset-web-fonts@66.7.5': + resolution: {integrity: sha512-OLLTK7kswdSu51qxEm6O+AehecgCfS08Ivqo+280lKzFW7V1jXr5okeJ1ty+85oHCprJqzcD9iG1khxNRLomcA==} + + '@unocss/preset-wind3@66.7.5': + resolution: {integrity: sha512-atFe/7Qein+oMdyZs0hEo+3EjV99Av2LVxDbzpCungxIfbS3TnQt70EIuHXMPNCVWLYwrMV+/P1n9Ntb0E3mow==} + + '@unocss/preset-wind4@66.7.5': + resolution: {integrity: sha512-n3jIvQv8x1jXpmWfvNFBIqHNARki4mKZXfxAA31gekpXsRRTg16u1+yC1+PBBJgoEDFEnnmKnG7EZP88S8LVXA==} + + '@unocss/preset-wind@66.7.5': + resolution: {integrity: sha512-LVKgGr0A9Lc7F85xGXrrb71DDXMlHGA8bcj/Kht8BCsuRdBZadNbLlnv5qnSJiHYhi3/blzcgVoaeRor6L9yNA==} + + '@unocss/reset@66.7.5': + resolution: {integrity: sha512-z3wbt2cuQPjtT6w5xzRYZYFIIlUPzhVKz8yIcE9fvu7BgR3hO7uVsg/5mzDoGwQ96Ya3Sk68rpmI/gLYl4bJag==} + + '@unocss/rule-utils@66.7.5': + resolution: {integrity: sha512-/AKHBRF6ZOexE3EDDv8ZEYh40P5e2Eha41IYUbE1wjigW7++ssmvimSTdufJzZvU5DGP++E3B3WEsFPprZMjAg==} + + '@unocss/transformer-attributify-jsx@66.7.5': + resolution: {integrity: sha512-r8qDwNSt0eGSwWws3xsuIHb3PZYR2embFdYoE67hD/xlYgLjX1uPy/HUlGCSSh4uLc4vVYjurr0Oq5xF/B8YiA==} + + '@unocss/transformer-compile-class@66.7.5': + resolution: {integrity: sha512-KuECgsGF7tGe808vIvKViEjI0UCUgYgneJfK+/TWBkjC7s8dLVaUtJzzcP9/r6OfGlgyn/x1YTdRqTaCENa7Xg==} + + '@unocss/transformer-directives@66.7.5': + resolution: {integrity: sha512-VMJApXXOwlDubkW+cNMmOkfxLefFupJr+yU23gGYUB2NPsuVltc8H5CDM0gfVebpeL5CUW05evxzEAk2wsju+Q==} + + '@unocss/transformer-variant-group@66.7.5': + resolution: {integrity: sha512-iDmP3mM8J+IxuQf5Uh33zsi528xnGxTpKRJ0c+LCrqBTTkR2tZr4aCzNmJ0g29Js2yEOsyNXRRc8BNTuvgn0AA==} + + '@unocss/vite@66.7.5': + resolution: {integrity: sha512-1z1TBCNJCR2WzjPtjzmCHr8rtzXHosMjLdsCNe6Mzsfwiw044gzzLVuiEZO9vIjkI50lvQ+gIOxOiVQG0hGAeA==} + peerDependencies: + vite: ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 || ^8.0.0-0 + + '@unocss/webpack@66.7.5': + resolution: {integrity: sha512-9ji+BsB1VyspbEZwcwGPZPF6uuPpsRm9gBNMK14Toib33QIiBqpEBNzBNGNfbIjne3hmS6fGySN344Z0VldHcA==} + peerDependencies: + webpack: ^5 + '@uploadthing/mime-types@0.3.6': resolution: {integrity: sha512-t3tTzgwFV9+1D7lNDYc7Lr7kBwotHaX0ZsvoCGe7xGnXKo9z0jG2Sjl/msll12FeoLj77nyhsxevXyGpQDBvLg==} @@ -4824,6 +6405,13 @@ packages: vue: optional: true + '@vitejs/plugin-vue-jsx@5.1.6': + resolution: {integrity: sha512-YXvi4as2clxt6DFw5+a0tTA97ntiQXm/raR8ofNj3aNwwdlVGTiG2gp7EvfZW17P50acL/9bP0ccF4XnqNmlgA==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + vue: ^3.0.0 + '@vitejs/plugin-vue@6.0.8': resolution: {integrity: sha512-0ZjgOg7oO6farnNGup7yvoM/YXZV84OZxHAwtflItNa/6zzQyVb5LNxyea3FEKEX2XlagIKzrlH7wwxkKgtiew==} engines: {node: ^20.19.0 || >=22.12.0} @@ -4834,6 +6422,9 @@ packages: '@vitest/expect@3.2.7': resolution: {integrity: sha512-E8eBXaKibuvH2pSZErOjdVb5vF4PbKYcrnluBTYxEk1l/VhhwZg1kZQsdtjq+CsF5CFydf2Rdkz7jDHKSisi3w==} + '@vitest/expect@4.1.10': + resolution: {integrity: sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==} + '@vitest/mocker@3.2.7': resolution: {integrity: sha512-Trr0hYO9CM3Wj6ksWHRhK9IZpIY6wTMO5u/MqXurMxT57sWBaOPEtP3Oq60ihZuh5JsiagKfz95OcxdEP6dBrA==} peerDependencies: @@ -4845,21 +6436,47 @@ packages: vite: optional: true + '@vitest/mocker@4.1.10': + resolution: {integrity: sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + '@vitest/pretty-format@3.2.7': resolution: {integrity: sha512-KUHlwqVu0sRlhCdyPdQ/wBoTfRahjUky1MubOmYw9fWfIZy1gNoHpuaaQBPAaMaVYdQYHJLurzj8ECCj5OwTqA==} + '@vitest/pretty-format@4.1.10': + resolution: {integrity: sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==} + '@vitest/runner@3.2.7': resolution: {integrity: sha512-sB9y4ovltoQP+WaUPwmSxO9WIg9Ig694Di5PalVPsYHklAdE027mehpWF2SQSVq+k6sFgaivbTjTJwZLSHbedA==} + '@vitest/runner@4.1.10': + resolution: {integrity: sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==} + '@vitest/snapshot@3.2.7': resolution: {integrity: sha512-7C+MwShwtBSI5Buwoyg3s/iY1eHL9PKAf+O1wVh/TdnjXUtkoL/9YQtre90i4MtNXM6edP1wJ2zOBpfCyhIS7g==} + '@vitest/snapshot@4.1.10': + resolution: {integrity: sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==} + '@vitest/spy@3.2.7': resolution: {integrity: sha512-Q2eQGI6d2L/hBtZ0qNuKcAGid68XK6cv1xsoaIma6PaJhHPoqcEJhYpXZ/5myCMqkNgtP6UKuBhbc0nHKnrkuQ==} + '@vitest/spy@4.1.10': + resolution: {integrity: sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==} + '@vitest/utils@3.2.7': resolution: {integrity: sha512-x6BDOd7dyo3PFLY3I9/HJ25X/6OurhGXk2/B9gOZNPF7XDVjeBK4k01lQE5uvDpbuheErh91qYuE1E2OEjK3Rw==} + '@vitest/utils@4.1.10': + resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==} + '@volar/language-core@2.4.28': resolution: {integrity: sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==} @@ -4878,6 +6495,22 @@ packages: vue: optional: true + '@vue/babel-helper-vue-transform-on@2.0.1': + resolution: {integrity: sha512-uZ66EaFbnnZSYqYEyplWvn46GhZ1KuYSThdT68p+am7MgBNbQ3hphTL9L+xSIsWkdktwhPYLwPgVWqo96jDdRA==} + + '@vue/babel-plugin-jsx@2.0.1': + resolution: {integrity: sha512-a8CaLQjD/s4PVdhrLD/zT574ZNPnZBOY+IhdtKWRB4HRZ0I2tXBi5ne7d9eCfaYwp5gU5+4KIyFTV1W1YL9xZA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + + '@vue/babel-plugin-resolve-type@2.0.1': + resolution: {integrity: sha512-ybwgIuRGRRBhOU37GImDoWQoz+TlSqap65qVI6iwg/J7FfLTLmMf97TS7xQH9I7Qtr/gp161kYVdhr1ZMraSYQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@vue/compiler-core@3.5.41': resolution: {integrity: sha512-q0Xtv/F9w2YO/7htQhtiL+Ev2WCJbe5N2hc+XfgyKkEKqWpSxknmT8QOuGdEKNdjPq0c3F7rNpFkTo3Kfrm7pg==} @@ -4890,9 +6523,17 @@ packages: '@vue/compiler-ssr@3.5.41': resolution: {integrity: sha512-U3v5OejKEGqOI0Wy0+Sz7hGuIFZHA4LSXzrNM3IMIeDyJEBBfTpX26n3SDgToRpP2bLc9FfI2j/kSgcJ8Emq5A==} + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + '@vue/devtools-api@8.2.1': resolution: {integrity: sha512-6u4vXBlIBAC1wMplIZgpyPn7uh/s4Bf6F5bMzvLv+EdJ0aHs/+4B7Ygv864EStQSjRbsRzTko/kUG1A1IejQ3A==} + '@vue/devtools-core@8.2.1': + resolution: {integrity: sha512-s/VfAY9oDTb/kFEWmy461jaFde2MIV1RO/gi1vwM+PAZBZ/Pc2Ndu3BNBdZUze8QDUuyYvElbEEGA83syjJfzA==} + peerDependencies: + vue: ^3.0.0 + '@vue/devtools-kit@8.2.1': resolution: {integrity: sha512-FIGIuq3AWReEpbAHY/cRGeHDfI0qOb8OCQ3YjbEAX04uaxIDbGc9rhkbVcG7rnfHPXE3RsU5KrWOu9V/okd8AQ==} @@ -4917,6 +6558,16 @@ packages: '@vue/shared@3.5.41': resolution: {integrity: sha512-IOnwSCma8j+9xJT6b8H0dEYidC80NsYmNMlZxRsukYcSoGaDBohog5hDxzeUXdFeGWFA++vWvxqOmrr96VlqMA==} + '@vue/test-utils@2.4.11': + resolution: {integrity: sha512-GDqaqZsA6m2E5vNzej0aYiIb6BX8xV9pNSbbbXKOfEYwg7ZNblVX8suyqmUBThq8VIrgAJNxn+z72hVtUeiWHA==} + peerDependencies: + '@vue/compiler-dom': 3.x + '@vue/server-renderer': 3.x + vue: 3.x + peerDependenciesMeta: + '@vue/server-renderer': + optional: true + '@vueuse/core@14.4.0': resolution: {integrity: sha512-X4WHz1HlCzCBoYXesUkifzzWBAcZgXG8Fi5iNPQg/epdzOB3gu8Fawj3hvuwYR1nGcXGnvxwYYcUC/71++svtQ==} peerDependencies: @@ -5024,6 +6675,11 @@ packages: '@nestjs/core': '>=10.0.0' '@swc/cli': '>=0.4.0' '@swc/core': '>=1.5.0' + peerDependenciesMeta: + '@nestjs/common': {} + '@nestjs/core': {} + '@swc/cli': {} + '@swc/core': {} '@workflow/next@5.0.0-beta.35': resolution: {integrity: sha512-Esz+XLg8661wFlVjmkDZIZfg9QxqFtStOu+Uc+w31GOvy5Np3FcA+HHdRGRjZaH2JjJeqsDBR33t07dN3/pqiw==} @@ -5276,6 +6932,10 @@ packages: '@yuku-toolchain/types@0.8.4': resolution: {integrity: sha512-p7JE8flrj7ijZ/qLjHi4UwKqMarMD6zumbKXhrjp2I2iLJOuTYiQyci2U36VlXcUlNyzsY7E/mLnKCHotbzJVw==} + abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + abbrev@3.0.1: resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==} engines: {node: ^18.17.0 || >=20.5.0} @@ -5418,6 +7078,14 @@ packages: anynum@1.0.1: resolution: {integrity: sha512-N6//FLET/tXYNM/F6ABca1oH6fWB+KlTt909Le28WMDBk8oaT4vY17DCrwg2MvmuqUKt3Ni4N5dGJ/EoBgcO6A==} + archiver-utils@5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} + + archiver@7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -5482,6 +7150,13 @@ packages: atomically@2.1.1: resolution: {integrity: sha512-P4w9o2dqARji6P7MHprklbfiArZAWvo07yW7qs3pdljb3BWr12FIB7W+p0zJiuiVsUpRO0iZn1kFFcpPegg0tQ==} + autoprefixer@10.5.4: + resolution: {integrity: sha512-MaU0U/za7N3r6brxD4YB/l4NSrFzLPlANv6wEuQVaIPlD3L4W9rFcQPbL/EilY9BHhHvhfcz3gInDLrEtWT4EA==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -5531,6 +7206,68 @@ packages: resolution: {integrity: sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==} engines: {node: '>=10.0.0'} + better-auth@1.5.0-beta.13: + resolution: {integrity: sha512-J/48ye6NRNQH5Wj1FXrQdBR6/4l1ohOCVhHIqTB3u48jNCwmXwarhDcctTXM3/FGSffYmY8Hjc+kvbxd5IM5Ug==} + peerDependencies: + '@lynx-js/react': '*' + '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 + '@sveltejs/kit': ^2.0.0 + '@tanstack/react-start': ^1.0.0 + '@tanstack/solid-start': ^1.0.0 + better-sqlite3: ^12.0.0 + drizzle-kit: '>=0.31.4' + drizzle-orm: '>=0.41.0' + mongodb: ^6.0.0 || ^7.0.0 + mysql2: ^3.0.0 + next: ^14.0.0 || ^15.0.0 || ^16.0.0 + pg: ^8.0.0 + prisma: ^5.0.0 || ^6.0.0 || ^7.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + solid-js: ^1.0.0 + svelte: ^4.0.0 || ^5.0.0 + vitest: ^2.0.0 || ^3.0.0 || ^4.0.0 + vue: ^3.0.0 + peerDependenciesMeta: + '@lynx-js/react': + optional: true + '@prisma/client': + optional: true + '@sveltejs/kit': + optional: true + '@tanstack/react-start': + optional: true + '@tanstack/solid-start': + optional: true + better-sqlite3: + optional: true + drizzle-kit: + optional: true + drizzle-orm: + optional: true + mongodb: + optional: true + mysql2: + optional: true + next: + optional: true + pg: + optional: true + prisma: + optional: true + react: + optional: true + react-dom: + optional: true + solid-js: + optional: true + svelte: + optional: true + vitest: + optional: true + vue: + optional: true + better-auth@1.6.26: resolution: {integrity: sha512-nhXWrDDj+EnZsHq1j0z1c6DowOMFZWZHe6LCaXbBfLIgHHZm6dyazBQcbRspM4spUIcUt250Mc1BFOSuP7eniQ==} peerDependencies: @@ -5593,6 +7330,14 @@ packages: vue: optional: true + better-call@1.2.1: + resolution: {integrity: sha512-Ccgd5hj2Fmtu9Vjb9APXNYxutJWPRDhJanWAzFLwSzYAiOvkXN61OmYdvSirfrL2Z7REuK7TRklP8SIbZRlGwA==} + peerDependencies: + zod: ^4.0.0 + peerDependenciesMeta: + zod: + optional: true + better-call@1.3.7: resolution: {integrity: sha512-Al51/hjp2SSp6CRTa3F2ptcx4yQVS1xWKoY6jcVXqNYOap6mHFP2jUBn5EwIL4iIed1/Sq4hlQ+Umm6EflZG+w==} peerDependencies: @@ -5621,6 +7366,9 @@ packages: birpc@2.9.0: resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} + birpc@4.1.0: + resolution: {integrity: sha512-O8L9vALWGqdEe0cG4HJckauw3WeJETlJnDRPUYpgwB7wrU43b/5NGMdVjdVcRo+4ROgd3ih2wha1glDe4HRVgw==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -5650,6 +7398,9 @@ packages: resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} engines: {node: '>=18'} + brace-expansion@1.1.18: + resolution: {integrity: sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==} + brace-expansion@2.1.4: resolution: {integrity: sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==} @@ -5657,6 +7408,10 @@ packages: resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} engines: {node: 20 || >=22} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + browserslist@4.28.8: resolution: {integrity: sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -5666,6 +7421,10 @@ packages: resolution: {integrity: sha512-h/C0qe6857pQhcSJHLfsR1uYGj98Ge3wKAD3Ed9KqH3wcVh+BM4Jq4xISD7vs9OPuT07n+q3QQVjslJ286j6ag==} engines: {node: '>=20.19.0'} + buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} @@ -5745,6 +7504,9 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} + caniuse-api@4.0.0: + resolution: {integrity: sha512-B0hQ1OLyJuHTQSOWXvwibWqM6DCoqJdvBA6X1S/53bd4XU7LJ1yurIPlrsouol3mw1jh9pGI4ivubSpmJeIqCA==} + caniuse-lite@1.0.30001809: resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==} @@ -5762,6 +7524,10 @@ packages: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} engines: {node: '>=18'} + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -5809,6 +7575,9 @@ packages: resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} engines: {node: '>=20.18.1'} + chevrotain@10.5.0: + resolution: {integrity: sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -5912,6 +7681,9 @@ packages: resolution: {integrity: sha512-uHNVXSceG5/sJ5abbk9i6ZuzYVIRI2MwgdcX13rFHD7oxiGq8bJOkOiJI7Pbjrl0zIm13hfEGefGoiQaLTi3XQ==} engines: {node: '>=14.18.0'} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + comark@0.5.1: resolution: {integrity: sha512-RRRmUaEc6tokYJhgIGHrl8+pUt3kY1BxMnbRrxMxkCk2RcPcrilq9OmmPWIO7zuUIF7qLLRCCQz+wPuMg7Vz9w==} peerDependencies: @@ -5937,6 +7709,14 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + commander@14.0.3: resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} @@ -5956,12 +7736,28 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + compatx@0.2.0: + resolution: {integrity: sha512-6gLRNt4ygsi5NyMVhceOCFv14CIdDFN7fQjX1U4+47qVE/+kjPoXMK65KWK+dWxmFzMTuKazoQ9sch6pM0p5oA==} + + compress-commons@6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} confbox@0.2.4: resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==} + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + consola@3.4.2: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} @@ -5999,9 +7795,18 @@ packages: resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} engines: {node: '>=12'} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cookie-es@1.2.3: resolution: {integrity: sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==} + cookie-es@2.0.1: + resolution: {integrity: sha512-aVf4A4hI2w70LnF7GG+7xDQUkliwiXWXFvTjkip4+b64ygDQ2sJPRSKFDHbxn8o0xu9QzPkMuuiWIXyFSE2slA==} + + cookie-es@3.1.1: + resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==} + cookie-signature@1.2.2: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} @@ -6014,6 +7819,9 @@ packages: resolution: {integrity: sha512-yuToqVvRrj6pfDXREyQAAv8SkAEk/8GS3jQRTiUMm66TVtBYmqQeoEjL2Lmq8Rpo6271vH76InTChTitEAm65w==} engines: {node: '>=22'} + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + cors@2.8.6: resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} engines: {node: '>= 0.10'} @@ -6040,10 +7848,18 @@ packages: engines: {node: '>=0.8'} hasBin: true + crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} + cron-schedule@6.0.0: resolution: {integrity: sha512-BoZaseYGXOo5j5HUwTaegIog3JJbuH4BbrY9A1ArLjXpy+RWb3mV28F/9Gv1dDA7E2L8kngWva4NWisnLTyfgQ==} engines: {node: '>=20'} + croner@10.0.1: + resolution: {integrity: sha512-ixNtAJndqh173VQ4KodSdJEI6nuioBWI0V1ITNKhZZsO0pEMoDxz539T4FTTbSZ/xIOSuDnzxLVRqBVSvPNE2g==} + engines: {node: '>=18.0'} + croner@9.1.0: resolution: {integrity: sha512-p9nwwR4qyT5W996vBZhdvBCnMhicY5ytZkR4D1Xj0wuTDEiMnjwR57Q3RXYY/s0EpX6Ay3vgIcfaR+ewGHsi+g==} engines: {node: '>=18.0'} @@ -6070,6 +7886,14 @@ packages: resolution: {integrity: sha512-snmjEVXy+1LnwXdxhYvTMj1d9tOh4HxkA1YmoayVBeeyR2C14Pum7fcxJIm4SswYspVy866eYNwlH6xC3/VH5g==} engines: {node: '>=20.19.0'} + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@3.2.1: + resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-what@6.2.2: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} @@ -6083,12 +7907,34 @@ packages: engines: {node: '>=4'} hasBin: true - csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + cssnano-preset-default@8.0.5: + resolution: {integrity: sha512-R9O+oRNnKcVBf7GZZ7nfBcOiBZZwi3kR1HtKirBHel/gTtHLMHOCsL2H3QGy1161CPystJV4EiKniC7XyUKfcw==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 - culori@4.0.2: - resolution: {integrity: sha512-1+BhOB8ahCn4O0cep0Sh2l9KCOfOdY+BXJnKMHFFzDEouSr/el18QwXEMRlOj9UY5nCeA8UN3a/82rUWRBeyBw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cssnano-utils@6.0.3: + resolution: {integrity: sha512-HskzChO3gRkXBQSWg68DfwoVfptRUV2GvuiQBvt+C7mUw4VB0CvPjkC4iF4JSf7yW1/66Hsc6WJtqNqD5Ydt2Q==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + cssnano@8.0.5: + resolution: {integrity: sha512-Yigb8Apuqi/jWwii1XFmZwgAPZ2RHDUx/ANodBZsEQusYIFryChhwOQNKco0A7V6zgFqDDy3LqefGK6OnniGMA==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + culori@4.0.2: + resolution: {integrity: sha512-1+BhOB8ahCn4O0cep0Sh2l9KCOfOdY+BXJnKMHFFzDEouSr/el18QwXEMRlOj9UY5nCeA8UN3a/82rUWRBeyBw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} d3-array@3.2.1: resolution: {integrity: sha512-gUY/qeHq/yNqqoCKNq4vtpFLdoCdvyNpWoC/KNjhGbhDuQpAM9sIQQKkXSNpXa9h5KySs/gzm7R88WkUutgwWQ==} @@ -6214,6 +8060,10 @@ packages: resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} engines: {node: '>=16.0.0'} + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + default-browser-id@5.0.1: resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} engines: {node: '>=18'} @@ -6287,6 +8137,9 @@ packages: devalue@5.8.1: resolution: {integrity: sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==} + devalue@5.9.0: + resolution: {integrity: sha512-RWrqdArjvPbsATEhOPUo6Wndc/iWnkWKlhIrdlF3zMMYo/c3CVtoaVAyLtWxz5h8nSlkHzxnzV2uLydPXmtF+A==} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -6326,6 +8179,14 @@ packages: resolution: {integrity: sha512-qI4JLRKnSzqFqr7hAlS5xQDusBCjKSEG4t4+7aNrIQMHBcsC2TGEhuyABJdYkgSewL57PNLYEiibY2iPKhKpaA==} engines: {node: '>=20.19.0'} + dot-object@2.1.5: + resolution: {integrity: sha512-xHF8EP4XH/Ba9fvAF2LDd5O3IITVolerVV6xvkxoM8zlGEiCUrggpAnHyOoKJKCrhvPcGATFAUwIujj7bRG5UA==} + hasBin: true + + dot-prop@10.2.0: + resolution: {integrity: sha512-BTJ9aZYL3vCfZlZOBLy9v8TUqWGQ0pzFnygKwFZt5udj6viBoFIBviKPUoZLDCPn1FoXffv6McQFDenrm5Krfw==} + engines: {node: '>=20'} + dot-prop@9.0.0: resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} engines: {node: '>=18'} @@ -6338,6 +8199,95 @@ packages: resolution: {integrity: sha512-7OZcmQUrdGI+DUNNsKBn1aW8qSoKuTH7d0mYgSP8bAzdFzKoovxEFnoGQp2dVs82EOJeYycqRtciopszwUf8bw==} hasBin: true + drizzle-orm@0.41.0: + resolution: {integrity: sha512-7A4ZxhHk9gdlXmTdPj/lREtP+3u8KvZ4yEN6MYVxBzZGex5Wtdc+CWSbu7btgF6TB0N+MNPrvW7RKBbxJchs/Q==} + 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' + prisma: '*' + sql.js: '>=1' + sqlite3: '>=5' + peerDependenciesMeta: + '@aws-sdk/client-rds-data': + optional: true + '@cloudflare/workers-types': + optional: true + '@electric-sql/pglite': + optional: true + '@libsql/client': + optional: true + '@libsql/client-wasm': + optional: true + '@neondatabase/serverless': + optional: true + '@op-engineering/op-sqlite': + optional: true + '@opentelemetry/api': + optional: true + '@planetscale/database': + optional: true + '@prisma/client': + optional: true + '@tidbcloud/serverless': + optional: true + '@types/better-sqlite3': + optional: true + '@types/pg': + optional: true + '@types/sql.js': + optional: true + '@vercel/postgres': + optional: true + '@xata.io/client': + optional: true + better-sqlite3: + optional: true + bun-types: + optional: true + expo-sqlite: + optional: true + gel: + optional: true + knex: + optional: true + kysely: + optional: true + mysql2: + optional: true + pg: + optional: true + postgres: + optional: true + prisma: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + drizzle-orm@0.45.2: resolution: {integrity: sha512-kY0BSaTNYWnoDMVoyY8uxmyHjpJW1geOmBMdSSicKo9CIIWkSxMIj2rkeSR51b8KAPB7m+qysjuHme5nKP+E5Q==} peerDependencies: @@ -6447,6 +8397,9 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + duplexify@4.1.3: resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} @@ -6459,6 +8412,11 @@ packages: ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + editorconfig@1.0.7: + resolution: {integrity: sha512-e0GOtq/aTQhVdNyDU9e02+wz9oDDM+SIOQxWME2QRjzRX5yyLAuHDE+0aE8vHb9XRC8XD37eO2u57+F09JqFhw==} + engines: {node: '>=14'} + hasBin: true + ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} @@ -6573,6 +8531,12 @@ packages: error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + error-stack-parser-es@1.0.5: + resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} + + error-stack-parser-es@2.0.1: + resolution: {integrity: sha512-J36ntO+rMQVRuR/umlmxmfLi4TpWwtmTnHoJoXTiC2xDNazs0VDPKcX6pbhZMDd2HFtH9isMBJXMdbki+A++Pg==} + errx@0.1.2: resolution: {integrity: sha512-chfpPHmCerdo/rXr/nNvPZRkV4WwDRwzwnsJ0Uzz3tVi8Z41tDctRjduYy1138ii77AFlts1qvWtX3g/Acg91Q==} @@ -6678,6 +8642,10 @@ packages: resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -6786,6 +8754,10 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + fake-indexeddb@6.2.5: + resolution: {integrity: sha512-CGnyrvbhPlWYMngksqrSSUT1BAVP49dZocrHuK0SvtR0D5TMs5wP0o3j7jexDJW01KSadjBp1M/71o/KR3nD1w==} + engines: {node: '>=18'} + fast-check@3.23.2: resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==} engines: {node: '>=8.0.0'} @@ -6803,12 +8775,20 @@ packages: fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-npm-meta@2.2.0: + resolution: {integrity: sha512-99jPl8JkCSCa4VlboNU1XuL98ijm74Pm9CGo6H4BoMVoVh1uhguQcvwLgXDT8Vkl2qj/UEQ0J9gD8beHjTFk1w==} + hasBin: true + fast-querystring@1.1.2: resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} @@ -6837,6 +8817,9 @@ packages: resolution: {integrity: sha512-IEMIf7298kXuZSRFoGfMYrl7is8LpavODgbNz1cwIudv7KwVFnuU+UsMporfq6PD6aXSlawZlARiA3UywCTfMw==} hasBin: true + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + fd-package-json@2.0.0: resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==} @@ -7026,6 +9009,10 @@ packages: zod: optional: true + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + filter-obj@5.1.0: resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} engines: {node: '>=14.16'} @@ -7063,6 +9050,9 @@ packages: flatted@3.4.4: resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} + fnv1a-64@0.1.2: + resolution: {integrity: sha512-mJbcILTPybAR1jdOwt/lVv8N2cffeJFFP+gVbSAwLEx1ujXH27RpPd8Rokec/KX9c76UYIB6Co+H4lQzxPnJfA==} + for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} @@ -7096,6 +9086,9 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + fresh@2.0.0: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} @@ -7107,6 +9100,9 @@ packages: resolution: {integrity: sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==} engines: {node: '>=14.14'} + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -7124,6 +9120,13 @@ packages: resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==} engines: {node: '>=18'} + fuse.js@7.5.0: + resolution: {integrity: sha512-sQtrEfA+ez/3G0cCZecF70oqpCRttCexYUG4mUrtWL49ULUzUyxokt5kyqwtKzj1270RaKih+hcP3qLcumccow==} + engines: {node: '>=10'} + + fzf@0.5.2: + resolution: {integrity: sha512-Tt4kuxLXFKHy8KT40zwsUPUkg1CrsgY25FxA2U/j/0WgEDCk3ddc/zLTCCcbSHX9FcKtLuVaDGtGE/STWC+j3Q==} + gaxios@6.7.1: resolution: {integrity: sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==} engines: {node: '>=14'} @@ -7147,6 +9150,13 @@ packages: generate-function@2.3.1: resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} + generic-names@4.0.0: + resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -7200,6 +9210,10 @@ packages: github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} @@ -7213,10 +9227,23 @@ packages: resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} engines: {node: 18 || 20 || >=22} + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} engines: {node: '>=10.0'} + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + global-directory@5.0.0: resolution: {integrity: sha512-1pgFdhK3J2LeM+dVf2Pd424yHx2ou338lC0ErNP2hPx4j8eW1Sp0XqSjNxtk6Tc4Kr5wlWtSvz8cn2yb7/SG/w==} engines: {node: '>=20'} @@ -7225,6 +9252,10 @@ packages: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} + globby@16.2.3: + resolution: {integrity: sha512-VZX7TV7jmd/pn71vdnLKtgwy1IWqc3KjI9x1/UtPkwoKk5fKrNLY30ltDe3cAM5xruIN7YuuaulFt133jRrKZg==} + engines: {node: '>=20'} + google-auth-library@10.5.0: resolution: {integrity: sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w==} engines: {node: '>=18'} @@ -7281,6 +9312,14 @@ packages: guid-typescript@1.0.9: resolution: {integrity: sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ==} + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + gzip-size@7.0.0: + resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + h3@1.15.11: resolution: {integrity: sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==} @@ -7391,6 +9430,10 @@ packages: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} + http-shutdown@1.2.2: + resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + http2-wrapper@2.2.1: resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} @@ -7446,6 +9489,9 @@ packages: resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==} engines: {node: '>= 4'} + image-meta@0.2.2: + resolution: {integrity: sha512-3MOLanc3sb3LNGWQl1RlQlNWURE5g32aUphrDyFeCsxBTk08iE3VNe4CwsUZ0Qs1X+EfX0+r29Sxdpza4B+yRA==} + image-size@2.0.2: resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} engines: {node: '>=16.x'} @@ -7459,10 +9505,16 @@ packages: resolution: {integrity: sha512-AiohS3H80sXO6owEltjGX+glb7qXaDhBoJb9XcQVH4UI207xu/bDLUcadVKp7Qe576reg9yr/PXZjV5qx8gfbA==} engines: {node: '>=18'} + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + import-without-cache@0.4.0: resolution: {integrity: sha512-NkJQA7oZ4YHQhd2+H3BoRFKF3d/XNsiKpHZCQEMH9pDX27hQQLsTyOocyRgaIVtf8gHX3Nt3LPkR4e5EdtPAGQ==} engines: {node: ^22.18.0 || >=24.0.0} + impound@1.1.6: + resolution: {integrity: sha512-ugavDQkE74SGrBjagNIwNVHNBxX14mmfQnTm4jFGzOoWwYsgihqV698BNr5xwRY9quKK4rEg8bc6ECltllMr+w==} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -7471,12 +9523,20 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ini@6.0.0: resolution: {integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==} engines: {node: ^20.17.0 || >=22.9.0} @@ -7518,6 +9578,10 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} + engines: {node: '>= 0.4'} + is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -7548,18 +9612,37 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-in-ssh@1.0.0: + resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} + engines: {node: '>=20'} + is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} hasBin: true + is-installed-globally@1.0.0: + resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} + engines: {node: '>=18'} + is-interactive@2.0.0: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + is-node-process@1.2.0: resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} + is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -7574,6 +9657,9 @@ packages: is-property@1.0.2: resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} + is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -7605,6 +9691,10 @@ packages: resolution: {integrity: sha512-LXdhGlYqUPdvEyIhWPEEwYYK3yrUiPcBjmFGlZNv1u5GtIL5qQRf7ddDyPNAvsMFqdzS923FROpTQU97tLe3JQ==} engines: {node: '>=12'} + is-valid-glob@1.0.0: + resolution: {integrity: sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==} + engines: {node: '>=0.10.0'} + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -7613,6 +9703,9 @@ packages: resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} engines: {node: '>=16'} + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -7644,6 +9737,10 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} + jiti@2.3.3: + resolution: {integrity: sha512-EX4oNDwcXSivPrw2qKH2LB5PoFxEvgtv2JgwW0bU858HoLQ+kutSvjLMUqBd0PeJYEinLWhoI9Ol0eYMqj/wNQ==} + hasBin: true + jiti@2.6.1: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true @@ -7664,6 +9761,14 @@ packages: js-base64@3.9.2: resolution: {integrity: sha512-6zayE8QlUdiweYI6cETD/XBSqFcoCUlufn/29PJR99r82x1yDnIprRca0YvAYpAW+ez0GuQkVBC6xG5QkD7OjA==} + js-beautify@1.15.4: + resolution: {integrity: sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==} + engines: {node: '>=14'} + hasBin: true + + js-cookie@3.0.8: + resolution: {integrity: sha512-yeJd4aNAdYZQjaon2bpD/Gb0B/omw7HQOsynXXcOiWVCacbBcPlgn8S/d1X6blFSaHao7ozqtW7NZW19xpCtIw==} + js-image-generator@1.0.4: resolution: {integrity: sha512-ckb7kyVojGAnArouVR+5lBIuwU1fcrn7E/YYSd0FK7oIngAkMmRvHASLro9Zt5SQdWToaI66NybG+OGxPw/HlQ==} @@ -7729,6 +9834,10 @@ packages: engines: {node: '>=6'} hasBin: true + jsonc-eslint-parser@2.4.2: + resolution: {integrity: sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} @@ -7768,6 +9877,14 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} @@ -7783,10 +9900,21 @@ packages: kubernetes-types@1.30.0: resolution: {integrity: sha512-Dew1okvhM/SQcIa2rcgujNndZwU8VnSapDgdxlYoB84ZlpAD43U6KLAFqYo17ykSFGHNPrg0qry0bP+GJd9v7Q==} + kysely@0.28.17: + resolution: {integrity: sha512-nbD8lB9EB3wNdMhOCdx5Li8DxnLbvKByylRLcJ1h+4SkrowVeECAyZlyiKMThF7xFdRz0jSQ2MoJr+wXux2y0Q==} + engines: {node: '>=20.0.0'} + kysely@0.29.5: resolution: {integrity: sha512-ooa+eSbBNPTo3MycPEuW5jdrxQdQwdtB3LC3h43FiXQbIry5tR0C5lDG7eealK0E4D7XjrnOP5DIUg/LyjRMYQ==} engines: {node: '>=22.0.0'} + launch-editor@2.14.1: + resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} + + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -7944,6 +10072,10 @@ packages: resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} engines: {node: '>= 12.0.0'} + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -7954,10 +10086,23 @@ packages: linkify-it@5.0.2: resolution: {integrity: sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==} + listhen@1.10.1: + resolution: {integrity: sha512-6nt/86SkqUQSLW1ofz8MxC6RhRMqOl3ONISe6qqvJ3xj09aJWQx6DhgSZpugs3PX4PXdOas/WD6A9jx6J2N19A==} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.5.6 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + load-esm@1.0.3: resolution: {integrity: sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==} engines: {node: '>=13.2.0'} + loader-utils@3.3.1: + resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} + engines: {node: '>= 12.13.0'} + local-pkg@1.2.1: resolution: {integrity: sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q==} engines: {node: '>=14'} @@ -8029,6 +10174,9 @@ packages: resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} engines: {node: 20 || >=22} + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@7.18.3: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} @@ -8037,6 +10185,9 @@ packages: resolution: {integrity: sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA==} engines: {bun: '>=1.0.0', deno: '>=1.30.0', node: '>=8.0.0'} + magic-regexp@0.10.0: + resolution: {integrity: sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg==} + magic-regexp@0.11.0: resolution: {integrity: sha512-LG77Z/gVnwz7oaDpD4heX6ryl+lcr4l1B2gnP4MMvt2pGhGC1Dfj7dl1pXpP4ih+VQFLuAadeKVa+lARAzfW+Q==} @@ -8129,6 +10280,12 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.27.1: + resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} + mdream@1.6.1: resolution: {integrity: sha512-h+S4DpsoApCK0rO5B1Q6za/z+YHG4tsqsz3tX8dJ1xAx554JgM4JC5LWcfQR6r+8GuqJUxty2mXO2j/nezH7uQ==} hasBin: true @@ -8150,6 +10307,10 @@ packages: merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} @@ -8234,6 +10395,10 @@ packages: micromark@4.0.2: resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -8260,6 +10425,11 @@ packages: engines: {node: '>=10.0.0'} hasBin: true + mime@4.1.0: + resolution: {integrity: sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==} + engines: {node: '>=16'} + hasBin: true + mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -8284,6 +10454,9 @@ packages: resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} engines: {node: 18 || 20 || >=22} + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + minimatch@5.1.9: resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} engines: {node: '>=10'} @@ -8367,6 +10540,9 @@ packages: mlly@1.8.2: resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} + mocked-exports@0.1.1: + resolution: {integrity: sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==} + modern-tar@0.7.7: resolution: {integrity: sha512-t9VmxaqrmANnEOBhpSDI6HD192Ge48k8vmWqQQL7hSFEqHEYwZbbsu49+aKLWZeRvFs3j1pMhXOqqF4kPlvjkQ==} engines: {node: '>=18.0.0'} @@ -8474,6 +10650,9 @@ packages: resolution: {integrity: sha512-Wxv8Roefr2nqtiRG0bnaFlpYqpIVtOEeJZHaH+4nGgOK1/7n6OHOuHCb/bhqrNQgZM8fyd0s1PqhdrJc9Ib44g==} engines: {node: ^20.0.0 || >=22.0.0} + nanotar@0.3.0: + resolution: {integrity: sha512-Kv2JYYiCzt16Kt5QwAc9BFG89xfPNBx+oQL4GQXD9nLqPkZBiNaqaCWtwnbk/q7UVsTYevvM1b0UF8zmEI4pCg==} + napi-build-utils@2.0.0: resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} @@ -8487,6 +10666,10 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + neotraverse@0.6.18: + resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} + engines: {node: '>= 10'} + netmask@2.1.1: resolution: {integrity: sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==} engines: {node: '>= 0.4.0'} @@ -8525,6 +10708,16 @@ packages: zephyr-agent: optional: true + nitropack@2.13.4: + resolution: {integrity: sha512-tX7bT6zxNeMwkc6hxHiZeUoTOjVrcjoh1Z3cmxOlodIqjl4HISgqfGOmkWSayky3Nv9Z5+KQH52F8nmXJY5AAA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + xml2js: ^0.6.2 + peerDependenciesMeta: + xml2js: + optional: true + node-abi@3.94.0: resolution: {integrity: sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g==} engines: {node: '>=10'} @@ -8558,6 +10751,10 @@ packages: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-forge@1.4.0: + resolution: {integrity: sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==} + engines: {node: '>= 6.13.0'} + node-gyp-build-optional-packages@5.1.1: resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} hasBin: true @@ -8586,6 +10783,11 @@ packages: resolution: {integrity: sha512-wvjiKvjczmsN7U/8006JOdXubgBk2XFAbioDMbT+sM7cPs0QrhJTa6KBRX7P5REGGkDcLUz/EarWidb8G8C1jQ==} engines: {node: '>=6.0.0'} + nopt@7.2.1: + resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + nopt@8.1.0: resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} engines: {node: ^18.17.0 || >=20.5.0} @@ -8621,6 +10823,23 @@ packages: resolution: {integrity: sha512-GX0gsdbGVCgnRgbeGaubfjpBXyYRWOOCVeYh08bSQvDZqxz5ndXs1OTfAt/h36G1xvI94YIspsI0sVFqAV9+RQ==} engines: {node: '>=20.19.0'} + nuxt-define@1.0.0: + resolution: {integrity: sha512-CYZ2WjU+KCyCDVzjYUM4eEpMF0rkPmkpiFrybTqqQCRpUbPt2h3snswWIpFPXTi+osRCY6Og0W/XLAQgDL4FfQ==} + + nuxt@4.5.2: + resolution: {integrity: sha512-tR3fcqeHlHmmkLMpIg3V7Y+1ltr302lW8djMw/iy+myfo7QSSz+BVJDuQhg5j73b9oteSyBfOKTDYTgvMtj6TA==} + engines: {node: ^22.19.0 || ^24.11.0 || >=26.0.0} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + '@types/node': '>=18.12.0' + rolldown: ~1.2.1 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + '@types/node': + optional: true + nypm@0.6.9: resolution: {integrity: sha512-zxlE2yvSWZWmHcNdT3+5zV2lrCogeE9YOklHrR3dFjqutq5wO7GFDYLFDRXLsYnJzwvy/im9fYoxePvS0VTW0w==} engines: {node: '>=18'} @@ -8634,6 +10853,9 @@ packages: resolution: {integrity: sha512-A2inWgy5Hy3+9prMyiKBUBYcTpbuZbKOMt+YKMD3ZAsli7TwKh6TPSZdK+kNF5hmJFhaVbjHwP/xsfjO2Z/GmQ==} engines: {node: '>=14.18.0'} + object-identity@0.2.3: + resolution: {integrity: sha512-2J8Joz2Tf7aaylhqFvIUJHNgpuGR38Hh75Voq9GzTbStBxJUaOtN0K1aOd3cV5qp+ij1pMqRbPrGCGMOyX303w==} + object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} @@ -8658,6 +10880,10 @@ packages: ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + on-change@6.0.2: + resolution: {integrity: sha512-08+12qcOVEA0fS9g/VxKS27HaT94nRutUT77J2dr8zv/unzXopvhBuF8tNLWsoLQ5IgrQ6eptGeGqUYat82U1w==} + engines: {node: '>=20'} + on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -8700,6 +10926,10 @@ packages: resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} + open@11.0.0: + resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==} + engines: {node: '>=20'} + open@8.4.0: resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} engines: {node: '>=12'} @@ -8732,6 +10962,14 @@ packages: resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} engines: {node: '>= 6.0'} + oxc-parser@0.131.0: + resolution: {integrity: sha512-SJ3/7ZPbgie8dr5Z9BI/M51zZbpXba+hRSG0MDzVwMW5CRQg2fjYE0jHGlLX4eeiibGgC/mzoDFKSDHwVZEHRQ==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-parser@0.141.0: + resolution: {integrity: sha512-uFkGGr1KMWd6aWv9UAqooYrN78trw8MWWmoPvgWokfBEUq1+eiIQ+qfj3wokhy0fxtZWZk+0dHoS7/yRTJtd6w==} + engines: {node: ^20.19.0 || >=22.12.0} + oxc-parser@0.142.0: resolution: {integrity: sha512-kKR+jPiRJYJDexVoziIg/FVGvr1fT1FZSSJOk6tVoMKKSlsf1Cso+cgGCJkOEDWOP174vRntCPFKg+AS7InWvw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -8743,6 +10981,15 @@ packages: oxc-resolver@11.24.2: resolution: {integrity: sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw==} + oxc-transform@0.141.0: + resolution: {integrity: sha512-CrMPblXfPl57WIvGjynrUThcyEGcS3E3YUHkPYAwXYYla23gLlaIYifVFTMQsFr5uxA/2k/XMG5n6c/XsuAvaQ==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-walker@0.7.0: + resolution: {integrity: sha512-54B4KUhrzbzc4sKvKwVYm7E2PgeROpGba0/2nlNZMqfDyca+yOor5IMb4WLGBatGDT0nkzYdYuzylg7n3YfB7A==} + peerDependencies: + oxc-parser: '>=0.98.0' + oxc-walker@1.1.1: resolution: {integrity: sha512-Hwd7dq28zu/Er99+bpWp16CGwFrhyalJh0W3JOB7XpPvgWo3MqMi2ksWGKuzzA9zt50mJ2pIUwR5lpAdZ9ACNQ==} peerDependencies: @@ -8800,6 +11047,10 @@ packages: vite-plus: optional: true + p-all@5.0.1: + resolution: {integrity: sha512-LMT7WX9ZSaq3J1zjloApkIVmtz0ZdMFSIqbuiEa3txGYPLjUPOvgOPOx3nFjo+f37ZYL+1aY666I2SG7GVwLOA==} + engines: {node: '>=16'} + p-cancelable@4.0.1: resolution: {integrity: sha512-wBowNApzd45EIKdO1LaU+LrMBwAcjfPaYtVzV3lmfM3gf8Z4CHZsiIqlM8TZZ8okYvh5A1cP6gTfCRQtwUpaUg==} engines: {node: '>=14.16'} @@ -8828,6 +11079,10 @@ packages: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-map@6.0.0: + resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==} + engines: {node: '>=16'} + p-retry@4.6.2: resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} engines: {node: '>=8'} @@ -8912,6 +11167,10 @@ packages: resolution: {integrity: sha512-enSlaiat05iasnzmgNxRj8reFdj3puY2QpNgP1aPIaVfT6nn9ICuPoFlKHk8EN22HcwewshO+mN2DGbkCEOtqQ==} engines: {node: '>=14.0.0'} + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -8920,6 +11179,9 @@ packages: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -8928,6 +11190,9 @@ packages: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + path-to-regexp@8.4.2: resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} @@ -9032,18 +11297,156 @@ packages: peerDependencies: postcss: ^8.4.38 - postcss-merge-longhand@8.0.3: - resolution: {integrity: sha512-/Byag1rLsEffmnidL+8HGwr0AsQWiaY2gpChEKwKP4+YcBtzz44rKVxAJLdhQtRLFrpGiBoLzCdCfH/ZTkozuA==} + postcss-colormin@8.0.3: + resolution: {integrity: sha512-kypgzYcOcrKsrAZyId3TMumHtIiwZxgK1h5B33S4RjQNV02RHKrXCWP8ndyx5S0R5mk4pkcIfJ95o3BwIN8r2Q==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.26 - postcss-nesting@14.0.1: - resolution: {integrity: sha512-80MH7KcmMtb7ffSBX82uZwnogltubaXF0sagu+OGD8M9jViR3ngRgCdoTzKCvKEtllB0MW2U7Rgfcub5fR1Bug==} - engines: {node: '>=20.19.0'} + postcss-convert-values@8.0.3: + resolution: {integrity: sha512-14lU1u5MeX8oGQ4zMhiMYhFcav9ebgmjjxTYwk77pmZ5A9Rq8hr5X/XZaTfffvbIGMOoLK82YDsLxA+1hFGbbA==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-discard-comments@8.0.3: + resolution: {integrity: sha512-oDe4ITEfp1/113ebPi/ujyfWX2E9+vbHhY0dPnypgHwIgw8LBQ7MczmtAbccw8gUs+Zlmgt80qtTKS0t8eCi+Q==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-discard-duplicates@8.0.3: + resolution: {integrity: sha512-6f6ZVBozciZ0nG7nurrHk+K2yNeBgEoOjZvj5JwFThK982tSPyOjtClbkTYgqwDuSFjBvtu5C9Iz/2QEPvUg+Q==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-discard-empty@8.0.3: + resolution: {integrity: sha512-IpqNmuH9djHODVELb5c4tC6274pxjEWqrpGtTu7BR8TtOz3beqTv7JjE9xSuGOacphh9XZbbyEebvfMxYC5PTA==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-discard-overridden@8.0.3: + resolution: {integrity: sha512-G2Ksn7kkNsNlsYsgfVn0YFfcGewJTuc1KOENvoVtwu2bSEyR28+GaomozkV4DPUBbKF8Nvco/9rLyKkgf/TY6w==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-merge-longhand@8.0.3: + resolution: {integrity: sha512-/Byag1rLsEffmnidL+8HGwr0AsQWiaY2gpChEKwKP4+YcBtzz44rKVxAJLdhQtRLFrpGiBoLzCdCfH/ZTkozuA==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-merge-rules@8.0.3: + resolution: {integrity: sha512-gBnrjp2ebQyrBNDqxORirC6ZM6g4cHKglAwGf1JiuKmDPjUJbNM6WhxYMYkHf+hxysnZfq27+TtxGrYESv3GMQ==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-minify-font-values@8.0.3: + resolution: {integrity: sha512-kAXxTCIVub5LZvyKTr9AObrRxri0WtWpNVsG6R9NdBKHDHYu5WNAnZRntgOforsKeFeZRZvOOXnTqOANQeyzKg==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-minify-gradients@8.0.3: + resolution: {integrity: sha512-0O9UDPjIB4OikREx/aOwPY3pco23txEpXpdTlzfoSrVQllNh5j9GaCkThA5ylsKcDWz5sunV3tFW9+zlHFWUww==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-minify-params@8.0.3: + resolution: {integrity: sha512-DuSZEJbWxUX7wvIkz6K4qN8zs5unI/MSg7gcH4AXXA3524OcI4BOBUhR8B8OIBIi9FfcBbfgHYlATVhMeDBXNg==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-minify-selectors@8.0.4: + resolution: {integrity: sha512-+rqBW9gYNLq2RNBwfVx2QdElj2cTiqbNwah+bw1XvyhCnRe4uFLNW2kny0VspFyYR7OGuVyWZaz2K4DbX5J9sw==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-nesting@14.0.1: + resolution: {integrity: sha512-80MH7KcmMtb7ffSBX82uZwnogltubaXF0sagu+OGD8M9jViR3ngRgCdoTzKCvKEtllB0MW2U7Rgfcub5fR1Bug==} + engines: {node: '>=20.19.0'} peerDependencies: postcss: ^8.4 + postcss-normalize-charset@8.0.3: + resolution: {integrity: sha512-losd0Uu4XVpiKN5tcGh32QxpB9t3S09PMQaW6I2GszKl9wOR0I34DY0a8ApO50jzfBC52lv8jPpkvh5ltbgajg==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-normalize-display-values@8.0.3: + resolution: {integrity: sha512-IaCp/Rp7bg0e8Hv0Wc4G+niuuA61iGOSzhGBUeo6P6qyoumyFbOzYbYWZSkzMNsC4o2gfHAj3q2VbQfds8Huzw==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-normalize-positions@8.0.3: + resolution: {integrity: sha512-OA/n9pI6W66Sv1vki0MLv/0QpDECV8i3UHwlXPVnv3XewsBjx310NQDV+ybMx2ZZQc/RHS7Uf8ES+oxLVhd0iA==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-normalize-repeat-style@8.0.3: + resolution: {integrity: sha512-lMCbxiLBd7awGEoRM1WD02R08XpEGDHg3x7z9VSWnZibgSGHNJ+k7aheucuLBcxPAHWPudwc8O65sYD2FDx0Hg==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-normalize-string@8.0.3: + resolution: {integrity: sha512-F8jkemEEIGDjerUzTa5w18CQc4GfhpJdEk78LdtwOjLjG1DlaDZyCdec+PyxCHjSY7vsbULXhlk24vSA+eUtIg==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-normalize-timing-functions@8.0.3: + resolution: {integrity: sha512-6MO4j7ySljCmhPKx6GLkIpDdV6nOhb5UaB8j/0i0EbfooH1NeVQG60Zt7qAQ9h21HUwV6kQDIbWGqU78DhPHtw==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-normalize-unicode@8.0.3: + resolution: {integrity: sha512-gfMC9A0z8d1HrS792ZFIUMZeTysN/GrtQEiyV/aSJPBwqOOak9BTGTSUp1VHozNuEeQs4MUoO+fBQzDXpRX28A==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-normalize-url@8.0.3: + resolution: {integrity: sha512-ksA0HgWATlnIzDaB9gFPslXxJkTa7aHZK3jWSbbyJdFJuRIY0BOL0eNMRrZNpe6//g4Af/iB00ETbT0cNmCzKQ==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-normalize-whitespace@8.0.3: + resolution: {integrity: sha512-Hz/IeeZXk1686EZtnCKKIkU8Mu+PGTxPhkuXnKxJZCD8lkVgD9blIhymu3I/itL4FoOyFTWzh7hQvIri8SbrXg==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-ordered-values@8.0.3: + resolution: {integrity: sha512-Sp62UbMrsCNcPvtnme1Kz+nNJK3tqCqRvGiKdL7ugYgu3/m8buMlFy3QO/BJ0dJQHHJP2u6CESrw4xhKFJTvvA==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-reduce-initial@8.0.3: + resolution: {integrity: sha512-z2cMLQtjr+gXd4QIg2O6c21xGsk1QV2HNKaiYVvxZYRrvyuAqPAHFfRSo+7zbGc/n7rilzEFkljJN5WihG99AQ==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-reduce-transforms@8.0.3: + resolution: {integrity: sha512-MKebqhCviCaOlz9ZnlQxviw0R94q3POvxv3m2Xk1IEyBrk2lsNiKBJsuwXLWHWkQB3y+pQDE0FA26J4+NYhzLg==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + postcss-safe-parser@7.0.1: resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==} engines: {node: '>=18.0'} @@ -9060,6 +11463,18 @@ packages: peerDependencies: postcss: ^8.5.21 + postcss-svgo@8.0.4: + resolution: {integrity: sha512-cmxRK3zz5BLFO/r/crOHy4QosyNCHpyAG9fOjtOSAEKkajcAK5xyURRWcotPOXcz88VbzIrYJCWVAGjrX4GeJw==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + + postcss-unique-selectors@8.0.3: + resolution: {integrity: sha512-uKwlnCNyKmny7yFPOnQJAN82Er0WzGQbSlpZHTKTqlTQsvZF+skA4ANMHqKh+68jQYet6IotH3dtxs1VdyBdxw==} + engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} + peerDependencies: + postcss: ^8.5.26 + postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -9091,6 +11506,10 @@ packages: resolution: {integrity: sha512-GD3qdB0x1z9xgFI6cdRD6xu2Sp2WCOEoe3mtnyB5Ee0XrrL5Pe+e4CCnJrRMnL1zYtRDZmQQVbvOttLnKDLnaw==} engines: {node: '>=12'} + powershell-utils@0.1.0: + resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} + engines: {node: '>=20'} + prebuild-install@7.1.3: resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} engines: {node: '>=10'} @@ -9101,6 +11520,15 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier@3.9.6: + resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} + engines: {node: '>=14'} + hasBin: true + + pretty-bytes@7.1.1: + resolution: {integrity: sha512-X+vn9z8nOFZQlxOLmfJ0iKDdMD7jYTsTW12OAlCpdoE3Igik6L37pugIZi+N3usuyp5McfgKPWi12q3zvHLeGQ==} + engines: {node: '>=20'} + pretty-ms@9.3.0: resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} @@ -9118,6 +11546,9 @@ packages: typescript: optional: true + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -9125,12 +11556,19 @@ packages: promise-limit@2.7.0: resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + proper-lockfile@4.1.2: resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} property-information@7.2.0: resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + protobufjs@7.6.5: resolution: {integrity: sha512-/FPD0nUc9jH6rfFjji9IBqOz4pcSE3CsT1m7Ep6Mdb0LxSUMj8hgl6GomOvZzpNpAqqGaXA0P3VSrZLFzIhQrw==} engines: {node: '>=12.0.0'} @@ -9182,6 +11620,9 @@ packages: resolution: {integrity: sha512-YlJmwNyi0RGYjlxYcuDncMsxFU7YyutbuI7gTm8ySxIGBlwx5yiBCOD5ig9ZNoHkawk/1Dey0N5mEfcUybMVAA==} engines: {node: '>=18'} + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -9243,6 +11684,9 @@ packages: resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} engines: {node: '>=0.10.0'} + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -9251,6 +11695,9 @@ packages: resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} @@ -9283,6 +11730,9 @@ packages: regex@6.1.0: resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} + regexp-to-ast@0.5.0: + resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==} + regexp-tree@0.1.27: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true @@ -9342,6 +11792,11 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} + hasBin: true + responselike@4.0.2: resolution: {integrity: sha512-cGk8IbWEAnaCpdAt1BHzJ3Ahz5ewDJa0KseTsE3qIRMJ3C698W8psM7byCeWVpd/Ha7FUYzuRVzXoKoM6nRUbA==} engines: {node: '>=20'} @@ -9407,6 +11862,10 @@ packages: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} @@ -9440,11 +11899,33 @@ packages: vue-tsc: optional: true + rolldown-string@0.3.1: + resolution: {integrity: sha512-dv8GOXkYqUQdI0rsXB8hmzO95pKWSuX2eg5/JSJa9czfEVIFuKNR7ZJDfat8LlmD35RAhWY+evS7/wXXqFDfSg==} + engines: {node: '>=20.19.0'} + peerDependencies: + rolldown: '*' + peerDependenciesMeta: + rolldown: + optional: true + rolldown@1.2.3: resolution: {integrity: sha512-rn9wpmxplLf7NLNyCk9FyWh3FM43DbY8jOzCdEPzH7uflhTftRbCEpqi6Ly2osgoU8OwObtmavMbWLaWy4LX7A==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true + rollup-plugin-visualizer@7.0.1: + resolution: {integrity: sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==} + engines: {node: '>=22'} + hasBin: true + peerDependencies: + rolldown: 1.x || ^1.0.0-beta || ^1.0.0-rc + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rolldown: + optional: true + rollup: + optional: true + rollup@4.62.4: resolution: {integrity: sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -9467,6 +11948,9 @@ packages: resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} engines: {node: '>=18'} + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} @@ -9474,6 +11958,9 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -9484,6 +11971,10 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sax@1.6.1: + resolution: {integrity: sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==} + engines: {node: '>=11.0.0'} + scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} @@ -9516,6 +12007,10 @@ packages: resolution: {integrity: sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg==} engines: {node: '>=12'} + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + semver@7.7.4: resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} @@ -9537,10 +12032,24 @@ packages: resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} engines: {node: '>=10'} + serialize-javascript@7.1.0: + resolution: {integrity: sha512-RNEqWOyhhUQYN9V1GfHwu9AR/g+NTciH6Z5u3/no6X3/w+04J2lVDL+svFQVXgXrEGBMG2puMVN3gq2SNGuTGw==} + engines: {node: '>=20.0.0'} + + seroval@1.6.2: + resolution: {integrity: sha512-mPT+SD2TrlB6wvte1KkYOYUkubaTbd6pZ/6Kk3C9nxzrHmCZyhxOO7XGAeL7f+yLKZglzGtM9odUVvg/EhO+vQ==} + engines: {node: '>=10'} + + serve-placeholder@2.0.2: + resolution: {integrity: sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==} + serve-static@2.2.1: resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} engines: {node: '>= 18'} + set-cookie-parser@2.7.2: + resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==} + set-cookie-parser@3.1.2: resolution: {integrity: sha512-5/r/lTwbJ3zQ+qwdUFZYeRNqda7P5HD8zQKqlSjdGt1/S0cjLAphHusj4Y58ahDtWn/g32xrIS58/ikOvwl0Lw==} @@ -9572,6 +12081,10 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + shell-quote@1.10.0: + resolution: {integrity: sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==} + engines: {node: '>= 0.4'} + shiki@4.4.3: resolution: {integrity: sha512-Mb/GvXPHBAXdgGIcnfU5L3ldpn1XcxrGkPHwqgRx17/I2XRfqlFKk2vGkHWINn1kdXvzJZeuO3is6I9KLPFm0g==} engines: {node: '>=20'} @@ -9608,6 +12121,13 @@ packages: simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + simple-git@3.36.0: + resolution: {integrity: sha512-cGQjLjK8bxJw4QuYT7gxHw3/IouVESbhahSsHrX97MzCL1gu2u7oy38W6L2ZIGECEfIBG4BabsWDPjBxJENv9Q==} + + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} + sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -9628,6 +12148,10 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + slice-ansi@9.0.0: resolution: {integrity: sha512-SO/3iYL5S3W57LLEniscOGPZgOqZUPCx6d3dB+52B80yJ0XstzsC/eV8gnA4tM3MHDrKz+OCFSLNjswdSC+/bA==} engines: {node: '>=22'} @@ -9636,6 +12160,10 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + smob@1.6.2: + resolution: {integrity: sha512-RQsvleCbF8cVHEv+xuDGaA4pOizFqJ0GgjtMSRo6oP8pnN7WsigHgVGey6aILRBKv4W2YOMHLqbKdnB6hpB9fw==} + engines: {node: '>=20.0.0'} + smol-toml@1.7.1: resolution: {integrity: sha512-PPlsspAZ4jbMBu5DMFhfUGDQLu/vrL4SyBROVS37x8ynnVmFIs1VPBz1Co8Xks3TvpIaZXmU85y4DrQ+UyVFoQ==} engines: {node: '>= 18'} @@ -9829,6 +12357,9 @@ packages: resolution: {integrity: sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==} engines: {node: '>=20'} + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -9883,6 +12414,9 @@ packages: resolution: {integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==} engines: {node: '>=18'} + structured-clone-es@2.0.1: + resolution: {integrity: sha512-10ZL5r77LhknxlP1FBiCW+VdnuWOEFLdSS2SKtjyEV+L4qP1hUEIMIZW94LC3jKxRmT/Dj7KkD1mqh/IY6lhKQ==} + stubborn-fs@2.0.0: resolution: {integrity: sha512-Y0AvSwDw8y+nlSNFXMm2g6L51rBGdAQT20J3YSOqxC53Lo3bjWRtr2BKcfYoAf352WYpsZSTURrA0tqhfgudPA==} @@ -9922,6 +12456,15 @@ packages: resolution: {integrity: sha512-ZW2OvfeCXrNTbLakPUzjQG922EeGCOteFSVoek5DKStTh898wf7zgtuFlzQN8HfZCxC3Eh02yJVrRW51hADf+w==} engines: {node: '>=20'} + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svgo@4.0.2: + resolution: {integrity: sha512-ekx94z1rRc5LDi6oSUaeRnYhd0UOJxdtQCL2rF8xpWxD3TPAsISWOrxezqGovqS38GRZOdpDfvQe3ts6F7nsng==} + engines: {node: '>=16'} + hasBin: true + swr@2.5.0: resolution: {integrity: sha512-W0GomadRJe9OfzIoRX0kZHhDSaRRfdiOUeH6uazgR05SibBhDNwfdTbhAxmFtObvkf59fFymo22mooKukosvNA==} peerDependencies: @@ -10003,6 +12546,10 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinyclip@0.1.15: + resolution: {integrity: sha512-uo33abH+Ays0xYaDysoBt494Hb3hsEczMpcC0MwFl773pazORx4fmvKhclhR1wonUbB6vvpRsvVMwnhfqeMc+A==} + engines: {node: ^16.14.0 || >= 17.3.0} + tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} @@ -10026,6 +12573,10 @@ packages: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} + tinyrainbow@3.1.1: + resolution: {integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==} + engines: {node: '>=14.0.0'} + tinyspy@4.0.4: resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} engines: {node: '>=14.0.0'} @@ -10048,6 +12599,10 @@ packages: resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} engines: {node: '>= 0.4'} + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} @@ -10060,6 +12615,14 @@ packages: resolution: {integrity: sha512-lVb8X9BsPVuH0M4BKeS91tXAmJvCjQ5UIyAbQFaxkKGyUFK2RPkhwaFSQH8vbpl1d23eu/IBH+dwVMHWaq9A5A==} engines: {node: '>=20'} + tosource@2.0.0-alpha.3: + resolution: {integrity: sha512-KAB2lrSS48y91MzFPFuDg4hLbvDiyTjOVgaK7Erw+5AmZXNq4sFRVn8r6yxSLuNs15PaokrDRpS61ERY9uZOug==} + engines: {node: '>=10'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -10080,6 +12643,12 @@ packages: ts-algebra@2.0.0: resolution: {integrity: sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==} + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + tsdown@0.22.14: resolution: {integrity: sha512-ule7Y+fsAN2iZbLDoo7C4KYljFJNJJ+fLshyn+9gozeTspVersWHxwdGB+Dm2hzA38s6muFnUTl0jK3vJm9ifQ==} engines: {node: ^22.18.0 || >=24.11.0} @@ -10196,6 +12765,12 @@ packages: resolution: {integrity: sha512-yu26mwteFYzBAot7KVMqFGCVpsF6g8wXfJzQUHvu1no3+rRRSFcSV2nKeYvNPLD2J4b08jYBDhHUjeH0ygIl9w==} hasBin: true + ultrahtml@1.7.0: + resolution: {integrity: sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==} + + ultramatter@0.0.4: + resolution: {integrity: sha512-1f/hO3mR+/Hgue4eInOF/Qm/wzDqwhYha4DxM0hre9YIUyso3fE2XtrAU6B4njLqTC8CM49EZaYgsVSa+dXHGw==} + unagent@0.0.8: resolution: {integrity: sha512-xIZpO1mnllQRAdgI3Ibr0gNdkcNs6d6oQDSpDGEbycv/KYCDopH1+hD5tFOwHRXiqeMyQxbPPHcnkpBgzm4QYA==} peerDependencies: @@ -10274,6 +12849,9 @@ packages: unconfig-core@7.5.0: resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} + unconfig@7.5.0: + resolution: {integrity: sha512-oi8Qy2JV4D3UQ0PsopR28CzdQ3S/5A1zwsUwp/rosSbfhJ5z7b90bIyTwi/F7hCLD4SGcZVjDzd4XoUQcEanvA==} + uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} @@ -10312,6 +12890,10 @@ packages: resolution: {integrity: sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==} engines: {node: '>=20.18.1'} + undici@8.10.0: + resolution: {integrity: sha512-HvltHd7avK13QIw/oLe4qoOLyoVSoafqJ2jYOrtMRBkbYT31eiBQ8O0ehRKZiEZCMEyLFQNIADpgCWC5fALvYQ==} + engines: {node: '>=22.19.0'} + unenv@2.0.0-rc.24: resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} @@ -10335,6 +12917,10 @@ packages: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} + unicorn-magic@0.4.0: + resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} + engines: {node: '>=20'} + unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -10369,6 +12955,20 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} + unocss@66.7.5: + resolution: {integrity: sha512-nAdmU8TwnQoiLnQjZ6Hm1GmHy9lTexKsAZNEJtZnxN9wyFRc1eLjQgmh9r7UEGxBQMQLD8OZOgmk5HpwObbh0Q==} + peerDependencies: + '@unocss/astro': 66.7.5 + '@unocss/postcss': 66.7.5 + '@unocss/webpack': 66.7.5 + peerDependenciesMeta: + '@unocss/astro': + optional: true + '@unocss/postcss': + optional: true + '@unocss/webpack': + optional: true + unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -10442,6 +13042,9 @@ packages: webpack: optional: true + unrouting@0.2.2: + resolution: {integrity: sha512-EoCab68s1o9AWFq9fjKsMEsmjKrPO11SAsvopikks2eEm/KLXgZMCof4cgpVgdy0Vz71OFBJw6DoDqu1oOSFGw==} + unstorage@1.17.5: resolution: {integrity: sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==} peerDependencies: @@ -10578,10 +13181,17 @@ packages: uploadthing: optional: true + untun@0.2.2: + resolution: {integrity: sha512-+NnOJcSiEtYsVgJmXUzQbJeRAFXJC4yPJYuh6kF9B0Rm6zunXcs/3GZOTllyocSbUDIxD6Bj7e/4ATw7sph1Sw==} + hasBin: true + untyped@2.0.0: resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==} hasBin: true + unwasm@0.5.3: + resolution: {integrity: sha512-keBgTSfp3r6+s9ZcSma+0chwxQdmLbB5+dAD9vjtB21UTMYuKAxHXCU1K2CbCtnP09EaWeRvACnXk0EJtUx+hw==} + update-browserslist-db@1.3.1: resolution: {integrity: sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==} hasBin: true @@ -10668,6 +13278,16 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vite-dev-rpc@2.0.0: + resolution: {integrity: sha512-yKwbTwdHKSD2k/aGqyWpPHepo45OQc8lH3/6IfT4ZqeKE26ooKvi4WIEKzqWav8v+9Is8u1k8q54hvOmqASazA==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0 || ^8.0.0 + + vite-hot-client@2.2.0: + resolution: {integrity: sha512-76Zs9zrHbH7M7wqeyooGQKdX+yg0pQ0xuQ1PbFp4z5a0Lzn2e5IPFoCswnmqZ4GiwqB4Jo3WcDAMO9jARTJl8w==} + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 || ^8.0.0 + vite-hub@0.0.3: resolution: {integrity: sha512-a9cdncpgZeQNYPdd1vbby7fld5YfYGjFZKiSxrmbKyNrD5h9viDlWzbqCcFPJxMkiq7x6SL7fcyFo7232I42nA==} engines: {node: '>=24.15.0'} @@ -10683,6 +13303,58 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true + vite-node@6.0.0: + resolution: {integrity: sha512-oj4PVrT+pDh6GYf5wfUXkcZyekYS8kKPfLPXVl8qe324Ec6l4K2DUKNadRbZ3LQl0qGcDz+PyOo7ZAh00Y+JjQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + vite-plugin-checker@0.14.5: + resolution: {integrity: sha512-c9lQ92eisUO+F7Fd93aelojmiOS+NQpPgQ1XR2LTQHox1/laZf4yAoQj+L3RA9Vgh10e2nFd9b8r2LLyYZsbpA==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@biomejs/biome': '>=2.4.12' + eslint: '>=9.39.4' + meow: ^13.2.0 || ^14.0.0 + optionator: ^0.9.4 + oxlint: '>=1' + stylelint: '>=16.26.1' + typescript: '*' + vite: '>=5.4.21' + vue-tsc: ~2.2.10 || ^3.0.0 + peerDependenciesMeta: + '@biomejs/biome': + optional: true + eslint: + optional: true + meow: + optional: true + optionator: + optional: true + oxlint: + optional: true + stylelint: + optional: true + typescript: + optional: true + vue-tsc: + optional: true + + vite-plugin-inspect@11.4.1: + resolution: {integrity: sha512-ShOFe2PURXGvRS5OrgmOLZOCwDTD7dEBVt0tMpFPKb9AsvqXKCRGM8QgKrUbRbJYFXScHvDPpGRd28rYidC0tA==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^6.0.0 || ^7.0.0-0 || ^8.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + + vite-plugin-vue-tracer@1.5.0: + resolution: {integrity: sha512-G2aQ676fLBPnYhRi5lsARoL4hbtc/sx6fVzO7p44AB+1xQXo2UuiRgv7K26UdijrNzmuQprmJ121n3rdjBk1CA==} + peerDependencies: + vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0 + vue: ^3.5.0 + vite@7.3.6: resolution: {integrity: sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -10766,6 +13438,9 @@ packages: yaml: optional: true + vitest-environment-nuxt@2.0.0: + resolution: {integrity: sha512-zEGFRiCAaRR3fHnqISHKMNTRvCzkQEI1XyFeqNgR2IBD0oYkfZ1rUHwi7C+h3Cns3KPykfB0av1B3MtLEbChDw==} + vitest@3.2.7: resolution: {integrity: sha512-KrxIJ62Fd89gfysR4WotlgZABiz2dqFPgqGzX7s+CwsqLFomRH7777ZcrOD6+WVAh7khPQP41A+BKbpcJFrdEg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -10794,9 +13469,57 @@ packages: jsdom: optional: true + vitest@4.1.10: + resolution: {integrity: sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.10 + '@vitest/browser-preview': 4.1.10 + '@vitest/browser-webdriverio': 4.1.10 + '@vitest/coverage-istanbul': 4.1.10 + '@vitest/coverage-v8': 4.1.10 + '@vitest/ui': 4.1.10 + happy-dom: '*' + jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + vite: {} + vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + vue-bundle-renderer@2.3.2: + resolution: {integrity: sha512-BtazFw0lm3N/ZE4+tre2g8G+c5wolfizu+e5jxZAcao0gcy5KJei9Yopl1svDato2poeFldVLfmLMk57Sg8rLg==} + + vue-component-type-helpers@3.3.9: + resolution: {integrity: sha512-3c/UfMe0SqyEfcGTyH7mfshHagJ9QTCbppCb0/uGpHZpFug7+If3GeGZN7I0YheKEExemx3xldQPoO7PQSOLQg==} + vue-demi@0.14.10: resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} engines: {node: '>=12'} @@ -10808,6 +13531,19 @@ packages: '@vue/composition-api': optional: true + vue-devtools-stub@0.1.0: + resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} + + vue-i18n-extract@2.0.7: + resolution: {integrity: sha512-i1NW5R58S720iQ1BEk+6ILo3hT6UA8mtYNNolSH4rt9345qvXdvA6GHy2+jHozdDAKHwlu9VvS/+vIMKs1UYQw==} + hasBin: true + + vue-i18n@11.4.8: + resolution: {integrity: sha512-0ULeHP6Z9CGvAm67S77ZEp41cfGXIREGL8qfhos2BMgcQQewtQcDKuojt6jjasAD/S8GwfTp2ySPmDSpwvrCMQ==} + engines: {node: '>= 22'} + peerDependencies: + vue: ^3.0.0 + vue-router@5.2.0: resolution: {integrity: sha512-QAC5i0LEb1GLG0LXDQmHu8L7FX12j0KwU/JTKmLQUJMrn04gQdKP6Du+p0QwpHb3iy71vBlqnHQ8WAfOSAWhqw==} peerDependencies: @@ -10918,6 +13654,11 @@ packages: engines: {node: '>= 8'} hasBin: true + which@6.0.1: + resolution: {integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} @@ -10982,6 +13723,10 @@ packages: resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} engines: {node: '>=18'} + wsl-utils@0.3.1: + resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==} + engines: {node: '>=20'} + xdg-app-paths@5.1.0: resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} engines: {node: '>=6'} @@ -11002,10 +13747,17 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@5.0.0: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} + yaml-eslint-parser@1.3.2: + resolution: {integrity: sha512-odxVsHAkZYYglR30aPYRY4nUGJnoJ2y1ww2HDvZALo0BDETv9kWbi16J52eHs+PWRNmF4ub6nZqfVOeesOvntg==} + engines: {node: ^14.17.0 || >=16.0.0} + yaml@2.9.0: resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} engines: {node: '>= 14.6'} @@ -11039,10 +13791,20 @@ packages: resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} engines: {node: '>=12.20'} + yocto-spinner@0.2.3: + resolution: {integrity: sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==} + engines: {node: '>=18.19'} + yoctocolors@2.2.0: resolution: {integrity: sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==} engines: {node: '>=18'} + youch-core@0.3.3: + resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} + + youch@4.1.1: + resolution: {integrity: sha512-mxW3qiSnl+GRxXsaUMzv2Mbada1Y8CDltET9UxejDQe6DBYlSekghl5U5K0ReAikcHDi0G1vKZEmmo/NWAGKLA==} + yuku-ast@0.8.4: resolution: {integrity: sha512-s7EWfWIQkaGmsGnyr/BU0jli9YTN5TvrKIsSmALyRD9elumDQInuhv0BrVObENKVCxr9W3Ikmnx5u02KvfuUmw==} @@ -11055,6 +13817,10 @@ packages: zeptomatch@2.1.0: resolution: {integrity: sha512-KiGErG2J0G82LSpniV0CtIzjlJ10E04j02VOudJsPyPwNZgGnRKQy7I1R7GMyg/QswnE4l7ohSGrQbQbjXPPDA==} + zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} + zod-to-json-schema@3.25.2: resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} peerDependencies: @@ -11090,14 +13856,6 @@ snapshots: '@vercel/oidc': 3.2.0 zod: 4.1.11 - '@ai-sdk/gateway@3.0.151(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 3.0.14 - '@ai-sdk/provider-utils': 4.0.39(zod@4.4.3) - '@vercel/oidc': 3.2.0 - zod: 4.4.3 - optional: true - '@ai-sdk/gateway@4.0.15(zod@4.1.11)': dependencies: '@ai-sdk/provider': 4.0.3 @@ -11140,9 +13898,8 @@ snapshots: '@ai-sdk/provider': 4.0.3 '@ai-sdk/provider-utils': 5.0.12(zod@4.1.11) ai: 7.0.34(zod@4.1.11) - zod: 4.1.11 - optionalDependencies: ws: 8.21.3 + zod: 4.1.11 '@ai-sdk/openai-compatible@3.0.29(zod@4.4.3)': dependencies: @@ -11163,14 +13920,6 @@ snapshots: eventsource-parser: 3.1.1 zod: 4.1.11 - '@ai-sdk/provider-utils@4.0.39(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 3.0.14 - '@standard-schema/spec': 1.1.0 - eventsource-parser: 3.1.1 - zod: 4.4.3 - optional: true - '@ai-sdk/provider-utils@5.0.12(zod@4.1.11)': dependencies: '@ai-sdk/provider': 4.0.3 @@ -11212,11 +13961,14 @@ snapshots: '@andrewbranch/untar.js@1.0.4': {} - '@anthropic-ai/sdk@0.91.1(zod@4.4.3)': + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.8.0 + tinyexec: 1.3.0 + + '@anthropic-ai/sdk@0.91.1': dependencies: json-schema-to-ts: 3.1.1 - optionalDependencies: - zod: 4.4.3 '@arethetypeswrong/cli@0.18.5': dependencies: @@ -11659,7 +14411,6 @@ snapshots: events: 3.3.0 tslib: 2.8.1 transitivePeerDependencies: - - '@azure/core-client' - supports-color '@babel/code-frame@7.29.7': @@ -11668,6 +14419,36 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 + '@babel/compat-data@7.29.7': {} + + '@babel/core@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.8': + dependencies: + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + '@babel/generator@8.0.0': dependencies: '@babel/parser': 8.0.4 @@ -11677,6 +14458,78 @@ snapshots: '@types/jsesc': 2.5.1 jsesc: 3.1.0 + '@babel/helper-annotate-as-pure@7.29.7': + dependencies: + '@babel/types': 7.29.8 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.8 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/traverse': 7.29.8 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-member-expression-to-functions@7.29.7': + dependencies: + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.29.7': + dependencies: + '@babel/types': 7.29.8 + + '@babel/helper-plugin-utils@7.29.7': {} + + '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + dependencies: + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + '@babel/helper-string-parser@7.29.7': {} '@babel/helper-string-parser@8.0.0': {} @@ -11685,6 +14538,13 @@ snapshots: '@babel/helper-validator-identifier@8.0.4': {} + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + '@babel/parser@7.29.8': dependencies: '@babel/types': 7.29.8 @@ -11693,8 +14553,107 @@ snapshots: dependencies: '@babel/types': 8.0.4 + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-display-name@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/preset-react@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-pure-annotations': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + '@babel/runtime@7.29.7': {} + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + + '@babel/traverse@7.29.8': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + '@babel/types@7.29.8': dependencies: '@babel/helper-string-parser': 7.29.7 @@ -11705,10 +14664,80 @@ snapshots: '@babel/helper-string-parser': 8.0.0 '@babel/helper-validator-identifier': 8.0.4 + '@better-auth/cli@1.5.0-beta.13(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.1)(better-call@1.2.1(zod@4.4.3))(drizzle-kit@0.31.10)(jose@6.2.8)(kysely@0.28.17)(mongodb@7.5.0)(mysql2@3.15.3)(nanostores@1.4.2)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vue@3.5.41)': + dependencies: + '@babel/core': 7.29.7 + '@babel/preset-react': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@better-auth/core': 1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2) + '@better-auth/telemetry': 1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2)) + '@better-auth/utils': 0.3.1 + '@clack/prompts': 0.11.0 + '@mrleebo/prisma-ast': 0.13.1 + '@prisma/client': 5.22.0(prisma@7.9.1) + '@types/pg': 8.21.0 + better-auth: 1.5.0-beta.13(@prisma/client@5.22.0(prisma@7.9.1))(drizzle-kit@0.31.10)(drizzle-orm@0.41.0(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.28.17)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mongodb@7.5.0)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vue@3.5.41) + c12: 3.3.4 + chalk: 5.6.2 + commander: 12.1.0 + dotenv: 17.4.2 + drizzle-orm: 0.41.0(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.28.17)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1) + open: 10.2.0 + pg: 8.23.0 + prettier: 3.9.6 + prompts: 2.4.2 + semver: 7.8.5 + yocto-spinner: 0.2.3 + zod: 4.4.3 + transitivePeerDependencies: + - '@aws-sdk/client-rds-data' + - '@cloudflare/workers-types' + - '@electric-sql/pglite' + - '@libsql/client' + - '@libsql/client-wasm' + - '@lynx-js/react' + - '@neondatabase/serverless' + - '@op-engineering/op-sqlite' + - '@planetscale/database' + - '@sveltejs/kit' + - '@tanstack/react-start' + - '@tanstack/solid-start' + - '@tidbcloud/serverless' + - '@types/better-sqlite3' + - '@types/sql.js' + - '@vercel/postgres' + - '@xata.io/client' + - better-sqlite3 + - bun-types + - expo-sqlite + - gel + - knex + - magicast + - next + - pg-native + - postgres + - solid-js + - sql.js + - sqlite3 + - supports-color + - svelte + + '@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2)': + dependencies: + '@better-auth/utils': 0.3.1 + '@better-fetch/fetch': 1.1.21 + '@standard-schema/spec': 1.1.0 + better-call: 1.2.1(zod@4.4.3) + jose: 6.2.8 + kysely: 0.28.17 + nanostores: 1.4.2 + zod: 4.4.3 + '@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2)': dependencies: '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 + '@opentelemetry/api': 1.9.1 '@opentelemetry/semantic-conventions': 1.43.0 '@standard-schema/spec': 1.1.0 better-call: 1.3.7(zod@4.4.3) @@ -11716,42 +14745,72 @@ snapshots: kysely: 0.29.5 nanostores: 1.4.2 zod: 4.4.3 - optionalDependencies: - '@opentelemetry/api': 1.9.1 - '@better-auth/drizzle-adapter@1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))': + '@better-auth/drizzle-adapter@1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2))(@better-auth/utils@0.3.1)(drizzle-orm@0.41.0(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.28.17)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))': + dependencies: + '@better-auth/core': 1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2) + '@better-auth/utils': 0.3.1 + drizzle-orm: 0.41.0(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.28.17)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1) + + '@better-auth/drizzle-adapter@1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1)(sql.js@1.14.1))': dependencies: '@better-auth/core': 1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2) '@better-auth/utils': 0.4.2 - optionalDependencies: - drizzle-orm: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1) + drizzle-orm: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1)(sql.js@1.14.1) + + '@better-auth/kysely-adapter@1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2))(@better-auth/utils@0.3.1)(kysely@0.28.17)': + dependencies: + '@better-auth/core': 1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2) + '@better-auth/utils': 0.3.1 + kysely: 0.28.17 '@better-auth/kysely-adapter@1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(kysely@0.29.5)': dependencies: '@better-auth/core': 1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2) '@better-auth/utils': 0.4.2 - optionalDependencies: kysely: 0.29.5 + '@better-auth/memory-adapter@1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2))(@better-auth/utils@0.3.1)': + dependencies: + '@better-auth/core': 1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2) + '@better-auth/utils': 0.3.1 + '@better-auth/memory-adapter@1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)': dependencies: '@better-auth/core': 1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2) '@better-auth/utils': 0.4.2 - '@better-auth/mongo-adapter@1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(mongodb@7.5.0(@mongodb-js/zstd@7.0.0)(socks@2.8.9))': + '@better-auth/mongo-adapter@1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2))(@better-auth/utils@0.3.1)(mongodb@7.5.0)': + dependencies: + '@better-auth/core': 1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2) + '@better-auth/utils': 0.3.1 + mongodb: 7.5.0 + + '@better-auth/mongo-adapter@1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(mongodb@7.5.0)': dependencies: '@better-auth/core': 1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2) '@better-auth/utils': 0.4.2 - optionalDependencies: - mongodb: 7.5.0(@mongodb-js/zstd@7.0.0)(socks@2.8.9) + mongodb: 7.5.0 + + '@better-auth/prisma-adapter@1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2))(@better-auth/utils@0.3.1)(@prisma/client@5.22.0(prisma@7.9.1))(prisma@7.9.1)': + dependencies: + '@better-auth/core': 1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2) + '@better-auth/utils': 0.3.1 + '@prisma/client': 5.22.0(prisma@7.9.1) + prisma: 7.9.1 - '@better-auth/prisma-adapter@1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))': + '@better-auth/prisma-adapter@1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(@prisma/client@5.22.0(prisma@7.9.1))(prisma@7.9.1)': dependencies: '@better-auth/core': 1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2) '@better-auth/utils': 0.4.2 - optionalDependencies: - '@prisma/client': 5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) - prisma: 7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + '@prisma/client': 5.22.0(prisma@7.9.1) + prisma: 7.9.1 + + '@better-auth/telemetry@1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2))': + dependencies: + '@better-auth/core': 1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2) + '@better-auth/utils': 0.3.1 + '@better-fetch/fetch': 1.1.21 '@better-auth/telemetry@1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)': dependencies: @@ -11759,14 +14818,22 @@ snapshots: '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 + '@better-auth/utils@0.3.1': {} + '@better-auth/utils@0.4.2': dependencies: '@noble/hashes': 2.3.0 + '@better-fetch/fetch@1.1.21': {} + '@better-fetch/fetch@1.3.1': {} '@bomb.sh/args@0.3.1': {} + '@bomb.sh/tab@0.0.19(citty@0.2.2)': + dependencies: + citty: 0.2.2 + '@borewit/text-codec@0.2.2': {} '@braidai/lang@1.1.2': {} @@ -11789,30 +14856,50 @@ snapshots: '@cbor-extract/cbor-extract-win32-x64@2.2.2': optional: true - '@chat-adapter/shared@4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3))(zod@4.1.11)': + '@chat-adapter/shared@4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35)(zod@4.1.11)': dependencies: - chat: 4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3))(zod@4.1.11) + chat: 4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35)(zod@4.1.11) transitivePeerDependencies: - - ai - supports-color - - workflow - - zod - '@chat-adapter/telegram@4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3))(zod@4.1.11)': + '@chat-adapter/telegram@4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35)(zod@4.1.11)': dependencies: - '@chat-adapter/shared': 4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3))(zod@4.1.11) - chat: 4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3))(zod@4.1.11) + '@chat-adapter/shared': 4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35)(zod@4.1.11) + chat: 4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35)(zod@4.1.11) transitivePeerDependencies: - - ai - supports-color - - workflow - - zod + + '@chevrotain/cst-dts-gen@10.5.0': + dependencies: + '@chevrotain/gast': 10.5.0 + '@chevrotain/types': 10.5.0 + lodash: 4.17.21 + + '@chevrotain/gast@10.5.0': + dependencies: + '@chevrotain/types': 10.5.0 + lodash: 4.17.21 + + '@chevrotain/types@10.5.0': {} + + '@chevrotain/utils@10.5.0': {} + + '@clack/core@0.5.0': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 '@clack/core@1.4.3': dependencies: fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 + '@clack/prompts@0.11.0': + dependencies: + '@clack/core': 0.5.0 + picocolors: 1.1.1 + sisteransi: 1.0.5 + '@clack/prompts@1.7.0': dependencies: '@clack/core': 1.4.3 @@ -11822,8 +14909,10 @@ snapshots: '@cloudflare/containers@0.3.7': {} + '@cloudflare/kv-asset-handler@0.4.2': {} + '@cloudflare/playwright@1.3.5(playwright-core@1.62.1)': - optionalDependencies: + dependencies: playwright-core: 1.62.1 '@cloudflare/sandbox@0.8.14': @@ -11832,21 +14921,22 @@ snapshots: aws4fetch: 1.0.20 hono: 4.13.1 + '@colordx/core@5.5.0': {} + '@colors/colors@1.5.0': optional: true - '@commitlint/cli@21.2.1(@types/node@24.13.3)(conventional-commits-parser@7.1.2)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)': + '@commitlint/cli@21.2.1(@types/node@24.13.3)(typescript@6.0.3-bridge.12.tsgo.7.0.2)': dependencies: '@commitlint/config-conventional': 21.2.0 '@commitlint/format': 21.2.0 '@commitlint/lint': 21.2.0 - '@commitlint/load': 21.2.0(@types/node@24.13.3)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) - '@commitlint/read': 21.2.1(conventional-commits-parser@7.1.2) + '@commitlint/load': 21.2.0(@types/node@24.13.3)(typescript@6.0.3-bridge.12.tsgo.7.0.2) + '@commitlint/read': 21.2.1 '@commitlint/types': 21.2.0 tinyexec: 1.3.0 yargs: 18.1.0 transitivePeerDependencies: - - '@types/node' - conventional-commits-filter - conventional-commits-parser - typescript @@ -11885,19 +14975,18 @@ snapshots: '@commitlint/rules': 21.2.0 '@commitlint/types': 21.2.0 - '@commitlint/load@21.2.0(@types/node@24.13.3)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)': + '@commitlint/load@21.2.0(@types/node@24.13.3)(typescript@6.0.3-bridge.12.tsgo.7.0.2)': dependencies: '@commitlint/config-validator': 21.2.0 '@commitlint/execute-rule': 21.0.1 '@commitlint/resolve-extends': 21.2.0 '@commitlint/types': 21.2.0 - cosmiconfig: 9.0.2(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) - cosmiconfig-typescript-loader: 6.3.0(@types/node@24.13.3)(cosmiconfig@9.0.2(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + cosmiconfig: 9.0.2 + cosmiconfig-typescript-loader: 6.3.0(@types/node@24.13.3)(cosmiconfig@9.0.2)(typescript@6.0.3-bridge.12.tsgo.7.0.2) es-toolkit: 1.50.0 is-plain-obj: 4.1.0 picocolors: 1.1.1 transitivePeerDependencies: - - '@types/node' - typescript '@commitlint/message@21.2.0': {} @@ -11908,11 +14997,11 @@ snapshots: conventional-changelog-angular: 9.3.0 conventional-commits-parser: 7.1.2 - '@commitlint/read@21.2.1(conventional-commits-parser@7.1.2)': + '@commitlint/read@21.2.1': dependencies: '@commitlint/top-level': 21.2.0 '@commitlint/types': 21.2.0 - '@conventional-changelog/git-client': 3.1.2(conventional-commits-parser@7.1.2) + '@conventional-changelog/git-client': 3.1.2 tinyexec: 1.3.0 transitivePeerDependencies: - conventional-commits-filter @@ -11944,13 +15033,11 @@ snapshots: conventional-commits-parser: 7.1.2 picocolors: 1.1.1 - '@conventional-changelog/git-client@3.1.2(conventional-commits-parser@7.1.2)': + '@conventional-changelog/git-client@3.1.2': dependencies: '@simple-libs/child-process-utils': 2.0.0 '@simple-libs/stream-utils': 2.0.0 semver: 7.8.5 - optionalDependencies: - conventional-commits-parser: 7.1.2 '@conventional-changelog/template@1.3.0': {} @@ -11964,27 +15051,47 @@ snapshots: '@drizzle-team/brocli@0.10.2': {} - '@e18e/eslint-plugin@0.8.0(eslint@10.8.1(jiti@2.7.0))(oxlint@1.78.0(oxlint-tsgolint@7.0.2001))': - dependencies: - empathic: 2.0.1 - module-replacements: 3.1.0 - semver: 7.8.5 - optionalDependencies: - eslint: 10.8.1(jiti@2.7.0) - oxlint: 1.78.0(oxlint-tsgolint@7.0.2001) - - '@earendil-works/pi-ai@0.83.0(@modelcontextprotocol/sdk@1.30.0(zod@4.4.3))(ws@8.21.3)(zod@4.4.3)': + '@dxup/nuxt@0.5.6(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)': dependencies: - '@anthropic-ai/sdk': 0.91.1(zod@4.4.3) - '@aws-sdk/client-bedrock-runtime': 3.1048.0 - '@google/genai': 1.52.0(@modelcontextprotocol/sdk@1.30.0(zod@4.4.3)) - '@mistralai/mistralai': 2.2.6(@opentelemetry/api@1.9.0) - '@opentelemetry/api': 1.9.0 - '@smithy/node-http-handler': 4.7.3 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 - openai: 6.26.0(ws@8.21.3)(zod@4.4.3) - partial-json: 0.1.7 + '@dxup/unimport': 0.1.2 + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + '@vue/compiler-dom': 3.5.41 + chokidar: 5.0.0 + knitwork: 1.3.0 + magic-string: 1.1.0 + pathe: 2.0.3 + tinyglobby: 0.2.17 + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals + - magicast + - oxc-parser + - unloader + + '@dxup/unimport@0.1.2': {} + + '@e18e/eslint-plugin@0.8.0(eslint@10.8.1)(oxlint@1.78.0(oxlint-tsgolint@7.0.2001))': + dependencies: + empathic: 2.0.1 + eslint: 10.8.1 + module-replacements: 3.1.0 + oxlint: 1.78.0(oxlint-tsgolint@7.0.2001) + semver: 7.8.5 + + '@earendil-works/pi-ai@0.83.0': + dependencies: + '@anthropic-ai/sdk': 0.91.1 + '@aws-sdk/client-bedrock-runtime': 3.1048.0 + '@google/genai': 1.52.0 + '@mistralai/mistralai': 2.2.6(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.0 + '@smithy/node-http-handler': 4.7.3 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + openai: 6.26.0 + partial-json: 0.1.7 typebox: 1.3.7 transitivePeerDependencies: - '@modelcontextprotocol/sdk' @@ -12005,14 +15112,17 @@ snapshots: '@electric-sql/pglite-socket@0.1.3(@electric-sql/pglite@0.4.3)': dependencies: '@electric-sql/pglite': 0.4.3 - optional: true '@electric-sql/pglite-tools@0.3.3(@electric-sql/pglite@0.4.3)': dependencies: '@electric-sql/pglite': 0.4.3 - optional: true - '@electric-sql/pglite@0.4.3': + '@electric-sql/pglite@0.4.3': {} + + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 optional: true '@emnapi/core@1.11.2': @@ -12021,11 +15131,21 @@ snapshots: tslib: 2.8.1 optional: true + '@emnapi/runtime@1.10.0': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/runtime@1.11.2': dependencies: tslib: 2.8.1 optional: true + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/wasi-threads@1.2.2': dependencies: tslib: 2.8.1 @@ -12350,38 +15470,31 @@ snapshots: dependencies: eslint: 10.8.1(jiti@2.7.0) eslint-visitor-keys: 3.4.3 - optional: true - '@eslint-community/regexpp@4.12.2': - optional: true + '@eslint-community/regexpp@4.12.2': {} '@eslint/config-array@0.23.5': dependencies: '@eslint/object-schema': 3.0.5 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 minimatch: 10.2.6 transitivePeerDependencies: - supports-color - optional: true '@eslint/config-helpers@0.7.0': dependencies: '@eslint/core': 1.2.1 - optional: true '@eslint/core@1.2.1': dependencies: '@types/json-schema': 7.0.15 - optional: true - '@eslint/object-schema@3.0.5': - optional: true + '@eslint/object-schema@3.0.5': {} '@eslint/plugin-kit@0.7.2': dependencies: '@eslint/core': 1.2.1 levn: 0.4.1 - optional: true '@fastify/busboy@3.2.0': {} @@ -12396,14 +15509,13 @@ snapshots: '@floating-ui/utils@0.2.12': {} - '@floating-ui/vue@1.1.11(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))': + '@floating-ui/vue@1.1.11(vue@3.5.41)': dependencies: '@floating-ui/dom': 1.8.0 '@floating-ui/utils': 0.2.12 - vue-demi: 0.14.10(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + vue-demi: 0.14.10(vue@3.5.41) transitivePeerDependencies: - '@vue/composition-api' - - vue '@google-cloud/paginator@5.0.2': dependencies: @@ -12434,14 +15546,12 @@ snapshots: - encoding - supports-color - '@google/genai@1.52.0(@modelcontextprotocol/sdk@1.30.0(zod@4.4.3))': + '@google/genai@1.52.0': dependencies: google-auth-library: 10.9.1 p-retry: 4.6.2 protobufjs: 7.6.5 ws: 8.21.3 - optionalDependencies: - '@modelcontextprotocol/sdk': 1.30.0(zod@4.4.3) transitivePeerDependencies: - bufferutil - supports-color @@ -12472,23 +15582,39 @@ snapshots: '@humanfs/core@0.19.2': dependencies: '@humanfs/types': 0.15.0 - optional: true '@humanfs/node@0.16.8': dependencies: '@humanfs/core': 0.19.2 '@humanfs/types': 0.15.0 '@humanwhocodes/retry': 0.4.3 - optional: true - '@humanfs/types@0.15.0': - optional: true + '@humanfs/types@0.15.0': {} - '@humanwhocodes/module-importer@1.0.1': - optional: true + '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/retry@0.4.3': - optional: true + '@humanwhocodes/retry@0.4.3': {} + + '@iconify-json/lucide@1.2.123': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/collections@1.0.723': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@3.1.4': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@iconify/types': 2.0.0 + import-meta-resolve: 4.2.0 + + '@iconify/vue@5.0.1(vue@3.5.41)': + dependencies: + '@iconify/types': 2.0.0 + vue: 3.5.41 '@img/colour@1.1.0': {} @@ -12594,8 +15720,81 @@ snapshots: dependencies: '@swc/helpers': 0.5.23 - '@ioredis/commands@1.10.0': - optional: true + '@intlify/bundle-utils@11.2.4(vue-i18n@11.4.8(vue@3.5.41))': + dependencies: + '@intlify/message-compiler': 11.4.8 + '@intlify/shared': 11.4.8 + acorn: 8.18.0 + esbuild: 0.25.12 + escodegen: 2.1.0 + estree-walker: 2.0.2 + jsonc-eslint-parser: 2.4.2 + source-map-js: 1.2.1 + vue-i18n: 11.4.8(vue@3.5.41) + yaml-eslint-parser: 1.3.2 + + '@intlify/core-base@11.4.8': + dependencies: + '@intlify/devtools-types': 11.4.8 + '@intlify/message-compiler': 11.4.8 + '@intlify/shared': 11.4.8 + + '@intlify/core@11.4.8': + dependencies: + '@intlify/core-base': 11.4.8 + '@intlify/shared': 11.4.8 + + '@intlify/devtools-types@11.4.8': + dependencies: + '@intlify/core-base': 11.4.8 + '@intlify/shared': 11.4.8 + + '@intlify/h3@0.7.4': + dependencies: + '@intlify/core': 11.4.8 + '@intlify/utils': 0.13.0 + + '@intlify/message-compiler@11.4.8': + dependencies: + '@intlify/shared': 11.4.8 + source-map-js: 1.2.1 + + '@intlify/shared@11.4.8': {} + + '@intlify/unplugin-vue-i18n@11.2.4(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41)(vue-i18n@11.4.8(vue@3.5.41))': + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.1(jiti@2.7.0)) + '@intlify/bundle-utils': 11.2.4(vue-i18n@11.4.8(vue@3.5.41)) + '@intlify/shared': 11.4.8 + '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.4.8)(@vue/compiler-dom@3.5.41)(vue@3.5.41)(vue-i18n@11.4.8(vue@3.5.41)) + '@rollup/pluginutils': 5.4.0(rollup@4.62.4) + '@typescript-eslint/scope-manager': 8.67.0 + '@typescript-eslint/typescript-estree': 8.67.0(typescript@6.0.3-bridge.12.tsgo.7.0.2) + debug: 4.4.3 + fast-glob: 3.3.3 + pathe: 2.0.3 + picocolors: 1.1.1 + unplugin: 2.3.11 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vue: 3.5.41 + vue-i18n: 11.4.8(vue@3.5.41) + transitivePeerDependencies: + - petite-vue-i18n + - supports-color + + '@intlify/utils@0.13.0': {} + + '@intlify/utils@0.14.1': {} + + '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.4.8)(@vue/compiler-dom@3.5.41)(vue@3.5.41)(vue-i18n@11.4.8(vue@3.5.41))': + dependencies: + '@babel/parser': 7.29.8 + '@intlify/shared': 11.4.8 + '@vue/compiler-dom': 3.5.41 + vue: 3.5.41 + vue-i18n: 11.4.8(vue@3.5.41) + + '@ioredis/commands@1.10.0': {} '@isaacs/cliui@8.0.2': dependencies: @@ -12644,7 +15843,6 @@ snapshots: dependencies: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - optional: true '@jridgewell/sourcemap-codec@1.5.5': {} @@ -12655,6 +15853,14 @@ snapshots: '@keyv/serialize@1.1.1': {} + '@kwsites/file-exists@1.1.1': + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@kwsites/promise-deferred@1.1.1': {} + '@libsql/client@0.17.4': dependencies: '@libsql/core': 0.17.4 @@ -12717,21 +15923,37 @@ snapshots: dependencies: '@braidai/lang': 1.1.2 - '@lucide/vue@1.31.0(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))': + '@lucide/vue@1.31.0(vue@3.5.41)': dependencies: - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + vue: 3.5.41 '@lukeed/csprng@1.1.0': {} - '@maizzle/framework@6.0.13(@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))))(@oxc-project/types@0.143.0)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(shiki@4.4.3)(tailwind-merge@3.6.0)(terser@5.49.2)(tsx@4.23.12)(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))(yaml@2.9.0)': + '@lunariajs/core@https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@904b935': + dependencies: + consola: 3.4.2 + jiti: 2.3.3 + js-yaml: 4.3.1 + neotraverse: 0.6.18 + p-all: 5.0.1 + path-to-regexp: 6.3.0 + picomatch: 4.0.5 + simple-git: 3.36.0 + tinyglobby: 0.2.17 + ultramatter: 0.0.4 + zod: 3.24.4 + transitivePeerDependencies: + - supports-color + + '@maizzle/framework@6.0.13(shiki@4.4.3)(tailwind-merge@3.6.0)(vue@3.5.41)': dependencies: - '@lucide/vue': 1.31.0(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + '@lucide/vue': 1.31.0(vue@3.5.41) '@maizzle/tailwindcss': 1.5.6 '@tailwindcss/postcss': 4.3.3 - '@tailwindcss/vite': 4.3.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) - '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) - '@vitejs/plugin-vue': 6.0.8(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) - '@vueuse/core': 14.4.0(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + '@tailwindcss/vite': 4.3.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@unhead/vue': 3.3.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41)(webpack@5.109.2) + '@vitejs/plugin-vue': 6.0.8(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41) + '@vueuse/core': 14.4.0(vue@3.5.41) class-variance-authority: 0.7.1 clsx: 2.1.1 color-shorthand-hex-to-six-digit: 5.1.3 @@ -12758,7 +15980,7 @@ snapshots: postcss-sort-media-queries: 6.7.1(postcss@8.5.26) postcss-value-parser: 4.2.0 query-string: 9.5.0 - reka-ui: 2.10.3(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + reka-ui: 2.10.3(vue@3.5.41) shiki: 4.4.3 string-strip-html: 13.5.3 tailwind-merge: 3.6.0 @@ -12766,44 +15988,38 @@ snapshots: tinypool: 2.1.0 tw-animate-css: 1.4.0 typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 - unplugin-auto-import: 21.1.0(@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))))(@vueuse/core@14.4.0(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(esbuild@0.28.2)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) - unplugin-vue-components: 32.1.0(@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))))(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) - unplugin-vue-markdown: 32.0.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) + unplugin-auto-import: 21.1.0(@vueuse/core@14.4.0(vue@3.5.41)) + unplugin-vue-components: 32.1.0(@nuxt/kit@3.21.11)(vue@3.5.41) + unplugin-vue-markdown: 32.0.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) uqr: 0.1.3 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) - vue-router: 5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vue: 3.5.41 + vue-router: 5.2.0(@vue/compiler-sfc@3.5.41)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41) transitivePeerDependencies: - '@farmfe/core' - '@nuxt/kit' - '@oxc-project/types' - '@pinia/colada' - '@rspack/core' - - '@types/node' - '@unhead/cli' - '@vitejs/devtools' - '@vitejs/devtools-kit' - - '@vue/compiler-sfc' - '@vue/composition-api' - bun-types-no-globals - - esbuild - less - lightningcss - oxc-parser - pinia - rolldown - - rollup - sass - sass-embedded - stylus - sugarss - svelte - - terser - - tsx - unloader - vite-plus - - webpack - - yaml + bundledDependencies: + - maizzle '@maizzle/tailwindcss@1.5.6': {} @@ -12834,11 +16050,11 @@ snapshots: '@mdit-vue/types@3.0.2': {} - '@mdream/crawl@1.6.1(magicast@0.5.4)(playwright@1.62.1)': + '@mdream/crawl@1.6.1': dependencies: '@clack/prompts': 1.7.0 '@mdream/js': 1.6.1 - c12: 3.3.4(magicast@0.5.4) + c12: 3.3.4 hookable: 6.1.1 mdream: 1.6.1 nypm: 0.6.9 @@ -12847,8 +16063,6 @@ snapshots: picomatch: 4.0.5 tldts: 7.4.10 ufo: 1.6.4 - optionalDependencies: - playwright: 1.62.1 transitivePeerDependencies: - magicast @@ -12889,6 +16103,13 @@ snapshots: '@mdream/rust-wasm32-wasi@1.6.1': optional: true + bundledDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + - '@emnapi/wasi-threads' + - '@napi-rs/wasm-runtime' + - '@tybys/wasm-util' + - tslib '@mdream/rust-win32-arm64-msvc@1.6.1': optional: true @@ -12898,25 +16119,29 @@ snapshots: '@microsoft/microsoft-graph-client@3.0.7(@azure/identity@4.13.1)': dependencies: + '@azure/identity': 4.13.1 '@babel/runtime': 7.29.7 tslib: 2.8.1 - optionalDependencies: - '@azure/identity': 4.13.1 '@mistralai/mistralai@2.2.6(@opentelemetry/api@1.9.0)': dependencies: + '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.43.0 ws: 8.21.3 zod: 4.4.3 zod-to-json-schema: 3.25.2(zod@4.4.3) - optionalDependencies: - '@opentelemetry/api': 1.9.0 transitivePeerDependencies: - bufferutil - utf-8-validate '@mixmark-io/domino@2.2.0': {} + '@miyaneee/rollup-plugin-json5@1.2.0(rollup@4.62.4)': + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.4) + json5: 2.2.3 + rollup: 4.62.4 + '@modelcontextprotocol/sdk@1.30.0(zod@4.1.11)': dependencies: '@hono/node-server': 1.19.17(hono@4.13.1) @@ -12939,33 +16164,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@modelcontextprotocol/sdk@1.30.0(zod@4.4.3)': - dependencies: - '@hono/node-server': 1.19.17(hono@4.13.1) - ajv: 8.20.0 - ajv-formats: 3.0.1(ajv@8.20.0) - content-type: 1.0.5 - cors: 2.8.6 - cross-spawn: 7.0.6 - eventsource: 3.0.7 - eventsource-parser: 3.1.1 - express: 5.2.1 - express-rate-limit: 8.6.2(express@5.2.1) - hono: 4.13.1 - jose: 6.2.8 - json-schema-typed: 8.0.2 - pkce-challenge: 5.0.1 - raw-body: 3.0.2 - zod: 4.4.3 - zod-to-json-schema: 3.25.2(zod@4.4.3) - transitivePeerDependencies: - - supports-color - optional: true - '@mongodb-js/saslprep@1.4.13': dependencies: sparse-bitfield: 3.0.3 - optional: true '@mongodb-js/zstd@7.0.0': dependencies: @@ -12973,6 +16174,11 @@ snapshots: prebuild-install: 7.1.3 optional: true + '@mrleebo/prisma-ast@0.13.1': + dependencies: + chevrotain: 10.5.0 + lilconfig: 2.1.0 + '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4': optional: true @@ -13118,6 +16324,13 @@ snapshots: '@napi-rs/nice-win32-x64-msvc': 1.1.1 optional: true + '@napi-rs/wasm-runtime@1.2.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.3 + optional: true + '@napi-rs/wasm-runtime@1.2.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: '@emnapi/core': 1.11.2 @@ -13193,93 +16406,328 @@ snapshots: '@nodable/entities@3.0.0': {} - '@nuxt/kit@4.4.8(magicast@0.5.4)': + '@nodelib/fs.scandir@2.1.5': dependencies: - c12: 3.3.4(magicast@0.5.4) + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@nuxt/cli@3.37.0(@nuxt/schema@4.5.2)': + dependencies: + '@bomb.sh/tab': 0.0.19(citty@0.2.2) + '@clack/prompts': 1.7.0 + '@nuxt/schema': 4.5.2 + c12: 3.3.4 + citty: 0.2.2 + confbox: 0.2.4 consola: 3.4.2 + debug: 4.4.3 defu: 6.1.7 - destr: 2.0.5 - errx: 0.1.2 exsolve: 1.1.1 - ignore: 7.0.6 + fuse.js: 7.5.0 + fzf: 0.5.2 + giget: 3.3.1 jiti: 2.7.0 - klona: 2.0.6 - mlly: 1.8.2 + listhen: 1.10.1 + nypm: 0.6.9 + ofetch: 1.5.1 ohash: 2.0.11 pathe: 2.0.3 + perfect-debounce: 2.1.0 pkg-types: 2.3.1 - rc9: 3.0.1 scule: 1.3.0 semver: 7.8.5 - tinyglobby: 0.2.17 + srvx: 0.11.22 + std-env: 4.2.0 + tinyclip: 0.1.15 + tinyexec: 1.3.0 ufo: 1.6.4 - unctx: 2.5.0 - untyped: 2.0.0 + youch: 4.1.1 transitivePeerDependencies: + - '@parcel/watcher' + - cac + - commander - magicast + - supports-color - '@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)))': + '@nuxt/devalue@2.0.2': {} + + '@nuxt/devtools-kit@2.7.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: - c12: 3.3.4(magicast@0.5.4) - consola: 3.4.2 - defu: 6.1.7 - destr: 2.0.5 - errx: 0.1.2 - exsolve: 1.1.1 - ignore: 7.0.6 - jiti: 2.7.0 - klona: 2.0.6 - mlly: 1.8.2 - nostics: 1.2.0 - ohash: 2.0.11 - pathe: 2.0.3 - pkg-types: 2.3.1 - rc9: 3.0.1 - scule: 1.3.0 - tinyglobby: 0.2.17 - ufo: 1.6.4 - unctx: 3.0.0(magic-string@1.1.0)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0))) - untyped: 2.0.0 - verkit: 0.3.2 + '@nuxt/kit': 3.21.11 + execa: 8.0.1 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - - magic-string - magicast - - oxc-parser - - rolldown - - unplugin - '@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)))': + '@nuxt/devtools-kit@3.4.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: - c12: 3.3.4(magicast@0.5.4) - consola: 3.4.2 - defu: 6.1.7 - destr: 2.0.5 - errx: 0.1.2 - exsolve: 1.1.1 - ignore: 7.0.6 - jiti: 2.7.0 - klona: 2.0.6 - mlly: 1.8.2 - nostics: 1.2.0 - ohash: 2.0.11 - pathe: 2.0.3 - pkg-types: 2.3.1 - rc9: 3.0.1 - scule: 1.3.0 - tinyglobby: 0.2.17 - ufo: 1.6.4 - unctx: 3.0.0(magic-string@1.1.0)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))) - untyped: 2.0.0 - verkit: 0.3.2 + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + execa: 8.0.1 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - - magic-string - magicast - oxc-parser - - rolldown - - unplugin - optional: true - '@nuxt/schema@4.5.2': + '@nuxt/devtools-wizard@3.4.1': + dependencies: + '@clack/prompts': 1.7.0 + consola: 3.4.2 + diff: 8.0.4 + execa: 8.0.1 + magicast: 0.5.4 + pathe: 2.0.3 + pkg-types: 2.3.1 + semver: 7.8.5 + + '@nuxt/devtools@3.4.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + dependencies: + '@nuxt/devtools-kit': 3.4.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@nuxt/devtools-wizard': 3.4.1 + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + '@vue/devtools-core': 8.2.1(vue@3.5.41) + '@vue/devtools-kit': 8.2.1 + birpc: 4.1.0 + consola: 3.4.2 + destr: 2.0.5 + error-stack-parser-es: 2.0.1 + execa: 8.0.1 + fast-npm-meta: 2.2.0 + get-port-please: 3.2.0 + hookable: 6.1.1 + image-meta: 0.2.2 + is-installed-globally: 1.0.0 + launch-editor: 2.14.1 + local-pkg: 1.2.1 + magicast: 0.5.4 + nypm: 0.6.9 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + semver: 7.8.5 + simple-git: 3.36.0 + sirv: 3.0.2 + structured-clone-es: 2.0.1 + tinyglobby: 0.2.17 + unstorage: 1.17.5 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite-plugin-inspect: 11.4.1(@nuxt/kit@4.5.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + vite-plugin-vue-tracer: 1.5.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41) + which: 6.0.1 + ws: 8.21.3 + transitivePeerDependencies: + - '@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 + - bufferutil + - db0 + - idb-keyval + - ioredis + - magicast + - oxc-parser + - supports-color + - uploadthing + - utf-8-validate + + '@nuxt/icon@2.5.0(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41)': + dependencies: + '@iconify/collections': 1.0.723 + '@iconify/types': 2.0.0 + '@iconify/utils': 3.1.4 + '@iconify/vue': 5.0.1(vue@3.5.41) + '@nuxt/devtools-kit': 3.4.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + consola: 3.4.2 + local-pkg: 1.2.1 + mlly: 1.8.2 + ohash: 2.0.11 + picomatch: 4.0.5 + std-env: 4.2.0 + tinyglobby: 0.2.17 + ufo: 1.6.4 + transitivePeerDependencies: + - magicast + - oxc-parser + + '@nuxt/kit@3.21.11': + dependencies: + c12: 3.3.4 + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.1.2 + exsolve: 1.1.1 + ignore: 7.0.6 + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + mlly: 1.8.2 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.1 + rc9: 3.0.1 + scule: 1.3.0 + semver: 7.8.5 + tinyglobby: 0.2.17 + ufo: 1.6.4 + unctx: 2.5.0 + untyped: 2.0.0 + transitivePeerDependencies: + - magicast + + '@nuxt/kit@4.4.8': + dependencies: + c12: 3.3.4 + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.1.2 + exsolve: 1.1.1 + ignore: 7.0.6 + jiti: 2.7.0 + klona: 2.0.6 + mlly: 1.8.2 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.1 + rc9: 3.0.1 + scule: 1.3.0 + semver: 7.8.5 + tinyglobby: 0.2.17 + ufo: 1.6.4 + unctx: 2.5.0 + untyped: 2.0.0 + transitivePeerDependencies: + - magicast + + '@nuxt/kit@4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2))': + dependencies: + c12: 3.3.4 + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.1.2 + exsolve: 1.1.1 + ignore: 7.0.6 + jiti: 2.7.0 + klona: 2.0.6 + mlly: 1.8.2 + nostics: 1.2.0 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.1 + rc9: 3.0.1 + scule: 1.3.0 + tinyglobby: 0.2.17 + ufo: 1.6.4 + unctx: 3.0.0(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + untyped: 2.0.0 + verkit: 0.3.2 + transitivePeerDependencies: + - magicast + - oxc-parser + + '@nuxt/nitro-server@4.5.2(nuxt@4.5.2(@types/node@24.13.3)(rolldown@1.2.3))': + dependencies: + '@nuxt/devalue': 2.0.2 + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + '@unhead/vue': 3.3.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41)(webpack@5.109.2) + '@vue/shared': 3.5.41 + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + devalue: 5.9.0 + errx: 0.1.2 + escape-string-regexp: 5.0.0 + exsolve: 1.1.1 + h3: 1.15.11 + impound: 1.1.6(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + klona: 2.0.6 + mocked-exports: 0.1.1 + nitropack: 2.13.4 + nostics: 1.2.0 + nuxt: 4.5.2(@types/node@24.13.3)(rolldown@1.2.3) + nypm: 0.6.9 + ohash: 2.0.11 + pathe: 2.0.3 + rou3: 0.9.1 + std-env: 4.2.0 + ufo: 1.6.4 + unctx: 3.0.0(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + unstorage: 1.17.5 + vue: 3.5.41 + vue-bundle-renderer: 2.3.2 + vue-devtools-stub: 0.1.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@farmfe/core' + - '@libsql/client' + - '@netlify/blobs' + - '@oxc-project/types' + - '@parcel/watcher' + - '@planetscale/database' + - '@rspack/core' + - '@unhead/cli' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - '@vitejs/devtools-kit' + - aws4fetch + - bare-abort-controller + - better-sqlite3 + - bun-types-no-globals + - db0 + - encoding + - idb-keyval + - ioredis + - lightningcss + - magicast + - oxc-parser + - react-native-b4a + - sqlite3 + - supports-color + - typescript + - unloader + - uploadthing + - xml2js + + '@nuxt/schema@3.21.11': + dependencies: + '@vue/shared': 3.5.41 + defu: 6.1.7 + pathe: 2.0.3 + pkg-types: 2.3.1 + std-env: 4.2.0 + + '@nuxt/schema@4.5.2': dependencies: '@vue/shared': 3.5.41 defu: 6.1.7 @@ -13288,6 +16736,181 @@ snapshots: pkg-types: 2.3.1 std-env: 4.2.0 + '@nuxt/telemetry@2.8.0(@nuxt/kit@4.5.2)': + dependencies: + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + citty: 0.2.2 + consola: 3.4.2 + ofetch: 2.0.0-alpha.3 + rc9: 3.0.1 + std-env: 4.2.0 + + '@nuxt/test-utils@4.1.0(@playwright/test@1.62.1)(@vue/test-utils@2.4.11(@vue/compiler-dom@3.5.41)(@vue/server-renderer@3.5.41)(vue@3.5.41))(happy-dom@20.11.2)(playwright-core@1.62.1)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))': + dependencies: + '@clack/prompts': 1.7.0 + '@nuxt/devtools-kit': 2.7.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@nuxt/kit': 3.21.11 + '@playwright/test': 1.62.1 + '@vue/test-utils': 2.4.11(@vue/compiler-dom@3.5.41)(@vue/server-renderer@3.5.41)(vue@3.5.41) + c12: 3.3.4 + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + estree-walker: 3.0.3 + exsolve: 1.1.1 + fake-indexeddb: 6.2.5 + get-port-please: 3.2.0 + h3: 1.15.11 + happy-dom: 20.11.2 + local-pkg: 1.2.1 + magic-string: 1.1.0 + node-fetch-native: 1.6.7 + node-mock-http: 1.0.5 + nypm: 0.6.9 + ofetch: 1.5.1 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + playwright-core: 1.62.1 + radix3: 1.1.2 + scule: 1.3.0 + std-env: 4.2.0 + tinyexec: 1.3.0 + ufo: 1.6.4 + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + vitest-environment-nuxt: 2.0.0(@playwright/test@1.62.1)(@vue/test-utils@2.4.11(@vue/compiler-dom@3.5.41)(@vue/server-renderer@3.5.41)(vue@3.5.41))(happy-dom@20.11.2)(playwright-core@1.62.1)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))) + vue: 3.5.41 + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals + - magicast + - typescript + - unloader + + '@nuxt/vite-builder@4.5.2(nuxt@4.5.2(@types/node@24.13.3)(rolldown@1.2.3))(rolldown@1.2.3)(vue@3.5.41)': + dependencies: + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + '@vitejs/plugin-vue': 6.0.8(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41) + '@vitejs/plugin-vue-jsx': 5.1.6(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41) + autoprefixer: 10.5.4(postcss@8.5.26) + consola: 3.4.2 + cssnano: 8.0.5(postcss@8.5.26) + defu: 6.1.7 + escape-string-regexp: 5.0.0 + exsolve: 1.1.1 + generic-names: 4.0.0 + get-port-please: 3.2.0 + jiti: 2.7.0 + js-tokens: 10.0.0 + knitwork: 1.3.0 + mlly: 1.8.2 + mocked-exports: 0.1.1 + nuxt: 4.5.2(@types/node@24.13.3)(rolldown@1.2.3) + nypm: 0.6.9 + pathe: 2.0.3 + pkg-types: 2.3.1 + postcss: 8.5.26 + rolldown: 1.2.3 + rolldown-string: 0.3.1(rolldown@1.2.3) + seroval: 1.6.2 + std-env: 4.2.0 + ufo: 1.6.4 + unenv: 2.0.0-rc.24 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite-node: 6.0.0(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite-plugin-checker: 0.14.5(eslint@10.8.1(jiti@2.7.0))(oxlint@1.78.0(oxlint-tsgolint@7.0.2001))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue-tsc@3.3.9(typescript@6.0.3-bridge.12.tsgo.7.0.2)) + vue: 3.5.41 + vue-bundle-renderer: 2.3.2 + transitivePeerDependencies: + - '@biomejs/biome' + - '@vitejs/devtools' + - less + - magicast + - meow + - optionator + - oxc-parser + - sass + - sass-embedded + - stylelint + - stylus + - sugarss + - supports-color + - typescript + + '@nuxtjs/color-mode@4.0.1(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2))': + dependencies: + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + exsolve: 1.1.1 + pathe: 2.0.3 + pkg-types: 2.3.1 + semver: 7.8.5 + transitivePeerDependencies: + - magicast + - oxc-parser + + '@nuxtjs/i18n@10.6.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41)(webpack@5.109.2)': + dependencies: + '@intlify/core': 11.4.8 + '@intlify/h3': 0.7.4 + '@intlify/message-compiler': 11.4.8 + '@intlify/shared': 11.4.8 + '@intlify/unplugin-vue-i18n': 11.2.4(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41)(vue-i18n@11.4.8(vue@3.5.41)) + '@intlify/utils': 0.14.1 + '@miyaneee/rollup-plugin-json5': 1.2.0(rollup@4.62.4) + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + '@rollup/plugin-yaml': 4.1.2(rollup@4.62.4) + '@vue/compiler-sfc': 3.5.41 + confbox: 0.2.4 + defu: 6.1.7 + devalue: 5.9.0 + h3: 1.15.11 + knitwork: 1.3.0 + magic-string: 0.30.21 + mlly: 1.8.2 + nuxt-define: 1.0.0 + oxc-parser: 0.141.0 + oxc-transform: 0.141.0 + oxc-walker: 0.7.0(oxc-parser@0.141.0) + pathe: 2.0.3 + ufo: 1.6.4 + unhead: 3.3.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + unrouting: 0.2.2 + unstorage: 1.17.5 + vue-i18n: 11.4.8(vue@3.5.41) + vue-router: 5.2.0(@vue/compiler-sfc@3.5.41)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@farmfe/core' + - '@netlify/blobs' + - '@pinia/colada' + - '@planetscale/database' + - '@rspack/core' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bun-types-no-globals + - db0 + - idb-keyval + - ioredis + - magicast + - oxc-parser + - petite-vue-i18n + - pinia + - supports-color + - unloader + - uploadthing + '@oclif/core@4.11.4': dependencies: ansi-escapes: 4.3.2 @@ -13313,6 +16936,54 @@ snapshots: dependencies: '@oclif/core': 4.11.4 + '@one-ini/wasm@0.1.1': {} + + '@onmax/nuxt-better-auth@0.0.7(better-auth@1.6.26(@prisma/client@5.22.0(prisma@7.9.1))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mongodb@7.5.0)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vue@3.5.41))': + dependencies: + '@better-auth/cli': 1.5.0-beta.13(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.1)(better-call@1.2.1(zod@4.4.3))(drizzle-kit@0.31.10)(jose@6.2.8)(kysely@0.28.17)(mongodb@7.5.0)(mysql2@3.15.3)(nanostores@1.4.2)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vue@3.5.41) + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + better-auth: 1.6.26(@prisma/client@5.22.0(prisma@7.9.1))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mongodb@7.5.0)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vue@3.5.41) + defu: 6.1.7 + h3: 1.15.11 + jiti: 2.7.0 + pathe: 2.0.3 + radix3: 1.1.2 + std-env: 4.2.0 + ufo: 1.6.4 + transitivePeerDependencies: + - '@aws-sdk/client-rds-data' + - '@cloudflare/workers-types' + - '@electric-sql/pglite' + - '@libsql/client' + - '@libsql/client-wasm' + - '@lynx-js/react' + - '@neondatabase/serverless' + - '@op-engineering/op-sqlite' + - '@planetscale/database' + - '@sveltejs/kit' + - '@tanstack/react-start' + - '@tanstack/solid-start' + - '@tidbcloud/serverless' + - '@types/better-sqlite3' + - '@types/sql.js' + - '@vercel/postgres' + - '@xata.io/client' + - better-sqlite3 + - bun-types + - expo-sqlite + - gel + - knex + - magicast + - next + - oxc-parser + - pg-native + - postgres + - solid-js + - sql.js + - sqlite3 + - supports-color + - svelte + '@opentelemetry/api-logs@0.220.0': dependencies: '@opentelemetry/api': 1.9.0 @@ -13374,28 +17045,28 @@ snapshots: '@opentelemetry/semantic-conventions@1.43.0': {} - '@orpc/client@2.0.0-beta.26(@opentelemetry/api@1.9.1)': + '@orpc/client@2.0.0-beta.26': dependencies: - '@orpc/shared': 2.0.0-beta.26(@opentelemetry/api@1.9.1) + '@orpc/shared': 2.0.0-beta.26 '@standardserver/core': 0.7.1 '@standardserver/fetch': 0.7.1 '@standardserver/peer': 0.7.1 transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/contract@2.0.0-beta.26(@opentelemetry/api@1.9.1)': + '@orpc/contract@2.0.0-beta.26': dependencies: - '@orpc/client': 2.0.0-beta.26(@opentelemetry/api@1.9.1) - '@orpc/shared': 2.0.0-beta.26(@opentelemetry/api@1.9.1) + '@orpc/client': 2.0.0-beta.26 + '@orpc/shared': 2.0.0-beta.26 '@standard-schema/spec': 1.1.0 transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/server@2.0.0-beta.26(@opentelemetry/api@1.9.1)(crossws@0.4.10(srvx@0.11.22))': + '@orpc/server@2.0.0-beta.26(crossws@0.4.10)': dependencies: - '@orpc/client': 2.0.0-beta.26(@opentelemetry/api@1.9.1) - '@orpc/contract': 2.0.0-beta.26(@opentelemetry/api@1.9.1) - '@orpc/shared': 2.0.0-beta.26(@opentelemetry/api@1.9.1) + '@orpc/client': 2.0.0-beta.26 + '@orpc/contract': 2.0.0-beta.26 + '@orpc/shared': 2.0.0-beta.26 '@standardserver/aws-lambda': 0.7.1 '@standardserver/core': 0.7.1 '@standardserver/fastify': 0.7.1 @@ -13403,18 +17074,22 @@ snapshots: '@standardserver/node': 0.7.1 '@standardserver/peer': 0.7.1 cookie: 2.0.1 - optionalDependencies: - crossws: 0.4.10(srvx@0.11.22) + crossws: 0.4.10 transitivePeerDependencies: - '@opentelemetry/api' + - fastify - '@orpc/shared@2.0.0-beta.26(@opentelemetry/api@1.9.1)': + '@orpc/shared@2.0.0-beta.26': dependencies: '@standardserver/shared': 0.7.1 radash: 12.1.1 type-fest: 5.8.0 - optionalDependencies: - '@opentelemetry/api': 1.9.1 + + '@oxc-parser/binding-android-arm-eabi@0.131.0': + optional: true + + '@oxc-parser/binding-android-arm-eabi@0.141.0': + optional: true '@oxc-parser/binding-android-arm-eabi@0.142.0': optional: true @@ -13422,82 +17097,166 @@ snapshots: '@oxc-parser/binding-android-arm-eabi@0.143.0': optional: true + '@oxc-parser/binding-android-arm64@0.131.0': + optional: true + + '@oxc-parser/binding-android-arm64@0.141.0': + optional: true + '@oxc-parser/binding-android-arm64@0.142.0': optional: true '@oxc-parser/binding-android-arm64@0.143.0': optional: true + '@oxc-parser/binding-darwin-arm64@0.131.0': + optional: true + + '@oxc-parser/binding-darwin-arm64@0.141.0': + optional: true + '@oxc-parser/binding-darwin-arm64@0.142.0': optional: true '@oxc-parser/binding-darwin-arm64@0.143.0': optional: true + '@oxc-parser/binding-darwin-x64@0.131.0': + optional: true + + '@oxc-parser/binding-darwin-x64@0.141.0': + optional: true + '@oxc-parser/binding-darwin-x64@0.142.0': optional: true '@oxc-parser/binding-darwin-x64@0.143.0': optional: true + '@oxc-parser/binding-freebsd-x64@0.131.0': + optional: true + + '@oxc-parser/binding-freebsd-x64@0.141.0': + optional: true + '@oxc-parser/binding-freebsd-x64@0.142.0': optional: true '@oxc-parser/binding-freebsd-x64@0.143.0': optional: true + '@oxc-parser/binding-linux-arm-gnueabihf@0.131.0': + optional: true + + '@oxc-parser/binding-linux-arm-gnueabihf@0.141.0': + optional: true + '@oxc-parser/binding-linux-arm-gnueabihf@0.142.0': optional: true '@oxc-parser/binding-linux-arm-gnueabihf@0.143.0': optional: true + '@oxc-parser/binding-linux-arm-musleabihf@0.131.0': + optional: true + + '@oxc-parser/binding-linux-arm-musleabihf@0.141.0': + optional: true + '@oxc-parser/binding-linux-arm-musleabihf@0.142.0': optional: true '@oxc-parser/binding-linux-arm-musleabihf@0.143.0': optional: true + '@oxc-parser/binding-linux-arm64-gnu@0.131.0': + optional: true + + '@oxc-parser/binding-linux-arm64-gnu@0.141.0': + optional: true + '@oxc-parser/binding-linux-arm64-gnu@0.142.0': optional: true '@oxc-parser/binding-linux-arm64-gnu@0.143.0': optional: true + '@oxc-parser/binding-linux-arm64-musl@0.131.0': + optional: true + + '@oxc-parser/binding-linux-arm64-musl@0.141.0': + optional: true + '@oxc-parser/binding-linux-arm64-musl@0.142.0': optional: true '@oxc-parser/binding-linux-arm64-musl@0.143.0': optional: true + '@oxc-parser/binding-linux-ppc64-gnu@0.131.0': + optional: true + + '@oxc-parser/binding-linux-ppc64-gnu@0.141.0': + optional: true + '@oxc-parser/binding-linux-ppc64-gnu@0.142.0': optional: true '@oxc-parser/binding-linux-ppc64-gnu@0.143.0': optional: true + '@oxc-parser/binding-linux-riscv64-gnu@0.131.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-gnu@0.141.0': + optional: true + '@oxc-parser/binding-linux-riscv64-gnu@0.142.0': optional: true '@oxc-parser/binding-linux-riscv64-gnu@0.143.0': optional: true + '@oxc-parser/binding-linux-riscv64-musl@0.131.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-musl@0.141.0': + optional: true + '@oxc-parser/binding-linux-riscv64-musl@0.142.0': optional: true '@oxc-parser/binding-linux-riscv64-musl@0.143.0': optional: true + '@oxc-parser/binding-linux-s390x-gnu@0.131.0': + optional: true + + '@oxc-parser/binding-linux-s390x-gnu@0.141.0': + optional: true + '@oxc-parser/binding-linux-s390x-gnu@0.142.0': optional: true '@oxc-parser/binding-linux-s390x-gnu@0.143.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.142.0': + '@oxc-parser/binding-linux-x64-gnu@0.131.0': + optional: true + + '@oxc-parser/binding-linux-x64-gnu@0.141.0': + optional: true + + '@oxc-parser/binding-linux-x64-gnu@0.142.0': + optional: true + + '@oxc-parser/binding-linux-x64-gnu@0.143.0': + optional: true + + '@oxc-parser/binding-linux-x64-musl@0.131.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.143.0': + '@oxc-parser/binding-linux-x64-musl@0.141.0': optional: true '@oxc-parser/binding-linux-x64-musl@0.142.0': @@ -13506,12 +17265,32 @@ snapshots: '@oxc-parser/binding-linux-x64-musl@0.143.0': optional: true + '@oxc-parser/binding-openharmony-arm64@0.131.0': + optional: true + + '@oxc-parser/binding-openharmony-arm64@0.141.0': + optional: true + '@oxc-parser/binding-openharmony-arm64@0.142.0': optional: true '@oxc-parser/binding-openharmony-arm64@0.143.0': optional: true + '@oxc-parser/binding-wasm32-wasi@0.131.0': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + optional: true + + '@oxc-parser/binding-wasm32-wasi@0.141.0': + dependencies: + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + optional: true + '@oxc-parser/binding-wasm32-wasi@0.142.0': dependencies: '@emnapi/core': 1.11.2 @@ -13519,24 +17298,46 @@ snapshots: '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) optional: true + '@oxc-parser/binding-win32-arm64-msvc@0.131.0': + optional: true + + '@oxc-parser/binding-win32-arm64-msvc@0.141.0': + optional: true + '@oxc-parser/binding-win32-arm64-msvc@0.142.0': optional: true '@oxc-parser/binding-win32-arm64-msvc@0.143.0': optional: true + '@oxc-parser/binding-win32-ia32-msvc@0.131.0': + optional: true + + '@oxc-parser/binding-win32-ia32-msvc@0.141.0': + optional: true + '@oxc-parser/binding-win32-ia32-msvc@0.142.0': optional: true '@oxc-parser/binding-win32-ia32-msvc@0.143.0': optional: true + '@oxc-parser/binding-win32-x64-msvc@0.131.0': + optional: true + + '@oxc-parser/binding-win32-x64-msvc@0.141.0': + optional: true + '@oxc-parser/binding-win32-x64-msvc@0.142.0': optional: true '@oxc-parser/binding-win32-x64-msvc@0.143.0': optional: true + '@oxc-project/types@0.131.0': {} + + '@oxc-project/types@0.141.0': {} + '@oxc-project/types@0.142.0': {} '@oxc-project/types@0.143.0': {} @@ -13602,6 +17403,70 @@ snapshots: '@oxc-resolver/binding-win32-x64-msvc@11.24.2': optional: true + '@oxc-transform/binding-android-arm-eabi@0.141.0': + optional: true + + '@oxc-transform/binding-android-arm64@0.141.0': + optional: true + + '@oxc-transform/binding-darwin-arm64@0.141.0': + optional: true + + '@oxc-transform/binding-darwin-x64@0.141.0': + optional: true + + '@oxc-transform/binding-freebsd-x64@0.141.0': + optional: true + + '@oxc-transform/binding-linux-arm-gnueabihf@0.141.0': + optional: true + + '@oxc-transform/binding-linux-arm-musleabihf@0.141.0': + optional: true + + '@oxc-transform/binding-linux-arm64-gnu@0.141.0': + optional: true + + '@oxc-transform/binding-linux-arm64-musl@0.141.0': + optional: true + + '@oxc-transform/binding-linux-ppc64-gnu@0.141.0': + optional: true + + '@oxc-transform/binding-linux-riscv64-gnu@0.141.0': + optional: true + + '@oxc-transform/binding-linux-riscv64-musl@0.141.0': + optional: true + + '@oxc-transform/binding-linux-s390x-gnu@0.141.0': + optional: true + + '@oxc-transform/binding-linux-x64-gnu@0.141.0': + optional: true + + '@oxc-transform/binding-linux-x64-musl@0.141.0': + optional: true + + '@oxc-transform/binding-openharmony-arm64@0.141.0': + optional: true + + '@oxc-transform/binding-wasm32-wasi@0.141.0': + dependencies: + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + optional: true + + '@oxc-transform/binding-win32-arm64-msvc@0.141.0': + optional: true + + '@oxc-transform/binding-win32-ia32-msvc@0.141.0': + optional: true + + '@oxc-transform/binding-win32-x64-msvc@0.141.0': + optional: true + '@oxfmt/binding-android-arm-eabi@0.61.0': optional: true @@ -13791,31 +17656,52 @@ snapshots: '@oxlint/binding-win32-x64-msvc@1.78.0': optional: true + '@parcel/watcher-wasm@2.6.0': + dependencies: + is-glob: 4.0.3 + picomatch: 4.0.5 + bundledDependencies: + - napi-wasm + '@pkgjs/parseargs@0.11.0': optional: true - '@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))': - optionalDependencies: - prisma: 7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) - optional: true + '@playwright/test@1.62.1': + dependencies: + playwright: 1.62.1 + + '@polka/url@1.0.0-next.29': {} - '@prisma/config@7.9.1(magicast@0.5.4)': + '@poppinss/colors@4.1.6': dependencies: - c12: 3.3.4(magicast@0.5.4) + kleur: 4.1.5 + + '@poppinss/dumper@0.7.0': + dependencies: + '@poppinss/colors': 4.1.6 + '@sindresorhus/is': 7.2.0 + supports-color: 10.2.2 + + '@poppinss/exception@1.2.3': {} + + '@prisma/client@5.22.0(prisma@7.9.1)': + dependencies: + prisma: 7.9.1 + + '@prisma/config@7.9.1': + dependencies: + c12: 3.3.4 deepmerge-ts: 7.1.5 effect: 3.20.0 empathic: 2.0.0 transitivePeerDependencies: - magicast - optional: true - '@prisma/debug@7.2.0': - optional: true + '@prisma/debug@7.2.0': {} - '@prisma/debug@7.9.1': - optional: true + '@prisma/debug@7.9.1': {} - '@prisma/dev@0.24.17(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)': + '@prisma/dev@0.24.17': dependencies: '@electric-sql/pglite': 0.4.3 '@electric-sql/pglite-socket': 0.1.3(@electric-sql/pglite@0.4.3) @@ -13830,14 +17716,12 @@ snapshots: proper-lockfile: 4.1.2 remeda: 2.33.4 std-env: 3.10.0 - valibot: 1.4.2(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + valibot: 1.4.2 zeptomatch: 2.1.0 transitivePeerDependencies: - typescript - optional: true - '@prisma/engines-version@7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6ad': - optional: true + '@prisma/engines-version@7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6ad': {} '@prisma/engines@7.9.1': dependencies: @@ -13845,27 +17729,22 @@ snapshots: '@prisma/engines-version': 7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6ad '@prisma/fetch-engine': 7.9.1 '@prisma/get-platform': 7.9.1 - optional: true '@prisma/fetch-engine@7.9.1': dependencies: '@prisma/debug': 7.9.1 '@prisma/engines-version': 7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6ad '@prisma/get-platform': 7.9.1 - optional: true '@prisma/get-platform@7.2.0': dependencies: '@prisma/debug': 7.2.0 - optional: true '@prisma/get-platform@7.9.1': dependencies: '@prisma/debug': 7.9.1 - optional: true - '@prisma/query-plan-executor@7.2.0': - optional: true + '@prisma/query-plan-executor@7.2.0': {} '@prisma/streams-local@0.1.11': dependencies: @@ -13873,11 +17752,10 @@ snapshots: better-result: 2.10.0 env-paths: 3.0.0 proper-lockfile: 4.1.2 - optional: true - '@prisma/studio-core@0.33.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@prisma/studio-core@0.33.0(@types/react@19.2.18)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))': dependencies: - '@radix-ui/react-toggle': 1.1.10(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-toggle': 1.1.10(@types/react@19.2.18)(react@19.2.8)(react-dom@19.2.8(react@19.2.8)) '@types/react': 19.2.18 '@visx/curve': 4.0.1-alpha.0 '@visx/event': 4.0.1-alpha.0 @@ -13893,7 +17771,6 @@ snapshots: react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - '@types/react-dom' - optional: true '@protobufjs/aspromise@1.1.2': {} @@ -13923,83 +17800,68 @@ snapshots: dependencies: quansync: 1.0.0 - '@radix-ui/primitive@1.1.3': - optional: true + '@radix-ui/primitive@1.1.3': {} '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.18)(react@19.2.8)': dependencies: - react: 19.2.8 - optionalDependencies: '@types/react': 19.2.18 - optional: true + react: 19.2.8 - '@radix-ui/react-primitive@2.1.3(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-primitive@2.1.3(@types/react@19.2.18)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))': dependencies: '@radix-ui/react-slot': 1.2.3(@types/react@19.2.18)(react@19.2.8) + '@types/react': 19.2.18 react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - optionalDependencies: - '@types/react': 19.2.18 - optional: true '@radix-ui/react-slot@1.2.3(@types/react@19.2.18)(react@19.2.8)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.2.8) - react: 19.2.8 - optionalDependencies: '@types/react': 19.2.18 - optional: true + react: 19.2.8 - '@radix-ui/react-toggle@1.1.10(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-toggle@1.1.10(@types/react@19.2.18)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.18)(react@19.2.8)(react-dom@19.2.8(react@19.2.8)) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.18)(react@19.2.8) + '@types/react': 19.2.18 react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - optionalDependencies: - '@types/react': 19.2.18 - optional: true + transitivePeerDependencies: + - '@types/react-dom' '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.18)(react@19.2.8)': dependencies: '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.18)(react@19.2.8) '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.2.8) - react: 19.2.8 - optionalDependencies: '@types/react': 19.2.18 - optional: true + react: 19.2.8 '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.18)(react@19.2.8)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.2.8) - react: 19.2.8 - optionalDependencies: '@types/react': 19.2.18 - optional: true + react: 19.2.8 '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.18)(react@19.2.8)': dependencies: - react: 19.2.8 - optionalDependencies: '@types/react': 19.2.18 - optional: true + react: 19.2.8 - '@redstardev/unplugin-version-injector@0.0.2(@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0))))(@nuxt/schema@4.5.2)(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0))': + '@redstardev/unplugin-version-injector@0.0.2(@nuxt/kit@3.21.11)(@nuxt/schema@3.21.11)(esbuild@0.28.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)': dependencies: - '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0))) - '@nuxt/schema': 4.5.2 + '@nuxt/kit': 3.21.11 + '@nuxt/schema': 3.21.11 '@sapphire/result': 2.8.0 - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)) - optionalDependencies: esbuild: 0.28.2 - rollup: 4.62.4 - vite: 7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + webpack: 5.109.2 transitivePeerDependencies: + - '@farmfe/core' - '@rspack/core' - bun-types-no-globals - - rolldown - unloader '@rolldown/binding-android-arm64@1.2.3': @@ -14046,12 +17908,67 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} + '@rollup/plugin-alias@6.0.0(rollup@4.62.4)': + dependencies: + rollup: 4.62.4 + + '@rollup/plugin-commonjs@29.0.3(rollup@4.62.4)': + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.4) + commondir: 1.0.1 + estree-walker: 2.0.2 + fdir: 6.5.0(picomatch@4.0.5) + is-reference: 1.2.1 + magic-string: 0.30.21 + picomatch: 4.0.5 + rollup: 4.62.4 + + '@rollup/plugin-inject@5.0.5(rollup@4.62.4)': + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.4) + estree-walker: 2.0.2 + magic-string: 0.30.21 + rollup: 4.62.4 + + '@rollup/plugin-json@6.1.0(rollup@4.62.4)': + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.4) + rollup: 4.62.4 + + '@rollup/plugin-node-resolve@16.0.3(rollup@4.62.4)': + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.4) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-module: 1.0.0 + resolve: 1.22.12 + rollup: 4.62.4 + + '@rollup/plugin-replace@6.0.3(rollup@4.62.4)': + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.4) + magic-string: 0.30.21 + rollup: 4.62.4 + + '@rollup/plugin-terser@1.0.0(rollup@4.62.4)': + dependencies: + rollup: 4.62.4 + serialize-javascript: 7.1.0 + smob: 1.6.2 + terser: 5.49.2 + + '@rollup/plugin-yaml@4.1.2(rollup@4.62.4)': + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.4) + js-yaml: 4.3.1 + rollup: 4.62.4 + tosource: 2.0.0-alpha.3 + '@rollup/pluginutils@5.4.0(rollup@4.62.4)': dependencies: '@types/estree': 1.0.9 estree-walker: 2.0.2 picomatch: 4.0.5 - optionalDependencies: rollup: 4.62.4 '@rollup/rollup-android-arm-eabi@4.62.4': @@ -14173,6 +18090,12 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} + '@simple-git/args-pathspec@1.0.3': {} + + '@simple-git/argv-parser@1.1.1': + dependencies: + '@simple-git/args-pathspec': 1.0.3 + '@simple-libs/child-process-utils@2.0.0': dependencies: '@simple-libs/stream-utils': 2.0.0 @@ -14238,6 +18161,8 @@ snapshots: '@smithy/util-buffer-from': 2.2.0 tslib: 2.8.1 + '@speed-highlight/core@1.2.24': {} + '@stablelib/base64@1.0.1': {} '@standard-schema/spec@1.0.0': {} @@ -14285,9 +18210,9 @@ snapshots: iceberg-js: 0.8.1 tslib: 2.8.1 - '@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0)': + '@swc/cli@0.8.1(@swc/core@1.15.3)': dependencies: - '@swc/core': 1.15.3(@swc/helpers@0.5.23) + '@swc/core': 1.15.3 '@swc/counter': 0.1.3 '@xhmikosr/bin-wrapper': 14.5.1 commander: 8.3.0 @@ -14297,8 +18222,6 @@ snapshots: slash: 3.0.0 source-map: 0.7.6 tinyglobby: 0.2.17 - optionalDependencies: - chokidar: 5.0.0 transitivePeerDependencies: - bare-abort-controller - react-native-b4a @@ -14334,7 +18257,7 @@ snapshots: '@swc/core-win32-x64-msvc@1.15.3': optional: true - '@swc/core@1.15.3(@swc/helpers@0.5.23)': + '@swc/core@1.15.3': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.28 @@ -14349,7 +18272,6 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.15.3 '@swc/core-win32-ia32-msvc': 1.15.3 '@swc/core-win32-x64-msvc': 1.15.3 - '@swc/helpers': 0.5.23 '@swc/counter@0.1.3': {} @@ -14400,6 +18322,13 @@ snapshots: '@tailwindcss/oxide-wasm32-wasi@4.3.3': optional: true + bundledDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + - '@emnapi/wasi-threads' + - '@napi-rs/wasm-runtime' + - '@tybys/wasm-util' + - tslib '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': optional: true @@ -14430,23 +18359,23 @@ snapshots: postcss: 8.5.26 tailwindcss: 4.3.3 - '@tailwindcss/vite@4.3.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + '@tailwindcss/vite@4.3.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 tailwindcss: 4.3.3 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) '@tanstack/virtual-core@3.17.7': {} - '@tanstack/vue-virtual@3.13.35(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))': + '@tanstack/vue-virtual@3.13.35(vue@3.5.41)': dependencies: '@tanstack/virtual-core': 3.17.7 - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + vue: 3.5.41 '@tokenizer/inflate@0.4.1': dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 token-types: 6.1.2 transitivePeerDependencies: - supports-color @@ -14487,46 +18416,35 @@ snapshots: '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 - '@types/d3-array@3.0.3': - optional: true + '@types/d3-array@3.0.3': {} - '@types/d3-color@3.1.0': - optional: true + '@types/d3-color@3.1.0': {} - '@types/d3-delaunay@6.0.1': - optional: true + '@types/d3-delaunay@6.0.1': {} - '@types/d3-format@3.0.1': - optional: true + '@types/d3-format@3.0.1': {} '@types/d3-geo@3.1.0': dependencies: '@types/geojson': 7946.0.16 - optional: true '@types/d3-interpolate@3.0.1': dependencies: '@types/d3-color': 3.1.0 - optional: true - '@types/d3-path@3.1.1': - optional: true + '@types/d3-path@3.1.1': {} '@types/d3-scale@4.0.2': dependencies: '@types/d3-time': 3.0.0 - optional: true '@types/d3-shape@3.1.7': dependencies: '@types/d3-path': 3.1.1 - optional: true - '@types/d3-time-format@2.1.0': - optional: true + '@types/d3-time-format@2.1.0': {} - '@types/d3-time@3.0.0': - optional: true + '@types/d3-time@3.0.0': {} '@types/debug@4.1.13': dependencies: @@ -14534,13 +18452,11 @@ snapshots: '@types/deep-eql@4.0.2': {} - '@types/esrecurse@4.3.1': - optional: true + '@types/esrecurse@4.3.1': {} '@types/estree@1.0.9': {} - '@types/geojson@7946.0.16': - optional: true + '@types/geojson@7946.0.16': {} '@types/hast@3.0.5': dependencies: @@ -14586,12 +18502,10 @@ snapshots: '@types/node': 24.13.3 pg-protocol: 1.16.0 pg-types: 2.2.0 - optional: true '@types/react@19.2.18': dependencies: csstype: 3.2.3 - optional: true '@types/request@2.48.13': dependencies: @@ -14600,6 +18514,8 @@ snapshots: '@types/tough-cookie': 4.0.5 form-data: 2.5.6 + '@types/resolve@1.20.2': {} + '@types/retry@0.12.0': {} '@types/tough-cookie@4.0.5': {} @@ -14608,20 +18524,57 @@ snapshots: '@types/web-bluetooth@0.0.21': {} - '@types/webidl-conversions@7.0.3': - optional: true + '@types/webidl-conversions@7.0.3': {} - '@types/whatwg-mimetype@3.0.2': - optional: true + '@types/whatwg-mimetype@3.0.2': {} '@types/whatwg-url@13.0.0': dependencies: '@types/webidl-conversions': 7.0.3 - optional: true - '@types/ws@8.18.1': + '@types/ws@8.18.1': + dependencies: + '@types/node': 24.13.3 + + '@typescript-eslint/project-service@8.67.0(typescript@6.0.3-bridge.12.tsgo.7.0.2)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.67.0(typescript@6.0.3-bridge.12.tsgo.7.0.2) + '@typescript-eslint/types': 8.67.0 + debug: 4.4.3 + typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.67.0': + dependencies: + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/visitor-keys': 8.67.0 + + '@typescript-eslint/tsconfig-utils@8.67.0(typescript@6.0.3-bridge.12.tsgo.7.0.2)': + dependencies: + typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + + '@typescript-eslint/types@8.67.0': {} + + '@typescript-eslint/typescript-estree@8.67.0(typescript@6.0.3-bridge.12.tsgo.7.0.2)': + dependencies: + '@typescript-eslint/project-service': 8.67.0(typescript@6.0.3-bridge.12.tsgo.7.0.2) + '@typescript-eslint/tsconfig-utils': 8.67.0(typescript@6.0.3-bridge.12.tsgo.7.0.2) + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/visitor-keys': 8.67.0 + debug: 4.4.3 + minimatch: 10.2.6 + semver: 7.8.5 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@6.0.3-bridge.12.tsgo.7.0.2) + typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.67.0': dependencies: - '@types/node': 24.13.3 + '@typescript-eslint/types': 8.67.0 + eslint-visitor-keys: 5.0.1 '@typescript-native-bridge/darwin-arm64@6.0.3-bridge.12.tsgo.7.0.2': optional: true @@ -14654,37 +18607,33 @@ snapshots: '@ungap/structured-clone@1.3.3': {} - '@unhead/bundler@3.3.1(@oxc-project/types@0.143.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(unhead@3.3.1(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))': + '@unhead/bundler@3.3.1(esbuild@0.28.2)(rolldown@1.2.3)(unhead@3.3.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)': dependencies: - magic-string: 1.1.0 - oxc-walker: 1.1.1(@oxc-project/types@0.143.0)(oxc-parser@0.143.0)(rolldown@1.2.3) - unhead: 3.3.1(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) - optionalDependencies: esbuild: 0.28.2 - lightningcss: 1.33.0 - oxc-parser: 0.143.0 + magic-string: 1.1.0 + oxc-walker: 1.1.1(rolldown@1.2.3) rolldown: 1.2.3 + unhead: 3.3.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26) + webpack: 5.109.2 transitivePeerDependencies: - '@farmfe/core' - '@oxc-project/types' - '@rspack/core' - bun-types-no-globals - - rollup + - oxc-parser - unloader - '@unhead/vue@3.3.1(@oxc-project/types@0.143.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))': + '@unhead/vue@3.3.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41)(webpack@5.109.2)': dependencies: - '@unhead/bundler': 3.3.1(@oxc-project/types@0.143.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(unhead@3.3.1(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) + '@unhead/bundler': 3.3.1(esbuild@0.28.2)(rolldown@1.2.3)(unhead@3.3.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) hookable: 6.1.1 - unhead: 3.3.1(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) - optionalDependencies: - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26) + unhead: 3.3.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vue: 3.5.41 + webpack: 5.109.2 transitivePeerDependencies: - '@farmfe/core' - '@oxc-project/types' @@ -14692,11 +18641,184 @@ snapshots: - '@unhead/cli' - '@vitejs/devtools-kit' - bun-types-no-globals - - esbuild - lightningcss - oxc-parser - - rolldown - - rollup + - unloader + + '@unocss/cli@66.7.5': + dependencies: + '@jridgewell/remapping': 2.3.5 + '@unocss/config': 66.7.5 + '@unocss/core': 66.7.5 + '@unocss/preset-wind3': 66.7.5 + '@unocss/preset-wind4': 66.7.5 + '@unocss/transformer-directives': 66.7.5 + cac: 7.0.0 + chokidar: 5.0.0 + colorette: 2.0.20 + consola: 3.4.2 + magic-string: 0.30.21 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + tinyglobby: 0.2.17 + unplugin-utils: 0.3.2 + + '@unocss/config@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + colorette: 2.0.20 + consola: 3.4.2 + unconfig: 7.5.0 + + '@unocss/core@66.7.5': {} + + '@unocss/extractor-arbitrary-variants@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + + '@unocss/inspector@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + '@unocss/rule-utils': 66.7.5 + colorette: 2.0.20 + gzip-size: 6.0.0 + sirv: 3.0.2 + + '@unocss/nuxt@66.7.5(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)': + dependencies: + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + '@unocss/config': 66.7.5 + '@unocss/core': 66.7.5 + '@unocss/preset-attributify': 66.7.5 + '@unocss/preset-icons': 66.7.5 + '@unocss/preset-tagify': 66.7.5 + '@unocss/preset-typography': 66.7.5 + '@unocss/preset-web-fonts': 66.7.5 + '@unocss/preset-wind3': 66.7.5 + '@unocss/preset-wind4': 66.7.5 + '@unocss/reset': 66.7.5 + '@unocss/vite': 66.7.5(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@unocss/webpack': 66.7.5(webpack@5.109.2) + unocss: 66.7.5(@unocss/webpack@66.7.5(webpack@5.109.2)) + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - '@unocss/astro' + - '@unocss/postcss' + - bun-types-no-globals + - magicast + - oxc-parser + - unloader + + '@unocss/preset-attributify@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + + '@unocss/preset-icons@66.7.5': + dependencies: + '@iconify/utils': 3.1.4 + '@unocss/core': 66.7.5 + ofetch: 1.5.1 + + '@unocss/preset-mini@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + '@unocss/extractor-arbitrary-variants': 66.7.5 + '@unocss/rule-utils': 66.7.5 + + '@unocss/preset-tagify@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + + '@unocss/preset-typography@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + '@unocss/rule-utils': 66.7.5 + + '@unocss/preset-uno@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + '@unocss/preset-wind3': 66.7.5 + + '@unocss/preset-web-fonts@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + ofetch: 1.5.1 + + '@unocss/preset-wind3@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + '@unocss/preset-mini': 66.7.5 + '@unocss/rule-utils': 66.7.5 + + '@unocss/preset-wind4@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + '@unocss/extractor-arbitrary-variants': 66.7.5 + '@unocss/rule-utils': 66.7.5 + + '@unocss/preset-wind@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + '@unocss/preset-wind3': 66.7.5 + + '@unocss/reset@66.7.5': {} + + '@unocss/rule-utils@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + magic-string: 0.30.21 + + '@unocss/transformer-attributify-jsx@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + oxc-parser: 0.131.0 + oxc-walker: 0.7.0(oxc-parser@0.131.0) + + '@unocss/transformer-compile-class@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + + '@unocss/transformer-directives@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + '@unocss/rule-utils': 66.7.5 + css-tree: 3.2.1 + + '@unocss/transformer-variant-group@66.7.5': + dependencies: + '@unocss/core': 66.7.5 + + '@unocss/vite@66.7.5(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + dependencies: + '@jridgewell/remapping': 2.3.5 + '@unocss/config': 66.7.5 + '@unocss/core': 66.7.5 + '@unocss/inspector': 66.7.5 + chokidar: 5.0.0 + magic-string: 0.30.21 + pathe: 2.0.3 + tinyglobby: 0.2.17 + unplugin-utils: 0.3.2 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + + '@unocss/webpack@66.7.5(webpack@5.109.2)': + dependencies: + '@jridgewell/remapping': 2.3.5 + '@unocss/config': 66.7.5 + '@unocss/core': 66.7.5 + chokidar: 5.0.0 + magic-string: 0.30.21 + pathe: 2.0.3 + tinyglobby: 0.2.17 + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + unplugin-utils: 0.3.2 + webpack: 5.109.2 + webpack-sources: 3.5.1 + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals - unloader '@uploadthing/mime-types@0.3.6': {} @@ -14732,20 +18854,14 @@ snapshots: dependencies: execa: 5.1.1 - '@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3)': + '@vercel/functions@3.9.2': dependencies: '@vercel/oidc': 3.8.3 - optionalDependencies: - '@aws-sdk/credential-provider-web-identity': 3.972.49 - ws: 8.21.3 - '@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.73)(ws@8.21.3)': + '@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)': dependencies: + '@aws-sdk/credential-provider-web-identity': 3.972.49 '@vercel/oidc': 3.8.3 - optionalDependencies: - '@aws-sdk/credential-provider-web-identity': 3.972.73 - ws: 8.21.3 - optional: true '@vercel/nft@1.10.2(rollup@4.62.4)': dependencies: @@ -14763,7 +18879,6 @@ snapshots: resolve-from: 5.0.0 transitivePeerDependencies: - encoding - - rollup - supports-color '@vercel/oidc@3.2.0': {} @@ -14779,24 +18894,12 @@ snapshots: '@vercel/oidc': 3.2.0 mixpart: 0.0.5-alpha.1 - '@vercel/queue@0.4.0(@opentelemetry/api@1.9.0)': - dependencies: - '@vercel/oidc': 3.2.0 - minimatch: 10.2.6 - mixpart: 0.0.6 - picocolors: 1.1.1 - optionalDependencies: - '@opentelemetry/api': 1.9.0 - optional: true - - '@vercel/queue@0.4.0(@opentelemetry/api@1.9.1)': + '@vercel/queue@0.4.0': dependencies: '@vercel/oidc': 3.2.0 minimatch: 10.2.6 mixpart: 0.0.6 picocolors: 1.1.1 - optionalDependencies: - '@opentelemetry/api': 1.9.1 '@vercel/sandbox@1.10.2': dependencies: @@ -14817,13 +18920,11 @@ snapshots: '@visx/curve@4.0.1-alpha.0': dependencies: '@visx/vendor': 4.0.0-alpha.0 - optional: true '@visx/event@4.0.1-alpha.0': dependencies: '@types/react': 19.2.18 '@visx/point': 4.0.1-alpha.0 - optional: true '@visx/grid@4.0.1-alpha.0(react@19.2.8)': dependencies: @@ -14835,17 +18936,14 @@ snapshots: '@visx/shape': 4.0.1-alpha.0(react@19.2.8) classnames: 2.5.1 react: 19.2.8 - optional: true '@visx/group@4.0.1-alpha.0(react@19.2.8)': dependencies: '@types/react': 19.2.18 classnames: 2.5.1 react: 19.2.8 - optional: true - '@visx/point@4.0.1-alpha.0': - optional: true + '@visx/point@4.0.1-alpha.0': {} '@visx/responsive@4.0.1-alpha.0(react@19.2.8)': dependencies: @@ -14853,12 +18951,10 @@ snapshots: '@types/react': 19.2.18 lodash: 4.17.21 react: 19.2.8 - optional: true '@visx/scale@4.0.1-alpha.0': dependencies: '@visx/vendor': 4.0.0-alpha.0 - optional: true '@visx/shape@4.0.1-alpha.0(react@19.2.8)': dependencies: @@ -14871,7 +18967,6 @@ snapshots: classnames: 2.5.1 lodash: 4.17.21 react: 19.2.8 - optional: true '@visx/vendor@4.0.0-alpha.0': dependencies: @@ -14898,183 +18993,146 @@ snapshots: d3-time: 3.1.0 d3-time-format: 4.1.0 internmap: 2.0.3 - optional: true - '@vite-hub/agent@0.0.3(e3ac11330cc56a5ae0581caeb764d6f3)': + '@vite-hub/agent@0.0.3(ec966830e493cafda8aca782de65b552)': dependencies: '@ai-sdk/gateway': 4.0.26(zod@4.1.11) '@ai-sdk/harness': 1.0.39(ws@8.21.3)(zod@4.1.11) '@ai-sdk/harness-codex': 1.0.41(zod@4.1.11) - '@chat-adapter/telegram': 4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3))(zod@4.1.11) + '@chat-adapter/telegram': 4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35)(zod@4.1.11) '@libsql/client': 0.17.4 '@standard-schema/spec': 1.1.0 '@types/json-schema': 7.0.15 '@vercel/nft': 1.10.2(rollup@4.62.4) + '@vite-hub/blob': 0.0.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(files-sdk@2.2.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@google-cloud/storage@7.22.0)(@googleapis/drive@20.2.0)(@microsoft/microsoft-graph-client@3.0.7(@azure/identity@4.13.1))(@netlify/blobs@10.7.12)(@supabase/storage-js@2.112.3)(@vercel/blob@2.8.0)(ai@6.0.228(zod@4.1.11))(box-typescript-sdk-gen@1.19.1)(dropbox@10.44.0)(google-auth-library@10.9.1)(uploadthing@7.7.4)(zod@4.1.11))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) '@vite-hub/box': 0.0.3(@cloudflare/sandbox@0.8.14)(@vercel/sandbox@1.10.2) - '@vite-hub/markdown-template': 0.0.3(shiki@4.4.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) - '@vite-hub/rate-limit': 0.0.3(crossws@0.4.10(srvx@0.11.22))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/email': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/markdown-template': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/rate-limit': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) '@vite-hub/runtime': 0.0.3 - '@vite-hub/workspace': 0.0.3(33468760289d4590d9874b687ed4c692) + '@vite-hub/schedule': 0.0.3(@vite-hub/kv@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/workflow': 0.0.3(@vite-hub/database@0.0.3(drizzle-kit@0.31.10)(drizzle-orm@0.45.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(@workflow/builders@5.0.0-beta.35)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(workflow@5.0.0-beta.35) + '@vite-hub/workspace': 0.0.3(@vite-hub/shell@0.0.3)(ai@7.0.19(zod@4.1.11))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) ai: 7.0.19(zod@4.1.11) - chat: 4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3))(zod@4.1.11) - comark: 0.5.1(shiki@4.4.3) + chat: 4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35)(zod@4.1.11) + comark: 0.5.1 effect: 4.0.0-beta.99 esbuild: 0.27.7 - optionalDependencies: - '@vercel/functions': 3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3) - '@vite-hub/blob': 0.0.3(621f2d133689a798b971e272e867f995) - '@vite-hub/email': 0.0.3(nodemailer@9.0.5)(shiki@4.4.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) - '@vite-hub/schedule': 0.0.3(@vite-hub/kv@0.0.3(8a53785f9f051d6a68fdfff12dba5265))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) - '@vite-hub/workflow': 0.0.3(b1bd44eecded184e65f13188b99c3a4d) - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - vitest: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - '@asciidev/box-sdk' - '@cfworker/json-schema' - - '@cloudflare/sandbox' - '@vercel/blob' - - '@vercel/sandbox' - - '@vite-hub/shell' - beautiful-mermaid - bufferutil - - crossws - encoding - katex - - rollup - shiki - ssh2 - supports-color - unstorage - utf-8-validate - vue - - workflow - - ws - - zod - '@vite-hub/auth@0.0.3(1083681185f5b4504bc76411452cf458)': + '@vite-hub/auth@0.0.3(@vite-hub/agent@0.0.3(ec966830e493cafda8aca782de65b552))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: + '@vite-hub/agent': 0.0.3(ec966830e493cafda8aca782de65b552) '@vite-hub/runtime': 0.0.3 - better-auth: 1.6.26(ce6bbb557f8e987e3115bcd555e5f2e5) - optionalDependencies: - '@vite-hub/agent': 0.0.3(e3ac11330cc56a5ae0581caeb764d6f3) - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + better-auth: 1.6.26(@prisma/client@5.22.0(prisma@7.9.1))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1)(sql.js@1.14.1))(mongodb@7.5.0)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2))(vue@3.5.41) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - '@cloudflare/workers-types' - '@lynx-js/react' - - '@opentelemetry/api' - - '@prisma/client' - '@sveltejs/kit' - '@tanstack/react-start' - '@tanstack/solid-start' - better-sqlite3 - - drizzle-kit - - drizzle-orm - - mongodb - - mysql2 - next - - pg - - prisma - - react - - react-dom - solid-js - svelte - - vitest - - vue - '@vite-hub/blob@0.0.3(621f2d133689a798b971e272e867f995)': + '@vite-hub/blob@0.0.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(files-sdk@2.2.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@google-cloud/storage@7.22.0)(@googleapis/drive@20.2.0)(@microsoft/microsoft-graph-client@3.0.7(@azure/identity@4.13.1))(@netlify/blobs@10.7.12)(@supabase/storage-js@2.112.3)(@vercel/blob@2.8.0)(ai@6.0.228(zod@4.1.11))(box-typescript-sdk-gen@1.19.1)(dropbox@10.44.0)(google-auth-library@10.9.1)(uploadthing@7.7.4)(zod@4.1.11))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: + '@aws-sdk/client-s3': 3.1107.0 + '@aws-sdk/lib-storage': 3.1107.0(@aws-sdk/client-s3@3.1107.0) + '@aws-sdk/s3-presigned-post': 3.1107.0 + '@aws-sdk/s3-request-presigner': 3.1107.0 '@netlify/blobs': 10.7.12 '@vercel/blob': 2.8.0 '@vite-hub/runtime': 0.0.3 aws4fetch: 1.0.20 defu: 6.1.7 esbuild: 0.27.7 - h3: 2.0.1-rc.25(crossws@0.4.10(srvx@0.11.22)) + files-sdk: 2.2.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@google-cloud/storage@7.22.0)(@googleapis/drive@20.2.0)(@microsoft/microsoft-graph-client@3.0.7(@azure/identity@4.13.1))(@netlify/blobs@10.7.12)(@supabase/storage-js@2.112.3)(@vercel/blob@2.8.0)(ai@6.0.228(zod@4.1.11))(box-typescript-sdk-gen@1.19.1)(dropbox@10.44.0)(google-auth-library@10.9.1)(uploadthing@7.7.4)(zod@4.1.11) + h3: 2.0.1-rc.25(crossws@0.4.10) pathe: 2.0.3 - optionalDependencies: - '@aws-sdk/client-s3': 3.1107.0 - '@aws-sdk/lib-storage': 3.1107.0(@aws-sdk/client-s3@3.1107.0) - '@aws-sdk/s3-presigned-post': 3.1107.0 - '@aws-sdk/s3-request-presigner': 3.1107.0 - files-sdk: 2.2.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(@azure/core-auth@1.11.0)(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@google-cloud/storage@7.22.0)(@googleapis/drive@20.2.0)(@microsoft/microsoft-graph-client@3.0.7(@azure/identity@4.13.1))(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@netlify/blobs@10.7.12)(@opentelemetry/api@1.9.1)(@supabase/storage-js@2.112.3)(@vercel/blob@2.8.0)(ai@6.0.228(zod@4.1.11))(box-typescript-sdk-gen@1.19.1)(dropbox@10.44.0)(google-auth-library@10.9.1)(h3@1.15.11)(hono@4.13.1)(openai@6.26.0(ws@8.21.3)(zod@4.1.11))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3))(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(zod@4.1.11) - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - - crossws - supports-color '@vite-hub/box@0.0.3(@cloudflare/sandbox@0.8.14)(@vercel/sandbox@1.10.2)': dependencies: - '@vite-hub/runtime': 0.0.3 - optionalDependencies: '@cloudflare/sandbox': 0.8.14 '@vercel/sandbox': 1.10.2 + '@vite-hub/runtime': 0.0.3 - '@vite-hub/browser@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + '@vite-hub/browser@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: '@cloudflare/playwright': 1.3.5(playwright-core@1.62.1) '@vite-hub/runtime': 0.0.3 playwright-core: 1.62.1 - optionalDependencies: - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - '@vite-hub/cli@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + '@vite-hub/cli@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: pathe: 2.0.3 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - '@vite-hub/database@0.0.3(crossws@0.4.10(srvx@0.11.22))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + '@vite-hub/database@0.0.3(drizzle-kit@0.31.10)(drizzle-orm@0.45.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: '@libsql/client': 0.17.4 drizzle-kit: 0.31.10 - drizzle-orm: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1) + drizzle-orm: 0.45.2(@libsql/client@0.17.4) esbuild: 0.28.2 - h3: 2.0.1-rc.25(crossws@0.4.10(srvx@0.11.22)) + h3: 2.0.1-rc.25(crossws@0.4.10) pathe: 2.0.3 - optionalDependencies: vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - bufferutil - - crossws - utf-8-validate - '@vite-hub/email@0.0.3(nodemailer@9.0.5)(shiki@4.4.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + '@vite-hub/email@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: '@types/nodemailer': 8.0.1 - '@vite-hub/markdown-template': 0.0.3(shiki@4.4.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/markdown-template': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) '@vite-hub/runtime': 0.0.3 - comark: 0.5.1(shiki@4.4.3) - optionalDependencies: - nodemailer: 9.0.5 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + comark: 0.5.1 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - beautiful-mermaid - katex - shiki - '@vite-hub/env@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + '@vite-hub/env@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: '@vite-hub/runtime': 0.0.3 - optionalDependencies: - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - '@vite-hub/kv@0.0.3(8a53785f9f051d6a68fdfff12dba5265)': + '@vite-hub/kv@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: '@vite-hub/runtime': 0.0.3 defu: 6.1.7 - unstorage: 2.0.0-alpha.7(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(@vercel/blob@2.8.0)(@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3))(aws4fetch@1.0.20)(chokidar@5.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3))(ioredis@5.11.1)(lru-cache@11.5.2)(mongodb@7.5.0(@mongodb-js/zstd@7.0.0)(socks@2.8.9))(ofetch@2.0.0-alpha.3)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3)) - optionalDependencies: + unstorage: 2.0.0-alpha.7(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(uploadthing@7.7.4) vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - '@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' @@ -15086,50 +19144,45 @@ snapshots: - lru-cache - mongodb - ofetch - - uploadthing - '@vite-hub/markdown-template@0.0.3(shiki@4.4.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + '@vite-hub/markdown-template@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: - comark: 0.5.1(shiki@4.4.3) - optionalDependencies: - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + comark: 0.5.1 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - beautiful-mermaid - katex - shiki - '@vite-hub/queue@0.0.3(@aws-sdk/credential-provider-web-identity@3.972.49)(crossws@0.4.10(srvx@0.11.22))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(ws@8.21.3)': + '@vite-hub/queue@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: - '@vercel/functions': 3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3) + '@vercel/functions': 3.9.2 '@vercel/queue': 0.0.0-alpha.40 '@vite-hub/runtime': 0.0.3 defu: 6.1.7 esbuild: 0.27.7 - h3: 2.0.1-rc.25(crossws@0.4.10(srvx@0.11.22)) + h3: 2.0.1-rc.25(crossws@0.4.10) pathe: 2.0.3 - optionalDependencies: - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - '@aws-sdk/credential-provider-web-identity' - - crossws - ws - '@vite-hub/rate-limit@0.0.3(crossws@0.4.10(srvx@0.11.22))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + '@vite-hub/rate-limit@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: - h3: 2.0.1-rc.25(crossws@0.4.10(srvx@0.11.22)) - optionalDependencies: - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - transitivePeerDependencies: - - crossws + h3: 2.0.1-rc.25(crossws@0.4.10) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) '@vite-hub/runtime@0.0.3': {} - '@vite-hub/sandbox@0.0.3(@cloudflare/sandbox@0.8.14)(@vercel/sandbox@1.10.2)(crossws@0.4.10(srvx@0.11.22))(oxc-parser@0.143.0)(rolldown@1.2.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0))': + '@vite-hub/sandbox@0.0.3(@cloudflare/sandbox@0.8.14)(@vercel/sandbox@1.10.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: + '@cloudflare/sandbox': 0.8.14 + '@vercel/sandbox': 1.10.2 '@vite-hub/box': 0.0.3(@cloudflare/sandbox@0.8.14)(@vercel/sandbox@1.10.2) '@vite-hub/runtime': 0.0.3 esbuild: 0.28.2 - h3: 2.0.1-rc.25(crossws@0.4.10(srvx@0.11.22)) + h3: 2.0.1-rc.25(crossws@0.4.10) local-pkg: 1.2.1 mlly: 1.8.2 pathe: 2.0.3 @@ -15137,31 +19190,25 @@ snapshots: scule: 1.3.0 typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 ufo: 1.6.4 - unimport: 6.4.0(esbuild@0.28.2)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0)) - optionalDependencies: - '@cloudflare/sandbox': 0.8.14 - '@vercel/sandbox': 1.10.2 + unimport: 6.4.0 vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - '@asciidev/box-sdk' - '@farmfe/core' - '@rspack/core' - bun-types-no-globals - - crossws - oxc-parser - rolldown - ssh2 - unloader - - webpack - '@vite-hub/schedule@0.0.3(@vite-hub/kv@0.0.3(8a53785f9f051d6a68fdfff12dba5265))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + '@vite-hub/schedule@0.0.3(@vite-hub/kv@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: + '@vite-hub/kv': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) '@vite-hub/runtime': 0.0.3 cron-schedule: 6.0.0 effect: 4.0.0-beta.99 esbuild: 0.28.2 - optionalDependencies: - '@vite-hub/kv': 0.0.3(8a53785f9f051d6a68fdfff12dba5265) vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) '@vite-hub/shell@0.0.3': @@ -15184,107 +19231,100 @@ snapshots: transitivePeerDependencies: - '@cfworker/json-schema' - supports-color - - zod - '@vite-hub/workflow@0.0.3(b1bd44eecded184e65f13188b99c3a4d)': + '@vite-hub/workflow@0.0.3(@vite-hub/database@0.0.3(drizzle-kit@0.31.10)(drizzle-orm@0.45.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(@workflow/builders@5.0.0-beta.35)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(workflow@5.0.0-beta.35)': dependencies: - '@vercel/functions': 3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3) + '@vercel/functions': 3.9.2 + '@vite-hub/database': 0.0.3(drizzle-kit@0.31.10)(drizzle-orm@0.45.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) '@vite-hub/runtime': 0.0.3 + '@workflow/builders': 5.0.0-beta.35 defu: 6.1.7 esbuild: 0.28.2 - h3: 2.0.1-rc.25(crossws@0.4.10(srvx@0.11.22)) + h3: 2.0.1-rc.25(crossws@0.4.10) pathe: 2.0.3 - optionalDependencies: - '@vite-hub/database': 0.0.3(crossws@0.4.10(srvx@0.11.22))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) - '@workflow/builders': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - workflow: 5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3) + workflow: 5.0.0-beta.35 transitivePeerDependencies: - '@aws-sdk/credential-provider-web-identity' - - crossws - ws - '@vite-hub/workspace@0.0.3(33468760289d4590d9874b687ed4c692)': + '@vite-hub/workspace@0.0.3(@vite-hub/shell@0.0.3)(ai@6.0.228(zod@4.1.11))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: '@vercel/nft': 1.10.2(rollup@4.62.4) '@vite-hub/box': 0.0.3(@cloudflare/sandbox@0.8.14)(@vercel/sandbox@1.10.2) - '@vite-hub/markdown-template': 0.0.3(shiki@4.4.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/markdown-template': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) '@vite-hub/runtime': 0.0.3 + '@vite-hub/shell': 0.0.3 '@vite-hub/source': 0.0.3(zod@4.1.11) - ai: 7.0.19(zod@4.1.11) + ai: 6.0.228(zod@4.1.11) defu: 6.1.7 exsolve: 1.1.1 - h3: 2.0.1-rc.25(crossws@0.4.10(srvx@0.11.22)) + h3: 2.0.1-rc.25(crossws@0.4.10) isomorphic-git: 1.41.3 jiti: 2.7.0 minimatch: 10.2.6 - mountx: 0.0.2(unstorage@1.17.5(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(@vercel/blob@2.8.0)(@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3))(aws4fetch@1.0.20)(db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3))(ioredis@5.11.1)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3))) + mountx: 0.0.2 mrmime: 2.0.1 ofetch: 1.5.1 - optionalDependencies: - '@vercel/blob': 2.8.0 - '@vite-hub/shell': 0.0.3 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - '@asciidev/box-sdk' - '@cfworker/json-schema' - - '@cloudflare/sandbox' - - '@vercel/sandbox' - beautiful-mermaid - - crossws - encoding - katex - - rollup - shiki - ssh2 - supports-color - unstorage - - zod - '@vite-hub/workspace@0.0.3(8cf96a246888b22dc8a00a17364ad6d3)': + '@vite-hub/workspace@0.0.3(@vite-hub/shell@0.0.3)(ai@7.0.19(zod@4.1.11))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': dependencies: '@vercel/nft': 1.10.2(rollup@4.62.4) '@vite-hub/box': 0.0.3(@cloudflare/sandbox@0.8.14)(@vercel/sandbox@1.10.2) - '@vite-hub/markdown-template': 0.0.3(shiki@4.4.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/markdown-template': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) '@vite-hub/runtime': 0.0.3 + '@vite-hub/shell': 0.0.3 '@vite-hub/source': 0.0.3(zod@4.1.11) - ai: 6.0.228(zod@4.1.11) + ai: 7.0.19(zod@4.1.11) defu: 6.1.7 exsolve: 1.1.1 - h3: 2.0.1-rc.25(crossws@0.4.10(srvx@0.11.22)) + h3: 2.0.1-rc.25(crossws@0.4.10) isomorphic-git: 1.41.3 jiti: 2.7.0 minimatch: 10.2.6 - mountx: 0.0.2(unstorage@1.17.5(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(@vercel/blob@2.8.0)(@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3))(aws4fetch@1.0.20)(db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3))(ioredis@5.11.1)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3))) + mountx: 0.0.2 mrmime: 2.0.1 ofetch: 1.5.1 - optionalDependencies: - '@vercel/blob': 2.8.0 - '@vite-hub/shell': 0.0.3 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - '@asciidev/box-sdk' - '@cfworker/json-schema' - - '@cloudflare/sandbox' - - '@vercel/sandbox' - beautiful-mermaid - - crossws - encoding - katex - - rollup - shiki - ssh2 - supports-color - unstorage - - zod - '@vitejs/plugin-vue@6.0.8(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))': + '@vitejs/plugin-vue-jsx@5.1.6(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41)': dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) '@rolldown/pluginutils': 1.0.1 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.7) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vue: 3.5.41 + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@6.0.8(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41)': + dependencies: + '@rolldown/pluginutils': 1.0.1 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vue: 3.5.41 '@vitest/expect@3.2.7': dependencies: @@ -15294,64 +19334,127 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.7(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + '@vitest/expect@4.1.10': + dependencies: + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 + chai: 6.2.2 + tinyrainbow: 3.1.1 + + '@vitest/mocker@3.2.7(vite@7.3.6(@types/node@24.13.3)(tsx@4.23.12))': dependencies: '@vitest/spy': 3.2.7 estree-walker: 3.0.3 magic-string: 0.30.21 - optionalDependencies: - vite: 7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite: 7.3.6(@types/node@24.13.3)(tsx@4.23.12) + + '@vitest/mocker@4.1.10(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))': + dependencies: + '@vitest/spy': 4.1.10 + estree-walker: 3.0.3 + magic-string: 0.30.21 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) '@vitest/pretty-format@3.2.7': dependencies: tinyrainbow: 2.0.0 + '@vitest/pretty-format@4.1.10': + dependencies: + tinyrainbow: 3.1.1 + '@vitest/runner@3.2.7': dependencies: '@vitest/utils': 3.2.7 pathe: 2.0.3 strip-literal: 3.1.0 + '@vitest/runner@4.1.10': + dependencies: + '@vitest/utils': 4.1.10 + pathe: 2.0.3 + '@vitest/snapshot@3.2.7': dependencies: '@vitest/pretty-format': 3.2.7 magic-string: 0.30.21 pathe: 2.0.3 + '@vitest/snapshot@4.1.10': + dependencies: + '@vitest/pretty-format': 4.1.10 + '@vitest/utils': 4.1.10 + magic-string: 0.30.21 + pathe: 2.0.3 + '@vitest/spy@3.2.7': dependencies: tinyspy: 4.0.4 + '@vitest/spy@4.1.10': {} + '@vitest/utils@3.2.7': dependencies: '@vitest/pretty-format': 3.2.7 loupe: 3.2.1 tinyrainbow: 2.0.0 + '@vitest/utils@4.1.10': + dependencies: + '@vitest/pretty-format': 4.1.10 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.1 + '@volar/language-core@2.4.28': dependencies: '@volar/source-map': 2.4.28 - optional: true - '@volar/source-map@2.4.28': - optional: true + '@volar/source-map@2.4.28': {} '@volar/typescript@2.4.28': dependencies: '@volar/language-core': 2.4.28 path-browserify: 1.0.1 vscode-uri: 3.1.0 - optional: true - '@vue-macros/common@3.1.4(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))': + '@vue-macros/common@3.1.4(vue@3.5.41)': dependencies: '@vue/compiler-sfc': 3.5.41 - ast-kit: 2.2.0 - local-pkg: 1.2.1 - magic-string-ast: 1.0.3 - unplugin-utils: 0.3.2 - optionalDependencies: - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + ast-kit: 2.2.0 + local-pkg: 1.2.1 + magic-string-ast: 1.0.3 + unplugin-utils: 0.3.2 + vue: 3.5.41 + + '@vue/babel-helper-vue-transform-on@2.0.1': {} + + '@vue/babel-plugin-jsx@2.0.1(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + '@vue/babel-helper-vue-transform-on': 2.0.1 + '@vue/babel-plugin-resolve-type': 2.0.1(@babel/core@7.29.7) + '@vue/shared': 3.5.41 + transitivePeerDependencies: + - supports-color + + '@vue/babel-plugin-resolve-type@2.0.1(@babel/core@7.29.7)': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/parser': 7.29.8 + '@vue/compiler-sfc': 3.5.41 + transitivePeerDependencies: + - supports-color '@vue/compiler-core@3.5.41': dependencies: @@ -15383,10 +19486,18 @@ snapshots: '@vue/compiler-dom': 3.5.41 '@vue/shared': 3.5.41 + '@vue/devtools-api@6.6.4': {} + '@vue/devtools-api@8.2.1': dependencies: '@vue/devtools-kit': 8.2.1 + '@vue/devtools-core@8.2.1(vue@3.5.41)': + dependencies: + '@vue/devtools-kit': 8.2.1 + '@vue/devtools-shared': 8.2.1 + vue: 3.5.41 + '@vue/devtools-kit@8.2.1': dependencies: '@vue/devtools-shared': 8.2.1 @@ -15405,7 +19516,6 @@ snapshots: muggle-string: 0.4.1 path-browserify: 1.0.1 picomatch: 4.0.5 - optional: true '@vue/reactivity@3.5.41': dependencies: @@ -15431,43 +19541,45 @@ snapshots: '@vue/shared@3.5.41': {} - '@vueuse/core@14.4.0(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))': + '@vue/test-utils@2.4.11(@vue/compiler-dom@3.5.41)(@vue/server-renderer@3.5.41)(vue@3.5.41)': + dependencies: + '@vue/compiler-dom': 3.5.41 + '@vue/server-renderer': 3.5.41 + js-beautify: 1.15.4 + vue: 3.5.41 + vue-component-type-helpers: 3.3.9 + + '@vueuse/core@14.4.0(vue@3.5.41)': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 14.4.0 - '@vueuse/shared': 14.4.0(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + '@vueuse/shared': 14.4.0(vue@3.5.41) + vue: 3.5.41 '@vueuse/metadata@14.4.0': {} - '@vueuse/shared@14.4.0(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))': + '@vueuse/shared@14.4.0(vue@3.5.41)': dependencies: - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + vue: 3.5.41 '@webassemblyjs/ast@1.14.1': dependencies: '@webassemblyjs/helper-numbers': 1.13.2 '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - optional: true - '@webassemblyjs/floating-point-hex-parser@1.13.2': - optional: true + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} - '@webassemblyjs/helper-api-error@1.13.2': - optional: true + '@webassemblyjs/helper-api-error@1.13.2': {} - '@webassemblyjs/helper-buffer@1.14.1': - optional: true + '@webassemblyjs/helper-buffer@1.14.1': {} '@webassemblyjs/helper-numbers@1.13.2': dependencies: '@webassemblyjs/floating-point-hex-parser': 1.13.2 '@webassemblyjs/helper-api-error': 1.13.2 '@xtuc/long': 4.2.2 - optional: true - '@webassemblyjs/helper-wasm-bytecode@1.13.2': - optional: true + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} '@webassemblyjs/helper-wasm-section@1.14.1': dependencies: @@ -15475,20 +19587,16 @@ snapshots: '@webassemblyjs/helper-buffer': 1.14.1 '@webassemblyjs/helper-wasm-bytecode': 1.13.2 '@webassemblyjs/wasm-gen': 1.14.1 - optional: true '@webassemblyjs/ieee754@1.13.2': dependencies: '@xtuc/ieee754': 1.2.0 - optional: true '@webassemblyjs/leb128@1.13.2': dependencies: '@xtuc/long': 4.2.2 - optional: true - '@webassemblyjs/utf8@1.13.2': - optional: true + '@webassemblyjs/utf8@1.13.2': {} '@webassemblyjs/wasm-edit@1.14.1': dependencies: @@ -15500,7 +19608,6 @@ snapshots: '@webassemblyjs/wasm-opt': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 '@webassemblyjs/wast-printer': 1.14.1 - optional: true '@webassemblyjs/wasm-gen@1.14.1': dependencies: @@ -15509,7 +19616,6 @@ snapshots: '@webassemblyjs/ieee754': 1.13.2 '@webassemblyjs/leb128': 1.13.2 '@webassemblyjs/utf8': 1.13.2 - optional: true '@webassemblyjs/wasm-opt@1.14.1': dependencies: @@ -15517,7 +19623,6 @@ snapshots: '@webassemblyjs/helper-buffer': 1.14.1 '@webassemblyjs/wasm-gen': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 - optional: true '@webassemblyjs/wasm-parser@1.14.1': dependencies: @@ -15527,13 +19632,11 @@ snapshots: '@webassemblyjs/ieee754': 1.13.2 '@webassemblyjs/leb128': 1.13.2 '@webassemblyjs/utf8': 1.13.2 - optional: true '@webassemblyjs/wast-printer@1.14.1': dependencies: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - optional: true '@whatwg-node/disposablestack@0.0.6': dependencies: @@ -15564,13 +19667,13 @@ snapshots: '@whatwg-node/promise-helpers': 1.3.2 tslib: 2.8.1 - '@workflow/astro@5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3)': + '@workflow/astro@5.0.0-beta.35': dependencies: - '@swc/core': 1.15.3(@swc/helpers@0.5.23) - '@workflow/builders': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/rollup': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3(@swc/helpers@0.5.23)) - '@workflow/vite': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) + '@swc/core': 1.15.3 + '@workflow/builders': 5.0.0-beta.35 + '@workflow/rollup': 5.0.0-beta.35 + '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3) + '@workflow/vite': 5.0.0-beta.35 exsolve: 1.1.1 pathe: 2.0.3 transitivePeerDependencies: @@ -15579,15 +19682,15 @@ snapshots: - supports-color - ws - '@workflow/builders@5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3)': + '@workflow/builders@5.0.0-beta.35': dependencies: - '@swc/core': 1.15.3(@swc/helpers@0.5.23) - '@workflow/core': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(ws@8.21.3) + '@swc/core': 1.15.3 + '@workflow/core': 5.0.0-beta.35 '@workflow/errors': 5.0.0-beta.11 - '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3(@swc/helpers@0.5.23)) + '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3) '@workflow/utils': 5.0.0-beta.6 - '@workflow/world-local': 5.0.0-beta.29(@opentelemetry/api@1.9.1) - '@workflow/world-vercel': 5.0.0-beta.31(@opentelemetry/api@1.9.1) + '@workflow/world-local': 5.0.0-beta.29 + '@workflow/world-vercel': 5.0.0-beta.31 builtin-modules: 5.0.0 chalk: 5.6.2 enhanced-resolve: 5.19.0 @@ -15601,21 +19704,21 @@ snapshots: - supports-color - ws - '@workflow/cli@5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(react@19.2.8)(ws@8.21.3)': + '@workflow/cli@5.0.0-beta.35(react@19.2.8)': dependencies: '@oclif/core': 4.11.4 '@oclif/plugin-help': 6.2.37 - '@swc/core': 1.15.3(@swc/helpers@0.5.23) + '@swc/core': 1.15.3 '@vercel/cli-auth': 0.0.1 - '@workflow/builders': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/core': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(ws@8.21.3) + '@workflow/builders': 5.0.0-beta.35 + '@workflow/core': 5.0.0-beta.35 '@workflow/errors': 5.0.0-beta.11 - '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3(@swc/helpers@0.5.23)) + '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3) '@workflow/utils': 5.0.0-beta.6 - '@workflow/web': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(react@19.2.8) + '@workflow/web': 5.0.0-beta.35(react@19.2.8) '@workflow/world': 5.0.0-beta.21 - '@workflow/world-local': 5.0.0-beta.29(@opentelemetry/api@1.9.1) - '@workflow/world-vercel': 5.0.0-beta.31(@opentelemetry/api@1.9.1) + '@workflow/world-local': 5.0.0-beta.29 + '@workflow/world-vercel': 5.0.0-beta.31 boxen: 8.0.1 builtin-modules: 5.0.0 chalk: 5.6.2 @@ -15636,24 +19739,23 @@ snapshots: transitivePeerDependencies: - '@opentelemetry/api' - '@swc/helpers' - - react - supports-color - ws - '@workflow/core@5.0.0-beta.35(@opentelemetry/api@1.9.1)(ws@8.21.3)': + '@workflow/core@5.0.0-beta.35': dependencies: '@aws-sdk/credential-provider-web-identity': 3.972.49 '@jridgewell/trace-mapping': 0.3.31 '@standard-schema/spec': 1.0.0 '@types/ms': 2.1.0 - '@vercel/functions': 3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3) + '@vercel/functions': 3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49) '@workflow/errors': 5.0.0-beta.11 '@workflow/serde': 5.0.0-beta.2 '@workflow/utils': 5.0.0-beta.6 '@workflow/world': 5.0.0-beta.21 - '@workflow/world-local': 5.0.0-beta.29(@opentelemetry/api@1.9.1) - '@workflow/world-vercel': 5.0.0-beta.31(@opentelemetry/api@1.9.1) - debug: 4.4.3(supports-color@8.1.1) + '@workflow/world-local': 5.0.0-beta.29 + '@workflow/world-vercel': 5.0.0-beta.31 + debug: 4.4.3 devalue: 5.8.1 ms: 2.1.3 nanoid: 5.1.6 @@ -15661,9 +19763,8 @@ snapshots: semver: 7.7.4 ulid: 3.0.2 zod: 4.3.6 - optionalDependencies: - '@opentelemetry/api': 1.9.1 transitivePeerDependencies: + - '@opentelemetry/api' - supports-color - ws @@ -15672,14 +19773,14 @@ snapshots: '@workflow/utils': 5.0.0-beta.6 ms: 2.1.3 - '@workflow/nest@5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(ws@8.21.3)': + '@workflow/nest@5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@swc/cli@0.8.1(@swc/core@1.15.3))(@swc/core@1.15.3)': dependencies: '@nestjs/common': 11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2) '@nestjs/core': 11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@swc/cli': 0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0) - '@swc/core': 1.15.3(@swc/helpers@0.5.23) - '@workflow/builders': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3(@swc/helpers@0.5.23)) + '@swc/cli': 0.8.1(@swc/core@1.15.3) + '@swc/core': 1.15.3 + '@workflow/builders': 5.0.0-beta.35 + '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3) pathe: 2.0.3 transitivePeerDependencies: - '@opentelemetry/api' @@ -15687,12 +19788,12 @@ snapshots: - supports-color - ws - '@workflow/next@5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3)': + '@workflow/next@5.0.0-beta.35': dependencies: - '@swc/core': 1.15.3(@swc/helpers@0.5.23) - '@workflow/builders': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/core': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(ws@8.21.3) - '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3(@swc/helpers@0.5.23)) + '@swc/core': 1.15.3 + '@workflow/builders': 5.0.0-beta.35 + '@workflow/core': 5.0.0-beta.35 + '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3) chokidar: 4.0.3 semver: 7.7.4 transitivePeerDependencies: @@ -15701,42 +19802,40 @@ snapshots: - supports-color - ws - '@workflow/nitro@5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(react@19.2.8)(ws@8.21.3)': + '@workflow/nitro@5.0.0-beta.35(react@19.2.8)': dependencies: - '@swc/core': 1.15.3(@swc/helpers@0.5.23) - '@workflow/builders': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/core': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(ws@8.21.3) - '@workflow/rollup': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3(@swc/helpers@0.5.23)) - '@workflow/vite': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/web': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(react@19.2.8) + '@swc/core': 1.15.3 + '@workflow/builders': 5.0.0-beta.35 + '@workflow/core': 5.0.0-beta.35 + '@workflow/rollup': 5.0.0-beta.35 + '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3) + '@workflow/vite': 5.0.0-beta.35 + '@workflow/web': 5.0.0-beta.35(react@19.2.8) exsolve: 1.0.8 pathe: 2.0.3 transitivePeerDependencies: - '@opentelemetry/api' - '@swc/helpers' - - react - supports-color - ws - '@workflow/nuxt@5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(ws@8.21.3)': + '@workflow/nuxt@5.0.0-beta.35(react@19.2.8)': dependencies: - '@nuxt/kit': 4.4.8(magicast@0.5.4) - '@workflow/builders': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/nitro': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(react@19.2.8)(ws@8.21.3) + '@nuxt/kit': 4.4.8 + '@workflow/builders': 5.0.0-beta.35 + '@workflow/nitro': 5.0.0-beta.35(react@19.2.8) transitivePeerDependencies: - '@opentelemetry/api' - '@swc/helpers' - magicast - - react - supports-color - ws - '@workflow/rollup@5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3)': + '@workflow/rollup@5.0.0-beta.35': dependencies: - '@swc/core': 1.15.3(@swc/helpers@0.5.23) - '@workflow/builders': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3(@swc/helpers@0.5.23)) + '@swc/core': 1.15.3 + '@workflow/builders': 5.0.0-beta.35 + '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3) exsolve: 1.0.7 transitivePeerDependencies: - '@opentelemetry/api' @@ -15750,13 +19849,13 @@ snapshots: '@workflow/serde@5.0.0-beta.2': {} - '@workflow/sveltekit@5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3)': + '@workflow/sveltekit@5.0.0-beta.35': dependencies: - '@swc/core': 1.15.3(@swc/helpers@0.5.23) - '@workflow/builders': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/rollup': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3(@swc/helpers@0.5.23)) - '@workflow/vite': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) + '@swc/core': 1.15.3 + '@workflow/builders': 5.0.0-beta.35 + '@workflow/rollup': 5.0.0-beta.35 + '@workflow/swc-plugin': 5.0.0-beta.5(@swc/core@1.15.3) + '@workflow/vite': 5.0.0-beta.35 exsolve: 1.1.1 fs-extra: 11.4.0 pathe: 2.0.3 @@ -15766,40 +19865,37 @@ snapshots: - supports-color - ws - '@workflow/swc-plugin@5.0.0-beta.5(@swc/core@1.15.3(@swc/helpers@0.5.23))': + '@workflow/swc-plugin@5.0.0-beta.5(@swc/core@1.15.3)': dependencies: - '@swc/core': 1.15.3(@swc/helpers@0.5.23) + '@swc/core': 1.15.3 - '@workflow/typescript-plugin@5.0.0-beta.5(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)': - optionalDependencies: - typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + '@workflow/typescript-plugin@5.0.0-beta.5': {} '@workflow/utils@5.0.0-beta.6': dependencies: ms: 2.1.3 - '@workflow/vite@5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3)': + '@workflow/vite@5.0.0-beta.35': dependencies: - '@workflow/builders': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) + '@workflow/builders': 5.0.0-beta.35 transitivePeerDependencies: - '@opentelemetry/api' - '@swc/helpers' - supports-color - ws - '@workflow/web@5.0.0-beta.35(@opentelemetry/api@1.9.1)(react@19.2.8)': + '@workflow/web@5.0.0-beta.35(react@19.2.8)': dependencies: - '@workflow/world-local': 5.0.0-beta.29(@opentelemetry/api@1.9.1) + '@workflow/world-local': 5.0.0-beta.29 express: 5.2.1 swr: 2.5.0(react@19.2.8) transitivePeerDependencies: - '@opentelemetry/api' - - react - supports-color - '@workflow/world-local@5.0.0-beta.29(@opentelemetry/api@1.9.1)': + '@workflow/world-local@5.0.0-beta.29': dependencies: - '@vercel/queue': 0.4.0(@opentelemetry/api@1.9.1) + '@vercel/queue': 0.4.0 '@workflow/errors': 5.0.0-beta.11 '@workflow/utils': 5.0.0-beta.6 '@workflow/world': 5.0.0-beta.21 @@ -15807,21 +19903,21 @@ snapshots: ulid: 3.0.2 undici: 7.28.0 zod: 4.3.6 - optionalDependencies: - '@opentelemetry/api': 1.9.1 + transitivePeerDependencies: + - '@opentelemetry/api' - '@workflow/world-vercel@5.0.0-beta.31(@opentelemetry/api@1.9.1)': + '@workflow/world-vercel@5.0.0-beta.31': dependencies: '@vercel/oidc': 3.2.0 - '@vercel/queue': 0.4.0(@opentelemetry/api@1.9.1) + '@vercel/queue': 0.4.0 '@workflow/errors': 5.0.0-beta.11 '@workflow/world': 5.0.0-beta.21 cbor-x: 1.6.0 ulid: 3.0.2 undici: 7.28.0 zod: 4.3.6 - optionalDependencies: - '@opentelemetry/api': 1.9.1 + transitivePeerDependencies: + - '@opentelemetry/api' '@workflow/world@5.0.0-beta.21': dependencies: @@ -15921,11 +20017,9 @@ snapshots: dependencies: system-architecture: 1.0.0 - '@xtuc/ieee754@1.2.0': - optional: true + '@xtuc/ieee754@1.2.0': {} - '@xtuc/long@4.2.2': - optional: true + '@xtuc/long@4.2.2': {} '@yuku-codegen/binding-android-arm64@0.8.4': optional: true @@ -16001,6 +20095,8 @@ snapshots: '@yuku-toolchain/types@0.8.4': {} + abbrev@2.0.0: {} + abbrev@3.0.1: {} abort-controller@3.0.0: @@ -16019,7 +20115,6 @@ snapshots: acorn-jsx@5.3.2(acorn@8.18.0): dependencies: acorn: 8.18.0 - optional: true acorn@8.18.0: {} @@ -16027,7 +20122,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -16041,15 +20136,6 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 4.1.11 - ai@6.0.228(zod@4.4.3): - dependencies: - '@ai-sdk/gateway': 3.0.151(zod@4.4.3) - '@ai-sdk/provider': 3.0.14 - '@ai-sdk/provider-utils': 4.0.39(zod@4.4.3) - '@opentelemetry/api': 1.9.0 - zod: 4.4.3 - optional: true - ai@7.0.19(zod@4.1.11): dependencies: '@ai-sdk/gateway': 4.0.15(zod@4.1.11) @@ -16072,19 +20158,17 @@ snapshots: zod: 4.4.3 ajv-formats@2.1.1(ajv@8.20.0): - optionalDependencies: + dependencies: ajv: 8.20.0 - optional: true ajv-formats@3.0.1(ajv@8.20.0): - optionalDependencies: + dependencies: ajv: 8.20.0 ajv-keywords@5.1.0(ajv@8.20.0): dependencies: ajv: 8.20.0 fast-deep-equal: 3.1.3 - optional: true ajv@6.15.0: dependencies: @@ -16092,7 +20176,6 @@ snapshots: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - optional: true ajv@8.20.0: dependencies: @@ -16101,8 +20184,7 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - alien-signals@3.2.1: - optional: true + alien-signals@3.2.1: {} ansi-align@3.0.1: dependencies: @@ -16138,10 +20220,32 @@ snapshots: dependencies: normalize-path: 3.0.0 picomatch: 2.3.2 - optional: true anynum@1.0.1: {} + archiver-utils@5.0.2: + dependencies: + glob: 10.5.0 + graceful-fs: 4.2.11 + is-stream: 2.0.1 + lazystream: 1.0.1 + lodash: 4.17.21 + normalize-path: 3.0.0 + readable-stream: 4.7.0 + + archiver@7.0.1: + dependencies: + archiver-utils: 5.0.2 + async: 3.2.6 + buffer-crc32: 1.0.0 + readable-stream: 4.7.0 + readdir-glob: 1.1.3 + tar-stream: 3.1.7 + zip-stream: 6.0.1 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -16198,12 +20302,20 @@ snapshots: stubborn-fs: 2.0.0 when-exit: 2.1.5 + autoprefixer@10.5.4(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-lite: 1.0.30001809 + fraction.js: 5.3.4 + picocolors: 1.1.1 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 - aws-ssl-profiles@1.1.2: - optional: true + aws-ssl-profiles@1.1.2: {} aws4fetch@1.0.20: {} @@ -16223,40 +20335,110 @@ snapshots: basic-ftp@5.3.1: {} - better-auth@1.6.26(ce6bbb557f8e987e3115bcd555e5f2e5): + better-auth@1.5.0-beta.13(@prisma/client@5.22.0(prisma@7.9.1))(drizzle-kit@0.31.10)(drizzle-orm@0.41.0(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.28.17)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mongodb@7.5.0)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vue@3.5.41): + dependencies: + '@better-auth/core': 1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2) + '@better-auth/drizzle-adapter': 1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2))(@better-auth/utils@0.3.1)(drizzle-orm@0.41.0(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.28.17)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1)) + '@better-auth/kysely-adapter': 1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2))(@better-auth/utils@0.3.1)(kysely@0.28.17) + '@better-auth/memory-adapter': 1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2))(@better-auth/utils@0.3.1) + '@better-auth/mongo-adapter': 1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2))(@better-auth/utils@0.3.1)(mongodb@7.5.0) + '@better-auth/prisma-adapter': 1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2))(@better-auth/utils@0.3.1)(@prisma/client@5.22.0(prisma@7.9.1))(prisma@7.9.1) + '@better-auth/telemetry': 1.5.0-beta.13(@better-auth/core@1.5.0-beta.13(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.2.1(zod@4.4.3))(jose@6.2.8)(kysely@0.28.17)(nanostores@1.4.2)) + '@better-auth/utils': 0.3.1 + '@better-fetch/fetch': 1.1.21 + '@noble/ciphers': 2.3.0 + '@noble/hashes': 2.3.0 + '@prisma/client': 5.22.0(prisma@7.9.1) + better-call: 1.2.1(zod@4.4.3) + defu: 6.1.7 + drizzle-kit: 0.31.10 + drizzle-orm: 0.41.0(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.28.17)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1) + jose: 6.2.8 + kysely: 0.28.17 + mongodb: 7.5.0 + mysql2: 3.15.3 + nanostores: 1.4.2 + pg: 8.23.0 + prisma: 7.9.1 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + vue: 3.5.41 + zod: 4.4.3 + + better-auth@1.6.26(@prisma/client@5.22.0(prisma@7.9.1))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1)(sql.js@1.14.1))(mongodb@7.5.0)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2))(vue@3.5.41): dependencies: '@better-auth/core': 1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2) - '@better-auth/drizzle-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1)) + '@better-auth/drizzle-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1)(sql.js@1.14.1)) '@better-auth/kysely-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(kysely@0.29.5) '@better-auth/memory-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2) - '@better-auth/mongo-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(mongodb@7.5.0(@mongodb-js/zstd@7.0.0)(socks@2.8.9)) - '@better-auth/prisma-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + '@better-auth/mongo-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(mongodb@7.5.0) + '@better-auth/prisma-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(@prisma/client@5.22.0(prisma@7.9.1))(prisma@7.9.1) '@better-auth/telemetry': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1) '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 '@noble/ciphers': 2.3.0 '@noble/hashes': 2.3.0 + '@prisma/client': 5.22.0(prisma@7.9.1) better-call: 1.3.7(zod@4.4.3) defu: 6.1.7 + drizzle-kit: 0.31.10 + drizzle-orm: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1)(sql.js@1.14.1) jose: 6.2.8 kysely: 0.29.5 + mongodb: 7.5.0 + mysql2: 3.15.3 nanostores: 1.4.2 + pg: 8.23.0 + prisma: 7.9.1 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + vitest: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2) + vue: 3.5.41 zod: 4.4.3 - optionalDependencies: - '@prisma/client': 5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + transitivePeerDependencies: + - '@cloudflare/workers-types' + + better-auth@1.6.26(@prisma/client@5.22.0(prisma@7.9.1))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mongodb@7.5.0)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1)(react@19.2.8)(react-dom@19.2.8(react@19.2.8))(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vue@3.5.41): + dependencies: + '@better-auth/core': 1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2) + '@better-auth/drizzle-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1)(sql.js@1.14.1)) + '@better-auth/kysely-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(kysely@0.29.5) + '@better-auth/memory-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2) + '@better-auth/mongo-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(mongodb@7.5.0) + '@better-auth/prisma-adapter': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(@prisma/client@5.22.0(prisma@7.9.1))(prisma@7.9.1) + '@better-auth/telemetry': 1.6.26(@better-auth/core@1.6.26(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.8)(kysely@0.29.5)(nanostores@1.4.2))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1) + '@better-auth/utils': 0.4.2 + '@better-fetch/fetch': 1.3.1 + '@noble/ciphers': 2.3.0 + '@noble/hashes': 2.3.0 + '@prisma/client': 5.22.0(prisma@7.9.1) + better-call: 1.3.7(zod@4.4.3) + defu: 6.1.7 drizzle-kit: 0.31.10 - drizzle-orm: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1) - mongodb: 7.5.0(@mongodb-js/zstd@7.0.0)(socks@2.8.9) + drizzle-orm: 0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1) + jose: 6.2.8 + kysely: 0.29.5 + mongodb: 7.5.0 mysql2: 3.15.3 + nanostores: 1.4.2 pg: 8.23.0 - prisma: 7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + prisma: 7.9.1 react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - vitest: 3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + vue: 3.5.41 + zod: 4.4.3 transitivePeerDependencies: - '@cloudflare/workers-types' - - '@opentelemetry/api' + + better-call@1.2.1(zod@4.4.3): + dependencies: + '@better-auth/utils': 0.3.1 + '@better-fetch/fetch': 1.3.1 + rou3: 0.7.12 + set-cookie-parser: 2.7.2 + zod: 4.4.3 better-call@1.3.7(zod@4.4.3): dependencies: @@ -16264,11 +20446,9 @@ snapshots: '@better-fetch/fetch': 1.3.1 rou3: 0.7.12 set-cookie-parser: 3.1.2 - optionalDependencies: zod: 4.4.3 - better-result@2.10.0: - optional: true + better-result@2.10.0: {} bignumber.js@9.3.1: {} @@ -16289,6 +20469,8 @@ snapshots: birpc@2.9.0: {} + birpc@4.1.0: {} + bl@4.1.0: dependencies: buffer: 5.6.0 @@ -16300,7 +20482,7 @@ snapshots: dependencies: bytes: 3.1.2 content-type: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 http-errors: 2.0.1 iconv-lite: 0.7.3 on-finished: 2.4.1 @@ -16343,6 +20525,11 @@ snapshots: widest-line: 5.0.0 wrap-ansi: 9.0.2 + brace-expansion@1.1.18: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + brace-expansion@2.1.4: dependencies: balanced-match: 1.0.2 @@ -16351,6 +20538,10 @@ snapshots: dependencies: balanced-match: 4.0.4 + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + browserslist@4.28.8: dependencies: baseline-browser-mapping: 2.11.13 @@ -16359,8 +20550,9 @@ snapshots: node-releases: 2.0.53 update-browserslist-db: 1.3.1(browserslist@4.28.8) - bson@7.3.1: - optional: true + bson@7.3.1: {} + + buffer-crc32@1.0.0: {} buffer-equal-constant-time@1.0.1: {} @@ -16369,7 +20561,6 @@ snapshots: buffer-image-size@0.6.4: dependencies: '@types/node': 24.13.3 - optional: true buffer@5.6.0: dependencies: @@ -16391,7 +20582,7 @@ snapshots: bytes@3.1.2: {} - c12@3.3.4(magicast@0.5.4): + c12@3.3.4: dependencies: chokidar: 5.0.0 confbox: 0.2.4 @@ -16405,8 +20596,22 @@ snapshots: perfect-debounce: 2.1.0 pkg-types: 2.3.1 rc9: 3.0.1 - optionalDependencies: + + c12@3.3.4(magicast@0.5.4): + dependencies: + chokidar: 5.0.0 + confbox: 0.2.4 + defu: 6.1.7 + dotenv: 17.4.2 + exsolve: 1.1.1 + giget: 3.3.1 + jiti: 2.7.0 magicast: 0.5.4 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + rc9: 3.0.1 cac@6.7.14: {} @@ -16447,6 +20652,11 @@ snapshots: camelcase@8.0.0: {} + caniuse-api@4.0.0: + dependencies: + browserslist: 4.28.8 + caniuse-lite: 1.0.30001809 + caniuse-lite@1.0.30001809: {} cbor-extract@2.2.2: @@ -16475,6 +20685,8 @@ snapshots: loupe: 3.2.1 pathval: 2.0.1 + chai@6.2.2: {} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -16490,18 +20702,17 @@ snapshots: character-entities@2.0.2: {} - chat@4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3))(zod@4.1.11): + chat@4.35.0(ai@7.0.19(zod@4.1.11))(workflow@5.0.0-beta.35)(zod@4.1.11): dependencies: '@workflow/serde': 4.1.0-beta.2 + ai: 7.0.19(zod@4.1.11) mdast-util-to-string: 4.0.0 remark-gfm: 4.0.1 remark-parse: 11.0.0 remark-stringify: 11.0.0 remend: 1.3.0 unified: 11.0.5 - optionalDependencies: - ai: 7.0.19(zod@4.1.11) - workflow: 5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3) + workflow: 5.0.0-beta.35 zod: 4.1.11 transitivePeerDependencies: - supports-color @@ -16531,6 +20742,15 @@ snapshots: undici: 7.29.0 whatwg-mimetype: 4.0.0 + chevrotain@10.5.0: + dependencies: + '@chevrotain/cst-dts-gen': 10.5.0 + '@chevrotain/gast': 10.5.0 + '@chevrotain/types': 10.5.0 + '@chevrotain/utils': 10.5.0 + lodash: 4.17.21 + regexp-to-ast: 0.5.0 + chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -16544,8 +20764,7 @@ snapshots: chownr@3.0.0: {} - chrome-trace-event@1.0.4: - optional: true + chrome-trace-event@1.0.4: {} citty@0.1.6: dependencies: @@ -16561,8 +20780,7 @@ snapshots: dependencies: clsx: 2.1.1 - classnames@2.5.1: - optional: true + classnames@2.5.1: {} clean-git-ref@2.0.1: {} @@ -16612,8 +20830,7 @@ snapshots: clsx@2.1.1: {} - cluster-key-slot@1.1.1: - optional: true + cluster-key-slot@1.1.1: {} codsen-utils@1.7.3: dependencies: @@ -16631,14 +20848,14 @@ snapshots: hex-color-regex: 1.1.0 rfdc: 1.4.1 - comark@0.5.1(shiki@4.4.3): + colorette@2.0.20: {} + + comark@0.5.1: dependencies: entities: 8.0.0 htmlparser2: 12.0.0 js-yaml: 5.2.3 markdown-exit: 1.1.0-beta.2 - optionalDependencies: - shiki: 4.4.3 combined-stream@1.0.8: dependencies: @@ -16648,21 +20865,43 @@ snapshots: commander@10.0.1: {} + commander@11.1.0: {} + + commander@12.1.0: {} + commander@14.0.3: {} commander@15.0.0: {} - commander@2.20.3: - optional: true + commander@2.20.3: {} commander@6.2.1: {} commander@8.3.0: {} + commondir@1.0.1: {} + + compatx@0.2.0: {} + + compress-commons@6.0.2: + dependencies: + crc-32: 1.2.2 + crc32-stream: 6.0.0 + is-stream: 2.0.1 + normalize-path: 3.0.0 + readable-stream: 4.7.0 + + concat-map@0.0.1: {} + confbox@0.1.8: {} confbox@0.2.4: {} + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + consola@3.4.2: {} content-disposition@1.1.0: {} @@ -16688,8 +20927,13 @@ snapshots: convert-hrtime@5.0.0: {} - cookie-es@1.2.3: - optional: true + convert-source-map@2.0.0: {} + + cookie-es@1.2.3: {} + + cookie-es@2.0.1: {} + + cookie-es@3.1.1: {} cookie-signature@1.2.2: {} @@ -16697,31 +20941,38 @@ snapshots: cookie@2.0.1: {} + core-util-is@1.0.3: {} + cors@2.8.6: dependencies: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig-typescript-loader@6.3.0(@types/node@24.13.3)(cosmiconfig@9.0.2(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2): + cosmiconfig-typescript-loader@6.3.0(@types/node@24.13.3)(cosmiconfig@9.0.2)(typescript@6.0.3-bridge.12.tsgo.7.0.2): dependencies: '@types/node': 24.13.3 - cosmiconfig: 9.0.2(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + cosmiconfig: 9.0.2 jiti: 2.6.1 typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 - cosmiconfig@9.0.2(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2): + cosmiconfig@9.0.2: dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.3.1 parse-json: 5.2.0 - optionalDependencies: - typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 crc-32@1.2.2: {} + crc32-stream@6.0.0: + dependencies: + crc-32: 1.2.2 + readable-stream: 4.7.0 + cron-schedule@6.0.0: {} + croner@10.0.1: {} + croner@9.1.0: {} cross-spawn@7.0.6: @@ -16733,10 +20984,11 @@ snapshots: crossws@0.3.5: dependencies: uncrypto: 0.1.3 - optional: true + + crossws@0.4.10: {} crossws@0.4.10(srvx@0.11.22): - optionalDependencies: + dependencies: srvx: 0.11.22 css-select@5.2.2: @@ -16755,12 +21007,69 @@ snapshots: domutils: 4.0.2 nth-check: 3.0.1 + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + + css-tree@3.2.1: + dependencies: + mdn-data: 2.27.1 + source-map-js: 1.2.1 + css-what@6.2.2: {} css-what@8.0.0: {} cssesc@3.0.0: {} + cssnano-preset-default@8.0.5(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + cssnano-utils: 6.0.3(postcss@8.5.26) + postcss: 8.5.26 + postcss-calc: 10.1.1(postcss@8.5.26) + postcss-colormin: 8.0.3(postcss@8.5.26) + postcss-convert-values: 8.0.3(postcss@8.5.26) + postcss-discard-comments: 8.0.3(postcss@8.5.26) + postcss-discard-duplicates: 8.0.3(postcss@8.5.26) + postcss-discard-empty: 8.0.3(postcss@8.5.26) + postcss-discard-overridden: 8.0.3(postcss@8.5.26) + postcss-merge-longhand: 8.0.3(postcss@8.5.26) + postcss-merge-rules: 8.0.3(postcss@8.5.26) + postcss-minify-font-values: 8.0.3(postcss@8.5.26) + postcss-minify-gradients: 8.0.3(postcss@8.5.26) + postcss-minify-params: 8.0.3(postcss@8.5.26) + postcss-minify-selectors: 8.0.4(postcss@8.5.26) + postcss-normalize-charset: 8.0.3(postcss@8.5.26) + postcss-normalize-display-values: 8.0.3(postcss@8.5.26) + postcss-normalize-positions: 8.0.3(postcss@8.5.26) + postcss-normalize-repeat-style: 8.0.3(postcss@8.5.26) + postcss-normalize-string: 8.0.3(postcss@8.5.26) + postcss-normalize-timing-functions: 8.0.3(postcss@8.5.26) + postcss-normalize-unicode: 8.0.3(postcss@8.5.26) + postcss-normalize-url: 8.0.3(postcss@8.5.26) + postcss-normalize-whitespace: 8.0.3(postcss@8.5.26) + postcss-ordered-values: 8.0.3(postcss@8.5.26) + postcss-reduce-initial: 8.0.3(postcss@8.5.26) + postcss-reduce-transforms: 8.0.3(postcss@8.5.26) + postcss-svgo: 8.0.4(postcss@8.5.26) + postcss-unique-selectors: 8.0.3(postcss@8.5.26) + + cssnano-utils@6.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + cssnano@8.0.5(postcss@8.5.26): + dependencies: + cssnano-preset-default: 8.0.5(postcss@8.5.26) + lilconfig: 3.1.3 + postcss: 8.5.26 + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + csstype@3.2.3: {} culori@4.0.2: {} @@ -16768,36 +21077,28 @@ snapshots: d3-array@3.2.1: dependencies: internmap: 2.0.3 - optional: true d3-array@3.2.4: dependencies: internmap: 2.0.3 - optional: true - d3-color@3.1.0: - optional: true + d3-color@3.1.0: {} d3-delaunay@6.0.2: dependencies: delaunator: 5.1.0 - optional: true - d3-format@3.1.0: - optional: true + d3-format@3.1.0: {} d3-geo@3.1.0: dependencies: d3-array: 3.2.4 - optional: true d3-interpolate@3.0.1: dependencies: d3-color: 3.1.0 - optional: true - d3-path@3.1.0: - optional: true + d3-path@3.1.0: {} d3-scale@4.0.2: dependencies: @@ -16806,22 +21107,18 @@ snapshots: d3-interpolate: 3.0.1 d3-time: 3.1.0 d3-time-format: 4.1.0 - optional: true d3-shape@3.2.0: dependencies: d3-path: 3.1.0 - optional: true d3-time-format@4.1.0: dependencies: d3-time: 3.1.0 - optional: true d3-time@3.1.0: dependencies: d3-array: 3.2.4 - optional: true data-uri-to-buffer@4.0.1: {} @@ -16829,25 +21126,20 @@ snapshots: date-fns@4.1.0: {} - db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3): - optionalDependencies: - '@electric-sql/pglite': 0.4.3 - '@libsql/client': 0.17.4 - drizzle-orm: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1) - mysql2: 3.15.3 - optional: true + db0@0.3.4: {} - db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3): - optionalDependencies: - '@electric-sql/pglite': 0.4.3 - '@libsql/client': 0.17.4 - drizzle-orm: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1) + db0@0.3.4(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mysql2@3.15.3): + dependencies: + drizzle-orm: 0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1) mysql2: 3.15.3 + debug@4.4.3: + dependencies: + ms: 2.1.3 + debug@4.4.3(supports-color@8.1.1): dependencies: ms: 2.1.3 - optionalDependencies: supports-color: 8.1.1 decache@4.6.2: @@ -16873,11 +21165,11 @@ snapshots: deep-extend@0.6.0: optional: true - deep-is@0.1.4: - optional: true + deep-is@0.1.4: {} - deepmerge-ts@7.1.5: - optional: true + deepmerge-ts@7.1.5: {} + + deepmerge@4.3.1: {} default-browser-id@5.0.1: {} @@ -16918,12 +21210,10 @@ snapshots: delaunator@5.1.0: dependencies: robust-predicates: 3.0.3 - optional: true delayed-stream@1.0.0: {} - denque@2.1.0: - optional: true + denque@2.1.0: {} depd@2.0.0: {} @@ -16941,6 +21231,8 @@ snapshots: devalue@5.8.1: {} + devalue@5.9.0: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -16985,6 +21277,15 @@ snapshots: domelementtype: 3.0.0 domhandler: 6.0.1 + dot-object@2.1.5: + dependencies: + commander: 6.2.1 + glob: 7.2.3 + + dot-prop@10.2.0: + dependencies: + type-fest: 5.8.0 + dot-prop@9.0.0: dependencies: type-fest: 4.41.0 @@ -16998,40 +21299,65 @@ snapshots: esbuild: 0.25.12 tsx: 4.23.12 - drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1): - optionalDependencies: + drizzle-orm@0.41.0(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.28.17)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1): + dependencies: + '@opentelemetry/api': 1.9.1 + '@prisma/client': 5.22.0(prisma@7.9.1) + '@types/pg': 8.21.0 + kysely: 0.28.17 + mysql2: 3.15.3 + pg: 8.23.0 + prisma: 7.9.1 + + drizzle-orm@0.45.2: {} + + drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1)(sql.js@1.14.1): + dependencies: '@electric-sql/pglite': 0.4.3 '@libsql/client': 0.17.4 - '@opentelemetry/api': 1.9.0 - '@prisma/client': 5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + '@opentelemetry/api': 1.9.1 + '@prisma/client': 5.22.0(prisma@7.9.1) '@types/pg': 8.21.0 kysely: 0.29.5 mysql2: 3.15.3 pg: 8.23.0 postgres: 3.4.9 - prisma: 7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + prisma: 7.9.1 sql.js: 1.14.1 - optional: true - drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1): - optionalDependencies: - '@electric-sql/pglite': 0.4.3 + drizzle-orm@0.45.2(@libsql/client@0.17.4): + dependencies: '@libsql/client': 0.17.4 + + drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1): + dependencies: '@opentelemetry/api': 1.9.1 - '@prisma/client': 5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) - '@types/pg': 8.21.0 + '@prisma/client': 5.22.0(prisma@7.9.1) kysely: 0.29.5 mysql2: 3.15.3 pg: 8.23.0 - postgres: 3.4.9 - prisma: 7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) - sql.js: 1.14.1 + prisma: 7.9.1 + + drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1): + dependencies: + '@opentelemetry/api': 1.9.1 + '@prisma/client': 5.22.0(prisma@7.9.1) + mysql2: 3.15.3 + pg: 8.23.0 + prisma: 7.9.1 + + drizzle-orm@0.45.2(@prisma/client@5.22.0(prisma@7.9.1))(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1): + dependencies: + '@prisma/client': 5.22.0(prisma@7.9.1) + kysely: 0.29.5 + mysql2: 3.15.3 + pg: 8.23.0 + prisma: 7.9.1 + optional: true dropbox@10.44.0: {} - dts-resolver@3.0.0(oxc-resolver@11.24.2): - optionalDependencies: - oxc-resolver: 11.24.2 + dts-resolver@3.0.0: {} dunder-proto@1.0.1: dependencies: @@ -17039,6 +21365,8 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 + duplexer@0.1.2: {} + duplexify@4.1.3: dependencies: end-of-stream: 1.4.5 @@ -17058,6 +21386,13 @@ snapshots: dependencies: safe-buffer: 5.2.1 + editorconfig@1.0.7: + dependencies: + '@one-ini/wasm': 0.1.1 + commander: 10.0.1 + minimatch: 9.0.9 + semver: 7.8.5 + ee-first@1.1.1: {} effect@3.17.7: @@ -17069,7 +21404,6 @@ snapshots: dependencies: '@standard-schema/spec': 1.1.0 fast-check: 3.23.2 - optional: true effect@4.0.0-beta.99: dependencies: @@ -17090,8 +21424,7 @@ snapshots: electron-to-chromium@1.5.404: {} - elkjs@0.11.1: - optional: true + elkjs@0.11.1: {} email-comb@7.1.3: dependencies: @@ -17116,8 +21449,7 @@ snapshots: emojilib@2.4.0: {} - empathic@2.0.0: - optional: true + empathic@2.0.0: {} empathic@2.0.1: {} @@ -17154,14 +21486,13 @@ snapshots: env-paths@3.0.0: {} - env-runner@0.1.16(@vercel/queue@0.4.0(@opentelemetry/api@1.9.0)): + env-runner@0.1.16(@vercel/queue@0.4.0): dependencies: + '@vercel/queue': 0.4.0 crossws: 0.4.10(srvx@0.11.22) exsolve: 1.1.1 httpxy: 0.5.5 srvx: 0.11.22 - optionalDependencies: - '@vercel/queue': 0.4.0(@opentelemetry/api@1.9.0) environment@1.1.0: {} @@ -17169,6 +21500,10 @@ snapshots: dependencies: is-arrayish: 0.2.1 + error-stack-parser-es@1.0.5: {} + + error-stack-parser-es@2.0.1: {} + errx@0.1.2: {} es-define-property@1.0.1: {} @@ -17328,7 +21663,6 @@ snapshots: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - optional: true eslint-scope@9.1.2: dependencies: @@ -17336,15 +21670,12 @@ snapshots: '@types/estree': 1.0.9 esrecurse: 4.3.0 estraverse: 5.3.0 - optional: true - eslint-visitor-keys@3.4.3: - optional: true + eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@5.0.1: - optional: true + eslint-visitor-keys@5.0.1: {} - eslint@10.8.1(jiti@2.7.0): + eslint@10.8.1: dependencies: '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.1(jiti@2.7.0)) '@eslint-community/regexpp': 4.12.2 @@ -17358,7 +21689,7 @@ snapshots: '@types/estree': 1.0.9 ajv: 6.15.0 cross-spawn: 7.0.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 escape-string-regexp: 4.0.0 eslint-scope: 9.1.2 eslint-visitor-keys: 5.0.1 @@ -17376,33 +21707,68 @@ snapshots: minimatch: 10.2.6 natural-compare: 1.4.0 optionator: 0.9.4 - optionalDependencies: + transitivePeerDependencies: + - supports-color + + eslint@10.8.1(jiti@2.7.0): + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.1(jiti@2.7.0)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.23.5 + '@eslint/config-helpers': 0.7.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 + '@humanfs/node': 0.16.8 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.9 + ajv: 6.15.0 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 jiti: 2.7.0 + json-stable-stringify-without-jsonify: 1.0.1 + minimatch: 10.2.6 + natural-compare: 1.4.0 + optionator: 0.9.4 transitivePeerDependencies: - supports-color - optional: true espree@11.2.0: dependencies: acorn: 8.18.0 acorn-jsx: 5.3.2(acorn@8.18.0) eslint-visitor-keys: 5.0.1 - optional: true + + espree@9.6.1: + dependencies: + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) + eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} esquery@1.7.0: dependencies: estraverse: 5.3.0 - optional: true esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - optional: true - estraverse@4.3.0: - optional: true + estraverse@4.3.0: {} estraverse@5.3.0: {} @@ -17478,7 +21844,7 @@ snapshots: express-rate-limit@8.6.2(express@5.2.1): dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 express: 5.2.1 ip-address: 10.5.0 transitivePeerDependencies: @@ -17492,7 +21858,7 @@ snapshots: content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 depd: 2.0.0 encodeurl: 2.0.0 escape-html: 1.0.3 @@ -17538,6 +21904,8 @@ snapshots: extend@3.0.2: {} + fake-indexeddb@6.2.5: {} + fast-check@3.23.2: dependencies: pure-rand: 6.1.0 @@ -17546,23 +21914,31 @@ snapshots: dependencies: pure-rand: 8.4.2 - fast-decode-uri-component@1.0.1: - optional: true + fast-decode-uri-component@1.0.1: {} fast-deep-equal@3.1.3: {} fast-fifo@1.3.2: {} - fast-json-stable-stringify@2.1.0: - optional: true + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 - fast-levenshtein@2.0.6: - optional: true + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-npm-meta@2.2.0: + dependencies: + cac: 7.0.0 fast-querystring@1.1.2: dependencies: fast-decode-uri-component: 1.0.1 - optional: true fast-safe-stringify@2.1.1: {} @@ -17594,12 +21970,16 @@ snapshots: strnum: 2.4.1 xml-naming: 0.3.0 + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + fd-package-json@2.0.0: dependencies: walk-up-path: 4.0.0 fdir@6.5.0(picomatch@4.0.5): - optionalDependencies: + dependencies: picomatch: 4.0.5 fetch-blob@3.2.0: @@ -17616,7 +21996,6 @@ snapshots: file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 - optional: true file-type@21.3.4: dependencies: @@ -17639,50 +22018,45 @@ snapshots: dependencies: filename-reserved-regex: 4.0.0 - files-sdk@2.2.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(@azure/core-auth@1.11.0)(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@google-cloud/storage@7.22.0)(@googleapis/drive@20.2.0)(@microsoft/microsoft-graph-client@3.0.7(@azure/identity@4.13.1))(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@netlify/blobs@10.7.12)(@opentelemetry/api@1.9.1)(@supabase/storage-js@2.112.3)(@vercel/blob@2.8.0)(ai@6.0.228(zod@4.1.11))(box-typescript-sdk-gen@1.19.1)(dropbox@10.44.0)(google-auth-library@10.9.1)(h3@1.15.11)(hono@4.13.1)(openai@6.26.0(ws@8.21.3)(zod@4.1.11))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3))(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(zod@4.1.11): + files-sdk@2.2.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@google-cloud/storage@7.22.0)(@googleapis/drive@20.2.0)(@microsoft/microsoft-graph-client@3.0.7(@azure/identity@4.13.1))(@netlify/blobs@10.7.12)(@supabase/storage-js@2.112.3)(@vercel/blob@2.8.0)(ai@6.0.228(zod@4.1.11))(box-typescript-sdk-gen@1.19.1)(dropbox@10.44.0)(google-auth-library@10.9.1)(uploadthing@7.7.4)(zod@4.1.11): dependencies: - aws4fetch: 1.0.20 - commander: 15.0.0 - picomatch: 4.0.5 - safe-regex2: 5.1.1 - optionalDependencies: '@aws-sdk/client-s3': 3.1107.0 '@aws-sdk/lib-storage': 3.1107.0(@aws-sdk/client-s3@3.1107.0) '@aws-sdk/s3-presigned-post': 3.1107.0 '@aws-sdk/s3-request-presigner': 3.1107.0 - '@azure/core-auth': 1.11.0 '@azure/identity': 4.13.1 '@azure/storage-blob': 12.33.0 '@google-cloud/storage': 7.22.0 '@googleapis/drive': 20.2.0 '@microsoft/microsoft-graph-client': 3.0.7(@azure/identity@4.13.1) - '@modelcontextprotocol/sdk': 1.30.0(zod@4.1.11) - '@nestjs/common': 11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2) '@netlify/blobs': 10.7.12 - '@opentelemetry/api': 1.9.1 '@supabase/storage-js': 2.112.3 '@vercel/blob': 2.8.0 ai: 6.0.228(zod@4.1.11) + aws4fetch: 1.0.20 box-typescript-sdk-gen: 1.19.1 + commander: 15.0.0 dropbox: 10.44.0 google-auth-library: 10.9.1 - h3: 1.15.11 - hono: 4.13.1 - openai: 6.26.0(ws@8.21.3)(zod@4.1.11) - react: 19.2.8 - react-dom: 19.2.8(react@19.2.8) - uploadthing: 7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3) - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + picomatch: 4.0.5 + safe-regex2: 5.1.1 + uploadthing: 7.7.4 zod: 4.1.11 + optionalDependencies: + '@modelcontextprotocol/sdk': 1.30.0(zod@4.1.11) transitivePeerDependencies: - '@cfworker/json-schema' - supports-color + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + filter-obj@5.1.0: {} finalhandler@2.1.1: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -17698,13 +22072,11 @@ snapshots: fast-deep-equal: 3.1.3 fast-querystring: 1.1.2 safe-regex2: 5.1.1 - optional: true find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - optional: true find-up@7.0.0: dependencies: @@ -17721,12 +22093,12 @@ snapshots: dependencies: flatted: 3.4.4 keyv: 4.5.4 - optional: true flatbuffers@25.9.23: {} - flatted@3.4.4: - optional: true + flatted@3.4.4: {} + + fnv1a-64@0.1.2: {} for-each@0.3.5: dependencies: @@ -17766,6 +22138,8 @@ snapshots: forwarded@0.2.0: {} + fraction.js@5.3.4: {} + fresh@2.0.0: {} fs-constants@1.0.0: @@ -17777,6 +22151,8 @@ snapshots: jsonfile: 6.2.1 universalify: 2.0.1 + fs.realpath@1.0.0: {} + fsevents@2.3.2: optional: true @@ -17787,6 +22163,10 @@ snapshots: function-timeout@1.0.2: {} + fuse.js@7.5.0: {} + + fzf@0.5.2: {} + gaxios@6.7.1: dependencies: extend: 3.0.2 @@ -17835,7 +22215,12 @@ snapshots: generate-function@2.3.1: dependencies: is-property: 1.0.2 - optional: true + + generic-names@4.0.0: + dependencies: + loader-utils: 3.3.1 + + gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -17856,8 +22241,7 @@ snapshots: get-package-type@0.1.0: {} - get-port-please@3.2.0: - optional: true + get-port-please@3.2.0: {} get-proto@1.0.1: dependencies: @@ -17885,7 +22269,7 @@ snapshots: dependencies: basic-ftp: 5.3.1 data-uri-to-buffer: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -17894,10 +22278,13 @@ snapshots: github-from-package@0.0.0: optional: true + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - optional: true glob@10.5.0: dependencies: @@ -17914,6 +22301,23 @@ snapshots: minipass: 7.1.3 path-scurry: 2.0.2 + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.5 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@8.1.0: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.9 + once: 1.4.0 + global-agent@3.0.0: dependencies: boolean: 3.2.0 @@ -17923,6 +22327,10 @@ snapshots: semver: 7.8.5 serialize-error: 7.0.1 + global-directory@4.0.1: + dependencies: + ini: 4.1.1 + global-directory@5.0.0: dependencies: ini: 6.0.0 @@ -17932,6 +22340,15 @@ snapshots: define-properties: 1.2.1 gopd: 1.2.0 + globby@16.2.3: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + fast-glob: 3.3.3 + ignore: 7.0.6 + is-path-inside: 4.0.0 + slash: 5.1.0 + unicorn-magic: 0.4.0 + google-auth-library@10.5.0: dependencies: base64-js: 1.5.1 @@ -18001,11 +22418,9 @@ snapshots: graceful-fs@4.2.11: {} - grammex@3.1.13: - optional: true + grammex@3.1.13: {} - graphmatch@1.1.1: - optional: true + graphmatch@1.1.1: {} gray-matter@4.0.3: dependencies: @@ -18029,7 +22444,15 @@ snapshots: transitivePeerDependencies: - supports-color - guid-typescript@1.0.9: {} + guid-typescript@1.0.9: {} + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + gzip-size@7.0.0: + dependencies: + duplexer: 0.1.2 h3@1.15.11: dependencies: @@ -18042,21 +22465,18 @@ snapshots: radix3: 1.1.2 ufo: 1.6.4 uncrypto: 0.1.3 - optional: true h3@2.0.1-rc.22(crossws@0.4.10(srvx@0.11.22)): dependencies: + crossws: 0.4.10(srvx@0.11.22) rou3: 0.8.1 srvx: 0.11.22 - optionalDependencies: - crossws: 0.4.10(srvx@0.11.22) - h3@2.0.1-rc.25(crossws@0.4.10(srvx@0.11.22)): + h3@2.0.1-rc.25(crossws@0.4.10): dependencies: + crossws: 0.4.10(srvx@0.11.22) rou3: 0.9.1 srvx: 0.11.22 - optionalDependencies: - crossws: 0.4.10(srvx@0.11.22) happy-dom@20.11.2: dependencies: @@ -18070,7 +22490,6 @@ snapshots: transitivePeerDependencies: - bufferutil - utf-8-validate - optional: true has-flag@4.0.0: {} @@ -18169,17 +22588,19 @@ snapshots: dependencies: '@tootallnate/once': 2.0.1 agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color + http-shutdown@1.2.2: {} + http2-wrapper@2.2.1: dependencies: quick-lru: 5.1.1 @@ -18188,14 +22609,14 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -18225,6 +22646,8 @@ snapshots: ignore@7.0.6: {} + image-meta@0.2.2: {} + image-size@2.0.2: {} import-fresh@3.3.1: @@ -18238,17 +22661,37 @@ snapshots: es-module-lexer: 2.3.1 module-details-from-path: 1.0.4 + import-meta-resolve@4.2.0: {} + import-without-cache@0.4.0: {} - imurmurhash@0.1.4: - optional: true + impound@1.1.6(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + es-module-lexer: 2.3.1 + pathe: 2.0.3 + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + unplugin-utils: 0.3.2 + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals + - unloader + + imurmurhash@0.1.4: {} indent-string@4.0.0: {} + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + inherits@2.0.4: {} - ini@1.3.8: - optional: true + ini@1.3.8: {} + + ini@4.1.1: {} ini@6.0.0: {} @@ -18258,28 +22701,25 @@ snapshots: dependencies: kind-of: 6.0.3 - internmap@2.0.3: - optional: true + internmap@2.0.3: {} ioredis@5.11.1: dependencies: '@ioredis/commands': 1.10.0 cluster-key-slot: 1.1.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 denque: 2.1.0 redis-errors: 1.2.0 redis-parser: 3.0.0 standard-as-callback: 2.1.0 transitivePeerDependencies: - supports-color - optional: true ip-address@10.5.0: {} ipaddr.js@1.9.1: {} - iron-webcrypto@1.2.1: - optional: true + iron-webcrypto@1.2.1: {} is-arrayish@0.2.1: {} @@ -18287,14 +22727,17 @@ snapshots: is-callable@1.2.7: {} + is-core-module@2.16.2: + dependencies: + hasown: 2.0.4 + is-docker@2.2.1: {} is-docker@3.0.0: {} is-extendable@0.1.1: {} - is-extglob@2.1.1: - optional: true + is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -18305,24 +22748,39 @@ snapshots: is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - optional: true + + is-in-ssh@1.0.0: {} is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 + is-installed-globally@1.0.0: + dependencies: + global-directory: 4.0.1 + is-path-inside: 4.0.0 + is-interactive@2.0.0: {} + is-module@1.0.0: {} + is-node-process@1.2.0: {} + is-number@7.0.0: {} + + is-path-inside@4.0.0: {} + is-plain-obj@1.1.0: {} is-plain-obj@4.1.0: {} is-promise@4.0.0: {} - is-property@1.0.2: - optional: true + is-property@1.0.2: {} + + is-reference@1.2.1: + dependencies: + '@types/estree': 1.0.9 is-stream@2.0.1: {} @@ -18342,6 +22800,8 @@ snapshots: is-url-superb@6.1.0: {} + is-valid-glob@1.0.0: {} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -18350,6 +22810,8 @@ snapshots: dependencies: is-inside-container: 1.0.0 + isarray@1.0.0: {} + isarray@2.0.5: {} isexe@2.0.0: {} @@ -18389,7 +22851,8 @@ snapshots: '@types/node': 24.13.3 merge-stream: 2.0.0 supports-color: 8.1.1 - optional: true + + jiti@2.3.3: {} jiti@2.6.1: {} @@ -18403,6 +22866,16 @@ snapshots: js-base64@3.9.2: {} + js-beautify@1.15.4: + dependencies: + config-chain: 1.1.13 + editorconfig: 1.0.7 + glob: 10.5.0 + js-cookie: 3.0.8 + nopt: 7.2.1 + + js-cookie@3.0.8: {} + js-image-generator@1.0.4: dependencies: jpeg-js: 0.4.4 @@ -18432,8 +22905,7 @@ snapshots: dependencies: bignumber.js: 9.3.1 - json-buffer@3.0.1: - optional: true + json-buffer@3.0.1: {} json-parse-even-better-errors@2.3.1: {} @@ -18442,8 +22914,7 @@ snapshots: '@babel/runtime': 7.29.7 ts-algebra: 2.0.0 - json-schema-traverse@0.4.1: - optional: true + json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -18451,13 +22922,19 @@ snapshots: json-schema@0.4.0: {} - json-stable-stringify-without-jsonify@1.0.1: - optional: true + json-stable-stringify-without-jsonify@1.0.1: {} json-stringify-safe@5.0.1: {} json5@2.2.3: {} + jsonc-eslint-parser@2.4.2: + dependencies: + acorn: 8.18.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.8.5 + jsonc-parser@3.3.1: {} jsonfile@6.2.1: @@ -18530,7 +23007,6 @@ snapshots: keyv@4.5.4: dependencies: json-buffer: 3.0.1 - optional: true keyv@5.6.0: dependencies: @@ -18538,6 +23014,10 @@ snapshots: kind-of@6.0.3: {} + kleur@3.0.3: {} + + kleur@4.1.5: {} + klona@2.0.6: {} knip@6.32.1: @@ -18560,13 +23040,23 @@ snapshots: kubernetes-types@1.30.0: {} + kysely@0.28.17: {} + kysely@0.29.5: {} + launch-editor@2.14.1: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.10.0 + + lazystream@1.0.1: + dependencies: + readable-stream: 2.3.8 + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - optional: true libsql@0.5.29: dependencies: @@ -18681,6 +23171,8 @@ snapshots: lightningcss-win32-arm64-msvc: 1.33.0 lightningcss-win32-x64-msvc: 1.33.0 + lilconfig@2.1.0: {} + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -18689,8 +23181,29 @@ snapshots: dependencies: uc.micro: 2.1.0 + listhen@1.10.1: + dependencies: + '@parcel/watcher-wasm': 2.6.0 + citty: 0.2.2 + consola: 3.4.2 + crossws: 0.4.10(srvx@0.11.22) + defu: 6.1.7 + get-port-please: 3.2.0 + h3: 1.15.11 + http-shutdown: 1.2.2 + jiti: 2.7.0 + node-forge: 1.4.0 + pathe: 2.0.3 + std-env: 4.2.0 + tinyclip: 0.1.15 + ufo: 1.6.4 + untun: 0.2.2 + uqr: 0.1.3 + load-esm@1.0.3: {} + loader-utils@3.3.1: {} + local-pkg@1.2.1: dependencies: mlly: 1.8.2 @@ -18700,7 +23213,6 @@ snapshots: locate-path@6.0.0: dependencies: p-locate: 5.0.0 - optional: true locate-path@7.2.0: dependencies: @@ -18722,8 +23234,7 @@ snapshots: lodash.once@4.1.1: {} - lodash@4.17.21: - optional: true + lodash@4.17.21: {} log-symbols@6.0.0: dependencies: @@ -18756,27 +23267,35 @@ snapshots: lru-cache@11.5.2: {} + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + lru-cache@7.18.3: {} - lru.min@1.1.4: - optional: true + lru.min@1.1.4: {} + + magic-regexp@0.10.0: + dependencies: + estree-walker: 3.0.3 + magic-string: 0.30.21 + mlly: 1.8.2 + regexp-tree: 0.1.27 + type-level-regexp: 0.1.17 + ufo: 1.6.4 + unplugin: 2.3.11 - magic-regexp@0.11.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)): + magic-regexp@0.11.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2): dependencies: magic-string: 0.30.21 regexp-tree: 0.1.27 type-level-regexp: 0.1.17 - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' - bun-types-no-globals - - esbuild - - rolldown - - rollup - unloader - - vite - - webpack magic-string-ast@1.0.3: dependencies: @@ -18795,7 +23314,6 @@ snapshots: '@babel/parser': 7.29.8 '@babel/types': 7.29.8 source-map-js: 1.2.1 - optional: true make-asynchronous@1.1.0: dependencies: @@ -18971,6 +23489,10 @@ snapshots: dependencies: '@types/mdast': 4.0.4 + mdn-data@2.0.28: {} + + mdn-data@2.27.1: {} + mdream@1.6.1: optionalDependencies: '@mdream/rust-android-arm-eabi': 1.6.1 @@ -18991,13 +23513,14 @@ snapshots: media-typer@1.1.1: {} - memory-pager@1.5.0: - optional: true + memory-pager@1.5.0: {} merge-descriptors@2.0.0: {} merge-stream@2.0.0: {} + merge2@1.4.1: {} + micromark-core-commonmark@2.0.3: dependencies: decode-named-character-reference: 1.3.0 @@ -19170,7 +23693,7 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.13 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -19189,6 +23712,11 @@ snapshots: transitivePeerDependencies: - supports-color + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.2 + mime-db@1.52.0: {} mime-db@1.54.0: {} @@ -19205,6 +23733,8 @@ snapshots: mime@3.0.0: {} + mime@4.1.0: {} + mimic-fn@2.1.0: {} mimic-fn@4.0.0: {} @@ -19219,6 +23749,10 @@ snapshots: dependencies: brace-expansion: 5.0.9 + minimatch@3.1.5: + dependencies: + brace-expansion: 1.1.18 + minimatch@5.1.9: dependencies: brace-expansion: 2.1.4 @@ -19233,43 +23767,14 @@ snapshots: dependencies: minimist: 1.2.8 - minimizer-webpack-plugin@5.6.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0)(webpack@5.109.2(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0)): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - terser: 5.49.2 - webpack: 5.109.2(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0) - optionalDependencies: - '@swc/core': 1.15.3(@swc/helpers@0.5.23) - esbuild: 0.28.2 - lightningcss: 1.33.0 - optional: true - - minimizer-webpack-plugin@5.6.1(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)): + minimizer-webpack-plugin@5.6.1(esbuild@0.28.2)(webpack@5.109.2): dependencies: '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - terser: 5.49.2 - webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26) - optionalDependencies: esbuild: 0.28.2 - lightningcss: 1.33.0 - postcss: 8.5.26 - optional: true - - minimizer-webpack-plugin@5.6.1(esbuild@0.28.2)(lightningcss@1.33.0)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 terser: 5.49.2 - webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0) - optionalDependencies: - esbuild: 0.28.2 - lightningcss: 1.33.0 - optional: true + webpack: 5.109.2 minipass@7.1.3: {} @@ -19293,6 +23798,8 @@ snapshots: pkg-types: 1.3.1 ufo: 1.6.4 + mocked-exports@0.1.1: {} + modern-tar@0.7.7: {} module-details-from-path@1.0.4: {} @@ -19303,21 +23810,14 @@ snapshots: dependencies: '@types/whatwg-url': 13.0.0 whatwg-url: 14.2.0 - optional: true - mongodb@7.5.0(@mongodb-js/zstd@7.0.0)(socks@2.8.9): + mongodb@7.5.0: dependencies: '@mongodb-js/saslprep': 1.4.13 bson: 7.3.1 mongodb-connection-string-url: 7.0.2 - optionalDependencies: - '@mongodb-js/zstd': 7.0.0 - socks: 2.8.9 - optional: true - mountx@0.0.2(unstorage@1.17.5(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(@vercel/blob@2.8.0)(@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3))(aws4fetch@1.0.20)(db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3))(ioredis@5.11.1)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3))): - optionalDependencies: - unstorage: 1.17.5(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(@vercel/blob@2.8.0)(@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3))(aws4fetch@1.0.20)(db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3))(ioredis@5.11.1)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3)) + mountx@0.0.2: {} mri@1.2.0: {} @@ -19360,7 +23860,6 @@ snapshots: named-placeholders: 1.1.6 seq-queue: 0.0.5 sqlstring: 2.3.3 - optional: true mz@2.7.0: dependencies: @@ -19371,7 +23870,6 @@ snapshots: named-placeholders@1.1.6: dependencies: lru.min: 1.1.4 - optional: true nano-staged@1.0.2: {} @@ -19381,56 +23879,53 @@ snapshots: nanostores@1.4.2: {} + nanotar@0.3.0: {} + napi-build-utils@2.0.0: optional: true - natural-compare@1.4.0: - optional: true + natural-compare@1.4.0: {} negotiator@1.0.0: {} - neo-async@2.6.2: - optional: true + neo-async@2.6.2: {} + + neotraverse@0.6.18: {} netmask@2.1.1: {} nf3@0.3.23: {} - nitro@3.0.260610-beta(7fbd5d73e87e41626b5b9cb59d16f624): + nitro@3.0.260610-beta(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)): dependencies: consola: 3.4.2 crossws: 0.4.10(srvx@0.11.22) - db0: 0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3) - env-runner: 0.1.16(@vercel/queue@0.4.0(@opentelemetry/api@1.9.0)) + db0: 0.3.4 + dotenv: 17.4.2 + env-runner: 0.1.16(@vercel/queue@0.4.0) + giget: 3.3.1 h3: 2.0.1-rc.22(crossws@0.4.10(srvx@0.11.22)) hookable: 6.1.1 + jiti: 2.7.0 nf3: 0.3.23 ocache: 0.1.5 ofetch: 2.0.0-alpha.3 ohash: 2.0.11 rolldown: 1.2.3 + rollup: 4.62.4 srvx: 0.11.22 unenv: 2.0.0-rc.24 - unstorage: 2.0.0-alpha.7(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(@vercel/blob@2.8.0)(@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3))(aws4fetch@1.0.20)(chokidar@5.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3))(ioredis@5.11.1)(lru-cache@11.5.2)(mongodb@7.5.0(@mongodb-js/zstd@7.0.0)(socks@2.8.9))(ofetch@2.0.0-alpha.3)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3)) - optionalDependencies: - '@vercel/queue': 0.4.0(@opentelemetry/api@1.9.0) - dotenv: 17.4.2 - giget: 3.3.1 - jiti: 2.7.0 - rollup: 4.62.4 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + unstorage: 2.0.0-alpha.7(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(db0@0.3.4)(uploadthing@7.7.4) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' - '@azure/data-tables' - - '@azure/identity' - '@azure/keyvault-secrets' - - '@azure/storage-blob' - '@capacitor/preferences' - '@deno/kv' - '@electric-sql/pglite' - '@libsql/client' - - '@netlify/blobs' - '@netlify/runtime' - '@planetscale/database' - '@upstash/redis' @@ -19447,9 +23942,114 @@ snapshots: - miniflare - mongodb - mysql2 + - ofetch + - sqlite3 + - wrangler + + nitropack@2.13.4: + dependencies: + '@cloudflare/kv-asset-handler': 0.4.2 + '@rollup/plugin-alias': 6.0.0(rollup@4.62.4) + '@rollup/plugin-commonjs': 29.0.3(rollup@4.62.4) + '@rollup/plugin-inject': 5.0.5(rollup@4.62.4) + '@rollup/plugin-json': 6.1.0(rollup@4.62.4) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.62.4) + '@rollup/plugin-replace': 6.0.3(rollup@4.62.4) + '@rollup/plugin-terser': 1.0.0(rollup@4.62.4) + '@vercel/nft': 1.10.2(rollup@4.62.4) + archiver: 7.0.1 + c12: 3.3.4(magicast@0.5.4) + chokidar: 5.0.0 + citty: 0.2.2 + compatx: 0.2.0 + confbox: 0.2.4 + consola: 3.4.2 + cookie-es: 2.0.1 + croner: 10.0.1 + crossws: 0.3.5 + db0: 0.3.4(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mysql2@3.15.3) + defu: 6.1.7 + destr: 2.0.5 + dot-prop: 10.2.0 + esbuild: 0.28.2 + escape-string-regexp: 5.0.0 + etag: 1.8.1 + exsolve: 1.1.1 + globby: 16.2.3 + gzip-size: 7.0.0 + h3: 1.15.11 + hookable: 5.5.3 + httpxy: 0.5.5 + ioredis: 5.11.1 + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + listhen: 1.10.1 + magic-string: 0.30.21 + magicast: 0.5.4 + mime: 4.1.0 + mlly: 1.8.2 + node-fetch-native: 1.6.7 + node-mock-http: 1.0.5 + ofetch: 1.5.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + pretty-bytes: 7.1.1 + radix3: 1.1.2 + rollup: 4.62.4 + rollup-plugin-visualizer: 7.0.1(rolldown@1.2.3)(rollup@4.62.4) + scule: 1.3.0 + semver: 7.8.5 + serve-placeholder: 2.0.2 + serve-static: 2.2.1 + source-map: 0.7.6 + std-env: 4.2.0 + ufo: 1.6.4 + ultrahtml: 1.7.0 + uncrypto: 0.1.3 + unctx: 2.5.0 + unenv: 2.0.0-rc.24 + unimport: 6.4.0(rolldown@1.2.3) + unplugin-utils: 0.3.2 + unstorage: 1.17.5(db0@0.3.4(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mysql2@3.15.3))(ioredis@5.11.1) + untyped: 2.0.0 + unwasm: 0.5.3 + youch: 4.1.1 + youch-core: 0.3.3 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@farmfe/core' + - '@libsql/client' + - '@netlify/blobs' + - '@parcel/watcher' + - '@planetscale/database' + - '@rspack/core' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bare-abort-controller + - better-sqlite3 + - bun-types-no-globals + - encoding + - idb-keyval + - oxc-parser + - react-native-b4a - sqlite3 + - supports-color + - unloader - uploadthing - - wrangler node-abi@3.94.0: dependencies: @@ -19480,6 +24080,8 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 + node-forge@1.4.0: {} + node-gyp-build-optional-packages@5.1.1: dependencies: detect-libc: 2.1.2 @@ -19498,19 +24100,21 @@ snapshots: node-gyp-build: 4.8.4 optional: true - node-mock-http@1.0.5: - optional: true + node-mock-http@1.0.5: {} node-releases@2.0.53: {} nodemailer@9.0.5: {} + nopt@7.2.1: + dependencies: + abbrev: 2.0.0 + nopt@8.1.0: dependencies: abbrev: 3.0.1 - normalize-path@3.0.0: - optional: true + normalize-path@3.0.0: {} normalize-url@8.1.1: {} @@ -19537,6 +24141,134 @@ snapshots: dependencies: boolbase: 2.0.0 + nuxt-define@1.0.0: {} + + nuxt@4.5.2(@types/node@24.13.3)(rolldown@1.2.3): + dependencies: + '@dxup/nuxt': 0.5.6(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + '@nuxt/cli': 3.37.0(@nuxt/schema@4.5.2) + '@nuxt/devtools': 3.4.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + '@nuxt/nitro-server': 4.5.2(nuxt@4.5.2(@types/node@24.13.3)(rolldown@1.2.3)) + '@nuxt/schema': 4.5.2 + '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.5.2) + '@nuxt/vite-builder': 4.5.2(nuxt@4.5.2(@types/node@24.13.3)(rolldown@1.2.3))(rolldown@1.2.3)(vue@3.5.41) + '@types/node': 24.13.3 + '@unhead/vue': 3.3.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41)(webpack@5.109.2) + '@vue/shared': 3.5.41 + chokidar: 5.0.0 + compatx: 0.2.0 + consola: 3.4.2 + cookie-es: 3.1.1 + defu: 6.1.7 + devalue: 5.9.0 + errx: 0.1.2 + escape-string-regexp: 5.0.0 + exsolve: 1.1.1 + fnv1a-64: 0.1.2 + hookable: 6.1.1 + ignore: 7.0.6 + impound: 1.1.6(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + magic-string: 1.1.0 + mlly: 1.8.2 + nanotar: 0.3.0 + nostics: 1.2.0 + nypm: 0.6.9 + object-identity: 0.2.3 + ofetch: 1.5.1 + ohash: 2.0.11 + on-change: 6.0.2 + oxc-walker: 1.1.1(rolldown@1.2.3) + pathe: 2.0.3 + perfect-debounce: 2.1.0 + picomatch: 4.0.5 + pkg-types: 2.3.1 + rolldown: 1.2.3 + rolldown-string: 0.3.1(rolldown@1.2.3) + rou3: 0.9.1 + scule: 1.3.0 + std-env: 4.2.0 + tinyglobby: 0.2.17 + ufo: 1.6.4 + ultrahtml: 1.7.0 + uncrypto: 0.1.3 + unctx: 3.0.0(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + undici: 8.10.0 + unhead: 3.3.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + unimport: 6.4.0(rolldown@1.2.3) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + unrouting: 0.2.2 + untyped: 2.0.0 + verkit: 0.3.2 + vue: 3.5.41 + vue-component-type-helpers: 3.3.9 + vue-router: 5.2.0(@vue/compiler-sfc@3.5.41)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@babel/plugin-proposal-decorators' + - '@babel/plugin-syntax-jsx' + - '@babel/plugin-syntax-typescript' + - '@biomejs/biome' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@farmfe/core' + - '@libsql/client' + - '@netlify/blobs' + - '@oxc-project/types' + - '@parcel/watcher' + - '@pinia/colada' + - '@planetscale/database' + - '@rollup/plugin-babel' + - '@rspack/core' + - '@unhead/cli' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - '@vitejs/devtools' + - '@vitejs/devtools-kit' + - aws4fetch + - bare-abort-controller + - better-sqlite3 + - bufferutil + - bun-types-no-globals + - cac + - commander + - db0 + - encoding + - idb-keyval + - ioredis + - less + - lightningcss + - magicast + - meow + - optionator + - oxc-parser + - pinia + - react-native-b4a + - rollup-plugin-visualizer + - sass + - sass-embedded + - sqlite3 + - stylelint + - stylus + - sugarss + - supports-color + - typescript + - unloader + - uploadthing + - utf-8-validate + - xml2js + nypm@0.6.9: dependencies: citty: 0.2.2 @@ -19550,6 +24282,8 @@ snapshots: codsen-utils: 1.7.3 rfdc: 1.4.1 + object-identity@0.2.3: {} + object-inspect@1.13.4: {} object-keys@1.1.1: {} @@ -19570,6 +24304,8 @@ snapshots: ohash@2.0.11: {} + on-change@6.0.2: {} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -19624,22 +24360,22 @@ snapshots: is-inside-container: 1.0.0 wsl-utils: 0.1.0 + open@11.0.0: + dependencies: + default-browser: 5.5.0 + define-lazy-prop: 3.0.0 + is-in-ssh: 1.0.0 + is-inside-container: 1.0.0 + powershell-utils: 0.1.0 + wsl-utils: 0.3.1 + open@8.4.0: dependencies: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 - openai@6.26.0(ws@8.21.3)(zod@4.1.11): - optionalDependencies: - ws: 8.21.3 - zod: 4.1.11 - optional: true - - openai@6.26.0(ws@8.21.3)(zod@4.4.3): - optionalDependencies: - ws: 8.21.3 - zod: 4.4.3 + openai@6.26.0: {} optionator@0.9.4: dependencies: @@ -19649,7 +24385,6 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.5 - optional: true ora@8.2.0: dependencies: @@ -19676,6 +24411,56 @@ snapshots: os-paths@4.4.0: {} + oxc-parser@0.131.0: + dependencies: + '@oxc-project/types': 0.131.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.131.0 + '@oxc-parser/binding-android-arm64': 0.131.0 + '@oxc-parser/binding-darwin-arm64': 0.131.0 + '@oxc-parser/binding-darwin-x64': 0.131.0 + '@oxc-parser/binding-freebsd-x64': 0.131.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.131.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.131.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.131.0 + '@oxc-parser/binding-linux-arm64-musl': 0.131.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.131.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.131.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.131.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.131.0 + '@oxc-parser/binding-linux-x64-gnu': 0.131.0 + '@oxc-parser/binding-linux-x64-musl': 0.131.0 + '@oxc-parser/binding-openharmony-arm64': 0.131.0 + '@oxc-parser/binding-wasm32-wasi': 0.131.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.131.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.131.0 + '@oxc-parser/binding-win32-x64-msvc': 0.131.0 + + oxc-parser@0.141.0: + dependencies: + '@oxc-project/types': 0.141.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.141.0 + '@oxc-parser/binding-android-arm64': 0.141.0 + '@oxc-parser/binding-darwin-arm64': 0.141.0 + '@oxc-parser/binding-darwin-x64': 0.141.0 + '@oxc-parser/binding-freebsd-x64': 0.141.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.141.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.141.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.141.0 + '@oxc-parser/binding-linux-arm64-musl': 0.141.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.141.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.141.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.141.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.141.0 + '@oxc-parser/binding-linux-x64-gnu': 0.141.0 + '@oxc-parser/binding-linux-x64-musl': 0.141.0 + '@oxc-parser/binding-openharmony-arm64': 0.141.0 + '@oxc-parser/binding-wasm32-wasi': 0.141.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.141.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.141.0 + '@oxc-parser/binding-win32-x64-msvc': 0.141.0 + oxc-parser@0.142.0: dependencies: '@oxc-project/types': 0.142.0 @@ -19747,10 +24532,41 @@ snapshots: '@oxc-resolver/binding-win32-arm64-msvc': 11.24.2 '@oxc-resolver/binding-win32-x64-msvc': 11.24.2 - oxc-walker@1.1.1(@oxc-project/types@0.143.0)(oxc-parser@0.143.0)(rolldown@1.2.3): + oxc-transform@0.141.0: optionalDependencies: - '@oxc-project/types': 0.143.0 - oxc-parser: 0.143.0 + '@oxc-transform/binding-android-arm-eabi': 0.141.0 + '@oxc-transform/binding-android-arm64': 0.141.0 + '@oxc-transform/binding-darwin-arm64': 0.141.0 + '@oxc-transform/binding-darwin-x64': 0.141.0 + '@oxc-transform/binding-freebsd-x64': 0.141.0 + '@oxc-transform/binding-linux-arm-gnueabihf': 0.141.0 + '@oxc-transform/binding-linux-arm-musleabihf': 0.141.0 + '@oxc-transform/binding-linux-arm64-gnu': 0.141.0 + '@oxc-transform/binding-linux-arm64-musl': 0.141.0 + '@oxc-transform/binding-linux-ppc64-gnu': 0.141.0 + '@oxc-transform/binding-linux-riscv64-gnu': 0.141.0 + '@oxc-transform/binding-linux-riscv64-musl': 0.141.0 + '@oxc-transform/binding-linux-s390x-gnu': 0.141.0 + '@oxc-transform/binding-linux-x64-gnu': 0.141.0 + '@oxc-transform/binding-linux-x64-musl': 0.141.0 + '@oxc-transform/binding-openharmony-arm64': 0.141.0 + '@oxc-transform/binding-wasm32-wasi': 0.141.0 + '@oxc-transform/binding-win32-arm64-msvc': 0.141.0 + '@oxc-transform/binding-win32-ia32-msvc': 0.141.0 + '@oxc-transform/binding-win32-x64-msvc': 0.141.0 + + oxc-walker@0.7.0(oxc-parser@0.131.0): + dependencies: + magic-regexp: 0.10.0 + oxc-parser: 0.131.0 + + oxc-walker@0.7.0(oxc-parser@0.141.0): + dependencies: + magic-regexp: 0.10.0 + oxc-parser: 0.141.0 + + oxc-walker@1.1.1(rolldown@1.2.3): + dependencies: rolldown: 1.2.3 oxfmt@0.61.0: @@ -19811,6 +24627,8 @@ snapshots: '@oxlint-tsgolint/win32-x64': 7.0.2001 oxlint@1.78.0(oxlint-tsgolint@7.0.2001): + dependencies: + oxlint-tsgolint: 7.0.2001 optionalDependencies: '@oxlint/binding-android-arm-eabi': 1.78.0 '@oxlint/binding-android-arm64': 1.78.0 @@ -19831,7 +24649,10 @@ snapshots: '@oxlint/binding-win32-arm64-msvc': 1.78.0 '@oxlint/binding-win32-ia32-msvc': 1.78.0 '@oxlint/binding-win32-x64-msvc': 1.78.0 - oxlint-tsgolint: 7.0.2001 + + p-all@5.0.1: + dependencies: + p-map: 6.0.0 p-cancelable@4.0.1: {} @@ -19854,12 +24675,13 @@ snapshots: p-locate@5.0.0: dependencies: p-limit: 3.1.0 - optional: true p-locate@6.0.0: dependencies: p-limit: 4.0.0 + p-map@6.0.0: {} + p-retry@4.6.2: dependencies: '@types/retry': 0.12.0 @@ -19871,7 +24693,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 get-uri: 6.0.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -19933,20 +24755,22 @@ snapshots: partial-json@0.1.7: {} - path-browserify@1.0.1: - optional: true + path-browserify@1.0.1: {} - path-exists@4.0.0: - optional: true + path-exists@4.0.0: {} path-exists@5.0.0: {} path-expression-matcher@1.6.2: {} + path-is-absolute@1.0.1: {} + path-key@3.1.1: {} path-key@4.0.0: {} + path-parse@1.0.7: {} + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 @@ -19957,6 +24781,8 @@ snapshots: lru-cache: 11.5.2 minipass: 7.1.3 + path-to-regexp@6.3.0: {} + path-to-regexp@8.4.2: {} pathe@2.0.3: {} @@ -19970,19 +24796,15 @@ snapshots: pg-cloudflare@1.4.0: optional: true - pg-connection-string@2.14.0: - optional: true + pg-connection-string@2.14.0: {} - pg-int8@1.0.1: - optional: true + pg-int8@1.0.1: {} pg-pool@3.14.0(pg@8.23.0): dependencies: pg: 8.23.0 - optional: true - pg-protocol@1.16.0: - optional: true + pg-protocol@1.16.0: {} pg-types@2.2.0: dependencies: @@ -19991,7 +24813,6 @@ snapshots: postgres-bytea: 1.0.1 postgres-date: 1.0.7 postgres-interval: 1.2.0 - optional: true pg@8.23.0: dependencies: @@ -20002,17 +24823,14 @@ snapshots: pgpass: 1.0.5 optionalDependencies: pg-cloudflare: 1.4.0 - optional: true pgpass@1.0.5: dependencies: split2: 4.2.0 - optional: true picocolors@1.1.1: {} - picomatch@2.3.2: - optional: true + picomatch@2.3.2: {} picomatch@4.0.5: {} @@ -20045,7 +24863,6 @@ snapshots: playwright-core: 1.62.1 optionalDependencies: fsevents: 2.3.2 - optional: true possible-typed-array-names@1.1.0: {} @@ -20057,12 +24874,78 @@ snapshots: postcss-selector-parser: 7.1.5 postcss-value-parser: 4.2.0 + postcss-colormin@8.0.3(postcss@8.5.26): + dependencies: + '@colordx/core': 5.5.0 + browserslist: 4.28.8 + caniuse-api: 4.0.0 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-convert-values@8.0.3(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-discard-comments@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-discard-duplicates@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-discard-empty@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-discard-overridden@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-merge-longhand@8.0.3(postcss@8.5.26): dependencies: postcss: 8.5.26 postcss-value-parser: 4.2.0 stylehacks: 8.0.3(postcss@8.5.26) + postcss-merge-rules@8.0.3(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-api: 4.0.0 + cssnano-utils: 6.0.3(postcss@8.5.26) + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-minify-font-values@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@8.0.3(postcss@8.5.26): + dependencies: + '@colordx/core': 5.5.0 + cssnano-utils: 6.0.3(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-minify-params@8.0.3(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + cssnano-utils: 6.0.3(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@8.0.4(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-api: 4.0.0 + cssesc: 3.0.0 + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + postcss-nesting@14.0.1(postcss@8.5.26): dependencies: '@csstools/selector-resolve-nested': 4.0.1(postcss-selector-parser@7.1.5) @@ -20070,6 +24953,68 @@ snapshots: postcss: 8.5.26 postcss-selector-parser: 7.1.5 + postcss-normalize-charset@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-normalize-display-values@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@8.0.3(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-ordered-values@8.0.3(postcss@8.5.26): + dependencies: + cssnano-utils: 6.0.3(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-reduce-initial@8.0.3(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-api: 4.0.0 + postcss: 8.5.26 + + postcss-reduce-transforms@8.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + postcss-safe-parser@7.0.1(postcss@8.5.26): dependencies: postcss: 8.5.26 @@ -20079,10 +25024,21 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-sort-media-queries@6.7.1(postcss@8.5.26): + postcss-sort-media-queries@6.7.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + sort-css-media-queries: 3.0.5 + + postcss-svgo@8.0.4(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + svgo: 4.0.2 + + postcss-unique-selectors@8.0.3(postcss@8.5.26): dependencies: postcss: 8.5.26 - sort-css-media-queries: 3.0.5 + postcss-selector-parser: 7.1.5 postcss-value-parser@4.2.0: {} @@ -20092,25 +25048,22 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postgres-array@2.0.0: - optional: true + postgres-array@2.0.0: {} - postgres-bytea@1.0.1: - optional: true + postgres-bytea@1.0.1: {} - postgres-date@1.0.7: - optional: true + postgres-date@1.0.7: {} postgres-interval@1.2.0: dependencies: xtend: 4.0.2 - optional: true - postgres@3.4.7: - optional: true + postgres@3.4.7: {} postgres@3.4.9: {} + powershell-utils@0.1.0: {} + prebuild-install@7.1.3: dependencies: detect-libc: 2.1.2 @@ -20127,44 +25080,50 @@ snapshots: tunnel-agent: 0.6.0 optional: true - prelude-ls@1.2.1: - optional: true + prelude-ls@1.2.1: {} + + prettier@3.9.6: {} + + pretty-bytes@7.1.1: {} pretty-ms@9.3.0: dependencies: parse-ms: 4.0.0 - prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2): + prisma@7.9.1: dependencies: - '@prisma/config': 7.9.1(magicast@0.5.4) - '@prisma/dev': 0.24.17(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + '@prisma/config': 7.9.1 + '@prisma/dev': 0.24.17 '@prisma/engines': 7.9.1 - '@prisma/studio-core': 0.33.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@prisma/studio-core': 0.33.0(@types/react@19.2.18)(react@19.2.8)(react-dom@19.2.8(react@19.2.8)) mysql2: 3.15.3 postgres: 3.4.7 - optionalDependencies: - typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 transitivePeerDependencies: - - '@types/react' - '@types/react-dom' - magicast - - react - - react-dom - optional: true + - typescript + + process-nextick-args@2.0.1: {} process@0.11.10: {} promise-limit@2.7.0: {} + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + proper-lockfile@4.1.2: dependencies: graceful-fs: 4.2.11 retry: 0.12.0 signal-exit: 3.0.7 - optional: true property-information@7.2.0: {} + proto-list@1.2.4: {} + protobufjs@7.6.5: dependencies: '@protobufjs/aspromise': 1.1.2 @@ -20187,7 +25146,7 @@ snapshots: proxy-agent@6.5.0: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 @@ -20214,8 +25173,7 @@ snapshots: punycode.js@2.3.1: {} - punycode@2.3.1: - optional: true + punycode@2.3.1: {} pure-rand@6.1.0: {} @@ -20236,6 +25194,8 @@ snapshots: filter-obj: 5.1.0 split-on-first: 3.0.0 + queue-microtask@1.2.3: {} + quick-lru@5.1.1: {} quickjs-emscripten-core@0.32.0: @@ -20252,8 +25212,7 @@ snapshots: radash@12.1.1: {} - radix3@1.1.2: - optional: true + radix3@1.1.2: {} range-parser@1.3.0: {} @@ -20302,10 +25261,19 @@ snapshots: dependencies: react: 19.2.8 scheduler: 0.27.0 - optional: true react@19.2.8: {} + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -20320,17 +25288,19 @@ snapshots: process: 0.11.10 string_decoder: 1.3.0 + readdir-glob@1.1.3: + dependencies: + minimatch: 5.1.9 + readdirp@4.1.2: {} readdirp@5.1.1: {} - redis-errors@1.2.0: - optional: true + redis-errors@1.2.0: {} redis-parser@3.0.0: dependencies: redis-errors: 1.2.0 - optional: true reflect-metadata@0.2.2: {} @@ -20346,21 +25316,23 @@ snapshots: dependencies: regex-utilities: 2.3.0 + regexp-to-ast@0.5.0: {} + regexp-tree@0.1.27: {} - reka-ui@2.10.3(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)): + reka-ui@2.10.3(vue@3.5.41): dependencies: '@floating-ui/dom': 1.8.0 - '@floating-ui/vue': 1.1.11(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + '@floating-ui/vue': 1.1.11(vue@3.5.41) '@internationalized/date': 3.12.3 '@internationalized/number': 3.6.7 - '@tanstack/vue-virtual': 3.13.35(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) - '@vueuse/core': 14.4.0(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) - '@vueuse/shared': 14.4.0(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + '@tanstack/vue-virtual': 3.13.35(vue@3.5.41) + '@vueuse/core': 14.4.0(vue@3.5.41) + '@vueuse/shared': 14.4.0(vue@3.5.41) aria-hidden: 1.2.6 defu: 6.1.7 ohash: 2.0.11 - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + vue: 3.5.41 transitivePeerDependencies: - '@vue/composition-api' @@ -20390,8 +25362,7 @@ snapshots: mdast-util-to-markdown: 2.1.2 unified: 11.0.5 - remeda@2.33.4: - optional: true + remeda@2.33.4: {} remend@1.3.0: {} @@ -20401,7 +25372,7 @@ snapshots: require-in-the-middle@8.0.1: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 module-details-from-path: 1.0.4 transitivePeerDependencies: - supports-color @@ -20419,6 +25390,13 @@ snapshots: resolve-pkg-maps@1.0.0: {} + resolve@1.22.12: + dependencies: + es-errors: 1.3.0 + is-core-module: 2.16.2 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + responselike@4.0.2: dependencies: lowercase-keys: 3.0.0 @@ -20430,14 +25408,9 @@ snapshots: ret@0.5.0: {} - retriv@0.14.7(@huggingface/transformers@4.2.0)(@libsql/client@0.17.4)(ai@6.0.228(zod@4.4.3))(pg@8.23.0)(sqlite-vec@0.1.9)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2): - optionalDependencies: - '@huggingface/transformers': 4.2.0 - '@libsql/client': 0.17.4 - ai: 6.0.228(zod@4.4.3) - pg: 8.23.0 + retriv@0.14.7(sqlite-vec@0.1.9): + dependencies: sqlite-vec: 0.1.9 - typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 retry-request@7.0.2: dependencies: @@ -20448,11 +25421,12 @@ snapshots: - encoding - supports-color - retry@0.12.0: - optional: true + retry@0.12.0: {} retry@0.13.1: {} + reusify@1.1.0: {} + rfdc@1.4.1: {} rimraf@5.0.10: @@ -20468,25 +25442,25 @@ snapshots: semver-compare: 1.0.0 sprintf-js: 1.1.3 - robust-predicates@3.0.3: - optional: true + robust-predicates@3.0.3: {} - rolldown-plugin-dts@0.27.14(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(rolldown@1.2.3)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)): + rolldown-plugin-dts@0.27.14(rolldown@1.2.3): dependencies: - dts-resolver: 3.0.0(oxc-resolver@11.24.2) + dts-resolver: 3.0.0 get-tsconfig: 5.0.0-beta.5 obug: 2.1.4 rolldown: 1.2.3 yuku-ast: 0.8.4 yuku-codegen: 0.8.4 yuku-parser: 0.8.4 - optionalDependencies: - '@volar/typescript': 2.4.28 - typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 - vue-tsc: 3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) transitivePeerDependencies: - oxc-resolver + rolldown-string@0.3.1(rolldown@1.2.3): + dependencies: + magic-string: 1.1.0 + rolldown: 1.2.3 + rolldown@1.2.3: dependencies: '@oxc-project/types': 0.143.0 @@ -20507,6 +25481,15 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.2.3 '@rolldown/binding-win32-x64-msvc': 1.2.3 + rollup-plugin-visualizer@7.0.1(rolldown@1.2.3)(rollup@4.62.4): + dependencies: + open: 11.0.0 + picomatch: 4.0.5 + rolldown: 1.2.3 + rollup: 4.62.4 + source-map: 0.7.6 + yargs: 18.1.0 + rollup@4.62.4: dependencies: '@types/estree': 1.0.9 @@ -20547,7 +25530,7 @@ snapshots: router@2.2.0: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 @@ -20557,6 +25540,10 @@ snapshots: run-applescript@7.1.0: {} + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + rxjs@7.8.2: dependencies: tslib: 2.8.1 @@ -20565,6 +25552,8 @@ snapshots: dependencies: mri: 1.2.0 + safe-buffer@5.1.2: {} + safe-buffer@5.2.1: {} safe-regex2@5.1.1: @@ -20573,8 +25562,9 @@ snapshots: safer-buffer@2.1.2: {} - scheduler@0.27.0: - optional: true + sax@1.6.1: {} + + scheduler@0.27.0: {} schema-utils@4.3.3: dependencies: @@ -20582,7 +25572,6 @@ snapshots: ajv: 8.20.0 ajv-formats: 2.1.1(ajv@8.20.0) ajv-keywords: 5.1.0(ajv@8.20.0) - optional: true scule@1.3.0: {} @@ -20605,13 +25594,15 @@ snapshots: dependencies: semver: 7.8.5 + semver@6.3.1: {} + semver@7.7.4: {} semver@7.8.5: {} send@1.2.1: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -20625,13 +25616,20 @@ snapshots: transitivePeerDependencies: - supports-color - seq-queue@0.0.5: - optional: true + seq-queue@0.0.5: {} serialize-error@7.0.1: dependencies: type-fest: 0.13.1 + serialize-javascript@7.1.0: {} + + seroval@1.6.2: {} + + serve-placeholder@2.0.2: + dependencies: + defu: 6.1.7 + serve-static@2.2.1: dependencies: encodeurl: 2.0.0 @@ -20641,6 +25639,8 @@ snapshots: transitivePeerDependencies: - supports-color + set-cookie-parser@2.7.2: {} + set-cookie-parser@3.1.2: {} set-function-length@1.2.2: @@ -20699,6 +25699,8 @@ snapshots: shebang-regex@3.0.0: {} + shell-quote@1.10.0: {} + shiki@4.4.3: dependencies: '@shikijs/core': 4.4.3 @@ -20752,18 +25754,34 @@ snapshots: once: 1.4.0 simple-concat: 1.0.1 + simple-git@3.36.0: + dependencies: + '@kwsites/file-exists': 1.1.1 + '@kwsites/promise-deferred': 1.1.1 + '@simple-git/args-pathspec': 1.0.3 + '@simple-git/argv-parser': 1.1.1 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + sirv@3.0.2: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + sisteransi@1.0.5: {} skilld-protocol@2.1.0: dependencies: zod: 4.4.3 - skilld@2.1.0(a30719771215b9af753ca476aac649ea): + skilld@2.1.0: dependencies: '@clack/prompts': 1.7.0 - '@earendil-works/pi-ai': 0.83.0(@modelcontextprotocol/sdk@1.30.0(zod@4.4.3))(ws@8.21.3)(zod@4.4.3) + '@earendil-works/pi-ai': 0.83.0 '@huggingface/transformers': 4.2.0 - '@mdream/crawl': 1.6.1(magicast@0.5.4)(playwright@1.62.1) + '@mdream/crawl': 1.6.1 citty: 0.2.2 consola: 3.4.2 giget: 3.3.1 @@ -20775,13 +25793,13 @@ snapshots: oxc-parser: 0.143.0 p-limit: 7.3.1 pathe: 2.0.3 - retriv: 0.14.7(@huggingface/transformers@4.2.0)(@libsql/client@0.17.4)(ai@6.0.228(zod@4.4.3))(pg@8.23.0)(sqlite-vec@0.1.9)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + retriv: 0.14.7(sqlite-vec@0.1.9) skilld-protocol: 2.1.0 sqlite-vec: 0.1.9 std-env: 4.2.0 typebox: 1.3.12 typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 - unagent: 0.0.8(43823ccf70b9a1546200f288aad311a2) + unagent: 0.0.8(@huggingface/transformers@4.2.0)(sqlite-vec@0.1.9) verkit: 0.3.2 optionalDependencies: '@napi-rs/keyring': 1.3.0 @@ -20792,6 +25810,7 @@ snapshots: - '@ai-sdk/openai' - '@cloudflare/sandbox' - '@deno/sandbox' + - '@huggingface/transformers' - '@libsql/client' - '@modelcontextprotocol/sdk' - '@pinecone-database/pinecone' @@ -20809,6 +25828,7 @@ snapshots: - pg - playwright - supports-color + - typescript - unstorage - utf-8-validate - weaviate-client @@ -20821,6 +25841,8 @@ snapshots: slash@3.0.0: {} + slash@5.1.0: {} + slice-ansi@9.0.0: dependencies: ansi-styles: 6.2.3 @@ -20828,12 +25850,14 @@ snapshots: smart-buffer@4.2.0: {} + smob@1.6.2: {} + smol-toml@1.7.1: {} socks-proxy-agent@8.0.5: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 socks: 2.8.9 transitivePeerDependencies: - supports-color @@ -20869,12 +25893,10 @@ snapshots: sparse-bitfield@3.0.3: dependencies: memory-pager: 1.5.0 - optional: true split-on-first@3.0.0: {} - split2@4.2.0: - optional: true + split2@4.2.0: {} sprintf-js@1.0.3: {} @@ -20907,15 +25929,13 @@ snapshots: sqlite-vec-linux-x64: 0.1.9 sqlite-vec-windows-x64: 0.1.9 - sqlstring@2.3.3: - optional: true + sqlstring@2.3.3: {} srvx@0.11.22: {} stackback@0.0.2: {} - standard-as-callback@2.1.0: - optional: true + standard-as-callback@2.1.0: {} standardwebhooks@1.0.0: dependencies: @@ -21012,6 +26032,10 @@ snapshots: get-east-asian-width: 1.6.0 strip-ansi: 7.2.0 + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -21063,6 +26087,8 @@ snapshots: dependencies: '@tokenizer/token': 0.3.0 + structured-clone-es@2.0.1: {} + stubborn-fs@2.0.0: dependencies: stubborn-utils: 1.0.2 @@ -21103,6 +26129,18 @@ snapshots: has-flag: 5.0.1 supports-color: 10.2.2 + supports-preserve-symlinks-flag@1.0.0: {} + + svgo@4.0.2: + dependencies: + commander: 11.1.0 + css-select: 5.2.2 + css-tree: 3.2.1 + css-what: 6.2.2 + csso: 5.0.5 + picocolors: 1.1.1 + sax: 1.6.1 + swr@2.5.0(react@19.2.8): dependencies: dequal: 2.0.3 @@ -21175,7 +26213,6 @@ snapshots: acorn: 8.18.0 commander: 2.20.3 source-map-support: 0.5.21 - optional: true test-mixer@4.2.3: dependencies: @@ -21208,6 +26245,8 @@ snapshots: tinybench@2.9.0: {} + tinyclip@0.1.15: {} + tinyexec@0.3.2: {} tinyexec@1.3.0: {} @@ -21223,6 +26262,8 @@ snapshots: tinyrainbow@2.0.0: {} + tinyrainbow@3.1.1: {} + tinyspy@4.0.4: {} tldts-core@7.4.10: {} @@ -21243,6 +26284,10 @@ snapshots: safe-buffer: 5.2.1 typed-array-buffer: 1.0.3 + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + toidentifier@1.0.1: {} token-types@6.1.2: @@ -21253,12 +26298,15 @@ snapshots: toml@4.3.0: {} + tosource@2.0.0-alpha.3: {} + + totalist@3.0.1: {} + tr46@0.0.3: {} tr46@5.1.1: dependencies: punycode: 2.3.1 - optional: true tree-kill@1.2.2: {} @@ -21268,8 +26316,13 @@ snapshots: ts-algebra@2.0.0: {} - tsdown@0.22.14(@arethetypeswrong/core@0.18.5)(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(publint@0.3.23)(tsx@4.23.12)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)): + ts-api-utils@2.5.0(typescript@6.0.3-bridge.12.tsgo.7.0.2): + dependencies: + typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 + + tsdown@0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(tsx@4.23.12): dependencies: + '@arethetypeswrong/core': 0.18.5 ansis: 4.3.1 cac: 7.0.0 defu: 6.1.7 @@ -21278,22 +26331,20 @@ snapshots: import-without-cache: 0.4.0 obug: 2.1.4 picomatch: 4.0.5 + publint: 0.3.23 rolldown: 1.2.3 - rolldown-plugin-dts: 0.27.14(@volar/typescript@2.4.28)(oxc-resolver@11.24.2)(rolldown@1.2.3)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + rolldown-plugin-dts: 0.27.14(rolldown@1.2.3) tinyexec: 1.3.0 tinyglobby: 0.2.17 tree-kill: 1.2.2 + tsx: 4.23.12 unconfig-core: 7.5.0 verkit: 0.3.2 - optionalDependencies: - '@arethetypeswrong/core': 0.18.5 - publint: 0.3.23 - tsx: 4.23.12 - typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 transitivePeerDependencies: - '@typescript/native-preview' - '@volar/typescript' - oxc-resolver + - typescript - vue-tsc tslib@2.8.1: {} @@ -21327,7 +26378,6 @@ snapshots: type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - optional: true type-fest@0.13.1: {} @@ -21379,23 +26429,19 @@ snapshots: ulid@3.0.2: {} - unagent@0.0.8(43823ccf70b9a1546200f288aad311a2): + ultrahtml@1.7.0: {} + + ultramatter@0.0.4: {} + + unagent@0.0.8(@huggingface/transformers@4.2.0)(sqlite-vec@0.1.9): dependencies: + '@huggingface/transformers': 4.2.0 croner: 9.1.0 hookable: 6.1.1 pathe: 2.0.3 + sqlite-vec: 0.1.9 std-env: 3.10.0 yaml: 2.9.0 - optionalDependencies: - '@cloudflare/sandbox': 0.8.14 - '@huggingface/transformers': 4.2.0 - '@libsql/client': 0.17.4 - '@vercel/queue': 0.4.0(@opentelemetry/api@1.9.0) - '@vercel/sandbox': 1.10.2 - ai: 6.0.228(zod@4.4.3) - pg: 8.23.0 - sqlite-vec: 0.1.9 - unstorage: 1.17.5(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(@vercel/blob@2.8.0)(@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.73)(ws@8.21.3))(aws4fetch@1.0.20)(db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3))(ioredis@5.11.1)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3)) unbash@4.0.10: {} @@ -21409,8 +26455,15 @@ snapshots: '@quansync/fs': 1.0.0 quansync: 1.0.0 - uncrypto@0.1.3: - optional: true + unconfig@7.5.0: + dependencies: + '@quansync/fs': 1.0.0 + defu: 6.1.7 + jiti: 2.7.0 + quansync: 1.0.0 + unconfig-core: 7.5.0 + + uncrypto@0.1.3: {} unctx@2.5.0: dependencies: @@ -21419,20 +26472,11 @@ snapshots: magic-string: 0.30.21 unplugin: 2.3.11 - unctx@3.0.0(magic-string@1.1.0)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0))): - optionalDependencies: - magic-string: 1.1.0 - oxc-parser: 0.143.0 - rolldown: 1.2.3 - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)) - - unctx@3.0.0(magic-string@1.1.0)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))): - optionalDependencies: + unctx@3.0.0(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)): + dependencies: magic-string: 1.1.0 - oxc-parser: 0.143.0 rolldown: 1.2.3 - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) - optional: true + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) undici-types@7.18.2: {} @@ -21442,25 +26486,22 @@ snapshots: undici@7.29.0: {} + undici@8.10.0: {} + unenv@2.0.0-rc.24: dependencies: pathe: 2.0.3 - unhead@3.3.1(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)): + unhead@3.3.1(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)): dependencies: hookable: 6.1.1 - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) - optionalDependencies: - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' - bun-types-no-globals - - esbuild - - rolldown - - rollup - unloader - - webpack unicode-emoji-modifier-base@1.0.0: {} @@ -21468,6 +26509,8 @@ snapshots: unicorn-magic@0.3.0: {} + unicorn-magic@0.4.0: {} + unified@11.0.5: dependencies: '@types/unist': 3.0.3 @@ -21478,7 +26521,7 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unimport@6.4.0(esbuild@0.28.2)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0)): + unimport@6.4.0: dependencies: acorn: 8.18.0 escape-string-regexp: 5.0.0 @@ -21492,22 +26535,15 @@ snapshots: scule: 1.3.0 strip-literal: 4.0.0 tinyglobby: 0.2.17 - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0)) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) unplugin-utils: 0.3.2 - optionalDependencies: - oxc-parser: 0.143.0 - rolldown: 1.2.3 transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' - bun-types-no-globals - - esbuild - - rollup - unloader - - vite - - webpack - unimport@6.4.0(esbuild@0.28.2)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)): + unimport@6.4.0(rolldown@1.2.3): dependencies: acorn: 8.18.0 escape-string-regexp: 5.0.0 @@ -21518,23 +26554,17 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.5 pkg-types: 2.3.1 + rolldown: 1.2.3 scule: 1.3.0 strip-literal: 4.0.0 tinyglobby: 0.2.17 - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) unplugin-utils: 0.3.2 - optionalDependencies: - oxc-parser: 0.143.0 - rolldown: 1.2.3 transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' - bun-types-no-globals - - esbuild - - rollup - unloader - - vite - - webpack unist-util-is@6.0.1: dependencies: @@ -21561,38 +26591,54 @@ snapshots: universalify@2.0.1: {} + unocss@66.7.5(@unocss/webpack@66.7.5(webpack@5.109.2)): + dependencies: + '@unocss/cli': 66.7.5 + '@unocss/core': 66.7.5 + '@unocss/preset-attributify': 66.7.5 + '@unocss/preset-icons': 66.7.5 + '@unocss/preset-mini': 66.7.5 + '@unocss/preset-tagify': 66.7.5 + '@unocss/preset-typography': 66.7.5 + '@unocss/preset-uno': 66.7.5 + '@unocss/preset-web-fonts': 66.7.5 + '@unocss/preset-wind': 66.7.5 + '@unocss/preset-wind3': 66.7.5 + '@unocss/preset-wind4': 66.7.5 + '@unocss/transformer-attributify-jsx': 66.7.5 + '@unocss/transformer-compile-class': 66.7.5 + '@unocss/transformer-directives': 66.7.5 + '@unocss/transformer-variant-group': 66.7.5 + '@unocss/vite': 66.7.5(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@unocss/webpack': 66.7.5(webpack@5.109.2) + unpipe@1.0.0: {} - unplugin-auto-import@21.1.0(@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))))(@vueuse/core@14.4.0(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(esbuild@0.28.2)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)): + unplugin-auto-import@21.1.0(@vueuse/core@14.4.0(vue@3.5.41)): dependencies: + '@vueuse/core': 14.4.0(vue@3.5.41) local-pkg: 1.2.1 magic-string: 1.1.0 picomatch: 4.0.5 - unimport: 6.4.0(esbuild@0.28.2)(oxc-parser@0.143.0)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) + unimport: 6.4.0 + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) unplugin-utils: 0.3.2 - optionalDependencies: - '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))) - '@vueuse/core': 14.4.0(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' - bun-types-no-globals - - esbuild - oxc-parser - rolldown - - rollup - unloader - - vite - - webpack unplugin-utils@0.3.2: dependencies: pathe: 2.0.3 picomatch: 4.0.5 - unplugin-vue-components@32.1.0(@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))))(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)): + unplugin-vue-components@32.1.0(@nuxt/kit@3.21.11)(vue@3.5.41): dependencies: + '@nuxt/kit': 3.21.11 chokidar: 5.0.0 local-pkg: 1.2.1 magic-string: 0.30.21 @@ -21600,40 +26646,29 @@ snapshots: obug: 2.1.4 picomatch: 4.0.5 tinyglobby: 0.2.17 - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) unplugin-utils: 0.3.2 - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) - optionalDependencies: - '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.143.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26))) + vue: 3.5.41 transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' - bun-types-no-globals - - esbuild - - rolldown - - rollup - unloader - - vite - - webpack - unplugin-vue-markdown@32.0.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)): + unplugin-vue-markdown@32.0.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)): dependencies: '@mdit-vue/plugin-component': 3.0.2 '@mdit-vue/plugin-frontmatter': 3.0.2 '@mdit-vue/types': 3.0.2 markdown-exit: 1.0.0-beta.9 - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) unplugin-utils: 0.3.2 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' - bun-types-no-globals - - esbuild - - rolldown - - rollup - unloader - - webpack unplugin@2.3.11: dependencies: @@ -21642,55 +26677,23 @@ snapshots: picomatch: 4.0.5 webpack-virtual-modules: 0.6.2 - unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)): + unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2): dependencies: '@jridgewell/remapping': 2.3.5 - picomatch: 4.0.5 - webpack-virtual-modules: 0.6.2 - optionalDependencies: esbuild: 0.28.2 - rolldown: 1.2.3 - rollup: 4.62.4 - vite: 7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0) - - unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0)): - dependencies: - '@jridgewell/remapping': 2.3.5 picomatch: 4.0.5 - webpack-virtual-modules: 0.6.2 - optionalDependencies: - esbuild: 0.28.2 rolldown: 1.2.3 rollup: 4.62.4 vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - webpack: 5.109.2(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0) - - unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)): - dependencies: - '@jridgewell/remapping': 2.3.5 - picomatch: 4.0.5 + webpack: 5.109.2 webpack-virtual-modules: 0.6.2 - optionalDependencies: - esbuild: 0.28.2 - rolldown: 1.2.3 - rollup: 4.62.4 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26) - unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)): + unrouting@0.2.2: dependencies: - '@jridgewell/remapping': 2.3.5 - picomatch: 4.0.5 - webpack-virtual-modules: 0.6.2 - optionalDependencies: - esbuild: 0.28.2 - rolldown: 1.2.3 - rollup: 4.62.4 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0) + escape-string-regexp: 5.0.0 + ufo: 1.6.4 - unstorage@1.17.5(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(@vercel/blob@2.8.0)(@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3))(aws4fetch@1.0.20)(db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3))(ioredis@5.11.1)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3)): + unstorage@1.17.5: dependencies: anymatch: 3.1.3 chokidar: 5.0.0 @@ -21700,55 +26703,36 @@ snapshots: node-fetch-native: 1.6.7 ofetch: 1.5.1 ufo: 1.6.4 - optionalDependencies: - '@azure/identity': 4.13.1 - '@azure/storage-blob': 12.33.0 - '@netlify/blobs': 10.7.12 - '@vercel/blob': 2.8.0 - '@vercel/functions': 3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3) - aws4fetch: 1.0.20 - db0: 0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3) - ioredis: 5.11.1 - uploadthing: 7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3) - optional: true - unstorage@1.17.5(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(@vercel/blob@2.8.0)(@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.73)(ws@8.21.3))(aws4fetch@1.0.20)(db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3))(ioredis@5.11.1)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3)): + unstorage@1.17.5(db0@0.3.4(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mysql2@3.15.3))(ioredis@5.11.1): dependencies: anymatch: 3.1.3 chokidar: 5.0.0 + db0: 0.3.4(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1))(mysql2@3.15.3)(pg@8.23.0)(prisma@7.9.1))(mysql2@3.15.3) destr: 2.0.5 h3: 1.15.11 + ioredis: 5.11.1 lru-cache: 11.5.2 node-fetch-native: 1.6.7 ofetch: 1.5.1 ufo: 1.6.4 - optionalDependencies: + + unstorage@2.0.0-alpha.7(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(db0@0.3.4)(uploadthing@7.7.4): + dependencies: '@azure/identity': 4.13.1 '@azure/storage-blob': 12.33.0 '@netlify/blobs': 10.7.12 - '@vercel/blob': 2.8.0 - '@vercel/functions': 3.9.2(@aws-sdk/credential-provider-web-identity@3.972.73)(ws@8.21.3) - aws4fetch: 1.0.20 - db0: 0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3) - ioredis: 5.11.1 - uploadthing: 7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3) - optional: true + db0: 0.3.4 + uploadthing: 7.7.4 - unstorage@2.0.0-alpha.7(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(@vercel/blob@2.8.0)(@vercel/functions@3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3))(aws4fetch@1.0.20)(chokidar@5.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3))(ioredis@5.11.1)(lru-cache@11.5.2)(mongodb@7.5.0(@mongodb-js/zstd@7.0.0)(socks@2.8.9))(ofetch@2.0.0-alpha.3)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3)): - optionalDependencies: + unstorage@2.0.0-alpha.7(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@netlify/blobs@10.7.12)(uploadthing@7.7.4): + dependencies: '@azure/identity': 4.13.1 '@azure/storage-blob': 12.33.0 '@netlify/blobs': 10.7.12 - '@vercel/blob': 2.8.0 - '@vercel/functions': 3.9.2(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3) - aws4fetch: 1.0.20 - chokidar: 5.0.0 - db0: 0.3.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(mysql2@3.15.3) - ioredis: 5.11.1 - lru-cache: 11.5.2 - mongodb: 7.5.0(@mongodb-js/zstd@7.0.0)(socks@2.8.9) - ofetch: 2.0.0-alpha.3 - uploadthing: 7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3) + uploadthing: 7.7.4 + + untun@0.2.2: {} untyped@2.0.0: dependencies: @@ -21756,7 +26740,16 @@ snapshots: defu: 6.1.7 jiti: 2.7.0 knitwork: 1.3.0 - scule: 1.3.0 + scule: 1.3.0 + + unwasm@0.5.3: + dependencies: + exsolve: 1.1.1 + knitwork: 1.3.0 + magic-string: 0.30.21 + mlly: 1.8.2 + pathe: 2.0.3 + pkg-types: 2.3.1 update-browserslist-db@1.3.1(browserslist@4.28.8): dependencies: @@ -21764,24 +26757,19 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3): + uploadthing@7.7.4: dependencies: '@effect/platform': 0.90.3(effect@3.17.7) '@standard-schema/spec': 1.0.0-beta.4 '@uploadthing/mime-types': 0.3.6 '@uploadthing/shared': 7.1.10 effect: 3.17.7 - optionalDependencies: - express: 5.2.1 - h3: 1.15.11 - tailwindcss: 4.3.3 uqr@0.1.3: {} uri-js@4.4.1: dependencies: punycode: 2.3.1 - optional: true url-template@2.0.8: {} @@ -21797,10 +26785,7 @@ snapshots: uuid@9.0.1: {} - valibot@1.4.2(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2): - optionalDependencies: - typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 - optional: true + valibot@1.4.2: {} valid-data-url@3.0.1: {} @@ -21820,7 +26805,17 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-hub@0.0.3(4af2f55f92ed26dc60e734c5dde9b23f): + vite-dev-rpc@2.0.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)): + dependencies: + birpc: 4.1.0 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite-hot-client: 2.2.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + + vite-hot-client@2.2.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)): + dependencies: + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + + vite-hub@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)): dependencies: '@aws-sdk/client-s3': 3.1107.0 '@aws-sdk/lib-storage': 3.1107.0(@aws-sdk/client-s3@3.1107.0) @@ -21835,38 +26830,37 @@ snapshots: '@netlify/blobs': 10.7.12 '@supabase/storage-js': 2.112.3 '@vercel/sandbox': 1.10.2 - '@vite-hub/agent': 0.0.3(e3ac11330cc56a5ae0581caeb764d6f3) - '@vite-hub/auth': 0.0.3(1083681185f5b4504bc76411452cf458) - '@vite-hub/blob': 0.0.3(621f2d133689a798b971e272e867f995) + '@vite-hub/agent': 0.0.3(ec966830e493cafda8aca782de65b552) + '@vite-hub/auth': 0.0.3(@vite-hub/agent@0.0.3(ec966830e493cafda8aca782de65b552))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/blob': 0.0.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(files-sdk@2.2.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@google-cloud/storage@7.22.0)(@googleapis/drive@20.2.0)(@microsoft/microsoft-graph-client@3.0.7(@azure/identity@4.13.1))(@netlify/blobs@10.7.12)(@supabase/storage-js@2.112.3)(@vercel/blob@2.8.0)(ai@6.0.228(zod@4.1.11))(box-typescript-sdk-gen@1.19.1)(dropbox@10.44.0)(google-auth-library@10.9.1)(uploadthing@7.7.4)(zod@4.1.11))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) '@vite-hub/box': 0.0.3(@cloudflare/sandbox@0.8.14)(@vercel/sandbox@1.10.2) - '@vite-hub/browser': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) - '@vite-hub/cli': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) - '@vite-hub/database': 0.0.3(crossws@0.4.10(srvx@0.11.22))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) - '@vite-hub/email': 0.0.3(nodemailer@9.0.5)(shiki@4.4.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) - '@vite-hub/env': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) - '@vite-hub/kv': 0.0.3(8a53785f9f051d6a68fdfff12dba5265) - '@vite-hub/markdown-template': 0.0.3(shiki@4.4.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) - '@vite-hub/queue': 0.0.3(@aws-sdk/credential-provider-web-identity@3.972.49)(crossws@0.4.10(srvx@0.11.22))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(ws@8.21.3) - '@vite-hub/rate-limit': 0.0.3(crossws@0.4.10(srvx@0.11.22))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/browser': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/cli': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/database': 0.0.3(drizzle-kit@0.31.10)(drizzle-orm@0.45.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/email': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/env': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/kv': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/markdown-template': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/queue': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/rate-limit': 0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) '@vite-hub/runtime': 0.0.3 - '@vite-hub/sandbox': 0.0.3(@cloudflare/sandbox@0.8.14)(@vercel/sandbox@1.10.2)(crossws@0.4.10(srvx@0.11.22))(oxc-parser@0.143.0)(rolldown@1.2.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0)) - '@vite-hub/schedule': 0.0.3(@vite-hub/kv@0.0.3(8a53785f9f051d6a68fdfff12dba5265))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/sandbox': 0.0.3(@cloudflare/sandbox@0.8.14)(@vercel/sandbox@1.10.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vite-hub/schedule': 0.0.3(@vite-hub/kv@0.0.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) '@vite-hub/shell': 0.0.3 '@vite-hub/source': 0.0.3(zod@4.1.11) - '@vite-hub/workflow': 0.0.3(b1bd44eecded184e65f13188b99c3a4d) - '@vite-hub/workspace': 0.0.3(8cf96a246888b22dc8a00a17364ad6d3) - '@workflow/builders': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) + '@vite-hub/workflow': 0.0.3(@vite-hub/database@0.0.3(drizzle-kit@0.31.10)(drizzle-orm@0.45.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)))(@workflow/builders@5.0.0-beta.35)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(workflow@5.0.0-beta.35) + '@vite-hub/workspace': 0.0.3(@vite-hub/shell@0.0.3)(ai@6.0.228(zod@4.1.11))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@workflow/builders': 5.0.0-beta.35 ai: 6.0.228(zod@4.1.11) box-typescript-sdk-gen: 1.19.1 drizzle-kit: 0.31.10 - drizzle-orm: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@opentelemetry/api@1.9.1)(@prisma/client@5.22.0(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)))(@types/pg@8.21.0)(kysely@0.29.5)(mysql2@3.15.3)(pg@8.23.0)(postgres@3.4.9)(prisma@7.9.1(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(sql.js@1.14.1) + drizzle-orm: 0.45.2 dropbox: 10.44.0 - files-sdk: 2.2.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(@azure/core-auth@1.11.0)(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@google-cloud/storage@7.22.0)(@googleapis/drive@20.2.0)(@microsoft/microsoft-graph-client@3.0.7(@azure/identity@4.13.1))(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@netlify/blobs@10.7.12)(@opentelemetry/api@1.9.1)(@supabase/storage-js@2.112.3)(@vercel/blob@2.8.0)(ai@6.0.228(zod@4.1.11))(box-typescript-sdk-gen@1.19.1)(dropbox@10.44.0)(google-auth-library@10.9.1)(h3@1.15.11)(hono@4.13.1)(openai@6.26.0(ws@8.21.3)(zod@4.1.11))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(uploadthing@7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3))(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(zod@4.1.11) + files-sdk: 2.2.3(@aws-sdk/client-s3@3.1107.0)(@aws-sdk/lib-storage@3.1107.0(@aws-sdk/client-s3@3.1107.0))(@aws-sdk/s3-presigned-post@3.1107.0)(@aws-sdk/s3-request-presigner@3.1107.0)(@azure/identity@4.13.1)(@azure/storage-blob@12.33.0)(@google-cloud/storage@7.22.0)(@googleapis/drive@20.2.0)(@microsoft/microsoft-graph-client@3.0.7(@azure/identity@4.13.1))(@netlify/blobs@10.7.12)(@supabase/storage-js@2.112.3)(@vercel/blob@2.8.0)(ai@6.0.228(zod@4.1.11))(box-typescript-sdk-gen@1.19.1)(dropbox@10.44.0)(google-auth-library@10.9.1)(uploadthing@7.7.4)(zod@4.1.11) google-auth-library: 10.9.1 - uploadthing: 7.7.4(express@5.2.1)(h3@1.15.11)(tailwindcss@4.3.3) - workflow: 5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3) - optionalDependencies: - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + uploadthing: 7.7.4 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + workflow: 5.0.0-beta.35 transitivePeerDependencies: - '@ai-sdk/harness-claude-code' - '@ai-sdk/mcp' @@ -21893,7 +26887,6 @@ snapshots: - '@lynx-js/react' - '@neondatabase/serverless' - '@nestjs/common' - - '@nestjs/core' - '@op-engineering/op-sqlite' - '@openai/agents' - '@opencode-ai/sdk' @@ -21902,8 +26895,6 @@ snapshots: - '@prisma/client' - '@rspack/core' - '@sveltejs/kit' - - '@swc/cli' - - '@swc/core' - '@swc/helpers' - '@tanstack/react-start' - '@tanstack/solid-start' @@ -21932,7 +26923,6 @@ snapshots: - chokidar - cloudinary - convex - - crossws - db0 - disk - encoding @@ -21968,7 +26958,6 @@ snapshots: - react-dom - react-native-b4a - rolldown - - rollup - shiki - solid-js - sql.js @@ -21986,19 +26975,16 @@ snapshots: - vitest - vue - webdav - - webpack - ws - - zod - vite-node@3.2.4(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0): + vite-node@3.2.4(@types/node@24.13.3)(tsx@4.23.12): dependencies: cac: 6.7.14 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite: 7.3.6(@types/node@24.13.3)(tsx@4.23.12) transitivePeerDependencies: - - '@types/node' - jiti - less - lightningcss @@ -22008,55 +26994,139 @@ snapshots: - sugarss - supports-color - terser - - tsx - yaml - vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0): + vite-node@6.0.0(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0): + dependencies: + cac: 7.0.0 + es-module-lexer: 2.3.1 + obug: 2.1.4 + pathe: 2.0.3 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + transitivePeerDependencies: + - '@vitejs/devtools' + - less + - sass + - sass-embedded + - stylus + - sugarss + + vite-plugin-checker@0.14.5(eslint@10.8.1(jiti@2.7.0))(oxlint@1.78.0(oxlint-tsgolint@7.0.2001))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue-tsc@3.3.9(typescript@6.0.3-bridge.12.tsgo.7.0.2)): + dependencies: + '@babel/code-frame': 7.29.7 + chokidar: 5.0.0 + eslint: 10.8.1(jiti@2.7.0) + npm-run-path: 6.0.0 + oxlint: 1.78.0(oxlint-tsgolint@7.0.2001) + picocolors: 1.1.1 + picomatch: 4.0.5 + proper-lockfile: 4.1.2 + tiny-invariant: 1.3.3 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vue-tsc: 3.3.9(typescript@6.0.3-bridge.12.tsgo.7.0.2) + + vite-plugin-inspect@11.4.1(@nuxt/kit@4.5.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)): + dependencies: + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2)) + ansis: 4.3.1 + error-stack-parser-es: 1.0.5 + obug: 2.1.4 + ohash: 2.0.11 + open: 11.0.0 + perfect-debounce: 2.1.0 + sirv: 3.0.2 + unplugin-utils: 0.3.2 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite-dev-rpc: 2.0.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + + vite-plugin-vue-tracer@1.5.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41): dependencies: + estree-walker: 3.0.3 + exsolve: 1.1.1 + magic-string: 1.1.0 + pathe: 2.0.3 + source-map-js: 1.2.1 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vue: 3.5.41 + + vite@7.3.6(@types/node@24.13.3)(tsx@4.23.12): + dependencies: + '@types/node': 24.13.3 esbuild: 0.28.2 fdir: 6.5.0(picomatch@4.0.5) picomatch: 4.0.5 postcss: 8.5.26 rollup: 4.62.4 tinyglobby: 0.2.17 + tsx: 4.23.12 optionalDependencies: - '@types/node': 24.13.3 fsevents: 2.3.3 + + vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0): + dependencies: + '@types/node': 24.13.3 + esbuild: 0.27.7 jiti: 2.7.0 lightningcss: 1.33.0 + picomatch: 4.0.5 + postcss: 8.5.26 + rolldown: 1.2.3 terser: 5.49.2 + tinyglobby: 0.2.17 tsx: 4.23.12 yaml: 2.9.0 + optionalDependencies: + fsevents: 2.3.3 vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0): dependencies: + '@types/node': 24.13.3 + esbuild: 0.28.2 + jiti: 2.7.0 lightningcss: 1.33.0 picomatch: 4.0.5 postcss: 8.5.26 rolldown: 1.2.3 - tinyglobby: 0.2.17 - optionalDependencies: - '@types/node': 24.13.3 - esbuild: 0.28.2 - fsevents: 2.3.3 - jiti: 2.7.0 terser: 5.49.2 + tinyglobby: 0.2.17 tsx: 4.23.12 yaml: 2.9.0 + optionalDependencies: + fsevents: 2.3.3 + + vitest-environment-nuxt@2.0.0(@playwright/test@1.62.1)(@vue/test-utils@2.4.11(@vue/compiler-dom@3.5.41)(@vue/server-renderer@3.5.41)(vue@3.5.41))(happy-dom@20.11.2)(playwright-core@1.62.1)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))): + dependencies: + '@nuxt/test-utils': 4.1.0(@playwright/test@1.62.1)(@vue/test-utils@2.4.11(@vue/compiler-dom@3.5.41)(@vue/server-renderer@3.5.41)(vue@3.5.41))(happy-dom@20.11.2)(playwright-core@1.62.1)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))) + transitivePeerDependencies: + - '@cucumber/cucumber' + - '@farmfe/core' + - '@jest/globals' + - '@rspack/core' + - '@testing-library/vue' + - '@vitest/ui' + - bun-types-no-globals + - h3-next + - jsdom + - magicast + - typescript + - unloader - vitest@3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0): + vitest@3.2.7(@types/debug@4.1.13)(@types/node@24.13.3)(happy-dom@20.11.2): dependencies: '@types/chai': 5.2.3 + '@types/debug': 4.1.13 + '@types/node': 24.13.3 '@vitest/expect': 3.2.7 - '@vitest/mocker': 3.2.7(vite@7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vitest/mocker': 3.2.7(vite@7.3.6(@types/node@24.13.3)(tsx@4.23.12)) '@vitest/pretty-format': 3.2.7 '@vitest/runner': 3.2.7 '@vitest/snapshot': 3.2.7 '@vitest/spy': 3.2.7 '@vitest/utils': 3.2.7 chai: 5.3.3 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 expect-type: 1.4.0 + happy-dom: 20.11.2 magic-string: 0.30.21 pathe: 2.0.3 picomatch: 4.0.5 @@ -22066,13 +27136,9 @@ snapshots: tinyglobby: 0.2.17 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.3.6(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) - vite-node: 3.2.4(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vite: 7.3.6(@types/node@24.13.3)(tsx@4.23.12) + vite-node: 3.2.4(@types/node@24.13.3)(tsx@4.23.12) why-is-node-running: 2.3.0 - optionalDependencies: - '@types/debug': 4.1.13 - '@types/node': 24.13.3 - happy-dom: 20.11.2 transitivePeerDependencies: - jiti - less @@ -22084,20 +27150,71 @@ snapshots: - sugarss - supports-color - terser - - tsx - yaml - vscode-uri@3.1.0: - optional: true + vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)): + dependencies: + '@opentelemetry/api': 1.9.1 + '@types/node': 24.13.3 + '@vitest/expect': 4.1.10 + '@vitest/mocker': 4.1.10(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.10 + '@vitest/runner': 4.1.10 + '@vitest/snapshot': 4.1.10 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 + es-module-lexer: 2.3.1 + expect-type: 1.4.0 + happy-dom: 20.11.2 + magic-string: 0.30.21 + obug: 2.1.4 + pathe: 2.0.3 + picomatch: 4.0.5 + std-env: 4.2.0 + tinybench: 2.9.0 + tinyexec: 1.3.0 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.1 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + why-is-node-running: 2.3.0 + transitivePeerDependencies: + - msw + + vscode-uri@3.1.0: {} + + vue-bundle-renderer@2.3.2: + dependencies: + ufo: 1.6.4 - vue-demi@0.14.10(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)): + vue-component-type-helpers@3.3.9: {} + + vue-demi@0.14.10(vue@3.5.41): + dependencies: + vue: 3.5.41 + + vue-devtools-stub@0.1.0: {} + + vue-i18n-extract@2.0.7: + dependencies: + cac: 6.7.14 + dot-object: 2.1.5 + glob: 8.1.0 + is-valid-glob: 1.0.0 + js-yaml: 4.3.1 + + vue-i18n@11.4.8(vue@3.5.41): dependencies: - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + '@intlify/core-base': 11.4.8 + '@intlify/devtools-types': 11.4.8 + '@intlify/shared': 11.4.8 + '@vue/devtools-api': 6.6.4 + vue: 3.5.41 - vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)): + vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(vue@3.5.41): dependencies: '@babel/generator': 8.0.0 - '@vue-macros/common': 3.1.4(vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)) + '@vue-macros/common': 3.1.4(vue@3.5.41) + '@vue/compiler-sfc': 3.5.41 '@vue/devtools-api': 8.2.1 ast-walker-scope: 0.9.0 chokidar: 5.0.0 @@ -22111,46 +27228,36 @@ snapshots: picomatch: 4.0.5 scule: 1.3.0 tinyglobby: 0.2.17 - unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.3)(rollup@4.62.4)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0))(webpack@5.109.2) unplugin-utils: 0.3.2 - vue: 3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) + vue: 3.5.41 yaml: 2.9.0 - optionalDependencies: - '@vue/compiler-sfc': 3.5.41 - vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.49.2)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' - bun-types-no-globals - - esbuild - - rolldown - - rollup - unloader - - webpack - vue-tsc@3.3.9(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2): + vue-tsc@3.3.9(typescript@6.0.3-bridge.12.tsgo.7.0.2): dependencies: '@volar/typescript': 2.4.28 '@vue/language-core': 3.3.9 typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 - optional: true - vue@3.5.41(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2): + vue@3.5.41: dependencies: '@vue/compiler-dom': 3.5.41 '@vue/compiler-sfc': 3.5.41 '@vue/runtime-dom': 3.5.41 '@vue/server-renderer': 3.5.41 '@vue/shared': 3.5.41 - optionalDependencies: - typescript: typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2 walk-up-path@4.0.0: {} watchpack@2.5.2: dependencies: graceful-fs: 4.2.11 - optional: true wcwidth@1.0.1: dependencies: @@ -22171,89 +27278,13 @@ snapshots: webidl-conversions@3.0.1: {} - webidl-conversions@7.0.0: - optional: true + webidl-conversions@7.0.0: {} - webpack-sources@3.5.1: - optional: true + webpack-sources@3.5.1: {} webpack-virtual-modules@0.6.2: {} - webpack@5.109.2(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0): - dependencies: - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.18.0 - browserslist: 4.28.8 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.24.5 - es-module-lexer: 2.3.1 - eslint-scope: 5.1.1 - events: 3.3.0 - graceful-fs: 4.2.11 - mime-db: 1.54.0 - minimizer-webpack-plugin: 5.6.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0)(webpack@5.109.2(@swc/core@1.15.3(@swc/helpers@0.5.23))(esbuild@0.28.2)(lightningcss@1.33.0)) - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.3 - watchpack: 2.5.2 - webpack-sources: 3.5.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - optional: true - - webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0): - dependencies: - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.18.0 - browserslist: 4.28.8 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.24.5 - es-module-lexer: 2.3.1 - eslint-scope: 5.1.1 - events: 3.3.0 - graceful-fs: 4.2.11 - mime-db: 1.54.0 - minimizer-webpack-plugin: 5.6.1(esbuild@0.28.2)(lightningcss@1.33.0)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)) - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.3 - watchpack: 2.5.2 - webpack-sources: 3.5.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - optional: true - - webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26): + webpack@5.109.2: dependencies: '@types/estree': 1.0.9 '@types/json-schema': 7.0.15 @@ -22269,7 +27300,7 @@ snapshots: events: 3.3.0 graceful-fs: 4.2.11 mime-db: 1.54.0 - minimizer-webpack-plugin: 5.6.1(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.26)) + minimizer-webpack-plugin: 5.6.1(esbuild@0.28.2)(webpack@5.109.2) neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.3 @@ -22283,19 +27314,16 @@ snapshots: - clean-css - cssnano - csso - - esbuild - html-minifier-terser - lightningcss - postcss - uglify-js - optional: true whatwg-encoding@3.1.1: dependencies: iconv-lite: 0.6.3 - whatwg-mimetype@3.0.0: - optional: true + whatwg-mimetype@3.0.0: {} whatwg-mimetype@4.0.0: {} @@ -22303,7 +27331,6 @@ snapshots: dependencies: tr46: 5.1.1 webidl-conversions: 7.0.0 - optional: true whatwg-url@5.0.0: dependencies: @@ -22326,6 +27353,10 @@ snapshots: dependencies: isexe: 2.0.0 + which@6.0.1: + dependencies: + isexe: 4.0.0 + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 @@ -22339,37 +27370,30 @@ snapshots: dependencies: string-width: 7.2.0 - word-wrap@1.2.5: - optional: true + word-wrap@1.2.5: {} wordwrap@1.0.0: {} - workflow@5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2)(ws@8.21.3): + workflow@5.0.0-beta.35: dependencies: - '@workflow/astro': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/cli': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(react@19.2.8)(ws@8.21.3) - '@workflow/core': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(ws@8.21.3) + '@workflow/astro': 5.0.0-beta.35 + '@workflow/cli': 5.0.0-beta.35(react@19.2.8) + '@workflow/core': 5.0.0-beta.35 '@workflow/errors': 5.0.0-beta.11 - '@workflow/nest': 5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@opentelemetry/api@1.9.1)(@swc/cli@0.8.1(@swc/core@1.15.3(@swc/helpers@0.5.23))(chokidar@5.0.0))(@swc/core@1.15.3(@swc/helpers@0.5.23))(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/next': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/nitro': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(react@19.2.8)(ws@8.21.3) - '@workflow/nuxt': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(magicast@0.5.4)(react@19.2.8)(ws@8.21.3) - '@workflow/rollup': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/sveltekit': 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@swc/helpers@0.5.23)(ws@8.21.3) - '@workflow/typescript-plugin': 5.0.0-beta.5(typescript-native-bridge@6.0.3-bridge.12.tsgo.7.0.2) + '@workflow/nest': 5.0.0-beta.35(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.29(@nestjs/common@11.1.29(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(@swc/cli@0.8.1(@swc/core@1.15.3))(@swc/core@1.15.3) + '@workflow/next': 5.0.0-beta.35 + '@workflow/nitro': 5.0.0-beta.35(react@19.2.8) + '@workflow/nuxt': 5.0.0-beta.35(react@19.2.8) + '@workflow/rollup': 5.0.0-beta.35 + '@workflow/sveltekit': 5.0.0-beta.35 + '@workflow/typescript-plugin': 5.0.0-beta.5 '@workflow/utils': 5.0.0-beta.6 ms: 2.1.3 - optionalDependencies: - '@opentelemetry/api': 1.9.1 transitivePeerDependencies: - - '@nestjs/common' - - '@nestjs/core' - - '@swc/cli' - - '@swc/core' + - '@opentelemetry/api' - '@swc/helpers' - magicast - next - - react - supports-color - typescript - ws @@ -22406,6 +27430,11 @@ snapshots: dependencies: is-wsl: 3.1.1 + wsl-utils@0.3.1: + dependencies: + is-wsl: 3.1.1 + powershell-utils: 0.1.0 + xdg-app-paths@5.1.0: dependencies: xdg-portable: 7.3.0 @@ -22416,13 +27445,19 @@ snapshots: xml-naming@0.3.0: {} - xtend@4.0.2: - optional: true + xtend@4.0.2: {} y18n@5.0.8: {} + yallist@3.1.1: {} + yallist@5.0.0: {} + yaml-eslint-parser@1.3.2: + dependencies: + eslint-visitor-keys: 3.4.3 + yaml: 2.9.0 + yaml@2.9.0: {} yargs-parser@20.2.9: {} @@ -22456,8 +27491,25 @@ snapshots: yocto-queue@1.2.2: {} + yocto-spinner@0.2.3: + dependencies: + yoctocolors: 2.2.0 + yoctocolors@2.2.0: {} + youch-core@0.3.3: + dependencies: + '@poppinss/exception': 1.2.3 + error-stack-parser-es: 1.0.5 + + youch@4.1.1: + dependencies: + '@poppinss/colors': 4.1.6 + '@poppinss/dumper': 0.7.0 + '@speed-highlight/core': 1.2.24 + cookie-es: 3.1.1 + youch-core: 0.3.3 + yuku-ast@0.8.4: dependencies: '@yuku-toolchain/types': 0.8.4 @@ -22501,7 +27553,12 @@ snapshots: dependencies: grammex: 3.1.13 graphmatch: 1.1.1 - optional: true + + zip-stream@6.0.1: + dependencies: + archiver-utils: 5.0.2 + compress-commons: 6.0.2 + readable-stream: 4.7.0 zod-to-json-schema@3.25.2(zod@4.1.11): dependencies: