import type { RouteBindingManager } from '../../channels/index.js'; import type { CompanionChatManager } from '../../companion/companion-chat-manager.js'; import type { ConfigManager } from '../../config/manager.js'; import { type HomeGraphGroundingReader } from '../homeassistant-chat.js'; type JsonRecord = Record; interface HomeAssistantRouteContext { readonly configManager: Pick; readonly routeBindings: Pick; readonly chatManager: CompanionChatManager; readonly parseJsonBody: (req: Request) => Promise; readonly resolveDefaultProviderModel?: (() => { provider: string; model: string; } | null) | undefined; /** Optional home-graph reader so a turn can ground itself in its pre-registered space. */ readonly homeGraph?: HomeGraphGroundingReader | undefined; } export declare class HomeAssistantConversationRoutes { private readonly context; private readonly messageIndex; constructor(context: HomeAssistantRouteContext); handle(req: Request): Promise; private describeHealth; private submitConversation; private respondToSubmit; private streamConversation; /** * Cancel the in-flight turn for a Home Assistant conversation, the session * STAYS OPEN so the next utterance keeps its conversation context. (Before * the turns.cancel verb existed this closed the whole session: the only * available hammer, and the next message silently started a fresh session * with no memory of the exchange.) "Nothing running" is a success, the * user's intent (stop) is already true. The response contract is unchanged. */ private cancelConversation; private parseInput; /** * Read an optional grounding reference, the pre-registered home-graph * knowledge space / Home Assistant installation this turn should consult. * Accepts a nested `grounding` object or top-level `knowledgeSpaceId` / * `installationId` (with snake_case variants); returns undefined when neither * id is supplied, so an un-grounded turn stays un-grounded. */ private parseGroundingReference; private indexMessage; private readRemoteSessionTtlMs; } export {}; //# sourceMappingURL=homeassistant-routes.d.ts.map