diff --git a/.changeset/thin-hounds-dance.md b/.changeset/thin-hounds-dance.md new file mode 100644 index 00000000000..14934f327d5 --- /dev/null +++ b/.changeset/thin-hounds-dance.md @@ -0,0 +1,7 @@ +--- +"@effect/ai-anthropic": patch +"@effect/ai-openai": patch +"@effect/ai": patch +--- + +Add Anthropic AI provider integration diff --git a/README.md b/README.md index 94db627c6f5..710254360fe 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ The Effect monorepo is organized into multiple packages, each extending the core | `effect` | Core package | [README](https://github.com/Effect-TS/effect/blob/main/packages/effect/README.md) | | `@effect/ai` | AI utilities | [README](https://github.com/Effect-TS/effect/blob/main/packages/ai/ai/README.md) | | `@effect/ai-openai` | OpenAI utilities | [README](https://github.com/Effect-TS/effect/blob/main/packages/ai/openai/README.md) | +| `@effect/ai-anthropic` | Anthropic utilities | [README](https://github.com/Effect-TS/effect/blob/main/packages/ai/anthropic/README.md) | | `@effect/cli` | CLI utilities | [README](https://github.com/Effect-TS/effect/blob/main/packages/cli/README.md) | | `@effect/cluster` | Distributed computing tools | [README](https://github.com/Effect-TS/effect/blob/main/packages/cluster/README.md) | | `@effect/cluster-browser` | Cluster utilities for the browser | [README](https://github.com/Effect-TS/effect/blob/main/packages/cluster-browser/README.md) | diff --git a/flake.nix b/flake.nix index 687a417ae4d..f04557792c9 100644 --- a/flake.nix +++ b/flake.nix @@ -2,22 +2,28 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; }; - outputs = {nixpkgs, ...}: let - forAllSystems = function: - nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed - (system: function nixpkgs.legacyPackages.${system}); - in { - formatter = forAllSystems (pkgs: pkgs.alejandra); - devShells = forAllSystems (pkgs: { - default = pkgs.mkShell { - packages = with pkgs; [ - bun - corepack - deno - nodejs - python3 - ]; - }; - }); - }; + outputs = + { nixpkgs, ... }: + let + forAllSystems = + function: + nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed ( + system: function nixpkgs.legacyPackages.${system} + ); + in + { + formatter = forAllSystems (pkgs: pkgs.alejandra); + devShells = forAllSystems (pkgs: { + default = pkgs.mkShell { + packages = with pkgs; [ + bun + corepack + deno + nodejs + python3 + yq-go + ]; + }; + }); + }; } diff --git a/packages/ai/ai/README.md b/packages/ai/ai/README.md index f8bf58f8c2d..d5d5bc293ba 100644 --- a/packages/ai/ai/README.md +++ b/packages/ai/ai/README.md @@ -1 +1,5 @@ # `@effect/ai` + +## Documentation + +- **API Reference**: [View the full documentation](https://effect-ts.github.io/effect/docs/ai/ai). diff --git a/packages/ai/ai/src/AiInput.ts b/packages/ai/ai/src/AiInput.ts index ae6a9ad178e..5353ab90ea7 100644 --- a/packages/ai/ai/src/AiInput.ts +++ b/packages/ai/ai/src/AiInput.ts @@ -205,9 +205,12 @@ export class ImagePart extends Schema_.TaggedClass("@effect/ai/AiInpu ) } + get asBase64(): string { + return Encoding.encodeBase64(this.image.data) + } + get asDataUri(): string { - const base64 = Encoding.encodeBase64(this.image.data) - return `data:${this.image.contentType};base64,${base64}` + return `data:${this.image.contentType};base64,${this.asBase64}` } } diff --git a/packages/ai/ai/src/Completions.ts b/packages/ai/ai/src/Completions.ts index b57abe4b061..144e11a8f51 100644 --- a/packages/ai/ai/src/Completions.ts +++ b/packages/ai/ai/src/Completions.ts @@ -7,6 +7,7 @@ import * as Effect from "effect/Effect" import * as HashMap from "effect/HashMap" import * as JsonSchema from "effect/JSONSchema" import * as Option from "effect/Option" +import * as Predicate from "effect/Predicate" import * as Schema from "effect/Schema" import * as AST from "effect/SchemaAST" import * as Stream from "effect/Stream" @@ -377,7 +378,7 @@ const resolveParts = ( const handler = HashMap.unsafeGet(options.tools.handlers, part.name) const decodeParams = Schema.decodeUnknown(tool as any) const encodeSuccess = Schema.encode(tool.success) - return decodeParams(part.params).pipe( + return decodeParams(injectTag(part.params, part.name)).pipe( Effect.mapError((cause) => new AiError({ module: "Completions", @@ -410,3 +411,24 @@ const resolveParts = ( Effect.as(new WithResolved({ response: options.response, resolved, encoded })) ) } + +/** + * Certain providers (i.e. Anthropic) do not do a great job returning the + * `_tag` enum with the parameters for a tool call. This method ensures that + * the `_tag` is injected into the tool call parameters to avoid issues when + * decoding. + */ +function injectTag(params: unknown, tag: string) { + // If for some reason we do not receive an object back for the tool call + // input parameters, just return them unchanged + if (!Predicate.isObject(params)) { + return params + } + // If the tool's `_tag` is already present in input parameters, return them + // unchanged + if (Predicate.hasProperty(params, "_tag")) { + return params + } + // Otherwise inject the tool's `_tag` into the input parameters + return { ...params, _tag: tag } +} diff --git a/packages/ai/anthropic/LICENSE b/packages/ai/anthropic/LICENSE new file mode 100644 index 00000000000..be1f5c14c7b --- /dev/null +++ b/packages/ai/anthropic/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Effectful Technologies Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/ai/anthropic/README.md b/packages/ai/anthropic/README.md new file mode 100644 index 00000000000..65b3b342cce --- /dev/null +++ b/packages/ai/anthropic/README.md @@ -0,0 +1,5 @@ +# `@effect/ai-anthropic` + +## Documentation + +- **API Reference**: [View the full documentation](https://effect-ts.github.io/effect/docs/ai/ai-anthropic). diff --git a/packages/ai/anthropic/docgen.json b/packages/ai/anthropic/docgen.json new file mode 100644 index 00000000000..cec803cfd7d --- /dev/null +++ b/packages/ai/anthropic/docgen.json @@ -0,0 +1,25 @@ +{ + "$schema": "../../../node_modules/@effect/docgen/schema.json", + "exclude": ["src/Generated.ts", "src/internal/**/*.ts"], + "examplesCompilerOptions": { + "noEmit": true, + "strict": true, + "skipLibCheck": true, + "moduleResolution": "Bundler", + "module": "ES2022", + "target": "ES2022", + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "paths": { + "effect": ["../../../../effect/src/index.js"], + "effect/*": ["../../../../effect/src/*.js"], + "@effect/experimental": ["../../../../experimental/src/index.js"], + "@effect/experimental/*": ["../../../../experimental/src/*.js"], + "@effect/platform": ["../../../../platform/src/index.js"], + "@effect/platform/*": ["../../../../platform/src/*.js"], + "@effect/ai": ["../../../ai/src/index.js"], + "@effect/ai/*": ["../../../ai/src/*.js"], + "@effect/ai-anthropic": ["../../../ai-anthropic/src/index.js"], + "@effect/ai-anthropic/*": ["../../../ai-anthropic/src/*.js"] + } + } +} diff --git a/packages/ai/anthropic/package.json b/packages/ai/anthropic/package.json new file mode 100644 index 00000000000..e47b52173cc --- /dev/null +++ b/packages/ai/anthropic/package.json @@ -0,0 +1,58 @@ +{ + "name": "@effect/ai-anthropic", + "type": "module", + "version": "0.0.0", + "license": "MIT", + "description": "Effect modules for working with AI apis", + "homepage": "https://effect.website", + "repository": { + "type": "git", + "url": "https://github.com/Effect-TS/effect.git", + "directory": "packages/ai/anthropic" + }, + "bugs": { + "url": "https://github.com/Effect-TS/effect/issues" + }, + "tags": [ + "typescript", + "algebraic-data-types", + "functional-programming" + ], + "keywords": [ + "typescript", + "algebraic-data-types", + "functional-programming" + ], + "publishConfig": { + "access": "public", + "directory": "dist", + "provenance": true + }, + "scripts": { + "codegen": "build-utils prepare-v2", + "build": "pnpm build-esm && pnpm build-annotate && pnpm build-cjs && build-utils pack-v2", + "build-esm": "tsc -b tsconfig.build.json", + "build-cjs": "babel build/esm --plugins @babel/transform-export-namespace-from --plugins @babel/transform-modules-commonjs --out-dir build/cjs --source-maps", + "build-annotate": "babel build/esm --plugins annotate-pure-calls --out-dir build/esm --source-maps", + "check": "tsc -b tsconfig.json", + "test": "vitest", + "coverage": "vitest --coverage" + }, + "peerDependencies": { + "@effect/ai": "workspace:^", + "@effect/experimental": "workspace:^", + "@effect/platform": "workspace:^", + "effect": "workspace:^" + }, + "devDependencies": { + "@effect/ai": "workspace:^", + "@effect/experimental": "workspace:^", + "@effect/platform": "workspace:^", + "@effect/platform-node": "workspace:^", + "@tim-smart/openapi-gen": "^0.3.6", + "effect": "workspace:^" + }, + "dependencies": { + "@anthropic-ai/tokenizer": "^0.0.4" + } +} diff --git a/packages/ai/anthropic/scripts/generate.sh b/packages/ai/anthropic/scripts/generate.sh new file mode 100755 index 00000000000..4ff50d83e51 --- /dev/null +++ b/packages/ai/anthropic/scripts/generate.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env sh +mkdir -p tmp +anthropic_stats_url="https://raw.githubusercontent.com/anthropics/anthropic-sdk-typescript/refs/heads/main/.stats.yml" +openapi_spec_url=$(curl -sSL $anthropic_stats_url | yq '.openapi_spec_url') +curl $openapi_spec_url > tmp/anthropic.yaml +echo "/** + * @since 1.0.0 + */" > src/Generated.ts +pnpm openapi-gen -s tmp/anthropic.yaml >> src/Generated.ts +pnpm eslint --fix src/Generated.ts diff --git a/packages/ai/anthropic/src/AnthropicClient.ts b/packages/ai/anthropic/src/AnthropicClient.ts new file mode 100644 index 00000000000..4ec6aa3e03b --- /dev/null +++ b/packages/ai/anthropic/src/AnthropicClient.ts @@ -0,0 +1,415 @@ +/** + * @since 1.0.0 + */ +import * as AiError from "@effect/ai/AiError" +import * as AiResponse from "@effect/ai/AiResponse" +import * as AiRole from "@effect/ai/AiRole" +import * as Sse from "@effect/experimental/Sse" +import * as HttpBody from "@effect/platform/HttpBody" +import * as HttpClient from "@effect/platform/HttpClient" +import type * as HttpClientError from "@effect/platform/HttpClientError" +import * as HttpClientRequest from "@effect/platform/HttpClientRequest" +import * as Chunk from "effect/Chunk" +import * as Config from "effect/Config" +import type { ConfigError } from "effect/ConfigError" +import * as Context from "effect/Context" +import * as Data from "effect/Data" +import * as Effect from "effect/Effect" +import { identity } from "effect/Function" +import * as Layer from "effect/Layer" +import * as Option from "effect/Option" +import * as Redacted from "effect/Redacted" +import * as Stream from "effect/Stream" +import type { Mutable } from "effect/Types" +import { AnthropicConfig } from "./AnthropicConfig.js" +import * as Generated from "./Generated.js" + +/** + * @since 1.0.0 + * @category tags + */ +export class AnthropicClient extends Context.Tag( + "@effect/ai-openai/AnthropicClient" +)() {} + +/** + * @since 1.0.0 + * @category models + */ +export declare namespace AnthropicClient { + /** + * @since 1.0.0 + * @category models + */ + export interface Service { + readonly client: Generated.Client + readonly streamRequest: ( + request: HttpClientRequest.HttpClientRequest + ) => Stream.Stream + readonly stream: ( + request: StreamCompletionRequest + ) => Stream.Stream + } +} + +/** + * @since 1.0.0 + * @category constructors + */ +export const make = (options: { + readonly apiKey?: Redacted.Redacted | undefined + readonly apiUrl?: string | undefined + readonly anthropicVersion?: string + readonly organizationId?: Redacted.Redacted | undefined + readonly projectId?: Redacted.Redacted | undefined + readonly transformClient?: ( + client: HttpClient.HttpClient + ) => HttpClient.HttpClient +}): Effect.Effect => + Effect.gen(function*() { + const httpClient = (yield* HttpClient.HttpClient).pipe( + HttpClient.mapRequest((request) => + request.pipe( + HttpClientRequest.prependUrl(options.apiUrl ?? "https://api.anthropic.com"), + options.apiKey ? HttpClientRequest.setHeader("x-api-key", Redacted.value(options.apiKey)) : identity, + HttpClientRequest.setHeader("anthropic-version", options.anthropicVersion ?? "2023-06-01"), + HttpClientRequest.acceptJson + ) + ), + options.transformClient ? options.transformClient : identity + ) + const httpClientOk = HttpClient.filterStatusOk(httpClient) + const client = Generated.make(httpClient, { + transformClient: (client) => + AnthropicConfig.getOrUndefined.pipe( + Effect.map((config) => config?.transformClient ? config.transformClient(client) : client) + ) + }) + const streamRequest = ( + request: HttpClientRequest.HttpClientRequest + ) => + httpClientOk.execute(request).pipe( + Effect.map((r) => r.stream), + Stream.unwrapScoped, + Stream.decodeText(), + Stream.pipeThroughChannel(Sse.makeChannel()), + Stream.takeWhile((event) => event.event !== "message_stop"), + Stream.map((event) => JSON.parse(event.data) as A) + ) + const stream = (request: StreamCompletionRequest) => + Stream.suspend(() => { + const usage: Mutable> = { _tag: "Usage" } + return streamRequest( + HttpClientRequest.post("/v1/messages", { + body: HttpBody.unsafeJson({ ...request, stream: true }) + }) + ).pipe( + Stream.mapAccumEffect(new Map(), (acc, chunk) => { + const parts: Array = [] + switch (chunk.type) { + case "message_start": { + usage.id = chunk.message.id + usage.model = chunk.message.model + usage.inputTokens = chunk.message.usage.input_tokens + break + } + case "message_delta": { + usage.finishReasons = [chunk.delta.stop_reason] + usage.outputTokens = chunk.usage.output_tokens + parts.push(usage as UsagePart) + break + } + case "message_stop": { + break + } + case "content_block_start": { + const content = chunk.content_block + if (content.type === "tool_use") { + acc.set(chunk.index, { + _tag: "ToolCall", + id: content.id, + name: content.name, + arguments: "" + }) + } + break + } + case "content_block_delta": { + switch (chunk.delta.type) { + // TODO: add support for citations (?) + case "citations_delta": { + break + } + case "input_json_delta": { + const toolCall = acc.get(chunk.index) as ToolCallPart + acc.set(chunk.index, { + ...toolCall, + arguments: toolCall.arguments + chunk.delta.partial_json + }) + break + } + case "text_delta": { + parts.push({ + _tag: "Content", + content: chunk.delta.text + }) + break + } + } + break + } + case "content_block_stop": { + if (acc.has(chunk.index)) { + const toolCall = acc.get(chunk.index) as ToolCallPart + try { + const args = JSON.parse(toolCall.arguments as string) + parts.push({ + _tag: "ToolCall", + id: toolCall.id, + name: toolCall.name, + arguments: args + }) + // eslint-disable-next-line no-empty + } catch {} + } + break + } + case "error": { + return Effect.die( + new AiError.AiError({ + module: "AnthropicClient", + method: "stream", + description: `${chunk.error.type}: ${chunk.error.message}` + }) + ) + } + } + return Effect.succeed([ + acc, + parts.length === 0 + ? Option.none() + : Option.some(new StreamChunk({ parts })) + ]) + }), + Stream.filterMap(identity) + ) + }) + return AnthropicClient.of({ client, streamRequest, stream }) + }) + +/** + * @since 1.0.0 + * @category layers + */ +export const layer = (options: { + readonly apiKey?: Redacted.Redacted | undefined + readonly apiUrl?: string | undefined + readonly anthropicVersion?: string + readonly transformClient?: ( + client: HttpClient.HttpClient + ) => HttpClient.HttpClient +}): Layer.Layer => Layer.effect(AnthropicClient, make(options)) + +/** + * @since 1.0.0 + * @category layers + */ +export const layerConfig = ( + options: Config.Config.Wrap<{ + readonly apiKey?: Redacted.Redacted | undefined + readonly apiUrl?: string | undefined + readonly anthropicVersion?: string + readonly transformClient?: ( + client: HttpClient.HttpClient + ) => HttpClient.HttpClient + }> +): Layer.Layer => + Config.unwrap(options).pipe( + Effect.flatMap(make), + Layer.effect(AnthropicClient) + ) + +/** + * @since 1.0.0 + * @category models + */ +export type StreamCompletionRequest = Omit< + typeof Generated.CreateMessageParams.Encoded, + "stream" +> + +type MessageStreamEvent = + | ErrorEvent + | MessageStartEvent + | MessageDeltaEvent + | MessageStopEvent + | ContentBlockStartEvent + | ContentBlockDeltaEvent + | ContentBlockStopEvent + +interface MessageStartEvent { + readonly type: "message_start" + readonly message: typeof Generated.Message.Encoded +} + +interface MessageDeltaEvent { + readonly type: "message_delta" + readonly delta: { + readonly stop_reason: + | "end_turn" + | "max_tokens" + | "stop_sequence" + | "tool_use" + readonly stop_sequence: string | null + } + readonly usage: { + readonly output_tokens: number + } +} + +interface MessageStopEvent { + readonly type: "message_stop" +} + +interface ContentBlockStartEvent { + readonly type: "content_block_start" + readonly index: number + readonly content_block: + | typeof Generated.ResponseTextBlock.Encoded + | typeof Generated.ResponseToolUseBlock.Encoded +} + +interface ContentBlockDeltaEvent { + readonly type: "content_block_delta" + readonly index: number + readonly delta: + | CitationsDelta + | InputJsonContentBlockDelta + | TextContentBlockDelta +} + +interface CitationsDelta { + readonly type: "citations_delta" + readonly citation: NonNullable< + (typeof Generated.ResponseTextBlock.Encoded)["citations"] + >[number] +} + +interface InputJsonContentBlockDelta { + readonly type: "input_json_delta" + readonly partial_json: string +} + +interface TextContentBlockDelta { + readonly type: "text_delta" + readonly text: string +} + +interface ContentBlockStopEvent { + readonly type: "content_block_stop" + readonly index: number +} + +interface ErrorEvent { + readonly type: "error" + readonly error: { + readonly type: + | "api_error" + | "authentication_error" + | "invalid_request_error" + | "not_found_error" + | "overloaded_error" + | "permission_error" + | "rate_limit_error" + | "request_too_large" + readonly message: string + } +} + +/** + * @since 1.0.0 + * @category models + */ +export class StreamChunk extends Data.Class<{ + readonly parts: Array +}> { + /** + * @since 1.0.0 + */ + get text(): Option.Option { + return this.parts[0]?._tag === "Content" + ? Option.some(this.parts[0].content) + : Option.none() + } + /** + * @since 1.0.0 + */ + get asAiResponse(): AiResponse.AiResponse { + if (this.parts.length === 0) { + return AiResponse.AiResponse.fromText({ + role: AiRole.model, + content: "" + }) + } + const part = this.parts[0] + switch (part._tag) { + case "Content": + return AiResponse.AiResponse.fromText({ + role: AiRole.model, + content: part.content + }) + case "ToolCall": + return new AiResponse.AiResponse({ + role: AiRole.model, + parts: Chunk.of( + AiResponse.ToolCallPart.fromUnknown({ + id: part.id, + name: part.name, + params: part.arguments + }) + ) + }) + case "Usage": + return AiResponse.AiResponse.empty + } + } +} + +/** + * @since 1.0.0 + * @category models + */ +export type StreamChunkPart = ContentPart | ToolCallPart | UsagePart + +/** + * @since 1.0.0 + * @category models + */ +export interface ContentPart { + readonly _tag: "Content" + readonly content: string +} + +/** + * @since 1.0.0 + * @category models + */ +export interface ToolCallPart { + readonly _tag: "ToolCall" + readonly id: string + readonly name: string + readonly arguments: unknown +} + +/** + * @since 1.0.0 + * @category models + */ +export interface UsagePart { + readonly _tag: "Usage" + readonly id: string + readonly model: string + readonly inputTokens: number + readonly outputTokens: number + readonly finishReasons: ReadonlyArray +} diff --git a/packages/ai/anthropic/src/AnthropicCompletions.ts b/packages/ai/anthropic/src/AnthropicCompletions.ts new file mode 100644 index 00000000000..df44f462a84 --- /dev/null +++ b/packages/ai/anthropic/src/AnthropicCompletions.ts @@ -0,0 +1,352 @@ +/** + * @since 1.0.0 + */ +import { AiError } from "@effect/ai/AiError" +import type * as AiInput from "@effect/ai/AiInput" +import * as AiResponse from "@effect/ai/AiResponse" +import * as AiRole from "@effect/ai/AiRole" +import { addGenAIAnnotations } from "@effect/ai/AiTelemetry" +import * as Completions from "@effect/ai/Completions" +import type * as Tokenizer from "@effect/ai/Tokenizer" +import * as Arr from "effect/Array" +import * as Chunk from "effect/Chunk" +import * as Effect from "effect/Effect" +import * as Layer from "effect/Layer" +import * as Option from "effect/Option" +import * as Predicate from "effect/Predicate" +import * as Stream from "effect/Stream" +import type { Span } from "effect/Tracer" +import type { StreamChunk } from "./AnthropicClient.js" +import { AnthropicClient } from "./AnthropicClient.js" +import { AnthropicConfig } from "./AnthropicConfig.js" +import * as AnthropicTokenizer from "./AnthropicTokenizer.js" +import type * as Generated from "./Generated.js" + +/** + * @since 1.0.0 + * @category models + */ +export type Model = typeof Generated.ModelEnum.Encoded + +const make = (options: { readonly model: (string & {}) | Model }) => + Effect.gen(function*() { + const client = yield* AnthropicClient + const config = yield* AnthropicConfig.getOrUndefined + + const makeRequest = ({ + input, + required, + system, + tools + }: Completions.CompletionOptions) => { + const useStructured = tools.length === 1 && tools[0].structured + return Effect.map( + Effect.context(), + (context): typeof Generated.CreateMessageParams.Encoded => ({ + model: options.model, + // TODO: re-evaluate a better way to do this + max_tokens: 4096, + ...config, + ...context.unsafeMap.get(AnthropicConfig.key), + system: Option.getOrUndefined(system), + messages: makeMessages(input), + tools: tools.length === 0 ? undefined : tools.map((tool) => ({ + name: tool.name, + description: tool.description, + input_schema: tool.parameters as any + })), + tool_choice: !useStructured && tools.length > 0 + // For non-structured outputs, ensure tools are used if required + ? typeof required === "boolean" + ? required ? { type: "any" } : { type: "auto" } + : { type: "tool", name: required } + // For structured outputs, ensure the json output tool is used + : useStructured + ? { type: "tool", name: tools[0].name } + : undefined + }) + ) + } + + return yield* Completions.make({ + create({ span, ...options }) { + return makeRequest(options).pipe( + Effect.tap((request) => annotateRequest(span, request)), + Effect.flatMap((payload) => client.client.messagesPost({ params: {}, payload })), + Effect.tap((response) => annotateChatResponse(span, response)), + Effect.flatMap((response) => + makeResponse( + response, + "create", + options.tools.length === 1 && options.tools[0].structured + ? options.tools[0] + : undefined + ) + ), + Effect.catchAll((cause) => + Effect.fail( + new AiError({ + module: "AnthropicCompletions", + method: "create", + description: "An error occurred", + cause + }) + ) + ) + ) + }, + stream({ span, ...options }) { + return makeRequest(options).pipe( + Effect.tap((request) => annotateRequest(span, request)), + Effect.map(client.stream), + Stream.unwrap, + Stream.tap((response) => { + annotateStreamResponse(span, response) + return Effect.void + }), + Stream.map((response) => response.asAiResponse), + Stream.catchAll((cause) => + Effect.fail( + new AiError({ + module: "AnthropicCompletions", + method: "stream", + description: "An error occurred", + cause + }) + ) + ) + ) + } + }) + }) + +/** + * @since 1.0.0 + * @category layers + */ +export const layerCompletions = (options: { + readonly model: (string & {}) | Model +}): Layer.Layer => Layer.effect(Completions.Completions, make(options)) + +/** + * @since 1.0.0 + * @category layers + */ +export const layer = (options: { + readonly model: (string & {}) | Model +}): Layer.Layer< + Completions.Completions | Tokenizer.Tokenizer, + never, + AnthropicClient +> => Layer.merge(layerCompletions(options), AnthropicTokenizer.layer) + +const makeMessages = ( + aiInput: AiInput.AiInput +): Arr.NonEmptyReadonlyArray => { + const messages: Array = [] + for (const input of aiInput) { + for (const message of convertMessage(input)) { + messages.push(message) + } + } + return messages as any +} + +const formatRole = (role: AiRole.AiRole) => { + switch (role._tag) { + case "UserWithName": + return { + role: "user", + name: safeName(role.name) + } as const + case "User": + return { + role: "user" + } as const + case "Model": + return { + role: "assistant" + } as const + } +} + +const convertMessage = ( + message: AiInput.Message +): Array => { + const messages: Array = [] + let parts: Array = [] + let toolCalls: Array = [] + function flushContent() { + if (parts.length === 0) return + messages.push({ + ...formatRole(message.role), + content: parts + }) + parts = [] + } + function flushToolCalls() { + if (toolCalls.length === 0) return + messages.push({ + role: "assistant", + content: toolCalls + }) + toolCalls = [] + } + for (const part of message.parts) { + if (part._tag === "ToolCall") { + flushContent() + toolCalls.push({ + id: part.id, + type: "tool_use", + name: part.name, + input: part.params as Record + }) + } else if (part._tag === "ToolCallResolved") { + flushContent() + flushToolCalls() + messages.push({ + role: "user", + content: [ + { + type: "tool_result", + tool_use_id: part.toolCallId, + content: JSON.stringify(part.value) + } + ] + }) + } else { + flushToolCalls() + parts.push(makeContentPart(part)) + } + } + flushContent() + flushToolCalls() + return messages +} + +const makeContentPart = ( + part: AiInput.TextPart | AiInput.ImagePart | AiInput.ImageUrlPart +): typeof Generated.InputContentBlock.Encoded => { + switch (part._tag) { + case "Image": + return { + type: "image", + source: { + type: "base64", + media_type: part.image.contentType as any, + data: part.asBase64 + } + } + case "ImageUrl": + throw new AiError({ + module: "AnthropicCompletions", + method: "create", + description: "Anthropic does not currently support adding URLs in either the text or image blocks" + }) + case "Text": + return { + type: "text", + text: part.content + } + } +} + +const makeResponse = Effect.fnUntraced(function*( + response: Generated.Message, + method: string, + structuredTool?: { + readonly name: string + readonly description: string + } +) { + if (structuredTool !== undefined && response.stop_reason === "tool_use") { + const [text, toolUse] = Arr.partition(response.content, (chunk) => chunk.type === "tool_use") + if (toolUse.length !== 1) { + return yield* new AiError({ + module: "AnthropicCompletions", + method, + description: "Unable to extract structured output tool call information from response" + }) + } + const tool = toolUse[0] + const textParts = text.map(({ text }) => AiResponse.TextPart.fromContent(text)) + const toolCallPart = AiResponse.ToolCallPart.fromUnknown({ + id: tool.id, + name: tool.name, + params: tool.input + }) + return AiResponse.AiResponse.make({ + role: AiRole.model, + parts: Chunk.unsafeFromArray([...textParts, toolCallPart]) + }) + } + const parts = response.content.map((chunk) => + chunk.type === "text" + ? AiResponse.TextPart.fromContent(chunk.text) + : AiResponse.ToolCallPart.fromUnknown({ + id: chunk.id, + name: chunk.name, + params: chunk.input + }) + ) + return AiResponse.AiResponse.make({ + role: AiRole.model, + parts: Chunk.unsafeFromArray(parts) + }) +}) + +const safeName = (name: string) => name.replace(/[^a-zA-Z0-9_-]/g, "_").replace(/_+/, "_") + +const annotateRequest = ( + span: Span, + request: typeof Generated.CreateMessageParams.Encoded +): void => { + addGenAIAnnotations(span, { + system: "anthropic", + operation: { name: "chat" }, + request: { + model: request.model, + temperature: request.temperature, + topK: request.top_k, + topP: request.top_p, + maxTokens: request.max_tokens, + stopSequences: Arr.ensure(request.stop_sequences).filter( + Predicate.isNotNullable + ) + } + }) +} + +const annotateChatResponse = ( + span: Span, + response: typeof Generated.Message.Encoded +): void => { + addGenAIAnnotations(span, { + response: { + id: response.id, + model: response.model, + finishReasons: response.stop_reason ? [response.stop_reason] : undefined + }, + usage: { + inputTokens: response.usage.input_tokens, + outputTokens: response.usage.output_tokens + } + }) +} + +const annotateStreamResponse = (span: Span, response: StreamChunk) => { + const usage = response.parts.find((part) => part._tag === "Usage") + if (Predicate.isNotNullable(usage)) { + addGenAIAnnotations(span, { + response: { + id: usage.id, + model: usage.model, + finishReasons: usage.finishReasons + }, + usage: { + inputTokens: usage.inputTokens, + outputTokens: usage.outputTokens + } + }) + } +} diff --git a/packages/ai/anthropic/src/AnthropicConfig.ts b/packages/ai/anthropic/src/AnthropicConfig.ts new file mode 100644 index 00000000000..4028e0994dd --- /dev/null +++ b/packages/ai/anthropic/src/AnthropicConfig.ts @@ -0,0 +1,65 @@ +/** + * @since 1.0.0 + */ +import type { HttpClient } from "@effect/platform/HttpClient" +import * as Context from "effect/Context" +import * as Effect from "effect/Effect" +import { dual } from "effect/Function" +import type { Simplify } from "effect/Types" +import type * as Generated from "./Generated.js" + +/** + * @since 1.0.0 + * @category tags + */ +export class AnthropicConfig extends Context.Tag("@effect/ai-openai/AnthropicConfig")< + AnthropicConfig, + AnthropicConfig.Service +>() { + /** + * @since 1.0.0 + */ + static readonly getOrUndefined: Effect.Effect = Effect.map( + Effect.context(), + (context) => context.unsafeMap.get(AnthropicConfig.key) + ) +} + +/** + * @since 1.0.0 + * @category models + */ +export declare namespace AnthropicConfig { + /** + * @since 1.0.0 + * @category models + */ + export interface Service extends + Simplify< + Partial< + Omit< + typeof Generated.CreateMessageParams.Encoded, + "messages" | "tools" | "tool_choice" | "stream" + > + > + > + { + readonly transformClient?: (client: HttpClient) => HttpClient + } +} + +/** + * @since 1.0.0 + * @category configuration + */ +export const withClientTransform = dual< + (transform: (client: HttpClient) => HttpClient) => (self: Effect.Effect) => Effect.Effect, + (self: Effect.Effect, transform: (client: HttpClient) => HttpClient) => Effect.Effect +>( + 2, + (self, transformClient) => + Effect.flatMap( + AnthropicConfig.getOrUndefined, + (config) => Effect.provideService(self, AnthropicConfig, { ...config, transformClient }) + ) +) diff --git a/packages/ai/anthropic/src/AnthropicTokenizer.ts b/packages/ai/anthropic/src/AnthropicTokenizer.ts new file mode 100644 index 00000000000..054879543ac --- /dev/null +++ b/packages/ai/anthropic/src/AnthropicTokenizer.ts @@ -0,0 +1,52 @@ +/** + * @since 1.0.0 + */ +import { getTokenizer } from "@anthropic-ai/tokenizer" +import { AiError } from "@effect/ai/AiError" +import * as Tokenizer from "@effect/ai/Tokenizer" +import * as Arr from "effect/Array" +import * as Chunk from "effect/Chunk" +import * as Effect from "effect/Effect" +import * as Layer from "effect/Layer" +import * as Option from "effect/Option" + +const make = Tokenizer.make({ + tokenize(content) { + return Effect.try({ + try: () => { + const tokenizer = getTokenizer() + const text = Arr.flatMap(Chunk.toReadonlyArray(content), (message) => + Arr.filterMap(message.parts, (part) => { + if (part._tag === "Image" || part._tag === "ImageUrl") { + return Option.none() + } + return Option.some( + part._tag === "Text" + ? part.content + : JSON.stringify( + part._tag === "ToolCall" + ? part.params : + part.value + ) + ) + })).join("") + const encoded = tokenizer.encode(text.normalize("NFKC"), "all") + tokenizer.free() + return Array.from(encoded) + }, + catch: (cause) => + new AiError({ + module: "OpenAiCompletions", + method: "tokenize", + description: "Could not tokenize", + cause + }) + }) + } +}) + +/** + * @since 1.0.0 + * @category layers + */ +export const layer: Layer.Layer = Layer.succeed(Tokenizer.Tokenizer, make) diff --git a/packages/ai/anthropic/src/Generated.ts b/packages/ai/anthropic/src/Generated.ts new file mode 100644 index 00000000000..6beeda7c1d1 --- /dev/null +++ b/packages/ai/anthropic/src/Generated.ts @@ -0,0 +1,1811 @@ +/** + * @since 1.0.0 + */ +import type * as HttpClient from "@effect/platform/HttpClient" +import * as HttpClientError from "@effect/platform/HttpClientError" +import * as HttpClientRequest from "@effect/platform/HttpClientRequest" +import * as HttpClientResponse from "@effect/platform/HttpClientResponse" +import * as Effect from "effect/Effect" +import type { ParseError } from "effect/ParseResult" +import * as S from "effect/Schema" + +export class MessagesPostParams extends S.Struct({ + "anthropic-version": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class ModelEnum extends S.Literal( + "claude-3-5-haiku-latest", + "claude-3-5-haiku-20241022", + "claude-3-5-sonnet-latest", + "claude-3-5-sonnet-20241022", + "claude-3-5-sonnet-20240620", + "claude-3-opus-latest", + "claude-3-opus-20240229", + "claude-3-sonnet-20240229", + "claude-3-haiku-20240307", + "claude-2.1", + "claude-2.0" +) {} + +export class Model extends S.Union(S.String, ModelEnum) {} + +export class InputMessageRole extends S.Literal("user", "assistant") {} + +export class CacheControlEphemeralType extends S.Literal("ephemeral") {} + +export class CacheControlEphemeral extends S.Struct({ + "type": CacheControlEphemeralType +}) {} + +export class RequestCharLocationCitationType extends S.Literal("char_location") {} + +export class RequestCharLocationCitation extends S.Struct({ + "type": RequestCharLocationCitationType, + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String.pipe(S.minLength(1), S.maxLength(255)), S.Null), + "start_char_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "end_char_index": S.Int +}) {} + +export class RequestPageLocationCitationType extends S.Literal("page_location") {} + +export class RequestPageLocationCitation extends S.Struct({ + "type": RequestPageLocationCitationType, + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String.pipe(S.minLength(1), S.maxLength(255)), S.Null), + "start_page_number": S.Int.pipe(S.greaterThanOrEqualTo(1)), + "end_page_number": S.Int +}) {} + +export class RequestContentBlockLocationCitationType extends S.Literal("content_block_location") {} + +export class RequestContentBlockLocationCitation extends S.Struct({ + "type": RequestContentBlockLocationCitationType, + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String.pipe(S.minLength(1), S.maxLength(255)), S.Null), + "start_block_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "end_block_index": S.Int +}) {} + +export class RequestTextBlockType extends S.Literal("text") {} + +export class RequestTextBlock extends S.Struct({ + "cache_control": S.optionalWith(S.Union(CacheControlEphemeral, S.Null), { nullable: true }), + "citations": S.optionalWith( + S.Union( + S.Array(S.Union(RequestCharLocationCitation, RequestPageLocationCitation, RequestContentBlockLocationCitation)), + S.Null + ), + { nullable: true } + ), + "text": S.String.pipe(S.minLength(1)), + "type": RequestTextBlockType +}) {} + +export class RequestImageBlockType extends S.Literal("image") {} + +export class Base64ImageSourceType extends S.Literal("base64") {} + +export class Base64ImageSourceMediaType extends S.Literal("image/jpeg", "image/png", "image/gif", "image/webp") {} + +export class Base64ImageSource extends S.Struct({ + "type": Base64ImageSourceType, + "media_type": Base64ImageSourceMediaType, + "data": S.String +}) {} + +export class RequestImageBlock extends S.Struct({ + "cache_control": S.optionalWith(S.Union(CacheControlEphemeral, S.Null), { nullable: true }), + "type": RequestImageBlockType, + "source": Base64ImageSource +}) {} + +export class RequestToolUseBlockType extends S.Literal("tool_use") {} + +export class RequestToolUseBlock extends S.Struct({ + "cache_control": S.optionalWith(S.Union(CacheControlEphemeral, S.Null), { nullable: true }), + "type": RequestToolUseBlockType, + "id": S.String.pipe(S.pattern(new RegExp("^[a-zA-Z0-9_-]+$"))), + "name": S.String.pipe(S.minLength(1), S.maxLength(64), S.pattern(new RegExp("^[a-zA-Z0-9_-]{1,64}$"))), + "input": S.Record({ key: S.String, value: S.Unknown }) +}) {} + +export class RequestToolResultBlockType extends S.Literal("tool_result") {} + +export class RequestToolResultBlock extends S.Struct({ + "cache_control": S.optionalWith(S.Union(CacheControlEphemeral, S.Null), { nullable: true }), + "type": RequestToolResultBlockType, + "tool_use_id": S.String.pipe(S.pattern(new RegExp("^[a-zA-Z0-9_-]+$"))), + "is_error": S.optionalWith(S.Boolean, { nullable: true }), + "content": S.optionalWith(S.Union(S.String, S.Array(S.Union(RequestTextBlock, RequestImageBlock))), { + nullable: true + }) +}) {} + +export class RequestDocumentBlockType extends S.Literal("document") {} + +export class Base64PDFSourceType extends S.Literal("base64") {} + +export class Base64PDFSourceMediaType extends S.Literal("application/pdf") {} + +export class Base64PDFSource extends S.Struct({ + "type": Base64PDFSourceType, + "media_type": Base64PDFSourceMediaType, + "data": S.String +}) {} + +export class PlainTextSourceType extends S.Literal("text") {} + +export class PlainTextSourceMediaType extends S.Literal("text/plain") {} + +export class PlainTextSource extends S.Struct({ + "type": PlainTextSourceType, + "media_type": PlainTextSourceMediaType, + "data": S.String +}) {} + +export class ContentBlockSourceType extends S.Literal("content") {} + +export class ContentBlockSource extends S.Struct({ + "type": ContentBlockSourceType, + "content": S.Union(S.String, S.Array(S.Union(RequestTextBlock, RequestImageBlock))) +}) {} + +export class RequestCitationsConfig extends S.Struct({ + "enabled": S.optionalWith(S.Boolean, { nullable: true }) +}) {} + +export class RequestDocumentBlock extends S.Struct({ + "cache_control": S.optionalWith(S.Union(CacheControlEphemeral, S.Null), { nullable: true }), + "type": RequestDocumentBlockType, + "source": S.Union(Base64PDFSource, PlainTextSource, ContentBlockSource), + "title": S.optionalWith(S.Union(S.String.pipe(S.minLength(1), S.maxLength(255)), S.Null), { nullable: true }), + "context": S.optionalWith(S.Union(S.String.pipe(S.minLength(1)), S.Null), { nullable: true }), + "citations": S.optionalWith(RequestCitationsConfig, { nullable: true }) +}) {} + +export class InputContentBlock extends S.Union( + RequestTextBlock, + RequestImageBlock, + RequestToolUseBlock, + RequestToolResultBlock, + RequestDocumentBlock +) {} + +export class InputMessage extends S.Struct({ + "role": InputMessageRole, + "content": S.Union(S.String, S.Array(InputContentBlock)) +}) {} + +export class Metadata extends S.Struct({ + "user_id": S.optionalWith(S.Union(S.String.pipe(S.maxLength(256)), S.Null), { nullable: true }) +}) {} + +export class ToolChoiceAutoType extends S.Literal("auto") {} + +export class ToolChoiceAuto extends S.Struct({ + "type": ToolChoiceAutoType, + "disable_parallel_tool_use": S.optionalWith(S.Boolean, { nullable: true }) +}) {} + +export class ToolChoiceAnyType extends S.Literal("any") {} + +export class ToolChoiceAny extends S.Struct({ + "type": ToolChoiceAnyType, + "disable_parallel_tool_use": S.optionalWith(S.Boolean, { nullable: true }) +}) {} + +export class ToolChoiceToolType extends S.Literal("tool") {} + +export class ToolChoiceTool extends S.Struct({ + "type": ToolChoiceToolType, + "name": S.String, + "disable_parallel_tool_use": S.optionalWith(S.Boolean, { nullable: true }) +}) {} + +export class ToolChoice extends S.Union(ToolChoiceAuto, ToolChoiceAny, ToolChoiceTool) {} + +export class InputSchemaType extends S.Literal("object") {} + +export class InputSchema extends S.Struct({ + "type": InputSchemaType, + "properties": S.optionalWith(S.Union(S.Record({ key: S.String, value: S.Unknown }), S.Null), { nullable: true }) +}) {} + +export class Tool extends S.Struct({ + "description": S.optionalWith(S.String, { nullable: true }), + "name": S.String.pipe(S.minLength(1), S.maxLength(64), S.pattern(new RegExp("^[a-zA-Z0-9_-]{1,64}$"))), + "input_schema": InputSchema, + "cache_control": S.optionalWith(S.Union(CacheControlEphemeral, S.Null), { nullable: true }) +}) {} + +export class CreateMessageParams extends S.Class("CreateMessageParams")({ + "model": Model, + "messages": S.Array(InputMessage), + "max_tokens": S.Int.pipe(S.greaterThanOrEqualTo(1)), + "metadata": S.optionalWith(Metadata, { nullable: true }), + "stop_sequences": S.optionalWith(S.Array(S.String), { nullable: true }), + "stream": S.optionalWith(S.Boolean, { nullable: true }), + "system": S.optionalWith(S.Union(S.String, S.Array(RequestTextBlock)), { nullable: true }), + "temperature": S.optionalWith(S.Number.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(1)), { nullable: true }), + "tool_choice": S.optionalWith(ToolChoice, { nullable: true }), + "tools": S.optionalWith(S.Array(Tool), { nullable: true }), + "top_k": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(0)), { nullable: true }), + "top_p": S.optionalWith(S.Number.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(1)), { nullable: true }) +}) {} + +export class MessageType extends S.Literal("message") {} + +export class MessageRole extends S.Literal("assistant") {} + +export class ResponseTextBlockType extends S.Literal("text") {} + +export class ResponseCharLocationCitationType extends S.Literal("char_location") {} + +export class ResponseCharLocationCitation extends S.Struct({ + "type": ResponseCharLocationCitationType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "char_location" as const) + ), + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String, S.Null), + "start_char_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "end_char_index": S.Int +}) {} + +export class ResponsePageLocationCitationType extends S.Literal("page_location") {} + +export class ResponsePageLocationCitation extends S.Struct({ + "type": ResponsePageLocationCitationType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "page_location" as const) + ), + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String, S.Null), + "start_page_number": S.Int.pipe(S.greaterThanOrEqualTo(1)), + "end_page_number": S.Int +}) {} + +export class ResponseContentBlockLocationCitationType extends S.Literal("content_block_location") {} + +export class ResponseContentBlockLocationCitation extends S.Struct({ + "type": ResponseContentBlockLocationCitationType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "content_block_location" as const) + ), + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String, S.Null), + "start_block_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "end_block_index": S.Int +}) {} + +export class ResponseTextBlock extends S.Struct({ + "type": ResponseTextBlockType.pipe(S.propertySignature, S.withConstructorDefault(() => "text" as const)), + "text": S.String.pipe(S.minLength(0), S.maxLength(5000000)), + "citations": S.optionalWith( + S.NullOr( + S.Union( + S.Array( + S.Union(ResponseCharLocationCitation, ResponsePageLocationCitation, ResponseContentBlockLocationCitation) + ), + S.Null + ) + ), + { default: () => null } + ) +}) {} + +export class ResponseToolUseBlockType extends S.Literal("tool_use") {} + +export class ResponseToolUseBlock extends S.Struct({ + "type": ResponseToolUseBlockType.pipe(S.propertySignature, S.withConstructorDefault(() => "tool_use" as const)), + "id": S.String.pipe(S.pattern(new RegExp("^[a-zA-Z0-9_-]+$"))), + "name": S.String.pipe(S.minLength(1)), + "input": S.Record({ key: S.String, value: S.Unknown }) +}) {} + +export class ContentBlock extends S.Union(ResponseTextBlock, ResponseToolUseBlock) {} + +export class MessageStopReasonEnum extends S.Literal("end_turn", "max_tokens", "stop_sequence", "tool_use") {} + +export class Usage extends S.Struct({ + "input_tokens": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "cache_creation_input_tokens": S.optionalWith(S.NullOr(S.Union(S.Int.pipe(S.greaterThanOrEqualTo(0)), S.Null)), { + default: () => null + }), + "cache_read_input_tokens": S.optionalWith(S.NullOr(S.Union(S.Int.pipe(S.greaterThanOrEqualTo(0)), S.Null)), { + default: () => null + }), + "output_tokens": S.Int.pipe(S.greaterThanOrEqualTo(0)) +}) {} + +export class Message extends S.Class("Message")({ + "id": S.String, + "type": MessageType.pipe(S.propertySignature, S.withConstructorDefault(() => "message" as const)), + "role": MessageRole.pipe(S.propertySignature, S.withConstructorDefault(() => "assistant" as const)), + "content": S.Array(ContentBlock), + "model": Model, + "stop_reason": S.Union(MessageStopReasonEnum, S.Null), + "stop_sequence": S.optionalWith(S.NullOr(S.Union(S.String, S.Null)), { default: () => null }), + "usage": Usage +}) {} + +export class ErrorResponseType extends S.Literal("error") {} + +export class InvalidRequestErrorType extends S.Literal("invalid_request_error") {} + +export class InvalidRequestError extends S.Struct({ + "type": InvalidRequestErrorType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "invalid_request_error" as const) + ), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Invalid request" as const)) +}) {} + +export class AuthenticationErrorType extends S.Literal("authentication_error") {} + +export class AuthenticationError extends S.Struct({ + "type": AuthenticationErrorType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "authentication_error" as const) + ), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Authentication error" as const)) +}) {} + +export class BillingErrorType extends S.Literal("billing_error") {} + +export class BillingError extends S.Struct({ + "type": BillingErrorType.pipe(S.propertySignature, S.withConstructorDefault(() => "billing_error" as const)), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Billing error" as const)) +}) {} + +export class PermissionErrorType extends S.Literal("permission_error") {} + +export class PermissionError extends S.Struct({ + "type": PermissionErrorType.pipe(S.propertySignature, S.withConstructorDefault(() => "permission_error" as const)), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Permission denied" as const)) +}) {} + +export class NotFoundErrorType extends S.Literal("not_found_error") {} + +export class NotFoundError extends S.Struct({ + "type": NotFoundErrorType.pipe(S.propertySignature, S.withConstructorDefault(() => "not_found_error" as const)), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Not found" as const)) +}) {} + +export class RateLimitErrorType extends S.Literal("rate_limit_error") {} + +export class RateLimitError extends S.Struct({ + "type": RateLimitErrorType.pipe(S.propertySignature, S.withConstructorDefault(() => "rate_limit_error" as const)), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Rate limited" as const)) +}) {} + +export class GatewayTimeoutErrorType extends S.Literal("timeout_error") {} + +export class GatewayTimeoutError extends S.Struct({ + "type": GatewayTimeoutErrorType.pipe(S.propertySignature, S.withConstructorDefault(() => "timeout_error" as const)), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Request timeout" as const)) +}) {} + +export class APIErrorType extends S.Literal("api_error") {} + +export class APIError extends S.Struct({ + "type": APIErrorType.pipe(S.propertySignature, S.withConstructorDefault(() => "api_error" as const)), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Internal server error" as const)) +}) {} + +export class OverloadedErrorType extends S.Literal("overloaded_error") {} + +export class OverloadedError extends S.Struct({ + "type": OverloadedErrorType.pipe(S.propertySignature, S.withConstructorDefault(() => "overloaded_error" as const)), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Overloaded" as const)) +}) {} + +export class ErrorResponse extends S.Class("ErrorResponse")({ + "type": ErrorResponseType.pipe(S.propertySignature, S.withConstructorDefault(() => "error" as const)), + "error": S.Union( + InvalidRequestError, + AuthenticationError, + BillingError, + PermissionError, + NotFoundError, + RateLimitError, + GatewayTimeoutError, + APIError, + OverloadedError + ) +}) {} + +export class CompletePostParams extends S.Struct({ + "anthropic-version": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class CompletionRequest extends S.Class("CompletionRequest")({ + "model": Model, + "prompt": S.String.pipe(S.minLength(1)), + "max_tokens_to_sample": S.Int.pipe(S.greaterThanOrEqualTo(1)), + "stop_sequences": S.optionalWith(S.Array(S.String), { nullable: true }), + "temperature": S.optionalWith(S.Number.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(1)), { nullable: true }), + "top_p": S.optionalWith(S.Number.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(1)), { nullable: true }), + "top_k": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(0)), { nullable: true }), + "metadata": S.optionalWith(Metadata, { nullable: true }), + "stream": S.optionalWith(S.Boolean, { nullable: true }) +}) {} + +export class CompletionResponseType extends S.Literal("completion") {} + +export class CompletionResponse extends S.Class("CompletionResponse")({ + "type": CompletionResponseType.pipe(S.propertySignature, S.withConstructorDefault(() => "completion" as const)), + "id": S.String, + "completion": S.String, + "stop_reason": S.Union(S.String, S.Null), + "model": Model +}) {} + +export class ModelsListParams extends S.Struct({ + "before_id": S.optionalWith(S.String, { nullable: true }), + "after_id": S.optionalWith(S.String, { nullable: true }), + "limit": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(1000)), { + nullable: true, + default: () => 20 as const + }), + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class ModelInfoType extends S.Literal("model") {} + +export class ModelInfo extends S.Struct({ + "type": ModelInfoType.pipe(S.propertySignature, S.withConstructorDefault(() => "model" as const)), + "id": S.String, + "display_name": S.String, + "created_at": S.String +}) {} + +export class ListResponseModelInfo extends S.Class("ListResponseModelInfo")({ + "data": S.Array(ModelInfo), + "has_more": S.Boolean, + "first_id": S.Union(S.String, S.Null), + "last_id": S.Union(S.String, S.Null) +}) {} + +export class ModelsGetParams extends S.Struct({ + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class MessageBatchesListParams extends S.Struct({ + "before_id": S.optionalWith(S.String, { nullable: true }), + "after_id": S.optionalWith(S.String, { nullable: true }), + "limit": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(1000)), { + nullable: true, + default: () => 20 as const + }), + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class MessageBatchType extends S.Literal("message_batch") {} + +export class MessageBatchProcessingStatus extends S.Literal("in_progress", "canceling", "ended") {} + +export class RequestCounts extends S.Struct({ + "processing": S.Int.pipe(S.propertySignature, S.withConstructorDefault(() => 0 as const)), + "succeeded": S.Int.pipe(S.propertySignature, S.withConstructorDefault(() => 0 as const)), + "errored": S.Int.pipe(S.propertySignature, S.withConstructorDefault(() => 0 as const)), + "canceled": S.Int.pipe(S.propertySignature, S.withConstructorDefault(() => 0 as const)), + "expired": S.Int.pipe(S.propertySignature, S.withConstructorDefault(() => 0 as const)) +}) {} + +export class MessageBatch extends S.Struct({ + "id": S.String, + "type": MessageBatchType.pipe(S.propertySignature, S.withConstructorDefault(() => "message_batch" as const)), + "processing_status": MessageBatchProcessingStatus, + "request_counts": RequestCounts, + "ended_at": S.Union(S.String, S.Null), + "created_at": S.String, + "expires_at": S.String, + "archived_at": S.Union(S.String, S.Null), + "cancel_initiated_at": S.Union(S.String, S.Null), + "results_url": S.Union(S.String, S.Null) +}) {} + +export class ListResponseMessageBatch extends S.Class("ListResponseMessageBatch")({ + "data": S.Array(MessageBatch), + "has_more": S.Boolean, + "first_id": S.Union(S.String, S.Null), + "last_id": S.Union(S.String, S.Null) +}) {} + +export class MessageBatchesPostParams extends S.Struct({ + "anthropic-version": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class MessageBatchIndividualRequestParams extends S.Struct({ + "custom_id": S.String.pipe(S.minLength(1), S.maxLength(64), S.pattern(new RegExp("^[a-zA-Z0-9_-]{1,64}$"))), + "params": CreateMessageParams +}) {} + +export class CreateMessageBatchParams extends S.Class("CreateMessageBatchParams")({ + "requests": S.Array(MessageBatchIndividualRequestParams).pipe(S.minItems(1), S.maxItems(10000)) +}) {} + +export class MessageBatchesRetrieveParams extends S.Struct({ + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class MessageBatchesDeleteParams extends S.Struct({ + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class DeleteMessageBatchResponseType extends S.Literal("message_batch_deleted") {} + +export class DeleteMessageBatchResponse extends S.Class("DeleteMessageBatchResponse")({ + "id": S.String, + "type": DeleteMessageBatchResponseType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "message_batch_deleted" as const) + ) +}) {} + +export class MessageBatchesCancelParams extends S.Struct({ + "anthropic-version": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class MessageBatchesResultsParams extends S.Struct({ + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class MessagesCountTokensPostParams extends S.Struct({ + "anthropic-version": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class CountMessageTokensParams extends S.Class("CountMessageTokensParams")({ + "tool_choice": S.optionalWith(ToolChoice, { nullable: true }), + "tools": S.optionalWith(S.Array(Tool), { nullable: true }), + "messages": S.Array(InputMessage), + "system": S.optionalWith(S.Union(S.String, S.Array(RequestTextBlock)), { nullable: true }), + "model": Model +}) {} + +export class CountMessageTokensResponse extends S.Class("CountMessageTokensResponse")({ + "input_tokens": S.Int +}) {} + +export class BetaMessagesPostParams extends S.Struct({ + "anthropic-beta": S.optionalWith(S.String, { nullable: true }), + "anthropic-version": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class BetaInputMessageRole extends S.Literal("user", "assistant") {} + +export class BetaCacheControlEphemeralType extends S.Literal("ephemeral") {} + +export class BetaCacheControlEphemeral extends S.Struct({ + "type": BetaCacheControlEphemeralType +}) {} + +export class BetaRequestCharLocationCitationType extends S.Literal("char_location") {} + +export class BetaRequestCharLocationCitation extends S.Struct({ + "type": BetaRequestCharLocationCitationType, + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String.pipe(S.minLength(1), S.maxLength(255)), S.Null), + "start_char_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "end_char_index": S.Int +}) {} + +export class BetaRequestPageLocationCitationType extends S.Literal("page_location") {} + +export class BetaRequestPageLocationCitation extends S.Struct({ + "type": BetaRequestPageLocationCitationType, + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String.pipe(S.minLength(1), S.maxLength(255)), S.Null), + "start_page_number": S.Int.pipe(S.greaterThanOrEqualTo(1)), + "end_page_number": S.Int +}) {} + +export class BetaRequestContentBlockLocationCitationType extends S.Literal("content_block_location") {} + +export class BetaRequestContentBlockLocationCitation extends S.Struct({ + "type": BetaRequestContentBlockLocationCitationType, + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String.pipe(S.minLength(1), S.maxLength(255)), S.Null), + "start_block_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "end_block_index": S.Int +}) {} + +export class BetaRequestTextBlockType extends S.Literal("text") {} + +export class BetaRequestTextBlock extends S.Struct({ + "cache_control": S.optionalWith(S.Union(BetaCacheControlEphemeral, S.Null), { nullable: true }), + "citations": S.optionalWith( + S.Union( + S.Array( + S.Union( + BetaRequestCharLocationCitation, + BetaRequestPageLocationCitation, + BetaRequestContentBlockLocationCitation + ) + ), + S.Null + ), + { nullable: true } + ), + "text": S.String.pipe(S.minLength(1)), + "type": BetaRequestTextBlockType +}) {} + +export class BetaRequestImageBlockType extends S.Literal("image") {} + +export class BetaBase64ImageSourceType extends S.Literal("base64") {} + +export class BetaBase64ImageSourceMediaType extends S.Literal("image/jpeg", "image/png", "image/gif", "image/webp") {} + +export class BetaBase64ImageSource extends S.Struct({ + "type": BetaBase64ImageSourceType, + "media_type": BetaBase64ImageSourceMediaType, + "data": S.String +}) {} + +export class BetaRequestImageBlock extends S.Struct({ + "cache_control": S.optionalWith(S.Union(BetaCacheControlEphemeral, S.Null), { nullable: true }), + "type": BetaRequestImageBlockType, + "source": BetaBase64ImageSource +}) {} + +export class BetaRequestToolUseBlockType extends S.Literal("tool_use") {} + +export class BetaRequestToolUseBlock extends S.Struct({ + "cache_control": S.optionalWith(S.Union(BetaCacheControlEphemeral, S.Null), { nullable: true }), + "type": BetaRequestToolUseBlockType, + "id": S.String.pipe(S.pattern(new RegExp("^[a-zA-Z0-9_-]+$"))), + "name": S.String.pipe(S.minLength(1), S.maxLength(64), S.pattern(new RegExp("^[a-zA-Z0-9_-]{1,64}$"))), + "input": S.Record({ key: S.String, value: S.Unknown }) +}) {} + +export class BetaRequestToolResultBlockType extends S.Literal("tool_result") {} + +export class BetaRequestToolResultBlock extends S.Struct({ + "cache_control": S.optionalWith(S.Union(BetaCacheControlEphemeral, S.Null), { nullable: true }), + "type": BetaRequestToolResultBlockType, + "tool_use_id": S.String.pipe(S.pattern(new RegExp("^[a-zA-Z0-9_-]+$"))), + "is_error": S.optionalWith(S.Boolean, { nullable: true }), + "content": S.optionalWith(S.Union(S.String, S.Array(S.Union(BetaRequestTextBlock, BetaRequestImageBlock))), { + nullable: true + }) +}) {} + +export class BetaRequestDocumentBlockType extends S.Literal("document") {} + +export class BetaBase64PDFSourceType extends S.Literal("base64") {} + +export class BetaBase64PDFSourceMediaType extends S.Literal("application/pdf") {} + +export class BetaBase64PDFSource extends S.Struct({ + "type": BetaBase64PDFSourceType, + "media_type": BetaBase64PDFSourceMediaType, + "data": S.String +}) {} + +export class BetaPlainTextSourceType extends S.Literal("text") {} + +export class BetaPlainTextSourceMediaType extends S.Literal("text/plain") {} + +export class BetaPlainTextSource extends S.Struct({ + "type": BetaPlainTextSourceType, + "media_type": BetaPlainTextSourceMediaType, + "data": S.String +}) {} + +export class BetaContentBlockSourceType extends S.Literal("content") {} + +export class BetaContentBlockSource extends S.Struct({ + "type": BetaContentBlockSourceType, + "content": S.Union(S.String, S.Array(S.Union(BetaRequestTextBlock, BetaRequestImageBlock))) +}) {} + +export class BetaRequestCitationsConfig extends S.Struct({ + "enabled": S.optionalWith(S.Boolean, { nullable: true }) +}) {} + +export class BetaRequestDocumentBlock extends S.Struct({ + "cache_control": S.optionalWith(S.Union(BetaCacheControlEphemeral, S.Null), { nullable: true }), + "type": BetaRequestDocumentBlockType, + "source": S.Union(BetaBase64PDFSource, BetaPlainTextSource, BetaContentBlockSource), + "title": S.optionalWith(S.Union(S.String.pipe(S.minLength(1), S.maxLength(255)), S.Null), { nullable: true }), + "context": S.optionalWith(S.Union(S.String.pipe(S.minLength(1)), S.Null), { nullable: true }), + "citations": S.optionalWith(BetaRequestCitationsConfig, { nullable: true }) +}) {} + +export class BetaInputContentBlock extends S.Union( + BetaRequestTextBlock, + BetaRequestImageBlock, + BetaRequestToolUseBlock, + BetaRequestToolResultBlock, + BetaRequestDocumentBlock +) {} + +export class BetaInputMessage extends S.Struct({ + "role": BetaInputMessageRole, + "content": S.Union(S.String, S.Array(BetaInputContentBlock)) +}) {} + +export class BetaMetadata extends S.Struct({ + "user_id": S.optionalWith(S.Union(S.String.pipe(S.maxLength(256)), S.Null), { nullable: true }) +}) {} + +export class BetaToolChoiceAutoType extends S.Literal("auto") {} + +export class BetaToolChoiceAuto extends S.Struct({ + "type": BetaToolChoiceAutoType, + "disable_parallel_tool_use": S.optionalWith(S.Boolean, { nullable: true }) +}) {} + +export class BetaToolChoiceAnyType extends S.Literal("any") {} + +export class BetaToolChoiceAny extends S.Struct({ + "type": BetaToolChoiceAnyType, + "disable_parallel_tool_use": S.optionalWith(S.Boolean, { nullable: true }) +}) {} + +export class BetaToolChoiceToolType extends S.Literal("tool") {} + +export class BetaToolChoiceTool extends S.Struct({ + "type": BetaToolChoiceToolType, + "name": S.String, + "disable_parallel_tool_use": S.optionalWith(S.Boolean, { nullable: true }) +}) {} + +export class BetaToolChoice extends S.Union(BetaToolChoiceAuto, BetaToolChoiceAny, BetaToolChoiceTool) {} + +export class BetaToolTypeEnum extends S.Literal("custom") {} + +export class BetaInputSchemaType extends S.Literal("object") {} + +export class BetaInputSchema extends S.Struct({ + "type": BetaInputSchemaType, + "properties": S.optionalWith(S.Union(S.Record({ key: S.String, value: S.Unknown }), S.Null), { nullable: true }) +}) {} + +export class BetaTool extends S.Struct({ + "type": S.optionalWith(S.Union(S.Null, BetaToolTypeEnum), { nullable: true }), + "description": S.optionalWith(S.String, { nullable: true }), + "name": S.String.pipe(S.minLength(1), S.maxLength(64), S.pattern(new RegExp("^[a-zA-Z0-9_-]{1,64}$"))), + "input_schema": BetaInputSchema, + "cache_control": S.optionalWith(S.Union(BetaCacheControlEphemeral, S.Null), { nullable: true }) +}) {} + +export class BetaComputerUseTool20241022Type extends S.Literal("computer_20241022") {} + +export class BetaComputerUseTool20241022Name extends S.Literal("computer") {} + +export class BetaComputerUseTool20241022 extends S.Struct({ + "cache_control": S.optionalWith(S.Union(BetaCacheControlEphemeral, S.Null), { nullable: true }), + "type": BetaComputerUseTool20241022Type, + "name": BetaComputerUseTool20241022Name, + "display_height_px": S.Int.pipe(S.greaterThanOrEqualTo(1)), + "display_width_px": S.Int.pipe(S.greaterThanOrEqualTo(1)), + "display_number": S.optionalWith(S.Union(S.Int.pipe(S.greaterThanOrEqualTo(0)), S.Null), { nullable: true }) +}) {} + +export class BetaBashTool20241022Type extends S.Literal("bash_20241022") {} + +export class BetaBashTool20241022Name extends S.Literal("bash") {} + +export class BetaBashTool20241022 extends S.Struct({ + "cache_control": S.optionalWith(S.Union(BetaCacheControlEphemeral, S.Null), { nullable: true }), + "type": BetaBashTool20241022Type, + "name": BetaBashTool20241022Name +}) {} + +export class BetaTextEditor20241022Type extends S.Literal("text_editor_20241022") {} + +export class BetaTextEditor20241022Name extends S.Literal("str_replace_editor") {} + +export class BetaTextEditor20241022 extends S.Struct({ + "cache_control": S.optionalWith(S.Union(BetaCacheControlEphemeral, S.Null), { nullable: true }), + "type": BetaTextEditor20241022Type, + "name": BetaTextEditor20241022Name +}) {} + +export class BetaCreateMessageParams extends S.Class("BetaCreateMessageParams")({ + "model": Model, + "messages": S.Array(BetaInputMessage), + "max_tokens": S.Int.pipe(S.greaterThanOrEqualTo(1)), + "metadata": S.optionalWith(BetaMetadata, { nullable: true }), + "stop_sequences": S.optionalWith(S.Array(S.String), { nullable: true }), + "stream": S.optionalWith(S.Boolean, { nullable: true }), + "system": S.optionalWith(S.Union(S.String, S.Array(BetaRequestTextBlock)), { nullable: true }), + "temperature": S.optionalWith(S.Number.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(1)), { nullable: true }), + "tool_choice": S.optionalWith(BetaToolChoice, { nullable: true }), + "tools": S.optionalWith( + S.Array(S.Union(BetaTool, BetaComputerUseTool20241022, BetaBashTool20241022, BetaTextEditor20241022)), + { nullable: true } + ), + "top_k": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(0)), { nullable: true }), + "top_p": S.optionalWith(S.Number.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(1)), { nullable: true }) +}) {} + +export class BetaMessageType extends S.Literal("message") {} + +export class BetaMessageRole extends S.Literal("assistant") {} + +export class BetaResponseTextBlockType extends S.Literal("text") {} + +export class BetaResponseCharLocationCitationType extends S.Literal("char_location") {} + +export class BetaResponseCharLocationCitation extends S.Struct({ + "type": BetaResponseCharLocationCitationType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "char_location" as const) + ), + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String, S.Null), + "start_char_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "end_char_index": S.Int +}) {} + +export class BetaResponsePageLocationCitationType extends S.Literal("page_location") {} + +export class BetaResponsePageLocationCitation extends S.Struct({ + "type": BetaResponsePageLocationCitationType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "page_location" as const) + ), + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String, S.Null), + "start_page_number": S.Int.pipe(S.greaterThanOrEqualTo(1)), + "end_page_number": S.Int +}) {} + +export class BetaResponseContentBlockLocationCitationType extends S.Literal("content_block_location") {} + +export class BetaResponseContentBlockLocationCitation extends S.Struct({ + "type": BetaResponseContentBlockLocationCitationType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "content_block_location" as const) + ), + "cited_text": S.String, + "document_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "document_title": S.Union(S.String, S.Null), + "start_block_index": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "end_block_index": S.Int +}) {} + +export class BetaResponseTextBlock extends S.Struct({ + "type": BetaResponseTextBlockType.pipe(S.propertySignature, S.withConstructorDefault(() => "text" as const)), + "text": S.String.pipe(S.minLength(0), S.maxLength(5000000)), + "citations": S.optionalWith( + S.NullOr( + S.Union( + S.Array( + S.Union( + BetaResponseCharLocationCitation, + BetaResponsePageLocationCitation, + BetaResponseContentBlockLocationCitation + ) + ), + S.Null + ) + ), + { default: () => null } + ) +}) {} + +export class BetaResponseToolUseBlockType extends S.Literal("tool_use") {} + +export class BetaResponseToolUseBlock extends S.Struct({ + "type": BetaResponseToolUseBlockType.pipe(S.propertySignature, S.withConstructorDefault(() => "tool_use" as const)), + "id": S.String.pipe(S.pattern(new RegExp("^[a-zA-Z0-9_-]+$"))), + "name": S.String.pipe(S.minLength(1)), + "input": S.Record({ key: S.String, value: S.Unknown }) +}) {} + +export class BetaContentBlock extends S.Union(BetaResponseTextBlock, BetaResponseToolUseBlock) {} + +export class BetaMessageStopReasonEnum extends S.Literal("end_turn", "max_tokens", "stop_sequence", "tool_use") {} + +export class BetaUsage extends S.Struct({ + "input_tokens": S.Int.pipe(S.greaterThanOrEqualTo(0)), + "cache_creation_input_tokens": S.optionalWith(S.NullOr(S.Union(S.Int.pipe(S.greaterThanOrEqualTo(0)), S.Null)), { + default: () => null + }), + "cache_read_input_tokens": S.optionalWith(S.NullOr(S.Union(S.Int.pipe(S.greaterThanOrEqualTo(0)), S.Null)), { + default: () => null + }), + "output_tokens": S.Int.pipe(S.greaterThanOrEqualTo(0)) +}) {} + +export class BetaMessage extends S.Class("BetaMessage")({ + "id": S.String, + "type": BetaMessageType.pipe(S.propertySignature, S.withConstructorDefault(() => "message" as const)), + "role": BetaMessageRole.pipe(S.propertySignature, S.withConstructorDefault(() => "assistant" as const)), + "content": S.Array(BetaContentBlock), + "model": Model, + "stop_reason": S.Union(BetaMessageStopReasonEnum, S.Null), + "stop_sequence": S.optionalWith(S.NullOr(S.Union(S.String, S.Null)), { default: () => null }), + "usage": BetaUsage +}) {} + +export class BetaErrorResponseType extends S.Literal("error") {} + +export class BetaInvalidRequestErrorType extends S.Literal("invalid_request_error") {} + +export class BetaInvalidRequestError extends S.Struct({ + "type": BetaInvalidRequestErrorType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "invalid_request_error" as const) + ), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Invalid request" as const)) +}) {} + +export class BetaAuthenticationErrorType extends S.Literal("authentication_error") {} + +export class BetaAuthenticationError extends S.Struct({ + "type": BetaAuthenticationErrorType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "authentication_error" as const) + ), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Authentication error" as const)) +}) {} + +export class BetaBillingErrorType extends S.Literal("billing_error") {} + +export class BetaBillingError extends S.Struct({ + "type": BetaBillingErrorType.pipe(S.propertySignature, S.withConstructorDefault(() => "billing_error" as const)), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Billing error" as const)) +}) {} + +export class BetaPermissionErrorType extends S.Literal("permission_error") {} + +export class BetaPermissionError extends S.Struct({ + "type": BetaPermissionErrorType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "permission_error" as const) + ), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Permission denied" as const)) +}) {} + +export class BetaNotFoundErrorType extends S.Literal("not_found_error") {} + +export class BetaNotFoundError extends S.Struct({ + "type": BetaNotFoundErrorType.pipe(S.propertySignature, S.withConstructorDefault(() => "not_found_error" as const)), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Not found" as const)) +}) {} + +export class BetaRateLimitErrorType extends S.Literal("rate_limit_error") {} + +export class BetaRateLimitError extends S.Struct({ + "type": BetaRateLimitErrorType.pipe(S.propertySignature, S.withConstructorDefault(() => "rate_limit_error" as const)), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Rate limited" as const)) +}) {} + +export class BetaGatewayTimeoutErrorType extends S.Literal("timeout_error") {} + +export class BetaGatewayTimeoutError extends S.Struct({ + "type": BetaGatewayTimeoutErrorType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "timeout_error" as const) + ), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Request timeout" as const)) +}) {} + +export class BetaAPIErrorType extends S.Literal("api_error") {} + +export class BetaAPIError extends S.Struct({ + "type": BetaAPIErrorType.pipe(S.propertySignature, S.withConstructorDefault(() => "api_error" as const)), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Internal server error" as const)) +}) {} + +export class BetaOverloadedErrorType extends S.Literal("overloaded_error") {} + +export class BetaOverloadedError extends S.Struct({ + "type": BetaOverloadedErrorType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "overloaded_error" as const) + ), + "message": S.String.pipe(S.propertySignature, S.withConstructorDefault(() => "Overloaded" as const)) +}) {} + +export class BetaErrorResponse extends S.Class("BetaErrorResponse")({ + "type": BetaErrorResponseType.pipe(S.propertySignature, S.withConstructorDefault(() => "error" as const)), + "error": S.Union( + BetaInvalidRequestError, + BetaAuthenticationError, + BetaBillingError, + BetaPermissionError, + BetaNotFoundError, + BetaRateLimitError, + BetaGatewayTimeoutError, + BetaAPIError, + BetaOverloadedError + ) +}) {} + +export class BetaModelsListParams extends S.Struct({ + "before_id": S.optionalWith(S.String, { nullable: true }), + "after_id": S.optionalWith(S.String, { nullable: true }), + "limit": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(1000)), { + nullable: true, + default: () => 20 as const + }), + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class BetaModelInfoType extends S.Literal("model") {} + +export class BetaModelInfo extends S.Struct({ + "type": BetaModelInfoType.pipe(S.propertySignature, S.withConstructorDefault(() => "model" as const)), + "id": S.String, + "display_name": S.String, + "created_at": S.String +}) {} + +export class BetaListResponseModelInfo extends S.Class("BetaListResponseModelInfo")({ + "data": S.Array(BetaModelInfo), + "has_more": S.Boolean, + "first_id": S.Union(S.String, S.Null), + "last_id": S.Union(S.String, S.Null) +}) {} + +export class BetaModelsGetParams extends S.Struct({ + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class BetaMessageBatchesListParams extends S.Struct({ + "before_id": S.optionalWith(S.String, { nullable: true }), + "after_id": S.optionalWith(S.String, { nullable: true }), + "limit": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(1000)), { + nullable: true, + default: () => 20 as const + }), + "anthropic-beta": S.optionalWith(S.String, { nullable: true }), + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class BetaMessageBatchType extends S.Literal("message_batch") {} + +export class BetaMessageBatchProcessingStatus extends S.Literal("in_progress", "canceling", "ended") {} + +export class BetaRequestCounts extends S.Struct({ + "processing": S.Int.pipe(S.propertySignature, S.withConstructorDefault(() => 0 as const)), + "succeeded": S.Int.pipe(S.propertySignature, S.withConstructorDefault(() => 0 as const)), + "errored": S.Int.pipe(S.propertySignature, S.withConstructorDefault(() => 0 as const)), + "canceled": S.Int.pipe(S.propertySignature, S.withConstructorDefault(() => 0 as const)), + "expired": S.Int.pipe(S.propertySignature, S.withConstructorDefault(() => 0 as const)) +}) {} + +export class BetaMessageBatch extends S.Struct({ + "id": S.String, + "type": BetaMessageBatchType.pipe(S.propertySignature, S.withConstructorDefault(() => "message_batch" as const)), + "processing_status": BetaMessageBatchProcessingStatus, + "request_counts": BetaRequestCounts, + "ended_at": S.Union(S.String, S.Null), + "created_at": S.String, + "expires_at": S.String, + "archived_at": S.Union(S.String, S.Null), + "cancel_initiated_at": S.Union(S.String, S.Null), + "results_url": S.Union(S.String, S.Null) +}) {} + +export class BetaListResponseMessageBatch + extends S.Class("BetaListResponseMessageBatch")({ + "data": S.Array(BetaMessageBatch), + "has_more": S.Boolean, + "first_id": S.Union(S.String, S.Null), + "last_id": S.Union(S.String, S.Null) + }) +{} + +export class BetaMessageBatchesPostParams extends S.Struct({ + "anthropic-beta": S.optionalWith(S.String, { nullable: true }), + "anthropic-version": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class BetaMessageBatchIndividualRequestParams extends S.Struct({ + "custom_id": S.String.pipe(S.minLength(1), S.maxLength(64), S.pattern(new RegExp("^[a-zA-Z0-9_-]{1,64}$"))), + "params": BetaCreateMessageParams +}) {} + +export class BetaCreateMessageBatchParams + extends S.Class("BetaCreateMessageBatchParams")({ + "requests": S.Array(BetaMessageBatchIndividualRequestParams).pipe(S.minItems(1), S.maxItems(10000)) + }) +{} + +export class BetaMessageBatchesRetrieveParams extends S.Struct({ + "anthropic-beta": S.optionalWith(S.String, { nullable: true }), + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class BetaMessageBatchesDeleteParams extends S.Struct({ + "anthropic-beta": S.optionalWith(S.String, { nullable: true }), + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class BetaDeleteMessageBatchResponseType extends S.Literal("message_batch_deleted") {} + +export class BetaDeleteMessageBatchResponse + extends S.Class("BetaDeleteMessageBatchResponse")({ + "id": S.String, + "type": BetaDeleteMessageBatchResponseType.pipe( + S.propertySignature, + S.withConstructorDefault(() => "message_batch_deleted" as const) + ) + }) +{} + +export class BetaMessageBatchesCancelParams extends S.Struct({ + "anthropic-beta": S.optionalWith(S.String, { nullable: true }), + "anthropic-version": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class BetaMessageBatchesResultsParams extends S.Struct({ + "anthropic-beta": S.optionalWith(S.String, { nullable: true }), + "anthropic-version": S.optionalWith(S.String, { nullable: true }), + "x-api-key": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class BetaMessagesCountTokensPostParams extends S.Struct({ + "anthropic-beta": S.optionalWith(S.String, { nullable: true }), + "anthropic-version": S.optionalWith(S.String, { nullable: true }) +}) {} + +export class BetaCountMessageTokensParams + extends S.Class("BetaCountMessageTokensParams")({ + "tool_choice": S.optionalWith(BetaToolChoice, { nullable: true }), + "tools": S.optionalWith( + S.Array(S.Union(BetaTool, BetaComputerUseTool20241022, BetaBashTool20241022, BetaTextEditor20241022)), + { nullable: true } + ), + "messages": S.Array(BetaInputMessage), + "system": S.optionalWith(S.Union(S.String, S.Array(BetaRequestTextBlock)), { nullable: true }), + "model": Model + }) +{} + +export class BetaCountMessageTokensResponse + extends S.Class("BetaCountMessageTokensResponse")({ + "input_tokens": S.Int + }) +{} + +export const make = ( + httpClient: HttpClient.HttpClient, + options: { + readonly transformClient?: ((client: HttpClient.HttpClient) => Effect.Effect) | undefined + } = {} +): Client => { + const unexpectedStatus = ( + request: HttpClientRequest.HttpClientRequest, + response: HttpClientResponse.HttpClientResponse + ) => + Effect.flatMap( + Effect.orElseSucceed(response.text, () => "Unexpected status code"), + (description) => + Effect.fail( + new HttpClientError.ResponseError({ + request, + response, + reason: "StatusCode", + description + }) + ) + ) + const applyClientTransform = (client: HttpClient.HttpClient): Effect.Effect => + options.transformClient ? options.transformClient(client) : Effect.succeed(client) + const decodeError = (response: HttpClientResponse.HttpClientResponse, schema: S.Schema) => + Effect.flatMap(HttpClientResponse.schemaBodyJson(schema)(response), Effect.fail) + return { + "messagesPost": (options) => + HttpClientRequest.make("POST")(`/v1/messages`).pipe( + HttpClientRequest.setHeaders({ "anthropic-version": options.params["anthropic-version"] ?? undefined }), + (req) => Effect.orDie(HttpClientRequest.bodyJson(req, options.payload)), + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(Message)(r), + "NaN": (r) => decodeError(r, ErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "completePost": (options) => + HttpClientRequest.make("POST")(`/v1/complete`).pipe( + HttpClientRequest.setHeaders({ "anthropic-version": options.params["anthropic-version"] ?? undefined }), + (req) => Effect.orDie(HttpClientRequest.bodyJson(req, options.payload)), + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(CompletionResponse)(r), + "NaN": (r) => decodeError(r, ErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "modelsList": (options) => + HttpClientRequest.make("GET")(`/v1/models`).pipe( + HttpClientRequest.setUrlParams({ + "before_id": options["before_id"], + "after_id": options["after_id"], + "limit": options["limit"] + }), + HttpClientRequest.setHeaders({ + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(ListResponseModelInfo)(r), + "NaN": (r) => decodeError(r, ErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "modelsGet": (modelId, options) => + HttpClientRequest.make("GET")(`/v1/models/${modelId}`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(ModelInfo)(r), + "NaN": (r) => decodeError(r, ErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "messageBatchesList": (options) => + HttpClientRequest.make("GET")(`/v1/messages/batches`).pipe( + HttpClientRequest.setUrlParams({ + "before_id": options["before_id"], + "after_id": options["after_id"], + "limit": options["limit"] + }), + HttpClientRequest.setHeaders({ + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(ListResponseMessageBatch)(r), + "NaN": (r) => decodeError(r, ErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "messageBatchesPost": (options) => + HttpClientRequest.make("POST")(`/v1/messages/batches`).pipe( + HttpClientRequest.setHeaders({ "anthropic-version": options.params["anthropic-version"] ?? undefined }), + (req) => Effect.orDie(HttpClientRequest.bodyJson(req, options.payload)), + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(MessageBatch)(r), + "NaN": (r) => decodeError(r, ErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "messageBatchesRetrieve": (messageBatchId, options) => + HttpClientRequest.make("GET")(`/v1/messages/batches/${messageBatchId}`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap( + applyClientTransform(httpClient), + (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(MessageBatch)(r), + "NaN": (r) => decodeError(r, ErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + ) + ) + ), + Effect.scoped + ), + "messageBatchesDelete": (messageBatchId, options) => + HttpClientRequest.make("DELETE")(`/v1/messages/batches/${messageBatchId}`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap( + applyClientTransform(httpClient), + (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(DeleteMessageBatchResponse)(r), + "NaN": (r) => decodeError(r, ErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + ) + ) + ), + Effect.scoped + ), + "messageBatchesCancel": (messageBatchId, options) => + HttpClientRequest.make("POST")(`/v1/messages/batches/${messageBatchId}/cancel`).pipe( + HttpClientRequest.setHeaders({ "anthropic-version": options["anthropic-version"] ?? undefined }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap( + applyClientTransform(httpClient), + (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(MessageBatch)(r), + "NaN": (r) => decodeError(r, ErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + ) + ) + ), + Effect.scoped + ), + "messageBatchesResults": (messageBatchId, options) => + HttpClientRequest.make("GET")(`/v1/messages/batches/${messageBatchId}/results`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap( + applyClientTransform(httpClient), + (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "NaN": (r) => decodeError(r, ErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + ) + ) + ), + Effect.scoped + ), + "messagesCountTokensPost": (options) => + HttpClientRequest.make("POST")(`/v1/messages/count_tokens`).pipe( + HttpClientRequest.setHeaders({ "anthropic-version": options.params["anthropic-version"] ?? undefined }), + (req) => Effect.orDie(HttpClientRequest.bodyJson(req, options.payload)), + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(CountMessageTokensResponse)(r), + "NaN": (r) => decodeError(r, ErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "betaMessagesPost": (options) => + HttpClientRequest.make("POST")(`/v1/messages?beta=true`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-beta": options.params["anthropic-beta"] ?? undefined, + "anthropic-version": options.params["anthropic-version"] ?? undefined + }), + (req) => Effect.orDie(HttpClientRequest.bodyJson(req, options.payload)), + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(BetaMessage)(r), + "NaN": (r) => decodeError(r, BetaErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "betaModelsList": (options) => + HttpClientRequest.make("GET")(`/v1/models?beta=true`).pipe( + HttpClientRequest.setUrlParams({ + "before_id": options["before_id"], + "after_id": options["after_id"], + "limit": options["limit"] + }), + HttpClientRequest.setHeaders({ + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(BetaListResponseModelInfo)(r), + "NaN": (r) => decodeError(r, BetaErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "betaModelsGet": (modelId, options) => + HttpClientRequest.make("GET")(`/v1/models/${modelId}?beta=true`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(BetaModelInfo)(r), + "NaN": (r) => decodeError(r, BetaErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "betaMessageBatchesList": (options) => + HttpClientRequest.make("GET")(`/v1/messages/batches?beta=true`).pipe( + HttpClientRequest.setUrlParams({ + "before_id": options["before_id"], + "after_id": options["after_id"], + "limit": options["limit"] + }), + HttpClientRequest.setHeaders({ + "anthropic-beta": options["anthropic-beta"] ?? undefined, + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(BetaListResponseMessageBatch)(r), + "NaN": (r) => decodeError(r, BetaErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "betaMessageBatchesPost": (options) => + HttpClientRequest.make("POST")(`/v1/messages/batches?beta=true`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-beta": options.params["anthropic-beta"] ?? undefined, + "anthropic-version": options.params["anthropic-version"] ?? undefined + }), + (req) => Effect.orDie(HttpClientRequest.bodyJson(req, options.payload)), + Effect.flatMap((request) => + Effect.flatMap(applyClientTransform(httpClient), (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(BetaMessageBatch)(r), + "NaN": (r) => decodeError(r, BetaErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + )) + ), + Effect.scoped + ), + "betaMessageBatchesRetrieve": (messageBatchId, options) => + HttpClientRequest.make("GET")(`/v1/messages/batches/${messageBatchId}?beta=true`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-beta": options["anthropic-beta"] ?? undefined, + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap( + applyClientTransform(httpClient), + (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(BetaMessageBatch)(r), + "NaN": (r) => decodeError(r, BetaErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + ) + ) + ), + Effect.scoped + ), + "betaMessageBatchesDelete": (messageBatchId, options) => + HttpClientRequest.make("DELETE")(`/v1/messages/batches/${messageBatchId}?beta=true`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-beta": options["anthropic-beta"] ?? undefined, + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap( + applyClientTransform(httpClient), + (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(BetaDeleteMessageBatchResponse)(r), + "NaN": (r) => decodeError(r, BetaErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + ) + ) + ), + Effect.scoped + ), + "betaMessageBatchesCancel": (messageBatchId, options) => + HttpClientRequest.make("POST")(`/v1/messages/batches/${messageBatchId}/cancel?beta=true`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-beta": options["anthropic-beta"] ?? undefined, + "anthropic-version": options["anthropic-version"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap( + applyClientTransform(httpClient), + (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(BetaMessageBatch)(r), + "NaN": (r) => decodeError(r, BetaErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + ) + ) + ), + Effect.scoped + ), + "betaMessageBatchesResults": (messageBatchId, options) => + HttpClientRequest.make("GET")(`/v1/messages/batches/${messageBatchId}/results?beta=true`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-beta": options["anthropic-beta"] ?? undefined, + "anthropic-version": options["anthropic-version"] ?? undefined, + "x-api-key": options["x-api-key"] ?? undefined + }), + Effect.succeed, + Effect.flatMap((request) => + Effect.flatMap( + applyClientTransform(httpClient), + (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "NaN": (r) => decodeError(r, BetaErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + ) + ) + ), + Effect.scoped + ), + "betaMessagesCountTokensPost": (options) => + HttpClientRequest.make("POST")(`/v1/messages/count_tokens?beta=true`).pipe( + HttpClientRequest.setHeaders({ + "anthropic-beta": options.params["anthropic-beta"] ?? undefined, + "anthropic-version": options.params["anthropic-version"] ?? undefined + }), + (req) => Effect.orDie(HttpClientRequest.bodyJson(req, options.payload)), + Effect.flatMap((request) => + Effect.flatMap( + applyClientTransform(httpClient), + (httpClient) => + Effect.flatMap( + httpClient.execute(request), + HttpClientResponse.matchStatus({ + "200": (r) => HttpClientResponse.schemaBodyJson(BetaCountMessageTokensResponse)(r), + "NaN": (r) => decodeError(r, BetaErrorResponse), + orElse: (response) => unexpectedStatus(request, response) + }) + ) + ) + ), + Effect.scoped + ) + } +} + +export interface Client { + readonly "messagesPost": ( + options: { + readonly params: typeof MessagesPostParams.Encoded + readonly payload: typeof CreateMessageParams.Encoded + } + ) => Effect.Effect + readonly "completePost": ( + options: { readonly params: typeof CompletePostParams.Encoded; readonly payload: typeof CompletionRequest.Encoded } + ) => Effect.Effect< + typeof CompletionResponse.Type, + HttpClientError.HttpClientError | ParseError | typeof ErrorResponse.Type + > + readonly "modelsList": ( + options: typeof ModelsListParams.Encoded + ) => Effect.Effect< + typeof ListResponseModelInfo.Type, + HttpClientError.HttpClientError | ParseError | typeof ErrorResponse.Type + > + readonly "modelsGet": ( + modelId: string, + options: typeof ModelsGetParams.Encoded + ) => Effect.Effect + readonly "messageBatchesList": ( + options: typeof MessageBatchesListParams.Encoded + ) => Effect.Effect< + typeof ListResponseMessageBatch.Type, + HttpClientError.HttpClientError | ParseError | typeof ErrorResponse.Type + > + readonly "messageBatchesPost": ( + options: { + readonly params: typeof MessageBatchesPostParams.Encoded + readonly payload: typeof CreateMessageBatchParams.Encoded + } + ) => Effect.Effect + readonly "messageBatchesRetrieve": ( + messageBatchId: string, + options: typeof MessageBatchesRetrieveParams.Encoded + ) => Effect.Effect + readonly "messageBatchesDelete": ( + messageBatchId: string, + options: typeof MessageBatchesDeleteParams.Encoded + ) => Effect.Effect< + typeof DeleteMessageBatchResponse.Type, + HttpClientError.HttpClientError | ParseError | typeof ErrorResponse.Type + > + readonly "messageBatchesCancel": ( + messageBatchId: string, + options: typeof MessageBatchesCancelParams.Encoded + ) => Effect.Effect + readonly "messageBatchesResults": ( + messageBatchId: string, + options: typeof MessageBatchesResultsParams.Encoded + ) => Effect.Effect + readonly "messagesCountTokensPost": ( + options: { + readonly params: typeof MessagesCountTokensPostParams.Encoded + readonly payload: typeof CountMessageTokensParams.Encoded + } + ) => Effect.Effect< + typeof CountMessageTokensResponse.Type, + HttpClientError.HttpClientError | ParseError | typeof ErrorResponse.Type + > + readonly "betaMessagesPost": ( + options: { + readonly params: typeof BetaMessagesPostParams.Encoded + readonly payload: typeof BetaCreateMessageParams.Encoded + } + ) => Effect.Effect< + typeof BetaMessage.Type, + HttpClientError.HttpClientError | ParseError | typeof BetaErrorResponse.Type + > + readonly "betaModelsList": ( + options: typeof BetaModelsListParams.Encoded + ) => Effect.Effect< + typeof BetaListResponseModelInfo.Type, + HttpClientError.HttpClientError | ParseError | typeof BetaErrorResponse.Type + > + readonly "betaModelsGet": ( + modelId: string, + options: typeof BetaModelsGetParams.Encoded + ) => Effect.Effect< + typeof BetaModelInfo.Type, + HttpClientError.HttpClientError | ParseError | typeof BetaErrorResponse.Type + > + readonly "betaMessageBatchesList": ( + options: typeof BetaMessageBatchesListParams.Encoded + ) => Effect.Effect< + typeof BetaListResponseMessageBatch.Type, + HttpClientError.HttpClientError | ParseError | typeof BetaErrorResponse.Type + > + readonly "betaMessageBatchesPost": ( + options: { + readonly params: typeof BetaMessageBatchesPostParams.Encoded + readonly payload: typeof BetaCreateMessageBatchParams.Encoded + } + ) => Effect.Effect< + typeof BetaMessageBatch.Type, + HttpClientError.HttpClientError | ParseError | typeof BetaErrorResponse.Type + > + readonly "betaMessageBatchesRetrieve": ( + messageBatchId: string, + options: typeof BetaMessageBatchesRetrieveParams.Encoded + ) => Effect.Effect< + typeof BetaMessageBatch.Type, + HttpClientError.HttpClientError | ParseError | typeof BetaErrorResponse.Type + > + readonly "betaMessageBatchesDelete": ( + messageBatchId: string, + options: typeof BetaMessageBatchesDeleteParams.Encoded + ) => Effect.Effect< + typeof BetaDeleteMessageBatchResponse.Type, + HttpClientError.HttpClientError | ParseError | typeof BetaErrorResponse.Type + > + readonly "betaMessageBatchesCancel": ( + messageBatchId: string, + options: typeof BetaMessageBatchesCancelParams.Encoded + ) => Effect.Effect< + typeof BetaMessageBatch.Type, + HttpClientError.HttpClientError | ParseError | typeof BetaErrorResponse.Type + > + readonly "betaMessageBatchesResults": ( + messageBatchId: string, + options: typeof BetaMessageBatchesResultsParams.Encoded + ) => Effect.Effect + readonly "betaMessagesCountTokensPost": ( + options: { + readonly params: typeof BetaMessagesCountTokensPostParams.Encoded + readonly payload: typeof BetaCountMessageTokensParams.Encoded + } + ) => Effect.Effect< + typeof BetaCountMessageTokensResponse.Type, + HttpClientError.HttpClientError | ParseError | typeof BetaErrorResponse.Type + > +} diff --git a/packages/ai/anthropic/src/index.ts b/packages/ai/anthropic/src/index.ts new file mode 100644 index 00000000000..7dfeef93983 --- /dev/null +++ b/packages/ai/anthropic/src/index.ts @@ -0,0 +1,24 @@ +/** + * @since 1.0.0 + */ +export * as AnthropicClient from "./AnthropicClient.js" + +/** + * @since 1.0.0 + */ +export * as AnthropicCompletions from "./AnthropicCompletions.js" + +/** + * @since 1.0.0 + */ +export * as AnthropicConfig from "./AnthropicConfig.js" + +/** + * @since 1.0.0 + */ +export * as AnthropicTokenizer from "./AnthropicTokenizer.js" + +/** + * @since 1.0.0 + */ +export * as Generated from "./Generated.js" diff --git a/packages/ai/anthropic/tsconfig.build.json b/packages/ai/anthropic/tsconfig.build.json new file mode 100644 index 00000000000..4021ab28144 --- /dev/null +++ b/packages/ai/anthropic/tsconfig.build.json @@ -0,0 +1,16 @@ +{ + "extends": "./tsconfig.src.json", + "references": [ + { "path": "../ai/tsconfig.build.json" }, + { "path": "../../effect/tsconfig.build.json" }, + { "path": "../../experimental/tsconfig.build.json" }, + { "path": "../../platform/tsconfig.build.json" } + ], + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/build.tsbuildinfo", + "outDir": "build/esm", + "declarationDir": "build/dts", + "stripInternal": true, + "exactOptionalPropertyTypes": false + } +} diff --git a/packages/ai/anthropic/tsconfig.json b/packages/ai/anthropic/tsconfig.json new file mode 100644 index 00000000000..f4464966e7d --- /dev/null +++ b/packages/ai/anthropic/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [], + "references": [ + { "path": "tsconfig.src.json" }, + { "path": "tsconfig.test.json" } + ] +} diff --git a/packages/ai/anthropic/tsconfig.src.json b/packages/ai/anthropic/tsconfig.src.json new file mode 100644 index 00000000000..01ab4fcfc0d --- /dev/null +++ b/packages/ai/anthropic/tsconfig.src.json @@ -0,0 +1,16 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": ["src"], + "references": [ + { "path": "../ai/tsconfig.src.json" }, + { "path": "../../effect/tsconfig.src.json" }, + { "path": "../../experimental/tsconfig.src.json" }, + { "path": "../../platform/tsconfig.src.json" } + ], + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/src.tsbuildinfo", + "rootDir": "src", + "outDir": "build/src", + "exactOptionalPropertyTypes": false + } +} diff --git a/packages/ai/anthropic/tsconfig.test.json b/packages/ai/anthropic/tsconfig.test.json new file mode 100644 index 00000000000..95f3ae8f876 --- /dev/null +++ b/packages/ai/anthropic/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": ["test"], + "references": [ + { "path": "tsconfig.src.json" }, + { "path": "../../vitest/tsconfig.src.json" } + ], + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/test.tsbuildinfo", + "rootDir": "test", + "noEmit": true, + "exactOptionalPropertyTypes": false + } +} diff --git a/packages/ai/anthropic/vitest.config.ts b/packages/ai/anthropic/vitest.config.ts new file mode 100644 index 00000000000..bf29895f858 --- /dev/null +++ b/packages/ai/anthropic/vitest.config.ts @@ -0,0 +1,6 @@ +import { mergeConfig, type ViteUserConfig } from "vitest/config" +import shared from "../../../vitest.shared.js" + +const config: ViteUserConfig = {} + +export default mergeConfig(shared, config) diff --git a/packages/ai/openai/README.md b/packages/ai/openai/README.md index 8271b2b8aca..1b2483150a0 100644 --- a/packages/ai/openai/README.md +++ b/packages/ai/openai/README.md @@ -1 +1,5 @@ # `@effect/ai-openai` + +## Documentation + +- **API Reference**: [View the full documentation](https://effect-ts.github.io/effect/docs/ai/ai-openai). diff --git a/packages/ai/openai/package.json b/packages/ai/openai/package.json index 25813e64b32..6a1863b04d9 100644 --- a/packages/ai/openai/package.json +++ b/packages/ai/openai/package.json @@ -49,7 +49,7 @@ "@effect/experimental": "workspace:^", "@effect/platform": "workspace:^", "@effect/platform-node": "workspace:^", - "@tim-smart/openapi-gen": "^0.3.3", + "@tim-smart/openapi-gen": "^0.3.6", "effect": "workspace:^" }, "dependencies": { diff --git a/packages/ai/openai/src/Generated.ts b/packages/ai/openai/src/Generated.ts index 4542cb83d9d..a33450eb5e1 100644 --- a/packages/ai/openai/src/Generated.ts +++ b/packages/ai/openai/src/Generated.ts @@ -66,6 +66,8 @@ export class AssistantToolsFunction extends S.Struct({ export class Metadata extends S.Record({ key: S.String, value: S.Unknown }) {} +export class AssistantsApiResponseFormatOptionEnum extends S.Literal("auto") {} + export class ResponseFormatTextType extends S.Literal("text") {} export class ResponseFormatText extends S.Struct({ @@ -92,9 +94,12 @@ export class ResponseFormatJsonSchema extends S.Struct({ }) }) {} -export class AssistantsApiResponseFormatOption - extends S.Union(S.Literal("auto"), ResponseFormatText, ResponseFormatJsonObject, ResponseFormatJsonSchema) -{} +export class AssistantsApiResponseFormatOption extends S.Union( + AssistantsApiResponseFormatOptionEnum, + ResponseFormatText, + ResponseFormatJsonObject, + ResponseFormatJsonSchema +) {} export class AssistantObject extends S.Struct({ "id": S.String, @@ -146,7 +151,11 @@ export class ListAssistantsResponse extends S.Class("Lis "has_more": S.Boolean }) {} -export class CreateAssistantRequestModel extends S.Literal( +export class AssistantSupportedModels extends S.Literal( + "o3-mini", + "o3-mini-2025-01-31", + "o1", + "o1-2024-12-17", "gpt-4o", "gpt-4o-2024-11-20", "gpt-4o-2024-08-06", @@ -173,15 +182,14 @@ export class CreateAssistantRequestModel extends S.Literal( "gpt-3.5-turbo-16k-0613" ) {} -export class CreateAssistantRequestToolResourcesFileSearchVectorStoresChunkingStrategyType - extends S.Literal("static") -{} +export class ReasoningEffort extends S.Literal("low", "medium", "high") {} export class CreateAssistantRequest extends S.Class("CreateAssistantRequest")({ - "model": S.Union(S.String, CreateAssistantRequestModel), + "model": S.Union(S.String, AssistantSupportedModels), "name": S.optionalWith(S.String.pipe(S.maxLength(256)), { nullable: true }), "description": S.optionalWith(S.String.pipe(S.maxLength(512)), { nullable: true }), "instructions": S.optionalWith(S.String.pipe(S.maxLength(256000)), { nullable: true }), + "reasoning_effort": S.optionalWith(ReasoningEffort, { nullable: true, default: () => "medium" as const }), "tools": S.optionalWith( S.Array(S.Union(AssistantToolsCode, AssistantToolsFileSearch, AssistantToolsFunction)).pipe(S.maxItems(128)), { @@ -230,7 +238,8 @@ export class CreateAssistantRequest extends S.Class("Cre }) {} export class ModifyAssistantRequest extends S.Class("ModifyAssistantRequest")({ - "model": S.optionalWith(S.String, { nullable: true }), + "model": S.optionalWith(S.Union(S.String, AssistantSupportedModels), { nullable: true }), + "reasoning_effort": S.optionalWith(ReasoningEffort, { nullable: true, default: () => "medium" as const }), "name": S.optionalWith(S.String.pipe(S.maxLength(256)), { nullable: true }), "description": S.optionalWith(S.String.pipe(S.maxLength(512)), { nullable: true }), "instructions": S.optionalWith(S.String.pipe(S.maxLength(256000)), { nullable: true }), @@ -281,7 +290,7 @@ export class DeleteAssistantResponse extends S.Class("D "object": DeleteAssistantResponseObject }) {} -export class CreateSpeechRequestModel extends S.Literal("tts-1", "tts-1-hd") {} +export class CreateSpeechRequestModelEnum extends S.Literal("tts-1", "tts-1-hd") {} export class CreateSpeechRequestVoice extends S.Literal("alloy", "ash", "coral", "echo", "fable", "onyx", "nova", "sage", "shimmer") @@ -290,7 +299,7 @@ export class CreateSpeechRequestVoice export class CreateSpeechRequestResponseFormat extends S.Literal("mp3", "opus", "aac", "flac", "wav", "pcm") {} export class CreateSpeechRequest extends S.Class("CreateSpeechRequest")({ - "model": S.Union(S.String, CreateSpeechRequestModel), + "model": S.Union(S.String, CreateSpeechRequestModelEnum), "input": S.String.pipe(S.maxLength(4096)), "voice": CreateSpeechRequestVoice, "response_format": S.optionalWith(CreateSpeechRequestResponseFormat, { @@ -580,7 +589,7 @@ export class ChatCompletionRequestMessage extends S.Union( ChatCompletionRequestFunctionMessage ) {} -export class CreateChatCompletionRequestModel extends S.Literal( +export class CreateChatCompletionRequestModelEnum extends S.Literal( "o3-mini", "o3-mini-2025-01-31", "o1", @@ -622,8 +631,6 @@ export class CreateChatCompletionRequestModel extends S.Literal( "gpt-3.5-turbo-16k-0613" ) {} -export class CreateChatCompletionRequestReasoningEffort extends S.Literal("low", "medium", "high") {} - export class ChatCompletionModalities extends S.Array(S.Literal("text", "audio")) {} export class PredictionContentType extends S.Literal("content") {} @@ -652,6 +659,8 @@ export class ChatCompletionTool extends S.Struct({ "function": FunctionObject }) {} +export class ChatCompletionToolChoiceOptionEnum extends S.Literal("none", "auto", "required") {} + export class ChatCompletionNamedToolChoiceType extends S.Literal("function") {} export class ChatCompletionNamedToolChoice extends S.Struct({ @@ -662,12 +671,12 @@ export class ChatCompletionNamedToolChoice extends S.Struct({ }) {} export class ChatCompletionToolChoiceOption - extends S.Union(S.Literal("none", "auto", "required"), ChatCompletionNamedToolChoice) + extends S.Union(ChatCompletionToolChoiceOptionEnum, ChatCompletionNamedToolChoice) {} export class ParallelToolCalls extends S.Boolean {} -export class CreateChatCompletionRequestFunctionCall extends S.Literal("none", "auto") {} +export class CreateChatCompletionRequestFunctionCallEnum extends S.Literal("none", "auto") {} export class ChatCompletionFunctionCallOption extends S.Struct({ "name": S.String @@ -681,18 +690,15 @@ export class ChatCompletionFunctions extends S.Struct({ export class CreateChatCompletionRequest extends S.Class("CreateChatCompletionRequest")({ "messages": S.NonEmptyArray(ChatCompletionRequestMessage), - "model": S.Union(S.String, CreateChatCompletionRequestModel), + "model": S.Union(S.String, CreateChatCompletionRequestModelEnum), "store": S.optionalWith(S.Boolean, { nullable: true, default: () => false as const }), - "reasoning_effort": S.optionalWith(CreateChatCompletionRequestReasoningEffort, { - nullable: true, - default: () => "medium" as const - }), + "reasoning_effort": S.optionalWith(ReasoningEffort, { nullable: true, default: () => "medium" as const }), "metadata": S.optionalWith(Metadata, { nullable: true }), "frequency_penalty": S.optionalWith(S.Number.pipe(S.greaterThanOrEqualTo(-2), S.lessThanOrEqualTo(2)), { nullable: true, default: () => 0 as const }), - "logit_bias": S.optionalWith(S.Record({ key: S.String, value: S.Unknown }), { nullable: true }), + "logit_bias": S.optionalWith(S.NullOr(S.Record({ key: S.String, value: S.Unknown })), { default: () => null }), "logprobs": S.optionalWith(S.Boolean, { nullable: true, default: () => false as const }), "top_logprobs": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(20)), { nullable: true }), "max_tokens": S.optionalWith(S.Int, { nullable: true }), @@ -722,9 +728,11 @@ export class CreateChatCompletionRequest extends S.Class "auto" as const }), - "stop": S.optionalWith(S.Union(S.String, S.Array(S.String).pipe(S.minItems(1), S.maxItems(4))), { nullable: true }), + "stop": S.optionalWith(S.NullOr(S.Union(S.String, S.Array(S.String).pipe(S.minItems(1), S.maxItems(4)))), { + default: () => null + }), "stream": S.optionalWith(S.Boolean, { nullable: true, default: () => false as const }), - "stream_options": S.optionalWith(ChatCompletionStreamOptions, { nullable: true }), + "stream_options": S.optionalWith(S.NullOr(ChatCompletionStreamOptions), { default: () => null }), "temperature": S.optionalWith(S.Number.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(2)), { nullable: true, default: () => 1 as const @@ -737,16 +745,13 @@ export class CreateChatCompletionRequest extends S.Class true as const }), "user": S.optionalWith(S.String, { nullable: true }), - "function_call": S.optionalWith(S.Union(CreateChatCompletionRequestFunctionCall, ChatCompletionFunctionCallOption), { - nullable: true - }), + "function_call": S.optionalWith( + S.Union(CreateChatCompletionRequestFunctionCallEnum, ChatCompletionFunctionCallOption), + { nullable: true } + ), "functions": S.optionalWith(S.Array(ChatCompletionFunctions).pipe(S.minItems(1), S.maxItems(128)), { nullable: true }) }) {} -export class CreateChatCompletionResponseChoicesFinishReason - extends S.Literal("stop", "length", "tool_calls", "content_filter", "function_call") -{} - export class ChatCompletionResponseMessageRole extends S.Literal("assistant") {} export class ChatCompletionResponseMessage extends S.Struct({ @@ -813,7 +818,7 @@ export class CreateChatCompletionResponse extends S.Class("CreateChatCompletionResponse")({ "id": S.String, "choices": S.Array(S.Struct({ - "finish_reason": CreateChatCompletionResponseChoicesFinishReason, + "finish_reason": S.Literal("stop", "length", "tool_calls", "content_filter", "function_call"), "index": S.Int, "message": ChatCompletionResponseMessage, "logprobs": S.NullOr(S.Struct({ @@ -830,10 +835,12 @@ export class CreateChatCompletionResponse }) {} -export class CreateCompletionRequestModel extends S.Literal("gpt-3.5-turbo-instruct", "davinci-002", "babbage-002") {} +export class CreateCompletionRequestModelEnum + extends S.Literal("gpt-3.5-turbo-instruct", "davinci-002", "babbage-002") +{} export class CreateCompletionRequest extends S.Class("CreateCompletionRequest")({ - "model": S.Union(S.String, CreateCompletionRequestModel), + "model": S.Union(S.String, CreateCompletionRequestModelEnum), "prompt": S.NullOr( S.Union(S.String, S.Array(S.String), S.NonEmptyArray(S.Int), S.NonEmptyArray(S.NonEmptyArray(S.Int))) ).pipe(S.propertySignature, S.withConstructorDefault(() => "<|endoftext|>" as const)), @@ -846,8 +853,10 @@ export class CreateCompletionRequest extends S.Class("C nullable: true, default: () => 0 as const }), - "logit_bias": S.optionalWith(S.Record({ key: S.String, value: S.Unknown }), { nullable: true }), - "logprobs": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(5)), { nullable: true }), + "logit_bias": S.optionalWith(S.NullOr(S.Record({ key: S.String, value: S.Unknown })), { default: () => null }), + "logprobs": S.optionalWith(S.NullOr(S.Int.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(5))), { + default: () => null + }), "max_tokens": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(0)), { nullable: true, default: () => 16 as const }), "n": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(128)), { nullable: true, @@ -858,10 +867,12 @@ export class CreateCompletionRequest extends S.Class("C default: () => 0 as const }), "seed": S.optionalWith(S.Int, { nullable: true }), - "stop": S.optionalWith(S.Union(S.String, S.Array(S.String).pipe(S.minItems(1), S.maxItems(4))), { nullable: true }), + "stop": S.optionalWith(S.NullOr(S.Union(S.String, S.Array(S.String).pipe(S.minItems(1), S.maxItems(4)))), { + default: () => null + }), "stream": S.optionalWith(S.Boolean, { nullable: true, default: () => false as const }), - "stream_options": S.optionalWith(ChatCompletionStreamOptions, { nullable: true }), - "suffix": S.optionalWith(S.String, { nullable: true }), + "stream_options": S.optionalWith(S.NullOr(ChatCompletionStreamOptions), { default: () => null }), + "suffix": S.optionalWith(S.NullOr(S.String), { default: () => null }), "temperature": S.optionalWith(S.Number.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(2)), { nullable: true, default: () => 1 as const @@ -873,14 +884,12 @@ export class CreateCompletionRequest extends S.Class("C "user": S.optionalWith(S.String, { nullable: true }) }) {} -export class CreateCompletionResponseChoicesFinishReason extends S.Literal("stop", "length", "content_filter") {} - export class CreateCompletionResponseObject extends S.Literal("text_completion") {} export class CreateCompletionResponse extends S.Class("CreateCompletionResponse")({ "id": S.String, "choices": S.Array(S.Struct({ - "finish_reason": CreateCompletionResponseChoicesFinishReason, + "finish_reason": S.Literal("stop", "length", "content_filter"), "index": S.Int, "logprobs": S.NullOr(S.Struct({ "text_offset": S.optionalWith(S.Array(S.Int), { nullable: true }), @@ -897,7 +906,7 @@ export class CreateCompletionResponse extends S.Class( "usage": S.optionalWith(CompletionUsage, { nullable: true }) }) {} -export class CreateEmbeddingRequestModel +export class CreateEmbeddingRequestModelEnum extends S.Literal("text-embedding-ada-002", "text-embedding-3-small", "text-embedding-3-large") {} @@ -910,7 +919,7 @@ export class CreateEmbeddingRequest extends S.Class("Cre S.Array(S.Int).pipe(S.minItems(1), S.maxItems(2048)), S.Array(S.NonEmptyArray(S.Int)).pipe(S.minItems(1), S.maxItems(2048)) ), - "model": S.Union(S.String, CreateEmbeddingRequestModel), + "model": S.Union(S.String, CreateEmbeddingRequestModelEnum), "encoding_format": S.optionalWith(CreateEmbeddingRequestEncodingFormat, { nullable: true, default: () => "float" as const @@ -996,11 +1005,11 @@ export class ListPaginatedFineTuningJobsParams extends S.Struct({ "limit": S.optionalWith(S.Int, { nullable: true, default: () => 20 as const }) }) {} -export class FineTuningJobHyperparametersBatchSize extends S.Literal("auto") {} +export class FineTuningJobHyperparametersBatchSizeEnum extends S.Literal("auto") {} -export class FineTuningJobHyperparametersLearningRateMultiplier extends S.Literal("auto") {} +export class FineTuningJobHyperparametersLearningRateMultiplierEnum extends S.Literal("auto") {} -export class FineTuningJobHyperparametersNEpochs extends S.Literal("auto") {} +export class FineTuningJobHyperparametersNEpochsEnum extends S.Literal("auto") {} export class FineTuningJobObject extends S.Literal("fine_tuning.job") {} @@ -1022,24 +1031,24 @@ export class FineTuningIntegration extends S.Struct({ export class FineTuneMethodType extends S.Literal("supervised", "dpo") {} -export class FineTuneSupervisedMethodHyperparametersBatchSize extends S.Literal("auto") {} +export class FineTuneSupervisedMethodHyperparametersBatchSizeEnum extends S.Literal("auto") {} -export class FineTuneSupervisedMethodHyperparametersLearningRateMultiplier extends S.Literal("auto") {} +export class FineTuneSupervisedMethodHyperparametersLearningRateMultiplierEnum extends S.Literal("auto") {} -export class FineTuneSupervisedMethodHyperparametersNEpochs extends S.Literal("auto") {} +export class FineTuneSupervisedMethodHyperparametersNEpochsEnum extends S.Literal("auto") {} export class FineTuneSupervisedMethod extends S.Struct({ "hyperparameters": S.optionalWith( S.Struct({ "batch_size": S.optionalWith( S.Union( - FineTuneSupervisedMethodHyperparametersBatchSize, + FineTuneSupervisedMethodHyperparametersBatchSizeEnum, S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(256)) ), { nullable: true, default: () => "auto" as const } ), "learning_rate_multiplier": S.optionalWith( - S.Union(FineTuneSupervisedMethodHyperparametersLearningRateMultiplier, S.Number.pipe(S.greaterThan(0))), + S.Union(FineTuneSupervisedMethodHyperparametersLearningRateMultiplierEnum, S.Number.pipe(S.greaterThan(0))), { nullable: true, default: () => "auto" as const @@ -1047,7 +1056,7 @@ export class FineTuneSupervisedMethod extends S.Struct({ ), "n_epochs": S.optionalWith( S.Union( - FineTuneSupervisedMethodHyperparametersNEpochs, + FineTuneSupervisedMethodHyperparametersNEpochsEnum, S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(50)) ), { nullable: true, default: () => "auto" as const } @@ -1057,19 +1066,19 @@ export class FineTuneSupervisedMethod extends S.Struct({ ) }) {} -export class FineTuneDPOMethodHyperparametersBeta extends S.Literal("auto") {} +export class FineTuneDPOMethodHyperparametersBetaEnum extends S.Literal("auto") {} -export class FineTuneDPOMethodHyperparametersBatchSize extends S.Literal("auto") {} +export class FineTuneDPOMethodHyperparametersBatchSizeEnum extends S.Literal("auto") {} -export class FineTuneDPOMethodHyperparametersLearningRateMultiplier extends S.Literal("auto") {} +export class FineTuneDPOMethodHyperparametersLearningRateMultiplierEnum extends S.Literal("auto") {} -export class FineTuneDPOMethodHyperparametersNEpochs extends S.Literal("auto") {} +export class FineTuneDPOMethodHyperparametersNEpochsEnum extends S.Literal("auto") {} export class FineTuneDPOMethod extends S.Struct({ "hyperparameters": S.optionalWith( S.Struct({ "beta": S.optionalWith( - S.Union(FineTuneDPOMethodHyperparametersBeta, S.Number.pipe(S.greaterThan(0), S.lessThanOrEqualTo(2))), + S.Union(FineTuneDPOMethodHyperparametersBetaEnum, S.Number.pipe(S.greaterThan(0), S.lessThanOrEqualTo(2))), { nullable: true, default: () => "auto" as const @@ -1077,13 +1086,13 @@ export class FineTuneDPOMethod extends S.Struct({ ), "batch_size": S.optionalWith( S.Union( - FineTuneDPOMethodHyperparametersBatchSize, + FineTuneDPOMethodHyperparametersBatchSizeEnum, S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(256)) ), { nullable: true, default: () => "auto" as const } ), "learning_rate_multiplier": S.optionalWith( - S.Union(FineTuneDPOMethodHyperparametersLearningRateMultiplier, S.Number.pipe(S.greaterThan(0))), + S.Union(FineTuneDPOMethodHyperparametersLearningRateMultiplierEnum, S.Number.pipe(S.greaterThan(0))), { nullable: true, default: () => "auto" as const @@ -1091,7 +1100,7 @@ export class FineTuneDPOMethod extends S.Struct({ ), "n_epochs": S.optionalWith( S.Union( - FineTuneDPOMethodHyperparametersNEpochs, + FineTuneDPOMethodHyperparametersNEpochsEnum, S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(50)) ), { nullable: true, default: () => "auto" as const } @@ -1119,21 +1128,21 @@ export class FineTuningJob extends S.Struct({ "finished_at": S.NullOr(S.Int), "hyperparameters": S.Struct({ "batch_size": S.optionalWith( - S.Union(FineTuningJobHyperparametersBatchSize, S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(256))), - { - nullable: true, - default: () => "auto" as const - } + S.Union( + FineTuningJobHyperparametersBatchSizeEnum, + S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(256)) + ), + { nullable: true, default: () => "auto" as const } ), "learning_rate_multiplier": S.optionalWith( - S.Union(FineTuningJobHyperparametersLearningRateMultiplier, S.Number.pipe(S.greaterThan(0))), + S.Union(FineTuningJobHyperparametersLearningRateMultiplierEnum, S.Number.pipe(S.greaterThan(0))), { nullable: true, default: () => "auto" as const } ), "n_epochs": S.optionalWith( - S.Union(FineTuningJobHyperparametersNEpochs, S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(50))), + S.Union(FineTuningJobHyperparametersNEpochsEnum, S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(50))), { nullable: true, default: () => "auto" as const @@ -1164,32 +1173,30 @@ export class ListPaginatedFineTuningJobsResponse }) {} -export class CreateFineTuningJobRequestModel +export class CreateFineTuningJobRequestModelEnum extends S.Literal("babbage-002", "davinci-002", "gpt-3.5-turbo", "gpt-4o-mini") {} -export class CreateFineTuningJobRequestHyperparametersBatchSize extends S.Literal("auto") {} +export class CreateFineTuningJobRequestHyperparametersBatchSizeEnum extends S.Literal("auto") {} -export class CreateFineTuningJobRequestHyperparametersLearningRateMultiplier extends S.Literal("auto") {} +export class CreateFineTuningJobRequestHyperparametersLearningRateMultiplierEnum extends S.Literal("auto") {} -export class CreateFineTuningJobRequestHyperparametersNEpochs extends S.Literal("auto") {} - -export class CreateFineTuningJobRequestIntegrationsType extends S.Literal("wandb") {} +export class CreateFineTuningJobRequestHyperparametersNEpochsEnum extends S.Literal("auto") {} export class CreateFineTuningJobRequest extends S.Class("CreateFineTuningJobRequest")({ - "model": S.Union(S.String, CreateFineTuningJobRequestModel), + "model": S.Union(S.String, CreateFineTuningJobRequestModelEnum), "training_file": S.String, "hyperparameters": S.optionalWith( S.Struct({ "batch_size": S.optionalWith( S.Union( - CreateFineTuningJobRequestHyperparametersBatchSize, + CreateFineTuningJobRequestHyperparametersBatchSizeEnum, S.Int.pipe(S.greaterThanOrEqualTo(1), S.lessThanOrEqualTo(256)) ), { nullable: true, default: () => "auto" as const } ), "learning_rate_multiplier": S.optionalWith( - S.Union(CreateFineTuningJobRequestHyperparametersLearningRateMultiplier, S.Number.pipe(S.greaterThan(0))), + S.Union(CreateFineTuningJobRequestHyperparametersLearningRateMultiplierEnum, S.Number.pipe(S.greaterThan(0))), { nullable: true, default: () => "auto" as const @@ -1197,7 +1204,7 @@ export class CreateFineTuningJobRequest extends S.Class "auto" as const } @@ -1205,11 +1212,11 @@ export class CreateFineTuningJobRequest extends S.Class null }), "validation_file": S.optionalWith(S.String, { nullable: true }), "integrations": S.optionalWith( S.Array(S.Struct({ - "type": CreateFineTuningJobRequestIntegrationsType, + "type": S.Literal("wandb"), "wandb": S.Struct({ "project": S.String, "name": S.optionalWith(S.String, { nullable: true }), @@ -1286,7 +1293,8 @@ export class ListFineTuningJobEventsResponseObject extends S.Literal("list") {} export class ListFineTuningJobEventsResponse extends S.Class("ListFineTuningJobEventsResponse")({ "data": S.Array(FineTuningJobEvent), - "object": ListFineTuningJobEventsResponseObject + "object": ListFineTuningJobEventsResponseObject, + "has_more": S.Boolean }) {} @@ -1301,7 +1309,7 @@ export class ImagesResponse extends S.Class("ImagesResponse")({ "data": S.Array(Image) }) {} -export class CreateImageRequestModel extends S.Literal("dall-e-2", "dall-e-3") {} +export class CreateImageRequestModelEnum extends S.Literal("dall-e-2", "dall-e-3") {} export class CreateImageRequestQuality extends S.Literal("standard", "hd") {} @@ -1313,7 +1321,7 @@ export class CreateImageRequestStyle extends S.Literal("vivid", "natural") {} export class CreateImageRequest extends S.Class("CreateImageRequest")({ "prompt": S.String, - "model": S.optionalWith(S.Union(S.String, CreateImageRequestModel), { + "model": S.optionalWith(S.Union(S.String, CreateImageRequestModelEnum), { nullable: true, default: () => "dall-e-2" as const }), @@ -1353,9 +1361,7 @@ export class DeleteModelResponse extends S.Class("DeleteMod "object": S.String }) {} -export class CreateModerationRequestInputType extends S.Literal("text") {} - -export class CreateModerationRequestModel extends S.Literal( +export class CreateModerationRequestModelEnum extends S.Literal( "omni-moderation-latest", "omni-moderation-2024-09-26", "text-moderation-latest", @@ -1368,55 +1374,23 @@ export class CreateModerationRequest extends S.Class("C S.Array(S.String), S.Array(S.Union( S.Struct({ - "type": CreateModerationRequestInputType, + "type": S.Literal("image_url"), "image_url": S.Struct({ "url": S.String }) }), S.Struct({ - "type": CreateModerationRequestInputType, + "type": S.Literal("text"), "text": S.String }) )) ), - "model": S.optionalWith(S.Union(S.String, CreateModerationRequestModel), { + "model": S.optionalWith(S.Union(S.String, CreateModerationRequestModelEnum), { nullable: true, default: () => "omni-moderation-latest" as const }) }) {} -export class CreateModerationResponseResultsCategoryAppliedInputTypesHate extends S.Literal("text") {} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesHateThreatening extends S.Literal("text") {} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesHarassment extends S.Literal("text") {} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesHarassmentThreatening extends S.Literal("text") {} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesIllicit extends S.Literal("text") {} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesIllicitViolent extends S.Literal("text") {} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesSelfHarm extends S.Literal("text", "image") {} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesSelfHarmIntent - extends S.Literal("text", "image") -{} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesSelfHarmInstructions - extends S.Literal("text", "image") -{} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesSexual extends S.Literal("text", "image") {} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesSexualMinors extends S.Literal("text") {} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesViolence extends S.Literal("text", "image") {} - -export class CreateModerationResponseResultsCategoryAppliedInputTypesViolenceGraphic - extends S.Literal("text", "image") -{} - export class CreateModerationResponse extends S.Class("CreateModerationResponse")({ "id": S.String, "model": S.String, @@ -1427,8 +1401,8 @@ export class CreateModerationResponse extends S.Class( "hate/threatening": S.Boolean, "harassment": S.Boolean, "harassment/threatening": S.Boolean, - "illicit": S.Boolean, - "illicit/violent": S.Boolean, + "illicit": S.NullOr(S.Boolean), + "illicit/violent": S.NullOr(S.Boolean), "self-harm": S.Boolean, "self-harm/intent": S.Boolean, "self-harm/instructions": S.Boolean, @@ -1453,19 +1427,19 @@ export class CreateModerationResponse extends S.Class( "violence/graphic": S.Number }), "category_applied_input_types": S.Struct({ - "hate": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesHate), - "hate/threatening": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesHateThreatening), - "harassment": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesHarassment), - "harassment/threatening": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesHarassmentThreatening), - "illicit": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesIllicit), - "illicit/violent": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesIllicitViolent), - "self-harm": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesSelfHarm), - "self-harm/intent": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesSelfHarmIntent), - "self-harm/instructions": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesSelfHarmInstructions), - "sexual": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesSexual), - "sexual/minors": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesSexualMinors), - "violence": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesViolence), - "violence/graphic": S.Array(CreateModerationResponseResultsCategoryAppliedInputTypesViolenceGraphic) + "hate": S.Array(S.Literal("text")), + "hate/threatening": S.Array(S.Literal("text")), + "harassment": S.Array(S.Literal("text")), + "harassment/threatening": S.Array(S.Literal("text")), + "illicit": S.Array(S.Literal("text")), + "illicit/violent": S.Array(S.Literal("text")), + "self-harm": S.Array(S.Literal("text", "image")), + "self-harm/intent": S.Array(S.Literal("text", "image")), + "self-harm/instructions": S.Array(S.Literal("text", "image")), + "sexual": S.Array(S.Literal("text", "image")), + "sexual/minors": S.Array(S.Literal("text")), + "violence": S.Array(S.Literal("text", "image")), + "violence/graphic": S.Array(S.Literal("text", "image")) }) })) }) {} @@ -1816,14 +1790,12 @@ export class ListAuditLogsResponse extends S.Class("ListA export class UsageCostsParamsBucketWidth extends S.Literal("1d") {} -export class UsageCostsParamsGroupBy extends S.Literal("project_id", "line_item") {} - export class UsageCostsParams extends S.Struct({ "start_time": S.Int, "end_time": S.optionalWith(S.Int, { nullable: true }), "bucket_width": S.optionalWith(UsageCostsParamsBucketWidth, { nullable: true, default: () => "1d" as const }), "project_ids": S.optionalWith(S.Array(S.String), { nullable: true }), - "group_by": S.optionalWith(S.Array(UsageCostsParamsGroupBy), { nullable: true }), + "group_by": S.optionalWith(S.Array(S.Literal("project_id", "line_item")), { nullable: true }), "limit": S.optionalWith(S.Int, { nullable: true, default: () => 7 as const }), "page": S.optionalWith(S.String, { nullable: true }) }) {} @@ -1925,7 +1897,7 @@ export class UsageCodeInterpreterSessionsResultObject export class UsageCodeInterpreterSessionsResult extends S.Struct({ "object": UsageCodeInterpreterSessionsResultObject, - "sessions": S.Int, + "num_sessions": S.optionalWith(S.Int, { nullable: true }), "project_id": S.optionalWith(S.String, { nullable: true }) }) {} @@ -1983,8 +1955,6 @@ export class InviteRole extends S.Literal("owner", "reader") {} export class InviteStatus extends S.Literal("accepted", "expired", "pending") {} -export class InviteProjectsRole extends S.Literal("member", "owner") {} - export class Invite extends S.Struct({ "object": InviteObject, "id": S.String, @@ -1997,7 +1967,7 @@ export class Invite extends S.Struct({ "projects": S.optionalWith( S.Array(S.Struct({ "id": S.optionalWith(S.String, { nullable: true }), - "role": S.optionalWith(InviteProjectsRole, { nullable: true }) + "role": S.optionalWith(S.Literal("member", "owner"), { nullable: true }) })), { nullable: true } ) @@ -2013,15 +1983,13 @@ export class InviteListResponse extends S.Class("InviteListR export class InviteRequestRole extends S.Literal("reader", "owner") {} -export class InviteRequestProjectsRole extends S.Literal("member", "owner") {} - export class InviteRequest extends S.Class("InviteRequest")({ "email": S.String, "role": InviteRequestRole, "projects": S.optionalWith( S.Array(S.Struct({ "id": S.String, - "role": InviteRequestProjectsRole + "role": S.Literal("member", "owner") })), { nullable: true } ) @@ -2287,8 +2255,6 @@ export class ProjectUserDeleteResponse extends S.Class "1d" as const }), "project_ids": S.optionalWith(S.Array(S.String), { nullable: true }), - "group_by": S.optionalWith(S.Array(UsageCodeInterpreterSessionsParamsGroupBy), { nullable: true }), + "group_by": S.optionalWith(S.Array(S.Literal("project_id")), { nullable: true }), "limit": S.optionalWith(S.Int, { nullable: true }), "page": S.optionalWith(S.String, { nullable: true }) }) {} export class UsageCompletionsParamsBucketWidth extends S.Literal("1m", "1h", "1d") {} -export class UsageCompletionsParamsGroupBy extends S.Literal("project_id", "user_id", "api_key_id", "model", "batch") {} - export class UsageCompletionsParams extends S.Struct({ "start_time": S.Int, "end_time": S.optionalWith(S.Int, { nullable: true }), @@ -2352,15 +2312,15 @@ export class UsageCompletionsParams extends S.Struct({ "api_key_ids": S.optionalWith(S.Array(S.String), { nullable: true }), "models": S.optionalWith(S.Array(S.String), { nullable: true }), "batch": S.optionalWith(S.Boolean, { nullable: true }), - "group_by": S.optionalWith(S.Array(UsageCompletionsParamsGroupBy), { nullable: true }), + "group_by": S.optionalWith(S.Array(S.Literal("project_id", "user_id", "api_key_id", "model", "batch")), { + nullable: true + }), "limit": S.optionalWith(S.Int, { nullable: true }), "page": S.optionalWith(S.String, { nullable: true }) }) {} export class UsageEmbeddingsParamsBucketWidth extends S.Literal("1m", "1h", "1d") {} -export class UsageEmbeddingsParamsGroupBy extends S.Literal("project_id", "user_id", "api_key_id", "model") {} - export class UsageEmbeddingsParams extends S.Struct({ "start_time": S.Int, "end_time": S.optionalWith(S.Int, { nullable: true }), @@ -2369,40 +2329,36 @@ export class UsageEmbeddingsParams extends S.Struct({ "user_ids": S.optionalWith(S.Array(S.String), { nullable: true }), "api_key_ids": S.optionalWith(S.Array(S.String), { nullable: true }), "models": S.optionalWith(S.Array(S.String), { nullable: true }), - "group_by": S.optionalWith(S.Array(UsageEmbeddingsParamsGroupBy), { nullable: true }), + "group_by": S.optionalWith(S.Array(S.Literal("project_id", "user_id", "api_key_id", "model")), { nullable: true }), "limit": S.optionalWith(S.Int, { nullable: true }), "page": S.optionalWith(S.String, { nullable: true }) }) {} export class UsageImagesParamsBucketWidth extends S.Literal("1m", "1h", "1d") {} -export class UsageImagesParamsSources extends S.Literal("image.generation", "image.edit", "image.variation") {} - -export class UsageImagesParamsSizes extends S.Literal("256x256", "512x512", "1024x1024", "1792x1792", "1024x1792") {} - -export class UsageImagesParamsGroupBy - extends S.Literal("project_id", "user_id", "api_key_id", "model", "size", "source") -{} - export class UsageImagesParams extends S.Struct({ "start_time": S.Int, "end_time": S.optionalWith(S.Int, { nullable: true }), "bucket_width": S.optionalWith(UsageImagesParamsBucketWidth, { nullable: true, default: () => "1d" as const }), - "sources": S.optionalWith(S.Array(UsageImagesParamsSources), { nullable: true }), - "sizes": S.optionalWith(S.Array(UsageImagesParamsSizes), { nullable: true }), + "sources": S.optionalWith(S.Array(S.Literal("image.generation", "image.edit", "image.variation")), { + nullable: true + }), + "sizes": S.optionalWith(S.Array(S.Literal("256x256", "512x512", "1024x1024", "1792x1792", "1024x1792")), { + nullable: true + }), "project_ids": S.optionalWith(S.Array(S.String), { nullable: true }), "user_ids": S.optionalWith(S.Array(S.String), { nullable: true }), "api_key_ids": S.optionalWith(S.Array(S.String), { nullable: true }), "models": S.optionalWith(S.Array(S.String), { nullable: true }), - "group_by": S.optionalWith(S.Array(UsageImagesParamsGroupBy), { nullable: true }), + "group_by": S.optionalWith(S.Array(S.Literal("project_id", "user_id", "api_key_id", "model", "size", "source")), { + nullable: true + }), "limit": S.optionalWith(S.Int, { nullable: true }), "page": S.optionalWith(S.String, { nullable: true }) }) {} export class UsageModerationsParamsBucketWidth extends S.Literal("1m", "1h", "1d") {} -export class UsageModerationsParamsGroupBy extends S.Literal("project_id", "user_id", "api_key_id", "model") {} - export class UsageModerationsParams extends S.Struct({ "start_time": S.Int, "end_time": S.optionalWith(S.Int, { nullable: true }), @@ -2411,21 +2367,19 @@ export class UsageModerationsParams extends S.Struct({ "user_ids": S.optionalWith(S.Array(S.String), { nullable: true }), "api_key_ids": S.optionalWith(S.Array(S.String), { nullable: true }), "models": S.optionalWith(S.Array(S.String), { nullable: true }), - "group_by": S.optionalWith(S.Array(UsageModerationsParamsGroupBy), { nullable: true }), + "group_by": S.optionalWith(S.Array(S.Literal("project_id", "user_id", "api_key_id", "model")), { nullable: true }), "limit": S.optionalWith(S.Int, { nullable: true }), "page": S.optionalWith(S.String, { nullable: true }) }) {} export class UsageVectorStoresParamsBucketWidth extends S.Literal("1m", "1h", "1d") {} -export class UsageVectorStoresParamsGroupBy extends S.Literal("project_id") {} - export class UsageVectorStoresParams extends S.Struct({ "start_time": S.Int, "end_time": S.optionalWith(S.Int, { nullable: true }), "bucket_width": S.optionalWith(UsageVectorStoresParamsBucketWidth, { nullable: true, default: () => "1d" as const }), "project_ids": S.optionalWith(S.Array(S.String), { nullable: true }), - "group_by": S.optionalWith(S.Array(UsageVectorStoresParamsGroupBy), { nullable: true }), + "group_by": S.optionalWith(S.Array(S.Literal("project_id")), { nullable: true }), "limit": S.optionalWith(S.Int, { nullable: true }), "page": S.optionalWith(S.String, { nullable: true }) }) {} @@ -2489,9 +2443,7 @@ export class RealtimeSessionCreateRequestInputAudioFormat extends S.Literal("pcm export class RealtimeSessionCreateRequestOutputAudioFormat extends S.Literal("pcm16", "g711_ulaw", "g711_alaw") {} -export class RealtimeSessionCreateRequestToolsType extends S.Literal("function") {} - -export class RealtimeSessionCreateRequestMaxResponseOutputTokens extends S.Literal("inf") {} +export class RealtimeSessionCreateRequestMaxResponseOutputTokensEnum extends S.Literal("inf") {} export class RealtimeSessionCreateRequest extends S.Class("RealtimeSessionCreateRequest")({ @@ -2520,7 +2472,7 @@ export class RealtimeSessionCreateRequest ), "tools": S.optionalWith( S.Array(S.Struct({ - "type": S.optionalWith(RealtimeSessionCreateRequestToolsType, { nullable: true }), + "type": S.optionalWith(S.Literal("function"), { nullable: true }), "name": S.optionalWith(S.String, { nullable: true }), "description": S.optionalWith(S.String, { nullable: true }), "parameters": S.optionalWith(S.Record({ key: S.String, value: S.Unknown }), { nullable: true }) @@ -2529,9 +2481,10 @@ export class RealtimeSessionCreateRequest ), "tool_choice": S.optionalWith(S.String, { nullable: true }), "temperature": S.optionalWith(S.Number, { nullable: true }), - "max_response_output_tokens": S.optionalWith(S.Union(S.Int, RealtimeSessionCreateRequestMaxResponseOutputTokens), { - nullable: true - }) + "max_response_output_tokens": S.optionalWith( + S.Union(S.Int, RealtimeSessionCreateRequestMaxResponseOutputTokensEnum), + { nullable: true } + ) }) {} @@ -2539,9 +2492,7 @@ export class RealtimeSessionCreateResponseVoice extends S.Literal("alloy", "ash", "ballad", "coral", "echo", "sage", "shimmer", "verse") {} -export class RealtimeSessionCreateResponseToolsType extends S.Literal("function") {} - -export class RealtimeSessionCreateResponseMaxResponseOutputTokens extends S.Literal("inf") {} +export class RealtimeSessionCreateResponseMaxResponseOutputTokensEnum extends S.Literal("inf") {} export class RealtimeSessionCreateResponse extends S.Class("RealtimeSessionCreateResponse")({ @@ -2570,7 +2521,7 @@ export class RealtimeSessionCreateResponse ), "tools": S.optionalWith( S.Array(S.Struct({ - "type": S.optionalWith(RealtimeSessionCreateResponseToolsType, { nullable: true }), + "type": S.optionalWith(S.Literal("function"), { nullable: true }), "name": S.optionalWith(S.String, { nullable: true }), "description": S.optionalWith(S.String, { nullable: true }), "parameters": S.optionalWith(S.Record({ key: S.String, value: S.Unknown }), { nullable: true }) @@ -2579,9 +2530,10 @@ export class RealtimeSessionCreateResponse ), "tool_choice": S.optionalWith(S.String, { nullable: true }), "temperature": S.optionalWith(S.Number, { nullable: true }), - "max_response_output_tokens": S.optionalWith(S.Union(S.Int, RealtimeSessionCreateResponseMaxResponseOutputTokens), { - nullable: true - }) + "max_response_output_tokens": S.optionalWith( + S.Union(S.Int, RealtimeSessionCreateResponseMaxResponseOutputTokensEnum), + { nullable: true } + ) }) {} @@ -2650,8 +2602,6 @@ export class CreateMessageRequest extends S.Struct({ "metadata": S.optionalWith(Metadata, { nullable: true }) }) {} -export class CreateThreadRequestToolResourcesFileSearchVectorStoresChunkingStrategyType extends S.Literal("static") {} - export class CreateThreadRequest extends S.Class("CreateThreadRequest")({ "messages": S.optionalWith(S.Array(CreateMessageRequest), { nullable: true }), "tool_resources": S.optionalWith( @@ -2711,7 +2661,7 @@ export class ThreadObject extends S.Class("ThreadObject")({ "metadata": S.NullOr(Metadata) }) {} -export class CreateThreadAndRunRequestModel extends S.Literal( +export class CreateThreadAndRunRequestModelEnum extends S.Literal( "gpt-4o", "gpt-4o-2024-11-20", "gpt-4o-2024-08-06", @@ -2745,6 +2695,8 @@ export class TruncationObject extends S.Struct({ "last_messages": S.optionalWith(S.Int.pipe(S.greaterThanOrEqualTo(1)), { nullable: true }) }) {} +export class AssistantsApiToolChoiceOptionEnum extends S.Literal("none", "auto", "required") {} + export class AssistantsNamedToolChoiceType extends S.Literal("function", "code_interpreter", "file_search") {} export class AssistantsNamedToolChoice extends S.Struct({ @@ -2758,13 +2710,13 @@ export class AssistantsNamedToolChoice extends S.Struct({ }) {} export class AssistantsApiToolChoiceOption - extends S.Union(S.Literal("none", "auto", "required"), AssistantsNamedToolChoice) + extends S.Union(AssistantsApiToolChoiceOptionEnum, AssistantsNamedToolChoice) {} export class CreateThreadAndRunRequest extends S.Class("CreateThreadAndRunRequest")({ "assistant_id": S.String, "thread": S.optionalWith(CreateThreadRequest, { nullable: true }), - "model": S.optionalWith(S.Union(S.String, CreateThreadAndRunRequestModel), { nullable: true }), + "model": S.optionalWith(S.Union(S.String, CreateThreadAndRunRequestModelEnum), { nullable: true }), "instructions": S.optionalWith(S.String, { nullable: true }), "tools": S.optionalWith( S.Array(S.Union(AssistantToolsCode, AssistantToolsFileSearch, AssistantToolsFunction)).pipe(S.maxItems(20)), @@ -3047,42 +2999,16 @@ export class ListRunsResponse extends S.Class("ListRunsRespons "has_more": S.Boolean }) {} -export class CreateRunParamsInclude extends S.Literal("step_details.tool_calls[*].file_search.results[*].content") {} - export class CreateRunParams extends S.Struct({ - "include[]": S.optionalWith(S.Array(CreateRunParamsInclude), { nullable: true }) + "include[]": S.optionalWith(S.Array(S.Literal("step_details.tool_calls[*].file_search.results[*].content")), { + nullable: true + }) }) {} -export class CreateRunRequestModel extends S.Literal( - "gpt-4o", - "gpt-4o-2024-11-20", - "gpt-4o-2024-08-06", - "gpt-4o-2024-05-13", - "gpt-4o-mini", - "gpt-4o-mini-2024-07-18", - "gpt-4-turbo", - "gpt-4-turbo-2024-04-09", - "gpt-4-0125-preview", - "gpt-4-turbo-preview", - "gpt-4-1106-preview", - "gpt-4-vision-preview", - "gpt-4", - "gpt-4-0314", - "gpt-4-0613", - "gpt-4-32k", - "gpt-4-32k-0314", - "gpt-4-32k-0613", - "gpt-3.5-turbo", - "gpt-3.5-turbo-16k", - "gpt-3.5-turbo-0613", - "gpt-3.5-turbo-1106", - "gpt-3.5-turbo-0125", - "gpt-3.5-turbo-16k-0613" -) {} - export class CreateRunRequest extends S.Class("CreateRunRequest")({ "assistant_id": S.String, - "model": S.optionalWith(S.Union(S.String, CreateRunRequestModel), { nullable: true }), + "model": S.optionalWith(S.Union(S.String, AssistantSupportedModels), { nullable: true }), + "reasoning_effort": S.optionalWith(ReasoningEffort, { nullable: true, default: () => "medium" as const }), "instructions": S.optionalWith(S.String, { nullable: true }), "additional_instructions": S.optionalWith(S.String, { nullable: true }), "additional_messages": S.optionalWith(S.Array(CreateMessageRequest), { nullable: true }), @@ -3114,14 +3040,14 @@ export class ModifyRunRequest extends S.Class("ModifyRunReques export class ListRunStepsParamsOrder extends S.Literal("asc", "desc") {} -export class ListRunStepsParamsInclude extends S.Literal("step_details.tool_calls[*].file_search.results[*].content") {} - export class ListRunStepsParams extends S.Struct({ "limit": S.optionalWith(S.Int, { nullable: true, default: () => 20 as const }), "order": S.optionalWith(ListRunStepsParamsOrder, { nullable: true, default: () => "desc" as const }), "after": S.optionalWith(S.String, { nullable: true }), "before": S.optionalWith(S.String, { nullable: true }), - "include[]": S.optionalWith(S.Array(ListRunStepsParamsInclude), { nullable: true }) + "include[]": S.optionalWith(S.Array(S.Literal("step_details.tool_calls[*].file_search.results[*].content")), { + nullable: true + }) }) {} export class RunStepObjectObject extends S.Literal("thread.run.step") {} @@ -3177,15 +3103,13 @@ export class RunStepDetailsToolCallsFileSearchRankingOptionsObject extends S.Str "score_threshold": S.Number.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(1)) }) {} -export class RunStepDetailsToolCallsFileSearchResultObjectContentType extends S.Literal("text") {} - export class RunStepDetailsToolCallsFileSearchResultObject extends S.Struct({ "file_id": S.String, "file_name": S.String, "score": S.Number.pipe(S.greaterThanOrEqualTo(0), S.lessThanOrEqualTo(1)), "content": S.optionalWith( S.Array(S.Struct({ - "type": S.optionalWith(RunStepDetailsToolCallsFileSearchResultObjectContentType, { nullable: true }), + "type": S.optionalWith(S.Literal("text"), { nullable: true }), "text": S.optionalWith(S.String, { nullable: true }) })), { nullable: true } @@ -3262,10 +3186,10 @@ export class ListRunStepsResponse extends S.Class("ListRun "has_more": S.Boolean }) {} -export class GetRunStepParamsInclude extends S.Literal("step_details.tool_calls[*].file_search.results[*].content") {} - export class GetRunStepParams extends S.Struct({ - "include[]": S.optionalWith(S.Array(GetRunStepParamsInclude), { nullable: true }) + "include[]": S.optionalWith(S.Array(S.Literal("step_details.tool_calls[*].file_search.results[*].content")), { + nullable: true + }) }) {} export class SubmitToolOutputsRunRequest extends S.Class("SubmitToolOutputsRunRequest")({ diff --git a/packages/ai/openai/src/OpenAiCompletions.ts b/packages/ai/openai/src/OpenAiCompletions.ts index b82c8d2c17a..45dfb487f89 100644 --- a/packages/ai/openai/src/OpenAiCompletions.ts +++ b/packages/ai/openai/src/OpenAiCompletions.ts @@ -25,7 +25,7 @@ import * as OpenAiTokenizer from "./OpenAiTokenizer.js" * @since 1.0.0 * @category models */ -export type Model = typeof Generated.CreateChatCompletionRequestModel.Encoded +export type Model = typeof Generated.CreateChatCompletionRequestModelEnum.Encoded const make = (options: { readonly model: (string & {}) | Model diff --git a/packages/ai/openai/src/OpenAiEmbeddings.ts b/packages/ai/openai/src/OpenAiEmbeddings.ts index a77c1fb78b6..089e51b0fc6 100644 --- a/packages/ai/openai/src/OpenAiEmbeddings.ts +++ b/packages/ai/openai/src/OpenAiEmbeddings.ts @@ -15,7 +15,7 @@ import { OpenAiClient } from "./OpenAiClient.js" * @since 1.0.0 * @category models */ -export type Model = typeof Generated.CreateEmbeddingRequestModel.Encoded +export type Model = typeof Generated.CreateEmbeddingRequestModelEnum.Encoded /** * @since 1.0.0 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2919bee65eb..135d1910d5b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -93,16 +93,16 @@ importers: version: 7.16.1(eslint@9.9.1)(typescript@5.7.2) '@vitest/browser': specifier: ^2.1.4 - version: 2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.38.1))(vitest@2.1.4) + version: 2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.39.0))(vitest@2.1.4) '@vitest/coverage-v8': specifier: ^2.1.4 - version: 2.1.4(@vitest/browser@2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.38.1))(vitest@2.1.4))(vitest@2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.38.1)) + version: 2.1.4(@vitest/browser@2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.39.0))(vitest@2.1.4))(vitest@2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.1.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.39.0)) '@vitest/expect': specifier: ^2.1.4 version: 2.1.4 '@vitest/web-worker': specifier: ^2.1.4 - version: 2.1.4(vitest@2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.38.1)) + version: 2.1.4(vitest@2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.1.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.39.0)) ast-types: specifier: ^0.14.2 version: 0.14.2 @@ -132,7 +132,7 @@ importers: version: 11.0.0 jscodeshift: specifier: ^0.16.1 - version: 0.16.1(@babel/preset-env@7.26.7(@babel/core@7.25.2)) + version: 0.16.1(@babel/preset-env@7.26.9(@babel/core@7.25.2)) madge: specifier: ^8.0.0 version: 8.0.0(typescript@5.7.2) @@ -153,10 +153,10 @@ importers: version: 5.7.2 vite: specifier: ^5.4.0 - version: 5.4.0(@types/node@22.9.3)(terser@5.38.1) + version: 5.4.0(@types/node@22.9.3)(terser@5.39.0) vitest: specifier: ^2.1.4 - version: 2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.38.1) + version: 2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.1.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.39.0) packages/ai/ai: devDependencies: @@ -171,6 +171,32 @@ importers: version: link:../../effect/dist publishDirectory: dist + packages/ai/anthropic: + dependencies: + '@anthropic-ai/tokenizer': + specifier: ^0.0.4 + version: 0.0.4 + devDependencies: + '@effect/ai': + specifier: workspace:^ + version: link:../ai/dist + '@effect/experimental': + specifier: workspace:^ + version: link:../../experimental/dist + '@effect/platform': + specifier: workspace:^ + version: link:../../platform/dist + '@effect/platform-node': + specifier: workspace:^ + version: link:../../platform-node/dist + '@tim-smart/openapi-gen': + specifier: ^0.3.6 + version: 0.3.6 + effect: + specifier: workspace:^ + version: link:../../effect/dist + publishDirectory: dist + packages/ai/openai: dependencies: gpt-tokenizer: @@ -190,8 +216,8 @@ importers: specifier: workspace:^ version: link:../../platform-node/dist '@tim-smart/openapi-gen': - specifier: ^0.3.3 - version: 0.3.3 + specifier: ^0.3.6 + version: 0.3.6 effect: specifier: workspace:^ version: link:../../effect/dist @@ -323,7 +349,7 @@ importers: version: 0.14.2 jscodeshift: specifier: ^0.16.1 - version: 0.16.1(@babel/preset-env@7.26.7(@babel/core@7.26.7)) + version: 0.16.1(@babel/preset-env@7.26.9(@babel/core@7.26.9)) tinybench: specifier: ^2.9.0 version: 2.9.0 @@ -364,7 +390,7 @@ importers: version: 3.0.13 vitest-websocket-mock: specifier: ^0.4.0 - version: 0.4.0(patch_hash=mk4sparezdlrhylrh7gaunk27u)(vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/node@22.13.1)(@vitest/browser@3.0.5)(happy-dom@17.0.0)(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(terser@5.38.1)) + version: 0.4.0(patch_hash=mk4sparezdlrhylrh7gaunk27u)(vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/node@22.13.4)(@vitest/browser@3.0.5)(happy-dom@17.1.0)(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0)) ws: specifier: ^8.18.0 version: 8.18.0 @@ -662,7 +688,7 @@ importers: version: 10.11.0 drizzle-orm: specifier: ^0.31.0 - version: 0.31.4(@cloudflare/workers-types@4.20250204.0)(@libsql/client@0.14.0)(@op-engineering/op-sqlite@11.4.4(react-native@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0))(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(better-sqlite3@11.8.1)(bun-types@1.2.2)(kysely@0.27.5)(mysql2@3.12.0)(postgres@3.4.5)(react@19.0.0) + version: 0.31.4(@cloudflare/workers-types@4.20250204.0)(@libsql/client@0.14.0)(@op-engineering/op-sqlite@11.4.7(react-native@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0))(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(better-sqlite3@11.8.1)(bun-types@1.2.2)(kysely@0.27.5)(mysql2@3.12.0)(postgres@3.4.5)(react@19.0.0) effect: specifier: workspace:^ version: link:../effect/dist @@ -884,7 +910,7 @@ importers: version: link:../sql/dist '@op-engineering/op-sqlite': specifier: 7.1.0 - version: 7.1.0(react-native@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0) + version: 7.1.0(react-native@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0) effect: specifier: workspace:^ version: link:../effect/dist @@ -924,7 +950,7 @@ importers: version: link:../effect/dist vitest: specifier: ^2.1.4 - version: 2.1.4(@edge-runtime/vm@5.0.0)(@types/node@22.13.1)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(terser@5.38.1) + version: 2.1.4(@edge-runtime/vm@5.0.0)(@types/node@22.13.4)(@vitest/browser@3.0.5)(happy-dom@17.1.0)(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(terser@5.39.0) publishDirectory: dist packages: @@ -933,6 +959,9 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@anthropic-ai/tokenizer@0.0.4': + resolution: {integrity: sha512-EHRKbxlxlc8W4KCBEseByJ7YwyYCmgu9OyN59H9+IYIGPoKv8tXyQXinkeGDI+cI8Tiuz9wk2jZb/kK7AyvL7g==} + '@azure/abort-controller@1.1.0': resolution: {integrity: sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==} engines: {node: '>=12.0.0'} @@ -1020,16 +1049,16 @@ packages: resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.5': - resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==} + '@babel/compat-data@7.26.8': + resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} engines: {node: '>=6.9.0'} '@babel/core@7.25.2': resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} - '@babel/core@7.26.7': - resolution: {integrity: sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==} + '@babel/core@7.26.9': + resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==} engines: {node: '>=6.9.0'} '@babel/generator@7.12.17': @@ -1039,8 +1068,8 @@ packages: resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} engines: {node: '>=6.9.0'} - '@babel/generator@7.26.5': - resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==} + '@babel/generator@7.26.9': + resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.24.7': @@ -1065,8 +1094,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-class-features-plugin@7.25.9': - resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} + '@babel/helper-create-class-features-plugin@7.26.9': + resolution: {integrity: sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -1214,8 +1243,8 @@ packages: resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.26.7': - resolution: {integrity: sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==} + '@babel/helpers@7.26.9': + resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==} engines: {node: '>=6.9.0'} '@babel/highlight@7.24.7': @@ -1237,8 +1266,8 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@7.26.7': - resolution: {integrity: sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==} + '@babel/parser@7.26.9': + resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==} engines: {node: '>=6.0.0'} hasBin: true @@ -1433,8 +1462,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.25.9': - resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} + '@babel/plugin-transform-async-generator-functions@7.26.8': + resolution: {integrity: sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1547,8 +1576,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-for-of@7.25.9': - resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} + '@babel/plugin-transform-for-of@7.26.9': + resolution: {integrity: sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1745,8 +1774,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-runtime@7.25.9': - resolution: {integrity: sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==} + '@babel/plugin-transform-runtime@7.26.9': + resolution: {integrity: sha512-Jf+8y9wXQbbxvVYTM8gO5oEF2POdNji0NMltEkG7FtmzD9PVz7/lxpqSdTvwsjTMU5HIHuDVNf2SOxLkWi+wPQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1769,8 +1798,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-template-literals@7.25.9': - resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} + '@babel/plugin-transform-template-literals@7.26.8': + resolution: {integrity: sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1787,8 +1816,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.26.7': - resolution: {integrity: sha512-5cJurntg+AT+cgelGP9Bt788DKiAw9gIMSMU2NJrLAilnj0m8WZWUNZPSLOmadYsujHutpgElO+50foX+ib/Wg==} + '@babel/plugin-transform-typescript@7.26.8': + resolution: {integrity: sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1817,8 +1846,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.26.7': - resolution: {integrity: sha512-Ycg2tnXwixaXOVb29rana8HNPgLVBof8qqtNQ9LE22IoyZboQbGSxI6ZySMdW3K5nAe6gu35IaJefUJflhUFTQ==} + '@babel/preset-env@7.26.9': + resolution: {integrity: sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1872,16 +1901,16 @@ packages: resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.26.7': - resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==} + '@babel/runtime@7.26.9': + resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==} engines: {node: '>=6.9.0'} '@babel/template@7.25.0': resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} - '@babel/template@7.25.9': - resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + '@babel/template@7.26.9': + resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} engines: {node: '>=6.9.0'} '@babel/traverse@7.24.8': @@ -1892,8 +1921,8 @@ packages: resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.26.7': - resolution: {integrity: sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==} + '@babel/traverse@7.26.9': + resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==} engines: {node: '>=6.9.0'} '@babel/types@7.24.9': @@ -1908,8 +1937,8 @@ packages: resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.7': - resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==} + '@babel/types@7.26.9': + resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} engines: {node: '>=6.9.0'} '@balena/dockerignore@1.0.2': @@ -2113,6 +2142,18 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.23.1': + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} @@ -2125,6 +2166,18 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.23.1': + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} @@ -2137,6 +2190,18 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.23.1': + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} @@ -2149,6 +2214,18 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.23.1': + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} @@ -2161,6 +2238,18 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.23.1': + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} @@ -2173,6 +2262,18 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.23.1': + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} @@ -2185,6 +2286,18 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.23.1': + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} @@ -2197,6 +2310,18 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.23.1': + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} @@ -2209,6 +2334,18 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.23.1': + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} @@ -2221,6 +2358,18 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.23.1': + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} @@ -2233,6 +2382,18 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.23.1': + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} @@ -2245,6 +2406,18 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.23.1': + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} @@ -2257,6 +2430,18 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.23.1': + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} @@ -2269,6 +2454,18 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.23.1': + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} @@ -2281,6 +2478,18 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.23.1': + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} @@ -2293,6 +2502,18 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.23.1': + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} @@ -2305,6 +2526,24 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.23.1': + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} @@ -2317,12 +2556,36 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.23.1': + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.23.0': resolution: {integrity: sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.23.1': + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} @@ -2335,6 +2598,18 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.23.1': + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} @@ -2347,6 +2622,18 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.23.1': + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} @@ -2359,6 +2646,18 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.23.1': + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} @@ -2371,6 +2670,18 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.23.1': + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} @@ -2383,6 +2694,18 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.23.1': + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2746,8 +3069,8 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} - '@op-engineering/op-sqlite@11.4.4': - resolution: {integrity: sha512-nxj6/yXC0RQg8r5ZSyAI5txeugdX5UHgrdslERUk2to3SlEonzHlJPkZMlgGeIow18lzyE3YmOOfzHbHmWYJ1Q==} + '@op-engineering/op-sqlite@11.4.7': + resolution: {integrity: sha512-wa2YdMj9reQQHbUpe2vwuaDlpwTWec9a39tmPJXMbIR6F7AKBZMc0napbvSb/eoahqAtg1VdyVd8dXadNHrlvg==} peerDependencies: react: '*' react-native: '*' @@ -3021,28 +3344,28 @@ packages: '@react-native-community/cli-tools@15.1.3': resolution: {integrity: sha512-2RzoUKR+Y03ijBeeSoCSQihyN6dxy3fbHjraO4MheZZUzt/Yd1VMEDd0R5aa6rtiRDoknbHt45RL2GMa8MSaEA==} - '@react-native/assets-registry@0.77.0': - resolution: {integrity: sha512-Ms4tYYAMScgINAXIhE4riCFJPPL/yltughHS950l0VP5sm5glbimn9n7RFn9Tc8cipX74/ddbk19+ydK2iDMmA==} + '@react-native/assets-registry@0.77.1': + resolution: {integrity: sha512-bAQHOgqGZnF6xdYE9sJrbZ7F65Z25yLi9yWps8vOByKtj0b+f3FJhsU3Mcfy1uWvelpNEGebOLQf+WEPiwGrkw==} engines: {node: '>=18'} - '@react-native/babel-plugin-codegen@0.77.0': - resolution: {integrity: sha512-5TYPn1k+jdDOZJU4EVb1kZ0p9TCVICXK3uplRev5Gul57oWesAaiWGZOzfRS3lonWeuR4ij8v8PFfIHOaq0vmA==} + '@react-native/babel-plugin-codegen@0.77.1': + resolution: {integrity: sha512-NmmAJHMTtA6gjHRE1FvO+Jvbp0ekonANcK2IYOyqK6nLj7hhtdiMlZaUDsRi17SGHYY4X4hj6UH2nm6LfD1RLg==} engines: {node: '>=18'} - '@react-native/babel-preset@0.77.0': - resolution: {integrity: sha512-Z4yxE66OvPyQ/iAlaETI1ptRLcDm7Tk6ZLqtCPuUX3AMg+JNgIA86979T4RSk486/JrBUBH5WZe2xjj7eEHXsA==} + '@react-native/babel-preset@0.77.1': + resolution: {integrity: sha512-7eTOcMaZwvPllzZhT5fjcDNysjP54GtEbdXVxO2u5sPXWYriPL3UKuDIzIdhjxil8GtZs6+UvLNoKTateFt19Q==} engines: {node: '>=18'} peerDependencies: '@babel/core': '*' - '@react-native/codegen@0.77.0': - resolution: {integrity: sha512-rE9lXx41ZjvE8cG7e62y/yGqzUpxnSvJ6me6axiX+aDewmI4ZrddvRGYyxCnawxy5dIBHSnrpZse3P87/4Lm7w==} + '@react-native/codegen@0.77.1': + resolution: {integrity: sha512-cCUbkUewMjiK94Z2+Smh+qHkZrBSoXelOMruZGZe7TTCD6ygl6ho7fkfNuKrB2yFzSAjlUfUyLfaumVJGKslWw==} engines: {node: '>=18'} peerDependencies: '@babel/preset-env': ^7.1.6 - '@react-native/community-cli-plugin@0.77.0': - resolution: {integrity: sha512-GRshwhCHhtupa3yyCbel14SlQligV8ffNYN5L1f8HCo2SeGPsBDNjhj2U+JTrMPnoqpwowPGvkCwyqwqYff4MQ==} + '@react-native/community-cli-plugin@0.77.1': + resolution: {integrity: sha512-w2H9ePpUq7eqqtzSUSaYqbNNZoU6pbBONjTIWdztp0lFdnUaLoLUMddt9XhtKFUlnNaSmfetjJSSrsi3JVbO6w==} engines: {node: '>=18'} peerDependencies: '@react-native-community/cli-server-api': '*' @@ -3050,33 +3373,33 @@ packages: '@react-native-community/cli-server-api': optional: true - '@react-native/debugger-frontend@0.77.0': - resolution: {integrity: sha512-glOvSEjCbVXw+KtfiOAmrq21FuLE1VsmBsyT7qud4KWbXP43aUEhzn70mWyFuiIdxnzVPKe2u8iWTQTdJksR1w==} + '@react-native/debugger-frontend@0.77.1': + resolution: {integrity: sha512-wX/f4JRyAc0PqcW3OBQAAw35k4KaTmDKe+/AJuSQLbqDH746awkFprmXRRTAfRc88q++4e6Db4gyK0GVdWNIpQ==} engines: {node: '>=18'} - '@react-native/dev-middleware@0.77.0': - resolution: {integrity: sha512-DAlEYujm43O+Dq98KP2XfLSX5c/TEGtt+JBDEIOQewk374uYY52HzRb1+Gj6tNaEj/b33no4GibtdxbO5zmPhg==} + '@react-native/dev-middleware@0.77.1': + resolution: {integrity: sha512-DU6EEac57ch5XKflUB6eXepelHZFaKMJvmaZ24kt28AnvBp8rVrdaORe09pThuZdIF2m+j2BXsipU5zCd8BbZw==} engines: {node: '>=18'} - '@react-native/gradle-plugin@0.77.0': - resolution: {integrity: sha512-rmfh93jzbndSq7kihYHUQ/EGHTP8CCd3GDCmg5SbxSOHAaAYx2HZ28ZG7AVcGUsWeXp+e/90zGIyfOzDRx0Zaw==} + '@react-native/gradle-plugin@0.77.1': + resolution: {integrity: sha512-QNuNMWH0CeC+PYrAXiuUIBbwdeGJ3fZpQM03vdG3tKdk66cVSFvxLh60P0w5kRHN7UFBg2FAcYx5eQ/IdcAntg==} engines: {node: '>=18'} - '@react-native/js-polyfills@0.77.0': - resolution: {integrity: sha512-kHFcMJVkGb3ptj3yg1soUsMHATqal4dh0QTGAbYihngJ6zy+TnP65J3GJq4UlwqFE9K1RZkeCmTwlmyPFHOGvA==} + '@react-native/js-polyfills@0.77.1': + resolution: {integrity: sha512-6qd3kNr5R+JF+HzgM/fNSLEM1kw4RoOoaJV6XichvlOaCRmWS22X5TehVqiZOP95AAxtULRIifRs1cK5t9+JSg==} engines: {node: '>=18'} - '@react-native/metro-babel-transformer@0.77.0': - resolution: {integrity: sha512-19GfvhBRKCU3UDWwCnDR4QjIzz3B2ZuwhnxMRwfAgPxz7QY9uKour9RGmBAVUk1Wxi/SP7dLEvWnmnuBO39e2A==} + '@react-native/metro-babel-transformer@0.77.1': + resolution: {integrity: sha512-M4EzWDmUpIZhwJojEekbK7DzK2fYukU/TRIVZEmnbxVyWVwt/A1urbE2iV+s9E4E99pN+JdVpnBgu4LRCyPzJQ==} engines: {node: '>=18'} peerDependencies: '@babel/core': '*' - '@react-native/normalize-colors@0.77.0': - resolution: {integrity: sha512-qjmxW3xRZe4T0ZBEaXZNHtuUbRgyfybWijf1yUuQwjBt24tSapmIslwhCjpKidA0p93ssPcepquhY0ykH25mew==} + '@react-native/normalize-colors@0.77.1': + resolution: {integrity: sha512-sCmEs/Vpi14CtFYhmKXpPFZntKYGezFGgT9cJANRS2aFseAL4MOomb5Ms+TOQw82aFcwPPjDX6Hrl87WjTf73A==} - '@react-native/virtualized-lists@0.77.0': - resolution: {integrity: sha512-ppPtEu9ISO9iuzpA2HBqrfmDpDAnGGduNDVaegadOzbMCPAB3tC9Blxdu9W68LyYlNQILIsP6/FYtLwf7kfNew==} + '@react-native/virtualized-lists@0.77.1': + resolution: {integrity: sha512-S25lyHO9owc+uaV2tcd9CMTVJs7PUZX0UGCG60LoLOBHW3krVq0peI34Gm6HEhkeKqb4YvZXqI/ehoNPUm1/ww==} engines: {node: '>=18'} peerDependencies: '@types/react': ^18.2.6 @@ -3091,81 +3414,176 @@ packages: cpu: [arm] os: [android] + '@rollup/rollup-android-arm-eabi@4.34.7': + resolution: {integrity: sha512-l6CtzHYo8D2TQ3J7qJNpp3Q1Iye56ssIAtqbM2H8axxCEEwvN7o8Ze9PuIapbxFL3OHrJU2JBX6FIIVnP/rYyw==} + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm64@4.20.0': resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==} cpu: [arm64] os: [android] + '@rollup/rollup-android-arm64@4.34.7': + resolution: {integrity: sha512-KvyJpFUueUnSp53zhAa293QBYqwm94TgYTIfXyOTtidhm5V0LbLCJQRGkQClYiX3FXDQGSvPxOTD/6rPStMMDg==} + cpu: [arm64] + os: [android] + '@rollup/rollup-darwin-arm64@4.20.0': resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==} cpu: [arm64] os: [darwin] + '@rollup/rollup-darwin-arm64@4.34.7': + resolution: {integrity: sha512-jq87CjmgL9YIKvs8ybtIC98s/M3HdbqXhllcy9EdLV0yMg1DpxES2gr65nNy7ObNo/vZ/MrOTxt0bE5LinL6mA==} + cpu: [arm64] + os: [darwin] + '@rollup/rollup-darwin-x64@4.20.0': resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==} cpu: [x64] os: [darwin] + '@rollup/rollup-darwin-x64@4.34.7': + resolution: {integrity: sha512-rSI/m8OxBjsdnMMg0WEetu/w+LhLAcCDEiL66lmMX4R3oaml3eXz3Dxfvrxs1FbzPbJMaItQiksyMfv1hoIxnA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.34.7': + resolution: {integrity: sha512-oIoJRy3ZrdsXpFuWDtzsOOa/E/RbRWXVokpVrNnkS7npz8GEG++E1gYbzhYxhxHbO2om1T26BZjVmdIoyN2WtA==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.34.7': + resolution: {integrity: sha512-X++QSLm4NZfZ3VXGVwyHdRf58IBbCu9ammgJxuWZYLX0du6kZvdNqPwrjvDfwmi6wFdvfZ/s6K7ia0E5kI7m8Q==} + cpu: [x64] + os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.20.0': resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-gnueabihf@4.34.7': + resolution: {integrity: sha512-Z0TzhrsNqukTz3ISzrvyshQpFnFRfLunYiXxlCRvcrb3nvC5rVKI+ZXPFG/Aa4jhQa1gHgH3A0exHaRRN4VmdQ==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.20.0': resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.34.7': + resolution: {integrity: sha512-nkznpyXekFAbvFBKBy4nNppSgneB1wwG1yx/hujN3wRnhnkrYVugMTCBXED4+Ni6thoWfQuHNYbFjgGH0MBXtw==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.20.0': resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.34.7': + resolution: {integrity: sha512-KCjlUkcKs6PjOcxolqrXglBDcfCuUCTVlX5BgzgoJHw+1rWH1MCkETLkLe5iLLS9dP5gKC7mp3y6x8c1oGBUtA==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-arm64-musl@4.20.0': resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-musl@4.34.7': + resolution: {integrity: sha512-uFLJFz6+utmpbR313TTx+NpPuAXbPz4BhTQzgaP0tozlLnGnQ6rCo6tLwaSa6b7l6gRErjLicXQ1iPiXzYotjw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.34.7': + resolution: {integrity: sha512-ws8pc68UcJJqCpneDFepnwlsMUFoWvPbWXT/XUrJ7rWUL9vLoIN3GAasgG+nCvq8xrE3pIrd+qLX/jotcLy0Qw==} + cpu: [loong64] + os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==} cpu: [ppc64] os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.34.7': + resolution: {integrity: sha512-vrDk9JDa/BFkxcS2PbWpr0C/LiiSLxFbNOBgfbW6P8TBe9PPHx9Wqbvx2xgNi1TOAyQHQJ7RZFqBiEohm79r0w==} + cpu: [ppc64] + os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.20.0': resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==} cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.34.7': + resolution: {integrity: sha512-rB+ejFyjtmSo+g/a4eovDD1lHWHVqizN8P0Hm0RElkINpS0XOdpaXloqM4FBkF9ZWEzg6bezymbpLmeMldfLTw==} + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.20.0': resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==} cpu: [s390x] os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.34.7': + resolution: {integrity: sha512-nNXNjo4As6dNqRn7OrsnHzwTgtypfRA3u3AKr0B3sOOo+HkedIbn8ZtFnB+4XyKJojIfqDKmbIzO1QydQ8c+Pw==} + cpu: [s390x] + os: [linux] + '@rollup/rollup-linux-x64-gnu@4.20.0': resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-gnu@4.34.7': + resolution: {integrity: sha512-9kPVf9ahnpOMSGlCxXGv980wXD0zRR3wyk8+33/MXQIpQEOpaNe7dEHm5LMfyRZRNt9lMEQuH0jUKj15MkM7QA==} + cpu: [x64] + os: [linux] + '@rollup/rollup-linux-x64-musl@4.20.0': resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-musl@4.34.7': + resolution: {integrity: sha512-7wJPXRWTTPtTFDFezA8sle/1sdgxDjuMoRXEKtx97ViRxGGkVQYovem+Q8Pr/2HxiHp74SSRG+o6R0Yq0shPwQ==} + cpu: [x64] + os: [linux] + '@rollup/rollup-win32-arm64-msvc@4.20.0': resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==} cpu: [arm64] os: [win32] + '@rollup/rollup-win32-arm64-msvc@4.34.7': + resolution: {integrity: sha512-MN7aaBC7mAjsiMEZcsJvwNsQVNZShgES/9SzWp1HC9Yjqb5OpexYnRjF7RmE4itbeesHMYYQiAtUAQaSKs2Rfw==} + cpu: [arm64] + os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.20.0': resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==} cpu: [ia32] os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.34.7': + resolution: {integrity: sha512-aeawEKYswsFu1LhDM9RIgToobquzdtSc4jSVqHV8uApz4FVvhFl/mKh92wc8WpFc6aYCothV/03UjY6y7yLgbg==} + cpu: [ia32] + os: [win32] + '@rollup/rollup-win32-x64-msvc@4.20.0': resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==} cpu: [x64] os: [win32] + '@rollup/rollup-win32-x64-msvc@4.34.7': + resolution: {integrity: sha512-4ZedScpxxIrVO7otcZ8kCX1mZArtH2Wfj3uFCxRJ9NO80gg1XV0U/b2f/MKaGwj2X3QopHfoWiDQ917FRpwY3w==} + cpu: [x64] + os: [win32] + '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} @@ -3206,8 +3624,8 @@ packages: peerDependencies: '@testing-library/dom': '>=7.21.4' - '@tim-smart/openapi-gen@0.3.3': - resolution: {integrity: sha512-EAk8gco4HSkoLJtovU2UJFM36aRkf99+elEJ/1FRGbAb3PU4EfYmN8UeyeSvuV5XjpN3fyvGwTPKIBfiTVHJPA==} + '@tim-smart/openapi-gen@0.3.6': + resolution: {integrity: sha512-JJJUNqAZYX1HmSfnGWuHVDGSLJ4qVK5ELsHx9o3Qqt8QGfv3mafB5UzOasSeiRbfOHo6+qDcIA32WrcxUg2cYA==} hasBin: true '@ts-graphviz/adapter@2.0.3': @@ -3325,6 +3743,9 @@ packages: '@types/node@18.19.75': resolution: {integrity: sha512-UIksWtThob6ZVSyxcOqCLOUNg/dyO1Qvx4McgeuhrEtHTLFTf7BBhEazaE4K806FGTPtzd/2sE90qn4fVr7cyw==} + '@types/node@18.19.76': + resolution: {integrity: sha512-yvR7Q9LdPz2vGpmpJX5LolrgRdWvB67MJKDPSgIIzpFbaf9a1j/f5DnLp5VDyHGMR0QZHlTr1afsD87QCXFHKw==} + '@types/node@20.12.14': resolution: {integrity: sha512-scnD59RpYD91xngrQQLGkE+6UrHUPzeKZWhhjBSa3HSkwjbQc38+q3RoIVEwxQGRw3M+j5hpNAM+lgV3cVormg==} @@ -3334,6 +3755,9 @@ packages: '@types/node@22.13.1': resolution: {integrity: sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==} + '@types/node@22.13.4': + resolution: {integrity: sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==} + '@types/node@22.9.3': resolution: {integrity: sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw==} @@ -3774,6 +4198,11 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs3@0.11.1: + resolution: {integrity: sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-regenerator@0.6.3: resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} peerDependencies: @@ -3939,8 +4368,8 @@ packages: caniuse-lite@1.0.30001651: resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} - caniuse-lite@1.0.30001697: - resolution: {integrity: sha512-GwNPlWJin8E+d7Gxq96jxM6w0w+VFeyyXRsjU58emtkYqnbwHqXm5uT2uCmO0RQE9htWknOP4xtBlLmM/gWxvQ==} + caniuse-lite@1.0.30001699: + resolution: {integrity: sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==} capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} @@ -4070,8 +4499,8 @@ packages: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} - compression@1.7.5: - resolution: {integrity: sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==} + compression@1.8.0: + resolution: {integrity: sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==} engines: {node: '>= 0.8.0'} concat-map@0.0.1: @@ -4457,12 +4886,12 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + electron-to-chromium@1.5.100: + resolution: {integrity: sha512-u1z9VuzDXV86X2r3vAns0/5ojfXBue9o0+JDUDBKYqGLjxLkSqsSUoPU/6kW0gx76V44frHaf6Zo+QF74TQCMg==} + electron-to-chromium@1.5.6: resolution: {integrity: sha512-jwXWsM5RPf6j9dPYzaorcBSUg6AiqocPEyMpkchkvntaH9HGfOOMZwxMJjDY/XEs3T5dM7uyH1VhRMkqUU9qVw==} - electron-to-chromium@1.5.94: - resolution: {integrity: sha512-v+oaMuy6AgwZ6Hi2u5UgcM3wxzeFscBTsZBQL2FoDTx/T6k1XEQKz++8fe1VlQ3zjXB6hcvy5JPb5ZSkmVtdIQ==} - emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -4542,6 +4971,16 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -4834,8 +5273,8 @@ packages: resolution: {integrity: sha512-topOrETNxJ6T2gAnQiWqAlzGPj8uI2wtmNOlDIMNB+qyvGJZ6R++STbUOTAYmvPhOMz2gXnXPH0hOvURYmrBow==} engines: {node: '>=0.4.0'} - flow-parser@0.259.1: - resolution: {integrity: sha512-xiXLmMH2Z7OmdE9Q+MjljUMr/rbemFqZIRxaeZieVScG4HzQrKKhNcCYZbWTGpoN7ZPi7z8ClQbeVPq6t5AszQ==} + flow-parser@0.261.1: + resolution: {integrity: sha512-2l5bBKeVtT+d+1CYSsTLJ+iP2FuoR7zjbDQI/v6dDRiBpx3Lb20Z/tLS37ReX/lcodyGSHC2eA/Nk63hB+mkYg==} engines: {node: '>=0.4.0'} for-each@0.3.3: @@ -4946,6 +5385,9 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} + get-tsconfig@4.10.0: + resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} + get-tsconfig@4.7.6: resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} @@ -4977,6 +5419,7 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} @@ -5025,13 +5468,14 @@ packages: gulp-header@1.8.12: resolution: {integrity: sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==} + deprecated: Removed event-stream from gulp-header happy-dom@14.12.3: resolution: {integrity: sha512-vsYlEs3E9gLwA1Hp+w3qzu+RUDFf4VTT8cyKqVICoZ2k7WM++Qyd2LwzyTi5bqMJFiIC/vNpTDYuxdreENRK/g==} engines: {node: '>=16.0.0'} - happy-dom@17.0.0: - resolution: {integrity: sha512-jGuUr3UrgMzt1Mopyof3RzD49/GudAp1suP5KFU+EvNXmqUAMXpxux2zEJbabE1YXs0APrY61iRZ0BKMMWCGTg==} + happy-dom@17.1.0: + resolution: {integrity: sha512-9tUhXyePCjzUMycaHS/IzrIpF69xiq/laAT7golk4MtZ6t8ft5+Rv7U3lfrs2b4NMH0JTL3EhZzjfahrPmOnaQ==} engines: {node: '>=18.0.0'} has-bigints@1.0.2: @@ -5136,6 +5580,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -5691,6 +6136,9 @@ packages: long@5.2.4: resolution: {integrity: sha512-qtzLbJE8hq7VabR3mISmVGtoXP8KGc2Z/AT8OuqlYD7JTR3oqrgwdjnk07wpj1twXxYmgDXgoKVWUG/fReSzHg==} + long@5.3.0: + resolution: {integrity: sha512-5vvY5yF1zF/kXk+L94FRiTDa1Znom46UjPCH6/XbSvS8zBKMFBHTJk8KDMqJ+2J6QezQFi7k1k8v21ClJYHPaw==} + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -6042,6 +6490,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + napi-build-utils@1.0.2: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} @@ -6321,8 +6774,8 @@ packages: pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - pathe@2.0.2: - resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} pathval@2.0.0: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} @@ -6392,6 +6845,10 @@ packages: resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.2: + resolution: {integrity: sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==} + engines: {node: ^10 || ^12 || >=14} + postgres@3.4.4: resolution: {integrity: sha512-IbyN+9KslkqcXa8AO9fxpk97PA4pzewvpi2B3Dwy9u4zpV32QicaEdgmF3eSQUzdRk7ttDHQejNgAEr4XoeH4A==} engines: {node: '>=12'} @@ -6530,8 +6987,8 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-devtools-core@6.1.0: - resolution: {integrity: sha512-sA8gF/pUhjoGAN3s1Ya43h+F4Q0z7cv9RgqbUfhP7bJI0MbqeshLYFb6hiHgZorovGr8AXqhLi22eQ7V3pru/Q==} + react-devtools-core@6.1.1: + resolution: {integrity: sha512-TFo1MEnkqE6hzAbaztnyR5uLTMoz6wnEWwWBsCUzNt+sVXJycuRJdDqvL078M4/h65BI/YO5XWTaxZDWVsW0fw==} react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} @@ -6539,8 +6996,8 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-native@0.77.0: - resolution: {integrity: sha512-oCgHLGHFIp6F5UbyHSedyUXrZg6/GPe727freGFvlT7BjPJ3K6yvvdlsp7OEXSAHz6Fe7BI2n5cpUyqmP9Zn+Q==} + react-native@0.77.1: + resolution: {integrity: sha512-g2OMtsQqhgOuC4BqFyrcv0UsmbFcLOwfVRl/XAEHZK0p8paJubGIF3rAHN4Qh0GqGLWZGt7gJ7ha2yOmCFORoA==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -6713,6 +7170,7 @@ packages: rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@3.0.2: @@ -6730,6 +7188,11 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rollup@4.34.7: + resolution: {integrity: sha512-8qhyN0oZ4x0H6wmBgfKxJtxM7qS98YJ0k0kNh5ECVtuchIJ7z9IVVvzpmtQyT10PXKMtBxYr1wQ5Apg8RS8kXQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -7095,8 +7558,8 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - terser@5.38.1: - resolution: {integrity: sha512-GWANVlPM/ZfYzuPHjq0nxT+EbOEDDN3Jwhwdg1D8TU8oSkktp8w64Uq4auuGLxFSoNTRDncTq2hQHX1Ld9KHkA==} + terser@5.39.0: + resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==} engines: {node: '>=10'} hasBin: true @@ -7123,6 +7586,9 @@ packages: through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + tiktoken@1.0.20: + resolution: {integrity: sha512-zVIpXp84kth/Ni2me1uYlJgl2RZ2EjxwDaWLeDY/s6fZiyO9n1QoTOM5P7ZSYfToPvAvwYNMbg5LETVYVKyzfQ==} + tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -7225,6 +7691,7 @@ packages: tslint@6.1.3: resolution: {integrity: sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==} engines: {node: '>=4.8.0'} + deprecated: TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information. hasBin: true peerDependencies: typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev' @@ -7245,6 +7712,11 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} + engines: {node: '>=18.0.0'} + hasBin: true + tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -7279,8 +7751,8 @@ packages: resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} engines: {node: '>=16'} - type-fest@4.33.0: - resolution: {integrity: sha512-s6zVrxuyKbbAsSAD5ZPTB77q4YIdRctkTbJ2/Dqlinwz+8ooH2gd+YA7VA6Pa93KML9GockVvoxjZ2vHP+mu8g==} + type-fest@4.34.1: + resolution: {integrity: sha512-6kSc32kT0rbwxD6QL1CYe8IqdzN/J/ILMrNK+HMQCKH3insCDRY/3ITb0vcBss0a3t72fzh2YSzj8ko1HgwT3g==} engines: {node: '>=16'} typed-array-buffer@1.0.2: @@ -7448,6 +7920,46 @@ packages: terser: optional: true + vite@6.1.0: + resolution: {integrity: sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + vitest-websocket-mock@0.4.0: resolution: {integrity: sha512-tGnOwE2nC8jfioQXDrX+lZ8EVrF+IO2NVqe1vV9h945W/hlR0S6ZYbMqCJGG3Nyd//c5XSe1IGLD2ZgE2D1I7Q==} peerDependencies: @@ -7698,6 +8210,11 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + '@anthropic-ai/tokenizer@0.0.4': + dependencies: + '@types/node': 18.19.75 + tiktoken: 1.0.20 + '@azure/abort-controller@1.1.0': dependencies: tslib: 2.8.0 @@ -7849,7 +8366,7 @@ snapshots: '@babel/compat-data@7.25.2': {} - '@babel/compat-data@7.26.5': {} + '@babel/compat-data@7.26.8': {} '@babel/core@7.25.2': dependencies: @@ -7871,18 +8388,18 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/core@7.26.7': + '@babel/core@7.26.9': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.5 + '@babel/generator': 7.26.9 '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.7) - '@babel/helpers': 7.26.7 - '@babel/parser': 7.26.7 - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.7 - '@babel/types': 7.26.7 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) + '@babel/helpers': 7.26.9 + '@babel/parser': 7.26.9 + '@babel/template': 7.26.9 + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 convert-source-map: 2.0.0 debug: 4.4.0 gensync: 1.0.0-beta.2 @@ -7904,10 +8421,10 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - '@babel/generator@7.26.5': + '@babel/generator@7.26.9': dependencies: - '@babel/parser': 7.26.7 - '@babel/types': 7.26.7 + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 @@ -7918,7 +8435,7 @@ snapshots: '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.26.7 + '@babel/types': 7.26.9 '@babel/helper-compilation-targets@7.25.2': dependencies: @@ -7930,7 +8447,7 @@ snapshots: '@babel/helper-compilation-targets@7.26.5': dependencies: - '@babel/compat-data': 7.26.5 + '@babel/compat-data': 7.26.8 '@babel/helper-validator-option': 7.25.9 browserslist: 4.24.4 lru-cache: 5.1.1 @@ -7951,7 +8468,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.25.2)': + '@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.25.9 @@ -7959,21 +8476,21 @@ snapshots: '@babel/helper-optimise-call-expression': 7.25.9 '@babel/helper-replace-supers': 7.26.5(@babel/core@7.25.2) '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 semver: 6.3.1 transitivePeerDependencies: - supports-color optional: true - '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.7)': + '@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-member-expression-to-functions': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.7) + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9) '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -7986,9 +8503,9 @@ snapshots: semver: 6.3.1 optional: true - '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.7)': + '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-annotate-as-pure': 7.25.9 regexpu-core: 6.2.0 semver: 6.3.1 @@ -8005,9 +8522,9 @@ snapshots: - supports-color optional: true - '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.7)': + '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 debug: 4.4.0 @@ -8045,8 +8562,8 @@ snapshots: '@babel/helper-member-expression-to-functions@7.25.9': dependencies: - '@babel/traverse': 7.26.7 - '@babel/types': 7.26.7 + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 transitivePeerDependencies: - supports-color @@ -8059,8 +8576,8 @@ snapshots: '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.26.7 - '@babel/types': 7.26.7 + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 transitivePeerDependencies: - supports-color @@ -8090,17 +8607,17 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color optional: true - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.7)': + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color @@ -8110,7 +8627,7 @@ snapshots: '@babel/helper-optimise-call-expression@7.25.9': dependencies: - '@babel/types': 7.26.7 + '@babel/types': 7.26.9 '@babel/helper-plugin-utils@7.24.8': {} @@ -8121,17 +8638,17 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color optional: true - '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.7)': + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color @@ -8149,17 +8666,17 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-member-expression-to-functions': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color optional: true - '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.7)': + '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-member-expression-to-functions': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color @@ -8179,8 +8696,8 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: - '@babel/traverse': 7.26.7 - '@babel/types': 7.26.7 + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 transitivePeerDependencies: - supports-color @@ -8202,9 +8719,9 @@ snapshots: '@babel/helper-wrap-function@7.25.9': dependencies: - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.7 - '@babel/types': 7.26.7 + '@babel/template': 7.26.9 + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 transitivePeerDependencies: - supports-color @@ -8213,10 +8730,10 @@ snapshots: '@babel/template': 7.25.0 '@babel/types': 7.25.2 - '@babel/helpers@7.26.7': + '@babel/helpers@7.26.9': dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.7 + '@babel/template': 7.26.9 + '@babel/types': 7.26.9 '@babel/highlight@7.24.7': dependencies: @@ -8237,24 +8754,24 @@ snapshots: dependencies: '@babel/types': 7.26.0 - '@babel/parser@7.26.7': + '@babel/parser@7.26.9': dependencies: - '@babel/types': 7.26.7 + '@babel/types': 7.26.9 '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color optional: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color @@ -8264,9 +8781,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.25.2)': @@ -8275,9 +8792,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.25.2)': @@ -8290,12 +8807,12 @@ snapshots: - supports-color optional: true - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.7) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.9) transitivePeerDependencies: - supports-color @@ -8303,22 +8820,22 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color optional: true - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-export-default-from@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-proposal-export-default-from@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)': @@ -8326,38 +8843,38 @@ snapshots: '@babel/core': 7.25.2 optional: true - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.7)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.7)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.7)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.7)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.7)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.7)': + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-export-default-from@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-syntax-export-default-from@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2)': @@ -8370,9 +8887,9 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.7)': + '@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.25.2)': @@ -8381,9 +8898,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.7)': + '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.25.2)': @@ -8392,19 +8909,19 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.7)': + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.7)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.7)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': @@ -8412,14 +8929,14 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.7)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': @@ -8427,24 +8944,24 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.7)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.7)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.7)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.7)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': @@ -8452,19 +8969,19 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.7)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.7)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.7)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2)': @@ -8472,9 +8989,9 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': @@ -8484,10 +9001,10 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.7)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.25.2)': @@ -8496,27 +9013,27 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.25.2)': + '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.25.2) - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color optional: true - '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.7) - '@babel/traverse': 7.26.7 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.9) + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color @@ -8530,12 +9047,12 @@ snapshots: - supports-color optional: true - '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.7) + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.9) transitivePeerDependencies: - supports-color @@ -8545,9 +9062,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.26.7)': + '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.25.2)': @@ -8556,9 +9073,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.25.2)': @@ -8572,16 +9089,16 @@ snapshots: '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color optional: true - '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -8589,16 +9106,16 @@ snapshots: '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color optional: true - '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.7)': + '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -8610,20 +9127,20 @@ snapshots: '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-replace-supers': 7.26.5(@babel/core@7.25.2) - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 globals: 11.12.0 transitivePeerDependencies: - supports-color optional: true - '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.7) - '@babel/traverse': 7.26.7 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9) + '@babel/traverse': 7.26.9 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -8632,14 +9149,14 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.26.5 - '@babel/template': 7.25.9 + '@babel/template': 7.26.9 optional: true - '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/template': 7.25.9 + '@babel/template': 7.26.9 '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.25.2)': dependencies: @@ -8647,9 +9164,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.25.2)': @@ -8659,10 +9176,10 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.25.2)': @@ -8671,9 +9188,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.25.2)': @@ -8683,10 +9200,10 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.25.2)': @@ -8695,9 +9212,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.25.2)': @@ -8706,9 +9223,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.7)': + '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2)': @@ -8723,9 +9240,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-flow-strip-types@7.24.7(@babel/core@7.25.2)': @@ -8734,13 +9251,13 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-flow-strip-types@7.26.5(@babel/core@7.26.7)': + '@babel/plugin-transform-flow-strip-types@7.26.5(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.7) + '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.9) - '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.25.2)': + '@babel/plugin-transform-for-of@7.26.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.26.5 @@ -8749,9 +9266,9 @@ snapshots: - supports-color optional: true - '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-for-of@7.26.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: @@ -8762,17 +9279,17 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color optional: true - '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color @@ -8782,9 +9299,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-literals@7.25.9(@babel/core@7.25.2)': @@ -8793,9 +9310,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.25.2)': @@ -8804,9 +9321,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.25.2)': @@ -8815,9 +9332,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.25.2)': @@ -8829,10 +9346,10 @@ snapshots: - supports-color optional: true - '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -8855,10 +9372,10 @@ snapshots: - supports-color optional: true - '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.7)': + '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -8869,18 +9386,18 @@ snapshots: '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color optional: true - '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color @@ -8893,10 +9410,10 @@ snapshots: - supports-color optional: true - '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -8908,10 +9425,10 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.25.2)': @@ -8920,9 +9437,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2)': @@ -8937,9 +9454,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.26.7)': + '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.25.2)': @@ -8948,9 +9465,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.25.2)': @@ -8961,12 +9478,12 @@ snapshots: '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.25.2) optional: true - '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.7) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.9) '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.25.2)': dependencies: @@ -8977,11 +9494,11 @@ snapshots: - supports-color optional: true - '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.7) + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9) transitivePeerDependencies: - supports-color @@ -8991,9 +9508,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2)': @@ -9014,9 +9531,9 @@ snapshots: - supports-color optional: true - '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: @@ -9028,9 +9545,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.25.2)': @@ -9044,16 +9561,16 @@ snapshots: '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color optional: true - '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -9062,17 +9579,17 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color optional: true - '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.7) + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -9083,34 +9600,34 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.7) - '@babel/types': 7.26.7 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.9) + '@babel/types': 7.26.9 transitivePeerDependencies: - supports-color @@ -9121,9 +9638,9 @@ snapshots: regenerator-transform: 0.15.2 optional: true - '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 regenerator-transform: 0.15.2 @@ -9134,10 +9651,10 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.7)': + '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.25.2)': @@ -9146,19 +9663,19 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-runtime@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-runtime@7.26.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.26.5 - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.7) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.7) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.7) + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.9) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.9) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.9) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -9169,9 +9686,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-spread@7.25.9(@babel/core@7.25.2)': @@ -9183,9 +9700,9 @@ snapshots: - supports-color optional: true - '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: @@ -9197,20 +9714,20 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.25.2)': + '@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.25.2)': @@ -9219,9 +9736,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.26.7)': + '@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-typescript@7.24.8(@babel/core@7.25.2)': @@ -9234,14 +9751,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-typescript@7.26.7(@babel/core@7.26.7)': + '@babel/plugin-transform-typescript@7.26.8(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.7) + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.7) + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.9) transitivePeerDependencies: - supports-color @@ -9251,9 +9768,9 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.25.2)': @@ -9263,10 +9780,10 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.25.2)': @@ -9276,10 +9793,10 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.25.2)': @@ -9289,15 +9806,15 @@ snapshots: '@babel/helper-plugin-utils': 7.26.5 optional: true - '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.7)': + '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) '@babel/helper-plugin-utils': 7.26.5 - '@babel/preset-env@7.26.7(@babel/core@7.25.2)': + '@babel/preset-env@7.26.9(@babel/core@7.25.2)': dependencies: - '@babel/compat-data': 7.26.5 + '@babel/compat-data': 7.26.8 '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 @@ -9312,7 +9829,7 @@ snapshots: '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.25.2) '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.26.8(@babel/core@7.25.2) '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.25.2) '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.25.2) @@ -9327,7 +9844,7 @@ snapshots: '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.25.2) '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.26.9(@babel/core@7.25.2) '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.25.2) @@ -9355,7 +9872,7 @@ snapshots: '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.25.2) - '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.26.8(@babel/core@7.25.2) '@babel/plugin-transform-typeof-symbol': 7.26.7(@babel/core@7.25.2) '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.25.2) @@ -9363,7 +9880,7 @@ snapshots: '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.25.2) '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.25.2) babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.25.2) core-js-compat: 3.40.0 semver: 6.3.1 @@ -9371,76 +9888,76 @@ snapshots: - supports-color optional: true - '@babel/preset-env@7.26.7(@babel/core@7.26.7)': + '@babel/preset-env@7.26.9(@babel/core@7.26.9)': dependencies: - '@babel/compat-data': 7.26.5 - '@babel/core': 7.26.7 + '@babel/compat-data': 7.26.8 + '@babel/core': 7.26.9 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.7) - '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.7) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.7) - '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.26.7) - '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.7) - '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.7) - '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.7) - '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.7) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.7) - '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-typeof-symbol': 7.26.7(@babel/core@7.26.7) - '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.7) - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.7) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.7) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.7) + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.9) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.9) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.9) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-async-generator-functions': 7.26.8(@babel/core@7.26.9) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.26.9) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.9) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.9) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-for-of': 7.26.9(@babel/core@7.26.9) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.9) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.9) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.9) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-template-literals': 7.26.8(@babel/core@7.26.9) + '@babel/plugin-transform-typeof-symbol': 7.26.7(@babel/core@7.26.9) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.9) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.9) + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.9) + babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.26.9) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.9) core-js-compat: 3.40.0 semver: 6.3.1 transitivePeerDependencies: @@ -9453,26 +9970,26 @@ snapshots: '@babel/helper-validator-option': 7.24.8 '@babel/plugin-transform-flow-strip-types': 7.24.7(@babel/core@7.25.2) - '@babel/preset-flow@7.25.9(@babel/core@7.26.7)': + '@babel/preset-flow@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-transform-flow-strip-types': 7.26.5(@babel/core@7.26.7) + '@babel/plugin-transform-flow-strip-types': 7.26.5(@babel/core@7.26.9) '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.26.5 - '@babel/types': 7.26.7 + '@babel/types': 7.26.9 esutils: 2.0.3 optional: true - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.7)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/types': 7.26.7 + '@babel/types': 7.26.9 esutils: 2.0.3 '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': @@ -9486,14 +10003,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.26.0(@babel/core@7.26.7)': + '@babel/preset-typescript@7.26.0(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.7) - '@babel/plugin-transform-typescript': 7.26.7(@babel/core@7.26.7) + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.9) + '@babel/plugin-transform-typescript': 7.26.8(@babel/core@7.26.9) transitivePeerDependencies: - supports-color @@ -9506,9 +10023,9 @@ snapshots: pirates: 4.0.6 source-map-support: 0.5.21 - '@babel/register@7.25.9(@babel/core@7.26.7)': + '@babel/register@7.25.9(@babel/core@7.26.9)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -9523,7 +10040,7 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 - '@babel/runtime@7.26.7': + '@babel/runtime@7.26.9': dependencies: regenerator-runtime: 0.14.1 @@ -9533,11 +10050,11 @@ snapshots: '@babel/parser': 7.25.3 '@babel/types': 7.25.2 - '@babel/template@7.25.9': + '@babel/template@7.26.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.7 - '@babel/types': 7.26.7 + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 '@babel/traverse@7.24.8': dependencies: @@ -9566,13 +10083,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/traverse@7.26.7': + '@babel/traverse@7.26.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.5 - '@babel/parser': 7.26.7 - '@babel/template': 7.25.9 - '@babel/types': 7.26.7 + '@babel/generator': 7.26.9 + '@babel/parser': 7.26.9 + '@babel/template': 7.26.9 + '@babel/types': 7.26.9 debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: @@ -9595,7 +10112,7 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/types@7.26.7': + '@babel/types@7.26.9': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 @@ -9896,109 +10413,226 @@ snapshots: '@esbuild/aix-ppc64@0.23.0': optional: true + '@esbuild/aix-ppc64@0.23.1': + optional: true + + '@esbuild/aix-ppc64@0.24.2': + optional: true + '@esbuild/android-arm64@0.21.5': optional: true '@esbuild/android-arm64@0.23.0': optional: true + '@esbuild/android-arm64@0.23.1': + optional: true + + '@esbuild/android-arm64@0.24.2': + optional: true + '@esbuild/android-arm@0.21.5': optional: true '@esbuild/android-arm@0.23.0': optional: true + '@esbuild/android-arm@0.23.1': + optional: true + + '@esbuild/android-arm@0.24.2': + optional: true + '@esbuild/android-x64@0.21.5': optional: true '@esbuild/android-x64@0.23.0': optional: true + '@esbuild/android-x64@0.23.1': + optional: true + + '@esbuild/android-x64@0.24.2': + optional: true + '@esbuild/darwin-arm64@0.21.5': optional: true '@esbuild/darwin-arm64@0.23.0': optional: true + '@esbuild/darwin-arm64@0.23.1': + optional: true + + '@esbuild/darwin-arm64@0.24.2': + optional: true + '@esbuild/darwin-x64@0.21.5': optional: true '@esbuild/darwin-x64@0.23.0': optional: true - '@esbuild/freebsd-arm64@0.21.5': + '@esbuild/darwin-x64@0.23.1': + optional: true + + '@esbuild/darwin-x64@0.24.2': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.23.0': + optional: true + + '@esbuild/freebsd-arm64@0.23.1': + optional: true + + '@esbuild/freebsd-arm64@0.24.2': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.23.0': + optional: true + + '@esbuild/freebsd-x64@0.23.1': + optional: true + + '@esbuild/freebsd-x64@0.24.2': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.23.0': + optional: true + + '@esbuild/linux-arm64@0.23.1': + optional: true + + '@esbuild/linux-arm64@0.24.2': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-arm@0.23.0': + optional: true + + '@esbuild/linux-arm@0.23.1': + optional: true + + '@esbuild/linux-arm@0.24.2': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.23.0': + optional: true + + '@esbuild/linux-ia32@0.23.1': + optional: true + + '@esbuild/linux-ia32@0.24.2': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.23.0': + optional: true + + '@esbuild/linux-loong64@0.23.1': + optional: true + + '@esbuild/linux-loong64@0.24.2': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.23.0': + optional: true + + '@esbuild/linux-mips64el@0.23.1': + optional: true + + '@esbuild/linux-mips64el@0.24.2': optional: true - '@esbuild/freebsd-arm64@0.23.0': + '@esbuild/linux-ppc64@0.21.5': optional: true - '@esbuild/freebsd-x64@0.21.5': + '@esbuild/linux-ppc64@0.23.0': optional: true - '@esbuild/freebsd-x64@0.23.0': + '@esbuild/linux-ppc64@0.23.1': optional: true - '@esbuild/linux-arm64@0.21.5': + '@esbuild/linux-ppc64@0.24.2': optional: true - '@esbuild/linux-arm64@0.23.0': + '@esbuild/linux-riscv64@0.21.5': optional: true - '@esbuild/linux-arm@0.21.5': + '@esbuild/linux-riscv64@0.23.0': optional: true - '@esbuild/linux-arm@0.23.0': + '@esbuild/linux-riscv64@0.23.1': optional: true - '@esbuild/linux-ia32@0.21.5': + '@esbuild/linux-riscv64@0.24.2': optional: true - '@esbuild/linux-ia32@0.23.0': + '@esbuild/linux-s390x@0.21.5': optional: true - '@esbuild/linux-loong64@0.21.5': + '@esbuild/linux-s390x@0.23.0': optional: true - '@esbuild/linux-loong64@0.23.0': + '@esbuild/linux-s390x@0.23.1': optional: true - '@esbuild/linux-mips64el@0.21.5': + '@esbuild/linux-s390x@0.24.2': optional: true - '@esbuild/linux-mips64el@0.23.0': + '@esbuild/linux-x64@0.21.5': optional: true - '@esbuild/linux-ppc64@0.21.5': + '@esbuild/linux-x64@0.23.0': optional: true - '@esbuild/linux-ppc64@0.23.0': + '@esbuild/linux-x64@0.23.1': optional: true - '@esbuild/linux-riscv64@0.21.5': + '@esbuild/linux-x64@0.24.2': optional: true - '@esbuild/linux-riscv64@0.23.0': + '@esbuild/netbsd-arm64@0.24.2': optional: true - '@esbuild/linux-s390x@0.21.5': + '@esbuild/netbsd-x64@0.21.5': optional: true - '@esbuild/linux-s390x@0.23.0': + '@esbuild/netbsd-x64@0.23.0': optional: true - '@esbuild/linux-x64@0.21.5': + '@esbuild/netbsd-x64@0.23.1': optional: true - '@esbuild/linux-x64@0.23.0': + '@esbuild/netbsd-x64@0.24.2': optional: true - '@esbuild/netbsd-x64@0.21.5': + '@esbuild/openbsd-arm64@0.23.0': optional: true - '@esbuild/netbsd-x64@0.23.0': + '@esbuild/openbsd-arm64@0.23.1': optional: true - '@esbuild/openbsd-arm64@0.23.0': + '@esbuild/openbsd-arm64@0.24.2': optional: true '@esbuild/openbsd-x64@0.21.5': @@ -10007,30 +10641,60 @@ snapshots: '@esbuild/openbsd-x64@0.23.0': optional: true + '@esbuild/openbsd-x64@0.23.1': + optional: true + + '@esbuild/openbsd-x64@0.24.2': + optional: true + '@esbuild/sunos-x64@0.21.5': optional: true '@esbuild/sunos-x64@0.23.0': optional: true + '@esbuild/sunos-x64@0.23.1': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + '@esbuild/win32-arm64@0.21.5': optional: true '@esbuild/win32-arm64@0.23.0': optional: true + '@esbuild/win32-arm64@0.23.1': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true + '@esbuild/win32-ia32@0.21.5': optional: true '@esbuild/win32-ia32@0.23.0': optional: true + '@esbuild/win32-ia32@0.23.1': + optional: true + + '@esbuild/win32-ia32@0.24.2': + optional: true + '@esbuild/win32-x64@0.21.5': optional: true '@esbuild/win32-x64@0.23.0': optional: true + '@esbuild/win32-x64@0.23.1': + optional: true + + '@esbuild/win32-x64@0.24.2': + optional: true + '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1)': dependencies: eslint: 9.9.1 @@ -10072,40 +10736,18 @@ snapshots: '@humanwhocodes/retry@0.3.0': {} - '@inquirer/confirm@5.0.1(@types/node@22.13.1)': - dependencies: - '@inquirer/core': 10.0.1(@types/node@22.13.1) - '@inquirer/type': 3.0.0(@types/node@22.13.1) - '@types/node': 22.13.1 - optional: true - '@inquirer/confirm@5.0.1(@types/node@22.9.3)': dependencies: '@inquirer/core': 10.0.1(@types/node@22.9.3) '@inquirer/type': 3.0.0(@types/node@22.9.3) '@types/node': 22.9.3 - '@inquirer/confirm@5.1.5(@types/node@22.13.1)': + '@inquirer/confirm@5.1.5(@types/node@22.13.4)': dependencies: - '@inquirer/core': 10.1.6(@types/node@22.13.1) - '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@inquirer/core': 10.1.6(@types/node@22.13.4) + '@inquirer/type': 3.0.4(@types/node@22.13.4) optionalDependencies: - '@types/node': 22.13.1 - optional: true - - '@inquirer/core@10.0.1(@types/node@22.13.1)': - dependencies: - '@inquirer/figures': 1.0.7 - '@inquirer/type': 3.0.0(@types/node@22.13.1) - ansi-escapes: 4.3.2 - cli-width: 4.1.0 - mute-stream: 2.0.0 - signal-exit: 4.1.0 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.2 - transitivePeerDependencies: - - '@types/node' + '@types/node': 22.13.4 optional: true '@inquirer/core@10.0.1(@types/node@22.9.3)': @@ -10122,10 +10764,10 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@inquirer/core@10.1.6(@types/node@22.13.1)': + '@inquirer/core@10.1.6(@types/node@22.13.4)': dependencies: '@inquirer/figures': 1.0.10 - '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@inquirer/type': 3.0.4(@types/node@22.13.4) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -10133,7 +10775,7 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.1 + '@types/node': 22.13.4 optional: true '@inquirer/figures@1.0.10': @@ -10141,18 +10783,13 @@ snapshots: '@inquirer/figures@1.0.7': {} - '@inquirer/type@3.0.0(@types/node@22.13.1)': - dependencies: - '@types/node': 22.13.1 - optional: true - '@inquirer/type@3.0.0(@types/node@22.9.3)': dependencies: '@types/node': 22.9.3 - '@inquirer/type@3.0.4(@types/node@22.13.1)': + '@inquirer/type@3.0.4(@types/node@22.13.4)': optionalDependencies: - '@types/node': 22.13.1 + '@types/node': 22.13.4 optional: true '@ioredis/commands@1.2.0': {} @@ -10186,7 +10823,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.1 + '@types/node': 22.13.4 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -10197,7 +10834,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.13.1 + '@types/node': 22.13.4 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -10208,7 +10845,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -10230,7 +10867,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.13.1 + '@types/node': 22.13.4 '@types/yargs': 15.0.19 chalk: 4.1.2 optional: true @@ -10240,7 +10877,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.9.3 + '@types/node': 22.13.1 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -10463,16 +11100,16 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} - '@op-engineering/op-sqlite@11.4.4(react-native@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0)': + '@op-engineering/op-sqlite@11.4.7(react-native@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0)': dependencies: react: 19.0.0 - react-native: 0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0) + react-native: 0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0) optional: true - '@op-engineering/op-sqlite@7.1.0(react-native@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0)': + '@op-engineering/op-sqlite@7.1.0(react-native@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0)': dependencies: react: 19.0.0 - react-native: 0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0) + react-native: 0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0) '@open-draft/deferred-promise@2.2.0': {} @@ -10717,7 +11354,7 @@ snapshots: dependencies: '@react-native-community/cli-debugger-ui': 15.1.3 '@react-native-community/cli-tools': 15.1.3 - compression: 1.7.5 + compression: 1.8.0 connect: 3.7.0 errorhandler: 1.5.1 nocache: 3.0.4 @@ -10745,84 +11382,84 @@ snapshots: sudo-prompt: 9.2.1 optional: true - '@react-native/assets-registry@0.77.0': {} + '@react-native/assets-registry@0.77.1': {} - '@react-native/babel-plugin-codegen@0.77.0(@babel/preset-env@7.26.7(@babel/core@7.26.7))': + '@react-native/babel-plugin-codegen@0.77.1(@babel/preset-env@7.26.9(@babel/core@7.26.9))': dependencies: - '@babel/traverse': 7.26.7 - '@react-native/codegen': 0.77.0(@babel/preset-env@7.26.7(@babel/core@7.26.7)) + '@babel/traverse': 7.26.9 + '@react-native/codegen': 0.77.1(@babel/preset-env@7.26.9(@babel/core@7.26.9)) transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/babel-preset@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))': - dependencies: - '@babel/core': 7.26.7 - '@babel/plugin-proposal-export-default-from': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.7) - '@babel/plugin-syntax-export-default-from': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.7) - '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-flow-strip-types': 7.26.5(@babel/core@7.26.7) - '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.7) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-typescript': 7.26.7(@babel/core@7.26.7) - '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.7) - '@babel/template': 7.25.9 - '@react-native/babel-plugin-codegen': 0.77.0(@babel/preset-env@7.26.7(@babel/core@7.26.7)) + '@react-native/babel-preset@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))': + dependencies: + '@babel/core': 7.26.9 + '@babel/plugin-proposal-export-default-from': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.9) + '@babel/plugin-syntax-export-default-from': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.9) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-async-generator-functions': 7.26.8(@babel/core@7.26.9) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-flow-strip-types': 7.26.5(@babel/core@7.26.9) + '@babel/plugin-transform-for-of': 7.26.9(@babel/core@7.26.9) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.9) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-runtime': 7.26.9(@babel/core@7.26.9) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-typescript': 7.26.8(@babel/core@7.26.9) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.9) + '@babel/template': 7.26.9 + '@react-native/babel-plugin-codegen': 0.77.1(@babel/preset-env@7.26.9(@babel/core@7.26.9)) babel-plugin-syntax-hermes-parser: 0.25.1 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.26.7) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.26.9) react-refresh: 0.14.2 transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/codegen@0.77.0(@babel/preset-env@7.26.7(@babel/core@7.26.7))': + '@react-native/codegen@0.77.1(@babel/preset-env@7.26.9(@babel/core@7.26.9))': dependencies: - '@babel/parser': 7.26.7 - '@babel/preset-env': 7.26.7(@babel/core@7.26.7) + '@babel/parser': 7.26.9 + '@babel/preset-env': 7.26.9(@babel/core@7.26.9) glob: 7.2.3 hermes-parser: 0.25.1 invariant: 2.2.4 - jscodeshift: 17.1.2(@babel/preset-env@7.26.7(@babel/core@7.26.7)) + jscodeshift: 17.1.2(@babel/preset-env@7.26.9(@babel/core@7.26.9)) nullthrows: 1.1.1 yargs: 17.7.2 transitivePeerDependencies: - supports-color - '@react-native/community-cli-plugin@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)': + '@react-native/community-cli-plugin@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)': dependencies: - '@react-native/dev-middleware': 0.77.0 - '@react-native/metro-babel-transformer': 0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7)) + '@react-native/dev-middleware': 0.77.1 + '@react-native/metro-babel-transformer': 0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9)) chalk: 4.1.2 debug: 2.6.9 invariant: 2.2.4 @@ -10840,16 +11477,17 @@ snapshots: - supports-color - utf-8-validate - '@react-native/debugger-frontend@0.77.0': {} + '@react-native/debugger-frontend@0.77.1': {} - '@react-native/dev-middleware@0.77.0': + '@react-native/dev-middleware@0.77.1': dependencies: '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.77.0 + '@react-native/debugger-frontend': 0.77.1 chrome-launcher: 0.15.2 chromium-edge-launcher: 0.2.0 connect: 3.7.0 debug: 2.6.9 + invariant: 2.2.4 nullthrows: 1.1.1 open: 7.4.2 selfsigned: 2.4.1 @@ -10860,77 +11498,134 @@ snapshots: - supports-color - utf-8-validate - '@react-native/gradle-plugin@0.77.0': {} + '@react-native/gradle-plugin@0.77.1': {} - '@react-native/js-polyfills@0.77.0': {} + '@react-native/js-polyfills@0.77.1': {} - '@react-native/metro-babel-transformer@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))': + '@react-native/metro-babel-transformer@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))': dependencies: - '@babel/core': 7.26.7 - '@react-native/babel-preset': 0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7)) + '@babel/core': 7.26.9 + '@react-native/babel-preset': 0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9)) hermes-parser: 0.25.1 nullthrows: 1.1.1 transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/normalize-colors@0.77.0': {} + '@react-native/normalize-colors@0.77.1': {} - '@react-native/virtualized-lists@0.77.0(react-native@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0)': + '@react-native/virtualized-lists@0.77.1(react-native@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 19.0.0 - react-native: 0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0) + react-native: 0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0) '@rollup/rollup-android-arm-eabi@4.20.0': optional: true + '@rollup/rollup-android-arm-eabi@4.34.7': + optional: true + '@rollup/rollup-android-arm64@4.20.0': optional: true + '@rollup/rollup-android-arm64@4.34.7': + optional: true + '@rollup/rollup-darwin-arm64@4.20.0': optional: true + '@rollup/rollup-darwin-arm64@4.34.7': + optional: true + '@rollup/rollup-darwin-x64@4.20.0': optional: true + '@rollup/rollup-darwin-x64@4.34.7': + optional: true + + '@rollup/rollup-freebsd-arm64@4.34.7': + optional: true + + '@rollup/rollup-freebsd-x64@4.34.7': + optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.20.0': optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.34.7': + optional: true + '@rollup/rollup-linux-arm-musleabihf@4.20.0': optional: true + '@rollup/rollup-linux-arm-musleabihf@4.34.7': + optional: true + '@rollup/rollup-linux-arm64-gnu@4.20.0': optional: true + '@rollup/rollup-linux-arm64-gnu@4.34.7': + optional: true + '@rollup/rollup-linux-arm64-musl@4.20.0': optional: true + '@rollup/rollup-linux-arm64-musl@4.34.7': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.34.7': + optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.34.7': + optional: true + '@rollup/rollup-linux-riscv64-gnu@4.20.0': optional: true + '@rollup/rollup-linux-riscv64-gnu@4.34.7': + optional: true + '@rollup/rollup-linux-s390x-gnu@4.20.0': optional: true + '@rollup/rollup-linux-s390x-gnu@4.34.7': + optional: true + '@rollup/rollup-linux-x64-gnu@4.20.0': optional: true + '@rollup/rollup-linux-x64-gnu@4.34.7': + optional: true + '@rollup/rollup-linux-x64-musl@4.20.0': optional: true + '@rollup/rollup-linux-x64-musl@4.34.7': + optional: true + '@rollup/rollup-win32-arm64-msvc@4.20.0': optional: true + '@rollup/rollup-win32-arm64-msvc@4.34.7': + optional: true + '@rollup/rollup-win32-ia32-msvc@4.20.0': optional: true + '@rollup/rollup-win32-ia32-msvc@4.34.7': + optional: true + '@rollup/rollup-win32-x64-msvc@4.20.0': optional: true + '@rollup/rollup-win32-x64-msvc@4.34.7': + optional: true + '@rtsao/scc@1.1.0': {} '@sinclair/typebox@0.27.8': {} @@ -10983,7 +11678,7 @@ snapshots: '@testing-library/dom': 10.4.0 optional: true - '@tim-smart/openapi-gen@0.3.3': + '@tim-smart/openapi-gen@0.3.6': dependencies: yaml: 2.7.0 @@ -11006,24 +11701,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.26.7 - '@babel/types': 7.26.7 + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.26.7 + '@babel/types': 7.26.9 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.26.7 - '@babel/types': 7.26.7 + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.26.7 + '@babel/types': 7.26.9 '@types/better-sqlite3@7.6.10': dependencies: @@ -11035,7 +11730,7 @@ snapshots: '@types/better-sqlite3@7.6.12': dependencies: - '@types/node': 22.13.1 + '@types/node': 22.13.4 optional: true '@types/bun@1.1.13': @@ -11048,7 +11743,7 @@ snapshots: '@types/docker-modem@3.0.6': dependencies: - '@types/node': 22.9.3 + '@types/node': 22.13.1 '@types/ssh2': 1.15.1 '@types/dockerode@3.3.31': @@ -11073,7 +11768,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.13.1 + '@types/node': 22.13.4 '@types/ini@4.1.1': {} @@ -11110,7 +11805,7 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.13.1 + '@types/node': 22.13.4 '@types/node@12.20.55': {} @@ -11118,6 +11813,10 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@18.19.76': + dependencies: + undici-types: 5.26.5 + '@types/node@20.12.14': dependencies: undici-types: 5.26.5 @@ -11130,6 +11829,10 @@ snapshots: dependencies: undici-types: 6.20.0 + '@types/node@22.13.4': + dependencies: + undici-types: 6.20.0 + '@types/node@22.9.3': dependencies: undici-types: 6.19.8 @@ -11138,23 +11841,23 @@ snapshots: '@types/readable-stream@4.0.15': dependencies: - '@types/node': 22.9.3 + '@types/node': 22.13.1 safe-buffer: 5.1.2 '@types/semver@7.5.8': {} '@types/ssh2-streams@0.1.12': dependencies: - '@types/node': 22.9.3 + '@types/node': 22.13.1 '@types/ssh2@0.5.52': dependencies: - '@types/node': 22.9.3 + '@types/node': 22.13.1 '@types/ssh2-streams': 0.1.12 '@types/ssh2@1.15.1': dependencies: - '@types/node': 18.19.75 + '@types/node': 18.19.76 '@types/stack-utils@2.0.3': {} @@ -11175,7 +11878,7 @@ snapshots: '@types/ws@8.5.14': dependencies: - '@types/node': 22.13.1 + '@types/node': 22.13.4 optional: true '@types/yargs-parser@21.0.3': {} @@ -11245,7 +11948,7 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.6 + debug: 4.4.0 globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.3 @@ -11291,60 +11994,60 @@ snapshots: '@typescript-eslint/types': 7.16.1 eslint-visitor-keys: 3.4.3 - '@vitest/browser@2.1.4(@types/node@22.13.1)(playwright@1.50.1)(typescript@5.7.3)(vite@5.4.0(@types/node@22.13.1)(terser@5.38.1))(vitest@2.1.4)': + '@vitest/browser@2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.39.0))(vitest@2.1.4)': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) - '@vitest/mocker': 2.1.4(msw@2.5.2(@types/node@22.13.1)(typescript@5.7.3))(vite@5.4.0(@types/node@22.13.1)(terser@5.38.1)) + '@vitest/mocker': 2.1.4(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(vite@5.4.0(@types/node@22.9.3)(terser@5.39.0)) '@vitest/utils': 2.1.4 magic-string: 0.30.12 - msw: 2.5.2(@types/node@22.13.1)(typescript@5.7.3) + msw: 2.5.2(@types/node@22.9.3)(typescript@5.7.2) sirv: 3.0.0 tinyrainbow: 1.2.0 - vitest: 2.1.4(@edge-runtime/vm@5.0.0)(@types/node@22.13.1)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(terser@5.38.1) + vitest: 2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.1.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.39.0) ws: 8.18.0 optionalDependencies: - playwright: 1.50.1 + playwright: 1.46.0 transitivePeerDependencies: - '@types/node' - bufferutil - typescript - utf-8-validate - vite - optional: true - '@vitest/browser@2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.38.1))(vitest@2.1.4)': + '@vitest/browser@3.0.5(@types/node@22.13.4)(playwright@1.50.1)(typescript@5.7.3)(vite@6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vitest@2.1.4)': dependencies: '@testing-library/dom': 10.4.0 - '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) - '@vitest/mocker': 2.1.4(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(vite@5.4.0(@types/node@22.9.3)(terser@5.38.1)) - '@vitest/utils': 2.1.4 - magic-string: 0.30.12 - msw: 2.5.2(@types/node@22.9.3)(typescript@5.7.2) + '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) + '@vitest/mocker': 3.0.5(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(vite@6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0)) + '@vitest/utils': 3.0.5 + magic-string: 0.30.17 + msw: 2.7.0(@types/node@22.13.4)(typescript@5.7.3) sirv: 3.0.0 - tinyrainbow: 1.2.0 - vitest: 2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.38.1) + tinyrainbow: 2.0.0 + vitest: 2.1.4(@edge-runtime/vm@5.0.0)(@types/node@22.13.4)(@vitest/browser@3.0.5)(happy-dom@17.1.0)(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(terser@5.39.0) ws: 8.18.0 optionalDependencies: - playwright: 1.46.0 + playwright: 1.50.1 transitivePeerDependencies: - '@types/node' - bufferutil - typescript - utf-8-validate - vite + optional: true - '@vitest/browser@3.0.5(@types/node@22.13.1)(playwright@1.50.1)(typescript@5.7.3)(vite@5.4.0(@types/node@22.13.1)(terser@5.38.1))(vitest@3.0.5)': + '@vitest/browser@3.0.5(@types/node@22.13.4)(playwright@1.50.1)(typescript@5.7.3)(vite@6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vitest@3.0.5)': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.0.5(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(vite@5.4.0(@types/node@22.13.1)(terser@5.38.1)) + '@vitest/mocker': 3.0.5(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(vite@6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0)) '@vitest/utils': 3.0.5 magic-string: 0.30.17 - msw: 2.7.0(@types/node@22.13.1)(typescript@5.7.3) + msw: 2.7.0(@types/node@22.13.4)(typescript@5.7.3) sirv: 3.0.0 tinyrainbow: 2.0.0 - vitest: 3.0.5(@edge-runtime/vm@5.0.0)(@types/node@22.13.1)(@vitest/browser@3.0.5)(happy-dom@17.0.0)(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(terser@5.38.1) + vitest: 3.0.5(@edge-runtime/vm@5.0.0)(@types/node@22.13.4)(@vitest/browser@3.0.5)(happy-dom@17.1.0)(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) ws: 8.18.0 optionalDependencies: playwright: 1.50.1 @@ -11356,7 +12059,7 @@ snapshots: - vite optional: true - '@vitest/coverage-v8@2.1.4(@vitest/browser@2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.38.1))(vitest@2.1.4))(vitest@2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.38.1))': + '@vitest/coverage-v8@2.1.4(@vitest/browser@2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.39.0))(vitest@2.1.4))(vitest@2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.1.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.39.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -11370,9 +12073,9 @@ snapshots: std-env: 3.7.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.38.1) + vitest: 2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.1.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.39.0) optionalDependencies: - '@vitest/browser': 2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.38.1))(vitest@2.1.4) + '@vitest/browser': 2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.39.0))(vitest@2.1.4) transitivePeerDependencies: - supports-color @@ -11390,42 +12093,32 @@ snapshots: chai: 5.1.2 tinyrainbow: 2.0.0 - '@vitest/mocker@2.1.4(msw@2.5.2(@types/node@22.13.1)(typescript@5.7.3))(vite@5.4.0(@types/node@22.13.1)(terser@5.38.1))': - dependencies: - '@vitest/spy': 2.1.4 - estree-walker: 3.0.3 - magic-string: 0.30.12 - optionalDependencies: - msw: 2.5.2(@types/node@22.13.1)(typescript@5.7.3) - vite: 5.4.0(@types/node@22.13.1)(terser@5.38.1) - optional: true - - '@vitest/mocker@2.1.4(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(vite@5.4.0(@types/node@22.9.3)(terser@5.38.1))': + '@vitest/mocker@2.1.4(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(vite@5.4.0(@types/node@22.9.3)(terser@5.39.0))': dependencies: '@vitest/spy': 2.1.4 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: msw: 2.5.2(@types/node@22.9.3)(typescript@5.7.2) - vite: 5.4.0(@types/node@22.9.3)(terser@5.38.1) + vite: 5.4.0(@types/node@22.9.3)(terser@5.39.0) - '@vitest/mocker@2.1.4(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(vite@5.4.0(@types/node@22.13.1)(terser@5.38.1))': + '@vitest/mocker@2.1.4(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(vite@5.4.0(@types/node@22.13.4)(terser@5.39.0))': dependencies: '@vitest/spy': 2.1.4 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - msw: 2.7.0(@types/node@22.13.1)(typescript@5.7.3) - vite: 5.4.0(@types/node@22.13.1)(terser@5.38.1) + msw: 2.7.0(@types/node@22.13.4)(typescript@5.7.3) + vite: 5.4.0(@types/node@22.13.4)(terser@5.39.0) - '@vitest/mocker@3.0.5(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(vite@5.4.0(@types/node@22.13.1)(terser@5.38.1))': + '@vitest/mocker@3.0.5(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(vite@6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@vitest/spy': 3.0.5 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.0(@types/node@22.13.1)(typescript@5.7.3) - vite: 5.4.0(@types/node@22.13.1)(terser@5.38.1) + msw: 2.7.0(@types/node@22.13.4)(typescript@5.7.3) + vite: 6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) '@vitest/pretty-format@2.1.4': dependencies: @@ -11443,7 +12136,7 @@ snapshots: '@vitest/runner@3.0.5': dependencies: '@vitest/utils': 3.0.5 - pathe: 2.0.2 + pathe: 2.0.3 '@vitest/snapshot@2.1.4': dependencies: @@ -11455,7 +12148,7 @@ snapshots: dependencies: '@vitest/pretty-format': 3.0.5 magic-string: 0.30.17 - pathe: 2.0.2 + pathe: 2.0.3 '@vitest/spy@2.1.4': dependencies: @@ -11477,10 +12170,10 @@ snapshots: loupe: 3.1.3 tinyrainbow: 2.0.0 - '@vitest/web-worker@2.1.4(vitest@2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.38.1))': + '@vitest/web-worker@2.1.4(vitest@2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.1.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.39.0))': dependencies: debug: 4.3.7 - vitest: 2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.38.1) + vitest: 2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.1.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.39.0) transitivePeerDependencies: - supports-color @@ -11507,7 +12200,7 @@ snapshots: agent-base@7.1.1: dependencies: - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -11684,13 +12377,13 @@ snapshots: b4a@1.6.6: {} - babel-jest@29.7.0(@babel/core@7.26.7): + babel-jest@29.7.0(@babel/core@7.26.9): dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.26.7) + babel-preset-jest: 29.6.3(@babel/core@7.26.9) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -11713,14 +12406,14 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.7 + '@babel/template': 7.26.9 + '@babel/types': 7.26.9 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.25.2): dependencies: - '@babel/compat-data': 7.26.5 + '@babel/compat-data': 7.26.8 '@babel/core': 7.25.2 '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.25.2) semver: 6.3.1 @@ -11728,16 +12421,24 @@ snapshots: - supports-color optional: true - babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.7): + babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.9): dependencies: - '@babel/compat-data': 7.26.5 - '@babel/core': 7.26.7 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.7) + '@babel/compat-data': 7.26.8 + '@babel/core': 7.26.9 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.2): + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.9): + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9) + core-js-compat: 3.40.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.25.2): dependencies: '@babel/core': 7.25.2 '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.25.2) @@ -11746,10 +12447,10 @@ snapshots: - supports-color optional: true - babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.7): + babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.26.9): dependencies: - '@babel/core': 7.26.7 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9) core-js-compat: 3.40.0 transitivePeerDependencies: - supports-color @@ -11762,10 +12463,10 @@ snapshots: - supports-color optional: true - babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.7): + babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.9): dependencies: - '@babel/core': 7.26.7 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.7) + '@babel/core': 7.26.9 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9) transitivePeerDependencies: - supports-color @@ -11773,36 +12474,36 @@ snapshots: dependencies: hermes-parser: 0.25.1 - babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.26.7): + babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.26.9): dependencies: - '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.7) + '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.9) transitivePeerDependencies: - '@babel/core' - babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.7): - dependencies: - '@babel/core': 7.26.7 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.7) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.7) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.7) - - babel-preset-jest@29.6.3(@babel/core@7.26.7): - dependencies: - '@babel/core': 7.26.7 + babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.9): + dependencies: + '@babel/core': 7.26.9 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.9) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.9) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.9) + + babel-preset-jest@29.6.3(@babel/core@7.26.9): + dependencies: + '@babel/core': 7.26.9 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.7) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.9) balanced-match@1.0.2: {} @@ -11892,8 +12593,8 @@ snapshots: browserslist@4.24.4: dependencies: - caniuse-lite: 1.0.30001697 - electron-to-chromium: 1.5.94 + caniuse-lite: 1.0.30001699 + electron-to-chromium: 1.5.100 node-releases: 2.0.19 update-browserslist-db: 1.1.2(browserslist@4.24.4) @@ -11929,7 +12630,7 @@ snapshots: bun-types@1.2.2: dependencies: - '@types/node': 22.13.1 + '@types/node': 22.13.4 '@types/ws': 8.5.14 optional: true @@ -11966,11 +12667,11 @@ snapshots: caniuse-lite@1.0.30001651: {} - caniuse-lite@1.0.30001697: {} + caniuse-lite@1.0.30001699: {} capnp-ts@0.7.0: dependencies: - debug: 4.3.6 + debug: 4.4.0 tslib: 2.6.3 transitivePeerDependencies: - supports-color @@ -12023,7 +12724,7 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 22.13.1 + '@types/node': 22.13.4 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -12032,7 +12733,7 @@ snapshots: chromium-edge-launcher@0.2.0: dependencies: - '@types/node': 22.13.1 + '@types/node': 22.13.4 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -12106,7 +12807,7 @@ snapshots: mime-db: 1.53.0 optional: true - compression@1.7.5: + compression@1.8.0: dependencies: bytes: 3.1.2 compressible: 2.0.18 @@ -12355,7 +13056,7 @@ snapshots: docker-modem@3.0.8: dependencies: - debug: 4.3.7 + debug: 4.4.0 readable-stream: 3.6.2 split-ca: 1.0.1 ssh2: 1.15.0 @@ -12382,11 +13083,11 @@ snapshots: dotenv@8.6.0: {} - drizzle-orm@0.31.4(@cloudflare/workers-types@4.20250204.0)(@libsql/client@0.14.0)(@op-engineering/op-sqlite@11.4.4(react-native@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0))(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(better-sqlite3@11.8.1)(bun-types@1.2.2)(kysely@0.27.5)(mysql2@3.12.0)(postgres@3.4.5)(react@19.0.0): + drizzle-orm@0.31.4(@cloudflare/workers-types@4.20250204.0)(@libsql/client@0.14.0)(@op-engineering/op-sqlite@11.4.7(react-native@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0))(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.12)(better-sqlite3@11.8.1)(bun-types@1.2.2)(kysely@0.27.5)(mysql2@3.12.0)(postgres@3.4.5)(react@19.0.0): optionalDependencies: '@cloudflare/workers-types': 4.20250204.0 '@libsql/client': 0.14.0 - '@op-engineering/op-sqlite': 11.4.4(react-native@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0) + '@op-engineering/op-sqlite': 11.4.7(react-native@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0) '@opentelemetry/api': 1.9.0 '@types/better-sqlite3': 7.6.12 better-sqlite3: 11.8.1 @@ -12404,9 +13105,9 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.6: {} + electron-to-chromium@1.5.100: {} - electron-to-chromium@1.5.94: {} + electron-to-chromium@1.5.6: {} emoji-regex@8.0.0: {} @@ -12576,6 +13277,62 @@ snapshots: '@esbuild/win32-ia32': 0.23.0 '@esbuild/win32-x64': 0.23.0 + esbuild@0.23.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + optional: true + + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + escalade@3.1.2: {} escalade@3.2.0: {} @@ -12949,7 +13706,7 @@ snapshots: flow-parser@0.239.1: {} - flow-parser@0.259.1: {} + flow-parser@0.261.1: {} for-each@0.3.3: dependencies: @@ -13056,6 +13813,11 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 + get-tsconfig@4.10.0: + dependencies: + resolve-pkg-maps: 1.0.0 + optional: true + get-tsconfig@4.7.6: dependencies: resolve-pkg-maps: 1.0.0 @@ -13159,7 +13921,7 @@ snapshots: webidl-conversions: 7.0.0 whatwg-mimetype: 3.0.0 - happy-dom@17.0.0: + happy-dom@17.1.0: dependencies: webidl-conversions: 7.0.0 whatwg-mimetype: 3.0.0 @@ -13210,14 +13972,14 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -13468,8 +14230,8 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.26.7 - '@babel/parser': 7.26.7 + '@babel/core': 7.26.9 + '@babel/parser': 7.26.9 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -13519,7 +14281,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.1 + '@types/node': 22.13.4 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -13529,7 +14291,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.13.1 + '@types/node': 22.13.4 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -13563,7 +14325,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.13.1 + '@types/node': 22.13.4 jest-util: 29.7.0 jest-regex-util@29.6.3: {} @@ -13588,7 +14350,7 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 22.13.1 + '@types/node': 22.13.4 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -13612,7 +14374,7 @@ snapshots: jsc-safe-url@0.2.4: {} - jscodeshift@0.16.1(@babel/preset-env@7.26.7(@babel/core@7.25.2)): + jscodeshift@0.16.1(@babel/preset-env@7.26.9(@babel/core@7.25.2)): dependencies: '@babel/core': 7.25.2 '@babel/parser': 7.24.8 @@ -13634,11 +14396,11 @@ snapshots: temp: 0.9.4 write-file-atomic: 5.0.1 optionalDependencies: - '@babel/preset-env': 7.26.7(@babel/core@7.25.2) + '@babel/preset-env': 7.26.9(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - jscodeshift@0.16.1(@babel/preset-env@7.26.7(@babel/core@7.26.7)): + jscodeshift@0.16.1(@babel/preset-env@7.26.9(@babel/core@7.26.9)): dependencies: '@babel/core': 7.25.2 '@babel/parser': 7.24.8 @@ -13660,23 +14422,23 @@ snapshots: temp: 0.9.4 write-file-atomic: 5.0.1 optionalDependencies: - '@babel/preset-env': 7.26.7(@babel/core@7.26.7) + '@babel/preset-env': 7.26.9(@babel/core@7.26.9) transitivePeerDependencies: - supports-color - jscodeshift@17.1.2(@babel/preset-env@7.26.7(@babel/core@7.26.7)): - dependencies: - '@babel/core': 7.26.7 - '@babel/parser': 7.26.7 - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.7) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.7) - '@babel/preset-flow': 7.25.9(@babel/core@7.26.7) - '@babel/preset-typescript': 7.26.0(@babel/core@7.26.7) - '@babel/register': 7.25.9(@babel/core@7.26.7) - flow-parser: 0.259.1 + jscodeshift@17.1.2(@babel/preset-env@7.26.9(@babel/core@7.26.9)): + dependencies: + '@babel/core': 7.26.9 + '@babel/parser': 7.26.9 + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.9) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.9) + '@babel/preset-flow': 7.25.9(@babel/core@7.26.9) + '@babel/preset-typescript': 7.26.0(@babel/core@7.26.9) + '@babel/register': 7.25.9(@babel/core@7.26.9) + flow-parser: 0.261.1 graceful-fs: 4.2.11 micromatch: 4.0.8 neo-async: 2.6.2 @@ -13685,7 +14447,7 @@ snapshots: tmp: 0.2.3 write-file-atomic: 5.0.1 optionalDependencies: - '@babel/preset-env': 7.26.7(@babel/core@7.26.7) + '@babel/preset-env': 7.26.9(@babel/core@7.26.9) transitivePeerDependencies: - supports-color @@ -13919,6 +14681,9 @@ snapshots: long@5.2.4: {} + long@5.3.0: + optional: true + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 @@ -14021,7 +14786,7 @@ snapshots: metro-babel-transformer@0.81.1: dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.9 flow-enums-runtime: 0.0.6 hermes-parser: 0.25.1 nullthrows: 1.1.1 @@ -14076,7 +14841,7 @@ snapshots: metro-minify-terser@0.81.1: dependencies: flow-enums-runtime: 0.0.6 - terser: 5.38.1 + terser: 5.39.0 metro-resolver@0.81.1: dependencies: @@ -14084,14 +14849,14 @@ snapshots: metro-runtime@0.81.1: dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.26.9 flow-enums-runtime: 0.0.6 metro-source-map@0.81.1: dependencies: - '@babel/traverse': 7.26.7 - '@babel/traverse--for-generate-function-map': '@babel/traverse@7.26.7' - '@babel/types': 7.26.7 + '@babel/traverse': 7.26.9 + '@babel/traverse--for-generate-function-map': '@babel/traverse@7.26.9' + '@babel/types': 7.26.9 flow-enums-runtime: 0.0.6 invariant: 2.2.4 metro-symbolicate: 0.81.1 @@ -14115,10 +14880,10 @@ snapshots: metro-transform-plugins@0.81.1: dependencies: - '@babel/core': 7.26.7 - '@babel/generator': 7.26.5 - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/core': 7.26.9 + '@babel/generator': 7.26.9 + '@babel/template': 7.26.9 + '@babel/traverse': 7.26.9 flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: @@ -14126,10 +14891,10 @@ snapshots: metro-transform-worker@0.81.1: dependencies: - '@babel/core': 7.26.7 - '@babel/generator': 7.26.5 - '@babel/parser': 7.26.7 - '@babel/types': 7.26.7 + '@babel/core': 7.26.9 + '@babel/generator': 7.26.9 + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 flow-enums-runtime: 0.0.6 metro: 0.81.1 metro-babel-transformer: 0.81.1 @@ -14147,12 +14912,12 @@ snapshots: metro@0.81.1: dependencies: '@babel/code-frame': 7.26.2 - '@babel/core': 7.26.7 - '@babel/generator': 7.26.5 - '@babel/parser': 7.26.7 - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.7 - '@babel/types': 7.26.7 + '@babel/core': 7.26.9 + '@babel/generator': 7.26.9 + '@babel/parser': 7.26.9 + '@babel/template': 7.26.9 + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 @@ -14193,7 +14958,7 @@ snapshots: micromark@2.11.4: dependencies: - debug: 4.3.6 + debug: 4.4.0 parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -14335,31 +15100,6 @@ snapshots: optionalDependencies: msgpackr-extract: 3.0.3 - msw@2.5.2(@types/node@22.13.1)(typescript@5.7.3): - dependencies: - '@bundled-es-modules/cookie': 2.0.0 - '@bundled-es-modules/statuses': 1.0.1 - '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.0.1(@types/node@22.13.1) - '@mswjs/interceptors': 0.36.6 - '@open-draft/until': 2.1.0 - '@types/cookie': 0.6.0 - '@types/statuses': 2.0.5 - chalk: 4.1.2 - graphql: 16.9.0 - headers-polyfill: 4.0.3 - is-node-process: 1.2.0 - outvariant: 1.4.3 - path-to-regexp: 6.3.0 - strict-event-emitter: 0.5.1 - type-fest: 4.26.1 - yargs: 17.7.2 - optionalDependencies: - typescript: 5.7.3 - transitivePeerDependencies: - - '@types/node' - optional: true - msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2): dependencies: '@bundled-es-modules/cookie': 2.0.0 @@ -14384,12 +15124,12 @@ snapshots: transitivePeerDependencies: - '@types/node' - msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3): + msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.5(@types/node@22.13.1) + '@inquirer/confirm': 5.1.5(@types/node@22.13.4) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -14402,7 +15142,7 @@ snapshots: path-to-regexp: 6.3.0 picocolors: 1.1.1 strict-event-emitter: 0.5.1 - type-fest: 4.33.0 + type-fest: 4.34.1 yargs: 17.7.2 optionalDependencies: typescript: 5.7.3 @@ -14434,7 +15174,7 @@ snapshots: denque: 2.1.0 generate-function: 2.3.1 iconv-lite: 0.6.3 - long: 5.2.4 + long: 5.3.0 lru.min: 1.1.1 named-placeholders: 1.1.3 seq-queue: 0.0.5 @@ -14450,6 +15190,8 @@ snapshots: nanoid@3.3.7: {} + nanoid@3.3.8: {} + napi-build-utils@1.0.2: {} napi-build-utils@2.0.0: @@ -14719,7 +15461,7 @@ snapshots: pathe@1.1.2: {} - pathe@2.0.2: {} + pathe@2.0.3: {} pathval@2.0.0: {} @@ -14776,6 +15518,12 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 + postcss@8.5.2: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + postgres@3.4.4: {} postgres@3.4.5: @@ -14959,7 +15707,7 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-devtools-core@6.1.0: + react-devtools-core@6.1.1: dependencies: shell-quote: 1.8.2 ws: 7.5.10 @@ -14971,20 +15719,20 @@ snapshots: react-is@18.3.1: {} - react-native@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0): + react-native@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0): dependencies: '@jest/create-cache-key-function': 29.7.0 - '@react-native/assets-registry': 0.77.0 - '@react-native/codegen': 0.77.0(@babel/preset-env@7.26.7(@babel/core@7.26.7)) - '@react-native/community-cli-plugin': 0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3) - '@react-native/gradle-plugin': 0.77.0 - '@react-native/js-polyfills': 0.77.0 - '@react-native/normalize-colors': 0.77.0 - '@react-native/virtualized-lists': 0.77.0(react-native@0.77.0(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0) + '@react-native/assets-registry': 0.77.1 + '@react-native/codegen': 0.77.1(@babel/preset-env@7.26.9(@babel/core@7.26.9)) + '@react-native/community-cli-plugin': 0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3) + '@react-native/gradle-plugin': 0.77.1 + '@react-native/js-polyfills': 0.77.1 + '@react-native/normalize-colors': 0.77.1 + '@react-native/virtualized-lists': 0.77.1(react-native@0.77.1(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@react-native-community/cli-server-api@15.1.3)(react@19.0.0))(react@19.0.0) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 - babel-jest: 29.7.0(@babel/core@7.26.7) + babel-jest: 29.7.0(@babel/core@7.26.9) babel-plugin-syntax-hermes-parser: 0.25.1 base64-js: 1.5.1 chalk: 4.1.2 @@ -15002,7 +15750,7 @@ snapshots: pretty-format: 29.7.0 promise: 8.3.0 react: 19.0.0 - react-devtools-core: 6.1.0 + react-devtools-core: 6.1.1 react-refresh: 0.14.2 regenerator-runtime: 0.13.11 scheduler: 0.24.0-canary-efb381bbf-20230505 @@ -15111,7 +15859,7 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.26.9 regexp.prototype.flags@1.5.2: dependencies: @@ -15223,6 +15971,31 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.20.0 fsevents: 2.3.3 + rollup@4.34.7: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.34.7 + '@rollup/rollup-android-arm64': 4.34.7 + '@rollup/rollup-darwin-arm64': 4.34.7 + '@rollup/rollup-darwin-x64': 4.34.7 + '@rollup/rollup-freebsd-arm64': 4.34.7 + '@rollup/rollup-freebsd-x64': 4.34.7 + '@rollup/rollup-linux-arm-gnueabihf': 4.34.7 + '@rollup/rollup-linux-arm-musleabihf': 4.34.7 + '@rollup/rollup-linux-arm64-gnu': 4.34.7 + '@rollup/rollup-linux-arm64-musl': 4.34.7 + '@rollup/rollup-linux-loongarch64-gnu': 4.34.7 + '@rollup/rollup-linux-powerpc64le-gnu': 4.34.7 + '@rollup/rollup-linux-riscv64-gnu': 4.34.7 + '@rollup/rollup-linux-s390x-gnu': 4.34.7 + '@rollup/rollup-linux-x64-gnu': 4.34.7 + '@rollup/rollup-linux-x64-musl': 4.34.7 + '@rollup/rollup-win32-arm64-msvc': 4.34.7 + '@rollup/rollup-win32-ia32-msvc': 4.34.7 + '@rollup/rollup-win32-x64-msvc': 4.34.7 + fsevents: 2.3.3 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -15632,7 +16405,7 @@ snapshots: term-size@2.2.1: {} - terser@5.38.1: + terser@5.39.0: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.14.0 @@ -15684,6 +16457,8 @@ snapshots: readable-stream: 2.3.8 xtend: 4.0.2 + tiktoken@1.0.20: {} + tiny-invariant@1.3.3: {} tinybench@2.9.0: {} @@ -15799,6 +16574,14 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tsx@4.19.2: + dependencies: + esbuild: 0.23.1 + get-tsconfig: 4.10.0 + optionalDependencies: + fsevents: 2.3.3 + optional: true + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 @@ -15821,7 +16604,7 @@ snapshots: type-fest@4.26.1: {} - type-fest@4.33.0: + type-fest@4.34.1: optional: true typed-array-buffer@1.0.2: @@ -15942,12 +16725,12 @@ snapshots: vary@1.1.2: optional: true - vite-node@2.1.4(@types/node@22.13.1)(terser@5.38.1): + vite-node@2.1.4(@types/node@22.13.4)(terser@5.39.0): dependencies: cac: 6.7.14 - debug: 4.3.7 + debug: 4.4.0 pathe: 1.1.2 - vite: 5.4.0(@types/node@22.13.1)(terser@5.38.1) + vite: 5.4.0(@types/node@22.13.4)(terser@5.39.0) transitivePeerDependencies: - '@types/node' - less @@ -15959,12 +16742,12 @@ snapshots: - supports-color - terser - vite-node@2.1.4(@types/node@22.9.3)(terser@5.38.1): + vite-node@2.1.4(@types/node@22.9.3)(terser@5.39.0): dependencies: cac: 6.7.14 - debug: 4.3.7 + debug: 4.4.0 pathe: 1.1.2 - vite: 5.4.0(@types/node@22.9.3)(terser@5.38.1) + vite: 5.4.0(@types/node@22.9.3)(terser@5.39.0) transitivePeerDependencies: - '@types/node' - less @@ -15976,15 +16759,16 @@ snapshots: - supports-color - terser - vite-node@3.0.5(@types/node@22.13.1)(terser@5.38.1): + vite-node@3.0.5(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 - pathe: 2.0.2 - vite: 5.4.0(@types/node@22.13.1)(terser@5.38.1) + pathe: 2.0.3 + vite: 6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' + - jiti - less - lightningcss - sass @@ -15993,18 +16777,20 @@ snapshots: - sugarss - supports-color - terser + - tsx + - yaml - vite@5.4.0(@types/node@22.13.1)(terser@5.38.1): + vite@5.4.0(@types/node@22.13.4)(terser@5.39.0): dependencies: esbuild: 0.21.5 postcss: 8.4.41 rollup: 4.20.0 optionalDependencies: - '@types/node': 22.13.1 + '@types/node': 22.13.4 fsevents: 2.3.3 - terser: 5.38.1 + terser: 5.39.0 - vite@5.4.0(@types/node@22.9.3)(terser@5.38.1): + vite@5.4.0(@types/node@22.9.3)(terser@5.39.0): dependencies: esbuild: 0.21.5 postcss: 8.4.41 @@ -16012,18 +16798,30 @@ snapshots: optionalDependencies: '@types/node': 22.9.3 fsevents: 2.3.3 - terser: 5.38.1 + terser: 5.39.0 + + vite@6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0): + dependencies: + esbuild: 0.24.2 + postcss: 8.5.2 + rollup: 4.34.7 + optionalDependencies: + '@types/node': 22.13.4 + fsevents: 2.3.3 + terser: 5.39.0 + tsx: 4.19.2 + yaml: 2.7.0 - vitest-websocket-mock@0.4.0(patch_hash=mk4sparezdlrhylrh7gaunk27u)(vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/node@22.13.1)(@vitest/browser@3.0.5)(happy-dom@17.0.0)(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(terser@5.38.1)): + vitest-websocket-mock@0.4.0(patch_hash=mk4sparezdlrhylrh7gaunk27u)(vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/node@22.13.4)(@vitest/browser@3.0.5)(happy-dom@17.1.0)(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0)): dependencies: '@vitest/utils': 2.1.4 mock-socket: 9.3.1 - vitest: 3.0.5(@edge-runtime/vm@5.0.0)(@types/node@22.13.1)(@vitest/browser@3.0.5)(happy-dom@17.0.0)(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(terser@5.38.1) + vitest: 3.0.5(@edge-runtime/vm@5.0.0)(@types/node@22.13.4)(@vitest/browser@3.0.5)(happy-dom@17.1.0)(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - vitest@2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.38.1): + vitest@2.1.4(@edge-runtime/vm@4.0.1)(@types/node@22.9.3)(@vitest/browser@2.1.4)(happy-dom@17.1.0)(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(terser@5.39.0): dependencies: '@vitest/expect': 2.1.4 - '@vitest/mocker': 2.1.4(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(vite@5.4.0(@types/node@22.9.3)(terser@5.38.1)) + '@vitest/mocker': 2.1.4(msw@2.5.2(@types/node@22.9.3)(typescript@5.7.2))(vite@5.4.0(@types/node@22.9.3)(terser@5.39.0)) '@vitest/pretty-format': 2.1.4 '@vitest/runner': 2.1.4 '@vitest/snapshot': 2.1.4 @@ -16039,14 +16837,14 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.0(@types/node@22.9.3)(terser@5.38.1) - vite-node: 2.1.4(@types/node@22.9.3)(terser@5.38.1) + vite: 5.4.0(@types/node@22.9.3)(terser@5.39.0) + vite-node: 2.1.4(@types/node@22.9.3)(terser@5.39.0) why-is-node-running: 2.3.0 optionalDependencies: '@edge-runtime/vm': 4.0.1 '@types/node': 22.9.3 - '@vitest/browser': 2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.38.1))(vitest@2.1.4) - happy-dom: 17.0.0 + '@vitest/browser': 2.1.4(@types/node@22.9.3)(playwright@1.46.0)(typescript@5.7.2)(vite@5.4.0(@types/node@22.9.3)(terser@5.39.0))(vitest@2.1.4) + happy-dom: 17.1.0 transitivePeerDependencies: - less - lightningcss @@ -16058,10 +16856,10 @@ snapshots: - supports-color - terser - vitest@2.1.4(@edge-runtime/vm@5.0.0)(@types/node@22.13.1)(@vitest/browser@2.1.4)(happy-dom@17.0.0)(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(terser@5.38.1): + vitest@2.1.4(@edge-runtime/vm@5.0.0)(@types/node@22.13.4)(@vitest/browser@3.0.5)(happy-dom@17.1.0)(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(terser@5.39.0): dependencies: '@vitest/expect': 2.1.4 - '@vitest/mocker': 2.1.4(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(vite@5.4.0(@types/node@22.13.1)(terser@5.38.1)) + '@vitest/mocker': 2.1.4(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(vite@5.4.0(@types/node@22.13.4)(terser@5.39.0)) '@vitest/pretty-format': 2.1.4 '@vitest/runner': 2.1.4 '@vitest/snapshot': 2.1.4 @@ -16077,14 +16875,14 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.0(@types/node@22.13.1)(terser@5.38.1) - vite-node: 2.1.4(@types/node@22.13.1)(terser@5.38.1) + vite: 5.4.0(@types/node@22.13.4)(terser@5.39.0) + vite-node: 2.1.4(@types/node@22.13.4)(terser@5.39.0) why-is-node-running: 2.3.0 optionalDependencies: '@edge-runtime/vm': 5.0.0 - '@types/node': 22.13.1 - '@vitest/browser': 2.1.4(@types/node@22.13.1)(playwright@1.50.1)(typescript@5.7.3)(vite@5.4.0(@types/node@22.13.1)(terser@5.38.1))(vitest@2.1.4) - happy-dom: 17.0.0 + '@types/node': 22.13.4 + '@vitest/browser': 3.0.5(@types/node@22.13.4)(playwright@1.50.1)(typescript@5.7.3)(vite@6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vitest@2.1.4) + happy-dom: 17.1.0 transitivePeerDependencies: - less - lightningcss @@ -16096,10 +16894,10 @@ snapshots: - supports-color - terser - vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/node@22.13.1)(@vitest/browser@3.0.5)(happy-dom@17.0.0)(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(terser@5.38.1): + vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/node@22.13.4)(@vitest/browser@3.0.5)(happy-dom@17.1.0)(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0): dependencies: '@vitest/expect': 3.0.5 - '@vitest/mocker': 3.0.5(msw@2.7.0(@types/node@22.13.1)(typescript@5.7.3))(vite@5.4.0(@types/node@22.13.1)(terser@5.38.1)) + '@vitest/mocker': 3.0.5(msw@2.7.0(@types/node@22.13.4)(typescript@5.7.3))(vite@6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0)) '@vitest/pretty-format': 3.0.5 '@vitest/runner': 3.0.5 '@vitest/snapshot': 3.0.5 @@ -16109,21 +16907,22 @@ snapshots: debug: 4.4.0 expect-type: 1.1.0 magic-string: 0.30.17 - pathe: 2.0.2 + pathe: 2.0.3 std-env: 3.8.0 tinybench: 2.9.0 tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.4.0(@types/node@22.13.1)(terser@5.38.1) - vite-node: 3.0.5(@types/node@22.13.1)(terser@5.38.1) + vite: 6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) + vite-node: 3.0.5(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: '@edge-runtime/vm': 5.0.0 - '@types/node': 22.13.1 - '@vitest/browser': 3.0.5(@types/node@22.13.1)(playwright@1.50.1)(typescript@5.7.3)(vite@5.4.0(@types/node@22.13.1)(terser@5.38.1))(vitest@3.0.5) - happy-dom: 17.0.0 + '@types/node': 22.13.4 + '@vitest/browser': 3.0.5(@types/node@22.13.4)(playwright@1.50.1)(typescript@5.7.3)(vite@6.1.0(@types/node@22.13.4)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vitest@3.0.5) + happy-dom: 17.1.0 transitivePeerDependencies: + - jiti - less - lightningcss - msw @@ -16133,6 +16932,8 @@ snapshots: - sugarss - supports-color - terser + - tsx + - yaml vlq@1.0.1: {} diff --git a/scripts/docs.mjs b/scripts/docs.mjs index 20fc3ffaff6..82a99937d49 100644 --- a/scripts/docs.mjs +++ b/scripts/docs.mjs @@ -3,7 +3,7 @@ import * as Path from "node:path" function packages() { return Fs.readdirSync("packages") - .concat(Fs.readdirSync("packages/ai")) + .concat(Fs.readdirSync("packages/ai").map((dir) => Path.join("ai", dir))) .filter((_) => Fs.existsSync(Path.join("packages", _, "docs/modules"))) } diff --git a/tsconfig.base.json b/tsconfig.base.json index ff453591dd7..75e59e9e65b 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -43,6 +43,9 @@ "@effect/ai": ["./packages/ai/ai/src/index.js"], "@effect/ai/*": ["./packages/ai/ai/src/*.js"], "@effect/ai/test/*": ["./packages/ai/ai/test/*.js"], + "@effect/ai-anthropic": ["./packages/ai/anthropic/src/index.js"], + "@effect/ai-anthropic/*": ["./packages/ai/anthropic/src/*.js"], + "@effect/ai-anthropic/test/*": ["./packages/ai/anthropic/test/*.js"], "@effect/ai-openai": ["./packages/ai/openai/src/index.js"], "@effect/ai-openai/*": ["./packages/ai/openai/src/*.js"], "@effect/ai-openai/test/*": ["./packages/ai/openai/test/*.js"], diff --git a/tsconfig.build.json b/tsconfig.build.json index af06a9fa33b..5a7b39494c7 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -4,6 +4,7 @@ "references": [ { "path": "packages/effect/tsconfig.build.json" }, { "path": "packages/ai/ai/tsconfig.build.json" }, + { "path": "packages/ai/anthropic/tsconfig.build.json" }, { "path": "packages/ai/openai/tsconfig.build.json" }, { "path": "packages/cli/tsconfig.build.json" }, { "path": "packages/cluster/tsconfig.build.json" }, diff --git a/tsconfig.json b/tsconfig.json index c67d5e37b99..ab4ea883407 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,6 +4,7 @@ "references": [ { "path": "packages/effect" }, { "path": "packages/ai/ai" }, + { "path": "packages/ai/anthropic" }, { "path": "packages/ai/openai" }, { "path": "packages/cli" }, { "path": "packages/cluster" }, diff --git a/vitest.shared.ts b/vitest.shared.ts index 626db5abdc9..69c2a409a20 100644 --- a/vitest.shared.ts +++ b/vitest.shared.ts @@ -29,6 +29,7 @@ const config: ViteUserConfig = { alias: { ...alias("effect"), ...alias("ai", path.join("ai", "ai")), + ...alias("ai-anthropic", path.join("ai", "anthropic")), ...alias("ai-openai", path.join("ai", "openai")), ...alias("cli"), ...alias("cluster"),