@x12i/memorix-data
v3.0.2
Published
Memorix data plane: scope/routing (5A), V2 writer (5B), reader (5C), abstract reverse-write (5D), relationship store/read (5E).
Readme
@x12i/memorix-data
Memorix data plane: scoped routing, record directory, V2 content writer / reader, sibling compose, abstract reverse-write, and relationship reads (expansion).
All subject mutations go through this plane (or Memory / relationship engines that call it). Never write domain documents with raw Mongo drivers.
Install
npm install @x12i/[email protected]| Audience | Use this package? |
|----------|-------------------|
| Remote app | No — call memorix-service /api/data |
| Platform / service composition | Yes |
Write ops
add · upsert · patch · replace · remove
Each requires MemorixScope (orgId + agentIds[]) and a precondition (absent or exact revision). Stale revision → conflict.
Read ops
getContent · listContent · composeSubject · getAbstract · listAbstract
Default reads return one logical V2 record (_id stripped). Pass relationship include options for virtual { source, relationships } expansion. Link mutation is not here — use @x12i/memorix-relationships.
Abstract reverse-write
patchAbstract → reverse mappings → one concrete writer patch. No abstract collections / abstract recordId.
Quick example
import { createMongoContentWriter, createMongoContentReader } from "@x12i/memorix-data";
const writer = createMongoContentWriter({ client, /* routing */ });
const reader = createMongoContentReader({ client, /* routing */ });
await writer.add(scope, {
draft: { /* MemorixRecordDraft V2 */ },
precondition: { kind: "absent" },
});
const record = await reader.getContent(scope, {
objectType: "work-items",
contentType: "snapshots",
recordId: "WI-100",
});
const composed = await reader.composeSubject(scope, { recordId: "WI-100" });
// composed.contents → { raw: [...], snapshots: [...], ... }Related
| Need | Package / API |
|------|----------------|
| Envelope validate | @x12i/memorix-format |
| Four-field links | @x12i/memorix-relationships |
| HTTP | /api/data, /api/data/compose, /api/data/abstract |
Docs
documentation/data-model.md·documentation/http-api.md- Ebooks: Runtime Data Client · Access Patterns
- Hub: https://ebooks.memorix.x12i.com
npm test