diff --git a/biome.json b/biome.json index c373ebb..4028f26 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json", "vcs": { "enabled": true, "clientKind": "git", @@ -7,7 +7,14 @@ }, "files": { "ignoreUnknown": false, - "ignore": ["dist", "coverage", "node_modules", ".turbo", ".changeset"] + "includes": [ + "**", + "!**/dist", + "!**/coverage", + "!**/node_modules", + "!**/.turbo", + "!**/.changeset" + ] }, "formatter": { "enabled": true, diff --git a/examples/orchestrator/src/index.ts b/examples/orchestrator/src/index.ts index cd93a95..aa4d1bb 100644 --- a/examples/orchestrator/src/index.ts +++ b/examples/orchestrator/src/index.ts @@ -4,17 +4,16 @@ */ import './otel.js'; -import { MAX_REQUEST_BODY_SIZE, SERVICE_NAME, SERVICE_VERSION, env } from '@reaatech/agent-mesh'; +import { env, MAX_REQUEST_BODY_SIZE, SERVICE_NAME, SERVICE_VERSION } from '@reaatech/agent-mesh'; import { authMiddleware, deepHealthCheck, handleRequest, healthCheck, + rateLimiterMiddleware, + tlsMiddleware, } from '@reaatech/agent-mesh-gateway'; -import { rateLimiterMiddleware } from '@reaatech/agent-mesh-gateway'; -import { tlsMiddleware } from '@reaatech/agent-mesh-gateway'; -import { mcpMiddleware } from '@reaatech/agent-mesh-mcp-server'; -import { messageHandler, sseHandler } from '@reaatech/agent-mesh-mcp-server'; +import { mcpMiddleware, messageHandler, sseHandler } from '@reaatech/agent-mesh-mcp-server'; import { logger } from '@reaatech/agent-mesh-observability'; import { initRegistry, setupSighupHandler } from '@reaatech/agent-mesh-registry'; import { diff --git a/examples/orchestrator/src/otel.ts b/examples/orchestrator/src/otel.ts index 02d0e4e..6c6623a 100644 --- a/examples/orchestrator/src/otel.ts +++ b/examples/orchestrator/src/otel.ts @@ -2,4 +2,5 @@ * OpenTelemetry bootstrap — must be imported first */ import { initOtel } from '@reaatech/agent-mesh-observability'; + initOtel(); diff --git a/package.json b/package.json index fa87351..b272d5d 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "release": "pnpm build && changeset publish" }, "devDependencies": { - "@biomejs/biome": "^1.9.4", + "@biomejs/biome": "^2.4.15", "@changesets/cli": "^2.28.1", "@changesets/changelog-github": "^0.6.0", "@types/node": "^25.6.0", @@ -30,7 +30,9 @@ "vitest": "^4.1.5" }, "pnpm": { - "onlyBuiltDependencies": ["esbuild"], + "onlyBuiltDependencies": [ + "esbuild" + ], "overrides": { "fast-uri": ">=3.1.2", "hono": ">=4.12.18", diff --git a/packages/classifier/package.json b/packages/classifier/package.json index 22ae33d..1a11069 100644 --- a/packages/classifier/package.json +++ b/packages/classifier/package.json @@ -14,7 +14,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/classifier/src/index.ts b/packages/classifier/src/index.ts index 759e540..6535df0 100644 --- a/packages/classifier/src/index.ts +++ b/packages/classifier/src/index.ts @@ -1,8 +1,8 @@ -export { classifierService, ClassifierService, isRateLimitError } from './classifier.service.js'; -export { buildClassifierPrompt, parseClassifierOutput } from './prompt.builder.js'; +export { ClassifierService, classifierService, isRateLimitError } from './classifier.service.js'; export { detectLanguage, - isValidLanguageCode, - getClarificationQuestion, FALLBACK_QUESTIONS, + getClarificationQuestion, + isValidLanguageCode, } from './localization.js'; +export { buildClassifierPrompt, parseClassifierOutput } from './prompt.builder.js'; diff --git a/packages/confidence/package.json b/packages/confidence/package.json index 2766a79..ab34218 100644 --- a/packages/confidence/package.json +++ b/packages/confidence/package.json @@ -14,7 +14,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/confidence/src/index.ts b/packages/confidence/src/index.ts index d70a2c8..bdf7b54 100644 --- a/packages/confidence/src/index.ts +++ b/packages/confidence/src/index.ts @@ -1,2 +1,2 @@ +export { ClarificationCache, clarificationCache } from './clarification.cache.js'; export { evaluateConfidenceGate, generateClarificationQuestion } from './confidence.gate.js'; -export { clarificationCache, ClarificationCache } from './clarification.cache.js'; diff --git a/packages/core/package.json b/packages/core/package.json index 4af1d80..296046f 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -14,7 +14,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index b17c486..daa3333 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,3 +1,3 @@ +export * from './constants.js'; export * from './domain.js'; export * from './env.js'; -export * from './constants.js'; diff --git a/packages/gateway/package.json b/packages/gateway/package.json index 2f2f079..74654e8 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -14,7 +14,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/gateway/src/entry.handler.ts b/packages/gateway/src/entry.handler.ts index 2951325..3047b0f 100644 --- a/packages/gateway/src/entry.handler.ts +++ b/packages/gateway/src/entry.handler.ts @@ -1,22 +1,24 @@ import crypto from 'node:crypto'; -import { HEALTH_CHECK_COLLECTION, SERVICE_NAME, SERVICE_VERSION } from '@reaatech/agent-mesh'; -import { env } from '@reaatech/agent-mesh'; import { type AgentResponse, type ClassifierOutput, + env, + HEALTH_CHECK_COLLECTION, IncomingRequestSchema, + SERVICE_NAME, + SERVICE_VERSION, } from '@reaatech/agent-mesh'; import { classifierService } from '@reaatech/agent-mesh-classifier'; import { evaluateConfidenceGate } from '@reaatech/agent-mesh-confidence'; import { logAgentRouted } from '@reaatech/agent-mesh-observability'; import { registryState } from '@reaatech/agent-mesh-registry'; import { dispatchToAgent } from '@reaatech/agent-mesh-router'; -import { getFirestore } from '@reaatech/agent-mesh-session'; import { appendTurn, closeSession, createSession, getActiveSession, + getFirestore, updateWorkflowState, } from '@reaatech/agent-mesh-session'; import type { Request, Response } from 'express'; diff --git a/packages/gateway/src/gateway.test.ts b/packages/gateway/src/gateway.test.ts index 54c3f7f..505cb24 100644 --- a/packages/gateway/src/gateway.test.ts +++ b/packages/gateway/src/gateway.test.ts @@ -1,9 +1,9 @@ import { describe, expect, it } from 'vitest'; import { - EmployeeNotFoundError, clearAuthCache, clearProfileCache, clearRateLimitBuckets, + EmployeeNotFoundError, } from './index.js'; describe('@reaatech/agent-mesh-gateway', () => { diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts index a8a7d79..99eddb1 100644 --- a/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -1,26 +1,26 @@ +export { authMiddleware, clearAuthCache } from './auth.middleware.js'; export { - healthCheck, deepHealthCheck, - handleRequest, handleInternalRequest, + handleRequest, + healthCheck, } from './entry.handler.js'; -export { authMiddleware, clearAuthCache } from './auth.middleware.js'; export { - rateLimiterMiddleware, clearRateLimitBuckets, getBucketState, type RateLimitConfig, + rateLimiterMiddleware, } from './rateLimiter.middleware.js'; export { - tlsMiddleware, - httpsRedirectMiddleware, - hstsMiddleware, - securityHeadersMiddleware, -} from './tls.middleware.js'; -export { - resolveSlackProfile, - resolveSlackProfileNoCache, clearProfileCache, - preloadProfiles, EmployeeNotFoundError, + preloadProfiles, + resolveSlackProfile, + resolveSlackProfileNoCache, } from './slackProfile.resolver.js'; +export { + hstsMiddleware, + httpsRedirectMiddleware, + securityHeadersMiddleware, + tlsMiddleware, +} from './tls.middleware.js'; diff --git a/packages/gateway/src/slackProfile.resolver.ts b/packages/gateway/src/slackProfile.resolver.ts index cb556e9..63ba2fe 100644 --- a/packages/gateway/src/slackProfile.resolver.ts +++ b/packages/gateway/src/slackProfile.resolver.ts @@ -1,5 +1,5 @@ -import { env } from '@reaatech/agent-mesh'; import type { EmployeeProfile } from '@reaatech/agent-mesh'; +import { env } from '@reaatech/agent-mesh'; import { logger } from '@reaatech/agent-mesh-observability'; export class EmployeeNotFoundError extends Error { diff --git a/packages/gateway/src/tls.middleware.ts b/packages/gateway/src/tls.middleware.ts index e04e098..9c58a38 100644 --- a/packages/gateway/src/tls.middleware.ts +++ b/packages/gateway/src/tls.middleware.ts @@ -65,6 +65,8 @@ export function tlsMiddleware(req: Request, res: Response, next: NextFunction): }); } -export { httpsRedirect as httpsRedirectMiddleware }; -export { hstsHeader as hstsMiddleware }; -export { securityHeaders as securityHeadersMiddleware }; +export { + hstsHeader as hstsMiddleware, + httpsRedirect as httpsRedirectMiddleware, + securityHeaders as securityHeadersMiddleware, +}; diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index abc5487..942d9f1 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -14,7 +14,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/mcp-server/src/index.ts b/packages/mcp-server/src/index.ts index 389fcbd..b721900 100644 --- a/packages/mcp-server/src/index.ts +++ b/packages/mcp-server/src/index.ts @@ -1,8 +1,8 @@ -export { mcpMiddleware, handleMcpRequest, type McpMessage, type McpResponse } from './mcpServer.js'; +export { handleMcpRequest, type McpMessage, type McpResponse, mcpMiddleware } from './mcpServer.js'; export { - sseHandler, - messageHandler, - sendToClient, closeSseConnection, getActiveConnectionCount, + messageHandler, + sendToClient, + sseHandler, } from './orchestrator.mcp.js'; diff --git a/packages/observability/package.json b/packages/observability/package.json index 40188e2..016b8cd 100644 --- a/packages/observability/package.json +++ b/packages/observability/package.json @@ -14,7 +14,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/observability/src/index.ts b/packages/observability/src/index.ts index 419e116..936c35f 100644 --- a/packages/observability/src/index.ts +++ b/packages/observability/src/index.ts @@ -1,21 +1,21 @@ -export { logger, createChildLogger } from './logger.js'; -export { initOtel, shutdownOtel } from './otel.js'; -export { - getMeterProvider, - getMeter, - recordSessionLookupDuration, - recordClarification, - recordAgentDispatchDuration, - recordAgentDispatchError, - METRIC_NAMES, - CIRCUIT_BREAKER_STATES, -} from './metrics.js'; +export type { AuditEvent, AuditEventType } from './audit.js'; export { + AUDIT_EVENTS, + logAgentRouted, logAuditEvent, logAuthRequest, - logAgentRouted, logCircuitBreakerChange, logSecurityEvent, - AUDIT_EVENTS, } from './audit.js'; -export type { AuditEvent, AuditEventType } from './audit.js'; +export { createChildLogger, logger } from './logger.js'; +export { + CIRCUIT_BREAKER_STATES, + getMeter, + getMeterProvider, + METRIC_NAMES, + recordAgentDispatchDuration, + recordAgentDispatchError, + recordClarification, + recordSessionLookupDuration, +} from './metrics.js'; +export { initOtel, shutdownOtel } from './otel.js'; diff --git a/packages/observability/src/logger.ts b/packages/observability/src/logger.ts index 6f391cc..4a7a596 100644 --- a/packages/observability/src/logger.ts +++ b/packages/observability/src/logger.ts @@ -1,5 +1,4 @@ -import { SERVICE_NAME } from '@reaatech/agent-mesh'; -import { env } from '@reaatech/agent-mesh'; +import { env, SERVICE_NAME } from '@reaatech/agent-mesh'; import winston from 'winston'; const PII_PATTERNS = [ @@ -77,5 +76,5 @@ export function createChildLogger(context: Record): winston.Logg return logger.child(context); } -export { logger }; export type { winston }; +export { logger }; diff --git a/packages/observability/src/observability.test.ts b/packages/observability/src/observability.test.ts index 84eabcf..92d8b48 100644 --- a/packages/observability/src/observability.test.ts +++ b/packages/observability/src/observability.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { AUDIT_EVENTS, METRIC_NAMES, logger } from './index.js'; +import { AUDIT_EVENTS, logger, METRIC_NAMES } from './index.js'; describe('@reaatech/agent-mesh-observability', () => { it('should export logger', () => { diff --git a/packages/observability/src/otel.ts b/packages/observability/src/otel.ts index 73d0ae7..ef9b080 100644 --- a/packages/observability/src/otel.ts +++ b/packages/observability/src/otel.ts @@ -4,8 +4,7 @@ import { HttpInstrumentation } from '@opentelemetry/instrumentation-http'; import { resourceFromAttributes } from '@opentelemetry/resources'; import { NodeSDK } from '@opentelemetry/sdk-node'; import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; -import { env } from '@reaatech/agent-mesh'; -import { SERVICE_NAME, SERVICE_VERSION } from '@reaatech/agent-mesh'; +import { env, SERVICE_NAME, SERVICE_VERSION } from '@reaatech/agent-mesh'; const resource = resourceFromAttributes({ [SemanticResourceAttributes.SERVICE_NAME]: SERVICE_NAME, diff --git a/packages/registry/package.json b/packages/registry/package.json index ca94cb6..739cc8b 100644 --- a/packages/registry/package.json +++ b/packages/registry/package.json @@ -14,7 +14,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/registry/src/index.ts b/packages/registry/src/index.ts index d67ad9f..6275876 100644 --- a/packages/registry/src/index.ts +++ b/packages/registry/src/index.ts @@ -1,14 +1,14 @@ +export { initRegistry, loadRegistry, registryState, reloadRegistry } from './registry.loader.js'; +export { + cleanupSighupHandler, + isReloadPending, + setupSighupHandler, + triggerReload, +} from './sighup.js'; export { - AgentConfigSchema, - AgentRegistrySchema, type AgentConfig, + AgentConfigSchema, type AgentRegistry, + AgentRegistrySchema, type RegistryLoadResult, } from './types.js'; -export { registryState, loadRegistry, reloadRegistry, initRegistry } from './registry.loader.js'; -export { - setupSighupHandler, - triggerReload, - isReloadPending, - cleanupSighupHandler, -} from './sighup.js'; diff --git a/packages/registry/src/registry.loader.ts b/packages/registry/src/registry.loader.ts index fa643c6..aa28934 100644 --- a/packages/registry/src/registry.loader.ts +++ b/packages/registry/src/registry.loader.ts @@ -1,6 +1,5 @@ import fs from 'node:fs/promises'; -import { MAX_YAML_FILE_SIZE } from '@reaatech/agent-mesh'; -import { env } from '@reaatech/agent-mesh'; +import { env, MAX_YAML_FILE_SIZE } from '@reaatech/agent-mesh'; import { logger } from '@reaatech/agent-mesh-observability'; import { glob } from 'glob'; import { parse as parseYaml } from 'yaml'; diff --git a/packages/router/package.json b/packages/router/package.json index 7d8882d..e9e254a 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -14,7 +14,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/router/src/index.ts b/packages/router/src/index.ts index d416098..5baa9e2 100644 --- a/packages/router/src/index.ts +++ b/packages/router/src/index.ts @@ -1,8 +1,8 @@ +export { McpClient, mcpClientFactory } from './mcp.client.js'; export { - dispatchToAgent, buildTurnEntry, + dispatchToAgent, formatAgentResponse, - shouldCloseSession, getUpdatedWorkflowState, + shouldCloseSession, } from './router.service.js'; -export { mcpClientFactory, McpClient } from './mcp.client.js'; diff --git a/packages/router/src/mcp.client.ts b/packages/router/src/mcp.client.ts index e3f9eab..af056e7 100644 --- a/packages/router/src/mcp.client.ts +++ b/packages/router/src/mcp.client.ts @@ -1,9 +1,13 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js'; import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js'; import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js'; -import { type AgentResponse, AgentResponseSchema, type ContextPacket } from '@reaatech/agent-mesh'; -import { MCP } from '@reaatech/agent-mesh'; -import { env } from '@reaatech/agent-mesh'; +import { + type AgentResponse, + AgentResponseSchema, + type ContextPacket, + env, + MCP, +} from '@reaatech/agent-mesh'; import type { AgentConfig } from '@reaatech/agent-mesh-registry'; type McpToolResult = { diff --git a/packages/router/src/router.service.ts b/packages/router/src/router.service.ts index 05dfa95..926363a 100644 --- a/packages/router/src/router.service.ts +++ b/packages/router/src/router.service.ts @@ -1,5 +1,7 @@ import crypto from 'node:crypto'; + const uuidv4 = crypto.randomUUID; + import type { AgentResponse, ContextPacket, TurnEntry } from '@reaatech/agent-mesh'; import { env } from '@reaatech/agent-mesh'; import { diff --git a/packages/session/package.json b/packages/session/package.json index 6fc7ce4..2f2c0c5 100644 --- a/packages/session/package.json +++ b/packages/session/package.json @@ -14,7 +14,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/session/src/index.ts b/packages/session/src/index.ts index 656aab0..11e11ae 100644 --- a/packages/session/src/index.ts +++ b/packages/session/src/index.ts @@ -1,11 +1,11 @@ export { getFirestore, resetFirestore } from './firestoreClient.js'; export { sessionMiddleware } from './session.middleware.js'; export { + appendTurn, + closeSession, createSession, getActiveSession, getSessionById, - appendTurn, - updateWorkflowState, - closeSession, resumeSession, + updateWorkflowState, } from './session.service.js'; diff --git a/packages/session/src/session.service.ts b/packages/session/src/session.service.ts index 117f4cf..671e449 100644 --- a/packages/session/src/session.service.ts +++ b/packages/session/src/session.service.ts @@ -1,9 +1,8 @@ import crypto from 'node:crypto'; import { FieldValue, Timestamp } from '@google-cloud/firestore'; import { PubSub } from '@google-cloud/pubsub'; -import { env } from '@reaatech/agent-mesh'; -import { PUBSUB_TOPICS } from '@reaatech/agent-mesh'; import type { SessionRecord, SessionStatus, TurnEntry } from '@reaatech/agent-mesh'; +import { env, PUBSUB_TOPICS } from '@reaatech/agent-mesh'; import { getFirestore } from './firestoreClient.js'; const uuidv4 = crypto.randomUUID; diff --git a/packages/utils/package.json b/packages/utils/package.json index 232e317..e0f29f8 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -14,7 +14,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/utils/src/circuitBreaker.persistence.ts b/packages/utils/src/circuitBreaker.persistence.ts index 0d9e5f3..71ba30b 100644 --- a/packages/utils/src/circuitBreaker.persistence.ts +++ b/packages/utils/src/circuitBreaker.persistence.ts @@ -1,5 +1,5 @@ -import { env } from '@reaatech/agent-mesh'; import type { CircuitBreakerState, CircuitState } from '@reaatech/agent-mesh'; +import { env } from '@reaatech/agent-mesh'; import { getFirestore } from '@reaatech/agent-mesh-session'; import { circuitBreaker } from './circuitBreaker.js'; diff --git a/packages/utils/src/circuitBreaker.ts b/packages/utils/src/circuitBreaker.ts index ecd95ee..114bdad 100644 --- a/packages/utils/src/circuitBreaker.ts +++ b/packages/utils/src/circuitBreaker.ts @@ -1,5 +1,5 @@ -import { env } from '@reaatech/agent-mesh'; import type { CircuitBreakerState, CircuitState } from '@reaatech/agent-mesh'; +import { env } from '@reaatech/agent-mesh'; class CircuitBreaker { private readonly state = new Map(); diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index d6adcb3..e9af5e0 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -1,16 +1,16 @@ export { circuitBreaker } from './circuitBreaker.js'; export { - isLeader, + clearLocalState, getLeaderId, - persistCircuitBreakerState, - loadCircuitBreakerState, + getLocalCircuitBreakerState, + isLeader, loadAllCircuitBreakerStates, + loadCircuitBreakerState, + persistCircuitBreakerState, + resetLeaderState, restoreCircuitBreakerStates, + setLocalCircuitBreakerState, startCircuitBreakerPersistence, stopCircuitBreakerPersistence, updateCircuitBreakerState, - getLocalCircuitBreakerState, - setLocalCircuitBreakerState, - clearLocalState, - resetLeaderState, } from './circuitBreaker.persistence.js'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8ca39f0..8689d65 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: .: devDependencies: '@biomejs/biome': - specifier: ^1.9.4 - version: 1.9.4 + specifier: ^2.4.15 + version: 2.4.15 '@changesets/changelog-github': specifier: ^0.6.0 version: 0.6.0 @@ -441,55 +441,55 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} - '@biomejs/biome@1.9.4': - resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==} + '@biomejs/biome@2.4.15': + resolution: {integrity: sha512-j5VH3a/h/HXTKBM50MDMxRCzkeLv9S2XJcW2WgnZT1+xyisi+0bISrXR82gCX+8S9lvK0skEvHJRN+3Ktr2hlw==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@1.9.4': - resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==} + '@biomejs/cli-darwin-arm64@2.4.15': + resolution: {integrity: sha512-rF3PPqLq1yoST79zaQbDjVJwsuIeci/O+9bgNmC5QpgOqz6aqYuzA4abyAGx+mgyiDXn4A049xAN8gijbuR1Qg==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@1.9.4': - resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==} + '@biomejs/cli-darwin-x64@2.4.15': + resolution: {integrity: sha512-/5KHXYMfSJs1fNXiX30xFtI8JcCFV6zaVVLxOa0M2sfqBKHkpQhRTv94yxQWxeTY2lzo2OuTlNvPC+hDQt2wcQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@1.9.4': - resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==} + '@biomejs/cli-linux-arm64-musl@2.4.15': + resolution: {integrity: sha512-ZPcxznxm0pogHBLZhYntyR3sR+MrZjqJIKEr7ZqVen0Rl+P/4upVmfYXjftizi9RoqZntg33fv/1fbdhbYXpEQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@1.9.4': - resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==} + '@biomejs/cli-linux-arm64@2.4.15': + resolution: {integrity: sha512-owaAMZD/T4LrD0ELNCk0Km3qrRHuM0X6EAyVE1FSqGY0rbLoiDLrO4Us2tllm6cAeB2Ioa9C2C08NZPdr8+0Ug==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@1.9.4': - resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==} + '@biomejs/cli-linux-x64-musl@2.4.15': + resolution: {integrity: sha512-CNq/9W38SYSH023lfcQ4KKU8K0YX8T//FZUhcgtMMRABDojx5XsMV7jlweAvGSl389wJQB29Qo6Zb/a+jdvt+w==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@1.9.4': - resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==} + '@biomejs/cli-linux-x64@2.4.15': + resolution: {integrity: sha512-0jj7THz12GbUOLmMibktK6DZjqz2zV64KFxyBtcFTKPiiOIY0a7vns1elpO1dERvxpsZ5ik0oFfz0oGwFde1+g==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@1.9.4': - resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==} + '@biomejs/cli-win32-arm64@2.4.15': + resolution: {integrity: sha512-ouhkYdlhp/1GghEJPdWwD/Vi3gQ1nFxuSpMolWsbq3Lsq3QUR4jl6UdhhscdCugKU5vOEuMiJhvKj66O0OCq+w==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@1.9.4': - resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==} + '@biomejs/cli-win32-x64@2.4.15': + resolution: {integrity: sha512-zBrGq5mx5wwpnow4+2BxUvleDM+GNd4sLbPaMapsSLQLD0NGRCquqPBTgN+7XkUteHvj7M+BstuI8tmnV7+HgQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -3025,39 +3025,39 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} - '@biomejs/biome@1.9.4': + '@biomejs/biome@2.4.15': optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.9.4 - '@biomejs/cli-darwin-x64': 1.9.4 - '@biomejs/cli-linux-arm64': 1.9.4 - '@biomejs/cli-linux-arm64-musl': 1.9.4 - '@biomejs/cli-linux-x64': 1.9.4 - '@biomejs/cli-linux-x64-musl': 1.9.4 - '@biomejs/cli-win32-arm64': 1.9.4 - '@biomejs/cli-win32-x64': 1.9.4 - - '@biomejs/cli-darwin-arm64@1.9.4': + '@biomejs/cli-darwin-arm64': 2.4.15 + '@biomejs/cli-darwin-x64': 2.4.15 + '@biomejs/cli-linux-arm64': 2.4.15 + '@biomejs/cli-linux-arm64-musl': 2.4.15 + '@biomejs/cli-linux-x64': 2.4.15 + '@biomejs/cli-linux-x64-musl': 2.4.15 + '@biomejs/cli-win32-arm64': 2.4.15 + '@biomejs/cli-win32-x64': 2.4.15 + + '@biomejs/cli-darwin-arm64@2.4.15': optional: true - '@biomejs/cli-darwin-x64@1.9.4': + '@biomejs/cli-darwin-x64@2.4.15': optional: true - '@biomejs/cli-linux-arm64-musl@1.9.4': + '@biomejs/cli-linux-arm64-musl@2.4.15': optional: true - '@biomejs/cli-linux-arm64@1.9.4': + '@biomejs/cli-linux-arm64@2.4.15': optional: true - '@biomejs/cli-linux-x64-musl@1.9.4': + '@biomejs/cli-linux-x64-musl@2.4.15': optional: true - '@biomejs/cli-linux-x64@1.9.4': + '@biomejs/cli-linux-x64@2.4.15': optional: true - '@biomejs/cli-win32-arm64@1.9.4': + '@biomejs/cli-win32-arm64@2.4.15': optional: true - '@biomejs/cli-win32-x64@1.9.4': + '@biomejs/cli-win32-x64@2.4.15': optional: true '@changesets/apply-release-plan@7.1.1':