import { Server } from '@modelcontextprotocol/sdk/server/index.js'; import { z } from 'zod'; import type { IAgentOrchestratorClient } from '../orchestrator-client/orchestrator-client.js'; export declare const StartSessionSchema: z.ZodObject<{ agent_runtime: z.ZodOptional; prompt: z.ZodOptional; agent_root: z.ZodOptional; title: z.ZodOptional; slug: z.ZodOptional; goal: z.ZodOptional; execution_provider: z.ZodOptional>; mcp_servers: z.ZodOptional>; skills: z.ZodOptional>; plugins: z.ZodOptional>; config: z.ZodOptional>; custom_metadata: z.ZodOptional>; auto_compact_window: z.ZodOptional; }, "strip", z.ZodTypeAny, { agent_runtime?: string | undefined; skills?: string[] | undefined; plugins?: string[] | undefined; prompt?: string | undefined; title?: string | undefined; slug?: string | undefined; goal?: string | undefined; execution_provider?: "local_filesystem" | "remote_sandbox" | undefined; mcp_servers?: string[] | undefined; agent_root?: string | undefined; config?: Record | undefined; custom_metadata?: Record | undefined; auto_compact_window?: number | undefined; }, { agent_runtime?: string | undefined; skills?: string[] | undefined; plugins?: string[] | undefined; prompt?: string | undefined; title?: string | undefined; slug?: string | undefined; goal?: string | undefined; execution_provider?: "local_filesystem" | "remote_sandbox" | undefined; mcp_servers?: string[] | undefined; agent_root?: string | undefined; config?: Record | undefined; custom_metadata?: Record | undefined; auto_compact_window?: number | undefined; }>; export declare function startSessionTool(_server: Server, clientFactory: () => IAgentOrchestratorClient): { name: string; description: string; inputSchema: { type: "object"; properties: { agent_runtime: { type: string; description: string; }; prompt: { type: string; description: "Initial prompt for the agent. If provided, the agent job is automatically queued. Omit for a clone-only session."; }; agent_root: { type: string; description: "Agent root name from get_configs. The API resolves git_root, branch, subdirectory, default_model, and other defaults from the agent root configuration. Always pass this so the session inherits the correct repository, model, and settings."; }; title: { type: string; description: string; }; slug: { type: string; description: "URL-friendly identifier for the session. Must be unique."; }; goal: { type: string; description: "Goal ID from get_configs (e.g. \"pr_merged\"). The description is automatically resolved and passed to the agent as context."; }; execution_provider: { type: string; enum: string[]; description: "Execution environment. Options: \"local_filesystem\" (runs locally), \"remote_sandbox\" (runs in isolated sandbox). Default: \"local_filesystem\""; }; mcp_servers: { type: string; items: { type: string; }; description: "List of MCP server names to enable for this session. Example: [\"github-development\", \"slack\"]"; }; skills: { type: string; items: { type: string; }; description: "List of skill names to enable for this session. Always include the agent root's default_skills from get_configs as the starting point — omitting skills means the session gets none. Add extras as needed; removing a default should be rare and intentional. Example: [\"discovery-classify\", \"publish-and-pr\"]"; }; plugins: { type: string; items: { type: string; }; description: "List of plugin names to enable for this session. Plugins extend agent capabilities with additional integrations. Example: [\"my-plugin\"]"; }; config: { type: string; description: string; }; custom_metadata: { type: string; description: "User-defined metadata as a JSON object. Useful for tracking tickets, projects, etc."; }; auto_compact_window: { type: string; description: string; }; }; required: never[]; }; handler: (args: unknown) => Promise<{ content: { type: string; text: string; }[]; isError: boolean; } | { content: { type: string; text: string; }[]; isError?: undefined; }>; }; //# sourceMappingURL=start-session.d.ts.map