@camstack/addon-osd-manager 0.1.266 → 0.1.268

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 (19) hide show
  1. package/dist/{MotionZonesSettings-CUn3MAfu.mjs → MotionZonesSettings-Da16aeu1.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-BoXbVS78.mjs → PrivacyMaskSettings-Cn7oHD35.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-x5r39vuf.mjs → SceneMonitorEditor-DUZEpHBf.mjs} +3 -3
  4. package/dist/_stub.js +1861 -1820
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-Bvl-Y6pM.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-pMeJvguf.mjs} +3 -3
  6. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BGMAwVi8.mjs +26 -0
  7. package/dist/addon-osd-manager.css +1 -1
  8. package/dist/{hostInit-YScGtNRZ.mjs → hostInit-Ius2kGzx.mjs} +2 -2
  9. package/dist/index.js +208 -102
  10. package/dist/index.mjs +208 -102
  11. package/dist/{player-overlays-orU5XUga.mjs → player-overlays-6Y9IRVsJ.mjs} +1 -1
  12. package/dist/remoteEntry.js +1 -1
  13. package/dist/{responsive-D9kij-ZF.mjs → responsive-CRQUI1kX.mjs} +1 -1
  14. package/dist/{scene-monitor-copy-Cyj7I5Lz.mjs → scene-monitor-copy-Ng8lktvt.mjs} +1 -1
  15. package/dist/{square-DhHK6epE.mjs → square-C3jJtMZF.mjs} +1 -1
  16. package/dist/{trash-2-DXAqD6D8.mjs → trash-2-CNbeJ76B.mjs} +1 -1
  17. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BQFwY4Fq.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CcfyBYDS.mjs} +1 -1
  18. package/package.json +1 -1
  19. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BZubp_VZ.mjs +0 -26
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- //#region ../types/dist/event-category-fDPduoeC.mjs
1
+ //#region ../types/dist/event-category-Ceif8n-v.mjs
2
2
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
3
3
  EventCategory["SystemBoot"] = "system.boot";
4
4
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -470,6 +470,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
470
470
  * on the device detail page.
471
471
  */
472
472
  EventCategory["DoorbellOnPressed"] = "doorbell.onPressed";
473
+ /** Mirrors `runningStateCapability.events.onStarted`. */
474
+ EventCategory["RunningStarted"] = "running.started";
475
+ /** Mirrors `runningStateCapability.events.onFinished`. */
476
+ EventCategory["RunningFinished"] = "running.finished";
473
477
  /**
474
478
  * Cap event fired by every device that registers the `event-emitter`
475
479
  * capability. Mirrors `eventEmitterCapability.events.onEvent`. Carries
@@ -5429,7 +5433,7 @@ var ZodIssueCode = {
5429
5433
  var ZodFirstPartyTypeKind;
5430
5434
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5431
5435
  //#endregion
5432
- //#region ../types/dist/sleep-CHIEEJkY.mjs
5436
+ //#region ../types/dist/sleep-CYfIZzGv.mjs
5433
5437
  /**
5434
5438
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5435
5439
  * window to float samples (D455).
@@ -5768,7 +5772,7 @@ Object.fromEntries([
5768
5772
  * `hydrateSchema` to skip the `value` injection for structural-only fields.
5769
5773
  */
5770
5774
  function isValuelessField(field) {
5771
- return field.type === "separator" || field.type === "info" || field.type === "qr-code" || field.type === "button" || field.type === "object-array" || field.type === "widget" || field.type === "addon-action-button" || field.type === "device-action-button";
5775
+ return field.type === "separator" || field.type === "info" || field.type === "qr-code" || field.type === "button" || field.type === "object-array" || field.type === "widget" || field.type === "addon-action-button" || field.type === "device-action-button" || field.type === "account-sign-in" || field.type === "secret-presence";
5772
5776
  }
5773
5777
  function hydrateSchema(schema, values, options = {}) {
5774
5778
  return {
@@ -8729,7 +8733,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
8729
8733
  return DeviceRole;
8730
8734
  }({});
8731
8735
  //#endregion
8732
- //#region ../types/dist/composition-CB6PMT9p.mjs
8736
+ //#region ../types/dist/composition-BJ8iAZb3.mjs
8733
8737
  /**
8734
8738
  * The ffmpeg build every CamStack node downloads, per platform and arch.
8735
8739
  *
@@ -8789,7 +8793,7 @@ portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac
8789
8793
  * ONE table for everyone who asks "is this device HIGH?": the
8790
8794
  * recorder's `RecordingTriggers.sensorDeviceIds` trigger, the post-analysis
8791
8795
  * sensor markers, the orchestrator's camera-sensors bridge and
8792
- * the sources of a composite doorbell (`doorbellFeatureSources`, D671).
8796
+ * the sources of a pulse (`compilePulseOverride`, D936).
8793
8797
  * A second copy would diverge at the first cap added, and the symptom — "the
8794
8798
  * sensor rings the doorbell but does not record" — is exactly D62.
8795
8799
  *
@@ -9030,6 +9034,20 @@ var table = {
9030
9034
  apply: () => {
9031
9035
  throw new ExpressionEvalError("count: stateful evaluation context is required");
9032
9036
  }
9037
+ },
9038
+ dwell: {
9039
+ minArgs: 3,
9040
+ maxArgs: 3,
9041
+ apply: () => {
9042
+ throw new ExpressionEvalError("dwell: stateful evaluation context is required");
9043
+ }
9044
+ },
9045
+ latchedAt: {
9046
+ minArgs: 1,
9047
+ maxArgs: 1,
9048
+ apply: () => {
9049
+ throw new ExpressionEvalError("latchedAt: stateful evaluation context is required");
9050
+ }
9033
9051
  }
9034
9052
  };
9035
9053
  Object.freeze(Object.assign(Object.create(null), table));
@@ -15890,7 +15908,15 @@ Object.freeze({
15890
15908
  kind: "fixed",
15891
15909
  result: ["number", "null"]
15892
15910
  },
15893
- count: NUMBER
15911
+ count: NUMBER,
15912
+ dwell: {
15913
+ kind: "fixed",
15914
+ result: ["boolean", "null"]
15915
+ },
15916
+ latchedAt: {
15917
+ kind: "fixed",
15918
+ result: ["number", "null"]
15919
+ }
15894
15920
  });
15895
15921
  `${COMPOSED_DEVICE_STABLE_ID_PREFIX}`;
15896
15922
  /**
@@ -42129,9 +42155,6 @@ var NcSystemEventKindSchema = _enum([
42129
42155
  "device-battery-normal",
42130
42156
  "device-consumable-low",
42131
42157
  "device-consumable-normal",
42132
- "device-tank-low",
42133
- "device-tank-full",
42134
- "device-tank-normal",
42135
42158
  "stream-online",
42136
42159
  "stream-offline",
42137
42160
  "node-online",
@@ -42178,13 +42201,14 @@ var NcSystemEventKindSchema = _enum([
42178
42201
  "camera-enabled"
42179
42202
  ]);
42180
42203
  /** The legacy tail of {@link NcSystemEventKindSchema} — see its docblock. */
42181
- var NC_LEGACY_SYSTEM_EVENT_KINDS = new Set([
42204
+ var NC_LEGACY_SYSTEM_EVENT_KINDS = [
42182
42205
  "camera-online",
42183
42206
  "camera-offline",
42184
42207
  "camera-disabled",
42185
42208
  "camera-enabled"
42186
- ]);
42187
- NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KINDS.has(kind));
42209
+ ];
42210
+ var NC_LEGACY_SYSTEM_EVENT_KIND_SET = new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
42211
+ NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KIND_SET.has(kind));
42188
42212
  /**
42189
42213
  * The panel's transitions, as ONE list.
42190
42214
  *
@@ -43303,18 +43327,11 @@ var NcRuleSchema = NcRuleInputSchema.extend({
43303
43327
  */
43304
43328
  disabledTargetIds: array(string()).default([])
43305
43329
  });
43306
- /**
43307
- * The state-summary SECTIONS (D647 / D698 / D708): the D637 kind groups that
43308
- * report a still-true state. `addons` is the crash-looped addons only and
43309
- * `addon-updates` the addons that are behind (D708 split them). `backups-exports` and `alarm` are not sections — a completed
43310
- * job is not an open state, and the alarm stays instant.
43311
- */
43312
43330
  var NcStateSummarySectionIdSchema = _enum([
43313
43331
  "device-state",
43314
43332
  "streams",
43315
43333
  "battery",
43316
43334
  "consumables",
43317
- "tanks",
43318
43335
  "detection-blind",
43319
43336
  "nodes",
43320
43337
  "addons",
@@ -43695,18 +43712,6 @@ var NC_CONDITION_CATALOG = [
43695
43712
  value: "device-consumable-normal",
43696
43713
  label: "Consumable replaced"
43697
43714
  },
43698
- {
43699
- value: "device-tank-low",
43700
- label: "Tank low (water, detergent)"
43701
- },
43702
- {
43703
- value: "device-tank-full",
43704
- label: "Tank full (dirty water, dust)"
43705
- },
43706
- {
43707
- value: "device-tank-normal",
43708
- label: "Tank back to normal"
43709
- },
43710
43715
  {
43711
43716
  value: "export-completed",
43712
43717
  label: "Export completed"
@@ -54282,7 +54287,8 @@ var BatteryStatusSchema = object({
54282
54287
  */
54283
54288
  binary: boolean().optional()
54284
54289
  });
54285
- DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, method(object({
54290
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat;
54291
+ method(object({
54286
54292
  deviceId: number(),
54287
54293
  /** Bound on the wait. Sensible range 3000–10000ms. */
54288
54294
  timeoutMs: number().int().min(500).max(3e4).default(8e3)
@@ -54991,6 +54997,7 @@ var ConsumablesStatusSchema = object({
54991
54997
  })),
54992
54998
  lastChangedAt: number()
54993
54999
  });
55000
+ Object.values(DeviceType), [...ConsumableRemainingUnitSchema.options], [...ConsumableStatusSchema.options], [...ConsumableKindSchema.options], [...ConsumableFormSchema.options];
54994
55001
  Object.values(DeviceType), method(object({
54995
55002
  deviceId: number().int().nonnegative(),
54996
55003
  key: string().min(1)
@@ -55462,6 +55469,7 @@ DeviceType.Dishwasher, method(object({
55462
55469
  kind: "mutation",
55463
55470
  auth: "protected"
55464
55471
  }), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
55472
+ DeviceType.Camera;
55465
55473
  object({
55466
55474
  /** Ms epoch of the last press. null = never observed since this provider started. */
55467
55475
  lastPressedAt: number().nullable(),
@@ -57254,6 +57262,7 @@ authKey: string().optional() }), object({
57254
57262
  /** Human-readable error when `ok: false`. */
57255
57263
  error: string().optional()
57256
57264
  }), { kind: "mutation" });
57265
+ DeviceType.Camera;
57257
57266
  object({
57258
57267
  detected: boolean(),
57259
57268
  /** Ms epoch of the last detected-true observation. Null if never detected. */
@@ -59379,6 +59388,24 @@ DeviceType.Camera, method(object({ deviceId: number() }), PtzAutotrackStatusSche
59379
59388
  deviceId: number(),
59380
59389
  status: PtzAutotrackStatusSchema
59381
59390
  });
59391
+ var RunningStateSourceSchema = _enum(["native", "assigned"]);
59392
+ object({
59393
+ /** null = unknown — never coerced to false (D393). */
59394
+ running: boolean().nullable(),
59395
+ /** Epoch ms the current boolean began; null while `running` is null. */
59396
+ since: number().nullable(),
59397
+ source: RunningStateSourceSchema,
59398
+ phase: string().nullable(),
59399
+ /** null until a reading has been published (D393). */
59400
+ lastFetchedAt: number().nullable()
59401
+ });
59402
+ object({
59403
+ deviceId: number(),
59404
+ since: number().nullable(),
59405
+ phase: string().nullable()
59406
+ });
59407
+ Object.values(DeviceType);
59408
+ DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
59382
59409
  DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
59383
59410
  kind: "mutation",
59384
59411
  auth: "admin"
@@ -70989,6 +71016,13 @@ Object.freeze({
70989
71016
  access: "create",
70990
71017
  role: "admin"
70991
71018
  },
71019
+ "runningState.getStatus": {
71020
+ capName: "running-state",
71021
+ capScope: "device",
71022
+ addonId: null,
71023
+ access: "view",
71024
+ role: "viewer"
71025
+ },
70992
71026
  "sceneMonitor.captureReference": {
70993
71027
  capName: "scene-monitor",
70994
71028
  capScope: "device",
@@ -75703,6 +75737,32 @@ var APPLIANCE_CAP_VOCABULARY = {
75703
75737
  }],
75704
75738
  events: { onSent: { notOperatorFacing: "a delivery receipt of a send this system made — not a fact about the world" } }
75705
75739
  },
75740
+ "running-state": {
75741
+ scope: "device",
75742
+ noun: t("Running", "In funzione"),
75743
+ state: [{
75744
+ kind: "boolean",
75745
+ field: "running",
75746
+ label: t("Running", "In funzione"),
75747
+ whenTrue: t("When {device} starts", "Quando {device} inizia"),
75748
+ whenFalse: t("When {device} finishes", "Quando {device} finisce"),
75749
+ icon: "play"
75750
+ }],
75751
+ events: {
75752
+ onStarted: {
75753
+ category: EventCategory.RunningStarted,
75754
+ label: t("Started running", "Ha iniziato a funzionare"),
75755
+ phrase: t("When {device} starts running", "Quando {device} inizia a funzionare"),
75756
+ icon: "play"
75757
+ },
75758
+ onFinished: {
75759
+ category: EventCategory.RunningFinished,
75760
+ label: t("Finished", "Ha finito"),
75761
+ phrase: t("When {device} finishes", "Quando {device} finisce"),
75762
+ icon: "square"
75763
+ }
75764
+ }
75765
+ },
75706
75766
  update: {
75707
75767
  scope: "device",
75708
75768
  noun: t("Firmware update", "Aggiornamento firmware"),
@@ -79243,6 +79303,11 @@ Object.freeze({
79243
79303
  form: "single",
79244
79304
  optional: true
79245
79305
  }],
79306
+ "runningState.getStatus": [{
79307
+ name: "deviceId",
79308
+ form: "single",
79309
+ optional: false
79310
+ }],
79246
79311
  "sceneMonitor.captureReference": [{
79247
79312
  name: "deviceId",
79248
79313
  form: "single",
@@ -79741,6 +79806,96 @@ Object.freeze({
79741
79806
  "smtp-provider": "email"
79742
79807
  });
79743
79808
  DeviceType.Camera;
79809
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, 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, DeviceType.Camera, DeviceType.Camera, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
79810
+ /**
79811
+ * A saved Customize assignment (D936). The schema is the type: callers use
79812
+ * `z.infer`, they do not restate the shape.
79813
+ */
79814
+ var OverrideSourceSchema = object({
79815
+ addonId: string().min(1),
79816
+ stableId: string().min(1),
79817
+ cap: string().min(1),
79818
+ fieldPath: string().min(1)
79819
+ });
79820
+ var CustomizeTransformDraftSchema = discriminatedUnion("kind", [
79821
+ object({ kind: literal("identity") }),
79822
+ object({ kind: literal("invert") }),
79823
+ object({
79824
+ kind: literal("threshold"),
79825
+ comparison: _enum(["gte", "lte"]),
79826
+ threshold: number(),
79827
+ startDwellMs: number().nonnegative(),
79828
+ stopDwellMs: number().nonnegative()
79829
+ }),
79830
+ object({
79831
+ kind: literal("linear"),
79832
+ scale: number(),
79833
+ offset: number(),
79834
+ clampMin: number().optional(),
79835
+ clampMax: number().optional()
79836
+ }),
79837
+ object({
79838
+ kind: literal("enum-map"),
79839
+ mapping: record(string(), string().nullable())
79840
+ }),
79841
+ object({ kind: literal("number") })
79842
+ ]);
79843
+ var ScalarOverrideDraftSchema = object({
79844
+ kind: literal("scalar"),
79845
+ cap: string().min(1),
79846
+ targetId: string().min(1),
79847
+ source: OverrideSourceSchema,
79848
+ transform: CustomizeTransformDraftSchema
79849
+ });
79850
+ var KeyedArrayOverrideDraftSchema = object({
79851
+ kind: literal("keyedArray"),
79852
+ cap: string().min(1),
79853
+ targetId: string().min(1),
79854
+ key: string().min(1),
79855
+ label: string().min(1),
79856
+ fieldPath: string().min(1),
79857
+ source: OverrideSourceSchema,
79858
+ transform: CustomizeTransformDraftSchema
79859
+ });
79860
+ var PulseOverrideDraftSchema = object({
79861
+ kind: literal("pulse"),
79862
+ cap: string().min(1),
79863
+ targetId: string().min(1),
79864
+ enabled: boolean(),
79865
+ debounceMs: number().nonnegative(),
79866
+ sources: array(OverrideSourceSchema).min(1)
79867
+ });
79868
+ var SpanSourceDraftSchema = OverrideSourceSchema.extend({ mode: _enum([
79869
+ "in-addition",
79870
+ "confirm",
79871
+ "replace"
79872
+ ]).optional() });
79873
+ discriminatedUnion("kind", [
79874
+ ScalarOverrideDraftSchema,
79875
+ KeyedArrayOverrideDraftSchema,
79876
+ PulseOverrideDraftSchema,
79877
+ object({
79878
+ kind: literal("span"),
79879
+ cap: string().min(1),
79880
+ targetId: string().min(1),
79881
+ timeoutMs: number().nonnegative(),
79882
+ cooldownMs: number().nonnegative().optional(),
79883
+ sources: array(SpanSourceDraftSchema)
79884
+ })
79885
+ ]);
79886
+ object({
79887
+ targetId: string().min(1),
79888
+ configured: boolean(),
79889
+ source: _enum(["native", "assigned"]),
79890
+ state: _enum([
79891
+ "active",
79892
+ "stale",
79893
+ "released",
79894
+ "unavailable"
79895
+ ]),
79896
+ reason: string().nullable()
79897
+ });
79898
+ String.raw`rose\(active(\d+), changed(\d+), (\d+(?:\.\d+)?)\)`;
79744
79899
  var G711_SCALE_CORRECTION_DB = {
79745
79900
  PCMU: 20 * Math.log10(4),
79746
79901
  PCMA: 20 * Math.log10(8)
@@ -79793,40 +79948,7 @@ var NC_AUDIO_DEFAULTS = {
79793
79948
  samplingSeconds: 10
79794
79949
  };
79795
79950
  new Set(["devices", "classes"]);
79796
- /**
79797
- * WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
79798
- * consumed by the rule ENGINE and by every rule EDITOR.
79799
- *
79800
- * ── The failure this file exists for ───────────────────────────────────────
79801
- * `NcSystemEventConditionSchema` carries four optional narrowing lists
79802
- * (`deviceIds`, `deviceTypes`, `nodeIds`, `packageNames`) beside a required
79803
- * `kinds` gate. They are not four filters over one vocabulary: each belongs to
79804
- * a FAMILY of kinds and is meaningless outside it. A node going away has no
79805
- * device type; a completed export has no package; `stream-offline` deliberately
79806
- * carries no device type at all (a stream belongs to a camera by construction).
79807
- *
79808
- * The engine applied all four to every kind, so a filter from one family failed
79809
- * a kind from another family CLOSED. The operator's live rule "Eventi di
79810
- * sistema" selected eleven kinds and set `deviceTypes: ['camera']` — the only
79811
- * way to say "only my cameras" about the two liveness kinds — and NINE of the
79812
- * eleven silently stopped being deliverable. Four days of history contained
79813
- * `device-online` and `device-offline` and nothing else, across a window in
79814
- * which agents were restarted and addons were updated.
79815
- *
79816
- * Both editors already computed this scoping, to decide which filter boxes to
79817
- * render; the cap's own docblock already promised it ("Narrow a `device-*` kind
79818
- * to these device TYPES"). Only the engine disagreed, and it disagreed in the
79819
- * destructive direction. So the rule is stated ONCE, here, and the engine and
79820
- * the editors are readers of it rather than three independent authors.
79821
- *
79822
- * ── The direction ─────────────────────────────────────────────────────────
79823
- * Out of family ⇒ the filter is IGNORED, never fail-closed. An editor that
79824
- * hides a box has already told the operator this filter does not speak about
79825
- * these kinds, so honouring it as an exclusion contradicts the only
79826
- * explanation the operator was ever given. Inside its family the filter still
79827
- * narrows, and still fails CLOSED on a subject that cannot produce the identity
79828
- * it tests (a device the mirror cannot name is not evidence of a camera).
79829
- */
79951
+ new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
79830
79952
  /**
79831
79953
  * Every filter, for the callers that must cover all of them (guards, tests).
79832
79954
  *
@@ -79852,9 +79974,6 @@ new Map(Object.entries({
79852
79974
  "device-battery-normal": "device-events",
79853
79975
  "device-consumable-low": "device-events",
79854
79976
  "device-consumable-normal": "device-events",
79855
- "device-tank-low": "device-events",
79856
- "device-tank-full": "device-events",
79857
- "device-tank-normal": "device-events",
79858
79977
  "stream-online": "device-events",
79859
79978
  "stream-offline": "device-events",
79860
79979
  "detection-blind": "device-events",
@@ -79931,16 +80050,6 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
79931
80050
  label: "Consumables",
79932
80051
  kinds: ["device-consumable-low", "device-consumable-normal"]
79933
80052
  },
79934
- {
79935
- id: "tanks",
79936
- family: "device-events",
79937
- label: "Tanks",
79938
- kinds: [
79939
- "device-tank-low",
79940
- "device-tank-full",
79941
- "device-tank-normal"
79942
- ]
79943
- },
79944
80053
  {
79945
80054
  id: "detection-blind",
79946
80055
  family: "device-events",
@@ -80178,11 +80287,6 @@ var RULE_BODY_ONLY = ["body"];
80178
80287
  var RULE_TEXT = ["title", "body"];
80179
80288
  var BATTERY = ["device-battery-low", "device-battery-normal"];
80180
80289
  var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
80181
- var TANK = [
80182
- "device-tank-low",
80183
- "device-tank-full",
80184
- "device-tank-normal"
80185
- ];
80186
80290
  var ALERT_EPISODE = [
80187
80291
  "alert-critical",
80188
80292
  "alert-error",
@@ -80214,7 +80318,6 @@ var DEVICE_EVENTS = [
80214
80318
  "device-enabled",
80215
80319
  ...BATTERY,
80216
80320
  ...CONSUMABLE,
80217
- ...TANK,
80218
80321
  "stream-online",
80219
80322
  "stream-offline",
80220
80323
  "detection-blind",
@@ -80260,12 +80363,6 @@ var STATE_SUMMARY_SECTION_VARS = [
80260
80363
  example: "Robot — filter 10 %",
80261
80364
  kinds: CONSUMABLE
80262
80365
  },
80263
- {
80264
- name: "summaryTanks",
80265
- label: "Summary: tanks",
80266
- example: "Robot — clean water low",
80267
- kinds: TANK
80268
- },
80269
80366
  {
80270
80367
  name: "summaryDetection",
80271
80368
  label: "Summary: cameras detecting nothing",
@@ -80381,8 +80478,7 @@ var STATE_SUMMARY_VARS = [
80381
80478
  ([...RULE_TEXT], [...COMBINED_ALARM]),
80382
80479
  ([...RULE_TEXT], [...DEVICE_EVENTS]),
80383
80480
  ([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
80384
- ([...RULE_TEXT], [...CONSUMABLE, ...TANK]),
80385
- ([...RULE_TEXT], [...TANK]),
80481
+ ([...RULE_TEXT], [...CONSUMABLE]),
80386
80482
  [...RULE_TEXT],
80387
80483
  ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
80388
80484
  ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
@@ -80486,15 +80582,6 @@ new Map([
80486
80582
  snapshotLabel: "Consumables low now",
80487
80583
  snapshotSection: "consumables"
80488
80584
  },
80489
- {
80490
- id: "tanks",
80491
- family: "device-events",
80492
- label: "Tanks (low or full / back to normal)",
80493
- bad: ["device-tank-low", "device-tank-full"],
80494
- recovery: ["device-tank-normal"],
80495
- snapshotLabel: "Tanks low or full now",
80496
- snapshotSection: "tanks"
80497
- },
80498
80585
  {
80499
80586
  id: "motion-noise",
80500
80587
  family: "device-events",
@@ -83498,6 +83585,25 @@ var CAP_STATE_LEAVES = Object.freeze({
83498
83585
  "path": "reason",
83499
83586
  "valueType": "string"
83500
83587
  }],
83588
+ "running-state": [
83589
+ {
83590
+ "path": "running",
83591
+ "valueType": "boolean"
83592
+ },
83593
+ {
83594
+ "path": "since",
83595
+ "valueType": "number"
83596
+ },
83597
+ {
83598
+ "path": "source",
83599
+ "valueType": "enum",
83600
+ "enumValues": ["native", "assigned"]
83601
+ },
83602
+ {
83603
+ "path": "phase",
83604
+ "valueType": "string"
83605
+ }
83606
+ ],
83501
83607
  "script-runner": [
83502
83608
  {
83503
83609
  "path": "isRunning",
@@ -1,6 +1,6 @@
1
1
  import { S as e, d as t, u as n, v as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C-pbjC7c.mjs";
2
2
  import { n as i, r as a, t as o } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
3
- import { c as s, l as c } from "./responsive-D9kij-ZF.mjs";
3
+ import { c as s, l as c } from "./responsive-CRQUI1kX.mjs";
4
4
  var l = c("chevron-down", [["path", {
5
5
  d: "m6 9 6 6 6-6",
6
6
  key: "qrunsl"
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BQFwY4Fq.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CcfyBYDS.mjs";
2
2
  export { t as get, e as init };
@@ -1,6 +1,6 @@
1
1
  import { S as e, d as t, g as n, i as r, l as i, n as a, r as o, u as s, v as c, y as l } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C-pbjC7c.mjs";
2
2
  import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
3
- import { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BZubp_VZ.mjs";
3
+ import { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BGMAwVi8.mjs";
4
4
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5
5
  e();
6
6
  var d = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), f = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), p = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), m = (e) => {
@@ -1,6 +1,6 @@
1
1
  import { S as e, g as t, l as n, v as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C-pbjC7c.mjs";
2
2
  import { n as i } from "./ui-text-BitwQ50T.mjs";
3
- import { l as a } from "./responsive-D9kij-ZF.mjs";
3
+ import { l as a } from "./responsive-CRQUI1kX.mjs";
4
4
  var o = a("camera", [["path", {
5
5
  d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
6
6
  key: "18u6gg"
@@ -1,4 +1,4 @@
1
- import { l as e } from "./responsive-D9kij-ZF.mjs";
1
+ import { l as e } from "./responsive-CRQUI1kX.mjs";
2
2
  var t = e("eye-off", [
3
3
  ["path", {
4
4
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
@@ -1,4 +1,4 @@
1
- import { l as e } from "./responsive-D9kij-ZF.mjs";
1
+ import { l as e } from "./responsive-CRQUI1kX.mjs";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -2753,7 +2753,7 @@ async function rr(e) {
2753
2753
  }
2754
2754
  }
2755
2755
  async function ir() {
2756
- return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-Bvl-Y6pM.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-pMeJvguf.mjs")).catch((e) => {
2757
2757
  throw tr = void 0, e;
2758
2758
  }), tr;
2759
2759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-osd-manager",
3
- "version": "0.1.266",
3
+ "version": "0.1.268",
4
4
  "description": "Binds camera on-screen-display slots to live state and recognitions",
5
5
  "keywords": [
6
6
  "camstack",