/**
 * Docs Domain Operations Contract (7 operations)
 *
 * Query operations: 3
 * Mutate operations: 4
 *
 * Docs domain handles attachment management and document generation via `cleo docs`:
 *   - add        — attach a local file or URL to a CLEO owner entity (task, session, observation)
 *   - list       — list attachments for an owner entity
 *   - generate   — generate llms.txt summary for a task/epic, optionally attach as blob
 *   - fetch      — retrieve attachment bytes and metadata by ID or SHA-256
 *   - remove     — remove an attachment ref; purges blob when refCount hits zero
 *   - update     — UPDATE-in-place via slug (T10161)
 *   - supersede  — atomically flip an older doc to `superseded` and link it to its successor (T10162)
 *
 * Owner type is auto-detected from the owner ID prefix:
 *   T###        → 'task'
 *   ses_*       → 'session'
 *   O-*         → 'observation'
 *   D-* (dec_*) → 'decision'
 *   L-* (lrn_*) → 'learning'
 *   P-* (pat_*) → 'pattern'
 *   (default)   → 'task'
 *
 * SYNC: Canonical implementations at packages/core/src/store/attachment*.
 * Wire-format types live here; they are the API contract for CLI + HTTP dispatch.
 *
 * @task T980 — Orchestration Coherence v4 (contract surface completion)
 * @see packages/cleo/src/dispatch/domains/docs.ts
 * @see packages/contracts/src/operations/index.ts
 */
import { BUILTIN_DOC_KIND_VALUES } from '../docs-taxonomy.js';
/**
 * Allowed values for the `--type` taxonomy on `cleo docs add`.
 *
 * As of T9788 this is derived from the canonical {@link BUILTIN_DOC_KIND_VALUES}
 * in `docs-taxonomy.ts` — adding a kind there automatically widens this set
 * without a duplicate edit here.
 *
 * Project-level extensions registered through `.cleo/docs-config.json` are
 * NOT included in this constant (they are runtime-only, since the
 * compile-time union must stay closed). Use {@link DocKindRegistry.list}
 * to enumerate built-ins plus extensions at runtime.
 *
 * @task T9637 (T-DOCS-SLUG-2)
 * @task T9788 (E-DOCS-TAXONOMY-V2 — registry consolidation)
 */
export const DOCS_TYPE_VALUES = BUILTIN_DOC_KIND_VALUES;
/**
 * Default maximum number of rows returned by `docs.list` when the caller
 * does not pass an explicit `limit`. Mirrored on the CLI flag default so the
 * dispatch and CLI surfaces agree on the browsing window.
 *
 * @task T9792
 */
export const DOCS_LIST_DEFAULT_LIMIT = 50;
// --------------------------------------------------------------------------
// docs.update — UPDATE-in-place via slug (T10161)
// --------------------------------------------------------------------------
/**
 * Allowed `lifecycle_status` values mirrored from the attachments-table enum
 * (`ATTACHMENT_LIFECYCLE_STATUSES` in
 * `packages/core/src/store/schema/attachments.ts`). Kept inline here so the
 * contract surface stays self-contained — the dispatch handler narrows raw
 * `--status` input against this set before touching the store.
 *
 * @task T10161 (Epic T10157 / Saga T9855)
 */
export const DOCS_LIFECYCLE_STATUSES = [
    'draft',
    'proposed',
    'accepted',
    'superseded',
    'archived',
    'deprecated',
];
export const LLM_OUTPUT_MODES = [
    'task-export',
    'attachment-bundle',
];
//# sourceMappingURL=docs.js.map