@camstack/types 0.1.30 → 0.1.32

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 (98) hide show
  1. package/dist/addon/build-addon-route-provider.d.ts +55 -0
  2. package/dist/addon/build-addon-route-provider.d.ts.map +1 -0
  3. package/dist/capabilities/addon-routes.cap.d.ts +64 -0
  4. package/dist/capabilities/addon-routes.cap.d.ts.map +1 -1
  5. package/dist/capabilities/admin-ui.cap.d.ts +6 -2
  6. package/dist/capabilities/admin-ui.cap.d.ts.map +1 -1
  7. package/dist/capabilities/advanced-notifier.cap.d.ts +202 -29
  8. package/dist/capabilities/advanced-notifier.cap.d.ts.map +1 -1
  9. package/dist/capabilities/audio-codec.cap.d.ts +2 -2
  10. package/dist/capabilities/auth-provider.cap.d.ts +4 -4
  11. package/dist/capabilities/auth-provider.cap.d.ts.map +1 -1
  12. package/dist/capabilities/authentication.cap.d.ts +4 -0
  13. package/dist/capabilities/authentication.cap.d.ts.map +1 -1
  14. package/dist/capabilities/capability-definition.d.ts +22 -0
  15. package/dist/capabilities/capability-definition.d.ts.map +1 -1
  16. package/dist/capabilities/device-export.cap.d.ts +77 -0
  17. package/dist/capabilities/device-export.cap.d.ts.map +1 -0
  18. package/dist/capabilities/embedding-encoder.cap.d.ts +14 -7
  19. package/dist/capabilities/embedding-encoder.cap.d.ts.map +1 -1
  20. package/dist/capabilities/index.d.ts +24 -5
  21. package/dist/capabilities/index.d.ts.map +1 -1
  22. package/dist/capabilities/intercom.cap.d.ts +34 -0
  23. package/dist/capabilities/intercom.cap.d.ts.map +1 -1
  24. package/dist/capabilities/mesh-network.cap.d.ts +32 -16
  25. package/dist/capabilities/mesh-network.cap.d.ts.map +1 -1
  26. package/dist/capabilities/mqtt-broker.cap.d.ts +153 -0
  27. package/dist/capabilities/mqtt-broker.cap.d.ts.map +1 -0
  28. package/dist/capabilities/network-access.cap.d.ts +41 -1
  29. package/dist/capabilities/network-access.cap.d.ts.map +1 -1
  30. package/dist/capabilities/platform-probe.cap.d.ts +234 -15
  31. package/dist/capabilities/platform-probe.cap.d.ts.map +1 -1
  32. package/dist/capabilities/settings-store.cap.d.ts +8 -2
  33. package/dist/capabilities/settings-store.cap.d.ts.map +1 -1
  34. package/dist/capabilities/smtp-provider.cap.d.ts +63 -0
  35. package/dist/capabilities/smtp-provider.cap.d.ts.map +1 -0
  36. package/dist/capabilities/sso-bridge.cap.d.ts +61 -0
  37. package/dist/capabilities/sso-bridge.cap.d.ts.map +1 -0
  38. package/dist/capabilities/stream-broker.cap.d.ts +90 -85
  39. package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
  40. package/dist/capabilities/user-management.cap.d.ts +513 -184
  41. package/dist/capabilities/user-management.cap.d.ts.map +1 -1
  42. package/dist/capabilities/user-passkeys.cap.d.ts +92 -0
  43. package/dist/capabilities/user-passkeys.cap.d.ts.map +1 -0
  44. package/dist/capabilities/webrtc-session.cap.d.ts +34 -0
  45. package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
  46. package/dist/generated/addon-api.d.ts +11940 -9272
  47. package/dist/generated/addon-api.d.ts.map +1 -1
  48. package/dist/generated/cap-status-types.d.ts +5 -1
  49. package/dist/generated/cap-status-types.d.ts.map +1 -1
  50. package/dist/generated/capability-router-map.d.ts +19 -4
  51. package/dist/generated/capability-router-map.d.ts.map +1 -1
  52. package/dist/generated/device-proxy.d.ts +2 -0
  53. package/dist/generated/device-proxy.d.ts.map +1 -1
  54. package/dist/generated/method-access-map.d.ts +6 -1
  55. package/dist/generated/method-access-map.d.ts.map +1 -1
  56. package/dist/generated/provider-kind-map.d.ts +22 -0
  57. package/dist/generated/provider-kind-map.d.ts.map +1 -0
  58. package/dist/generated/scope-presets.d.ts +17 -0
  59. package/dist/generated/scope-presets.d.ts.map +1 -0
  60. package/dist/generated/system-proxy.d.ts +8 -4
  61. package/dist/generated/system-proxy.d.ts.map +1 -1
  62. package/dist/{index-DVKPWMwv.mjs → index-BBVUwOlZ.mjs} +1040 -500
  63. package/dist/index-BBVUwOlZ.mjs.map +1 -0
  64. package/dist/{index-s8uJNgNs.js → index-BUBhoPUu.js} +741 -201
  65. package/dist/index-BUBhoPUu.js.map +1 -0
  66. package/dist/index.d.ts +9 -3
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +852 -500
  69. package/dist/index.js.map +1 -1
  70. package/dist/index.mjs +1109 -757
  71. package/dist/index.mjs.map +1 -1
  72. package/dist/interfaces/addon-routes.d.ts +8 -2
  73. package/dist/interfaces/addon-routes.d.ts.map +1 -1
  74. package/dist/interfaces/addon.d.ts +14 -3
  75. package/dist/interfaces/addon.d.ts.map +1 -1
  76. package/dist/interfaces/advanced-notifier.d.ts +8 -7
  77. package/dist/interfaces/advanced-notifier.d.ts.map +1 -1
  78. package/dist/interfaces/api-responses.d.ts +2 -3
  79. package/dist/interfaces/api-responses.d.ts.map +1 -1
  80. package/dist/interfaces/auth.d.ts +14 -11
  81. package/dist/interfaces/auth.d.ts.map +1 -1
  82. package/dist/interfaces/capability.d.ts +6 -6
  83. package/dist/interfaces/capability.d.ts.map +1 -1
  84. package/dist/interfaces/embedding-encoder.d.ts +16 -7
  85. package/dist/interfaces/embedding-encoder.d.ts.map +1 -1
  86. package/dist/interfaces/rtp-egress.d.ts +45 -0
  87. package/dist/interfaces/rtp-egress.d.ts.map +1 -0
  88. package/dist/interfaces/storage.d.ts +15 -2
  89. package/dist/interfaces/storage.d.ts.map +1 -1
  90. package/dist/node.js +1 -1
  91. package/dist/node.mjs +1 -1
  92. package/dist/schemas/auth-records.d.ts +105 -50
  93. package/dist/schemas/auth-records.d.ts.map +1 -1
  94. package/package.json +1 -1
  95. package/dist/index-DVKPWMwv.mjs.map +0 -1
  96. package/dist/index-s8uJNgNs.js.map +0 -1
  97. package/dist/interfaces/auth-provider.d.ts +0 -39
  98. package/dist/interfaces/auth-provider.d.ts.map +0 -1
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-s8uJNgNs.js");
3
+ const index = require("./index-BUBhoPUu.js");
4
4
  const zod = require("zod");
5
5
  class DisposerChain {
6
6
  disposers = [];
@@ -597,6 +597,92 @@ function normalizeAddonInitResult(result) {
597
597
  if (Array.isArray(result)) return { providers: result };
598
598
  return result;
599
599
  }
600
+ function buildAddonRouteProvider(id, routes) {
601
+ return {
602
+ id,
603
+ getRoutes: () => routes,
604
+ invoke: async (input) => {
605
+ const match = matchRoute(routes, input.method, input.path);
606
+ if (!match) {
607
+ return {
608
+ status: 404,
609
+ headers: {},
610
+ redirectUrl: null,
611
+ body: { error: `No route matches ${input.method} ${input.path}` }
612
+ };
613
+ }
614
+ const envelope = {
615
+ status: 200,
616
+ headers: {},
617
+ redirectUrl: null
618
+ };
619
+ const reply = buildCapturingReply(envelope);
620
+ const request = {
621
+ params: { ...input.params, ...match.params },
622
+ query: input.query,
623
+ body: input.body,
624
+ headers: input.headers,
625
+ ...input.user ? { user: input.user } : {},
626
+ // The scopedToken shape is intentionally `unknown` on the wire
627
+ // (it includes nested `TokenScope` discriminated unions that
628
+ // wouldn't gain from re-validation across the bridge).
629
+ ...input.scopedToken !== void 0 ? { scopedToken: input.scopedToken } : {}
630
+ };
631
+ await match.route.handler(request, reply);
632
+ return envelope;
633
+ }
634
+ };
635
+ }
636
+ function matchRoute(routes, method, path) {
637
+ const normalizedMethod = method.toUpperCase();
638
+ for (const route of routes) {
639
+ if (route.method !== normalizedMethod) continue;
640
+ const params = matchPath(route.path, path);
641
+ if (params !== null) return { route, params };
642
+ }
643
+ return null;
644
+ }
645
+ function matchPath(pattern, p) {
646
+ const patternParts = pattern.split("/").filter(Boolean);
647
+ const pathParts = p.split("/").filter(Boolean);
648
+ if (patternParts.length !== pathParts.length) return null;
649
+ const params = {};
650
+ for (let i = 0; i < patternParts.length; i++) {
651
+ const a = patternParts[i];
652
+ const b = pathParts[i];
653
+ if (a.startsWith(":")) params[a.slice(1)] = b;
654
+ else if (a !== b) return null;
655
+ }
656
+ return params;
657
+ }
658
+ function buildCapturingReply(envelope) {
659
+ const wrapper = {
660
+ status(code) {
661
+ envelope.status = code;
662
+ return wrapper;
663
+ },
664
+ code(code) {
665
+ envelope.status = code;
666
+ return wrapper;
667
+ },
668
+ send(data) {
669
+ envelope.body = data;
670
+ },
671
+ redirect(url) {
672
+ envelope.redirectUrl = url;
673
+ if (envelope.status === 200) envelope.status = 302;
674
+ },
675
+ header(name, value) {
676
+ envelope.headers[name.toLowerCase()] = value;
677
+ return wrapper;
678
+ },
679
+ type(mime) {
680
+ envelope.contentType = mime;
681
+ return wrapper;
682
+ }
683
+ };
684
+ return wrapper;
685
+ }
600
686
  class ReadinessTimeoutError extends Error {
601
687
  capName;
602
688
  scope;
@@ -2806,6 +2892,9 @@ function createDeviceProxy(api, binding, opts) {
2806
2892
  startSession: (input) => dispatch("intercom", "intercom", "startSession", "mutation", input),
2807
2893
  handleAnswer: (input) => dispatch("intercom", "intercom", "handleAnswer", "mutation", input),
2808
2894
  stopSession: (input) => dispatch("intercom", "intercom", "stopSession", "mutation", input),
2895
+ startTalkSession: (input) => dispatch("intercom", "intercom", "startTalkSession", "mutation", input),
2896
+ pushTalkPcm: (input) => dispatch("intercom", "intercom", "pushTalkPcm", "mutation", input),
2897
+ endTalkSession: (input) => dispatch("intercom", "intercom", "endTalkSession", "mutation", input),
2809
2898
  getStatus: (input) => dispatch("intercom", "intercom", "getStatus", "query", input)
2810
2899
  };
2811
2900
  const motionInterface = {
@@ -2884,6 +2973,7 @@ function createDeviceProxy(api, binding, opts) {
2884
2973
  const webrtcSessionInterface = {
2885
2974
  listStreams: (input) => dispatch("webrtc-session", "webrtcSession", "listStreams", "query", input),
2886
2975
  createSession: (input) => dispatch("webrtc-session", "webrtcSession", "createSession", "mutation", input),
2976
+ handleOffer: (input) => dispatch("webrtc-session", "webrtcSession", "handleOffer", "mutation", input),
2887
2977
  handleAnswer: (input) => dispatch("webrtc-session", "webrtcSession", "handleAnswer", "mutation", input),
2888
2978
  closeSession: (input) => dispatch("webrtc-session", "webrtcSession", "closeSession", "mutation", input),
2889
2979
  hasAdaptiveBitrate: (input) => dispatch("webrtc-session", "webrtcSession", "hasAdaptiveBitrate", "query", input)
@@ -2908,6 +2998,11 @@ function createDeviceProxy(api, binding, opts) {
2908
2998
  getDeviceSettings: (input) => dispatchSystem("addonSettings", "getDeviceSettings", "query", input),
2909
2999
  updateDeviceSettings: (input) => dispatchSystem("addonSettings", "updateDeviceSettings", "mutation", input)
2910
3000
  };
3001
+ const deviceExportInterface = {
3002
+ getDeviceSettingsContribution: (input) => dispatchSystem("deviceExport", "getDeviceSettingsContribution", "query", input),
3003
+ getDeviceLiveContribution: (input) => dispatchSystem("deviceExport", "getDeviceLiveContribution", "query", input),
3004
+ applyDeviceSettingsPatch: (input) => dispatchSystem("deviceExport", "applyDeviceSettingsPatch", "mutation", input)
3005
+ };
2911
3006
  const deviceManagerInterface = {
2912
3007
  loadConfig: (input) => dispatchSystem("deviceManager", "loadConfig", "query", input),
2913
3008
  loadRuntimeState: (input) => dispatchSystem("deviceManager", "loadRuntimeState", "query", input),
@@ -3046,6 +3141,7 @@ function createDeviceProxy(api, binding, opts) {
3046
3141
  zoneRules: zoneRulesInterface,
3047
3142
  zones: zonesInterface,
3048
3143
  addonSettings: addonSettingsInterface,
3144
+ deviceExport: deviceExportInterface,
3049
3145
  deviceManager: deviceManagerInterface,
3050
3146
  deviceState: deviceStateInterface,
3051
3147
  networkQuality: networkQualityInterface,
@@ -3211,6 +3307,13 @@ function createSystemProxy(api) {
3211
3307
  listActiveSessions: (input) => dispatch("decoder", "listActiveSessions", "query", input),
3212
3308
  reprobeHwaccel: (input) => dispatch("decoder", "reprobeHwaccel", "mutation", input)
3213
3309
  };
3310
+ const deviceExportInterface = {
3311
+ getStatus: (input) => dispatch("deviceExport", "getStatus", "query", input),
3312
+ listSupportedDeviceKinds: (input) => dispatch("deviceExport", "listSupportedDeviceKinds", "query", input),
3313
+ listExposedDevices: (input) => dispatch("deviceExport", "listExposedDevices", "query", input),
3314
+ exposeDevice: (input) => dispatch("deviceExport", "exposeDevice", "mutation", input),
3315
+ unexposeDevice: (input) => dispatch("deviceExport", "unexposeDevice", "mutation", input)
3316
+ };
3214
3317
  const deviceManagerInterface = {
3215
3318
  allocateDeviceId: (input) => dispatch("deviceManager", "allocateDeviceId", "mutation", input),
3216
3319
  registerDevice: (input) => dispatch("deviceManager", "registerDevice", "mutation", input),
@@ -3269,10 +3372,10 @@ function createSystemProxy(api) {
3269
3372
  const meshNetworkInterface = {
3270
3373
  getStatus: (input) => dispatch("meshNetwork", "getStatus", "query", input),
3271
3374
  join: (input) => dispatch("meshNetwork", "join", "mutation", input),
3375
+ startLogin: (input) => dispatch("meshNetwork", "startLogin", "mutation", input),
3272
3376
  leave: (input) => dispatch("meshNetwork", "leave", "mutation", input),
3273
3377
  listPeers: (input) => dispatch("meshNetwork", "listPeers", "query", input),
3274
- setPublicIngress: (input) => dispatch("meshNetwork", "setPublicIngress", "mutation", input),
3275
- setMeshIngress: (input) => dispatch("meshNetwork", "setMeshIngress", "mutation", input)
3378
+ testConnection: (input) => dispatch("meshNetwork", "testConnection", "mutation", input)
3276
3379
  };
3277
3380
  const meshOrchestratorInterface = {
3278
3381
  listProviders: (input) => dispatch("meshOrchestrator", "listProviders", "query", input),
@@ -3292,6 +3395,16 @@ function createSystemProxy(api) {
3292
3395
  listNodeProcesses: (input) => dispatch("metricsProvider", "listNodeProcesses", "query", input),
3293
3396
  killProcess: (input) => dispatch("metricsProvider", "killProcess", "mutation", input)
3294
3397
  };
3398
+ const mqttBrokerInterface = {
3399
+ listBrokers: (input) => dispatch("mqttBroker", "listBrokers", "query", input),
3400
+ getBrokerConfig: (input) => dispatch("mqttBroker", "getBrokerConfig", "query", input),
3401
+ addBroker: (input) => dispatch("mqttBroker", "addBroker", "mutation", input),
3402
+ removeBroker: (input) => dispatch("mqttBroker", "removeBroker", "mutation", input),
3403
+ testConnection: (input) => dispatch("mqttBroker", "testConnection", "mutation", input),
3404
+ startEmbeddedBroker: (input) => dispatch("mqttBroker", "startEmbeddedBroker", "mutation", input),
3405
+ stopEmbeddedBroker: (input) => dispatch("mqttBroker", "stopEmbeddedBroker", "mutation", input),
3406
+ getStatus: (input) => dispatch("mqttBroker", "getStatus", "query", input)
3407
+ };
3295
3408
  const networkQualityInterface = {
3296
3409
  getAllStats: (input) => dispatch("networkQuality", "getAllStats", "query", input)
3297
3410
  };
@@ -3377,7 +3490,9 @@ function createSystemProxy(api) {
3377
3490
  getCapabilities: (input) => dispatch("platformProbe", "getCapabilities", "query", input),
3378
3491
  getHardware: (input) => dispatch("platformProbe", "getHardware", "query", input),
3379
3492
  resolveInferenceConfig: (input) => dispatch("platformProbe", "resolveInferenceConfig", "query", input),
3380
- resolveHwAccel: (input) => dispatch("platformProbe", "resolveHwAccel", "query", input)
3493
+ resolveHwAccel: (input) => dispatch("platformProbe", "resolveHwAccel", "query", input),
3494
+ getHardwareEncoders: (input) => dispatch("platformProbe", "getHardwareEncoders", "query", input),
3495
+ refreshHardwareEncoders: (input) => dispatch("platformProbe", "refreshHardwareEncoders", "mutation", input)
3381
3496
  };
3382
3497
  const recordingEngineInterface = {
3383
3498
  getStatus: (input) => dispatch("recordingEngine", "getStatus", "query", input),
@@ -3444,6 +3559,8 @@ function createSystemProxy(api) {
3444
3559
  listClients: (input) => dispatch("streamBroker", "listClients", "query", input),
3445
3560
  killClient: (input) => dispatch("streamBroker", "killClient", "mutation", input),
3446
3561
  getStreamUrl: (input) => dispatch("streamBroker", "getStreamUrl", "query", input),
3562
+ getStreamWithCodec: (input) => dispatch("streamBroker", "getStreamWithCodec", "mutation", input),
3563
+ releaseStreamWithCodec: (input) => dispatch("streamBroker", "releaseStreamWithCodec", "mutation", input),
3447
3564
  getBroker: (input) => dispatch("streamBroker", "getBroker", "query", input),
3448
3565
  setPreBufferDuration: (input) => dispatch("streamBroker", "setPreBufferDuration", "mutation", input),
3449
3566
  getPreBufferInfo: (input) => dispatch("streamBroker", "getPreBufferInfo", "query", input),
@@ -3489,7 +3606,12 @@ function createSystemProxy(api) {
3489
3606
  createScopedToken: (input) => dispatch("userManagement", "createScopedToken", "mutation", input),
3490
3607
  revokeScopedToken: (input) => dispatch("userManagement", "revokeScopedToken", "mutation", input),
3491
3608
  validateScopedToken: (input) => dispatch("userManagement", "validateScopedToken", "query", input),
3492
- listScopedTokens: (input) => dispatch("userManagement", "listScopedTokens", "query", input)
3609
+ listScopedTokens: (input) => dispatch("userManagement", "listScopedTokens", "query", input),
3610
+ setupTotp: (input) => dispatch("userManagement", "setupTotp", "mutation", input),
3611
+ confirmTotp: (input) => dispatch("userManagement", "confirmTotp", "mutation", input),
3612
+ disableTotp: (input) => dispatch("userManagement", "disableTotp", "mutation", input),
3613
+ getTotpStatus: (input) => dispatch("userManagement", "getTotpStatus", "query", input),
3614
+ verifyTotp: (input) => dispatch("userManagement", "verifyTotp", "mutation", input)
3493
3615
  };
3494
3616
  return {
3495
3617
  addonPages: addonPagesInterface,
@@ -3502,6 +3624,7 @@ function createSystemProxy(api) {
3502
3624
  authentication: authenticationInterface,
3503
3625
  backup: backupInterface,
3504
3626
  decoder: decoderInterface,
3627
+ deviceExport: deviceExportInterface,
3505
3628
  deviceManager: deviceManagerInterface,
3506
3629
  deviceProvider: deviceProviderInterface,
3507
3630
  deviceState: deviceStateInterface,
@@ -3510,6 +3633,7 @@ function createSystemProxy(api) {
3510
3633
  meshNetwork: meshNetworkInterface,
3511
3634
  meshOrchestrator: meshOrchestratorInterface,
3512
3635
  metricsProvider: metricsProviderInterface,
3636
+ mqttBroker: mqttBrokerInterface,
3513
3637
  networkQuality: networkQualityInterface,
3514
3638
  nodes: nodesInterface,
3515
3639
  notificationOutput: notificationOutputInterface,
@@ -4307,6 +4431,7 @@ const CAPABILITY_NAMES = {
4307
4431
  decoder: "decoder",
4308
4432
  detectionPipeline: "detection-pipeline",
4309
4433
  deviceDiscovery: "device-discovery",
4434
+ deviceExport: "device-export",
4310
4435
  deviceManager: "device-manager",
4311
4436
  deviceOps: "device-ops",
4312
4437
  deviceProvider: "device-provider",
@@ -4326,6 +4451,7 @@ const CAPABILITY_NAMES = {
4326
4451
  motion: "motion",
4327
4452
  motionDetection: "motion-detection",
4328
4453
  motionTrigger: "motion-trigger",
4454
+ mqttBroker: "mqtt-broker",
4329
4455
  nativeObjectDetection: "native-object-detection",
4330
4456
  networkAccess: "network-access",
4331
4457
  networkQuality: "network-quality",
@@ -4345,8 +4471,10 @@ const CAPABILITY_NAMES = {
4345
4471
  remoteAccess: "remote-access",
4346
4472
  restreamer: "restreamer",
4347
4473
  settingsStore: "settings-store",
4474
+ smtpProvider: "smtp-provider",
4348
4475
  snapshot: "snapshot",
4349
4476
  snapshotProvider: "snapshot-provider",
4477
+ ssoBridge: "sso-bridge",
4350
4478
  storage: "storage",
4351
4479
  storageProvider: "storage-provider",
4352
4480
  streamBroker: "stream-broker",
@@ -4357,6 +4485,7 @@ const CAPABILITY_NAMES = {
4357
4485
  turnOrchestrator: "turn-orchestrator",
4358
4486
  turnProvider: "turn-provider",
4359
4487
  userManagement: "user-management",
4488
+ userPasskeys: "user-passkeys",
4360
4489
  webrtc: "webrtc",
4361
4490
  webrtcSession: "webrtc-session",
4362
4491
  zoneAnalytics: "zone-analytics",
@@ -4389,6 +4518,7 @@ const CAPABILITY_ROUTER_KEYS = [
4389
4518
  { key: "decoder", name: "decoder" },
4390
4519
  { key: "detectionPipeline", name: "detection-pipeline" },
4391
4520
  { key: "deviceDiscovery", name: "device-discovery" },
4521
+ { key: "deviceExport", name: "device-export" },
4392
4522
  { key: "deviceManager", name: "device-manager" },
4393
4523
  { key: "deviceOps", name: "device-ops" },
4394
4524
  { key: "deviceProvider", name: "device-provider" },
@@ -4408,6 +4538,7 @@ const CAPABILITY_ROUTER_KEYS = [
4408
4538
  { key: "motion", name: "motion" },
4409
4539
  { key: "motionDetection", name: "motion-detection" },
4410
4540
  { key: "motionTrigger", name: "motion-trigger" },
4541
+ { key: "mqttBroker", name: "mqtt-broker" },
4411
4542
  { key: "nativeObjectDetection", name: "native-object-detection" },
4412
4543
  { key: "networkAccess", name: "network-access" },
4413
4544
  { key: "networkQuality", name: "network-quality" },
@@ -4427,8 +4558,10 @@ const CAPABILITY_ROUTER_KEYS = [
4427
4558
  { key: "remoteAccess", name: "remote-access" },
4428
4559
  { key: "restreamer", name: "restreamer" },
4429
4560
  { key: "settingsStore", name: "settings-store" },
4561
+ { key: "smtpProvider", name: "smtp-provider" },
4430
4562
  { key: "snapshot", name: "snapshot" },
4431
4563
  { key: "snapshotProvider", name: "snapshot-provider" },
4564
+ { key: "ssoBridge", name: "sso-bridge" },
4432
4565
  { key: "storage", name: "storage" },
4433
4566
  { key: "storageProvider", name: "storage-provider" },
4434
4567
  { key: "streamBroker", name: "stream-broker" },
@@ -4439,6 +4572,7 @@ const CAPABILITY_ROUTER_KEYS = [
4439
4572
  { key: "turnOrchestrator", name: "turn-orchestrator" },
4440
4573
  { key: "turnProvider", name: "turn-provider" },
4441
4574
  { key: "userManagement", name: "user-management" },
4575
+ { key: "userPasskeys", name: "user-passkeys" },
4442
4576
  { key: "webrtc", name: "webrtc" },
4443
4577
  { key: "webrtcSession", name: "webrtc-session" },
4444
4578
  { key: "zoneAnalytics", name: "zone-analytics" },
@@ -4471,6 +4605,7 @@ const ALL_CAPABILITY_DEFINITIONS = [
4471
4605
  index.decoderCapability,
4472
4606
  index.detectionPipelineCapability,
4473
4607
  index.deviceDiscoveryCapability,
4608
+ index.deviceExportCapability,
4474
4609
  index.deviceManagerCapability,
4475
4610
  index.deviceOpsCapability,
4476
4611
  index.deviceProviderCapability,
@@ -4490,6 +4625,7 @@ const ALL_CAPABILITY_DEFINITIONS = [
4490
4625
  index.motionCapability,
4491
4626
  index.motionDetectionCapability,
4492
4627
  index.motionTriggerCapability,
4628
+ index.mqttBrokerCapability,
4493
4629
  index.nativeObjectDetectionCapability,
4494
4630
  index.networkAccessCapability,
4495
4631
  index.networkQualityCapability,
@@ -4509,8 +4645,10 @@ const ALL_CAPABILITY_DEFINITIONS = [
4509
4645
  index.remoteAccessCapability,
4510
4646
  index.restreamerCapability,
4511
4647
  index.settingsStoreCapability,
4648
+ index.smtpProviderCapability,
4512
4649
  index.snapshotCapability,
4513
4650
  index.snapshotProviderCapability,
4651
+ index.ssoBridgeCapability,
4514
4652
  index.storageCapability,
4515
4653
  index.storageProviderCapability,
4516
4654
  index.streamBrokerCapability,
@@ -4521,6 +4659,7 @@ const ALL_CAPABILITY_DEFINITIONS = [
4521
4659
  index.turnOrchestratorCapability,
4522
4660
  index.turnProviderCapability,
4523
4661
  index.userManagementCapability,
4662
+ index.userPasskeysCapability,
4524
4663
  index.webrtcCapability,
4525
4664
  index.webrtcSessionCapability,
4526
4665
  index.zoneAnalyticsCapability,
@@ -4533,12 +4672,14 @@ const CAP_NAMES_WITH_STATUS = [
4533
4672
  "brightness",
4534
4673
  "camera-credentials",
4535
4674
  "device-discovery",
4675
+ "device-export",
4536
4676
  "device-status",
4537
4677
  "doorbell",
4538
4678
  "feature-probe",
4539
4679
  "intercom",
4540
4680
  "motion",
4541
4681
  "motion-trigger",
4682
+ "mqtt-broker",
4542
4683
  "native-object-detection",
4543
4684
  "osd",
4544
4685
  "ptz",
@@ -4547,500 +4688,539 @@ const CAP_NAMES_WITH_STATUS = [
4547
4688
  "switch"
4548
4689
  ];
4549
4690
  const METHOD_ACCESS_MAP = Object.freeze({
4550
- "addonPages.listPages": { capName: "addon-pages", addonId: null, access: "view" },
4551
- "addonPagesSource.listPages": { capName: "addon-pages-source", addonId: null, access: "view" },
4552
- "addonRoutes.getRoutes": { capName: "addon-routes", addonId: null, access: "view" },
4553
- "addons.applyAutoUpdateToAll": { capName: "addons", addonId: null, access: "create" },
4554
- "addons.custom": { capName: "addons", addonId: null, access: "create" },
4555
- "addons.forceRefresh": { capName: "addons", addonId: null, access: "create" },
4556
- "addons.getAddonAutoUpdate": { capName: "addons", addonId: null, access: "view" },
4557
- "addons.getAutoUpdateSettings": { capName: "addons", addonId: null, access: "view" },
4558
- "addons.getLogs": { capName: "addons", addonId: null, access: "view" },
4559
- "addons.getVersions": { capName: "addons", addonId: null, access: "view" },
4560
- "addons.installFromWorkspace": { capName: "addons", addonId: null, access: "create" },
4561
- "addons.installPackage": { capName: "addons", addonId: null, access: "create" },
4562
- "addons.isWorkspaceAvailable": { capName: "addons", addonId: null, access: "view" },
4563
- "addons.list": { capName: "addons", addonId: null, access: "view" },
4564
- "addons.listPackages": { capName: "addons", addonId: null, access: "view" },
4565
- "addons.listUpdates": { capName: "addons", addonId: null, access: "view" },
4566
- "addons.listWorkspacePackages": { capName: "addons", addonId: null, access: "view" },
4567
- "addons.onAddonLogs": { capName: "addons", addonId: null, access: "view" },
4568
- "addons.reloadPackages": { capName: "addons", addonId: null, access: "create" },
4569
- "addons.restartAddon": { capName: "addons", addonId: null, access: "create" },
4570
- "addons.restartServer": { capName: "addons", addonId: null, access: "create" },
4571
- "addons.retryLoad": { capName: "addons", addonId: null, access: "create" },
4572
- "addons.rollbackPackage": { capName: "addons", addonId: null, access: "create" },
4573
- "addons.searchAvailable": { capName: "addons", addonId: null, access: "view" },
4574
- "addons.setAddonAutoUpdate": { capName: "addons", addonId: null, access: "create" },
4575
- "addons.setAutoUpdateSettings": { capName: "addons", addonId: null, access: "create" },
4576
- "addons.uninstallPackage": { capName: "addons", addonId: null, access: "delete" },
4577
- "addons.updatePackage": { capName: "addons", addonId: null, access: "create" },
4578
- "addonSettings.getDeviceSettings": { capName: "addon-settings", addonId: null, access: "view" },
4579
- "addonSettings.getGlobalSettings": { capName: "addon-settings", addonId: null, access: "view" },
4580
- "addonSettings.updateDeviceSettings": { capName: "addon-settings", addonId: null, access: "create" },
4581
- "addonSettings.updateGlobalSettings": { capName: "addon-settings", addonId: null, access: "create" },
4582
- "addonWidgets.listWidgets": { capName: "addon-widgets", addonId: null, access: "view" },
4583
- "addonWidgetsSource.listWidgets": { capName: "addon-widgets-source", addonId: null, access: "view" },
4584
- "adminUi.getStaticDir": { capName: "admin-ui", addonId: null, access: "view" },
4585
- "adminUi.getVersion": { capName: "admin-ui", addonId: null, access: "view" },
4586
- "advancedNotifier.deleteRule": { capName: "advanced-notifier", addonId: null, access: "delete" },
4587
- "advancedNotifier.getHistory": { capName: "advanced-notifier", addonId: null, access: "view" },
4588
- "advancedNotifier.getRules": { capName: "advanced-notifier", addonId: null, access: "view" },
4589
- "advancedNotifier.testRule": { capName: "advanced-notifier", addonId: null, access: "create" },
4590
- "advancedNotifier.upsertRule": { capName: "advanced-notifier", addonId: null, access: "create" },
4591
- "alerts.dismiss": { capName: "alerts", addonId: null, access: "create" },
4592
- "alerts.emit": { capName: "alerts", addonId: null, access: "create" },
4593
- "alerts.getUnreadCount": { capName: "alerts", addonId: null, access: "view" },
4594
- "alerts.list": { capName: "alerts", addonId: null, access: "view" },
4595
- "alerts.markAllRead": { capName: "alerts", addonId: null, access: "create" },
4596
- "alerts.markRead": { capName: "alerts", addonId: null, access: "create" },
4597
- "alerts.update": { capName: "alerts", addonId: null, access: "create" },
4598
- "audioAnalysis.resolveDeviceSettings": { capName: "audio-analysis", addonId: null, access: "view" },
4599
- "audioAnalyzer.analyseChunk": { capName: "audio-analyzer", addonId: null, access: "create" },
4600
- "audioAnalyzer.classify": { capName: "audio-analyzer", addonId: null, access: "view" },
4601
- "audioAnalyzer.dispose": { capName: "audio-analyzer", addonId: null, access: "create" },
4602
- "audioAnalyzer.isReady": { capName: "audio-analyzer", addonId: null, access: "view" },
4603
- "audioAnalyzer.reprobeAudioEngine": { capName: "audio-analyzer", addonId: null, access: "create" },
4604
- "audioCodec.canHandle": { capName: "audio-codec", addonId: null, access: "view" },
4605
- "audioCodec.closeSession": { capName: "audio-codec", addonId: null, access: "create" },
4606
- "audioCodec.createDecodeSession": { capName: "audio-codec", addonId: null, access: "create" },
4607
- "audioCodec.createEncodeSession": { capName: "audio-codec", addonId: null, access: "create" },
4608
- "audioCodec.flushEncode": { capName: "audio-codec", addonId: null, access: "create" },
4609
- "audioCodec.listActiveSessions": { capName: "audio-codec", addonId: null, access: "view" },
4610
- "audioCodec.listSupportedCodecs": { capName: "audio-codec", addonId: null, access: "view" },
4611
- "audioCodec.pullEncoded": { capName: "audio-codec", addonId: null, access: "view" },
4612
- "audioCodec.pullPcm": { capName: "audio-codec", addonId: null, access: "view" },
4613
- "audioCodec.pushEncodedFrame": { capName: "audio-codec", addonId: null, access: "create" },
4614
- "audioCodec.pushPcm": { capName: "audio-codec", addonId: null, access: "create" },
4615
- "audioMetrics.getCurrentSnapshot": { capName: "audio-metrics", addonId: null, access: "view" },
4616
- "audioMetrics.getHistory": { capName: "audio-metrics", addonId: null, access: "view" },
4617
- "authentication.listProviders": { capName: "authentication", addonId: null, access: "view" },
4618
- "authentication.setProviderEnabled": { capName: "authentication", addonId: null, access: "create" },
4619
- "authProvider.getLoginUrl": { capName: "auth-provider", addonId: null, access: "view" },
4620
- "authProvider.handleCallback": { capName: "auth-provider", addonId: null, access: "create" },
4621
- "authProvider.validateCredentials": { capName: "auth-provider", addonId: null, access: "create" },
4622
- "authProvider.validateToken": { capName: "auth-provider", addonId: null, access: "view" },
4623
- "backup.delete": { capName: "backup", addonId: null, access: "delete" },
4624
- "backup.getEntries": { capName: "backup", addonId: null, access: "view" },
4625
- "backup.list": { capName: "backup", addonId: null, access: "view" },
4626
- "backup.listArchives": { capName: "backup", addonId: null, access: "view" },
4627
- "backup.listDestinations": { capName: "backup", addonId: null, access: "view" },
4628
- "backup.listLocations": { capName: "backup", addonId: null, access: "view" },
4629
- "backup.previewSchedule": { capName: "backup", addonId: null, access: "view" },
4630
- "backup.restore": { capName: "backup", addonId: null, access: "create" },
4631
- "backup.trigger": { capName: "backup", addonId: null, access: "create" },
4632
- "backup.upsertDestinationPolicy": { capName: "backup", addonId: null, access: "create" },
4633
- "brightness.setBrightness": { capName: "brightness", addonId: null, access: "create" },
4634
- "cameraCredentials.getCredentials": { capName: "camera-credentials", addonId: null, access: "view" },
4635
- "cameraStreams.getBrokerStreams": { capName: "camera-streams", addonId: null, access: "view" },
4636
- "cameraStreams.getCameraStreams": { capName: "camera-streams", addonId: null, access: "view" },
4637
- "cameraStreams.getRtspEntries": { capName: "camera-streams", addonId: null, access: "view" },
4638
- "decoder.createSession": { capName: "decoder", addonId: null, access: "view" },
4639
- "decoder.destroySession": { capName: "decoder", addonId: null, access: "delete" },
4640
- "decoder.getInfo": { capName: "decoder", addonId: null, access: "view" },
4641
- "decoder.getStats": { capName: "decoder", addonId: null, access: "view" },
4642
- "decoder.listActiveSessions": { capName: "decoder", addonId: null, access: "view" },
4643
- "decoder.openStream": { capName: "decoder", addonId: null, access: "view" },
4644
- "decoder.pullFrames": { capName: "decoder", addonId: null, access: "view" },
4645
- "decoder.pushPacket": { capName: "decoder", addonId: null, access: "view" },
4646
- "decoder.reprobeHwaccel": { capName: "decoder", addonId: null, access: "create" },
4647
- "decoder.supportsCodec": { capName: "decoder", addonId: null, access: "view" },
4648
- "decoder.updateConfig": { capName: "decoder", addonId: null, access: "view" },
4649
- "deviceDiscovery.adoptDevice": { capName: "device-discovery", addonId: null, access: "create" },
4650
- "deviceDiscovery.listDiscovered": { capName: "device-discovery", addonId: null, access: "view" },
4651
- "deviceDiscovery.refreshDiscovery": { capName: "device-discovery", addonId: null, access: "create" },
4652
- "deviceDiscovery.releaseDevice": { capName: "device-discovery", addonId: null, access: "create" },
4653
- "deviceManager.addLocation": { capName: "device-manager", addonId: null, access: "create" },
4654
- "deviceManager.adoptDevice": { capName: "device-manager", addonId: null, access: "create" },
4655
- "deviceManager.allocateDeviceId": { capName: "device-manager", addonId: null, access: "create" },
4656
- "deviceManager.createDevice": { capName: "device-manager", addonId: null, access: "create" },
4657
- "deviceManager.disable": { capName: "device-manager", addonId: null, access: "create" },
4658
- "deviceManager.discoverDevices": { capName: "device-manager", addonId: null, access: "create" },
4659
- "deviceManager.enable": { capName: "device-manager", addonId: null, access: "create" },
4660
- "deviceManager.getAllBindings": { capName: "device-manager", addonId: null, access: "view" },
4661
- "deviceManager.getBindings": { capName: "device-manager", addonId: null, access: "view" },
4662
- "deviceManager.getChildren": { capName: "device-manager", addonId: null, access: "view" },
4663
- "deviceManager.getConfigSchema": { capName: "device-manager", addonId: null, access: "view" },
4664
- "deviceManager.getCreationSchema": { capName: "device-manager", addonId: null, access: "view" },
4665
- "deviceManager.getDevice": { capName: "device-manager", addonId: null, access: "view" },
4666
- "deviceManager.getDeviceAggregate": { capName: "device-manager", addonId: null, access: "view" },
4667
- "deviceManager.getDeviceLiveInfoAggregate": { capName: "device-manager", addonId: null, access: "view" },
4668
- "deviceManager.getDeviceSettingsAggregate": { capName: "device-manager", addonId: null, access: "view" },
4669
- "deviceManager.getDeviceStatusAggregate": { capName: "device-manager", addonId: null, access: "view" },
4670
- "deviceManager.getSettingsSchema": { capName: "device-manager", addonId: null, access: "view" },
4671
- "deviceManager.getStreamProfileMap": { capName: "device-manager", addonId: null, access: "view" },
4672
- "deviceManager.getStreamSources": { capName: "device-manager", addonId: null, access: "view" },
4673
- "deviceManager.listAll": { capName: "device-manager", addonId: null, access: "view" },
4674
- "deviceManager.listBindableCapsForDeviceType": { capName: "device-manager", addonId: null, access: "view" },
4675
- "deviceManager.listLocations": { capName: "device-manager", addonId: null, access: "view" },
4676
- "deviceManager.listPersistedByAddon": { capName: "device-manager", addonId: null, access: "view" },
4677
- "deviceManager.listWrappersForCap": { capName: "device-manager", addonId: null, access: "view" },
4678
- "deviceManager.loadConfig": { capName: "device-manager", addonId: null, access: "view" },
4679
- "deviceManager.loadMeta": { capName: "device-manager", addonId: null, access: "view" },
4680
- "deviceManager.loadRuntimeState": { capName: "device-manager", addonId: null, access: "view" },
4681
- "deviceManager.persistConfig": { capName: "device-manager", addonId: null, access: "create" },
4682
- "deviceManager.probeStreams": { capName: "device-manager", addonId: null, access: "create" },
4683
- "deviceManager.registerDevice": { capName: "device-manager", addonId: null, access: "create" },
4684
- "deviceManager.remove": { capName: "device-manager", addonId: null, access: "delete" },
4685
- "deviceManager.removeDevice": { capName: "device-manager", addonId: null, access: "delete" },
4686
- "deviceManager.removeLocation": { capName: "device-manager", addonId: null, access: "delete" },
4687
- "deviceManager.setDisabled": { capName: "device-manager", addonId: null, access: "create" },
4688
- "deviceManager.setLocation": { capName: "device-manager", addonId: null, access: "create" },
4689
- "deviceManager.setMetadata": { capName: "device-manager", addonId: null, access: "create" },
4690
- "deviceManager.setName": { capName: "device-manager", addonId: null, access: "create" },
4691
- "deviceManager.setStreamProfileMap": { capName: "device-manager", addonId: null, access: "create" },
4692
- "deviceManager.setWrapperActive": { capName: "device-manager", addonId: null, access: "create" },
4693
- "deviceManager.testCreationField": { capName: "device-manager", addonId: null, access: "create" },
4694
- "deviceManager.testField": { capName: "device-manager", addonId: null, access: "create" },
4695
- "deviceManager.updateConfig": { capName: "device-manager", addonId: null, access: "create" },
4696
- "deviceManager.updateDeviceField": { capName: "device-manager", addonId: null, access: "create" },
4697
- "deviceManager.updateDeviceFieldsBatch": { capName: "device-manager", addonId: null, access: "create" },
4698
- "deviceOps.getConfigEntries": { capName: "device-ops", addonId: null, access: "view" },
4699
- "deviceOps.getSettingsSchema": { capName: "device-ops", addonId: null, access: "view" },
4700
- "deviceOps.getStreamSources": { capName: "device-ops", addonId: null, access: "view" },
4701
- "deviceOps.removeDevice": { capName: "device-ops", addonId: null, access: "delete" },
4702
- "deviceOps.setConfig": { capName: "device-ops", addonId: null, access: "create" },
4703
- "deviceProvider.adoptDiscoveredDevice": { capName: "device-provider", addonId: null, access: "create" },
4704
- "deviceProvider.createDevice": { capName: "device-provider", addonId: null, access: "create" },
4705
- "deviceProvider.discoverDevices": { capName: "device-provider", addonId: null, access: "create" },
4706
- "deviceProvider.getChildCreationSchema": { capName: "device-provider", addonId: null, access: "view" },
4707
- "deviceProvider.getDevices": { capName: "device-provider", addonId: null, access: "view" },
4708
- "deviceProvider.getStatus": { capName: "device-provider", addonId: null, access: "view" },
4709
- "deviceProvider.start": { capName: "device-provider", addonId: null, access: "create" },
4710
- "deviceProvider.stop": { capName: "device-provider", addonId: null, access: "create" },
4711
- "deviceProvider.supportsDiscovery": { capName: "device-provider", addonId: null, access: "view" },
4712
- "deviceProvider.supportsManualCreation": { capName: "device-provider", addonId: null, access: "view" },
4713
- "deviceProvider.testCreationField": { capName: "device-provider", addonId: null, access: "create" },
4714
- "deviceState.getAllSnapshots": { capName: "device-state", addonId: null, access: "view" },
4715
- "deviceState.getCapSlice": { capName: "device-state", addonId: null, access: "view" },
4716
- "deviceState.getSnapshot": { capName: "device-state", addonId: null, access: "view" },
4717
- "deviceState.setCapSlice": { capName: "device-state", addonId: null, access: "create" },
4718
- "embeddingEncoder.encode": { capName: "embedding-encoder", addonId: null, access: "view" },
4719
- "embeddingEncoder.encodeText": { capName: "embedding-encoder", addonId: null, access: "view" },
4720
- "embeddingEncoder.getInfo": { capName: "embedding-encoder", addonId: null, access: "view" },
4721
- "events.getEventClipUrl": { capName: "events", addonId: null, access: "view" },
4722
- "events.getEvents": { capName: "events", addonId: null, access: "view" },
4723
- "events.getEventThumbnail": { capName: "events", addonId: null, access: "view" },
4724
- "integrations.create": { capName: "integrations", addonId: null, access: "create" },
4725
- "integrations.delete": { capName: "integrations", addonId: null, access: "delete" },
4726
- "integrations.get": { capName: "integrations", addonId: null, access: "view" },
4727
- "integrations.getAvailableTypes": { capName: "integrations", addonId: null, access: "view" },
4728
- "integrations.getByAddonId": { capName: "integrations", addonId: null, access: "view" },
4729
- "integrations.getSettings": { capName: "integrations", addonId: null, access: "view" },
4730
- "integrations.list": { capName: "integrations", addonId: null, access: "view" },
4731
- "integrations.setSettings": { capName: "integrations", addonId: null, access: "create" },
4732
- "integrations.testConnection": { capName: "integrations", addonId: null, access: "create" },
4733
- "integrations.update": { capName: "integrations", addonId: null, access: "create" },
4734
- "intercom.handleAnswer": { capName: "intercom", addonId: null, access: "create" },
4735
- "intercom.startSession": { capName: "intercom", addonId: null, access: "create" },
4736
- "intercom.stopSession": { capName: "intercom", addonId: null, access: "create" },
4737
- "localNetwork.getAllowedAddresses": { capName: "local-network", addonId: null, access: "view" },
4738
- "localNetwork.getConnectionEndpoints": { capName: "local-network", addonId: null, access: "view" },
4739
- "localNetwork.getPreferred": { capName: "local-network", addonId: null, access: "view" },
4740
- "localNetwork.list": { capName: "local-network", addonId: null, access: "view" },
4741
- "localNetwork.resetAllowlistToBestMatch": { capName: "local-network", addonId: null, access: "delete" },
4742
- "localNetwork.setAllowedAddresses": { capName: "local-network", addonId: null, access: "create" },
4743
- "logDestination.query": { capName: "log-destination", addonId: null, access: "view" },
4744
- "logDestination.write": { capName: "log-destination", addonId: null, access: "create" },
4745
- "meshNetwork.getStatus": { capName: "mesh-network", addonId: null, access: "view" },
4746
- "meshNetwork.join": { capName: "mesh-network", addonId: null, access: "create" },
4747
- "meshNetwork.leave": { capName: "mesh-network", addonId: null, access: "create" },
4748
- "meshNetwork.listPeers": { capName: "mesh-network", addonId: null, access: "view" },
4749
- "meshNetwork.setMeshIngress": { capName: "mesh-network", addonId: null, access: "create" },
4750
- "meshNetwork.setPublicIngress": { capName: "mesh-network", addonId: null, access: "create" },
4751
- "meshOrchestrator.joinProvider": { capName: "mesh-orchestrator", addonId: null, access: "create" },
4752
- "meshOrchestrator.leaveProvider": { capName: "mesh-orchestrator", addonId: null, access: "create" },
4753
- "meshOrchestrator.listProviders": { capName: "mesh-orchestrator", addonId: null, access: "view" },
4754
- "metricsProvider.collectSnapshot": { capName: "metrics-provider", addonId: null, access: "view" },
4755
- "metricsProvider.getAddonStats": { capName: "metrics-provider", addonId: null, access: "view" },
4756
- "metricsProvider.getCached": { capName: "metrics-provider", addonId: null, access: "view" },
4757
- "metricsProvider.getCpuTemperature": { capName: "metrics-provider", addonId: null, access: "view" },
4758
- "metricsProvider.getCurrent": { capName: "metrics-provider", addonId: null, access: "view" },
4759
- "metricsProvider.getDiskSpace": { capName: "metrics-provider", addonId: null, access: "view" },
4760
- "metricsProvider.getGpuInfo": { capName: "metrics-provider", addonId: null, access: "view" },
4761
- "metricsProvider.getProcessStats": { capName: "metrics-provider", addonId: null, access: "view" },
4762
- "metricsProvider.killProcess": { capName: "metrics-provider", addonId: null, access: "create" },
4763
- "metricsProvider.listAddonInstances": { capName: "metrics-provider", addonId: null, access: "view" },
4764
- "metricsProvider.listNodeProcesses": { capName: "metrics-provider", addonId: null, access: "view" },
4765
- "motion.isDetected": { capName: "motion", addonId: null, access: "view" },
4766
- "motionDetection.analyze": { capName: "motion-detection", addonId: null, access: "create" },
4767
- "motionDetection.removeCamera": { capName: "motion-detection", addonId: null, access: "delete" },
4768
- "motionDetection.reset": { capName: "motion-detection", addonId: null, access: "delete" },
4769
- "motionTrigger.setMotionTrigger": { capName: "motion-trigger", addonId: null, access: "create" },
4770
- "networkAccess.getEndpoint": { capName: "network-access", addonId: null, access: "view" },
4771
- "networkAccess.getStatus": { capName: "network-access", addonId: null, access: "view" },
4772
- "networkAccess.start": { capName: "network-access", addonId: null, access: "create" },
4773
- "networkAccess.stop": { capName: "network-access", addonId: null, access: "create" },
4774
- "networkQuality.getAllStats": { capName: "network-quality", addonId: null, access: "view" },
4775
- "networkQuality.getDeviceStats": { capName: "network-quality", addonId: null, access: "view" },
4776
- "networkQuality.reportClientStats": { capName: "network-quality", addonId: null, access: "create" },
4777
- "nodes.clusterAddonStatus": { capName: "nodes", addonId: null, access: "view" },
4778
- "nodes.deployAddon": { capName: "nodes", addonId: null, access: "create" },
4779
- "nodes.executeQuery": { capName: "nodes", addonId: null, access: "create" },
4780
- "nodes.renameNode": { capName: "nodes", addonId: null, access: "create" },
4781
- "nodes.restartAddon": { capName: "nodes", addonId: null, access: "create" },
4782
- "nodes.restartNode": { capName: "nodes", addonId: null, access: "create" },
4783
- "nodes.restartProcess": { capName: "nodes", addonId: null, access: "create" },
4784
- "nodes.setProcessLogLevel": { capName: "nodes", addonId: null, access: "create" },
4785
- "nodes.shutdownNode": { capName: "nodes", addonId: null, access: "create" },
4786
- "nodes.topology": { capName: "nodes", addonId: null, access: "view" },
4787
- "nodes.undeployAddon": { capName: "nodes", addonId: null, access: "create" },
4788
- "notificationOutput.send": { capName: "notification-output", addonId: null, access: "create" },
4789
- "notificationOutput.sendTest": { capName: "notification-output", addonId: null, access: "create" },
4790
- "osd.setOverlay": { capName: "osd", addonId: null, access: "create" },
4791
- "pipelineAnalytics.clearTracks": { capName: "pipeline-analytics", addonId: null, access: "delete" },
4792
- "pipelineAnalytics.getActiveTracks": { capName: "pipeline-analytics", addonId: null, access: "view" },
4793
- "pipelineAnalytics.getAudioEvents": { capName: "pipeline-analytics", addonId: null, access: "view" },
4794
- "pipelineAnalytics.getEventMedia": { capName: "pipeline-analytics", addonId: null, access: "view" },
4795
- "pipelineAnalytics.getMotionEvents": { capName: "pipeline-analytics", addonId: null, access: "view" },
4796
- "pipelineAnalytics.getObjectEvents": { capName: "pipeline-analytics", addonId: null, access: "view" },
4797
- "pipelineAnalytics.getTrack": { capName: "pipeline-analytics", addonId: null, access: "view" },
4798
- "pipelineAnalytics.getTrackMedia": { capName: "pipeline-analytics", addonId: null, access: "view" },
4799
- "pipelineAnalytics.listTracks": { capName: "pipeline-analytics", addonId: null, access: "view" },
4800
- "pipelineExecutor.cacheFrameInPool": { capName: "pipeline-executor", addonId: null, access: "create" },
4801
- "pipelineExecutor.deleteModel": { capName: "pipeline-executor", addonId: null, access: "delete" },
4802
- "pipelineExecutor.deleteTemplate": { capName: "pipeline-executor", addonId: null, access: "delete" },
4803
- "pipelineExecutor.detect": { capName: "pipeline-executor", addonId: null, access: "view" },
4804
- "pipelineExecutor.downloadModel": { capName: "pipeline-executor", addonId: null, access: "create" },
4805
- "pipelineExecutor.getAddonModels": { capName: "pipeline-executor", addonId: null, access: "view" },
4806
- "pipelineExecutor.getAudioCapabilities": { capName: "pipeline-executor", addonId: null, access: "view" },
4807
- "pipelineExecutor.getAvailableEngines": { capName: "pipeline-executor", addonId: null, access: "view" },
4808
- "pipelineExecutor.getCapabilities": { capName: "pipeline-executor", addonId: null, access: "view" },
4809
- "pipelineExecutor.getDefaultSteps": { capName: "pipeline-executor", addonId: null, access: "view" },
4810
- "pipelineExecutor.getDetectionConfigSchema": { capName: "pipeline-executor", addonId: null, access: "view" },
4811
- "pipelineExecutor.getEffectiveTuning": { capName: "pipeline-executor", addonId: null, access: "view" },
4812
- "pipelineExecutor.getGlobalPipelineConfig": { capName: "pipeline-executor", addonId: null, access: "view" },
4813
- "pipelineExecutor.getGlobalSteps": { capName: "pipeline-executor", addonId: null, access: "view" },
4814
- "pipelineExecutor.getOrchestratorConfigSchema": { capName: "pipeline-executor", addonId: null, access: "view" },
4815
- "pipelineExecutor.getReferenceAudio": { capName: "pipeline-executor", addonId: null, access: "view" },
4816
- "pipelineExecutor.getReferenceAudioFiles": { capName: "pipeline-executor", addonId: null, access: "view" },
4817
- "pipelineExecutor.getReferenceImage": { capName: "pipeline-executor", addonId: null, access: "view" },
4818
- "pipelineExecutor.getSchema": { capName: "pipeline-executor", addonId: null, access: "view" },
4819
- "pipelineExecutor.getSelectedEngine": { capName: "pipeline-executor", addonId: null, access: "view" },
4820
- "pipelineExecutor.getVideoPipelineSteps": { capName: "pipeline-executor", addonId: null, access: "view" },
4821
- "pipelineExecutor.inferCached": { capName: "pipeline-executor", addonId: null, access: "create" },
4822
- "pipelineExecutor.killEngine": { capName: "pipeline-executor", addonId: null, access: "create" },
4823
- "pipelineExecutor.listLoadedEngines": { capName: "pipeline-executor", addonId: null, access: "view" },
4824
- "pipelineExecutor.listReferenceImages": { capName: "pipeline-executor", addonId: null, access: "view" },
4825
- "pipelineExecutor.listTemplates": { capName: "pipeline-executor", addonId: null, access: "view" },
4826
- "pipelineExecutor.reprobeEngine": { capName: "pipeline-executor", addonId: null, access: "create" },
4827
- "pipelineExecutor.runAudioTest": { capName: "pipeline-executor", addonId: null, access: "create" },
4828
- "pipelineExecutor.runPipeline": { capName: "pipeline-executor", addonId: null, access: "create" },
4829
- "pipelineExecutor.runPipelineBatch": { capName: "pipeline-executor", addonId: null, access: "create" },
4830
- "pipelineExecutor.saveTemplate": { capName: "pipeline-executor", addonId: null, access: "create" },
4831
- "pipelineExecutor.setVideoPipelineSteps": { capName: "pipeline-executor", addonId: null, access: "create" },
4832
- "pipelineExecutor.spinEngine": { capName: "pipeline-executor", addonId: null, access: "create" },
4833
- "pipelineExecutor.uncacheFrame": { capName: "pipeline-executor", addonId: null, access: "create" },
4834
- "pipelineExecutor.updateTemplate": { capName: "pipeline-executor", addonId: null, access: "create" },
4835
- "pipelineOrchestrator.assignAudio": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4836
- "pipelineOrchestrator.assignDecoder": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4837
- "pipelineOrchestrator.assignPipeline": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4838
- "pipelineOrchestrator.deleteTemplate": { capName: "pipeline-orchestrator", addonId: null, access: "delete" },
4839
- "pipelineOrchestrator.getAgentLoad": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4840
- "pipelineOrchestrator.getAgentSettings": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4841
- "pipelineOrchestrator.getAudioAssignment": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4842
- "pipelineOrchestrator.getAudioAssignments": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4843
- "pipelineOrchestrator.getAudioNodeLoad": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4844
- "pipelineOrchestrator.getCameraMetrics": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4845
- "pipelineOrchestrator.getCameraSettings": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4846
- "pipelineOrchestrator.getCameraStepOverrides": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4847
- "pipelineOrchestrator.getCapabilityBindings": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4848
- "pipelineOrchestrator.getDecoderAssignment": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4849
- "pipelineOrchestrator.getDecoderAssignments": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4850
- "pipelineOrchestrator.getGlobalMetrics": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4851
- "pipelineOrchestrator.getPipelineAssignment": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4852
- "pipelineOrchestrator.getPipelineAssignments": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4853
- "pipelineOrchestrator.listAgentSettings": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4854
- "pipelineOrchestrator.listTemplates": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4855
- "pipelineOrchestrator.rebalance": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4856
- "pipelineOrchestrator.removeAgentSettings": { capName: "pipeline-orchestrator", addonId: null, access: "delete" },
4857
- "pipelineOrchestrator.resolvePipeline": { capName: "pipeline-orchestrator", addonId: null, access: "view" },
4858
- "pipelineOrchestrator.saveTemplate": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4859
- "pipelineOrchestrator.setAgentAddonDefaults": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4860
- "pipelineOrchestrator.setCameraPipelineForAgent": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4861
- "pipelineOrchestrator.setCameraStepOverride": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4862
- "pipelineOrchestrator.setCameraStepToggle": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4863
- "pipelineOrchestrator.setCapabilityBinding": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4864
- "pipelineOrchestrator.unassignAudio": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4865
- "pipelineOrchestrator.unassignDecoder": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4866
- "pipelineOrchestrator.unassignPipeline": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4867
- "pipelineOrchestrator.updateTemplate": { capName: "pipeline-orchestrator", addonId: null, access: "create" },
4868
- "pipelineRunner.attachCamera": { capName: "pipeline-runner", addonId: null, access: "create" },
4869
- "pipelineRunner.detachCamera": { capName: "pipeline-runner", addonId: null, access: "create" },
4870
- "pipelineRunner.getAllCameraMetrics": { capName: "pipeline-runner", addonId: null, access: "view" },
4871
- "pipelineRunner.getCameraMetrics": { capName: "pipeline-runner", addonId: null, access: "view" },
4872
- "pipelineRunner.getLocalCameras": { capName: "pipeline-runner", addonId: null, access: "view" },
4873
- "pipelineRunner.getLocalLoad": { capName: "pipeline-runner", addonId: null, access: "view" },
4874
- "pipelineRunner.getLocalMetrics": { capName: "pipeline-runner", addonId: null, access: "view" },
4875
- "pipelineRunner.reportMotion": { capName: "pipeline-runner", addonId: null, access: "create" },
4876
- "platformProbe.getCapabilities": { capName: "platform-probe", addonId: null, access: "view" },
4877
- "platformProbe.getHardware": { capName: "platform-probe", addonId: null, access: "view" },
4878
- "platformProbe.resolveHwAccel": { capName: "platform-probe", addonId: null, access: "view" },
4879
- "platformProbe.resolveInferenceConfig": { capName: "platform-probe", addonId: null, access: "view" },
4880
- "ptz.continuousMove": { capName: "ptz", addonId: null, access: "create" },
4881
- "ptz.getPosition": { capName: "ptz", addonId: null, access: "view" },
4882
- "ptz.getPresets": { capName: "ptz", addonId: null, access: "view" },
4883
- "ptz.goHome": { capName: "ptz", addonId: null, access: "create" },
4884
- "ptz.goToPreset": { capName: "ptz", addonId: null, access: "create" },
4885
- "ptz.move": { capName: "ptz", addonId: null, access: "create" },
4886
- "ptz.stop": { capName: "ptz", addonId: null, access: "create" },
4887
- "ptzAutotrack.getSettings": { capName: "ptz-autotrack", addonId: null, access: "view" },
4888
- "ptzAutotrack.getStatus": { capName: "ptz-autotrack", addonId: null, access: "view" },
4889
- "ptzAutotrack.setEnabled": { capName: "ptz-autotrack", addonId: null, access: "create" },
4890
- "ptzAutotrack.setSettings": { capName: "ptz-autotrack", addonId: null, access: "create" },
4891
- "reboot.reboot": { capName: "reboot", addonId: null, access: "create" },
4892
- "recording.getPlaybackUrl": { capName: "recording", addonId: null, access: "view" },
4893
- "recording.getSegments": { capName: "recording", addonId: null, access: "view" },
4894
- "recording.getThumbnailAt": { capName: "recording", addonId: null, access: "view" },
4895
- "recordingEngine.disable": { capName: "recording-engine", addonId: null, access: "create" },
4896
- "recordingEngine.enable": { capName: "recording-engine", addonId: null, access: "create" },
4897
- "recordingEngine.estimateGlobalStorage": { capName: "recording-engine", addonId: null, access: "view" },
4898
- "recordingEngine.estimateStorage": { capName: "recording-engine", addonId: null, access: "view" },
4899
- "recordingEngine.getAvailability": { capName: "recording-engine", addonId: null, access: "view" },
4900
- "recordingEngine.getConfig": { capName: "recording-engine", addonId: null, access: "view" },
4901
- "recordingEngine.getMotionStats": { capName: "recording-engine", addonId: null, access: "view" },
4902
- "recordingEngine.getPlaylist": { capName: "recording-engine", addonId: null, access: "view" },
4903
- "recordingEngine.getPolicy": { capName: "recording-engine", addonId: null, access: "view" },
4904
- "recordingEngine.getPolicyStatus": { capName: "recording-engine", addonId: null, access: "view" },
4905
- "recordingEngine.getRetentionConfig": { capName: "recording-engine", addonId: null, access: "view" },
4906
- "recordingEngine.getSegments": { capName: "recording-engine", addonId: null, access: "view" },
4907
- "recordingEngine.getStatus": { capName: "recording-engine", addonId: null, access: "view" },
4908
- "recordingEngine.getStorageUsage": { capName: "recording-engine", addonId: null, access: "view" },
4909
- "recordingEngine.getThumbnail": { capName: "recording-engine", addonId: null, access: "view" },
4910
- "recordingEngine.setPolicy": { capName: "recording-engine", addonId: null, access: "create" },
4911
- "recordingEngine.updateConfig": { capName: "recording-engine", addonId: null, access: "create" },
4912
- "recordingEngine.updateRetentionConfig": { capName: "recording-engine", addonId: null, access: "create" },
4913
- "remoteAccess.listProviders": { capName: "remote-access", addonId: null, access: "view" },
4914
- "remoteAccess.startProvider": { capName: "remote-access", addonId: null, access: "create" },
4915
- "remoteAccess.stopProvider": { capName: "remote-access", addonId: null, access: "create" },
4916
- "restreamer.getExposedResources": { capName: "restreamer", addonId: null, access: "view" },
4917
- "restreamer.registerDevice": { capName: "restreamer", addonId: null, access: "create" },
4918
- "restreamer.unregisterDevice": { capName: "restreamer", addonId: null, access: "delete" },
4919
- "settingsStore.count": { capName: "settings-store", addonId: null, access: "view" },
4920
- "settingsStore.declareCollection": { capName: "settings-store", addonId: null, access: "create" },
4921
- "settingsStore.delete": { capName: "settings-store", addonId: null, access: "delete" },
4922
- "settingsStore.get": { capName: "settings-store", addonId: null, access: "view" },
4923
- "settingsStore.insert": { capName: "settings-store", addonId: null, access: "create" },
4924
- "settingsStore.isEmpty": { capName: "settings-store", addonId: null, access: "view" },
4925
- "settingsStore.query": { capName: "settings-store", addonId: null, access: "view" },
4926
- "settingsStore.set": { capName: "settings-store", addonId: null, access: "create" },
4927
- "settingsStore.update": { capName: "settings-store", addonId: null, access: "create" },
4928
- "snapshot.getSnapshot": { capName: "snapshot", addonId: null, access: "view" },
4929
- "snapshot.invalidateCache": { capName: "snapshot", addonId: null, access: "create" },
4930
- "snapshotProvider.getSnapshot": { capName: "snapshot-provider", addonId: null, access: "view" },
4931
- "snapshotProvider.supportsDevice": { capName: "snapshot-provider", addonId: null, access: "view" },
4932
- "storage.abortUpload": { capName: "storage", addonId: null, access: "create" },
4933
- "storage.beginDownload": { capName: "storage", addonId: null, access: "create" },
4934
- "storage.beginUpload": { capName: "storage", addonId: null, access: "create" },
4935
- "storage.delete": { capName: "storage", addonId: null, access: "delete" },
4936
- "storage.deleteLocation": { capName: "storage", addonId: null, access: "delete" },
4937
- "storage.endDownload": { capName: "storage", addonId: null, access: "create" },
4938
- "storage.exists": { capName: "storage", addonId: null, access: "view" },
4939
- "storage.finalizeUpload": { capName: "storage", addonId: null, access: "create" },
4940
- "storage.getAvailableSpace": { capName: "storage", addonId: null, access: "view" },
4941
- "storage.getDefaultLocation": { capName: "storage", addonId: null, access: "view" },
4942
- "storage.list": { capName: "storage", addonId: null, access: "view" },
4943
- "storage.listLocations": { capName: "storage", addonId: null, access: "view" },
4944
- "storage.listProviders": { capName: "storage", addonId: null, access: "view" },
4945
- "storage.read": { capName: "storage", addonId: null, access: "view" },
4946
- "storage.readChunk": { capName: "storage", addonId: null, access: "view" },
4947
- "storage.resolve": { capName: "storage", addonId: null, access: "view" },
4948
- "storage.testConfig": { capName: "storage", addonId: null, access: "view" },
4949
- "storage.testLocation": { capName: "storage", addonId: null, access: "view" },
4950
- "storage.upsertLocation": { capName: "storage", addonId: null, access: "create" },
4951
- "storage.write": { capName: "storage", addonId: null, access: "create" },
4952
- "storage.writeChunk": { capName: "storage", addonId: null, access: "create" },
4953
- "storageProvider.abortUpload": { capName: "storage-provider", addonId: null, access: "create" },
4954
- "storageProvider.beginDownload": { capName: "storage-provider", addonId: null, access: "create" },
4955
- "storageProvider.beginUpload": { capName: "storage-provider", addonId: null, access: "create" },
4956
- "storageProvider.delete": { capName: "storage-provider", addonId: null, access: "delete" },
4957
- "storageProvider.endDownload": { capName: "storage-provider", addonId: null, access: "create" },
4958
- "storageProvider.exists": { capName: "storage-provider", addonId: null, access: "view" },
4959
- "storageProvider.finalizeUpload": { capName: "storage-provider", addonId: null, access: "create" },
4960
- "storageProvider.getAvailableSpace": { capName: "storage-provider", addonId: null, access: "view" },
4961
- "storageProvider.getProviderInfo": { capName: "storage-provider", addonId: null, access: "view" },
4962
- "storageProvider.list": { capName: "storage-provider", addonId: null, access: "view" },
4963
- "storageProvider.read": { capName: "storage-provider", addonId: null, access: "view" },
4964
- "storageProvider.readChunk": { capName: "storage-provider", addonId: null, access: "view" },
4965
- "storageProvider.resolve": { capName: "storage-provider", addonId: null, access: "view" },
4966
- "storageProvider.testLocation": { capName: "storage-provider", addonId: null, access: "view" },
4967
- "storageProvider.write": { capName: "storage-provider", addonId: null, access: "create" },
4968
- "storageProvider.writeChunk": { capName: "storage-provider", addonId: null, access: "create" },
4969
- "streamBroker.assignProfile": { capName: "stream-broker", addonId: null, access: "create" },
4970
- "streamBroker.getAllRtspEntries": { capName: "stream-broker", addonId: null, access: "view" },
4971
- "streamBroker.getBroker": { capName: "stream-broker", addonId: null, access: "view" },
4972
- "streamBroker.getBrokerStats": { capName: "stream-broker", addonId: null, access: "view" },
4973
- "streamBroker.getPreBufferInfo": { capName: "stream-broker", addonId: null, access: "view" },
4974
- "streamBroker.getRtspEntry": { capName: "stream-broker", addonId: null, access: "view" },
4975
- "streamBroker.getRtspPort": { capName: "stream-broker", addonId: null, access: "view" },
4976
- "streamBroker.getStreamUrl": { capName: "stream-broker", addonId: null, access: "view" },
4977
- "streamBroker.isRtspEnabled": { capName: "stream-broker", addonId: null, access: "view" },
4978
- "streamBroker.killClient": { capName: "stream-broker", addonId: null, access: "create" },
4979
- "streamBroker.listAllCameraStreams": { capName: "stream-broker", addonId: null, access: "view" },
4980
- "streamBroker.listAllProfileSlots": { capName: "stream-broker", addonId: null, access: "view" },
4981
- "streamBroker.listClients": { capName: "stream-broker", addonId: null, access: "view" },
4982
- "streamBroker.publishCameraStream": { capName: "stream-broker", addonId: null, access: "create" },
4983
- "streamBroker.regenerateRtspToken": { capName: "stream-broker", addonId: null, access: "create" },
4984
- "streamBroker.restartProfile": { capName: "stream-broker", addonId: null, access: "create" },
4985
- "streamBroker.retractCameraStream": { capName: "stream-broker", addonId: null, access: "create" },
4986
- "streamBroker.setPreBufferDuration": { capName: "stream-broker", addonId: null, access: "create" },
4987
- "streamBroker.setRtspEnabled": { capName: "stream-broker", addonId: null, access: "create" },
4988
- "streamBroker.unassignProfile": { capName: "stream-broker", addonId: null, access: "create" },
4989
- "streamingEngine.getStreamUrl": { capName: "streaming-engine", addonId: null, access: "view" },
4990
- "streamingEngine.listStreams": { capName: "streaming-engine", addonId: null, access: "view" },
4991
- "streamingEngine.registerStream": { capName: "streaming-engine", addonId: null, access: "create" },
4992
- "streamingEngine.unregisterStream": { capName: "streaming-engine", addonId: null, access: "delete" },
4993
- "switch.setState": { capName: "switch", addonId: null, access: "create" },
4994
- "system.featureFlags": { capName: "system", addonId: null, access: "view" },
4995
- "system.forceRetentionCleanup": { capName: "system", addonId: null, access: "create" },
4996
- "system.getRetentionConfig": { capName: "system", addonId: null, access: "view" },
4997
- "system.health": { capName: "system", addonId: null, access: "view" },
4998
- "system.info": { capName: "system", addonId: null, access: "view" },
4999
- "system.networkAddresses": { capName: "system", addonId: null, access: "view" },
5000
- "system.setRetentionConfig": { capName: "system", addonId: null, access: "create" },
5001
- "toast.onToast": { capName: "toast", addonId: null, access: "view" },
5002
- "turnOrchestrator.getAllServers": { capName: "turn-orchestrator", addonId: null, access: "view" },
5003
- "turnOrchestrator.listProviders": { capName: "turn-orchestrator", addonId: null, access: "view" },
5004
- "turnOrchestrator.setProviderEnabled": { capName: "turn-orchestrator", addonId: null, access: "create" },
5005
- "turnProvider.getTurnServers": { capName: "turn-provider", addonId: null, access: "view" },
5006
- "userManagement.createApiKey": { capName: "user-management", addonId: null, access: "create" },
5007
- "userManagement.createScopedToken": { capName: "user-management", addonId: null, access: "create" },
5008
- "userManagement.createUser": { capName: "user-management", addonId: null, access: "create" },
5009
- "userManagement.deleteUser": { capName: "user-management", addonId: null, access: "delete" },
5010
- "userManagement.listApiKeys": { capName: "user-management", addonId: null, access: "view" },
5011
- "userManagement.listScopedTokens": { capName: "user-management", addonId: null, access: "view" },
5012
- "userManagement.listUsers": { capName: "user-management", addonId: null, access: "view" },
5013
- "userManagement.resetPassword": { capName: "user-management", addonId: null, access: "delete" },
5014
- "userManagement.revokeApiKey": { capName: "user-management", addonId: null, access: "delete" },
5015
- "userManagement.revokeScopedToken": { capName: "user-management", addonId: null, access: "delete" },
5016
- "userManagement.setUserScopes": { capName: "user-management", addonId: null, access: "create" },
5017
- "userManagement.updateUser": { capName: "user-management", addonId: null, access: "create" },
5018
- "userManagement.validateApiKey": { capName: "user-management", addonId: null, access: "create" },
5019
- "userManagement.validateCredentials": { capName: "user-management", addonId: null, access: "create" },
5020
- "userManagement.validateScopedToken": { capName: "user-management", addonId: null, access: "view" },
5021
- "webrtc.closeSession": { capName: "webrtc", addonId: null, access: "create" },
5022
- "webrtc.createSession": { capName: "webrtc", addonId: null, access: "create" },
5023
- "webrtc.handleAnswer": { capName: "webrtc", addonId: null, access: "create" },
5024
- "webrtc.handleOffer": { capName: "webrtc", addonId: null, access: "create" },
5025
- "webrtc.hasAdaptiveBitrate": { capName: "webrtc", addonId: null, access: "view" },
5026
- "webrtc.registerStream": { capName: "webrtc", addonId: null, access: "create" },
5027
- "webrtc.supportsStream": { capName: "webrtc", addonId: null, access: "view" },
5028
- "webrtc.unregisterStream": { capName: "webrtc", addonId: null, access: "delete" },
5029
- "webrtcSession.closeSession": { capName: "webrtc-session", addonId: null, access: "create" },
5030
- "webrtcSession.createSession": { capName: "webrtc-session", addonId: null, access: "create" },
5031
- "webrtcSession.handleAnswer": { capName: "webrtc-session", addonId: null, access: "create" },
5032
- "webrtcSession.hasAdaptiveBitrate": { capName: "webrtc-session", addonId: null, access: "view" },
5033
- "webrtcSession.listStreams": { capName: "webrtc-session", addonId: null, access: "view" },
5034
- "zoneAnalytics.getCameraHistory": { capName: "zone-analytics", addonId: null, access: "view" },
5035
- "zoneAnalytics.getCurrentSnapshot": { capName: "zone-analytics", addonId: null, access: "view" },
5036
- "zoneAnalytics.getUnzonedHistory": { capName: "zone-analytics", addonId: null, access: "view" },
5037
- "zoneAnalytics.getZoneHistory": { capName: "zone-analytics", addonId: null, access: "view" },
5038
- "zoneRules.listRules": { capName: "zone-rules", addonId: null, access: "view" },
5039
- "zoneRules.setRules": { capName: "zone-rules", addonId: null, access: "create" },
5040
- "zones.addZone": { capName: "zones", addonId: null, access: "create" },
5041
- "zones.listZones": { capName: "zones", addonId: null, access: "view" },
5042
- "zones.removeZone": { capName: "zones", addonId: null, access: "delete" },
5043
- "zones.updateZone": { capName: "zones", addonId: null, access: "create" }
4691
+ "addonPages.listPages": { capName: "addon-pages", capScope: "system", addonId: null, access: "view" },
4692
+ "addonPagesSource.listPages": { capName: "addon-pages-source", capScope: "system", addonId: null, access: "view" },
4693
+ "addonRoutes.getRoutes": { capName: "addon-routes", capScope: "system", addonId: null, access: "view" },
4694
+ "addonRoutes.invoke": { capName: "addon-routes", capScope: "system", addonId: null, access: "create" },
4695
+ "addons.applyAutoUpdateToAll": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4696
+ "addons.custom": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4697
+ "addons.forceRefresh": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4698
+ "addons.getAddonAutoUpdate": { capName: "addons", capScope: "system", addonId: null, access: "view" },
4699
+ "addons.getAutoUpdateSettings": { capName: "addons", capScope: "system", addonId: null, access: "view" },
4700
+ "addons.getLogs": { capName: "addons", capScope: "system", addonId: null, access: "view" },
4701
+ "addons.getVersions": { capName: "addons", capScope: "system", addonId: null, access: "view" },
4702
+ "addons.installFromWorkspace": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4703
+ "addons.installPackage": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4704
+ "addons.isWorkspaceAvailable": { capName: "addons", capScope: "system", addonId: null, access: "view" },
4705
+ "addons.list": { capName: "addons", capScope: "system", addonId: null, access: "view" },
4706
+ "addons.listPackages": { capName: "addons", capScope: "system", addonId: null, access: "view" },
4707
+ "addons.listUpdates": { capName: "addons", capScope: "system", addonId: null, access: "view" },
4708
+ "addons.listWorkspacePackages": { capName: "addons", capScope: "system", addonId: null, access: "view" },
4709
+ "addons.onAddonLogs": { capName: "addons", capScope: "system", addonId: null, access: "view" },
4710
+ "addons.reloadPackages": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4711
+ "addons.restartAddon": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4712
+ "addons.restartServer": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4713
+ "addons.retryLoad": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4714
+ "addons.rollbackPackage": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4715
+ "addons.searchAvailable": { capName: "addons", capScope: "system", addonId: null, access: "view" },
4716
+ "addons.setAddonAutoUpdate": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4717
+ "addons.setAutoUpdateSettings": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4718
+ "addons.uninstallPackage": { capName: "addons", capScope: "system", addonId: null, access: "delete" },
4719
+ "addons.updatePackage": { capName: "addons", capScope: "system", addonId: null, access: "create" },
4720
+ "addonSettings.getDeviceSettings": { capName: "addon-settings", capScope: "system", addonId: null, access: "view" },
4721
+ "addonSettings.getGlobalSettings": { capName: "addon-settings", capScope: "system", addonId: null, access: "view" },
4722
+ "addonSettings.updateDeviceSettings": { capName: "addon-settings", capScope: "system", addonId: null, access: "create" },
4723
+ "addonSettings.updateGlobalSettings": { capName: "addon-settings", capScope: "system", addonId: null, access: "create" },
4724
+ "addonWidgets.listWidgets": { capName: "addon-widgets", capScope: "system", addonId: null, access: "view" },
4725
+ "addonWidgetsSource.listWidgets": { capName: "addon-widgets-source", capScope: "system", addonId: null, access: "view" },
4726
+ "adminUi.getStaticDir": { capName: "admin-ui", capScope: "system", addonId: null, access: "view" },
4727
+ "adminUi.getVersion": { capName: "admin-ui", capScope: "system", addonId: null, access: "view" },
4728
+ "advancedNotifier.deleteRule": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "delete" },
4729
+ "advancedNotifier.getHistory": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "view" },
4730
+ "advancedNotifier.getRules": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "view" },
4731
+ "advancedNotifier.testRule": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "create" },
4732
+ "advancedNotifier.upsertRule": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "create" },
4733
+ "alerts.dismiss": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
4734
+ "alerts.emit": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
4735
+ "alerts.getUnreadCount": { capName: "alerts", capScope: "system", addonId: null, access: "view" },
4736
+ "alerts.list": { capName: "alerts", capScope: "system", addonId: null, access: "view" },
4737
+ "alerts.markAllRead": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
4738
+ "alerts.markRead": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
4739
+ "alerts.update": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
4740
+ "audioAnalysis.resolveDeviceSettings": { capName: "audio-analysis", capScope: "device", addonId: null, access: "view" },
4741
+ "audioAnalyzer.analyseChunk": { capName: "audio-analyzer", capScope: "system", addonId: null, access: "create" },
4742
+ "audioAnalyzer.classify": { capName: "audio-analyzer", capScope: "system", addonId: null, access: "view" },
4743
+ "audioAnalyzer.dispose": { capName: "audio-analyzer", capScope: "system", addonId: null, access: "create" },
4744
+ "audioAnalyzer.isReady": { capName: "audio-analyzer", capScope: "system", addonId: null, access: "view" },
4745
+ "audioAnalyzer.reprobeAudioEngine": { capName: "audio-analyzer", capScope: "system", addonId: null, access: "create" },
4746
+ "audioCodec.canHandle": { capName: "audio-codec", capScope: "system", addonId: null, access: "view" },
4747
+ "audioCodec.closeSession": { capName: "audio-codec", capScope: "system", addonId: null, access: "create" },
4748
+ "audioCodec.createDecodeSession": { capName: "audio-codec", capScope: "system", addonId: null, access: "create" },
4749
+ "audioCodec.createEncodeSession": { capName: "audio-codec", capScope: "system", addonId: null, access: "create" },
4750
+ "audioCodec.flushEncode": { capName: "audio-codec", capScope: "system", addonId: null, access: "create" },
4751
+ "audioCodec.listActiveSessions": { capName: "audio-codec", capScope: "system", addonId: null, access: "view" },
4752
+ "audioCodec.listSupportedCodecs": { capName: "audio-codec", capScope: "system", addonId: null, access: "view" },
4753
+ "audioCodec.pullEncoded": { capName: "audio-codec", capScope: "system", addonId: null, access: "view" },
4754
+ "audioCodec.pullPcm": { capName: "audio-codec", capScope: "system", addonId: null, access: "view" },
4755
+ "audioCodec.pushEncodedFrame": { capName: "audio-codec", capScope: "system", addonId: null, access: "create" },
4756
+ "audioCodec.pushPcm": { capName: "audio-codec", capScope: "system", addonId: null, access: "create" },
4757
+ "audioMetrics.getCurrentSnapshot": { capName: "audio-metrics", capScope: "device", addonId: null, access: "view" },
4758
+ "audioMetrics.getHistory": { capName: "audio-metrics", capScope: "device", addonId: null, access: "view" },
4759
+ "authentication.listProviders": { capName: "authentication", capScope: "system", addonId: null, access: "view" },
4760
+ "authentication.setProviderEnabled": { capName: "authentication", capScope: "system", addonId: null, access: "create" },
4761
+ "authProvider.getLoginUrl": { capName: "auth-provider", capScope: "system", addonId: null, access: "view" },
4762
+ "authProvider.handleCallback": { capName: "auth-provider", capScope: "system", addonId: null, access: "create" },
4763
+ "authProvider.validateCredentials": { capName: "auth-provider", capScope: "system", addonId: null, access: "create" },
4764
+ "authProvider.validateToken": { capName: "auth-provider", capScope: "system", addonId: null, access: "view" },
4765
+ "backup.delete": { capName: "backup", capScope: "system", addonId: null, access: "delete" },
4766
+ "backup.getEntries": { capName: "backup", capScope: "system", addonId: null, access: "view" },
4767
+ "backup.list": { capName: "backup", capScope: "system", addonId: null, access: "view" },
4768
+ "backup.listArchives": { capName: "backup", capScope: "system", addonId: null, access: "view" },
4769
+ "backup.listDestinations": { capName: "backup", capScope: "system", addonId: null, access: "view" },
4770
+ "backup.listLocations": { capName: "backup", capScope: "system", addonId: null, access: "view" },
4771
+ "backup.previewSchedule": { capName: "backup", capScope: "system", addonId: null, access: "view" },
4772
+ "backup.restore": { capName: "backup", capScope: "system", addonId: null, access: "create" },
4773
+ "backup.trigger": { capName: "backup", capScope: "system", addonId: null, access: "create" },
4774
+ "backup.upsertDestinationPolicy": { capName: "backup", capScope: "system", addonId: null, access: "create" },
4775
+ "brightness.setBrightness": { capName: "brightness", capScope: "device", addonId: null, access: "create" },
4776
+ "cameraCredentials.getCredentials": { capName: "camera-credentials", capScope: "device", addonId: null, access: "view" },
4777
+ "cameraStreams.getBrokerStreams": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
4778
+ "cameraStreams.getCameraStreams": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
4779
+ "cameraStreams.getRtspEntries": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
4780
+ "decoder.createSession": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
4781
+ "decoder.destroySession": { capName: "decoder", capScope: "system", addonId: null, access: "delete" },
4782
+ "decoder.getInfo": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
4783
+ "decoder.getStats": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
4784
+ "decoder.listActiveSessions": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
4785
+ "decoder.openStream": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
4786
+ "decoder.pullFrames": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
4787
+ "decoder.pushPacket": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
4788
+ "decoder.reprobeHwaccel": { capName: "decoder", capScope: "system", addonId: null, access: "create" },
4789
+ "decoder.supportsCodec": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
4790
+ "decoder.updateConfig": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
4791
+ "deviceDiscovery.adoptDevice": { capName: "device-discovery", capScope: "device", addonId: null, access: "create" },
4792
+ "deviceDiscovery.listDiscovered": { capName: "device-discovery", capScope: "device", addonId: null, access: "view" },
4793
+ "deviceDiscovery.refreshDiscovery": { capName: "device-discovery", capScope: "device", addonId: null, access: "create" },
4794
+ "deviceDiscovery.releaseDevice": { capName: "device-discovery", capScope: "device", addonId: null, access: "create" },
4795
+ "deviceExport.exposeDevice": { capName: "device-export", capScope: "system", addonId: null, access: "create" },
4796
+ "deviceExport.getStatus": { capName: "device-export", capScope: "system", addonId: null, access: "view" },
4797
+ "deviceExport.listExposedDevices": { capName: "device-export", capScope: "system", addonId: null, access: "view" },
4798
+ "deviceExport.listSupportedDeviceKinds": { capName: "device-export", capScope: "system", addonId: null, access: "view" },
4799
+ "deviceExport.unexposeDevice": { capName: "device-export", capScope: "system", addonId: null, access: "create" },
4800
+ "deviceManager.addLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4801
+ "deviceManager.adoptDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4802
+ "deviceManager.allocateDeviceId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4803
+ "deviceManager.createDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4804
+ "deviceManager.disable": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4805
+ "deviceManager.discoverDevices": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4806
+ "deviceManager.enable": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4807
+ "deviceManager.getAllBindings": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4808
+ "deviceManager.getBindings": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4809
+ "deviceManager.getChildren": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4810
+ "deviceManager.getConfigSchema": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4811
+ "deviceManager.getCreationSchema": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4812
+ "deviceManager.getDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4813
+ "deviceManager.getDeviceAggregate": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4814
+ "deviceManager.getDeviceLiveInfoAggregate": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4815
+ "deviceManager.getDeviceSettingsAggregate": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4816
+ "deviceManager.getDeviceStatusAggregate": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4817
+ "deviceManager.getSettingsSchema": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4818
+ "deviceManager.getStreamProfileMap": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4819
+ "deviceManager.getStreamSources": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4820
+ "deviceManager.listAll": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4821
+ "deviceManager.listBindableCapsForDeviceType": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4822
+ "deviceManager.listLocations": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4823
+ "deviceManager.listPersistedByAddon": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4824
+ "deviceManager.listWrappersForCap": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4825
+ "deviceManager.loadConfig": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4826
+ "deviceManager.loadMeta": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4827
+ "deviceManager.loadRuntimeState": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
4828
+ "deviceManager.persistConfig": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4829
+ "deviceManager.probeStreams": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4830
+ "deviceManager.registerDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4831
+ "deviceManager.remove": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
4832
+ "deviceManager.removeDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
4833
+ "deviceManager.removeLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
4834
+ "deviceManager.setDisabled": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4835
+ "deviceManager.setLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4836
+ "deviceManager.setMetadata": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4837
+ "deviceManager.setName": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4838
+ "deviceManager.setStreamProfileMap": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4839
+ "deviceManager.setWrapperActive": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4840
+ "deviceManager.testCreationField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4841
+ "deviceManager.testField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4842
+ "deviceManager.updateConfig": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4843
+ "deviceManager.updateDeviceField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4844
+ "deviceManager.updateDeviceFieldsBatch": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
4845
+ "deviceOps.getConfigEntries": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
4846
+ "deviceOps.getSettingsSchema": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
4847
+ "deviceOps.getStreamSources": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
4848
+ "deviceOps.removeDevice": { capName: "device-ops", capScope: "device", addonId: null, access: "delete" },
4849
+ "deviceOps.setConfig": { capName: "device-ops", capScope: "device", addonId: null, access: "create" },
4850
+ "deviceProvider.adoptDiscoveredDevice": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
4851
+ "deviceProvider.createDevice": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
4852
+ "deviceProvider.discoverDevices": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
4853
+ "deviceProvider.getChildCreationSchema": { capName: "device-provider", capScope: "system", addonId: null, access: "view" },
4854
+ "deviceProvider.getDevices": { capName: "device-provider", capScope: "system", addonId: null, access: "view" },
4855
+ "deviceProvider.getStatus": { capName: "device-provider", capScope: "system", addonId: null, access: "view" },
4856
+ "deviceProvider.start": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
4857
+ "deviceProvider.stop": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
4858
+ "deviceProvider.supportsDiscovery": { capName: "device-provider", capScope: "system", addonId: null, access: "view" },
4859
+ "deviceProvider.supportsManualCreation": { capName: "device-provider", capScope: "system", addonId: null, access: "view" },
4860
+ "deviceProvider.testCreationField": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
4861
+ "deviceState.getAllSnapshots": { capName: "device-state", capScope: "system", addonId: null, access: "view" },
4862
+ "deviceState.getCapSlice": { capName: "device-state", capScope: "system", addonId: null, access: "view" },
4863
+ "deviceState.getSnapshot": { capName: "device-state", capScope: "system", addonId: null, access: "view" },
4864
+ "deviceState.setCapSlice": { capName: "device-state", capScope: "system", addonId: null, access: "create" },
4865
+ "embeddingEncoder.encode": { capName: "embedding-encoder", capScope: "system", addonId: null, access: "view" },
4866
+ "embeddingEncoder.encodeText": { capName: "embedding-encoder", capScope: "system", addonId: null, access: "view" },
4867
+ "embeddingEncoder.getInfo": { capName: "embedding-encoder", capScope: "system", addonId: null, access: "view" },
4868
+ "events.getEventClipUrl": { capName: "events", capScope: "device", addonId: null, access: "view" },
4869
+ "events.getEvents": { capName: "events", capScope: "device", addonId: null, access: "view" },
4870
+ "events.getEventThumbnail": { capName: "events", capScope: "device", addonId: null, access: "view" },
4871
+ "integrations.create": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
4872
+ "integrations.delete": { capName: "integrations", capScope: "system", addonId: null, access: "delete" },
4873
+ "integrations.get": { capName: "integrations", capScope: "system", addonId: null, access: "view" },
4874
+ "integrations.getAvailableTypes": { capName: "integrations", capScope: "system", addonId: null, access: "view" },
4875
+ "integrations.getByAddonId": { capName: "integrations", capScope: "system", addonId: null, access: "view" },
4876
+ "integrations.getSettings": { capName: "integrations", capScope: "system", addonId: null, access: "view" },
4877
+ "integrations.list": { capName: "integrations", capScope: "system", addonId: null, access: "view" },
4878
+ "integrations.setSettings": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
4879
+ "integrations.testConnection": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
4880
+ "integrations.update": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
4881
+ "intercom.endTalkSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
4882
+ "intercom.handleAnswer": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
4883
+ "intercom.pushTalkPcm": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
4884
+ "intercom.startSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
4885
+ "intercom.startTalkSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
4886
+ "intercom.stopSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
4887
+ "localNetwork.getAllowedAddresses": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
4888
+ "localNetwork.getConnectionEndpoints": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
4889
+ "localNetwork.getPreferred": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
4890
+ "localNetwork.list": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
4891
+ "localNetwork.resetAllowlistToBestMatch": { capName: "local-network", capScope: "system", addonId: null, access: "delete" },
4892
+ "localNetwork.setAllowedAddresses": { capName: "local-network", capScope: "system", addonId: null, access: "create" },
4893
+ "logDestination.query": { capName: "log-destination", capScope: "system", addonId: null, access: "view" },
4894
+ "logDestination.write": { capName: "log-destination", capScope: "system", addonId: null, access: "create" },
4895
+ "meshNetwork.getStatus": { capName: "mesh-network", capScope: "system", addonId: null, access: "view" },
4896
+ "meshNetwork.join": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
4897
+ "meshNetwork.leave": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
4898
+ "meshNetwork.listPeers": { capName: "mesh-network", capScope: "system", addonId: null, access: "view" },
4899
+ "meshNetwork.startLogin": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
4900
+ "meshNetwork.testConnection": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
4901
+ "meshOrchestrator.joinProvider": { capName: "mesh-orchestrator", capScope: "system", addonId: null, access: "create" },
4902
+ "meshOrchestrator.leaveProvider": { capName: "mesh-orchestrator", capScope: "system", addonId: null, access: "create" },
4903
+ "meshOrchestrator.listProviders": { capName: "mesh-orchestrator", capScope: "system", addonId: null, access: "view" },
4904
+ "metricsProvider.collectSnapshot": { capName: "metrics-provider", capScope: "system", addonId: null, access: "view" },
4905
+ "metricsProvider.getAddonStats": { capName: "metrics-provider", capScope: "system", addonId: null, access: "view" },
4906
+ "metricsProvider.getCached": { capName: "metrics-provider", capScope: "system", addonId: null, access: "view" },
4907
+ "metricsProvider.getCpuTemperature": { capName: "metrics-provider", capScope: "system", addonId: null, access: "view" },
4908
+ "metricsProvider.getCurrent": { capName: "metrics-provider", capScope: "system", addonId: null, access: "view" },
4909
+ "metricsProvider.getDiskSpace": { capName: "metrics-provider", capScope: "system", addonId: null, access: "view" },
4910
+ "metricsProvider.getGpuInfo": { capName: "metrics-provider", capScope: "system", addonId: null, access: "view" },
4911
+ "metricsProvider.getProcessStats": { capName: "metrics-provider", capScope: "system", addonId: null, access: "view" },
4912
+ "metricsProvider.killProcess": { capName: "metrics-provider", capScope: "system", addonId: null, access: "create" },
4913
+ "metricsProvider.listAddonInstances": { capName: "metrics-provider", capScope: "system", addonId: null, access: "view" },
4914
+ "metricsProvider.listNodeProcesses": { capName: "metrics-provider", capScope: "system", addonId: null, access: "view" },
4915
+ "motion.isDetected": { capName: "motion", capScope: "device", addonId: null, access: "view" },
4916
+ "motionDetection.analyze": { capName: "motion-detection", capScope: "device", addonId: null, access: "create" },
4917
+ "motionDetection.removeCamera": { capName: "motion-detection", capScope: "device", addonId: null, access: "delete" },
4918
+ "motionDetection.reset": { capName: "motion-detection", capScope: "device", addonId: null, access: "delete" },
4919
+ "motionTrigger.setMotionTrigger": { capName: "motion-trigger", capScope: "device", addonId: null, access: "create" },
4920
+ "mqttBroker.addBroker": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "create" },
4921
+ "mqttBroker.getBrokerConfig": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "view" },
4922
+ "mqttBroker.getStatus": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "view" },
4923
+ "mqttBroker.listBrokers": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "view" },
4924
+ "mqttBroker.removeBroker": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "delete" },
4925
+ "mqttBroker.startEmbeddedBroker": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "create" },
4926
+ "mqttBroker.stopEmbeddedBroker": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "create" },
4927
+ "mqttBroker.testConnection": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "create" },
4928
+ "networkAccess.getEndpoint": { capName: "network-access", capScope: "system", addonId: null, access: "view" },
4929
+ "networkAccess.getStatus": { capName: "network-access", capScope: "system", addonId: null, access: "view" },
4930
+ "networkAccess.listEndpoints": { capName: "network-access", capScope: "system", addonId: null, access: "view" },
4931
+ "networkAccess.start": { capName: "network-access", capScope: "system", addonId: null, access: "create" },
4932
+ "networkAccess.stop": { capName: "network-access", capScope: "system", addonId: null, access: "create" },
4933
+ "networkQuality.getAllStats": { capName: "network-quality", capScope: "system", addonId: null, access: "view" },
4934
+ "networkQuality.getDeviceStats": { capName: "network-quality", capScope: "system", addonId: null, access: "view" },
4935
+ "networkQuality.reportClientStats": { capName: "network-quality", capScope: "system", addonId: null, access: "create" },
4936
+ "nodes.clusterAddonStatus": { capName: "nodes", capScope: "system", addonId: null, access: "view" },
4937
+ "nodes.deployAddon": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
4938
+ "nodes.executeQuery": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
4939
+ "nodes.renameNode": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
4940
+ "nodes.restartAddon": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
4941
+ "nodes.restartNode": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
4942
+ "nodes.restartProcess": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
4943
+ "nodes.setProcessLogLevel": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
4944
+ "nodes.shutdownNode": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
4945
+ "nodes.topology": { capName: "nodes", capScope: "system", addonId: null, access: "view" },
4946
+ "nodes.undeployAddon": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
4947
+ "notificationOutput.send": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
4948
+ "notificationOutput.sendTest": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
4949
+ "osd.setOverlay": { capName: "osd", capScope: "device", addonId: null, access: "create" },
4950
+ "pipelineAnalytics.clearTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "delete" },
4951
+ "pipelineAnalytics.getActiveTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
4952
+ "pipelineAnalytics.getAudioEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
4953
+ "pipelineAnalytics.getEventMedia": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
4954
+ "pipelineAnalytics.getMotionEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
4955
+ "pipelineAnalytics.getObjectEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
4956
+ "pipelineAnalytics.getTrack": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
4957
+ "pipelineAnalytics.getTrackMedia": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
4958
+ "pipelineAnalytics.listTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
4959
+ "pipelineExecutor.cacheFrameInPool": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4960
+ "pipelineExecutor.deleteModel": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "delete" },
4961
+ "pipelineExecutor.deleteTemplate": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "delete" },
4962
+ "pipelineExecutor.detect": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4963
+ "pipelineExecutor.downloadModel": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4964
+ "pipelineExecutor.getAddonModels": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4965
+ "pipelineExecutor.getAudioCapabilities": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4966
+ "pipelineExecutor.getAvailableEngines": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4967
+ "pipelineExecutor.getCapabilities": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4968
+ "pipelineExecutor.getDefaultSteps": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4969
+ "pipelineExecutor.getDetectionConfigSchema": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4970
+ "pipelineExecutor.getEffectiveTuning": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4971
+ "pipelineExecutor.getGlobalPipelineConfig": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4972
+ "pipelineExecutor.getGlobalSteps": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4973
+ "pipelineExecutor.getOrchestratorConfigSchema": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4974
+ "pipelineExecutor.getReferenceAudio": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4975
+ "pipelineExecutor.getReferenceAudioFiles": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4976
+ "pipelineExecutor.getReferenceImage": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4977
+ "pipelineExecutor.getSchema": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4978
+ "pipelineExecutor.getSelectedEngine": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4979
+ "pipelineExecutor.getVideoPipelineSteps": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4980
+ "pipelineExecutor.inferCached": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4981
+ "pipelineExecutor.killEngine": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4982
+ "pipelineExecutor.listLoadedEngines": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4983
+ "pipelineExecutor.listReferenceImages": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4984
+ "pipelineExecutor.listTemplates": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "view" },
4985
+ "pipelineExecutor.reprobeEngine": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4986
+ "pipelineExecutor.runAudioTest": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4987
+ "pipelineExecutor.runPipeline": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4988
+ "pipelineExecutor.runPipelineBatch": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4989
+ "pipelineExecutor.saveTemplate": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4990
+ "pipelineExecutor.setVideoPipelineSteps": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4991
+ "pipelineExecutor.spinEngine": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4992
+ "pipelineExecutor.uncacheFrame": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4993
+ "pipelineExecutor.updateTemplate": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
4994
+ "pipelineOrchestrator.assignAudio": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
4995
+ "pipelineOrchestrator.assignDecoder": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
4996
+ "pipelineOrchestrator.assignPipeline": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
4997
+ "pipelineOrchestrator.deleteTemplate": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "delete" },
4998
+ "pipelineOrchestrator.getAgentLoad": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
4999
+ "pipelineOrchestrator.getAgentSettings": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5000
+ "pipelineOrchestrator.getAudioAssignment": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5001
+ "pipelineOrchestrator.getAudioAssignments": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5002
+ "pipelineOrchestrator.getAudioNodeLoad": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5003
+ "pipelineOrchestrator.getCameraMetrics": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5004
+ "pipelineOrchestrator.getCameraSettings": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5005
+ "pipelineOrchestrator.getCameraStepOverrides": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5006
+ "pipelineOrchestrator.getCapabilityBindings": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5007
+ "pipelineOrchestrator.getDecoderAssignment": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5008
+ "pipelineOrchestrator.getDecoderAssignments": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5009
+ "pipelineOrchestrator.getGlobalMetrics": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5010
+ "pipelineOrchestrator.getPipelineAssignment": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5011
+ "pipelineOrchestrator.getPipelineAssignments": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5012
+ "pipelineOrchestrator.listAgentSettings": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5013
+ "pipelineOrchestrator.listTemplates": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5014
+ "pipelineOrchestrator.rebalance": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
5015
+ "pipelineOrchestrator.removeAgentSettings": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "delete" },
5016
+ "pipelineOrchestrator.resolvePipeline": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "view" },
5017
+ "pipelineOrchestrator.saveTemplate": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
5018
+ "pipelineOrchestrator.setAgentAddonDefaults": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
5019
+ "pipelineOrchestrator.setCameraPipelineForAgent": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
5020
+ "pipelineOrchestrator.setCameraStepOverride": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
5021
+ "pipelineOrchestrator.setCameraStepToggle": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
5022
+ "pipelineOrchestrator.setCapabilityBinding": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
5023
+ "pipelineOrchestrator.unassignAudio": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
5024
+ "pipelineOrchestrator.unassignDecoder": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
5025
+ "pipelineOrchestrator.unassignPipeline": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
5026
+ "pipelineOrchestrator.updateTemplate": { capName: "pipeline-orchestrator", capScope: "system", addonId: null, access: "create" },
5027
+ "pipelineRunner.attachCamera": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "create" },
5028
+ "pipelineRunner.detachCamera": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "create" },
5029
+ "pipelineRunner.getAllCameraMetrics": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "view" },
5030
+ "pipelineRunner.getCameraMetrics": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "view" },
5031
+ "pipelineRunner.getLocalCameras": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "view" },
5032
+ "pipelineRunner.getLocalLoad": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "view" },
5033
+ "pipelineRunner.getLocalMetrics": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "view" },
5034
+ "pipelineRunner.reportMotion": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "create" },
5035
+ "platformProbe.getCapabilities": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
5036
+ "platformProbe.getHardware": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
5037
+ "platformProbe.getHardwareEncoders": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
5038
+ "platformProbe.refreshHardwareEncoders": { capName: "platform-probe", capScope: "system", addonId: null, access: "create" },
5039
+ "platformProbe.resolveHwAccel": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
5040
+ "platformProbe.resolveInferenceConfig": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
5041
+ "ptz.continuousMove": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
5042
+ "ptz.getPosition": { capName: "ptz", capScope: "device", addonId: null, access: "view" },
5043
+ "ptz.getPresets": { capName: "ptz", capScope: "device", addonId: null, access: "view" },
5044
+ "ptz.goHome": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
5045
+ "ptz.goToPreset": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
5046
+ "ptz.move": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
5047
+ "ptz.stop": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
5048
+ "ptzAutotrack.getSettings": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "view" },
5049
+ "ptzAutotrack.getStatus": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "view" },
5050
+ "ptzAutotrack.setEnabled": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "create" },
5051
+ "ptzAutotrack.setSettings": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "create" },
5052
+ "reboot.reboot": { capName: "reboot", capScope: "device", addonId: null, access: "create" },
5053
+ "recording.getPlaybackUrl": { capName: "recording", capScope: "device", addonId: null, access: "view" },
5054
+ "recording.getSegments": { capName: "recording", capScope: "device", addonId: null, access: "view" },
5055
+ "recording.getThumbnailAt": { capName: "recording", capScope: "device", addonId: null, access: "view" },
5056
+ "recordingEngine.disable": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5057
+ "recordingEngine.enable": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5058
+ "recordingEngine.estimateGlobalStorage": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5059
+ "recordingEngine.estimateStorage": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5060
+ "recordingEngine.getAvailability": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5061
+ "recordingEngine.getConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5062
+ "recordingEngine.getMotionStats": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5063
+ "recordingEngine.getPlaylist": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5064
+ "recordingEngine.getPolicy": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5065
+ "recordingEngine.getPolicyStatus": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5066
+ "recordingEngine.getRetentionConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5067
+ "recordingEngine.getSegments": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5068
+ "recordingEngine.getStatus": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5069
+ "recordingEngine.getStorageUsage": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5070
+ "recordingEngine.getThumbnail": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5071
+ "recordingEngine.setPolicy": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5072
+ "recordingEngine.updateConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5073
+ "recordingEngine.updateRetentionConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5074
+ "remoteAccess.listProviders": { capName: "remote-access", capScope: "system", addonId: null, access: "view" },
5075
+ "remoteAccess.startProvider": { capName: "remote-access", capScope: "system", addonId: null, access: "create" },
5076
+ "remoteAccess.stopProvider": { capName: "remote-access", capScope: "system", addonId: null, access: "create" },
5077
+ "restreamer.getExposedResources": { capName: "restreamer", capScope: "system", addonId: null, access: "view" },
5078
+ "restreamer.registerDevice": { capName: "restreamer", capScope: "system", addonId: null, access: "create" },
5079
+ "restreamer.unregisterDevice": { capName: "restreamer", capScope: "system", addonId: null, access: "delete" },
5080
+ "settingsStore.count": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
5081
+ "settingsStore.declareCollection": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
5082
+ "settingsStore.delete": { capName: "settings-store", capScope: "system", addonId: null, access: "delete" },
5083
+ "settingsStore.get": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
5084
+ "settingsStore.insert": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
5085
+ "settingsStore.isEmpty": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
5086
+ "settingsStore.query": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
5087
+ "settingsStore.set": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
5088
+ "settingsStore.update": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
5089
+ "smtpProvider.getStatus": { capName: "smtp-provider", capScope: "system", addonId: null, access: "view" },
5090
+ "smtpProvider.sendEmail": { capName: "smtp-provider", capScope: "system", addonId: null, access: "create" },
5091
+ "smtpProvider.verify": { capName: "smtp-provider", capScope: "system", addonId: null, access: "view" },
5092
+ "snapshot.getSnapshot": { capName: "snapshot", capScope: "device", addonId: null, access: "view" },
5093
+ "snapshot.invalidateCache": { capName: "snapshot", capScope: "device", addonId: null, access: "create" },
5094
+ "snapshotProvider.getSnapshot": { capName: "snapshot-provider", capScope: "system", addonId: null, access: "view" },
5095
+ "snapshotProvider.supportsDevice": { capName: "snapshot-provider", capScope: "system", addonId: null, access: "view" },
5096
+ "ssoBridge.signBridgeToken": { capName: "sso-bridge", capScope: "system", addonId: null, access: "view" },
5097
+ "ssoBridge.verifyBridgeToken": { capName: "sso-bridge", capScope: "system", addonId: null, access: "view" },
5098
+ "storage.abortUpload": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5099
+ "storage.beginDownload": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5100
+ "storage.beginUpload": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5101
+ "storage.delete": { capName: "storage", capScope: "system", addonId: null, access: "delete" },
5102
+ "storage.deleteLocation": { capName: "storage", capScope: "system", addonId: null, access: "delete" },
5103
+ "storage.endDownload": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5104
+ "storage.exists": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5105
+ "storage.finalizeUpload": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5106
+ "storage.getAvailableSpace": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5107
+ "storage.getDefaultLocation": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5108
+ "storage.list": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5109
+ "storage.listLocations": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5110
+ "storage.listProviders": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5111
+ "storage.read": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5112
+ "storage.readChunk": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5113
+ "storage.resolve": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5114
+ "storage.testConfig": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5115
+ "storage.testLocation": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5116
+ "storage.upsertLocation": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5117
+ "storage.write": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5118
+ "storage.writeChunk": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5119
+ "storageProvider.abortUpload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
5120
+ "storageProvider.beginDownload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
5121
+ "storageProvider.beginUpload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
5122
+ "storageProvider.delete": { capName: "storage-provider", capScope: "system", addonId: null, access: "delete" },
5123
+ "storageProvider.endDownload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
5124
+ "storageProvider.exists": { capName: "storage-provider", capScope: "system", addonId: null, access: "view" },
5125
+ "storageProvider.finalizeUpload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
5126
+ "storageProvider.getAvailableSpace": { capName: "storage-provider", capScope: "system", addonId: null, access: "view" },
5127
+ "storageProvider.getProviderInfo": { capName: "storage-provider", capScope: "system", addonId: null, access: "view" },
5128
+ "storageProvider.list": { capName: "storage-provider", capScope: "system", addonId: null, access: "view" },
5129
+ "storageProvider.read": { capName: "storage-provider", capScope: "system", addonId: null, access: "view" },
5130
+ "storageProvider.readChunk": { capName: "storage-provider", capScope: "system", addonId: null, access: "view" },
5131
+ "storageProvider.resolve": { capName: "storage-provider", capScope: "system", addonId: null, access: "view" },
5132
+ "storageProvider.testLocation": { capName: "storage-provider", capScope: "system", addonId: null, access: "view" },
5133
+ "storageProvider.write": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
5134
+ "storageProvider.writeChunk": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
5135
+ "streamBroker.assignProfile": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5136
+ "streamBroker.getAllRtspEntries": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5137
+ "streamBroker.getBroker": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5138
+ "streamBroker.getBrokerStats": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5139
+ "streamBroker.getPreBufferInfo": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5140
+ "streamBroker.getRtspEntry": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5141
+ "streamBroker.getRtspPort": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5142
+ "streamBroker.getStreamUrl": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5143
+ "streamBroker.getStreamWithCodec": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5144
+ "streamBroker.isRtspEnabled": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5145
+ "streamBroker.killClient": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5146
+ "streamBroker.listAllCameraStreams": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5147
+ "streamBroker.listAllProfileSlots": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5148
+ "streamBroker.listClients": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5149
+ "streamBroker.publishCameraStream": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5150
+ "streamBroker.regenerateRtspToken": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5151
+ "streamBroker.releaseStreamWithCodec": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5152
+ "streamBroker.restartProfile": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5153
+ "streamBroker.retractCameraStream": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5154
+ "streamBroker.setPreBufferDuration": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5155
+ "streamBroker.setRtspEnabled": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5156
+ "streamBroker.unassignProfile": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5157
+ "streamingEngine.getStreamUrl": { capName: "streaming-engine", capScope: "system", addonId: null, access: "view" },
5158
+ "streamingEngine.listStreams": { capName: "streaming-engine", capScope: "system", addonId: null, access: "view" },
5159
+ "streamingEngine.registerStream": { capName: "streaming-engine", capScope: "system", addonId: null, access: "create" },
5160
+ "streamingEngine.unregisterStream": { capName: "streaming-engine", capScope: "system", addonId: null, access: "delete" },
5161
+ "switch.setState": { capName: "switch", capScope: "device", addonId: null, access: "create" },
5162
+ "system.featureFlags": { capName: "system", capScope: "system", addonId: null, access: "view" },
5163
+ "system.forceRetentionCleanup": { capName: "system", capScope: "system", addonId: null, access: "create" },
5164
+ "system.getRetentionConfig": { capName: "system", capScope: "system", addonId: null, access: "view" },
5165
+ "system.health": { capName: "system", capScope: "system", addonId: null, access: "view" },
5166
+ "system.info": { capName: "system", capScope: "system", addonId: null, access: "view" },
5167
+ "system.networkAddresses": { capName: "system", capScope: "system", addonId: null, access: "view" },
5168
+ "system.setRetentionConfig": { capName: "system", capScope: "system", addonId: null, access: "create" },
5169
+ "toast.onToast": { capName: "toast", capScope: "system", addonId: null, access: "view" },
5170
+ "turnOrchestrator.getAllServers": { capName: "turn-orchestrator", capScope: "system", addonId: null, access: "view" },
5171
+ "turnOrchestrator.listProviders": { capName: "turn-orchestrator", capScope: "system", addonId: null, access: "view" },
5172
+ "turnOrchestrator.setProviderEnabled": { capName: "turn-orchestrator", capScope: "system", addonId: null, access: "create" },
5173
+ "turnProvider.getTurnServers": { capName: "turn-provider", capScope: "system", addonId: null, access: "view" },
5174
+ "userManagement.confirmTotp": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5175
+ "userManagement.createApiKey": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5176
+ "userManagement.createScopedToken": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5177
+ "userManagement.createUser": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5178
+ "userManagement.deleteUser": { capName: "user-management", capScope: "system", addonId: null, access: "delete" },
5179
+ "userManagement.disableTotp": { capName: "user-management", capScope: "system", addonId: null, access: "delete" },
5180
+ "userManagement.getTotpStatus": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
5181
+ "userManagement.listApiKeys": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
5182
+ "userManagement.listScopedTokens": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
5183
+ "userManagement.listUsers": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
5184
+ "userManagement.resetPassword": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5185
+ "userManagement.revokeApiKey": { capName: "user-management", capScope: "system", addonId: null, access: "delete" },
5186
+ "userManagement.revokeScopedToken": { capName: "user-management", capScope: "system", addonId: null, access: "delete" },
5187
+ "userManagement.setupTotp": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5188
+ "userManagement.setUserScopes": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5189
+ "userManagement.updateUser": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5190
+ "userManagement.validateApiKey": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
5191
+ "userManagement.validateCredentials": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
5192
+ "userManagement.validateScopedToken": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
5193
+ "userManagement.verifyTotp": { capName: "user-management", capScope: "system", addonId: null, access: "view" },
5194
+ "userPasskeys.beginAuthentication": { capName: "user-passkeys", capScope: "system", addonId: null, access: "view" },
5195
+ "userPasskeys.beginRegistration": { capName: "user-passkeys", capScope: "system", addonId: null, access: "create" },
5196
+ "userPasskeys.finishAuthentication": { capName: "user-passkeys", capScope: "system", addonId: null, access: "view" },
5197
+ "userPasskeys.finishRegistration": { capName: "user-passkeys", capScope: "system", addonId: null, access: "create" },
5198
+ "userPasskeys.listPasskeys": { capName: "user-passkeys", capScope: "system", addonId: null, access: "view" },
5199
+ "userPasskeys.removePasskey": { capName: "user-passkeys", capScope: "system", addonId: null, access: "delete" },
5200
+ "webrtc.closeSession": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
5201
+ "webrtc.createSession": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
5202
+ "webrtc.handleAnswer": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
5203
+ "webrtc.handleOffer": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
5204
+ "webrtc.hasAdaptiveBitrate": { capName: "webrtc", capScope: "system", addonId: null, access: "view" },
5205
+ "webrtc.registerStream": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
5206
+ "webrtc.supportsStream": { capName: "webrtc", capScope: "system", addonId: null, access: "view" },
5207
+ "webrtc.unregisterStream": { capName: "webrtc", capScope: "system", addonId: null, access: "delete" },
5208
+ "webrtcSession.closeSession": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5209
+ "webrtcSession.createSession": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5210
+ "webrtcSession.handleAnswer": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5211
+ "webrtcSession.handleOffer": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5212
+ "webrtcSession.hasAdaptiveBitrate": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
5213
+ "webrtcSession.listStreams": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
5214
+ "zoneAnalytics.getCameraHistory": { capName: "zone-analytics", capScope: "device", addonId: null, access: "view" },
5215
+ "zoneAnalytics.getCurrentSnapshot": { capName: "zone-analytics", capScope: "device", addonId: null, access: "view" },
5216
+ "zoneAnalytics.getUnzonedHistory": { capName: "zone-analytics", capScope: "device", addonId: null, access: "view" },
5217
+ "zoneAnalytics.getZoneHistory": { capName: "zone-analytics", capScope: "device", addonId: null, access: "view" },
5218
+ "zoneRules.listRules": { capName: "zone-rules", capScope: "device", addonId: null, access: "view" },
5219
+ "zoneRules.setRules": { capName: "zone-rules", capScope: "device", addonId: null, access: "create" },
5220
+ "zones.addZone": { capName: "zones", capScope: "device", addonId: null, access: "create" },
5221
+ "zones.listZones": { capName: "zones", capScope: "device", addonId: null, access: "view" },
5222
+ "zones.removeZone": { capName: "zones", capScope: "device", addonId: null, access: "delete" },
5223
+ "zones.updateZone": { capName: "zones", capScope: "device", addonId: null, access: "create" }
5044
5224
  });
5045
5225
  const KNOWN_CAP_NAMES = [
5046
5226
  "addon-pages",
@@ -5065,6 +5245,7 @@ const KNOWN_CAP_NAMES = [
5065
5245
  "camera-streams",
5066
5246
  "decoder",
5067
5247
  "device-discovery",
5248
+ "device-export",
5068
5249
  "device-manager",
5069
5250
  "device-ops",
5070
5251
  "device-provider",
@@ -5081,6 +5262,7 @@ const KNOWN_CAP_NAMES = [
5081
5262
  "motion",
5082
5263
  "motion-detection",
5083
5264
  "motion-trigger",
5265
+ "mqtt-broker",
5084
5266
  "network-access",
5085
5267
  "network-quality",
5086
5268
  "nodes",
@@ -5099,8 +5281,10 @@ const KNOWN_CAP_NAMES = [
5099
5281
  "remote-access",
5100
5282
  "restreamer",
5101
5283
  "settings-store",
5284
+ "smtp-provider",
5102
5285
  "snapshot",
5103
5286
  "snapshot-provider",
5287
+ "sso-bridge",
5104
5288
  "storage",
5105
5289
  "storage-provider",
5106
5290
  "stream-broker",
@@ -5111,12 +5295,152 @@ const KNOWN_CAP_NAMES = [
5111
5295
  "turn-orchestrator",
5112
5296
  "turn-provider",
5113
5297
  "user-management",
5298
+ "user-passkeys",
5114
5299
  "webrtc",
5115
5300
  "webrtc-session",
5116
5301
  "zone-analytics",
5117
5302
  "zone-rules",
5118
5303
  "zones"
5119
5304
  ];
5305
+ const DEVICE_CAP_NAMES = [
5306
+ "audio-analysis",
5307
+ "audio-metrics",
5308
+ "brightness",
5309
+ "camera-credentials",
5310
+ "camera-streams",
5311
+ "device-discovery",
5312
+ "device-ops",
5313
+ "events",
5314
+ "intercom",
5315
+ "motion",
5316
+ "motion-detection",
5317
+ "motion-trigger",
5318
+ "osd",
5319
+ "pipeline-analytics",
5320
+ "ptz",
5321
+ "ptz-autotrack",
5322
+ "reboot",
5323
+ "recording",
5324
+ "snapshot",
5325
+ "switch",
5326
+ "webrtc-session",
5327
+ "zone-analytics",
5328
+ "zone-rules",
5329
+ "zones"
5330
+ ];
5331
+ const SYSTEM_CAP_NAMES = [
5332
+ "addon-pages",
5333
+ "addon-pages-source",
5334
+ "addon-routes",
5335
+ "addon-settings",
5336
+ "addon-widgets",
5337
+ "addon-widgets-source",
5338
+ "addons",
5339
+ "admin-ui",
5340
+ "advanced-notifier",
5341
+ "alerts",
5342
+ "audio-analyzer",
5343
+ "audio-codec",
5344
+ "auth-provider",
5345
+ "authentication",
5346
+ "backup",
5347
+ "decoder",
5348
+ "device-export",
5349
+ "device-manager",
5350
+ "device-provider",
5351
+ "device-state",
5352
+ "embedding-encoder",
5353
+ "integrations",
5354
+ "local-network",
5355
+ "log-destination",
5356
+ "mesh-network",
5357
+ "mesh-orchestrator",
5358
+ "metrics-provider",
5359
+ "mqtt-broker",
5360
+ "network-access",
5361
+ "network-quality",
5362
+ "nodes",
5363
+ "notification-output",
5364
+ "pipeline-executor",
5365
+ "pipeline-orchestrator",
5366
+ "pipeline-runner",
5367
+ "platform-probe",
5368
+ "recording-engine",
5369
+ "remote-access",
5370
+ "restreamer",
5371
+ "settings-store",
5372
+ "smtp-provider",
5373
+ "snapshot-provider",
5374
+ "sso-bridge",
5375
+ "storage",
5376
+ "storage-provider",
5377
+ "stream-broker",
5378
+ "streaming-engine",
5379
+ "system",
5380
+ "toast",
5381
+ "turn-orchestrator",
5382
+ "turn-provider",
5383
+ "user-management",
5384
+ "user-passkeys",
5385
+ "webrtc"
5386
+ ];
5387
+ const SCOPE_PRESETS = [
5388
+ {
5389
+ id: "camera-viewer",
5390
+ label: "Camera viewer",
5391
+ description: "Read-only over every device — live streams, recordings, motion events, battery state. Combine with `allowedDevices` to restrict to specific cameras.",
5392
+ rows: [
5393
+ { type: "category", target: "device", access: ["view"] }
5394
+ ]
5395
+ },
5396
+ {
5397
+ id: "camera-operator",
5398
+ label: "Camera operator",
5399
+ description: "Everything `camera-viewer` does plus PTZ control, intercom, snapshots and recording start/stop. Cannot delete devices or recordings.",
5400
+ rows: [
5401
+ { type: "category", target: "device", access: ["view", "create"] }
5402
+ ]
5403
+ },
5404
+ {
5405
+ id: "cli-deployer",
5406
+ label: "CLI deployer",
5407
+ description: "Push addons to the hub and tail their logs. Used by the `camstack` CLI on dev machines. No delete access — a stolen token cannot uninstall.",
5408
+ rows: [
5409
+ { type: "capability", target: "addons", access: ["view", "create"] }
5410
+ ]
5411
+ },
5412
+ {
5413
+ id: "event-listener",
5414
+ label: "Event listener",
5415
+ description: "Subscribe to motion / audio events. Used by webhook bridges and Home Assistant integrations.",
5416
+ rows: [
5417
+ { type: "capability", target: "events", access: ["view"] },
5418
+ { type: "capability", target: "motion-detection", access: ["view"] },
5419
+ { type: "capability", target: "audio-analysis", access: ["view"] }
5420
+ ]
5421
+ }
5422
+ ];
5423
+ const CAP_PROVIDER_KIND_MAP = Object.freeze({
5424
+ "device-export": "device-export",
5425
+ "mesh-network": "mesh",
5426
+ "mqtt-broker": "broker",
5427
+ "network-access": "ingress",
5428
+ "smtp-provider": "email"
5429
+ });
5430
+ const PROVIDER_KIND_CAP_NAMES = [
5431
+ "device-export",
5432
+ "mesh-network",
5433
+ "mqtt-broker",
5434
+ "network-access",
5435
+ "smtp-provider"
5436
+ ];
5437
+ function getCapsByProviderKind(kind) {
5438
+ const out = [];
5439
+ for (const [capName, capKind] of Object.entries(CAP_PROVIDER_KIND_MAP)) {
5440
+ if (capKind === kind) out.push(capName);
5441
+ }
5442
+ return out;
5443
+ }
5120
5444
  function maskUrlCredentials(rawUrl) {
5121
5445
  try {
5122
5446
  const u = new URL(rawUrl);
@@ -5177,6 +5501,7 @@ exports.AUDIO_BACKEND_CHOICES = index.AUDIO_BACKEND_CHOICES;
5177
5501
  exports.AUDIO_MACRO_LABELS = index.AUDIO_MACRO_LABELS;
5178
5502
  exports.AccessoriesStatusSchema = index.AccessoriesStatusSchema;
5179
5503
  exports.AccessoryKind = index.AccessoryKind;
5504
+ exports.AddBrokerInputSchema = index.AddBrokerInputSchema;
5180
5505
  exports.AddonAutoUpdateSchema = index.AddonAutoUpdateSchema;
5181
5506
  exports.AddonListItemSchema = index.AddonListItemSchema;
5182
5507
  exports.AddonPageDeclarationSchema = index.AddonPageDeclarationSchema;
@@ -5218,7 +5543,9 @@ exports.BoundingBoxSchema = index.BoundingBoxSchema;
5218
5543
  exports.BrightnessStatusSchema = index.BrightnessStatusSchema;
5219
5544
  exports.BrokerAudioClientSchema = index.BrokerAudioClientSchema;
5220
5545
  exports.BrokerClientsSchema = index.BrokerClientsSchema;
5546
+ exports.BrokerConnectionDetailsSchema = index.BrokerConnectionDetailsSchema;
5221
5547
  exports.BrokerDecodedClientSchema = index.BrokerDecodedClientSchema;
5548
+ exports.BrokerInfoSchema = index.BrokerInfoSchema;
5222
5549
  exports.BrokerRtspClientSchema = index.BrokerRtspClientSchema;
5223
5550
  exports.BrokerStatsSchema = index.BrokerStatsSchema;
5224
5551
  exports.BrokerStatusSchema = index.BrokerStatusSchema;
@@ -5231,6 +5558,7 @@ exports.CameraCredentialsStatusSchema = index.CameraCredentialsStatusSchema;
5231
5558
  exports.CameraMetricsSchema = index.CameraMetricsSchema;
5232
5559
  exports.CameraMetricsWithDeviceIdSchema = index.CameraMetricsWithDeviceIdSchema;
5233
5560
  exports.CameraStreamSchema = index.CameraStreamSchema;
5561
+ exports.CapScopeSchema = index.CapScopeSchema;
5234
5562
  exports.CapabilityBindingsSchema = index.CapabilityBindingsSchema;
5235
5563
  exports.ChargingStatus = index.ChargingStatus;
5236
5564
  exports.ClientNetworkStatsSchema = index.ClientNetworkStatsSchema;
@@ -5260,6 +5588,9 @@ exports.DecoderStatsSchema = index.DecoderStatsSchema;
5260
5588
  exports.DeleteIntegrationResultSchema = index.DeleteIntegrationResultSchema;
5261
5589
  exports.DetectorOutputSchema = index.DetectorOutputSchema;
5262
5590
  exports.DeviceDiscoveryStatusSchema = index.DeviceDiscoveryStatusSchema;
5591
+ exports.DeviceExportExposeInputSchema = index.ExposeInputSchema;
5592
+ exports.DeviceExportStatusSchema = index.DeviceExportStatusSchema;
5593
+ exports.DeviceExportUnexposeInputSchema = index.UnexposeInputSchema;
5263
5594
  exports.DeviceFeature = index.DeviceFeature;
5264
5595
  exports.DeviceInfoSchema = index.DeviceInfoSchema;
5265
5596
  exports.DeviceNetworkStatsSchema = index.DeviceNetworkStatsSchema;
@@ -5277,10 +5608,12 @@ exports.EncodedPacketSchema = index.EncodedPacketSchema;
5277
5608
  exports.EnrichedWidgetMetadataSchema = index.EnrichedWidgetMetadataSchema;
5278
5609
  exports.EventItemSchema = index.EventItemSchema;
5279
5610
  exports.EventKindSchema = index.EventKindSchema;
5611
+ exports.ExposedDeviceSchema = index.ExposedDeviceSchema;
5280
5612
  exports.ExposedResourceSchema = index.ExposedResourceSchema;
5281
5613
  exports.FeatureManifestSchema = index.FeatureManifestSchema;
5282
5614
  exports.FeatureProbeStatusSchema = index.FeatureProbeStatusSchema;
5283
5615
  exports.FrameInputSchema = index.FrameInputSchema;
5616
+ exports.GetStreamWithCodecInputSchema = index.GetStreamWithCodecInputSchema;
5284
5617
  exports.GlobalMetricsSchema = index.GlobalMetricsSchema;
5285
5618
  exports.HWACCEL_OPTIONS = index.HWACCEL_OPTIONS;
5286
5619
  exports.HealthStatusSchema = index.HealthStatusSchema;
@@ -5307,6 +5640,7 @@ exports.MotionSourcesSchema = index.MotionSourcesSchema;
5307
5640
  exports.MotionStatusSchema = index.MotionStatusSchema;
5308
5641
  exports.MotionTriggerRuntimeStateSchema = index.MotionTriggerRuntimeStateSchema;
5309
5642
  exports.MotionTriggerStatusSchema = index.MotionTriggerStatusSchema;
5643
+ exports.MqttBrokerStatusSchema = index.StatusSchema;
5310
5644
  exports.NativeDetectionSchema = index.NativeDetectionSchema;
5311
5645
  exports.NativeObjectClassEnum = index.NativeObjectClassEnum;
5312
5646
  exports.NativeObjectDetectionStatusSchema = index.NativeObjectDetectionStatusSchema;
@@ -5327,6 +5661,7 @@ exports.PIPELINE_FLOW_CAPABILITY_NAMES = index.PIPELINE_FLOW_CAPABILITY_NAMES;
5327
5661
  exports.PIPELINE_OWNER_CAPABILITY_NAMES = index.PIPELINE_OWNER_CAPABILITY_NAMES;
5328
5662
  exports.PackageUpdateSchema = index.PackageUpdateSchema;
5329
5663
  exports.PackageVersionInfoSchema = index.PackageVersionInfoSchema;
5664
+ exports.PasskeySummarySchema = index.PasskeySummarySchema;
5330
5665
  exports.PcmSampleFormatSchema = index.PcmSampleFormatSchema;
5331
5666
  exports.PerScopeBreakdownSchema = index.PerScopeBreakdownSchema;
5332
5667
  exports.PipelineAssignmentSchema = index.PipelineAssignmentSchema;
@@ -5351,6 +5686,7 @@ exports.RegisteredStreamSchema = index.RegisteredStreamSchema;
5351
5686
  exports.RemoteAccessEndpointSchema = index.RemoteAccessEndpointSchema;
5352
5687
  exports.RemoteAccessProviderInfoSchema = index.RemoteAccessProviderInfoSchema;
5353
5688
  exports.ReportMotionInputSchema = index.ReportMotionInputSchema;
5689
+ exports.RtpSourceSchema = index.RtpSourceSchema;
5354
5690
  exports.RtspRestreamEntrySchema = index.RtspRestreamEntrySchema;
5355
5691
  exports.RunnerCameraConfigSchema = index.RunnerCameraConfigSchema;
5356
5692
  exports.RunnerCameraDeviceUIFields = index.RunnerCameraDeviceUIFields;
@@ -5361,12 +5697,17 @@ exports.ScopedTokenSchema = index.ScopedTokenSchema;
5361
5697
  exports.ScopedTokenSummarySchema = index.ScopedTokenSummarySchema;
5362
5698
  exports.SearchResultSchema = index.SearchResultSchema;
5363
5699
  exports.SegmentSchema = index.SegmentSchema;
5700
+ exports.SendEmailInputSchema = index.SendEmailInputSchema;
5701
+ exports.SendEmailResultSchema = index.SendEmailResultSchema;
5364
5702
  exports.SettingsPatchSchema = index.SettingsPatchSchema;
5365
5703
  exports.SettingsRecordSchema = index.SettingsRecordSchema;
5366
5704
  exports.SettingsSchemaWithValuesSchema = index.SettingsSchemaWithValuesSchema;
5367
5705
  exports.SettingsUpdateResultSchema = index.SettingsUpdateResultSchema;
5706
+ exports.SmtpStatusSchema = index.SmtpStatusSchema;
5368
5707
  exports.SnapshotImageSchema = index.SnapshotImageSchema;
5369
5708
  exports.SpatialDetectionSchema = index.SpatialDetectionSchema;
5709
+ exports.SsoBridgeClaimsSchema = index.SsoBridgeClaimsSchema;
5710
+ exports.StartEmbeddedInputSchema = index.StartEmbeddedInputSchema;
5370
5711
  exports.StorageAbortUploadInputSchema = index.AbortUploadInputSchema;
5371
5712
  exports.StorageBeginDownloadInputSchema = index.BeginDownloadInputSchema;
5372
5713
  exports.StorageBeginDownloadResultSchema = index.BeginDownloadResultSchema;
@@ -5402,7 +5743,6 @@ exports.TurnServerSchema = index.TurnServerSchema;
5402
5743
  exports.UpdateIntegrationInputSchema = index.UpdateIntegrationInputSchema;
5403
5744
  exports.UpdateUserInputSchema = index.UpdateUserInputSchema;
5404
5745
  exports.UserRecordSchema = index.UserRecordSchema;
5405
- exports.UserRoleSchema = index.UserRoleSchema;
5406
5746
  exports.UserSummarySchema = index.UserSummarySchema;
5407
5747
  exports.WELL_KNOWN_TABS = index.WELL_KNOWN_TABS;
5408
5748
  exports.WELL_KNOWN_TAB_MAP = index.WELL_KNOWN_TAB_MAP;
@@ -5445,6 +5785,7 @@ exports.cameraStreamsCapability = index.cameraStreamsCapability;
5445
5785
  exports.decoderCapability = index.decoderCapability;
5446
5786
  exports.detectionPipelineCapability = index.detectionPipelineCapability;
5447
5787
  exports.deviceDiscoveryCapability = index.deviceDiscoveryCapability;
5788
+ exports.deviceExportCapability = index.deviceExportCapability;
5448
5789
  exports.deviceManagerCapability = index.deviceManagerCapability;
5449
5790
  exports.deviceMatchesProfile = index.deviceMatchesProfile;
5450
5791
  exports.deviceOpsCapability = index.deviceOpsCapability;
@@ -5472,6 +5813,7 @@ exports.metricsProviderCapability = index.metricsProviderCapability;
5472
5813
  exports.motionCapability = index.motionCapability;
5473
5814
  exports.motionDetectionCapability = index.motionDetectionCapability;
5474
5815
  exports.motionTriggerCapability = index.motionTriggerCapability;
5816
+ exports.mqttBrokerCapability = index.mqttBrokerCapability;
5475
5817
  exports.nativeObjectDetectionCapability = index.nativeObjectDetectionCapability;
5476
5818
  exports.networkAccessCapability = index.networkAccessCapability;
5477
5819
  exports.networkQualityCapability = index.networkQualityCapability;
@@ -5492,8 +5834,10 @@ exports.remoteAccessCapability = index.remoteAccessCapability;
5492
5834
  exports.resolveDeviceProfile = index.resolveDeviceProfile;
5493
5835
  exports.restreamerCapability = index.restreamerCapability;
5494
5836
  exports.settingsStoreCapability = index.settingsStoreCapability;
5837
+ exports.smtpProviderCapability = index.smtpProviderCapability;
5495
5838
  exports.snapshotCapability = index.snapshotCapability;
5496
5839
  exports.snapshotProviderCapability = index.snapshotProviderCapability;
5840
+ exports.ssoBridgeCapability = index.ssoBridgeCapability;
5497
5841
  exports.storageCapability = index.storageCapability;
5498
5842
  exports.storageProviderCapability = index.storageProviderCapability;
5499
5843
  exports.streamBrokerCapability = index.streamBrokerCapability;
@@ -5504,6 +5848,7 @@ exports.toastCapability = index.toastCapability;
5504
5848
  exports.turnOrchestratorCapability = index.turnOrchestratorCapability;
5505
5849
  exports.turnProviderCapability = index.turnProviderCapability;
5506
5850
  exports.userManagementCapability = index.userManagementCapability;
5851
+ exports.userPasskeysCapability = index.userPasskeysCapability;
5507
5852
  exports.webrtcCapability = index.webrtcCapability;
5508
5853
  exports.webrtcClientHintsSchema = index.webrtcClientHintsSchema;
5509
5854
  exports.webrtcSessionCapability = index.webrtcSessionCapability;
@@ -5518,6 +5863,7 @@ exports.BaseDeviceProvider = BaseDeviceProvider;
5518
5863
  exports.CAPABILITY_NAMES = CAPABILITY_NAMES;
5519
5864
  exports.CAPABILITY_ROUTER_KEYS = CAPABILITY_ROUTER_KEYS;
5520
5865
  exports.CAP_NAMES_WITH_STATUS = CAP_NAMES_WITH_STATUS;
5866
+ exports.CAP_PROVIDER_KIND_MAP = CAP_PROVIDER_KIND_MAP;
5521
5867
  exports.COCO_80_LABELS = COCO_80_LABELS;
5522
5868
  exports.COCO_TO_MACRO = COCO_TO_MACRO;
5523
5869
  exports.DEFAULT_ADDON_GROUP = DEFAULT_ADDON_GROUP;
@@ -5525,6 +5871,7 @@ exports.DEFAULT_ADDON_PLACEMENT = DEFAULT_ADDON_PLACEMENT;
5525
5871
  exports.DEFAULT_FEATURES = DEFAULT_FEATURES;
5526
5872
  exports.DEFAULT_LOCATION_SUBDIRS = DEFAULT_LOCATION_SUBDIRS;
5527
5873
  exports.DEFAULT_RETENTION = DEFAULT_RETENTION;
5874
+ exports.DEVICE_CAP_NAMES = DEVICE_CAP_NAMES;
5528
5875
  exports.DEVICE_TYPE_INFO = DEVICE_TYPE_INFO;
5529
5876
  exports.DeviceConfig = DeviceConfig;
5530
5877
  exports.DeviceRuntimeState = DeviceRuntimeState;
@@ -5537,6 +5884,7 @@ exports.HF_REPO = HF_REPO;
5537
5884
  exports.KNOWN_CAP_NAMES = KNOWN_CAP_NAMES;
5538
5885
  exports.MACRO_LABELS = MACRO_LABELS;
5539
5886
  exports.METHOD_ACCESS_MAP = METHOD_ACCESS_MAP;
5887
+ exports.PROVIDER_KIND_CAP_NAMES = PROVIDER_KIND_CAP_NAMES;
5540
5888
  exports.PYTHON_SCRIPT = PYTHON_SCRIPT;
5541
5889
  exports.RECOGNITION_TYPES = RECOGNITION_TYPES;
5542
5890
  exports.RUNTIME_DEFAULTS = RUNTIME_DEFAULTS;
@@ -5544,9 +5892,11 @@ exports.RUNTIME_TO_FORMAT = RUNTIME_TO_FORMAT;
5544
5892
  exports.ReadinessRegistry = ReadinessRegistry;
5545
5893
  exports.ReadinessTimeoutError = ReadinessTimeoutError;
5546
5894
  exports.RingBuffer = RingBuffer;
5895
+ exports.SCOPE_PRESETS = SCOPE_PRESETS;
5547
5896
  exports.STORAGE_LOCATION_TYPES = STORAGE_LOCATION_TYPES;
5548
5897
  exports.STREAM_QUALITY_LABELS = STREAM_QUALITY_LABELS;
5549
5898
  exports.SUB_DETECTION_TYPES = SUB_DETECTION_TYPES;
5899
+ exports.SYSTEM_CAP_NAMES = SYSTEM_CAP_NAMES;
5550
5900
  exports.SystemMirror = SystemMirror;
5551
5901
  exports.asBoolean = asBoolean;
5552
5902
  exports.asJsonArray = asJsonArray;
@@ -5555,6 +5905,7 @@ exports.asNumber = asNumber;
5555
5905
  exports.asString = asString;
5556
5906
  exports.autoAssignProfiles = autoAssignProfiles;
5557
5907
  exports.bindAddonActions = bindAddonActions;
5908
+ exports.buildAddonRouteProvider = buildAddonRouteProvider;
5558
5909
  exports.classifyStream = classifyStream;
5559
5910
  exports.classifyStreams = classifyStreams;
5560
5911
  exports.cosineSimilarity = cosineSimilarity;
@@ -5572,6 +5923,7 @@ exports.emitReadiness = emitReadiness;
5572
5923
  exports.evaluateZoneRules = evaluateZoneRules;
5573
5924
  exports.formatForBackend = formatForBackend;
5574
5925
  exports.formatForRuntime = formatForRuntime;
5926
+ exports.getCapsByProviderKind = getCapsByProviderKind;
5575
5927
  exports.hfModelUrl = hfModelUrl;
5576
5928
  exports.isAgentOnlyPlacement = isAgentOnlyPlacement;
5577
5929
  exports.isDeployableToAgent = isDeployableToAgent;