/** * Output channels for follow-up calls, declared once for every runtime and * consumer: * - `next` holds pages: continuations that reach unshown data of the same * result (more pages, clipped values of shown rows, a stale-snapshot * restart, an identical re-run after a transient failure). A response is * incomplete without them. * - `hints` is one object of optional agent guidance: prose tips under * `text`, and lead calls (alternative or follow-up queries) by name. * * Native generates its classifier from this table (via the enforcement * contract); harness and benchmark import it from `@octocodeai/config/schema`. */ export declare const CONTINUATION_CHANNELS: { readonly pagesKey: "next"; readonly hintsKey: "hints"; readonly hintTextKey: "text"; /** Name prefixes of pages; the prefix ends the name or precedes a capital. */ readonly pagePrefixes: readonly ["next", "continue", "expand", "restart"]; /** * Page prefixes that continue after the evidence a row shows; a split * row's last part carries them. Other pages re-run the shown result, with * one name carrying two meanings by tool: `expandScan` in structureSearch * and astSearch resumes after the rows already listed (its query carries * `scanOffset`, so append its rows), while astTopology's rebuilds the * whole graph and replaces every row of the narrower scan (its query * carries `supersedes`, so discard the earlier rows). A walker tells them * apart by which field the query carries; both ride the last page. */ readonly resumePrefixes: readonly ["next", "continue"]; /** * Page prefixes that start the result over (a stale snapshot): nothing of * the shown result remains, so they never mark a row partial. */ readonly restartPrefixes: readonly ["restart"]; /** * Exact names of pages without a page prefix. Reads of evidence a row * withholds (a capped file's hits or body, a clipped line, narrowed * patches) are pages too: the unread rest of the result, never capped. */ readonly pageNames: readonly ["retry", "searchUnpatchedFile", "readBoundedLines", "readDeclaration", "readFullPatches", "readHits", "wholeLines"]; /** Leads kept only on an empty or failed row: recovery routes. */ readonly recoveryLeads: readonly ["findFile", "viewRefs", "viewTree"]; /** * Leads a capped `hints` object keeps first, in this order: they bring * evidence the row cannot show (merged source), or screen a wide semantic * page the top-hit reads cannot cover (clasify). Unlisted leads follow in * the order the tool emitted them, so a tool ranks its own. */ readonly leadPriority: readonly ["readAtMerge", "clasify"]; /** * Every continuation kind the runtime emits, by channel. A tool's entry * named after itself resumes its own walk (clasify's `next.clasify`) and * is a page; the same name on another tool is a lead (a handoff). A name * ending in digits repeats its kind (`readHits2` is a `readHits`). */ readonly kinds: { readonly pages: readonly ["nextPage", "nextMatchPage", "nextDiagnosticPage", "nextFilePage", "nextCommentPage", "nextReviewPage", "nextCommitPage", "nextImporterPage", "continue", "continuePatch", "continueWalk", "continueMaterialize", "continueBody", "continueBlock", "continueReviewBody", "continueCommentBody", "expandScan", "expandCaptures", "expandValues", "expandDepth", "expandContext", "expandDates", "expandFeatures", "restart", "restartDiagnostics", "retry", "searchUnpatchedFile", "readBoundedLines", "readDeclaration", "readFullPatches", "readHits", "wholeLines"]; readonly leads: readonly ["apply", "binarySkipped", "broadenSearch", "callers", "clasify", "countFiles", "didYouMean", "exploreClone", "findFile", "findPullRequest", "findRepository", "ignoreCase", "includeArchived", "includeBots", "includeHidden", "includeIgnored", "narrowScope", "read", "readAtCommit", "readAtMerge", "readBlock", "readBody", "readCommentCode", "readCommit", "readDiagnostics", "readDiscussion", "readFiles", "readIssue", "readIssueLinks", "readMergeCommit", "readParent", "readPatches", "readPullRequest", "readRawBody", "readSelectedPatches", "readUntrimmed", "references", "repair", "retrySuffixMatch", "searchCode", "textSearch", "verify", "viewRefs", "viewReleaseSource", "viewRepo", "viewTree", "widenContext"]; }; }; export type ContinuationChannel = "page" | "lead"; /** The channel of continuation `name` emitted by `tool`. */ export declare function continuationChannel(tool: string, name: string): ContinuationChannel;