feat: implement Definition Layer (RFC #58 Phase 1)

- Add three append-only definition tables: object_defs, event_defs, projection_defs
- Support content-addressed versioning with SHA-256 hashes
- Implement JSONata expression validation for projections
- Add projection_def_sources table with foreign key constraints
- Support (name, code_rev) unique constraints for versioning
- Add comprehensive test suite covering all 9 scenarios from Issue #60

closes #60
This commit is contained in:
2026-04-15 03:13:00 +00:00
parent b94c575d91
commit 4c9439facf
4 changed files with 890 additions and 0 deletions
+8
View File
@@ -11,6 +11,10 @@
"packages/pulse": {
"name": "@uncaged/pulse",
"version": "0.1.0",
"dependencies": {
"jsonata": "^2.1.0",
"zod": "^4.3.6",
},
"devDependencies": {
"@types/node": "^25.6.0",
"bun-types": "latest",
@@ -108,8 +112,12 @@
"commander": ["commander@12.1.0", "", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="],
"jsonata": ["jsonata@2.1.0", "", {}, "sha512-OCzaRMK8HobtX8fp37uIVmL8CY1IGc/a6gLsDqz3quExFR09/U78HUzWYr7T31UEB6+Eu0/8dkVD5fFDOl9a8w=="],
"typescript": ["typescript@6.0.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ=="],
"undici-types": ["undici-types@7.19.2", "", {}, "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg=="],
"zod": ["zod@4.3.6", "", {}, "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg=="],
}
}