import { MeshAgent } from "@cotal-ai/connector-core"; import type { Plugin } from "@opencode-ai/plugin"; /** The machine-stable half of the retirement line. The suite asserts on THIS, never on the sentence * around it: a guard keyed on human prose dies the first time someone rewords a log message, and it * dies silently, which is the failure mode a guard exists to prevent. Reword the sentence freely; * do not change this token without updating the cells that import it. */ export declare const SESSION_RETIRED = "opencode-session-retired"; /** A bounded wait gave up. Exported so a cell keys on the token rather than on the sentence. */ export declare const SETTLE_ABANDONED = "opencode-settle-abandoned"; /** A retired session's write-ahead log was removed. Exported for the same reason as the two above: * a cell keys on the token, never on the sentence around it. */ export declare const WAL_REAPED = "opencode-wal-reaped"; /** A retired session's write-ahead log was KEPT, and the line says which of the reasons applied. * This is the token the reaping cell grades, because the lifetime is the claim and the deletion is * only the easy half of it. */ export declare const WAL_KEPT = "opencode-wal-kept"; /** The shared shape of a pre-join model refusal: `": . Refusing before join"`. * Exported so the 2.x adapter's own check (a different route, `/api/model`) produces the same * sentence shape as `verifyServerModel` below without duplicating it. */ export declare function modelRefusalSentence(selectedModel: string, detail: string): string; export declare function verifyServerModel(serverUrl: string, serverAuth: string, selectedModel: string): Promise; /** * Races `work` against a `ms` timeout so a stuck settle is abandoned out loud rather than waited on * forever (see the note at its call sites in `quiesce`). Exported: the 2.x adapter's own teardown * uses the same bounded-settle shape rather than a second copy of it. */ declare function settleWithin(work: Promise | undefined, ms: number, what: string): Promise; export { settleWithin }; /** * The buffered-inbox + pending-run-turn composition that goes out ahead of a native prompt. Shared * by the 1.x text-part mutator (`injectIntoPrompt` below) and the 2.x `session.hook("prompt")` * mutator, so the two callers cannot drift on what "inject" means. Returns `undefined` when there is * nothing to prepend. */ export declare function computeInjection(agent: MeshAgent): { prefix: string; surfacedIds: string[]; turnIds: string[]; } | undefined; export declare const cotal: Plugin; //# sourceMappingURL=plugin.d.ts.map