@camstack/addon-pipeline-orchestrator 1.2.151 → 1.2.152

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.
@@ -36,6 +36,6 @@
36
36
  </noscript>
37
37
  <!-- The root element for your Expo app. -->
38
38
  <div id="root"></div>
39
- <script src="/viewer/camstack/_expo/static/js/web/index-22c6dcf9f1eb7365ef8bfcca1002bc3f.js" defer></script>
39
+ <script src="/viewer/camstack/_expo/static/js/web/index-0bfe4572bdd5efd9eeb2cefa2e294a8e.js" defer></script>
40
40
  </body>
41
41
  </html>
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.2.68",
6
+ version: "1.2.69",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_pipeline_orchestrator_widgets",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.148",
21
+ version: "1.2.149",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_pipeline_orchestrator_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.115",
36
+ version: "1.2.116",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_orchestrator_widgets",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.148",
39
+ version: "1.2.149",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -45,7 +45,7 @@ async function r() {
45
45
  }
46
46
  },
47
47
  "@camstack/sdk": {
48
- version: "1.2.68",
48
+ version: "1.2.69",
49
49
  scope: "default",
50
50
  shareConfig: {
51
51
  singleton: !0,
@@ -99,7 +99,7 @@ async function r() {
99
99
  }
100
100
  },
101
101
  "@camstack/ui-library": {
102
- version: "1.2.115",
102
+ version: "1.2.116",
103
103
  scope: "default",
104
104
  shareConfig: {
105
105
  singleton: !0,
package/dist/index.js CHANGED
@@ -8174,7 +8174,8 @@ var CameraSwitchAuthoritySchema = discriminatedUnion("kind", [
8174
8174
  var CameraSwitchUnavailableReasonSchema = _enum([
8175
8175
  "no-provider",
8176
8176
  "source-unreachable",
8177
- "not-configured"
8177
+ "not-configured",
8178
+ "device-disabled"
8178
8179
  ]);
8179
8180
  /**
8180
8181
  * One switch, resolved for one camera.
@@ -8344,7 +8345,7 @@ function resolveState(descriptor, input) {
8344
8345
  if (audio === null) return {
8345
8346
  available: false,
8346
8347
  enabled: true,
8347
- unavailableReason: "source-unreachable"
8348
+ unavailableReason: input.deviceDisabled ? "device-disabled" : "source-unreachable"
8348
8349
  };
8349
8350
  if (!audio.supported) return {
8350
8351
  available: false,
@@ -8366,7 +8367,7 @@ function resolveState(descriptor, input) {
8366
8367
  if (mask === null) return {
8367
8368
  available: false,
8368
8369
  enabled: false,
8369
- unavailableReason: "source-unreachable"
8370
+ unavailableReason: input.deviceDisabled ? "device-disabled" : "source-unreachable"
8370
8371
  };
8371
8372
  if (!mask.supported) return {
8372
8373
  available: false,
@@ -24736,12 +24737,20 @@ var BatteryStatusSchema = object({
24736
24737
  * Charging source. `'dc'` covers wall/USB adapters; `'solar'` is
24737
24738
  * Reolink-specific for the Solar Panel 2 accessory (will become
24738
24739
  * common on other battery cams). `'none'` means running on battery
24739
- * alone.
24740
+ * alone — a NEGATIVE the firmware actually reported.
24741
+ *
24742
+ * `'unknown'` is the absence of an answer: the provider has not read the
24743
+ * power fields yet, or the firmware reported neither. Before it existed,
24744
+ * two unreadable fields produced `'none'`, and a camera nobody had reached
24745
+ * was drawn "on battery alone" — the same D315 defect `percentage` closed
24746
+ * by going nullable. Consumers SKIP it (no charger state published, no
24747
+ * glyph, no HomeKit ChargingState) rather than coerce it either way.
24740
24748
  */
24741
24749
  charging: _enum([
24742
24750
  "dc",
24743
24751
  "solar",
24744
- "none"
24752
+ "none",
24753
+ "unknown"
24745
24754
  ]),
24746
24755
  /**
24747
24756
  * True when the camera firmware has gone into low-power mode. Battery
@@ -42488,6 +42497,8 @@ function warnUnreachable(deps, deviceId, source, err) {
42488
42497
  *
42489
42498
  * Three distinct answers per plane, and collapsing any two loses a real
42490
42499
  * distinction:
42500
+ * - the camera is DISABLED → `null` (unknown, never dialled; the derivation
42501
+ * reports `device-disabled`, not a stalled source)
42491
42502
  * - bindings unreadable → `null` (unknown)
42492
42503
  * - the camera has no `privacy-mask` provider, or has one that says it cannot
42493
42504
  * do this plane → `{ supported: false }` (no such control here)
@@ -42504,7 +42515,8 @@ function warnUnreachable(deps, deviceId, source, err) {
42504
42515
  * often this list is polled, the CAMERA is reached about once every ten
42505
42516
  * minutes and never on this request path (D221).
42506
42517
  */
42507
- function readPrivacyPlanes(api, deviceId, deps, allCapNames) {
42518
+ function readPrivacyPlanes(api, deviceId, deps, allCapNames, deviceDisabled) {
42519
+ if (deviceDisabled) return Promise.resolve(UNKNOWN_PRIVACY_PLANES);
42508
42520
  if (allCapNames === null) return Promise.resolve(UNKNOWN_PRIVACY_PLANES);
42509
42521
  if (!allCapNames.includes("privacy-mask")) return Promise.resolve({
42510
42522
  deviceAudio: {
@@ -42623,7 +42635,7 @@ async function readSwitchAuthorities(api, deviceId, deps, sharedPass) {
42623
42635
  const [bindable, privacy] = await Promise.all([device === null ? Promise.resolve(null) : bounded(deps, deviceId, "deviceManager.listBindableCapsForDeviceType", pass.bindableCapsFor(api, device.type).catch((err) => {
42624
42636
  warnUnreachable(deps, deviceId, "listBindableCapsForDeviceType", err);
42625
42637
  return null;
42626
- }), null), readPrivacyPlanes(api, deviceId, deps, bindings.allCapNames)]);
42638
+ }), null), readPrivacyPlanes(api, deviceId, deps, bindings.allCapNames, device?.disabled ?? false)]);
42627
42639
  const wrapperAddonIdByCap = /* @__PURE__ */ new Map();
42628
42640
  for (const entry of bindable ?? []) {
42629
42641
  const first = entry.wrappers[0];
package/dist/index.mjs CHANGED
@@ -8146,7 +8146,8 @@ var CameraSwitchAuthoritySchema = discriminatedUnion("kind", [
8146
8146
  var CameraSwitchUnavailableReasonSchema = _enum([
8147
8147
  "no-provider",
8148
8148
  "source-unreachable",
8149
- "not-configured"
8149
+ "not-configured",
8150
+ "device-disabled"
8150
8151
  ]);
8151
8152
  /**
8152
8153
  * One switch, resolved for one camera.
@@ -8316,7 +8317,7 @@ function resolveState(descriptor, input) {
8316
8317
  if (audio === null) return {
8317
8318
  available: false,
8318
8319
  enabled: true,
8319
- unavailableReason: "source-unreachable"
8320
+ unavailableReason: input.deviceDisabled ? "device-disabled" : "source-unreachable"
8320
8321
  };
8321
8322
  if (!audio.supported) return {
8322
8323
  available: false,
@@ -8338,7 +8339,7 @@ function resolveState(descriptor, input) {
8338
8339
  if (mask === null) return {
8339
8340
  available: false,
8340
8341
  enabled: false,
8341
- unavailableReason: "source-unreachable"
8342
+ unavailableReason: input.deviceDisabled ? "device-disabled" : "source-unreachable"
8342
8343
  };
8343
8344
  if (!mask.supported) return {
8344
8345
  available: false,
@@ -24708,12 +24709,20 @@ var BatteryStatusSchema = object({
24708
24709
  * Charging source. `'dc'` covers wall/USB adapters; `'solar'` is
24709
24710
  * Reolink-specific for the Solar Panel 2 accessory (will become
24710
24711
  * common on other battery cams). `'none'` means running on battery
24711
- * alone.
24712
+ * alone — a NEGATIVE the firmware actually reported.
24713
+ *
24714
+ * `'unknown'` is the absence of an answer: the provider has not read the
24715
+ * power fields yet, or the firmware reported neither. Before it existed,
24716
+ * two unreadable fields produced `'none'`, and a camera nobody had reached
24717
+ * was drawn "on battery alone" — the same D315 defect `percentage` closed
24718
+ * by going nullable. Consumers SKIP it (no charger state published, no
24719
+ * glyph, no HomeKit ChargingState) rather than coerce it either way.
24712
24720
  */
24713
24721
  charging: _enum([
24714
24722
  "dc",
24715
24723
  "solar",
24716
- "none"
24724
+ "none",
24725
+ "unknown"
24717
24726
  ]),
24718
24727
  /**
24719
24728
  * True when the camera firmware has gone into low-power mode. Battery
@@ -42460,6 +42469,8 @@ function warnUnreachable(deps, deviceId, source, err) {
42460
42469
  *
42461
42470
  * Three distinct answers per plane, and collapsing any two loses a real
42462
42471
  * distinction:
42472
+ * - the camera is DISABLED → `null` (unknown, never dialled; the derivation
42473
+ * reports `device-disabled`, not a stalled source)
42463
42474
  * - bindings unreadable → `null` (unknown)
42464
42475
  * - the camera has no `privacy-mask` provider, or has one that says it cannot
42465
42476
  * do this plane → `{ supported: false }` (no such control here)
@@ -42476,7 +42487,8 @@ function warnUnreachable(deps, deviceId, source, err) {
42476
42487
  * often this list is polled, the CAMERA is reached about once every ten
42477
42488
  * minutes and never on this request path (D221).
42478
42489
  */
42479
- function readPrivacyPlanes(api, deviceId, deps, allCapNames) {
42490
+ function readPrivacyPlanes(api, deviceId, deps, allCapNames, deviceDisabled) {
42491
+ if (deviceDisabled) return Promise.resolve(UNKNOWN_PRIVACY_PLANES);
42480
42492
  if (allCapNames === null) return Promise.resolve(UNKNOWN_PRIVACY_PLANES);
42481
42493
  if (!allCapNames.includes("privacy-mask")) return Promise.resolve({
42482
42494
  deviceAudio: {
@@ -42595,7 +42607,7 @@ async function readSwitchAuthorities(api, deviceId, deps, sharedPass) {
42595
42607
  const [bindable, privacy] = await Promise.all([device === null ? Promise.resolve(null) : bounded(deps, deviceId, "deviceManager.listBindableCapsForDeviceType", pass.bindableCapsFor(api, device.type).catch((err) => {
42596
42608
  warnUnreachable(deps, deviceId, "listBindableCapsForDeviceType", err);
42597
42609
  return null;
42598
- }), null), readPrivacyPlanes(api, deviceId, deps, bindings.allCapNames)]);
42610
+ }), null), readPrivacyPlanes(api, deviceId, deps, bindings.allCapNames, device?.disabled ?? false)]);
42599
42611
  const wrapperAddonIdByCap = /* @__PURE__ */ new Map();
42600
42612
  for (const entry of bindable ?? []) {
42601
42613
  const first = entry.wrappers[0];
@@ -30,7 +30,7 @@ async function d(e) {
30
30
  }
31
31
  }
32
32
  async function f() {
33
- return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-BcRSXzsW.mjs")).catch((e) => {
33
+ return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-Bhxh7cZu.mjs")).catch((e) => {
34
34
  throw l = void 0, e;
35
35
  }), l;
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-pipeline-orchestrator",
3
- "version": "1.2.151",
3
+ "version": "1.2.152",
4
4
  "description": "Hub-side camera-to-agent load balancer — tracks runner capacity and dispatches attachCamera calls to the optimal pipeline-runner instance",
5
5
  "keywords": [
6
6
  "camstack",