import * as Effect from "effect/Effect"; import type { SuggestedAction } from "@agentxm/registry-protocol/unstable/suggested-action"; import { type OperationResolution, type Plan, type ResolvedUnit } from "@agentxm/workspace-kernel/operations"; import { Verbosity, type VerbosityLevel } from "./cli-flags/index.js"; import { Screen, type Doc, type Tone } from "./screen/index.js"; export interface AgentCoverageSummary { readonly agents: ReadonlyArray; readonly scope: "project" | "user"; } export declare const resolutionAgentCoverage: (resolution: OperationResolution) => AgentCoverageSummary | undefined; /** * The units of a settled operation that did not settle as planned, in ledger * order. An adapter reads them to offer a recovery that fits what actually * happened, rather than the same suggestion whatever the outcome. */ export declare const unsettledUnits: (resolution: OperationResolution) => ReadonlyArray>; export interface OperationDocOptions { readonly verbosity: VerbosityLevel; readonly message?: string; /** * The operation's one composed `Next` list, as the emit boundary folded and * scoped it for every channel; the view adds nothing to it. */ readonly suggestions?: ReadonlyArray; /** * The registered routes that take `--scope`, so a command the view itself * names is addressed to the workspace by the same rule as every suggestion. * Absent where no command tree is in context, and nothing is addressed. */ readonly scopedRoutes?: ReadonlySet; /** * Conditions the operation reports beside its ledger, such as a release-age * decision. They stand between the rows and the verdict, so `Next` is the * last thing a reader sees. */ readonly callouts?: Doc; } export declare const operationDoc: (resolution: OperationResolution, options: OperationDocOptions) => Doc; /** * The verdict and, when the outcome has one, its reason. A verdict after a * ledger is a bold toned line whose rows already carry their marks. A blocked * operation is waiting on a person, so its verdict is a callout that keeps its * attention mark and carries the reason beneath it, and the recoveries that * follow answer it; a problem with no ledger above it takes the same shape. */ export declare const verdictDoc: (verdict: { readonly ledger: boolean; readonly tone: Tone; readonly verdict: string; readonly aside: ReadonlyArray; readonly reason?: string; readonly blocked?: true; }) => Doc; export declare const planDoc: (plan: Plan, options: { readonly mode: "preview" | "apply"; readonly verbosity: VerbosityLevel; }) => Doc; /** Paint the planning-time orientation through the application-owned screen. */ export declare const presentPlan: (plan: Plan, options?: { readonly mode?: "preview" | "apply"; }) => Effect.Effect; //# sourceMappingURL=operation-view.d.ts.map