@camstack/addon-osd-manager 0.1.266 → 0.1.267

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-3OswGeMl.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-BoXbVS78.mjs → PrivacyMaskSettings-CxN7tOH_.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-x5r39vuf.mjs → SceneMonitorEditor-l9nWTYyI.mjs} +3 -3
  4. package/dist/_stub.js +1753 -1727
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-Bvl-Y6pM.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-DXtR0Eje.mjs} +3 -3
  6. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BbmRj6OR.mjs +26 -0
  7. package/dist/addon-osd-manager.css +1 -1
  8. package/dist/{hostInit-YScGtNRZ.mjs → hostInit-DtrBgAfd.mjs} +2 -2
  9. package/dist/index.js +110 -100
  10. package/dist/index.mjs +110 -100
  11. package/dist/{player-overlays-orU5XUga.mjs → player-overlays-DeO4qjxv.mjs} +1 -1
  12. package/dist/remoteEntry.js +1 -1
  13. package/dist/{responsive-D9kij-ZF.mjs → responsive-BiymurY0.mjs} +1 -1
  14. package/dist/{scene-monitor-copy-Cyj7I5Lz.mjs → scene-monitor-copy-CXLDSWeP.mjs} +1 -1
  15. package/dist/{square-DhHK6epE.mjs → square-Vgi9aM6a.mjs} +1 -1
  16. package/dist/{trash-2-DXAqD6D8.mjs → trash-2-Ccc91Gq3.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-BYRSI4Gv.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
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.405",
39
+ version: "1.2.406",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.320",
84
+ version: "1.2.321",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- //#region ../types/dist/event-category-fDPduoeC.mjs
5
+ //#region ../types/dist/event-category-Ceif8n-v.mjs
6
6
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
7
7
  EventCategory["SystemBoot"] = "system.boot";
8
8
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -474,6 +474,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
474
474
  * on the device detail page.
475
475
  */
476
476
  EventCategory["DoorbellOnPressed"] = "doorbell.onPressed";
477
+ /** Mirrors `runningStateCapability.events.onStarted`. */
478
+ EventCategory["RunningStarted"] = "running.started";
479
+ /** Mirrors `runningStateCapability.events.onFinished`. */
480
+ EventCategory["RunningFinished"] = "running.finished";
477
481
  /**
478
482
  * Cap event fired by every device that registers the `event-emitter`
479
483
  * capability. Mirrors `eventEmitterCapability.events.onEvent`. Carries
@@ -5433,7 +5437,7 @@ var ZodIssueCode = {
5433
5437
  var ZodFirstPartyTypeKind;
5434
5438
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5435
5439
  //#endregion
5436
- //#region ../types/dist/sleep-CHIEEJkY.mjs
5440
+ //#region ../types/dist/sleep-CYfIZzGv.mjs
5437
5441
  /**
5438
5442
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5439
5443
  * window to float samples (D455).
@@ -5772,7 +5776,7 @@ Object.fromEntries([
5772
5776
  * `hydrateSchema` to skip the `value` injection for structural-only fields.
5773
5777
  */
5774
5778
  function isValuelessField(field) {
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";
5779
+ 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";
5776
5780
  }
5777
5781
  function hydrateSchema(schema, values, options = {}) {
5778
5782
  return {
@@ -8733,7 +8737,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
8733
8737
  return DeviceRole;
8734
8738
  }({});
8735
8739
  //#endregion
8736
- //#region ../types/dist/composition-CB6PMT9p.mjs
8740
+ //#region ../types/dist/composition-xz-ud5EQ.mjs
8737
8741
  /**
8738
8742
  * The ffmpeg build every CamStack node downloads, per platform and arch.
8739
8743
  *
@@ -9034,6 +9038,20 @@ var table = {
9034
9038
  apply: () => {
9035
9039
  throw new ExpressionEvalError("count: stateful evaluation context is required");
9036
9040
  }
9041
+ },
9042
+ dwell: {
9043
+ minArgs: 3,
9044
+ maxArgs: 3,
9045
+ apply: () => {
9046
+ throw new ExpressionEvalError("dwell: stateful evaluation context is required");
9047
+ }
9048
+ },
9049
+ latchedAt: {
9050
+ minArgs: 1,
9051
+ maxArgs: 1,
9052
+ apply: () => {
9053
+ throw new ExpressionEvalError("latchedAt: stateful evaluation context is required");
9054
+ }
9037
9055
  }
9038
9056
  };
9039
9057
  Object.freeze(Object.assign(Object.create(null), table));
@@ -15894,7 +15912,15 @@ Object.freeze({
15894
15912
  kind: "fixed",
15895
15913
  result: ["number", "null"]
15896
15914
  },
15897
- count: NUMBER
15915
+ count: NUMBER,
15916
+ dwell: {
15917
+ kind: "fixed",
15918
+ result: ["boolean", "null"]
15919
+ },
15920
+ latchedAt: {
15921
+ kind: "fixed",
15922
+ result: ["number", "null"]
15923
+ }
15898
15924
  });
15899
15925
  `${COMPOSED_DEVICE_STABLE_ID_PREFIX}`;
15900
15926
  /**
@@ -42133,9 +42159,6 @@ var NcSystemEventKindSchema = _enum([
42133
42159
  "device-battery-normal",
42134
42160
  "device-consumable-low",
42135
42161
  "device-consumable-normal",
42136
- "device-tank-low",
42137
- "device-tank-full",
42138
- "device-tank-normal",
42139
42162
  "stream-online",
42140
42163
  "stream-offline",
42141
42164
  "node-online",
@@ -42182,13 +42205,14 @@ var NcSystemEventKindSchema = _enum([
42182
42205
  "camera-enabled"
42183
42206
  ]);
42184
42207
  /** The legacy tail of {@link NcSystemEventKindSchema} — see its docblock. */
42185
- var NC_LEGACY_SYSTEM_EVENT_KINDS = new Set([
42208
+ var NC_LEGACY_SYSTEM_EVENT_KINDS = [
42186
42209
  "camera-online",
42187
42210
  "camera-offline",
42188
42211
  "camera-disabled",
42189
42212
  "camera-enabled"
42190
- ]);
42191
- NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KINDS.has(kind));
42213
+ ];
42214
+ var NC_LEGACY_SYSTEM_EVENT_KIND_SET = new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
42215
+ NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KIND_SET.has(kind));
42192
42216
  /**
42193
42217
  * The panel's transitions, as ONE list.
42194
42218
  *
@@ -43307,18 +43331,11 @@ var NcRuleSchema = NcRuleInputSchema.extend({
43307
43331
  */
43308
43332
  disabledTargetIds: array(string()).default([])
43309
43333
  });
43310
- /**
43311
- * The state-summary SECTIONS (D647 / D698 / D708): the D637 kind groups that
43312
- * report a still-true state. `addons` is the crash-looped addons only and
43313
- * `addon-updates` the addons that are behind (D708 split them). `backups-exports` and `alarm` are not sections — a completed
43314
- * job is not an open state, and the alarm stays instant.
43315
- */
43316
43334
  var NcStateSummarySectionIdSchema = _enum([
43317
43335
  "device-state",
43318
43336
  "streams",
43319
43337
  "battery",
43320
43338
  "consumables",
43321
- "tanks",
43322
43339
  "detection-blind",
43323
43340
  "nodes",
43324
43341
  "addons",
@@ -43699,18 +43716,6 @@ var NC_CONDITION_CATALOG = [
43699
43716
  value: "device-consumable-normal",
43700
43717
  label: "Consumable replaced"
43701
43718
  },
43702
- {
43703
- value: "device-tank-low",
43704
- label: "Tank low (water, detergent)"
43705
- },
43706
- {
43707
- value: "device-tank-full",
43708
- label: "Tank full (dirty water, dust)"
43709
- },
43710
- {
43711
- value: "device-tank-normal",
43712
- label: "Tank back to normal"
43713
- },
43714
43719
  {
43715
43720
  value: "export-completed",
43716
43721
  label: "Export completed"
@@ -59383,6 +59388,22 @@ DeviceType.Camera, method(object({ deviceId: number() }), PtzAutotrackStatusSche
59383
59388
  deviceId: number(),
59384
59389
  status: PtzAutotrackStatusSchema
59385
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
+ lastFetchedAt: number()
59400
+ });
59401
+ object({
59402
+ deviceId: number(),
59403
+ since: number().nullable(),
59404
+ phase: string().nullable()
59405
+ });
59406
+ Object.values(DeviceType);
59386
59407
  DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
59387
59408
  kind: "mutation",
59388
59409
  auth: "admin"
@@ -70993,6 +71014,13 @@ Object.freeze({
70993
71014
  access: "create",
70994
71015
  role: "admin"
70995
71016
  },
71017
+ "runningState.getStatus": {
71018
+ capName: "running-state",
71019
+ capScope: "device",
71020
+ addonId: null,
71021
+ access: "view",
71022
+ role: "viewer"
71023
+ },
70996
71024
  "sceneMonitor.captureReference": {
70997
71025
  capName: "scene-monitor",
70998
71026
  capScope: "device",
@@ -75707,6 +75735,32 @@ var APPLIANCE_CAP_VOCABULARY = {
75707
75735
  }],
75708
75736
  events: { onSent: { notOperatorFacing: "a delivery receipt of a send this system made — not a fact about the world" } }
75709
75737
  },
75738
+ "running-state": {
75739
+ scope: "device",
75740
+ noun: t("Running", "In funzione"),
75741
+ state: [{
75742
+ kind: "boolean",
75743
+ field: "running",
75744
+ label: t("Running", "In funzione"),
75745
+ whenTrue: t("When {device} starts", "Quando {device} inizia"),
75746
+ whenFalse: t("When {device} finishes", "Quando {device} finisce"),
75747
+ icon: "play"
75748
+ }],
75749
+ events: {
75750
+ onStarted: {
75751
+ category: EventCategory.RunningStarted,
75752
+ label: t("Started running", "Ha iniziato a funzionare"),
75753
+ phrase: t("When {device} starts running", "Quando {device} inizia a funzionare"),
75754
+ icon: "play"
75755
+ },
75756
+ onFinished: {
75757
+ category: EventCategory.RunningFinished,
75758
+ label: t("Finished", "Ha finito"),
75759
+ phrase: t("When {device} finishes", "Quando {device} finisce"),
75760
+ icon: "square"
75761
+ }
75762
+ }
75763
+ },
75710
75764
  update: {
75711
75765
  scope: "device",
75712
75766
  noun: t("Firmware update", "Aggiornamento firmware"),
@@ -79247,6 +79301,11 @@ Object.freeze({
79247
79301
  form: "single",
79248
79302
  optional: true
79249
79303
  }],
79304
+ "runningState.getStatus": [{
79305
+ name: "deviceId",
79306
+ form: "single",
79307
+ optional: false
79308
+ }],
79250
79309
  "sceneMonitor.captureReference": [{
79251
79310
  name: "deviceId",
79252
79311
  form: "single",
@@ -79797,40 +79856,7 @@ var NC_AUDIO_DEFAULTS = {
79797
79856
  samplingSeconds: 10
79798
79857
  };
79799
79858
  new Set(["devices", "classes"]);
79800
- /**
79801
- * WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
79802
- * consumed by the rule ENGINE and by every rule EDITOR.
79803
- *
79804
- * ── The failure this file exists for ───────────────────────────────────────
79805
- * `NcSystemEventConditionSchema` carries four optional narrowing lists
79806
- * (`deviceIds`, `deviceTypes`, `nodeIds`, `packageNames`) beside a required
79807
- * `kinds` gate. They are not four filters over one vocabulary: each belongs to
79808
- * a FAMILY of kinds and is meaningless outside it. A node going away has no
79809
- * device type; a completed export has no package; `stream-offline` deliberately
79810
- * carries no device type at all (a stream belongs to a camera by construction).
79811
- *
79812
- * The engine applied all four to every kind, so a filter from one family failed
79813
- * a kind from another family CLOSED. The operator's live rule "Eventi di
79814
- * sistema" selected eleven kinds and set `deviceTypes: ['camera']` — the only
79815
- * way to say "only my cameras" about the two liveness kinds — and NINE of the
79816
- * eleven silently stopped being deliverable. Four days of history contained
79817
- * `device-online` and `device-offline` and nothing else, across a window in
79818
- * which agents were restarted and addons were updated.
79819
- *
79820
- * Both editors already computed this scoping, to decide which filter boxes to
79821
- * render; the cap's own docblock already promised it ("Narrow a `device-*` kind
79822
- * to these device TYPES"). Only the engine disagreed, and it disagreed in the
79823
- * destructive direction. So the rule is stated ONCE, here, and the engine and
79824
- * the editors are readers of it rather than three independent authors.
79825
- *
79826
- * ── The direction ─────────────────────────────────────────────────────────
79827
- * Out of family ⇒ the filter is IGNORED, never fail-closed. An editor that
79828
- * hides a box has already told the operator this filter does not speak about
79829
- * these kinds, so honouring it as an exclusion contradicts the only
79830
- * explanation the operator was ever given. Inside its family the filter still
79831
- * narrows, and still fails CLOSED on a subject that cannot produce the identity
79832
- * it tests (a device the mirror cannot name is not evidence of a camera).
79833
- */
79859
+ new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
79834
79860
  /**
79835
79861
  * Every filter, for the callers that must cover all of them (guards, tests).
79836
79862
  *
@@ -79856,9 +79882,6 @@ new Map(Object.entries({
79856
79882
  "device-battery-normal": "device-events",
79857
79883
  "device-consumable-low": "device-events",
79858
79884
  "device-consumable-normal": "device-events",
79859
- "device-tank-low": "device-events",
79860
- "device-tank-full": "device-events",
79861
- "device-tank-normal": "device-events",
79862
79885
  "stream-online": "device-events",
79863
79886
  "stream-offline": "device-events",
79864
79887
  "detection-blind": "device-events",
@@ -79935,16 +79958,6 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
79935
79958
  label: "Consumables",
79936
79959
  kinds: ["device-consumable-low", "device-consumable-normal"]
79937
79960
  },
79938
- {
79939
- id: "tanks",
79940
- family: "device-events",
79941
- label: "Tanks",
79942
- kinds: [
79943
- "device-tank-low",
79944
- "device-tank-full",
79945
- "device-tank-normal"
79946
- ]
79947
- },
79948
79961
  {
79949
79962
  id: "detection-blind",
79950
79963
  family: "device-events",
@@ -80182,11 +80195,6 @@ var RULE_BODY_ONLY = ["body"];
80182
80195
  var RULE_TEXT = ["title", "body"];
80183
80196
  var BATTERY = ["device-battery-low", "device-battery-normal"];
80184
80197
  var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
80185
- var TANK = [
80186
- "device-tank-low",
80187
- "device-tank-full",
80188
- "device-tank-normal"
80189
- ];
80190
80198
  var ALERT_EPISODE = [
80191
80199
  "alert-critical",
80192
80200
  "alert-error",
@@ -80218,7 +80226,6 @@ var DEVICE_EVENTS = [
80218
80226
  "device-enabled",
80219
80227
  ...BATTERY,
80220
80228
  ...CONSUMABLE,
80221
- ...TANK,
80222
80229
  "stream-online",
80223
80230
  "stream-offline",
80224
80231
  "detection-blind",
@@ -80264,12 +80271,6 @@ var STATE_SUMMARY_SECTION_VARS = [
80264
80271
  example: "Robot — filter 10 %",
80265
80272
  kinds: CONSUMABLE
80266
80273
  },
80267
- {
80268
- name: "summaryTanks",
80269
- label: "Summary: tanks",
80270
- example: "Robot — clean water low",
80271
- kinds: TANK
80272
- },
80273
80274
  {
80274
80275
  name: "summaryDetection",
80275
80276
  label: "Summary: cameras detecting nothing",
@@ -80385,8 +80386,7 @@ var STATE_SUMMARY_VARS = [
80385
80386
  ([...RULE_TEXT], [...COMBINED_ALARM]),
80386
80387
  ([...RULE_TEXT], [...DEVICE_EVENTS]),
80387
80388
  ([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
80388
- ([...RULE_TEXT], [...CONSUMABLE, ...TANK]),
80389
- ([...RULE_TEXT], [...TANK]),
80389
+ ([...RULE_TEXT], [...CONSUMABLE]),
80390
80390
  [...RULE_TEXT],
80391
80391
  ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
80392
80392
  ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
@@ -80490,15 +80490,6 @@ new Map([
80490
80490
  snapshotLabel: "Consumables low now",
80491
80491
  snapshotSection: "consumables"
80492
80492
  },
80493
- {
80494
- id: "tanks",
80495
- family: "device-events",
80496
- label: "Tanks (low or full / back to normal)",
80497
- bad: ["device-tank-low", "device-tank-full"],
80498
- recovery: ["device-tank-normal"],
80499
- snapshotLabel: "Tanks low or full now",
80500
- snapshotSection: "tanks"
80501
- },
80502
80493
  {
80503
80494
  id: "motion-noise",
80504
80495
  family: "device-events",
@@ -83502,6 +83493,25 @@ var CAP_STATE_LEAVES = Object.freeze({
83502
83493
  "path": "reason",
83503
83494
  "valueType": "string"
83504
83495
  }],
83496
+ "running-state": [
83497
+ {
83498
+ "path": "running",
83499
+ "valueType": "boolean"
83500
+ },
83501
+ {
83502
+ "path": "since",
83503
+ "valueType": "number"
83504
+ },
83505
+ {
83506
+ "path": "source",
83507
+ "valueType": "enum",
83508
+ "enumValues": ["native", "assigned"]
83509
+ },
83510
+ {
83511
+ "path": "phase",
83512
+ "valueType": "string"
83513
+ }
83514
+ ],
83505
83515
  "script-runner": [
83506
83516
  {
83507
83517
  "path": "isRunning",