/** * Information about a single route in the host application */ export type RouteInfo = { /** The route path, e.g., "/dashboard" or "/posts/[id]" */ path: string; /** Human-readable title extracted from page metadata */ title?: string; /** Description extracted from page metadata */ description?: string; /** * Marks this route as able to perform a free-text search. When set, the * assistant prefers navigating here (with `queryParam` set to the user's * search terms) over rendering results inside the chat — e.g. * `{ queryParam: "q" }` lets "show me boots" drive `/search?q=boots`. */ search?: RouteSearch; /** * Query-param filters this route accepts (for listing/category pages). The * assistant only ever sets params declared here and never invents others, so * "size 10 boots" can drive `/products?size=10` reliably. */ filters?: RouteFilter[]; }; /** Free-text search capability for a {@link RouteInfo}. */ export type RouteSearch = { /** Query-string parameter that carries the search terms, e.g. "q". */ queryParam: string; }; /** A single query-param filter a {@link RouteInfo} accepts. */ export type RouteFilter = { /** The query-string parameter name, e.g. "size" or "color". */ param: string; /** Optional human description of what the filter does. */ description?: string; /** * Optional allowed values. Providing them helps the assistant map natural * language onto valid params (e.g. "size 10" → `size=10`). */ values?: string[]; }; /** * Manifest of all routes that can be shared with Yak */ export type RouteManifest = { /** List of all discovered routes */ routes: RouteInfo[]; /** ISO timestamp when the manifest was generated */ generated_at: string; /** Optional metadata about which adapters produced the routes */ sources?: Array<{ id: string; count: number; }>; }; //# sourceMappingURL=routes.d.ts.map