Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
69 changes: 50 additions & 19 deletions types/defines/ai.d.ts
Comment thread
samscott89 marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -5827,6 +5827,10 @@ 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: 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,7 +5983,10 @@ export type ChatCompletionsInput = XOR<
export interface InferenceUpstreamError extends Error {}
export interface AiInternalError extends Error {}
export type AiModelListType = Record<string, any>;
export declare abstract class Ai<AiModelList extends AiModelListType = AiModels> {
export type AsyncResponse = { request_id: string };
export declare abstract class Ai<
AiModelList extends AiModelListType = AiModels,
> {
aiGatewayLogId: string | null;
gateway(gatewayId: string): AiGateway;

Expand All @@ -5997,25 +6004,49 @@ export declare abstract class Ai<AiModelList extends AiModelListType = AiModels>
* @param autoragId Instance ID
*/
autorag(autoragId: string): AutoRAG;
run<Name extends keyof AiModelList, Options extends AiOptions, InputOptions extends AiModelList[Name]["inputs"]>(

// Batch request
run<Name extends keyof AiModelList>(
model: Name,
inputs: InputOptions,
options?: Options,
): Promise<
Options extends
| {
returnRawResponse: true;
}
| {
websocket: true;
}
? Response
: InputOptions extends {
stream: true;
}
? ReadableStream
: AiModelList[Name]["postProcessedOutputs"]
>;
inputs: { requests: AiModelList[Name]['inputs'][] },
options: AiOptions & { queueRequest: true }
): Promise<AsyncResponse>;

// Raw response
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]['inputs'],
options: AiOptions & { returnRawResponse: true }
): Promise<Response>;

// WebSocket
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]['inputs'],
options: AiOptions & { websocket: true }
): Promise<Response>;

// Streaming
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]['inputs'] & { stream: true },
options?: AiOptions
): Promise<ReadableStream>;

// Normal (default) - known model
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]['inputs'],
options?: AiOptions
): Promise<AiModelList[Name]['postProcessedOutputs']>;

// Unknown model (gateway fallback)
run(
model: string & {},
inputs: Record<string, unknown>,
options?: AiOptions
): Promise<Record<string, unknown>>;

models(params?: AiModelsSearchParams): Promise<AiModelsSearchObject[]>;
toMarkdown(): ToMarkdownService;
toMarkdown(
Expand Down
74 changes: 52 additions & 22 deletions types/generated-snapshot/experimental/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11023,6 +11023,10 @@ 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: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
interface AiModels {
"@cf/huggingface/distilbert-sst-2-int8": BaseAiTextClassification;
"@cf/stabilityai/stable-diffusion-xl-base-1.0": BaseAiTextToImage;
Expand Down Expand Up @@ -11178,6 +11182,9 @@ type ChatCompletionsInput = XOR<
interface InferenceUpstreamError extends Error {}
interface AiInternalError extends Error {}
type AiModelListType = Record<string, any>;
type AsyncResponse = {
request_id: string;
};
declare abstract class Ai<AiModelList extends AiModelListType = AiModels> {
aiGatewayLogId: string | null;
gateway(gatewayId: string): AiGateway;
Expand All @@ -11194,29 +11201,52 @@ declare abstract class Ai<AiModelList extends AiModelListType = AiModels> {
* @param autoragId Instance ID
*/
autorag(autoragId: string): AutoRAG;
run<
Name extends keyof AiModelList,
Options extends AiOptions,
InputOptions extends AiModelList[Name]["inputs"],
>(
// Batch request
run<Name extends keyof AiModelList>(
model: Name,
inputs: InputOptions,
options?: Options,
): Promise<
Options extends
| {
returnRawResponse: true;
}
| {
websocket: true;
}
? Response
: InputOptions extends {
stream: true;
}
? ReadableStream
: AiModelList[Name]["postProcessedOutputs"]
>;
inputs: {
requests: AiModelList[Name]["inputs"][];
},
options: AiOptions & {
queueRequest: true;
},
): Promise<AsyncResponse>;
// Raw response
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"],
options: AiOptions & {
returnRawResponse: true;
},
): Promise<Response>;
// WebSocket
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"],
options: AiOptions & {
websocket: true;
},
): Promise<Response>;
// Streaming
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"] & {
stream: true;
},
options?: AiOptions,
): Promise<ReadableStream>;
// Normal (default) - known model
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"],
options?: AiOptions,
): Promise<AiModelList[Name]["postProcessedOutputs"]>;
// Unknown model (gateway fallback)
run(
model: string & {},
inputs: Record<string, unknown>,
options?: AiOptions,
): Promise<Record<string, unknown>>;
models(params?: AiModelsSearchParams): Promise<AiModelsSearchObject[]>;
toMarkdown(): ToMarkdownService;
toMarkdown(
Expand Down
74 changes: 52 additions & 22 deletions types/generated-snapshot/experimental/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11032,6 +11032,10 @@ 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: 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 @@ -11187,6 +11191,9 @@ export type ChatCompletionsInput = XOR<
export interface InferenceUpstreamError extends Error {}
export interface AiInternalError extends Error {}
export type AiModelListType = Record<string, any>;
export type AsyncResponse = {
request_id: string;
};
export declare abstract class Ai<
AiModelList extends AiModelListType = AiModels,
> {
Expand All @@ -11205,29 +11212,52 @@ export declare abstract class Ai<
* @param autoragId Instance ID
*/
autorag(autoragId: string): AutoRAG;
run<
Name extends keyof AiModelList,
Options extends AiOptions,
InputOptions extends AiModelList[Name]["inputs"],
>(
// Batch request
run<Name extends keyof AiModelList>(
model: Name,
inputs: InputOptions,
options?: Options,
): Promise<
Options extends
| {
returnRawResponse: true;
}
| {
websocket: true;
}
? Response
: InputOptions extends {
stream: true;
}
? ReadableStream
: AiModelList[Name]["postProcessedOutputs"]
>;
inputs: {
requests: AiModelList[Name]["inputs"][];
},
options: AiOptions & {
queueRequest: true;
},
): Promise<AsyncResponse>;
// Raw response
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"],
options: AiOptions & {
returnRawResponse: true;
},
): Promise<Response>;
// WebSocket
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"],
options: AiOptions & {
websocket: true;
},
): Promise<Response>;
// Streaming
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"] & {
stream: true;
},
options?: AiOptions,
): Promise<ReadableStream>;
// Normal (default) - known model
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"],
options?: AiOptions,
): Promise<AiModelList[Name]["postProcessedOutputs"]>;
// Unknown model (gateway fallback)
run(
model: string & {},
inputs: Record<string, unknown>,
options?: AiOptions,
): Promise<Record<string, unknown>>;
models(params?: AiModelsSearchParams): Promise<AiModelsSearchObject[]>;
toMarkdown(): ToMarkdownService;
toMarkdown(
Expand Down
74 changes: 52 additions & 22 deletions types/generated-snapshot/latest/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10331,6 +10331,10 @@ 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: ChatCompletionsInput;
postProcessedOutputs: ChatCompletionsOutput;
}
interface AiModels {
"@cf/huggingface/distilbert-sst-2-int8": BaseAiTextClassification;
"@cf/stabilityai/stable-diffusion-xl-base-1.0": BaseAiTextToImage;
Expand Down Expand Up @@ -10486,6 +10490,9 @@ type ChatCompletionsInput = XOR<
interface InferenceUpstreamError extends Error {}
interface AiInternalError extends Error {}
type AiModelListType = Record<string, any>;
type AsyncResponse = {
Comment thread
samscott89 marked this conversation as resolved.
Outdated
request_id: string;
};
declare abstract class Ai<AiModelList extends AiModelListType = AiModels> {
aiGatewayLogId: string | null;
gateway(gatewayId: string): AiGateway;
Expand All @@ -10502,29 +10509,52 @@ declare abstract class Ai<AiModelList extends AiModelListType = AiModels> {
* @param autoragId Instance ID
*/
autorag(autoragId: string): AutoRAG;
run<
Name extends keyof AiModelList,
Options extends AiOptions,
InputOptions extends AiModelList[Name]["inputs"],
>(
// Batch request
run<Name extends keyof AiModelList>(
model: Name,
inputs: InputOptions,
options?: Options,
): Promise<
Options extends
| {
returnRawResponse: true;
}
| {
websocket: true;
}
? Response
: InputOptions extends {
stream: true;
}
? ReadableStream
: AiModelList[Name]["postProcessedOutputs"]
>;
inputs: {
requests: AiModelList[Name]["inputs"][];
},
options: AiOptions & {
queueRequest: true;
},
): Promise<AsyncResponse>;
// Raw response
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"],
options: AiOptions & {
returnRawResponse: true;
},
): Promise<Response>;
// WebSocket
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"],
options: AiOptions & {
websocket: true;
},
): Promise<Response>;
// Streaming
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"] & {
stream: true;
},
options?: AiOptions,
): Promise<ReadableStream>;
// Normal (default) - known model
run<Name extends keyof AiModelList>(
model: Name,
inputs: AiModelList[Name]["inputs"],
options?: AiOptions,
): Promise<AiModelList[Name]["postProcessedOutputs"]>;
// Unknown model (gateway fallback)
run(
model: string & {},
inputs: Record<string, unknown>,
options?: AiOptions,
): Promise<Record<string, unknown>>;
models(params?: AiModelsSearchParams): Promise<AiModelsSearchObject[]>;
toMarkdown(): ToMarkdownService;
toMarkdown(
Expand Down
Loading
Loading