/** * Public constants — MUST stay in sync with `Route` in `types.ts`. * * The label prefix passed to Jina (zero-shot) and the canonical name a * few-shot classifier MUST be trained against share the same literal * values as the `Route` union ("NONE" | "WORLD_ONLY" | "EXPERIENCE_ONLY" * | "ALL"). If they diverged, the classifier path would always fall back * to "ALL" because `isKnownRoute` would reject the predicted label. */ export declare const ROUTE_NONE = "NONE"; export declare const ROUTE_WORLD_ONLY = "WORLD_ONLY"; export declare const ROUTE_EXPERIENCE_ONLY = "EXPERIENCE_ONLY"; export declare const ROUTE_ALL = "ALL"; /** * Binary labels (NONE / ALL) used by default. * * The dominant value of the router for Hindsight is the NONE decision: * skipping recall on heartbeats, agent meta-questions, and test pings. * Distinguishing WORLD vs EXPERIENCE is a refinement that requires a * deliberately trained few-shot classifier (or a custom label list) to * be reliable — zero-shot with 4 fuzzy semantic classes drops in * precision on short FR prompts. * * When an operator wants finer routing, they pass `routes: 4` (which * uses {@link DEFAULT_ROUTER_LABELS_4}) or a fully custom * `recallRouter.labels` array. */ export declare const DEFAULT_ROUTER_LABELS_2: readonly string[]; /** * Fine-grained 4-class labels for operators who explicitly opt in to * narrower routing. Selecting `routes: 4` or passing custom labels enables * separate WORLD_ONLY and EXPERIENCE_ONLY decisions. */ export declare const DEFAULT_ROUTER_LABELS_4: readonly string[]; /** * Backward-compatible alias. Existing callers can keep importing * `DEFAULT_ROUTER_LABELS` and get the 2-class default. */ export declare const DEFAULT_ROUTER_LABELS: readonly string[]; /** * The label names that the classifier may legitimately return. * Used by the defensive parser to refuse hallucinated classes. */ export declare const ROUTER_LABEL_NAMES: readonly string[]; /** * Extract the route name from a full label string (the part before the * colon). Returns `null` when the label is malformed. * * @internal exported for unit testing */ export declare function extractRouteFromLabel(label: string): string | null;