@fastybird/smart-panel-backend 1.1.0-alpha.6 → 1.1.0-alpha.8

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 (27) hide show
  1. package/dist/modules/devices/devices.module.js +3 -0
  2. package/dist/modules/devices/devices.module.js.map +1 -1
  3. package/dist/modules/devices/services/channels.properties.service.d.ts +5 -1
  4. package/dist/modules/devices/services/channels.properties.service.js +40 -9
  5. package/dist/modules/devices/services/channels.properties.service.js.map +1 -1
  6. package/dist/modules/devices/services/command-latency-trace-collector.service.d.ts +100 -0
  7. package/dist/modules/devices/services/command-latency-trace-collector.service.js +438 -0
  8. package/dist/modules/devices/services/command-latency-trace-collector.service.js.map +1 -0
  9. package/dist/modules/devices/services/property-command-dispatch.service.d.ts +3 -1
  10. package/dist/modules/devices/services/property-command-dispatch.service.js +19 -10
  11. package/dist/modules/devices/services/property-command-dispatch.service.js.map +1 -1
  12. package/dist/modules/devices/services/property-command-window.service.d.ts +1 -0
  13. package/dist/modules/devices/services/property-command-window.service.js +4 -0
  14. package/dist/modules/devices/services/property-command-window.service.js.map +1 -1
  15. package/dist/modules/devices/services/property-command.service.d.ts +3 -1
  16. package/dist/modules/devices/services/property-command.service.js +14 -2
  17. package/dist/modules/devices/services/property-command.service.js.map +1 -1
  18. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +2 -1
  19. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
  20. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +5 -1
  21. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +95 -23
  22. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
  23. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +4 -0
  24. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +43 -2
  25. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
  26. package/dist/tsconfig.build.tsbuildinfo +1 -1
  27. package/package.json +2 -2
@@ -53,6 +53,7 @@ const channels_controls_service_1 = require("./services/channels.controls.servic
53
53
  const channels_properties_type_mapper_service_1 = require("./services/channels.properties-type-mapper.service");
54
54
  const channels_properties_service_1 = require("./services/channels.properties.service");
55
55
  const channels_service_1 = require("./services/channels.service");
56
+ const command_latency_trace_collector_service_1 = require("./services/command-latency-trace-collector.service");
56
57
  const device_connection_state_service_1 = require("./services/device-connection-state.service");
57
58
  const device_connectivity_service_1 = require("./services/device-connectivity.service");
58
59
  const device_control_tool_service_1 = require("./services/device-control-tool.service");
@@ -252,6 +253,7 @@ exports.DevicesModule = DevicesModule = __decorate([
252
253
  property_state_coordinator_service_1.PropertyStateCoordinatorService,
253
254
  property_timeseries_service_1.PropertyTimeseriesService,
254
255
  property_command_window_service_1.PropertyCommandWindowService,
256
+ command_latency_trace_collector_service_1.CommandLatencyTraceCollectorService,
255
257
  property_command_dispatch_service_1.PropertyCommandDispatchService,
256
258
  property_command_service_1.PropertyCommandService,
257
259
  device_connection_state_service_1.DeviceConnectionStateService,
@@ -290,6 +292,7 @@ exports.DevicesModule = DevicesModule = __decorate([
290
292
  property_state_coordinator_service_1.PropertyStateCoordinatorService,
291
293
  property_timeseries_service_1.PropertyTimeseriesService,
292
294
  property_command_window_service_1.PropertyCommandWindowService,
295
+ command_latency_trace_collector_service_1.CommandLatencyTraceCollectorService,
293
296
  property_command_dispatch_service_1.PropertyCommandDispatchService,
294
297
  property_command_service_1.PropertyCommandService,
295
298
  device_exists_constraint_validator_1.DeviceExistsConstraintValidator,
@@ -1 +1 @@
1
- {"version":3,"file":"devices.module.js","sourceRoot":"","sources":["../../../src/modules/devices/devices.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsD;AACtD,2CAAkE;AAClE,6CAAgD;AAEhD,2FAAqF;AACrF,gGAA0F;AAC1F,kFAA8E;AAC9E,8DAA0D;AAC1D,2DAAoD;AACpD,kFAA6E;AAC7E,kEAA8D;AAC9D,qFAAgF;AAChF,wDAAoD;AACpD,yEAAqE;AACrE,8DAA0D;AAC1D,+EAAiE;AACjE,yGAAmG;AACnG,8DAA0D;AAC1D,sGAAgG;AAChG,qGAA+F;AAC/F,wDAAoD;AACpD,oEAAgE;AAEhE,2EAAuE;AACvE,6FAAwF;AACxF,iGAA4F;AAC5F,2FAAsF;AACtF,6GAAuG;AACvG,iHAA2G;AAC3G,yEAAqE;AACrE,2FAAsF;AACtF,2DAM6B;AAC7B,uDAAiE;AACjE,+DAAiE;AACjE,sEAAiE;AACjE,8DAMmC;AACnC,sFAAgF;AAChF,yFAAoF;AACpF,wDAA2D;AAC3D,+EAA0E;AAC1E,0FAAoF;AACpF,oFAA+E;AAC/E,gHAAyG;AACzG,wFAAmF;AACnF,kEAA8D;AAC9D,gGAA0F;AAC1F,wFAAmF;AACnF,wFAAkF;AAClF,8FAAwF;AACxF,4FAAsF;AACtF,oFAA+E;AAC/E,0EAAqE;AACrE,0EAAqE;AACrE,8EAAyE;AACzE,wFAAkF;AAClF,kFAA6E;AAC7E,gEAA4D;AAC5D,0EAAqE;AACrE,oFAA+E;AAC/E,oGAA8F;AAC9F,gGAA0F;AAC1F,kFAA6E;AAC7E,sGAAgG;AAChG,wFAAmF;AACnF,wFAAkF;AAClF,8GAAuG;AACvG,8EAAyE;AACzE,4DAAwD;AACxD,uGAAiG;AACjG,uFAAkF;AAClF,yGAAmG;AACnG,qGAA+F;AAC/F,qFAAgF;AAChF,0GAAoG;AACpG,4HAAqH;AACrH,wGAAkG;AAClG,gHAAyG;AA8GlG,IAAM,aAAa,GAAnB,MAAM,aAAa;IAGzB,YACkB,YAAkC,EAClC,WAA+B,EAC/B,oBAA0C,EAC1C,cAA8B,EAC9B,YAAiC,EACjC,oBAAiD,EACjD,oBAA0C,EAC1C,eAA6C,EAC7C,oBAA8C,EAC9C,iBAAoC,EACpC,oBAAiD,EACjD,iBAA2C;QAX3C,iBAAY,GAAZ,YAAY,CAAsB;QAClC,gBAAW,GAAX,WAAW,CAAoB;QAC/B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAqB;QACjC,yBAAoB,GAApB,oBAAoB,CAA6B;QACjD,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,oBAAe,GAAf,eAAe,CAA8B;QAC7C,yBAAoB,GAApB,oBAAoB,CAA0B;QAC9C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,yBAAoB,GAApB,oBAAoB,CAA6B;QACjD,sBAAiB,GAAjB,iBAAiB,CAA0B;QAd5C,WAAM,GAAG,IAAA,gDAAqB,EAAC,uCAAmB,EAAE,eAAe,CAAC,CAAC;IAenF,CAAC;IAEJ,YAAY;QAEX,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE3D,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,yCAAqB,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,6CAAyB,CAAC,CAAC;QAE9D,IAAI,CAAC,YAAY,CAAC,QAAQ,CACzB,uCAAmB,EACnB,KAAK,IAAmB,EAAE;YACzB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC,EACD,GAAG,CACH,CAAC;QAEF,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CACjC,uCAAmB,EACnB,KAAK,IAAoD,EAAE;YAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC,EACD,GAAG,CACH,CAAC;QAEF,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,uCAAmB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAEnF,KAAK,MAAM,KAAK,IAAI,8CAA4B,EAAE,CAAC;YAClD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAGD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAA6C;YACrF,IAAI,EAAE,uCAAmB;YACzB,KAAK,EAAE,iCAAkB;YACzB,SAAS,EAAE,0CAAsB;SACjC,CAAC,CAAC;QAGH,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,uCAAmB;YACzB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,uDAAuD;YACpE,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GA+B+F;YACvG,KAAK,EAAE;gBACN,aAAa,EAAE,wCAAwC;gBACvD,UAAU,EAAE,0CAA0C;aACtD;SACD,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB;QAE3B,MAAM,OAAO,GAAG;YACf;gBACC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE;;;6BAGmB;gBACzB,QAAQ,EAAE,2BAA2B;aACrC;YACD;gBACC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE;;;wDAG8C;gBACpD,QAAQ,EAAE,2BAA2B;aACrC;SACD,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CACpG,CAAC;QAGF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAe,CAAC;gBAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC5E,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,eAAe;iBACxC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AAvIY,sCAAa;wBAAb,aAAa;IA5GzB,IAAA,0BAAM,EAAC;QACP,OAAO,EAAE,uCAAmB;QAC5B,WAAW,EAAE,+CAA2B;QACxC,WAAW,EAAE,sDAAkC;KAC/C,CAAC;IACD,IAAA,eAAM,EAAC;QACP,OAAO,EAAE;YACR,qBAAgB;YAChB,uBAAa,CAAC,UAAU,CAAC;gBACxB,6BAAY;gBACZ,oCAAmB;gBACnB,qCAAgB;gBAChB,8BAAa;gBACb,qCAAoB;gBACpB,sCAAqB;gBACrB,0BAAW;gBACX,oDAAuB;aACvB,CAAC;YACF,8BAAa;YACb,8BAAa;YACb,2BAAU;YACV,0BAAW;YACX,8BAAa;YACb,0BAAW;YACX,kCAAe;SACf;QACD,SAAS,EAAE;YACV,sDAAwB;YACxB,sDAAwB;YACxB,wDAAyB;YACzB,6EAAmC;YACnC,gCAAc;YACd,yCAAkB;YAClB,iDAAsB;YACtB,yCAAkB;YAClB,kCAAe;YACf,mDAAuB;YACvB,uDAAyB;YACzB,mDAAuB;YACvB,0DAA0B;YAC1B,oEAA+B;YAC/B,2EAAkC;YAClC,sEAAgC;YAChC,uFAAwC;YACxC,iDAAsB;YACtB,gEAA6B;YAC7B,mDAAuB;YACvB,kEAA8B;YAC9B,oEAA+B;YAC/B,6CAAoB;YACpB,mDAAuB;YACvB,2EAAkC;YAClC,sDAAwB;YACxB,6CAAoB;YACpB,oEAA+B;YAC/B,uDAAyB;YACzB,8DAA4B;YAC5B,kEAA8B;YAC9B,iDAAsB;YACtB,8DAA4B;YAC5B,4BAAY;YACZ,yCAAkB;YAClB,6CAAoB;YACpB,uDAAyB;YACzB,4DAA2B;YAC3B,uDAAyB;SACzB;QACD,WAAW,EAAE;YACZ,sCAAiB;YACjB,uDAAyB;YACzB,uDAAyB;YACzB,wEAAiC;YACjC,4EAAmC;YACnC,wCAAkB;YAClB,yDAA0B;YAC1B,6DAA4B;SAC5B;QACD,OAAO,EAAE;YACR,gCAAc;YACd,yCAAkB;YAClB,iDAAsB;YACtB,yCAAkB;YAClB,kCAAe;YACf,mDAAuB;YACvB,uDAAyB;YACzB,sDAAwB;YACxB,wDAAyB;YACzB,6EAAmC;YACnC,6CAAoB;YACpB,mDAAuB;YACvB,2EAAkC;YAClC,6CAAoB;YACpB,oEAA+B;YAC/B,uDAAyB;YACzB,8DAA4B;YAC5B,kEAA8B;YAC9B,iDAAsB;YACtB,oEAA+B;YAC/B,2EAAkC;YAClC,sEAAgC;YAChC,uFAAwC;YACxC,uDAAyB;YACzB,8DAA4B;YAC5B,4DAA2B;YAC3B,mDAAuB;YACvB,0DAA0B;SAC1B;KACD,CAAC;qCAK+B,6CAAoB;QACrB,yCAAkB;QACT,6CAAoB;QAC1B,gCAAc;QAChB,2CAAmB;QACX,4DAA2B;QAC3B,6CAAoB;QACzB,8DAA4B;QACvB,sDAAwB;QAC3B,sCAAiB;QACd,4DAA2B;QAC9B,sDAAwB;GAfjD,aAAa,CAuIzB"}
1
+ {"version":3,"file":"devices.module.js","sourceRoot":"","sources":["../../../src/modules/devices/devices.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsD;AACtD,2CAAkE;AAClE,6CAAgD;AAEhD,2FAAqF;AACrF,gGAA0F;AAC1F,kFAA8E;AAC9E,8DAA0D;AAC1D,2DAAoD;AACpD,kFAA6E;AAC7E,kEAA8D;AAC9D,qFAAgF;AAChF,wDAAoD;AACpD,yEAAqE;AACrE,8DAA0D;AAC1D,+EAAiE;AACjE,yGAAmG;AACnG,8DAA0D;AAC1D,sGAAgG;AAChG,qGAA+F;AAC/F,wDAAoD;AACpD,oEAAgE;AAEhE,2EAAuE;AACvE,6FAAwF;AACxF,iGAA4F;AAC5F,2FAAsF;AACtF,6GAAuG;AACvG,iHAA2G;AAC3G,yEAAqE;AACrE,2FAAsF;AACtF,2DAM6B;AAC7B,uDAAiE;AACjE,+DAAiE;AACjE,sEAAiE;AACjE,8DAMmC;AACnC,sFAAgF;AAChF,yFAAoF;AACpF,wDAA2D;AAC3D,+EAA0E;AAC1E,0FAAoF;AACpF,oFAA+E;AAC/E,gHAAyG;AACzG,wFAAmF;AACnF,kEAA8D;AAC9D,gHAAyG;AACzG,gGAA0F;AAC1F,wFAAmF;AACnF,wFAAkF;AAClF,8FAAwF;AACxF,4FAAsF;AACtF,oFAA+E;AAC/E,0EAAqE;AACrE,0EAAqE;AACrE,8EAAyE;AACzE,wFAAkF;AAClF,kFAA6E;AAC7E,gEAA4D;AAC5D,0EAAqE;AACrE,oFAA+E;AAC/E,oGAA8F;AAC9F,gGAA0F;AAC1F,kFAA6E;AAC7E,sGAAgG;AAChG,wFAAmF;AACnF,wFAAkF;AAClF,8GAAuG;AACvG,8EAAyE;AACzE,4DAAwD;AACxD,uGAAiG;AACjG,uFAAkF;AAClF,yGAAmG;AACnG,qGAA+F;AAC/F,qFAAgF;AAChF,0GAAoG;AACpG,4HAAqH;AACrH,wGAAkG;AAClG,gHAAyG;AAgHlG,IAAM,aAAa,GAAnB,MAAM,aAAa;IAGzB,YACkB,YAAkC,EAClC,WAA+B,EAC/B,oBAA0C,EAC1C,cAA8B,EAC9B,YAAiC,EACjC,oBAAiD,EACjD,oBAA0C,EAC1C,eAA6C,EAC7C,oBAA8C,EAC9C,iBAAoC,EACpC,oBAAiD,EACjD,iBAA2C;QAX3C,iBAAY,GAAZ,YAAY,CAAsB;QAClC,gBAAW,GAAX,WAAW,CAAoB;QAC/B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAqB;QACjC,yBAAoB,GAApB,oBAAoB,CAA6B;QACjD,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,oBAAe,GAAf,eAAe,CAA8B;QAC7C,yBAAoB,GAApB,oBAAoB,CAA0B;QAC9C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,yBAAoB,GAApB,oBAAoB,CAA6B;QACjD,sBAAiB,GAAjB,iBAAiB,CAA0B;QAd5C,WAAM,GAAG,IAAA,gDAAqB,EAAC,uCAAmB,EAAE,eAAe,CAAC,CAAC;IAenF,CAAC;IAEJ,YAAY;QAEX,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE3D,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,yCAAqB,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,6CAAyB,CAAC,CAAC;QAE9D,IAAI,CAAC,YAAY,CAAC,QAAQ,CACzB,uCAAmB,EACnB,KAAK,IAAmB,EAAE;YACzB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC,EACD,GAAG,CACH,CAAC;QAEF,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CACjC,uCAAmB,EACnB,KAAK,IAAoD,EAAE;YAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC,EACD,GAAG,CACH,CAAC;QAEF,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,uCAAmB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAEnF,KAAK,MAAM,KAAK,IAAI,8CAA4B,EAAE,CAAC;YAClD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAGD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAA6C;YACrF,IAAI,EAAE,uCAAmB;YACzB,KAAK,EAAE,iCAAkB;YACzB,SAAS,EAAE,0CAAsB;SACjC,CAAC,CAAC;QAGH,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,uCAAmB;YACzB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,uDAAuD;YACpE,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GA+B+F;YACvG,KAAK,EAAE;gBACN,aAAa,EAAE,wCAAwC;gBACvD,UAAU,EAAE,0CAA0C;aACtD;SACD,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB;QAE3B,MAAM,OAAO,GAAG;YACf;gBACC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE;;;6BAGmB;gBACzB,QAAQ,EAAE,2BAA2B;aACrC;YACD;gBACC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE;;;wDAG8C;gBACpD,QAAQ,EAAE,2BAA2B;aACrC;SACD,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CACpG,CAAC;QAGF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAe,CAAC;gBAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC5E,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,eAAe;iBACxC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AAvIY,sCAAa;wBAAb,aAAa;IA9GzB,IAAA,0BAAM,EAAC;QACP,OAAO,EAAE,uCAAmB;QAC5B,WAAW,EAAE,+CAA2B;QACxC,WAAW,EAAE,sDAAkC;KAC/C,CAAC;IACD,IAAA,eAAM,EAAC;QACP,OAAO,EAAE;YACR,qBAAgB;YAChB,uBAAa,CAAC,UAAU,CAAC;gBACxB,6BAAY;gBACZ,oCAAmB;gBACnB,qCAAgB;gBAChB,8BAAa;gBACb,qCAAoB;gBACpB,sCAAqB;gBACrB,0BAAW;gBACX,oDAAuB;aACvB,CAAC;YACF,8BAAa;YACb,8BAAa;YACb,2BAAU;YACV,0BAAW;YACX,8BAAa;YACb,0BAAW;YACX,kCAAe;SACf;QACD,SAAS,EAAE;YACV,sDAAwB;YACxB,sDAAwB;YACxB,wDAAyB;YACzB,6EAAmC;YACnC,gCAAc;YACd,yCAAkB;YAClB,iDAAsB;YACtB,yCAAkB;YAClB,kCAAe;YACf,mDAAuB;YACvB,uDAAyB;YACzB,mDAAuB;YACvB,0DAA0B;YAC1B,oEAA+B;YAC/B,2EAAkC;YAClC,sEAAgC;YAChC,uFAAwC;YACxC,iDAAsB;YACtB,gEAA6B;YAC7B,mDAAuB;YACvB,kEAA8B;YAC9B,oEAA+B;YAC/B,6CAAoB;YACpB,mDAAuB;YACvB,2EAAkC;YAClC,sDAAwB;YACxB,6CAAoB;YACpB,oEAA+B;YAC/B,uDAAyB;YACzB,8DAA4B;YAC5B,6EAAmC;YACnC,kEAA8B;YAC9B,iDAAsB;YACtB,8DAA4B;YAC5B,4BAAY;YACZ,yCAAkB;YAClB,6CAAoB;YACpB,uDAAyB;YACzB,4DAA2B;YAC3B,uDAAyB;SACzB;QACD,WAAW,EAAE;YACZ,sCAAiB;YACjB,uDAAyB;YACzB,uDAAyB;YACzB,wEAAiC;YACjC,4EAAmC;YACnC,wCAAkB;YAClB,yDAA0B;YAC1B,6DAA4B;SAC5B;QACD,OAAO,EAAE;YACR,gCAAc;YACd,yCAAkB;YAClB,iDAAsB;YACtB,yCAAkB;YAClB,kCAAe;YACf,mDAAuB;YACvB,uDAAyB;YACzB,sDAAwB;YACxB,wDAAyB;YACzB,6EAAmC;YACnC,6CAAoB;YACpB,mDAAuB;YACvB,2EAAkC;YAClC,6CAAoB;YACpB,oEAA+B;YAC/B,uDAAyB;YACzB,8DAA4B;YAC5B,6EAAmC;YACnC,kEAA8B;YAC9B,iDAAsB;YACtB,oEAA+B;YAC/B,2EAAkC;YAClC,sEAAgC;YAChC,uFAAwC;YACxC,uDAAyB;YACzB,8DAA4B;YAC5B,4DAA2B;YAC3B,mDAAuB;YACvB,0DAA0B;SAC1B;KACD,CAAC;qCAK+B,6CAAoB;QACrB,yCAAkB;QACT,6CAAoB;QAC1B,gCAAc;QAChB,2CAAmB;QACX,4DAA2B;QAC3B,6CAAoB;QACzB,8DAA4B;QACvB,sDAAwB;QAC3B,sCAAiB;QACd,4DAA2B;QAC9B,sDAAwB;GAfjD,aAAa,CAuIzB"}
@@ -8,6 +8,7 @@ import { UpdateChannelPropertyDto } from '../dto/update-channel-property.dto';
8
8
  import { ChannelPropertyEntity } from '../entities/devices.entity';
9
9
  import { PropertyValueState } from '../models/property-value-state.model';
10
10
  import { ChannelsPropertiesTypeMapperService } from './channels.properties-type-mapper.service';
11
+ import { CommandLatencyTraceCollectorService } from './command-latency-trace-collector.service';
11
12
  import { DeviceStructureLockService } from './device-structure-lock.service';
12
13
  import { PropertyCommandWindowHandle, PropertyCommandWindowService } from './property-command-window.service';
13
14
  import { PropertyStateCoordinatorService } from './property-state-coordinator.service';
@@ -98,10 +99,11 @@ export declare class ChannelsPropertiesService implements OnModuleInit, OnModule
98
99
  private readonly propertyCommandWindowService;
99
100
  private readonly dataSource;
100
101
  private readonly eventEmitter;
102
+ private readonly commandLatencyTraceCollector;
101
103
  private readonly logger;
102
104
  private static readonly VISIBLE_READABLE_STATE_CANDIDATE_MAX_LIMIT;
103
105
  private commandWindowCleanupTimer;
104
- constructor(repository: Repository<ChannelPropertyEntity>, propertiesMapperService: ChannelsPropertiesTypeMapperService, propertyValueService: PropertyValueService, valueSourceRegistry: PropertyValueSourceRegistryService, structureLock: DeviceStructureLockService, propertyStateCoordinator: PropertyStateCoordinatorService, propertyCommandWindowService: PropertyCommandWindowService, dataSource: DataSource, eventEmitter: EventEmitter2);
106
+ constructor(repository: Repository<ChannelPropertyEntity>, propertiesMapperService: ChannelsPropertiesTypeMapperService, propertyValueService: PropertyValueService, valueSourceRegistry: PropertyValueSourceRegistryService, structureLock: DeviceStructureLockService, propertyStateCoordinator: PropertyStateCoordinatorService, propertyCommandWindowService: PropertyCommandWindowService, dataSource: DataSource, eventEmitter: EventEmitter2, commandLatencyTraceCollector?: CommandLatencyTraceCollectorService);
105
107
  onModuleInit(): void;
106
108
  onModuleDestroy(): void;
107
109
  findAll<TProperty extends ChannelPropertyEntity>(channelId?: string | string[], type?: string): Promise<TProperty[]>;
@@ -114,6 +116,8 @@ export declare class ChannelsPropertiesService implements OnModuleInit, OnModule
114
116
  findOneBy<TProperty extends ChannelPropertyEntity>(column: 'id' | 'category' | 'identifier' | 'name', value: string | number | boolean, channelId?: string, type?: string): Promise<TProperty | null>;
115
117
  create<TProperty extends ChannelPropertyEntity, TCreateDTO extends CreateChannelPropertyDto>(channelId: string, createDto: TCreateDTO): Promise<TProperty>;
116
118
  update<TProperty extends ChannelPropertyEntity, TUpdateDTO extends UpdateChannelPropertyDto>(id: string, updateDto: TUpdateDTO, options?: ChannelPropertyUpdateOptions): Promise<TProperty>;
119
+ private updateInternal;
120
+ private publishValueSet;
117
121
  private updateValueOnly;
118
122
  private commitWindowedProviderValue;
119
123
  private commitCommandOriginValue;
@@ -35,13 +35,14 @@ const property_command_value_utils_1 = require("../utils/property-command-value.
35
35
  const property_metadata_utils_1 = require("../utils/property-metadata.utils");
36
36
  const unique_constraint_utils_1 = require("../utils/unique-constraint.utils");
37
37
  const channels_properties_type_mapper_service_1 = require("./channels.properties-type-mapper.service");
38
+ const command_latency_trace_collector_service_1 = require("./command-latency-trace-collector.service");
38
39
  const device_structure_lock_service_1 = require("./device-structure-lock.service");
39
40
  const property_command_window_service_1 = require("./property-command-window.service");
40
41
  const property_state_coordinator_service_1 = require("./property-state-coordinator.service");
41
42
  const property_value_source_registry_service_1 = require("./property-value-source.registry.service");
42
43
  const property_value_service_1 = require("./property-value.service");
43
44
  let ChannelsPropertiesService = ChannelsPropertiesService_1 = class ChannelsPropertiesService {
44
- constructor(repository, propertiesMapperService, propertyValueService, valueSourceRegistry, structureLock, propertyStateCoordinator, propertyCommandWindowService, dataSource, eventEmitter) {
45
+ constructor(repository, propertiesMapperService, propertyValueService, valueSourceRegistry, structureLock, propertyStateCoordinator, propertyCommandWindowService, dataSource, eventEmitter, commandLatencyTraceCollector = new command_latency_trace_collector_service_1.CommandLatencyTraceCollectorService()) {
45
46
  this.repository = repository;
46
47
  this.propertiesMapperService = propertiesMapperService;
47
48
  this.propertyValueService = propertyValueService;
@@ -51,6 +52,7 @@ let ChannelsPropertiesService = ChannelsPropertiesService_1 = class ChannelsProp
51
52
  this.propertyCommandWindowService = propertyCommandWindowService;
52
53
  this.dataSource = dataSource;
53
54
  this.eventEmitter = eventEmitter;
55
+ this.commandLatencyTraceCollector = commandLatencyTraceCollector;
54
56
  this.logger = (0, extension_logger_service_1.createExtensionLogger)(devices_constants_1.DEVICES_MODULE_NAME, 'ChannelsPropertiesService');
55
57
  this.commandWindowCleanupTimer = null;
56
58
  }
@@ -506,6 +508,17 @@ let ChannelsPropertiesService = ChannelsPropertiesService_1 = class ChannelsProp
506
508
  return savedProperty;
507
509
  }
508
510
  async update(id, updateDto, options = {}) {
511
+ const windowGeneration = options.commandOrigin?.handle.generation ??
512
+ (this.commandLatencyTraceCollector.isEnabled()
513
+ ? this.propertyCommandWindowService.peekGeneration(id)
514
+ : undefined);
515
+ return this.commandLatencyTraceCollector.traceUpdate({
516
+ propertyId: id,
517
+ value: updateDto.value,
518
+ windowGeneration,
519
+ }, () => this.updateInternal(id, updateDto, options));
520
+ }
521
+ async updateInternal(id, updateDto, options = {}) {
509
522
  this.logger.debug(`Updating data source with id=${id}`);
510
523
  if (this.isValueOnlyUpdate(updateDto, options)) {
511
524
  const valueOnlyMapping = typeof updateDto.type === 'string'
@@ -516,7 +529,7 @@ let ChannelsPropertiesService = ChannelsPropertiesService_1 = class ChannelsProp
516
529
  if ('property' in result) {
517
530
  return result.property;
518
531
  }
519
- return this.update(id, { ...updateDto, type: result.type }, options);
532
+ return this.updateInternal(id, { ...updateDto, type: result.type }, options);
520
533
  }
521
534
  }
522
535
  const property = await this.getOneOrThrow(id);
@@ -600,16 +613,23 @@ let ChannelsPropertiesService = ChannelsPropertiesService_1 = class ChannelsProp
600
613
  valueChanged = windowed.changed;
601
614
  persistedValueState = windowed.state;
602
615
  forceConfirmationValueEvent = windowed.forceValueEvent;
616
+ this.commandLatencyTraceCollector.recordWriteComplete(raw, {
617
+ changed: windowed.changed,
618
+ held: windowed.held,
619
+ });
620
+ if (windowed.held) {
621
+ this.commandLatencyTraceCollector.recordSuppressed(raw, 'The provider report was held by the command window.');
622
+ }
603
623
  }
604
624
  const strictValueEventEmitted = options.strictValuePersistence === true && valueChanged;
605
625
  const confirmationValueEventEmitted = forceConfirmationValueEvent && !strictValueEventEmitted;
606
626
  if (strictValueEventEmitted) {
607
627
  raw.value = persistedValueState;
608
- this.eventEmitter.emit(devices_constants_1.EventType.CHANNEL_PROPERTY_VALUE_SET, raw);
628
+ this.publishValueSet(raw);
609
629
  }
610
630
  else if (confirmationValueEventEmitted) {
611
631
  raw.value = persistedValueState;
612
- this.eventEmitter.emit(devices_constants_1.EventType.CHANNEL_PROPERTY_VALUE_SET, raw);
632
+ this.publishValueSet(raw);
613
633
  }
614
634
  let updatedProperty = (await this.getOneOrThrow(property.id));
615
635
  if (mapping.afterUpdate) {
@@ -621,11 +641,15 @@ let ChannelsPropertiesService = ChannelsPropertiesService_1 = class ChannelsProp
621
641
  this.eventEmitter.emit(devices_constants_1.EventType.CHANNEL_PROPERTY_UPDATED, updatedProperty);
622
642
  }
623
643
  else if (valueChanged && !strictValueEventEmitted && !confirmationValueEventEmitted) {
624
- this.eventEmitter.emit(devices_constants_1.EventType.CHANNEL_PROPERTY_VALUE_SET, updatedProperty);
644
+ this.publishValueSet(updatedProperty);
625
645
  }
626
646
  return updatedProperty;
627
647
  });
628
648
  }
649
+ publishValueSet(property) {
650
+ this.commandLatencyTraceCollector.recordSourcePublication(property);
651
+ this.eventEmitter.emit(devices_constants_1.EventType.CHANNEL_PROPERTY_VALUE_SET, property);
652
+ }
629
653
  async updateValueOnly(id, updateDto, knownMapping) {
630
654
  return this.structureLock.runShared(() => this.propertyStateCoordinator.run(id, async () => {
631
655
  const current = (await this.findOneForValueUpdate(id));
@@ -647,14 +671,19 @@ let ChannelsPropertiesService = ChannelsPropertiesService_1 = class ChannelsProp
647
671
  const commit = async () => {
648
672
  const write = () => this.propertyValueService.writeWithState(current, value);
649
673
  const result = await this.commitWindowedProviderValue(current, value, { unwindowed: write, windowed: write });
674
+ this.commandLatencyTraceCollector.recordWriteComplete(current, {
675
+ changed: result.changed,
676
+ held: result.held,
677
+ });
650
678
  if (result.held) {
679
+ this.commandLatencyTraceCollector.recordSuppressed(current, 'The provider report was held by the command window.');
651
680
  return { property: current };
652
681
  }
653
682
  if (result.state !== null) {
654
683
  current.value = this.snapshotValueState(result.state);
655
684
  }
656
685
  if (result.changed || result.forceValueEvent) {
657
- this.eventEmitter.emit(devices_constants_1.EventType.CHANNEL_PROPERTY_VALUE_SET, current);
686
+ this.publishValueSet(current);
658
687
  }
659
688
  return { property: current };
660
689
  };
@@ -681,13 +710,13 @@ let ChannelsPropertiesService = ChannelsPropertiesService_1 = class ChannelsProp
681
710
  }
682
711
  const handle = { canonicalPropertyId, generation: window.generation };
683
712
  const receipt = { value: validation.value, receivedAt: Date.now() };
684
- if (window.previousValue !== null && validation.value === window.previousValue) {
713
+ const isConfirmation = validation.value === window.commandedValue;
714
+ if (!isConfirmation && window.previousValue !== null && validation.value === window.previousValue) {
685
715
  if (window.state === 'pending') {
686
716
  this.propertyCommandWindowService.hold(handle, receipt);
687
717
  }
688
718
  return { changed: false, state: null, held: true, forceValueEvent: false };
689
719
  }
690
- const isConfirmation = validation.value === window.commandedValue;
691
720
  const firstConfirmation = isConfirmation && window.state === 'pending';
692
721
  const result = await writers.windowed();
693
722
  if (result.state === null) {
@@ -841,6 +870,7 @@ ChannelsPropertiesService.VISIBLE_READABLE_STATE_CANDIDATE_MAX_LIMIT = 500;
841
870
  exports.ChannelsPropertiesService = ChannelsPropertiesService = ChannelsPropertiesService_1 = __decorate([
842
871
  (0, common_1.Injectable)(),
843
872
  __param(0, (0, typeorm_2.InjectRepository)(devices_entity_1.ChannelPropertyEntity)),
873
+ __param(9, (0, common_1.Optional)()),
844
874
  __metadata("design:paramtypes", [typeorm_1.Repository,
845
875
  channels_properties_type_mapper_service_1.ChannelsPropertiesTypeMapperService,
846
876
  property_value_service_1.PropertyValueService,
@@ -849,6 +879,7 @@ exports.ChannelsPropertiesService = ChannelsPropertiesService = ChannelsProperti
849
879
  property_state_coordinator_service_1.PropertyStateCoordinatorService,
850
880
  property_command_window_service_1.PropertyCommandWindowService,
851
881
  typeorm_1.DataSource,
852
- event_emitter_1.EventEmitter2])
882
+ event_emitter_1.EventEmitter2,
883
+ command_latency_trace_collector_service_1.CommandLatencyTraceCollectorService])
853
884
  ], ChannelsPropertiesService);
854
885
  //# sourceMappingURL=channels.properties.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"channels.properties.service.js","sourceRoot":"","sources":["../../../../src/modules/devices/services/channels.properties.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channels.properties.service.js","sourceRoot":"","sources":["../../../../src/modules/devices/services/channels.properties.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { OnModuleDestroy } from '@nestjs/common';
2
+ import { ChannelPropertyEntity } from '../entities/devices.entity';
3
+ import { type PropertyCommandValue } from '../utils/property-command-value.utils';
4
+ export interface CommandLatencyTraceConfig {
5
+ readonly runId: string;
6
+ readonly sourcePropertyId: string;
7
+ readonly projectionPropertyId?: string;
8
+ readonly sourceDeviceId?: string;
9
+ readonly exportPath?: string;
10
+ readonly captureDurationMs?: number;
11
+ readonly maxRecords?: number;
12
+ }
13
+ export declare const COMMAND_LATENCY_TRACE_OPTIONS: unique symbol;
14
+ export type CommandLatencyTraceStage = 'command-received' | 'window-bound' | 'provider-receipt' | 'poll-rpc-start' | 'poll-rpc-complete' | 'poll-coalescer-admission' | 'poll-drain' | 'update-entry' | 'write-complete' | 'source-publication' | 'suppressed' | 'update-complete' | 'update-error';
15
+ export type CommandLatencyTraceStatus = 'complete' | 'suppressed' | 'error' | 'expired' | 'overflow' | 'shutdown';
16
+ export interface CommandLatencyTraceRecord {
17
+ readonly stage: CommandLatencyTraceStage;
18
+ readonly timestampMs: number;
19
+ readonly processId: number;
20
+ readonly runId: string;
21
+ readonly trialId: string;
22
+ readonly invocationId?: string;
23
+ readonly sourcePropertyId: string;
24
+ readonly projectionPropertyId?: string;
25
+ readonly commandValue: PropertyCommandValue;
26
+ readonly intentId?: string;
27
+ readonly windowGeneration?: string;
28
+ readonly metadata?: Record<string, unknown>;
29
+ }
30
+ export interface CommandLatencyTraceCapture {
31
+ readonly schemaVersion: 1;
32
+ readonly clock: 'backend-performance-now-v1';
33
+ readonly collectorHash: string;
34
+ readonly processId: number;
35
+ readonly runId: string;
36
+ readonly trialId: string;
37
+ readonly invocationId?: string;
38
+ readonly sourcePropertyId: string;
39
+ readonly projectionPropertyId?: string;
40
+ readonly commandValue: PropertyCommandValue;
41
+ readonly intentId?: string;
42
+ readonly windowGeneration?: string;
43
+ readonly status: CommandLatencyTraceStatus;
44
+ readonly failureReason?: string;
45
+ readonly records: readonly CommandLatencyTraceRecord[];
46
+ }
47
+ export interface CommandLatencyTraceCommand {
48
+ readonly requestId?: string;
49
+ readonly intentId: string;
50
+ readonly properties: readonly {
51
+ readonly property: string;
52
+ readonly value: PropertyCommandValue;
53
+ }[];
54
+ }
55
+ export declare class CommandLatencyTraceCollectorService implements OnModuleDestroy {
56
+ private readonly config;
57
+ private readonly context;
58
+ private readonly trialsByIntent;
59
+ private readonly trialsByGeneration;
60
+ private readonly captures;
61
+ private readonly pendingExports;
62
+ private readonly exportTasks;
63
+ private readonly collectorHash;
64
+ private recordCount;
65
+ private overflowed;
66
+ constructor(options?: CommandLatencyTraceConfig | null);
67
+ static getSourceHash(): string;
68
+ isEnabled(): boolean;
69
+ observeCommand(command: CommandLatencyTraceCommand): void;
70
+ bindWindow(intentId: string | undefined, sourcePropertyId: string, windowGeneration: string): void;
71
+ recordProviderReceipt(propertyId: string, value: PropertyCommandValue, origin: 'notify' | 'poll', metadata?: Record<string, unknown>): void;
72
+ recordPollActivity(propertyId: string, stage: Extract<CommandLatencyTraceStage, 'poll-coalescer-admission' | 'poll-drain'>, metadata?: Record<string, unknown>): void;
73
+ recordPollRpc(deviceId: string, stage: Extract<CommandLatencyTraceStage, 'poll-rpc-start' | 'poll-rpc-complete'>, metadata?: Record<string, unknown>): void;
74
+ traceUpdate<T>(input: {
75
+ propertyId: string;
76
+ value: PropertyCommandValue | undefined;
77
+ windowGeneration?: string;
78
+ }, callback: () => Promise<T>): Promise<T>;
79
+ recordWriteComplete(property: ChannelPropertyEntity, metadata?: Record<string, unknown>): void;
80
+ recordSuppressed(property: ChannelPropertyEntity, reason: string): void;
81
+ recordSourcePublication(property: ChannelPropertyEntity): void;
82
+ getCaptures(): readonly CommandLatencyTraceCapture[];
83
+ waitForExports(): Promise<void>;
84
+ onModuleDestroy(): void;
85
+ private beginInvocation;
86
+ private finishInvocation;
87
+ private getActiveInvocation;
88
+ private recordCurrentInvocation;
89
+ private getBoundTrial;
90
+ private recordTrial;
91
+ private recordInvocation;
92
+ private createRecord;
93
+ private acceptRecord;
94
+ private finishTrial;
95
+ private expireDueTrials;
96
+ private expireTrial;
97
+ private now;
98
+ private scheduleExport;
99
+ private replaceCaptureAfterSinkFailure;
100
+ }