The lighter sibling of provisioning — 1:many and broadcast, no credential,
just the broker's topic routing. A thin, audit-ready surface over the
broker's publish/subscribe:
- emit(type, body): publishes an Event carrying who emitted it (MESH_MODULE),
on which node (MESH_NODE) and when (ISO timestamp) — so a listener can
build a real audit trail.
- on(pattern, handler): react to events by topic pattern. The audit logger
is just on("#", ...).
Tested: a module emits; a targeted listener (module.umami.#) hears only its
events, the audit sink (#) hears every module's, and the metadata audit
needs is present.
The declared side — a manifest's emits/consumes, so the mesh knows the
event graph — and the audit-logger module are the next pieces.
Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
24 lines
680 B
JSON
24 lines
680 B
JSON
{
|
|
"name": "@novox/mesh-sdk",
|
|
"version": "0.1.0",
|
|
"description": "The stable spine a Novox Mesh module's own code builds against.",
|
|
"type": "module",
|
|
"exports": {
|
|
".": "./dist/index.js",
|
|
"./contracts": "./dist/contracts/index.js",
|
|
"./provisioner": "./dist/provisioner/index.js",
|
|
"./tools": "./dist/tools/index.js",
|
|
"./messaging": "./dist/messaging/index.js",
|
|
"./events": "./dist/events/index.js",
|
|
"./primitives": "./dist/primitives/index.js"
|
|
},
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"test": "node --test --experimental-strip-types 'test/*.test.ts'"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.0.0",
|
|
"typescript": "^5.6.0"
|
|
}
|
|
}
|