diff --git a/.oxfmtrc.json b/.oxfmtrc.json new file mode 100644 index 0000000..4c15420 --- /dev/null +++ b/.oxfmtrc.json @@ -0,0 +1,11 @@ +{ + "$schema": "./node_modules/oxfmt/configuration_schema.json", + "semi": false, + "singleQuote": false, + "trailingComma": "all", + "tabWidth": 2, + "printWidth": 80, + "experimentalSortImports": {}, + "experimentalSortPackageJson": true, + "ignorePatterns": [] +} diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 0000000..3639c43 --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,44 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": [ + "eslint", + "typescript", + "unicorn", + "oxc", + "import", + "jsdoc", + "node", + "promise", + "vitest" + ], + "globals": {}, + "settings": {}, + "categories": { + "correctness": "error", + "perf": "warn", + "suspicious": "warn", + "pedantic": "off" + }, + "rules": { + "curly": "error", + "no-unused-vars": [ + "warn", + { + "argsIgnorePattern": "^_", + "varsIgnorePattern": "^_", + "caughtErrorsIgnorePattern": "^_" + } + ], + "typescript/no-explicit-any": "error", + "typescript/no-misused-promises": "warn", + "typescript/restrict-template-expressions": "warn" + }, + "overrides": [ + { + "files": ["**/*.test.ts"], + "rules": { + "typescript/no-explicit-any": "off" + } + } + ] +} diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 851574f..0000000 --- a/.prettierignore +++ /dev/null @@ -1,2 +0,0 @@ -**/migrations/meta/** -pnpm-lock.yaml diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 1d7ac85..99e2f7d 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"] + "recommendations": ["oxc.oxc-vscode"] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 6b60876..456856f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,43 +1,15 @@ { - "[css]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[javascript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[json]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[jsonc]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[markdown]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[mdx]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[typescript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "editor.codeActionsOnSave": { - "source.fixAll": "explicit" + "source.fixAll": "always" }, + "editor.defaultFormatter": "oxc.oxc-vscode", "editor.formatOnSave": true, "editor.tabSize": 2, - - "eslint.useFlatConfig": true, - "files.insertFinalNewline": true, "files.trimTrailingWhitespace": true, - + "oxc.enable": true, + "oxc.fixKind": "safe_fix_or_suggestion", + "oxc.typeAware": true, "typescript.enablePromptUseWorkspaceTsdk": true, - "typescript.tsdk": "node_modules/typescript/lib", - - "eslint.workingDirectories": [ - { - "mode": "auto" - } - ] + "typescript.tsdk": "node_modules/typescript/lib" } diff --git a/AGENTS.md b/AGENTS.md index 1c6874c..b81cf76 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -39,7 +39,6 @@ Changes to a leaf package require rebuilding everything above it. Turbo handles - **`tools/`** - Internal workspace packages (not published): - `api-utils` - Hono API helpers, middleware, JWT validation - `cli-tools` - Demo CLI utilities - - `eslint-config` - Shared ESLint flat config - `typescript-config` - Shared tsconfig bases - **`docs/`** - Mintlify documentation site (`pnpm dev:docs`) @@ -92,22 +91,18 @@ Vitest with individual `vitest.config.ts` per package. ## Code Style -### Formatting (Prettier) +### Formatting (oxfmt) - No semicolons - Double quotes - Trailing commas - 2-space indentation +- Import sorting handled by oxfmt -### Imports - -- Sorting handled by `@ianvs/prettier-plugin-sort-imports` (via Prettier, not ESLint) -- Enforced `import type { ... }` via ESLint `consistent-type-imports` rule - -### Linting +### Linting (oxlint) - Unused vars: warning with `^_` prefix ignore pattern -- CSpell spell checking integrated into ESLint (config: `cspell.config.yaml`) +- Config: `.oxlintrc.json` at repo root, run from root (not per-package) ## Demos diff --git a/cspell.config.yaml b/cspell.config.yaml deleted file mode 100644 index 9508727..0000000 --- a/cspell.config.yaml +++ /dev/null @@ -1,22 +0,0 @@ -language: en -words: - - agentcommercekit - - bitstring - - blockhash - - caip - - dbname - - devnet - - healthcheck - - keypair - - lamports - - multibase - - multicall - - multicodec - - multikey - - pubkeys - - secp256 - - skyfire - - solana - - valibot - - varint - - viem diff --git a/demos/e2e/eslint.config.js b/demos/e2e/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/demos/e2e/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/demos/e2e/package.json b/demos/e2e/package.json index 5553dae..0a16381 100644 --- a/demos/e2e/package.json +++ b/demos/e2e/package.json @@ -4,24 +4,22 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "demos/e2e" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "demos/e2e" + }, "type": "module", "main": "./src/index.ts", "scripts": { "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo", "demo": "tsx ./src/index.ts", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -31,7 +29,6 @@ "viem": "catalog:" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*" } } diff --git a/demos/e2e/src/agent.ts b/demos/e2e/src/agent.ts index 787abc2..d0d5c7c 100644 --- a/demos/e2e/src/agent.ts +++ b/demos/e2e/src/agent.ts @@ -15,9 +15,11 @@ import { type Keypair, type PaymentRequest, } from "agentcommercekit" + import type { CredentialVerifier } from "./credential-verifier" -import { PaymentRequiredError } from "./payment-required-error" import type { ReceiptVerifier } from "./receipt-verifier" + +import { PaymentRequiredError } from "./payment-required-error" import { publicKeyToAddress } from "./utils/evm-address" import { verifyAgentIdentityWithCredential } from "./verification" diff --git a/demos/e2e/src/index.ts b/demos/e2e/src/index.ts index 407b402..1e96944 100644 --- a/demos/e2e/src/index.ts +++ b/demos/e2e/src/index.ts @@ -15,6 +15,7 @@ import { type Keypair, type PaymentRequest, } from "agentcommercekit" + import { Agent } from "./agent" import { CredentialIssuer } from "./credential-issuer" import { CredentialVerifier } from "./credential-verifier" diff --git a/demos/e2e/src/user.ts b/demos/e2e/src/user.ts index 1c9b183..30cbf6b 100644 --- a/demos/e2e/src/user.ts +++ b/demos/e2e/src/user.ts @@ -9,6 +9,7 @@ import { type JwtSigner, type Keypair, } from "agentcommercekit" + import { publicKeyToAddress } from "./utils/evm-address" interface ConstructorParams { diff --git a/demos/e2e/src/verification.ts b/demos/e2e/src/verification.ts index 08cdf81..4ffbc68 100644 --- a/demos/e2e/src/verification.ts +++ b/demos/e2e/src/verification.ts @@ -10,6 +10,7 @@ import { type DidResolver, type JwtString, } from "agentcommercekit" + import type { CredentialVerifier } from "./credential-verifier" /** diff --git a/demos/e2e/tsconfig.json b/demos/e2e/tsconfig.json index 6293e46..85d2481 100644 --- a/demos/e2e/tsconfig.json +++ b/demos/e2e/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@repo/typescript-config/typescript-library.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": ["./src/*"] } diff --git a/demos/identity-a2a/eslint.config.js b/demos/identity-a2a/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/demos/identity-a2a/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/demos/identity-a2a/package.json b/demos/identity-a2a/package.json index 311fcbb..8144dd9 100644 --- a/demos/identity-a2a/package.json +++ b/demos/identity-a2a/package.json @@ -4,23 +4,21 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "demos/identity-a2a" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "demos/identity-a2a" + }, "type": "module", "scripts": { "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo", "demo": "tsx ./src/run-demo.ts", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -34,7 +32,6 @@ "valibot": "catalog:" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "@types/express": "5.0.3" } diff --git a/demos/identity-a2a/src/agent.ts b/demos/identity-a2a/src/agent.ts index eefa2fb..367c53a 100644 --- a/demos/identity-a2a/src/agent.ts +++ b/demos/identity-a2a/src/agent.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/require-await */ /** * Agent base class with DID-first architecture * @@ -16,6 +15,7 @@ import type { Message, RequestContext, } from "@a2a-js/sdk" + import { colors } from "@repo/cli-tools" import { createDidDocumentFromKeypair, @@ -32,6 +32,7 @@ import { } from "agentcommercekit" import { createAgentCardServiceEndpoint } from "agentcommercekit/a2a" import { v4 } from "uuid" + import { issueCredential } from "./issuer" type AgentConfig = { diff --git a/demos/identity-a2a/src/bank-client-agent.ts b/demos/identity-a2a/src/bank-client-agent.ts index 9c6fcc2..14d07c5 100644 --- a/demos/identity-a2a/src/bank-client-agent.ts +++ b/demos/identity-a2a/src/bank-client-agent.ts @@ -1,6 +1,5 @@ -/* eslint-disable @typescript-eslint/no-unnecessary-condition */ - import type { Server } from "node:http" + import { A2AClient, type AgentCard, @@ -23,6 +22,7 @@ import { import { messageSchema } from "agentcommercekit/a2a/schemas/valibot" import { v4 } from "uuid" import * as v from "valibot" + import { Agent } from "./agent" import { didResolverWithIssuer, issuerDid } from "./issuer" import { fetchUrlFromAgentCardUrl } from "./utils/fetch-agent-card" diff --git a/demos/identity-a2a/src/bank-teller-agent.ts b/demos/identity-a2a/src/bank-teller-agent.ts index 6eef6f6..8857978 100644 --- a/demos/identity-a2a/src/bank-teller-agent.ts +++ b/demos/identity-a2a/src/bank-teller-agent.ts @@ -17,6 +17,7 @@ import { verifyA2ASignedMessage, } from "agentcommercekit/a2a" import { v4 } from "uuid" + import { Agent } from "./agent" import { didResolverWithIssuer, issuerDid } from "./issuer" import { startAgentServer } from "./utils/server-utils" diff --git a/demos/identity-a2a/src/run-demo.ts b/demos/identity-a2a/src/run-demo.ts index 542b6eb..5e29b0f 100644 --- a/demos/identity-a2a/src/run-demo.ts +++ b/demos/identity-a2a/src/run-demo.ts @@ -1,4 +1,5 @@ import { colors, waitForEnter } from "@repo/cli-tools" + import { getClientAgent } from "./bank-client-agent" import { startTellerServer } from "./bank-teller-agent" diff --git a/demos/identity-a2a/src/utils/server-utils.ts b/demos/identity-a2a/src/utils/server-utils.ts index c47801b..ca1bc12 100644 --- a/demos/identity-a2a/src/utils/server-utils.ts +++ b/demos/identity-a2a/src/utils/server-utils.ts @@ -5,6 +5,7 @@ import { } from "@a2a-js/sdk" import { colors, createLogger, type Logger } from "@repo/cli-tools" import express from "express" + import type { Agent } from "../agent" type Options = { diff --git a/demos/identity-a2a/tsconfig.json b/demos/identity-a2a/tsconfig.json index 6293e46..85d2481 100644 --- a/demos/identity-a2a/tsconfig.json +++ b/demos/identity-a2a/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@repo/typescript-config/typescript-library.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": ["./src/*"] } diff --git a/demos/identity/eslint.config.js b/demos/identity/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/demos/identity/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/demos/identity/package.json b/demos/identity/package.json index cc3eb38..396b9f3 100644 --- a/demos/identity/package.json +++ b/demos/identity/package.json @@ -4,24 +4,22 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "demos/identity" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "demos/identity" + }, "type": "module", "main": "./src/index.ts", "scripts": { "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo", "demo": "dotenv -e .env -- tsx ./src/index.ts", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "setup": "./bin/setup", "test": "vitest" }, @@ -39,7 +37,6 @@ "valibot": "catalog:" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*" } } diff --git a/demos/identity/src/agent.ts b/demos/identity/src/agent.ts index 67cae3f..1f3cec2 100644 --- a/demos/identity/src/agent.ts +++ b/demos/identity/src/agent.ts @@ -1,3 +1,5 @@ +import type { CoreMessage } from "ai" + import { colors } from "@repo/cli-tools" import { createDidDocumentFromKeypair, @@ -14,7 +16,7 @@ import { type Verifiable, type W3CCredential, } from "agentcommercekit" -import type { CoreMessage } from "ai" + import type { CredentialVerifier } from "./credential-verifier" interface AgentConstructorParams { diff --git a/demos/identity/src/client-agent.ts b/demos/identity/src/client-agent.ts index 916d68f..1dc1d2c 100644 --- a/demos/identity/src/client-agent.ts +++ b/demos/identity/src/client-agent.ts @@ -2,6 +2,7 @@ import { valibotSchema } from "@ai-sdk/valibot" import { colors } from "@repo/cli-tools" import { generateText, tool, type CoreMessage } from "ai" import * as v from "valibot" + import { Agent } from "./agent" import { getModel } from "./get-model" diff --git a/demos/identity/src/haiku-agent.ts b/demos/identity/src/haiku-agent.ts index 674bde5..8c626c0 100644 --- a/demos/identity/src/haiku-agent.ts +++ b/demos/identity/src/haiku-agent.ts @@ -1,4 +1,5 @@ import { generateText, type CoreMessage } from "ai" + import { Agent } from "./agent" import { getModel } from "./get-model" import { getIdentityTools } from "./identity-tools" diff --git a/demos/identity/src/identity-tools.ts b/demos/identity/src/identity-tools.ts index a25257c..094b591 100644 --- a/demos/identity/src/identity-tools.ts +++ b/demos/identity/src/identity-tools.ts @@ -9,6 +9,7 @@ import { import { credentialSchema } from "agentcommercekit/schemas/valibot" import { tool } from "ai" import * as v from "valibot" + import type { CredentialVerifier } from "./credential-verifier" const challengeResponseSchema = v.object({ diff --git a/demos/identity/src/index.ts b/demos/identity/src/index.ts index 77436e4..8e53fe7 100644 --- a/demos/identity/src/index.ts +++ b/demos/identity/src/index.ts @@ -1,5 +1,3 @@ -import path, { dirname } from "path" -import { fileURLToPath } from "url" import { colors, confirm, @@ -20,6 +18,9 @@ import { parseJwtCredential, type DidUri, } from "agentcommercekit" +import path, { dirname } from "path" +import { fileURLToPath } from "url" + import { ClientAgent } from "./client-agent" import { CredentialIssuer } from "./credential-issuer" import { CredentialVerifier } from "./credential-verifier" diff --git a/demos/identity/src/serve-agent.ts b/demos/identity/src/serve-agent.ts index 2f1841c..76b0a52 100644 --- a/demos/identity/src/serve-agent.ts +++ b/demos/identity/src/serve-agent.ts @@ -4,6 +4,7 @@ import { logger } from "@repo/api-utils/middleware/logger" import { colors } from "@repo/cli-tools" import { Hono } from "hono" import * as v from "valibot" + import type { Agent } from "./agent" type ServeAgentConfig = { diff --git a/demos/identity/tsconfig.json b/demos/identity/tsconfig.json index 6293e46..85d2481 100644 --- a/demos/identity/tsconfig.json +++ b/demos/identity/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@repo/typescript-config/typescript-library.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": ["./src/*"] } diff --git a/demos/payments/eslint.config.js b/demos/payments/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/demos/payments/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/demos/payments/package.json b/demos/payments/package.json index 9c70640..7bb86ce 100644 --- a/demos/payments/package.json +++ b/demos/payments/package.json @@ -4,24 +4,22 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "demos/payments" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "demos/payments" + }, "type": "module", "main": "./src/index.ts", "scripts": { "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo", "demo": "dotenv -e .env -- tsx ./src/index.ts", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "setup": "./bin/setup", "test": "vitest" }, @@ -38,7 +36,6 @@ "viem": "catalog:" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*" } } diff --git a/demos/payments/src/constants.ts b/demos/payments/src/constants.ts index 073cdf0..fee84ed 100644 --- a/demos/payments/src/constants.ts +++ b/demos/payments/src/constants.ts @@ -1,5 +1,5 @@ -import path from "node:path" import { caip2ChainIds } from "agentcommercekit" +import path from "node:path" import { createPublicClient, http } from "viem" import { baseSepolia } from "viem/chains" diff --git a/demos/payments/src/index.ts b/demos/payments/src/index.ts index f234847..0ca523a 100644 --- a/demos/payments/src/index.ts +++ b/demos/payments/src/index.ts @@ -51,6 +51,7 @@ import { } from "agentcommercekit/schemas/valibot" import * as v from "valibot" import { isAddress } from "viem" + import { chain, chainId, @@ -174,8 +175,14 @@ The Client attempts to access a protected resource on the Server. Since no valid const paymentOptions = paymentRequest.paymentOptions function networkLabel(network: string | undefined): string { - if (network === "stripe") return "Stripe" - if (network?.startsWith("solana:")) return "Solana" + if (network === "stripe") { + return "Stripe" + } + + if (network?.startsWith("solana:")) { + return "Solana" + } + return "Base Sepolia" } diff --git a/demos/payments/src/payment-service.ts b/demos/payments/src/payment-service.ts index 2b29c56..356ba5f 100644 --- a/demos/payments/src/payment-service.ts +++ b/demos/payments/src/payment-service.ts @@ -14,6 +14,7 @@ import { Hono, type Env, type TypedResponse } from "hono" import { env } from "hono/adapter" import { HTTPException } from "hono/http-exception" import * as v from "valibot" + import { PAYMENT_SERVICE_URL } from "./constants" import { getKeypairInfo } from "./utils/keypair-info" diff --git a/demos/payments/src/receipt-service.ts b/demos/payments/src/receipt-service.ts index caad4fd..4dfeb3f 100644 --- a/demos/payments/src/receipt-service.ts +++ b/demos/payments/src/receipt-service.ts @@ -28,6 +28,7 @@ import { HTTPException } from "hono/http-exception" import * as v from "valibot" import { erc20Abi, isAddressEqual } from "viem" import { parseEventLogs } from "viem/utils" + import { chainId, publicClient, solana, usdcAddress } from "./constants" import { asAddress } from "./utils/as-address" import { getKeypairInfo } from "./utils/keypair-info" @@ -274,7 +275,9 @@ function extractSignerPubkeys(tx: NonNullable): Set { if (key.signer) { const pub = typeof key.pubkey === "string" ? key.pubkey : key.pubkey.toBase58() - if (pub) signers.add(pub) + if (pub) { + signers.add(pub) + } } } return signers @@ -287,9 +290,15 @@ type TokenBalance = { } function toBigInt(value: unknown): bigint { - if (typeof value === "string") return BigInt(value) - if (typeof value === "number") return BigInt(value) - if (typeof value === "bigint") return value + if (typeof value === "string") { + return BigInt(value) + } + if (typeof value === "number") { + return BigInt(value) + } + if (typeof value === "bigint") { + return value + } return 0n } @@ -312,7 +321,9 @@ async function verifySolanaPayment( for (let i = 0; i < maxAttempts; i++) { tx = await fetchTransaction(rpc, signature) - if (tx && !tx.meta?.err) break + if (tx && !tx.meta?.err) { + break + } await new Promise((r) => setTimeout(r, delayMs)) } if (!tx || tx.meta?.err) { diff --git a/demos/payments/src/server.ts b/demos/payments/src/server.ts index 359be59..344d8ce 100644 --- a/demos/payments/src/server.ts +++ b/demos/payments/src/server.ts @@ -11,6 +11,7 @@ import { import { Hono, type Env, type TypedResponse } from "hono" import { env } from "hono/adapter" import { HTTPException } from "hono/http-exception" + import { chainId, PAYMENT_SERVICE_URL, diff --git a/demos/payments/src/utils/ensure-balances.ts b/demos/payments/src/utils/ensure-balances.ts index 06bf39e..fe0d090 100644 --- a/demos/payments/src/utils/ensure-balances.ts +++ b/demos/payments/src/utils/ensure-balances.ts @@ -1,9 +1,10 @@ -import { solana } from "@/constants" import { colors, log, waitForEnter } from "@repo/cli-tools" import { createSolanaRpc, address as solAddress } from "@solana/kit" import { createPublicClient, erc20Abi, http, type Chain } from "viem" import { formatUnits } from "viem/utils" +import { solana } from "@/constants" + /** * Ensure the client wallet has a non-zero balance of USDC and ETH */ diff --git a/demos/payments/src/utils/ensure-private-keys.ts b/demos/payments/src/utils/ensure-private-keys.ts index 9d473c7..06f8e34 100644 --- a/demos/payments/src/utils/ensure-private-keys.ts +++ b/demos/payments/src/utils/ensure-private-keys.ts @@ -1,6 +1,8 @@ -import { envFilePath } from "@/constants" import { colors, log, updateEnvFile } from "@repo/cli-tools" import { bytesToBase58, generateKeypair } from "agentcommercekit" + +import { envFilePath } from "@/constants" + import { generatePrivateKeyHex } from "./keypair-info" export async function ensurePrivateKey(name: string): Promise { diff --git a/demos/payments/src/utils/keypair-info.ts b/demos/payments/src/utils/keypair-info.ts index 36ab79d..56518ed 100644 --- a/demos/payments/src/utils/keypair-info.ts +++ b/demos/payments/src/utils/keypair-info.ts @@ -1,4 +1,3 @@ -import { chainId } from "@/constants" import { bytesToHexString, createDidPkhUri, @@ -14,6 +13,8 @@ import { import { privateKeyToAccount, type Account } from "viem/accounts" import { publicKeyToAddress } from "viem/utils" +import { chainId } from "@/constants" + export type KeypairInfo = { publicKeyHex: `0x${string}` did: DidUri diff --git a/demos/payments/src/utils/usdc-contract.ts b/demos/payments/src/utils/usdc-contract.ts index 53d5907..489e280 100644 --- a/demos/payments/src/utils/usdc-contract.ts +++ b/demos/payments/src/utils/usdc-contract.ts @@ -1,4 +1,3 @@ -import { chain, usdcAddress } from "@/constants" import { createWalletClient, encodeFunctionData, @@ -8,6 +7,8 @@ import { type Address, } from "viem" +import { chain, usdcAddress } from "@/constants" + /** * Transfer USDC to the recipient * diff --git a/demos/payments/tsconfig.json b/demos/payments/tsconfig.json index 6293e46..85d2481 100644 --- a/demos/payments/tsconfig.json +++ b/demos/payments/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@repo/typescript-config/typescript-library.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": ["./src/*"] } diff --git a/demos/skyfire-kya/eslint.config.js b/demos/skyfire-kya/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/demos/skyfire-kya/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/demos/skyfire-kya/package.json b/demos/skyfire-kya/package.json index e3b024d..b0cdc19 100644 --- a/demos/skyfire-kya/package.json +++ b/demos/skyfire-kya/package.json @@ -4,23 +4,21 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "demos/skyfire-kya" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "demos/skyfire-kya" + }, "type": "module", "scripts": { "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo", "demo": "tsx ./src/index.ts", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -30,7 +28,6 @@ "zod": "catalog:" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*" } } diff --git a/demos/skyfire-kya/src/index.ts b/demos/skyfire-kya/src/index.ts index bc15b68..30da8d0 100644 --- a/demos/skyfire-kya/src/index.ts +++ b/demos/skyfire-kya/src/index.ts @@ -1,3 +1,6 @@ +import type { JwtString, Verifiable, W3CCredential } from "agentcommercekit" +import type * as jose from "jose" + import { colors, errorMessage, @@ -6,8 +9,7 @@ import { successMessage, waitForEnter, } from "@repo/cli-tools" -import type { JwtString, Verifiable, W3CCredential } from "agentcommercekit" -import type * as jose from "jose" + import { generateJwks } from "./jwk-keys" import { createMockSkyfireKyaToken } from "./kya-token" import { diff --git a/demos/skyfire-kya/src/skyfire-kya-ack-id.ts b/demos/skyfire-kya/src/skyfire-kya-ack-id.ts index 5c8f67a..5adaef5 100644 --- a/demos/skyfire-kya/src/skyfire-kya-ack-id.ts +++ b/demos/skyfire-kya/src/skyfire-kya-ack-id.ts @@ -8,6 +8,7 @@ import { type W3CCredential, } from "agentcommercekit" import * as jose from "jose" + import type { SkyfireKyaJwtPayload } from "./kya-token" export interface SkyfireKyaCredentialSubject { diff --git a/demos/skyfire-kya/tsconfig.json b/demos/skyfire-kya/tsconfig.json index 6293e46..85d2481 100644 --- a/demos/skyfire-kya/tsconfig.json +++ b/demos/skyfire-kya/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@repo/typescript-config/typescript-library.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": ["./src/*"] } diff --git a/docs/package.json b/docs/package.json index 410a8ff..227546f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -4,16 +4,16 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "https://github.com/agentcommercekit/ack", - "directory": "docs" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "https://github.com/agentcommercekit/ack", + "directory": "docs" + }, "scripts": { "clean": "git clean -fdX .turbo dist", "docs": "mintlify dev" diff --git a/examples/issuer/bin/start-server.ts b/examples/issuer/bin/start-server.ts index 0343d0a..4f1e98c 100644 --- a/examples/issuer/bin/start-server.ts +++ b/examples/issuer/bin/start-server.ts @@ -1,8 +1,9 @@ +import { serve } from "@hono/node-server" +import { migrate } from "drizzle-orm/libsql/migrator" import { join } from "node:path" + import { getDb } from "@/db/get-db" import app from "@/index" -import { serve } from "@hono/node-server" -import { migrate } from "drizzle-orm/libsql/migrator" async function startServer() { const db = getDb() diff --git a/examples/issuer/eslint.config.js b/examples/issuer/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/examples/issuer/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/examples/issuer/package.json b/examples/issuer/package.json index 6608692..8e171af 100644 --- a/examples/issuer/package.json +++ b/examples/issuer/package.json @@ -4,16 +4,16 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "examples/issuer" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "examples/issuer" + }, "type": "module", "main": "./src/index.ts", "scripts": { @@ -21,8 +21,6 @@ "clean": "git clean -xdf .turbo", "db:generate": "drizzle-kit generate", "dev": "dotenv -e .env -- tsx watch ./bin/start-server.ts", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "setup": "./bin/setup", "test": "vitest" }, @@ -37,7 +35,6 @@ "valibot": "catalog:" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "drizzle-kit": "0.31.1", "vite-tsconfig-paths": "5.1.4" diff --git a/examples/issuer/src/db/get-db.ts b/examples/issuer/src/db/get-db.ts index e577135..8451dbc 100644 --- a/examples/issuer/src/db/get-db.ts +++ b/examples/issuer/src/db/get-db.ts @@ -1,5 +1,6 @@ import { createClient } from "@libsql/client" import { drizzle } from "drizzle-orm/libsql" + import * as schema from "./schema" /** diff --git a/examples/issuer/src/db/migrations/meta/0000_snapshot.json b/examples/issuer/src/db/migrations/meta/0000_snapshot.json index 8423f4a..2267729 100644 --- a/examples/issuer/src/db/migrations/meta/0000_snapshot.json +++ b/examples/issuer/src/db/migrations/meta/0000_snapshot.json @@ -47,9 +47,7 @@ "indexes": { "credential_type_idx": { "name": "credential_type_idx", - "columns": [ - "credential_type" - ], + "columns": ["credential_type"], "isUnique": false } }, @@ -116,4 +114,4 @@ "internal": { "indexes": {} } -} \ No newline at end of file +} diff --git a/examples/issuer/src/db/migrations/meta/_journal.json b/examples/issuer/src/db/migrations/meta/_journal.json index 1c044e0..924775f 100644 --- a/examples/issuer/src/db/migrations/meta/_journal.json +++ b/examples/issuer/src/db/migrations/meta/_journal.json @@ -10,4 +10,4 @@ "breakpoints": true } ] -} \ No newline at end of file +} diff --git a/examples/issuer/src/db/queries/credentials.ts b/examples/issuer/src/db/queries/credentials.ts index c01a237..b9dbf6c 100644 --- a/examples/issuer/src/db/queries/credentials.ts +++ b/examples/issuer/src/db/queries/credentials.ts @@ -1,3 +1,5 @@ +import { eq } from "drizzle-orm" + import { credentialsTable, statusListsTable, @@ -5,8 +7,9 @@ import { type NewDatabaseCredential, } from "@/db/schema" import { getStatusListPosition } from "@/db/utils/get-status-list-position" -import { eq } from "drizzle-orm" + import type { DatabaseClient } from "../get-db" + import { maybeCreateStatusList } from "./status-lists" export async function createCredential( diff --git a/examples/issuer/src/db/queries/status-lists.ts b/examples/issuer/src/db/queries/status-lists.ts index 59e9b9d..82a4489 100644 --- a/examples/issuer/src/db/queries/status-lists.ts +++ b/examples/issuer/src/db/queries/status-lists.ts @@ -1,5 +1,7 @@ import { eq } from "drizzle-orm/sql" + import type { DatabaseClient } from "../get-db" + import { statusListsTable, type DatabaseStatusList } from "../schema" type CreateStatusListParams = Pick diff --git a/examples/issuer/src/db/schema.ts b/examples/issuer/src/db/schema.ts index b5d8e09..488f13e 100644 --- a/examples/issuer/src/db/schema.ts +++ b/examples/issuer/src/db/schema.ts @@ -1,4 +1,5 @@ import type { W3CCredential } from "agentcommercekit" + import { sql } from "drizzle-orm" import { index, @@ -20,11 +21,9 @@ export const statusListsTable = table("status_lists", { .$defaultFn(() => "0".repeat(STATUS_LIST_MAX_SIZE)), createdAt: integer("created_at", { mode: "timestamp_ms" }) .notNull() - // eslint-disable-next-line @cspell/spellchecker .default(sql`(unixepoch() * 1000)`), updatedAt: integer("last_message_at", { mode: "timestamp_ms" }) .notNull() - // eslint-disable-next-line @cspell/spellchecker .default(sql`(unixepoch() * 1000)`) .$onUpdateFn(() => new Date()), }) @@ -44,7 +43,6 @@ export const credentialsTable = table( .$type(), issuedAt: integer("issued_at", { mode: "timestamp_ms" }) .notNull() - // eslint-disable-next-line @cspell/spellchecker .default(sql`(unixepoch() * 1000)`), revokedAt: integer("revoked_at", { mode: "timestamp_ms" }), }, diff --git a/examples/issuer/src/db/utils/get-status-list-position.test.ts b/examples/issuer/src/db/utils/get-status-list-position.test.ts index 5c0a27d..6182c9c 100644 --- a/examples/issuer/src/db/utils/get-status-list-position.test.ts +++ b/examples/issuer/src/db/utils/get-status-list-position.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from "vitest" + import { STATUS_LIST_MAX_SIZE } from "../schema" import { getStatusListPosition } from "./get-status-list-position" diff --git a/examples/issuer/src/index.ts b/examples/issuer/src/index.ts index 055040e..606f421 100644 --- a/examples/issuer/src/index.ts +++ b/examples/issuer/src/index.ts @@ -1,6 +1,7 @@ import { errorHandler } from "@repo/api-utils/middleware/error-handler" import { logger } from "@repo/api-utils/middleware/logger" import { Hono, type Env } from "hono" + import credentials from "./routes/credentials" import healthcheck from "./routes/healthcheck" import receipts from "./routes/receipts" diff --git a/examples/issuer/src/lib/credentials/build-signed-credential.test.ts b/examples/issuer/src/lib/credentials/build-signed-credential.test.ts index ab6e211..664387c 100644 --- a/examples/issuer/src/lib/credentials/build-signed-credential.test.ts +++ b/examples/issuer/src/lib/credentials/build-signed-credential.test.ts @@ -1,4 +1,3 @@ -import type { DatabaseCredential } from "@/db/schema" import { createCredential, createDidWebDocumentFromKeypair, @@ -8,7 +7,11 @@ import { isJwtString, } from "agentcommercekit" import { describe, expect, it } from "vitest" + +import type { DatabaseCredential } from "@/db/schema" + import type { Issuer } from "../types" + import { buildSignedCredential } from "./build-signed-credential" describe("buildSignedCredential", async () => { diff --git a/examples/issuer/src/lib/credentials/build-signed-credential.ts b/examples/issuer/src/lib/credentials/build-signed-credential.ts index 7247052..4b7a79e 100644 --- a/examples/issuer/src/lib/credentials/build-signed-credential.ts +++ b/examples/issuer/src/lib/credentials/build-signed-credential.ts @@ -1,11 +1,14 @@ -import type { DatabaseCredential } from "@/db/schema" -import { getStatusListPosition } from "@/db/utils/get-status-list-position" import { makeRevocable, parseJwtCredential, signCredential, type Resolvable, } from "agentcommercekit" + +import type { DatabaseCredential } from "@/db/schema" + +import { getStatusListPosition } from "@/db/utils/get-status-list-position" + import type { CredentialResponse, Issuer } from "../types" type BuildSignedCredentialParams = { diff --git a/examples/issuer/src/lib/utils/compress-bit-string.test.ts b/examples/issuer/src/lib/utils/compress-bit-string.test.ts index e88b5be..4ea9b52 100644 --- a/examples/issuer/src/lib/utils/compress-bit-string.test.ts +++ b/examples/issuer/src/lib/utils/compress-bit-string.test.ts @@ -1,5 +1,6 @@ import { BitBuffer } from "bit-buffers" import { describe, expect, it } from "vitest" + import { compressBitString } from "./compress-bit-string" describe("compressBitString", () => { diff --git a/examples/issuer/src/middleware/database.ts b/examples/issuer/src/middleware/database.ts index d0c78f6..45ad6f6 100644 --- a/examples/issuer/src/middleware/database.ts +++ b/examples/issuer/src/middleware/database.ts @@ -1,6 +1,7 @@ -import { getDb, type DatabaseClient } from "@/db/get-db" import type { Env, MiddlewareHandler } from "hono" +import { getDb, type DatabaseClient } from "@/db/get-db" + declare module "hono" { interface ContextVariableMap { db: DatabaseClient diff --git a/examples/issuer/src/middleware/did-resolver.ts b/examples/issuer/src/middleware/did-resolver.ts index 414131c..b5b64bc 100644 --- a/examples/issuer/src/middleware/did-resolver.ts +++ b/examples/issuer/src/middleware/did-resolver.ts @@ -1,6 +1,7 @@ -import { getDidResolver, type DidResolver } from "agentcommercekit" import type { Env, MiddlewareHandler } from "hono" +import { getDidResolver, type DidResolver } from "agentcommercekit" + declare module "hono" { interface ContextVariableMap { resolver: DidResolver diff --git a/examples/issuer/src/middleware/issuer.ts b/examples/issuer/src/middleware/issuer.ts index 503eaa6..f0732e0 100644 --- a/examples/issuer/src/middleware/issuer.ts +++ b/examples/issuer/src/middleware/issuer.ts @@ -1,13 +1,15 @@ -import type { Issuer } from "@/lib/types" +import type { Env, MiddlewareHandler } from "hono" + import { createDidWebDocumentFromKeypair, createJwtSigner, generateKeypair, hexStringToBytes, } from "agentcommercekit" -import type { Env, MiddlewareHandler } from "hono" import { env } from "hono/adapter" +import type { Issuer } from "@/lib/types" + declare module "hono" { interface ContextVariableMap { issuer: Issuer diff --git a/examples/issuer/src/routes/credentials.test.ts b/examples/issuer/src/routes/credentials.test.ts index 2e67e7d..032f88e 100644 --- a/examples/issuer/src/routes/credentials.test.ts +++ b/examples/issuer/src/routes/credentials.test.ts @@ -1,10 +1,3 @@ -import type { DatabaseClient } from "@/db/get-db" -import { getCredential } from "@/db/queries/credentials" -import type { DatabaseCredential } from "@/db/schema" -import { - createDidWebWithSigner, - type DidWithSigner, -} from "@/test-helpers/did-web-with-signer" import { bytesToHexString, createControllerCredential, @@ -15,6 +8,16 @@ import { import { credentialSchema } from "agentcommercekit/schemas/valibot" import * as v from "valibot" import { afterEach, beforeAll, describe, expect, it, vi } from "vitest" + +import type { DatabaseClient } from "@/db/get-db" +import type { DatabaseCredential } from "@/db/schema" + +import { getCredential } from "@/db/queries/credentials" +import { + createDidWebWithSigner, + type DidWithSigner, +} from "@/test-helpers/did-web-with-signer" + import app from ".." // Mock the DID resolver diff --git a/examples/issuer/src/routes/credentials.ts b/examples/issuer/src/routes/credentials.ts index 1bac064..e7b7a28 100644 --- a/examples/issuer/src/routes/credentials.ts +++ b/examples/issuer/src/routes/credentials.ts @@ -1,13 +1,3 @@ -import { - createCredential as createDatabaseCredential, - getCredential, - revokeCredential, -} from "@/db/queries/credentials" -import { buildSignedCredential } from "@/lib/credentials/build-signed-credential" -import type { CredentialResponse } from "@/lib/types" -import { database } from "@/middleware/database" -import { didResolver } from "@/middleware/did-resolver" -import { issuer } from "@/middleware/issuer" import { apiSuccessResponse, type ApiResponse, @@ -28,6 +18,18 @@ import { Hono, type Env } from "hono" import { env } from "hono/adapter" import * as v from "valibot" +import type { CredentialResponse } from "@/lib/types" + +import { + createCredential as createDatabaseCredential, + getCredential, + revokeCredential, +} from "@/db/queries/credentials" +import { buildSignedCredential } from "@/lib/credentials/build-signed-credential" +import { database } from "@/middleware/database" +import { didResolver } from "@/middleware/did-resolver" +import { issuer } from "@/middleware/issuer" + const app = new Hono() app.use("*", issuer()) app.use("*", didResolver()) @@ -55,7 +57,7 @@ const bodySchema = v.object({ * credential: >, * jwt: JWTString * } - * @auth Request must be signed by the controller DID + * Auth: Request must be signed by the controller DID */ app.post( "/", @@ -159,7 +161,7 @@ const deleteBodySchema = v.object({ * ``` * * @returns Success response with null data - * @auth Request must be signed by the controller of the credential + * Auth: Request must be signed by the controller of the credential */ app.delete( "/", diff --git a/examples/issuer/src/routes/receipts.test.ts b/examples/issuer/src/routes/receipts.test.ts index be4437d..9892644 100644 --- a/examples/issuer/src/routes/receipts.test.ts +++ b/examples/issuer/src/routes/receipts.test.ts @@ -1,10 +1,3 @@ -import type { DatabaseClient } from "@/db/get-db" -import { getCredential } from "@/db/queries/credentials" -import type { DatabaseCredential } from "@/db/schema" -import { - createDidWebWithSigner, - type DidWithSigner, -} from "@/test-helpers/did-web-with-signer" import { bytesToHexString, createJwt, @@ -22,6 +15,16 @@ import { } from "agentcommercekit/schemas/valibot" import * as v from "valibot" import { afterEach, beforeEach, describe, expect, it, vi } from "vitest" + +import type { DatabaseClient } from "@/db/get-db" +import type { DatabaseCredential } from "@/db/schema" + +import { getCredential } from "@/db/queries/credentials" +import { + createDidWebWithSigner, + type DidWithSigner, +} from "@/test-helpers/did-web-with-signer" + import app from ".." vi.mock("agentcommercekit", async () => { diff --git a/examples/issuer/src/routes/receipts.ts b/examples/issuer/src/routes/receipts.ts index e22766f..ce34c06 100644 --- a/examples/issuer/src/routes/receipts.ts +++ b/examples/issuer/src/routes/receipts.ts @@ -1,13 +1,3 @@ -import { - createCredential as createDatabaseCredential, - getCredential, - revokeCredential, -} from "@/db/queries/credentials" -import { buildSignedCredential } from "@/lib/credentials/build-signed-credential" -import type { CredentialResponse } from "@/lib/types" -import { database } from "@/middleware/database" -import { didResolver } from "@/middleware/did-resolver" -import { issuer } from "@/middleware/issuer" import { apiSuccessResponse, type ApiResponse, @@ -30,6 +20,18 @@ import { Hono, type Env } from "hono" import { env } from "hono/adapter" import * as v from "valibot" +import type { CredentialResponse } from "@/lib/types" + +import { + createCredential as createDatabaseCredential, + getCredential, + revokeCredential, +} from "@/db/queries/credentials" +import { buildSignedCredential } from "@/lib/credentials/build-signed-credential" +import { database } from "@/middleware/database" +import { didResolver } from "@/middleware/did-resolver" +import { issuer } from "@/middleware/issuer" + const app = new Hono() app.use("*", issuer()) @@ -82,7 +84,7 @@ async function verifyPayment( * credential: >, * jwt: JWTString * } - * @auth Request must be signed by the wallet DID that made the payment + * Auth: Request must be signed by the wallet DID that made the payment */ app.post( "/", @@ -196,7 +198,7 @@ const deleteBodySchema = v.object({ * ``` * * @returns Success response with null data - * @auth Request must be signed by the original Payment Request issuer + * Auth: Request must be signed by the original Payment Request issuer */ app.delete( "/", diff --git a/examples/issuer/src/routes/status.ts b/examples/issuer/src/routes/status.ts index 4256105..55f4eef 100644 --- a/examples/issuer/src/routes/status.ts +++ b/examples/issuer/src/routes/status.ts @@ -1,8 +1,3 @@ -import { getStatusList } from "@/db/queries/status-lists" -import { compressBitString } from "@/lib/utils/compress-bit-string" -import { database } from "@/middleware/database" -import { didResolver } from "@/middleware/did-resolver" -import { issuer } from "@/middleware/issuer" import { apiSuccessResponse, type ApiResponse, @@ -18,6 +13,12 @@ import { import { Hono, type Env } from "hono" import { env } from "hono/adapter" +import { getStatusList } from "@/db/queries/status-lists" +import { compressBitString } from "@/lib/utils/compress-bit-string" +import { database } from "@/middleware/database" +import { didResolver } from "@/middleware/did-resolver" +import { issuer } from "@/middleware/issuer" + const app = new Hono() app.use("*", database()) diff --git a/examples/issuer/src/routes/well-known.ts b/examples/issuer/src/routes/well-known.ts index 194fd78..d879497 100644 --- a/examples/issuer/src/routes/well-known.ts +++ b/examples/issuer/src/routes/well-known.ts @@ -1,7 +1,9 @@ -import { issuer } from "@/middleware/issuer" import type { DidDocument } from "agentcommercekit" + import { Hono, type Env, type TypedResponse } from "hono" +import { issuer } from "@/middleware/issuer" + const app = new Hono() app.use("*", issuer()) diff --git a/examples/issuer/tsconfig.json b/examples/issuer/tsconfig.json index 9b555d9..7d2857b 100644 --- a/examples/issuer/tsconfig.json +++ b/examples/issuer/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@repo/typescript-config/base-app.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": ["./src/*"] } diff --git a/examples/local-did-host/bin/serve.ts b/examples/local-did-host/bin/serve.ts index 2708e2f..d0e8229 100644 --- a/examples/local-did-host/bin/serve.ts +++ b/examples/local-did-host/bin/serve.ts @@ -1,7 +1,8 @@ +import { serve } from "@hono/node-server" + import app from "@/index" import { buildUrl } from "@/lib/build-url" import { getIdentityDid } from "@/lib/identity" -import { serve } from "@hono/node-server" serve( { diff --git a/examples/local-did-host/eslint.config.js b/examples/local-did-host/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/examples/local-did-host/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/examples/local-did-host/package.json b/examples/local-did-host/package.json index e3e0705..e1755ad 100644 --- a/examples/local-did-host/package.json +++ b/examples/local-did-host/package.json @@ -4,24 +4,22 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "examples/local-did-host" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "examples/local-did-host" + }, "type": "module", "main": "src/index.ts", "scripts": { "check:types": "tsc --noEmit", "clean": "git clean -xdf .turbo", "dev": "dotenv -e .env -- tsx watch ./bin/serve.ts", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "setup": "./bin/setup", "test": "vitest" }, @@ -36,7 +34,6 @@ "valibot": "catalog:" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*" } } diff --git a/examples/local-did-host/src/index.ts b/examples/local-did-host/src/index.ts index 9999120..f9697d8 100644 --- a/examples/local-did-host/src/index.ts +++ b/examples/local-did-host/src/index.ts @@ -3,6 +3,7 @@ import { sValidator } from "@hono/standard-validator" import { logger } from "@repo/api-utils/middleware/logger" import { Hono } from "hono" import * as v from "valibot" + import { identities } from "./middleware/identities" const app = new Hono() diff --git a/examples/local-did-host/src/middleware/identities.ts b/examples/local-did-host/src/middleware/identities.ts index 578949a..9faa88d 100644 --- a/examples/local-did-host/src/middleware/identities.ts +++ b/examples/local-did-host/src/middleware/identities.ts @@ -1,8 +1,10 @@ -import { buildUrl } from "@/lib/build-url" -import { getIdentity, type Identity } from "@/lib/identity" import type { Env, MiddlewareHandler } from "hono" + import { env } from "hono/adapter" +import { buildUrl } from "@/lib/build-url" +import { getIdentity, type Identity } from "@/lib/identity" + declare module "hono" { interface ContextVariableMap { identities: { diff --git a/examples/local-did-host/tsconfig.json b/examples/local-did-host/tsconfig.json index b18d8d5..b7c62ba 100644 --- a/examples/local-did-host/tsconfig.json +++ b/examples/local-did-host/tsconfig.json @@ -1,9 +1,8 @@ { "extends": "@repo/typescript-config/base-app.json", "compilerOptions": { - "baseUrl": ".", "paths": { - "@/*": ["src/*"] + "@/*": ["./src/*"] } }, "include": ["**/*"], diff --git a/examples/verifier/bin/serve.ts b/examples/verifier/bin/serve.ts index 04a78fb..b54199f 100644 --- a/examples/verifier/bin/serve.ts +++ b/examples/verifier/bin/serve.ts @@ -1,6 +1,7 @@ -import app from "@/index" import { serve } from "@hono/node-server" +import app from "@/index" + serve( { fetch: app.fetch, diff --git a/examples/verifier/eslint.config.js b/examples/verifier/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/examples/verifier/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/examples/verifier/package.json b/examples/verifier/package.json index 394af6d..8c5b14d 100644 --- a/examples/verifier/package.json +++ b/examples/verifier/package.json @@ -4,24 +4,22 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "examples/verifier" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "examples/verifier" + }, "type": "module", "main": "./src/index.ts", "scripts": { "check:types": "tsc --noEmit", "clean": "git clean -xdf .turbo", "dev": "dotenv -e .env -- tsx watch ./bin/serve.ts", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "setup": "./bin/setup", "test": "vitest" }, @@ -34,7 +32,6 @@ "valibot": "catalog:" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*" } } diff --git a/examples/verifier/src/index.ts b/examples/verifier/src/index.ts index 6050140..92cca6e 100644 --- a/examples/verifier/src/index.ts +++ b/examples/verifier/src/index.ts @@ -1,6 +1,7 @@ import { errorHandler } from "@repo/api-utils/middleware/error-handler" import { logger } from "@repo/api-utils/middleware/logger" import { Hono, type Env } from "hono" + import healthcheck from "./routes/healthcheck" import verify from "./routes/verify" import wellKnown from "./routes/well-known" diff --git a/examples/verifier/src/middleware/verifier.ts b/examples/verifier/src/middleware/verifier.ts index 42623dd..d2e48c9 100644 --- a/examples/verifier/src/middleware/verifier.ts +++ b/examples/verifier/src/middleware/verifier.ts @@ -1,3 +1,5 @@ +import type { Env, MiddlewareHandler } from "hono" + import { createDidWebDocumentFromKeypair, createJwtSigner, @@ -7,7 +9,6 @@ import { type DidUri, type JwtSigner, } from "agentcommercekit" -import type { Env, MiddlewareHandler } from "hono" import { env } from "hono/adapter" declare module "hono" { diff --git a/examples/verifier/src/routes/well-known.ts b/examples/verifier/src/routes/well-known.ts index 1d15cb4..b33761e 100644 --- a/examples/verifier/src/routes/well-known.ts +++ b/examples/verifier/src/routes/well-known.ts @@ -1,7 +1,9 @@ -import { verifier } from "@/middleware/verifier" import type { DidDocument } from "agentcommercekit" + import { Hono, type Env, type TypedResponse } from "hono" +import { verifier } from "@/middleware/verifier" + const app = new Hono() app.use("*", verifier()) diff --git a/examples/verifier/tsconfig.json b/examples/verifier/tsconfig.json index 8ebf870..750ea61 100644 --- a/examples/verifier/tsconfig.json +++ b/examples/verifier/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@repo/typescript-config/base-app.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": ["./src/*"] } diff --git a/package.json b/package.json index e17c3ef..3ee2a83 100644 --- a/package.json +++ b/package.json @@ -4,20 +4,20 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git" + }, "type": "module", "scripts": { "build": "turbo build", - "check": "turbo check", - "check:format": "prettier --check .", + "check": "turbo build && turbo check", + "check:format": "oxfmt --check .", "check:packages": "pnpm dlx @manypkg/cli check", "check:types": "turbo check:types", "clean": "turbo clean && git clean -xdf .turbo node_modules/.cache", @@ -28,10 +28,10 @@ "demo:skyfire-kya": "pnpm --filter ./demos/skyfire-kya demo", "dev:docs": "pnpm --filter ./docs docs", "dev:examples": "turbo dev", - "fix": "turbo fix", - "format": "prettier --write .", - "lint": "turbo lint", - "lint:fix": "turbo lint:fix", + "fix": "turbo build && turbo fix", + "format": "oxfmt --write .", + "lint": "oxlint --type-aware", + "lint:fix": "pnpm run lint -- --fix --fix-suggestions", "nuke": "pnpm run clean && git clean -xdf demos/**/node_modules docs/**/node_modules examples/**/node_modules packages/**/node_modules tools/**/node_modules node_modules", "outdated": "pnpm dlx npm-check-updates --interactive --format group --workspaces", "publish:packages": "turbo build && changeset publish", @@ -42,24 +42,21 @@ "devDependencies": { "@changesets/changelog-github": "0.5.1", "@changesets/cli": "2.29.7", - "@ianvs/prettier-plugin-sort-imports": "4.7.0", - "@prettier/plugin-oxc": "0.0.4", "@repo/typescript-config": "workspace:*", "@types/node": "24.9.2", "dotenv-cli": "11.0.0", - "eslint": "9.38.0", - "prettier": "3.6.2", - "prettier-plugin-jsdoc": "1.5.0", - "prettier-plugin-packagejson": "2.5.19", + "oxfmt": "0.32.0", + "oxlint": "1.47.0", + "oxlint-tsgolint": "0.12.2", "tsdown": "0.15.11", "tsx": "4.20.6", "turbo": "2.5.8", "typescript": "5.9.3", "vitest": "4.0.5" }, - "packageManager": "pnpm@10.20.0", "engines": { "node": ">=22", "pnpm": ">=10" - } + }, + "packageManager": "pnpm@10.20.0" } diff --git a/packages/ack-id/eslint.config.js b/packages/ack-id/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/packages/ack-id/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/packages/ack-id/package.json b/packages/ack-id/package.json index bb38b70..2a529cc 100644 --- a/packages/ack-id/package.json +++ b/packages/ack-id/package.json @@ -3,17 +3,25 @@ "version": "0.10.1", "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "packages/ack-id" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "packages/ack-id" + }, + "files": [ + "dist", + "package.json", + "LICENSE", + "README.md" + ], "type": "module", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { "./package.json": "./package.json", ".": { @@ -57,21 +65,14 @@ "default": "./dist/a2a/schemas/zod/v4.js" } }, - "main": "./dist/index.js", - "types": "./dist/index.d.ts", - "files": [ - "dist", - "package.json", - "LICENSE", - "README.md" - ], + "publishConfig": { + "access": "public" + }, "scripts": { "build": "tsdown", "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo dist", "dev": "pnpm build --watch --no-clean", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -85,7 +86,6 @@ }, "devDependencies": { "@a2a-js/sdk": "catalog:", - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "zod": "catalog:" }, @@ -100,8 +100,5 @@ "zod": { "optional": true } - }, - "publishConfig": { - "access": "public" } } diff --git a/packages/ack-id/src/a2a/sign-message.ts b/packages/ack-id/src/a2a/sign-message.ts index b39895d..a1a0758 100644 --- a/packages/ack-id/src/a2a/sign-message.ts +++ b/packages/ack-id/src/a2a/sign-message.ts @@ -1,5 +1,7 @@ import type { Message } from "@a2a-js/sdk" import type { DidUri } from "@agentcommercekit/did" +import type { W3CCredential } from "@agentcommercekit/vc" + import { createJwt, type JwtAlgorithm, @@ -7,8 +9,8 @@ import { type JwtSigner, type JwtString, } from "@agentcommercekit/jwt" -import type { W3CCredential } from "@agentcommercekit/vc" import { v4 } from "uuid" + import { generateRandomJti, generateRandomNonce } from "./random" type SignMessageOptions = { diff --git a/packages/ack-id/src/a2a/verify.ts b/packages/ack-id/src/a2a/verify.ts index abe2bfe..f6cddda 100644 --- a/packages/ack-id/src/a2a/verify.ts +++ b/packages/ack-id/src/a2a/verify.ts @@ -1,4 +1,5 @@ import type { Message } from "@a2a-js/sdk" + import { getDidResolver, type DidResolver, @@ -9,6 +10,7 @@ import { verifyJwt, type JwtVerified } from "@agentcommercekit/jwt" import { credentialSchema } from "@agentcommercekit/vc/schemas/valibot" import { stringify } from "safe-stable-stringify" import * as v from "valibot" + import { dataPartSchema, messageSchema } from "./schemas/valibot" const jwtDataPartSchema = v.object({ diff --git a/packages/ack-id/src/controller-claim-verifier.test.ts b/packages/ack-id/src/controller-claim-verifier.test.ts index 37b8d2f..1be5413 100644 --- a/packages/ack-id/src/controller-claim-verifier.test.ts +++ b/packages/ack-id/src/controller-claim-verifier.test.ts @@ -10,6 +10,7 @@ import { InvalidCredentialSubjectError, } from "@agentcommercekit/vc" import { beforeEach, describe, expect, it } from "vitest" + import { getControllerClaimVerifier } from "./controller-claim-verifier" async function setup() { diff --git a/packages/ack-id/src/controller-claim-verifier.ts b/packages/ack-id/src/controller-claim-verifier.ts index f3f601e..3e3c4bf 100644 --- a/packages/ack-id/src/controller-claim-verifier.ts +++ b/packages/ack-id/src/controller-claim-verifier.ts @@ -11,6 +11,7 @@ import { type W3CCredential, } from "@agentcommercekit/vc" import * as v from "valibot" + import { controllerClaimSchema } from "./schemas/valibot" export interface ControllerCredential extends W3CCredential { diff --git a/packages/ack-id/src/controller-credential.test.ts b/packages/ack-id/src/controller-credential.test.ts index 5947436..8128f80 100644 --- a/packages/ack-id/src/controller-credential.test.ts +++ b/packages/ack-id/src/controller-credential.test.ts @@ -1,5 +1,6 @@ import { createDidWebUri } from "@agentcommercekit/did" import { beforeAll, describe, expect, it, vi } from "vitest" + import { createControllerCredential } from "./controller-credential" describe("createControllerCredential", () => { diff --git a/packages/ack-id/src/controller-credential.ts b/packages/ack-id/src/controller-credential.ts index 80d3b08..87461a5 100644 --- a/packages/ack-id/src/controller-credential.ts +++ b/packages/ack-id/src/controller-credential.ts @@ -1,4 +1,5 @@ import type { DidUri } from "@agentcommercekit/did" + import { createCredential, type W3CCredential } from "@agentcommercekit/vc" type CreateControllerCredentialParams = { diff --git a/packages/ack-pay/eslint.config.js b/packages/ack-pay/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/packages/ack-pay/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/packages/ack-pay/package.json b/packages/ack-pay/package.json index ee49b22..3c395fa 100644 --- a/packages/ack-pay/package.json +++ b/packages/ack-pay/package.json @@ -3,17 +3,25 @@ "version": "0.10.1", "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "packages/ack-pay" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "packages/ack-pay" + }, + "files": [ + "dist", + "package.json", + "LICENSE", + "README.md" + ], "type": "module", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { "./package.json": "./package.json", ".": { @@ -37,21 +45,14 @@ "default": "./dist/schemas/valibot.js" } }, - "main": "./dist/index.js", - "types": "./dist/index.d.ts", - "files": [ - "dist", - "package.json", - "LICENSE", - "README.md" - ], + "publishConfig": { + "access": "public" + }, "scripts": { "build": "tsdown", "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo dist", "dev": "pnpm build --watch --no-clean", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -62,7 +63,6 @@ "valibot": "catalog:" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "zod": "catalog:" }, @@ -73,8 +73,5 @@ "zod": { "optional": true } - }, - "publishConfig": { - "access": "public" } } diff --git a/packages/ack-pay/src/create-payment-receipt.test.ts b/packages/ack-pay/src/create-payment-receipt.test.ts index 5989c7e..5d050f7 100644 --- a/packages/ack-pay/src/create-payment-receipt.test.ts +++ b/packages/ack-pay/src/create-payment-receipt.test.ts @@ -2,9 +2,11 @@ import { createDidKeyUri } from "@agentcommercekit/did" import { createJwtSigner, curveToJwtAlgorithm } from "@agentcommercekit/jwt" import { generateKeypair } from "@agentcommercekit/keys/ed25519" import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest" + +import type { PaymentRequestInit } from "./payment-request" + import { createPaymentReceipt } from "./create-payment-receipt" import { createSignedPaymentRequest } from "./create-signed-payment-request" -import type { PaymentRequestInit } from "./payment-request" describe("createPaymentReceipt", () => { const date = new Date("2024-12-31T23:59:59Z") diff --git a/packages/ack-pay/src/create-payment-receipt.ts b/packages/ack-pay/src/create-payment-receipt.ts index cc60d31..d36841b 100644 --- a/packages/ack-pay/src/create-payment-receipt.ts +++ b/packages/ack-pay/src/create-payment-receipt.ts @@ -1,4 +1,5 @@ import type { DidUri } from "@agentcommercekit/did" + import { createCredential, type W3CCredential } from "@agentcommercekit/vc" const PAYMENT_RECEIPT_TYPE = "PaymentReceiptCredential" diff --git a/packages/ack-pay/src/create-payment-request-token.test.ts b/packages/ack-pay/src/create-payment-request-token.test.ts index 7707cb0..ebffa0a 100644 --- a/packages/ack-pay/src/create-payment-request-token.test.ts +++ b/packages/ack-pay/src/create-payment-request-token.test.ts @@ -14,8 +14,10 @@ import { import { generateKeypair, type Keypair } from "@agentcommercekit/keys" import * as v from "valibot" import { beforeEach, describe, expect, it } from "vitest" -import { createPaymentRequestToken } from "./create-payment-request-token" + import type { PaymentRequestInit } from "./payment-request" + +import { createPaymentRequestToken } from "./create-payment-request-token" import { paymentRequestSchema } from "./schemas/valibot" describe("createPaymentRequestToken()", () => { diff --git a/packages/ack-pay/src/create-payment-request-token.ts b/packages/ack-pay/src/create-payment-request-token.ts index 0084178..1454953 100644 --- a/packages/ack-pay/src/create-payment-request-token.ts +++ b/packages/ack-pay/src/create-payment-request-token.ts @@ -1,10 +1,12 @@ import type { DidUri } from "@agentcommercekit/did" + import { createJwt, type JwtAlgorithm, type JwtSigner, type JwtString, } from "@agentcommercekit/jwt" + import type { PaymentRequest } from "./payment-request" export interface PaymentRequestTokenOptions { diff --git a/packages/ack-pay/src/create-signed-payment-request.test.ts b/packages/ack-pay/src/create-signed-payment-request.test.ts index b5dcbeb..0bb7b88 100644 --- a/packages/ack-pay/src/create-signed-payment-request.test.ts +++ b/packages/ack-pay/src/create-signed-payment-request.test.ts @@ -12,8 +12,10 @@ import { } from "@agentcommercekit/jwt" import { generateKeypair, type Keypair } from "@agentcommercekit/keys" import { beforeEach, describe, expect, it } from "vitest" -import { createSignedPaymentRequest } from "./create-signed-payment-request" + import type { PaymentRequestInit } from "./payment-request" + +import { createSignedPaymentRequest } from "./create-signed-payment-request" import { verifyPaymentRequestToken } from "./verify-payment-request-token" describe("createSignedPaymentRequest()", () => { diff --git a/packages/ack-pay/src/create-signed-payment-request.ts b/packages/ack-pay/src/create-signed-payment-request.ts index d12275a..7d35703 100644 --- a/packages/ack-pay/src/create-signed-payment-request.ts +++ b/packages/ack-pay/src/create-signed-payment-request.ts @@ -1,10 +1,13 @@ import type { JwtString } from "@agentcommercekit/jwt" + import * as v from "valibot" + +import type { PaymentRequest, PaymentRequestInit } from "./payment-request" + import { createPaymentRequestToken, type PaymentRequestTokenOptions, } from "./create-payment-request-token" -import type { PaymentRequest, PaymentRequestInit } from "./payment-request" import { paymentRequestSchema } from "./schemas/valibot" /** diff --git a/packages/ack-pay/src/payment-request.test.ts b/packages/ack-pay/src/payment-request.test.ts index 6ab9622..018c78b 100644 --- a/packages/ack-pay/src/payment-request.test.ts +++ b/packages/ack-pay/src/payment-request.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from "vitest" + import { isPaymentRequest, type PaymentRequestInit } from "./payment-request" describe("isPaymentRequest", () => { diff --git a/packages/ack-pay/src/payment-request.ts b/packages/ack-pay/src/payment-request.ts index 993c442..8199550 100644 --- a/packages/ack-pay/src/payment-request.ts +++ b/packages/ack-pay/src/payment-request.ts @@ -1,4 +1,5 @@ import * as v from "valibot" + import { paymentRequestSchema, type paymentOptionSchema, diff --git a/packages/ack-pay/src/receipt-claim-verifier.test.ts b/packages/ack-pay/src/receipt-claim-verifier.test.ts index 855a413..e883818 100644 --- a/packages/ack-pay/src/receipt-claim-verifier.test.ts +++ b/packages/ack-pay/src/receipt-claim-verifier.test.ts @@ -4,6 +4,7 @@ import { generateKeypair } from "@agentcommercekit/keys" import { InvalidCredentialSubjectError } from "@agentcommercekit/vc" import * as v from "valibot" import { describe, expect, it } from "vitest" + import { createPaymentRequestToken } from "./create-payment-request-token" import { getReceiptClaimVerifier } from "./receipt-claim-verifier" import { diff --git a/packages/ack-pay/src/receipt-claim-verifier.ts b/packages/ack-pay/src/receipt-claim-verifier.ts index d59253c..ccc0165 100644 --- a/packages/ack-pay/src/receipt-claim-verifier.ts +++ b/packages/ack-pay/src/receipt-claim-verifier.ts @@ -6,6 +6,7 @@ import { type W3CCredential, } from "@agentcommercekit/vc" import * as v from "valibot" + import { paymentReceiptClaimSchema } from "./schemas/valibot" export interface PaymentReceiptCredential extends W3CCredential { diff --git a/packages/ack-pay/src/verify-payment-receipt.test.ts b/packages/ack-pay/src/verify-payment-receipt.test.ts index eea79aa..65ec054 100644 --- a/packages/ack-pay/src/verify-payment-receipt.test.ts +++ b/packages/ack-pay/src/verify-payment-receipt.test.ts @@ -19,10 +19,12 @@ import { type W3CCredential, } from "@agentcommercekit/vc" import { beforeEach, describe, expect, it } from "vitest" + +import type { PaymentRequestInit } from "./payment-request" + import { createPaymentReceipt } from "./create-payment-receipt" import { createSignedPaymentRequest } from "./create-signed-payment-request" import { InvalidPaymentRequestTokenError } from "./errors" -import type { PaymentRequestInit } from "./payment-request" import { verifyPaymentReceipt } from "./verify-payment-receipt" describe("verifyPaymentReceipt()", () => { diff --git a/packages/ack-pay/src/verify-payment-receipt.ts b/packages/ack-pay/src/verify-payment-receipt.ts index 3dd227d..6033f62 100644 --- a/packages/ack-pay/src/verify-payment-receipt.ts +++ b/packages/ack-pay/src/verify-payment-receipt.ts @@ -1,4 +1,5 @@ import type { Resolvable } from "@agentcommercekit/did" + import { isJwtString, type JwtString } from "@agentcommercekit/jwt" import { InvalidCredentialError, @@ -9,7 +10,9 @@ import { type Verifiable, type W3CCredential, } from "@agentcommercekit/vc" + import type { PaymentRequest } from "./payment-request" + import { getReceiptClaimVerifier, isPaymentReceiptCredential, diff --git a/packages/ack-pay/src/verify-payment-request-token.test.ts b/packages/ack-pay/src/verify-payment-request-token.test.ts index 87ccafc..6728015 100644 --- a/packages/ack-pay/src/verify-payment-request-token.test.ts +++ b/packages/ack-pay/src/verify-payment-request-token.test.ts @@ -13,8 +13,10 @@ import { } from "@agentcommercekit/jwt" import { generateKeypair, type Keypair } from "@agentcommercekit/keys" import { beforeEach, describe, expect, it } from "vitest" -import { createSignedPaymentRequest } from "./create-signed-payment-request" + import type { PaymentRequestInit } from "./payment-request" + +import { createSignedPaymentRequest } from "./create-signed-payment-request" import { verifyPaymentRequestToken } from "./verify-payment-request-token" /** diff --git a/packages/ack-pay/src/verify-payment-request-token.ts b/packages/ack-pay/src/verify-payment-request-token.ts index cef4f33..a5f7368 100644 --- a/packages/ack-pay/src/verify-payment-request-token.ts +++ b/packages/ack-pay/src/verify-payment-request-token.ts @@ -1,8 +1,11 @@ import type { Resolvable } from "@agentcommercekit/did" + import { verifyJwt, type JwtVerified } from "@agentcommercekit/jwt" import * as v from "valibot" -import { InvalidPaymentRequestTokenError } from "./errors" + import type { PaymentRequest } from "./payment-request" + +import { InvalidPaymentRequestTokenError } from "./errors" import { paymentRequestSchema } from "./schemas/valibot" interface ValidatePaymentRequestTokenOptions { diff --git a/packages/agentcommercekit/eslint.config.js b/packages/agentcommercekit/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/packages/agentcommercekit/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/packages/agentcommercekit/package.json b/packages/agentcommercekit/package.json index fa272ad..00513fe 100644 --- a/packages/agentcommercekit/package.json +++ b/packages/agentcommercekit/package.json @@ -3,17 +3,25 @@ "version": "0.10.1", "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "packages/agentcommercekit" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "packages/agentcommercekit" + }, + "files": [ + "dist", + "package.json", + "LICENSE", + "README.md" + ], "type": "module", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { "./package.json": "./package.json", ".": { @@ -57,21 +65,14 @@ "default": "./dist/a2a/schemas/zod/v4.js" } }, - "main": "./dist/index.js", - "types": "./dist/index.d.ts", - "files": [ - "dist", - "package.json", - "LICENSE", - "README.md" - ], + "publishConfig": { + "access": "public" + }, "scripts": { "build": "tsdown", "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo dist", "dev": "pnpm build --watch --no-clean", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -85,7 +86,6 @@ }, "devDependencies": { "@a2a-js/sdk": "catalog:", - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "valibot": "catalog:", "zod": "catalog:" @@ -105,8 +105,5 @@ "zod": { "optional": true } - }, - "publishConfig": { - "access": "public" } } diff --git a/packages/caip/eslint.config.js b/packages/caip/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/packages/caip/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/packages/caip/package.json b/packages/caip/package.json index f873b11..44b30c4 100644 --- a/packages/caip/package.json +++ b/packages/caip/package.json @@ -3,17 +3,25 @@ "version": "0.1.0", "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "packages/caip" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "packages/caip" + }, + "files": [ + "dist", + "package.json", + "LICENSE", + "README.md" + ], "type": "module", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { "./package.json": "./package.json", ".": { @@ -33,26 +41,18 @@ "default": "./dist/schemas/valibot.js" } }, - "main": "./dist/index.js", - "types": "./dist/index.d.ts", - "files": [ - "dist", - "package.json", - "LICENSE", - "README.md" - ], + "publishConfig": { + "access": "public" + }, "scripts": { "build": "tsdown", "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo dist", "dev": "pnpm build --watch --no-clean", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": {}, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "standard-parse": "catalog:", "valibot": "catalog:", @@ -69,8 +69,5 @@ "zod": { "optional": true } - }, - "publishConfig": { - "access": "public" } } diff --git a/packages/caip/src/caips/caip-10.test.ts b/packages/caip/src/caips/caip-10.test.ts index af7e032..a16e841 100644 --- a/packages/caip/src/caips/caip-10.test.ts +++ b/packages/caip/src/caips/caip-10.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from "vitest" + import { createCaip10AccountId } from "./index" describe("createCaip10AccountId", () => { diff --git a/packages/caip/src/caips/caip-2.ts b/packages/caip/src/caips/caip-2.ts index 53c6883..a943ed7 100644 --- a/packages/caip/src/caips/caip-2.ts +++ b/packages/caip/src/caips/caip-2.ts @@ -1,4 +1,3 @@ -/* eslint-disable @cspell/spellchecker */ /** * CAIP-2 Spec - Chain ID Components * @see {@link https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-2.md} diff --git a/packages/caip/src/index.ts b/packages/caip/src/index.ts index 5c011de..f94c807 100644 --- a/packages/caip/src/index.ts +++ b/packages/caip/src/index.ts @@ -1,2 +1 @@ -// eslint-disable-next-line @cspell/spellchecker export * from "./caips" diff --git a/packages/caip/src/schemas/schemas.test.ts b/packages/caip/src/schemas/schemas.test.ts index b1c978f..7adf4d9 100644 --- a/packages/caip/src/schemas/schemas.test.ts +++ b/packages/caip/src/schemas/schemas.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from "vitest" + import type { Caip2ChainId, Caip10AccountId, @@ -6,6 +7,7 @@ import type { Caip19AssetName, Caip19AssetType, } from "../caips" + import * as valibot from "./valibot" import * as zodv3 from "./zod/v3" import * as zodv4 from "./zod/v4" diff --git a/packages/caip/src/schemas/valibot.ts b/packages/caip/src/schemas/valibot.ts index 6694e15..b922ce6 100644 --- a/packages/caip/src/schemas/valibot.ts +++ b/packages/caip/src/schemas/valibot.ts @@ -1,4 +1,5 @@ import * as v from "valibot" + import { caip2ChainIdRegex, caip10AccountIdRegex, diff --git a/packages/caip/src/schemas/zod/v3.ts b/packages/caip/src/schemas/zod/v3.ts index 1693a6b..d5a7713 100644 --- a/packages/caip/src/schemas/zod/v3.ts +++ b/packages/caip/src/schemas/zod/v3.ts @@ -1,4 +1,5 @@ import { z } from "zod/v3" + import { caip2ChainIdRegex, caip10AccountIdRegex, diff --git a/packages/caip/src/schemas/zod/v4.ts b/packages/caip/src/schemas/zod/v4.ts index fa456f6..bac8da3 100644 --- a/packages/caip/src/schemas/zod/v4.ts +++ b/packages/caip/src/schemas/zod/v4.ts @@ -1,4 +1,5 @@ import * as z from "zod/v4" + import { caip2ChainIdRegex, caip10AccountIdRegex, diff --git a/packages/did/eslint.config.js b/packages/did/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/packages/did/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/packages/did/package.json b/packages/did/package.json index fcf076b..401ffa2 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -3,17 +3,25 @@ "version": "0.10.1", "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "packages/did" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "packages/did" + }, + "files": [ + "dist", + "package.json", + "LICENSE", + "README.md" + ], "type": "module", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { "./package.json": "./package.json", ".": { @@ -37,21 +45,14 @@ "default": "./dist/schemas/valibot.js" } }, - "main": "./dist/index.js", - "types": "./dist/index.d.ts", - "files": [ - "dist", - "package.json", - "LICENSE", - "README.md" - ], + "publishConfig": { + "access": "public" + }, "scripts": { "build": "tsdown", "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo dist", "dev": "pnpm build --watch --no-clean", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -64,7 +65,6 @@ "varint": "6.0.0" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "@types/varint": "6.0.3", "standard-parse": "catalog:", @@ -77,8 +77,5 @@ "zod": { "optional": true } - }, - "publishConfig": { - "access": "public" } } diff --git a/packages/did/src/create-did-document.test.ts b/packages/did/src/create-did-document.test.ts index 4fe165b..be6ce78 100644 --- a/packages/did/src/create-did-document.test.ts +++ b/packages/did/src/create-did-document.test.ts @@ -11,6 +11,7 @@ import { publicKeyBytesToJwk, } from "@agentcommercekit/keys/encoding" import { beforeEach, describe, expect, test } from "vitest" + import { createDidDocument, createDidDocumentFromKeypair, diff --git a/packages/did/src/create-did-document.ts b/packages/did/src/create-did-document.ts index fe7248b..06b937c 100644 --- a/packages/did/src/create-did-document.ts +++ b/packages/did/src/create-did-document.ts @@ -1,3 +1,5 @@ +import type { VerificationMethod } from "did-resolver" + import { encodePublicKeyFromKeypair, type KeyCurve, @@ -11,7 +13,7 @@ import { bytesToMultibase, hexStringToBytes, } from "@agentcommercekit/keys/encoding" -import type { VerificationMethod } from "did-resolver" + import type { DidDocument } from "./did-document" import type { DidUri } from "./did-uri" diff --git a/packages/did/src/did-resolvers/did-resolver.test.ts b/packages/did/src/did-resolvers/did-resolver.test.ts index 8e2231b..8fd16c2 100644 --- a/packages/did/src/did-resolvers/did-resolver.test.ts +++ b/packages/did/src/did-resolvers/did-resolver.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it, vi } from "vitest" + import { createDidDocument } from "../create-did-document" import { DidResolver } from "./did-resolver" diff --git a/packages/did/src/did-resolvers/did-resolver.ts b/packages/did/src/did-resolvers/did-resolver.ts index ee248fc..a420469 100644 --- a/packages/did/src/did-resolvers/did-resolver.ts +++ b/packages/did/src/did-resolvers/did-resolver.ts @@ -5,6 +5,7 @@ import { type ResolverOptions, type ResolverRegistry, } from "did-resolver" + import type { DidDocument } from "../did-document" export type { Resolvable } from "did-resolver" diff --git a/packages/did/src/did-resolvers/get-did-resolver.ts b/packages/did/src/did-resolvers/get-did-resolver.ts index fbe0a81..2a6f631 100644 --- a/packages/did/src/did-resolvers/get-did-resolver.ts +++ b/packages/did/src/did-resolvers/get-did-resolver.ts @@ -1,6 +1,8 @@ import type { ResolverOptions } from "did-resolver" + import { getResolver as getJwksDidResolver } from "jwks-did-resolver" import { getResolver as getKeyDidResolver } from "key-did-resolver" + import { DidResolver } from "./did-resolver" import { getResolver as getPkhDidResolver } from "./pkh-did-resolver" import { diff --git a/packages/did/src/did-resolvers/pkh-did-resolver.test.ts b/packages/did/src/did-resolvers/pkh-did-resolver.test.ts index 5e41b5b..b38d401 100644 --- a/packages/did/src/did-resolvers/pkh-did-resolver.test.ts +++ b/packages/did/src/did-resolvers/pkh-did-resolver.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from "vitest" + import fixtureEthereumMainnet from "../../test-fixtures/did-pkh/did:pkh:eip155:1:0xb9c5714089478a327f09197987f16f9e5d936e8a.json" import fixtureBaseSepolia from "../../test-fixtures/did-pkh/did:pkh:eip155:84532:0xa0ae58da58dfa46fa55c3b86545e7065f90ff011.json" import fixtureSolana from "../../test-fixtures/did-pkh/did:pkh:solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ:CKg5d12Jhpej1JqtmxLJgaFqqeYjxgPqToJ4LBdvG9Ev.json" diff --git a/packages/did/src/did-resolvers/pkh-did-resolver.ts b/packages/did/src/did-resolvers/pkh-did-resolver.ts index 3d3f8e6..350129c 100644 --- a/packages/did/src/did-resolvers/pkh-did-resolver.ts +++ b/packages/did/src/did-resolvers/pkh-did-resolver.ts @@ -2,6 +2,7 @@ * A `did:pkh` resolver for use with `did-resolver` */ import type { DIDResolutionResult, DIDResolver } from "did-resolver" + import { createDidPkhDocumentFromDidPkhUri, isDidPkhUri, diff --git a/packages/did/src/did-resolvers/web-did-resolver.test.ts b/packages/did/src/did-resolvers/web-did-resolver.test.ts index 68716b0..ce1af9d 100644 --- a/packages/did/src/did-resolvers/web-did-resolver.test.ts +++ b/packages/did/src/did-resolvers/web-did-resolver.test.ts @@ -1,5 +1,7 @@ import type { ParsedDID } from "did-resolver" + import { beforeEach, describe, expect, it, vi } from "vitest" + import { getResolver } from "./web-did-resolver" describe("web-did-resolver", () => { diff --git a/packages/did/src/did-resolvers/web-did-resolver.ts b/packages/did/src/did-resolvers/web-did-resolver.ts index a3461cc..dddbd32 100644 --- a/packages/did/src/did-resolvers/web-did-resolver.ts +++ b/packages/did/src/did-resolvers/web-did-resolver.ts @@ -15,6 +15,7 @@ import type { DIDResolver, ParsedDID, } from "did-resolver" + import { isDidDocument, isDidDocumentForDid, diff --git a/packages/did/src/did-uri.test.ts b/packages/did/src/did-uri.test.ts index 7006dd2..5a61458 100644 --- a/packages/did/src/did-uri.test.ts +++ b/packages/did/src/did-uri.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from "vitest" + import { isDidUri } from "./did-uri" describe("isDidUri", () => { diff --git a/packages/did/src/methods/did-key.test.ts b/packages/did/src/methods/did-key.test.ts index a8f8b32..b70a450 100644 --- a/packages/did/src/methods/did-key.test.ts +++ b/packages/did/src/methods/did-key.test.ts @@ -1,8 +1,11 @@ -import { generateKeypair, jwkToKeypair } from "@agentcommercekit/keys" import type { PrivateKeyJwk } from "@agentcommercekit/keys/encoding" + +import { generateKeypair, jwkToKeypair } from "@agentcommercekit/keys" import { describe, expect, it } from "vitest" -import { getDidResolver } from "../did-resolvers/get-did-resolver" + import type { DidUri } from "../did-uri" + +import { getDidResolver } from "../did-resolvers/get-did-resolver" import { createDidKeyUri, isDidKeyUri } from "./did-key" const KNOWN_DID_KEYS: { did: DidUri; jwk: PrivateKeyJwk }[] = [ diff --git a/packages/did/src/methods/did-key.ts b/packages/did/src/methods/did-key.ts index 5d83b44..1845082 100644 --- a/packages/did/src/methods/did-key.ts +++ b/packages/did/src/methods/did-key.ts @@ -4,6 +4,7 @@ import { } from "@agentcommercekit/keys" import { bytesToMultibase } from "@agentcommercekit/keys/encoding" import * as varint from "varint" + import type { DidUri } from "../did-uri" /** diff --git a/packages/did/src/methods/did-pkh.test.ts b/packages/did/src/methods/did-pkh.test.ts index 53eb502..00c5f80 100644 --- a/packages/did/src/methods/did-pkh.test.ts +++ b/packages/did/src/methods/did-pkh.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from "vitest" + import { addressFromDidPkhUri, createDidPkhDocument, diff --git a/packages/did/src/methods/did-pkh.ts b/packages/did/src/methods/did-pkh.ts index f40b432..03f6057 100644 --- a/packages/did/src/methods/did-pkh.ts +++ b/packages/did/src/methods/did-pkh.ts @@ -1,4 +1,5 @@ -/* eslint-disable @cspell/spellchecker */ +import type { VerificationMethod } from "did-resolver" + import { caip10Parts, createCaip10AccountId, @@ -14,11 +15,12 @@ import { isBase58, publicKeyBytesToJwk, } from "@agentcommercekit/keys/encoding" -import type { VerificationMethod } from "did-resolver" -import { createDidDocument } from "../create-did-document" + import type { DidUri } from "../did-uri" import type { DidUriWithDocument } from "../types" +import { createDidDocument } from "../create-did-document" + /** * Methods for creating and verifying did:pkh documents * diff --git a/packages/did/src/methods/did-web.test.ts b/packages/did/src/methods/did-web.test.ts index 7cde34e..bf11953 100644 --- a/packages/did/src/methods/did-web.test.ts +++ b/packages/did/src/methods/did-web.test.ts @@ -5,6 +5,7 @@ import { publicKeyBytesToJwk, } from "@agentcommercekit/keys/encoding" import { describe, expect, it } from "vitest" + import { createDidWebDocument, createDidWebUri } from "./did-web" describe("createDidWeb", () => { diff --git a/packages/did/src/methods/did-web.ts b/packages/did/src/methods/did-web.ts index 2fd5e1b..8fef471 100644 --- a/packages/did/src/methods/did-web.ts +++ b/packages/did/src/methods/did-web.ts @@ -1,11 +1,12 @@ +import type { DidUri } from "../did-uri" +import type { DidUriWithDocument } from "../types" + import { createDidDocument, createDidDocumentFromKeypair, type CreateDidDocumentFromKeypairOptions, type CreateDidDocumentOptions, } from "../create-did-document" -import type { DidUri } from "../did-uri" -import type { DidUriWithDocument } from "../types" /** * The type of a local Did diff --git a/packages/did/src/resolve-did.test.ts b/packages/did/src/resolve-did.test.ts index 373fcf1..add6948 100644 --- a/packages/did/src/resolve-did.test.ts +++ b/packages/did/src/resolve-did.test.ts @@ -1,8 +1,10 @@ import { generateKeypair } from "@agentcommercekit/keys" import { bytesToHexString } from "@agentcommercekit/keys/encoding" import { describe, expect, it } from "vitest" -import { getDidResolver } from "./did-resolvers/get-did-resolver" + import type { DidUri } from "./did-uri" + +import { getDidResolver } from "./did-resolvers/get-did-resolver" import { DidDocumentNotFoundError, InvalidDidControllerError } from "./errors" import { createDidWebDocument } from "./methods/did-web" import { resolveDid, resolveDidWithController } from "./resolve-did" diff --git a/packages/did/src/resolve-did.ts b/packages/did/src/resolve-did.ts index 278b787..16911ca 100644 --- a/packages/did/src/resolve-did.ts +++ b/packages/did/src/resolve-did.ts @@ -1,4 +1,7 @@ import type { Resolvable } from "did-resolver" + +import type { DidUriWithDocument } from "./types" + import { isDidUri } from "./did-uri" import { DidDocumentNotFoundError, @@ -6,7 +9,6 @@ import { InvalidDidUriError, UnsupportedDidMethodError, } from "./errors" -import type { DidUriWithDocument } from "./types" interface DidUriWithControlledDidDocument extends DidUriWithDocument { controller: DidUriWithDocument diff --git a/packages/did/src/schemas/valibot.ts b/packages/did/src/schemas/valibot.ts index 992da0c..37269bc 100644 --- a/packages/did/src/schemas/valibot.ts +++ b/packages/did/src/schemas/valibot.ts @@ -1,5 +1,6 @@ import { caip2ChainIdSchema } from "@agentcommercekit/caip/schemas/valibot" import * as v from "valibot" + import { isDidUri, type DidUri } from "../did-uri" export const didUriSchema = v.custom(isDidUri, "Invalid DID format") diff --git a/packages/did/src/schemas/zod/v3.ts b/packages/did/src/schemas/zod/v3.ts index 29efc69..e53f208 100644 --- a/packages/did/src/schemas/zod/v3.ts +++ b/packages/did/src/schemas/zod/v3.ts @@ -1,5 +1,6 @@ import { caip2ChainIdSchema } from "@agentcommercekit/caip/schemas/zod/v3" import { z } from "zod/v3" + import { isDidUri, type DidUri } from "../../did-uri" export const didUriSchema = z.custom(isDidUri, "Invalid DID format") diff --git a/packages/did/src/schemas/zod/v4.ts b/packages/did/src/schemas/zod/v4.ts index 2a40071..811b667 100644 --- a/packages/did/src/schemas/zod/v4.ts +++ b/packages/did/src/schemas/zod/v4.ts @@ -1,5 +1,6 @@ import { caip2ChainIdSchema } from "@agentcommercekit/caip/schemas/zod/v4" import * as z from "zod/v4" + import { isDidUri, type DidUri } from "../../did-uri" export const didUriSchema = z.custom(isDidUri, "Invalid DID format") diff --git a/packages/jwt/eslint.config.js b/packages/jwt/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/packages/jwt/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/packages/jwt/package.json b/packages/jwt/package.json index a7d71d7..06559ac 100644 --- a/packages/jwt/package.json +++ b/packages/jwt/package.json @@ -3,17 +3,25 @@ "version": "0.9.0", "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "packages/jwt" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "packages/jwt" + }, + "files": [ + "dist", + "package.json", + "LICENSE", + "README.md" + ], "type": "module", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { "./package.json": "./package.json", ".": { @@ -37,21 +45,14 @@ "default": "./dist/schemas/valibot.js" } }, - "main": "./dist/index.js", - "types": "./dist/index.d.ts", - "files": [ - "dist", - "package.json", - "LICENSE", - "README.md" - ], + "publishConfig": { + "access": "public" + }, "scripts": { "build": "tsdown", "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo dist", "dev": "pnpm build --watch --no-clean", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -59,7 +60,6 @@ "did-jwt": "8.0.15" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "valibot": "catalog:", "zod": "catalog:" @@ -75,8 +75,5 @@ "zod": { "optional": true } - }, - "publishConfig": { - "access": "public" } } diff --git a/packages/jwt/src/create-jwt.test.ts b/packages/jwt/src/create-jwt.test.ts index f1d4458..4c01583 100644 --- a/packages/jwt/src/create-jwt.test.ts +++ b/packages/jwt/src/create-jwt.test.ts @@ -5,6 +5,7 @@ import { type JWTPayload, } from "did-jwt" import { beforeEach, describe, expect, it, vi } from "vitest" + import { createJwt } from "./create-jwt" import { createJwtSigner } from "./signer" diff --git a/packages/jwt/src/create-jwt.ts b/packages/jwt/src/create-jwt.ts index 98687d4..e8ae4ff 100644 --- a/packages/jwt/src/create-jwt.ts +++ b/packages/jwt/src/create-jwt.ts @@ -4,7 +4,9 @@ import { type JWTOptions, type JWTPayload, } from "did-jwt" + import type { JwtAlgorithm } from "./jwt-algorithm" + import { isJwtString, type JwtString } from "./jwt-string" export type JwtPayload = JWTPayload diff --git a/packages/jwt/src/jwt-algorithm.test.ts b/packages/jwt/src/jwt-algorithm.test.ts index 8cd2634..703d198 100644 --- a/packages/jwt/src/jwt-algorithm.test.ts +++ b/packages/jwt/src/jwt-algorithm.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from "vitest" + import { curveToJwtAlgorithm, isJwtAlgorithm, diff --git a/packages/jwt/src/jwt-string.test.ts b/packages/jwt/src/jwt-string.test.ts index fe49757..d27c715 100644 --- a/packages/jwt/src/jwt-string.test.ts +++ b/packages/jwt/src/jwt-string.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from "vitest" + import { isJwtString } from "./jwt-string" describe("isJwtString", () => { diff --git a/packages/jwt/src/schemas/valibot.ts b/packages/jwt/src/schemas/valibot.ts index c041e4c..a3abfd1 100644 --- a/packages/jwt/src/schemas/valibot.ts +++ b/packages/jwt/src/schemas/valibot.ts @@ -1,8 +1,10 @@ import * as v from "valibot" + import type { JwtHeader, JwtPayload } from "../create-jwt" -import { jwtAlgorithms } from "../jwt-algorithm" import type { JwtString } from "../jwt-string" +import { jwtAlgorithms } from "../jwt-algorithm" + export const jwtPayloadSchema = v.pipe( v.looseObject({ iss: v.optional(v.string()), diff --git a/packages/jwt/src/schemas/zod/v3.ts b/packages/jwt/src/schemas/zod/v3.ts index a6cf48a..d5489cb 100644 --- a/packages/jwt/src/schemas/zod/v3.ts +++ b/packages/jwt/src/schemas/zod/v3.ts @@ -1,5 +1,7 @@ import { z } from "zod/v3" + import type { JwtHeader, JwtPayload } from "../../create-jwt" + import { jwtAlgorithms } from "../../jwt-algorithm" import { isJwtString } from "../../jwt-string" diff --git a/packages/jwt/src/schemas/zod/v4.ts b/packages/jwt/src/schemas/zod/v4.ts index 78baf7d..9772379 100644 --- a/packages/jwt/src/schemas/zod/v4.ts +++ b/packages/jwt/src/schemas/zod/v4.ts @@ -1,5 +1,7 @@ import * as z from "zod/v4" + import type { JwtHeader, JwtPayload } from "../../create-jwt" + import { jwtAlgorithms } from "../../jwt-algorithm" import { isJwtString } from "../../jwt-string" diff --git a/packages/jwt/src/signer.test.ts b/packages/jwt/src/signer.test.ts index bac8c76..9a47cf6 100644 --- a/packages/jwt/src/signer.test.ts +++ b/packages/jwt/src/signer.test.ts @@ -1,5 +1,6 @@ import { generateKeypair } from "@agentcommercekit/keys" import { describe, expect, test } from "vitest" + import { createJwtSigner } from "./signer" describe("createJwtSigner", () => { diff --git a/packages/jwt/src/signer.ts b/packages/jwt/src/signer.ts index bf61792..f93544f 100644 --- a/packages/jwt/src/signer.ts +++ b/packages/jwt/src/signer.ts @@ -1,4 +1,5 @@ import type { Keypair } from "@agentcommercekit/keys" + import { EdDSASigner, ES256KSigner, ES256Signer, type Signer } from "did-jwt" export type JwtSigner = Signer diff --git a/packages/jwt/src/verify.test.ts b/packages/jwt/src/verify.test.ts index 9851648..3744508 100644 --- a/packages/jwt/src/verify.test.ts +++ b/packages/jwt/src/verify.test.ts @@ -1,6 +1,7 @@ import { generateKeypair } from "@agentcommercekit/keys" import { verifyJWT, type JWTVerified } from "did-jwt" import { beforeEach, describe, expect, it, vi } from "vitest" + import { createJwt } from "./create-jwt" import { createJwtSigner } from "./signer" import { verifyJwt } from "./verify" diff --git a/packages/keys/eslint.config.js b/packages/keys/eslint.config.js deleted file mode 100644 index b689843..0000000 --- a/packages/keys/eslint.config.js +++ /dev/null @@ -1,15 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default [ - ...config({ - root: import.meta.dirname, - }), - { - files: ["**/*.test.ts"], - rules: { - "@cspell/spellchecker": "off", - }, - }, -] diff --git a/packages/keys/package.json b/packages/keys/package.json index eda0dbf..402bb1f 100644 --- a/packages/keys/package.json +++ b/packages/keys/package.json @@ -3,17 +3,25 @@ "version": "0.9.0", "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "packages/keys" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "packages/keys" + }, + "files": [ + "dist", + "package.json", + "LICENSE", + "README.md" + ], "type": "module", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { "./package.json": "./package.json", ".": { @@ -37,21 +45,14 @@ "default": "./dist/curves/secp256r1.js" } }, - "main": "./dist/index.js", - "types": "./dist/index.d.ts", - "files": [ - "dist", - "package.json", - "LICENSE", - "README.md" - ], + "publishConfig": { + "access": "public" + }, "scripts": { "build": "tsdown", "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo dist", "dev": "pnpm build --watch --no-clean", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -61,10 +62,6 @@ "uint8arrays": "5.1.0" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*" - }, - "publishConfig": { - "access": "public" } } diff --git a/packages/keys/src/curves/ed25519.test.ts b/packages/keys/src/curves/ed25519.test.ts index d83ab01..39c13e6 100644 --- a/packages/keys/src/curves/ed25519.test.ts +++ b/packages/keys/src/curves/ed25519.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "vitest" + import { base58ToBytes } from "../encoding/base58" import { generateKeypair, isValidPublicKey } from "./ed25519" diff --git a/packages/keys/src/curves/ed25519.ts b/packages/keys/src/curves/ed25519.ts index 46bd852..b7e40bd 100644 --- a/packages/keys/src/curves/ed25519.ts +++ b/packages/keys/src/curves/ed25519.ts @@ -1,4 +1,5 @@ import { ed25519 } from "@noble/curves/ed25519" + import type { Keypair } from "../keypair" /** diff --git a/packages/keys/src/curves/secp256k1.test.ts b/packages/keys/src/curves/secp256k1.test.ts index 19b1089..71b720f 100644 --- a/packages/keys/src/curves/secp256k1.test.ts +++ b/packages/keys/src/curves/secp256k1.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "vitest" + import { hexStringToBytes } from "../encoding/hex" import { generateKeypair, diff --git a/packages/keys/src/curves/secp256k1.ts b/packages/keys/src/curves/secp256k1.ts index 715e2da..a6ed69e 100644 --- a/packages/keys/src/curves/secp256k1.ts +++ b/packages/keys/src/curves/secp256k1.ts @@ -1,4 +1,5 @@ import { secp256k1 } from "@noble/curves/secp256k1" + import type { Keypair } from "../keypair" /** diff --git a/packages/keys/src/curves/secp256r1.test.ts b/packages/keys/src/curves/secp256r1.test.ts index 254f940..3399159 100644 --- a/packages/keys/src/curves/secp256r1.test.ts +++ b/packages/keys/src/curves/secp256r1.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "vitest" + import { hexStringToBytes } from "../encoding/hex" import { generateKeypair, diff --git a/packages/keys/src/curves/secp256r1.ts b/packages/keys/src/curves/secp256r1.ts index f2fdc86..f8f4d0e 100644 --- a/packages/keys/src/curves/secp256r1.ts +++ b/packages/keys/src/curves/secp256r1.ts @@ -1,4 +1,5 @@ import { secp256r1 } from "@noble/curves/p256" + import type { Keypair } from "../keypair" /** diff --git a/packages/keys/src/encoding/base58.test.ts b/packages/keys/src/encoding/base58.test.ts index cbf12c1..d65cee5 100644 --- a/packages/keys/src/encoding/base58.test.ts +++ b/packages/keys/src/encoding/base58.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "vitest" + import { base58btcToBytes, base58ToBytes, diff --git a/packages/keys/src/encoding/base64.test.ts b/packages/keys/src/encoding/base64.test.ts index 3eb75e9..d170b61 100644 --- a/packages/keys/src/encoding/base64.test.ts +++ b/packages/keys/src/encoding/base64.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "vitest" + import { base64urlToBytes, bytesToBase64url, isBase64url } from "./base64" describe("base64 encoding and decoding", () => { diff --git a/packages/keys/src/encoding/hex.test.ts b/packages/keys/src/encoding/hex.test.ts index 2685a3e..c66e3b3 100644 --- a/packages/keys/src/encoding/hex.test.ts +++ b/packages/keys/src/encoding/hex.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "vitest" + import { bytesToHexString, hexStringToBytes, isHexString } from "./hex" describe("hex encoding and decoding", () => { diff --git a/packages/keys/src/encoding/jwk.test.ts b/packages/keys/src/encoding/jwk.test.ts index 9514b4a..2d7fe9b 100644 --- a/packages/keys/src/encoding/jwk.test.ts +++ b/packages/keys/src/encoding/jwk.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "vitest" + import { bytesToBase64url, isBase64url } from "./base64" import { isPrivateKeyJwk, diff --git a/packages/keys/src/encoding/jwk.ts b/packages/keys/src/encoding/jwk.ts index d7892ed..91aeaed 100644 --- a/packages/keys/src/encoding/jwk.ts +++ b/packages/keys/src/encoding/jwk.ts @@ -1,4 +1,5 @@ import type { KeyCurve } from "../key-curves" + import { getPublicKeyFromPrivateKey } from "../public-key" import { base64urlToBytes, bytesToBase64url } from "./base64" diff --git a/packages/keys/src/encoding/multibase.test.ts b/packages/keys/src/encoding/multibase.test.ts index 93f4589..f81fd6a 100644 --- a/packages/keys/src/encoding/multibase.test.ts +++ b/packages/keys/src/encoding/multibase.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from "vitest" + import { bytesToMultibase, getMultibaseEncoding, diff --git a/packages/keys/src/encoding/multibase.ts b/packages/keys/src/encoding/multibase.ts index 3af5151..5f45a6e 100644 --- a/packages/keys/src/encoding/multibase.ts +++ b/packages/keys/src/encoding/multibase.ts @@ -72,7 +72,9 @@ export function multibaseToBytes(multibase: string): Uint8Array { export function getMultibaseEncoding( multibase: string, ): MultibaseEncoding | undefined { - if (multibase.length === 0) return undefined + if (multibase.length === 0) { + return undefined + } const prefix = multibase[0] for (const [encoding, encodingPrefix] of Object.entries(MULTIBASE_PREFIX)) { diff --git a/packages/keys/src/key-curves.test.ts b/packages/keys/src/key-curves.test.ts index ced87b0..d7936a7 100644 --- a/packages/keys/src/key-curves.test.ts +++ b/packages/keys/src/key-curves.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from "vitest" + import { isKeyCurve } from "./key-curves" describe("isKeyCurve", () => { diff --git a/packages/keys/src/keypair.test.ts b/packages/keys/src/keypair.test.ts index 4546a44..e755f1a 100644 --- a/packages/keys/src/keypair.test.ts +++ b/packages/keys/src/keypair.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "vitest" + import { hexStringToBytes } from "./encoding/hex" import { generateKeypair, jwkToKeypair, keypairToJwk } from "./keypair" diff --git a/packages/keys/src/keypair.ts b/packages/keys/src/keypair.ts index 652f368..65247e2 100644 --- a/packages/keys/src/keypair.ts +++ b/packages/keys/src/keypair.ts @@ -1,3 +1,5 @@ +import type { KeyCurve } from "./key-curves" + import * as ed25519 from "./curves/ed25519" import * as secp256k1 from "./curves/secp256k1" import * as secp256r1 from "./curves/secp256r1" @@ -8,7 +10,6 @@ import { publicKeyJwkToBytes, type PrivateKeyJwk, } from "./encoding/jwk" -import type { KeyCurve } from "./key-curves" export interface Keypair { publicKey: Uint8Array diff --git a/packages/keys/src/public-key.test.ts b/packages/keys/src/public-key.test.ts index a10c012..59088e8 100644 --- a/packages/keys/src/public-key.test.ts +++ b/packages/keys/src/public-key.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "vitest" + import { isBase58 } from "./encoding/base58" import { base64urlToBytes, isBase64url } from "./encoding/base64" import { isHexString } from "./encoding/hex" diff --git a/packages/keys/src/public-key.ts b/packages/keys/src/public-key.ts index 85b1cad..ba57771 100644 --- a/packages/keys/src/public-key.ts +++ b/packages/keys/src/public-key.ts @@ -1,3 +1,6 @@ +import type { KeyCurve } from "./key-curves" +import type { Keypair } from "./keypair" + import * as ed25519 from "./curves/ed25519" import * as secp256k1 from "./curves/secp256k1" import * as secp256r1 from "./curves/secp256r1" @@ -5,8 +8,6 @@ import { bytesToBase58 } from "./encoding/base58" import { bytesToHexString } from "./encoding/hex" import { publicKeyBytesToJwk, type PublicKeyJwk } from "./encoding/jwk" import { bytesToMultibase } from "./encoding/multibase" -import type { KeyCurve } from "./key-curves" -import type { Keypair } from "./keypair" /** * Public key format types diff --git a/packages/vc/eslint.config.js b/packages/vc/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/packages/vc/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/packages/vc/package.json b/packages/vc/package.json index 32ddcc8..7b0d0d2 100644 --- a/packages/vc/package.json +++ b/packages/vc/package.json @@ -3,17 +3,25 @@ "version": "0.10.1", "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "packages/vc" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "packages/vc" + }, + "files": [ + "dist", + "package.json", + "LICENSE", + "README.md" + ], "type": "module", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { "./package.json": "./package.json", ".": { @@ -37,21 +45,14 @@ "default": "./dist/schemas/valibot.js" } }, - "main": "./dist/index.js", - "types": "./dist/index.d.ts", - "files": [ - "dist", - "package.json", - "LICENSE", - "README.md" - ], + "publishConfig": { + "access": "public" + }, "scripts": { "build": "tsdown", "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo dist", "dev": "pnpm build --watch --no-clean", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -63,7 +64,6 @@ "valibot": "catalog:" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "zod": "catalog:" }, @@ -74,8 +74,5 @@ "zod": { "optional": true } - }, - "publishConfig": { - "access": "public" } } diff --git a/packages/vc/src/create-credential.test.ts b/packages/vc/src/create-credential.test.ts index 2cc05c0..a433967 100644 --- a/packages/vc/src/create-credential.test.ts +++ b/packages/vc/src/create-credential.test.ts @@ -1,4 +1,5 @@ import { beforeAll, describe, expect, it, vi } from "vitest" + import { createCredential } from "./create-credential" describe("createCredential", () => { diff --git a/packages/vc/src/create-presentation.test.ts b/packages/vc/src/create-presentation.test.ts index 7ee72f1..2e272cd 100644 --- a/packages/vc/src/create-presentation.test.ts +++ b/packages/vc/src/create-presentation.test.ts @@ -1,7 +1,9 @@ import { describe, expect, it } from "vitest" -import { createPresentation } from "./create-presentation" + import type { Verifiable, W3CCredential } from "./types" +import { createPresentation } from "./create-presentation" + describe("createPresentation", () => { const mockHolder = "did:example:holder" diff --git a/packages/vc/src/create-presentation.ts b/packages/vc/src/create-presentation.ts index 5c38bad..5bef328 100644 --- a/packages/vc/src/create-presentation.ts +++ b/packages/vc/src/create-presentation.ts @@ -1,4 +1,5 @@ import type { DidUri } from "@agentcommercekit/did" + import type { Verifiable, W3CCredential, W3CPresentation } from "./types" export type CreatePresentationParams = { diff --git a/packages/vc/src/is-credential.ts b/packages/vc/src/is-credential.ts index ec70174..427ade2 100644 --- a/packages/vc/src/is-credential.ts +++ b/packages/vc/src/is-credential.ts @@ -1,5 +1,7 @@ import type { W3CCredential } from "did-jwt-vc" + import * as v from "valibot" + import { credentialSchema } from "./schemas/valibot" /** diff --git a/packages/vc/src/revocation/is-status-list-credential.ts b/packages/vc/src/revocation/is-status-list-credential.ts index e14cf05..29e58f0 100644 --- a/packages/vc/src/revocation/is-status-list-credential.ts +++ b/packages/vc/src/revocation/is-status-list-credential.ts @@ -1,9 +1,11 @@ import * as v from "valibot" -import { isCredential } from "../is-credential" -import { bitstringStatusListClaimSchema } from "../schemas/valibot" + import type { CredentialSubject } from "../types" import type { BitstringStatusListCredential } from "./types" +import { isCredential } from "../is-credential" +import { bitstringStatusListClaimSchema } from "../schemas/valibot" + function isStatusListClaim( credentialSubject: CredentialSubject, ): credentialSubject is v.InferOutput { diff --git a/packages/vc/src/revocation/make-revocable.test.ts b/packages/vc/src/revocation/make-revocable.test.ts index ad37c36..cef3221 100644 --- a/packages/vc/src/revocation/make-revocable.test.ts +++ b/packages/vc/src/revocation/make-revocable.test.ts @@ -1,5 +1,7 @@ import { describe, expect, it } from "vitest" + import type { W3CCredential } from "../types" + import { makeRevocable } from "./make-revocable" describe("makeRevocable", () => { diff --git a/packages/vc/src/revocation/status-list-credential.test.ts b/packages/vc/src/revocation/status-list-credential.test.ts index 1392d25..6aaa4ac 100644 --- a/packages/vc/src/revocation/status-list-credential.test.ts +++ b/packages/vc/src/revocation/status-list-credential.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "vitest" + import { createStatusListCredential } from "./status-list-credential" describe("createStatusListCredential", () => { diff --git a/packages/vc/src/revocation/status-list-credential.ts b/packages/vc/src/revocation/status-list-credential.ts index 6b06109..571bef4 100644 --- a/packages/vc/src/revocation/status-list-credential.ts +++ b/packages/vc/src/revocation/status-list-credential.ts @@ -1,6 +1,7 @@ -import { createCredential } from "../create-credential" import type { BitstringStatusListCredential } from "./types" +import { createCredential } from "../create-credential" + type CreateStatusListCredentialParams = { /** * The URL of the status list. diff --git a/packages/vc/src/revocation/types.ts b/packages/vc/src/revocation/types.ts index 3da3ba5..d4c656b 100644 --- a/packages/vc/src/revocation/types.ts +++ b/packages/vc/src/revocation/types.ts @@ -1,4 +1,5 @@ import type * as v from "valibot" + import type { bitstringStatusListClaimSchema } from "../schemas/valibot" import type { W3CCredential } from "../types" diff --git a/packages/vc/src/schemas/valibot.ts b/packages/vc/src/schemas/valibot.ts index dba256b..eb816a1 100644 --- a/packages/vc/src/schemas/valibot.ts +++ b/packages/vc/src/schemas/valibot.ts @@ -1,4 +1,5 @@ import * as v from "valibot" + import type { W3CCredential } from "../types" const baseSchema = v.object({ diff --git a/packages/vc/src/schemas/zod/v3.ts b/packages/vc/src/schemas/zod/v3.ts index ff01bae..845d5ca 100644 --- a/packages/vc/src/schemas/zod/v3.ts +++ b/packages/vc/src/schemas/zod/v3.ts @@ -1,4 +1,5 @@ import { z } from "zod/v3" + import type { W3CCredential } from "../../types" export const credentialSchema = z diff --git a/packages/vc/src/schemas/zod/v4.ts b/packages/vc/src/schemas/zod/v4.ts index 8130c32..5f6b5de 100644 --- a/packages/vc/src/schemas/zod/v4.ts +++ b/packages/vc/src/schemas/zod/v4.ts @@ -1,4 +1,5 @@ import * as z from "zod/v4" + import type { W3CCredential } from "../../types" export const credentialSchema = z diff --git a/packages/vc/src/signing/sign-credential.test.ts b/packages/vc/src/signing/sign-credential.test.ts index b59535f..956585b 100644 --- a/packages/vc/src/signing/sign-credential.test.ts +++ b/packages/vc/src/signing/sign-credential.test.ts @@ -6,8 +6,10 @@ import { import { createJwtSigner, verifyJwt } from "@agentcommercekit/jwt" import { generateKeypair } from "@agentcommercekit/keys" import { expect, test } from "vitest" -import { createCredential } from "../create-credential" + import type { JwtCredentialPayload } from "../types" + +import { createCredential } from "../create-credential" import { signCredential } from "./sign-credential" test("signCredential creates a valid JWT and verifiable credential", async () => { diff --git a/packages/vc/src/signing/sign-credential.ts b/packages/vc/src/signing/sign-credential.ts index e642871..75fc3b3 100644 --- a/packages/vc/src/signing/sign-credential.ts +++ b/packages/vc/src/signing/sign-credential.ts @@ -1,5 +1,6 @@ import { isJwtString, type JwtString } from "@agentcommercekit/jwt" import { createVerifiableCredentialJwt } from "did-jwt-vc" + import type { W3CCredential } from "../types" import type { Signer } from "./types" diff --git a/packages/vc/src/signing/sign-presentation.test.ts b/packages/vc/src/signing/sign-presentation.test.ts index 357b174..c674e24 100644 --- a/packages/vc/src/signing/sign-presentation.test.ts +++ b/packages/vc/src/signing/sign-presentation.test.ts @@ -6,11 +6,13 @@ import { import { createJwtSigner, verifyJwt } from "@agentcommercekit/jwt" import { generateKeypair } from "@agentcommercekit/keys" import { describe, expect, it } from "vitest" -import { createPresentation } from "../create-presentation" + import type { Verifiable, W3CCredential } from "../types" -import { signPresentation } from "./sign-presentation" import type { Signer } from "./types" +import { createPresentation } from "../create-presentation" +import { signPresentation } from "./sign-presentation" + const resolver = getDidResolver() const holderKeypair = await generateKeypair("secp256k1") const holderDid = createDidWebUri("https://holder.example.com") diff --git a/packages/vc/src/signing/sign-presentation.ts b/packages/vc/src/signing/sign-presentation.ts index abc713d..125e8b2 100644 --- a/packages/vc/src/signing/sign-presentation.ts +++ b/packages/vc/src/signing/sign-presentation.ts @@ -1,5 +1,6 @@ import { isJwtString, type JwtString } from "@agentcommercekit/jwt" import { createVerifiablePresentationJwt } from "did-jwt-vc" + import type { W3CPresentation } from "../types" import type { Signer } from "./types" diff --git a/packages/vc/src/types.ts b/packages/vc/src/types.ts index d06b476..b8b4d60 100644 --- a/packages/vc/src/types.ts +++ b/packages/vc/src/types.ts @@ -1,7 +1,6 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ import type { JwtCredentialPayload, Verifiable } from "did-jwt-vc" -type Extensible = T & Record +type Extensible = T & Record export interface CredentialStatus { id: string @@ -18,8 +17,8 @@ type W3CCredential = { credentialSubject: Extensible<{ id?: string } & T> credentialStatus?: CredentialStatus - evidence?: any - termsOfUse?: any + evidence?: unknown + termsOfUse?: unknown } type W3CPresentation = { diff --git a/packages/vc/src/verification/is-expired.test.ts b/packages/vc/src/verification/is-expired.test.ts index dc8184a..267b04d 100644 --- a/packages/vc/src/verification/is-expired.test.ts +++ b/packages/vc/src/verification/is-expired.test.ts @@ -1,5 +1,7 @@ import { describe, expect, it, vi } from "vitest" + import type { Verifiable, W3CCredential } from "../types" + import { isExpired } from "./is-expired" describe("isExpired", () => { diff --git a/packages/vc/src/verification/is-revoked.test.ts b/packages/vc/src/verification/is-revoked.test.ts index 513760d..c7fb489 100644 --- a/packages/vc/src/verification/is-revoked.test.ts +++ b/packages/vc/src/verification/is-revoked.test.ts @@ -1,7 +1,9 @@ import { BitBuffer } from "bit-buffers" import { afterEach, beforeEach, describe, expect, it, vi } from "vitest" -import { createStatusListCredential } from "../revocation/status-list-credential" + import type { Verifiable, W3CCredential } from "../types" + +import { createStatusListCredential } from "../revocation/status-list-credential" import { isRevocable, isRevoked } from "./is-revoked" describe("isRevocable", () => { diff --git a/packages/vc/src/verification/is-revoked.ts b/packages/vc/src/verification/is-revoked.ts index 260a4f7..07e54e6 100644 --- a/packages/vc/src/verification/is-revoked.ts +++ b/packages/vc/src/verification/is-revoked.ts @@ -1,11 +1,13 @@ import { BitBuffer } from "bit-buffers" -import { isStatusListCredential } from "../revocation/is-status-list-credential" + import type { BitstringStatusListCredential, Revocable, } from "../revocation/types" import type { W3CCredential } from "../types" +import { isStatusListCredential } from "../revocation/is-status-list-credential" + /** * Check if a credential is revocable * diff --git a/packages/vc/src/verification/parse-jwt-credential.test.ts b/packages/vc/src/verification/parse-jwt-credential.test.ts index eadd8fb..6912a82 100644 --- a/packages/vc/src/verification/parse-jwt-credential.test.ts +++ b/packages/vc/src/verification/parse-jwt-credential.test.ts @@ -6,6 +6,7 @@ import { import { createJwtSigner } from "@agentcommercekit/jwt" import { generateKeypair } from "@agentcommercekit/keys" import { expect, test } from "vitest" + import { createCredential } from "../create-credential" import { signCredential } from "../signing/sign-credential" import { parseJwtCredential } from "./parse-jwt-credential" diff --git a/packages/vc/src/verification/parse-jwt-credential.ts b/packages/vc/src/verification/parse-jwt-credential.ts index cb24b46..d3a1665 100644 --- a/packages/vc/src/verification/parse-jwt-credential.ts +++ b/packages/vc/src/verification/parse-jwt-credential.ts @@ -1,5 +1,7 @@ import type { Resolvable } from "@agentcommercekit/did" + import { verifyCredential } from "did-jwt-vc" + import type { Verifiable, W3CCredential } from "../types" /** diff --git a/packages/vc/src/verification/types.ts b/packages/vc/src/verification/types.ts index 3776d48..e95e477 100644 --- a/packages/vc/src/verification/types.ts +++ b/packages/vc/src/verification/types.ts @@ -1,4 +1,5 @@ import type { Resolvable } from "@agentcommercekit/did" + import type { CredentialSubject } from "../types" export type ClaimVerifier = { diff --git a/packages/vc/src/verification/verify-parsed-credential.test.ts b/packages/vc/src/verification/verify-parsed-credential.test.ts index 2513056..7041884 100644 --- a/packages/vc/src/verification/verify-parsed-credential.test.ts +++ b/packages/vc/src/verification/verify-parsed-credential.test.ts @@ -5,8 +5,10 @@ import { } from "@agentcommercekit/did" import { generateKeypair } from "@agentcommercekit/keys" import { afterEach, beforeEach, describe, expect, it, vi } from "vitest" -import { createCredential } from "../create-credential" + import type { Verifiable, W3CCredential } from "../types" + +import { createCredential } from "../create-credential" import { CredentialExpiredError, CredentialRevokedError, diff --git a/packages/vc/src/verification/verify-parsed-credential.ts b/packages/vc/src/verification/verify-parsed-credential.ts index 3fb3570..a5ce51c 100644 --- a/packages/vc/src/verification/verify-parsed-credential.ts +++ b/packages/vc/src/verification/verify-parsed-credential.ts @@ -1,5 +1,8 @@ import type { Resolvable } from "@agentcommercekit/did" + import type { Verifiable, W3CCredential } from "../types" +import type { ClaimVerifier } from "./types" + import { CredentialExpiredError, CredentialRevokedError, @@ -9,7 +12,6 @@ import { } from "./errors" import { isExpired } from "./is-expired" import { isRevoked } from "./is-revoked" -import type { ClaimVerifier } from "./types" import { verifyProof } from "./verify-proof" type VerifyCredentialOptions = { diff --git a/packages/vc/src/verification/verify-proof.test.ts b/packages/vc/src/verification/verify-proof.test.ts index 4ad4c92..986b1b9 100644 --- a/packages/vc/src/verification/verify-proof.test.ts +++ b/packages/vc/src/verification/verify-proof.test.ts @@ -1,6 +1,8 @@ import type { Resolvable } from "@agentcommercekit/did" + import { verifyCredential, type VerifiedCredential } from "did-jwt-vc" import { describe, expect, it, vi } from "vitest" + import { InvalidProofError, UnsupportedProofTypeError } from "./errors" import { verifyProof } from "./verify-proof" diff --git a/packages/vc/src/verification/verify-proof.ts b/packages/vc/src/verification/verify-proof.ts index 4f90139..76d8b7b 100644 --- a/packages/vc/src/verification/verify-proof.ts +++ b/packages/vc/src/verification/verify-proof.ts @@ -1,6 +1,9 @@ import type { Resolvable } from "@agentcommercekit/did" + import { verifyCredential } from "did-jwt-vc" + import type { Verifiable, W3CCredential } from "../types" + import { InvalidProofError, UnsupportedProofTypeError } from "./errors" interface JwtProof { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6be073..4c1ab90 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,12 +53,6 @@ importers: '@changesets/cli': specifier: 2.29.7 version: 2.29.7(@types/node@24.9.2) - '@ianvs/prettier-plugin-sort-imports': - specifier: 4.7.0 - version: 4.7.0(@prettier/plugin-oxc@0.0.4)(prettier@3.6.2) - '@prettier/plugin-oxc': - specifier: 0.0.4 - version: 0.0.4 '@repo/typescript-config': specifier: workspace:* version: link:tools/typescript-config @@ -68,18 +62,15 @@ importers: dotenv-cli: specifier: 11.0.0 version: 11.0.0 - eslint: - specifier: 9.38.0 - version: 9.38.0(jiti@2.6.1) - prettier: - specifier: 3.6.2 - version: 3.6.2 - prettier-plugin-jsdoc: - specifier: 1.5.0 - version: 1.5.0(prettier@3.6.2) - prettier-plugin-packagejson: - specifier: 2.5.19 - version: 2.5.19(prettier@3.6.2) + oxfmt: + specifier: 0.32.0 + version: 0.32.0 + oxlint: + specifier: 1.47.0 + version: 1.47.0(oxlint-tsgolint@0.12.2) + oxlint-tsgolint: + specifier: 0.12.2 + version: 0.12.2 tsdown: specifier: 0.15.11 version: 0.15.11(typescript@5.9.3) @@ -111,9 +102,6 @@ importers: specifier: 'catalog:' version: 2.29.4(typescript@5.9.3)(zod@3.25.76) devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -154,9 +142,6 @@ importers: specifier: 'catalog:' version: 1.1.0(typescript@5.9.3) devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -188,9 +173,6 @@ importers: specifier: 'catalog:' version: 1.1.0(typescript@5.9.3) devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -231,9 +213,6 @@ importers: specifier: 'catalog:' version: 2.29.4(typescript@5.9.3)(zod@3.25.76) devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -253,9 +232,6 @@ importers: specifier: 'catalog:' version: 3.25.4 devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -293,9 +269,6 @@ importers: specifier: 'catalog:' version: 1.1.0(typescript@5.9.3) devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -333,9 +306,6 @@ importers: specifier: 'catalog:' version: 1.1.0(typescript@5.9.3) devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -361,9 +331,6 @@ importers: specifier: 'catalog:' version: 1.1.0(typescript@5.9.3) devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -395,9 +362,6 @@ importers: '@a2a-js/sdk': specifier: 'catalog:' version: 0.2.2 - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -423,9 +387,6 @@ importers: specifier: 'catalog:' version: 1.1.0(typescript@5.9.3) devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -460,9 +421,6 @@ importers: '@a2a-js/sdk': specifier: 'catalog:' version: 0.2.2 - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -475,9 +433,6 @@ importers: packages/caip: devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -515,9 +470,6 @@ importers: specifier: 6.0.0 version: 6.0.0 devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -540,9 +492,6 @@ importers: specifier: 8.0.15 version: 8.0.15 devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -568,9 +517,6 @@ importers: specifier: 5.1.0 version: 5.1.0 devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -596,9 +542,6 @@ importers: specifier: 'catalog:' version: 1.1.0(typescript@5.9.3) devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../../tools/eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../../tools/typescript-config @@ -630,9 +573,6 @@ importers: specifier: 'catalog:' version: 1.1.0(typescript@5.9.3) devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../typescript-config @@ -655,9 +595,6 @@ importers: specifier: 2.1.1 version: 2.1.1 devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../eslint-config '@repo/typescript-config': specifier: workspace:* version: link:../typescript-config @@ -665,36 +602,6 @@ importers: specifier: 1.7.0 version: 1.7.0 - tools/eslint-config: - devDependencies: - '@cspell/eslint-plugin': - specifier: 9.2.2 - version: 9.2.2(eslint@9.38.0(jiti@2.6.1)) - '@eslint/js': - specifier: 9.38.0 - version: 9.38.0 - '@eslint/json': - specifier: 0.13.2 - version: 0.13.2 - '@eslint/markdown': - specifier: 7.5.0 - version: 7.5.0 - eslint-config-prettier: - specifier: 10.1.8 - version: 10.1.8(eslint@9.38.0(jiti@2.6.1)) - eslint-import-resolver-typescript: - specifier: 4.4.4 - version: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1)))(eslint@9.38.0(jiti@2.6.1)) - eslint-plugin-import-x: - specifier: 4.16.1 - version: 4.16.1(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1)) - eslint-plugin-turbo: - specifier: 2.5.8 - version: 2.5.8(eslint@9.38.0(jiti@2.6.1))(turbo@2.5.8) - typescript-eslint: - specifier: 8.46.2 - version: 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - tools/typescript-config: {} packages: @@ -779,10 +686,6 @@ packages: resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} engines: {node: '>=6.9.0'} - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} @@ -800,14 +703,6 @@ packages: resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} - '@babel/template@7.27.2': - resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.28.5': - resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} - engines: {node: '>=6.9.0'} - '@babel/types@7.28.5': resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} @@ -876,227 +771,6 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@cspell/cspell-bundled-dicts@9.2.2': - resolution: {integrity: sha512-W3FKgb89DwMuQEVWz0dPH9uZqC8w+ylpbtmXuevflw3SLtGPyllMvf/1T6tcqIkg3KEWoRYFxjpJWyoOjJkZGw==} - engines: {node: '>=20'} - - '@cspell/cspell-pipe@9.2.2': - resolution: {integrity: sha512-YOdbp1uoKMkYy92qxMjoOxcqcR6LEVDus+72C4X9L8eJ2b+CBO3VaVqU16Y7OQGjYMnukYgB6eyTh8YFo9uBRw==} - engines: {node: '>=20'} - - '@cspell/cspell-resolver@9.2.2': - resolution: {integrity: sha512-5tST2xoU8xbXihr1bdQ6pfcScQ3PkFpKKhFGClVfqS0yf/CKYURqzJlRDVjrFZsl+PT6tw/Jdt0E9Wwp1X1Qgw==} - engines: {node: '>=20'} - - '@cspell/cspell-service-bus@9.2.2': - resolution: {integrity: sha512-AxJuw/YPJkz1Ali5mA+OW9y4JiJzb2U7H4pGYq0nRB/mWwI/xtFjuWVkI+BhwrA2P6hHdifu0JdxSLqW4IYpPQ==} - engines: {node: '>=20'} - - '@cspell/cspell-types@9.2.2': - resolution: {integrity: sha512-/1dRFQ3sEY9Yo+f3w0A8MFJ0BOapQc1uFjlMF19c3uoD/e4PpNLpL1qXY4FeLWKDk1D9VT8SL93J+lIwEi5bvg==} - engines: {node: '>=20'} - - '@cspell/dict-ada@4.1.1': - resolution: {integrity: sha512-E+0YW9RhZod/9Qy2gxfNZiHJjCYFlCdI69br1eviQQWB8yOTJX0JHXLs79kOYhSW0kINPVUdvddEBe6Lu6CjGQ==} - - '@cspell/dict-al@1.1.1': - resolution: {integrity: sha512-sD8GCaZetgQL4+MaJLXqbzWcRjfKVp8x+px3HuCaaiATAAtvjwUQ5/Iubiqwfd1boIh2Y1/3EgM3TLQ7Q8e0wQ==} - - '@cspell/dict-aws@4.0.15': - resolution: {integrity: sha512-aPY7VVR5Os4rz36EaqXBAEy14wR4Rqv+leCJ2Ug/Gd0IglJpM30LalF3e2eJChnjje3vWoEC0Rz3+e5gpZG+Kg==} - - '@cspell/dict-bash@4.2.2': - resolution: {integrity: sha512-kyWbwtX3TsCf5l49gGQIZkRLaB/P8g73GDRm41Zu8Mv51kjl2H7Au0TsEvHv7jzcsRLS6aUYaZv6Zsvk1fOz+Q==} - - '@cspell/dict-companies@3.2.7': - resolution: {integrity: sha512-fEyr3LmpFKTaD0LcRhB4lfW1AmULYBqzg4gWAV0dQCv06l+TsA+JQ+3pZJbUcoaZirtgsgT3dL3RUjmGPhUH0A==} - - '@cspell/dict-cpp@6.0.13': - resolution: {integrity: sha512-EFrhN/91tPwadI9m8Rxe65//9gqv+lpZoKtrngzF4DTnw4YAfMLTpykendHps0bz46NZW84/zoY1cxeW2TEPQQ==} - - '@cspell/dict-cryptocurrencies@5.0.5': - resolution: {integrity: sha512-R68hYYF/rtlE6T/dsObStzN5QZw+0aQBinAXuWCVqwdS7YZo0X33vGMfChkHaiCo3Z2+bkegqHlqxZF4TD3rUA==} - - '@cspell/dict-csharp@4.0.7': - resolution: {integrity: sha512-H16Hpu8O/1/lgijFt2lOk4/nnldFtQ4t8QHbyqphqZZVE5aS4J/zD/WvduqnLY21aKhZS6jo/xF5PX9jyqPKUA==} - - '@cspell/dict-css@4.0.18': - resolution: {integrity: sha512-EF77RqROHL+4LhMGW5NTeKqfUd/e4OOv6EDFQ/UQQiFyWuqkEKyEz0NDILxOFxWUEVdjT2GQ2cC7t12B6pESwg==} - - '@cspell/dict-dart@2.3.1': - resolution: {integrity: sha512-xoiGnULEcWdodXI6EwVyqpZmpOoh8RA2Xk9BNdR7DLamV/QMvEYn8KJ7NlRiTSauJKPNkHHQ5EVHRM6sTS7jdg==} - - '@cspell/dict-data-science@2.0.11': - resolution: {integrity: sha512-Dt+83nVCcF+dQyvFSaZjCKt1H5KbsVJFtH2X7VUfmIzQu8xCnV1fUmkhBzGJ+NiFs99Oy9JA6I9EjeqExzXk7g==} - - '@cspell/dict-django@4.1.5': - resolution: {integrity: sha512-AvTWu99doU3T8ifoMYOMLW2CXKvyKLukPh1auOPwFGHzueWYvBBN+OxF8wF7XwjTBMMeRleVdLh3aWCDEX/ZWg==} - - '@cspell/dict-docker@1.1.16': - resolution: {integrity: sha512-UiVQ5RmCg6j0qGIxrBnai3pIB+aYKL3zaJGvXk1O/ertTKJif9RZikKXCEgqhaCYMweM4fuLqWSVmw3hU164Iw==} - - '@cspell/dict-dotnet@5.0.10': - resolution: {integrity: sha512-ooar8BP/RBNP1gzYfJPStKEmpWy4uv/7JCq6FOnJLeD1yyfG3d/LFMVMwiJo+XWz025cxtkM3wuaikBWzCqkmg==} - - '@cspell/dict-elixir@4.0.8': - resolution: {integrity: sha512-CyfphrbMyl4Ms55Vzuj+mNmd693HjBFr9hvU+B2YbFEZprE5AG+EXLYTMRWrXbpds4AuZcvN3deM2XVB80BN/Q==} - - '@cspell/dict-en-common-misspellings@2.1.7': - resolution: {integrity: sha512-HAWSOoQ+lxdzLaTALhPofKNJdxZ7HAcTZWQNwb7cvGBiKEy182cb96U35602yBPrBsKY/vLxVs6f0E1JTeQjRQ==} - - '@cspell/dict-en-gb-mit@3.1.12': - resolution: {integrity: sha512-KJaJPsTRMXN4sgKHQRMNqqxc7WWZaR5h7+WarIoLUfbEWIQM1FCJiGn2pZX9OLQVBtSnLYo1JVXK1K/Tz3HWEQ==} - - '@cspell/dict-en_us@4.4.22': - resolution: {integrity: sha512-i9AJ6z5kyZU5L/b+UOOp/7dfa7RxhibLXWaexSJclf7V7R+TzwCTLoOZd1wf/5PBnNGkP8xOSaflkpUbtVijFA==} - - '@cspell/dict-filetypes@3.0.14': - resolution: {integrity: sha512-KSXaSMYYNMLLdHEnju1DyRRH3eQWPRYRnOXpuHUdOh2jC44VgQoxyMU7oB3NAhDhZKBPCihabzECsAGFbdKfEA==} - - '@cspell/dict-flutter@1.1.1': - resolution: {integrity: sha512-UlOzRcH2tNbFhZmHJN48Za/2/MEdRHl2BMkCWZBYs+30b91mWvBfzaN4IJQU7dUZtowKayVIF9FzvLZtZokc5A==} - - '@cspell/dict-fonts@4.0.5': - resolution: {integrity: sha512-BbpkX10DUX/xzHs6lb7yzDf/LPjwYIBJHJlUXSBXDtK/1HaeS+Wqol4Mlm2+NAgZ7ikIE5DQMViTgBUY3ezNoQ==} - - '@cspell/dict-fsharp@1.1.1': - resolution: {integrity: sha512-imhs0u87wEA4/cYjgzS0tAyaJpwG7vwtC8UyMFbwpmtw+/bgss+osNfyqhYRyS/ehVCWL17Ewx2UPkexjKyaBA==} - - '@cspell/dict-fullstack@3.2.7': - resolution: {integrity: sha512-IxEk2YAwAJKYCUEgEeOg3QvTL4XLlyArJElFuMQevU1dPgHgzWElFevN5lsTFnvMFA1riYsVinqJJX0BanCFEg==} - - '@cspell/dict-gaming-terms@1.1.2': - resolution: {integrity: sha512-9XnOvaoTBscq0xuD6KTEIkk9hhdfBkkvJAIsvw3JMcnp1214OCGW8+kako5RqQ2vTZR3Tnf3pc57o7VgkM0q1Q==} - - '@cspell/dict-git@3.0.7': - resolution: {integrity: sha512-odOwVKgfxCQfiSb+nblQZc4ErXmnWEnv8XwkaI4sNJ7cNmojnvogYVeMqkXPjvfrgEcizEEA4URRD2Ms5PDk1w==} - - '@cspell/dict-golang@6.0.24': - resolution: {integrity: sha512-rY7PlC3MsHozmjrZWi0HQPUl0BVCV0+mwK0rnMT7pOIXqOe4tWCYMULDIsEk4F0gbIxb5badd2dkCPDYjLnDgA==} - - '@cspell/dict-google@1.0.9': - resolution: {integrity: sha512-biL65POqialY0i4g6crj7pR6JnBkbsPovB2WDYkj3H4TuC/QXv7Pu5pdPxeUJA6TSCHI7T5twsO4VSVyRxD9CA==} - - '@cspell/dict-haskell@4.0.6': - resolution: {integrity: sha512-ib8SA5qgftExpYNjWhpYIgvDsZ/0wvKKxSP+kuSkkak520iPvTJumEpIE+qPcmJQo4NzdKMN8nEfaeci4OcFAQ==} - - '@cspell/dict-html-symbol-entities@4.0.4': - resolution: {integrity: sha512-afea+0rGPDeOV9gdO06UW183Qg6wRhWVkgCFwiO3bDupAoyXRuvupbb5nUyqSTsLXIKL8u8uXQlJ9pkz07oVXw==} - - '@cspell/dict-html@4.0.12': - resolution: {integrity: sha512-JFffQ1dDVEyJq6tCDWv0r/RqkdSnV43P2F/3jJ9rwLgdsOIXwQbXrz6QDlvQLVvNSnORH9KjDtenFTGDyzfCaA==} - - '@cspell/dict-java@5.0.12': - resolution: {integrity: sha512-qPSNhTcl7LGJ5Qp6VN71H8zqvRQK04S08T67knMq9hTA8U7G1sTKzLmBaDOFhq17vNX/+rT+rbRYp+B5Nwza1A==} - - '@cspell/dict-julia@1.1.1': - resolution: {integrity: sha512-WylJR9TQ2cgwd5BWEOfdO3zvDB+L7kYFm0I9u0s9jKHWQ6yKmfKeMjU9oXxTBxIufhCXm92SKwwVNAC7gjv+yA==} - - '@cspell/dict-k8s@1.0.12': - resolution: {integrity: sha512-2LcllTWgaTfYC7DmkMPOn9GsBWsA4DZdlun4po8s2ysTP7CPEnZc1ZfK6pZ2eI4TsZemlUQQ+NZxMe9/QutQxg==} - - '@cspell/dict-kotlin@1.1.1': - resolution: {integrity: sha512-J3NzzfgmxRvEeOe3qUXnSJQCd38i/dpF9/t3quuWh6gXM+krsAXP75dY1CzDmS8mrJAlBdVBeAW5eAZTD8g86Q==} - - '@cspell/dict-latex@4.0.4': - resolution: {integrity: sha512-YdTQhnTINEEm/LZgTzr9Voz4mzdOXH7YX+bSFs3hnkUHCUUtX/mhKgf1CFvZ0YNM2afjhQcmLaR9bDQVyYBvpA==} - - '@cspell/dict-lorem-ipsum@4.0.5': - resolution: {integrity: sha512-9a4TJYRcPWPBKkQAJ/whCu4uCAEgv/O2xAaZEI0n4y1/l18Yyx8pBKoIX5QuVXjjmKEkK7hi5SxyIsH7pFEK9Q==} - - '@cspell/dict-lua@4.0.8': - resolution: {integrity: sha512-N4PkgNDMu9JVsRu7JBS/3E/dvfItRgk9w5ga2dKq+JupP2Y3lojNaAVFhXISh4Y0a6qXDn2clA6nvnavQ/jjLA==} - - '@cspell/dict-makefile@1.0.5': - resolution: {integrity: sha512-4vrVt7bGiK8Rx98tfRbYo42Xo2IstJkAF4tLLDMNQLkQ86msDlYSKG1ZCk8Abg+EdNcFAjNhXIiNO+w4KflGAQ==} - - '@cspell/dict-markdown@2.0.12': - resolution: {integrity: sha512-ufwoliPijAgWkD/ivAMC+A9QD895xKiJRF/fwwknQb7kt7NozTLKFAOBtXGPJAB4UjhGBpYEJVo2elQ0FCAH9A==} - peerDependencies: - '@cspell/dict-css': ^4.0.18 - '@cspell/dict-html': ^4.0.12 - '@cspell/dict-html-symbol-entities': ^4.0.4 - '@cspell/dict-typescript': ^3.2.3 - - '@cspell/dict-monkeyc@1.0.11': - resolution: {integrity: sha512-7Q1Ncu0urALI6dPTrEbSTd//UK0qjRBeaxhnm8uY5fgYNFYAG+u4gtnTIo59S6Bw5P++4H3DiIDYoQdY/lha8w==} - - '@cspell/dict-node@5.0.8': - resolution: {integrity: sha512-AirZcN2i84ynev3p2/1NCPEhnNsHKMz9zciTngGoqpdItUb2bDt1nJBjwlsrFI78GZRph/VaqTVFwYikmncpXg==} - - '@cspell/dict-npm@5.2.19': - resolution: {integrity: sha512-fg23oFvKTsGjGB6DkwCUzZrLZPwp+ItSV0UXS+n6JbcH5dj3CP6MDmdwNX6s6oaAovIFKmwFBP73GUqnjMmnpQ==} - - '@cspell/dict-php@4.1.0': - resolution: {integrity: sha512-dTDeabyOj7eFvn2Q4Za3uVXM2+SzeFMqX8ly2P0XTo4AzbCmI2hulFD/QIADwWmwiRrInbbf8cxwFHNIYrXl4w==} - - '@cspell/dict-powershell@5.0.15': - resolution: {integrity: sha512-l4S5PAcvCFcVDMJShrYD0X6Huv9dcsQPlsVsBGbH38wvuN7gS7+GxZFAjTNxDmTY1wrNi1cCatSg6Pu2BW4rgg==} - - '@cspell/dict-public-licenses@2.0.15': - resolution: {integrity: sha512-cJEOs901H13Pfy0fl4dCD1U+xpWIMaEPq8MeYU83FfDZvellAuSo4GqWCripfIqlhns/L6+UZEIJSOZnjgy7Wg==} - - '@cspell/dict-python@4.2.21': - resolution: {integrity: sha512-M9OgwXWhpZqEZqKU2psB2DFsT8q5SwEahkQeIpNIRWIErjwG7I9yYhhfvPz6s5gMCMhhb3hqcPJTnmdgqGrQyg==} - - '@cspell/dict-r@2.1.1': - resolution: {integrity: sha512-71Ka+yKfG4ZHEMEmDxc6+blFkeTTvgKbKAbwiwQAuKl3zpqs1Y0vUtwW2N4b3LgmSPhV3ODVY0y4m5ofqDuKMw==} - - '@cspell/dict-ruby@5.0.9': - resolution: {integrity: sha512-H2vMcERMcANvQshAdrVx0XoWaNX8zmmiQN11dZZTQAZaNJ0xatdJoSqY8C8uhEMW89bfgpN+NQgGuDXW2vmXEw==} - - '@cspell/dict-rust@4.0.12': - resolution: {integrity: sha512-z2QiH+q9UlNhobBJArvILRxV8Jz0pKIK7gqu4TgmEYyjiu1TvnGZ1tbYHeu9w3I/wOP6UMDoCBTty5AlYfW0mw==} - - '@cspell/dict-scala@5.0.8': - resolution: {integrity: sha512-YdftVmumv8IZq9zu1gn2U7A4bfM2yj9Vaupydotyjuc+EEZZSqAafTpvW/jKLWji2TgybM1L2IhmV0s/Iv9BTw==} - - '@cspell/dict-shell@1.1.2': - resolution: {integrity: sha512-WqOUvnwcHK1X61wAfwyXq04cn7KYyskg90j4lLg3sGGKMW9Sq13hs91pqrjC44Q+lQLgCobrTkMDw9Wyl9nRFA==} - - '@cspell/dict-software-terms@5.1.10': - resolution: {integrity: sha512-ffnsKiDL5acUerJ/lDiIT0y/tfO9Jk1yp8RpAl0diOUj5iQuT4hXVfgQSx7ppseXWAGN+UgTRYWiKDb1zM3lqg==} - - '@cspell/dict-sql@2.2.1': - resolution: {integrity: sha512-qDHF8MpAYCf4pWU8NKbnVGzkoxMNrFqBHyG/dgrlic5EQiKANCLELYtGlX5auIMDLmTf1inA0eNtv74tyRJ/vg==} - - '@cspell/dict-svelte@1.0.7': - resolution: {integrity: sha512-hGZsGqP0WdzKkdpeVLBivRuSNzOTvN036EBmpOwxH+FTY2DuUH7ecW+cSaMwOgmq5JFSdTcbTNFlNC8HN8lhaQ==} - - '@cspell/dict-swift@2.0.6': - resolution: {integrity: sha512-PnpNbrIbex2aqU1kMgwEKvCzgbkHtj3dlFLPMqW1vSniop7YxaDTtvTUO4zA++ugYAEL+UK8vYrBwDPTjjvSnA==} - - '@cspell/dict-terraform@1.1.3': - resolution: {integrity: sha512-gr6wxCydwSFyyBKhBA2xkENXtVFToheqYYGFvlMZXWjviynXmh+NK/JTvTCk/VHk3+lzbO9EEQKee6VjrAUSbA==} - - '@cspell/dict-typescript@3.2.3': - resolution: {integrity: sha512-zXh1wYsNljQZfWWdSPYwQhpwiuW0KPW1dSd8idjMRvSD0aSvWWHoWlrMsmZeRl4qM4QCEAjua8+cjflm41cQBg==} - - '@cspell/dict-vue@3.0.5': - resolution: {integrity: sha512-Mqutb8jbM+kIcywuPQCCaK5qQHTdaByoEO2J9LKFy3sqAdiBogNkrplqUK0HyyRFgCfbJUgjz3N85iCMcWH0JA==} - - '@cspell/dynamic-import@9.2.2': - resolution: {integrity: sha512-RHQLp0iYcWuK0MGiUBA6dgEOCdI29kZTiBRVcJM/Pzvhvs8j9pzBTkMesZAJ7XOSFz2kU+skRMBsFd774dmYTA==} - engines: {node: '>=20'} - - '@cspell/eslint-plugin@9.2.2': - resolution: {integrity: sha512-RBZ0zeH4AENs7bOey9dUfvPywdK38RFiUolSLw7jA4QBf8dyEfua+qBv6ECaVSjGbp/jR1cgye3KykcNWKnYFQ==} - engines: {node: '>=20'} - peerDependencies: - eslint: ^7 || ^8 || ^9 - - '@cspell/filetypes@9.2.2': - resolution: {integrity: sha512-oM+cqipbZ4PNxQcKP9sKOeRKBG+oM3NKO3To1FyxYxvnUG7DukW2yH6BS0/GUY7qK+oSftuq5d6DXEAl9wzbEQ==} - engines: {node: '>=20'} - - '@cspell/strong-weak-map@9.2.2': - resolution: {integrity: sha512-Z7rd7NwHaoH/d/Ds97Rv042WS9PgpVdqgO2X0ehYZmgj2E0LIq2MTkIJMheUrSn37D0PW/suroKh6hN15pJtpQ==} - engines: {node: '>=20'} - - '@cspell/url@9.2.2': - resolution: {integrity: sha512-gvLprhrArvLP/rnC8b766dA80EXwBbzXqb9tNDRk1esQV7d3uS1Ftk1970MRlAfLg1pG6V+3C4UrB6WOB/rMCQ==} - engines: {node: '>=20'} - '@drizzle-team/brocli@0.10.2': resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} @@ -1405,64 +1079,6 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.9.0': - resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.12.2': - resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/config-array@0.21.1': - resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/config-helpers@0.4.2': - resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.15.2': - resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.16.0': - resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.17.0': - resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/eslintrc@3.3.1': - resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/js@9.38.0': - resolution: {integrity: sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/json@0.13.2': - resolution: {integrity: sha512-yWLyRE18rHgHXhWigRpiyv1LDPkvWtC6oa7QHXW7YdP6gosJoq7BiLZW2yCs9U7zN7X4U3ZeOJjepA10XAOIMw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/markdown@7.5.0': - resolution: {integrity: sha512-reKloVSpytg4ene3yviPJcUO7zglpNn9kWNRiSQ/8gBbBFMKW5Q042LaCi3wv2vVtbPNnLrl6WvhRAHeBd43QA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/object-schema@2.1.7': - resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/plugin-kit@0.3.5': - resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/plugin-kit@0.4.1': - resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@floating-ui/core@1.7.3': resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} @@ -1490,44 +1106,6 @@ packages: '@standard-schema/spec': 1.0.0 hono: '>=3.9.0' - '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} - engines: {node: '>=18.18.0'} - - '@humanfs/node@0.16.7': - resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} - engines: {node: '>=18.18.0'} - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/momoa@3.3.10': - resolution: {integrity: sha512-KWiFQpSAqEIyrTXko3hFNLeQvSK8zXlJQzhhxsyVn58WFRYXST99b3Nqnu+ttOtjds2Pl2grUHGpe2NzhPynuQ==} - engines: {node: '>=18'} - - '@humanwhocodes/retry@0.4.3': - resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} - engines: {node: '>=18.18'} - - '@ianvs/prettier-plugin-sort-imports@4.7.0': - resolution: {integrity: sha512-soa2bPUJAFruLL4z/CnMfSEKGznm5ebz29fIa9PxYtu8HHyLKNE1NXAs6dylfw1jn/ilEIfO2oLLN6uAafb7DA==} - peerDependencies: - '@prettier/plugin-oxc': ^0.0.4 - '@vue/compiler-sfc': 2.7.x || 3.x - content-tag: ^4.0.0 - prettier: 2 || 3 || ^4.0.0-0 - prettier-plugin-ember-template-tag: ^2.1.0 - peerDependenciesMeta: - '@prettier/plugin-oxc': - optional: true - '@vue/compiler-sfc': - optional: true - content-tag: - optional: true - prettier-plugin-ember-template-tag: - optional: true - '@img/sharp-darwin-arm64@0.33.5': resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1776,14 +1354,6 @@ packages: '@types/node': optional: true - '@isaacs/balanced-match@4.0.1': - resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} - engines: {node: 20 || >=22} - - '@isaacs/brace-expansion@5.0.0': - resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} - engines: {node: 20 || >=22} - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1901,6 +1471,7 @@ packages: '@mintlify/cli@4.0.787': resolution: {integrity: sha512-BZ2YdBdrBZ7q2/YhLLGqHi50lLrcjqF4d8MRPrjoAQg02VAQQh3ZFlM+12pTim67+fESqJPckvp457hFJQlDrQ==} engines: {node: '>=18.0.0'} + deprecated: This version is deprecated. Please upgrade to version 4.0.423 or later. hasBin: true '@mintlify/common@1.0.589': @@ -1943,9 +1514,6 @@ packages: '@multiformats/base-x@4.0.1': resolution: {integrity: sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==} - '@napi-rs/wasm-runtime@0.2.12': - resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} - '@napi-rs/wasm-runtime@1.0.7': resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} @@ -1991,104 +1559,270 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - '@oxc-parser/binding-android-arm64@0.74.0': - resolution: {integrity: sha512-lgq8TJq22eyfojfa2jBFy2m66ckAo7iNRYDdyn9reXYA3I6Wx7tgGWVx1JAp1lO+aUiqdqP/uPlDaETL9tqRcg==} - engines: {node: '>=20.0.0'} + '@oxc-project/runtime@0.95.0': + resolution: {integrity: sha512-qJS5pNepwMGnafO9ayKGz7rfPQgUBuunHpnP1//9Qa0zK3oT3t1EhT+I+pV9MUA+ZKez//OFqxCxf1vijCKb2Q==} + engines: {node: ^20.19.0 || >=22.12.0} + + '@oxc-project/types@0.95.0': + resolution: {integrity: sha512-vACy7vhpMPhjEJhULNxrdR0D943TkA/MigMpJCHmBHvMXxRStRi/dPtTlfQ3uDwWSzRpT8z+7ImjZVf8JWBocQ==} + + '@oxfmt/binding-android-arm-eabi@0.32.0': + resolution: {integrity: sha512-DpVyuVzgLH6/MvuB/YD3vXO9CN/o9EdRpA0zXwe/tagP6yfVSFkFWkPqTROdqp0mlzLH5Yl+/m+hOrcM601EbA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxfmt/binding-android-arm64@0.32.0': + resolution: {integrity: sha512-w1cmNXf9zs0vKLuNgyUF3hZ9VUAS1hBmQGndYJv1OmcVqStBtRTRNxSWkWM0TMkrA9UbvIvM9gfN+ib4Wy6lkQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-parser/binding-darwin-arm64@0.74.0': - resolution: {integrity: sha512-xbY/io/hkARggbpYEMFX6CwFzb7f4iS6WuBoBeZtdqRWfIEi7sm/uYWXfyVeB8uqOATvJ07WRFC2upI8PSI83g==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-darwin-arm64@0.32.0': + resolution: {integrity: sha512-m6wQojz/hn94XdZugFPtdFbOvXbOSYEqPsR2gyLyID3BvcrC2QsJyT1o3gb4BZEGtZrG1NiKVGwDRLM0dHd2mg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-parser/binding-darwin-x64@0.74.0': - resolution: {integrity: sha512-FIj2gAGtFaW0Zk+TnGyenMUoRu1ju+kJ/h71D77xc1owOItbFZFGa+4WSVck1H8rTtceeJlK+kux+vCjGFCl9Q==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-darwin-x64@0.32.0': + resolution: {integrity: sha512-hN966Uh6r3Erkg2MvRcrJWaB6QpBzP15rxWK/QtkUyD47eItJLsAQ2Hrm88zMIpFZ3COXZLuN3hqgSlUtvB0Xw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-parser/binding-freebsd-x64@0.74.0': - resolution: {integrity: sha512-W1I+g5TJg0TRRMHgEWNWsTIfe782V3QuaPgZxnfPNmDMywYdtlzllzclBgaDq6qzvZCCQc/UhvNb37KWTCTj8A==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-freebsd-x64@0.32.0': + resolution: {integrity: sha512-g5UZPGt8tJj263OfSiDGdS54HPa0KgFfspLVAUivVSdoOgsk6DkwVS9nO16xQTDztzBPGxTvrby8WuufF0g86Q==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-parser/binding-linux-arm-gnueabihf@0.74.0': - resolution: {integrity: sha512-gxqkyRGApeVI8dgvJ19SYe59XASW3uVxF1YUgkE7peW/XIg5QRAOVTFKyTjI9acYuK1MF6OJHqx30cmxmZLtiQ==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-linux-arm-gnueabihf@0.32.0': + resolution: {integrity: sha512-F4ZY83/PVQo9ZJhtzoMqbmjqEyTVEZjbaw4x1RhzdfUhddB41ZB2Vrt4eZi7b4a4TP85gjPRHgQBeO0c1jbtaw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-musleabihf@0.74.0': - resolution: {integrity: sha512-jpnAUP4Fa93VdPPDzxxBguJmldj/Gpz7wTXKFzpAueqBMfZsy9KNC+0qT2uZ9HGUDMzNuKw0Se3bPCpL/gfD2Q==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-linux-arm-musleabihf@0.32.0': + resolution: {integrity: sha512-olR37eG16Lzdj9OBSvuoT5RxzgM5xfQEHm1OEjB3M7Wm4KWa5TDWIT13Aiy74GvAN77Hq1+kUKcGVJ/0ynf75g==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm64-gnu@0.74.0': - resolution: {integrity: sha512-fcWyM7BNfCkHqIf3kll8fJctbR/PseL4RnS2isD9Y3FFBhp4efGAzhDaxIUK5GK7kIcFh1P+puIRig8WJ6IMVQ==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-linux-arm64-gnu@0.32.0': + resolution: {integrity: sha512-eZhk6AIjRCDeLoXYBhMW7qq/R1YyVi+tGnGfc3kp7AZQrMsFaWtP/bgdCJCTNXMpbMwymtVz0qhSQvR5w2sKcg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@oxc-parser/binding-linux-arm64-musl@0.74.0': - resolution: {integrity: sha512-AMY30z/C77HgiRRJX7YtVUaelKq1ex0aaj28XoJu4SCezdS8i0IftUNTtGS1UzGjGZB8zQz5SFwVy4dRu4GLwg==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-linux-arm64-musl@0.32.0': + resolution: {integrity: sha512-UYiqO9MlipntFbdbUKOIo84vuyzrK4TVIs7Etat91WNMFSW54F6OnHq08xa5ZM+K9+cyYMgQPXvYCopuP+LyKw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@oxc-parser/binding-linux-riscv64-gnu@0.74.0': - resolution: {integrity: sha512-/RZAP24TgZo4vV/01TBlzRqs0R7E6xvatww4LnmZEBBulQBU/SkypDywfriFqWuFoa61WFXPV7sLcTjJGjim/w==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-linux-ppc64-gnu@0.32.0': + resolution: {integrity: sha512-IDH/fxMv+HmKsMtsjEbXqhScCKDIYp38sgGEcn0QKeXMxrda67PPZA7HMfoUwEtFUG+jsO1XJxTrQsL+kQ90xQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + + '@oxfmt/binding-linux-riscv64-gnu@0.32.0': + resolution: {integrity: sha512-bQFGPDa0buYWJFeK2I7ah8wRZjrAgamaG2OAGv+Ua5UMYEnHxmHcv+r8lWUUrwP2oqQGvp1SB8JIVtBbYuAueQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxfmt/binding-linux-riscv64-musl@0.32.0': + resolution: {integrity: sha512-3vFp9DW1ItEKWltADzCFqG5N7rYFToT4ztlhg8wALoo2E2VhveLD88uAF4FF9AxD9NhgHDGmPCV+WZl/Qlj8cQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] - '@oxc-parser/binding-linux-s390x-gnu@0.74.0': - resolution: {integrity: sha512-620J1beNAlGSPBD+Msb3ptvrwxu04B8iULCH03zlf0JSLy/5sqlD6qBs0XUVkUJv1vbakUw1gfVnUQqv0UTuEg==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-linux-s390x-gnu@0.32.0': + resolution: {integrity: sha512-Fub2y8S9ImuPzAzpbgkoz/EVTWFFBolxFZYCMRhRZc8cJZI2gl/NlZswqhvJd/U0Jopnwgm/OJ2x128vVzFFWA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] - '@oxc-parser/binding-linux-x64-gnu@0.74.0': - resolution: {integrity: sha512-WBFgQmGtFnPNzHyLKbC1wkYGaRIBxXGofO0+hz1xrrkPgbxbJS1Ukva1EB8sPaVBBQ52Bdc2GjLSp721NWRvww==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-linux-x64-gnu@0.32.0': + resolution: {integrity: sha512-XufwsnV3BF81zO2ofZvhT4FFaMmLTzZEZnC9HpFz/quPeg9C948+kbLlZnsfjmp+1dUxKMCpfmRMqOfF4AOLsA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@oxc-parser/binding-linux-x64-musl@0.74.0': - resolution: {integrity: sha512-y4mapxi0RGqlp3t6Sm+knJlAEqdKDYrEue2LlXOka/F2i4sRN0XhEMPiSOB3ppHmvK4I2zY2XBYTsX1Fel0fAg==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-linux-x64-musl@0.32.0': + resolution: {integrity: sha512-u2f9tC2qYfikKmA2uGpnEJgManwmk0ZXWs5BB4ga4KDu2JNLdA3i634DGHeMLK9wY9+iRf3t7IYpgN3OVFrvDw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@oxc-parser/binding-wasm32-wasi@0.74.0': - resolution: {integrity: sha512-yDS9bRDh5ymobiS2xBmjlrGdUuU61IZoJBaJC5fELdYT5LJNBXlbr3Yc6m2PWfRJwkH6Aq5fRvxAZ4wCbkGa8w==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] + '@oxfmt/binding-openharmony-arm64@0.32.0': + resolution: {integrity: sha512-5ZXb1wrdbZ1YFXuNXNUCePLlmLDy4sUt4evvzD4Cgumbup5wJgS9PIe5BOaLywUg9f1wTH6lwltj3oT7dFpIGA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] - '@oxc-parser/binding-win32-arm64-msvc@0.74.0': - resolution: {integrity: sha512-XFWY52Rfb4N5wEbMCTSBMxRkDLGbAI9CBSL24BIDywwDJMl31gHEVlmHdCDRoXAmanCI6gwbXYTrWe0HvXJ7Aw==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-win32-arm64-msvc@0.32.0': + resolution: {integrity: sha512-IGSMm/Agq+IA0++aeAV/AGPfjcBdjrsajB5YpM3j7cMcwoYgUTi/k2YwAmsHH3ueZUE98pSM/Ise2J7HtyRjOA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-parser/binding-win32-x64-msvc@0.74.0': - resolution: {integrity: sha512-1D3x6iU2apLyfTQHygbdaNbX3nZaHu4yaXpD7ilYpoLo7f0MX0tUuoDrqJyJrVGqvyXgc0uz4yXz9tH9ZZhvvg==} - engines: {node: '>=20.0.0'} + '@oxfmt/binding-win32-ia32-msvc@0.32.0': + resolution: {integrity: sha512-H/9gsuqXmceWMsVoCPZhtJG2jLbnBeKr7xAXm2zuKpxLVF7/2n0eh7ocOLB6t+L1ARE76iORuUsRMnuGjj8FjQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxfmt/binding-win32-x64-msvc@0.32.0': + resolution: {integrity: sha512-fF8VIOeligq+mA6KfKvWtFRXbf0EFy73TdR6ZnNejdJRM8VWN1e3QFhYgIwD7O8jBrQsd7EJbUpkAr/YlUOokg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@oxc-project/runtime@0.95.0': - resolution: {integrity: sha512-qJS5pNepwMGnafO9ayKGz7rfPQgUBuunHpnP1//9Qa0zK3oT3t1EhT+I+pV9MUA+ZKez//OFqxCxf1vijCKb2Q==} + '@oxlint-tsgolint/darwin-arm64@0.12.2': + resolution: {integrity: sha512-XIfavTqkJPGYi/98z7ZCkZvXq2AccMAAB0iwvKDRTQqiweMXVUyeUdx46phCHHH1PgmIVJtVfysThkHq2xCyrw==} + cpu: [arm64] + os: [darwin] + + '@oxlint-tsgolint/darwin-x64@0.12.2': + resolution: {integrity: sha512-tytsvP6zmNShRNDo4GgQartOXmd4GPd+TylCUMdO/iWl9PZVOgRyswWbYVTNgn85Cib/aY2q3Uu+jOw+QlbxvQ==} + cpu: [x64] + os: [darwin] + + '@oxlint-tsgolint/linux-arm64@0.12.2': + resolution: {integrity: sha512-3W38yJuF7taEquhEuD6mYQyCeWNAlc1pNPjFkspkhLKZVgbrhDA4V6fCxLDDRvrTHde0bXPmFvuPlUq5pSePgA==} + cpu: [arm64] + os: [linux] + + '@oxlint-tsgolint/linux-x64@0.12.2': + resolution: {integrity: sha512-EjcEspeeV0NmaopEp4wcN5ntQP9VCJJDrTvzOjMP4W6ajz18M+pni9vkKvmcPIpRa/UmWobeFgKoVd/KGueeuQ==} + cpu: [x64] + os: [linux] + + '@oxlint-tsgolint/win32-arm64@0.12.2': + resolution: {integrity: sha512-a9L7iA5K/Ht/i8d9+7RTp6hbPa4cyXP0MdySVXAO6vczpL/4ildfY9Hr2m2wqL12uK6xe/uVABpVTrqay/wV+g==} + cpu: [arm64] + os: [win32] + + '@oxlint-tsgolint/win32-x64@0.12.2': + resolution: {integrity: sha512-Cvt40UbTf5ib12DjGN+mMGOnjWa4Bc6Y7KEaXXp9qzckvs3HpNk2wSwMV3gnuR8Ipx4hkzkzrgzD0BAUsySAfA==} + cpu: [x64] + os: [win32] + + '@oxlint/binding-android-arm-eabi@1.47.0': + resolution: {integrity: sha512-UHqo3te9K/fh29brCuQdHjN+kfpIi9cnTPABuD5S9wb9ykXYRGTOOMVuSV/CK43sOhU4wwb2nT1RVjcbrrQjFw==} engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] - '@oxc-project/types@0.74.0': - resolution: {integrity: sha512-KOw/RZrVlHGhCXh1RufBFF7Nuo7HdY5w1lRJukM/igIl6x9qtz8QycDvZdzb4qnHO7znrPyo2sJrFJK2eKHgfQ==} + '@oxlint/binding-android-arm64@1.47.0': + resolution: {integrity: sha512-xh02lsTF1TAkR+SZrRMYHR/xCx8Wg2MAHxJNdHVpAKELh9/yE9h4LJeqAOBbIb3YYn8o/D97U9VmkvkfJfrHfw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] - '@oxc-project/types@0.95.0': - resolution: {integrity: sha512-vACy7vhpMPhjEJhULNxrdR0D943TkA/MigMpJCHmBHvMXxRStRi/dPtTlfQ3uDwWSzRpT8z+7ImjZVf8JWBocQ==} + '@oxlint/binding-darwin-arm64@1.47.0': + resolution: {integrity: sha512-OSOfNJqabOYbkyQDGT5pdoL+05qgyrmlQrvtCO58M4iKGEQ/xf3XkkKj7ws+hO+k8Y4VF4zGlBsJlwqy7qBcHA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxlint/binding-darwin-x64@1.47.0': + resolution: {integrity: sha512-hP2bOI4IWNS+F6pVXWtRshSTuJ1qCRZgDgVUg6EBUqsRy+ExkEPJkx+YmIuxgdCduYK1LKptLNFuQLJP8voPbQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxlint/binding-freebsd-x64@1.47.0': + resolution: {integrity: sha512-F55jIEH5xmGu7S661Uho8vGiLFk0bY3A/g4J8CTKiLJnYu/PSMZ2WxFoy5Hji6qvFuujrrM9Q8XXbMO0fKOYPg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxlint/binding-linux-arm-gnueabihf@1.47.0': + resolution: {integrity: sha512-wxmOn/wns/WKPXUC1fo5mu9pMZPVOu8hsynaVDrgmmXMdHKS7on6bA5cPauFFN9tJXNdsjW26AK9lpfu3IfHBQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm-musleabihf@1.47.0': + resolution: {integrity: sha512-KJTmVIA/GqRlM2K+ZROH30VMdydEU7bDTY35fNg3tOPzQRIs2deLZlY/9JWwdWo1F/9mIYmpbdCmPqtKhWNOPg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm64-gnu@1.47.0': + resolution: {integrity: sha512-PF7ELcFg1GVlS0X0ZB6aWiXobjLrAKer3T8YEkwIoO8RwWiAMkL3n3gbleg895BuZkHVlJ2kPRUwfrhHrVkD1A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxlint/binding-linux-arm64-musl@1.47.0': + resolution: {integrity: sha512-4BezLRO5cu0asf0Jp1gkrnn2OHiXrPPPEfBTxq1k5/yJ2zdGGTmZxHD2KF2voR23wb8Elyu3iQawXo7wvIZq0Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxlint/binding-linux-ppc64-gnu@1.47.0': + resolution: {integrity: sha512-aI5ds9jq2CPDOvjeapiIj48T/vlWp+f4prkxs+FVzrmVN9BWIj0eqeJ/hV8WgXg79HVMIz9PU6deI2ki09bR1w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + + '@oxlint/binding-linux-riscv64-gnu@1.47.0': + resolution: {integrity: sha512-mO7ycp9Elvgt5EdGkQHCwJA6878xvo9tk+vlMfT1qg++UjvOMB8INsOCQIOH2IKErF/8/P21LULkdIrocMw9xA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxlint/binding-linux-riscv64-musl@1.47.0': + resolution: {integrity: sha512-24D0wsYT/7hDFn3Ow32m3/+QT/1ZwrUhShx4/wRDAmz11GQHOZ1k+/HBuK/MflebdnalmXWITcPEy4BWTi7TCA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxlint/binding-linux-s390x-gnu@1.47.0': + resolution: {integrity: sha512-8tPzPne882mtML/uy3mApvdCyuVOpthJ7xUv3b67gVfz63hOOM/bwO0cysSkPyYYFDFRn6/FnUb7Jhmsesntvg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@oxlint/binding-linux-x64-gnu@1.47.0': + resolution: {integrity: sha512-q58pIyGIzeffEBhEgbRxLFHmHfV9m7g1RnkLiahQuEvyjKNiJcvdHOwKH2BdgZxdzc99Cs6hF5xTa86X40WzPw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxlint/binding-linux-x64-musl@1.47.0': + resolution: {integrity: sha512-e7DiLZtETZUCwTa4EEHg9G+7g3pY+afCWXvSeMG7m0TQ29UHHxMARPaEQUE4mfKgSqIWnJaUk2iZzRPMRdga5g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxlint/binding-openharmony-arm64@1.47.0': + resolution: {integrity: sha512-3AFPfQ0WKMleT/bKd7zsks3xoawtZA6E/wKf0DjwysH7wUiMMJkNKXOzYq1R/00G98JFgSU1AkrlOQrSdNNhlg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxlint/binding-win32-arm64-msvc@1.47.0': + resolution: {integrity: sha512-cLMVVM6TBxp+N7FldQJ2GQnkcLYEPGgiuEaXdvhgvSgODBk9ov3jed+khIXSAWtnFOW0wOnG3RjwqPh0rCuheA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxlint/binding-win32-ia32-msvc@1.47.0': + resolution: {integrity: sha512-VpFOSzvTnld77/Edje3ZdHgZWnlTb5nVWXyTgjD3/DKF/6t5bRRbwn3z77zOdnGy44xAMvbyAwDNOSeOdVUmRA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxlint/binding-win32-x64-msvc@1.47.0': + resolution: {integrity: sha512-+q8IWptxXx2HMTM6JluR67284t0h8X/oHJgqpxH1siowxPMqZeIpAcWCUq+tY+Rv2iQK8TUugjZnSBQAVV5CmA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -2098,10 +1832,6 @@ packages: resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@prettier/plugin-oxc@0.0.4': - resolution: {integrity: sha512-UGXe+g/rSRbglL0FOJiar+a+nUrst7KaFmsg05wYbKiInGWP6eAj/f8A2Uobgo5KxEtb2X10zeflNH6RK2xeIQ==} - engines: {node: '>=14'} - '@puppeteer/browsers@2.3.0': resolution: {integrity: sha512-ioXoq9gPxkss4MYhD+SFaU9p1IHFUX0ILAWFPyjGaBdjLsYAlZw6j1iLA0N/m12uVHLFDfSYNF7EQccjinIMDA==} engines: {node: '>=18'} @@ -3028,65 +2758,6 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.46.2': - resolution: {integrity: sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.46.2 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/parser@8.46.2': - resolution: {integrity: sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/project-service@8.46.2': - resolution: {integrity: sha512-PULOLZ9iqwI7hXcmL4fVfIsBi6AN9YxRc0frbvmg8f+4hQAjQ5GYNKK0DIArNo+rOKmR/iBYwkpBmnIwin4wBg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/scope-manager@8.46.2': - resolution: {integrity: sha512-LF4b/NmGvdWEHD2H4MsHD8ny6JpiVNDzrSZr3CsckEgCbAGZbYM4Cqxvi9L+WqDMT+51Ozy7lt2M+d0JLEuBqA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/tsconfig-utils@8.46.2': - resolution: {integrity: sha512-a7QH6fw4S57+F5y2FIxxSDyi5M4UfGF+Jl1bCGd7+L4KsaUY80GsiF/t0UoRFDHAguKlBaACWJRmdrc6Xfkkag==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/type-utils@8.46.2': - resolution: {integrity: sha512-HbPM4LbaAAt/DjxXaG9yiS9brOOz6fabal4uvUmaUYe6l3K1phQDMQKBRUrr06BQkxkvIZVVHttqiybM9nJsLA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/types@8.46.2': - resolution: {integrity: sha512-lNCWCbq7rpg7qDsQrd3D6NyWYu+gkTENkG5IKYhUIcxSb59SQC/hEQ+MrG4sTgBVghTonNWq42bA/d4yYumldQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/typescript-estree@8.46.2': - resolution: {integrity: sha512-f7rW7LJ2b7Uh2EiQ+7sza6RDZnajbNbemn54Ob6fRwQbgcIn+GWfyuHDHRYgRoZu1P4AayVScrRW+YfbTvPQoQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/utils@8.46.2': - resolution: {integrity: sha512-sExxzucx0Tud5tE0XqR0lT0psBQvEpnpiul9XbGUB1QwpWJJAps1O/Z7hJxLGiZLBKMCutjTzDgmd1muEhBnVg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/visitor-keys@8.46.2': - resolution: {integrity: sha512-tUFMXI4gxzzMXt4xpGJEsBsTox0XbNQ1y94EwlD/CuZwFcQP79xfQqMhau9HsRc/J0cAPA/HZt1dZPtGn9V/7w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript/vfs@1.6.2': resolution: {integrity: sha512-hoBwJwcbKHmvd2QVebiytN1aELvpk9B74B4L1mFm/XT1Q/VOYAWl2vQ9AWRFtQq8zmz6enTpfTV8WRc4ATjW/g==} peerDependencies: @@ -3095,101 +2766,6 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@unrs/resolver-binding-android-arm-eabi@1.11.1': - resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} - cpu: [arm] - os: [android] - - '@unrs/resolver-binding-android-arm64@1.11.1': - resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==} - cpu: [arm64] - os: [android] - - '@unrs/resolver-binding-darwin-arm64@1.11.1': - resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==} - cpu: [arm64] - os: [darwin] - - '@unrs/resolver-binding-darwin-x64@1.11.1': - resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==} - cpu: [x64] - os: [darwin] - - '@unrs/resolver-binding-freebsd-x64@1.11.1': - resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==} - cpu: [x64] - os: [freebsd] - - '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': - resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==} - cpu: [arm] - os: [linux] - - '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': - resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==} - cpu: [arm] - os: [linux] - - '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': - resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} - cpu: [arm64] - os: [linux] - - '@unrs/resolver-binding-linux-arm64-musl@1.11.1': - resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} - cpu: [arm64] - os: [linux] - - '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': - resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} - cpu: [ppc64] - os: [linux] - - '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': - resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} - cpu: [riscv64] - os: [linux] - - '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': - resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} - cpu: [riscv64] - os: [linux] - - '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': - resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} - cpu: [s390x] - os: [linux] - - '@unrs/resolver-binding-linux-x64-gnu@1.11.1': - resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} - cpu: [x64] - os: [linux] - - '@unrs/resolver-binding-linux-x64-musl@1.11.1': - resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} - cpu: [x64] - os: [linux] - - '@unrs/resolver-binding-wasm32-wasi@1.11.1': - resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - - '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': - resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==} - cpu: [arm64] - os: [win32] - - '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': - resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==} - cpu: [ia32] - os: [win32] - - '@unrs/resolver-binding-win32-x64-msvc@1.11.1': - resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==} - cpu: [x64] - os: [win32] - '@valibot/to-json-schema@1.3.0': resolution: {integrity: sha512-82Vv6x7sOYhv5YmTRgSppSqj1nn2pMCk5BqCMGWYp0V/fq+qirrbGncqZAtZ09/lrO40ne/7z8ejwE728aVreg==} peerDependencies: @@ -3308,9 +2884,6 @@ packages: ajv: optional: true - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} @@ -3378,9 +2951,6 @@ packages: array-iterate@2.0.1: resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} - array-timsort@1.0.3: - resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} - array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -3505,9 +3075,6 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - binary-searching@2.0.5: - resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==} - bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} @@ -3594,10 +3161,6 @@ packages: resolution: {integrity: sha512-aUTnJc/JipRzJrNADXVvpVqi6CO0dn3nx4EVPxijri+fj3LUUDyZQOgVeW54Ob3Y1Xh9Iz8f+CgaCl8v0mn9bA==} engines: {node: '>=18'} - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -3645,10 +3208,6 @@ packages: resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} engines: {node: '>=12'} - clear-module@4.1.2: - resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} - engines: {node: '>=8'} - cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} @@ -3721,14 +3280,6 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - comment-json@4.4.1: - resolution: {integrity: sha512-r1To31BQD5060QdkC+Iheai7gHwoSZobzunqkf2/kQ6xIAfJyrKNAFUwdKvkK7Qgu7pVTKQEa7ok7Ed3ycAJgg==} - engines: {node: '>= 6'} - - comment-parser@1.4.1: - resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} - engines: {node: '>= 12.0.0'} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -3755,54 +3306,22 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} - cosmiconfig@9.0.0: - resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - - cspell-config-lib@9.2.2: - resolution: {integrity: sha512-Fp3jdFxb5gxcQP146TfNVmDqXKfm3xmcEUr1K829DmAFwhc7s+/pCRjhBPoGfQt6U7ugpxjkSx2gGKSbLhp7Mg==} - engines: {node: '>=20'} - - cspell-dictionary@9.2.2: - resolution: {integrity: sha512-lnoCFoCAaiFJi+Hz22t+tdTj76jyTA76EYFKhmf/dbj5UO6kVy8by08uFfUbbMaC9Oi09YHnI62P/e+LBx1v8Q==} - engines: {node: '>=20'} - - cspell-glob@9.2.2: - resolution: {integrity: sha512-6mhUk4iLu5YzY9PE86ZyAjNFjM7TD8Oh4btJ7ZV+edzJjdVjFugXWyefPXCGNfuvpaJqpuoLDwMvNHJxUmLwbg==} - engines: {node: '>=20'} - - cspell-grammar@9.2.2: - resolution: {integrity: sha512-m0aozo5gjZYL5Vm3/9D0/yLZJTsVJAP8VeRVljN4u5T7w+WY+LsnvKSZhnkOvsT3kCJDhcKEkMVkCo8d/7EcAQ==} - engines: {node: '>=20'} - hasBin: true - - cspell-io@9.2.2: - resolution: {integrity: sha512-Rpky4woeB6/1VUCk7DtRm94A6c5XRbhcj5dUZh851EpZ0ItEz3S9+MhkX8g1sTVkDg6Hln1pu+Nbm9dFIpGkGA==} - engines: {node: '>=20'} - - cspell-lib@9.2.2: - resolution: {integrity: sha512-ksy+5vCSZz7ECUDlLA8ZGNEcWmnzl5bMe4IEPHAMaPFY3iWNsG7dXBrae1dj/b/3HqVqOdXPdwjnGAyZciissg==} - engines: {node: '>=20'} + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true - cspell-trie-lib@9.2.2: - resolution: {integrity: sha512-84L0Or6xkfnDMmxx2BtuaqsM4LOVCgnG4ZzMMgwQJU+9nSOAHs0ULNWQTHLbsCF+FFG/siILpUkIc3z+UxjGFw==} - engines: {node: '>=20'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} @@ -3880,9 +3399,6 @@ packages: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} @@ -3930,10 +3446,6 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} - detect-indent@7.0.2: - resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} - engines: {node: '>=12.20'} - detect-libc@2.0.2: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} @@ -3942,10 +3454,6 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - detect-newline@4.0.1: - resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} @@ -4007,10 +3515,6 @@ packages: resolution: {integrity: sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==} engines: {node: '>=12'} - dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} - dotenv@16.6.1: resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} @@ -4179,10 +3683,6 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} - env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} @@ -4256,10 +3756,6 @@ packages: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} @@ -4269,92 +3765,11 @@ packages: engines: {node: '>=6.0'} hasBin: true - eslint-config-prettier@10.1.8: - resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - - eslint-import-context@0.1.9: - resolution: {integrity: sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - peerDependencies: - unrs-resolver: ^1.0.0 - peerDependenciesMeta: - unrs-resolver: - optional: true - - eslint-import-resolver-typescript@4.4.4: - resolution: {integrity: sha512-1iM2zeBvrYmUNTj2vSC/90JTHDth+dfOfiNKkxApWRsTJYNrc8rOdxxIf5vazX+BiAXTeOT0UvWpGI/7qIWQOw==} - engines: {node: ^16.17.0 || >=18.6.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - eslint-plugin-import-x: '*' - peerDependenciesMeta: - eslint-plugin-import: - optional: true - eslint-plugin-import-x: - optional: true - - eslint-plugin-import-x@4.16.1: - resolution: {integrity: sha512-vPZZsiOKaBAIATpFE2uMI4w5IRwdv/FpQ+qZZMR4E+PeOcM4OeoEbqxRMnywdxP19TyB/3h6QBB0EWon7letSQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/utils': ^8.0.0 - eslint: ^8.57.0 || ^9.0.0 - eslint-import-resolver-node: '*' - peerDependenciesMeta: - '@typescript-eslint/utils': - optional: true - eslint-import-resolver-node: - optional: true - - eslint-plugin-turbo@2.5.8: - resolution: {integrity: sha512-bVjx4vTH0oTKIyQ7EGFAXnuhZMrKIfu17qlex/dps7eScPnGQLJ3r1/nFq80l8xA+8oYjsSirSQ2tXOKbz3kEw==} - peerDependencies: - eslint: '>6.6.0' - turbo: '>2.0.0' - - eslint-scope@8.4.0: - resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@4.2.1: - resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint@9.38.0: - resolution: {integrity: sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - - espree@10.4.0: - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -4428,10 +3843,6 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-equals@5.3.2: - resolution: {integrity: sha512-6rxyATwPCkaFIL3JLqw8qXqMpIZ942pTX/tbQFkRsDGblS8tNGtlUauA/+mt6RUfqn/4MoEr+WDkYoIQbibWuQ==} - engines: {node: '>=6.0.0'} - fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} @@ -4439,12 +3850,6 @@ packages: 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-memoize@2.5.2: resolution: {integrity: sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==} @@ -4485,10 +3890,6 @@ packages: engines: {node: '>= 0.4.0'} hasBin: true - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} - file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -4504,17 +3905,6 @@ packages: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} - - flatted@3.3.3: - resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - follow-redirects@1.15.11: resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} engines: {node: '>=4.0'} @@ -4597,10 +3987,6 @@ packages: resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} engines: {node: '>= 0.4'} - gensequence@7.0.0: - resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==} - engines: {node: '>=18'} - get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -4640,15 +4026,9 @@ packages: resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} engines: {node: '>= 14'} - git-hooks-list@4.1.1: - resolution: {integrity: sha512-cmP497iLq54AZnv4YRAEMnEyQ1eIn4tGKbmswqwmFV4GBnAqE8NLtWxxdXa++AalfgL5EBH4IxTPyquEuGY/jA==} - github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -4659,16 +4039,9 @@ packages: glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + 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 hasBin: true - global-directory@4.0.1: - resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} - engines: {node: '>=18'} - - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -4695,9 +4068,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -4706,10 +4076,6 @@ packages: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -4845,10 +4211,6 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} - engines: {node: '>= 4'} - immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} @@ -4856,13 +4218,6 @@ packages: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - import-meta-resolve@4.2.0: - resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - indent-string@5.0.0: resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} engines: {node: '>=12'} @@ -4873,10 +4228,6 @@ packages: 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} - ink-spinner@5.0.0: resolution: {integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==} engines: {node: '>=14.16'} @@ -4957,9 +4308,6 @@ packages: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} - is-bun-module@2.0.0: - resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} - is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -5154,18 +4502,12 @@ packages: json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} json-schema@0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - jsonc-parser@2.2.1: resolution: {integrity: sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==} @@ -5218,10 +4560,6 @@ packages: resolution: {integrity: sha512-KZ9W9nWDT7rF7Dazg8xyLHGLrmpgq2nVNFUckhqdW3szVP6YhCpp/RAnpmVExA9JvrMynjwSLVrEj3AepHR6ew==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - libsql@0.5.22: resolution: {integrity: sha512-NscWthMQt7fpU8lqd7LXMvT9pi+KhhmTHAJWUB/Lj6MWa0MKFv0F2V4C6WKKpjCVZl0VwcDz4nOI3CyaT1DDiA==} cpu: [x64, arm64, wasm32, arm] @@ -5238,13 +4576,6 @@ packages: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} @@ -5511,10 +4842,6 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - minimatch@10.1.1: - resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} - engines: {node: 20 || >=22} - minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -5544,6 +4871,7 @@ packages: mintlify@4.2.183: resolution: {integrity: sha512-g+DKtDxvmyuEnGKqIeAViy58qpWNQ9EPcjFca9tnJEAGAKb89+NkX32bc2my5RSPBQgYeQ4DSIJkwfvPwp5KHA==} engines: {node: '>=18.0.0'} + deprecated: This version is deprecated. Please upgrade to version 4.0.423 or later. hasBin: true mitt@3.0.1: @@ -5593,14 +4921,6 @@ packages: napi-build-utils@2.0.0: resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} - napi-postinstall@0.3.4: - resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - hasBin: true - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -5710,10 +5030,6 @@ packages: openapi-types@12.1.3: resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} @@ -5729,9 +5045,24 @@ packages: typescript: optional: true - oxc-parser@0.74.0: - resolution: {integrity: sha512-2tDN/ttU8WE6oFh8EzKNam7KE7ZXSG5uXmvX85iNzxdJfMssDWcj3gpYzZi1E04XuE7m3v1dVWl/8BE886vPGw==} - engines: {node: '>=20.0.0'} + oxfmt@0.32.0: + resolution: {integrity: sha512-KArQhGzt/Y8M1eSAX98Y8DLtGYYDQhkR55THUPY5VNcpFQ+9nRZkL3ULXhagHMD2hIvjy8JSeEQEP5/yYJSrLA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + oxlint-tsgolint@0.12.2: + resolution: {integrity: sha512-IFiOhYZfSgiHbBznTZOhFpEHpsZFSP0j7fVRake03HEkgH0YljnTFDNoRkGWsTrnrHr7nRIomSsF4TnCI/O+kQ==} + hasBin: true + + oxlint@1.47.0: + resolution: {integrity: sha512-v7xkK1iv1qdvTxJGclM97QzN8hHs5816AneFAQ0NGji1BMUquhiDAhXpMwp8+ls16uRVJtzVHxP9pAAXblDeGA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=0.11.2' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true p-any@4.0.0: resolution: {integrity: sha512-S/B50s+pAVe0wmEZHmBs/9yJXeZ5KhHzOsgKzt0hRdgkoR3DxW9ts46fcsWi/r3VnzsnkKS7q4uimze+zjdryw==} @@ -5749,18 +5080,10 @@ packages: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - p-map@2.1.0: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} @@ -5798,10 +5121,6 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parent-module@2.0.0: - resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} - engines: {node: '>=8'} - parse-entities@4.0.2: resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} @@ -5934,34 +5253,11 @@ packages: engines: {node: '>=10'} hasBin: true - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier-plugin-jsdoc@1.5.0: - resolution: {integrity: sha512-Fehp5qkFQhNFcxUilDPEcqHX8AdP6oGyCRLatqRc0gLXv3qOtndTnnUxfHCYc26I4Lc1A4lVozAtWEE8o7ubUA==} - engines: {node: '>=14.13.1 || >=16.0.0'} - peerDependencies: - prettier: ^3.0.0 - - prettier-plugin-packagejson@2.5.19: - resolution: {integrity: sha512-Qsqp4+jsZbKMpEGZB1UP1pxeAT8sCzne2IwnKkr+QhUe665EXUo3BAvTf1kAPCqyMv9kg3ZmO0+7eOni/C6Uag==} - peerDependencies: - prettier: '>= 1.16.0' - peerDependenciesMeta: - prettier: - optional: true - prettier@2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true - prettier@3.6.2: - resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} - engines: {node: '>=14'} - hasBin: true - progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} @@ -5990,10 +5286,6 @@ packages: pump@3.0.3: resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - puppeteer-core@22.15.0: resolution: {integrity: sha512-cHArnywCiAAVXa3t4GGL2vttNxh7GqXtIYGym99egkNJ3oG//wL9LkvO4WE8W1TJe95t1F1ocu9X4xWaGsOKOA==} engines: {node: '>=18'} @@ -6414,10 +5706,6 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - smol-toml@1.4.2: - resolution: {integrity: sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g==} - engines: {node: '>= 18'} - socket.io-adapter@2.5.5: resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==} @@ -6437,14 +5725,6 @@ packages: resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - sort-object-keys@1.1.3: - resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} - - sort-package-json@3.4.0: - resolution: {integrity: sha512-97oFRRMM2/Js4oEA9LJhjyMlde+2ewpZQf53pgue27UkbEXfHJnDzHlUxQ/DWUkzqmp7DFwJp8D+wi/TYeQhpA==} - engines: {node: '>=20'} - hasBin: true - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -6469,10 +5749,6 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - stable-hash-x@0.2.0: - resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} - engines: {node: '>=12.0.0'} - stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -6561,10 +5837,6 @@ packages: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - style-to-js@1.1.18: resolution: {integrity: sha512-JFPn62D4kJaPTnhFUI244MThx+FEGbi+9dw1b9yBBQ+1CZpV7QAT8kUtJ7b7EUNdHajjF/0x8fT+16oLJoojLg==} @@ -6576,10 +5848,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -6614,6 +5882,7 @@ packages: tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} + deprecated: Old versions of tar 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 term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} @@ -6649,6 +5918,10 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} + tinypool@2.1.0: + resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} + engines: {node: ^20.0.0 || >=22.0.0} + tinyrainbow@3.0.3: resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} engines: {node: '>=14.0.0'} @@ -6680,12 +5953,6 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@2.1.0: - resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -6777,10 +6044,6 @@ packages: peerDependencies: typescript: ^5.5.0 - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - type-fest@4.41.0: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} @@ -6809,13 +6072,6 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript-eslint@8.46.2: - resolution: {integrity: sha512-vbw8bOmiuYNdzzV3lsiWv6sRwjyuKJMQqWulBOU7M0RrxedXledX8G8kBbQeiOYDnTfiXz0Y4081E1QMNB6iQg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -6903,17 +6159,11 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unrs-resolver@1.11.1: - resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} - unrun@0.2.1: resolution: {integrity: sha512-1HpwmlCKrAOP3jPxFisPR0sYpPuiNtyYKJbmKu9iugIdvCte3DH1uJ1p1DBxUWkxW2pjvkUguJoK9aduK8ak3Q==} engines: {node: '>=20.19.0'} hasBin: true - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - urijs@1.19.11: resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==} @@ -7077,12 +6327,6 @@ packages: jsdom: optional: true - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - - vscode-uri@3.1.0: - resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - web-identity-schemas@0.1.6: resolution: {integrity: sha512-BDjKlPjiwlbb5nDxGRpjdJGU6uMa793u+dR8HtJ2309cGf1hcHzccdl5moXj1LEnjVlty8yETEWLcDXaFq6ZDw==} peerDependencies: @@ -7137,10 +6381,6 @@ packages: resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} engines: {node: '>=18'} - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -7196,10 +6436,6 @@ packages: utf-8-validate: optional: true - xdg-basedir@5.1.0: - resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} - engines: {node: '>=12'} - xml2js@0.6.2: resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} engines: {node: '>=4.0.0'} @@ -7231,10 +6467,6 @@ packages: yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - yoctocolors-cjs@2.1.3: resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} @@ -7382,8 +6614,6 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - '@babel/helper-globals@7.28.0': {} - '@babel/helper-string-parser@7.27.1': {} '@babel/helper-validator-identifier@7.28.5': {} @@ -7394,24 +6624,6 @@ snapshots: '@babel/runtime@7.28.4': {} - '@babel/template@7.27.2': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 - - '@babel/traverse@7.28.5': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - '@babel/types@7.28.5': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -7562,236 +6774,21 @@ snapshots: p-filter: 2.1.0 picocolors: 1.1.1 - '@changesets/should-skip-package@0.1.2': - dependencies: - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - - '@changesets/types@4.1.0': {} - - '@changesets/types@6.1.0': {} - - '@changesets/write@0.4.0': - dependencies: - '@changesets/types': 6.1.0 - fs-extra: 7.0.1 - human-id: 4.1.2 - prettier: 2.8.8 - - '@cspell/cspell-bundled-dicts@9.2.2': - dependencies: - '@cspell/dict-ada': 4.1.1 - '@cspell/dict-al': 1.1.1 - '@cspell/dict-aws': 4.0.15 - '@cspell/dict-bash': 4.2.2 - '@cspell/dict-companies': 3.2.7 - '@cspell/dict-cpp': 6.0.13 - '@cspell/dict-cryptocurrencies': 5.0.5 - '@cspell/dict-csharp': 4.0.7 - '@cspell/dict-css': 4.0.18 - '@cspell/dict-dart': 2.3.1 - '@cspell/dict-data-science': 2.0.11 - '@cspell/dict-django': 4.1.5 - '@cspell/dict-docker': 1.1.16 - '@cspell/dict-dotnet': 5.0.10 - '@cspell/dict-elixir': 4.0.8 - '@cspell/dict-en-common-misspellings': 2.1.7 - '@cspell/dict-en-gb-mit': 3.1.12 - '@cspell/dict-en_us': 4.4.22 - '@cspell/dict-filetypes': 3.0.14 - '@cspell/dict-flutter': 1.1.1 - '@cspell/dict-fonts': 4.0.5 - '@cspell/dict-fsharp': 1.1.1 - '@cspell/dict-fullstack': 3.2.7 - '@cspell/dict-gaming-terms': 1.1.2 - '@cspell/dict-git': 3.0.7 - '@cspell/dict-golang': 6.0.24 - '@cspell/dict-google': 1.0.9 - '@cspell/dict-haskell': 4.0.6 - '@cspell/dict-html': 4.0.12 - '@cspell/dict-html-symbol-entities': 4.0.4 - '@cspell/dict-java': 5.0.12 - '@cspell/dict-julia': 1.1.1 - '@cspell/dict-k8s': 1.0.12 - '@cspell/dict-kotlin': 1.1.1 - '@cspell/dict-latex': 4.0.4 - '@cspell/dict-lorem-ipsum': 4.0.5 - '@cspell/dict-lua': 4.0.8 - '@cspell/dict-makefile': 1.0.5 - '@cspell/dict-markdown': 2.0.12(@cspell/dict-css@4.0.18)(@cspell/dict-html-symbol-entities@4.0.4)(@cspell/dict-html@4.0.12)(@cspell/dict-typescript@3.2.3) - '@cspell/dict-monkeyc': 1.0.11 - '@cspell/dict-node': 5.0.8 - '@cspell/dict-npm': 5.2.19 - '@cspell/dict-php': 4.1.0 - '@cspell/dict-powershell': 5.0.15 - '@cspell/dict-public-licenses': 2.0.15 - '@cspell/dict-python': 4.2.21 - '@cspell/dict-r': 2.1.1 - '@cspell/dict-ruby': 5.0.9 - '@cspell/dict-rust': 4.0.12 - '@cspell/dict-scala': 5.0.8 - '@cspell/dict-shell': 1.1.2 - '@cspell/dict-software-terms': 5.1.10 - '@cspell/dict-sql': 2.2.1 - '@cspell/dict-svelte': 1.0.7 - '@cspell/dict-swift': 2.0.6 - '@cspell/dict-terraform': 1.1.3 - '@cspell/dict-typescript': 3.2.3 - '@cspell/dict-vue': 3.0.5 - - '@cspell/cspell-pipe@9.2.2': {} - - '@cspell/cspell-resolver@9.2.2': - dependencies: - global-directory: 4.0.1 - - '@cspell/cspell-service-bus@9.2.2': {} - - '@cspell/cspell-types@9.2.2': {} - - '@cspell/dict-ada@4.1.1': {} - - '@cspell/dict-al@1.1.1': {} - - '@cspell/dict-aws@4.0.15': {} - - '@cspell/dict-bash@4.2.2': - dependencies: - '@cspell/dict-shell': 1.1.2 - - '@cspell/dict-companies@3.2.7': {} - - '@cspell/dict-cpp@6.0.13': {} - - '@cspell/dict-cryptocurrencies@5.0.5': {} - - '@cspell/dict-csharp@4.0.7': {} - - '@cspell/dict-css@4.0.18': {} - - '@cspell/dict-dart@2.3.1': {} - - '@cspell/dict-data-science@2.0.11': {} - - '@cspell/dict-django@4.1.5': {} - - '@cspell/dict-docker@1.1.16': {} - - '@cspell/dict-dotnet@5.0.10': {} - - '@cspell/dict-elixir@4.0.8': {} - - '@cspell/dict-en-common-misspellings@2.1.7': {} - - '@cspell/dict-en-gb-mit@3.1.12': {} - - '@cspell/dict-en_us@4.4.22': {} - - '@cspell/dict-filetypes@3.0.14': {} - - '@cspell/dict-flutter@1.1.1': {} - - '@cspell/dict-fonts@4.0.5': {} - - '@cspell/dict-fsharp@1.1.1': {} - - '@cspell/dict-fullstack@3.2.7': {} - - '@cspell/dict-gaming-terms@1.1.2': {} - - '@cspell/dict-git@3.0.7': {} - - '@cspell/dict-golang@6.0.24': {} - - '@cspell/dict-google@1.0.9': {} - - '@cspell/dict-haskell@4.0.6': {} - - '@cspell/dict-html-symbol-entities@4.0.4': {} - - '@cspell/dict-html@4.0.12': {} - - '@cspell/dict-java@5.0.12': {} - - '@cspell/dict-julia@1.1.1': {} - - '@cspell/dict-k8s@1.0.12': {} - - '@cspell/dict-kotlin@1.1.1': {} - - '@cspell/dict-latex@4.0.4': {} - - '@cspell/dict-lorem-ipsum@4.0.5': {} - - '@cspell/dict-lua@4.0.8': {} - - '@cspell/dict-makefile@1.0.5': {} - - '@cspell/dict-markdown@2.0.12(@cspell/dict-css@4.0.18)(@cspell/dict-html-symbol-entities@4.0.4)(@cspell/dict-html@4.0.12)(@cspell/dict-typescript@3.2.3)': - dependencies: - '@cspell/dict-css': 4.0.18 - '@cspell/dict-html': 4.0.12 - '@cspell/dict-html-symbol-entities': 4.0.4 - '@cspell/dict-typescript': 3.2.3 - - '@cspell/dict-monkeyc@1.0.11': {} - - '@cspell/dict-node@5.0.8': {} - - '@cspell/dict-npm@5.2.19': {} - - '@cspell/dict-php@4.1.0': {} - - '@cspell/dict-powershell@5.0.15': {} - - '@cspell/dict-public-licenses@2.0.15': {} - - '@cspell/dict-python@4.2.21': - dependencies: - '@cspell/dict-data-science': 2.0.11 - - '@cspell/dict-r@2.1.1': {} - - '@cspell/dict-ruby@5.0.9': {} - - '@cspell/dict-rust@4.0.12': {} - - '@cspell/dict-scala@5.0.8': {} - - '@cspell/dict-shell@1.1.2': {} - - '@cspell/dict-software-terms@5.1.10': {} - - '@cspell/dict-sql@2.2.1': {} - - '@cspell/dict-svelte@1.0.7': {} - - '@cspell/dict-swift@2.0.6': {} - - '@cspell/dict-terraform@1.1.3': {} - - '@cspell/dict-typescript@3.2.3': {} - - '@cspell/dict-vue@3.0.5': {} - - '@cspell/dynamic-import@9.2.2': - dependencies: - '@cspell/url': 9.2.2 - import-meta-resolve: 4.2.0 - - '@cspell/eslint-plugin@9.2.2(eslint@9.38.0(jiti@2.6.1))': + '@changesets/should-skip-package@0.1.2': dependencies: - '@cspell/cspell-types': 9.2.2 - '@cspell/url': 9.2.2 - cspell-lib: 9.2.2 - eslint: 9.38.0(jiti@2.6.1) - synckit: 0.11.11 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 - '@cspell/filetypes@9.2.2': {} + '@changesets/types@4.1.0': {} - '@cspell/strong-weak-map@9.2.2': {} + '@changesets/types@6.1.0': {} - '@cspell/url@9.2.2': {} + '@changesets/write@0.4.0': + dependencies: + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + human-id: 4.1.2 + prettier: 2.8.8 '@drizzle-team/brocli@0.10.2': {} @@ -7965,86 +6962,6 @@ snapshots: '@esbuild/win32-x64@0.25.11': optional: true - '@eslint-community/eslint-utils@4.9.0(eslint@9.38.0(jiti@2.6.1))': - dependencies: - eslint: 9.38.0(jiti@2.6.1) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.12.2': {} - - '@eslint/config-array@0.21.1': - dependencies: - '@eslint/object-schema': 2.1.7 - debug: 4.4.3 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@eslint/config-helpers@0.4.2': - dependencies: - '@eslint/core': 0.17.0 - - '@eslint/core@0.15.2': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/core@0.16.0': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/core@0.17.0': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/eslintrc@3.3.1': - dependencies: - ajv: 6.12.6 - debug: 4.4.3 - espree: 10.4.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@9.38.0': {} - - '@eslint/json@0.13.2': - dependencies: - '@eslint/core': 0.15.2 - '@eslint/plugin-kit': 0.3.5 - '@humanwhocodes/momoa': 3.3.10 - natural-compare: 1.4.0 - - '@eslint/markdown@7.5.0': - dependencies: - '@eslint/core': 0.16.0 - '@eslint/plugin-kit': 0.4.1 - github-slugger: 2.0.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-frontmatter: 2.0.1 - mdast-util-gfm: 3.1.0 - micromark-extension-frontmatter: 2.0.0 - micromark-extension-gfm: 3.0.0 - micromark-util-normalize-identifier: 2.0.1 - transitivePeerDependencies: - - supports-color - - '@eslint/object-schema@2.1.7': {} - - '@eslint/plugin-kit@0.3.5': - dependencies: - '@eslint/core': 0.15.2 - levn: 0.4.1 - - '@eslint/plugin-kit@0.4.1': - dependencies: - '@eslint/core': 0.17.0 - levn: 0.4.1 - '@floating-ui/core@1.7.3': dependencies: '@floating-ui/utils': 0.2.10 @@ -8071,32 +6988,6 @@ snapshots: '@standard-schema/spec': 1.0.0 hono: 4.7.10 - '@humanfs/core@0.19.1': {} - - '@humanfs/node@0.16.7': - dependencies: - '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.4.3 - - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/momoa@3.3.10': {} - - '@humanwhocodes/retry@0.4.3': {} - - '@ianvs/prettier-plugin-sort-imports@4.7.0(@prettier/plugin-oxc@0.0.4)(prettier@3.6.2)': - dependencies: - '@babel/generator': 7.28.5 - '@babel/parser': 7.28.5 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - prettier: 3.6.2 - semver: 7.7.3 - optionalDependencies: - '@prettier/plugin-oxc': 0.0.4 - transitivePeerDependencies: - - supports-color - '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.0.4 @@ -8312,12 +7203,6 @@ snapshots: optionalDependencies: '@types/node': 24.9.2 - '@isaacs/balanced-match@4.0.1': {} - - '@isaacs/brace-expansion@5.0.0': - dependencies: - '@isaacs/balanced-match': 4.0.1 - '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -8769,13 +7654,6 @@ snapshots: '@multiformats/base-x@4.0.1': {} - '@napi-rs/wasm-runtime@0.2.12': - dependencies: - '@emnapi/core': 1.6.0 - '@emnapi/runtime': 1.6.0 - '@tybys/wasm-util': 0.10.1 - optional: true - '@napi-rs/wasm-runtime@1.0.7': dependencies: '@emnapi/core': 1.6.0 @@ -8817,68 +7695,147 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@oxc-parser/binding-android-arm64@0.74.0': + '@oxc-project/runtime@0.95.0': {} + + '@oxc-project/types@0.95.0': {} + + '@oxfmt/binding-android-arm-eabi@0.32.0': optional: true - '@oxc-parser/binding-darwin-arm64@0.74.0': + '@oxfmt/binding-android-arm64@0.32.0': optional: true - '@oxc-parser/binding-darwin-x64@0.74.0': + '@oxfmt/binding-darwin-arm64@0.32.0': optional: true - '@oxc-parser/binding-freebsd-x64@0.74.0': + '@oxfmt/binding-darwin-x64@0.32.0': optional: true - '@oxc-parser/binding-linux-arm-gnueabihf@0.74.0': + '@oxfmt/binding-freebsd-x64@0.32.0': optional: true - '@oxc-parser/binding-linux-arm-musleabihf@0.74.0': + '@oxfmt/binding-linux-arm-gnueabihf@0.32.0': optional: true - '@oxc-parser/binding-linux-arm64-gnu@0.74.0': + '@oxfmt/binding-linux-arm-musleabihf@0.32.0': optional: true - '@oxc-parser/binding-linux-arm64-musl@0.74.0': + '@oxfmt/binding-linux-arm64-gnu@0.32.0': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.74.0': + '@oxfmt/binding-linux-arm64-musl@0.32.0': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.74.0': + '@oxfmt/binding-linux-ppc64-gnu@0.32.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.74.0': + '@oxfmt/binding-linux-riscv64-gnu@0.32.0': optional: true - '@oxc-parser/binding-linux-x64-musl@0.74.0': + '@oxfmt/binding-linux-riscv64-musl@0.32.0': optional: true - '@oxc-parser/binding-wasm32-wasi@0.74.0': - dependencies: - '@napi-rs/wasm-runtime': 0.2.12 + '@oxfmt/binding-linux-s390x-gnu@0.32.0': optional: true - '@oxc-parser/binding-win32-arm64-msvc@0.74.0': + '@oxfmt/binding-linux-x64-gnu@0.32.0': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.74.0': + '@oxfmt/binding-linux-x64-musl@0.32.0': optional: true - '@oxc-project/runtime@0.95.0': {} + '@oxfmt/binding-openharmony-arm64@0.32.0': + optional: true - '@oxc-project/types@0.74.0': {} + '@oxfmt/binding-win32-arm64-msvc@0.32.0': + optional: true - '@oxc-project/types@0.95.0': {} + '@oxfmt/binding-win32-ia32-msvc@0.32.0': + optional: true + + '@oxfmt/binding-win32-x64-msvc@0.32.0': + optional: true + + '@oxlint-tsgolint/darwin-arm64@0.12.2': + optional: true + + '@oxlint-tsgolint/darwin-x64@0.12.2': + optional: true + + '@oxlint-tsgolint/linux-arm64@0.12.2': + optional: true + + '@oxlint-tsgolint/linux-x64@0.12.2': + optional: true + + '@oxlint-tsgolint/win32-arm64@0.12.2': + optional: true + + '@oxlint-tsgolint/win32-x64@0.12.2': + optional: true + + '@oxlint/binding-android-arm-eabi@1.47.0': + optional: true + + '@oxlint/binding-android-arm64@1.47.0': + optional: true + + '@oxlint/binding-darwin-arm64@1.47.0': + optional: true + + '@oxlint/binding-darwin-x64@1.47.0': + optional: true + + '@oxlint/binding-freebsd-x64@1.47.0': + optional: true + + '@oxlint/binding-linux-arm-gnueabihf@1.47.0': + optional: true + + '@oxlint/binding-linux-arm-musleabihf@1.47.0': + optional: true + + '@oxlint/binding-linux-arm64-gnu@1.47.0': + optional: true + + '@oxlint/binding-linux-arm64-musl@1.47.0': + optional: true + + '@oxlint/binding-linux-ppc64-gnu@1.47.0': + optional: true + + '@oxlint/binding-linux-riscv64-gnu@1.47.0': + optional: true + + '@oxlint/binding-linux-riscv64-musl@1.47.0': + optional: true + + '@oxlint/binding-linux-s390x-gnu@1.47.0': + optional: true + + '@oxlint/binding-linux-x64-gnu@1.47.0': + optional: true + + '@oxlint/binding-linux-x64-musl@1.47.0': + optional: true + + '@oxlint/binding-openharmony-arm64@1.47.0': + optional: true + + '@oxlint/binding-win32-arm64-msvc@1.47.0': + optional: true + + '@oxlint/binding-win32-ia32-msvc@1.47.0': + optional: true + + '@oxlint/binding-win32-x64-msvc@1.47.0': + optional: true '@pkgjs/parseargs@0.11.0': optional: true '@pkgr/core@0.2.9': {} - '@prettier/plugin-oxc@0.0.4': - dependencies: - oxc-parser: 0.74.0 - '@puppeteer/browsers@2.3.0': dependencies: debug: 4.4.3 @@ -9874,230 +8831,78 @@ snapshots: '@types/hast@3.0.4': dependencies: - '@types/unist': 3.0.3 - - '@types/http-cache-semantics@4.0.4': {} - - '@types/http-errors@2.0.5': {} - - '@types/json-schema@7.0.15': {} - - '@types/katex@0.16.7': {} - - '@types/mdast@4.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/mdx@2.0.13': {} - - '@types/ms@2.1.0': {} - - '@types/nlcst@2.0.3': - dependencies: - '@types/unist': 3.0.3 - - '@types/node@12.20.55': {} - - '@types/node@24.9.2': - dependencies: - undici-types: 7.16.0 - - '@types/qs@6.14.0': {} - - '@types/range-parser@1.2.7': {} - - '@types/react@19.2.2': - dependencies: - csstype: 3.1.3 - - '@types/send@1.2.1': - dependencies: - '@types/node': 24.9.2 - - '@types/serve-static@2.2.0': - dependencies: - '@types/http-errors': 2.0.5 - '@types/node': 24.9.2 - - '@types/unist@2.0.11': {} - - '@types/unist@3.0.3': {} - - '@types/urijs@1.19.26': {} - - '@types/varint@6.0.3': - dependencies: - '@types/node': 24.9.2 - - '@types/ws@8.18.1': - dependencies: - '@types/node': 24.9.2 - - '@types/yauzl@2.10.3': - dependencies: - '@types/node': 24.9.2 - optional: true - - '@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.46.2 - '@typescript-eslint/type-utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.46.2 - eslint: 9.38.0(jiti@2.6.1) - graphemer: 1.4.0 - ignore: 7.0.5 - natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.46.2 - '@typescript-eslint/types': 8.46.2 - '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.46.2 - debug: 4.4.3 - eslint: 9.38.0(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/project-service@8.46.2(typescript@5.9.3)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3) - '@typescript-eslint/types': 8.46.2 - debug: 4.4.3 - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@8.46.2': - dependencies: - '@typescript-eslint/types': 8.46.2 - '@typescript-eslint/visitor-keys': 8.46.2 - - '@typescript-eslint/tsconfig-utils@8.46.2(typescript@5.9.3)': - dependencies: - typescript: 5.9.3 - - '@typescript-eslint/type-utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@typescript-eslint/types': 8.46.2 - '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) - '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - debug: 4.4.3 - eslint: 9.38.0(jiti@2.6.1) - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@8.46.2': {} - - '@typescript-eslint/typescript-estree@8.46.2(typescript@5.9.3)': - dependencies: - '@typescript-eslint/project-service': 8.46.2(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3) - '@typescript-eslint/types': 8.46.2 - '@typescript-eslint/visitor-keys': 8.46.2 - debug: 4.4.3 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.3 - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.46.2 - '@typescript-eslint/types': 8.46.2 - '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) - eslint: 9.38.0(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/visitor-keys@8.46.2': - dependencies: - '@typescript-eslint/types': 8.46.2 - eslint-visitor-keys: 4.2.1 + '@types/unist': 3.0.3 - '@typescript/vfs@1.6.2(typescript@5.9.3)': - dependencies: - debug: 4.4.3 - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color + '@types/http-cache-semantics@4.0.4': {} - '@ungap/structured-clone@1.3.0': {} + '@types/http-errors@2.0.5': {} - '@unrs/resolver-binding-android-arm-eabi@1.11.1': - optional: true + '@types/json-schema@7.0.15': {} - '@unrs/resolver-binding-android-arm64@1.11.1': - optional: true + '@types/katex@0.16.7': {} - '@unrs/resolver-binding-darwin-arm64@1.11.1': - optional: true + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 - '@unrs/resolver-binding-darwin-x64@1.11.1': - optional: true + '@types/mdx@2.0.13': {} - '@unrs/resolver-binding-freebsd-x64@1.11.1': - optional: true + '@types/ms@2.1.0': {} - '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': - optional: true + '@types/nlcst@2.0.3': + dependencies: + '@types/unist': 3.0.3 - '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': - optional: true + '@types/node@12.20.55': {} - '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': - optional: true + '@types/node@24.9.2': + dependencies: + undici-types: 7.16.0 - '@unrs/resolver-binding-linux-arm64-musl@1.11.1': - optional: true + '@types/qs@6.14.0': {} - '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': - optional: true + '@types/range-parser@1.2.7': {} - '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': - optional: true + '@types/react@19.2.2': + dependencies: + csstype: 3.1.3 - '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': - optional: true + '@types/send@1.2.1': + dependencies: + '@types/node': 24.9.2 - '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': - optional: true + '@types/serve-static@2.2.0': + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 24.9.2 - '@unrs/resolver-binding-linux-x64-gnu@1.11.1': - optional: true + '@types/unist@2.0.11': {} - '@unrs/resolver-binding-linux-x64-musl@1.11.1': - optional: true + '@types/unist@3.0.3': {} + + '@types/urijs@1.19.26': {} - '@unrs/resolver-binding-wasm32-wasi@1.11.1': + '@types/varint@6.0.3': dependencies: - '@napi-rs/wasm-runtime': 0.2.12 - optional: true + '@types/node': 24.9.2 - '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': - optional: true + '@types/ws@8.18.1': + dependencies: + '@types/node': 24.9.2 - '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 24.9.2 optional: true - '@unrs/resolver-binding-win32-x64-msvc@1.11.1': - optional: true + '@typescript/vfs@1.6.2(typescript@5.9.3)': + dependencies: + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@ungap/structured-clone@1.3.0': {} '@valibot/to-json-schema@1.3.0(valibot@1.1.0(typescript@5.9.3))': dependencies: @@ -10201,13 +9006,6 @@ snapshots: optionalDependencies: ajv: 8.17.1 - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 @@ -10271,8 +9069,6 @@ snapshots: array-iterate@2.0.1: {} - array-timsort@1.0.3: {} - array-union@2.1.0: {} arraybuffer.prototype.slice@1.0.4: @@ -10383,8 +9179,6 @@ snapshots: binary-extensions@2.3.0: {} - binary-searching@2.0.5: {} - bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 @@ -10500,11 +9294,6 @@ snapshots: chai@6.2.0: {} - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - chalk@5.6.2: {} character-entities-html4@2.1.0: {} @@ -10551,11 +9340,6 @@ snapshots: dependencies: escape-string-regexp: 5.0.0 - clear-module@4.1.2: - dependencies: - parent-module: 2.0.0 - resolve-from: 5.0.0 - cli-boxes@3.0.0: {} cli-cursor@4.0.0: @@ -10615,14 +9399,6 @@ snapshots: commander@8.3.0: {} - comment-json@4.4.1: - dependencies: - array-timsort: 1.0.3 - core-util-is: 1.0.3 - esprima: 4.0.1 - - comment-parser@1.4.1: {} - concat-map@0.0.1: {} content-disposition@0.5.4: @@ -10639,8 +9415,6 @@ snapshots: cookie@0.7.2: {} - core-util-is@1.0.3: {} - cors@2.8.5: dependencies: object-assign: 4.1.1 @@ -10661,66 +9435,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - cspell-config-lib@9.2.2: - dependencies: - '@cspell/cspell-types': 9.2.2 - comment-json: 4.4.1 - smol-toml: 1.4.2 - yaml: 2.8.1 - - cspell-dictionary@9.2.2: - dependencies: - '@cspell/cspell-pipe': 9.2.2 - '@cspell/cspell-types': 9.2.2 - cspell-trie-lib: 9.2.2 - fast-equals: 5.3.2 - - cspell-glob@9.2.2: - dependencies: - '@cspell/url': 9.2.2 - picomatch: 4.0.3 - - cspell-grammar@9.2.2: - dependencies: - '@cspell/cspell-pipe': 9.2.2 - '@cspell/cspell-types': 9.2.2 - - cspell-io@9.2.2: - dependencies: - '@cspell/cspell-service-bus': 9.2.2 - '@cspell/url': 9.2.2 - - cspell-lib@9.2.2: - dependencies: - '@cspell/cspell-bundled-dicts': 9.2.2 - '@cspell/cspell-pipe': 9.2.2 - '@cspell/cspell-resolver': 9.2.2 - '@cspell/cspell-types': 9.2.2 - '@cspell/dynamic-import': 9.2.2 - '@cspell/filetypes': 9.2.2 - '@cspell/strong-weak-map': 9.2.2 - '@cspell/url': 9.2.2 - clear-module: 4.1.2 - cspell-config-lib: 9.2.2 - cspell-dictionary: 9.2.2 - cspell-glob: 9.2.2 - cspell-grammar: 9.2.2 - cspell-io: 9.2.2 - cspell-trie-lib: 9.2.2 - env-paths: 3.0.0 - gensequence: 7.0.0 - import-fresh: 3.3.1 - resolve-from: 5.0.0 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.1.0 - xdg-basedir: 5.1.0 - - cspell-trie-lib@9.2.2: - dependencies: - '@cspell/cspell-pipe': 9.2.2 - '@cspell/cspell-types': 9.2.2 - gensequence: 7.0.0 - cssesc@3.0.0: {} csstype@3.1.3: {} @@ -10783,8 +9497,6 @@ snapshots: deep-extend@0.6.0: optional: true - deep-is@0.1.4: {} - defer-to-connect@2.0.1: {} define-data-property@1.1.4: @@ -10821,14 +9533,10 @@ snapshots: detect-indent@6.1.0: {} - detect-indent@7.0.2: {} - detect-libc@2.0.2: {} detect-libc@2.1.2: {} - detect-newline@4.0.1: {} - detect-node-es@1.1.0: {} detect-port@1.6.1: @@ -10902,8 +9610,6 @@ snapshots: dependencies: dotenv: 16.6.1 - dotenv@16.0.3: {} - dotenv@16.6.1: {} dotenv@17.2.3: {} @@ -10981,8 +9687,6 @@ snapshots: env-paths@2.2.1: {} - env-paths@3.0.0: {} - environment@1.1.0: {} error-ex@1.3.4: @@ -11163,8 +9867,6 @@ snapshots: escape-string-regexp@2.0.0: {} - escape-string-regexp@4.0.0: {} - escape-string-regexp@5.0.0: {} escodegen@2.1.0: @@ -11175,121 +9877,8 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@10.1.8(eslint@9.38.0(jiti@2.6.1)): - dependencies: - eslint: 9.38.0(jiti@2.6.1) - - eslint-import-context@0.1.9(unrs-resolver@1.11.1): - dependencies: - get-tsconfig: 4.13.0 - stable-hash-x: 0.2.0 - optionalDependencies: - unrs-resolver: 1.11.1 - - eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1)))(eslint@9.38.0(jiti@2.6.1)): - dependencies: - debug: 4.4.3 - eslint: 9.38.0(jiti@2.6.1) - eslint-import-context: 0.1.9(unrs-resolver@1.11.1) - get-tsconfig: 4.13.0 - is-bun-module: 2.0.0 - stable-hash-x: 0.2.0 - tinyglobby: 0.2.15 - unrs-resolver: 1.11.1 - optionalDependencies: - eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1)) - transitivePeerDependencies: - - supports-color - - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1)): - dependencies: - '@typescript-eslint/types': 8.46.2 - comment-parser: 1.4.1 - debug: 4.4.3 - eslint: 9.38.0(jiti@2.6.1) - eslint-import-context: 0.1.9(unrs-resolver@1.11.1) - is-glob: 4.0.3 - minimatch: 10.1.1 - semver: 7.7.3 - stable-hash-x: 0.2.0 - unrs-resolver: 1.11.1 - optionalDependencies: - '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - transitivePeerDependencies: - - supports-color - - eslint-plugin-turbo@2.5.8(eslint@9.38.0(jiti@2.6.1))(turbo@2.5.8): - dependencies: - dotenv: 16.0.3 - eslint: 9.38.0(jiti@2.6.1) - turbo: 2.5.8 - - eslint-scope@8.4.0: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-visitor-keys@3.4.3: {} - - eslint-visitor-keys@4.2.1: {} - - eslint@9.38.0(jiti@2.6.1): - dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) - '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.21.1 - '@eslint/config-helpers': 0.4.2 - '@eslint/core': 0.16.0 - '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.38.0 - '@eslint/plugin-kit': 0.4.1 - '@humanfs/node': 0.16.7 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.4.3 - escape-string-regexp: 4.0.0 - eslint-scope: 8.4.0 - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 - esquery: 1.6.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 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.4 - optionalDependencies: - jiti: 2.6.1 - transitivePeerDependencies: - - supports-color - - espree@10.4.0: - dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 4.2.1 - esprima@4.0.1: {} - esquery@1.6.0: - dependencies: - estraverse: 5.3.0 - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - estraverse@5.3.0: {} estree-util-attach-comments@3.0.0: @@ -11400,8 +9989,6 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-equals@5.3.2: {} - fast-fifo@1.3.2: {} fast-glob@3.3.3: @@ -11412,10 +9999,6 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 - fast-json-stable-stringify@2.1.0: {} - - fast-levenshtein@2.0.6: {} - fast-memoize@2.5.2: {} fast-uri@3.1.0: {} @@ -11451,10 +10034,6 @@ snapshots: figlet@1.8.1: {} - file-entry-cache@8.0.0: - dependencies: - flat-cache: 4.0.1 - file-uri-to-path@1.0.0: optional: true @@ -11479,18 +10058,6 @@ snapshots: locate-path: 5.0.0 path-exists: 4.0.0 - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - flat-cache@4.0.1: - dependencies: - flatted: 3.3.3 - keyv: 4.5.4 - - flatted@3.3.3: {} - follow-redirects@1.15.11: {} for-each@0.3.5: @@ -11567,8 +10134,6 @@ snapshots: generator-function@2.0.1: {} - gensequence@7.0.0: {} - get-caller-file@2.0.5: {} get-east-asian-width@1.4.0: {} @@ -11617,13 +10182,9 @@ snapshots: transitivePeerDependencies: - supports-color - git-hooks-list@4.1.1: {} - github-from-package@0.0.0: optional: true - github-slugger@2.0.0: {} - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -11641,12 +10202,6 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - global-directory@4.0.1: - dependencies: - ini: 4.1.1 - - globals@14.0.0: {} - globalthis@1.0.4: dependencies: define-properties: 1.2.1 @@ -11695,8 +10250,6 @@ snapshots: graceful-fs@4.2.11: {} - graphemer@1.4.0: {} - gray-matter@4.0.3: dependencies: js-yaml: 3.14.1 @@ -11706,8 +10259,6 @@ snapshots: has-bigints@1.1.0: {} - has-flag@4.0.0: {} - has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 @@ -11948,8 +10499,6 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.5: {} - immer@9.0.21: {} import-fresh@3.3.1: @@ -11957,10 +10506,6 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - import-meta-resolve@4.2.0: {} - - imurmurhash@0.1.4: {} - indent-string@5.0.0: {} inherits@2.0.4: {} @@ -11968,8 +10513,6 @@ snapshots: ini@1.3.8: optional: true - ini@4.1.1: {} - ink-spinner@5.0.0(ink@6.4.0(@types/react@19.2.2)(react@19.2.0))(react@19.2.0): dependencies: cli-spinners: 2.9.2 @@ -12072,10 +10615,6 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-bun-module@2.0.0: - dependencies: - semver: 7.7.3 - is-callable@1.2.7: {} is-core-module@2.16.1: @@ -12243,14 +10782,10 @@ snapshots: json-parse-even-better-errors@2.3.1: {} - json-schema-traverse@0.4.1: {} - json-schema-traverse@1.0.0: {} json-schema@0.4.0: {} - json-stable-stringify-without-jsonify@1.0.1: {} - jsonc-parser@2.2.1: {} jsondiffpatch@0.6.0: @@ -12309,11 +10844,6 @@ snapshots: leven@4.1.0: {} - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - libsql@0.5.22: dependencies: '@neon-rs/load': 0.0.4 @@ -12337,12 +10867,6 @@ snapshots: dependencies: p-locate: 4.1.0 - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 - - lodash.merge@4.6.2: {} - lodash.startcase@4.4.0: {} lodash.topath@4.5.2: {} @@ -12875,10 +11399,6 @@ snapshots: mimic-response@4.0.0: {} - minimatch@10.1.1: - dependencies: - '@isaacs/brace-expansion': 5.0.0 - minimatch@3.1.2: dependencies: brace-expansion: 1.1.12 @@ -12957,10 +11477,6 @@ snapshots: napi-build-utils@2.0.0: optional: true - napi-postinstall@0.3.4: {} - - natural-compare@1.4.0: {} - negotiator@0.6.3: {} neotraverse@0.6.18: {} @@ -13067,15 +11583,6 @@ snapshots: openapi-types@12.1.3: {} - optionator@0.9.4: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.5 - outdent@0.5.0: {} own-keys@1.0.1: @@ -13098,25 +11605,61 @@ snapshots: transitivePeerDependencies: - zod - oxc-parser@0.74.0: + oxfmt@0.32.0: dependencies: - '@oxc-project/types': 0.74.0 + tinypool: 2.1.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.32.0 + '@oxfmt/binding-android-arm64': 0.32.0 + '@oxfmt/binding-darwin-arm64': 0.32.0 + '@oxfmt/binding-darwin-x64': 0.32.0 + '@oxfmt/binding-freebsd-x64': 0.32.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.32.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.32.0 + '@oxfmt/binding-linux-arm64-gnu': 0.32.0 + '@oxfmt/binding-linux-arm64-musl': 0.32.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.32.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.32.0 + '@oxfmt/binding-linux-riscv64-musl': 0.32.0 + '@oxfmt/binding-linux-s390x-gnu': 0.32.0 + '@oxfmt/binding-linux-x64-gnu': 0.32.0 + '@oxfmt/binding-linux-x64-musl': 0.32.0 + '@oxfmt/binding-openharmony-arm64': 0.32.0 + '@oxfmt/binding-win32-arm64-msvc': 0.32.0 + '@oxfmt/binding-win32-ia32-msvc': 0.32.0 + '@oxfmt/binding-win32-x64-msvc': 0.32.0 + + oxlint-tsgolint@0.12.2: optionalDependencies: - '@oxc-parser/binding-android-arm64': 0.74.0 - '@oxc-parser/binding-darwin-arm64': 0.74.0 - '@oxc-parser/binding-darwin-x64': 0.74.0 - '@oxc-parser/binding-freebsd-x64': 0.74.0 - '@oxc-parser/binding-linux-arm-gnueabihf': 0.74.0 - '@oxc-parser/binding-linux-arm-musleabihf': 0.74.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.74.0 - '@oxc-parser/binding-linux-arm64-musl': 0.74.0 - '@oxc-parser/binding-linux-riscv64-gnu': 0.74.0 - '@oxc-parser/binding-linux-s390x-gnu': 0.74.0 - '@oxc-parser/binding-linux-x64-gnu': 0.74.0 - '@oxc-parser/binding-linux-x64-musl': 0.74.0 - '@oxc-parser/binding-wasm32-wasi': 0.74.0 - '@oxc-parser/binding-win32-arm64-msvc': 0.74.0 - '@oxc-parser/binding-win32-x64-msvc': 0.74.0 + '@oxlint-tsgolint/darwin-arm64': 0.12.2 + '@oxlint-tsgolint/darwin-x64': 0.12.2 + '@oxlint-tsgolint/linux-arm64': 0.12.2 + '@oxlint-tsgolint/linux-x64': 0.12.2 + '@oxlint-tsgolint/win32-arm64': 0.12.2 + '@oxlint-tsgolint/win32-x64': 0.12.2 + + oxlint@1.47.0(oxlint-tsgolint@0.12.2): + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.47.0 + '@oxlint/binding-android-arm64': 1.47.0 + '@oxlint/binding-darwin-arm64': 1.47.0 + '@oxlint/binding-darwin-x64': 1.47.0 + '@oxlint/binding-freebsd-x64': 1.47.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.47.0 + '@oxlint/binding-linux-arm-musleabihf': 1.47.0 + '@oxlint/binding-linux-arm64-gnu': 1.47.0 + '@oxlint/binding-linux-arm64-musl': 1.47.0 + '@oxlint/binding-linux-ppc64-gnu': 1.47.0 + '@oxlint/binding-linux-riscv64-gnu': 1.47.0 + '@oxlint/binding-linux-riscv64-musl': 1.47.0 + '@oxlint/binding-linux-s390x-gnu': 1.47.0 + '@oxlint/binding-linux-x64-gnu': 1.47.0 + '@oxlint/binding-linux-x64-musl': 1.47.0 + '@oxlint/binding-openharmony-arm64': 1.47.0 + '@oxlint/binding-win32-arm64-msvc': 1.47.0 + '@oxlint/binding-win32-ia32-msvc': 1.47.0 + '@oxlint/binding-win32-x64-msvc': 1.47.0 + oxlint-tsgolint: 0.12.2 p-any@4.0.0: dependencies: @@ -13133,18 +11676,10 @@ snapshots: dependencies: p-try: 2.2.0 - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - p-locate@4.1.0: dependencies: p-limit: 2.3.0 - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 - p-map@2.1.0: {} p-some@6.0.0: @@ -13186,10 +11721,6 @@ snapshots: dependencies: callsites: 3.1.0 - parent-module@2.0.0: - dependencies: - callsites: 3.1.0 - parse-entities@4.0.2: dependencies: '@types/unist': 2.0.11 @@ -13314,28 +11845,8 @@ snapshots: tunnel-agent: 0.6.0 optional: true - prelude-ls@1.2.1: {} - - prettier-plugin-jsdoc@1.5.0(prettier@3.6.2): - dependencies: - binary-searching: 2.0.5 - comment-parser: 1.4.1 - mdast-util-from-markdown: 2.0.2 - prettier: 3.6.2 - transitivePeerDependencies: - - supports-color - - prettier-plugin-packagejson@2.5.19(prettier@3.6.2): - dependencies: - sort-package-json: 3.4.0 - synckit: 0.11.11 - optionalDependencies: - prettier: 3.6.2 - prettier@2.8.8: {} - prettier@3.6.2: {} - progress@2.0.3: {} promise-limit@2.7.0: {} @@ -13373,8 +11884,6 @@ snapshots: end-of-stream: 1.4.5 once: 1.4.0 - punycode@2.3.1: {} - puppeteer-core@22.15.0: dependencies: '@puppeteer/browsers': 2.3.0 @@ -14023,8 +12532,6 @@ snapshots: smart-buffer@4.2.0: {} - smol-toml@1.4.2: {} - socket.io-adapter@2.5.5: dependencies: debug: 4.3.7 @@ -14068,18 +12575,6 @@ snapshots: ip-address: 10.0.1 smart-buffer: 4.2.0 - sort-object-keys@1.1.3: {} - - sort-package-json@3.4.0: - dependencies: - detect-indent: 7.0.2 - detect-newline: 4.0.1 - git-hooks-list: 4.1.1 - is-plain-obj: 4.1.0 - semver: 7.7.3 - sort-object-keys: 1.1.3 - tinyglobby: 0.2.15 - source-map-js@1.2.1: {} source-map-support@0.5.21: @@ -14100,8 +12595,6 @@ snapshots: sprintf-js@1.0.3: {} - stable-hash-x@0.2.0: {} - stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -14201,8 +12694,6 @@ snapshots: strip-json-comments@2.0.1: optional: true - strip-json-comments@3.1.1: {} - style-to-js@1.1.18: dependencies: style-to-object: 1.0.11 @@ -14221,10 +12712,6 @@ snapshots: pirates: 4.0.7 ts-interface-checker: 0.1.13 - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - supports-preserve-symlinks-flag@1.0.0: {} swr@2.3.6(react@19.2.0): @@ -14343,6 +12830,8 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 + tinypool@2.1.0: {} + tinyrainbow@3.0.3: {} to-data-view@1.1.0: {} @@ -14363,10 +12852,6 @@ snapshots: trough@2.2.0: {} - ts-api-utils@2.1.0(typescript@5.9.3): - dependencies: - typescript: 5.9.3 - ts-interface-checker@0.1.13: {} tsconfck@3.1.6(typescript@5.9.3): @@ -14452,10 +12937,6 @@ snapshots: transitivePeerDependencies: - supports-color - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 - type-fest@4.41.0: {} type-is@1.6.18: @@ -14502,17 +12983,6 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3): - dependencies: - '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) - '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.38.0(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - typescript@5.9.3: {} uint8arrays@3.1.1: @@ -14635,40 +13105,12 @@ snapshots: unpipe@1.0.0: {} - unrs-resolver@1.11.1: - dependencies: - napi-postinstall: 0.3.4 - optionalDependencies: - '@unrs/resolver-binding-android-arm-eabi': 1.11.1 - '@unrs/resolver-binding-android-arm64': 1.11.1 - '@unrs/resolver-binding-darwin-arm64': 1.11.1 - '@unrs/resolver-binding-darwin-x64': 1.11.1 - '@unrs/resolver-binding-freebsd-x64': 1.11.1 - '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1 - '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1 - '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-arm64-musl': 1.11.1 - '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1 - '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1 - '@unrs/resolver-binding-linux-x64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-x64-musl': 1.11.1 - '@unrs/resolver-binding-wasm32-wasi': 1.11.1 - '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1 - '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 - '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - unrun@0.2.1: dependencies: '@oxc-project/runtime': 0.95.0 rolldown: 1.0.0-beta.45 synckit: 0.11.11 - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 - urijs@1.19.11: {} urlpattern-polyfill@10.0.0: {} @@ -14810,10 +13252,6 @@ snapshots: - tsx - yaml - vscode-languageserver-textdocument@1.0.12: {} - - vscode-uri@3.1.0: {} - web-identity-schemas@0.1.6(valibot@1.1.0(typescript@5.9.3))(zod@3.25.4): optionalDependencies: valibot: 1.1.0(typescript@5.9.3) @@ -14884,8 +13322,6 @@ snapshots: dependencies: string-width: 7.2.0 - word-wrap@1.2.5: {} - wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 @@ -14918,8 +13354,6 @@ snapshots: ws@8.18.3: {} - xdg-basedir@5.1.0: {} - xml2js@0.6.2: dependencies: sax: 1.4.1 @@ -14950,8 +13384,6 @@ snapshots: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - yocto-queue@0.1.0: {} - yoctocolors-cjs@2.1.3: {} yoctocolors@2.1.1: {} diff --git a/prettier.config.js b/prettier.config.js deleted file mode 100644 index 36bae3b..0000000 --- a/prettier.config.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @see https://prettier.io/docs/en/configuration.html - * @type {import("prettier").Config} - */ -const config = { - plugins: [ - "@prettier/plugin-oxc", // must be first - "@ianvs/prettier-plugin-sort-imports", - "prettier-plugin-packagejson", - "prettier-plugin-jsdoc", - ], - - // General config - semi: false, - singleQuote: false, - tabWidth: 2, - trailingComma: "all", - - // @ianvs/prettier-plugin-sort-imports - importOrderTypeScriptVersion: "5.0.0", -} - -export default config diff --git a/tools/api-utils/eslint.config.js b/tools/api-utils/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/tools/api-utils/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/tools/api-utils/package.json b/tools/api-utils/package.json index dc9451d..47b0327 100644 --- a/tools/api-utils/package.json +++ b/tools/api-utils/package.json @@ -4,17 +4,18 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "tools/api-utils" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "tools/api-utils" + }, "type": "module", + "main": "./src/index.ts", "exports": { "./package.json": "./package.json", "./api-response": { @@ -34,12 +35,9 @@ "import": "./src/validate-payload.ts" } }, - "main": "./src/index.ts", "scripts": { "check:types": "tsc --noEmit --pretty", "clean": "git clean -fdX .turbo", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -52,7 +50,6 @@ "valibot": "catalog:" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*" } } diff --git a/tools/api-utils/src/api-response.ts b/tools/api-utils/src/api-response.ts index ef131dd..430958b 100644 --- a/tools/api-utils/src/api-response.ts +++ b/tools/api-utils/src/api-response.ts @@ -1,6 +1,7 @@ +import type { TypedResponse } from "hono" + import { DidResolutionError } from "@agentcommercekit/did" import { CredentialVerificationError } from "@agentcommercekit/vc" -import type { TypedResponse } from "hono" import * as v from "valibot" export type ApiResponse = TypedResponse> diff --git a/tools/api-utils/src/middleware/error-handler.ts b/tools/api-utils/src/middleware/error-handler.ts index 942d4de..44227bb 100644 --- a/tools/api-utils/src/middleware/error-handler.ts +++ b/tools/api-utils/src/middleware/error-handler.ts @@ -1,9 +1,11 @@ +import type { Env, ErrorHandler } from "hono" + import { InvalidPaymentRequestTokenError } from "@agentcommercekit/ack-pay" import { DidResolutionError } from "@agentcommercekit/did" import { CredentialVerificationError } from "@agentcommercekit/vc" -import type { Env, ErrorHandler } from "hono" import { HTTPException } from "hono/http-exception" import * as v from "valibot" + import { formatErrorResponse } from "../api-response" export const errorHandler: ErrorHandler = (err, c) => { diff --git a/tools/api-utils/src/middleware/signed-payload-validator.ts b/tools/api-utils/src/middleware/signed-payload-validator.ts index 34c1b04..82588a1 100644 --- a/tools/api-utils/src/middleware/signed-payload-validator.ts +++ b/tools/api-utils/src/middleware/signed-payload-validator.ts @@ -1,9 +1,11 @@ +import type { ValidationTargets } from "hono" + import { isDidUri, type DidUri, type Resolvable } from "@agentcommercekit/did" import { isJwtString, type JwtString } from "@agentcommercekit/jwt" -import type { ValidationTargets } from "hono" import { env } from "hono/adapter" import { validator } from "hono/validator" import * as v from "valibot" + import { validatePayload } from "../validate-payload" interface ValidatedSignedPayload { diff --git a/tools/api-utils/src/validate-payload.test.ts b/tools/api-utils/src/validate-payload.test.ts index 4c0c759..1d6e6a5 100644 --- a/tools/api-utils/src/validate-payload.test.ts +++ b/tools/api-utils/src/validate-payload.test.ts @@ -13,6 +13,7 @@ import { import { generateKeypair, type Keypair } from "@agentcommercekit/keys" import * as v from "valibot" import { beforeEach, describe, expect, it } from "vitest" + import { validatePayload } from "./validate-payload" const testBodySchema = v.object({ diff --git a/tools/api-utils/src/validate-payload.ts b/tools/api-utils/src/validate-payload.ts index 5ac306a..23b68d9 100644 --- a/tools/api-utils/src/validate-payload.ts +++ b/tools/api-utils/src/validate-payload.ts @@ -1,10 +1,12 @@ import type { Resolvable } from "@agentcommercekit/did" + import { verifyJwt, type JwtString, type JwtVerified, } from "@agentcommercekit/jwt" import * as v from "valibot" + import { unauthorized } from "./exceptions" export type ParsedPayload = { diff --git a/tools/cli-tools/eslint.config.js b/tools/cli-tools/eslint.config.js deleted file mode 100644 index 13fe2a3..0000000 --- a/tools/cli-tools/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-check - -import { config } from "@repo/eslint-config/base" - -export default config({ - root: import.meta.dirname, -}) diff --git a/tools/cli-tools/package.json b/tools/cli-tools/package.json index 0e90f68..e8786e5 100644 --- a/tools/cli-tools/package.json +++ b/tools/cli-tools/package.json @@ -4,29 +4,27 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "tools/cli-tools" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "tools/cli-tools" + }, "type": "module", + "main": "./src/index.ts", "exports": { ".": { "types": "./src/index.ts", "import": "./src/index.ts" } }, - "main": "./src/index.ts", "scripts": { "check:types": "tsc --noEmit", "clean": "git clean -fdX .turbo dist", - "lint": "eslint .", - "lint:fix": "eslint . --fix", "test": "vitest" }, "dependencies": { @@ -37,7 +35,6 @@ "yoctocolors": "2.1.1" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "@types/figlet": "1.7.0" } diff --git a/tools/cli-tools/src/prompts.ts b/tools/cli-tools/src/prompts.ts index 948ebff..efb7e59 100644 --- a/tools/cli-tools/src/prompts.ts +++ b/tools/cli-tools/src/prompts.ts @@ -1,5 +1,6 @@ import { input } from "@inquirer/prompts" import { magenta, yellow } from "yoctocolors" + import { wordWrap } from "./formatters" /** diff --git a/tools/cli-tools/src/update-env-file.ts b/tools/cli-tools/src/update-env-file.ts index 2a5e64e..eda29e4 100644 --- a/tools/cli-tools/src/update-env-file.ts +++ b/tools/cli-tools/src/update-env-file.ts @@ -1,6 +1,6 @@ +import { errorMessage, successMessage } from "@repo/cli-tools" import fs from "node:fs/promises" import path from "node:path" -import { errorMessage, successMessage } from "@repo/cli-tools" // Helper function to update .env file export async function updateEnvFile( diff --git a/tools/eslint-config/README.md b/tools/eslint-config/README.md deleted file mode 100644 index 43e9c18..0000000 --- a/tools/eslint-config/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# `@repo/eslint-config` - -Shared eslint configuration for the workspace. diff --git a/tools/eslint-config/base.js b/tools/eslint-config/base.js deleted file mode 100644 index 56b985c..0000000 --- a/tools/eslint-config/base.js +++ /dev/null @@ -1,168 +0,0 @@ -// @ts-check - -import cspell from "@cspell/eslint-plugin/configs" -import js from "@eslint/js" -import json from "@eslint/json" -import markdown from "@eslint/markdown" -import prettier from "eslint-config-prettier" -import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript" -import importX from "eslint-plugin-import-x" -import turbo from "eslint-plugin-turbo" -import { defineConfig } from "eslint/config" -import tseslint from "typescript-eslint" - -/** - * @param {{ root: string }} options - */ -export function config({ root }) { - const tsconfigPath = `${root}/tsconfig.json` - - return defineConfig( - { - ignores: ["dist/**", ".wrangler/**"], - }, - - /** - * Spell checking - */ - { - // @ts-expect-error - cspell.recommended is not a valid extends element - extends: [cspell.recommended], - settings: { - cspell: { - configFile: "../../cspell.config.yaml", - }, - }, - }, - - /** - * Markdown files - */ - { - extends: [markdown.configs.recommended], - files: ["**/*.md"], - language: "markdown/gfm", - rules: { - "markdown/fenced-code-language": "off", - }, - }, - - /** - * JSON files - */ - { - extends: [json.configs.recommended], - files: ["**/*.json"], - language: "json/json", - }, - - /** - * Javascript, Typescript files - */ - { - files: ["**/*.{js,jsx,mjs,cjs,ts,tsx}"], - extends: [ - js.configs.recommended, - tseslint.configs.strictTypeChecked, - tseslint.configs.stylisticTypeChecked, - importX.flatConfigs.recommended, - importX.flatConfigs.typescript, - ], - settings: { - "import-x/resolver-next": [ - createTypeScriptImportResolver({ - project: tsconfigPath, - }), - ], - }, - rules: { - "@typescript-eslint/consistent-type-definitions": "off", - "@typescript-eslint/consistent-type-imports": [ - "warn", - { - prefer: "type-imports", - fixStyle: "separate-type-imports", // Enforces: import type { Foo } (top-level) - }, - ], - "@typescript-eslint/no-misused-promises": [ - "error", - { - checksVoidReturn: false, - }, - ], - "@typescript-eslint/no-unused-vars": [ - "warn", - { - argsIgnorePattern: "^_", - varsIgnorePattern: "^_", - caughtErrorsIgnorePattern: "^_", - }, - ], - "@typescript-eslint/restrict-template-expressions": ["off"], - // Disabled: Redundant with @typescript-eslint/consistent-type-imports - "import-x/consistent-type-specifier-style": "off", - // Disabled: Handled by @ianvs/prettier-plugin-sort-imports - "import-x/order": "off", - // Disabled: Handled by @ianvs/prettier-plugin-sort-imports - "sort-imports": "off", - }, - }, - - { - files: ["**/*.md/*.{js,ts}"], - extends: [ - markdown.configs.processor, - tseslint.configs.disableTypeChecked, - ], - }, - - { - languageOptions: { - parserOptions: { - projectService: true, - tsconfigRootDir: root, - warnOnUnsupportedTypeScriptVersion: false, - }, - }, - }, - - /** - * Turbo (Monorepo) - */ - { - plugins: { - turbo, - }, - rules: { - "turbo/no-undeclared-env-vars": "off", - }, - }, - - /** - * Test files - */ - { - files: ["**/*.test.*"], - rules: { - "@cspell/spellchecker": "off", - "@typescript-eslint/no-non-null-assertion": "off", - }, - }, - - /** - * Javascript files - * - * Ignore type-checking - */ - { - files: ["**/*.js"], - extends: [tseslint.configs.disableTypeChecked], - }, - - /** - * Disable rules that could conflict with prettier. - * This should be the last rule. - */ - prettier, - ) -} diff --git a/tools/eslint-config/package.json b/tools/eslint-config/package.json deleted file mode 100644 index e53bcc3..0000000 --- a/tools/eslint-config/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "@repo/eslint-config", - "version": "0.0.1", - "private": true, - "homepage": "https://github.com/agentcommercekit/ack#readme", - "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "tools/eslint-config" - }, - "license": "MIT", - "author": { - "name": "Catena Labs", - "url": "https://catenalabs.com" - }, - "type": "module", - "exports": { - "./package.json": "./package.json", - "./base": "./base.js" - }, - "main": "./base.js", - "devDependencies": { - "@cspell/eslint-plugin": "9.2.2", - "@eslint/js": "9.38.0", - "@eslint/json": "0.13.2", - "@eslint/markdown": "7.5.0", - "eslint-config-prettier": "10.1.8", - "eslint-import-resolver-typescript": "4.4.4", - "eslint-plugin-import-x": "4.16.1", - "eslint-plugin-turbo": "2.5.8", - "typescript-eslint": "8.46.2" - } -} diff --git a/tools/typescript-config/package.json b/tools/typescript-config/package.json index ce045f4..27f8bc8 100644 --- a/tools/typescript-config/package.json +++ b/tools/typescript-config/package.json @@ -4,15 +4,15 @@ "private": true, "homepage": "https://github.com/agentcommercekit/ack#readme", "bugs": "https://github.com/agentcommercekit/ack/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/agentcommercekit/ack.git", - "directory": "tools/typescript-config" - }, "license": "MIT", "author": { "name": "Catena Labs", "url": "https://catenalabs.com" }, + "repository": { + "type": "git", + "url": "git+https://github.com/agentcommercekit/ack.git", + "directory": "tools/typescript-config" + }, "main": "./base.js" } diff --git a/turbo.json b/turbo.json index 56140a5..d8bbe97 100644 --- a/turbo.json +++ b/turbo.json @@ -6,6 +6,8 @@ "//#check:format": {}, "//#check:packages": {}, "//#format": {}, + "//#lint": {}, + "//#lint:fix": {}, "build": { "dependsOn": ["^build"], "inputs": ["$TURBO_DEFAULT$", ".env*"], @@ -14,7 +16,7 @@ "check": { "dependsOn": [ "//#check:format", - "lint", + "//#lint", "check:types", "test", "//#check:packages" @@ -32,13 +34,7 @@ "persistent": true }, "fix": { - "dependsOn": ["lint:fix", "//#format"] - }, - "lint": { - "dependsOn": ["^build"] - }, - "lint:fix": { - "dependsOn": ["^build"] + "dependsOn": ["//#lint:fix", "//#format"] }, "setup": { "dependsOn": ["^setup"],