@suluk/core - v0.1.13
    Preparing search index...

    Interface Request

    A Request is an operation (SPEC §1.4). DOM handle = its name (the key in PathItem.requests); ADA identity = its signature (C003/C019 Appendix A — computed, not authored).

    interface Request {
        method: HttpMethod;
        summary?: string;
        description?: string;
        operationId?: string;
        tags?: string[];
        deprecated?: boolean;
        contentType?: string | string[];
        contentSchema?: SchemaOrRef;
        parameterSchema?: ParameterSchema;
        responses: Record<string, Response>;
        callbacks?: Record<string, Callback>;
        security?: SecurityRequirement[];
        servers?: Server[];
        "x-suluk-source"?: SulukSource;
        "x-suluk-ratelimit"?: SulukRateLimit;
        "x-suluk-approval"?: SulukApproval;
        "x-suluk-store"?: SulukStore;
    }
    Index

    Properties

    method: HttpMethod
    summary?: string
    description?: string
    operationId?: string

    Optional legacy handle; not the v4 primary identity (C009).

    tags?: string[]
    deprecated?: boolean
    contentType?: string | string[]

    Request body media type(s) — plain IANA media type; params via the content model (§6/§7).

    contentSchema?: SchemaOrRef
    parameterSchema?: ParameterSchema
    responses: Record<string, Response>

    Named responses (§5); each carries its own status. At least one required.

    callbacks?: Record<string, Callback>
    security?: SecurityRequirement[]

    Applied security, referenced BY NAME (C014 #69).

    servers?: Server[]
    "x-suluk-source"?: SulukSource

    PROVENANCE facet (council whuovh6gs, L2): where in the AUTHORED source this operation was projected FROM. A stable SYMBOLIC pointer (file + exported symbol) — never a line number, never an authz/routing input (advisory only; C022 inv.5). STAMPED by the projection pass, never hand-authored. Scrub from externally published projections (it discloses internal layout) — see core's scrubSource / sourceIndex.

    "x-suluk-ratelimit"?: SulukRateLimit

    RATE-LIMIT facet (saastarter-parity Phase 0): the declared per-operation rate budget. ADVISORY VENDOR EXTENSION (see SulukRateLimit) — @suluk/hono's middleware ENFORCES it on the wire; core only carries the shape + derived reads (rateLimitIndex/rateLimitCoverage/retryAfterSeconds).

    "x-suluk-approval"?: SulukApproval

    HUMAN-IN-THE-LOOP APPROVAL facet (Stage 1.4): declares that invoking this operation as an AGENT TOOL requires human approval before it runs — a consequential/irreversible action an autonomous loop must pause on. Advisory, like SulukApproval describes.

    "x-suluk-store"?: SulukStore

    REACTIVE-STORE facet (C037) — x-suluk-store. Declares this operation's role in the @suluk/sdk reactive client: a QUERY (key present) projects to a $<key> store; a MUTATION (invalidates present) invalidates those stores on success. CLIENT-CODEGEN ONLY — a pure hint for the generated frontend layer; NEVER read by the matcher/runtime (D1; see SulukStore, plan/facts/0reactive.bn + test/store-d1-invariance.test.ts). Target-agnostic: the default adapter projects to nanostores + @nanostores/query, but the declaration is a dependency graph any reactive runtime (TanStack Query / SWR / Pinia Colada) can consume — the C034 runtime-adapter-seam move, one layer up.