diff --git a/biome.json b/biome.json index d2e3571..2be4d29 100644 --- a/biome.json +++ b/biome.json @@ -1,10 +1,14 @@ { - "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json", "files": { - "ignore": ["dist", ".turbo", "node_modules", "coverage"] + "includes": ["**", "!!dist", "!!.turbo", "!!coverage"] }, - "organizeImports": { - "enabled": true + "assist": { + "actions": { + "source": { + "organizeImports": "on" + } + } }, "linter": { "enabled": true, @@ -21,7 +25,7 @@ }, "overrides": [ { - "include": ["**/tests/**"], + "includes": ["**/tests/**"], "linter": { "rules": { "suspicious": { diff --git a/package.json b/package.json index 54f29c0..7274710 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "release": "pnpm build && changeset publish" }, "devDependencies": { - "@biomejs/biome": "^1.9.4", + "@biomejs/biome": "^2.4.15", "@changesets/changelog-github": "^0.6.0", "@changesets/cli": "^2.31.0", "@types/node": "^25.6.2", @@ -45,6 +45,9 @@ }, "homepage": "https://github.com/reaatech/voice-agent-kit#readme", "pnpm": { - "onlyBuiltDependencies": ["@biomejs/biome", "esbuild"] + "onlyBuiltDependencies": [ + "@biomejs/biome", + "esbuild" + ] } } diff --git a/packages/core/package.json b/packages/core/package.json index bb6f93b..7ba96a4 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -15,7 +15,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 681d7d1..59a1782 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -4,58 +4,51 @@ * Core pipeline, session management, latency budget, and configuration for voice AI agents. */ -// Types -export * from './types/index.js'; - // Config export { - loadConfig, defineConfig, getDefaultConfig, + loadConfig, VoiceAgentKitConfigSchema, } from './config/index.js'; - -// Session -export { - SessionManager, - getDefaultSessionManager, - initializeSessionManager, -} from './session/index.js'; -export type { SessionManagerOptions } from './session/index.js'; - -// Latency -export { LatencyBudgetEnforcer, createLatencyBudget, PerformanceMonitor } from './latency/index.js'; export type { LatencyMetrics, StageTiming } from './latency/index.js'; - -// Pipeline -export { createPipeline, Pipeline } from './pipeline/index.js'; +// Latency +export { createLatencyBudget, LatencyBudgetEnforcer, PerformanceMonitor } from './latency/index.js'; +export type { ExporterConfig, TelemetryConfig } from './observability/exporter.js'; +// Observability exporter utilities +export { DEFAULT_TELEMETRY_CONFIG, getOtelEnvVars } from './observability/exporter.js'; +export type { ObservabilityConfig, SpanAttributes } from './observability/index.js'; +// Observability +export { + getObservability, + initializeObservability, + Observability, + shutdownObservability, +} from './observability/index.js'; export type { - STTProvider, - TTSProvider, MCPClient, PipelineDependencies, + STTProvider, + TTSProvider, } from './pipeline/index.js'; - +// Pipeline +export { createPipeline, Pipeline } from './pipeline/index.js'; +export type { MockMCPClientOptions, MockSTTOptions, MockTTSOptions } from './providers/index.js'; // Mock Providers (for testing) export { - MockSTTProvider, - MockTTSProvider, - MockMCPClient, + createMockMCPClient, createMockSTTProvider, createMockTTSProvider, - createMockMCPClient, + MockMCPClient, + MockSTTProvider, + MockTTSProvider, } from './providers/index.js'; -export type { MockSTTOptions, MockTTSOptions, MockMCPClientOptions } from './providers/index.js'; - -// Observability +export type { SessionManagerOptions } from './session/index.js'; +// Session export { - initializeObservability, - getObservability, - shutdownObservability, - Observability, -} from './observability/index.js'; -export type { ObservabilityConfig, SpanAttributes } from './observability/index.js'; - -// Observability exporter utilities -export { DEFAULT_TELEMETRY_CONFIG, getOtelEnvVars } from './observability/exporter.js'; -export type { ExporterConfig, TelemetryConfig } from './observability/exporter.js'; + getDefaultSessionManager, + initializeSessionManager, + SessionManager, +} from './session/index.js'; +// Types +export * from './types/index.js'; diff --git a/packages/core/src/observability/index.ts b/packages/core/src/observability/index.ts index 144f71b..035268e 100644 --- a/packages/core/src/observability/index.ts +++ b/packages/core/src/observability/index.ts @@ -1,5 +1,5 @@ import type { Span, SpanKind, Tracer } from '@opentelemetry/api'; -import { SpanStatusCode as SC, SpanKind as SK, metrics, trace } from '@opentelemetry/api'; +import { metrics, SpanStatusCode as SC, SpanKind as SK, trace } from '@opentelemetry/api'; export interface ObservabilityConfig { serviceName: string; diff --git a/packages/core/src/pipeline/index.ts b/packages/core/src/pipeline/index.ts index be37725..8a3f6a7 100644 --- a/packages/core/src/pipeline/index.ts +++ b/packages/core/src/pipeline/index.ts @@ -1,6 +1,5 @@ -import { EventEmitter } from 'events'; - import { SpanKind } from '@opentelemetry/api'; +import { EventEmitter } from 'events'; import { v4 as uuidv4 } from 'uuid'; import type { LatencyBudgetEnforcer } from '../latency/index.js'; diff --git a/packages/core/src/providers/index.ts b/packages/core/src/providers/index.ts index af88c82..f7127b7 100644 --- a/packages/core/src/providers/index.ts +++ b/packages/core/src/providers/index.ts @@ -1,7 +1,7 @@ -export { MockSTTProvider, createMockSTTProvider, type MockSTTOptions } from './mock-stt.js'; -export { MockTTSProvider, createMockTTSProvider, type MockTTSOptions } from './mock-tts.js'; export { - MockMCPClient, createMockMCPClient, + MockMCPClient, type MockMCPClientOptions, } from './mock-mcp-client.js'; +export { createMockSTTProvider, type MockSTTOptions, MockSTTProvider } from './mock-stt.js'; +export { createMockTTSProvider, type MockTTSOptions, MockTTSProvider } from './mock-tts.js'; diff --git a/packages/core/tests/config.test.ts b/packages/core/tests/config.test.ts index 9d1c914..4fbbe99 100644 --- a/packages/core/tests/config.test.ts +++ b/packages/core/tests/config.test.ts @@ -1,4 +1,4 @@ -import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { afterEach, beforeEach, describe, expect, it } from 'vitest'; import { defineConfig, getDefaultConfig, loadConfig } from '../src/config/index.js'; import type { VoiceAgentKitConfig } from '../src/types/index.js'; diff --git a/packages/core/tests/latency.test.ts b/packages/core/tests/latency.test.ts index 7ad3af5..81da851 100644 --- a/packages/core/tests/latency.test.ts +++ b/packages/core/tests/latency.test.ts @@ -1,8 +1,8 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'; import { + createLatencyBudget, LatencyBudgetEnforcer, PerformanceMonitor, - createLatencyBudget, } from '../src/latency/index.js'; import type { LatencyBudget } from '../src/types/index.js'; diff --git a/packages/core/tests/observability.test.ts b/packages/core/tests/observability.test.ts index eea5f61..7cd866f 100644 --- a/packages/core/tests/observability.test.ts +++ b/packages/core/tests/observability.test.ts @@ -1,12 +1,12 @@ import { SpanKind } from '@opentelemetry/api'; -import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { afterEach, beforeEach, describe, expect, it } from 'vitest'; +import type { ObservabilityConfig, SpanAttributes } from '../src/observability/index.js'; import { - Observability, getObservability, initializeObservability, + Observability, shutdownObservability, } from '../src/observability/index.js'; -import type { ObservabilityConfig, SpanAttributes } from '../src/observability/index.js'; describe('Observability', () => { let observability: Observability; diff --git a/packages/core/tests/pipeline.test.ts b/packages/core/tests/pipeline.test.ts index 1cad6ca..87360ac 100644 --- a/packages/core/tests/pipeline.test.ts +++ b/packages/core/tests/pipeline.test.ts @@ -1,6 +1,6 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; -import { Pipeline, createPipeline } from '../src/pipeline/index.js'; import type { PipelineDependencies } from '../src/pipeline/index.js'; +import { createPipeline, Pipeline } from '../src/pipeline/index.js'; import type { AudioChunk, Utterance } from '../src/types/index.js'; // Mock providers diff --git a/packages/core/tests/providers.test.ts b/packages/core/tests/providers.test.ts index 21af1bd..da1f163 100644 --- a/packages/core/tests/providers.test.ts +++ b/packages/core/tests/providers.test.ts @@ -1,11 +1,11 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { - type MockMCPClient, - type MockSTTProvider, - type MockTTSProvider, createMockMCPClient, createMockSTTProvider, createMockTTSProvider, + type MockMCPClient, + type MockSTTProvider, + type MockTTSProvider, } from '../src/providers/index.js'; import type { AudioChunk } from '../src/types/index.js'; diff --git a/packages/core/tests/session.test.ts b/packages/core/tests/session.test.ts index 2e591bc..0c5857c 100644 --- a/packages/core/tests/session.test.ts +++ b/packages/core/tests/session.test.ts @@ -1,10 +1,9 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { - SessionManager, getDefaultSessionManager, initializeSessionManager, + SessionManager, } from '../src/session/index.js'; -import type { Session } from '../src/types/index.js'; describe('SessionManager', () => { let sessionManager: SessionManager; diff --git a/packages/mcp-client/package.json b/packages/mcp-client/package.json index dfea30d..b413e1d 100644 --- a/packages/mcp-client/package.json +++ b/packages/mcp-client/package.json @@ -15,7 +15,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/mcp-client/src/index.ts b/packages/mcp-client/src/index.ts index 72ed868..919195b 100644 --- a/packages/mcp-client/src/index.ts +++ b/packages/mcp-client/src/index.ts @@ -5,14 +5,14 @@ */ export { MCPClient } from './client.js'; +export { createMCPClient } from './factory.js'; export type { MCPClientConfig, - MCPTool, + MCPError, + MCPMessage, MCPRequestParams, MCPResponse, - MCPMessage, MCPResult, - MCPError, + MCPTool, MCPToolCall, } from './types.js'; -export { createMCPClient } from './factory.js'; diff --git a/packages/stt/package.json b/packages/stt/package.json index b46d930..652c943 100644 --- a/packages/stt/package.json +++ b/packages/stt/package.json @@ -15,7 +15,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/stt/src/adapters/aws-transcribe.ts b/packages/stt/src/adapters/aws-transcribe.ts index d090823..51b72d5 100644 --- a/packages/stt/src/adapters/aws-transcribe.ts +++ b/packages/stt/src/adapters/aws-transcribe.ts @@ -1,5 +1,3 @@ -import { EventEmitter } from 'events'; - import { type LanguageCode, MediaEncoding, @@ -8,6 +6,7 @@ import { } from '@aws-sdk/client-transcribe-streaming'; import { fromIni } from '@aws-sdk/credential-provider-ini'; import type { AudioChunk, Utterance } from '@reaatech/voice-agent-core'; +import { EventEmitter } from 'events'; import type { AWSTranscribeConfig, STTProvider } from '../interface.js'; import { STTProviderInterface } from '../interface.js'; diff --git a/packages/stt/src/adapters/deepgram.ts b/packages/stt/src/adapters/deepgram.ts index 3e44f9b..eab4a78 100644 --- a/packages/stt/src/adapters/deepgram.ts +++ b/packages/stt/src/adapters/deepgram.ts @@ -1,6 +1,5 @@ -import { EventEmitter } from 'events'; - import type { AudioChunk, Utterance } from '@reaatech/voice-agent-core'; +import { EventEmitter } from 'events'; import WebSocket from 'ws'; import type { DeepgramConfig, STTProvider } from '../interface.js'; diff --git a/packages/stt/src/adapters/google-cloud-stt.ts b/packages/stt/src/adapters/google-cloud-stt.ts index fe6f253..c6f498c 100644 --- a/packages/stt/src/adapters/google-cloud-stt.ts +++ b/packages/stt/src/adapters/google-cloud-stt.ts @@ -1,7 +1,6 @@ -import { EventEmitter } from 'events'; - import { SpeechClient } from '@google-cloud/speech'; import type { AudioChunk, Utterance } from '@reaatech/voice-agent-core'; +import { EventEmitter } from 'events'; import type { GoogleCloudSTTConfig, STTProvider } from '../interface.js'; import { STTProviderInterface } from '../interface.js'; diff --git a/packages/stt/src/index.ts b/packages/stt/src/index.ts index 7c818f2..361cea7 100644 --- a/packages/stt/src/index.ts +++ b/packages/stt/src/index.ts @@ -4,31 +4,27 @@ * Speech-to-text provider interface and adapters for voice AI agents. */ -// Provider interface -export { STTProviderInterface } from './interface.js'; -export type { - STTProvider, - STTProviderEvents, - DeepgramConfig, - AWSTranscribeConfig, - GoogleCloudSTTConfig, -} from './interface.js'; - -// Deepgram adapter -export { DeepgramSTTProvider, createDeepgramSTTProvider } from './adapters/deepgram.js'; -export type { DeepgramSTTOptions } from './adapters/deepgram.js'; - +export type { AWSTranscribeOptions } from './adapters/aws-transcribe.js'; // AWS Transcribe adapter export { AWSTranscribeProvider, createAWSTranscribeProvider } from './adapters/aws-transcribe.js'; -export type { AWSTranscribeOptions } from './adapters/aws-transcribe.js'; - +export type { DeepgramSTTOptions } from './adapters/deepgram.js'; +// Deepgram adapter +export { createDeepgramSTTProvider, DeepgramSTTProvider } from './adapters/deepgram.js'; +export type { GoogleCloudSTTOptions } from './adapters/google-cloud-stt.js'; // Google Cloud STT adapter export { - GoogleCloudSTTProvider, createGoogleCloudSTTProvider, + GoogleCloudSTTProvider, } from './adapters/google-cloud-stt.js'; -export type { GoogleCloudSTTOptions } from './adapters/google-cloud-stt.js'; - +export type { STTProviderFactoryConfig } from './factory.js'; // Factory export { createSTTProvider } from './factory.js'; -export type { STTProviderFactoryConfig } from './factory.js'; +export type { + AWSTranscribeConfig, + DeepgramConfig, + GoogleCloudSTTConfig, + STTProvider, + STTProviderEvents, +} from './interface.js'; +// Provider interface +export { STTProviderInterface } from './interface.js'; diff --git a/packages/telephony/package.json b/packages/telephony/package.json index fd1966b..ec72374 100644 --- a/packages/telephony/package.json +++ b/packages/telephony/package.json @@ -15,7 +15,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/telephony/src/index.ts b/packages/telephony/src/index.ts index 93cf5e5..f500bd2 100644 --- a/packages/telephony/src/index.ts +++ b/packages/telephony/src/index.ts @@ -4,16 +4,16 @@ * Twilio Media Streams adapter for voice AI agents. */ +export { createTwilioHandler } from './factory.js'; +export type { BargeInEvent, TwilioHandlerConfig } from './twilio-handler.js'; export { TwilioMediaStreamHandler } from './twilio-handler.js'; export type { - TwilioMessage, + TwilioDTMFMessage, + TwilioMarkMessage, TwilioMediaMessage, + TwilioMessage, + TwilioOutboundMessage, TwilioStartMessage, TwilioStopMessage, - TwilioMarkMessage, - TwilioDTMFMessage, - TwilioOutboundMessage, TwilioStreamConfig, } from './types.js'; -export type { TwilioHandlerConfig, BargeInEvent } from './twilio-handler.js'; -export { createTwilioHandler } from './factory.js'; diff --git a/packages/telephony/src/twilio-handler.ts b/packages/telephony/src/twilio-handler.ts index 479d474..526698f 100644 --- a/packages/telephony/src/twilio-handler.ts +++ b/packages/telephony/src/twilio-handler.ts @@ -1,6 +1,5 @@ -import { EventEmitter } from 'events'; - import type { AudioChunk } from '@reaatech/voice-agent-core'; +import { EventEmitter } from 'events'; import WebSocket from 'ws'; import type { diff --git a/packages/tts/package.json b/packages/tts/package.json index e6c9f2e..b8e332c 100644 --- a/packages/tts/package.json +++ b/packages/tts/package.json @@ -15,7 +15,9 @@ "require": "./dist/index.cjs" } }, - "files": ["dist"], + "files": [ + "dist" + ], "publishConfig": { "access": "public" }, diff --git a/packages/tts/src/adapters/aws-polly.ts b/packages/tts/src/adapters/aws-polly.ts index 2166ab3..747c956 100644 --- a/packages/tts/src/adapters/aws-polly.ts +++ b/packages/tts/src/adapters/aws-polly.ts @@ -1,8 +1,7 @@ -import { EventEmitter } from 'events'; - import { Engine, OutputFormat, PollyClient, SynthesizeSpeechCommand } from '@aws-sdk/client-polly'; import { fromIni } from '@aws-sdk/credential-provider-ini'; import type { AudioChunk } from '@reaatech/voice-agent-core'; +import { EventEmitter } from 'events'; import type { AWSPollyConfig, TTSProvider } from '../interface.js'; diff --git a/packages/tts/src/index.ts b/packages/tts/src/index.ts index f9c1d4f..2bb3ff4 100644 --- a/packages/tts/src/index.ts +++ b/packages/tts/src/index.ts @@ -4,30 +4,26 @@ * Text-to-speech provider interface and adapters for voice AI agents. */ -// Provider interface -export { TTSProviderInterface } from './interface.js'; -export type { - TTSProvider, - DeepgramTTSConfig, - AWSPollyConfig, - GoogleCloudTTSConfig, -} from './interface.js'; - -// Deepgram adapter -export { DeepgramTTSProvider, createDeepgramTTSProvider } from './adapters/deepgram.js'; -export type { DeepgramTTSOptions } from './adapters/deepgram.js'; - +export type { AWSPollyOptions } from './adapters/aws-polly.js'; // AWS Polly adapter export { AWSPollyProvider, createAWSPollyProvider } from './adapters/aws-polly.js'; -export type { AWSPollyOptions } from './adapters/aws-polly.js'; - +export type { DeepgramTTSOptions } from './adapters/deepgram.js'; +// Deepgram adapter +export { createDeepgramTTSProvider, DeepgramTTSProvider } from './adapters/deepgram.js'; +export type { GoogleCloudTTSOptions } from './adapters/google-cloud-tts.js'; // Google Cloud TTS adapter export { - GoogleCloudTTSProvider, createGoogleCloudTTSProvider, + GoogleCloudTTSProvider, } from './adapters/google-cloud-tts.js'; -export type { GoogleCloudTTSOptions } from './adapters/google-cloud-tts.js'; - +export type { TTSProviderFactoryConfig } from './factory.js'; // Factory export { createTTSProvider } from './factory.js'; -export type { TTSProviderFactoryConfig } from './factory.js'; +export type { + AWSPollyConfig, + DeepgramTTSConfig, + GoogleCloudTTSConfig, + TTSProvider, +} from './interface.js'; +// Provider interface +export { TTSProviderInterface } from './interface.js'; diff --git a/packages/tts/tests/interface.test.ts b/packages/tts/tests/interface.test.ts index 673d966..7488c24 100644 --- a/packages/tts/tests/interface.test.ts +++ b/packages/tts/tests/interface.test.ts @@ -1,4 +1,4 @@ -import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { beforeEach, describe, expect, it } from 'vitest'; import { DeepgramTTSProvider } from '../src/adapters/deepgram.js'; import type { TTSProvider } from '../src/interface.js'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3821004..3fb3dd0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,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 @@ -388,55 +388,55 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@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] @@ -2929,39 +2929,39 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@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':