/** * Plan-family machine document (`plan-result-v4`) and the emit boundary. * * `emitOperationResolution` is the one place a plan-family command terminates: * it derives the outcome and exit code from the resolution with the shared * pure derivations, records completion semantics for telemetry, emits the * machine document, and projects the human render. No channel re-derives its * own account of what happened. */ import * as Effect from "effect/Effect"; import * as Schema from "effect/Schema"; import { Verbosity } from "./cli-flags/index.js"; import { type SuggestedAction } from "@agentxm/registry-protocol/unstable/suggested-action"; import { type CommandOutcomeSummary, type SourceKind, type SubjectType } from "./cli-runtime/index.js"; import { OperationLifecycle, type ConfirmationRecovery, type FailureSuggestedAction, type OperationOutcome, type OperationResolution, type ResolvedUnit } from "@agentxm/workspace-kernel/operations"; import { type TargetedUpdatePublicContext } from "@agentxm/workspace-kernel/resolution"; import { type Doc } from "./screen/index.js"; export declare const PLAN_RESULT_CONTRACT = "plan-result-v4"; export declare const AgentCoverageSchema: Schema.Struct<{ readonly scope: Schema.Literals; readonly agents: Schema.$Array; }>; export type AgentCoverage = typeof AgentCoverageSchema.Type; export declare const PlanResolutionResultSchema: Schema.Struct<{ readonly contract: Schema.Literal<"plan-result-v4">; readonly outcome: Schema.Literals; readonly mode: Schema.Literals; readonly planName: Schema.String; readonly planDescription: Schema.optional; readonly candidateId: Schema.optional; readonly message: Schema.optional; readonly atomicity: Schema.Struct<{ readonly declared: Schema.Literals; readonly applied: Schema.Literals; }>; readonly blocking: Schema.optional; readonly subject: Schema.String; readonly phase: Schema.Literals; readonly detail: Schema.String; readonly causeCode: Schema.optional>; readonly reference: Schema.optional; readonly escape: Schema.optional; readonly url: Schema.optional; }>>; }>>; readonly failure: Schema.optional; readonly title: Schema.optional; readonly message: Schema.String; readonly problem: Schema.optional; readonly path: Schema.String; readonly observedVersion: Schema.Int; readonly supportedVersion: Schema.Int; readonly direction: Schema.Literals; }>]>>; readonly metadata: Schema.optional; readonly url: Schema.String; }>>; readonly response: Schema.optional; readonly problemCode: Schema.optional; readonly body: Schema.optional; }>>; readonly requestPolicy: Schema.optional>; readonly replaySafety: Schema.Literals; }>>; }>>; readonly retryable: Schema.optional; readonly causes: Schema.optional>; readonly message: Schema.String; readonly stack: Schema.optional; }>>>; }>>; readonly interruption: Schema.optional; readonly disposition: Schema.Literals; }>>; readonly divergence: Schema.optional; readonly counts: Schema.Struct<{ readonly total: Schema.Number; readonly planned: Schema.Number; readonly ready: Schema.Number; readonly committed: Schema.Number; readonly unchanged: Schema.Number; readonly failed: Schema.Number; readonly rolledBack: Schema.Number; readonly blocked: Schema.Number; readonly skipped: Schema.Number; readonly cancelled: Schema.Number; readonly interrupted: Schema.Number; readonly warnings: Schema.Number; }>; readonly units: Schema.$Array; readonly disposition: Schema.optional>; readonly blocking: Schema.optional; readonly subject: Schema.String; readonly phase: Schema.Literals; readonly detail: Schema.String; readonly causeCode: Schema.optional>; readonly reference: Schema.optional; readonly escape: Schema.optional; readonly url: Schema.optional; }>>; }>>; readonly message: Schema.optional; readonly warnings: Schema.optional>; readonly code: Schema.optional; readonly error: Schema.optional; readonly title: Schema.optional; readonly message: Schema.String; readonly problem: Schema.optional; readonly path: Schema.String; readonly observedVersion: Schema.Int; readonly supportedVersion: Schema.Int; readonly direction: Schema.Literals; }>]>>; readonly metadata: Schema.optional; readonly url: Schema.String; }>>; readonly response: Schema.optional; readonly problemCode: Schema.optional; readonly body: Schema.optional; }>>; readonly requestPolicy: Schema.optional>; readonly replaySafety: Schema.Literals; }>>; }>>; readonly retryable: Schema.optional; readonly causes: Schema.optional>; readonly message: Schema.String; readonly stack: Schema.optional; }>>>; }>>; readonly artifact: Schema.optional; readonly address: Schema.Union; readonly path: Schema.String; }>, Schema.Struct<{ readonly kind: Schema.Literal<"key-path">; readonly path: Schema.String; readonly keys: Schema.NonEmptyArray; }>, Schema.Struct<{ readonly kind: Schema.Literal<"region">; readonly path: Schema.String; readonly region: Schema.String; }>, Schema.Struct<{ readonly kind: Schema.Literal<"file">; readonly path: Schema.String; }>]>; readonly aliases: Schema.$Array; readonly configuredConsumers: Schema.$Array; readonly potentialReaders: Schema.$Array; readonly policyReasons: Schema.$Array; readonly ownership: Schema.Literals; readonly proof: Schema.optional; readonly state: Schema.Literals; readonly mechanism: Schema.optional>; readonly availability: Schema.$Array; readonly reason: Schema.optional; }>>; readonly reason: Schema.optional; }>>>; readonly path: Schema.optional; readonly scope: Schema.Literals; readonly agents: Schema.optional>; readonly version: Schema.optional; readonly change: Schema.Literals; readonly mechanism: Schema.optional>; readonly previousVersion: Schema.optional; readonly fileCount: Schema.optional; readonly targets: Schema.optional; readonly agentIds: Schema.optional>; readonly unitId: Schema.optional; readonly owner: Schema.optional; readonly entryName: Schema.optional; }>>>; readonly references: Schema.optional; readonly reason: Schema.String; readonly unitId: Schema.optional; readonly owner: Schema.optional; }>>>; readonly agentOutcomes: Schema.optional; readonly name: Schema.String; readonly agentId: Schema.String; readonly outcome: Schema.Literals; readonly reasonCode: Schema.String; readonly reason: Schema.String; readonly mechanism: Schema.optional; readonly path: Schema.optional; readonly nativeUnitKeys: Schema.optional>; readonly hook: Schema.optionalKey; readonly runtime: Schema.String; readonly entrypoint: Schema.String; readonly requiredOutcomes: Schema.$Array; readonly requiredOperations: Schema.$Array; }>>; readonly conditions: Schema.$Array; readonly configuration: Schema.Struct<{ readonly status: Schema.Literals; readonly fields: Schema.$Array; readonly value: Schema.NullOr>; readonly redacted: Schema.Boolean; }>>; readonly issues: Schema.$Array>; }>; readonly runtimeAvailability: Schema.Literal<"unverified">; readonly nativeInvocation: Schema.Literal<"not-observed">; readonly fixtureEvidence: Schema.Struct<{ readonly state: Schema.Literals; readonly receipt: Schema.optionalKey; readonly package: Schema.String; readonly version: Schema.String; readonly contentHash: Schema.String; readonly configurationHash: Schema.String; readonly startedAt: Schema.Number; readonly completedAt: Schema.Number; readonly cwd: Schema.Literal<"package-root">; readonly scope: Schema.Literals; readonly platform: Schema.Struct<{ readonly os: Schema.String; readonly architecture: Schema.String; }>; readonly environment: Schema.$Array; readonly environmentFreshness: Schema.Literal<"historical-only">; readonly nativeInvocation: Schema.Literal<"not-observed">; readonly sandboxed: Schema.Literal; readonly fixtures: Schema.$Array; readonly outcome: Schema.Literals; readonly expectedExitCode: Schema.Number; readonly observedExitCode: Schema.NullOr; readonly stdoutMatches: Schema.NullOr; readonly stderrMatches: Schema.NullOr; readonly detail: Schema.String; }>>; readonly passed: Schema.Boolean; readonly receiptPath: Schema.String; }>>; readonly reason: Schema.String; }>; }>>; }>>>; readonly source: Schema.optional; readonly directory: Schema.optional; readonly gitTreeHash: Schema.optional; }>>; readonly managedRegions: Schema.optional>>; readonly packMembership: Schema.optional, Schema.Struct<{ readonly member: Schema.String; readonly before: Schema.String; readonly after: Schema.Null; }>, Schema.Struct<{ readonly member: Schema.String; readonly before: Schema.String; readonly after: Schema.String; }>]>>; }>>; readonly registryLifecycle: Schema.optional; readonly reason: Schema.optional; }>>; readonly deprecation: Schema.optional; readonly reason: Schema.Literal<"superseded">; readonly message: Schema.optional; readonly replacement: Schema.Union; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"obsolete">; readonly message: Schema.String; readonly replacement: Schema.optional; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"unmaintained">; readonly message: Schema.optional; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"other">; readonly message: Schema.String; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>]>>; }>>; readonly sourceSwitch: Schema.optional; readonly locator: Schema.String; readonly resolution: Schema.String; readonly treeIntegrity: Schema.String; }>; readonly after: Schema.Struct<{ readonly family: Schema.Literals; readonly locator: Schema.String; readonly resolution: Schema.String; readonly treeIntegrity: Schema.String; }>; readonly content: Schema.Literals; readonly dependencies: Schema.Struct<{ readonly effect: Schema.Literals; readonly added: Schema.$Array; readonly removed: Schema.$Array; readonly changed: Schema.$Array; }>; readonly projections: Schema.Struct<{ readonly effect: Schema.Literal<"reconcile">; readonly detail: Schema.String; }>; readonly guarantees: Schema.Struct<{ readonly gained: Schema.$Array; readonly lost: Schema.$Array; }>; readonly packMembers: Schema.optional; readonly before: Schema.optional; readonly locator: Schema.String; readonly resolution: Schema.String; }>>; readonly after: Schema.optional; readonly locator: Schema.String; readonly resolution: Schema.String; }>>; }>>>; }>>; }>>; readonly agentOutcomes: Schema.optional; readonly name: Schema.String; readonly agentId: Schema.String; readonly outcome: Schema.Literals; readonly reasonCode: Schema.String; readonly reason: Schema.String; readonly mechanism: Schema.optional; readonly path: Schema.optional; readonly nativeUnitKeys: Schema.optional>; readonly hook: Schema.optionalKey; readonly runtime: Schema.String; readonly entrypoint: Schema.String; readonly requiredOutcomes: Schema.$Array; readonly requiredOperations: Schema.$Array; }>>; readonly conditions: Schema.$Array; readonly configuration: Schema.Struct<{ readonly status: Schema.Literals; readonly fields: Schema.$Array; readonly value: Schema.NullOr>; readonly redacted: Schema.Boolean; }>>; readonly issues: Schema.$Array>; }>; readonly runtimeAvailability: Schema.Literal<"unverified">; readonly nativeInvocation: Schema.Literal<"not-observed">; readonly fixtureEvidence: Schema.Struct<{ readonly state: Schema.Literals; readonly receipt: Schema.optionalKey; readonly package: Schema.String; readonly version: Schema.String; readonly contentHash: Schema.String; readonly configurationHash: Schema.String; readonly startedAt: Schema.Number; readonly completedAt: Schema.Number; readonly cwd: Schema.Literal<"package-root">; readonly scope: Schema.Literals; readonly platform: Schema.Struct<{ readonly os: Schema.String; readonly architecture: Schema.String; }>; readonly environment: Schema.$Array; readonly environmentFreshness: Schema.Literal<"historical-only">; readonly nativeInvocation: Schema.Literal<"not-observed">; readonly sandboxed: Schema.Literal; readonly fixtures: Schema.$Array; readonly outcome: Schema.Literals; readonly expectedExitCode: Schema.Number; readonly observedExitCode: Schema.NullOr; readonly stdoutMatches: Schema.NullOr; readonly stderrMatches: Schema.NullOr; readonly detail: Schema.String; }>>; readonly passed: Schema.Boolean; readonly receiptPath: Schema.String; }>>; readonly reason: Schema.String; }>; }>>; }>>>; readonly registryLifecycle: Schema.optional; readonly reason: Schema.optional; }>>; readonly deprecation: Schema.optional; readonly reason: Schema.Literal<"superseded">; readonly message: Schema.optional; readonly replacement: Schema.Union; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"obsolete">; readonly message: Schema.String; readonly replacement: Schema.optional; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"unmaintained">; readonly message: Schema.optional; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"other">; readonly message: Schema.String; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>]>>; }>>; readonly links: Schema.optional>; }>>; readonly nativeLocations: Schema.$Array; readonly address: Schema.Union; readonly path: Schema.String; }>, Schema.Struct<{ readonly kind: Schema.Literal<"key-path">; readonly path: Schema.String; readonly keys: Schema.NonEmptyArray; }>, Schema.Struct<{ readonly kind: Schema.Literal<"region">; readonly path: Schema.String; readonly region: Schema.String; }>, Schema.Struct<{ readonly kind: Schema.Literal<"file">; readonly path: Schema.String; }>]>; readonly aliases: Schema.$Array; readonly configuredConsumers: Schema.$Array; readonly potentialReaders: Schema.$Array; readonly policyReasons: Schema.$Array; readonly ownership: Schema.Literals; readonly proof: Schema.optional; readonly state: Schema.Literals; readonly mechanism: Schema.optional>; readonly availability: Schema.$Array; readonly reason: Schema.optional; }>>; readonly reason: Schema.optional; }>>; readonly nativeLocationCounts: Schema.Struct<{ readonly units: Schema.Number; readonly physicalLocations: Schema.Number; readonly configuredConsumers: Schema.Number; readonly changed: Schema.Number; readonly retained: Schema.Number; readonly blocked: Schema.Number; readonly unverified: Schema.Number; }>; readonly footprint: Schema.optional; }>>>; readonly recovery: Schema.optional; readonly entries: Schema.$Array; }>>; readonly snapshotDir: Schema.optional; readonly actions: Schema.$Array; readonly url: Schema.optional; }>>; }>>; readonly evaluatedAt: Schema.optional; readonly holdbackCount: Schema.optional; readonly holdbacks: Schema.optional; readonly target: Schema.String; readonly dependencyPath: Schema.$Array; readonly requestedRange: Schema.optional; readonly currentVersion: Schema.optional; readonly selectedVersion: Schema.optional; readonly candidateVersion: Schema.String; readonly publishedAt: Schema.String; readonly eligibleAt: Schema.String; readonly minimumReleaseAgeSeconds: Schema.Number; readonly bypassCause: Schema.optional>; readonly exemptionScope: Schema.optional>; }>>>; readonly releaseAgeBypassCount: Schema.optional; readonly releaseAgeBypasses: Schema.optional; readonly target: Schema.String; readonly dependencyPath: Schema.$Array; readonly requestedRange: Schema.optional; readonly currentVersion: Schema.optional; readonly selectedVersion: Schema.optional; readonly candidateVersion: Schema.String; readonly publishedAt: Schema.String; readonly eligibleAt: Schema.String; readonly minimumReleaseAgeSeconds: Schema.Number; readonly bypassCause: Schema.optional>; readonly exemptionScope: Schema.optional>; }>>>; readonly imports: Schema.optional>; readonly preconditions: Schema.optional; readonly detail: Schema.optional; readonly blockedOn: Schema.optional>; readonly command: Schema.optional; }>>>; readonly riskConditions: Schema.optional; readonly id: Schema.String; readonly detail: Schema.String; readonly consent: Schema.optional>; }>, Schema.Struct<{ readonly level: Schema.Literal<"override-required">; readonly id: Schema.String; readonly policy: Schema.Literals; readonly requiredFlag: Schema.String; readonly detail: Schema.String; }>, Schema.Struct<{ readonly level: Schema.Literal<"blocked">; readonly id: Schema.String; readonly detail: Schema.String; readonly errorCode: Schema.Literals; }>]>>>; readonly agentCoverage: Schema.optional; readonly agents: Schema.$Array; }>>; readonly targetedUpdate: Schema.optional; readonly name: Schema.String; readonly fqn: Schema.String; }>; readonly ownership: Schema.Literals; readonly activation: Schema.Literals; readonly authority: Schema.Literals; readonly direct: Schema.optional; readonly enabled: Schema.Boolean; readonly constraint: Schema.optional; }>>; readonly packs: Schema.$Array; readonly source: Schema.optional>; readonly memberSource: Schema.Literals; readonly constraint: Schema.String; readonly enabled: Schema.Boolean; }>>; readonly effectiveConstraint: Schema.optional; readonly memberClosure: Schema.$Array; readonly name: Schema.String; readonly fqn: Schema.String; }>>; readonly effects: Schema.Struct<{ readonly settings: Schema.Literals; readonly acceptedResolution: Schema.Literals; readonly canonical: Schema.Literals; readonly projection: Schema.Literals; readonly packRoot: Schema.Literals; readonly packManifest: Schema.Literals; }>; readonly relevantProblems: Schema.$Array; readonly blocker: Schema.optional>; }>>; }>; export type PlanResolutionResult = typeof PlanResolutionResultSchema.Type; export declare const PlanResolutionDocumentSchema: Schema.Struct<{ result: Schema.Struct<{ readonly contract: Schema.Literal<"plan-result-v4">; readonly outcome: Schema.Literals; readonly mode: Schema.Literals; readonly planName: Schema.String; readonly planDescription: Schema.optional; readonly candidateId: Schema.optional; readonly message: Schema.optional; readonly atomicity: Schema.Struct<{ readonly declared: Schema.Literals; readonly applied: Schema.Literals; }>; readonly blocking: Schema.optional; readonly subject: Schema.String; readonly phase: Schema.Literals; readonly detail: Schema.String; readonly causeCode: Schema.optional>; readonly reference: Schema.optional; readonly escape: Schema.optional; readonly url: Schema.optional; }>>; }>>; readonly failure: Schema.optional; readonly title: Schema.optional; readonly message: Schema.String; readonly problem: Schema.optional; readonly path: Schema.String; readonly observedVersion: Schema.Int; readonly supportedVersion: Schema.Int; readonly direction: Schema.Literals; }>]>>; readonly metadata: Schema.optional; readonly url: Schema.String; }>>; readonly response: Schema.optional; readonly problemCode: Schema.optional; readonly body: Schema.optional; }>>; readonly requestPolicy: Schema.optional>; readonly replaySafety: Schema.Literals; }>>; }>>; readonly retryable: Schema.optional; readonly causes: Schema.optional>; readonly message: Schema.String; readonly stack: Schema.optional; }>>>; }>>; readonly interruption: Schema.optional; readonly disposition: Schema.Literals; }>>; readonly divergence: Schema.optional; readonly counts: Schema.Struct<{ readonly total: Schema.Number; readonly planned: Schema.Number; readonly ready: Schema.Number; readonly committed: Schema.Number; readonly unchanged: Schema.Number; readonly failed: Schema.Number; readonly rolledBack: Schema.Number; readonly blocked: Schema.Number; readonly skipped: Schema.Number; readonly cancelled: Schema.Number; readonly interrupted: Schema.Number; readonly warnings: Schema.Number; }>; readonly units: Schema.$Array; readonly disposition: Schema.optional>; readonly blocking: Schema.optional; readonly subject: Schema.String; readonly phase: Schema.Literals; readonly detail: Schema.String; readonly causeCode: Schema.optional>; readonly reference: Schema.optional; readonly escape: Schema.optional; readonly url: Schema.optional; }>>; }>>; readonly message: Schema.optional; readonly warnings: Schema.optional>; readonly code: Schema.optional; readonly error: Schema.optional; readonly title: Schema.optional; readonly message: Schema.String; readonly problem: Schema.optional; readonly path: Schema.String; readonly observedVersion: Schema.Int; readonly supportedVersion: Schema.Int; readonly direction: Schema.Literals; }>]>>; readonly metadata: Schema.optional; readonly url: Schema.String; }>>; readonly response: Schema.optional; readonly problemCode: Schema.optional; readonly body: Schema.optional; }>>; readonly requestPolicy: Schema.optional>; readonly replaySafety: Schema.Literals; }>>; }>>; readonly retryable: Schema.optional; readonly causes: Schema.optional>; readonly message: Schema.String; readonly stack: Schema.optional; }>>>; }>>; readonly artifact: Schema.optional; readonly address: Schema.Union; readonly path: Schema.String; }>, Schema.Struct<{ readonly kind: Schema.Literal<"key-path">; readonly path: Schema.String; readonly keys: Schema.NonEmptyArray; }>, Schema.Struct<{ readonly kind: Schema.Literal<"region">; readonly path: Schema.String; readonly region: Schema.String; }>, Schema.Struct<{ readonly kind: Schema.Literal<"file">; readonly path: Schema.String; }>]>; readonly aliases: Schema.$Array; readonly configuredConsumers: Schema.$Array; readonly potentialReaders: Schema.$Array; readonly policyReasons: Schema.$Array; readonly ownership: Schema.Literals; readonly proof: Schema.optional; readonly state: Schema.Literals; readonly mechanism: Schema.optional>; readonly availability: Schema.$Array; readonly reason: Schema.optional; }>>; readonly reason: Schema.optional; }>>>; readonly path: Schema.optional; readonly scope: Schema.Literals; readonly agents: Schema.optional>; readonly version: Schema.optional; readonly change: Schema.Literals; readonly mechanism: Schema.optional>; readonly previousVersion: Schema.optional; readonly fileCount: Schema.optional; readonly targets: Schema.optional; readonly agentIds: Schema.optional>; readonly unitId: Schema.optional; readonly owner: Schema.optional; readonly entryName: Schema.optional; }>>>; readonly references: Schema.optional; readonly reason: Schema.String; readonly unitId: Schema.optional; readonly owner: Schema.optional; }>>>; readonly agentOutcomes: Schema.optional; readonly name: Schema.String; readonly agentId: Schema.String; readonly outcome: Schema.Literals; readonly reasonCode: Schema.String; readonly reason: Schema.String; readonly mechanism: Schema.optional; readonly path: Schema.optional; readonly nativeUnitKeys: Schema.optional>; readonly hook: Schema.optionalKey; readonly runtime: Schema.String; readonly entrypoint: Schema.String; readonly requiredOutcomes: Schema.$Array; readonly requiredOperations: Schema.$Array; }>>; readonly conditions: Schema.$Array; readonly configuration: Schema.Struct<{ readonly status: Schema.Literals; readonly fields: Schema.$Array; readonly value: Schema.NullOr>; readonly redacted: Schema.Boolean; }>>; readonly issues: Schema.$Array>; }>; readonly runtimeAvailability: Schema.Literal<"unverified">; readonly nativeInvocation: Schema.Literal<"not-observed">; readonly fixtureEvidence: Schema.Struct<{ readonly state: Schema.Literals; readonly receipt: Schema.optionalKey; readonly package: Schema.String; readonly version: Schema.String; readonly contentHash: Schema.String; readonly configurationHash: Schema.String; readonly startedAt: Schema.Number; readonly completedAt: Schema.Number; readonly cwd: Schema.Literal<"package-root">; readonly scope: Schema.Literals; readonly platform: Schema.Struct<{ readonly os: Schema.String; readonly architecture: Schema.String; }>; readonly environment: Schema.$Array; readonly environmentFreshness: Schema.Literal<"historical-only">; readonly nativeInvocation: Schema.Literal<"not-observed">; readonly sandboxed: Schema.Literal; readonly fixtures: Schema.$Array; readonly outcome: Schema.Literals; readonly expectedExitCode: Schema.Number; readonly observedExitCode: Schema.NullOr; readonly stdoutMatches: Schema.NullOr; readonly stderrMatches: Schema.NullOr; readonly detail: Schema.String; }>>; readonly passed: Schema.Boolean; readonly receiptPath: Schema.String; }>>; readonly reason: Schema.String; }>; }>>; }>>>; readonly source: Schema.optional; readonly directory: Schema.optional; readonly gitTreeHash: Schema.optional; }>>; readonly managedRegions: Schema.optional>>; readonly packMembership: Schema.optional, Schema.Struct<{ readonly member: Schema.String; readonly before: Schema.String; readonly after: Schema.Null; }>, Schema.Struct<{ readonly member: Schema.String; readonly before: Schema.String; readonly after: Schema.String; }>]>>; }>>; readonly registryLifecycle: Schema.optional; readonly reason: Schema.optional; }>>; readonly deprecation: Schema.optional; readonly reason: Schema.Literal<"superseded">; readonly message: Schema.optional; readonly replacement: Schema.Union; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"obsolete">; readonly message: Schema.String; readonly replacement: Schema.optional; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"unmaintained">; readonly message: Schema.optional; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"other">; readonly message: Schema.String; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>]>>; }>>; readonly sourceSwitch: Schema.optional; readonly locator: Schema.String; readonly resolution: Schema.String; readonly treeIntegrity: Schema.String; }>; readonly after: Schema.Struct<{ readonly family: Schema.Literals; readonly locator: Schema.String; readonly resolution: Schema.String; readonly treeIntegrity: Schema.String; }>; readonly content: Schema.Literals; readonly dependencies: Schema.Struct<{ readonly effect: Schema.Literals; readonly added: Schema.$Array; readonly removed: Schema.$Array; readonly changed: Schema.$Array; }>; readonly projections: Schema.Struct<{ readonly effect: Schema.Literal<"reconcile">; readonly detail: Schema.String; }>; readonly guarantees: Schema.Struct<{ readonly gained: Schema.$Array; readonly lost: Schema.$Array; }>; readonly packMembers: Schema.optional; readonly before: Schema.optional; readonly locator: Schema.String; readonly resolution: Schema.String; }>>; readonly after: Schema.optional; readonly locator: Schema.String; readonly resolution: Schema.String; }>>; }>>>; }>>; }>>; readonly agentOutcomes: Schema.optional; readonly name: Schema.String; readonly agentId: Schema.String; readonly outcome: Schema.Literals; readonly reasonCode: Schema.String; readonly reason: Schema.String; readonly mechanism: Schema.optional; readonly path: Schema.optional; readonly nativeUnitKeys: Schema.optional>; readonly hook: Schema.optionalKey; readonly runtime: Schema.String; readonly entrypoint: Schema.String; readonly requiredOutcomes: Schema.$Array; readonly requiredOperations: Schema.$Array; }>>; readonly conditions: Schema.$Array; readonly configuration: Schema.Struct<{ readonly status: Schema.Literals; readonly fields: Schema.$Array; readonly value: Schema.NullOr>; readonly redacted: Schema.Boolean; }>>; readonly issues: Schema.$Array>; }>; readonly runtimeAvailability: Schema.Literal<"unverified">; readonly nativeInvocation: Schema.Literal<"not-observed">; readonly fixtureEvidence: Schema.Struct<{ readonly state: Schema.Literals; readonly receipt: Schema.optionalKey; readonly package: Schema.String; readonly version: Schema.String; readonly contentHash: Schema.String; readonly configurationHash: Schema.String; readonly startedAt: Schema.Number; readonly completedAt: Schema.Number; readonly cwd: Schema.Literal<"package-root">; readonly scope: Schema.Literals; readonly platform: Schema.Struct<{ readonly os: Schema.String; readonly architecture: Schema.String; }>; readonly environment: Schema.$Array; readonly environmentFreshness: Schema.Literal<"historical-only">; readonly nativeInvocation: Schema.Literal<"not-observed">; readonly sandboxed: Schema.Literal; readonly fixtures: Schema.$Array; readonly outcome: Schema.Literals; readonly expectedExitCode: Schema.Number; readonly observedExitCode: Schema.NullOr; readonly stdoutMatches: Schema.NullOr; readonly stderrMatches: Schema.NullOr; readonly detail: Schema.String; }>>; readonly passed: Schema.Boolean; readonly receiptPath: Schema.String; }>>; readonly reason: Schema.String; }>; }>>; }>>>; readonly registryLifecycle: Schema.optional; readonly reason: Schema.optional; }>>; readonly deprecation: Schema.optional; readonly reason: Schema.Literal<"superseded">; readonly message: Schema.optional; readonly replacement: Schema.Union; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"obsolete">; readonly message: Schema.String; readonly replacement: Schema.optional; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"unmaintained">; readonly message: Schema.optional; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly reason: Schema.Literal<"other">; readonly message: Schema.String; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>]>>; }>>; readonly links: Schema.optional>; }>>; readonly nativeLocations: Schema.$Array; readonly address: Schema.Union; readonly path: Schema.String; }>, Schema.Struct<{ readonly kind: Schema.Literal<"key-path">; readonly path: Schema.String; readonly keys: Schema.NonEmptyArray; }>, Schema.Struct<{ readonly kind: Schema.Literal<"region">; readonly path: Schema.String; readonly region: Schema.String; }>, Schema.Struct<{ readonly kind: Schema.Literal<"file">; readonly path: Schema.String; }>]>; readonly aliases: Schema.$Array; readonly configuredConsumers: Schema.$Array; readonly potentialReaders: Schema.$Array; readonly policyReasons: Schema.$Array; readonly ownership: Schema.Literals; readonly proof: Schema.optional; readonly state: Schema.Literals; readonly mechanism: Schema.optional>; readonly availability: Schema.$Array; readonly reason: Schema.optional; }>>; readonly reason: Schema.optional; }>>; readonly nativeLocationCounts: Schema.Struct<{ readonly units: Schema.Number; readonly physicalLocations: Schema.Number; readonly configuredConsumers: Schema.Number; readonly changed: Schema.Number; readonly retained: Schema.Number; readonly blocked: Schema.Number; readonly unverified: Schema.Number; }>; readonly footprint: Schema.optional; }>>>; readonly recovery: Schema.optional; readonly entries: Schema.$Array; }>>; readonly snapshotDir: Schema.optional; readonly actions: Schema.$Array; readonly url: Schema.optional; }>>; }>>; readonly evaluatedAt: Schema.optional; readonly holdbackCount: Schema.optional; readonly holdbacks: Schema.optional; readonly target: Schema.String; readonly dependencyPath: Schema.$Array; readonly requestedRange: Schema.optional; readonly currentVersion: Schema.optional; readonly selectedVersion: Schema.optional; readonly candidateVersion: Schema.String; readonly publishedAt: Schema.String; readonly eligibleAt: Schema.String; readonly minimumReleaseAgeSeconds: Schema.Number; readonly bypassCause: Schema.optional>; readonly exemptionScope: Schema.optional>; }>>>; readonly releaseAgeBypassCount: Schema.optional; readonly releaseAgeBypasses: Schema.optional; readonly target: Schema.String; readonly dependencyPath: Schema.$Array; readonly requestedRange: Schema.optional; readonly currentVersion: Schema.optional; readonly selectedVersion: Schema.optional; readonly candidateVersion: Schema.String; readonly publishedAt: Schema.String; readonly eligibleAt: Schema.String; readonly minimumReleaseAgeSeconds: Schema.Number; readonly bypassCause: Schema.optional>; readonly exemptionScope: Schema.optional>; }>>>; readonly imports: Schema.optional>; readonly preconditions: Schema.optional; readonly detail: Schema.optional; readonly blockedOn: Schema.optional>; readonly command: Schema.optional; }>>>; readonly riskConditions: Schema.optional; readonly id: Schema.String; readonly detail: Schema.String; readonly consent: Schema.optional>; }>, Schema.Struct<{ readonly level: Schema.Literal<"override-required">; readonly id: Schema.String; readonly policy: Schema.Literals; readonly requiredFlag: Schema.String; readonly detail: Schema.String; }>, Schema.Struct<{ readonly level: Schema.Literal<"blocked">; readonly id: Schema.String; readonly detail: Schema.String; readonly errorCode: Schema.Literals; }>]>>>; readonly agentCoverage: Schema.optional; readonly agents: Schema.$Array; }>>; readonly targetedUpdate: Schema.optional; readonly name: Schema.String; readonly fqn: Schema.String; }>; readonly ownership: Schema.Literals; readonly activation: Schema.Literals; readonly authority: Schema.Literals; readonly direct: Schema.optional; readonly enabled: Schema.Boolean; readonly constraint: Schema.optional; }>>; readonly packs: Schema.$Array; readonly source: Schema.optional>; readonly memberSource: Schema.Literals; readonly constraint: Schema.String; readonly enabled: Schema.Boolean; }>>; readonly effectiveConstraint: Schema.optional; readonly memberClosure: Schema.$Array; readonly name: Schema.String; readonly fqn: Schema.String; }>>; readonly effects: Schema.Struct<{ readonly settings: Schema.Literals; readonly acceptedResolution: Schema.Literals; readonly canonical: Schema.Literals; readonly projection: Schema.Literals; readonly packRoot: Schema.Literals; readonly packManifest: Schema.Literals; }>; readonly relevantProblems: Schema.$Array; readonly blocker: Schema.optional>; }>>; }>; }>; export type PlanResolutionDocument = typeof PlanResolutionDocumentSchema.Type; export interface PlanResolutionResultOptions { readonly verbose?: boolean; readonly debug?: boolean; readonly message?: string; readonly imports?: { readonly imported: number; readonly skipped: number; readonly conflicting: number; }; readonly targetedUpdate?: TargetedUpdatePublicContext; } export declare const toPlanResolutionResult: (resolution: OperationResolution, options?: PlanResolutionResultOptions) => PlanResolutionResult; /** Telemetry completion summary projected from the same resolution. */ export declare const operationResolutionSummary: (resolution: OperationResolution, context?: { readonly subjectType?: SubjectType; readonly sourceKind?: SourceKind; }) => CommandOutcomeSummary; /** * Whether re-running the emitting command could change what these units did. * The kernel decides per failure, from the producer's own verdict or its * category; this only asks whether any unsettled unit's failure admits one. */ export declare const retryCanHelp: (units: ReadonlyArray>) => boolean; export declare const releaseAgeDoc: (recovery: ConfirmationRecovery | undefined, result: Pick, settled?: { readonly unsettled: ReadonlySet; }) => Doc; /** * What actually happened, for an adapter deciding what to offer next. Only the * adapter knows how its own routes are spelled, and only the resolution knows * which units are still waiting to be acted on, so the two meet here. */ export interface OperationRecoveryContext { readonly outcome: OperationOutcome; /** The units that did not settle as planned, in ledger order. */ readonly unsettled: ReadonlyArray>; } /** * The actions a command offers next: a fixed list where the command offers the * same thing however it settles, or a function of the outcome where it does * not. */ export type OperationSuggestions = ReadonlyArray | ((context: OperationRecoveryContext) => ReadonlyArray); export interface EmitOperationResolutionOptions { /** * The invocation that produced this resolution, as a recovery line replays * it. A condition the operation reports names its recovery through this * value; an operation with no invocation to replay, such as an interrupted * one, leaves it out. */ readonly recovery?: ConfirmationRecovery; readonly suggestions?: OperationSuggestions; /** Overrides the derived human headline and is carried in the document. */ readonly message?: string; readonly imports?: { readonly imported: number; readonly skipped: number; readonly conflicting: number; }; readonly targetedUpdate?: TargetedUpdatePublicContext; } export interface EmittedOperationResolution { readonly outcome: OperationOutcome; readonly exitCode: number; readonly emitted: boolean; } /** * The recoveries a settled operation states for itself: the ones the kernel * lifted onto the operation, the actions its recovery content names, the * escape its block names, and every failure its units settled with. */ export interface SettledRecoveries { readonly suggestions?: ReadonlyArray; readonly recovery?: ReadonlyArray; readonly escape?: SuggestedAction; readonly failures: ReadonlyArray<{ readonly suggestions?: ReadonlyArray | undefined; }>; } /** What a resolution states for itself, read once for both channels. */ export declare const resolutionRecoveries: (resolution: OperationResolution) => SettledRecoveries; /** * The one `Next` list of a settled operation, for the machine envelope and the * human render alike: what the adapter offers, then every failed unit's own * recovery (a reader of seven failures needs all of them), then what the * operation states for itself, its recovery actions, and the escape its block * names, each once. Scope is applied afterwards, at the emit boundary. */ export declare const operationNextActions: (settled: SettledRecoveries, offered: ReadonlyArray) => ReadonlyArray; /** * Terminate a plan-family invocation: derive outcome and exit, record * completion semantics, emit the machine document, and project the human * render. Returns the derivations so callers can act on them without * re-deriving. */ export declare const emitOperationResolution: (resolution: OperationResolution, options?: EmitOperationResolutionOptions) => Effect.Effect<{ outcome: "blocked" | "failed" | "cancelled" | "interrupted" | "previewed" | "applied" | "no-op" | "partial"; exitCode: number; }, import("./screen/streams.ts").OutputWriteFailed, Verbosity | import("./screen/screen.ts").Screen>; /** * Terminate a plan-family invocation that planned nothing: an empty resolution * in the active lifecycle's mode whose outcome derives `no-op`, with the * stated message. */ export declare const emitNoOpOutcome: (args: { readonly planName: string; readonly planDescription?: string; readonly message: string; readonly suggestions?: ReadonlyArray; }) => Effect.Effect<{ outcome: "blocked" | "failed" | "cancelled" | "interrupted" | "previewed" | "applied" | "no-op" | "partial"; exitCode: number; }, import("./screen/streams.ts").OutputWriteFailed, Verbosity | import("./screen/screen.ts").Screen | OperationLifecycle>; //# sourceMappingURL=operation-output.d.ts.map