🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@opencode-ai/ai

Package Overview
Dependencies
Maintainers
2
Versions
281
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@opencode-ai/ai - npm Package Compare versions

Comparing version
0.0.0-next-16255
to
0.0.0-next-16273
+60
-60
dist/llm.d.ts

@@ -23,8 +23,8 @@ import { Effect, JsonSchema, Schema } from "effect";

constructor(object: T, response: LLMResponse);
get events(): readonly (Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"step-start">;
readonly index: Schema.Number;
}, "Type"> | {
get events(): readonly ({
readonly type: "step-start";
readonly index: number;
} | {
readonly id: string;
readonly type: "text-start";
readonly id: string;
readonly providerMetadata?: {

@@ -36,5 +36,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -46,4 +46,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-end";
readonly id: string;
readonly providerMetadata?: {

@@ -55,4 +55,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-start";
readonly id: string;
readonly providerMetadata?: {

@@ -64,5 +64,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -74,4 +74,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-end";
readonly id: string;
readonly providerMetadata?: {

@@ -83,5 +83,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "tool-input-start";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -93,11 +93,11 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"tool-input-delta">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly text: Schema.String;
}, "Type"> | {
} | {
readonly type: "tool-input-delta";
readonly id: string;
readonly name: string;
readonly text: string;
} | {
readonly id: string;
readonly type: "tool-input-end";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -108,11 +108,11 @@ readonly [x: string]: {

} | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"tool-input-error">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly raw: Schema.String;
}, "Type"> | {
} | {
readonly type: "tool-input-error";
readonly id: string;
readonly name: string;
readonly raw: string;
} | {
readonly id: string;
readonly type: "tool-call";
readonly name: string;
readonly id: string;
readonly input: unknown;

@@ -126,26 +126,38 @@ readonly providerMetadata?: {

} | {
readonly id: string;
readonly type: "tool-result";
readonly name: string;
readonly id: string;
readonly result: Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"json">;
readonly value: Schema.Unknown;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"text">;
readonly value: Schema.Unknown;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"error">;
readonly value: Schema.Unknown;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"content">;
readonly value: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"file">;
readonly uri: Schema.String;
readonly mime: Schema.String;
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
}>]>>;
}, "Type">;
readonly result: {
readonly type: "json";
readonly value: unknown;
} | {
readonly type: "text";
readonly value: unknown;
} | {
readonly type: "error";
readonly value: unknown;
} | {
readonly type: "content";
readonly value: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
};
readonly output?: {
readonly structured: unknown;
readonly content: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
} | undefined;
readonly providerMetadata?: {

@@ -157,18 +169,6 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
readonly output?: Schema.Struct.ReadonlySide<{
readonly structured: Schema.Unknown;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"file">;
readonly uri: Schema.String;
readonly mime: Schema.String;
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
}>]>>;
}, "Type"> | undefined;
} | {
readonly id: string;
readonly type: "tool-error";
readonly name: string;
readonly id: string;
readonly message: string;

@@ -175,0 +175,0 @@ readonly error?: unknown;

@@ -214,135 +214,135 @@ import { Schema } from "effect";

export declare const protocol: Protocol<{
readonly messages: readonly (Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"image">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.String;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"document">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.Literal<"application/pdf">;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"tool_result">;
readonly tool_use_id: Schema.String;
readonly content: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"image">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.String;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"document">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.Literal<"application/pdf">;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>]>;
readonly is_error: Schema.optional<Schema.Boolean>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"assistant">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"thinking">;
readonly thinking: Schema.String;
readonly signature: Schema.optional<Schema.String>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"redacted_thinking">;
readonly data: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"tool_use">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly input: Schema.Unknown;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"server_tool_use">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly input: Schema.Unknown;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.Literals<readonly ["web_search_tool_result", "code_execution_tool_result", "web_fetch_tool_result"]>;
readonly tool_use_id: Schema.String;
readonly content: Schema.Unknown;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"system">;
readonly content: Schema.$Array<Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>>;
}, "Type">)[];
readonly model: string;
readonly messages: readonly ({
readonly role: "user";
readonly content: readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "image";
readonly source: {
readonly type: "base64";
readonly media_type: string;
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "document";
readonly source: {
readonly type: "base64";
readonly media_type: "application/pdf";
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "tool_result";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "image";
readonly source: {
readonly type: "base64";
readonly media_type: string;
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "document";
readonly source: {
readonly type: "base64";
readonly media_type: "application/pdf";
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
})[];
readonly tool_use_id: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
readonly is_error?: boolean | undefined;
})[];
} | {
readonly role: "assistant";
readonly content: readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly id: string;
readonly type: "tool_use";
readonly name: string;
readonly input: unknown;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly id: string;
readonly type: "server_tool_use";
readonly name: string;
readonly input: unknown;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "web_search_tool_result" | "code_execution_tool_result" | "web_fetch_tool_result";
readonly content: unknown;
readonly tool_use_id: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "thinking";
readonly thinking: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
readonly signature?: string | undefined;
} | {
readonly data: string;
readonly type: "redacted_thinking";
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
})[];
} | {
readonly role: "system";
readonly content: readonly {
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
}[];
})[];
readonly stream: true;

@@ -371,17 +371,17 @@ readonly max_tokens: number;

readonly stop_sequences?: readonly string[] | undefined;
readonly thinking?: Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"enabled">;
readonly budget_tokens: Schema.Number;
}, "Type"> | {
readonly thinking?: {
readonly type: "enabled";
readonly budget_tokens: number;
} | {
readonly type: "adaptive";
readonly display?: "summarized" | "omitted" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"disabled">;
}, "Type"> | undefined;
readonly tool_choice?: Schema.Struct.ReadonlySide<{
readonly type: Schema.Literals<readonly ["auto", "any", "none"]>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"tool">;
readonly name: Schema.String;
}, "Type"> | undefined;
} | {
readonly type: "disabled";
} | undefined;
readonly tool_choice?: {
readonly type: "none" | "auto" | "any";
} | {
readonly type: "tool";
readonly name: string;
} | undefined;
readonly top_k?: number | undefined;

@@ -415,2 +415,11 @@ readonly top_p?: number | undefined;

} | undefined;
readonly delta?: {
readonly type?: string | undefined;
readonly text?: string | undefined;
readonly thinking?: string | undefined;
readonly signature?: string | undefined;
readonly partial_json?: string | undefined;
readonly stop_reason?: string | null | undefined;
readonly stop_sequence?: string | null | undefined;
} | undefined;
readonly index?: number | undefined;

@@ -434,8 +443,8 @@ readonly usage?: {

readonly type: string;
readonly id?: string | undefined;
readonly data?: string | undefined;
readonly name?: string | undefined;
readonly text?: string | undefined;
readonly name?: string | undefined;
readonly data?: string | undefined;
readonly input?: unknown;
readonly content?: unknown;
readonly id?: string | undefined;
readonly input?: unknown;
readonly thinking?: string | undefined;

@@ -445,11 +454,2 @@ readonly signature?: string | undefined;

} | undefined;
readonly delta?: {
readonly type?: string | undefined;
readonly text?: string | undefined;
readonly thinking?: string | undefined;
readonly signature?: string | undefined;
readonly partial_json?: string | undefined;
readonly stop_reason?: string | null | undefined;
readonly stop_sequence?: string | null | undefined;
} | undefined;
}, {

@@ -461,135 +461,135 @@ tools: Partial<Record<number, ToolStream.PendingTool>>;

export declare const route: Route<{
readonly messages: readonly (Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"image">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.String;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"document">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.Literal<"application/pdf">;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"tool_result">;
readonly tool_use_id: Schema.String;
readonly content: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"image">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.String;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"document">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.Literal<"application/pdf">;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>]>;
readonly is_error: Schema.optional<Schema.Boolean>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"assistant">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"thinking">;
readonly thinking: Schema.String;
readonly signature: Schema.optional<Schema.String>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"redacted_thinking">;
readonly data: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"tool_use">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly input: Schema.Unknown;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"server_tool_use">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly input: Schema.Unknown;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.Literals<readonly ["web_search_tool_result", "code_execution_tool_result", "web_fetch_tool_result"]>;
readonly tool_use_id: Schema.String;
readonly content: Schema.Unknown;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"system">;
readonly content: Schema.$Array<Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>>;
}, "Type">)[];
readonly model: string;
readonly messages: readonly ({
readonly role: "user";
readonly content: readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "image";
readonly source: {
readonly type: "base64";
readonly media_type: string;
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "document";
readonly source: {
readonly type: "base64";
readonly media_type: "application/pdf";
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "tool_result";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "image";
readonly source: {
readonly type: "base64";
readonly media_type: string;
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "document";
readonly source: {
readonly type: "base64";
readonly media_type: "application/pdf";
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
})[];
readonly tool_use_id: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
readonly is_error?: boolean | undefined;
})[];
} | {
readonly role: "assistant";
readonly content: readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly id: string;
readonly type: "tool_use";
readonly name: string;
readonly input: unknown;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly id: string;
readonly type: "server_tool_use";
readonly name: string;
readonly input: unknown;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "web_search_tool_result" | "code_execution_tool_result" | "web_fetch_tool_result";
readonly content: unknown;
readonly tool_use_id: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "thinking";
readonly thinking: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
readonly signature?: string | undefined;
} | {
readonly data: string;
readonly type: "redacted_thinking";
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
})[];
} | {
readonly role: "system";
readonly content: readonly {
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
}[];
})[];
readonly stream: true;

@@ -618,17 +618,17 @@ readonly max_tokens: number;

readonly stop_sequences?: readonly string[] | undefined;
readonly thinking?: Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"enabled">;
readonly budget_tokens: Schema.Number;
}, "Type"> | {
readonly thinking?: {
readonly type: "enabled";
readonly budget_tokens: number;
} | {
readonly type: "adaptive";
readonly display?: "summarized" | "omitted" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"disabled">;
}, "Type"> | undefined;
readonly tool_choice?: Schema.Struct.ReadonlySide<{
readonly type: Schema.Literals<readonly ["auto", "any", "none"]>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"tool">;
readonly name: Schema.String;
}, "Type"> | undefined;
} | {
readonly type: "disabled";
} | undefined;
readonly tool_choice?: {
readonly type: "none" | "auto" | "any";
} | {
readonly type: "tool";
readonly name: string;
} | undefined;
readonly top_k?: number | undefined;

@@ -635,0 +635,0 @@ readonly top_p?: number | undefined;

import { Effect, Schema } from "effect";
import { Tool } from "@opencode-ai/schema/tool";
import { Route } from "../route/client";

@@ -3,0 +4,0 @@ import { Auth } from "../route/auth";

@@ -144,87 +144,87 @@ import { Schema } from "effect";

export declare const protocol: Protocol<{
readonly messages: readonly (Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly text: Schema.String;
}>, Schema.Struct<{
readonly image: Schema.Struct<{
readonly format: Schema.Literals<readonly ["png", "jpeg", "gif", "webp"]>;
readonly source: Schema.Struct<{
readonly bytes: Schema.String;
}>;
}>;
}>, Schema.Struct<{
readonly document: Schema.Struct<{
readonly format: Schema.Literals<readonly ["pdf", "csv", "doc", "docx", "xls", "xlsx", "html", "txt", "md"]>;
readonly name: Schema.String;
readonly source: Schema.Struct<{
readonly bytes: Schema.String;
}>;
}>;
}>, Schema.Struct<{
readonly toolResult: Schema.Struct<{
readonly toolUseId: Schema.String;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly text: Schema.String;
}>, Schema.Struct<{
readonly json: Schema.Unknown;
}>, Schema.Struct<{
readonly image: Schema.Struct<{
readonly format: Schema.Literals<readonly ["png", "jpeg", "gif", "webp"]>;
readonly source: Schema.Struct<{
readonly bytes: Schema.String;
}>;
}>;
}>, Schema.Struct<{
readonly document: Schema.Struct<{
readonly format: Schema.Literals<readonly ["pdf", "csv", "doc", "docx", "xls", "xlsx", "html", "txt", "md"]>;
readonly name: Schema.String;
readonly source: Schema.Struct<{
readonly bytes: Schema.String;
}>;
}>;
}>]>>;
readonly status: Schema.optional<Schema.Literals<readonly ["success", "error"]>>;
}>;
}>, Schema.Struct<{
readonly cachePoint: Schema.Struct<{
readonly type: Schema.tag<"default">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>;
}>]>>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"assistant">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly text: Schema.String;
}>, Schema.Struct<{
readonly reasoningContent: Schema.Union<readonly [Schema.Struct<{
readonly reasoningText: Schema.Struct<{
readonly text: Schema.String;
readonly signature: Schema.optional<Schema.String>;
}>;
}>, Schema.Struct<{
readonly redactedContent: Schema.String;
}>]>;
}>, Schema.Struct<{
readonly toolUse: Schema.Struct<{
readonly toolUseId: Schema.String;
readonly name: Schema.String;
readonly input: Schema.Unknown;
}>;
}>, Schema.Struct<{
readonly cachePoint: Schema.Struct<{
readonly type: Schema.tag<"default">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>;
}>]>>;
}, "Type">)[];
readonly messages: readonly ({
readonly role: "user";
readonly content: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly image: {
readonly format: "png" | "jpeg" | "gif" | "webp";
readonly source: {
readonly bytes: string;
};
};
} | {
readonly document: {
readonly format: "pdf" | "csv" | "doc" | "docx" | "xls" | "xlsx" | "html" | "txt" | "md";
readonly name: string;
readonly source: {
readonly bytes: string;
};
};
} | {
readonly text: string;
} | {
readonly toolResult: {
readonly content: readonly ({
readonly image: {
readonly format: "png" | "jpeg" | "gif" | "webp";
readonly source: {
readonly bytes: string;
};
};
} | {
readonly document: {
readonly format: "pdf" | "csv" | "doc" | "docx" | "xls" | "xlsx" | "html" | "txt" | "md";
readonly name: string;
readonly source: {
readonly bytes: string;
};
};
} | {
readonly text: string;
} | {
readonly json: unknown;
})[];
readonly toolUseId: string;
readonly status?: "error" | "success" | undefined;
};
})[];
} | {
readonly role: "assistant";
readonly content: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly text: string;
} | {
readonly toolUse: {
readonly toolUseId: string;
readonly name: string;
readonly input: unknown;
};
} | {
readonly reasoningContent: {
readonly reasoningText: {
readonly text: string;
readonly signature?: string | undefined;
};
} | {
readonly redactedContent: string;
};
})[];
})[];
readonly modelId: string;
readonly system?: readonly (Schema.Struct.ReadonlySide<{
readonly cachePoint: Schema.Struct<{
readonly type: Schema.tag<"default">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly text: Schema.String;
}, "Type">)[] | undefined;
readonly system?: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly text: string;
})[] | undefined;
readonly inferenceConfig?: {

@@ -237,25 +237,27 @@ readonly maxTokens?: number | undefined;

readonly toolConfig?: {
readonly tools: readonly (Schema.Struct.ReadonlySide<{
readonly cachePoint: Schema.Struct<{
readonly type: Schema.tag<"default">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly toolSpec: Schema.Struct<{
readonly name: Schema.String;
readonly description: Schema.String;
readonly inputSchema: Schema.Struct<{
readonly json: Schema.$Record<Schema.String, Schema.Unknown>;
}>;
}>;
}, "Type">)[];
readonly toolChoice?: Schema.Struct.ReadonlySide<{
readonly auto: Schema.Struct<{}>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly any: Schema.Struct<{}>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly tool: Schema.Struct<{
readonly name: Schema.String;
}>;
}, "Type"> | undefined;
readonly tools: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly toolSpec: {
readonly name: string;
readonly description: string;
readonly inputSchema: {
readonly json: {
readonly [x: string]: unknown;
};
};
};
})[];
readonly toolChoice?: {
readonly auto: {};
} | {
readonly any: {};
} | {
readonly tool: {
readonly name: string;
};
} | undefined;
} | undefined;

@@ -276,12 +278,12 @@ readonly additionalModelRequestFields?: {

} | undefined;
readonly messageStart?: Schema.Struct.ReadonlySide<{
readonly role: Schema.String;
}, "Encoded"> | undefined;
readonly messageStart?: {
readonly role: string;
} | undefined;
readonly contentBlockStart?: {
readonly contentBlockIndex: number;
readonly start?: {
readonly toolUse?: Schema.Struct.ReadonlySide<{
readonly toolUseId: Schema.String;
readonly name: Schema.String;
}, "Encoded"> | undefined;
readonly toolUse?: {
readonly toolUseId: string;
readonly name: string;
} | undefined;
} | undefined;

@@ -293,8 +295,8 @@ } | undefined;

readonly text?: string | undefined;
readonly toolUse?: Schema.Struct.ReadonlySide<{
readonly input: Schema.String;
}, "Encoded"> | undefined;
readonly toolUse?: {
readonly input: string;
} | undefined;
readonly reasoningContent?: {
readonly data?: string | undefined;
readonly text?: string | undefined;
readonly data?: string | undefined;
readonly signature?: string | undefined;

@@ -305,5 +307,5 @@ readonly redactedContent?: string | undefined;

} | undefined;
readonly contentBlockStop?: Schema.Struct.ReadonlySide<{
readonly contentBlockIndex: Schema.Number;
}, "Encoded"> | undefined;
readonly contentBlockStop?: {
readonly contentBlockIndex: number;
} | undefined;
readonly messageStop?: {

@@ -349,12 +351,12 @@ readonly stopReason: string;

} | undefined;
readonly messageStart?: Schema.Struct.ReadonlySide<{
readonly role: Schema.String;
}, "Type"> | undefined;
readonly messageStart?: {
readonly role: string;
} | undefined;
readonly contentBlockStart?: {
readonly contentBlockIndex: number;
readonly start?: {
readonly toolUse?: Schema.Struct.ReadonlySide<{
readonly toolUseId: Schema.String;
readonly name: Schema.String;
}, "Type"> | undefined;
readonly toolUse?: {
readonly toolUseId: string;
readonly name: string;
} | undefined;
} | undefined;

@@ -366,8 +368,8 @@ } | undefined;

readonly text?: string | undefined;
readonly toolUse?: Schema.Struct.ReadonlySide<{
readonly input: Schema.String;
}, "Type"> | undefined;
readonly toolUse?: {
readonly input: string;
} | undefined;
readonly reasoningContent?: {
readonly data?: string | undefined;
readonly text?: string | undefined;
readonly data?: string | undefined;
readonly signature?: string | undefined;

@@ -378,5 +380,5 @@ readonly redactedContent?: string | undefined;

} | undefined;
readonly contentBlockStop?: Schema.Struct.ReadonlySide<{
readonly contentBlockIndex: Schema.Number;
}, "Type"> | undefined;
readonly contentBlockStop?: {
readonly contentBlockIndex: number;
} | undefined;
readonly messageStop?: {

@@ -413,87 +415,87 @@ readonly stopReason: string;

export declare const route: Route<{
readonly messages: readonly (Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly text: Schema.String;
}>, Schema.Struct<{
readonly image: Schema.Struct<{
readonly format: Schema.Literals<readonly ["png", "jpeg", "gif", "webp"]>;
readonly source: Schema.Struct<{
readonly bytes: Schema.String;
}>;
}>;
}>, Schema.Struct<{
readonly document: Schema.Struct<{
readonly format: Schema.Literals<readonly ["pdf", "csv", "doc", "docx", "xls", "xlsx", "html", "txt", "md"]>;
readonly name: Schema.String;
readonly source: Schema.Struct<{
readonly bytes: Schema.String;
}>;
}>;
}>, Schema.Struct<{
readonly toolResult: Schema.Struct<{
readonly toolUseId: Schema.String;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly text: Schema.String;
}>, Schema.Struct<{
readonly json: Schema.Unknown;
}>, Schema.Struct<{
readonly image: Schema.Struct<{
readonly format: Schema.Literals<readonly ["png", "jpeg", "gif", "webp"]>;
readonly source: Schema.Struct<{
readonly bytes: Schema.String;
}>;
}>;
}>, Schema.Struct<{
readonly document: Schema.Struct<{
readonly format: Schema.Literals<readonly ["pdf", "csv", "doc", "docx", "xls", "xlsx", "html", "txt", "md"]>;
readonly name: Schema.String;
readonly source: Schema.Struct<{
readonly bytes: Schema.String;
}>;
}>;
}>]>>;
readonly status: Schema.optional<Schema.Literals<readonly ["success", "error"]>>;
}>;
}>, Schema.Struct<{
readonly cachePoint: Schema.Struct<{
readonly type: Schema.tag<"default">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>;
}>]>>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"assistant">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly text: Schema.String;
}>, Schema.Struct<{
readonly reasoningContent: Schema.Union<readonly [Schema.Struct<{
readonly reasoningText: Schema.Struct<{
readonly text: Schema.String;
readonly signature: Schema.optional<Schema.String>;
}>;
}>, Schema.Struct<{
readonly redactedContent: Schema.String;
}>]>;
}>, Schema.Struct<{
readonly toolUse: Schema.Struct<{
readonly toolUseId: Schema.String;
readonly name: Schema.String;
readonly input: Schema.Unknown;
}>;
}>, Schema.Struct<{
readonly cachePoint: Schema.Struct<{
readonly type: Schema.tag<"default">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>;
}>]>>;
}, "Type">)[];
readonly messages: readonly ({
readonly role: "user";
readonly content: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly image: {
readonly format: "png" | "jpeg" | "gif" | "webp";
readonly source: {
readonly bytes: string;
};
};
} | {
readonly document: {
readonly format: "pdf" | "csv" | "doc" | "docx" | "xls" | "xlsx" | "html" | "txt" | "md";
readonly name: string;
readonly source: {
readonly bytes: string;
};
};
} | {
readonly text: string;
} | {
readonly toolResult: {
readonly content: readonly ({
readonly image: {
readonly format: "png" | "jpeg" | "gif" | "webp";
readonly source: {
readonly bytes: string;
};
};
} | {
readonly document: {
readonly format: "pdf" | "csv" | "doc" | "docx" | "xls" | "xlsx" | "html" | "txt" | "md";
readonly name: string;
readonly source: {
readonly bytes: string;
};
};
} | {
readonly text: string;
} | {
readonly json: unknown;
})[];
readonly toolUseId: string;
readonly status?: "error" | "success" | undefined;
};
})[];
} | {
readonly role: "assistant";
readonly content: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly text: string;
} | {
readonly toolUse: {
readonly toolUseId: string;
readonly name: string;
readonly input: unknown;
};
} | {
readonly reasoningContent: {
readonly reasoningText: {
readonly text: string;
readonly signature?: string | undefined;
};
} | {
readonly redactedContent: string;
};
})[];
})[];
readonly modelId: string;
readonly system?: readonly (Schema.Struct.ReadonlySide<{
readonly cachePoint: Schema.Struct<{
readonly type: Schema.tag<"default">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly text: Schema.String;
}, "Type">)[] | undefined;
readonly system?: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly text: string;
})[] | undefined;
readonly inferenceConfig?: {

@@ -506,25 +508,27 @@ readonly maxTokens?: number | undefined;

readonly toolConfig?: {
readonly tools: readonly (Schema.Struct.ReadonlySide<{
readonly cachePoint: Schema.Struct<{
readonly type: Schema.tag<"default">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly toolSpec: Schema.Struct<{
readonly name: Schema.String;
readonly description: Schema.String;
readonly inputSchema: Schema.Struct<{
readonly json: Schema.$Record<Schema.String, Schema.Unknown>;
}>;
}>;
}, "Type">)[];
readonly toolChoice?: Schema.Struct.ReadonlySide<{
readonly auto: Schema.Struct<{}>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly any: Schema.Struct<{}>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly tool: Schema.Struct<{
readonly name: Schema.String;
}>;
}, "Type"> | undefined;
readonly tools: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly toolSpec: {
readonly name: string;
readonly description: string;
readonly inputSchema: {
readonly json: {
readonly [x: string]: unknown;
};
};
};
})[];
readonly toolChoice?: {
readonly auto: {};
} | {
readonly any: {};
} | {
readonly tool: {
readonly name: string;
};
} | undefined;
} | undefined;

@@ -531,0 +535,0 @@ readonly additionalModelRequestFields?: {

@@ -87,41 +87,43 @@ import { Schema } from "effect";

export declare const protocol: Protocol<{
readonly contents: readonly Schema.Struct.ReadonlySide<{
readonly role: Schema.Literals<readonly ["user", "model"]>;
readonly parts: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly text: Schema.String;
readonly thought: Schema.optional<Schema.Boolean>;
readonly thoughtSignature: Schema.optional<Schema.String>;
}>, Schema.Struct<{
readonly inlineData: Schema.Struct<{
readonly mimeType: Schema.String;
readonly data: Schema.String;
}>;
}>, Schema.Struct<{
readonly functionCall: Schema.Struct<{
readonly id: Schema.optional<Schema.String>;
readonly name: Schema.String;
readonly args: Schema.Unknown;
}>;
readonly thoughtSignature: Schema.optional<Schema.String>;
}>, Schema.Struct<{
readonly functionResponse: Schema.Struct<{
readonly id: Schema.optional<Schema.String>;
readonly name: Schema.String;
readonly response: Schema.Unknown;
readonly parts: Schema.optional<Schema.$Array<Schema.Struct<{
readonly inlineData: Schema.Struct<{
readonly mimeType: Schema.String;
readonly data: Schema.String;
}>;
}>>>;
}>;
}>]>>;
}, "Type">[];
readonly tools?: readonly Schema.Struct.ReadonlySide<{
readonly functionDeclarations: Schema.$Array<Schema.Struct<{
readonly name: Schema.String;
readonly description: Schema.String;
readonly parameters: Schema.optional<Schema.$Record<Schema.String, Schema.Unknown>>;
}>>;
}, "Type">[] | undefined;
readonly contents: readonly {
readonly role: "user" | "model";
readonly parts: readonly ({
readonly inlineData: {
readonly mimeType: string;
readonly data: string;
};
} | {
readonly text: string;
readonly thought?: boolean | undefined;
readonly thoughtSignature?: string | undefined;
} | {
readonly functionCall: {
readonly name: string;
readonly args: unknown;
readonly id?: string | undefined;
};
readonly thoughtSignature?: string | undefined;
} | {
readonly functionResponse: {
readonly name: string;
readonly response: unknown;
readonly id?: string | undefined;
readonly parts?: readonly {
readonly inlineData: {
readonly mimeType: string;
readonly data: string;
};
}[] | undefined;
};
})[];
}[];
readonly tools?: readonly {
readonly functionDeclarations: readonly {
readonly name: string;
readonly description: string;
readonly parameters?: {
readonly [x: string]: unknown;
} | undefined;
}[];
}[] | undefined;
readonly generationConfig?: {

@@ -138,47 +140,47 @@ readonly temperature?: number | undefined;

} | undefined;
readonly systemInstruction?: Schema.Struct.ReadonlySide<{
readonly parts: Schema.$Array<Schema.Struct<{
readonly text: Schema.String;
}>>;
}, "Type"> | undefined;
readonly toolConfig?: Schema.Struct.ReadonlySide<{
readonly functionCallingConfig: Schema.Struct<{
readonly mode: Schema.Literals<readonly ["AUTO", "NONE", "ANY"]>;
readonly allowedFunctionNames: Schema.optional<Schema.$Array<Schema.String>>;
}>;
}, "Type"> | undefined;
readonly systemInstruction?: {
readonly parts: readonly {
readonly text: string;
}[];
} | undefined;
readonly toolConfig?: {
readonly functionCallingConfig: {
readonly mode: "AUTO" | "NONE" | "ANY";
readonly allowedFunctionNames?: readonly string[] | undefined;
};
} | undefined;
}, string, {
readonly candidates?: readonly {
readonly content?: Schema.Struct.ReadonlySide<{
readonly role: Schema.Literals<readonly ["user", "model"]>;
readonly parts: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly text: Schema.String;
readonly thought: Schema.optional<Schema.Boolean>;
readonly thoughtSignature: Schema.optional<Schema.String>;
}>, Schema.Struct<{
readonly inlineData: Schema.Struct<{
readonly mimeType: Schema.String;
readonly data: Schema.String;
}>;
}>, Schema.Struct<{
readonly functionCall: Schema.Struct<{
readonly id: Schema.optional<Schema.String>;
readonly name: Schema.String;
readonly args: Schema.Unknown;
}>;
readonly thoughtSignature: Schema.optional<Schema.String>;
}>, Schema.Struct<{
readonly functionResponse: Schema.Struct<{
readonly id: Schema.optional<Schema.String>;
readonly name: Schema.String;
readonly response: Schema.Unknown;
readonly parts: Schema.optional<Schema.$Array<Schema.Struct<{
readonly inlineData: Schema.Struct<{
readonly mimeType: Schema.String;
readonly data: Schema.String;
}>;
}>>>;
}>;
}>]>>;
}, "Type"> | undefined;
readonly content?: {
readonly role: "user" | "model";
readonly parts: readonly ({
readonly inlineData: {
readonly mimeType: string;
readonly data: string;
};
} | {
readonly text: string;
readonly thought?: boolean | undefined;
readonly thoughtSignature?: string | undefined;
} | {
readonly functionCall: {
readonly name: string;
readonly args: unknown;
readonly id?: string | undefined;
};
readonly thoughtSignature?: string | undefined;
} | {
readonly functionResponse: {
readonly name: string;
readonly response: unknown;
readonly id?: string | undefined;
readonly parts?: readonly {
readonly inlineData: {
readonly mimeType: string;
readonly data: string;
};
}[] | undefined;
};
})[];
} | undefined;
readonly finishReason?: string | undefined;

@@ -199,41 +201,43 @@ }[] | undefined;

export declare const route: Route<{
readonly contents: readonly Schema.Struct.ReadonlySide<{
readonly role: Schema.Literals<readonly ["user", "model"]>;
readonly parts: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly text: Schema.String;
readonly thought: Schema.optional<Schema.Boolean>;
readonly thoughtSignature: Schema.optional<Schema.String>;
}>, Schema.Struct<{
readonly inlineData: Schema.Struct<{
readonly mimeType: Schema.String;
readonly data: Schema.String;
}>;
}>, Schema.Struct<{
readonly functionCall: Schema.Struct<{
readonly id: Schema.optional<Schema.String>;
readonly name: Schema.String;
readonly args: Schema.Unknown;
}>;
readonly thoughtSignature: Schema.optional<Schema.String>;
}>, Schema.Struct<{
readonly functionResponse: Schema.Struct<{
readonly id: Schema.optional<Schema.String>;
readonly name: Schema.String;
readonly response: Schema.Unknown;
readonly parts: Schema.optional<Schema.$Array<Schema.Struct<{
readonly inlineData: Schema.Struct<{
readonly mimeType: Schema.String;
readonly data: Schema.String;
}>;
}>>>;
}>;
}>]>>;
}, "Type">[];
readonly tools?: readonly Schema.Struct.ReadonlySide<{
readonly functionDeclarations: Schema.$Array<Schema.Struct<{
readonly name: Schema.String;
readonly description: Schema.String;
readonly parameters: Schema.optional<Schema.$Record<Schema.String, Schema.Unknown>>;
}>>;
}, "Type">[] | undefined;
readonly contents: readonly {
readonly role: "user" | "model";
readonly parts: readonly ({
readonly inlineData: {
readonly mimeType: string;
readonly data: string;
};
} | {
readonly text: string;
readonly thought?: boolean | undefined;
readonly thoughtSignature?: string | undefined;
} | {
readonly functionCall: {
readonly name: string;
readonly args: unknown;
readonly id?: string | undefined;
};
readonly thoughtSignature?: string | undefined;
} | {
readonly functionResponse: {
readonly name: string;
readonly response: unknown;
readonly id?: string | undefined;
readonly parts?: readonly {
readonly inlineData: {
readonly mimeType: string;
readonly data: string;
};
}[] | undefined;
};
})[];
}[];
readonly tools?: readonly {
readonly functionDeclarations: readonly {
readonly name: string;
readonly description: string;
readonly parameters?: {
readonly [x: string]: unknown;
} | undefined;
}[];
}[] | undefined;
readonly generationConfig?: {

@@ -250,14 +254,14 @@ readonly temperature?: number | undefined;

} | undefined;
readonly systemInstruction?: Schema.Struct.ReadonlySide<{
readonly parts: Schema.$Array<Schema.Struct<{
readonly text: Schema.String;
}>>;
}, "Type"> | undefined;
readonly toolConfig?: Schema.Struct.ReadonlySide<{
readonly functionCallingConfig: Schema.Struct<{
readonly mode: Schema.Literals<readonly ["AUTO", "NONE", "ANY"]>;
readonly allowedFunctionNames: Schema.optional<Schema.$Array<Schema.String>>;
}>;
}, "Type"> | undefined;
readonly systemInstruction?: {
readonly parts: readonly {
readonly text: string;
}[];
} | undefined;
readonly toolConfig?: {
readonly functionCallingConfig: {
readonly mode: "AUTO" | "NONE" | "ANY";
readonly allowedFunctionNames?: readonly string[] | undefined;
};
} | undefined;
}, import("../route/transport/http").HttpPrepared<string>>;
export * as Gemini from "./gemini";
import { Effect, Schema } from "effect";
import { Tool } from "@opencode-ai/schema/tool";
import { Route } from "../route/client";

@@ -3,0 +4,0 @@ import { Auth } from "../route/auth";

@@ -405,56 +405,56 @@ import { Effect, Schema } from "effect";

readonly type: "reasoning";
readonly summary: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"summary_text">;
readonly text: Schema.String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"item_reference">;
readonly id: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call">;
readonly call_id: Schema.String;
readonly name: Schema.String;
readonly arguments: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call_output">;
readonly call_id: Schema.String;
readonly output: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>>]>;
}, "Type">)[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
})[];
readonly model: string;

@@ -465,5 +465,6 @@ readonly stream: true;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -480,9 +481,8 @@ readonly tools?: readonly {

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly name: Schema.String;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -498,8 +498,8 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

export declare const onReasoningDone: (state: ParserState, _event: Event) => StepResult;
export declare const step: (state: ParserState, event: Event) => LLMError | Effect.Effect<StepResult, never, never> | Effect.Effect<[ParserState, readonly (Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"step-start">;
readonly index: Schema.Number;
}, "Type"> | {
export declare const step: (state: ParserState, event: Event) => LLMError | Effect.Effect<StepResult, never, never> | Effect.Effect<[ParserState, readonly ({
readonly type: "step-start";
readonly index: number;
} | {
readonly id: string;
readonly type: "text-start";
readonly id: string;
readonly providerMetadata?: {

@@ -511,5 +511,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -521,4 +521,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-end";
readonly id: string;
readonly providerMetadata?: {

@@ -530,4 +530,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-start";
readonly id: string;
readonly providerMetadata?: {

@@ -539,5 +539,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -549,4 +549,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-end";
readonly id: string;
readonly providerMetadata?: {

@@ -558,5 +558,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "tool-input-start";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -568,11 +568,11 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"tool-input-delta">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly text: Schema.String;
}, "Type"> | {
} | {
readonly type: "tool-input-delta";
readonly id: string;
readonly name: string;
readonly text: string;
} | {
readonly id: string;
readonly type: "tool-input-end";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -583,11 +583,11 @@ readonly [x: string]: {

} | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"tool-input-error">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly raw: Schema.String;
}, "Type"> | {
} | {
readonly type: "tool-input-error";
readonly id: string;
readonly name: string;
readonly raw: string;
} | {
readonly id: string;
readonly type: "tool-call";
readonly name: string;
readonly id: string;
readonly input: unknown;

@@ -601,26 +601,38 @@ readonly providerMetadata?: {

} | {
readonly id: string;
readonly type: "tool-result";
readonly name: string;
readonly id: string;
readonly result: Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"json">;
readonly value: Schema.Unknown;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"text">;
readonly value: Schema.Unknown;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"error">;
readonly value: Schema.Unknown;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"content">;
readonly value: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"file">;
readonly uri: Schema.String;
readonly mime: Schema.String;
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
}>]>>;
}, "Type">;
readonly result: {
readonly type: "json";
readonly value: unknown;
} | {
readonly type: "text";
readonly value: unknown;
} | {
readonly type: "error";
readonly value: unknown;
} | {
readonly type: "content";
readonly value: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
};
readonly output?: {
readonly structured: unknown;
readonly content: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
} | undefined;
readonly providerMetadata?: {

@@ -632,18 +644,6 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
readonly output?: Schema.Struct.ReadonlySide<{
readonly structured: Schema.Unknown;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"file">;
readonly uri: Schema.String;
readonly mime: Schema.String;
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
}>]>>;
}, "Type"> | undefined;
} | {
readonly id: string;
readonly type: "tool-error";
readonly name: string;
readonly id: string;
readonly message: string;

@@ -699,56 +699,56 @@ readonly error?: unknown;

readonly type: "reasoning";
readonly summary: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"summary_text">;
readonly text: Schema.String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"item_reference">;
readonly id: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call">;
readonly call_id: Schema.String;
readonly name: Schema.String;
readonly arguments: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call_output">;
readonly call_id: Schema.String;
readonly output: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>>]>;
}, "Type">)[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
})[];
readonly model: string;

@@ -759,5 +759,6 @@ readonly stream: true;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -774,9 +775,8 @@ readonly tools?: readonly {

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly name: Schema.String;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -795,2 +795,5 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

readonly text?: string | undefined;
readonly message?: string | undefined;
readonly code?: string | null | undefined;
readonly delta?: string | undefined;
readonly response?: {

@@ -821,9 +824,7 @@ readonly [x: string]: unknown;

} | undefined;
readonly message?: string | undefined;
readonly code?: string | null | undefined;
readonly item?: {
readonly [x: string]: unknown;
readonly type: string;
readonly id?: string | undefined;
readonly name?: string | undefined;
readonly id?: string | undefined;
readonly arguments?: string | undefined;

@@ -833,3 +834,2 @@ readonly encrypted_content?: string | null | undefined;

} | undefined;
readonly delta?: string | undefined;
readonly param?: string | null | undefined;

@@ -842,56 +842,56 @@ readonly item_id?: string | undefined;

readonly type: "reasoning";
readonly summary: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"summary_text">;
readonly text: Schema.String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"item_reference">;
readonly id: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call">;
readonly call_id: Schema.String;
readonly name: Schema.String;
readonly arguments: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call_output">;
readonly call_id: Schema.String;
readonly output: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>>]>;
}, "Type">)[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
})[];
readonly model: string;

@@ -902,5 +902,6 @@ readonly stream: true;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -917,9 +918,8 @@ readonly tools?: readonly {

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly name: Schema.String;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -926,0 +926,0 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

@@ -201,17 +201,18 @@ import { Schema } from "effect";

export declare const protocol: Protocol<{
readonly messages: readonly (Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"user">;
readonly content: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"image_url">;
readonly image_url: Schema.Struct<{
readonly url: Schema.String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -221,29 +222,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly Schema.Struct.ReadonlySide<{
readonly id: Schema.String;
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly arguments: Schema.String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"tool">;
readonly tool_call_id: Schema.String;
readonly content: Schema.String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly description: Schema.String;
readonly parameters: Schema.$Record<Schema.String, Schema.Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -254,11 +256,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: Schema.Struct.ReadonlySide<{
readonly include_usage: Schema.Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -287,4 +289,6 @@ readonly store?: boolean | undefined;

readonly [x: string]: unknown;
readonly reasoning?: string | null | undefined;
readonly reasoning_content?: string | null | undefined;
readonly reasoning_text?: string | null | undefined;
readonly content?: string | null | undefined;
readonly reasoning?: string | null | undefined;
readonly tool_calls?: readonly {

@@ -298,4 +302,2 @@ readonly index: number;

}[] | null | undefined;
readonly reasoning_content?: string | null | undefined;
readonly reasoning_text?: string | null | undefined;
readonly reasoning_details?: unknown;

@@ -308,17 +310,18 @@ } | null | undefined;

export declare const httpTransport: HttpTransport.HttpJsonTransport<{
readonly messages: readonly (Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"user">;
readonly content: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"image_url">;
readonly image_url: Schema.Struct<{
readonly url: Schema.String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -328,29 +331,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly Schema.Struct.ReadonlySide<{
readonly id: Schema.String;
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly arguments: Schema.String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"tool">;
readonly tool_call_id: Schema.String;
readonly content: Schema.String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly description: Schema.String;
readonly parameters: Schema.$Record<Schema.String, Schema.Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -361,11 +365,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: Schema.Struct.ReadonlySide<{
readonly include_usage: Schema.Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -376,17 +380,18 @@ readonly store?: boolean | undefined;

export declare const route: Route<{
readonly messages: readonly (Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"user">;
readonly content: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"image_url">;
readonly image_url: Schema.Struct<{
readonly url: Schema.String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -396,29 +401,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly Schema.Struct.ReadonlySide<{
readonly id: Schema.String;
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly arguments: Schema.String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"tool">;
readonly tool_call_id: Schema.String;
readonly content: Schema.String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly description: Schema.String;
readonly parameters: Schema.$Record<Schema.String, Schema.Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -429,11 +435,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: Schema.Struct.ReadonlySide<{
readonly include_usage: Schema.Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -440,0 +446,0 @@ readonly store?: boolean | undefined;

import { Effect, Schema } from "effect";
import { Tool } from "@opencode-ai/schema/tool";
import { Route } from "../route/client";

@@ -3,0 +4,0 @@ import { Auth } from "../route/auth";

@@ -11,17 +11,18 @@ import { Route, type RouteRoutedModelInput } from "../route/client";

export declare const route: Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"image_url">;
readonly image_url: import("effect/Schema").Struct<{
readonly url: import("effect/Schema").String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -31,29 +32,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly id: import("effect/Schema").String;
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"tool">;
readonly tool_call_id: import("effect/Schema").String;
readonly content: import("effect/Schema").String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -64,11 +66,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: import("effect/Schema").Struct.ReadonlySide<{
readonly include_usage: import("effect/Schema").Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -75,0 +77,0 @@ readonly store?: boolean | undefined;

@@ -11,56 +11,56 @@ import { Route, type RouteRoutedModelInput } from "../route/client";

readonly type: "reasoning";
readonly summary: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"summary_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"item_reference">;
readonly id: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"user">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call">;
readonly call_id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call_output">;
readonly call_id: import("effect/Schema").String;
readonly output: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>>]>;
}, "Type">)[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
})[];
readonly model: string;

@@ -71,5 +71,6 @@ readonly stream: true;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -86,9 +87,8 @@ readonly tools?: readonly {

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly name: import("effect/Schema").String;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -95,0 +95,0 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

@@ -117,60 +117,60 @@ import { Schema } from "effect";

readonly type: "reasoning";
readonly summary: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"summary_text">;
readonly text: Schema.String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"item_reference">;
readonly id: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call">;
readonly call_id: Schema.String;
readonly name: Schema.String;
readonly arguments: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call_output">;
readonly call_id: Schema.String;
readonly output: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>>]>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";

@@ -184,5 +184,6 @@ readonly phase?: "commentary" | "final_answer" | null | undefined;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -199,8 +200,8 @@ readonly tools?: readonly ({

readonly type: "image_generation";
readonly size?: string | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly output_format?: "png" | "jpeg" | "webp" | undefined;
readonly size?: string | undefined;
readonly quality?: "low" | "medium" | "high" | "auto" | undefined;
readonly background?: "auto" | "opaque" | "transparent" | undefined;
readonly output_compression?: number | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly input_fidelity?: "low" | "high" | undefined;

@@ -210,11 +211,10 @@ readonly partial_images?: number | undefined;

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly name: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"image_generation">;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | {
readonly type: "image_generation";
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -233,2 +233,5 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

readonly text?: string | undefined;
readonly message?: string | undefined;
readonly code?: string | null | undefined;
readonly delta?: string | undefined;
readonly response?: {

@@ -259,9 +262,7 @@ readonly [x: string]: unknown;

} | undefined;
readonly message?: string | undefined;
readonly code?: string | null | undefined;
readonly item?: {
readonly [x: string]: unknown;
readonly type: string;
readonly id?: string | undefined;
readonly name?: string | undefined;
readonly id?: string | undefined;
readonly arguments?: string | undefined;

@@ -271,3 +272,2 @@ readonly encrypted_content?: string | null | undefined;

} | undefined;
readonly delta?: string | undefined;
readonly param?: string | null | undefined;

@@ -280,60 +280,60 @@ readonly item_id?: string | undefined;

readonly type: "reasoning";
readonly summary: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"summary_text">;
readonly text: Schema.String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"item_reference">;
readonly id: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call">;
readonly call_id: Schema.String;
readonly name: Schema.String;
readonly arguments: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call_output">;
readonly call_id: Schema.String;
readonly output: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>>]>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";

@@ -347,5 +347,6 @@ readonly phase?: "commentary" | "final_answer" | null | undefined;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -362,8 +363,8 @@ readonly tools?: readonly ({

readonly type: "image_generation";
readonly size?: string | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly output_format?: "png" | "jpeg" | "webp" | undefined;
readonly size?: string | undefined;
readonly quality?: "low" | "medium" | "high" | "auto" | undefined;
readonly background?: "auto" | "opaque" | "transparent" | undefined;
readonly output_compression?: number | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly input_fidelity?: "low" | "high" | undefined;

@@ -373,11 +374,10 @@ readonly partial_images?: number | undefined;

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly name: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"image_generation">;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | {
readonly type: "image_generation";
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -391,60 +391,60 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

readonly type: "reasoning";
readonly summary: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"summary_text">;
readonly text: Schema.String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"item_reference">;
readonly id: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call">;
readonly call_id: Schema.String;
readonly name: Schema.String;
readonly arguments: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call_output">;
readonly call_id: Schema.String;
readonly output: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>>]>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";

@@ -458,5 +458,6 @@ readonly phase?: "commentary" | "final_answer" | null | undefined;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -473,8 +474,8 @@ readonly tools?: readonly ({

readonly type: "image_generation";
readonly size?: string | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly output_format?: "png" | "jpeg" | "webp" | undefined;
readonly size?: string | undefined;
readonly quality?: "low" | "medium" | "high" | "auto" | undefined;
readonly background?: "auto" | "opaque" | "transparent" | undefined;
readonly output_compression?: number | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly input_fidelity?: "low" | "high" | undefined;

@@ -484,11 +485,10 @@ readonly partial_images?: number | undefined;

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly name: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"image_generation">;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | {
readonly type: "image_generation";
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -502,60 +502,60 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

readonly type: "reasoning";
readonly summary: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"summary_text">;
readonly text: Schema.String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"item_reference">;
readonly id: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call">;
readonly call_id: Schema.String;
readonly name: Schema.String;
readonly arguments: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call_output">;
readonly call_id: Schema.String;
readonly output: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>>]>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";

@@ -569,5 +569,6 @@ readonly phase?: "commentary" | "final_answer" | null | undefined;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -584,8 +585,8 @@ readonly tools?: readonly ({

readonly type: "image_generation";
readonly size?: string | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly output_format?: "png" | "jpeg" | "webp" | undefined;
readonly size?: string | undefined;
readonly quality?: "low" | "medium" | "high" | "auto" | undefined;
readonly background?: "auto" | "opaque" | "transparent" | undefined;
readonly output_compression?: number | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly input_fidelity?: "low" | "high" | undefined;

@@ -595,11 +596,10 @@ readonly partial_images?: number | undefined;

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly name: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"image_generation">;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | {
readonly type: "image_generation";
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -614,60 +614,60 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

readonly type: "reasoning";
readonly summary: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"summary_text">;
readonly text: Schema.String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"item_reference">;
readonly id: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call">;
readonly call_id: Schema.String;
readonly name: Schema.String;
readonly arguments: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call_output">;
readonly call_id: Schema.String;
readonly output: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>>]>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";

@@ -680,5 +680,6 @@ readonly phase?: "commentary" | "final_answer" | null | undefined;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -695,8 +696,8 @@ readonly tools?: readonly ({

readonly type: "image_generation";
readonly size?: string | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly output_format?: "png" | "jpeg" | "webp" | undefined;
readonly size?: string | undefined;
readonly quality?: "low" | "medium" | "high" | "auto" | undefined;
readonly background?: "auto" | "opaque" | "transparent" | undefined;
readonly output_compression?: number | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly input_fidelity?: "low" | "high" | undefined;

@@ -706,11 +707,10 @@ readonly partial_images?: number | undefined;

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly name: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"image_generation">;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | {
readonly type: "image_generation";
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -724,60 +724,60 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

readonly type: "reasoning";
readonly summary: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"summary_text">;
readonly text: Schema.String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"item_reference">;
readonly id: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.tag<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call">;
readonly call_id: Schema.String;
readonly name: Schema.String;
readonly arguments: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function_call_output">;
readonly call_id: Schema.String;
readonly output: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"input_text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_image">;
readonly image_url: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.tag<"input_file">;
readonly filename: Schema.String;
readonly file_data: Schema.String;
readonly mime_type: Schema.optional<Schema.String>;
}>]>>]>;
}, "Type"> | {
readonly content: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"output_text">;
readonly text: Schema.String;
}, "Type">[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";

@@ -791,5 +791,6 @@ readonly phase?: "commentary" | "final_answer" | null | undefined;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -806,8 +807,8 @@ readonly tools?: readonly ({

readonly type: "image_generation";
readonly size?: string | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly output_format?: "png" | "jpeg" | "webp" | undefined;
readonly size?: string | undefined;
readonly quality?: "low" | "medium" | "high" | "auto" | undefined;
readonly background?: "auto" | "opaque" | "transparent" | undefined;
readonly output_compression?: number | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly input_fidelity?: "low" | "high" | undefined;

@@ -817,11 +818,10 @@ readonly partial_images?: number | undefined;

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly name: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"image_generation">;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | {
readonly type: "image_generation";
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -828,0 +828,0 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

import { Buffer } from "node:buffer";
import { Tool } from "@opencode-ai/schema/tool";
import { Effect, Schema, Stream } from "effect";
import { Headers, HttpClientRequest } from "effect/unstable/http";
import { LLMError, type ContentPart, type LLMRequest, type ToolFileContent, type ToolResultPart } from "../schema";
import { LLMError, type ContentPart, type LLMRequest, type ToolResultPart } from "../schema";
import { isRecord } from "../utils/record";

@@ -85,6 +86,6 @@ export { isRecord };

readonly text: string;
readonly cache?: import("..").CacheHint | undefined;
readonly metadata?: {
readonly [x: string]: unknown;
} | undefined;
readonly cache?: import("..").CacheHint | undefined;
readonly providerMetadata?: {

@@ -123,4 +124,4 @@ readonly [x: string]: {

export declare const validateMedia: (route: string, part: {
readonly data: string | Uint8Array<ArrayBufferLike>;
readonly type: "media";
readonly data: string | Uint8Array<ArrayBufferLike>;
readonly mediaType: string;

@@ -137,3 +138,3 @@ readonly metadata?: {

}, LLMError, never>;
export declare const validateToolFile: (route: string, part: ToolFileContent, supportedMimes: ReadonlySet<string>) => Effect.Effect<{
export declare const validateToolFile: (route: string, part: Tool.FileContent, supportedMimes: ReadonlySet<string>) => Effect.Effect<{
mime: string;

@@ -140,0 +141,0 @@ base64: string;

import { Buffer } from "node:buffer";
import { Tool } from "@opencode-ai/schema/tool";
import { Effect, Schema, Stream } from "effect";

@@ -3,0 +4,0 @@ import * as Sse from "effect/unstable/encoding/Sse";

@@ -26,4 +26,4 @@ import { Effect, Schema } from "effect";

export declare const lower: (part: {
readonly data: string | Uint8Array<ArrayBufferLike>;
readonly type: "media";
readonly data: string | Uint8Array<ArrayBufferLike>;
readonly mediaType: string;

@@ -34,11 +34,11 @@ readonly metadata?: {

readonly filename?: string | undefined;
}) => Effect.Effect<Schema.Struct.ReadonlySide<{
readonly document: Schema.Struct<{
readonly format: Schema.Literals<readonly ["pdf", "csv", "doc", "docx", "xls", "xlsx", "html", "txt", "md"]>;
readonly name: Schema.String;
readonly source: Schema.Struct<{
readonly bytes: Schema.String;
}>;
}>;
}, "Type"> | {
}) => Effect.Effect<{
readonly document: {
readonly format: "pdf" | "csv" | "doc" | "docx" | "xls" | "xlsx" | "html" | "txt" | "md";
readonly name: string;
readonly source: {
readonly bytes: string;
};
};
} | {
image: {

@@ -45,0 +45,0 @@ format: "png" | "jpeg" | "gif" | "webp";

@@ -73,8 +73,8 @@ import { Effect } from "effect";

tools: Partial<Record<K, PendingTool>>;
events: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"step-start">;
readonly index: import("effect/Schema").Number;
}, "Type"> | {
events: readonly ({
readonly type: "step-start";
readonly index: number;
} | {
readonly id: string;
readonly type: "text-start";
readonly id: string;
readonly providerMetadata?: {

@@ -86,5 +86,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -96,4 +96,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-end";
readonly id: string;
readonly providerMetadata?: {

@@ -105,4 +105,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-start";
readonly id: string;
readonly providerMetadata?: {

@@ -114,5 +114,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -124,4 +124,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-end";
readonly id: string;
readonly providerMetadata?: {

@@ -133,5 +133,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "tool-input-start";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -143,11 +143,11 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"tool-input-delta">;
readonly id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly text: import("effect/Schema").String;
}, "Type"> | {
} | {
readonly type: "tool-input-delta";
readonly id: string;
readonly name: string;
readonly text: string;
} | {
readonly id: string;
readonly type: "tool-input-end";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -158,11 +158,11 @@ readonly [x: string]: {

} | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"tool-input-error">;
readonly id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly raw: import("effect/Schema").String;
}, "Type"> | {
} | {
readonly type: "tool-input-error";
readonly id: string;
readonly name: string;
readonly raw: string;
} | {
readonly id: string;
readonly type: "tool-call";
readonly name: string;
readonly id: string;
readonly input: unknown;

@@ -176,26 +176,38 @@ readonly providerMetadata?: {

} | {
readonly id: string;
readonly type: "tool-result";
readonly name: string;
readonly id: string;
readonly result: import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"json">;
readonly value: import("effect/Schema").Unknown;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"text">;
readonly value: import("effect/Schema").Unknown;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"error">;
readonly value: import("effect/Schema").Unknown;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"content">;
readonly value: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"file">;
readonly uri: import("effect/Schema").String;
readonly mime: import("effect/Schema").String;
readonly name: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
}>]>>;
}, "Type">;
readonly result: {
readonly type: "json";
readonly value: unknown;
} | {
readonly type: "text";
readonly value: unknown;
} | {
readonly type: "error";
readonly value: unknown;
} | {
readonly type: "content";
readonly value: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
};
readonly output?: {
readonly structured: unknown;
readonly content: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
} | undefined;
readonly providerMetadata?: {

@@ -207,18 +219,6 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
readonly output?: import("effect/Schema").Struct.ReadonlySide<{
readonly structured: import("effect/Schema").Unknown;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"file">;
readonly uri: import("effect/Schema").String;
readonly mime: import("effect/Schema").String;
readonly name: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
}>]>>;
}, "Type"> | undefined;
} | {
readonly id: string;
readonly type: "tool-error";
readonly name: string;
readonly id: string;
readonly message: string;

@@ -277,8 +277,8 @@ readonly error?: unknown;

tools: Partial<Record<K, PendingTool>>;
events: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"step-start">;
readonly index: import("effect/Schema").Number;
}, "Type"> | {
events: readonly ({
readonly type: "step-start";
readonly index: number;
} | {
readonly id: string;
readonly type: "text-start";
readonly id: string;
readonly providerMetadata?: {

@@ -290,5 +290,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -300,4 +300,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-end";
readonly id: string;
readonly providerMetadata?: {

@@ -309,4 +309,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-start";
readonly id: string;
readonly providerMetadata?: {

@@ -318,5 +318,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -328,4 +328,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-end";
readonly id: string;
readonly providerMetadata?: {

@@ -337,5 +337,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "tool-input-start";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -347,11 +347,11 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"tool-input-delta">;
readonly id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly text: import("effect/Schema").String;
}, "Type"> | {
} | {
readonly type: "tool-input-delta";
readonly id: string;
readonly name: string;
readonly text: string;
} | {
readonly id: string;
readonly type: "tool-input-end";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -362,11 +362,11 @@ readonly [x: string]: {

} | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"tool-input-error">;
readonly id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly raw: import("effect/Schema").String;
}, "Type"> | {
} | {
readonly type: "tool-input-error";
readonly id: string;
readonly name: string;
readonly raw: string;
} | {
readonly id: string;
readonly type: "tool-call";
readonly name: string;
readonly id: string;
readonly input: unknown;

@@ -380,26 +380,38 @@ readonly providerMetadata?: {

} | {
readonly id: string;
readonly type: "tool-result";
readonly name: string;
readonly id: string;
readonly result: import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"json">;
readonly value: import("effect/Schema").Unknown;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"text">;
readonly value: import("effect/Schema").Unknown;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"error">;
readonly value: import("effect/Schema").Unknown;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"content">;
readonly value: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"file">;
readonly uri: import("effect/Schema").String;
readonly mime: import("effect/Schema").String;
readonly name: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
}>]>>;
}, "Type">;
readonly result: {
readonly type: "json";
readonly value: unknown;
} | {
readonly type: "text";
readonly value: unknown;
} | {
readonly type: "error";
readonly value: unknown;
} | {
readonly type: "content";
readonly value: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
};
readonly output?: {
readonly structured: unknown;
readonly content: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
} | undefined;
readonly providerMetadata?: {

@@ -411,18 +423,6 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
readonly output?: import("effect/Schema").Struct.ReadonlySide<{
readonly structured: import("effect/Schema").Unknown;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"file">;
readonly uri: import("effect/Schema").String;
readonly mime: import("effect/Schema").String;
readonly name: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
}>]>>;
}, "Type"> | undefined;
} | {
readonly id: string;
readonly type: "tool-error";
readonly name: string;
readonly id: string;
readonly message: string;

@@ -478,8 +478,8 @@ readonly error?: unknown;

tools: Partial<Record<K, PendingTool>>;
events: (import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"step-start">;
readonly index: import("effect/Schema").Number;
}, "Type"> | {
events: ({
readonly type: "step-start";
readonly index: number;
} | {
readonly id: string;
readonly type: "text-start";
readonly id: string;
readonly providerMetadata?: {

@@ -491,5 +491,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -501,4 +501,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-end";
readonly id: string;
readonly providerMetadata?: {

@@ -510,4 +510,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-start";
readonly id: string;
readonly providerMetadata?: {

@@ -519,5 +519,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -529,4 +529,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-end";
readonly id: string;
readonly providerMetadata?: {

@@ -538,5 +538,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "tool-input-start";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -548,11 +548,11 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"tool-input-delta">;
readonly id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly text: import("effect/Schema").String;
}, "Type"> | {
} | {
readonly type: "tool-input-delta";
readonly id: string;
readonly name: string;
readonly text: string;
} | {
readonly id: string;
readonly type: "tool-input-end";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -563,11 +563,11 @@ readonly [x: string]: {

} | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"tool-input-error">;
readonly id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly raw: import("effect/Schema").String;
}, "Type"> | {
} | {
readonly type: "tool-input-error";
readonly id: string;
readonly name: string;
readonly raw: string;
} | {
readonly id: string;
readonly type: "tool-call";
readonly name: string;
readonly id: string;
readonly input: unknown;

@@ -581,26 +581,38 @@ readonly providerMetadata?: {

} | {
readonly id: string;
readonly type: "tool-result";
readonly name: string;
readonly id: string;
readonly result: import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"json">;
readonly value: import("effect/Schema").Unknown;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"text">;
readonly value: import("effect/Schema").Unknown;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"error">;
readonly value: import("effect/Schema").Unknown;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literal<"content">;
readonly value: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"file">;
readonly uri: import("effect/Schema").String;
readonly mime: import("effect/Schema").String;
readonly name: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
}>]>>;
}, "Type">;
readonly result: {
readonly type: "json";
readonly value: unknown;
} | {
readonly type: "text";
readonly value: unknown;
} | {
readonly type: "error";
readonly value: unknown;
} | {
readonly type: "content";
readonly value: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
};
readonly output?: {
readonly structured: unknown;
readonly content: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
} | undefined;
readonly providerMetadata?: {

@@ -612,18 +624,6 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
readonly output?: import("effect/Schema").Struct.ReadonlySide<{
readonly structured: import("effect/Schema").Unknown;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"file">;
readonly uri: import("effect/Schema").String;
readonly mime: import("effect/Schema").String;
readonly name: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
}>]>>;
}, "Type"> | undefined;
} | {
readonly id: string;
readonly type: "tool-error";
readonly name: string;
readonly id: string;
readonly message: string;

@@ -630,0 +630,0 @@ readonly error?: unknown;

@@ -24,87 +24,87 @@ import type { RouteDefaultsInput } from "../route/client";

export declare const routes: import("../route").Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly image: import("effect/Schema").Struct<{
readonly format: import("effect/Schema").Literals<readonly ["png", "jpeg", "gif", "webp"]>;
readonly source: import("effect/Schema").Struct<{
readonly bytes: import("effect/Schema").String;
}>;
}>;
}>, import("effect/Schema").Struct<{
readonly document: import("effect/Schema").Struct<{
readonly format: import("effect/Schema").Literals<readonly ["pdf", "csv", "doc", "docx", "xls", "xlsx", "html", "txt", "md"]>;
readonly name: import("effect/Schema").String;
readonly source: import("effect/Schema").Struct<{
readonly bytes: import("effect/Schema").String;
}>;
}>;
}>, import("effect/Schema").Struct<{
readonly toolResult: import("effect/Schema").Struct<{
readonly toolUseId: import("effect/Schema").String;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly json: import("effect/Schema").Unknown;
}>, import("effect/Schema").Struct<{
readonly image: import("effect/Schema").Struct<{
readonly format: import("effect/Schema").Literals<readonly ["png", "jpeg", "gif", "webp"]>;
readonly source: import("effect/Schema").Struct<{
readonly bytes: import("effect/Schema").String;
}>;
}>;
}>, import("effect/Schema").Struct<{
readonly document: import("effect/Schema").Struct<{
readonly format: import("effect/Schema").Literals<readonly ["pdf", "csv", "doc", "docx", "xls", "xlsx", "html", "txt", "md"]>;
readonly name: import("effect/Schema").String;
readonly source: import("effect/Schema").Struct<{
readonly bytes: import("effect/Schema").String;
}>;
}>;
}>]>>;
readonly status: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["success", "error"]>>;
}>;
}>, import("effect/Schema").Struct<{
readonly cachePoint: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"default">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>;
}>]>>;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"assistant">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly reasoningContent: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly reasoningText: import("effect/Schema").Struct<{
readonly text: import("effect/Schema").String;
readonly signature: import("effect/Schema").optional<import("effect/Schema").String>;
}>;
}>, import("effect/Schema").Struct<{
readonly redactedContent: import("effect/Schema").String;
}>]>;
}>, import("effect/Schema").Struct<{
readonly toolUse: import("effect/Schema").Struct<{
readonly toolUseId: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly input: import("effect/Schema").Unknown;
}>;
}>, import("effect/Schema").Struct<{
readonly cachePoint: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"default">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>;
}>]>>;
}, "Type">)[];
readonly messages: readonly ({
readonly role: "user";
readonly content: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly image: {
readonly format: "png" | "jpeg" | "gif" | "webp";
readonly source: {
readonly bytes: string;
};
};
} | {
readonly document: {
readonly format: "pdf" | "csv" | "doc" | "docx" | "xls" | "xlsx" | "html" | "txt" | "md";
readonly name: string;
readonly source: {
readonly bytes: string;
};
};
} | {
readonly text: string;
} | {
readonly toolResult: {
readonly content: readonly ({
readonly image: {
readonly format: "png" | "jpeg" | "gif" | "webp";
readonly source: {
readonly bytes: string;
};
};
} | {
readonly document: {
readonly format: "pdf" | "csv" | "doc" | "docx" | "xls" | "xlsx" | "html" | "txt" | "md";
readonly name: string;
readonly source: {
readonly bytes: string;
};
};
} | {
readonly text: string;
} | {
readonly json: unknown;
})[];
readonly toolUseId: string;
readonly status?: "error" | "success" | undefined;
};
})[];
} | {
readonly role: "assistant";
readonly content: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly text: string;
} | {
readonly toolUse: {
readonly toolUseId: string;
readonly name: string;
readonly input: unknown;
};
} | {
readonly reasoningContent: {
readonly reasoningText: {
readonly text: string;
readonly signature?: string | undefined;
};
} | {
readonly redactedContent: string;
};
})[];
})[];
readonly modelId: string;
readonly system?: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly cachePoint: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"default">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly text: import("effect/Schema").String;
}, "Type">)[] | undefined;
readonly system?: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly text: string;
})[] | undefined;
readonly inferenceConfig?: {

@@ -117,25 +117,27 @@ readonly maxTokens?: number | undefined;

readonly toolConfig?: {
readonly tools: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly cachePoint: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"default">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly toolSpec: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly inputSchema: import("effect/Schema").Struct<{
readonly json: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
}>;
}>;
}, "Type">)[];
readonly toolChoice?: import("effect/Schema").Struct.ReadonlySide<{
readonly auto: import("effect/Schema").Struct<{}>;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly any: import("effect/Schema").Struct<{}>;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly tool: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
}>;
}, "Type"> | undefined;
readonly tools: readonly ({
readonly cachePoint: {
readonly type: "default";
readonly ttl?: "1h" | "5m" | undefined;
};
} | {
readonly toolSpec: {
readonly name: string;
readonly description: string;
readonly inputSchema: {
readonly json: {
readonly [x: string]: unknown;
};
};
};
})[];
readonly toolChoice?: {
readonly auto: {};
} | {
readonly any: {};
} | {
readonly tool: {
readonly name: string;
};
} | undefined;
} | undefined;

@@ -142,0 +144,0 @@ readonly additionalModelRequestFields?: {

@@ -27,135 +27,135 @@ import type { ProviderPackage } from "../provider-package";

export declare const routes: import("../route").Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"text">;
readonly text: import("effect/Schema").String;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"image">;
readonly source: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"base64">;
readonly media_type: import("effect/Schema").String;
readonly data: import("effect/Schema").String;
}>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"document">;
readonly source: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"base64">;
readonly media_type: import("effect/Schema").Literal<"application/pdf">;
readonly data: import("effect/Schema").String;
}>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"tool_result">;
readonly tool_use_id: import("effect/Schema").String;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"text">;
readonly text: import("effect/Schema").String;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"image">;
readonly source: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"base64">;
readonly media_type: import("effect/Schema").String;
readonly data: import("effect/Schema").String;
}>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"document">;
readonly source: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"base64">;
readonly media_type: import("effect/Schema").Literal<"application/pdf">;
readonly data: import("effect/Schema").String;
}>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>]>;
readonly is_error: import("effect/Schema").optional<import("effect/Schema").Boolean>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"assistant">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"text">;
readonly text: import("effect/Schema").String;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"thinking">;
readonly thinking: import("effect/Schema").String;
readonly signature: import("effect/Schema").optional<import("effect/Schema").String>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"redacted_thinking">;
readonly data: import("effect/Schema").String;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"tool_use">;
readonly id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly input: import("effect/Schema").Unknown;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"server_tool_use">;
readonly id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly input: import("effect/Schema").Unknown;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literals<readonly ["web_search_tool_result", "code_execution_tool_result", "web_fetch_tool_result"]>;
readonly tool_use_id: import("effect/Schema").String;
readonly content: import("effect/Schema").Unknown;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"text">;
readonly text: import("effect/Schema").String;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>>;
}, "Type">)[];
readonly model: string;
readonly messages: readonly ({
readonly role: "user";
readonly content: readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "image";
readonly source: {
readonly type: "base64";
readonly media_type: string;
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "document";
readonly source: {
readonly type: "base64";
readonly media_type: "application/pdf";
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "tool_result";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "image";
readonly source: {
readonly type: "base64";
readonly media_type: string;
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "document";
readonly source: {
readonly type: "base64";
readonly media_type: "application/pdf";
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
})[];
readonly tool_use_id: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
readonly is_error?: boolean | undefined;
})[];
} | {
readonly role: "assistant";
readonly content: readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly id: string;
readonly type: "tool_use";
readonly name: string;
readonly input: unknown;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly id: string;
readonly type: "server_tool_use";
readonly name: string;
readonly input: unknown;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "web_search_tool_result" | "code_execution_tool_result" | "web_fetch_tool_result";
readonly content: unknown;
readonly tool_use_id: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "thinking";
readonly thinking: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
readonly signature?: string | undefined;
} | {
readonly data: string;
readonly type: "redacted_thinking";
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
})[];
} | {
readonly role: "system";
readonly content: readonly {
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
}[];
})[];
readonly stream: true;

@@ -184,17 +184,17 @@ readonly max_tokens: number;

readonly stop_sequences?: readonly string[] | undefined;
readonly thinking?: import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"enabled">;
readonly budget_tokens: import("effect/Schema").Number;
}, "Type"> | {
readonly thinking?: {
readonly type: "enabled";
readonly budget_tokens: number;
} | {
readonly type: "adaptive";
readonly display?: "summarized" | "omitted" | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"disabled">;
}, "Type"> | undefined;
readonly tool_choice?: import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literals<readonly ["auto", "any", "none"]>;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"tool">;
readonly name: import("effect/Schema").String;
}, "Type"> | undefined;
} | {
readonly type: "disabled";
} | undefined;
readonly tool_choice?: {
readonly type: "none" | "auto" | "any";
} | {
readonly type: "tool";
readonly name: string;
} | undefined;
readonly top_k?: number | undefined;

@@ -201,0 +201,0 @@ readonly top_p?: number | undefined;

@@ -11,135 +11,135 @@ import type { RouteDefaultsInput } from "../route/client";

export declare const routes: import("../route").Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"text">;
readonly text: import("effect/Schema").String;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"image">;
readonly source: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"base64">;
readonly media_type: import("effect/Schema").String;
readonly data: import("effect/Schema").String;
}>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"document">;
readonly source: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"base64">;
readonly media_type: import("effect/Schema").Literal<"application/pdf">;
readonly data: import("effect/Schema").String;
}>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"tool_result">;
readonly tool_use_id: import("effect/Schema").String;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"text">;
readonly text: import("effect/Schema").String;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"image">;
readonly source: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"base64">;
readonly media_type: import("effect/Schema").String;
readonly data: import("effect/Schema").String;
}>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"document">;
readonly source: import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"base64">;
readonly media_type: import("effect/Schema").Literal<"application/pdf">;
readonly data: import("effect/Schema").String;
}>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>]>;
readonly is_error: import("effect/Schema").optional<import("effect/Schema").Boolean>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"assistant">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"text">;
readonly text: import("effect/Schema").String;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"thinking">;
readonly thinking: import("effect/Schema").String;
readonly signature: import("effect/Schema").optional<import("effect/Schema").String>;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"redacted_thinking">;
readonly data: import("effect/Schema").String;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"tool_use">;
readonly id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly input: import("effect/Schema").Unknown;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"server_tool_use">;
readonly id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly input: import("effect/Schema").Unknown;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literals<readonly ["web_search_tool_result", "code_execution_tool_result", "web_fetch_tool_result"]>;
readonly tool_use_id: import("effect/Schema").String;
readonly content: import("effect/Schema").Unknown;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"text">;
readonly text: import("effect/Schema").String;
readonly cache_control: import("effect/Schema").optional<import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"ephemeral">;
readonly ttl: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["5m", "1h"]>>;
}>>;
}>>;
}, "Type">)[];
readonly model: string;
readonly messages: readonly ({
readonly role: "user";
readonly content: readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "image";
readonly source: {
readonly type: "base64";
readonly media_type: string;
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "document";
readonly source: {
readonly type: "base64";
readonly media_type: "application/pdf";
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "tool_result";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "image";
readonly source: {
readonly type: "base64";
readonly media_type: string;
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "document";
readonly source: {
readonly type: "base64";
readonly media_type: "application/pdf";
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
})[];
readonly tool_use_id: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
readonly is_error?: boolean | undefined;
})[];
} | {
readonly role: "assistant";
readonly content: readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly id: string;
readonly type: "tool_use";
readonly name: string;
readonly input: unknown;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly id: string;
readonly type: "server_tool_use";
readonly name: string;
readonly input: unknown;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "web_search_tool_result" | "code_execution_tool_result" | "web_fetch_tool_result";
readonly content: unknown;
readonly tool_use_id: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "thinking";
readonly thinking: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
readonly signature?: string | undefined;
} | {
readonly data: string;
readonly type: "redacted_thinking";
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
})[];
} | {
readonly role: "system";
readonly content: readonly {
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
}[];
})[];
readonly stream: true;

@@ -168,17 +168,17 @@ readonly max_tokens: number;

readonly stop_sequences?: readonly string[] | undefined;
readonly thinking?: import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"enabled">;
readonly budget_tokens: import("effect/Schema").Number;
}, "Type"> | {
readonly thinking?: {
readonly type: "enabled";
readonly budget_tokens: number;
} | {
readonly type: "adaptive";
readonly display?: "summarized" | "omitted" | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"disabled">;
}, "Type"> | undefined;
readonly tool_choice?: import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").Literals<readonly ["auto", "any", "none"]>;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"tool">;
readonly name: import("effect/Schema").String;
}, "Type"> | undefined;
} | {
readonly type: "disabled";
} | undefined;
readonly tool_choice?: {
readonly type: "none" | "auto" | "any";
} | {
readonly type: "tool";
readonly name: string;
} | undefined;
readonly top_k?: number | undefined;

@@ -185,0 +185,0 @@ readonly top_p?: number | undefined;

@@ -25,17 +25,18 @@ import { type AtLeastOne, type ProviderAuthOption } from "../route/auth-options";

export declare const routes: (RouteDef<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"image_url">;
readonly image_url: import("effect/Schema").Struct<{
readonly url: import("effect/Schema").String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -45,29 +46,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly id: import("effect/Schema").String;
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"tool">;
readonly tool_call_id: import("effect/Schema").String;
readonly content: import("effect/Schema").String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -78,11 +80,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: import("effect/Schema").Struct.ReadonlySide<{
readonly include_usage: import("effect/Schema").Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -94,60 +96,60 @@ readonly store?: boolean | undefined;

readonly type: "reasoning";
readonly summary: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"summary_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"item_reference">;
readonly id: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"user">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call">;
readonly call_id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call_output">;
readonly call_id: import("effect/Schema").String;
readonly output: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>>]>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";

@@ -161,5 +163,6 @@ readonly phase?: "commentary" | "final_answer" | null | undefined;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -176,8 +179,8 @@ readonly tools?: readonly ({

readonly type: "image_generation";
readonly size?: string | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly output_format?: "png" | "jpeg" | "webp" | undefined;
readonly size?: string | undefined;
readonly quality?: "low" | "medium" | "high" | "auto" | undefined;
readonly background?: "auto" | "opaque" | "transparent" | undefined;
readonly output_compression?: number | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly input_fidelity?: "low" | "high" | undefined;

@@ -187,11 +190,10 @@ readonly partial_images?: number | undefined;

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly name: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"image_generation">;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | {
readonly type: "image_generation";
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -198,0 +200,0 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

@@ -28,17 +28,18 @@ import type { Config, Redacted } from "effect";

export declare const aiGatewayRoute: import("../route").Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"image_url">;
readonly image_url: import("effect/Schema").Struct<{
readonly url: import("effect/Schema").String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -48,29 +49,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly id: import("effect/Schema").String;
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"tool">;
readonly tool_call_id: import("effect/Schema").String;
readonly content: import("effect/Schema").String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -81,11 +83,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: import("effect/Schema").Struct.ReadonlySide<{
readonly include_usage: import("effect/Schema").Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -96,17 +98,18 @@ readonly store?: boolean | undefined;

export declare const workersAIRoute: import("../route").Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"image_url">;
readonly image_url: import("effect/Schema").Struct<{
readonly url: import("effect/Schema").String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -116,29 +119,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly id: import("effect/Schema").String;
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"tool">;
readonly tool_call_id: import("effect/Schema").String;
readonly content: import("effect/Schema").String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -149,11 +153,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: import("effect/Schema").Struct.ReadonlySide<{
readonly include_usage: import("effect/Schema").Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -164,17 +168,18 @@ readonly store?: boolean | undefined;

export declare const routes: import("../route").Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"image_url">;
readonly image_url: import("effect/Schema").Struct<{
readonly url: import("effect/Schema").String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -184,29 +189,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly id: import("effect/Schema").String;
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"tool">;
readonly tool_call_id: import("effect/Schema").String;
readonly content: import("effect/Schema").String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -217,11 +223,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: import("effect/Schema").Struct.ReadonlySide<{
readonly include_usage: import("effect/Schema").Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -228,0 +234,0 @@ readonly store?: boolean | undefined;

@@ -13,17 +13,18 @@ import { type ProviderAuthOption } from "../route/auth-options";

export declare const routes: (import("../route").Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"image_url">;
readonly image_url: import("effect/Schema").Struct<{
readonly url: import("effect/Schema").String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -33,29 +34,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly id: import("effect/Schema").String;
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"tool">;
readonly tool_call_id: import("effect/Schema").String;
readonly content: import("effect/Schema").String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -66,11 +68,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: import("effect/Schema").Struct.ReadonlySide<{
readonly include_usage: import("effect/Schema").Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -82,60 +84,60 @@ readonly store?: boolean | undefined;

readonly type: "reasoning";
readonly summary: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"summary_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"item_reference">;
readonly id: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"user">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call">;
readonly call_id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call_output">;
readonly call_id: import("effect/Schema").String;
readonly output: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>>]>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";

@@ -149,5 +151,6 @@ readonly phase?: "commentary" | "final_answer" | null | undefined;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -164,8 +167,8 @@ readonly tools?: readonly ({

readonly type: "image_generation";
readonly size?: string | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly output_format?: "png" | "jpeg" | "webp" | undefined;
readonly size?: string | undefined;
readonly quality?: "low" | "medium" | "high" | "auto" | undefined;
readonly background?: "auto" | "opaque" | "transparent" | undefined;
readonly output_compression?: number | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly input_fidelity?: "low" | "high" | undefined;

@@ -175,11 +178,10 @@ readonly partial_images?: number | undefined;

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly name: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"image_generation">;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | {
readonly type: "image_generation";
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -186,0 +188,0 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

@@ -20,17 +20,18 @@ import type { ProviderPackage } from "../provider-package";

export declare const routes: import("../route").Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"image_url">;
readonly image_url: import("effect/Schema").Struct<{
readonly url: import("effect/Schema").String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -40,29 +41,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly id: import("effect/Schema").String;
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"tool">;
readonly tool_call_id: import("effect/Schema").String;
readonly content: import("effect/Schema").String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -73,11 +75,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: import("effect/Schema").Struct.ReadonlySide<{
readonly include_usage: import("effect/Schema").Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -84,0 +86,0 @@ readonly store?: boolean | undefined;

@@ -1,2 +0,1 @@

import { Schema } from "effect";
import type { ProviderPackage } from "../provider-package";

@@ -35,134 +34,2 @@ import { AnthropicMessages } from "../protocols/anthropic-messages";

}[] | undefined;
messages: readonly (Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"user">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"image">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.String;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"document">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.Literal<"application/pdf">;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"tool_result">;
readonly tool_use_id: Schema.String;
readonly content: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"image">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.String;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"document">;
readonly source: Schema.Struct<{
readonly type: Schema.tag<"base64">;
readonly media_type: Schema.Literal<"application/pdf">;
readonly data: Schema.String;
}>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>]>;
readonly is_error: Schema.optional<Schema.Boolean>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"assistant">;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"thinking">;
readonly thinking: Schema.String;
readonly signature: Schema.optional<Schema.String>;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"redacted_thinking">;
readonly data: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"tool_use">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly input: Schema.Unknown;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.tag<"server_tool_use">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly input: Schema.Unknown;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>, Schema.Struct<{
readonly type: Schema.Literals<readonly ["web_search_tool_result", "code_execution_tool_result", "web_fetch_tool_result"]>;
readonly tool_use_id: Schema.String;
readonly content: Schema.Unknown;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>]>>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"system">;
readonly content: Schema.$Array<Schema.Struct<{
readonly type: Schema.tag<"text">;
readonly text: Schema.String;
readonly cache_control: Schema.optional<Schema.Struct<{
readonly type: Schema.tag<"ephemeral">;
readonly ttl: Schema.optional<Schema.Literals<readonly ["5m", "1h"]>>;
}>>;
}>>;
}, "Type">)[];
tools?: readonly {

@@ -179,2 +46,134 @@ readonly name: string;

}[] | undefined;
messages: readonly ({
readonly role: "user";
readonly content: readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "image";
readonly source: {
readonly type: "base64";
readonly media_type: string;
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "document";
readonly source: {
readonly type: "base64";
readonly media_type: "application/pdf";
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "tool_result";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "image";
readonly source: {
readonly type: "base64";
readonly media_type: string;
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "document";
readonly source: {
readonly type: "base64";
readonly media_type: "application/pdf";
readonly data: string;
};
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
})[];
readonly tool_use_id: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
readonly is_error?: boolean | undefined;
})[];
} | {
readonly role: "assistant";
readonly content: readonly ({
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly id: string;
readonly type: "tool_use";
readonly name: string;
readonly input: unknown;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly id: string;
readonly type: "server_tool_use";
readonly name: string;
readonly input: unknown;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "web_search_tool_result" | "code_execution_tool_result" | "web_fetch_tool_result";
readonly content: unknown;
readonly tool_use_id: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
} | {
readonly type: "thinking";
readonly thinking: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
readonly signature?: string | undefined;
} | {
readonly data: string;
readonly type: "redacted_thinking";
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
})[];
} | {
readonly role: "system";
readonly content: readonly {
readonly type: "text";
readonly text: string;
readonly cache_control?: {
readonly type: "ephemeral";
readonly ttl?: "1h" | "5m" | undefined;
} | undefined;
}[];
})[];
temperature?: number | undefined;

@@ -184,17 +183,17 @@ stream: true;

stop_sequences?: readonly string[] | undefined;
thinking?: Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"enabled">;
readonly budget_tokens: Schema.Number;
}, "Type"> | {
thinking?: {
readonly type: "enabled";
readonly budget_tokens: number;
} | {
readonly type: "adaptive";
readonly display?: "summarized" | "omitted" | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"disabled">;
}, "Type"> | undefined;
tool_choice?: Schema.Struct.ReadonlySide<{
readonly type: Schema.Literals<readonly ["auto", "any", "none"]>;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"tool">;
readonly name: Schema.String;
}, "Type"> | undefined;
} | {
readonly type: "disabled";
} | undefined;
tool_choice?: {
readonly type: "none" | "auto" | "any";
} | {
readonly type: "tool";
readonly name: string;
} | undefined;
top_k?: number | undefined;

@@ -201,0 +200,0 @@ top_p?: number | undefined;

@@ -22,56 +22,56 @@ import type { ProviderPackage } from "../provider-package";

readonly type: "reasoning";
readonly summary: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"summary_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"item_reference">;
readonly id: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"user">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call">;
readonly call_id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call_output">;
readonly call_id: import("effect/Schema").String;
readonly output: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>>]>;
}, "Type">)[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
})[];
readonly model: string;

@@ -82,5 +82,6 @@ readonly stream: true;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -97,9 +98,8 @@ readonly tools?: readonly {

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly name: import("effect/Schema").String;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -106,0 +106,0 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

@@ -28,41 +28,43 @@ import type { ProviderPackage } from "../provider-package";

export declare const routes: Route<{
readonly contents: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literals<readonly ["user", "model"]>;
readonly parts: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly text: import("effect/Schema").String;
readonly thought: import("effect/Schema").optional<import("effect/Schema").Boolean>;
readonly thoughtSignature: import("effect/Schema").optional<import("effect/Schema").String>;
}>, import("effect/Schema").Struct<{
readonly inlineData: import("effect/Schema").Struct<{
readonly mimeType: import("effect/Schema").String;
readonly data: import("effect/Schema").String;
}>;
}>, import("effect/Schema").Struct<{
readonly functionCall: import("effect/Schema").Struct<{
readonly id: import("effect/Schema").optional<import("effect/Schema").String>;
readonly name: import("effect/Schema").String;
readonly args: import("effect/Schema").Unknown;
}>;
readonly thoughtSignature: import("effect/Schema").optional<import("effect/Schema").String>;
}>, import("effect/Schema").Struct<{
readonly functionResponse: import("effect/Schema").Struct<{
readonly id: import("effect/Schema").optional<import("effect/Schema").String>;
readonly name: import("effect/Schema").String;
readonly response: import("effect/Schema").Unknown;
readonly parts: import("effect/Schema").optional<import("effect/Schema").$Array<import("effect/Schema").Struct<{
readonly inlineData: import("effect/Schema").Struct<{
readonly mimeType: import("effect/Schema").String;
readonly data: import("effect/Schema").String;
}>;
}>>>;
}>;
}>]>>;
}, "Type">[];
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly functionDeclarations: import("effect/Schema").$Array<import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>;
}>>;
}, "Type">[] | undefined;
readonly contents: readonly {
readonly role: "user" | "model";
readonly parts: readonly ({
readonly inlineData: {
readonly mimeType: string;
readonly data: string;
};
} | {
readonly text: string;
readonly thought?: boolean | undefined;
readonly thoughtSignature?: string | undefined;
} | {
readonly functionCall: {
readonly name: string;
readonly args: unknown;
readonly id?: string | undefined;
};
readonly thoughtSignature?: string | undefined;
} | {
readonly functionResponse: {
readonly name: string;
readonly response: unknown;
readonly id?: string | undefined;
readonly parts?: readonly {
readonly inlineData: {
readonly mimeType: string;
readonly data: string;
};
}[] | undefined;
};
})[];
}[];
readonly tools?: readonly {
readonly functionDeclarations: readonly {
readonly name: string;
readonly description: string;
readonly parameters?: {
readonly [x: string]: unknown;
} | undefined;
}[];
}[] | undefined;
readonly generationConfig?: {

@@ -79,13 +81,13 @@ readonly temperature?: number | undefined;

} | undefined;
readonly systemInstruction?: import("effect/Schema").Struct.ReadonlySide<{
readonly parts: import("effect/Schema").$Array<import("effect/Schema").Struct<{
readonly text: import("effect/Schema").String;
}>>;
}, "Type"> | undefined;
readonly toolConfig?: import("effect/Schema").Struct.ReadonlySide<{
readonly functionCallingConfig: import("effect/Schema").Struct<{
readonly mode: import("effect/Schema").Literals<readonly ["AUTO", "NONE", "ANY"]>;
readonly allowedFunctionNames: import("effect/Schema").optional<import("effect/Schema").$Array<import("effect/Schema").String>>;
}>;
}, "Type"> | undefined;
readonly systemInstruction?: {
readonly parts: readonly {
readonly text: string;
}[];
} | undefined;
readonly toolConfig?: {
readonly functionCallingConfig: {
readonly mode: "AUTO" | "NONE" | "ANY";
readonly allowedFunctionNames?: readonly string[] | undefined;
};
} | undefined;
}, import("../route/transport/http").HttpPrepared<string>>[];

@@ -92,0 +94,0 @@ export declare const configure: (input?: Config) => {

@@ -11,41 +11,43 @@ import type { RouteDefaultsInput } from "../route/client";

export declare const routes: import("../route").Route<{
readonly contents: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literals<readonly ["user", "model"]>;
readonly parts: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly text: import("effect/Schema").String;
readonly thought: import("effect/Schema").optional<import("effect/Schema").Boolean>;
readonly thoughtSignature: import("effect/Schema").optional<import("effect/Schema").String>;
}>, import("effect/Schema").Struct<{
readonly inlineData: import("effect/Schema").Struct<{
readonly mimeType: import("effect/Schema").String;
readonly data: import("effect/Schema").String;
}>;
}>, import("effect/Schema").Struct<{
readonly functionCall: import("effect/Schema").Struct<{
readonly id: import("effect/Schema").optional<import("effect/Schema").String>;
readonly name: import("effect/Schema").String;
readonly args: import("effect/Schema").Unknown;
}>;
readonly thoughtSignature: import("effect/Schema").optional<import("effect/Schema").String>;
}>, import("effect/Schema").Struct<{
readonly functionResponse: import("effect/Schema").Struct<{
readonly id: import("effect/Schema").optional<import("effect/Schema").String>;
readonly name: import("effect/Schema").String;
readonly response: import("effect/Schema").Unknown;
readonly parts: import("effect/Schema").optional<import("effect/Schema").$Array<import("effect/Schema").Struct<{
readonly inlineData: import("effect/Schema").Struct<{
readonly mimeType: import("effect/Schema").String;
readonly data: import("effect/Schema").String;
}>;
}>>>;
}>;
}>]>>;
}, "Type">[];
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly functionDeclarations: import("effect/Schema").$Array<import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>;
}>>;
}, "Type">[] | undefined;
readonly contents: readonly {
readonly role: "user" | "model";
readonly parts: readonly ({
readonly inlineData: {
readonly mimeType: string;
readonly data: string;
};
} | {
readonly text: string;
readonly thought?: boolean | undefined;
readonly thoughtSignature?: string | undefined;
} | {
readonly functionCall: {
readonly name: string;
readonly args: unknown;
readonly id?: string | undefined;
};
readonly thoughtSignature?: string | undefined;
} | {
readonly functionResponse: {
readonly name: string;
readonly response: unknown;
readonly id?: string | undefined;
readonly parts?: readonly {
readonly inlineData: {
readonly mimeType: string;
readonly data: string;
};
}[] | undefined;
};
})[];
}[];
readonly tools?: readonly {
readonly functionDeclarations: readonly {
readonly name: string;
readonly description: string;
readonly parameters?: {
readonly [x: string]: unknown;
} | undefined;
}[];
}[] | undefined;
readonly generationConfig?: {

@@ -62,13 +64,13 @@ readonly temperature?: number | undefined;

} | undefined;
readonly systemInstruction?: import("effect/Schema").Struct.ReadonlySide<{
readonly parts: import("effect/Schema").$Array<import("effect/Schema").Struct<{
readonly text: import("effect/Schema").String;
}>>;
}, "Type"> | undefined;
readonly toolConfig?: import("effect/Schema").Struct.ReadonlySide<{
readonly functionCallingConfig: import("effect/Schema").Struct<{
readonly mode: import("effect/Schema").Literals<readonly ["AUTO", "NONE", "ANY"]>;
readonly allowedFunctionNames: import("effect/Schema").optional<import("effect/Schema").$Array<import("effect/Schema").String>>;
}>;
}, "Type"> | undefined;
readonly systemInstruction?: {
readonly parts: readonly {
readonly text: string;
}[];
} | undefined;
readonly toolConfig?: {
readonly functionCallingConfig: {
readonly mode: "AUTO" | "NONE" | "ANY";
readonly allowedFunctionNames?: readonly string[] | undefined;
};
} | undefined;
}, import("../route/transport/http").HttpPrepared<string>>[];

@@ -75,0 +77,0 @@ export type Config = RouteDefaultsInput & ProviderAuthOption<"optional"> & {

@@ -22,56 +22,56 @@ import type { ProviderPackage } from "../provider-package";

readonly type: "reasoning";
readonly summary: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"summary_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"item_reference">;
readonly id: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"user">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call">;
readonly call_id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call_output">;
readonly call_id: import("effect/Schema").String;
readonly output: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>>]>;
}, "Type">)[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
})[];
readonly model: string;

@@ -82,5 +82,6 @@ readonly stream: true;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -97,9 +98,8 @@ readonly tools?: readonly {

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly name: import("effect/Schema").String;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -106,0 +106,0 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

@@ -19,17 +19,18 @@ import { type ModelID } from "../schema";

export declare const routes: import("../route").Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"image_url">;
readonly image_url: import("effect/Schema").Struct<{
readonly url: import("effect/Schema").String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -39,29 +40,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly id: import("effect/Schema").String;
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"tool">;
readonly tool_call_id: import("effect/Schema").String;
readonly content: import("effect/Schema").String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -72,11 +74,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: import("effect/Schema").Struct.ReadonlySide<{
readonly include_usage: import("effect/Schema").Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -83,0 +85,0 @@ readonly store?: boolean | undefined;

@@ -11,17 +11,18 @@ import { type ProviderAuthOption } from "../route/auth-options";

export declare const routes: (Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"image_url">;
readonly image_url: import("effect/Schema").Struct<{
readonly url: import("effect/Schema").String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -31,29 +32,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly id: import("effect/Schema").String;
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"tool">;
readonly tool_call_id: import("effect/Schema").String;
readonly content: import("effect/Schema").String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -64,11 +66,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: import("effect/Schema").Struct.ReadonlySide<{
readonly include_usage: import("effect/Schema").Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -80,60 +82,60 @@ readonly store?: boolean | undefined;

readonly type: "reasoning";
readonly summary: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"summary_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"item_reference">;
readonly id: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"user">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call">;
readonly call_id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call_output">;
readonly call_id: import("effect/Schema").String;
readonly output: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>>]>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";

@@ -147,5 +149,6 @@ readonly phase?: "commentary" | "final_answer" | null | undefined;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -162,8 +165,8 @@ readonly tools?: readonly ({

readonly type: "image_generation";
readonly size?: string | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly output_format?: "png" | "jpeg" | "webp" | undefined;
readonly size?: string | undefined;
readonly quality?: "low" | "medium" | "high" | "auto" | undefined;
readonly background?: "auto" | "opaque" | "transparent" | undefined;
readonly output_compression?: number | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly input_fidelity?: "low" | "high" | undefined;

@@ -173,11 +176,10 @@ readonly partial_images?: number | undefined;

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly name: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"image_generation">;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | {
readonly type: "image_generation";
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -190,60 +192,60 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

readonly type: "reasoning";
readonly summary: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"summary_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"item_reference">;
readonly id: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"user">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call">;
readonly call_id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call_output">;
readonly call_id: import("effect/Schema").String;
readonly output: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>>]>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";

@@ -257,5 +259,6 @@ readonly phase?: "commentary" | "final_answer" | null | undefined;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -272,8 +275,8 @@ readonly tools?: readonly ({

readonly type: "image_generation";
readonly size?: string | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly output_format?: "png" | "jpeg" | "webp" | undefined;
readonly size?: string | undefined;
readonly quality?: "low" | "medium" | "high" | "auto" | undefined;
readonly background?: "auto" | "opaque" | "transparent" | undefined;
readonly output_compression?: number | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly input_fidelity?: "low" | "high" | undefined;

@@ -283,11 +286,10 @@ readonly partial_images?: number | undefined;

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly name: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"image_generation">;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | {
readonly type: "image_generation";
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -294,0 +296,0 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

@@ -92,17 +92,18 @@ import { Schema } from "effect";

readonly [x: string]: any;
readonly messages: readonly (Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"user">;
readonly content: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"image_url">;
readonly image_url: Schema.Struct<{
readonly url: Schema.String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -112,29 +113,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly Schema.Struct.ReadonlySide<{
readonly id: Schema.String;
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly arguments: Schema.String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"tool">;
readonly tool_call_id: Schema.String;
readonly content: Schema.String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly description: Schema.String;
readonly parameters: Schema.$Record<Schema.String, Schema.Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -145,11 +147,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: Schema.Struct.ReadonlySide<{
readonly include_usage: Schema.Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -178,4 +180,6 @@ readonly store?: boolean | undefined;

readonly [x: string]: unknown;
readonly reasoning?: string | null | undefined;
readonly reasoning_content?: string | null | undefined;
readonly reasoning_text?: string | null | undefined;
readonly content?: string | null | undefined;
readonly reasoning?: string | null | undefined;
readonly tool_calls?: readonly {

@@ -189,4 +193,2 @@ readonly index: number;

}[] | null | undefined;
readonly reasoning_content?: string | null | undefined;
readonly reasoning_text?: string | null | undefined;
readonly reasoning_details?: unknown;

@@ -200,17 +202,18 @@ } | null | undefined;

readonly [x: string]: any;
readonly messages: readonly (Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"user">;
readonly content: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"image_url">;
readonly image_url: Schema.Struct<{
readonly url: Schema.String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -220,29 +223,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly Schema.Struct.ReadonlySide<{
readonly id: Schema.String;
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly arguments: Schema.String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"tool">;
readonly tool_call_id: Schema.String;
readonly content: Schema.String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly description: Schema.String;
readonly parameters: Schema.$Record<Schema.String, Schema.Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -253,11 +257,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: Schema.Struct.ReadonlySide<{
readonly include_usage: Schema.Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -269,17 +273,18 @@ readonly store?: boolean | undefined;

readonly [x: string]: any;
readonly messages: readonly (Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"system">;
readonly content: Schema.String;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"user">;
readonly content: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"image_url">;
readonly image_url: Schema.Struct<{
readonly url: Schema.String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -289,29 +294,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly Schema.Struct.ReadonlySide<{
readonly id: Schema.String;
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly arguments: Schema.String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | Schema.Struct.ReadonlySide<{
readonly role: Schema.Literal<"tool">;
readonly tool_call_id: Schema.String;
readonly content: Schema.String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
readonly description: Schema.String;
readonly parameters: Schema.$Record<Schema.String, Schema.Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -322,11 +328,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: Schema.Struct.ReadonlySide<{
readonly include_usage: Schema.Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"function">;
readonly function: Schema.Struct<{
readonly name: Schema.String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -333,0 +339,0 @@ readonly store?: boolean | undefined;

@@ -10,17 +10,18 @@ import { type ProviderAuthOption } from "../route/auth-options";

export declare const routes: (import("../route").Route<{
readonly messages: readonly (import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"user">;
readonly content: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").Literal<"image_url">;
readonly image_url: import("effect/Schema").Struct<{
readonly url: import("effect/Schema").String;
}>;
}>]>>]>;
}, "Type"> | {
readonly model: string;
readonly messages: readonly ({
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: string | readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "image_url";
readonly image_url: {
readonly url: string;
};
})[];
} | {
readonly [x: string]: unknown;

@@ -30,29 +31,30 @@ readonly content: string | null;

readonly reasoning?: string | undefined;
readonly tool_calls?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly id: import("effect/Schema").String;
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}>;
}, "Type">[] | undefined;
readonly reasoning_content?: string | undefined;
readonly reasoning_text?: string | undefined;
readonly tool_calls?: readonly {
readonly id: string;
readonly type: "function";
readonly function: {
readonly name: string;
readonly arguments: string;
};
}[] | undefined;
readonly reasoning_details?: unknown;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").Literal<"tool">;
readonly tool_call_id: import("effect/Schema").String;
readonly content: import("effect/Schema").String;
}, "Type">)[];
readonly model: string;
} | {
readonly role: "tool";
readonly tool_call_id: string;
readonly content: string;
})[];
readonly stream: true;
readonly stop?: readonly string[] | undefined;
readonly tools?: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
readonly description: import("effect/Schema").String;
readonly parameters: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
}>;
}, "Type">[] | undefined;
readonly tools?: readonly {
readonly type: "function";
readonly function: {
readonly name: string;
readonly description: string;
readonly parameters: {
readonly [x: string]: unknown;
};
};
}[] | undefined;
readonly temperature?: number | undefined;

@@ -63,11 +65,11 @@ readonly seed?: number | undefined;

readonly presence_penalty?: number | undefined;
readonly stream_options?: import("effect/Schema").Struct.ReadonlySide<{
readonly include_usage: import("effect/Schema").Boolean;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly function: import("effect/Schema").Struct<{
readonly name: import("effect/Schema").String;
}>;
}, "Type"> | undefined;
readonly stream_options?: {
readonly include_usage: boolean;
} | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly function: {
readonly name: string;
};
} | undefined;
readonly top_p?: number | undefined;

@@ -79,60 +81,60 @@ readonly store?: boolean | undefined;

readonly type: "reasoning";
readonly summary: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"summary_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
readonly summary: readonly {
readonly type: "summary_text";
readonly text: string;
}[];
readonly id?: string | undefined;
readonly encrypted_content?: string | null | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"item_reference">;
readonly id: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"system">;
readonly content: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly role: import("effect/Schema").tag<"user">;
readonly content: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>]>>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "item_reference";
readonly id: string;
} | {
readonly role: "system";
readonly content: string;
} | {
readonly role: "user";
readonly content: readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";
readonly phase?: "commentary" | "final_answer" | undefined;
} | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call">;
readonly call_id: import("effect/Schema").String;
readonly name: import("effect/Schema").String;
readonly arguments: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function_call_output">;
readonly call_id: import("effect/Schema").String;
readonly output: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_text">;
readonly text: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_image">;
readonly image_url: import("effect/Schema").String;
}>, import("effect/Schema").Struct<{
readonly type: import("effect/Schema").tag<"input_file">;
readonly filename: import("effect/Schema").String;
readonly file_data: import("effect/Schema").String;
readonly mime_type: import("effect/Schema").optional<import("effect/Schema").String>;
}>]>>]>;
}, "Type"> | {
readonly content: readonly import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"output_text">;
readonly text: import("effect/Schema").String;
}, "Type">[];
} | {
readonly type: "function_call";
readonly call_id: string;
readonly name: string;
readonly arguments: string;
} | {
readonly type: "function_call_output";
readonly call_id: string;
readonly output: string | readonly ({
readonly type: "input_image";
readonly image_url: string;
} | {
readonly type: "input_file";
readonly filename: string;
readonly file_data: string;
readonly mime_type?: string | undefined;
} | {
readonly type: "input_text";
readonly text: string;
})[];
} | {
readonly content: readonly {
readonly type: "output_text";
readonly text: string;
}[];
readonly role: "assistant";

@@ -146,5 +148,6 @@ readonly phase?: "commentary" | "final_answer" | null | undefined;

} | undefined;
readonly instructions?: string | undefined;
readonly reasoning?: {
readonly summary?: "auto" | "concise" | "detailed" | undefined;
readonly effort?: string | undefined;
readonly summary?: "auto" | "concise" | "detailed" | undefined;
} | undefined;

@@ -161,8 +164,8 @@ readonly tools?: readonly ({

readonly type: "image_generation";
readonly size?: string | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly output_format?: "png" | "jpeg" | "webp" | undefined;
readonly size?: string | undefined;
readonly quality?: "low" | "medium" | "high" | "auto" | undefined;
readonly background?: "auto" | "opaque" | "transparent" | undefined;
readonly output_compression?: number | undefined;
readonly action?: "generate" | "auto" | "edit" | undefined;
readonly input_fidelity?: "low" | "high" | undefined;

@@ -172,11 +175,10 @@ readonly partial_images?: number | undefined;

readonly temperature?: number | undefined;
readonly tool_choice?: "required" | "none" | "auto" | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"function">;
readonly name: import("effect/Schema").String;
}, "Type"> | import("effect/Schema").Struct.ReadonlySide<{
readonly type: import("effect/Schema").tag<"image_generation">;
}, "Type"> | undefined;
readonly tool_choice?: "required" | "none" | "auto" | {
readonly type: "function";
readonly name: string;
} | {
readonly type: "image_generation";
} | undefined;
readonly top_p?: number | undefined;
readonly include?: readonly ("file_search_call.results" | "web_search_call.results" | "web_search_call.action.sources" | "message.input_image.image_url" | "computer_call_output.output.image_url" | "code_interpreter_call.outputs" | "reasoning.encrypted_content" | "message.output_text.logprobs")[] | undefined;
readonly instructions?: string | undefined;
readonly store?: boolean | undefined;

@@ -183,0 +185,0 @@ readonly service_tier?: "auto" | "default" | "flex" | "priority" | undefined;

@@ -149,8 +149,8 @@ import { Context, Effect, Layer, Schema, Stream } from "effect";

export declare function generate(request: LLMRequest): Effect.Effect<LLMResponse, LLMError>;
export declare const streamRequest: (request: LLMRequest) => Stream.Stream<Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"step-start">;
readonly index: Schema.Number;
}, "Type"> | {
export declare const streamRequest: (request: LLMRequest) => Stream.Stream<{
readonly type: "step-start";
readonly index: number;
} | {
readonly id: string;
readonly type: "text-start";
readonly id: string;
readonly providerMetadata?: {

@@ -162,5 +162,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -172,4 +172,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "text-end";
readonly id: string;
readonly providerMetadata?: {

@@ -181,4 +181,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-start";
readonly id: string;
readonly providerMetadata?: {

@@ -190,5 +190,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-delta";
readonly text: string;
readonly id: string;
readonly providerMetadata?: {

@@ -200,4 +200,4 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "reasoning-end";
readonly id: string;
readonly providerMetadata?: {

@@ -209,5 +209,5 @@ readonly [x: string]: {

} | {
readonly id: string;
readonly type: "tool-input-start";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -219,11 +219,11 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"tool-input-delta">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly text: Schema.String;
}, "Type"> | {
} | {
readonly type: "tool-input-delta";
readonly id: string;
readonly name: string;
readonly text: string;
} | {
readonly id: string;
readonly type: "tool-input-end";
readonly name: string;
readonly id: string;
readonly providerMetadata?: {

@@ -234,11 +234,11 @@ readonly [x: string]: {

} | undefined;
} | Schema.Struct.ReadonlySide<{
readonly type: Schema.tag<"tool-input-error">;
readonly id: Schema.String;
readonly name: Schema.String;
readonly raw: Schema.String;
}, "Type"> | {
} | {
readonly type: "tool-input-error";
readonly id: string;
readonly name: string;
readonly raw: string;
} | {
readonly id: string;
readonly type: "tool-call";
readonly name: string;
readonly id: string;
readonly input: unknown;

@@ -252,26 +252,38 @@ readonly providerMetadata?: {

} | {
readonly id: string;
readonly type: "tool-result";
readonly name: string;
readonly id: string;
readonly result: Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"json">;
readonly value: Schema.Unknown;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"text">;
readonly value: Schema.Unknown;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"error">;
readonly value: Schema.Unknown;
}, "Type"> | Schema.Struct.ReadonlySide<{
readonly type: Schema.Literal<"content">;
readonly value: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"file">;
readonly uri: Schema.String;
readonly mime: Schema.String;
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
}>]>>;
}, "Type">;
readonly result: {
readonly type: "json";
readonly value: unknown;
} | {
readonly type: "text";
readonly value: unknown;
} | {
readonly type: "error";
readonly value: unknown;
} | {
readonly type: "content";
readonly value: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
};
readonly output?: {
readonly structured: unknown;
readonly content: readonly ({
readonly type: "text";
readonly text: string;
} | {
readonly type: "file";
readonly uri: string;
readonly mime: string;
readonly name?: string | undefined;
})[];
} | undefined;
readonly providerMetadata?: {

@@ -283,18 +295,6 @@ readonly [x: string]: {

readonly providerExecuted?: boolean | undefined;
readonly output?: Schema.Struct.ReadonlySide<{
readonly structured: Schema.Unknown;
readonly content: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
readonly type: Schema.Literal<"text">;
readonly text: Schema.String;
}>, Schema.Struct<{
readonly type: Schema.Literal<"file">;
readonly uri: Schema.String;
readonly mime: Schema.String;
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
}>]>>;
}, "Type"> | undefined;
} | {
readonly id: string;
readonly type: "tool-error";
readonly name: string;
readonly id: string;
readonly message: string;

@@ -301,0 +301,0 @@ readonly error?: unknown;

import { Schema } from "effect";
import { Tool } from "@opencode-ai/schema/tool";
export declare const ProviderFailureClassification: Schema.Literal<"context-overflow">;

@@ -137,7 +138,2 @@ export type ProviderFailureClassification = typeof ProviderFailureClassification.Type;

}
declare const ToolFailure_base: Schema.Class<ToolFailure, Schema.TaggedStruct<"LLM.ToolFailure", {
readonly message: Schema.String;
readonly error: Schema.optional<Schema.Defect>;
readonly metadata: Schema.optional<Schema.$Record<Schema.String, Schema.Unknown>>;
}>, import("effect/Cause").YieldableError>;
/**

@@ -152,4 +148,4 @@ * Failure type for tool execute handlers. Handlers must map their internal

*/
export declare class ToolFailure extends ToolFailure_base {
export declare class ToolFailure extends Tool.Error {
}
export {};
import { Schema } from "effect";
import { Tool } from "@opencode-ai/schema/tool";
import { ModelID, ProviderID, ProviderMetadata, RouteID } from "./ids";

@@ -145,7 +146,3 @@ export const ProviderFailureClassification = Schema.Literal("context-overflow");

*/
export class ToolFailure extends Schema.TaggedErrorClass()("LLM.ToolFailure", {
message: Schema.String,
error: Schema.optional(Schema.Defect()),
metadata: Schema.optional(Schema.Record(Schema.String, Schema.Unknown)),
}) {
export class ToolFailure extends Tool.Error {
}
import { Schema } from "effect";
import { ToolContent, ToolFileContent, ToolTextContent } from "@opencode-ai/schema/llm";
import { Tool } from "@opencode-ai/schema/tool";
import { CacheHint, GenerationOptions, HttpOptions } from "./options";

@@ -36,3 +36,2 @@ declare const systemPartSchema: Schema.Struct<{

export type MediaPart = Schema.Schema.Type<typeof MediaPart>;
export { ToolContent, ToolFileContent, ToolTextContent };
export declare const ToolResultValue: Schema.Union<readonly [Schema.Struct<{

@@ -56,3 +55,3 @@ readonly type: Schema.Literal<"json">;

readonly mime: Schema.String;
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
readonly name: Schema.optional<Schema.String>;
}>]>>;

@@ -66,3 +65,3 @@ }>]> & {

readonly structured: unknown;
readonly content: ReadonlyArray<ToolContent>;
readonly content: ReadonlyArray<Tool.Content>;
}

@@ -78,6 +77,6 @@ export declare const ToolOutput: Schema.Struct<{

readonly mime: Schema.String;
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
readonly name: Schema.optional<Schema.String>;
}>]>>;
}> & {
make: (structured: unknown, content?: ReadonlyArray<ToolContent>) => ToolOutput;
make: (structured: unknown, content?: ReadonlyArray<Tool.Content>) => ToolOutput;
fromResultValue: (result: ToolResultValue) => ToolOutput | undefined;

@@ -120,3 +119,3 @@ toResultValue: (output: ToolOutput) => ToolResultValue;

readonly mime: Schema.String;
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
readonly name: Schema.optional<Schema.String>;
}>]>>;

@@ -190,3 +189,3 @@ }>]> & {

readonly mime: Schema.String;
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
readonly name: Schema.optional<Schema.String>;
}>]>>;

@@ -261,3 +260,3 @@ }>]> & {

readonly mime: Schema.String;
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
readonly name: Schema.optional<Schema.String>;
}>]>>;

@@ -374,1 +373,2 @@ }>]> & {

}
export {};
import { Schema } from "effect";
import { ToolContent, ToolFileContent, ToolTextContent } from "@opencode-ai/schema/llm";
import { Tool } from "@opencode-ai/schema/tool";
import { JsonSchema, MessageRole, ProviderMetadata } from "./ids";

@@ -35,3 +35,2 @@ import { CacheHint, CachePolicy, GenerationOptions, HttpOptions, ModelSchema, ProviderOptions } from "./options";

}).annotate({ identifier: "LLM.Content.Media" });
export { ToolContent, ToolFileContent, ToolTextContent };
const isToolResultValue = (value) => isRecord(value) &&

@@ -55,3 +54,3 @@ (value.type === "text" || value.type === "json" || value.type === "error" || value.type === "content") &&

type: Schema.Literal("content"),
value: Schema.Array(ToolContent),
value: Schema.Array(Tool.Content),
}),

@@ -70,3 +69,3 @@ ]).annotate({ identifier: "LLM.ToolResult" }), {

structured: Schema.Unknown,
content: Schema.Array(ToolContent),
content: Schema.Array(Tool.Content),
}).annotate({ identifier: "LLM.ToolOutput" }), {

@@ -73,0 +72,0 @@ make: (structured, content = []) => ({ structured, content }),

@@ -11,3 +11,3 @@ import { Effect } from "effect";

return Effect.succeed(result(call, { type: "error", value: `Tool has no execute handler: ${call.name}` }));
return decodeAndExecute(tool, call).pipe(Effect.map((value) => result(call, value)), Effect.catchTag("LLM.ToolFailure", (failure) => Effect.succeed(result(call, { type: "error", value: failure.message }, failure.error))));
return decodeAndExecute(tool, call).pipe(Effect.map((value) => result(call, value)), Effect.catchTag("Tool.Error", (failure) => Effect.succeed(result(call, { type: "error", value: failure.message }, failure.error))));
};

@@ -14,0 +14,0 @@ const decodeAndExecute = (tool, call) => tool._decode(call.input).pipe(Effect.mapError((error) => new ToolFailure({ message: `Invalid tool input: ${error.message}` })), Effect.flatMap((decoded) => tool.execute(decoded, { id: call.id, name: call.name }).pipe(Effect.flatMap((value) => tool._encode(value).pipe(Effect.mapError((error) => new ToolFailure({

import { Effect, JsonSchema, Schema } from "effect";
import type { ToolCallPart, ToolContent, ToolDefinition as ToolDefinitionClass, ToolOutput as ToolOutputType } from "./schema";
import { Tool } from "@opencode-ai/schema/tool";
import type { ToolCallPart, ToolDefinition as ToolDefinitionClass, ToolOutput as ToolOutputType } from "./schema";
import { ToolFailure } from "./schema";

@@ -20,3 +21,3 @@ /**

}
export type ToolToModelOutput<Parameters extends ToolSchema<any>, Success extends ToolSchema<any>> = (input: ToolModelOutputInput<Schema.Schema.Type<Parameters>, Success["Encoded"]>) => ReadonlyArray<ToolContent>;
export type ToolToModelOutput<Parameters extends ToolSchema<any>, Success extends ToolSchema<any>> = (input: ToolModelOutputInput<Schema.Schema.Type<Parameters>, Success["Encoded"]>) => ReadonlyArray<Tool.Content>;
/**

@@ -110,3 +111,3 @@ * A type-safe LLM tool. Each tool bundles its own description, parameter

readonly execute: (params: unknown, context?: ToolExecuteContext) => Effect.Effect<unknown, ToolFailure>;
readonly toModelOutput?: (input: ToolModelOutputInput<unknown, unknown>) => ReadonlyArray<ToolContent>;
readonly toModelOutput?: (input: ToolModelOutputInput<unknown, unknown>) => ReadonlyArray<Tool.Content>;
readonly toStructuredOutput?: (output: unknown) => unknown;

@@ -119,3 +120,3 @@ }): AnyExecutableTool;

readonly execute?: undefined;
readonly toModelOutput?: (input: ToolModelOutputInput<unknown, unknown>) => ReadonlyArray<ToolContent>;
readonly toModelOutput?: (input: ToolModelOutputInput<unknown, unknown>) => ReadonlyArray<Tool.Content>;
readonly toStructuredOutput?: (output: unknown) => unknown;

@@ -122,0 +123,0 @@ }): AnyTool;

import { Effect, JsonSchema, Schema } from "effect";
import { Tool } from "@opencode-ai/schema/tool";
import { ToolDefinition, ToolFailure, ToolOutput } from "./schema";

@@ -3,0 +4,0 @@ export function make(config) {

{
"$schema": "https://json.schemastore.org/package.json",
"version": "0.0.0-next-16255",
"version": "0.0.0-next-16273",
"name": "@opencode-ai/ai",

@@ -28,4 +28,4 @@ "type": "module",

"@clack/prompts": "1.0.0-alpha.1",
"@effect/platform-node": "4.0.0-beta.98",
"@opencode-ai/http-recorder": "0.0.0-next-16255",
"@effect/platform-node": "4.0.0-beta.101",
"@opencode-ai/http-recorder": "0.0.0-next-16273",
"@tsconfig/bun": "1.0.9",

@@ -39,7 +39,7 @@ "@types/bun": "1.3.13",

"@smithy/util-utf8": "4.2.2",
"@opencode-ai/schema": "0.0.0-next-16255",
"@opencode-ai/schema": "0.0.0-next-16273",
"aws4fetch": "1.0.20",
"effect": "4.0.0-beta.98",
"effect": "4.0.0-beta.101",
"google-auth-library": "10.5.0"
}
}

Sorry, the diff of this file is too big to display