@genkit-ai/compat-oai
Version:
Genkit AI framework plugin for OpenAI APIs.
352 lines (348 loc) • 18.4 kB
TypeScript
import { z } from 'genkit';
import { ModelReference, ModelInfo } from 'genkit/model';
import { M as ModelRequestBuilder } from '../audio-CW-qdV9D.js';
import 'openai';
import 'openai/core.mjs';
import 'openai/resources/audio/index.mjs';
import 'genkit/plugin';
import 'genkit/registry';
import 'openai/resources/images.mjs';
import 'openai/resources/index.mjs';
/**
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/** XAI Custom configuration schema. */
declare const XaiChatCompletionConfigSchema: z.ZodObject<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">>;
/** XAI ModelRef helper, with XAI specific config. */
declare function xaiModelRef(params: {
name: string;
info?: ModelInfo;
config?: any;
}): ModelReference<typeof XaiChatCompletionConfigSchema>;
declare const grokRequestBuilder: ModelRequestBuilder;
declare const SUPPORTED_LANGUAGE_MODELS: {
'grok-3': ModelReference<z.ZodObject<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">>>;
'grok-3-fast': ModelReference<z.ZodObject<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">>>;
'grok-3-mini': ModelReference<z.ZodObject<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">>>;
'grok-3-mini-fast': ModelReference<z.ZodObject<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">>>;
'grok-2-vision-1212': ModelReference<z.ZodObject<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
version: z.ZodOptional<z.ZodString>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
apiKey: z.ZodOptional<z.ZodString>;
} & {
temperature: z.ZodOptional<z.ZodNumber>;
frequencyPenalty: z.ZodOptional<z.ZodNumber>;
logProbs: z.ZodOptional<z.ZodBoolean>;
presencePenalty: z.ZodOptional<z.ZodNumber>;
topLogProbs: z.ZodOptional<z.ZodNumber>;
} & {
deferred: z.ZodOptional<z.ZodBoolean>;
reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
webSearchOptions: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">>>;
};
export { SUPPORTED_LANGUAGE_MODELS, XaiChatCompletionConfigSchema, grokRequestBuilder, xaiModelRef };