import { APIResource } from "../core/resource.js"; import { APIPromise } from "../core/api-promise.js"; import { RequestOptions } from "../internal/request-options.js"; export declare class AgentTemplates extends APIResource { /** * Fetch a single factory agent fully rendered: the function files to scaffold (an * `index.ts` that declares the agent with `defineAgent` and its skills with * `defineTool`) plus the secrets it needs. This is what * `npx zavudev agents pull ` writes to disk before `npx zavudev deploy`. * * @example * ```ts * const agentTemplate = await client.agentTemplates.retrieve( * 'fermi', * ); * ``` */ retrieve(templateID: string, options?: RequestOptions): APIPromise; /** * List the factory agents available to scaffold with `npx zavudev agents pull`. * Each entry is a ready-made voice or text agent (system prompt, skills, and — for * voice agents — a co-located voice config). * * @example * ```ts * const agentTemplates = await client.agentTemplates.list(); * ``` */ list(options?: RequestOptions): APIPromise; } export interface AgentTemplateRetrieveResponse { /** * A fully rendered factory agent: the function files to scaffold plus the secrets * it needs. Returned by GET /v1/agent-templates/{templateId} and consumed by * `npx zavudev agents pull`. */ template: AgentTemplateRetrieveResponse.Template; } export declare namespace AgentTemplateRetrieveResponse { /** * A fully rendered factory agent: the function files to scaffold plus the secrets * it needs. Returned by GET /v1/agent-templates/{templateId} and consumed by * `npx zavudev agents pull`. */ interface Template { id: string; category: 'sales' | 'support' | 'frontDesk' | 'ops'; defaultSlug: string; /** * npm dependencies for the scaffolded function. */ dependencies: { [key: string]: string; }; files: Array; name: string; requiredSecrets: Array; summary: string; voice: boolean; } namespace Template { interface File { /** * File contents to write verbatim. */ content: string; path: string; } interface RequiredSecret { hint: string; key: string; } } } export interface AgentTemplateListResponse { items: Array; } export declare namespace AgentTemplateListResponse { /** * Compact catalog entry for a factory agent. */ interface Item { id: string; category: 'sales' | 'support' | 'frontDesk' | 'ops'; name: string; summary: string; toolCount: number; /** * Whether this agent answers phone calls. */ voice: boolean; } } export declare namespace AgentTemplates { export { type AgentTemplateRetrieveResponse as AgentTemplateRetrieveResponse, type AgentTemplateListResponse as AgentTemplateListResponse, }; } //# sourceMappingURL=agent-templates.d.ts.map