@camstack/system 1.2.420 → 1.2.421

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 (69) hide show
  1. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  2. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  3. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/alerts/alerts.addon.js +1 -1
  6. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  7. package/dist/builtins/autotrack/index.js +1 -1
  8. package/dist/builtins/autotrack/index.mjs +1 -1
  9. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  10. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  11. package/dist/builtins/calendars/calendars.addon.js +1 -1
  12. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  13. package/dist/builtins/camera-grid/index.js +1 -1
  14. package/dist/builtins/camera-grid/index.mjs +1 -1
  15. package/dist/builtins/composer/composer.addon.js +2 -2
  16. package/dist/builtins/composer/composer.addon.mjs +2 -2
  17. package/dist/builtins/console-logging/index.js +1 -1
  18. package/dist/builtins/console-logging/index.mjs +1 -1
  19. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  20. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  21. package/dist/builtins/device-manager/contribution-cache.d.ts +18 -1
  22. package/dist/builtins/device-manager/device-aggregation.d.ts +7 -1
  23. package/dist/builtins/device-manager/device-manager.addon.js +53 -8
  24. package/dist/builtins/device-manager/device-manager.addon.mjs +53 -8
  25. package/dist/builtins/hub-forwarder/index.js +1 -1
  26. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  27. package/dist/builtins/keychain/index.js +3 -3
  28. package/dist/builtins/keychain/index.mjs +3 -3
  29. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  30. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  31. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  32. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  33. package/dist/builtins/local-network/local-network.addon.js +1 -1
  34. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  35. package/dist/builtins/loki-logging/index.js +1 -1
  36. package/dist/builtins/loki-logging/index.mjs +1 -1
  37. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  38. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  39. package/dist/builtins/platform-probe/index.js +1 -1
  40. package/dist/builtins/platform-probe/index.mjs +1 -1
  41. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  42. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  43. package/dist/builtins/snapshot/index.js +1 -1
  44. package/dist/builtins/snapshot/index.mjs +1 -1
  45. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  46. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  47. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  48. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  49. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  50. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  51. package/dist/builtins/system-config/system-config.addon.js +2 -2
  52. package/dist/builtins/system-config/system-config.addon.mjs +279 -279
  53. package/dist/builtins/winston-logging/index.js +1 -1
  54. package/dist/builtins/winston-logging/index.mjs +1 -1
  55. package/dist/{composition-sources-562ib2dL.mjs → composition-sources-DoYpCPtl.mjs} +1 -1
  56. package/dist/{composition-sources-OaDYklhR.js → composition-sources-DxlTUSI1.js} +1 -1
  57. package/dist/{constants-BeQWXybC.mjs → constants-CtxNK2QJ.mjs} +1 -1
  58. package/dist/{constants-ik5xtasS.js → constants-GXZQRcjB.js} +1 -1
  59. package/dist/{dist-C0wYvAHC.mjs → dist-0OD9ue39.mjs} +106 -2
  60. package/dist/{dist-DLHPmdoV.js → dist-Df7s77se.js} +106 -2
  61. package/dist/index.js +4 -4
  62. package/dist/index.mjs +4 -4
  63. package/dist/{jwt-signing-key-CWmNKLQi.js → jwt-signing-key-BmyvxlDJ.js} +1 -1
  64. package/dist/{jwt-signing-key-dkTVfsLI.mjs → jwt-signing-key-W-WFzAoK.mjs} +1 -1
  65. package/dist/{restore-archive-Bt65Em24.mjs → restore-archive-BUMSox6L.mjs} +77 -77
  66. package/dist/{restore-archive-DZeFVS2l.js → restore-archive-W1Cg5y6C.js} +1 -1
  67. package/dist/{retired-settings-keys-DibNtLmU.js → retired-settings-keys-D-Xv1Zyv.js} +1 -1
  68. package/dist/{retired-settings-keys-BHlKEYNL.mjs → retired-settings-keys-Wz92bcuK.mjs} +1 -1
  69. package/package.json +1 -1
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DLHPmdoV.js");
6
+ const require_dist = require("../../dist-Df7s77se.js");
7
7
  const require_formatter = require("../../formatter-DqAKDlvN.js");
8
8
  let node_path = require("node:path");
9
9
  node_path = require_chunk.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { Xt as logDestinationCapability, cr as BaseAddon } from "../../dist-C0wYvAHC.mjs";
1
+ import { Xt as logDestinationCapability, cr as BaseAddon } from "../../dist-0OD9ue39.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  import * as path$1 from "node:path";
4
4
  import path from "node:path";
@@ -1,4 +1,4 @@
1
- import { er as compositionSourceKey, sr as errMsg } from "./dist-C0wYvAHC.mjs";
1
+ import { er as compositionSourceKey, sr as errMsg } from "./dist-0OD9ue39.mjs";
2
2
  //#region src/builtins/core-blocks/composition-sources.ts
3
3
  /**
4
4
  * Describe what a composition reads and writes for SAVE-time validation
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-DLHPmdoV.js");
1
+ const require_dist = require("./dist-Df7s77se.js");
2
2
  //#region src/builtins/core-blocks/composition-sources.ts
3
3
  /**
4
4
  * Describe what a composition reads and writes for SAVE-time validation
@@ -1,4 +1,4 @@
1
- import { xr as buildSecretRef } from "./dist-C0wYvAHC.mjs";
1
+ import { xr as buildSecretRef } from "./dist-0OD9ue39.mjs";
2
2
  import { createHash, timingSafeEqual } from "node:crypto";
3
3
  //#region src/kernel/moleculer/cluster-secret.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-DLHPmdoV.js");
1
+ const require_dist = require("./dist-Df7s77se.js");
2
2
  let node_crypto = require("node:crypto");
3
3
  //#region src/kernel/moleculer/cluster-secret.ts
4
4
  /**
@@ -718,7 +718,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
718
718
  return EventCategory;
719
719
  }({});
720
720
  //#endregion
721
- //#region ../types/dist/sleep-vWTnHq9G.mjs
721
+ //#region ../types/dist/sleep-B_3F_YwS.mjs
722
722
  /**
723
723
  * The audio chunk plane's byte format, and the ONE expansion from a coded
724
724
  * window to float samples (D455).
@@ -12004,6 +12004,16 @@ var BrokerClientsSchema = z.object({
12004
12004
  /** Total encoded + raw-RTP callback subscriber count (sum of `encoded[].length`). */
12005
12005
  encodedSubscribers: z.number()
12006
12006
  });
12007
+ /**
12008
+ * How many people are watching one camera LIVE right now — see
12009
+ * `getLiveViewerCounts`. A camera with nobody watching is absent from the list
12010
+ * (so `viewers` is always at least 1): the listing carries the cameras that
12011
+ * have viewers, never a row of zeros.
12012
+ */
12013
+ var LiveViewerCountSchema = z.object({
12014
+ deviceId: z.number().int().nonnegative(),
12015
+ viewers: z.number().int().positive()
12016
+ });
12007
12017
  z.enum([
12008
12018
  "reconnecting",
12009
12019
  "sleeping",
@@ -12487,6 +12497,24 @@ var streamBrokerCapability = {
12487
12497
  auth: "admin"
12488
12498
  }),
12489
12499
  listClients: method(z.object({ brokerId: z.string() }), BrokerClientsSchema),
12500
+ /**
12501
+ * People watching each camera LIVE right now, for every camera at once —
12502
+ * cheap enough to poll (a walk of the live session maps, no I/O).
12503
+ *
12504
+ * Counts EXTERNAL viewers only: WebRTC sessions of a viewer kind
12505
+ * (`webrtc-browser` / `-mobile` / `-whep`, `alexa`, `homekit`) that are on
12506
+ * the live edge, plus RTSP restream clients from outside that are playing.
12507
+ * The system's own consumers are never counted: the detection decoder, the
12508
+ * recorder, snapshots, the prebuffer hold, audio analysis, and the RTSP
12509
+ * dials an agent's derived broker makes. One WebRTC session or RTSP
12510
+ * connection is one viewer, so two tabs on one camera read 2.
12511
+ *
12512
+ * The count is read off the live session maps at call time, so a session
12513
+ * that ends — cleanly or by the peer vanishing — stops counting with no
12514
+ * counter to leak. It covers the sessions THIS provider serves; a node
12515
+ * with its own stream-broker is asked with a `nodeId` pin.
12516
+ */
12517
+ getLiveViewerCounts: method(z.void(), z.array(LiveViewerCountSchema).readonly()),
12490
12518
  killClient: method(z.object({
12491
12519
  brokerId: z.string(),
12492
12520
  channel: z.enum(["rtsp", "audio"]),
@@ -31304,6 +31332,12 @@ var CameraStepOverridePatchSchema = z.object({
31304
31332
  settings: z.record(z.string(), z.unknown()).readonly().optional()
31305
31333
  });
31306
31334
  var CameraStepSettingsSchema = z.record(z.string(), z.record(z.string(), z.unknown()).readonly());
31335
+ /** The three root-detector choices a camera has (D507: at most one root). */
31336
+ var CameraDetectionSourceSchema = z.enum([
31337
+ "pipeline",
31338
+ "onboard",
31339
+ "none"
31340
+ ]);
31307
31341
  var CameraPipelineSettingsSchema = z.object({
31308
31342
  stepToggles: z.record(z.string(), z.boolean()).optional(),
31309
31343
  stepSettings: CameraStepSettingsSchema.optional(),
@@ -32232,6 +32266,41 @@ var pipelineOrchestratorCapability = {
32232
32266
  kind: "mutation",
32233
32267
  auth: "admin"
32234
32268
  }),
32269
+ /**
32270
+ * Where this camera's first-level detections come from: this node's own
32271
+ * root step (`pipeline`), the camera's onboard detector alone (`onboard`),
32272
+ * or no root detector (`none`). A camera runs at most one root detector
32273
+ * (D507), so there is no "both". Read from the camera's stored
32274
+ * `detectionSources` — the one authority; `explicit` is false while the
32275
+ * operator has never picked and the default stands.
32276
+ */
32277
+ getCameraDetectionSource: method(z.object({ deviceId: z.number() }), z.object({
32278
+ source: CameraDetectionSourceSchema,
32279
+ explicit: z.boolean(),
32280
+ onboard: z.object({
32281
+ /** The camera has an onboard detector this system can read. */
32282
+ available: z.boolean(),
32283
+ /** What its detections carry — a camera with no box cannot be a root step. */
32284
+ geometry: z.enum([
32285
+ "boxed",
32286
+ "while-streaming",
32287
+ "flag-only",
32288
+ "unknown"
32289
+ ])
32290
+ })
32291
+ })),
32292
+ /**
32293
+ * Pick where this camera's detections come from. Writes `detectionSources`
32294
+ * and arms (or disarms) the vendor's boxed sub-stream that the choice
32295
+ * drives. Refuses `onboard` on a camera with no onboard detector.
32296
+ */
32297
+ setCameraDetectionSource: method(z.object({
32298
+ deviceId: z.number(),
32299
+ source: CameraDetectionSourceSchema
32300
+ }), z.object({ success: z.literal(true) }), {
32301
+ kind: "mutation",
32302
+ auth: "admin"
32303
+ }),
32235
32304
  /** Read every per-(node,device) override map for a device. Null when device has no overrides. */
32236
32305
  getCameraStepOverrides: method(z.object({ deviceId: z.number() }), z.record(z.string(), z.record(z.string(), z.record(z.string(), CameraStepOverridePatchSchema))).nullable()),
32237
32306
  /**
@@ -42089,7 +42158,14 @@ var TopologyNodeSchema = z.object({
42089
42158
  * completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
42090
42159
  * for offline rows and when the hub cannot tell.
42091
42160
  */
42092
- meshTransport: z.enum(["tls", "clear"]).optional()
42161
+ meshTransport: z.enum(["tls", "clear"]).optional(),
42162
+ /**
42163
+ * Whether the hub holds this online AGENT's capability registration (its
42164
+ * `registerNode` manifest). `false` = online in the mesh but not ready: the
42165
+ * hub dropped the registration on a disconnect only it saw and the agent has
42166
+ * not re-sent it. Absent for the hub and offline rows.
42167
+ */
42168
+ capabilitiesRegistered: z.boolean().optional()
42093
42169
  });
42094
42170
  var CapUsageEdgeSchema = z.object({
42095
42171
  callerAddonId: z.string(),
@@ -56425,6 +56501,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
56425
56501
  addonId: null,
56426
56502
  access: "view"
56427
56503
  },
56504
+ "pipelineOrchestrator.getCameraDetectionSource": {
56505
+ capName: "pipeline-orchestrator",
56506
+ capScope: "system",
56507
+ addonId: null,
56508
+ access: "view"
56509
+ },
56428
56510
  "pipelineOrchestrator.getCameraMetrics": {
56429
56511
  capName: "pipeline-orchestrator",
56430
56512
  capScope: "system",
@@ -56653,6 +56735,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
56653
56735
  addonId: null,
56654
56736
  access: "create"
56655
56737
  },
56738
+ "pipelineOrchestrator.setCameraDetectionSource": {
56739
+ capName: "pipeline-orchestrator",
56740
+ capScope: "system",
56741
+ addonId: null,
56742
+ access: "create"
56743
+ },
56656
56744
  "pipelineOrchestrator.setCameraPipelineForAgent": {
56657
56745
  capName: "pipeline-orchestrator",
56658
56746
  capScope: "system",
@@ -58105,6 +58193,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
58105
58193
  addonId: null,
58106
58194
  access: "view"
58107
58195
  },
58196
+ "streamBroker.getLiveViewerCounts": {
58197
+ capName: "stream-broker",
58198
+ capScope: "system",
58199
+ addonId: null,
58200
+ access: "view"
58201
+ },
58108
58202
  "streamBroker.getPreBufferInfo": {
58109
58203
  capName: "stream-broker",
58110
58204
  capScope: "system",
@@ -62510,6 +62604,11 @@ Object.freeze({
62510
62604
  form: "single",
62511
62605
  optional: false
62512
62606
  }],
62607
+ "pipelineOrchestrator.getCameraDetectionSource": [{
62608
+ name: "deviceId",
62609
+ form: "single",
62610
+ optional: false
62611
+ }],
62513
62612
  "pipelineOrchestrator.getCameraMetrics": [{
62514
62613
  name: "deviceId",
62515
62614
  form: "single",
@@ -62570,6 +62669,11 @@ Object.freeze({
62570
62669
  form: "single",
62571
62670
  optional: false
62572
62671
  }],
62672
+ "pipelineOrchestrator.setCameraDetectionSource": [{
62673
+ name: "deviceId",
62674
+ form: "single",
62675
+ optional: false
62676
+ }],
62573
62677
  "pipelineOrchestrator.setCameraPipelineForAgent": [{
62574
62678
  name: "deviceId",
62575
62679
  form: "single",
@@ -718,7 +718,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
718
718
  return EventCategory;
719
719
  }({});
720
720
  //#endregion
721
- //#region ../types/dist/sleep-vWTnHq9G.mjs
721
+ //#region ../types/dist/sleep-B_3F_YwS.mjs
722
722
  /**
723
723
  * The audio chunk plane's byte format, and the ONE expansion from a coded
724
724
  * window to float samples (D455).
@@ -12004,6 +12004,16 @@ var BrokerClientsSchema = zod.z.object({
12004
12004
  /** Total encoded + raw-RTP callback subscriber count (sum of `encoded[].length`). */
12005
12005
  encodedSubscribers: zod.z.number()
12006
12006
  });
12007
+ /**
12008
+ * How many people are watching one camera LIVE right now — see
12009
+ * `getLiveViewerCounts`. A camera with nobody watching is absent from the list
12010
+ * (so `viewers` is always at least 1): the listing carries the cameras that
12011
+ * have viewers, never a row of zeros.
12012
+ */
12013
+ var LiveViewerCountSchema = zod.z.object({
12014
+ deviceId: zod.z.number().int().nonnegative(),
12015
+ viewers: zod.z.number().int().positive()
12016
+ });
12007
12017
  zod.z.enum([
12008
12018
  "reconnecting",
12009
12019
  "sleeping",
@@ -12487,6 +12497,24 @@ var streamBrokerCapability = {
12487
12497
  auth: "admin"
12488
12498
  }),
12489
12499
  listClients: method(zod.z.object({ brokerId: zod.z.string() }), BrokerClientsSchema),
12500
+ /**
12501
+ * People watching each camera LIVE right now, for every camera at once —
12502
+ * cheap enough to poll (a walk of the live session maps, no I/O).
12503
+ *
12504
+ * Counts EXTERNAL viewers only: WebRTC sessions of a viewer kind
12505
+ * (`webrtc-browser` / `-mobile` / `-whep`, `alexa`, `homekit`) that are on
12506
+ * the live edge, plus RTSP restream clients from outside that are playing.
12507
+ * The system's own consumers are never counted: the detection decoder, the
12508
+ * recorder, snapshots, the prebuffer hold, audio analysis, and the RTSP
12509
+ * dials an agent's derived broker makes. One WebRTC session or RTSP
12510
+ * connection is one viewer, so two tabs on one camera read 2.
12511
+ *
12512
+ * The count is read off the live session maps at call time, so a session
12513
+ * that ends — cleanly or by the peer vanishing — stops counting with no
12514
+ * counter to leak. It covers the sessions THIS provider serves; a node
12515
+ * with its own stream-broker is asked with a `nodeId` pin.
12516
+ */
12517
+ getLiveViewerCounts: method(zod.z.void(), zod.z.array(LiveViewerCountSchema).readonly()),
12490
12518
  killClient: method(zod.z.object({
12491
12519
  brokerId: zod.z.string(),
12492
12520
  channel: zod.z.enum(["rtsp", "audio"]),
@@ -31304,6 +31332,12 @@ var CameraStepOverridePatchSchema = zod.z.object({
31304
31332
  settings: zod.z.record(zod.z.string(), zod.z.unknown()).readonly().optional()
31305
31333
  });
31306
31334
  var CameraStepSettingsSchema = zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.unknown()).readonly());
31335
+ /** The three root-detector choices a camera has (D507: at most one root). */
31336
+ var CameraDetectionSourceSchema = zod.z.enum([
31337
+ "pipeline",
31338
+ "onboard",
31339
+ "none"
31340
+ ]);
31307
31341
  var CameraPipelineSettingsSchema = zod.z.object({
31308
31342
  stepToggles: zod.z.record(zod.z.string(), zod.z.boolean()).optional(),
31309
31343
  stepSettings: CameraStepSettingsSchema.optional(),
@@ -32232,6 +32266,41 @@ var pipelineOrchestratorCapability = {
32232
32266
  kind: "mutation",
32233
32267
  auth: "admin"
32234
32268
  }),
32269
+ /**
32270
+ * Where this camera's first-level detections come from: this node's own
32271
+ * root step (`pipeline`), the camera's onboard detector alone (`onboard`),
32272
+ * or no root detector (`none`). A camera runs at most one root detector
32273
+ * (D507), so there is no "both". Read from the camera's stored
32274
+ * `detectionSources` — the one authority; `explicit` is false while the
32275
+ * operator has never picked and the default stands.
32276
+ */
32277
+ getCameraDetectionSource: method(zod.z.object({ deviceId: zod.z.number() }), zod.z.object({
32278
+ source: CameraDetectionSourceSchema,
32279
+ explicit: zod.z.boolean(),
32280
+ onboard: zod.z.object({
32281
+ /** The camera has an onboard detector this system can read. */
32282
+ available: zod.z.boolean(),
32283
+ /** What its detections carry — a camera with no box cannot be a root step. */
32284
+ geometry: zod.z.enum([
32285
+ "boxed",
32286
+ "while-streaming",
32287
+ "flag-only",
32288
+ "unknown"
32289
+ ])
32290
+ })
32291
+ })),
32292
+ /**
32293
+ * Pick where this camera's detections come from. Writes `detectionSources`
32294
+ * and arms (or disarms) the vendor's boxed sub-stream that the choice
32295
+ * drives. Refuses `onboard` on a camera with no onboard detector.
32296
+ */
32297
+ setCameraDetectionSource: method(zod.z.object({
32298
+ deviceId: zod.z.number(),
32299
+ source: CameraDetectionSourceSchema
32300
+ }), zod.z.object({ success: zod.z.literal(true) }), {
32301
+ kind: "mutation",
32302
+ auth: "admin"
32303
+ }),
32235
32304
  /** Read every per-(node,device) override map for a device. Null when device has no overrides. */
32236
32305
  getCameraStepOverrides: method(zod.z.object({ deviceId: zod.z.number() }), zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), CameraStepOverridePatchSchema))).nullable()),
32237
32306
  /**
@@ -42089,7 +42158,14 @@ var TopologyNodeSchema = zod.z.object({
42089
42158
  * completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
42090
42159
  * for offline rows and when the hub cannot tell.
42091
42160
  */
42092
- meshTransport: zod.z.enum(["tls", "clear"]).optional()
42161
+ meshTransport: zod.z.enum(["tls", "clear"]).optional(),
42162
+ /**
42163
+ * Whether the hub holds this online AGENT's capability registration (its
42164
+ * `registerNode` manifest). `false` = online in the mesh but not ready: the
42165
+ * hub dropped the registration on a disconnect only it saw and the agent has
42166
+ * not re-sent it. Absent for the hub and offline rows.
42167
+ */
42168
+ capabilitiesRegistered: zod.z.boolean().optional()
42093
42169
  });
42094
42170
  var CapUsageEdgeSchema = zod.z.object({
42095
42171
  callerAddonId: zod.z.string(),
@@ -56425,6 +56501,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
56425
56501
  addonId: null,
56426
56502
  access: "view"
56427
56503
  },
56504
+ "pipelineOrchestrator.getCameraDetectionSource": {
56505
+ capName: "pipeline-orchestrator",
56506
+ capScope: "system",
56507
+ addonId: null,
56508
+ access: "view"
56509
+ },
56428
56510
  "pipelineOrchestrator.getCameraMetrics": {
56429
56511
  capName: "pipeline-orchestrator",
56430
56512
  capScope: "system",
@@ -56653,6 +56735,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
56653
56735
  addonId: null,
56654
56736
  access: "create"
56655
56737
  },
56738
+ "pipelineOrchestrator.setCameraDetectionSource": {
56739
+ capName: "pipeline-orchestrator",
56740
+ capScope: "system",
56741
+ addonId: null,
56742
+ access: "create"
56743
+ },
56656
56744
  "pipelineOrchestrator.setCameraPipelineForAgent": {
56657
56745
  capName: "pipeline-orchestrator",
56658
56746
  capScope: "system",
@@ -58105,6 +58193,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
58105
58193
  addonId: null,
58106
58194
  access: "view"
58107
58195
  },
58196
+ "streamBroker.getLiveViewerCounts": {
58197
+ capName: "stream-broker",
58198
+ capScope: "system",
58199
+ addonId: null,
58200
+ access: "view"
58201
+ },
58108
58202
  "streamBroker.getPreBufferInfo": {
58109
58203
  capName: "stream-broker",
58110
58204
  capScope: "system",
@@ -62510,6 +62604,11 @@ Object.freeze({
62510
62604
  form: "single",
62511
62605
  optional: false
62512
62606
  }],
62607
+ "pipelineOrchestrator.getCameraDetectionSource": [{
62608
+ name: "deviceId",
62609
+ form: "single",
62610
+ optional: false
62611
+ }],
62513
62612
  "pipelineOrchestrator.getCameraMetrics": [{
62514
62613
  name: "deviceId",
62515
62614
  form: "single",
@@ -62570,6 +62669,11 @@ Object.freeze({
62570
62669
  form: "single",
62571
62670
  optional: false
62572
62671
  }],
62672
+ "pipelineOrchestrator.setCameraDetectionSource": [{
62673
+ name: "deviceId",
62674
+ form: "single",
62675
+ optional: false
62676
+ }],
62573
62677
  "pipelineOrchestrator.setCameraPipelineForAgent": [{
62574
62678
  name: "deviceId",
62575
62679
  form: "single",
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-Cek0wNdY.js");
3
- const require_dist = require("./dist-DLHPmdoV.js");
4
- const require_jwt_signing_key = require("./jwt-signing-key-CWmNKLQi.js");
3
+ const require_dist = require("./dist-Df7s77se.js");
4
+ const require_jwt_signing_key = require("./jwt-signing-key-BmyvxlDJ.js");
5
5
  const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
6
6
  require("./builtins/alerts/index.js");
7
7
  const require_builtins_calendars_calendars_addon = require("./builtins/calendars/calendars.addon.js");
@@ -26,7 +26,7 @@ const require_builtins_sqlite_storage_sqlite_settings_addon = require("./builtin
26
26
  const require_builtins_sqlite_storage_index = require("./builtins/sqlite-storage/index.js");
27
27
  const require_builtins_storage_orchestrator_storage_orchestrator_addon = require("./builtins/storage-orchestrator/storage-orchestrator.addon.js");
28
28
  require("./builtins/storage-orchestrator/index.js");
29
- const require_constants = require("./constants-ik5xtasS.js");
29
+ const require_constants = require("./constants-GXZQRcjB.js");
30
30
  const require_builtins_system_config_system_config_addon = require("./builtins/system-config/system-config.addon.js");
31
31
  require("./builtins/system-config/index.js");
32
32
  const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
@@ -34,7 +34,7 @@ const require_custom_action_registry = require("./custom-action-registry-Bf_Ynag
34
34
  const require_tls = require("./tls-BgImdxCO.js");
35
35
  const require_platform_key_source = require("./platform-key-source-Di7HrlGR.js");
36
36
  const require_resource_monitor = require("./resource-monitor-mio9dSCT.js");
37
- const require_restore_archive = require("./restore-archive-DZeFVS2l.js");
37
+ const require_restore_archive = require("./restore-archive-W1Cg5y6C.js");
38
38
  let zod = require("zod");
39
39
  let node_crypto = require("node:crypto");
40
40
  node_crypto = require_chunk.__toESM(node_crypto);
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { i as __require } from "./chunk-CNf5ZN-e.mjs";
2
- import { At as extractNestedAddonId, Bt as isObjectInput, Cn as resolveMethodAuth, Dn as scopesAllowDeviceCap, Dr as emitDownForOwnedCaps, En as scopesAllowAddon, G as addonSettingsCapability, Gr as resolveCapMount, Hr as parseJsonUnknown, Ht as kebabToCamel$1, It as isArrayOutputSchema, Lt as isCollectionArrayMethod, O as LOG_LEVEL_RANK, Qt as looseSchema, Rn as supportedRuntimes, Vr as parseJsonObject, Vt as isVoidInput, Wr as readinessKey, Zt as logLevelAtMost, br as asString$1, cn as objectInputDeclaresRequiredDeviceId, dr as DEVICE_STATUS_METHOD, ei as EventCategory$1, hr as ReadinessTimeoutError, j as METHOD_ACCESS_MAP, kr as expandCapMethods, lr as DATAPLANE_SECRET_HEADER$1, mr as ReadinessRegistry, pn as procedureAuthKey, pr as RUNTIME_DEFAULTS, qr as scopeKey, qt as lifecycleJobSchema, sn as objectInputDeclaresAddonId, sr as errMsg$1, t as ALL_CAPABILITY_DEFINITIONS, ur as DEVICE_SETTINGS_CONTRIBUTION_METHODS, vr as asJsonObject$1, wr as createEvent$1, yr as asNumber } from "./dist-C0wYvAHC.mjs";
3
- import { c as staticJwtSigningKey, i as getProcessJwtSigningKeyState, n as JwtSigningKeyUnavailableError, o as processJwtSigningKey, r as SYSTEM_SECRET_OWNER, t as JWT_SIGNING_KEY_REF } from "./jwt-signing-key-dkTVfsLI.mjs";
2
+ import { At as extractNestedAddonId, Bt as isObjectInput, Cn as resolveMethodAuth, Dn as scopesAllowDeviceCap, Dr as emitDownForOwnedCaps, En as scopesAllowAddon, G as addonSettingsCapability, Gr as resolveCapMount, Hr as parseJsonUnknown, Ht as kebabToCamel$1, It as isArrayOutputSchema, Lt as isCollectionArrayMethod, O as LOG_LEVEL_RANK, Qt as looseSchema, Rn as supportedRuntimes, Vr as parseJsonObject, Vt as isVoidInput, Wr as readinessKey, Zt as logLevelAtMost, br as asString$1, cn as objectInputDeclaresRequiredDeviceId, dr as DEVICE_STATUS_METHOD, ei as EventCategory$1, hr as ReadinessTimeoutError, j as METHOD_ACCESS_MAP, kr as expandCapMethods, lr as DATAPLANE_SECRET_HEADER$1, mr as ReadinessRegistry, pn as procedureAuthKey, pr as RUNTIME_DEFAULTS, qr as scopeKey, qt as lifecycleJobSchema, sn as objectInputDeclaresAddonId, sr as errMsg$1, t as ALL_CAPABILITY_DEFINITIONS, ur as DEVICE_SETTINGS_CONTRIBUTION_METHODS, vr as asJsonObject$1, wr as createEvent$1, yr as asNumber } from "./dist-0OD9ue39.mjs";
3
+ import { c as staticJwtSigningKey, i as getProcessJwtSigningKeyState, n as JwtSigningKeyUnavailableError, o as processJwtSigningKey, r as SYSTEM_SECRET_OWNER, t as JWT_SIGNING_KEY_REF } from "./jwt-signing-key-W-WFzAoK.mjs";
4
4
  import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
5
5
  import "./builtins/alerts/index.mjs";
6
6
  import { CalendarsAddon } from "./builtins/calendars/calendars.addon.mjs";
@@ -25,7 +25,7 @@ import { SqliteSettingsAddon, o as SqliteSettingsBackend, s as prefixRange } fro
25
25
  import { ConfigStore, DeviceStore } from "./builtins/sqlite-storage/index.mjs";
26
26
  import { StorageOrchestratorAddon, a as stripForwardedCaller, i as createHubCapForwardService, n as HUB_CAP_FWD_ACTION, o as buildStorageLocationRegistry, r as HUB_CAP_FWD_SERVICE, t as StorageOrchestratorService } from "./builtins/storage-orchestrator/storage-orchestrator.addon.mjs";
27
27
  import "./builtins/storage-orchestrator/index.mjs";
28
- import { _ as getProcessClusterSecretGate, a as MESH_CA_KEY_REF, b as setProcessClusterSecretGate, d as CLUSTER_SECRET_REF, f as CLUSTER_SECRET_REJECTED_EXIT_CODE, g as clusterSecretMatches, h as checkClusterSecret, i as MESH_CA_FIELD, m as CLUSTER_SECRET_UNAVAILABLE_TYPE, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY, p as CLUSTER_SECRET_SETTINGS_KEY, u as CLUSTER_SECRET_MISMATCH_TYPE, v as hashClusterSecret, y as isClusterSecretMismatchError } from "./constants-BeQWXybC.mjs";
28
+ import { _ as getProcessClusterSecretGate, a as MESH_CA_KEY_REF, b as setProcessClusterSecretGate, d as CLUSTER_SECRET_REF, f as CLUSTER_SECRET_REJECTED_EXIT_CODE, g as clusterSecretMatches, h as checkClusterSecret, i as MESH_CA_FIELD, m as CLUSTER_SECRET_UNAVAILABLE_TYPE, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY, p as CLUSTER_SECRET_SETTINGS_KEY, u as CLUSTER_SECRET_MISMATCH_TYPE, v as hashClusterSecret, y as isClusterSecretMismatchError } from "./constants-CtxNK2QJ.mjs";
29
29
  import { A as AGENT_UI_UNLOCK_TTL_MS, B as isMeshAuthMode, C as generateMeshCa, D as loadMeshCa, E as issueMeshLeafFromCsr, F as parseAgentDashboardOrigins, G as setProcessMeshEnforcer, H as requestProcessMeshEnforcement, I as verifyAgentUiUnlockTicket, J as parseCidrList, K as createCidrMatcher, L as MESH_AUTH_MODE_FIELD, M as UnlockTicketJtiStore, N as isAllowedAgentDashboardReturnTo, O as AGENT_DASHBOARD_ORIGINS_FIELD, P as mintAgentUiUnlockTicket, R as getProcessMeshAuthMode, S as exportMeshPrivateKeyPem, SystemConfigAddon, T as issueMeshLeafForNode, U as setProcessMeshAuthMode, V as parseMeshAuthMode, W as setProcessMeshAuthStatusSource, Y as readCidrSetting, _ as getProcessMeshCaState, a as ServiceBroker, b as caFingerprintCompact, c as JoinTokenJtiStore, d as verifyMeshJoinToken, f as getProcessNodeMeshTransport, g as MeshCaKeeper, h as processMeshCrl, i as Errors, j as AGENT_UI_UNLOCK_VERSION, k as AGENT_UI_UNLOCK_DOMAIN, l as mintMeshJoinToken, m as MeshCrl, n as MESH_TLS_PORT_HELLO_FIELD, o as setProcessMeshTlsEnabler, p as setProcessMeshPeerTransportLookup, q as normalizeIp, r as TlsTcpTransporter, s as enrollMeshNode, u as processJoinTokenJtiStore, v as requireProcessMeshCa, w as generateMeshKeyPair, x as createMeshCsrPem, y as caFingerprint, z as getProcessMeshAuthStatus } from "./builtins/system-config/system-config.addon.mjs";
30
30
  import "./builtins/system-config/index.mjs";
31
31
  import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
@@ -33,7 +33,7 @@ import { C as isModelDownloaded, T as revisionWeightUrl, _ as downloadFile, a as
33
33
  import { A as allFamiliesListenHost, C as collectCertIdentity, D as SERVER_AUTH_OID, E as MAX_LEAF_VALIDITY_DAYS, F as registerLanHttpHandler, M as bindPendingLanHttp, N as closeLanHttp, O as evaluateExistingCert, P as readLanHttpState, S as CA_COMMON_NAME, T as LEAF_RENEWAL_WINDOW_DAYS, _ as writeExtraSans, a as validateUploadedTls, b as loadTlsCert, c as registerHttpsListener, d as prepareBootTls, f as UPLOADED_CA_FILE, g as splitPemCertificates, h as readTlsMode, i as storeUploadedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, l as reloadHttpsListener, m as readTlsAccessStatus, n as regenerateCertificate, o as clearHttpsListener, p as readExtraSans, r as revertToGeneratedCertificate, s as leafFingerprintOf, t as applyCertificateToListener, u as servedHttpsLeafFingerprint, v as writeTlsMode, w as CA_VALIDITY_DAYS, x as reissueTlsLeaf, y as ensureTlsCert } from "./tls-CaOLZ09W.mjs";
34
34
  import { n as getPlatformKeychainKey, r as setPlatformKeychainKey, t as clearPlatformKeychainKey } from "./platform-key-source-BWlq0jjn.mjs";
35
35
  import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-Di9daRwI.mjs";
36
- import { c as BackupKeyFormatError, d as generateBackupKeyPair, l as BackupKeyMismatchError, m as readBackupEncryptionHeader, o as SystemBackupService, r as prepareRestoreArchive, s as BackupDecryptError, t as BackupKeyRequiredError } from "./restore-archive-Bt65Em24.mjs";
36
+ import { c as BackupKeyFormatError, d as generateBackupKeyPair, l as BackupKeyMismatchError, m as readBackupEncryptionHeader, o as SystemBackupService, r as prepareRestoreArchive, s as BackupDecryptError, t as BackupKeyRequiredError } from "./restore-archive-BUMSox6L.mjs";
37
37
  import { z } from "zod";
38
38
  import * as crypto$1 from "node:crypto";
39
39
  import { createHash, createHmac, randomBytes, randomUUID, timingSafeEqual } from "node:crypto";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-DLHPmdoV.js");
1
+ const require_dist = require("./dist-Df7s77se.js");
2
2
  let node_crypto = require("node:crypto");
3
3
  //#region src/auth/jwt-signing-key.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { xr as buildSecretRef } from "./dist-C0wYvAHC.mjs";
1
+ import { xr as buildSecretRef } from "./dist-0OD9ue39.mjs";
2
2
  import { randomBytes } from "node:crypto";
3
3
  //#region src/auth/jwt-signing-key.ts
4
4
  /**