import type { BaseCheckpointSaver } from "@langchain/langgraph"; import type { Logger } from "./logger"; import { z } from "zod/v4"; import type { BaseChatModel } from "@langchain/core/language_models/chat_models"; import type { ChatXAI } from "@langchain/xai"; export declare const AvailableTools: readonly ["background_agent", "integrate_background_work", "web_search", "thinking", "command_execute", "read_file", "list_directory", "edit_file", "research", "file_inspector"]; export type AvailableToolsType = (typeof AvailableTools)[number]; /** * Configuration schema for Wingman AI Agent * * @example * ```typescript * import { WingmanAgent } from '@wingman-ai/agent'; * import { ChatOpenAI } from '@langchain/openai'; * * const agent = new WingmanAgent({ * name: "My Coding Assistant", * model: new ChatOpenAI({ model: "gpt-4" }), * workingDirectory: "/path/to/project", * mode: "vibe", * backgroundAgentConfig: { * pushToRemote: true, * createPullRequest: true, * pullRequestTitle: "🤖 {agentName}: {input}", * pullRequestBody: "Automated changes by {agentName}\n\nTask: {input}\n\nFiles changed:\n{changedFiles}" * }, * tools: ["background_agent", "edit_file", "command_execute"] * }); * ``` */ export declare const WingmanAgentConfigSchema: z.ZodObject<{ name: z.ZodString; prompt: z.ZodOptional; instructions: z.ZodOptional; model: z.ZodCustom | ChatXAI, BaseChatModel | ChatXAI>; workingDirectory: z.ZodOptional; mode: z.ZodDefault>; memory: z.ZodOptional, BaseCheckpointSaver>>; logger: z.ZodOptional>; logLevel: z.ZodOptional>; backgroundAgentConfig: z.ZodOptional; createPullRequest: z.ZodDefault; pullRequestTitle: z.ZodDefault; pullRequestBody: z.ZodDefault; }, z.core.$strip>>; toolAbilities: z.ZodOptional; fileDiagnostics: z.ZodOptional; blockedCommands: z.ZodDefault>>; allowScriptExecution: z.ZodDefault; }, z.core.$strip>>; tools: z.ZodOptional>>>; }, z.core.$strip>; /** * Type definition for Wingman Agent configuration * * @example * ```typescript * const config: WingmanAgentConfig = { * name: "Code Assistant", * model: new ChatOpenAI({ model: "gpt-4" }), * backgroundAgentConfig: { * pushToRemote: true, * createPullRequest: true * } * }; * ``` */ export type WingmanAgentConfig = z.infer; declare const WingmanInternalConfigSchema: z.ZodObject<{ name: z.ZodString; prompt: z.ZodOptional; model: z.ZodCustom | ChatXAI, BaseChatModel | ChatXAI>; mode: z.ZodDefault>; memory: z.ZodOptional, BaseCheckpointSaver>>; logLevel: z.ZodOptional>; workingDirectory: z.ZodString; logger: z.ZodCustom; instructions: z.ZodOptional; backgroundAgentConfig: z.ZodObject<{ pushToRemote: z.ZodDefault; createPullRequest: z.ZodDefault; pullRequestTitle: z.ZodDefault; pullRequestBody: z.ZodDefault; }, z.core.$strip>; toolAbilities: z.ZodObject<{ symbolRetriever: z.ZodOptional; fileDiagnostics: z.ZodOptional; blockedCommands: z.ZodDefault>>; allowScriptExecution: z.ZodDefault; }, z.core.$strip>; tools: z.ZodDefault>>>; }, z.core.$strip>; export type WingmanConfig = z.infer; export {};