@camstack/addon-post-analysis 1.2.601 → 1.2.603

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 (15) hide show
  1. package/dist/{clip-model-registry-DAZ9ie-f.js → clip-model-registry-D0-VNIW5.js} +381 -8
  2. package/dist/{clip-model-registry-BuM8eXlN.mjs → clip-model-registry-lQ7QWjLf.mjs} +376 -9
  3. package/dist/embedding-encoder/index.js +1 -1
  4. package/dist/embedding-encoder/index.mjs +1 -1
  5. package/dist/pipeline-analytics/_stub.js +2 -2
  6. package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-DAs_96VP.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CXNgqP3Y.mjs} +2 -2
  7. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-1AlitJg2.mjs +26 -0
  8. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Cfj8Mv5X.mjs +26 -0
  9. package/dist/pipeline-analytics/{hostInit-C3wjY7W8.mjs → hostInit-BMh6UjVP.mjs} +2 -2
  10. package/dist/pipeline-analytics/index.js +75188 -74606
  11. package/dist/pipeline-analytics/index.mjs +75079 -74497
  12. package/dist/pipeline-analytics/remoteEntry.js +1 -1
  13. package/package.json +1 -1
  14. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CElkWYPg.mjs +0 -26
  15. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-SRvLcL_J.mjs +0 -26
@@ -5603,7 +5603,7 @@ var ZodIssueCode = {
5603
5603
  var ZodFirstPartyTypeKind;
5604
5604
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5605
5605
  //#endregion
5606
- //#region ../types/dist/sleep-bZIhUvjd.mjs
5606
+ //#region ../types/dist/sleep-BOjuyoPC.mjs
5607
5607
  /**
5608
5608
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5609
5609
  * window to float samples (D455).
@@ -8852,7 +8852,7 @@ method(object({ deviceId: number() }), array(StreamSourceEntrySchema)), method(o
8852
8852
  * can answer "may a rule actuate this?" without importing the schema barrel
8853
8853
  * (~144MB RSS per runner, D28).
8854
8854
  *
8855
- * Coverage: 88 device-scoped capabilities.
8855
+ * Coverage: 90 device-scoped capabilities.
8856
8856
  */
8857
8857
  var DEVICE_SCOPED_CAPS = new Set([
8858
8858
  "accessories",
@@ -8885,6 +8885,7 @@ var DEVICE_SCOPED_CAPS = new Set([
8885
8885
  "device-extension",
8886
8886
  "device-ops",
8887
8887
  "device-status",
8888
+ "dishwasher",
8888
8889
  "doorbell",
8889
8890
  "enum-sensor",
8890
8891
  "event-emitter",
@@ -8892,6 +8893,7 @@ var DEVICE_SCOPED_CAPS = new Set([
8892
8893
  "feature-probe",
8893
8894
  "flood",
8894
8895
  "gas",
8896
+ "heating-valve",
8895
8897
  "humidifier",
8896
8898
  "humidity-sensor",
8897
8899
  "image",
@@ -8988,7 +8990,7 @@ function sleep(ms) {
8988
8990
  return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
8989
8991
  }
8990
8992
  //#endregion
8991
- //#region ../types/dist/err-msg--2RrYiLO.mjs
8993
+ //#region ../types/dist/err-msg-BXKzRBwg.mjs
8992
8994
  var DeviceType = /* @__PURE__ */ function(DeviceType) {
8993
8995
  DeviceType["Camera"] = "camera";
8994
8996
  DeviceType["Hub"] = "hub";
@@ -9080,6 +9082,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
9080
9082
  * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
9081
9083
  * integrations sharing the same food/desiccant/hopper surface. */
9082
9084
  DeviceType["PetFeeder"] = "pet-feeder";
9085
+ /** Built-in dishwasher — program lifecycle, door / remote-start gates,
9086
+ * salt and rinse-aid levels. Installed with the `dishwasher` cap.
9087
+ * Sources: native Bosch Home Connect, reusable by similar integrations. */
9088
+ DeviceType["Dishwasher"] = "dishwasher";
9083
9089
  return DeviceType;
9084
9090
  }({});
9085
9091
  var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
@@ -9337,7 +9343,7 @@ function errMsg(err) {
9337
9343
  return String(err);
9338
9344
  }
9339
9345
  //#endregion
9340
- //#region ../types/dist/composition-DOwQB_Ua.mjs
9346
+ //#region ../types/dist/composition-CB6PMT9p.mjs
9341
9347
  /**
9342
9348
  * Deterministic SHA-256 hash of an arbitrary serialisable value. The
9343
9349
  * canonical form sorts object keys alphabetically at every depth so two
@@ -14627,8 +14633,13 @@ var AlertSeveritySchema = _enum([
14627
14633
  "info",
14628
14634
  "success",
14629
14635
  "warning",
14630
- "error"
14636
+ "error",
14637
+ "critical"
14631
14638
  ]);
14639
+ var AlertActionSchema = object({
14640
+ label: string(),
14641
+ href: string().optional()
14642
+ });
14632
14643
  var AlertStatusSchema = _enum([
14633
14644
  "active",
14634
14645
  "in-progress",
@@ -14646,6 +14657,7 @@ var AlertSchema = object({
14646
14657
  severity: AlertSeveritySchema,
14647
14658
  title: string(),
14648
14659
  message: string(),
14660
+ action: AlertActionSchema.optional(),
14649
14661
  status: AlertStatusSchema,
14650
14662
  progress: number().optional(),
14651
14663
  read: boolean(),
@@ -57171,7 +57183,8 @@ var batteryCapability = {
57171
57183
  DeviceType.Button,
57172
57184
  DeviceType.Switch,
57173
57185
  DeviceType.PetFeeder,
57174
- DeviceType.Container
57186
+ DeviceType.Container,
57187
+ DeviceType.Thermostat
57175
57188
  ],
57176
57189
  methods: {
57177
57190
  /**
@@ -58693,6 +58706,125 @@ onStatusChanged: { data: object({
58693
58706
  * whether persisting is worth a SQLite commit. */
58694
58707
  volatileStateFields: ["lastChangedAt"]
58695
58708
  };
58709
+ /**
58710
+ * Smart-dishwasher cap — program lifecycle, door / remote-start gates,
58711
+ * consumable levels (salt, rinse aid) and common program options.
58712
+ *
58713
+ * Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
58714
+ * by any integration that exposes the same program / option surface.
58715
+ *
58716
+ * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
58717
+ * provider refreshes the slice on an interval and eagerly after commands.
58718
+ */
58719
+ var DishwasherStateSchema = _enum([
58720
+ "idle",
58721
+ "running",
58722
+ "paused",
58723
+ "finished",
58724
+ "error",
58725
+ "unavailable"
58726
+ ]);
58727
+ var DishwasherConsumableLevelSchema = _enum([
58728
+ "ok",
58729
+ "low",
58730
+ "empty"
58731
+ ]);
58732
+ var DishwasherStatusSchema = object({
58733
+ state: DishwasherStateSchema,
58734
+ /** Active program id/name, or null when none selected / unknown. */
58735
+ program: string().nullable(),
58736
+ /** Program tokens the hardware accepts — drives the UI selector. */
58737
+ availablePrograms: array(string()),
58738
+ /** Minutes remaining on the active cycle, or null when not running. */
58739
+ remainingMinutes: number().int().nonnegative().nullable(),
58740
+ /** Cycle completion 0..100, or null when not applicable. */
58741
+ progressPercent: number().min(0).max(100).nullable(),
58742
+ /** True when the door is reported open. */
58743
+ doorOpen: boolean(),
58744
+ /** True when remote start is allowed (door closed, power on, etc.). */
58745
+ remoteStartAllowed: boolean(),
58746
+ /** Main power / switched-on state. */
58747
+ powerOn: boolean(),
58748
+ saltLevel: DishwasherConsumableLevelSchema.nullable(),
58749
+ rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
58750
+ halfLoad: boolean(),
58751
+ hygienePlus: boolean(),
58752
+ errorCode: number().nullable(),
58753
+ errorLabel: string().nullable(),
58754
+ lastFetchedAt: number()
58755
+ });
58756
+ var dishwasherCapability = {
58757
+ name: "dishwasher",
58758
+ scope: "device",
58759
+ deviceNative: true,
58760
+ mode: "singleton",
58761
+ deviceTypes: [DeviceType.Dishwasher],
58762
+ methods: {
58763
+ start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
58764
+ kind: "mutation",
58765
+ auth: "protected"
58766
+ }),
58767
+ pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
58768
+ kind: "mutation",
58769
+ auth: "protected"
58770
+ }),
58771
+ stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
58772
+ kind: "mutation",
58773
+ auth: "protected"
58774
+ }),
58775
+ setProgram: method(object({
58776
+ deviceId: number().int().nonnegative(),
58777
+ program: string().min(1)
58778
+ }), _void(), {
58779
+ kind: "mutation",
58780
+ auth: "protected"
58781
+ }),
58782
+ setPower: method(object({
58783
+ deviceId: number().int().nonnegative(),
58784
+ on: boolean()
58785
+ }), _void(), {
58786
+ kind: "mutation",
58787
+ auth: "protected"
58788
+ }),
58789
+ setHalfLoad: method(object({
58790
+ deviceId: number().int().nonnegative(),
58791
+ on: boolean()
58792
+ }), _void(), {
58793
+ kind: "mutation",
58794
+ auth: "protected"
58795
+ }),
58796
+ setHygienePlus: method(object({
58797
+ deviceId: number().int().nonnegative(),
58798
+ on: boolean()
58799
+ }), _void(), {
58800
+ kind: "mutation",
58801
+ auth: "protected"
58802
+ }),
58803
+ setOption: method(object({
58804
+ deviceId: number().int().nonnegative(),
58805
+ key: string().min(1),
58806
+ value: union([
58807
+ boolean(),
58808
+ string(),
58809
+ number()
58810
+ ])
58811
+ }), _void(), {
58812
+ kind: "mutation",
58813
+ auth: "protected"
58814
+ })
58815
+ },
58816
+ status: {
58817
+ schema: DishwasherStatusSchema,
58818
+ kind: "poll"
58819
+ },
58820
+ runtimeState: DishwasherStatusSchema,
58821
+ durability: "session",
58822
+ history: { fields: { progressPercent: {
58823
+ kind: "gauge",
58824
+ unit: "%",
58825
+ deadband: 2
58826
+ } } }
58827
+ };
58696
58828
  var DoorbellStatusSchema = object({
58697
58829
  /** Ms epoch of the last press. null = never observed since this provider started. */
58698
58830
  lastPressedAt: number().nullable(),
@@ -59534,6 +59666,32 @@ var gasCapability = {
59534
59666
  * whether persisting is worth a SQLite commit. */
59535
59667
  volatileStateFields: ["lastChangedAt"]
59536
59668
  };
59669
+ var HeatingValveStatusSchema = object({
59670
+ /** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
59671
+ position: number().min(0).max(100).nullable(),
59672
+ /** Ms epoch when the slice was last updated (push or poll). */
59673
+ lastFetchedAt: number()
59674
+ });
59675
+ var heatingValveCapability = {
59676
+ name: "heating-valve",
59677
+ scope: "device",
59678
+ deviceNative: true,
59679
+ mode: "singleton",
59680
+ deviceTypes: [DeviceType.Thermostat],
59681
+ methods: {},
59682
+ status: {
59683
+ schema: HeatingValveStatusSchema,
59684
+ kind: "push"
59685
+ },
59686
+ runtimeState: HeatingValveStatusSchema,
59687
+ durability: "session",
59688
+ history: { fields: { position: {
59689
+ kind: "gauge",
59690
+ unit: "%",
59691
+ deadband: 1
59692
+ } } },
59693
+ volatileStateFields: ["lastFetchedAt"]
59694
+ };
59537
59695
  /**
59538
59696
  * Humidifier / dehumidifier cap. Models HA `humidifier.*` entities —
59539
59697
  * an on/off actuator with an optional target-humidity setpoint and an
@@ -69137,6 +69295,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
69137
69295
  dayNight: dayNightCapability,
69138
69296
  deviceDiscovery: deviceDiscoveryCapability,
69139
69297
  deviceStatus: deviceStatusCapability,
69298
+ dishwasher: dishwasherCapability,
69140
69299
  doorbell: doorbellCapability,
69141
69300
  enumSensor: enumSensorCapability,
69142
69301
  eventEmitter: eventEmitterCapability,
@@ -69144,6 +69303,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
69144
69303
  featureProbe: featureProbeCapability,
69145
69304
  flood: floodCapability,
69146
69305
  gas: gasCapability,
69306
+ heatingValve: heatingValveCapability,
69147
69307
  humidifier: humidifierCapability,
69148
69308
  humiditySensor: humiditySensorCapability,
69149
69309
  image: imageCapability,
@@ -69918,7 +70078,7 @@ var DeclaredDevices = class {
69918
70078
  return removed;
69919
70079
  }
69920
70080
  };
69921
- DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
70081
+ DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher;
69922
70082
  new Set(Object.values(DeviceType));
69923
70083
  Object.freeze({
69924
70084
  "accessories.getStatus": {
@@ -72339,6 +72499,60 @@ Object.freeze({
72339
72499
  addonId: null,
72340
72500
  access: "view"
72341
72501
  },
72502
+ "dishwasher.getStatus": {
72503
+ capName: "dishwasher",
72504
+ capScope: "device",
72505
+ addonId: null,
72506
+ access: "view"
72507
+ },
72508
+ "dishwasher.pause": {
72509
+ capName: "dishwasher",
72510
+ capScope: "device",
72511
+ addonId: null,
72512
+ access: "create"
72513
+ },
72514
+ "dishwasher.setHalfLoad": {
72515
+ capName: "dishwasher",
72516
+ capScope: "device",
72517
+ addonId: null,
72518
+ access: "create"
72519
+ },
72520
+ "dishwasher.setHygienePlus": {
72521
+ capName: "dishwasher",
72522
+ capScope: "device",
72523
+ addonId: null,
72524
+ access: "create"
72525
+ },
72526
+ "dishwasher.setOption": {
72527
+ capName: "dishwasher",
72528
+ capScope: "device",
72529
+ addonId: null,
72530
+ access: "create"
72531
+ },
72532
+ "dishwasher.setPower": {
72533
+ capName: "dishwasher",
72534
+ capScope: "device",
72535
+ addonId: null,
72536
+ access: "create"
72537
+ },
72538
+ "dishwasher.setProgram": {
72539
+ capName: "dishwasher",
72540
+ capScope: "device",
72541
+ addonId: null,
72542
+ access: "create"
72543
+ },
72544
+ "dishwasher.start": {
72545
+ capName: "dishwasher",
72546
+ capScope: "device",
72547
+ addonId: null,
72548
+ access: "create"
72549
+ },
72550
+ "dishwasher.stop": {
72551
+ capName: "dishwasher",
72552
+ capScope: "device",
72553
+ addonId: null,
72554
+ access: "create"
72555
+ },
72342
72556
  "doorbell.getStatus": {
72343
72557
  capName: "doorbell",
72344
72558
  capScope: "device",
@@ -72549,6 +72763,12 @@ Object.freeze({
72549
72763
  addonId: null,
72550
72764
  access: "view"
72551
72765
  },
72766
+ "heatingValve.getStatus": {
72767
+ capName: "heating-valve",
72768
+ capScope: "device",
72769
+ addonId: null,
72770
+ access: "view"
72771
+ },
72552
72772
  "humidifier.getStatus": {
72553
72773
  capName: "humidifier",
72554
72774
  capScope: "device",
@@ -78136,7 +78356,7 @@ Object.freeze({
78136
78356
  access: "create"
78137
78357
  }
78138
78358
  });
78139
- DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
78359
+ DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher;
78140
78360
  DeviceFeature.BatteryOperated;
78141
78361
  Object.freeze({
78142
78362
  "accessories.getStatus": [{
@@ -78960,6 +79180,51 @@ Object.freeze({
78960
79180
  form: "single",
78961
79181
  optional: false
78962
79182
  }],
79183
+ "dishwasher.getStatus": [{
79184
+ name: "deviceId",
79185
+ form: "single",
79186
+ optional: false
79187
+ }],
79188
+ "dishwasher.pause": [{
79189
+ name: "deviceId",
79190
+ form: "single",
79191
+ optional: false
79192
+ }],
79193
+ "dishwasher.setHalfLoad": [{
79194
+ name: "deviceId",
79195
+ form: "single",
79196
+ optional: false
79197
+ }],
79198
+ "dishwasher.setHygienePlus": [{
79199
+ name: "deviceId",
79200
+ form: "single",
79201
+ optional: false
79202
+ }],
79203
+ "dishwasher.setOption": [{
79204
+ name: "deviceId",
79205
+ form: "single",
79206
+ optional: false
79207
+ }],
79208
+ "dishwasher.setPower": [{
79209
+ name: "deviceId",
79210
+ form: "single",
79211
+ optional: false
79212
+ }],
79213
+ "dishwasher.setProgram": [{
79214
+ name: "deviceId",
79215
+ form: "single",
79216
+ optional: false
79217
+ }],
79218
+ "dishwasher.start": [{
79219
+ name: "deviceId",
79220
+ form: "single",
79221
+ optional: false
79222
+ }],
79223
+ "dishwasher.stop": [{
79224
+ name: "deviceId",
79225
+ form: "single",
79226
+ optional: false
79227
+ }],
78963
79228
  "doorbell.getStatus": [{
78964
79229
  name: "deviceId",
78965
79230
  form: "single",
@@ -79029,6 +79294,11 @@ Object.freeze({
79029
79294
  form: "single",
79030
79295
  optional: false
79031
79296
  }],
79297
+ "heatingValve.getStatus": [{
79298
+ name: "deviceId",
79299
+ form: "single",
79300
+ optional: false
79301
+ }],
79032
79302
  "humidifier.getStatus": [{
79033
79303
  name: "deviceId",
79034
79304
  form: "single",
@@ -80852,6 +81122,103 @@ Object.freeze({
80852
81122
  "network-access": "ingress",
80853
81123
  "smtp-provider": "email"
80854
81124
  });
81125
+ /** Width of a bucket the history store accepts. */
81126
+ var HISTORY_BUCKET_MS = 5 * 6e4;
81127
+ function bucketStartOf(at) {
81128
+ return Math.floor(at / HISTORY_BUCKET_MS) * HISTORY_BUCKET_MS;
81129
+ }
81130
+ function subjectId(subject) {
81131
+ return subject.kind === "device" ? `d:${subject.deviceId}` : `n:${subject.nodeId}`;
81132
+ }
81133
+ function seriesIdentity(key, subject, scope) {
81134
+ return `${key}\u0000${subjectId(subject)}\u0000${scope}`;
81135
+ }
81136
+ function toClosed(b) {
81137
+ return {
81138
+ key: b.key,
81139
+ subject: b.subject,
81140
+ scope: b.scope,
81141
+ bucketStart: b.bucketStart,
81142
+ samples: b.samples,
81143
+ sum: b.sum,
81144
+ min: b.min,
81145
+ max: b.max,
81146
+ last: b.last,
81147
+ lastTs: b.lastTs
81148
+ };
81149
+ }
81150
+ var BucketAccumulator = class {
81151
+ open = /* @__PURE__ */ new Map();
81152
+ requeued = /* @__PURE__ */ new Map();
81153
+ /** Add one observation. A non-finite value or timestamp is ignored (never counted as 0). */
81154
+ note(key, subject, scope, value, at) {
81155
+ if (!Number.isFinite(value) || !Number.isFinite(at)) return;
81156
+ const bucketStart = bucketStartOf(at);
81157
+ const id = `${seriesIdentity(key, subject, scope)}\u0000${bucketStart}`;
81158
+ const existing = this.open.get(id);
81159
+ if (existing === void 0) {
81160
+ this.open.set(id, {
81161
+ key,
81162
+ subject,
81163
+ scope,
81164
+ bucketStart,
81165
+ samples: 1,
81166
+ sum: value,
81167
+ min: value,
81168
+ max: value,
81169
+ last: value,
81170
+ lastTs: at
81171
+ });
81172
+ return;
81173
+ }
81174
+ existing.samples += 1;
81175
+ existing.sum += value;
81176
+ if (value < existing.min) existing.min = value;
81177
+ if (value > existing.max) existing.max = value;
81178
+ if (at >= existing.lastTs) {
81179
+ existing.last = value;
81180
+ existing.lastTs = at;
81181
+ }
81182
+ }
81183
+ /**
81184
+ * Buckets whose window ended at or before `now`, oldest first, requeued ones
81185
+ * included. They leave the accumulator: delivery is the caller's.
81186
+ */
81187
+ takeClosed(now) {
81188
+ const out = [];
81189
+ for (const [id, bucket] of this.open) if (bucket.bucketStart + 3e5 <= now) {
81190
+ out.push(toClosed(bucket));
81191
+ this.open.delete(id);
81192
+ }
81193
+ for (const list of this.requeued.values()) out.push(...list);
81194
+ this.requeued.clear();
81195
+ return out.toSorted((a, b) => a.bucketStart - b.bucketStart);
81196
+ }
81197
+ /**
81198
+ * Put undelivered buckets back for the next `takeClosed`. Keeps the newest
81199
+ * {@link MAX_REQUEUED_BUCKETS_PER_SERIES} per series and returns the buckets
81200
+ * it dropped (empty when none).
81201
+ */
81202
+ requeue(buckets) {
81203
+ const dropped = [];
81204
+ for (const bucket of buckets) {
81205
+ const id = seriesIdentity(bucket.key, bucket.subject, bucket.scope);
81206
+ const list = [...this.requeued.get(id) ?? [], bucket].toSorted((a, b) => a.bucketStart - b.bucketStart);
81207
+ while (list.length > 12) {
81208
+ const oldest = list.shift();
81209
+ if (oldest !== void 0) dropped.push(oldest);
81210
+ }
81211
+ this.requeued.set(id, list);
81212
+ }
81213
+ return dropped;
81214
+ }
81215
+ /** Buckets currently held (open plus requeued) — for a gauge in the producer's own status. */
81216
+ pendingBucketCount() {
81217
+ let n = this.open.size;
81218
+ for (const list of this.requeued.values()) n += list.length;
81219
+ return n;
81220
+ }
81221
+ };
80855
81222
  DeviceType.Camera;
80856
81223
  var G711_SCALE_CORRECTION_DB = {
80857
81224
  PCMU: 20 * Math.log10(4),
@@ -84943,4 +85310,4 @@ function buildClipModelRegistry(entries) {
84943
85310
  /** The built-in catalog's registry. */
84944
85311
  var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
84945
85312
  //#endregion
84946
- export { MotionTriggeredBySchema as $, strictObject as $i, deriveDetailCropRect as $n, retrainRevisionConflictMessage as $r, OPS_LOG_DEFAULT_LIMIT as $t, DetectionSourceSchema as A, BaseAddon as Ai, TrackSourceSchema as An, isScheduleActive as Ar, NcAlarmSensorsSchema as At, FailureCounters as B, normalizeNodeId as Bi, assertTimelapseCadences as Bn, parseProcStatus as Br, NcRuleTargetSchema as Bt, CoverStateSchema as C, zoneAnalyticsCapability as Ci, TimelapseRuleInputSchema as Cn, isEventKindLabelKey as Cr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as Ct, DETECTION_MACRO_CLASSES as D, isSourceCap as Di, TrackRelationKindSchema as Dn, isMediaOwnerType as Dr, NcAlarmConfigSchema as Dt, DEFAULT_TIMELAPSE_PREVIEW_TEXT as E, evaluateSensorEdge as Ei, TrackPuritySchema as En, isLabelSupplyStepId as Er, NC_TEMPLATE_VARS as Et, EVENT_KIND_BY_CAP as F, defineCustomActions as Fi, applyBlockingEdit as Fn, linkedStepOf as Fr, NcRuleActionSchema as Ft, LockStateSchema as G, boolean as Gi, calendarEventLocalSpan as Gn, readMotionTriggeredBy as Gr, NcSnoozeSchema as Gt, LabelAttributionSchema as H, ZodObject as Hi, audioModeOf as Hn, pipelineAnalyticsCapability as Hr, NcScheduleSchema as Ht, EVENT_OWNER_TYPES as I, defineRecordKinds as Ii, applyModeDelaysEdits as In, mayWriteToLocation as Ir, NcRuleActionsSchema as It, MAX_BIRTH_LATENCY_PROXY_MS as J, looseObject as Ji, consumableLowPercentOf as Jn, resolveClipSearchMinScore as Jr, NcSystemEventKindSchema as Jt, MAX_ARCHIVED_DEBUG_NOTES as K, discriminatedUnion as Ki, classifyRetrainReview as Kn, readTimelapseGeneratedAt as Kr, NcSnoozeSuppressedSchema as Kt, EXPORT_DENSE_MAX_RANGES as L, hydrateSchema as Li, applyNonBlockingEdit as Ln, memoizePinnedFfmpeg as Lr, NcRuleInputSchema as Lt, EMBEDDING_REQUIREMENTS_FAILED as M, RECORD_MAX_DATA_BYTES as Mi, addonWidgetsSourceCapability as Mn, isSystemEventSummaryRule as Mr, NcConditionDescriptorSchema as Mt, EMBEDDING_REQUIREMENTS_UNAVAILABLE as N, createEvent as Ni, alarmDeviceSecureOnArm as Nn, isVectorIndexDimConflict as Nr, NcConditionsSchema as Nt, DETECTION_PIPELINE_CAP_NAME as O, DeviceType as Oi, TrackRelationSchema as On, isRetiredClearKey as Or, NcAlarmPostTriggeredActionSchema as Ot, EVENT_DENSITY_BATCH_MAX as P, customAction as Pi, alarmPanelCapability as Pn, kebabToCamel as Pr, NcLegacyRuleActionSequenceSchema as Pt, MediaFileKindEnum as Q, record as Qi, deleteAlarmProfile as Qn, resolvePoolMemoryPolicy as Qr, NcTemplateVarDescriptorSchema as Qt, FIRST_LEVEL_MACRO_CLASSES as R, isDeviceScopedCap as Ri, applySecureOnArmEdit as Rn, notificationRulesCapability as Rr, NcRulePatchSchema as Rt, ClearTrackRelationResultSchema as S, viewerLinkBaseOf as Si, TRACK_RELATIONS_DEFAULT_LIMIT as Sn, isDetectionMacroClass as Sr, NC_SNOOZE_MAX_MINUTES as St, DEFAULT_EVENT_COLOR as T, canonicalHash as Ti, TimelapseRuleSchema as Tn, isKnownTemplateVar as Tr, NC_TAXONOMY as Tt, ListTrackRelationsInputSchema as U, _enum as Ui, buildEventKindDescriptor as Un, plateGalleryCapability as Ur, NcSharedSequenceSchema as Ut, LABEL_SUPPLY_MACRO as V, sleep as Vi, audioMetricsCapability as Vn, pickFaceRescoreIntervalMinutes as Vr, NcRuleUpdateInputSchema as Vt, ListTrackRelationsResultSchema as W, array as Wi, buildViewerLink as Wn, readDeviceStateFrom as Wr, NcSnoozeInputSchema as Wt, MAX_TRACK_RELATIONS as X, object as Xi, cosineSimilarity as Xn, resolveModeDelays as Xr, NcTemplatePreviewInputSchema as Xt, MAX_TRACK_PURITIES as Y, number as Yi, coreBlockIdFromAddonId as Yn, resolveLocationMode as Yr, NcTaxonomySchema as Yt, MOTION_CLOSE_AFTER_MS as Z, partialRecord as Zi, createAlarmProfile as Zn, resolveModeNotifyPolicy as Zr, NcTemplatePreviewSchema as Zt, BIRTH_DECISION_DEFAULT_LIMIT as _, systemEventSummaryScheduleOf as _i, SceneMonitorSchema as _n, gifFromMp4Args as _r, NC_DEFAULT_SNOOZE_MINUTES as _t, CLIP_EMBEDDING_STEP_ID as a, EventCategory as aa, ruleKindOf as ai, RetrainDismissedSchema as an, embeddingEncoderCapability as ar, NC_ALARM_SYSTEM_EVENT_KINDS as at, COCO_TO_MACRO as b, templateVarsFor as bi, SetTrackRelationInputSchema as bn, isAudioClassName as br, NC_GROUPING_MIN_SEC as bt, readClusterModelPinStrict as c, sensorRaisedOf as ci, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as cn, embeddingRequirementsFailedError as cr, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as ct, APPEARANCE_BLOCKS as d, subKindsOf as di, SCENE_DEFAULT_CHECK_INTERVAL_SEC as dn, ensureAlarmProfiles as dr, NC_CLIP_RETENTION_MAX_SEC as dt, string as ea, rootSupplyServes as ei, OpsLogEntrySchema as en, derivePostTriggeredAction as er, NC_ALARM_DEFAULT_PROFILE_ID as et, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as f, summarizeReview as fi, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as fn, eventKindLabel as fr, NC_CONDITION_CATALOG as ft, ArchivedDebugNoteSchema as g, systemEventFilterApplies as gi, SCENE_RESET_RECAPTURES as gn, gifDeriveSpeed as gr, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as gt, AlarmArmModeSchema as h, systemEventFamilyProblems as hi, SCENE_DIVERGED as hn, failureContributionCapability as hr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as ht, CLIP_TEXT_MODELS as i, unknown as ia, ruleGroupingApplies as ii, RebuildObjectEmbeddingsRefusalSchema as in, deviceRemovalHookCapability as ir, NC_ALARM_NOTIFY_FIELDS as it, EMBEDDING_MODEL_FAILED as j, CamProfileSchema as ji, activateAlarmProfile as jn, isSystemDelivery as jr, NcAlarmSettingsPatchSchema as jt, DeclaredDevices as k, errMsg as ki, TrackSideSchema as kn, isRootSuppliableStepId as kr, NcAlarmSensorsInputSchema as kt, resolveClusterModelPin as l, servedTemplateVars as li, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as ln, embeddingRequirementsUnavailableError as lr, NC_CLIP_POST_ROLL_DEFAULT_SEC as lt, AUDIO_MACRO_LABELS as m, systemEventDeliveryProblems as mi, SCENE_DEFAULT_UNCOVERED_POLICY as mn, faceGalleryCapability as mr, NC_CONFIRM_DEFAULT_TIMEOUT_MS as mt, DEFAULT_CLIP_MODEL as n, tuple as na, ruleBelongsToAlarm as ni, RECORDING_EXPORT_MAX_READ_BYTES as nn, describeSystemEventDeliveryProblem as nr, NC_ALARM_DELAY_FIELDS as nt, CLUSTER_MODEL_OWNER_ADDON_ID as o, sceneMonitorCapability as oi, RetrainOriginSchema as on, embeddingModelFailedError as or, NC_ALARM_TRIGGERED_MAX_SEC as ot, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as p, syncActiveAlarmProfileSettings as pi, SCENE_DEFAULT_QUIET_SECONDS as pn, evictionPolicyOfLocation as pr, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX as pt, MAX_BIRTH_DECISION_RECORDS as q, literal as qi, cloneAlarmSettings as qn, renameAlarmProfile as qr, NcStateSummarySectionIdSchema as qt, CLIP_IMAGE_MODELS as r, union as ra, ruleDeviceCompatCapQueries as ri, RECORDING_SOURCE_CAMSTACK_ADDON as rn, describeSystemEventFamilyProblem as rr, NC_ALARM_DELAY_MAX_SEC as rt, FACE_EMBEDDING_STEP_ID as s, secureActuationFor as si, RetrainStatusSchema as sn, embeddingRefusalOf as sr, NC_AUDIO_CONFIRM_HITS_DEFAULT as st, BUILTIN_CLIP_MODELS as t, templateLiteral as ta, ruleAutoTriggersAlarm as ti, PoolMemoryWatchdog as tn, deriveRecordingMode as tr, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC as tt, APPEARANCE_BIN_COUNT as u, storageOccupancyCapability as ui, SCENE_DEFAULT_ANCHOR_THRESHOLD as un, encodeVectorBase64 as ur, NC_CLIP_PRE_ROLL_DEFAULT_SEC as ut, BaseDevice as v, systemEventSummarySplitOf as vi, SetTrackPurityInputSchema as vn, isAlarmControllableCap as vr, NC_GROUPING_DEFAULT_SEC as vt, DEFAULT_DETAIL_CROP_CONVENTION as w, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as wi, TimelapseRulePatchSchema as wn, isEventOwnerType as wr, NC_TANK_SYSTEM_EVENT_KINDS as wt, ClearTrackRelationInputSchema as x, vectorDimFromBase64 as xi, TIMELAPSE_DENSE_FLOOR_SEC as xn, isDefaultAlarmProfileId as xr, NC_SENSOR_TRANSITION_KINDS as xt, BirthDecisionRecordSchema as y, templateCarriesSummary as yi, SetTrackPurityResultSchema as yn, isAppLinkBase as yr, NC_GROUPING_MAX_SEC as yt, FULL_IMAGE_BBOX as z, nodePin as zi, armRemovalReconcile as zn, occupancyScope as zr, NcRuleSchema as zt };
85313
+ export { MediaFileKindEnum as $, record as $i, deleteAlarmProfile as $n, resolvePoolMemoryPolicy as $r, NcTemplateVarDescriptorSchema as $t, DeclaredDevices as A, errMsg as Ai, TrackSideSchema as An, isRootSuppliableStepId as Ar, NcAlarmSensorsInputSchema as At, FULL_IMAGE_BBOX as B, nodePin as Bi, armRemovalReconcile as Bn, occupancyScope as Br, NcRuleSchema as Bt, ClearTrackRelationResultSchema as C, viewerLinkBaseOf as Ci, TRACK_RELATIONS_DEFAULT_LIMIT as Cn, isDetectionMacroClass as Cr, NC_SNOOZE_MAX_MINUTES as Ct, DEFAULT_TIMELAPSE_PREVIEW_TEXT as D, evaluateSensorEdge as Di, TrackPuritySchema as Dn, isLabelSupplyStepId as Dr, NC_TEMPLATE_VARS as Dt, DEFAULT_EVENT_COLOR as E, canonicalHash as Ei, TimelapseRuleSchema as En, isKnownTemplateVar as Er, NC_TAXONOMY as Et, EVENT_DENSITY_BATCH_MAX as F, customAction as Fi, alarmPanelCapability as Fn, kebabToCamel as Fr, NcLegacyRuleActionSequenceSchema as Ft, ListTrackRelationsResultSchema as G, array as Gi, buildViewerLink as Gn, readDeviceStateFrom as Gr, NcSnoozeInputSchema as Gt, LABEL_SUPPLY_MACRO as H, sleep as Hi, audioMetricsCapability as Hn, pickFaceRescoreIntervalMinutes as Hr, NcRuleUpdateInputSchema as Ht, EVENT_KIND_BY_CAP as I, defineCustomActions as Ii, applyBlockingEdit as In, linkedStepOf as Ir, NcRuleActionSchema as It, MAX_BIRTH_DECISION_RECORDS as J, literal as Ji, cloneAlarmSettings as Jn, renameAlarmProfile as Jr, NcStateSummarySectionIdSchema as Jt, LockStateSchema as K, boolean as Ki, calendarEventLocalSpan as Kn, readMotionTriggeredBy as Kr, NcSnoozeSchema as Kt, EVENT_OWNER_TYPES as L, defineRecordKinds as Li, applyModeDelaysEdits as Ln, mayWriteToLocation as Lr, NcRuleActionsSchema as Lt, EMBEDDING_MODEL_FAILED as M, CamProfileSchema as Mi, activateAlarmProfile as Mn, isSystemDelivery as Mr, NcAlarmSettingsPatchSchema as Mt, EMBEDDING_REQUIREMENTS_FAILED as N, RECORD_MAX_DATA_BYTES as Ni, addonWidgetsSourceCapability as Nn, isSystemEventSummaryRule as Nr, NcConditionDescriptorSchema as Nt, DETECTION_MACRO_CLASSES as O, isSourceCap as Oi, TrackRelationKindSchema as On, isMediaOwnerType as Or, NcAlarmConfigSchema as Ot, EMBEDDING_REQUIREMENTS_UNAVAILABLE as P, createEvent as Pi, alarmDeviceSecureOnArm as Pn, isVectorIndexDimConflict as Pr, NcConditionsSchema as Pt, MOTION_CLOSE_AFTER_MS as Q, partialRecord as Qi, createAlarmProfile as Qn, resolveModeNotifyPolicy as Qr, NcTemplatePreviewSchema as Qt, EXPORT_DENSE_MAX_RANGES as R, hydrateSchema as Ri, applyNonBlockingEdit as Rn, memoizePinnedFfmpeg as Rr, NcRuleInputSchema as Rt, ClearTrackRelationInputSchema as S, vectorDimFromBase64 as Si, TIMELAPSE_DENSE_FLOOR_SEC as Sn, isDefaultAlarmProfileId as Sr, NC_SENSOR_TRANSITION_KINDS as St, DEFAULT_DETAIL_CROP_CONVENTION as T, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as Ti, TimelapseRulePatchSchema as Tn, isEventOwnerType as Tr, NC_TANK_SYSTEM_EVENT_KINDS as Tt, LabelAttributionSchema as U, ZodObject as Ui, audioModeOf as Un, pipelineAnalyticsCapability as Ur, NcScheduleSchema as Ut, FailureCounters as V, normalizeNodeId as Vi, assertTimelapseCadences as Vn, parseProcStatus as Vr, NcRuleTargetSchema as Vt, ListTrackRelationsInputSchema as W, _enum as Wi, buildEventKindDescriptor as Wn, plateGalleryCapability as Wr, NcSharedSequenceSchema as Wt, MAX_TRACK_PURITIES as X, number as Xi, coreBlockIdFromAddonId as Xn, resolveLocationMode as Xr, NcTaxonomySchema as Xt, MAX_BIRTH_LATENCY_PROXY_MS as Y, looseObject as Yi, consumableLowPercentOf as Yn, resolveClipSearchMinScore as Yr, NcSystemEventKindSchema as Yt, MAX_TRACK_RELATIONS as Z, object as Zi, cosineSimilarity as Zn, resolveModeDelays as Zr, NcTemplatePreviewInputSchema as Zt, BIRTH_DECISION_DEFAULT_LIMIT as _, systemEventFilterApplies as _i, SCENE_RESET_RECAPTURES as _n, gifDeriveSpeed as _r, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as _t, CLIP_EMBEDDING_STEP_ID as a, unknown as aa, ruleGroupingApplies as ai, RebuildObjectEmbeddingsRefusalSchema as an, deviceRemovalHookCapability as ar, NC_ALARM_NOTIFY_FIELDS as at, BucketAccumulator as b, templateCarriesSummary as bi, SetTrackPurityResultSchema as bn, isAppLinkBase as br, NC_GROUPING_MAX_SEC as bt, readClusterModelPinStrict as c, secureActuationFor as ci, RetrainStatusSchema as cn, embeddingRefusalOf as cr, NC_AUDIO_CONFIRM_HITS_DEFAULT as ct, APPEARANCE_BLOCKS as d, storageOccupancyCapability as di, SCENE_DEFAULT_ANCHOR_THRESHOLD as dn, encodeVectorBase64 as dr, NC_CLIP_PRE_ROLL_DEFAULT_SEC as dt, strictObject as ea, retrainRevisionConflictMessage as ei, OPS_LOG_DEFAULT_LIMIT as en, deriveDetailCropRect as er, MotionTriggeredBySchema as et, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as f, subKindsOf as fi, SCENE_DEFAULT_CHECK_INTERVAL_SEC as fn, ensureAlarmProfiles as fr, NC_CLIP_RETENTION_MAX_SEC as ft, ArchivedDebugNoteSchema as g, systemEventFamilyProblems as gi, SCENE_DIVERGED as gn, failureContributionCapability as gr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as gt, AlarmArmModeSchema as h, systemEventDeliveryProblems as hi, SCENE_DEFAULT_UNCOVERED_POLICY as hn, faceGalleryCapability as hr, NC_CONFIRM_DEFAULT_TIMEOUT_MS as ht, CLIP_TEXT_MODELS as i, union as ia, ruleDeviceCompatCapQueries as ii, RECORDING_SOURCE_CAMSTACK_ADDON as in, describeSystemEventFamilyProblem as ir, NC_ALARM_DELAY_MAX_SEC as it, DetectionSourceSchema as j, BaseAddon as ji, TrackSourceSchema as jn, isScheduleActive as jr, NcAlarmSensorsSchema as jt, DETECTION_PIPELINE_CAP_NAME as k, DeviceType as ki, TrackRelationSchema as kn, isRetiredClearKey as kr, NcAlarmPostTriggeredActionSchema as kt, resolveClusterModelPin as l, sensorRaisedOf as li, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as ln, embeddingRequirementsFailedError as lr, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as lt, AUDIO_MACRO_LABELS as m, syncActiveAlarmProfileSettings as mi, SCENE_DEFAULT_QUIET_SECONDS as mn, evictionPolicyOfLocation as mr, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX as mt, DEFAULT_CLIP_MODEL as n, templateLiteral as na, ruleAutoTriggersAlarm as ni, PoolMemoryWatchdog as nn, deriveRecordingMode as nr, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC as nt, CLUSTER_MODEL_OWNER_ADDON_ID as o, EventCategory as oa, ruleKindOf as oi, RetrainDismissedSchema as on, embeddingEncoderCapability as or, NC_ALARM_SYSTEM_EVENT_KINDS as ot, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as p, summarizeReview as pi, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as pn, eventKindLabel as pr, NC_CONDITION_CATALOG as pt, MAX_ARCHIVED_DEBUG_NOTES as q, discriminatedUnion as qi, classifyRetrainReview as qn, readTimelapseGeneratedAt as qr, NcSnoozeSuppressedSchema as qt, CLIP_IMAGE_MODELS as r, tuple as ra, ruleBelongsToAlarm as ri, RECORDING_EXPORT_MAX_READ_BYTES as rn, describeSystemEventDeliveryProblem as rr, NC_ALARM_DELAY_FIELDS as rt, FACE_EMBEDDING_STEP_ID as s, sceneMonitorCapability as si, RetrainOriginSchema as sn, embeddingModelFailedError as sr, NC_ALARM_TRIGGERED_MAX_SEC as st, BUILTIN_CLIP_MODELS as t, string as ta, rootSupplyServes as ti, OpsLogEntrySchema as tn, derivePostTriggeredAction as tr, NC_ALARM_DEFAULT_PROFILE_ID as tt, APPEARANCE_BIN_COUNT as u, servedTemplateVars as ui, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as un, embeddingRequirementsUnavailableError as ur, NC_CLIP_POST_ROLL_DEFAULT_SEC as ut, BaseDevice as v, systemEventSummaryScheduleOf as vi, SceneMonitorSchema as vn, gifFromMp4Args as vr, NC_DEFAULT_SNOOZE_MINUTES as vt, CoverStateSchema as w, zoneAnalyticsCapability as wi, TimelapseRuleInputSchema as wn, isEventKindLabelKey as wr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as wt, COCO_TO_MACRO as x, templateVarsFor as xi, SetTrackRelationInputSchema as xn, isAudioClassName as xr, NC_GROUPING_MIN_SEC as xt, BirthDecisionRecordSchema as y, systemEventSummarySplitOf as yi, SetTrackPurityInputSchema as yn, isAlarmControllableCap as yr, NC_GROUPING_DEFAULT_SEC as yt, FIRST_LEVEL_MACRO_CLASSES as z, isDeviceScopedCap as zi, applySecureOnArmEdit as zn, notificationRulesCapability as zr, NcRulePatchSchema as zt };
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_clip_model_registry = require("../clip-model-registry-DAZ9ie-f.js");
5
+ const require_clip_model_registry = require("../clip-model-registry-D0-VNIW5.js");
6
6
  let node_fs = require("node:fs");
7
7
  node_fs = require_clip_model_registry.__toESM(node_fs);
8
8
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { Ai as BaseAddon, Bi as normalizeNodeId, Br as parseProcStatus, Qr as resolvePoolMemoryPolicy, a as CLIP_EMBEDDING_STEP_ID, ar as embeddingEncoderCapability, cr as embeddingRequirementsFailedError, i as CLIP_TEXT_MODELS, l as resolveClusterModelPin, lr as embeddingRequirementsUnavailableError, n as DEFAULT_CLIP_MODEL, or as embeddingModelFailedError, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, tn as PoolMemoryWatchdog } from "../clip-model-registry-BuM8eXlN.mjs";
1
+ import { $r as resolvePoolMemoryPolicy, Vi as normalizeNodeId, Vr as parseProcStatus, a as CLIP_EMBEDDING_STEP_ID, i as CLIP_TEXT_MODELS, ji as BaseAddon, l as resolveClusterModelPin, lr as embeddingRequirementsFailedError, n as DEFAULT_CLIP_MODEL, nn as PoolMemoryWatchdog, or as embeddingEncoderCapability, r as CLIP_IMAGE_MODELS, sr as embeddingModelFailedError, t as BUILTIN_CLIP_MODELS, ur as embeddingRequirementsUnavailableError } from "../clip-model-registry-lQ7QWjLf.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import * as fs from "node:fs";
4
4
  import * as path$1 from "node:path";
@@ -1,8 +1,8 @@
1
1
  import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react__loadShare__.js-C0AuF9av.mjs";
2
2
  import { t as o } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B3Wx5J80.mjs";
3
- import { a as s, c, i as l, n as u, o as d, r as f, s as p, t as m } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-SRvLcL_J.mjs";
3
+ import { a as s, c, i as l, n as u, o as d, r as f, s as p, t as m } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Cfj8Mv5X.mjs";
4
4
  import { n as h, r as g, t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-Bm-iyjmq.mjs";
5
- import { t as v } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CElkWYPg.mjs";
5
+ import { t as v } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-1AlitJg2.mjs";
6
6
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
7
7
  var y = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), b = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), x = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), S = (e) => {
8
8
  let t = x(e);
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.381",
21
+ version: "1.2.383",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_pipeline_analytics_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.299",
36
+ version: "1.2.300",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_analytics_widgets",