npm.io
3.1.0 • Published 1 month ago

@x12i/memorix-relationships

Licence
exellix-license
Version
3.1.0
Deps
5
Size
168 kB
Vulns
0
Weekly
0

@x12i/memorix-relationships

Trusted relationship engine: compile definitions, discover, materialize, verify, and rebuild four-field links.

This is the only production path that writes relationship links. Remote clients use HTTP; ad-hoc /links mutation is rejected (405).

Install

npm install @x12i/memorix-relationships@3.0.2
Audience Use this package?
Remote app No/api/relationships
Platform / pipelines Yes

Core API

import { createRelationshipEngine } from "@x12i/memorix-relationships";

const engine = createRelationshipEngine({ /* store, metadata resolver, data reader */ });

// Dry-run candidates
await engine.discoverAndMaterialize(scope, definitionId, { dryRun: true });

// Persist links
await engine.discoverAndMaterialize(scope, definitionId, { dryRun: false });

await engine.verify(scope, definitionId);
await engine.rebuild(scope, definitionId);

Lifecycle:

relationship definition (metadata)
  → discover (candidates, service-held)
  → materialize (four-field links in store)
  → verify / rebuild

Hard rules

  • Links are exactly four fields (relationshipId, relationshipDefinitionId, fromRecordId, toRecordId).
  • Never copy related payloads into the source record (associated* as storage is forbidden).
  • Neighbor content is read at expand time, not embedded.
Need Package
Persistence adapter @x12i/memorix-relationship-store
Compose / expand reads @x12i/memorix-data
Pipeline steps relationship-discover / relationship-write in @x12i/memorix-pipeline

Docs

npm test