This repository has been archived on 2026-03-06. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files

401 lines
12 KiB
TypeScript

/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod";
import { remap as remap$ } from "../../lib/primitives.js";
import { safeParse } from "../../lib/schemas.js";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import {
CodeInterpreterTool,
CodeInterpreterTool$inboundSchema,
CodeInterpreterTool$Outbound,
CodeInterpreterTool$outboundSchema,
} from "./codeinterpretertool.js";
import {
CompletionArgs,
CompletionArgs$inboundSchema,
CompletionArgs$Outbound,
CompletionArgs$outboundSchema,
} from "./completionargs.js";
import {
DocumentLibraryTool,
DocumentLibraryTool$inboundSchema,
DocumentLibraryTool$Outbound,
DocumentLibraryTool$outboundSchema,
} from "./documentlibrarytool.js";
import {
FunctionTool,
FunctionTool$inboundSchema,
FunctionTool$Outbound,
FunctionTool$outboundSchema,
} from "./functiontool.js";
import {
ImageGenerationTool,
ImageGenerationTool$inboundSchema,
ImageGenerationTool$Outbound,
ImageGenerationTool$outboundSchema,
} from "./imagegenerationtool.js";
import {
WebSearchPremiumTool,
WebSearchPremiumTool$inboundSchema,
WebSearchPremiumTool$Outbound,
WebSearchPremiumTool$outboundSchema,
} from "./websearchpremiumtool.js";
import {
WebSearchTool,
WebSearchTool$inboundSchema,
WebSearchTool$Outbound,
WebSearchTool$outboundSchema,
} from "./websearchtool.js";
export type AgentTools =
| (DocumentLibraryTool & { type: "document_library" })
| (FunctionTool & { type: "function" })
| (CodeInterpreterTool & { type: "code_interpreter" })
| (ImageGenerationTool & { type: "image_generation" })
| (WebSearchTool & { type: "web_search" })
| (WebSearchPremiumTool & { type: "web_search_premium" });
export const AgentObject = {
Agent: "agent",
} as const;
export type AgentObject = ClosedEnum<typeof AgentObject>;
export type Agent = {
/**
* Instruction prompt the model will follow during the conversation.
*/
instructions?: string | null | undefined;
/**
* List of tools which are available to the model during the conversation.
*/
tools?:
| Array<
| (DocumentLibraryTool & { type: "document_library" })
| (FunctionTool & { type: "function" })
| (CodeInterpreterTool & { type: "code_interpreter" })
| (ImageGenerationTool & { type: "image_generation" })
| (WebSearchTool & { type: "web_search" })
| (WebSearchPremiumTool & { type: "web_search_premium" })
>
| undefined;
/**
* White-listed arguments from the completion API
*/
completionArgs?: CompletionArgs | undefined;
model: string;
name: string;
description?: string | null | undefined;
handoffs?: Array<string> | null | undefined;
object?: AgentObject | undefined;
id: string;
version: number;
createdAt: Date;
updatedAt: Date;
};
/** @internal */
export const AgentTools$inboundSchema: z.ZodType<
AgentTools,
z.ZodTypeDef,
unknown
> = z.union([
DocumentLibraryTool$inboundSchema.and(
z.object({ type: z.literal("document_library") }).transform((v) => ({
type: v.type,
})),
),
FunctionTool$inboundSchema.and(
z.object({ type: z.literal("function") }).transform((v) => ({
type: v.type,
})),
),
CodeInterpreterTool$inboundSchema.and(
z.object({ type: z.literal("code_interpreter") }).transform((v) => ({
type: v.type,
})),
),
ImageGenerationTool$inboundSchema.and(
z.object({ type: z.literal("image_generation") }).transform((v) => ({
type: v.type,
})),
),
WebSearchTool$inboundSchema.and(
z.object({ type: z.literal("web_search") }).transform((v) => ({
type: v.type,
})),
),
WebSearchPremiumTool$inboundSchema.and(
z.object({ type: z.literal("web_search_premium") }).transform((v) => ({
type: v.type,
})),
),
]);
/** @internal */
export type AgentTools$Outbound =
| (DocumentLibraryTool$Outbound & { type: "document_library" })
| (FunctionTool$Outbound & { type: "function" })
| (CodeInterpreterTool$Outbound & { type: "code_interpreter" })
| (ImageGenerationTool$Outbound & { type: "image_generation" })
| (WebSearchTool$Outbound & { type: "web_search" })
| (WebSearchPremiumTool$Outbound & { type: "web_search_premium" });
/** @internal */
export const AgentTools$outboundSchema: z.ZodType<
AgentTools$Outbound,
z.ZodTypeDef,
AgentTools
> = z.union([
DocumentLibraryTool$outboundSchema.and(
z.object({ type: z.literal("document_library") }).transform((v) => ({
type: v.type,
})),
),
FunctionTool$outboundSchema.and(
z.object({ type: z.literal("function") }).transform((v) => ({
type: v.type,
})),
),
CodeInterpreterTool$outboundSchema.and(
z.object({ type: z.literal("code_interpreter") }).transform((v) => ({
type: v.type,
})),
),
ImageGenerationTool$outboundSchema.and(
z.object({ type: z.literal("image_generation") }).transform((v) => ({
type: v.type,
})),
),
WebSearchTool$outboundSchema.and(
z.object({ type: z.literal("web_search") }).transform((v) => ({
type: v.type,
})),
),
WebSearchPremiumTool$outboundSchema.and(
z.object({ type: z.literal("web_search_premium") }).transform((v) => ({
type: v.type,
})),
),
]);
/**
* @internal
* @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
*/
export namespace AgentTools$ {
/** @deprecated use `AgentTools$inboundSchema` instead. */
export const inboundSchema = AgentTools$inboundSchema;
/** @deprecated use `AgentTools$outboundSchema` instead. */
export const outboundSchema = AgentTools$outboundSchema;
/** @deprecated use `AgentTools$Outbound` instead. */
export type Outbound = AgentTools$Outbound;
}
export function agentToolsToJSON(agentTools: AgentTools): string {
return JSON.stringify(AgentTools$outboundSchema.parse(agentTools));
}
export function agentToolsFromJSON(
jsonString: string,
): SafeParseResult<AgentTools, SDKValidationError> {
return safeParse(
jsonString,
(x) => AgentTools$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'AgentTools' from JSON`,
);
}
/** @internal */
export const AgentObject$inboundSchema: z.ZodNativeEnum<typeof AgentObject> = z
.nativeEnum(AgentObject);
/** @internal */
export const AgentObject$outboundSchema: z.ZodNativeEnum<typeof AgentObject> =
AgentObject$inboundSchema;
/**
* @internal
* @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
*/
export namespace AgentObject$ {
/** @deprecated use `AgentObject$inboundSchema` instead. */
export const inboundSchema = AgentObject$inboundSchema;
/** @deprecated use `AgentObject$outboundSchema` instead. */
export const outboundSchema = AgentObject$outboundSchema;
}
/** @internal */
export const Agent$inboundSchema: z.ZodType<Agent, z.ZodTypeDef, unknown> = z
.object({
instructions: z.nullable(z.string()).optional(),
tools: z.array(
z.union([
DocumentLibraryTool$inboundSchema.and(
z.object({ type: z.literal("document_library") }).transform((v) => ({
type: v.type,
})),
),
FunctionTool$inboundSchema.and(
z.object({ type: z.literal("function") }).transform((v) => ({
type: v.type,
})),
),
CodeInterpreterTool$inboundSchema.and(
z.object({ type: z.literal("code_interpreter") }).transform((v) => ({
type: v.type,
})),
),
ImageGenerationTool$inboundSchema.and(
z.object({ type: z.literal("image_generation") }).transform((v) => ({
type: v.type,
})),
),
WebSearchTool$inboundSchema.and(
z.object({ type: z.literal("web_search") }).transform((v) => ({
type: v.type,
})),
),
WebSearchPremiumTool$inboundSchema.and(
z.object({ type: z.literal("web_search_premium") }).transform((
v,
) => ({ type: v.type })),
),
]),
).optional(),
completion_args: CompletionArgs$inboundSchema.optional(),
model: z.string(),
name: z.string(),
description: z.nullable(z.string()).optional(),
handoffs: z.nullable(z.array(z.string())).optional(),
object: AgentObject$inboundSchema.default("agent"),
id: z.string(),
version: z.number().int(),
created_at: z.string().datetime({ offset: true }).transform(v =>
new Date(v)
),
updated_at: z.string().datetime({ offset: true }).transform(v =>
new Date(v)
),
}).transform((v) => {
return remap$(v, {
"completion_args": "completionArgs",
"created_at": "createdAt",
"updated_at": "updatedAt",
});
});
/** @internal */
export type Agent$Outbound = {
instructions?: string | null | undefined;
tools?:
| Array<
| (DocumentLibraryTool$Outbound & { type: "document_library" })
| (FunctionTool$Outbound & { type: "function" })
| (CodeInterpreterTool$Outbound & { type: "code_interpreter" })
| (ImageGenerationTool$Outbound & { type: "image_generation" })
| (WebSearchTool$Outbound & { type: "web_search" })
| (WebSearchPremiumTool$Outbound & { type: "web_search_premium" })
>
| undefined;
completion_args?: CompletionArgs$Outbound | undefined;
model: string;
name: string;
description?: string | null | undefined;
handoffs?: Array<string> | null | undefined;
object: string;
id: string;
version: number;
created_at: string;
updated_at: string;
};
/** @internal */
export const Agent$outboundSchema: z.ZodType<
Agent$Outbound,
z.ZodTypeDef,
Agent
> = z.object({
instructions: z.nullable(z.string()).optional(),
tools: z.array(
z.union([
DocumentLibraryTool$outboundSchema.and(
z.object({ type: z.literal("document_library") }).transform((v) => ({
type: v.type,
})),
),
FunctionTool$outboundSchema.and(
z.object({ type: z.literal("function") }).transform((v) => ({
type: v.type,
})),
),
CodeInterpreterTool$outboundSchema.and(
z.object({ type: z.literal("code_interpreter") }).transform((v) => ({
type: v.type,
})),
),
ImageGenerationTool$outboundSchema.and(
z.object({ type: z.literal("image_generation") }).transform((v) => ({
type: v.type,
})),
),
WebSearchTool$outboundSchema.and(
z.object({ type: z.literal("web_search") }).transform((v) => ({
type: v.type,
})),
),
WebSearchPremiumTool$outboundSchema.and(
z.object({ type: z.literal("web_search_premium") }).transform((v) => ({
type: v.type,
})),
),
]),
).optional(),
completionArgs: CompletionArgs$outboundSchema.optional(),
model: z.string(),
name: z.string(),
description: z.nullable(z.string()).optional(),
handoffs: z.nullable(z.array(z.string())).optional(),
object: AgentObject$outboundSchema.default("agent"),
id: z.string(),
version: z.number().int(),
createdAt: z.date().transform(v => v.toISOString()),
updatedAt: z.date().transform(v => v.toISOString()),
}).transform((v) => {
return remap$(v, {
completionArgs: "completion_args",
createdAt: "created_at",
updatedAt: "updated_at",
});
});
/**
* @internal
* @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
*/
export namespace Agent$ {
/** @deprecated use `Agent$inboundSchema` instead. */
export const inboundSchema = Agent$inboundSchema;
/** @deprecated use `Agent$outboundSchema` instead. */
export const outboundSchema = Agent$outboundSchema;
/** @deprecated use `Agent$Outbound` instead. */
export type Outbound = Agent$Outbound;
}
export function agentToJSON(agent: Agent): string {
return JSON.stringify(Agent$outboundSchema.parse(agent));
}
export function agentFromJSON(
jsonString: string,
): SafeParseResult<Agent, SDKValidationError> {
return safeParse(
jsonString,
(x) => Agent$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'Agent' from JSON`,
);
}