Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 22 additions & 17 deletions types/defines/ai.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -632,12 +632,11 @@ export type ChatCompletionChoice = {
finish_reason: "stop" | "length" | "tool_calls" | "content_filter" | "function_call";
logprobs: ChatCompletionLogprobs | null;
};
export type ChatCompletionsPromptInput = {
prompt: string;
} & ChatCompletionsCommonOptions;

export type ChatCompletionsMessagesInput = {
messages: Array<ChatCompletionMessageParam>;
} & ChatCompletionsCommonOptions;

export type ChatCompletionsOutput = {
id: string;
object: string;
Expand All @@ -648,6 +647,7 @@ export type ChatCompletionsOutput = {
system_fingerprint?: string | null;
service_tier?: "auto" | "default" | "flex" | "scale" | "priority" | null;
};

/**
* Workers AI support for OpenAI's Responses API
* Reference: https://github.com/openai/openai-node/blob/master/src/resources/responses/responses.ts
Expand Down Expand Up @@ -4730,11 +4730,11 @@ export declare abstract class Base_Ai_Cf_Pipecat_Ai_Smart_Turn_V2 {
postProcessedOutputs: Ai_Cf_Pipecat_Ai_Smart_Turn_V2_Output;
}
export declare abstract class Base_Ai_Cf_Openai_Gpt_Oss_120B {
inputs: XOR<ResponsesInput, ChatCompletionsInput>;
inputs: XOR<ResponsesInput, ChatCompletionsMessagesInput>;
postProcessedOutputs: XOR<ResponsesOutput, ChatCompletionsOutput>;
}
export declare abstract class Base_Ai_Cf_Openai_Gpt_Oss_20B {
inputs: XOR<ResponsesInput, ChatCompletionsInput>;
inputs: XOR<ResponsesInput, ChatCompletionsMessagesInput>;
postProcessedOutputs: XOR<ResponsesOutput, ChatCompletionsOutput>;
}
export interface Ai_Cf_Leonardo_Phoenix_1_0_Input {
Expand Down Expand Up @@ -5824,17 +5824,18 @@ export declare abstract class Base_Ai_Cf_Moonshotai_Kimi_K2_5 {
postProcessedOutputs: ChatCompletionsOutput;
}
export declare abstract class Base_Ai_Cf_Moonshotai_Kimi_K2_6 {
inputs: ChatCompletionsBase;
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
export declare abstract class Base_Ai_Cf_Nvidia_Nemotron_3_120B_A12B {
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
export declare abstract class Base_Ai_Cf_Google_Gemma_4_26B_A4B_IT {
inputs: ChatCompletionsBase;
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}

export interface AiModels {
"@cf/huggingface/distilbert-sst-2-int8": BaseAiTextClassification;
"@cf/stabilityai/stable-diffusion-xl-base-1.0": BaseAiTextToImage;
Expand Down Expand Up @@ -5979,13 +5980,10 @@ export type AiModelsSearchObject = {
value: string;
}[];
};
export type ChatCompletionsBase = XOR<ChatCompletionsPromptInput, ChatCompletionsMessagesInput>;
export type ChatCompletionsInput = XOR<
ChatCompletionsBase,
{
requests: ChatCompletionsBase[];
}
>;

export type ChatCompletionsBase = ChatCompletionsMessagesInput;
export type ChatCompletionsInput = ChatCompletionsMessagesInput;

export interface InferenceUpstreamError extends Error {}
export interface AiInternalError extends Error {}
export type AiModelListType = Record<string, any>;
Expand Down Expand Up @@ -6046,9 +6044,16 @@ export declare abstract class Ai<
options?: AiOptions
): Promise<AiModelList[Name]['postProcessedOutputs']>;

// Unknown model (gateway fallback)
run(
model: string & {},
// Unknown model (fallback).
//
// The `Exclude<..., keyof AiModelList>` constraint forces TypeScript to
// route any model name that is a literal key of `AiModelList` to one of
// the known-model overloads above (so input/output mismatches surface as
// type errors rather than silently falling back to `Record<string, unknown>`).
// Names that aren't in `AiModelList` — e.g. third-party gateway models
// like `"google/nano-banana"` — still hit this overload.
run<Model extends string>(
model: Model extends keyof AiModelList ? never : Model,
inputs: Record<string, unknown>,
options?: AiOptions
): Promise<Record<string, unknown>>;
Expand Down
36 changes: 16 additions & 20 deletions types/generated-snapshot/experimental/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6177,9 +6177,6 @@ type ChatCompletionChoice = {
| "function_call";
logprobs: ChatCompletionLogprobs | null;
};
type ChatCompletionsPromptInput = {
prompt: string;
} & ChatCompletionsCommonOptions;
type ChatCompletionsMessagesInput = {
messages: Array<ChatCompletionMessageParam>;
} & ChatCompletionsCommonOptions;
Expand Down Expand Up @@ -10304,11 +10301,11 @@ declare abstract class Base_Ai_Cf_Pipecat_Ai_Smart_Turn_V2 {
postProcessedOutputs: Ai_Cf_Pipecat_Ai_Smart_Turn_V2_Output;
}
declare abstract class Base_Ai_Cf_Openai_Gpt_Oss_120B {
inputs: XOR<ResponsesInput, ChatCompletionsInput>;
inputs: XOR<ResponsesInput, ChatCompletionsMessagesInput>;
postProcessedOutputs: XOR<ResponsesOutput, ChatCompletionsOutput>;
}
declare abstract class Base_Ai_Cf_Openai_Gpt_Oss_20B {
inputs: XOR<ResponsesInput, ChatCompletionsInput>;
inputs: XOR<ResponsesInput, ChatCompletionsMessagesInput>;
postProcessedOutputs: XOR<ResponsesOutput, ChatCompletionsOutput>;
}
interface Ai_Cf_Leonardo_Phoenix_1_0_Input {
Expand Down Expand Up @@ -11403,15 +11400,15 @@ declare abstract class Base_Ai_Cf_Moonshotai_Kimi_K2_5 {
postProcessedOutputs: ChatCompletionsOutput;
}
declare abstract class Base_Ai_Cf_Moonshotai_Kimi_K2_6 {
inputs: ChatCompletionsBase;
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
declare abstract class Base_Ai_Cf_Nvidia_Nemotron_3_120B_A12B {
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
declare abstract class Base_Ai_Cf_Google_Gemma_4_26B_A4B_IT {
inputs: ChatCompletionsBase;
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
interface AiModels {
Expand Down Expand Up @@ -11558,16 +11555,8 @@ type AiModelsSearchObject = {
value: string;
}[];
};
type ChatCompletionsBase = XOR<
ChatCompletionsPromptInput,
ChatCompletionsMessagesInput
>;
type ChatCompletionsInput = XOR<
ChatCompletionsBase,
{
requests: ChatCompletionsBase[];
}
>;
type ChatCompletionsBase = ChatCompletionsMessagesInput;
type ChatCompletionsInput = ChatCompletionsMessagesInput;
interface InferenceUpstreamError extends Error {}
interface AiInternalError extends Error {}
type AiModelListType = Record<string, any>;
Expand Down Expand Up @@ -11630,9 +11619,16 @@ declare abstract class Ai<AiModelList extends AiModelListType = AiModels> {
inputs: AiModelList[Name]["inputs"],
options?: AiOptions,
): Promise<AiModelList[Name]["postProcessedOutputs"]>;
// Unknown model (gateway fallback)
run(
model: string & {},
// Unknown model (fallback).
//
// The `Exclude<..., keyof AiModelList>` constraint forces TypeScript to
// route any model name that is a literal key of `AiModelList` to one of
// the known-model overloads above (so input/output mismatches surface as
// type errors rather than silently falling back to `Record<string, unknown>`).
// Names that aren't in `AiModelList` — e.g. third-party gateway models
// like `"google/nano-banana"` — still hit this overload.
run<Model extends string>(
model: Model extends keyof AiModelList ? never : Model,
inputs: Record<string, unknown>,
options?: AiOptions,
): Promise<Record<string, unknown>>;
Expand Down
36 changes: 16 additions & 20 deletions types/generated-snapshot/experimental/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6186,9 +6186,6 @@ export type ChatCompletionChoice = {
| "function_call";
logprobs: ChatCompletionLogprobs | null;
};
export type ChatCompletionsPromptInput = {
prompt: string;
} & ChatCompletionsCommonOptions;
export type ChatCompletionsMessagesInput = {
messages: Array<ChatCompletionMessageParam>;
} & ChatCompletionsCommonOptions;
Expand Down Expand Up @@ -10314,11 +10311,11 @@ export declare abstract class Base_Ai_Cf_Pipecat_Ai_Smart_Turn_V2 {
postProcessedOutputs: Ai_Cf_Pipecat_Ai_Smart_Turn_V2_Output;
}
export declare abstract class Base_Ai_Cf_Openai_Gpt_Oss_120B {
inputs: XOR<ResponsesInput, ChatCompletionsInput>;
inputs: XOR<ResponsesInput, ChatCompletionsMessagesInput>;
postProcessedOutputs: XOR<ResponsesOutput, ChatCompletionsOutput>;
}
export declare abstract class Base_Ai_Cf_Openai_Gpt_Oss_20B {
inputs: XOR<ResponsesInput, ChatCompletionsInput>;
inputs: XOR<ResponsesInput, ChatCompletionsMessagesInput>;
postProcessedOutputs: XOR<ResponsesOutput, ChatCompletionsOutput>;
}
export interface Ai_Cf_Leonardo_Phoenix_1_0_Input {
Expand Down Expand Up @@ -11413,15 +11410,15 @@ export declare abstract class Base_Ai_Cf_Moonshotai_Kimi_K2_5 {
postProcessedOutputs: ChatCompletionsOutput;
}
export declare abstract class Base_Ai_Cf_Moonshotai_Kimi_K2_6 {
inputs: ChatCompletionsBase;
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
export declare abstract class Base_Ai_Cf_Nvidia_Nemotron_3_120B_A12B {
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
export declare abstract class Base_Ai_Cf_Google_Gemma_4_26B_A4B_IT {
inputs: ChatCompletionsBase;
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
export interface AiModels {
Expand Down Expand Up @@ -11568,16 +11565,8 @@ export type AiModelsSearchObject = {
value: string;
}[];
};
export type ChatCompletionsBase = XOR<
ChatCompletionsPromptInput,
ChatCompletionsMessagesInput
>;
export type ChatCompletionsInput = XOR<
ChatCompletionsBase,
{
requests: ChatCompletionsBase[];
}
>;
export type ChatCompletionsBase = ChatCompletionsMessagesInput;
export type ChatCompletionsInput = ChatCompletionsMessagesInput;
export interface InferenceUpstreamError extends Error {}
export interface AiInternalError extends Error {}
export type AiModelListType = Record<string, any>;
Expand Down Expand Up @@ -11642,9 +11631,16 @@ export declare abstract class Ai<
inputs: AiModelList[Name]["inputs"],
options?: AiOptions,
): Promise<AiModelList[Name]["postProcessedOutputs"]>;
// Unknown model (gateway fallback)
run(
model: string & {},
// Unknown model (fallback).
//
// The `Exclude<..., keyof AiModelList>` constraint forces TypeScript to
// route any model name that is a literal key of `AiModelList` to one of
// the known-model overloads above (so input/output mismatches surface as
// type errors rather than silently falling back to `Record<string, unknown>`).
// Names that aren't in `AiModelList` — e.g. third-party gateway models
// like `"google/nano-banana"` — still hit this overload.
run<Model extends string>(
model: Model extends keyof AiModelList ? never : Model,
inputs: Record<string, unknown>,
options?: AiOptions,
): Promise<Record<string, unknown>>;
Expand Down
36 changes: 16 additions & 20 deletions types/generated-snapshot/latest/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5509,9 +5509,6 @@ type ChatCompletionChoice = {
| "function_call";
logprobs: ChatCompletionLogprobs | null;
};
type ChatCompletionsPromptInput = {
prompt: string;
} & ChatCompletionsCommonOptions;
type ChatCompletionsMessagesInput = {
messages: Array<ChatCompletionMessageParam>;
} & ChatCompletionsCommonOptions;
Expand Down Expand Up @@ -9636,11 +9633,11 @@ declare abstract class Base_Ai_Cf_Pipecat_Ai_Smart_Turn_V2 {
postProcessedOutputs: Ai_Cf_Pipecat_Ai_Smart_Turn_V2_Output;
}
declare abstract class Base_Ai_Cf_Openai_Gpt_Oss_120B {
inputs: XOR<ResponsesInput, ChatCompletionsInput>;
inputs: XOR<ResponsesInput, ChatCompletionsMessagesInput>;
postProcessedOutputs: XOR<ResponsesOutput, ChatCompletionsOutput>;
}
declare abstract class Base_Ai_Cf_Openai_Gpt_Oss_20B {
inputs: XOR<ResponsesInput, ChatCompletionsInput>;
inputs: XOR<ResponsesInput, ChatCompletionsMessagesInput>;
postProcessedOutputs: XOR<ResponsesOutput, ChatCompletionsOutput>;
}
interface Ai_Cf_Leonardo_Phoenix_1_0_Input {
Expand Down Expand Up @@ -10735,15 +10732,15 @@ declare abstract class Base_Ai_Cf_Moonshotai_Kimi_K2_5 {
postProcessedOutputs: ChatCompletionsOutput;
}
declare abstract class Base_Ai_Cf_Moonshotai_Kimi_K2_6 {
inputs: ChatCompletionsBase;
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
declare abstract class Base_Ai_Cf_Nvidia_Nemotron_3_120B_A12B {
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
declare abstract class Base_Ai_Cf_Google_Gemma_4_26B_A4B_IT {
inputs: ChatCompletionsBase;
inputs: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
interface AiModels {
Expand Down Expand Up @@ -10890,16 +10887,8 @@ type AiModelsSearchObject = {
value: string;
}[];
};
type ChatCompletionsBase = XOR<
ChatCompletionsPromptInput,
ChatCompletionsMessagesInput
>;
type ChatCompletionsInput = XOR<
ChatCompletionsBase,
{
requests: ChatCompletionsBase[];
}
>;
type ChatCompletionsBase = ChatCompletionsMessagesInput;
type ChatCompletionsInput = ChatCompletionsMessagesInput;
interface InferenceUpstreamError extends Error {}
interface AiInternalError extends Error {}
type AiModelListType = Record<string, any>;
Expand Down Expand Up @@ -10962,9 +10951,16 @@ declare abstract class Ai<AiModelList extends AiModelListType = AiModels> {
inputs: AiModelList[Name]["inputs"],
options?: AiOptions,
): Promise<AiModelList[Name]["postProcessedOutputs"]>;
// Unknown model (gateway fallback)
run(
model: string & {},
// Unknown model (fallback).
//
// The `Exclude<..., keyof AiModelList>` constraint forces TypeScript to
// route any model name that is a literal key of `AiModelList` to one of
// the known-model overloads above (so input/output mismatches surface as
// type errors rather than silently falling back to `Record<string, unknown>`).
// Names that aren't in `AiModelList` — e.g. third-party gateway models
// like `"google/nano-banana"` — still hit this overload.
run<Model extends string>(
model: Model extends keyof AiModelList ? never : Model,
inputs: Record<string, unknown>,
options?: AiOptions,
): Promise<Record<string, unknown>>;
Expand Down
Loading
Loading