@m4l/gclick-realtime 1.1.0 → 1.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 (62) hide show
  1. package/contracts/deviceData.d.ts +1 -1
  2. package/contracts/deviceData.d.ts.map +1 -1
  3. package/contracts/deviceDetail.d.ts +0 -1
  4. package/contracts/deviceDetail.d.ts.map +1 -1
  5. package/dummy/catalogs/baseDeviceTemplate.d.ts +1 -1
  6. package/dummy/catalogs/baseDeviceTemplate.d.ts.map +1 -1
  7. package/dummy/catalogs/scenarios.d.ts +46 -46
  8. package/dummy/catalogs/scenarios.js +46 -46
  9. package/dummy/runtime/dummy.d.ts.map +1 -1
  10. package/dummy/runtime/dummy.js +11 -10
  11. package/dummy/runtime/simulation.d.ts +2 -1
  12. package/dummy/runtime/simulation.d.ts.map +1 -1
  13. package/dummy/runtime/simulation.js +384 -361
  14. package/dummy/shared/types.d.ts +1 -1
  15. package/dummy/shared/types.d.ts.map +1 -1
  16. package/package.json +1 -1
  17. package/payload/index.d.ts +1 -0
  18. package/payload/index.d.ts.map +1 -1
  19. package/payload/index.js +7 -4
  20. package/payload/mergeDevicePayloadWithUpdatedAtGuard.d.ts +10 -0
  21. package/payload/mergeDevicePayloadWithUpdatedAtGuard.d.ts.map +1 -0
  22. package/payload/mergeDevicePayloadWithUpdatedAtGuard.js +50 -0
  23. package/web/consumer/RealTimeConsumerContext.d.ts.map +1 -1
  24. package/web/consumer/RealTimeConsumerContext.js +59 -30
  25. package/web/consumer/store.d.ts +1 -0
  26. package/web/consumer/store.d.ts.map +1 -1
  27. package/web/consumer/store.helpers.d.ts +24 -2
  28. package/web/consumer/store.helpers.d.ts.map +1 -1
  29. package/web/consumer/store.helpers.js +61 -33
  30. package/web/consumer/store.js +176 -60
  31. package/web/consumer/types.d.ts +3 -2
  32. package/web/consumer/types.d.ts.map +1 -1
  33. package/web/host/devicesResourceType.d.ts +70 -0
  34. package/web/host/devicesResourceType.d.ts.map +1 -0
  35. package/web/host/devicesResourceType.js +196 -0
  36. package/web/host/hostRuntime.d.ts +7 -0
  37. package/web/host/hostRuntime.d.ts.map +1 -1
  38. package/web/host/hostRuntime.js +44 -28
  39. package/web/host/index.d.ts +5 -2
  40. package/web/host/index.d.ts.map +1 -1
  41. package/web/host/launchContract.d.ts +25 -5
  42. package/web/host/launchContract.d.ts.map +1 -1
  43. package/web/host/launchContract.js +78 -41
  44. package/web/host/startupSnapshots.d.ts +32 -0
  45. package/web/host/startupSnapshots.d.ts.map +1 -0
  46. package/web/host/startupSnapshots.js +50 -0
  47. package/web/index.js +53 -47
  48. package/web/producer/sourceDataFactory.d.ts +3 -3
  49. package/web/producer/sourceDataFactory.d.ts.map +1 -1
  50. package/web/producer/sourceDataFactory.js +25 -21
  51. package/web/runtime/resourceTypeMergeStrategies.d.ts +10 -0
  52. package/web/runtime/resourceTypeMergeStrategies.d.ts.map +1 -0
  53. package/web/runtime/resourceTypeMergeStrategies.js +19 -0
  54. package/web/runtime/runtime.d.ts.map +1 -1
  55. package/web/runtime/runtime.js +15 -9
  56. package/web/runtime/runtimeAtmosphereOnly.d.ts.map +1 -1
  57. package/web/runtime/runtimeAtmosphereOnly.js +18 -12
  58. package/web/shared/performanceMetrics.d.ts +18 -2
  59. package/web/shared/performanceMetrics.d.ts.map +1 -1
  60. package/web/shared/performanceMetrics.js +35 -20
  61. package/web/shared/runtimeTypes.d.ts +2 -2
  62. package/web/shared/runtimeTypes.d.ts.map +1 -1
@@ -154,7 +154,7 @@ export type RealTimeDummyGeneratedRoutesCatalog = Record<string, RealTimeDummyGe
154
154
  /**
155
155
  * Realtime resource serial identifier used by the deterministic dummy catalogs.
156
156
  */
157
- export type RealTimeResourceSerialId = number | string;
157
+ export type RealTimeResourceSerialId = string;
158
158
  /**
159
159
  * Static visual identity assigned to a dummy device.
160
160
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/shared/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/shared/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,0BAA0B,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,+BAA+B,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,CAAC;AAE1F;;GAEG;AACH,MAAM,MAAM,oCAAoC,GAC5C,eAAe,GACf,uBAAuB,GACvB,iBAAiB,CAAC;AAEtB;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,OAAO,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,cAAc,GAAG,UAAU,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;AAEpG;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,8BAA8B,CAAC;IACzC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,iCAAiC,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,8BAA8B,CAAC;IAC7C,2BAA2B,CAAC,EAAE,oCAAoC,CAAC;IACnE,4BAA4B,CAAC,EAAE,oCAAoC,CAAC;IACpE;;OAEG;IACH,aAAa,CAAC,EAAE,kCAAkC,EAAE,CAAC;IACrD;;OAEG;IACH,WAAW,CAAC,EAAE,iCAAiC,EAAE,CAAC;IAClD;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,8BAA8B,CAAC;IACvC,eAAe,CAAC,EAAE,kCAAkC,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE;QACf,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,iBAAiB,EAAE,oCAAoC,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,+BAA+B,CAAC;IAC9C,UAAU,EAAE,6BAA6B,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,2CAA4C,SAAQ,0BAA0B;IAC7F,IAAI,EAAE,aAAa,GAAG,cAAc,GAAG,QAAQ,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,+CAAgD,SAAQ,0BAA0B;IACjG,wBAAwB,EAAE,MAAM,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,uCAAuC,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,oCAAoC,CAAC;IACxD,aAAa,EAAE,+CAA+C,EAAE,CAAC;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,+BAA+B,CAAC;IAC9C,UAAU,EAAE,6BAA6B,CAAC;IAC1C,SAAS,EAAE,2CAA2C,EAAE,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG,MAAM,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;AAEtG;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC5C;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,CACrB,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC,CACvF,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,oCAAoC;IAC3F,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,+BAA+B;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,+BAA+B;IAC7E,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,2BAA2B,GACnC,uBAAuB,GACvB,sBAAsB,GACtB,wBAAwB,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,wBAAwB,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG,2BAA2B,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,2BAA2B,EAAE,CAAC;CACvC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gCAAgC;IAC/C,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,kGAAkG;IAClG,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACtC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC5C;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,iBAAiB,CAAC,EAAE,8BAA8B,CAAC;IACnD;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,gCAAgC,EAAE,CAAC;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,+BAA+B,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,+BAA+B,CAAC;IAC3C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,6BAA6B,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,0CAA2C,SAAQ,yCAAyC;IAC3G,mBAAmB,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,UAAU,CAAC,EAAE,6BAA6B,CAAC;IAC3C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m4l/gclick-realtime",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -1,4 +1,5 @@
1
1
  export * from './types';
2
2
  export * from './getVptValueWithGuard';
3
3
  export * from './getVptUpdatedAtWithGuard';
4
+ export * from './mergeDevicePayloadWithUpdatedAtGuard';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/gclick-realtime/src/payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/gclick-realtime/src/payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC"}
package/payload/index.js CHANGED
@@ -1,6 +1,9 @@
1
- import { getVptValueWithGuard as r } from "./getVptValueWithGuard.js";
2
- import { getVptUpdatedAtWithGuard as a } from "./getVptUpdatedAtWithGuard.js";
1
+ import { getVptValueWithGuard as d } from "./getVptValueWithGuard.js";
2
+ import { getVptUpdatedAtWithGuard as r } from "./getVptUpdatedAtWithGuard.js";
3
+ import { mergeDevicePayloadNodeWithUpdatedAtGuard as p, mergeDevicePayloadWithUpdatedAtGuard as i } from "./mergeDevicePayloadWithUpdatedAtGuard.js";
3
4
  export {
4
- a as getVptUpdatedAtWithGuard,
5
- r as getVptValueWithGuard
5
+ r as getVptUpdatedAtWithGuard,
6
+ d as getVptValueWithGuard,
7
+ p as mergeDevicePayloadNodeWithUpdatedAtGuard,
8
+ i as mergeDevicePayloadWithUpdatedAtGuard
6
9
  };
@@ -0,0 +1,10 @@
1
+ import { RealTimeResourcePayloadMergeStrategy } from '@m4l/realtime-runtime';
2
+ /**
3
+ * Sanitize one incoming device payload branch while preserving newer tracked wrappers already in the producer snapshot.
4
+ */
5
+ export declare function mergeDevicePayloadNodeWithUpdatedAtGuard(currentNode: unknown, incomingNode: unknown): unknown;
6
+ /**
7
+ * Return one sanitized `rt_devices` patch using tracked-wrapper timestamps from the current producer snapshot.
8
+ */
9
+ export declare const mergeDevicePayloadWithUpdatedAtGuard: RealTimeResourcePayloadMergeStrategy;
10
+ //# sourceMappingURL=mergeDevicePayloadWithUpdatedAtGuard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeDevicePayloadWithUpdatedAtGuard.d.ts","sourceRoot":"","sources":["../../../../../packages/gclick-realtime/src/payload/mergeDevicePayloadWithUpdatedAtGuard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oCAAoC,EACrC,MAAM,uBAAuB,CAAC;AA4D/B;;GAEG;AACH,wBAAgB,wCAAwC,CACtD,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,OAAO,GACpB,OAAO,CAqDT;AAED;;GAEG;AACH,eAAO,MAAM,oCAAoC,EAAE,oCAYlD,CAAC"}
@@ -0,0 +1,50 @@
1
+ const d = /* @__PURE__ */ new Set(["state", "updatedAt", "value"]);
2
+ function f(e) {
3
+ if (typeof e != "object" || e === null || Array.isArray(e))
4
+ return !1;
5
+ const t = Object.getPrototypeOf(e);
6
+ return t === Object.prototype || t === null;
7
+ }
8
+ function u(e) {
9
+ return f(e) ? Object.keys(e).some((t) => d.has(t)) : !1;
10
+ }
11
+ function l(e, t) {
12
+ const r = e.updatedAt, a = t.updatedAt;
13
+ if (typeof r != "string" || typeof a != "string")
14
+ return !1;
15
+ const s = new Date(r).getTime(), i = new Date(a).getTime();
16
+ return !Number.isFinite(s) || !Number.isFinite(i) ? !1 : i < s;
17
+ }
18
+ function p(e, t) {
19
+ if (t !== void 0) {
20
+ if (u(e) && u(t))
21
+ return l(e, t) ? { ...e } : {
22
+ ...e,
23
+ ...t
24
+ };
25
+ if (Array.isArray(t))
26
+ return t;
27
+ if (f(e) && f(t)) {
28
+ let r = t, a = !1;
29
+ return Object.entries(t).forEach(([s, i]) => {
30
+ const n = p(
31
+ e[s],
32
+ i
33
+ );
34
+ n === i && n !== void 0 || (a || (r = { ...t }, a = !0), n === void 0 ? delete r[s] : r[s] = n);
35
+ }), r;
36
+ }
37
+ return t;
38
+ }
39
+ }
40
+ const c = (e, t) => {
41
+ const r = p(
42
+ e,
43
+ t
44
+ );
45
+ return f(r) ? r : t;
46
+ };
47
+ export {
48
+ p as mergeDevicePayloadNodeWithUpdatedAtGuard,
49
+ c as mergeDevicePayloadWithUpdatedAtGuard
50
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"RealTimeConsumerContext.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/web/consumer/RealTimeConsumerContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAOrD,QAAA,MAAM,uBAAuB;;UAE5B,CAAC;AAEF;;GAEG;AACH,iBAAS,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,2CAmD7D;AAED,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"RealTimeConsumerContext.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/web/consumer/RealTimeConsumerContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAYrD,QAAA,MAAM,uBAAuB;;UAE5B,CAAC;AAgCF;;GAEG;AACH,iBAAS,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,2CA2E7D;AAED,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,43 +1,72 @@
1
- import { j as R } from "../../_virtual/jsx-runtime.js";
1
+ import { j as h } from "../../_virtual/jsx-runtime.js";
2
2
  import { r as o } from "../../_virtual/index.js";
3
- import { createRealTimeConsumerStore as C } from "./store.js";
4
- import { RESOURCE_TYPE_DEVICES as c } from "../shared/constants.js";
5
- const p = o.createContext(
3
+ import { createRealTimeConsumerStore as x } from "./store.js";
4
+ import { RESOURCE_TYPE_DEVICES as s } from "../shared/constants.js";
5
+ import { recordRealtimePerformanceMetric as a } from "../shared/performanceMetrics.js";
6
+ const w = o.createContext(
6
7
  null
7
8
  );
8
- function S(a) {
9
+ let u = 0, i = 0;
10
+ function f(e) {
11
+ u = Math.max(
12
+ 0,
13
+ u + e
14
+ ), a(
15
+ "consumerActiveStoreCount",
16
+ u
17
+ );
18
+ }
19
+ function C(e) {
20
+ i = Math.max(
21
+ 0,
22
+ i + e
23
+ ), a(
24
+ "consumerActiveSubscriptionCount",
25
+ i
26
+ );
27
+ }
28
+ function y(e) {
9
29
  const {
10
- children: u,
11
- onMessagesCallbacks: t = [],
12
- onSubscribeCallbacks: n = [],
13
- hasResourcesTypesDecorators: i = {},
14
- producerTools: s,
15
- windowId: l,
16
- storeDevtoolsEnabled: m = !1,
17
- ...d
18
- } = a, e = o.useRef(null), r = o.useRef(l).current;
19
- return e.current || (e.current = C(
30
+ children: R,
31
+ onMessagesCallbacks: m = [],
32
+ onSubscribeCallbacks: l = [],
33
+ hasResourcesTypesDecorators: d = {},
34
+ producerTools: n,
35
+ windowId: p,
36
+ storeDevtoolsEnabled: b = !1,
37
+ ...S
38
+ } = e, r = o.useRef(null), t = o.useRef(p).current;
39
+ return r.current || (r.current = x(
20
40
  {
21
- ...d,
22
- storeId: r,
23
- hasResourcesTypesDecorators: i
41
+ ...S,
42
+ storeId: t,
43
+ hasResourcesTypesDecorators: d
24
44
  },
25
- m
26
- )), o.useEffect(() => {
27
- if (e.current) {
28
- const { onMessages: f, loadResourceType: b } = e.current.getState().realTimeConsumerActions;
29
- s.subscribe(c, {
30
- clientId: r,
31
- onMessageCallbacks: [f, ...t],
32
- onSubscribeCallbacks: [b, ...n]
45
+ b
46
+ )), o.useEffect(() => (f(1), () => {
47
+ f(-1);
48
+ }), []), o.useEffect(() => {
49
+ if (r.current) {
50
+ const { onMessages: E, loadResourceType: v } = r.current.getState().realTimeConsumerActions, c = n.subscribeResourceType(s, {
51
+ clientId: t,
52
+ onMessageCallbacks: [E, ...m]
33
53
  });
54
+ v(s, c), l.forEach((T) => {
55
+ T(
56
+ s,
57
+ c
58
+ );
59
+ }), a(
60
+ "consumerSnapshotResourceCount",
61
+ Object.keys(c).length
62
+ ), C(1);
34
63
  }
35
64
  return () => {
36
- s.unsubscribe(c, r);
65
+ n.unsubscribe(s, t), C(-1);
37
66
  };
38
- }, [s, t, n, r]), /* @__PURE__ */ R.jsx(p.Provider, { value: e.current, children: u });
67
+ }, [n, m, l, t]), /* @__PURE__ */ h.jsx(w.Provider, { value: r.current, children: R });
39
68
  }
40
69
  export {
41
- p as RealTimeConsumerContext,
42
- S as RealTimeConsumerProvider
70
+ w as RealTimeConsumerContext,
71
+ y as RealTimeConsumerProvider
43
72
  };
@@ -1,4 +1,5 @@
1
1
  import { InitialRealTimeStoreProps, RealTimeConsumerStoreStateWithActions } from './types';
2
+ export declare const REALTIME_CONSUMER_SNAPSHOT_CHUNK_SIZE = 200;
2
3
  /**
3
4
  * Create the consumer-side realtime store.
4
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/web/consumer/store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,yBAAyB,EAEzB,qCAAqC,EACtC,MAAM,SAAS,CAAC;AAejB;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,yBAAyB,EACpC,oBAAoB,UAAQ;;EAwH7B;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAChD,OAAO,2BAA2B,CACnC,CAAC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/web/consumer/store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,yBAAyB,EAEzB,qCAAqC,EACtC,MAAM,SAAS,CAAC;AAwBjB,eAAO,MAAM,qCAAqC,MAAM,CAAC;AAkEzD;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,yBAAyB,EACpC,oBAAoB,UAAQ;;EA6T7B;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAChD,OAAO,2BAA2B,CACnC,CAAC"}
@@ -1,8 +1,13 @@
1
1
  import { DevtoolsOptions } from 'zustand/middleware';
2
2
  import { StateCreator } from 'zustand';
3
3
  import { ObjectQueue } from '@m4l/realtime-runtime';
4
- import { RealTimeMessage, RealTimeMessagePayload, RealTimeResourceSerialId, RealTimeResourceTypeId } from '../shared/runtimeTypes';
4
+ import { MessageQueueManager, RealTimeMessage, RealTimeMessagePayload, RealTimeReadonlyResourceHash, RealTimeResourceSerialId, RealTimeResourceTypeId } from '../shared/runtimeTypes';
5
5
  import { RealTimeConsumerStoreStateWithActions, RealTimeMessageDecorator } from './types';
6
+ type ConsumerSnapshotResourceKey = string;
7
+ type RealTimeConsumerSnapshotEntry = [
8
+ resourceSerialId: RealTimeResourceSerialId,
9
+ resource: RealTimeMessagePayload
10
+ ];
6
11
  /**
7
12
  * Decorate one resource or message payload.
8
13
  */
@@ -10,7 +15,23 @@ export declare function decorateResourceOrMessage(resourceSerialId: RealTimeReso
10
15
  /**
11
16
  * Decorate the full resource hash for one resource type.
12
17
  */
13
- export declare function decorateAllResourcesOfType(resources: Record<RealTimeResourceSerialId, RealTimeMessagePayload>, decorators?: RealTimeMessageDecorator[]): Record<RealTimeResourceSerialId, RealTimeMessagePayload>;
18
+ export declare function decorateAllResourcesOfType(resources: RealTimeReadonlyResourceHash, decorators?: RealTimeMessageDecorator[]): Record<string, RealTimeMessagePayload>;
19
+ /**
20
+ * Create the queue manager used by one consumer resource type.
21
+ */
22
+ export declare function createConsumerMessageManager(): MessageQueueManager;
23
+ /**
24
+ * Normalize resource ids to one key shape for race guards across string and numeric ids.
25
+ */
26
+ export declare function createConsumerResourceKey(resourceSerialId: RealTimeResourceSerialId): ConsumerSnapshotResourceKey;
27
+ /**
28
+ * Convert a read-only producer snapshot into stable entries for chunked consumer loading.
29
+ */
30
+ export declare function createConsumerSnapshotEntries(resources: RealTimeReadonlyResourceHash): RealTimeConsumerSnapshotEntry[];
31
+ /**
32
+ * Apply one startup snapshot slice to the consumer hash without overwriting live-touched resources.
33
+ */
34
+ export declare function applyConsumerSnapshotEntriesChunk(hasResources: Record<RealTimeResourceSerialId, RealTimeMessagePayload>, entries: RealTimeConsumerSnapshotEntry[], startIndex: number, endIndex: number, decorators?: RealTimeMessageDecorator[], liveTouchedResourceKeys?: Set<ConsumerSnapshotResourceKey>): void;
14
35
  /**
15
36
  * Drain all queued realtime messages while preserving arrival order.
16
37
  */
@@ -29,4 +50,5 @@ export declare function createConsumerDevtools(immerMiddlewere: StateCreator<Rea
29
50
  ], [
30
51
  ['zustand/immer', never]
31
52
  ]>;
53
+ export {};
32
54
  //# sourceMappingURL=store.helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.helpers.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/web/consumer/store.helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,qCAAqC,EACrC,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,wBAAwB,EAC1C,iBAAiB,EAAE,sBAAsB,EACzC,UAAU,CAAC,EAAE,wBAAwB,EAAE,0BAWxC;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,EACnE,UAAU,CAAC,EAAE,wBAAwB,EAAE,4DAUxC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC,eAAe,CAAC,qBAY9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,EACtE,cAAc,EAAE,sBAAsB,EACtC,OAAO,EAAE,eAAe,EACxB,UAAU,CAAC,EAAE,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,CAAC,QAwBxE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,YAAY,CAC3B,qCAAqC,EACrC;CAAE,EACF;IAAC,CAAC,eAAe,EAAE,KAAK,CAAC;CAAC,CAC3B,EACD,MAAM,EAAE,eAAe,GACtB,YAAY,CACb,qCAAqC,EACrC;CAAE,EACF;IAAC,CAAC,eAAe,EAAE,KAAK,CAAC;CAAC,CAC3B,CAYA"}
1
+ {"version":3,"file":"store.helpers.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/web/consumer/store.helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,qCAAqC,EACrC,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,KAAK,2BAA2B,GAAG,MAAM,CAAC;AAE1C,KAAK,6BAA6B,GAAG;IACnC,gBAAgB,EAAE,wBAAwB;IAC1C,QAAQ,EAAE,sBAAsB;CACjC,CAAC;AAEF;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,wBAAwB,EAC1C,iBAAiB,EAAE,sBAAsB,EACzC,UAAU,CAAC,EAAE,wBAAwB,EAAE,0BAWxC;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,4BAA4B,EACvC,UAAU,CAAC,EAAE,wBAAwB,EAAE,0CAUxC;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,mBAAmB,CAMlE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,wBAAwB,GACzC,2BAA2B,CAE7B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,4BAA4B,GACtC,6BAA6B,EAAE,CAEjC;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,EACtE,OAAO,EAAE,6BAA6B,EAAE,EACxC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,wBAAwB,EAAE,EACvC,uBAAuB,CAAC,EAAE,GAAG,CAAC,2BAA2B,CAAC,QAe3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC,eAAe,CAAC,qBAY9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,EACtE,cAAc,EAAE,sBAAsB,EACtC,OAAO,EAAE,eAAe,EACxB,UAAU,CAAC,EAAE,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,CAAC,QAwBxE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,YAAY,CAC3B,qCAAqC,EACrC;CAAE,EACF;IAAC,CAAC,eAAe,EAAE,KAAK,CAAC;CAAC,CAC3B,EACD,MAAM,EAAE,eAAe,GACtB,YAAY,CACb,qCAAqC,EACrC;CAAE,EACF;IAAC,CAAC,eAAe,EAAE,KAAK,CAAC;CAAC,CAC3B,CAYA"}
@@ -1,55 +1,83 @@
1
- import { devtools as p } from "../../node_modules/zustand/esm/middleware.js";
2
- import c from "../../node_modules/lodash-es/cloneDeep.js";
1
+ import { devtools as f } from "../../node_modules/zustand/esm/middleware.js";
2
+ import { ObjectQueue as p } from "@m4l/realtime-runtime";
3
+ import d from "../../node_modules/lodash-es/cloneDeep.js";
3
4
  import l from "../../node_modules/lodash-es/merge.js";
4
- function i(e, t, n) {
5
- return n && t ? n.reduce(
6
- (r, u) => u(e, r),
7
- t
8
- ) : t;
9
- }
10
- function y(e, t) {
11
- return Object.entries(e).reduce((n, [r, u]) => (n[r] = i(
5
+ function i(e, n, t) {
6
+ return t && n ? t.reduce(
7
+ (r, s) => s(e, r),
8
+ n
9
+ ) : n;
10
+ }
11
+ function b(e, n) {
12
+ return Object.entries(e).reduce((t, [r, s]) => (t[r] = i(
12
13
  r,
13
- u,
14
- t
15
- ), n), {});
14
+ s,
15
+ n
16
+ ), t), {});
17
+ }
18
+ function v() {
19
+ return {
20
+ messagesToProcces: [],
21
+ messagesQueue: new p(),
22
+ statusProccesing: !1
23
+ };
24
+ }
25
+ function m(e) {
26
+ return String(e);
27
+ }
28
+ function O(e) {
29
+ return Object.entries(e);
30
+ }
31
+ function S(e, n, t, r, s, o) {
32
+ for (let c = t; c < r; c += 1) {
33
+ const [u, a] = n[c];
34
+ o?.has(m(u)) || (e[u] = i(
35
+ u,
36
+ a,
37
+ s
38
+ ));
39
+ }
16
40
  }
17
- function v(e) {
18
- const t = [];
41
+ function h(e) {
42
+ const n = [];
19
43
  for (; !e.isEmpty(); ) {
20
- const n = e.dequeue();
21
- n && t.push(n);
44
+ const t = e.dequeue();
45
+ t && n.push(t);
22
46
  }
23
- return t;
47
+ return n;
24
48
  }
25
- function D(e, t, n, r) {
26
- const { payload: u, resourceSerialId: o, type: f } = n;
27
- if (f === "delete") {
49
+ function j(e, n, t, r) {
50
+ const { payload: s, resourceSerialId: o, type: c } = t;
51
+ if (c === "delete") {
28
52
  delete e[o];
29
53
  return;
30
54
  }
31
- const d = i(
55
+ const u = i(
32
56
  o,
33
- u,
34
- r?.[t]
57
+ s,
58
+ r?.[n]
35
59
  );
36
60
  if (!e[o]) {
37
61
  e[o] = {
38
- ...c(d),
62
+ ...d(u),
39
63
  resourceSerialId: o
40
64
  };
41
65
  return;
42
66
  }
43
- l(e[o], d);
67
+ l(e[o], u);
44
68
  }
45
- function E(e, t) {
46
- const { enabled: n = !1 } = t;
47
- return n && process.env.NODE_ENV === "development" ? p(e, t) : e;
69
+ function D(e, n) {
70
+ const { enabled: t = !1 } = n;
71
+ return t && process.env.NODE_ENV === "development" ? f(e, n) : e;
48
72
  }
49
73
  export {
50
- D as applyConsumerMessage,
51
- E as createConsumerDevtools,
52
- y as decorateAllResourcesOfType,
74
+ j as applyConsumerMessage,
75
+ S as applyConsumerSnapshotEntriesChunk,
76
+ D as createConsumerDevtools,
77
+ v as createConsumerMessageManager,
78
+ m as createConsumerResourceKey,
79
+ O as createConsumerSnapshotEntries,
80
+ b as decorateAllResourcesOfType,
53
81
  i as decorateResourceOrMessage,
54
- v as drainQueuedMessages
82
+ h as drainQueuedMessages
55
83
  };