/** * Emission of the publish result document. * * The `publish-result-v3` contract, its counts, and its execution status are * owned by `@agentxm/workspace-features/publishing`; this module renders that outcome — * machine document or human view — and summarizes it for telemetry. */ import * as Effect from "effect/Effect"; import { type PublishResult } from "@agentxm/workspace-features/publishing"; import { type SuggestedAction } from "@agentxm/registry-protocol/unstable/suggested-action"; import { Verbosity } from "../../cli-flags/index.js"; import { type SubjectType } from "../../cli-runtime/index.js"; /** Settle narration before emitting the complete publication result. */ export declare const emitPublishResult: (result: PublishResult, options: { readonly exitCode: number; readonly elapsedMs?: number; readonly suggestions?: ReadonlyArray; readonly withoutSuggestions?: boolean; }) => Effect.Effect; /** * Convert a PublishResult to a CommandOutcomeSummary for telemetry. * * Outcome distinguishes applied, partial, failed, blocked and untouched work. * * Unconfirmed work is not "touched nothing": an indeterminate upload joins the * failed bucket because its settlement is unproven and needs attention, and an * item that never left the process joins the blocked bucket. Either keeps the * run out of `no-op`. An interrupted run still reports `interrupted`. */ export declare const publishResultToSummary: (result: PublishResult) => { outcome: "blocked" | "failed" | "interrupted" | "previewed" | "applied" | "no-op" | "partial"; subjectType: SubjectType; sourceKind: "workspace"; appliedCount: number; failedCount: number; blockedCount: number; }; //# sourceMappingURL=result.d.ts.map