/** * Guided integration router — Phase 1. * * Maps a developer's free-form intent (e.g. "test my stripe integration" * or "help me set up Paddle subscriptions") to a concrete spec + workflow * + optional failure scenario. Used when the user doesn't name an exact * workflow but wants the right Tier-1 default for their goal. * * Phase 1 is routing-only — returns the resolved triple without running * the workflow. Sessions, branching, evidence canvas come in Phase 2+ * (see docs/guided-integration-experience-2026-05-20.md). * * Calls POST /api/mcp/route on the backend. The backend reads the * spec configs deterministically — no LLM in the routing path, so demos * are reproducible. */ export interface GuideInput { intent: string; /** Repo signals. Filled in automatically from the project the MCP server is * running in; a caller may override to force the disambiguation. */ context?: Record; hints?: { spec?: string; workflow?: string; scenario?: string; }; } export interface GuideResponse { spec: string | null; workflow: string | null; scenario: string | null; confidence: number; reasoning: string; matched_signals: string[]; /** * Phase 1.5: when the routed spec has a brain.yaml (currently stripe * only — Tier-1 specs will be backfilled), the first discovery * question is included so the LLM client can ask the dev WITHOUT a * second router round-trip. Shape mirrors the brain.yaml schema: * { id, question, options: [{value, label, implies?}], default? } * or for tiered questions: * { id, question, tiers: [{label, scenarios}], default_tier? } * Null when no brain exists for the spec. */ next_question?: Record | null; } export declare const guideTool: { name: string; description: string; inputSchema: { type: string; properties: { intent: { type: string; description: string; }; hints: { type: string; description: string; properties: { spec: { type: string; description: string; }; workflow: { type: string; description: string; }; scenario: { type: string; description: string; }; }; }; }; required: string[]; }; }; export declare function runGuide(input: GuideInput): Promise;