import type { Scope } from "../../hub/scope.js"; /** Minimal hub-query result. Only title is rendered by this adapter (nonGoal #3). */ export type HubResult = { title: string; }; /** * Injected hub-query function. * Production default: invokes the hub CLI via execa — the subprocess fully owns * any LLM calls, keeping the adapter thin (nonGoal #5). * Tests: pass a fake returning fixture HubResult objects without any subprocess. */ export type HubQuery = (scope: Scope) => Promise; /** * Type alias for the `prioritize` parameter in bot.ts. * Mirrors InboxCapture for the capture parameter. */ export type PrioritizeFn = HubQuery; /** * Production HubQuery — invokes the hub CLI in a subprocess via execa. * The subprocess fully owns the LLM and any model calls so the adapter * never constructs an LLM client (nonGoal #5). * * Scope → CLI command mapping: * general → node hub priority * filtered → node hub priority [--due N] [--domain D] [--tag T] * decision → node hub decide "optionA vs optionB" * * Parses `N. ` stdout lines into HubResult objects. * Exit code ≠ 0 throws (callers see the error in the Telegram reply via sendSafe). * * bober: one child process per bot command; swap for in-process * rankFindings + collectFindings if subprocess startup latency * exceeds acceptable Telegram response time under load. */ export declare function defaultPrioritize(scope: Scope): Promise<HubResult[]>; /** * Handle /today, /priority, and /decide X vs Y commands. * * 1. Parses an ephemeral Scope from (name, args) via parseScopeFromCommand. * 2. Calls the injected hub query with that scope. * 3. Returns a numbered list of finding titles in the hub's returned order. * * ORDER PRESERVED VERBATIM — the hub already ranked the findings; * this adapter must NOT re-sort (nonGoal #1). * * Returns a string for the caller to pass to sendSafe — no transport access here. * Unknown commands (parseScopeFromCommand returns null) return the Unknown-command stub. */ export declare function handlePrioritize(name: string, args: string, query?: HubQuery): Promise<string>; //# sourceMappingURL=prioritize.d.ts.map