/** * envelope.ts — validateEnvelope(spec-version fail-closed 検査)。 * * runtime-boundary.md §2.1 の COMMON プリミティブ `validateEnvelope`。graphddb の * `_validate_spec_version`(`runtime.py:66`)/ Rust `validate_spec_version` を * DSL 非依存の形に一般化したもの。DynamoDB 概念はゼロ — `.` の比較機構のみ。 * * 互換規則(graphddb と同一・PROTOCOL.md §5 の fail-closed 規律): * - version 文字列は `"."`(整数 2 つ)でなければならない。形式違反は fail-closed。 * - **major は supported major と一致**しなければならない(major bump = 破壊的変更)。 * - **minor は supported minor 以下**でなければならない(minor は additive)。 * - 未知(範囲外)version は黙って通さず loud reject する。 * * `supported` は consumer が渡す(core は比較機構を提供するのみ。boundary §2.1)。 */ export type EnvelopeFailureCode = "MISSING_VERSION" | "MALFORMED_VERSION" | "UNSUPPORTED_MAJOR" | "UNSUPPORTED_MINOR"; export declare class EnvelopeFailure extends Error { code: EnvelopeFailureCode; constructor(code: EnvelopeFailureCode, message: string); } /** * validateEnvelope — envelope の spec version を fail-closed で検査する。 * * @param envelope `specVersion` を持つ任意の document(graphddb の manifest/operations 等)。 * @param supported この runtime が対応する版 `"."`(consumer が宣言)。 * @param opts.field version を読むフィールド名(既定 `"specVersion"`)。 * @param opts.label エラーメッセージ用ラベル(既定 `"envelope"`)。 * @throws {EnvelopeFailure} 形式違反・未対応 major/minor のとき。 */ export declare function validateEnvelope(envelope: unknown, supported: string, opts?: { field?: string; label?: string; }): void; //# sourceMappingURL=envelope.d.ts.map