@geoprotocol/grc-20 0.1.7 → 0.2.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.
Files changed (45) hide show
  1. package/dist/builder/entity.d.ts +12 -6
  2. package/dist/builder/entity.d.ts.map +1 -1
  3. package/dist/builder/entity.js +15 -9
  4. package/dist/builder/entity.js.map +1 -1
  5. package/dist/builder/update.d.ts +12 -6
  6. package/dist/builder/update.d.ts.map +1 -1
  7. package/dist/builder/update.js +15 -9
  8. package/dist/builder/update.js.map +1 -1
  9. package/dist/codec/edit.d.ts.map +1 -1
  10. package/dist/codec/edit.js +153 -9
  11. package/dist/codec/edit.js.map +1 -1
  12. package/dist/codec/op.d.ts +8 -1
  13. package/dist/codec/op.d.ts.map +1 -1
  14. package/dist/codec/op.js +58 -2
  15. package/dist/codec/op.js.map +1 -1
  16. package/dist/codec/primitives.d.ts +33 -0
  17. package/dist/codec/primitives.d.ts.map +1 -1
  18. package/dist/codec/primitives.js +82 -0
  19. package/dist/codec/primitives.js.map +1 -1
  20. package/dist/codec/value.d.ts.map +1 -1
  21. package/dist/codec/value.js +48 -47
  22. package/dist/codec/value.js.map +1 -1
  23. package/dist/index.d.ts +0 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +0 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/test/basic.test.js +2 -322
  28. package/dist/test/basic.test.js.map +1 -1
  29. package/dist/types/edit.d.ts +28 -0
  30. package/dist/types/edit.d.ts.map +1 -1
  31. package/dist/types/edit.js +2 -0
  32. package/dist/types/edit.js.map +1 -1
  33. package/dist/types/op.d.ts +9 -0
  34. package/dist/types/op.d.ts.map +1 -1
  35. package/dist/types/op.js.map +1 -1
  36. package/dist/types/value.d.ts +15 -3
  37. package/dist/types/value.d.ts.map +1 -1
  38. package/dist/types/value.js +18 -0
  39. package/dist/types/value.js.map +1 -1
  40. package/package.json +1 -3
  41. package/readme.md +12 -100
  42. package/dist/ops/index.d.ts +0 -213
  43. package/dist/ops/index.d.ts.map +0 -1
  44. package/dist/ops/index.js +0 -203
  45. package/dist/ops/index.js.map +0 -1
@@ -35,17 +35,23 @@ export declare class EntityBuilder {
35
35
  */
36
36
  point(property: Id, lon: number, lat: number, alt?: number): this;
37
37
  /**
38
- * Adds a DATE value (ISO 8601 date string).
38
+ * Adds a DATE value.
39
+ * @param days - Signed days since Unix epoch (1970-01-01)
40
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
39
41
  */
40
- date(property: Id, value: string): this;
42
+ date(property: Id, days: number, offsetMin?: number): this;
41
43
  /**
42
- * Adds a TIME value (ISO 8601 time string with timezone).
44
+ * Adds a TIME value.
45
+ * @param timeUs - Microseconds since midnight (0 to 86,399,999,999)
46
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
43
47
  */
44
- time(property: Id, value: string): this;
48
+ time(property: Id, timeUs: bigint, offsetMin?: number): this;
45
49
  /**
46
- * Adds a DATETIME value (ISO 8601 datetime string).
50
+ * Adds a DATETIME value.
51
+ * @param epochUs - Microseconds since Unix epoch (1970-01-01T00:00:00Z)
52
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
47
53
  */
48
- datetime(property: Id, value: string): this;
54
+ datetime(property: Id, epochUs: bigint, offsetMin?: number): this;
49
55
  /**
50
56
  * Adds a SCHEDULE value (RFC 5545 iCalendar format).
51
57
  */
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/builder/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAuB;IAErC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKvC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,IAAI;IAQtD;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQnD;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQrD;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAQxC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAQ5C;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAQjE;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQvC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQvC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ3C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ3C;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQnF;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAI7E;;OAEG;IACH,SAAS,CACP,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GACf,IAAI;IAQP;;OAEG;IACH,SAAS,IAAI,aAAa,EAAE;CAG7B"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/builder/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAuB;IAErC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKvC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,IAAI;IAQtD;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQnD;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQrD;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAQxC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAQ5C;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAQjE;;;;OAIG;IACH,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,IAAI;IAQ7D;;;;OAIG;IACH,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,IAAI;IAQ/D;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,IAAI;IAQpE;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ3C;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQnF;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAI7E;;OAEG;IACH,SAAS,CACP,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GACf,IAAI;IAQP;;OAEG;IACH,SAAS,IAAI,aAAa,EAAE;CAG7B"}
@@ -71,32 +71,38 @@ export class EntityBuilder {
71
71
  return this;
72
72
  }
73
73
  /**
74
- * Adds a DATE value (ISO 8601 date string).
74
+ * Adds a DATE value.
75
+ * @param days - Signed days since Unix epoch (1970-01-01)
76
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
75
77
  */
76
- date(property, value) {
78
+ date(property, days, offsetMin = 0) {
77
79
  this.values.push({
78
80
  property,
79
- value: { type: "date", value },
81
+ value: { type: "date", days, offsetMin },
80
82
  });
81
83
  return this;
82
84
  }
83
85
  /**
84
- * Adds a TIME value (ISO 8601 time string with timezone).
86
+ * Adds a TIME value.
87
+ * @param timeUs - Microseconds since midnight (0 to 86,399,999,999)
88
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
85
89
  */
86
- time(property, value) {
90
+ time(property, timeUs, offsetMin = 0) {
87
91
  this.values.push({
88
92
  property,
89
- value: { type: "time", value },
93
+ value: { type: "time", timeUs, offsetMin },
90
94
  });
91
95
  return this;
92
96
  }
93
97
  /**
94
- * Adds a DATETIME value (ISO 8601 datetime string).
98
+ * Adds a DATETIME value.
99
+ * @param epochUs - Microseconds since Unix epoch (1970-01-01T00:00:00Z)
100
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
95
101
  */
96
- datetime(property, value) {
102
+ datetime(property, epochUs, offsetMin = 0) {
97
103
  this.values.push({
98
104
  property,
99
- value: { type: "datetime", value },
105
+ value: { type: "datetime", epochUs, offsetMin },
100
106
  });
101
107
  return this;
102
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/builder/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/builder/entity.ts"],"names":[],"mappings":"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"}
@@ -43,17 +43,23 @@ export declare class UpdateEntityBuilder {
43
43
  */
44
44
  setPoint(property: Id, lon: number, lat: number, alt?: number): this;
45
45
  /**
46
- * Sets a DATE value (ISO 8601 date string).
46
+ * Sets a DATE value.
47
+ * @param days - Signed days since Unix epoch (1970-01-01)
48
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
47
49
  */
48
- setDate(property: Id, value: string): this;
50
+ setDate(property: Id, days: number, offsetMin?: number): this;
49
51
  /**
50
- * Sets a TIME value (ISO 8601 time string with timezone).
52
+ * Sets a TIME value.
53
+ * @param timeUs - Microseconds since midnight (0 to 86,399,999,999)
54
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
51
55
  */
52
- setTime(property: Id, value: string): this;
56
+ setTime(property: Id, timeUs: bigint, offsetMin?: number): this;
53
57
  /**
54
- * Sets a DATETIME value (ISO 8601 datetime string).
58
+ * Sets a DATETIME value.
59
+ * @param epochUs - Microseconds since Unix epoch (1970-01-01T00:00:00Z)
60
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
55
61
  */
56
- setDatetime(property: Id, value: string): this;
62
+ setDatetime(property: Id, epochUs: bigint, offsetMin?: number): this;
57
63
  /**
58
64
  * Sets a SCHEDULE value (RFC 5545 iCalendar format).
59
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/builder/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAK;IACzB,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,MAAM,CAAoB;gBAEtB,EAAE,EAAE,EAAE;IAIlB;;OAEG;IACH,IAAI,EAAE,IAAI,EAAE,CAEX;IAED;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKrC;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,IAAI;IAQzD;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQtD;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQxD;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAQ3C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAQ/C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAQpE;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ1C;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ1C;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ9C;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ9C;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQtF;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAIhF;;OAEG;IACH,YAAY,CACV,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GACf,IAAI;IAQP;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAKlD;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI;IAK5B;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI;IAKhC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI;IAQ/C;;OAEG;IACH,MAAM,IAAI,aAAa,EAAE;IAIzB;;OAEG;IACH,QAAQ,IAAI,UAAU,EAAE;CAGzB"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/builder/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAK;IACzB,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,MAAM,CAAoB;gBAEtB,EAAE,EAAE,EAAE;IAIlB;;OAEG;IACH,IAAI,EAAE,IAAI,EAAE,CAEX;IAED;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKrC;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,IAAI;IAQzD;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQtD;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQxD;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAQ3C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAQ/C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAQpE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,IAAI;IAQhE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,IAAI;IAQlE;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,IAAI;IAQvE;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ9C;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAQtF;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAIhF;;OAEG;IACH,YAAY,CACV,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GACf,IAAI;IAQP;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAKlD;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI;IAK5B;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI;IAKhC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI;IAQ/C;;OAEG;IACH,MAAM,IAAI,aAAa,EAAE;IAIzB;;OAEG;IACH,QAAQ,IAAI,UAAU,EAAE;CAGzB"}
@@ -82,32 +82,38 @@ export class UpdateEntityBuilder {
82
82
  return this;
83
83
  }
84
84
  /**
85
- * Sets a DATE value (ISO 8601 date string).
85
+ * Sets a DATE value.
86
+ * @param days - Signed days since Unix epoch (1970-01-01)
87
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
86
88
  */
87
- setDate(property, value) {
89
+ setDate(property, days, offsetMin = 0) {
88
90
  this._set.push({
89
91
  property,
90
- value: { type: "date", value },
92
+ value: { type: "date", days, offsetMin },
91
93
  });
92
94
  return this;
93
95
  }
94
96
  /**
95
- * Sets a TIME value (ISO 8601 time string with timezone).
97
+ * Sets a TIME value.
98
+ * @param timeUs - Microseconds since midnight (0 to 86,399,999,999)
99
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
96
100
  */
97
- setTime(property, value) {
101
+ setTime(property, timeUs, offsetMin = 0) {
98
102
  this._set.push({
99
103
  property,
100
- value: { type: "time", value },
104
+ value: { type: "time", timeUs, offsetMin },
101
105
  });
102
106
  return this;
103
107
  }
104
108
  /**
105
- * Sets a DATETIME value (ISO 8601 datetime string).
109
+ * Sets a DATETIME value.
110
+ * @param epochUs - Microseconds since Unix epoch (1970-01-01T00:00:00Z)
111
+ * @param offsetMin - Signed UTC offset in minutes (e.g., +330 for +05:30)
106
112
  */
107
- setDatetime(property, value) {
113
+ setDatetime(property, epochUs, offsetMin = 0) {
108
114
  this._set.push({
109
115
  property,
110
- value: { type: "datetime", value },
116
+ value: { type: "datetime", epochUs, offsetMin },
111
117
  });
112
118
  return this;
113
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/builder/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/builder/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/codec/edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAoB,MAAM,kBAAkB,CAAC;AAa/D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,UAAU,CA2C1E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAyCjD"}
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/codec/edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,IAAI,EAAoB,MAAM,kBAAkB,CAAC;AAarF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,UAAU,CAoD1E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CA6CjD"}
@@ -12,14 +12,21 @@ const VERSION = 0;
12
12
  */
13
13
  export function encodeEdit(edit, options) {
14
14
  const canonical = options?.canonical ?? false;
15
- // Build dictionaries by scanning all ops
15
+ // Build dictionaries by scanning all ops (contexts are collected from ops)
16
16
  let dicts = buildDictionaries(edit.ops);
17
17
  // Sort dictionaries for canonical encoding
18
18
  if (canonical) {
19
19
  dicts = sortDictionaries(dicts);
20
20
  }
21
- // Create dictionary indices
22
- const indices = createDictionaryIndices(dicts);
21
+ // Create dictionary indices (with context collection support)
22
+ const { indices, getContexts } = createDictionaryIndices(dicts);
23
+ // First pass: encode ops to collect contexts
24
+ const opsWriter = new Writer(edit.ops.length * 50);
25
+ for (const op of edit.ops) {
26
+ encodeOp(opsWriter, op, indices);
27
+ }
28
+ const opsBytes = opsWriter.finish();
29
+ const contexts = getContexts();
23
30
  // Write to buffer
24
31
  const writer = new Writer(1024);
25
32
  // Magic + version
@@ -37,11 +44,11 @@ export function encodeEdit(edit, options) {
37
44
  writer.writeSignedVarint(edit.createdAt);
38
45
  // Dictionaries
39
46
  writeDictionaries(writer, dicts);
40
- // Operations
47
+ // Contexts (collected from ops during encoding)
48
+ writeContexts(writer, contexts, indices);
49
+ // Operations (already encoded)
41
50
  writer.writeVarintNumber(edit.ops.length);
42
- for (const op of edit.ops) {
43
- encodeOp(writer, op, indices);
44
- }
51
+ writer.writeBytes(opsBytes);
45
52
  return writer.finish();
46
53
  }
47
54
  /**
@@ -72,6 +79,9 @@ export function decodeEdit(data) {
72
79
  const createdAt = reader.readSignedVarint();
73
80
  // Dictionaries
74
81
  const dicts = readDictionaries(reader);
82
+ // Contexts - read and store in dicts for op decoding
83
+ const contexts = readContexts(reader, dicts);
84
+ dicts.contexts = contexts;
75
85
  const lookups = createDictionaryLookups(dicts);
76
86
  // Operations
77
87
  const opCount = reader.readVarintNumber();
@@ -98,7 +108,9 @@ function buildDictionaries(ops) {
98
108
  languages: new Map(),
99
109
  units: new Map(),
100
110
  objects: new Map(),
111
+ contextIds: new Map(),
101
112
  };
113
+ // Note: contextIds are populated during encoding when addContext is called
102
114
  function addProperty(id, dataType) {
103
115
  const key = idKey(id);
104
116
  if (!dicts.properties.has(key)) {
@@ -190,12 +202,14 @@ function sortDictionaries(dicts) {
190
202
  const sortedLangs = Array.from(dicts.languages.values()).sort(compareIds);
191
203
  const sortedUnits = Array.from(dicts.units.values()).sort(compareIds);
192
204
  const sortedObjects = Array.from(dicts.objects.values()).sort(compareIds);
205
+ const sortedContextIds = Array.from(dicts.contextIds.values()).sort(compareIds);
193
206
  const sorted = {
194
207
  properties: new Map(),
195
208
  relationTypes: new Map(),
196
209
  languages: new Map(),
197
210
  units: new Map(),
198
211
  objects: new Map(),
212
+ contextIds: new Map(),
199
213
  };
200
214
  for (const prop of sortedProps) {
201
215
  sorted.properties.set(idKey(prop.id), prop);
@@ -212,8 +226,14 @@ function sortDictionaries(dicts) {
212
226
  for (const id of sortedObjects) {
213
227
  sorted.objects.set(idKey(id), id);
214
228
  }
229
+ for (const id of sortedContextIds) {
230
+ sorted.contextIds.set(idKey(id), id);
231
+ }
215
232
  return sorted;
216
233
  }
234
+ /**
235
+ * Creates dictionary indices for encoding, with support for collecting contexts.
236
+ */
217
237
  function createDictionaryIndices(dicts) {
218
238
  const propToIndex = new Map();
219
239
  const propToDataType = new Map();
@@ -221,6 +241,10 @@ function createDictionaryIndices(dicts) {
221
241
  const langToIndex = new Map();
222
242
  const unitToIndex = new Map();
223
243
  const objToIndex = new Map();
244
+ const ctxIdToIndex = new Map();
245
+ // Context collection (built during encoding)
246
+ const contexts = [];
247
+ const contextToIndex = new Map();
224
248
  let i = 0;
225
249
  for (const [key, prop] of dicts.properties) {
226
250
  propToIndex.set(key, i++);
@@ -242,7 +266,34 @@ function createDictionaryIndices(dicts) {
242
266
  for (const key of dicts.objects.keys()) {
243
267
  objToIndex.set(key, i++);
244
268
  }
245
- return {
269
+ i = 0;
270
+ for (const key of dicts.contextIds.keys()) {
271
+ ctxIdToIndex.set(key, i++);
272
+ }
273
+ // Helper to add a context ID (for contexts collected during encoding)
274
+ function addContextId(id) {
275
+ const key = idKey(id);
276
+ if (!ctxIdToIndex.has(key)) {
277
+ const idx = ctxIdToIndex.size;
278
+ ctxIdToIndex.set(key, idx);
279
+ dicts.contextIds.set(key, id);
280
+ }
281
+ }
282
+ // Helper to add a relation type (for context edges)
283
+ function addRelationType(id) {
284
+ const key = idKey(id);
285
+ if (!relTypeToIndex.has(key)) {
286
+ const idx = relTypeToIndex.size;
287
+ relTypeToIndex.set(key, idx);
288
+ dicts.relationTypes.set(key, id);
289
+ }
290
+ }
291
+ // Create a serializable key for context deduplication
292
+ function contextKey(ctx) {
293
+ const edgeKeys = ctx.edges.map(e => `${idKey(e.typeId)}:${idKey(e.toEntityId)}`).join(',');
294
+ return `${idKey(ctx.rootId)}|${edgeKeys}`;
295
+ }
296
+ const indices = {
246
297
  getPropertyIndex(id) {
247
298
  const key = idKey(id);
248
299
  const idx = propToIndex.get(key);
@@ -295,7 +346,34 @@ function createDictionaryIndices(dicts) {
295
346
  }
296
347
  return idx;
297
348
  },
349
+ getContextIdIndex(id) {
350
+ const key = idKey(id);
351
+ const idx = ctxIdToIndex.get(key);
352
+ if (idx === undefined) {
353
+ throw new Error(`context ID not in dictionary: ${key}`);
354
+ }
355
+ return idx;
356
+ },
357
+ addContext(ctx) {
358
+ const key = contextKey(ctx);
359
+ const existing = contextToIndex.get(key);
360
+ if (existing !== undefined) {
361
+ return existing;
362
+ }
363
+ // Register all IDs in the context
364
+ addContextId(ctx.rootId);
365
+ for (const edge of ctx.edges) {
366
+ addRelationType(edge.typeId);
367
+ addContextId(edge.toEntityId);
368
+ }
369
+ // Add to contexts array
370
+ const idx = contexts.length;
371
+ contexts.push(ctx);
372
+ contextToIndex.set(key, idx);
373
+ return idx;
374
+ },
298
375
  };
376
+ return { indices, getContexts: () => contexts };
299
377
  }
300
378
  function writeDictionaries(writer, dicts) {
301
379
  // Properties: count + (id, data_type) pairs
@@ -324,6 +402,26 @@ function writeDictionaries(writer, dicts) {
324
402
  for (const id of dicts.objects.values()) {
325
403
  writer.writeId(id);
326
404
  }
405
+ // Context IDs
406
+ writer.writeVarintNumber(dicts.contextIds.size);
407
+ for (const id of dicts.contextIds.values()) {
408
+ writer.writeId(id);
409
+ }
410
+ }
411
+ function writeContexts(writer, contexts, indices) {
412
+ writer.writeVarintNumber(contexts.length);
413
+ for (const ctx of contexts) {
414
+ // root_id as ContextRef (index into contextIds)
415
+ writer.writeVarintNumber(indices.getContextIdIndex(ctx.rootId));
416
+ // edges
417
+ writer.writeVarintNumber(ctx.edges.length);
418
+ for (const edge of ctx.edges) {
419
+ // type_id as RelationTypeRef
420
+ writer.writeVarintNumber(indices.getRelationTypeIndex(edge.typeId));
421
+ // to_entity_id as ContextRef
422
+ writer.writeVarintNumber(indices.getContextIdIndex(edge.toEntityId));
423
+ }
424
+ }
327
425
  }
328
426
  function readDictionaries(reader) {
329
427
  // Properties
@@ -345,7 +443,41 @@ function readDictionaries(reader) {
345
443
  const units = reader.readIdVec();
346
444
  // Objects
347
445
  const objects = reader.readIdVec();
348
- return { properties, relationTypes, languages, units, objects };
446
+ // Context IDs
447
+ const contextIds = reader.readIdVec();
448
+ return { properties, relationTypes, languages, units, objects, contextIds, contexts: [] };
449
+ }
450
+ function readContexts(reader, dicts) {
451
+ const contextCount = reader.readVarintNumber();
452
+ const contexts = [];
453
+ for (let i = 0; i < contextCount; i++) {
454
+ // root_id as ContextRef
455
+ const rootIdIndex = reader.readVarintNumber();
456
+ if (rootIdIndex >= dicts.contextIds.length) {
457
+ throw new DecodeError("E002", `context ID index ${rootIdIndex} out of bounds`);
458
+ }
459
+ const rootId = dicts.contextIds[rootIdIndex];
460
+ // edges
461
+ const edgeCount = reader.readVarintNumber();
462
+ const edges = [];
463
+ for (let j = 0; j < edgeCount; j++) {
464
+ // type_id as RelationTypeRef
465
+ const typeIdIndex = reader.readVarintNumber();
466
+ if (typeIdIndex >= dicts.relationTypes.length) {
467
+ throw new DecodeError("E002", `relation type index ${typeIdIndex} out of bounds`);
468
+ }
469
+ const typeId = dicts.relationTypes[typeIdIndex];
470
+ // to_entity_id as ContextRef
471
+ const toEntityIdIndex = reader.readVarintNumber();
472
+ if (toEntityIdIndex >= dicts.contextIds.length) {
473
+ throw new DecodeError("E002", `context ID index ${toEntityIdIndex} out of bounds`);
474
+ }
475
+ const toEntityId = dicts.contextIds[toEntityIdIndex];
476
+ edges.push({ typeId, toEntityId });
477
+ }
478
+ contexts.push({ rootId, edges });
479
+ }
480
+ return contexts;
349
481
  }
350
482
  function createDictionaryLookups(dicts) {
351
483
  return {
@@ -385,6 +517,18 @@ function createDictionaryLookups(dicts) {
385
517
  }
386
518
  return dicts.relationTypes[index];
387
519
  },
520
+ getContextId(index) {
521
+ if (index >= dicts.contextIds.length) {
522
+ throw new DecodeError("E002", `context ID index ${index} out of bounds (size: ${dicts.contextIds.length})`);
523
+ }
524
+ return dicts.contextIds[index];
525
+ },
526
+ getContext(index) {
527
+ if (index >= dicts.contexts.length) {
528
+ return undefined;
529
+ }
530
+ return dicts.contexts[index];
531
+ },
388
532
  };
389
533
  }
390
534
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/codec/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/codec/edit.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  import type { Id } from "../types/id.js";
2
+ import type { Context } from "../types/edit.js";
2
3
  import type { Op } from "../types/op.js";
3
4
  import { Reader, Writer } from "./primitives.js";
4
5
  import { type DictionaryIndices, type DictionaryLookups } from "./value.js";
5
6
  /**
6
- * Extended dictionary indices for ops (includes objects).
7
+ * Extended dictionary indices for ops (includes objects and contexts).
7
8
  */
8
9
  export interface OpDictionaryIndices extends DictionaryIndices {
9
10
  getObjectIndex(id: Id): number;
10
11
  getRelationTypeIndex(id: Id): number;
12
+ getContextIdIndex(id: Id): number;
13
+ /** Adds or gets the index for a context (deduplicates). */
14
+ addContext(ctx: Context): number;
11
15
  }
12
16
  /**
13
17
  * Extended dictionary lookups for ops.
@@ -15,6 +19,9 @@ export interface OpDictionaryIndices extends DictionaryIndices {
15
19
  export interface OpDictionaryLookups extends DictionaryLookups {
16
20
  getObject(index: number): Id;
17
21
  getRelationType(index: number): Id;
22
+ getContextId(index: number): Id;
23
+ /** Gets a context by index (returns undefined if not found). */
24
+ getContext(index: number): Context | undefined;
18
25
  }
19
26
  /**
20
27
  * Encodes a single operation.
@@ -1 +1 @@
1
- {"version":3,"file":"op.d.ts","sourceRoot":"","sources":["../../src/codec/op.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAMV,EAAE,EAQH,MAAM,gBAAgB,CAAC;AAaxB,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,cAAc,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC;IAC7B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC;CACpC;AAkCD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,CA8BjF;AAqLD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,EAAE,CAyBvE"}
1
+ {"version":3,"file":"op.d.ts","sourceRoot":"","sources":["../../src/codec/op.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAMV,EAAE,EAQH,MAAM,gBAAgB,CAAC;AAaxB,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,cAAc,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IACrC,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IAClC,2DAA2D;IAC3D,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC;IAC7B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC;IACnC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC;IAChC,gEAAgE;IAChE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAChD;AAqCD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,CA8BjF;AAoMD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,EAAE,CAyBvE"}