/** * `@github/copilot` normalizer — ADR 0062 slice 3, reference dialect A. * * Copilot runs in-process through `copilot-sdk`: the mind source is its own * `SessionEvent` stream (`session.on(...)`, or the `events.jsonl` transcript it * writes), and restore is the SDK's `resumeSession(id)` (the `sessionFsProvider` * seam is the same call under a different persistence root, so the resume shim is * identical). Copilot both streams and resumes-by-id → it advertises * `durable-resume`. * * ## Resume-critical fidelity: `reasoningOpaque` * * ADR 0062 §5 lets a native adapter *prefer the native transcript for restore* * when it carries more than the ACP models. Copilot's reasoning events carry a * `reasoningOpaque` blob — the provider reasoning-continuation handle that must * be replayed verbatim to continue the model's reasoning across a resume. The * canonical `ReasoningEvent` has a home for exactly this (`providerContinuation`), * so we map it straight through, untouched. Dropping it (as a lossy ACP * projection might) would silently break reasoning continuation on resume — so * this dialect is the authoritative ingestion path for Copilot. */ import type { HarnessNormalizer } from "./types.ts"; /** * The `@github/copilot` fallback normalizer. `streaming`/`resumeById` are both * true, so {@link capabilityProbe} derives `durable-resume: true`. */ export declare const copilotNormalizer: HarnessNormalizer;