events: metadata rides as headers, not in the body (ADR 0047)
emit stamps the ADR 0047 headers — x-event-id, x-source, x-node, x-time, content-type, and optional x-causation-id / x-schema — and publishes the body as only the domain payload. on() reconstructs the Event from those headers. Event gains id (the x-event-id a consumer dedups on) plus the optional causation/schema. EventHeaders joins the contracts spine. Supersedes the first cut that carried source/node/time in the body. Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
This commit is contained in:
@@ -3,9 +3,9 @@
|
||||
// binding is provided by the runtime that hosts a module's code — the sdk defines the contract so
|
||||
// module code, the tool runtime and provisioners all speak it the same way.
|
||||
|
||||
import type { Envelope } from "../contracts/index.js";
|
||||
import type { Envelope, EventHeaders } from "../contracts/index.js";
|
||||
|
||||
export type { Envelope };
|
||||
export type { Envelope, EventHeaders };
|
||||
|
||||
/** A request/reply call and a publish/subscribe surface over the mesh broker. */
|
||||
export interface Broker {
|
||||
|
||||
Reference in New Issue
Block a user