@x12i/memorix-format 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAOjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAExD,SAAS,KAAK,CACZ,IAAY,EACZ,IAAY,EACZ,OAAe,EACf,WAAwC,OAAO;IAE/C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB,EAAE,MAAyB;IAClE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,kBAAkB,EAAE,gCAAgC,CAAC,CAAC,CAAC;QACpF,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,wBAAwB,EAAE,0CAA0C,CAAC,CAAC,CAAC;IAC5G,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CACT,KAAK,CACH,cAAc,EACd,qBAAqB,EACrB,qFAAqF,EACrF,SAAS,CACV,CACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,oBAAoB,EAAE,6BAA6B,EAAE,2CAA2C,CAAC,CACxG,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,yBAAyB,EAAE,kCAAkC,EAAE,oDAAoD,CAAC,CAC3H,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvE,MAAM,CAAC,IAAI,CACT,KAAK,CACH,sBAAsB,IAAI,EAAE,EAC5B,mCAAmC,EACnC,sBAAsB,IAAI,8BAA8B,IAAI,GAAG,CAChE,CACF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CACT,KAAK,CACH,kCAAkC,EAClC,2CAA2C,EAC3C,8CAA8C,CAC/C,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,QAAQ,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CACT,KAAK,CACH,kCAAkC,EAClC,2CAA2C,EAC3C,4BAA4B,QAAQ,WAAW,aAAa,GAAG,EAC/D,SAAS,CACV,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,KAAK,CACH,sBAAsB,GAAG,EAAE,EAC3B,+BAA+B,EAC/B,sBAAsB,GAAG,mBAAmB,CAC7C,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAY,EACZ,KAAc,EACd,MAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAEhC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CACT,KAAK,CACH,IAAI,EACJ,kBAAkB,EAClB,GAAG,IAAI,gDAAgD,CACxD,CACF,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,+BAA+B,EAAE,SAAS,CAAC,CACnF,CAAC;IACJ,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,wBAAwB,EAAE,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,IAAI,EACJ,wBAAwB,EACxB,GAAG,IAAI,0EAA0E,EACjF,SAAS,CACV,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,KAAc,EACd,MAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,SAAS,EAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,QAAQ,EAAE,GAAG,IAAI,+BAA+B,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAe,EAAE,MAAyB;IAChE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO;IACjC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,gCAAgC,CAAC,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACnC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,oCAAoC,CAAC,CAC3F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CACT,KAAK,CACH,mBAAmB,EACnB,wBAAwB,EACxB,gDAAgD,EAChD,SAAS,CACV,CACF,CAAC;YACJ,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CACT,KAAK,CACH,qBAAqB,CAAC,GAAG,EACzB,wBAAwB,EACxB,qBAAqB,CAAC,qBAAqB,CAC5C,CACF,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,qBAAqB,CAAC,WAAW,EACjC,0BAA0B,EAC1B,kCAAkC,CACnC,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,qBAAqB,CAAC,eAAe,EACrC,8BAA8B,EAC9B,sCAAsC,CACvC,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,CAAC,YAAY,EAAE,cAAc,CAAU,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,WAAW,MAAM,EAAE,EAAE,UAAU,MAAM,SAAS,EAAE,WAAW,MAAM,yBAAyB,CAAC,CAClG,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,UAAiC,EAAE;IAEnC,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,EAAE,oCAAoC,CAAC,CAAC;SAC5E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAe,KAAK,CAAC;IACjC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;IAEnD,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,EAAE,qCAAqC,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxC,oBAAoB,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChE,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClE,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9D,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAChD,MAAM,UAAU,GAAG,CAAC,WAAW,IAAI,WAAW,KAAK,WAAW,CAAC;IAE/D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,KAAK,MAAM,MAAM,IAAI,qBAAqB,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,MAAM,EACN,sBAAsB,EACtB,GAAG,MAAM,6CAA6C,WAAW,GAAG,CACrE,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CACT,KAAK,CACH,GAAG,EACH,0BAA0B,EAC1B,GAAG,GAAG,6CAA6C,WAAW,GAAG,CAClE,CACF,CAAC;YACJ,CAAC;YACD,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QAED,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAE3C,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,GAAG,6BAA6B,EAAE,SAAS,CAAC,CAC1E,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CACT,KAAK,CACH,GAAG,EACH,uBAAuB,EACvB,GAAG,GAAG,8EAA8E,CACrF,CACF,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,wBAAwB,GAAG,GAAG,EAAE,SAAS,CAAC,CACtE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,sBAAsB,CACpC,OAAkB,EAClB,UAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;AACrD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,qFAAqF;QACrF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC,CAAC;IAC1C,CAAC;IAED,2BAA2B;IAC3B,OAAO,OAAO;SACX,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ # Memorix Format — Requirements (product layer)
2
+
3
+ **Package:** `@x12i/memorix-format`
4
+ **Depends on:** `@x12i/memorix-base-format` (fixed skeleton — do not re-state ENV/ID/DATA/SYS here).
5
+
6
+ This document covers **Memorix product** open-bucket conventions. Base envelope MUST be satisfied first (`TOOL-3`: layer checks on base).
7
+
8
+ ---
9
+
10
+ ## Known open buckets (when present)
11
+
12
+ **BUCKET-5.**
13
+
14
+ | Bucket | MUST contain | MUST NOT contain |
15
+ |---|---|---|
16
+ | `analytics` | Numeric rollups | The underlying list of records |
17
+ | `enrichment` | External / prior-system values as received | Interpreted judgments |
18
+ | `insights` | Judgments, scores, recommendations | Anything a reader would mistake for a stored native fact |
19
+
20
+ These names are **Memorix declarations**, not base-reserved keys. Base classifies them as open buckets.
21
+
22
+ ---
23
+
24
+ ## Associated properties
25
+
26
+ **ASSOC-1.** Keys matching Memorix association patterns (`associated…`, legacy short names, `associatedTop…`, `associated…Enrichment`, custom `associated` prefix).
27
+
28
+ **ASSOC-2.** When present, MUST be an array.
29
+
30
+ **ASSOC-3.** MUST be omitted when empty — never `[]`.
31
+
32
+ **ASSOC-5.** Items MUST be plain objects (linked payloads), not full envelopes.
33
+
34
+ **ASSOC-6.** Resolution MUST be snapshot-first (see association-format.md). Enforced by associator tooling, documented here.
35
+
36
+ ---
37
+
38
+ ## Snapshot vs minimal (SCOPE)
39
+
40
+ **SCOPE-1.** Full open-bucket set SHOULD appear primarily on snapshots.
41
+
42
+ **SCOPE-2.** Non-snapshot content types MUST include `recordId` + `data`; SHOULD omit `analytics` / `insights` / most `associated*` unless opted in via ContentTypeMeta.
43
+
44
+ **SCOPE-3.** Readers MUST treat missing optional buckets as N/A, not error.
45
+
46
+ ---
47
+
48
+ ## Validator
49
+
50
+ **TOOL-3.** `validateMemorixRecord` = `validateMemorixBaseRecord` + profile/ASSOC/SCOPE.
51
+
52
+ Built-in profiles: `snapshots`, `minimal` (`--profile=`).
@@ -1,6 +1,8 @@
1
1
  # Memorix Record Format
2
2
 
3
- > Packaged as **`@x12i/memorix-format`** (types, validator, CLI).
3
+ > **Package split (2.0):** Core envelope → [`@x12i/memorix-base-format`](https://www.npmjs.com/package/@x12i/memorix-base-format).
4
+ > Product open buckets / associations → this package (`@x12i/memorix-format`).
5
+ > Requirements: [memorix-format-requirements.md](./memorix-format-requirements.md).
4
6
 
5
7
  ## Purpose
6
8
 
@@ -1,5 +1,4 @@
1
1
  {
2
- "_id": "6914a132880706529ece3da1",
3
2
  "recordId": "69d216ed358778e93215787e",
4
3
  "concept": {
5
4
  "identifier": {
@@ -10,22 +9,14 @@
10
9
  "title": "Oracle WebLogic Server RCE (CVE-2020-14882)"
11
10
  },
12
11
  "data": {
13
- "name": "Oracle WebLogic Server RCE (CVE-2020-14882)",
14
12
  "cveId": "CVE-2020-14882",
15
- "severity": "critical",
16
- "pluginId": 142594
13
+ "severity": "critical"
17
14
  },
18
15
  "associatedData": [
19
- { "assetIp": "10.100.24.31", "hostname": "BGAK105-002" },
20
- { "assetIp": "10.100.24.41", "hostname": "BGAK105-003" }
16
+ { "assetIp": "10.100.24.31", "hostname": "BGAK105-002" }
21
17
  ],
22
18
  "analytics": {
23
- "affectedAssets": { "total": 2 }
24
- },
25
- "enrichment": {
26
- "cvss": { "baseScore": 9.8 },
27
- "epss": { "epss": 0.94454 },
28
- "kev": { "isKnownExploited": true }
19
+ "affectedAssets": { "total": 1 }
29
20
  },
30
21
  "insights": {
31
22
  "exploitability": { "level": "HIGH", "confidence": 0.92 }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@x12i/memorix-format",
3
- "version": "1.0.0",
4
- "description": "Memorix record format: types, validator, CLI, and specification docs.",
3
+ "version": "2.0.0",
4
+ "description": "Memorix product format profiles on @x12i/memorix-base-format: known open buckets, association conventions, validator, CLI.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "bin": {
9
- "memorix-format": "./dist/cli.js"
9
+ "memorix-format": "dist/cli.js"
10
10
  },
11
11
  "exports": {
12
12
  ".": {
@@ -17,6 +17,10 @@
17
17
  "types": "./dist/validate.d.ts",
18
18
  "import": "./dist/validate.js"
19
19
  },
20
+ "./profiles": {
21
+ "types": "./dist/profiles.d.ts",
22
+ "import": "./dist/profiles.js"
23
+ },
20
24
  "./types": {
21
25
  "types": "./dist/types.d.ts",
22
26
  "import": "./dist/types.js"
@@ -26,7 +30,9 @@
26
30
  "dist",
27
31
  "docs",
28
32
  "examples",
29
- "README.md"
33
+ "profiles",
34
+ "README.md",
35
+ "CHANGELOG.md"
30
36
  ],
31
37
  "sideEffects": false,
32
38
  "scripts": {
@@ -41,7 +47,9 @@
41
47
  "engines": {
42
48
  "node": ">=18.0.0"
43
49
  },
44
- "dependencies": {},
50
+ "dependencies": {
51
+ "@x12i/memorix-base-format": "^1.0.0"
52
+ },
45
53
  "devDependencies": {
46
54
  "@types/node": "^20.14.0",
47
55
  "typescript": "^5.6.0",
@@ -60,7 +68,7 @@
60
68
  "memorix",
61
69
  "format",
62
70
  "validator",
63
- "record",
71
+ "profile",
64
72
  "exellix"
65
73
  ],
66
74
  "license": "exellix-license"
@@ -0,0 +1,27 @@
1
+ {
2
+ "objectType": "vulnerabilities",
3
+ "contentType": "snapshots",
4
+ "collectionPostfix": "snapshots",
5
+ "openBuckets": {
6
+ "analytics": {
7
+ "kind": "rollup",
8
+ "shape": "object",
9
+ "title": "Analytics"
10
+ },
11
+ "enrichment": {
12
+ "kind": "sourced",
13
+ "shape": "object",
14
+ "title": "Enrichment"
15
+ },
16
+ "insights": {
17
+ "kind": "interpretive",
18
+ "shape": "object",
19
+ "title": "Insights"
20
+ }
21
+ },
22
+ "policy": {
23
+ "unknownOpenBuckets": "allow",
24
+ "emptyBuckets": "reject"
25
+ },
26
+ "read": { "missingOptionalIsNa": true }
27
+ }
package/dist/concept.d.ts DELETED
@@ -1,16 +0,0 @@
1
- import type { JsonObject, MemorixConceptIdentifier } from "./types.js";
2
- /**
3
- * Build deterministic identity string from an identifier object.
4
- * Joins kind and value fields with ":" (e.g. ipAddress:10.100.18.64).
5
- */
6
- export declare function buildIdentityString(identifier: Record<string, unknown>): string | null;
7
- /** Build a clean concept identifier with identifierKey. */
8
- export declare function buildConceptIdentifier(kind: string, value: string, extra?: Record<string, string>): MemorixConceptIdentifier;
9
- /** Read logical record id (clean root, then legacy identity block). */
10
- export declare function readRecordId(record: JsonObject): string;
11
- export declare function readConceptIdentifier(record: JsonObject): {
12
- kind: string;
13
- value: string;
14
- } | null;
15
- export declare function readConceptTitle(record: JsonObject): string | undefined;
16
- //# sourceMappingURL=concept.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"concept.d.ts","sourceRoot":"","sources":["../src/concept.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGvE;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAYtF;AAED,2DAA2D;AAC3D,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACjC,wBAAwB,CAU1B;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAYvD;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmBxC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAOvE"}
package/dist/concept.js DELETED
@@ -1,75 +0,0 @@
1
- import { isPlainObject, stringifyId } from "./utils.js";
2
- /**
3
- * Build deterministic identity string from an identifier object.
4
- * Joins kind and value fields with ":" (e.g. ipAddress:10.100.18.64).
5
- */
6
- export function buildIdentityString(identifier) {
7
- const kind = stringifyId(identifier.kind);
8
- if (!kind)
9
- return null;
10
- if (identifier[kind] != null) {
11
- return `${kind}:${String(identifier[kind])}`;
12
- }
13
- const parts = Object.keys(identifier)
14
- .filter((key) => key !== "kind" && key !== "identifierKey")
15
- .sort()
16
- .map((key) => String(identifier[key]));
17
- if (parts.length === 0)
18
- return null;
19
- return [kind, ...parts].join(":");
20
- }
21
- /** Build a clean concept identifier with identifierKey. */
22
- export function buildConceptIdentifier(kind, value, extra = {}) {
23
- const identifier = {
24
- kind,
25
- [kind]: value,
26
- ...extra,
27
- identifierKey: "",
28
- };
29
- const key = buildIdentityString(identifier);
30
- identifier.identifierKey = key ?? `${kind}:${value}`;
31
- return identifier;
32
- }
33
- /** Read logical record id (clean root, then legacy identity block). */
34
- export function readRecordId(record) {
35
- const root = stringifyId(record.recordId);
36
- if (root)
37
- return root;
38
- const identity = record.identity;
39
- if (isPlainObject(identity)) {
40
- return (stringifyId(identity.recordId) ??
41
- stringifyId(identity.targetId) ??
42
- "");
43
- }
44
- return stringifyId(record._id) ?? "";
45
- }
46
- export function readConceptIdentifier(record) {
47
- const concept = record.concept;
48
- if (!isPlainObject(concept))
49
- return null;
50
- const identifier = concept.identifier;
51
- if (isPlainObject(identifier)) {
52
- const kind = stringifyId(identifier.kind);
53
- if (kind && identifier[kind] != null) {
54
- return { kind, value: String(identifier[kind]) };
55
- }
56
- }
57
- // Legacy concept.name
58
- const name = concept.name;
59
- if (typeof name === "string" && name.trim()) {
60
- const kind = stringifyId(concept.kind) ?? "name";
61
- return { kind, value: name.trim() };
62
- }
63
- return null;
64
- }
65
- export function readConceptTitle(record) {
66
- const concept = record.concept;
67
- if (!isPlainObject(concept))
68
- return undefined;
69
- const title = stringifyId(concept.title);
70
- if (title)
71
- return title;
72
- const id = readConceptIdentifier(record);
73
- return id?.value;
74
- }
75
- //# sourceMappingURL=concept.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"concept.js","sourceRoot":"","sources":["../src/concept.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /** Canonical clean-envelope field names. */
2
- export declare const RECORD_ID_FIELD: "recordId";
3
- export declare const CONCEPT_FIELD: "concept";
4
- export declare const DATA_FIELD: "data";
5
- export declare const ANALYTICS_FIELD: "analytics";
6
- export declare const ENRICHMENT_FIELD: "enrichment";
7
- export declare const INSIGHTS_FIELD: "insights";
8
- export declare const SYSTEM_FIELD: "_system";
9
- export declare const GRAPH_RUNS_FIELD: "_system._graphRuns";
10
- export declare const JOB_TYPE_RUNS_FIELD: "_system._jobTypeRuns";
11
- export declare const SYSTEM_LIFECYCLE_FIELD: "_system.lifecycle";
12
- /** Reserved root keys that are not associated* properties. */
13
- export declare const CANONICAL_ROOT_KEYS: Set<string>;
14
- /** Legacy Memorix 2.0 roots removed from the clean envelope. */
15
- export declare const LEGACY_ROOT_KEYS: Set<string>;
16
- /** Snapshot-only consumption buckets (clean format + additions appendix). */
17
- export declare const SNAPSHOT_ONLY_BUCKETS: readonly ["analytics", "enrichment", "insights"];
18
- /** Known legacy short associated property names. */
19
- export declare const LEGACY_ASSOCIATED_NAMES: Set<string>;
20
- export declare const DEFAULT_TOP_ASSOCIATED_ITEMS = 5;
21
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,eAAO,MAAM,eAAe,EAAG,UAAmB,CAAC;AACnD,eAAO,MAAM,aAAa,EAAG,SAAkB,CAAC;AAChD,eAAO,MAAM,UAAU,EAAG,MAAe,CAAC;AAC1C,eAAO,MAAM,eAAe,EAAG,WAAoB,CAAC;AACpD,eAAO,MAAM,gBAAgB,EAAG,YAAqB,CAAC;AACtD,eAAO,MAAM,cAAc,EAAG,UAAmB,CAAC;AAClD,eAAO,MAAM,YAAY,EAAG,SAAkB,CAAC;AAE/C,eAAO,MAAM,gBAAgB,EAAG,oBAA6B,CAAC;AAC9D,eAAO,MAAM,mBAAmB,EAAG,sBAA+B,CAAC;AACnE,eAAO,MAAM,sBAAsB,EAAG,mBAA4B,CAAC;AAEnE,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,aAS9B,CAAC;AAEH,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,aAO3B,CAAC;AAEH,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,kDAIxB,CAAC;AAEX,oDAAoD;AACpD,eAAO,MAAM,uBAAuB,aAQlC,CAAC;AAEH,eAAO,MAAM,4BAA4B,IAAI,CAAC"}
package/dist/constants.js DELETED
@@ -1,49 +0,0 @@
1
- /** Canonical clean-envelope field names. */
2
- export const RECORD_ID_FIELD = "recordId";
3
- export const CONCEPT_FIELD = "concept";
4
- export const DATA_FIELD = "data";
5
- export const ANALYTICS_FIELD = "analytics";
6
- export const ENRICHMENT_FIELD = "enrichment";
7
- export const INSIGHTS_FIELD = "insights";
8
- export const SYSTEM_FIELD = "_system";
9
- export const GRAPH_RUNS_FIELD = "_system._graphRuns";
10
- export const JOB_TYPE_RUNS_FIELD = "_system._jobTypeRuns";
11
- export const SYSTEM_LIFECYCLE_FIELD = "_system.lifecycle";
12
- /** Reserved root keys that are not associated* properties. */
13
- export const CANONICAL_ROOT_KEYS = new Set([
14
- "_id",
15
- RECORD_ID_FIELD,
16
- CONCEPT_FIELD,
17
- DATA_FIELD,
18
- ANALYTICS_FIELD,
19
- ENRICHMENT_FIELD,
20
- INSIGHTS_FIELD,
21
- SYSTEM_FIELD,
22
- ]);
23
- /** Legacy Memorix 2.0 roots removed from the clean envelope. */
24
- export const LEGACY_ROOT_KEYS = new Set([
25
- "identity",
26
- "lifecycle",
27
- "sourceFacts",
28
- "index",
29
- "_graphRuns",
30
- "_jobTypeRuns",
31
- ]);
32
- /** Snapshot-only consumption buckets (clean format + additions appendix). */
33
- export const SNAPSHOT_ONLY_BUCKETS = [
34
- ANALYTICS_FIELD,
35
- ENRICHMENT_FIELD,
36
- INSIGHTS_FIELD,
37
- ];
38
- /** Known legacy short associated property names. */
39
- export const LEGACY_ASSOCIATED_NAMES = new Set([
40
- "associatedData",
41
- "associatedDiscovery",
42
- "associatedAnalysis",
43
- "associatedSiblings",
44
- "associatedChildren",
45
- "associatedAssets",
46
- "associatedSubnets",
47
- ]);
48
- export const DEFAULT_TOP_ASSOCIATED_ITEMS = 5;
49
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAG,UAAmB,CAAC;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,SAAkB,CAAC;AAChD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAe,CAAC;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,WAAoB,CAAC;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAqB,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,UAAmB,CAAC;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,SAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAA6B,CAAC;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAA+B,CAAC;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAA4B,CAAC;AAEnE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,KAAK;IACL,eAAe;IACf,aAAa;IACb,UAAU;IACV,eAAe;IACf,gBAAgB;IAChB,cAAc;IACd,YAAY;CACb,CAAC,CAAC;AAEH,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IACtC,UAAU;IACV,WAAW;IACX,aAAa;IACb,OAAO;IACP,YAAY;IACZ,cAAc;CACf,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,eAAe;IACf,gBAAgB;IAChB,cAAc;CACN,CAAC;AAEX,oDAAoD;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IAC7C,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC"}
package/dist/inspect.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { RecordInspection } from "./types.js";
2
- /** Summarize which format buckets and associated properties a record uses. */
3
- export declare function inspectMemorixRecord(input: unknown): RecordInspection;
4
- //# sourceMappingURL=inspect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG/D,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CA8CrE"}
package/dist/inspect.js DELETED
@@ -1,51 +0,0 @@
1
- import { CANONICAL_ROOT_KEYS, LEGACY_ROOT_KEYS } from "./constants.js";
2
- import { listAssociatedProperties } from "./associated.js";
3
- import { readConceptIdentifier, readConceptTitle, readRecordId } from "./concept.js";
4
- import { isPlainObject } from "./utils.js";
5
- /** Summarize which format buckets and associated properties a record uses. */
6
- export function inspectMemorixRecord(input) {
7
- if (!isPlainObject(input)) {
8
- return {
9
- buckets: {
10
- data: false,
11
- analytics: false,
12
- enrichment: false,
13
- insights: false,
14
- system: false,
15
- },
16
- associatedProperties: [],
17
- legacyRoots: [],
18
- unknownRoots: [],
19
- };
20
- }
21
- const record = input;
22
- const conceptId = readConceptIdentifier(record);
23
- const associatedProperties = listAssociatedProperties(record);
24
- const legacyRoots = [];
25
- const unknownRoots = [];
26
- for (const key of Object.keys(record)) {
27
- if (CANONICAL_ROOT_KEYS.has(key) || associatedProperties.includes(key))
28
- continue;
29
- if (LEGACY_ROOT_KEYS.has(key)) {
30
- legacyRoots.push(key);
31
- continue;
32
- }
33
- unknownRoots.push(key);
34
- }
35
- return {
36
- recordId: readRecordId(record) || undefined,
37
- conceptTitle: readConceptTitle(record),
38
- conceptKind: conceptId?.kind,
39
- buckets: {
40
- data: isPlainObject(record.data),
41
- analytics: isPlainObject(record.analytics),
42
- enrichment: isPlainObject(record.enrichment),
43
- insights: isPlainObject(record.insights),
44
- system: isPlainObject(record._system),
45
- },
46
- associatedProperties,
47
- legacyRoots: legacyRoots.sort(),
48
- unknownRoots: unknownRoots.sort(),
49
- };
50
- }
51
- //# sourceMappingURL=inspect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,OAAO,EAAE;gBACP,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd;YACD,oBAAoB,EAAE,EAAE;YACxB,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAe,KAAK,CAAC;IACjC,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACjF,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS;QAC3C,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACtC,WAAW,EAAE,SAAS,EAAE,IAAI;QAC5B,OAAO,EAAE;YACP,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;YAChC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC;YAC1C,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;YAC5C,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;YACxC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;SACtC;QACD,oBAAoB;QACpB,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE;QAC/B,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE;KAClC,CAAC;AACJ,CAAC"}
package/dist/utils.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import type { JsonObject } from "./types.js";
2
- export declare function isPlainObject(v: unknown): v is JsonObject;
3
- export declare function stringifyId(value: unknown): string | null;
4
- /** PascalCase from kebab/snake (e.g. vulnerabilities-groups → VulnerabilitiesGroups). */
5
- export declare function pascalCaseObjectType(value: string): string;
6
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAEzD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAQzD;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM1D"}
package/dist/utils.js DELETED
@@ -1,23 +0,0 @@
1
- export function isPlainObject(v) {
2
- return v !== null && typeof v === "object" && !Array.isArray(v);
3
- }
4
- export function stringifyId(value) {
5
- if (value == null)
6
- return null;
7
- if (typeof value === "string") {
8
- const t = value.trim();
9
- return t || null;
10
- }
11
- if (typeof value === "number" || typeof value === "boolean")
12
- return String(value);
13
- return null;
14
- }
15
- /** PascalCase from kebab/snake (e.g. vulnerabilities-groups → VulnerabilitiesGroups). */
16
- export function pascalCaseObjectType(value) {
17
- return value
18
- .split(/[-_]/)
19
- .filter(Boolean)
20
- .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
21
- .join("");
22
- }
23
- //# sourceMappingURL=utils.js.map
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAC,CAAU;IACtC,OAAO,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK;SACT,KAAK,CAAC,MAAM,CAAC;SACb,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}