/**
 * Agent operation contract doctrine for CLEO PM Core V2.
 *
 * The types in this module define the canonical result envelope for agent-facing
 * mutate operations. They intentionally live in `@cleocode/contracts` so core
 * implementations, CLI renderers, and validators share one vocabulary for
 * success, partial success, dry-run previews, empty states, and session lineage.
 *
 * @task T10555 — E1.W0 Define agent operation contract doctrine.
 */
/**
 * Doctrine constants used by tests, docs generators, and future validators to
 * describe the operation-result invariants without duplicating prose.
 */
export const AGENT_OPERATION_CONTRACT_DOCTRINE = {
    mutationStatuses: ['success', 'partial_success', 'empty', 'dry_run', 'failed'],
    partialSuccess: {
        status: 'partial_success',
        requiresAppliedMinimum: 1,
        requiresRejectedOrSkippedMinimum: 1,
        inspect: ['items', 'issues'],
    },
    sessionLineage: {
        executionSessionId: 'session that executed this operation attempt',
        originSessionId: 'session that originated the operation intent',
    },
    emptyState: {
        status: 'empty',
        requiredField: 'emptyState',
    },
    dryRun: {
        status: 'dry_run',
        requiredField: 'dryRun',
        appliedWrites: 0,
        plannedEffect: 'planned',
    },
};
//# sourceMappingURL=agent-operation-contract.js.map