/**
 * Attribution context middleware.
 *
 * Runs after {@link aauthVerify} and is responsible for threading the
 * resolved {@link AgentIdentity} into the per-request `AsyncLocalStorage`
 * store that every write-path service reads from via
 * `getCurrentAgentIdentity()`. Before this middleware existed only the
 * `/mcp` handler did that wiring (see Phase 1.6 of the AAuth integration),
 * which meant direct HTTP write routes (`/store`, `/observations/create`,
 * `/create_relationship`, `/correct`, and the rest) could not honour AAuth
 * headers even when the caller sent a valid signature.
 *
 * The middleware is purely wiring: it never rejects a request, logs at
 * most one structured event (the `aauthVerify` middleware already emits
 * `attribution_decision`), and degrades to a null identity for unsigned
 * anonymous callers. The attribution policy is applied one layer deeper,
 * inside each write-path service via `enforceAttributionPolicy`.
 *
 * Fallback attribution (Phase 1 of the parity plan): beyond AAuth, this
 * middleware honours optional `X-Client-Name` and `X-Client-Version`
 * headers so CLI and other HTTP-only clients can self-report a non-MCP
 * `clientInfo.name` equivalent. Values that hit
 * {@link normaliseClientNameWithReason}'s generic-name list are dropped,
 * same as MCP's `initialize` handshake.
 */
import type { RequestHandler } from "express";
export declare function attributionContext(): RequestHandler;
//# sourceMappingURL=attribution_context.d.ts.map