import type { CursorAgentPlatformOptions } from "@anysphere/cursor-sdk-local-runtime/run-store"; export interface SDKImageDimension { width: number; height: number; } export type SDKImage = { url: string; dimension?: SDKImageDimension; } | { data: string; mimeType: string; dimension?: SDKImageDimension; }; export interface SDKUserMessage { text: string; images?: SDKImage[]; } export type McpServerConfig = { type?: "stdio"; command: string; args?: string[]; env?: Record; cwd?: string; } | { type?: "http" | "sse"; url: string; headers?: Record; auth?: { CLIENT_ID: string; CLIENT_SECRET?: string; scopes?: string[]; }; }; export type SettingSource = "project" | "user" | "team" | "mdm" | "plugins" | "all"; export interface ModelParameterValue { id: string; value: string; } export interface ModelSelection { id: string; params?: ModelParameterValue[]; } export interface ModelParameterDefinition { id: string; displayName?: string; values: Array<{ value: string; displayName?: string; }>; } export interface ModelVariant { params: ModelParameterValue[]; displayName: string; description?: string; isDefault?: boolean; } export interface ModelListItem { id: string; displayName: string; description?: string; parameters?: ModelParameterDefinition[]; variants?: ModelVariant[]; } export interface AgentDefinition { description: string; prompt: string; model?: ModelSelection | "inherit"; mcpServers?: Array>; } export interface AgentOptions { /** * Model selection (`{ id, params? }`). Required for local agents; optional * for cloud (the server resolves the caller's configured default when * omitted). Use `Cursor.models.list()` to discover valid selections. */ model?: ModelSelection; apiKey?: string; /** * Optional human-readable name for the agent, surfaced as the `title` in * `Agent.list()` / `Agent.get()`. Cloud agents auto-generate a name from * the first prompt when this is omitted; local agents fall back to a * generic default. */ name?: string; local?: { cwd?: string | string[]; envVars?: Record; /** * Ambient Cursor settings layers to load from the local filesystem. * Local agents only. On cloud, `project` / `team` / `plugins` are * always on and `user` / `mdm` / `local` have no VM equivalent, so * this field is gated to the local shape. */ settingSources?: SettingSource[]; }; cloud?: { env?: { type: "cloud"; name?: string; } | { type: "pool"; name?: string; } | { type: "machine"; name?: string; }; repos?: Array<{ url: string; startingRef?: string; prUrl?: string; }>; workOnCurrentBranch?: boolean; autoCreatePR?: boolean; skipReviewerRequest?: boolean; }; mcpServers?: Record; agents?: Record; agentId?: string; resume?: string; platform?: CursorAgentPlatformOptions; } //# sourceMappingURL=options.d.ts.map