AD4M link language that syncs Perspective triples to Matrix rooms via the Client-Server API.
- Commits: links → custom
dev.ad4m.link.tripleevents in a Matrix room - Sync: polls room timeline for new events → local links
- Query: indexed local store (source, target, predicate)
- Dual rendering: each link becomes both a typed custom event and a human-readable
m.room.message, so Matrix clients display meaningful content alongside structured data - Telepresence: real-time presence via Matrix Presence API, peer-to-peer signalling via to-device messages, broadcast via room events
| Variable | Description |
|---|---|
MATRIX_HOMESERVER_URL |
Matrix homeserver base URL |
MATRIX_ROOM_ID |
Target room ID (!xxx:server) |
MATRIX_USER_ID |
Bot/user MXID (@user:server) |
MATRIX_ACCESS_TOKEN |
CS API access token |
MATRIX_ROOM_ALIAS |
Optional room alias |
NEIGHBOURHOOD_META |
AD4M neighbourhood metadata |
pnpm install
deno run --allow-all esbuild.tsRequires @coasys/ad4m-ldk at ../ad4m/ad4m-ldk/js/ or set AD4M_LDK_ENTRY.
node --experimental-vm-modules --import tsx --test tests/*.test.ts297 tests across 11 suites.
Same pure/impure pattern as all AD4M link languages. Protocol-specific modules:
src/matrix-api.ts/matrix-api.pure.ts— HTTP Client-Server API callssrc/rendering.ts/rendering.pure.ts— dual-render: custom event +m.room.messagesrc/membership.ts— room-based membership managementsrc/translate.ts/translate.pure.ts— link ↔ Matrix event translationsrc/dual-language.ts— dual-language supportsrc/sdna.ts— social DNA definitionssrc/settings.ts— language settingssrc/sync.ts— sync orchestration
ad4m:host imports confined to 4 adapter files + index.ts.
CAL-1.0