@camstack/addon-admin-ui 0.1.47 → 0.2.1

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 (70) hide show
  1. package/dist/assets/_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host--mtKe2Ne.js +1 -0
  2. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-1rzf3QZV.js +1 -0
  3. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_client__loadShare__.js-CSJxMxg6.js +6 -0
  4. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.js-CPJ7iclX.js +1 -0
  5. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare__konva__loadShare__.js-B7XYY0cV.js +15 -0
  6. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_dom__loadShare__.js-C2cB5JUo.js +1 -0
  7. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-CXx5u_N6.js +9 -0
  8. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_konva__loadShare__.js-B2sDsXg0.js +19 -0
  9. package/dist/assets/browser-BHo8W_uH.js +8 -0
  10. package/dist/assets/dist-CGRDjIOZ.js +1 -0
  11. package/dist/assets/dist-mzJ_Pmak.js +1 -0
  12. package/dist/assets/dist-q2poCTnb.js +75 -0
  13. package/dist/assets/hostInit-BPPNDtfC.js +1 -0
  14. package/dist/assets/index-BhBNvK07.js +82 -0
  15. package/dist/assets/index-D2K_AdnO.css +2 -0
  16. package/dist/{mf-entry-bootstrap-0.js → assets/mf-entry-bootstrap-0-3e14934b.js} +7 -5
  17. package/dist/assets/remoteEntry-Cb-DJ8UX.js +1 -0
  18. package/dist/assets/rolldown-runtime-Cyuzqnbw.js +1 -0
  19. package/dist/assets/schemas-CuE8EXQ7.js +64 -0
  20. package/dist/assets/src-BE2rTAMO.js +1 -0
  21. package/dist/assets/src-CrhOk7JL.js +1 -0
  22. package/dist/assets/virtualExposes-SIMIW5lI.js +1 -0
  23. package/dist/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-3el-ChDf.js +5 -0
  24. package/dist/assets/virtual_mf-exposes___mfe_internal__admin_ui_host__remoteEntry-_hash_-DnnXQRkG.js +1 -0
  25. package/dist/assets/vite-preload-helper-zJ_50EbN.js +1 -0
  26. package/dist/index.html +6 -9
  27. package/dist/server/addon.js +19793 -16322
  28. package/dist/sw.js +1 -1
  29. package/package.json +10 -9
  30. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.mjs-CawbgE5L.js +0 -1
  31. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.mjs_commonjs-proxy-GKALXIcl.js +0 -1
  32. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_client__loadShare__.mjs-DIkg6-MH.js +0 -6
  33. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_client__loadShare__.mjs_commonjs-proxy-WD2WouMQ.js +0 -1
  34. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.mjs-JVZxVBTk.js +0 -1
  35. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.mjs_commonjs-proxy-fDAP1KhM.js +0 -1
  36. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__konva__loadShare__.mjs-g85Oidc0.js +0 -15
  37. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__konva__loadShare__.mjs_commonjs-proxy-Bqeq2Zwj.js +0 -1
  38. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react__loadShare__.mjs-hk6goaRc.js +0 -9
  39. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react__loadShare__.mjs_commonjs-proxy-CKOygvIQ.js +0 -1
  40. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.mjs-C_6K4VBY.js +0 -9
  41. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.mjs_commonjs-proxy-DrLZNXOX.js +0 -1
  42. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_dom__loadShare__.mjs-DGvrhOC3.js +0 -9
  43. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-DG9hE2tk.js +0 -1
  44. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_dom_mf_1_client__loadShare__.mjs-ByazpYAv.js +0 -25
  45. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_dom_mf_1_client__loadShare__.mjs_commonjs-proxy-CxaW4xr1.js +0 -1
  46. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_konva__loadShare__.mjs-BLBZm4ju.js +0 -35
  47. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_konva__loadShare__.mjs_commonjs-proxy-LyTotJxo.js +0 -1
  48. package/dist/assets/_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-C3ppGtyE.js +0 -1
  49. package/dist/assets/browser-BXdiCFWD.js +0 -8
  50. package/dist/assets/devices-DmCyuEuQ.js +0 -1
  51. package/dist/assets/hostInit-BhyqZ3AI.js +0 -1
  52. package/dist/assets/index-BH5Ezf7x.js +0 -1
  53. package/dist/assets/index-BPRNeJ5M.js +0 -126
  54. package/dist/assets/index-BViRW9IB.js +0 -1
  55. package/dist/assets/index-BpGkKz46.js +0 -1
  56. package/dist/assets/index-C2d2NdfQ.css +0 -1
  57. package/dist/assets/index-C9MS3ovr.js +0 -1
  58. package/dist/assets/index-CAZNi1Jm.js +0 -1
  59. package/dist/assets/index-CDGj60rb.js +0 -190
  60. package/dist/assets/index-DBG7Fygw.js +0 -1
  61. package/dist/assets/index-DeFTFjpg.js +0 -1514
  62. package/dist/assets/index-DuP0eN9F.js +0 -1
  63. package/dist/assets/index-na_oszC9.js +0 -1
  64. package/dist/assets/method-access-map-BCPBTC0g.js +0 -1
  65. package/dist/assets/preload-helper-BlTxHScW.js +0 -1
  66. package/dist/assets/remoteEntry-0I-ik-5b.js +0 -1
  67. package/dist/assets/schemas-DSjJ1TGP.js +0 -64
  68. package/dist/assets/virtualExposes-_ivNhQLP.js +0 -1
  69. package/dist/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-ChhI9HQF.js +0 -8
  70. package/dist/server/addon.js.map +0 -1
@@ -1 +0,0 @@
1
- var jt=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports);var Ys=jt(i=>{Object.defineProperty(i,Symbol.toStringTag,{value:"Module"});const a=require("./index-BSA_TBea.js"),I=require("zod");class Gt{disposers=[];disposed=!1;onError;constructor(t={}){this.onError=t.onError??((e,c)=>{console.error(`[DisposerChain] disposer #${c} threw`,e)})}add(t){if(this.disposed){try{const e=t();e&&typeof e.then=="function"&&e.catch(c=>this.onError(c,-1))}catch(e){this.onError(e,-1)}return()=>{}}return this.disposers.push(t),()=>{const e=this.disposers.indexOf(t);e>=0&&this.disposers.splice(e,1)}}get isDisposed(){return this.disposed}get size(){return this.disposers.length}async dispose(){if(this.disposed)return;this.disposed=!0;const t=this.disposers.slice().reverse();this.disposers=[];for(let e=0;e<t.length;e++){const c=t[e];try{const r=c();r&&typeof r.then=="function"&&await r}catch(r){this.onError(r,t.length-1-e)}}}}const Ae="hub-only";function _(o){return{placement:o.execution?.placement??Ae,group:o.execution?.group}}function Yt(o){const t=_(o).placement;return t==="any-node"||t==="agent-only"}function Qt(o){return _(o).placement==="agent-only"}function Jt(o){return _(o).group}function Xt(o,t){return o.execution?.group??t}function ea(o){return _(o).placement}var x=(o=>(o.SystemBoot="system.boot",o.SystemAddonsReady="system.addons-ready",o.SystemRestarting="system.restarting",o.SystemRestartCompleted="system.restart-completed",o.SystemReadyState="system.ready-state",o.AddonStarted="addon.started",o.AddonStopped="addon.stopped",o.AddonRestarted="addon.restarted",o.AddonUpdated="addon.updated",o.AddonInstalled="addon.installed",o.AddonUninstalled="addon.uninstalled",o.AddonCrashed="addon.crashed",o.AddonError="addon.error",o.AddonPageReady="addon.page-ready",o.AddonWidgetReady="addon.widget-ready",o.AddonLoadFailed="addon.load-failed",o.AddonLoadRecovered="addon.load-recovered",o.AddonRetryScheduled="addon.retry-scheduled",o.AddonRetryAttempting="addon.retry-attempting",o.DeviceRegistered="device.registered",o.DeviceUnregistered="device.unregistered",o.DeviceEnabled="device.enabled",o.DeviceDisabled="device.disabled",o.DeviceSettingsUpdated="device.settings-updated",o.DeviceBindingsChanged="device.bindings-changed",o.DeviceMetaChanged="device.meta-changed",o.DeviceSourceInfoChanged="device.source-info-changed",o.DeviceStreamsRegistered="device.streams-registered",o.DeviceProvisioned="device.provisioned",o.DeviceReady="device.ready",o.IntegrationEnabled="integration.enabled",o.IntegrationDisabled="integration.disabled",o.IntegrationDeleted="integration.deleted",o.BrokerStatusChanged="broker.status-changed",o.BrokerMessage="broker.message",o.ProviderStarted="provider.started",o.ProviderStopped="provider.stopped",o.ProcessCrashed="process.crashed",o.ProcessRestartScheduled="process.restart_scheduled",o.ProcessRestarted="process.restarted",o.RecordingStarted="recording.started",o.RecordingStopped="recording.stopped",o.RecordingError="recording.error",o.RecordingHealthDegraded="recording.health.degraded",o.RecordingStorageCritical="recording.storage.critical",o.RecordingSegmentWritten="recording.segment.written",o.RecordingPolicyFallback="recording.policy.fallback",o.RecordingRetentionCompleted="recording.retention.completed",o.DetectionEvent="detection.event",o.SessionTrackNew="session.track.new",o.SessionTrackExpired="session.track.expired",o.BenchmarkProgress="benchmark.progress",o.PlatformProbePhase="platform-probe.phase",o.PipelineProgress="pipeline.progress",o.PipelineTrace="pipeline.trace",o.PipelineInferenceResult="pipeline.inference-result",o.PipelineCameraAssigned="pipeline.camera-assigned",o.PipelineCameraUnassigned="pipeline.camera-unassigned",o.PipelineCameraUpdated="pipeline.camera-updated",o.PipelineRunnerLoadSnapshot="pipeline.runner-load-snapshot",o.PipelineCameraMetricsSnapshot="pipeline.camera-metrics-snapshot",o.StreamBrokerMetricsSnapshot="stream-broker.metrics-snapshot",o.StreamBrokerOnCamStreamDemand="stream-broker.onCamStreamDemand",o.StreamBrokerOnCamStreamIdle="stream-broker.onCamStreamIdle",o.StreamBrokerOnRequestStreamSourceRefresh="stream-broker.onRequestStreamSourceRefresh",o.StreamParamsChanged="stream-params.changed",o.DeviceStateChanged="device.state-changed",o.BatteryOnStatusChanged="battery.onStatusChanged",o.BatteryOnWakeStarted="battery.onWakeStarted",o.DoorbellOnPressed="doorbell.onPressed",o.EventEmitted="event-emitter.event",o.PipelineEngineMetricsSnapshot="pipeline.engine-metrics-snapshot",o.ClusterTopologySnapshot="cluster.topology-snapshot",o.MetricsNodeResourcesSnapshot="metrics.node-resources-snapshot",o.MetricsNodeProcessesSnapshot="metrics.node-processes-snapshot",o.CapabilityBindingChanged="capability.binding-changed",o.ModelDownloadProgress="model.download.progress",o.AgentRegistered="agent.registered",o.AgentUnregistered="agent.unregistered",o.AgentOnline="agent.online",o.AgentOffline="agent.offline",o.WorkerOnline="worker.online",o.WorkerOffline="worker.offline",o.AgentTaskDispatched="agent.task.dispatched",o.AgentTaskAssigned="agent.task.assigned",o.AgentTrpcConnected="agent.trpc.connected",o.AgentWsConnected="agent.ws.connected",o.AgentWsDisconnected="agent.ws.disconnected",o.AgentBackupActivated="agent.backup.activated",o.OrchestrationSettingsUpdated="orchestration.settings-updated",o.PipelineAgentHwaccelChanged="pipeline.agent-hwaccel-changed",o.MotionAnalysis="detection.motion-analysis",o.MotionZonesRaw="detection.motion-zones-raw",o.MotionOnMotionChanged="motion.on-motion-changed",o.DetectionResult="detection.result",o.DetectionRaw="detection.raw",o.DetectionCameraNative="detection.camera-native",o.PipelineAudioInferenceResult="pipeline.audio-inference-result",o.DetectionPhaseTransition="detection.phase-transition",o.ProviderMotion="provider.motion",o.ProviderDetection="provider.detection",o.EnrichmentEmbeddingStored="enrichment.embedding.stored",o.EnrichmentSceneStateChanged="enrichment.scene.state-changed",o.EnrichmentActivitySummary="enrichment.activity.summary",o.PipelineAnalyticsTrackStarted="pipeline-analytics.track-started",o.PipelineAnalyticsTrackEnded="pipeline-analytics.track-ended",o.PipelineAnalyticsDetectionEvent="pipeline-analytics.detection-event",o.PipelineAnalyticsFrameTracked="pipeline-analytics.frame-tracked",o.FrigateLiveEvent="frigate.live-event",o.CameraStreamsProfileSlotsChanged="camera-streams.onProfileSlotsChanged",o.StreamOnline="stream.online",o.StreamOffline="stream.offline",o.NetworkTunnelStarted="network.tunnel.started",o.NetworkTunnelStopped="network.tunnel.stopped",o.LocalNetworkChanged="network.local.changed",o.MeshNetworkChanged="network.mesh.changed",o.BackupCompleted="backup.completed",o.BackupRestored="backup.restored",o.NotificationDispatched="notification.dispatched",o.NotificationFailed="notification.failed",o.DeviceUpdated="device.updated",o.DeviceOnline="device.online",o.DeviceOffline="device.offline",o.DeviceAwake="device.awake",o.DeviceSleeping="device.sleeping",o.RetentionCleanup="retention.cleanup",o.AddonsBulkUpdateProgress="addons.bulk-update-progress",o))(x||{});function ta(o,t){return o.category===t}function Z(o,t,e){return{id:typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).slice(2),timestamp:new Date,source:t,category:o,data:e}}function Ne(o,t){const e=t.ts??Date.now();o.emit(Z("system.ready-state",{type:"capability",id:t.capName,nodeId:t.sourceNodeId},{capName:t.capName,scope:t.scope,state:t.state,generation:t.generation,sourceNodeId:t.sourceNodeId,ts:e}))}function J(o){const t=async()=>{const l=(await o.read())[o.key];if(l===void 0)return o.fallback;const m=o.schema.safeParse(l);return m.success?m.data:(o.onParseError?.(o.key,m.error),o.fallback)},e=async r=>{const l=o.schema.parse(r);await o.write({[o.key]:l})};return{get:t,set:e,update:async r=>{await e(r(await t()))}}}class Pe{_ctx=null;_config;_readinessGeneration=typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).slice(2,14);_registeredCapNames=[];defaults;constructor(t){this.defaults=t,this._config={...t}}get autoEmitReadiness(){return!0}get ctx(){if(!this._ctx)throw new Error(`${this.constructor.name}: ctx accessed before initialize()`);return this._ctx}get ctxIfReady(){return this._ctx}get config(){return this._config}async initialize(t){this._ctx=t,await this.resolveConfig();const e=await this.onInitialize();this.emitLifecycle(x.AddonStarted);const c=Me(e),r=c&&"providers"in c&&c.providers?c.providers:[];return this._registeredCapNames=r.map(l=>l.capability.name),c}postBrokerStart(){this.autoEmitReadiness&&this._registeredCapNames.length>0&&this.emitReadinessForProviders("ready")}async onHubReachable(){}async shutdown(){this.emitLifecycle(x.AddonStopped),this.autoEmitReadiness&&this.emitReadinessForProviders("down"),await this.onShutdown();for(const t of this._subscriptions)t();this._subscriptions=[],this._ctx=null}async onShutdown(){}async onConfigChanged(){}field(t){return t}schema(t){return t}globalSettingsSchema(t){return null}deviceSettingsSchema(){return null}async getGlobalSettings(t,e){const c=this.globalSettingsSchema(e);if(!c)return{sections:[]};const r=await this._ctx?.settings?.readAddonStore()??{};return a.hydrateSchema(c,t?{...r,...t}:r)}async updateGlobalSettings(t){await this._ctx?.settings?.writeAddonStore(t),await this.resolveConfig(),await this.onConfigChanged(),this.emitLifecycle(x.AddonUpdated,{level:"global"}),this.maybeAutoRestart(t,this.globalSettingsSchema())}maybeAutoRestart(t,e){if(!e)return;const c=new Set;for(const d of e.sections)for(const p of d.fields)p.type==="separator"||p.type==="info"||p.requiresRestart&&c.add(p.key);if(c.size===0||!Object.keys(t).some(d=>c.has(d)))return;const l=this._ctx;if(!l)return;const m=l.id;setImmediate(()=>{l.api.addons?.restartAddon?.mutate({addonId:m}).then(()=>{l.logger.info("addon auto-restart triggered by restart-required setting change",{meta:{changedFields:Object.keys(t).filter(p=>c.has(p))}})}).catch(p=>{l.logger.error("addon auto-restart failed",{meta:{error:p instanceof Error?p.message:String(p)}})})})}async getDeviceSettings(t){const e=this.deviceSettingsSchema();if(!e)return{sections:[]};const c=await this._ctx?.settings?.readDeviceStore(t)??{};return a.hydrateSchema(e,c)}async updateDeviceSettings(t,e){await this._ctx?.settings?.writeDeviceStore(t,e)}_subscriptions=[];watchCapability(t,e){const c=Array.isArray(t)?t:[t],r=new Set(c);this.subscribe({category:"system.ready-state"},l=>{const m=l.data;if(typeof m.capName!="string"||!r.has(m.capName)||m.scope?.type!=="node")return;const d=m.scope.nodeId;if(typeof d!="string"||d.length===0)return;const p=m.capName;m.state==="down"?e.onDown?.(d,p):m.state==="ready"&&e.onReady?.(d,p)})}subscribe(t,e){const c=this.ctx.eventBus.subscribe(t,e);this._subscriptions.push(c)}emitLifecycle(t,e){try{const c=this._ctx;if(!c)return;c.eventBus.emit({id:`${c.id}-${Date.now()}`,timestamp:new Date,source:{type:"addon",id:c.id,nodeId:c.kernel.localNodeId??"hub"},category:t,data:{addonId:c.id,...e??{}}})}catch{}}emitReadinessForProviders(t){const e=this._ctx;if(!e||this._registeredCapNames.length===0)return;const c=e.kernel?.localNodeId??"hub",r=c.includes("/")?c.split("/")[0]:c;for(const l of this._registeredCapNames)try{Ne(e.eventBus,{capName:l,scope:{type:"node",nodeId:r},state:t,generation:this._readinessGeneration,sourceNodeId:r})}catch{}}async resolveModelsDir(){return this.ctx.api.storage.resolve.query({location:"models",relativePath:""}).catch(()=>"camstack-data/models")}get capabilities(){return this.ctx.capabilities??null}async resolveConfig(){const t=await this.readAddonStoreWithRetry(),e={...this.defaults};for(const c of Object.keys(this.defaults)){const r=t[c];if(r!=null){const l=typeof this.defaults[c];typeof r===l&&(e[c]=r)}}this._config=e}state(t,e,c){return J({key:t,schema:e,fallback:c,read:()=>this.readAddonStoreWithRetry(),write:async r=>{await this._ctx?.settings?.writeAddonStore(r)},onParseError:(r,l)=>this._ctx?.logger?.warn?.(`durable-state: stored "${r}" failed validation — using fallback`,{meta:{addonId:this._ctx?.id,key:r,error:String(l)}})})}deviceState(t,e,c,r){return J({key:e,schema:c,fallback:r,read:async()=>await this._ctx?.settings?.readDeviceStore(t)??{},write:async l=>{await this._ctx?.settings?.writeDeviceStore(t,l)},onParseError:(l,m)=>this._ctx?.logger?.warn?.(`durable-state: stored device ${t} "${l}" failed validation — using fallback`,{meta:{addonId:this._ctx?.id,deviceId:t,key:l,error:String(m)}})})}async readAddonStoreWithRetry(){const t=this._ctx?.settings;if(!t)return{};const e=[150,350,600,900];let c;for(let r=0;r<=e.length;r++)try{return await t.readAddonStore()??{}}catch(l){c=l;const m=l instanceof Error?l.message:String(l);if(!(m.includes("SqliteSettingsBackend not initialized")||m.includes("provider not available")))throw l;if(r===e.length)break;await new Promise(p=>setTimeout(p,e[r]))}return this._ctx?.logger?.warn?.("readAddonStore: settings-store unavailable after retries — using defaults",{meta:{error:c instanceof Error?c.message:String(c)}}),{}}}function Me(o){if(o!=null)return Array.isArray(o)?{providers:o}:o}function aa(o,t){return{id:o,getRoutes:()=>t,invoke:async e=>{const c=sa(t,e.method,e.path);if(!c)return{status:404,headers:{},redirectUrl:null,body:{error:`No route matches ${e.method} ${e.path}`}};const r={status:200,headers:{},redirectUrl:null},l=na(r),m={params:{...e.params,...c.params},query:e.query,body:e.body,headers:e.headers,...e.user?{user:e.user}:{},...e.scopedToken!==void 0?{scopedToken:e.scopedToken}:{}};return await c.route.handler(m,l),r}}}function sa(o,t,e){const c=t.toUpperCase();for(const r of o){if(r.method!==c)continue;const l=ia(r.path,e);if(l!==null)return{route:r,params:l}}return null}function ia(o,t){const e=o.split("/").filter(Boolean),c=t.split("/").filter(Boolean);if(e.length!==c.length)return null;const r={};for(let l=0;l<e.length;l++){const m=e[l],d=c[l];if(m.startsWith(":"))r[m.slice(1)]=d;else if(m!==d)return null}return r}function na(o){const t={status(e){return o.status=e,t},code(e){return o.status=e,t},send(e){o.body=e},redirect(e){o.redirectUrl=e,o.status===200&&(o.status=302)},header(e,c){return o.headers[e.toLowerCase()]=c,t},type(e){return o.contentType=e,t}};return t}const E={offsetHours:1,startMonth:3,startWeekIndex:5,startWeekday:"Sunday",startHour:2,endMonth:10,endWeekIndex:5,endWeekday:"Sunday",endHour:3},H={offsetHours:1,startMonth:3,startWeekIndex:2,startWeekday:"Sunday",startHour:2,endMonth:11,endWeekIndex:1,endWeekday:"Sunday",endHour:2},oa={offsetHours:1,startMonth:10,startWeekIndex:1,startWeekday:"Sunday",startHour:2,endMonth:4,endWeekIndex:1,endWeekday:"Sunday",endHour:3},De=[{id:"UTC",label:"UTC (UTC+0)",region:"Universal",stdOffsetMinutes:0,dst:null},{id:"Europe/London",label:"Europe/London (UTC+0 / BST)",region:"Europe",stdOffsetMinutes:0,dst:E},{id:"Europe/Rome",label:"Europe/Rome (UTC+1 / CEST)",region:"Europe",stdOffsetMinutes:60,dst:E},{id:"Europe/Paris",label:"Europe/Paris (UTC+1 / CEST)",region:"Europe",stdOffsetMinutes:60,dst:E},{id:"Europe/Berlin",label:"Europe/Berlin (UTC+1 / CEST)",region:"Europe",stdOffsetMinutes:60,dst:E},{id:"Europe/Madrid",label:"Europe/Madrid (UTC+1 / CEST)",region:"Europe",stdOffsetMinutes:60,dst:E},{id:"Europe/Amsterdam",label:"Europe/Amsterdam (UTC+1 / CEST)",region:"Europe",stdOffsetMinutes:60,dst:E},{id:"Europe/Istanbul",label:"Europe/Istanbul (UTC+3)",region:"Europe",stdOffsetMinutes:180,dst:null},{id:"America/New_York",label:"America/New York (UTC−5 / EDT)",region:"Americas",stdOffsetMinutes:-300,dst:H},{id:"America/Chicago",label:"America/Chicago (UTC−6 / CDT)",region:"Americas",stdOffsetMinutes:-360,dst:H},{id:"America/Denver",label:"America/Denver (UTC−7 / MDT)",region:"Americas",stdOffsetMinutes:-420,dst:H},{id:"America/Los_Angeles",label:"America/Los Angeles (UTC−8 / PDT)",region:"Americas",stdOffsetMinutes:-480,dst:H},{id:"America/Sao_Paulo",label:"America/Sao Paulo (UTC−3)",region:"Americas",stdOffsetMinutes:-180,dst:null},{id:"Asia/Dubai",label:"Asia/Dubai (UTC+4)",region:"Asia",stdOffsetMinutes:240,dst:null},{id:"Asia/Kolkata",label:"Asia/Kolkata (UTC+5:30)",region:"Asia",stdOffsetMinutes:330,dst:null},{id:"Asia/Singapore",label:"Asia/Singapore (UTC+8)",region:"Asia",stdOffsetMinutes:480,dst:null},{id:"Asia/Shanghai",label:"Asia/Shanghai (UTC+8)",region:"Asia",stdOffsetMinutes:480,dst:null},{id:"Asia/Tokyo",label:"Asia/Tokyo (UTC+9)",region:"Asia",stdOffsetMinutes:540,dst:null},{id:"Australia/Sydney",label:"Australia/Sydney (UTC+10 / AEDT)",region:"Oceania",stdOffsetMinutes:600,dst:oa}];function ca(o){return De.find(t=>t.id===o)}class Ee extends Error{capName;scope;waitedMs;constructor(t,e,c){super(`Timed out waiting for ${t} (${D(e)}) to become ready after ${c}ms`),this.name="ReadinessTimeoutError",this.capName=t,this.scope=e,this.waitedMs=c}}function W(o,t){return`${o}|${D(t)}`}function D(o){switch(o.type){case"global":return"global";case"node":return`node:${o.nodeId}`;case"device":return`device:${o.deviceId}`}}function G(o,t){return o.type!==t.type?!1:o.type==="global"||t.type==="global"?!0:o.type==="node"&&t.type==="node"?o.nodeId===t.nodeId:o.type==="device"&&t.type==="device"?o.deviceId===t.deviceId:!1}class ra{bus;sourceNodeId;logger;now;generation;snapshot=new Map;subscriptions=new Set;unsubscribeBus;unsubscribeAgentOffline;constructor(t){if(this.bus=t.eventBus,this.sourceNodeId=t.sourceNodeId,this.logger=t.logger,this.now=t.now??(()=>Date.now()),this.generation=t.generation??da(),this.unsubscribeBus=this.bus.subscribe({category:"system.ready-state"},e=>this.ingest(e.data)),this.unsubscribeAgentOffline=this.bus.subscribe({category:"agent.offline"},e=>this.synthesizeDownForNode(e.data.agentId)),typeof this.bus.getRecent=="function")try{const e=this.bus.getRecent({category:"system.ready-state"});for(const c of e)this.ingest(c.data)}catch{}}close(){this.unsubscribeBus(),this.unsubscribeAgentOffline(),this.subscriptions.clear()}get(t,e){return this.snapshot.get(W(t,e))??null}getSnapshotForTransport(){return Array.from(this.snapshot.values())}hydrate(t){const e=this.now();for(const c of t){const r=W(c.capName,c.scope);if(this.snapshot.has(r))continue;const l={capName:c.capName,scope:c.scope,state:c.state,generation:c.generation,epoch:1,lastChange:e,sourceNodeId:c.sourceNodeId};this.snapshot.set(r,l),this.logger&&this.logger.debug(`readiness: ${c.capName} (${D(c.scope)}) → ${c.state} (hydrated, gen=${c.generation.slice(0,6)})`);const m={capName:c.capName,scope:c.scope,state:c.state,epoch:1,generation:c.generation,sourceNodeId:"hydrated",ts:e,durationInPrevState:0};for(const d of this.subscriptions)if(d.capName===c.capName&&G(d.scope,c.scope))try{d.handler(m)}catch(p){this.logger?.warn(`readiness hydrate handler threw for ${c.capName}: ${p.message??String(p)}`)}}}getAll(){return new Map(this.snapshot)}emitReady(t,e){this.emitTransition(t,e,"ready")}emitStarting(t,e){this.emitTransition(t,e,"starting")}emitDown(t,e){this.emitTransition(t,e,"down")}awaitReady(t,e,c={}){const r=c.timeoutMs??Number.POSITIVE_INFINITY,l=this.now();return this.get(t,e)?.state==="ready"?Promise.resolve():c.signal?.aborted?Promise.reject(c.signal.reason??new Error("aborted")):new Promise((d,p)=>{let u=!1;const g=this.onReadyState(t,e,k=>{k.state==="ready"&&(u||(u=!0,f(),d()))}),h=!Number.isFinite(r)?null:setTimeout(()=>{u||(u=!0,f(),p(new Ee(t,e,this.now()-l)))},r),C=setInterval(()=>{u||this.logger?.warn(`readiness: still awaiting ${t} (${D(e)}) after ${this.now()-l}ms`)},3e4);typeof C.unref=="function"&&C.unref();const v=()=>{u||(u=!0,f(),p(c.signal?.reason??new Error("aborted")))};c.signal?.addEventListener("abort",v,{once:!0});function f(){g(),h!==null&&clearTimeout(h),clearInterval(C),c.signal?.removeEventListener("abort",v)}})}onReadyState(t,e,c){const r={capName:t,scope:e,handler:c};this.subscriptions.add(r);const l=this.get(t,e);return l!==null&&queueMicrotask(()=>{this.subscriptions.has(r)&&c({capName:t,scope:e,state:l.state,epoch:l.epoch,generation:l.generation,sourceNodeId:this.sourceNodeId,ts:l.lastChange,durationInPrevState:0})}),()=>{this.subscriptions.delete(r)}}emitTransition(t,e,c){const r=this.now();this.bus.emit(Z("system.ready-state",{type:"capability",id:t,nodeId:this.sourceNodeId},{capName:t,scope:e,state:c,generation:this.generation,sourceNodeId:this.sourceNodeId,ts:r}))}ingest(t){if(typeof t?.capName!="string"||t.state!=="ready"&&t.state!=="starting"&&t.state!=="down"||typeof t.generation!="string"||t.scope?.type!=="global"&&t.scope?.type!=="node"&&t.scope?.type!=="device")return;const e=W(t.capName,t.scope),c=this.snapshot.get(e)??null,r=this.now();let l;if(c===null?l=t.state==="ready"?1:0:c.generation!==t.generation&&t.state==="ready"?l=c.epoch+1:l=c.epoch,c!==null&&c.generation===t.generation&&c.state===t.state)return;const m=c===null?0:Math.max(0,r-c.lastChange),d={capName:t.capName,scope:t.scope,state:t.state,generation:t.generation,epoch:l,lastChange:r,sourceNodeId:t.sourceNodeId};this.snapshot.set(e,d);const p={capName:t.capName,scope:t.scope,state:t.state,epoch:l,generation:t.generation,sourceNodeId:t.sourceNodeId,ts:t.ts,durationInPrevState:m};this.logger&&this.logger.debug(`readiness: ${t.capName} (${D(t.scope)}) → ${t.state} epoch=${l} gen=${t.generation.slice(0,6)} (prev ${m}ms)`);for(const u of this.subscriptions)if(u.capName===t.capName&&G(u.scope,t.scope))try{u.handler(p)}catch(g){this.logger?.warn(`readiness handler threw for ${t.capName}: ${g.message??String(g)}`)}}synthesizeDownForNode(t){const e=this.now();for(const[c,r]of this.snapshot){if(r.state==="down"||!(r.scope.type==="node"&&r.scope.nodeId===t||r.scope.type==="device"&&r.sourceNodeId===t))continue;const m=Math.max(0,e-r.lastChange),d={...r,state:"down",lastChange:e};this.snapshot.set(c,d);const p={capName:r.capName,scope:r.scope,state:"down",epoch:r.epoch,generation:r.generation,sourceNodeId:this.sourceNodeId,ts:e,durationInPrevState:m};this.logger&&this.logger.debug(`readiness: ${r.capName} (${D(r.scope)}) → down (synthesized from agent.offline ${t})`);for(const u of this.subscriptions)if(u.capName===r.capName&&G(u.scope,r.scope))try{u.handler(p)}catch(g){this.logger?.warn(`readiness handler threw during agent.offline demux for ${r.capName}: ${g.message??String(g)}`)}}}}function da(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).slice(2,14)}function la(o,t){for(const{capName:e,scope:c}of t)o.emitDown(e,c)}const pa="x-camstack-dataplane-secret",Re={high:"High",mid:"Mid",low:"Low"};function ma(o){return Re[o]??o.charAt(0).toUpperCase()+o.slice(1)}function Te(o){return(o.width??0)*(o.height??0)}function Oe(o){if(o.length===0)return[];const t=o.map((c,r)=>({s:c,i:r,px:Te(c.metadata??{})})).sort((c,r)=>r.px-c.px),e=Array.from({length:o.length});for(let c=0;c<t.length;c++){const{s:r,i:l}=t[c];let m;c===0?m="high":c===t.length-1?m="low":m="mid",e[l]={...r,quality:m}}return e}function ua(o){const t=o.height??0,e=o.width??0;return t>=1080||e>=1920?"high":t>=480||e>=640?"mid":"low"}function Sa(o){const t=o.protocols.find(r=>r.type==="rtsp"&&r.url)??o.protocols.find(r=>r.url),e=t?.type,c=e==="rtsp"?"rtsp":e==="http"||e==="flv"?"http-mjpeg":"custom";return{id:o.id,label:o.label??o.id,protocol:c,url:t?.url,profileHint:o.quality}}function w(o){return typeof o=="string"}function ga(o){return typeof o=="object"&&o!==null&&!Array.isArray(o)}function ya(o){return w(o)&&o.trim()?{url:o}:ga(o)&&w(o.url)&&o.url.trim()?{url:o.url,label:w(o.label)?o.label:void 0}:null}function ha(o){const t=w(o.snapshot_url)?o.snapshot_url:void 0;if(Array.isArray(o.streams)){const m=[];for(const d of o.streams){const p=ya(d);p&&m.push(p)}return{streams:m,snapshot_url:t}}const e=[],c=w(o.main_stream_url)?o.main_stream_url:void 0;c&&e.push({url:c,label:w(o.main_stream_name)?o.main_stream_name:void 0});const r=w(o.sub_stream_url)?o.sub_stream_url:void 0;r&&e.push({url:r,label:w(o.sub_stream_name)?o.sub_stream_name:void 0});const l=w(o.third_stream_url)?o.third_stream_url:void 0;return l&&e.push({url:l,label:w(o.third_stream_name)?o.third_stream_name:void 0}),{streams:e,snapshot_url:t}}function va(o){if(o.length===0)return{};const t=Oe(o),e={},c=t.find(d=>d.quality==="high"),r=t.find(d=>d.quality==="mid"),l=t.find(d=>d.quality==="low");c&&(e.high=c.id),r&&(e.mid=r.id),l&&(e.low=l.id);const m=c??r??l??t[0];return m&&(e.high||(e.high=m.id),e.mid||(e.mid=m.id),e.low||(e.low=m.id)),e}const fa={streaming:!0,notifications:!0,objectDetection:!1,remoteAccess:!0,agentCluster:!1,smartHome:!0,recordings:!0,backup:!0,repl:!0},ba=["face","plate"],Ia=["face","plate","clip","custom"];function Ca(o,t,e,c={}){if(o.length===0)return null;const r=`${e}/`,l=p=>({brokerId:p.brokerId,profileId:p.brokerId.startsWith(r)?p.brokerId.slice(r.length):p.brokerId,url:p.url,mutedUrl:p.mutedUrl,enabled:p.enabled,...p.codec!==void 0?{codec:p.codec}:{},...p.resolution!==void 0?{resolution:p.resolution}:{}});if(t!=="auto"){const p=o.find(u=>u.enabled&&u.url.length>0&&(u.profile===t||u.brokerId===`${r}${t}`));if(p)return l(p)}const m=o.filter(p=>p.enabled&&p.url.length>0);if(m.length===0)return null;const d=c.targetResolution;if(d){const p=m.filter(u=>u.resolution!==void 0);if(p.length>0){const u=ka(p,d);if(u)return l(u)}}return l(m[0])}function ka(o,t){const e=t.width*t.height;let c,r;for(const l of o){if(l.resolution===void 0)continue;const m=l.resolution.width*l.resolution.height;m>=e?(!c||m<c.pixels)&&(c={entry:l,pixels:m}):(!r||m>r.pixels)&&(r={entry:l,pixels:m})}return c?.entry??r?.entry}const wa={cleanupIntervalMs:3600*1e3,detectionEventsDays:30,audioLevelsDays:7,snapshotsDays:14};var qe=(o=>(o.Addon="addon",o.Core="core",o.Device="device",o.Provider="provider",o.System="system",o))(qe||{});const Be="camstack/camstack-models",Aa=`https://huggingface.co/${Be}/resolve/main`,Na={"features.streaming":!0,"features.notifications":!0,"features.objectDetection":!1,"features.remoteAccess":!0,"features.agentCluster":!1,"features.smartHome":!0,"features.recordings":!0,"features.backup":!0,"features.repl":!0,"retention.detectionEventsDays":30,"retention.audioLevelsDays":7,"logging.level":"info","logging.retentionDays":30,"eventBus.ringBufferSize":1e4,"storage.provider":"sqlite-storage","storage.locations":{data:"camstack-data/data",media:"camstack-data/media",recordings:"camstack-data/recordings",cache:"/tmp/camstack-cache",logs:"camstack-data/logs",models:"camstack-data/models"},providers:[],"ffmpeg.binaryPath":"ffmpeg","ffmpeg.hwAccel":"auto","ffmpeg.threadCount":0,"auth.tokenExpiry":"24h"};function ee(o){return JSON.parse(o)}function xe(o){return o===null||typeof o!="object"||Array.isArray(o)?null:{...o}}function Pa(o){return Array.isArray(o)?o:[]}function Ma(o,t=""){return typeof o=="string"?o:t}function Da(o,t=0){return typeof o=="number"?o:t}function Ea(o,t=!1){return typeof o=="boolean"?o:t}function Ra(o){try{return xe(ee(o))}catch{return null}}function Ta(o){try{const t=ee(o);return Array.isArray(t)?t:null}catch{return null}}function Oa(o,t){return`https://huggingface.co/${o}/resolve/main/${t}`}function qa(o,t){if(o.length!==t.length)return 0;let e=0,c=0,r=0;for(let m=0;m<o.length;m++)e+=o[m]*t[m],c+=o[m]*o[m],r+=t[m]*t[m];const l=Math.sqrt(c)*Math.sqrt(r);return l===0?0:e/l}class Ba{constructor(t,e){this.elementId=t,this.getBackend=typeof e=="function"?e:()=>e}cache={};listeners=new Set;loaded=!1;getBackend;async ensureLoaded(){if(this.loaded)return;const t=this.getBackend();if(!t)throw new Error(`ElementConfigStore(${this.elementId}): settings backend not available`);const e=await t.query({collection:"config",filter:{where:{id:this.elementId},limit:1}});e.length>0&&(this.cache=e[0].data??{}),this.loaded=!0}getAll(){return{...this.cache}}get(t){const e=t.split(".");let c=this.cache;for(const r of e){if(c===null||typeof c!="object"||Array.isArray(c))return;c=Reflect.get(c,r)}return c}async set(t,e){await this.ensureLoaded(),xa(this.cache,t,e),await this.persist(),this.notifyListeners()}async setAll(t){await this.ensureLoaded(),this.cache={...t},await this.persist(),this.notifyListeners()}onChange(t){return this.listeners.add(t),()=>{this.listeners.delete(t)}}async load(){await this.ensureLoaded()}async loadDefaults(t){await this.ensureLoaded(),Object.keys(this.cache).length===0&&(this.cache={...t},await this.persist())}async persist(){const t=this.getBackend();if(!t)throw new Error(`ElementConfigStore(${this.elementId}): settings backend not available — cannot persist config`);await t.set({collection:"config",key:this.elementId,value:this.cache})}notifyListeners(){const t=this.getAll();for(const e of this.listeners)try{e(t)}catch{}}}function xa(o,t,e){const c=t.split(".");let r=o;for(let l=0;l<c.length-1;l++){const m=c[l],d=r[m];if(d===null||typeof d!="object"||Array.isArray(d)){const p={};r[m]=p,r=p}else r=d}r[c[c.length-1]]=e}const te={cpu:"onnx",coreml:"onnx",cuda:"onnx",tensorrt:"onnx","onnx-py":"onnx",pytorch:"pt",openvino:"openvino"},Le={onnx:"onnx",coreml:"coreml",openvino:"openvino",tflite:"tflite",pytorch:"pt"},_e={coreml:"coreml_inference.py",pytorch:"pytorch_inference.py",openvino:"openvino_inference.py"};function ze(o,t){return o==="node"?"onnx":{coreml:"coreml",openvino:"openvino",pytorch:"pytorch","onnx-py":"onnx",cpu:"onnx"}[t]??t}function La(o,t){return o==="node"?te[t]??"onnx":{coreml:"coreml",openvino:"openvino",pytorch:"pt","onnx-py":"onnx",cpu:"onnx"}[t]??"onnx"}function _a(o,t){return!o||o==="auto"?"auto":ze(o,t??"cpu")}function za(o){return te[o]??"onnx"}function Fa(o){return Le[o]}function Ua(o){return _e[o]}function Ha(o){return o==="coreml"||o==="pytorch"||o==="openvino"}async function $a(o,t){const e=performance.now();try{return{output:t!==void 0?await Wa(o(),t):await o(),durationMs:ke(performance.now()-e),ok:!0}}catch(c){return{output:void 0,durationMs:ke(performance.now()-e),ok:!1,error:a.errMsg(c)}}}function ke(o){return Math.round(o*100)/100}function Wa(o,t){return new Promise((e,c)=>{const r=setTimeout(()=>c(new Error(`Inference timeout after ${t}ms`)),t);o.then(l=>{clearTimeout(r),e(l)}).catch(l=>{clearTimeout(r),c(l)})})}const Ka=[{id:"person",name:"Person"},{id:"bicycle",name:"Bicycle"},{id:"car",name:"Car"},{id:"motorcycle",name:"Motorcycle"},{id:"airplane",name:"Airplane"},{id:"bus",name:"Bus"},{id:"train",name:"Train"},{id:"truck",name:"Truck"},{id:"boat",name:"Boat"},{id:"traffic light",name:"Traffic Light"},{id:"fire hydrant",name:"Fire Hydrant"},{id:"stop sign",name:"Stop Sign"},{id:"parking meter",name:"Parking Meter"},{id:"bench",name:"Bench"},{id:"bird",name:"Bird"},{id:"cat",name:"Cat"},{id:"dog",name:"Dog"},{id:"horse",name:"Horse"},{id:"sheep",name:"Sheep"},{id:"cow",name:"Cow"},{id:"elephant",name:"Elephant"},{id:"bear",name:"Bear"},{id:"zebra",name:"Zebra"},{id:"giraffe",name:"Giraffe"},{id:"backpack",name:"Backpack"},{id:"umbrella",name:"Umbrella"},{id:"handbag",name:"Handbag"},{id:"tie",name:"Tie"},{id:"suitcase",name:"Suitcase"},{id:"frisbee",name:"Frisbee"},{id:"skis",name:"Skis"},{id:"snowboard",name:"Snowboard"},{id:"sports ball",name:"Sports Ball"},{id:"kite",name:"Kite"},{id:"baseball bat",name:"Baseball Bat"},{id:"baseball glove",name:"Baseball Glove"},{id:"skateboard",name:"Skateboard"},{id:"surfboard",name:"Surfboard"},{id:"tennis racket",name:"Tennis Racket"},{id:"bottle",name:"Bottle"},{id:"wine glass",name:"Wine Glass"},{id:"cup",name:"Cup"},{id:"fork",name:"Fork"},{id:"knife",name:"Knife"},{id:"spoon",name:"Spoon"},{id:"bowl",name:"Bowl"},{id:"banana",name:"Banana"},{id:"apple",name:"Apple"},{id:"sandwich",name:"Sandwich"},{id:"orange",name:"Orange"},{id:"broccoli",name:"Broccoli"},{id:"carrot",name:"Carrot"},{id:"hot dog",name:"Hot Dog"},{id:"pizza",name:"Pizza"},{id:"donut",name:"Donut"},{id:"cake",name:"Cake"},{id:"chair",name:"Chair"},{id:"couch",name:"Couch"},{id:"potted plant",name:"Potted Plant"},{id:"bed",name:"Bed"},{id:"dining table",name:"Dining Table"},{id:"toilet",name:"Toilet"},{id:"tv",name:"TV"},{id:"laptop",name:"Laptop"},{id:"mouse",name:"Mouse"},{id:"remote",name:"Remote"},{id:"keyboard",name:"Keyboard"},{id:"cell phone",name:"Cell Phone"},{id:"microwave",name:"Microwave"},{id:"oven",name:"Oven"},{id:"toaster",name:"Toaster"},{id:"sink",name:"Sink"},{id:"refrigerator",name:"Refrigerator"},{id:"book",name:"Book"},{id:"clock",name:"Clock"},{id:"vase",name:"Vase"},{id:"scissors",name:"Scissors"},{id:"teddy bear",name:"Teddy Bear"},{id:"hair drier",name:"Hair Drier"},{id:"toothbrush",name:"Toothbrush"}],Za=[{id:"person",name:"Person"},{id:"vehicle",name:"Vehicle"},{id:"animal",name:"Animal"}],Va={mapping:{person:"person",bicycle:"vehicle",car:"vehicle",motorcycle:"vehicle",airplane:"vehicle",bus:"vehicle",train:"vehicle",truck:"vehicle",boat:"vehicle",bird:"animal",cat:"animal",dog:"animal",horse:"animal",sheep:"animal",cow:"animal",elephant:"animal",bear:"animal",zebra:"animal",giraffe:"animal"},preserveOriginal:!1},ja={camera:{type:"camera",label:"Camera",icon:"camera"}};class R{schema;data;persistFn;constructor(t,e,c){this.schema=t,this.data=e,this.persistFn=c}static fromSchema(t,e,c={},r){const l=t.safeParse(c);if(l.success)return new R(t,l.data,e);const m=new Set;for(const g of l.error.issues){const S=g.path[0];typeof S=="string"&&m.add(S)}const d={...c};for(const g of m)delete d[g];const p=t.safeParse(d);if(r?.({droppedKeys:[...m],issues:l.error.issues}),p.success)return e(p.data).catch(()=>{}),new R(t,p.data,e);const u=t.parse({});return new R(t,u,e)}get values(){return this.data}get(t){return this.data[t]}async set(t,e){const c=this.schema.parse({...this.data,[t]:e});this.data=c,await this.persistFn(this.data)}async setAll(t){const e=this.schema.parse({...this.data,...t});this.data=e,await this.persistFn(this.data)}async deleteKey(t){const{[t]:e,...c}=this.data,r=this.schema.parse(c);this.data=r,await this.persistFn(this.data)}entries(){const t=this.schema.shape;return Object.entries(t).map(([e,c])=>({key:e,schema:c,value:this.data[e],description:c.description}))}}class V{writer;pendingWrites=new Set;slices;schemas=new Map;listeners=new Set;capListeners=new Map;constructor(t,e){this.writer=e,this.slices=new Map;for(const[c,r]of Object.entries(t))r&&typeof r=="object"&&!Array.isArray(r)&&this.slices.set(c,{...r})}static fromInitial(t,e){return new V(t,e)}installCapSchema(t,e){const c=this.schemas.get(t);if(c){if(c!==e)throw new Error(`[DeviceRuntimeState] capability "${t}" registered a different runtime-state schema; each cap must declare ONE shape across every provider`);return}this.schemas.set(t,e);const r=this.slices.get(t);if(r){const l=e.safeParse(r);l.success?this.slices.set(t,l.data):this.slices.delete(t)}}getCapState(t){const e=this.slices.get(t);if(e)return Object.freeze({...e})}getCapField(t,e){return this.slices.get(t)?.[e]}setCapState(t,e){this.applyCapWrite(t,e,!1)}patchCapState(t,e){this.applyCapWrite(t,e,!0)}applyCapWrite(t,e,c){const r=this.schemas.get(t);if(!r)throw new Error(`[DeviceRuntimeState] no schema registered for cap "${t}" — did the device register it via ctx.registerNativeCap before writing?`);const l=this.slices.get(t)??{},m=c?{...l,...e}:{...e},d=r.parse(m);if(Ga(l,d))return;this.slices.set(t,d),this.fireListeners([t]);const p=this.writer(t,{...d}).catch(()=>{});this.pendingWrites.add(p),p.finally(()=>{this.pendingWrites.delete(p)})}fireListeners(t){const e=this.snapshot();for(const c of this.listeners)try{c(t,e)}catch{}for(const c of t){const r=this.capListeners.get(c);if(!r)continue;const l=this.getCapState(c);for(const m of r)try{m(l)}catch{}}}subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t)}}subscribeCap(t,e){let c=this.capListeners.get(t);c||(c=new Set,this.capListeners.set(t,c));const r=l=>{e(l)};return c.add(r),()=>{const l=this.capListeners.get(t);l&&(l.delete(r),l.size===0&&this.capListeners.delete(t))}}snapshot(){const t={};for(const[e,c]of this.slices)t[e]=Object.freeze({...c});return Object.freeze(t)}async flush(){if(this.pendingWrites.size===0)return;const t=[...this.pendingWrites];await Promise.allSettled(t)}}function Ga(o,t){const e=Object.keys(o),c=Object.keys(t);if(e.length!==c.length)return!1;for(const r of e)if(o[r]!==t[r])return!1;return!0}const Y="lastFetchedAt";function Ya(o){const{runtimeState:t,cap:e,ownDeviceId:c,refresh:r,staleMs:l,empty:m}=o,d=async()=>{const g=t.getCapState(e.name),S=typeof g?.[Y]=="number"?g[Y]:0;(!g||Date.now()-S>l)&&await r()},p=()=>{const g=t.getCapState(e.name);if(!g)return m();const{[Y]:S,...h}=g;return h};return{ensureFresh:d,getStatus:async({deviceId:g})=>{if(g!==c)throw new Error(`${e.name}: deviceId mismatch, expected ${c}, got ${g}`);return await d(),p()}}}const Qa={airQualitySensor:a.airQualitySensorCapability,alarmPanel:a.alarmPanelCapability,ambientLightSensor:a.ambientLightSensorCapability,audioMetrics:a.audioMetricsCapability,automationControl:a.automationControlCapability,battery:a.batteryCapability,binary:a.binaryCapability,brightness:a.brightnessCapability,cameraStreams:a.cameraStreamsCapability,carbonMonoxide:a.carbonMonoxideCapability,climateControl:a.climateControlCapability,color:a.colorCapability,connectivity:a.connectivityCapability,consumables:a.consumablesCapability,contact:a.contactCapability,control:a.controlCapability,cover:a.coverCapability,deviceDiscovery:a.deviceDiscoveryCapability,deviceStatus:a.deviceStatusCapability,doorbell:a.doorbellCapability,enumSensor:a.enumSensorCapability,eventEmitter:a.eventEmitterCapability,fanControl:a.fanControlCapability,featureProbe:a.featureProbeCapability,flood:a.floodCapability,gas:a.gasCapability,humidifier:a.humidifierCapability,humiditySensor:a.humiditySensorCapability,image:a.imageCapability,lawnMowerControl:a.lawnMowerControlCapability,lockControl:a.lockControlCapability,mediaPlayer:a.mediaPlayerCapability,motion:a.motionCapability,motionTrigger:a.motionTriggerCapability,motionZones:a.motionZonesCapability,nativeObjectDetection:a.nativeObjectDetectionCapability,notifier:a.notifierCapability,numericSensor:a.numericSensorCapability,powerMeter:a.powerMeterCapability,presence:a.presenceCapability,pressureSensor:a.pressureSensorCapability,privacyMask:a.privacyMaskCapability,ptzAutotrack:a.ptzAutotrackCapability,scriptRunner:a.scriptRunnerCapability,smoke:a.smokeCapability,streamParams:a.streamParamsCapability,switch:a.switchCapability,tamper:a.tamperCapability,temperatureSensor:a.temperatureSensorCapability,update:a.updateCapability,vacuumControl:a.vacuumControlCapability,valve:a.valveCapability,vibration:a.vibrationCapability,waterHeater:a.waterHeaterCapability,weather:a.weatherCapability,zoneAnalytics:a.zoneAnalyticsCapability,zoneRules:a.zoneRulesCapability,zones:a.zonesCapability};class Ja{id;stableId;type;name;parentDeviceId;role;get online(){return this.runtimeState.getCapState("device-status")?.online??!1}set online(t){this.markOnline(t)}get state(){if(!this._stateProxyCache){const t={},e={get:(c,r)=>{const l=r;if(l in t)return t[l];const m=Qa[l];if(!m)return;const d=this.sliceProxy(m);return t[l]=d,d}};this._stateProxyCache=new Proxy(t,e)}return this._stateProxyCache}_stateProxyCache;config;runtimeState;ctx;location;disabled;_sourceInfoCache=null;constructor(t,e,c){if(this.ctx=t,this.id=t.id,this.stableId=t.stableId,this.type=c.type,!t.deviceMeta)throw new Error(`BaseDevice constructor: ctx.deviceMeta is required (id=${t.id} stableId=${t.stableId})`);this.name=t.deviceMeta.name,this.location=t.deviceMeta.location,this.disabled=t.deviceMeta.disabled,this.role=c.role,this.parentDeviceId=t.parentDeviceId;const r=t.persistedConfig??{};this.config=R.fromSchema(e,g=>t.persistConfig(g),r,({droppedKeys:g,issues:S})=>{t.logger.warn("Device config recovery: dropping invalid persisted fields",{tags:{deviceId:t.id,stableId:t.stableId},meta:{droppedKeys:[...g],firstIssue:S[0]?.message??null}})});let l=null;const m=async(g,S)=>{l||(l=t.fetchDevice(t.id)),await(await l).deviceState.setCapSlice({capName:g,slice:S})},d=t.initialRuntimeState??{};this.runtimeState=V.fromInitial(d,m),t.bindRuntimeState?.(this.runtimeState),t.registerNativeCap?.(a.deviceStatusCapability,{});const p={online:!0,lastChangedAt:Date.now()};this.runtimeState.setCapState("device-status",p),t.registerNativeCap?.(a.featureProbeCapability,{});const u={flags:{},deviceType:null,model:null,channelCount:null,lastProbedAt:0,lastFetchedAt:0};this.runtimeState.setCapState("feature-probe",u)}deviceActions=new Map;registerDeviceAction(t,e,c){this.deviceActions.set(t,{spec:e,handler:c})}async runDeviceAction(t,e){const c=this.deviceActions.get(t);if(!c)throw new Error(`unknown device action "${t}" on device ${this.id}`);const r=c.spec.input.parse(e);return c.handler(r)}async removeDevice(){}markOnline(t){if(this.online===t)return;const e={online:t,lastChangedAt:Date.now()};this.runtimeState.setCapState("device-status",e)}get sourceInfo(){if(this._sourceInfoCache)return this._sourceInfoCache;const e=a.extractSourceInfoFromMetadata(this.ctx.deviceMeta.metadata)??a.synthesizeSourceInfo({stableId:this.stableId,addonId:this.ctx.deviceMeta.addonId});return this._sourceInfoCache=Object.freeze({...e}),this._sourceInfoCache}get sourceId(){return this.sourceInfo.id}async updateSourceInfo(t){const e=a.mergeSourceInfo(this.sourceInfo,t);this._sourceInfoCache=Object.freeze({...e});const r=this.ctx.api?.deviceManager?.setMetadata;if(r)try{await r.mutate({deviceId:this.id,patch:{[a.SOURCE_INFO_METADATA_KEY]:e}})}catch{}this.ctx.eventBus.emit(Z("device.source-info-changed",{type:"device",id:this.stableId},{deviceId:this.id,sourceInfo:e}))}async refreshFeatures(){const e=this.ctx.api?.deviceManager?.registerDevice;if(e)try{await e.mutate({addonId:this.ctx.deviceMeta.addonId,stableId:this.stableId,id:this.id,type:this.type,name:this.name,parentDeviceId:this.parentDeviceId,features:[...this.features],config:{}})}catch{}}getCapSlice(t){return this.runtimeState.getCapState(t.name)??null}setCapSlice(t,e){this.runtimeState.setCapState(t.name,e)}sliceProxy(t){const e={},c={get:(r,l)=>this.runtimeState.getCapState(t.name)?.[l],set:(r,l,m)=>(this.runtimeState.patchCapState(t.name,{[l]:m}),!0),has:(r,l)=>{const m=this.runtimeState.getCapState(t.name);return m?l in m:!1},ownKeys:()=>{const r=this.runtimeState.getCapState(t.name);return r?Object.keys(r):[]},getOwnPropertyDescriptor:(r,l)=>{const m=this.runtimeState.getCapState(t.name);if(!(!m||!(l in m)))return{configurable:!0,enumerable:!0,value:m[l]}}};return new Proxy(e,c)}getSettingsUISchema(){return{sections:[]}}async applySettingsPatch(t){await this.config.setAll(t)}async onProbe(){}async onActivate(){}async reprobe(){this._kernelReprobe?await this._kernelReprobe():await this.onProbe()}_kernelReprobe;getAccessoryChildren(){return[]}getProbeFlags(){return this.runtimeState.getCapState("feature-probe")?.flags??{}}hasProbed(){return(this.runtimeState.getCapState("feature-probe")?.lastProbedAt??0)>0}}function Fe(o,t){const e={};for(const c of o.config.entries())e[c.key]=c.value;return{id:o.id,stableId:o.stableId,addonId:t,type:String(o.type),name:o.name,parentDeviceId:o.parentDeviceId,online:o.online,features:[...o.features],config:e,sourceInfo:o.sourceInfo}}class Xa extends Pe{async onInitialize(){return this.ctx.logger.info(`${this.providerName} Provider initialized`),[{capability:a.deviceProviderCapability,provider:this}]}async onShutdown(){const t=await this.ctx.kernel.devices?.getAll()??[];for(const e of t)try{await this.ctx.kernel.devices?.decommission(e.id)}catch(c){this.ctx.logger.warn(`${this.providerName}: decommission failed`,{tags:{deviceId:e.id,stableId:e.stableId},meta:{error:c instanceof Error?c.message:String(c)}})}this.ctx.logger.info(`${this.providerName} Provider shut down`,{meta:{decommissionedCount:t.length}})}async start(){}async stop(){}async getStatus(){return{connected:!0,deviceCount:(await this.ctx.kernel.devices?.getAll()??[]).length}}async getDevices(){return(await this.ctx.kernel.devices?.getAll()??[]).map(e=>({id:e.stableId,name:e.name,type:String(e.type)}))}async supportsDiscovery(){return!1}async discoverDevices(){return[]}async adoptDiscoveredDevice(t){throw new Error(`${this.providerName} provider does not support discovery-based adoption`)}async supportsManualCreation(){return!0}async getChildCreationSchema(t){return this.onGetCreationSchema(t.type)}async createDevice(t){const e=await this.onCreateDevice(t.type,t.config),c=this.deviceClasses[e.meta.type];if(!c)throw new Error(`${this.providerName} provider: no device class registered for type "${e.meta.type}" — add it to the deviceClasses map`);const r=this.generateStableId(e.meta.type,e.config),l=await this.ctx.kernel.devices.create(r,c,e.config,null,e.meta);if(e.onAfterCreate)try{await e.onAfterCreate(l)}catch(m){this.ctx.logger.warn("createDevice: onAfterCreate hook threw — device is already registered",{tags:{deviceId:l.id,stableId:r},meta:{error:m instanceof Error?m.message:String(m)}})}return this.toSummary(l)}generateStableId(t,e){return`${this.addonId}-${Date.now()}`}async testCreationField(t){return{status:"ok",labels:["probe not implemented"]}}async restoreDevices(t){await this.onRestoreDevices(t),t.length>0&&this.ctx.logger.info(`Restored ${t.length} ${this.providerName} device(s)`)}async onRestoreDevices(t){const e=new Set;for(const r of t){if(r.parentDeviceId!==null)continue;const l=this.deviceClasses[r.type];if(!l){this.ctx.logger.warn("No device class registered for restored type — skipping",{tags:{stableId:r.stableId},meta:{type:r.type}});continue}try{await this.ctx.kernel.devices.create(r.stableId,l,{}),e.add(r.id)}catch(m){this.ctx.logger.warn("Failed to restore device",{tags:{stableId:r.stableId},meta:{type:r.type,error:m instanceof Error?m.message:String(m)}})}}const c=t.filter(r=>r.parentDeviceId!==null);for(const r of c){const l=this.deviceClasses[r.type];if(l&&r.parentDeviceId!==null&&e.has(r.parentDeviceId))try{await this.ctx.kernel.devices.create(r.stableId,l,{},r.parentDeviceId),e.add(r.id)}catch(m){this.ctx.logger.warn("Failed to restore hub-adopted child",{tags:{stableId:r.stableId,parentDeviceId:r.parentDeviceId},meta:{type:r.type,error:m instanceof Error?m.message:String(m)}})}}}toSummary(t){return Fe(t,this.addonId)}}function L(o){return o.def}function es(o,t="Configuration",e="main"){const c=o.map(r=>ts(r.key,r.schema,r.description));return{sections:[{id:e,title:t,fields:c}]}}function ts(o,t,e){const c=K(t),r=os(t),l=e??Ue(o),m={key:o,label:l,description:e,default:r};return c instanceof I.z.ZodString?as(o,m):c instanceof I.z.ZodNumber?ss(c,m):c instanceof I.z.ZodBoolean?{...m,type:"boolean"}:c instanceof I.z.ZodEnum?ns(c,m):c instanceof I.z.ZodArray||c instanceof I.z.ZodObject?{...m,type:"textarea",rows:6,isJson:!0}:{...m,type:"text"}}function as(o,t){const e=o.toLowerCase();return e.includes("password")||e.includes("secret")||e.includes("token")||e.includes("apikey")||e.includes("api_key")?{...t,type:"password",showToggle:!0}:{...t,type:"text"}}function ss(o,t){const e=o,c=e.minValue,r=e.maxValue,l=c!=null&&isFinite(c)?c:void 0,m=r!=null&&isFinite(r)?r:void 0,d=is(o);return{...t,type:"number",...l!==void 0?{min:l}:{},...m!==void 0?{max:m}:{},...d!==void 0?{step:d}:{}}}function is(o){const e=L(o).checks??[];for(const c of e)if(c._zod?.def?.check==="multiple_of"&&c._zod.def.value!==void 0)return c._zod.def.value}function ns(o,t){const e=o.options.map(r=>String(r));return{...t,type:"select",options:e.map(r=>({label:Ue(r),value:r}))}}function K(o){return o instanceof I.z.ZodDefault||o instanceof I.z.ZodOptional||o instanceof I.z.ZodNullable?K(L(o).innerType):o}function os(o){if(o instanceof I.z.ZodDefault)return L(o).defaultValue}function Ue(o){return o.replace(/([A-Z])/g," $1").replace(/[_-]/g," ").replace(/^\w/,t=>t.toUpperCase()).trim()}function He(o){return o!==null&&typeof o=="object"&&!Array.isArray(o)}function cs(o,t){const e=t.split(".");let c=o;for(const r of e){if(!He(c))return;c=c[r]}return c}function $e(o,t,e){const c=t.indexOf(".");if(c===-1)return{...o,[t]:e};const r=t.slice(0,c),l=t.slice(c+1),m=o[r],d=He(m)?m:{};return{...o,[r]:$e(d,l,e)}}function rs(o,t){if(!t||t.kind==="identity")return o;if(t.kind==="enum-map"){const e=String(o);return Object.prototype.hasOwnProperty.call(t.mapping,e)?t.mapping[e]:t.fallback??null}if(t.kind==="linear"){if(typeof o!="number"||Number.isNaN(o))return null;let e=o*t.scale+t.offset;if(t.clamp){const c=t.clamp[0],r=t.clamp[1];e=Math.min(r,Math.max(c,e))}return e}return o}function X(o){let t=o;for(;t instanceof I.z.ZodNullable||t instanceof I.z.ZodOptional||t instanceof I.z.ZodDefault;)t=t.unwrap();return t}function ds(o){const t=X(o);return t instanceof I.z.ZodEnum?{kind:"enum",enumValues:t.options}:t instanceof I.z.ZodNumber?{kind:"number"}:t instanceof I.z.ZodString?{kind:"string"}:t instanceof I.z.ZodBoolean?{kind:"boolean"}:null}function We(o,t=""){const e=X(o);if(!(e instanceof I.z.ZodObject))return[];const c=[],r=e.shape;for(const[l,m]of Object.entries(r)){const d=t?`${t}.${l}`:l,p=X(m);if(p instanceof I.z.ZodObject){c.push(...We(p,d));continue}const u=ds(m);u&&c.push({path:d,kind:u.kind,...u.enumValues?{enumValues:u.enumValues}:{}})}return c}const ls="device.state-changed";function ae(o){const t=new Map,e=new Map;let c=null;const r=(d,p)=>`${d}:${p}`,l=()=>{c||o.live?.onEvent&&(c=o.live.onEvent.subscribe({category:ls},{onData:d=>{const p=d.data;if(!p||typeof p.deviceId!="number"||typeof p.capName!="string")return;const u=r(p.deviceId,p.capName);t.set(u,p.slice);const g=e.get(u);if(g)for(const S of g)try{S(p.slice)}catch{}}}))},m=()=>{c&&(e.size>0||(c.unsubscribe(),c=null))};return{read(d,p){return t.get(r(d,p))},async refresh(d,p){const u=await o.deviceState.getCapSlice.query({deviceId:d,capName:p}),g=r(d,p);t.set(g,u??void 0);const S=e.get(g);if(S)for(const h of S)try{h(u??void 0)}catch{}},watch(d,p,u){const g=r(d,p);let S=e.get(g);return S||(S=new Set,e.set(g,S)),S.add(u),l(),()=>{S.delete(u),S.size===0&&e.delete(g),m()}},async write(d,p,u){await o.deviceState.setCapSlice.mutate({deviceId:d,capName:p,slice:u})}}}function Ke(o,t,e){const c=(r,l)=>`${r}:${l}`;return{read(r,l){return o.get(r)?.get(l)},async refresh(){},watch(r,l,m){const d=c(r,l);let p=t.get(d);return p||(p=new Set,t.set(d,p)),p.add(m),()=>{p.delete(m),p.size===0&&t.delete(d)}},async write(r,l,m){if(!e)throw new Error("createMirrorSource: write requires an api reference — pass it as the third argument when constructing the source");await e.deviceState.setCapSlice.mutate({deviceId:r,capName:l,slice:m})}}}function y(o,t,e){const c=ps(o)?o:ae(o);return{get value(){return c.read(t,e)},refresh(){return c.refresh(t,e)},subscribe(r){const l=c.watch(t,e,m=>{try{r(m)}catch{}});try{r(c.read(t,e))}catch{}return c.read(t,e)===void 0&&c.refresh(t,e).catch(()=>{}),l},async set(r){await c.write(t,e,r)},async patch(r){const m={...c.read(t,e)??{},...r};await c.write(t,e,m)}}}function ps(o){return typeof o.read=="function"&&typeof o.watch=="function"}function Ze(o,t,e){const c=o,r=e?.stateSource??ae(o);function l(n,A){const N=typeof n=="object"&&n!==null?n:{};return A!==void 0?{...N,deviceId:t.deviceId,nodeId:A}:{...N,deviceId:t.deviceId}}function m(n,A,N,M,q){const U=c[n]?.[A];if(!U)throw new Error(`DeviceProxy: api has no '${n}.${A}'`);const B=U;return N==="mutation"?B.mutate(M):N==="subscription"?B.subscribe(M,q):B.query(M)}function d(n,A,N,M,q,U){const B=t.entries.find(Vt=>Vt.capName===n);return m(A,N,M,l(q,B?.providerNodeId),U)}function p(n,A,N,M,q){return m(n,A,N,l(M,void 0),q)}const u={setChildHidden:n=>d("accessories","accessories","setChildHidden","mutation",n),getStatus:n=>d("accessories","accessories","getStatus","query",n)},g={getStatus:n=>d("air-quality-sensor","airQualitySensor","getStatus","query",n)},S={arm:n=>d("alarm-panel","alarmPanel","arm","mutation",n),disarm:n=>d("alarm-panel","alarmPanel","disarm","mutation",n),trigger:n=>d("alarm-panel","alarmPanel","trigger","mutation",n),getStatus:n=>d("alarm-panel","alarmPanel","getStatus","query",n)},h={getStatus:n=>d("ambient-light-sensor","ambientLightSensor","getStatus","query",n)},b={resolveDeviceSettings:n=>d("audio-analysis","audioAnalysis","resolveDeviceSettings","query",n),getDeviceSettingsContribution:n=>d("audio-analysis","audioAnalysis","getDeviceSettingsContribution","query",n),getDeviceLiveContribution:n=>d("audio-analysis","audioAnalysis","getDeviceLiveContribution","query",n),applyDeviceSettingsPatch:n=>d("audio-analysis","audioAnalysis","applyDeviceSettingsPatch","mutation",n)},C={getCurrentSnapshot:n=>d("audio-metrics","audioMetrics","getCurrentSnapshot","query",n),getHistory:n=>d("audio-metrics","audioMetrics","getHistory","query",n)},v={enable:n=>d("automation-control","automationControl","enable","mutation",n),disable:n=>d("automation-control","automationControl","disable","mutation",n),trigger:n=>d("automation-control","automationControl","trigger","mutation",n),getStatus:n=>d("automation-control","automationControl","getStatus","query",n)},f={wakeForStream:n=>d("battery","battery","wakeForStream","mutation",n),getStatus:n=>d("battery","battery","getStatus","query",n)},k={getStatus:n=>d("binary","binary","getStatus","query",n)},se={setBrightness:n=>d("brightness","brightness","setBrightness","mutation",n),getStatus:n=>d("brightness","brightness","getStatus","query",n)},ie={press:n=>d("button","button","press","mutation",n)},ne={getCredentials:n=>d("camera-credentials","cameraCredentials","getCredentials","query",n),getStatus:n=>d("camera-credentials","cameraCredentials","getStatus","query",n)},oe={getCameraStreams:n=>d("camera-streams","cameraStreams","getCameraStreams","query",n),getBrokerStreams:n=>d("camera-streams","cameraStreams","getBrokerStreams","query",n),getRtspEntries:n=>d("camera-streams","cameraStreams","getRtspEntries","query",n),getProfileRtspEntries:n=>d("camera-streams","cameraStreams","getProfileRtspEntries","query",n),pickStream:n=>d("camera-streams","cameraStreams","pickStream","query",n)},ce={getStatus:n=>d("carbon-monoxide","carbonMonoxide","getStatus","query",n)},re={setMode:n=>d("climate-control","climateControl","setMode","mutation",n),setFanMode:n=>d("climate-control","climateControl","setFanMode","mutation",n),setPreset:n=>d("climate-control","climateControl","setPreset","mutation",n),setTarget:n=>d("climate-control","climateControl","setTarget","mutation",n),setTargetRange:n=>d("climate-control","climateControl","setTargetRange","mutation",n),setTargetHumidity:n=>d("climate-control","climateControl","setTargetHumidity","mutation",n),getStatus:n=>d("climate-control","climateControl","getStatus","query",n)},de={setColor:n=>d("color","color","setColor","mutation",n),getStatus:n=>d("color","color","getStatus","query",n)},le={getStatus:n=>d("connectivity","connectivity","getStatus","query",n)},pe={reset:n=>d("consumables","consumables","reset","mutation",n),getStatus:n=>d("consumables","consumables","getStatus","query",n)},me={getStatus:n=>d("contact","contact","getStatus","query",n)},ue={setValue:n=>d("control","control","setValue","mutation",n),getStatus:n=>d("control","control","getStatus","query",n)},Se={open:n=>d("cover","cover","open","mutation",n),close:n=>d("cover","cover","close","mutation",n),stop:n=>d("cover","cover","stop","mutation",n),setPosition:n=>d("cover","cover","setPosition","mutation",n),setTiltPosition:n=>d("cover","cover","setTiltPosition","mutation",n),getStatus:n=>d("cover","cover","getStatus","query",n)},ge={getDeviceSettingsContribution:n=>d("detection-pipeline","detectionPipeline","getDeviceSettingsContribution","query",n),getDeviceLiveContribution:n=>d("detection-pipeline","detectionPipeline","getDeviceLiveContribution","query",n),applyDeviceSettingsPatch:n=>d("detection-pipeline","detectionPipeline","applyDeviceSettingsPatch","mutation",n)},ye={listDiscovered:n=>d("device-discovery","deviceDiscovery","listDiscovered","query",n),refreshDiscovery:n=>d("device-discovery","deviceDiscovery","refreshDiscovery","mutation",n),adoptDevice:n=>d("device-discovery","deviceDiscovery","adoptDevice","mutation",n),releaseDevice:n=>d("device-discovery","deviceDiscovery","releaseDevice","mutation",n),getStatus:n=>d("device-discovery","deviceDiscovery","getStatus","query",n)},he={getStreamSources:n=>d("device-ops","deviceOps","getStreamSources","query",n),getConfigEntries:n=>d("device-ops","deviceOps","getConfigEntries","query",n),setConfig:n=>d("device-ops","deviceOps","setConfig","mutation",n),runAction:n=>d("device-ops","deviceOps","runAction","mutation",n),removeDevice:n=>d("device-ops","deviceOps","removeDevice","mutation",n),getSettingsSchema:n=>d("device-ops","deviceOps","getSettingsSchema","query",n),getRawState:n=>d("device-ops","deviceOps","getRawState","query",n)},ve={getStatus:n=>d("device-status","deviceStatus","getStatus","query",n)},fe={getStatus:n=>d("doorbell","doorbell","getStatus","query",n)},be={getStatus:n=>d("enum-sensor","enumSensor","getStatus","query",n)},Ie={getStatus:n=>d("event-emitter","eventEmitter","getStatus","query",n)},Ce={getEvents:n=>d("events","events","getEvents","query",n),getEventThumbnail:n=>d("events","events","getEventThumbnail","query",n),getEventClipUrl:n=>d("events","events","getEventClipUrl","query",n)},s={setPercentage:n=>d("fan-control","fanControl","setPercentage","mutation",n),setPreset:n=>d("fan-control","fanControl","setPreset","mutation",n),setDirection:n=>d("fan-control","fanControl","setDirection","mutation",n),setOscillating:n=>d("fan-control","fanControl","setOscillating","mutation",n),getStatus:n=>d("fan-control","fanControl","getStatus","query",n)},P={getStatus:n=>d("feature-probe","featureProbe","getStatus","query",n)},z={getStatus:n=>d("flood","flood","getStatus","query",n)},T={getStatus:n=>d("gas","gas","getStatus","query",n)},j={setOn:n=>d("humidifier","humidifier","setOn","mutation",n),setTargetHumidity:n=>d("humidifier","humidifier","setTargetHumidity","mutation",n),setMode:n=>d("humidifier","humidifier","setMode","mutation",n),getStatus:n=>d("humidifier","humidifier","getStatus","query",n)},F={getStatus:n=>d("humidity-sensor","humiditySensor","getStatus","query",n)},O={getStatus:n=>d("image","image","getStatus","query",n)},Ye={startSession:n=>d("intercom","intercom","startSession","mutation",n),handleAnswer:n=>d("intercom","intercom","handleAnswer","mutation",n),stopSession:n=>d("intercom","intercom","stopSession","mutation",n),startTalkSession:n=>d("intercom","intercom","startTalkSession","mutation",n),pushTalkAudio:n=>d("intercom","intercom","pushTalkAudio","mutation",n),endTalkSession:n=>d("intercom","intercom","endTalkSession","mutation",n),getStatus:n=>d("intercom","intercom","getStatus","query",n)},Qe={startMowing:n=>d("lawn-mower-control","lawnMowerControl","startMowing","mutation",n),pause:n=>d("lawn-mower-control","lawnMowerControl","pause","mutation",n),dock:n=>d("lawn-mower-control","lawnMowerControl","dock","mutation",n),getStatus:n=>d("lawn-mower-control","lawnMowerControl","getStatus","query",n)},Je={lock:n=>d("lock-control","lockControl","lock","mutation",n),unlock:n=>d("lock-control","lockControl","unlock","mutation",n),open:n=>d("lock-control","lockControl","open","mutation",n),getStatus:n=>d("lock-control","lockControl","getStatus","query",n)},Xe={play:n=>d("media-player","mediaPlayer","play","mutation",n),pause:n=>d("media-player","mediaPlayer","pause","mutation",n),stop:n=>d("media-player","mediaPlayer","stop","mutation",n),next:n=>d("media-player","mediaPlayer","next","mutation",n),previous:n=>d("media-player","mediaPlayer","previous","mutation",n),seek:n=>d("media-player","mediaPlayer","seek","mutation",n),setVolume:n=>d("media-player","mediaPlayer","setVolume","mutation",n),setMute:n=>d("media-player","mediaPlayer","setMute","mutation",n),setShuffle:n=>d("media-player","mediaPlayer","setShuffle","mutation",n),setRepeat:n=>d("media-player","mediaPlayer","setRepeat","mutation",n),selectSource:n=>d("media-player","mediaPlayer","selectSource","mutation",n),playMedia:n=>d("media-player","mediaPlayer","playMedia","mutation",n),getStatus:n=>d("media-player","mediaPlayer","getStatus","query",n)},et={isDetected:n=>d("motion","motion","isDetected","query",n),getStatus:n=>d("motion","motion","getStatus","query",n)},tt={analyze:n=>d("motion-detection","motionDetection","analyze","mutation",n),removeCamera:n=>d("motion-detection","motionDetection","removeCamera","mutation",n),reset:n=>d("motion-detection","motionDetection","reset","mutation",n),getDeviceSettingsContribution:n=>d("motion-detection","motionDetection","getDeviceSettingsContribution","query",n),getDeviceLiveContribution:n=>d("motion-detection","motionDetection","getDeviceLiveContribution","query",n),applyDeviceSettingsPatch:n=>d("motion-detection","motionDetection","applyDeviceSettingsPatch","mutation",n)},at={setMotionTrigger:n=>d("motion-trigger","motionTrigger","setMotionTrigger","mutation",n),getStatus:n=>d("motion-trigger","motionTrigger","getStatus","query",n)},st={getOptions:n=>d("motion-zones","motionZones","getOptions","query",n),setZone:n=>d("motion-zones","motionZones","setZone","mutation",n),getStatus:n=>d("motion-zones","motionZones","getStatus","query",n)},it={setEnabled:n=>d("native-object-detection","nativeObjectDetection","setEnabled","mutation",n),getStatus:n=>d("native-object-detection","nativeObjectDetection","getStatus","query",n)},nt={send:n=>d("notifier","notifier","send","mutation",n),cancel:n=>d("notifier","notifier","cancel","mutation",n),getStatus:n=>d("notifier","notifier","getStatus","query",n)},ot={getStatus:n=>d("numeric-sensor","numericSensor","getStatus","query",n)},ct={setOverlay:n=>d("osd","osd","setOverlay","mutation",n),getStatus:n=>d("osd","osd","getStatus","query",n)},rt={getActiveTracks:n=>d("pipeline-analytics","pipelineAnalytics","getActiveTracks","query",n),getTrack:n=>d("pipeline-analytics","pipelineAnalytics","getTrack","query",n),listTracks:n=>d("pipeline-analytics","pipelineAnalytics","listTracks","query",n),clearTracks:n=>d("pipeline-analytics","pipelineAnalytics","clearTracks","mutation",n),getMotionEvents:n=>d("pipeline-analytics","pipelineAnalytics","getMotionEvents","query",n),getObjectEvents:n=>d("pipeline-analytics","pipelineAnalytics","getObjectEvents","query",n),getAudioEvents:n=>d("pipeline-analytics","pipelineAnalytics","getAudioEvents","query",n),getEventDensity:n=>d("pipeline-analytics","pipelineAnalytics","getEventDensity","query",n),pruneEventsBefore:n=>d("pipeline-analytics","pipelineAnalytics","pruneEventsBefore","mutation",n),getEventMedia:n=>d("pipeline-analytics","pipelineAnalytics","getEventMedia","query",n),getTrackMedia:n=>d("pipeline-analytics","pipelineAnalytics","getTrackMedia","query",n),getDeviceSettingsContribution:n=>d("pipeline-analytics","pipelineAnalytics","getDeviceSettingsContribution","query",n),getDeviceLiveContribution:n=>d("pipeline-analytics","pipelineAnalytics","getDeviceLiveContribution","query",n),applyDeviceSettingsPatch:n=>d("pipeline-analytics","pipelineAnalytics","applyDeviceSettingsPatch","mutation",n)},dt={getStatus:n=>d("power-meter","powerMeter","getStatus","query",n)},lt={getStatus:n=>d("presence","presence","getStatus","query",n)},pt={getStatus:n=>d("pressure-sensor","pressureSensor","getStatus","query",n)},mt={getOptions:n=>d("privacy-mask","privacyMask","getOptions","query",n),setMask:n=>d("privacy-mask","privacyMask","setMask","mutation",n),getStatus:n=>d("privacy-mask","privacyMask","getStatus","query",n)},ut={move:n=>d("ptz","ptz","move","mutation",n),continuousMove:n=>d("ptz","ptz","continuousMove","mutation",n),stop:n=>d("ptz","ptz","stop","mutation",n),getPresets:n=>d("ptz","ptz","getPresets","query",n),goToPreset:n=>d("ptz","ptz","goToPreset","mutation",n),savePreset:n=>d("ptz","ptz","savePreset","mutation",n),deletePreset:n=>d("ptz","ptz","deletePreset","mutation",n),getOptions:n=>d("ptz","ptz","getOptions","query",n),goHome:n=>d("ptz","ptz","goHome","mutation",n),getPosition:n=>d("ptz","ptz","getPosition","query",n),setAutofocus:n=>d("ptz","ptz","setAutofocus","mutation",n),getStatus:n=>d("ptz","ptz","getStatus","query",n)},St={getStatus:n=>d("ptz-autotrack","ptzAutotrack","getStatus","query",n),setEnabled:n=>d("ptz-autotrack","ptzAutotrack","setEnabled","mutation",n),getSettings:n=>d("ptz-autotrack","ptzAutotrack","getSettings","query",n),setSettings:n=>d("ptz-autotrack","ptzAutotrack","setSettings","mutation",n)},gt={reboot:n=>d("reboot","reboot","reboot","mutation",n)},yt={run:n=>d("script-runner","scriptRunner","run","mutation",n),stop:n=>d("script-runner","scriptRunner","stop","mutation",n),getStatus:n=>d("script-runner","scriptRunner","getStatus","query",n)},ht={getStatus:n=>d("smoke","smoke","getStatus","query",n)},vt={getSnapshot:n=>d("snapshot","snapshot","getSnapshot","query",n),invalidateCache:n=>d("snapshot","snapshot","invalidateCache","mutation",n),getStatus:n=>d("snapshot","snapshot","getStatus","query",n),getDeviceSettingsContribution:n=>d("snapshot","snapshot","getDeviceSettingsContribution","query",n),getDeviceLiveContribution:n=>d("snapshot","snapshot","getDeviceLiveContribution","query",n),applyDeviceSettingsPatch:n=>d("snapshot","snapshot","applyDeviceSettingsPatch","mutation",n)},ft={getCatalog:n=>d("stream-catalog","streamCatalog","getCatalog","query",n)},bt={getOptions:n=>d("stream-params","streamParams","getOptions","query",n),setProfile:n=>d("stream-params","streamParams","setProfile","mutation",n),getConfigSchema:n=>d("stream-params","streamParams","getConfigSchema","query",n),getStatus:n=>d("stream-params","streamParams","getStatus","query",n)},It={setState:n=>d("switch","switch","setState","mutation",n),getStatus:n=>d("switch","switch","getStatus","query",n)},Ct={getStatus:n=>d("tamper","tamper","getStatus","query",n)},kt={getStatus:n=>d("temperature-sensor","temperatureSensor","getStatus","query",n)},wt={installUpdate:n=>d("update","update","installUpdate","mutation",n),getStatus:n=>d("update","update","getStatus","query",n)},At={start:n=>d("vacuum-control","vacuumControl","start","mutation",n),pause:n=>d("vacuum-control","vacuumControl","pause","mutation",n),stop:n=>d("vacuum-control","vacuumControl","stop","mutation",n),returnToBase:n=>d("vacuum-control","vacuumControl","returnToBase","mutation",n),locate:n=>d("vacuum-control","vacuumControl","locate","mutation",n),setFanSpeed:n=>d("vacuum-control","vacuumControl","setFanSpeed","mutation",n),getStatus:n=>d("vacuum-control","vacuumControl","getStatus","query",n)},Nt={open:n=>d("valve","valve","open","mutation",n),close:n=>d("valve","valve","close","mutation",n),stop:n=>d("valve","valve","stop","mutation",n),setPosition:n=>d("valve","valve","setPosition","mutation",n),getStatus:n=>d("valve","valve","getStatus","query",n)},Pt={getStatus:n=>d("vibration","vibration","getStatus","query",n)},Mt={setTargetTemp:n=>d("water-heater","waterHeater","setTargetTemp","mutation",n),setOperationMode:n=>d("water-heater","waterHeater","setOperationMode","mutation",n),setAway:n=>d("water-heater","waterHeater","setAway","mutation",n),getStatus:n=>d("water-heater","waterHeater","getStatus","query",n)},Dt={getStatus:n=>d("weather","weather","getStatus","query",n)},Et={listStreams:n=>d("webrtc-session","webrtcSession","listStreams","query",n),createSession:n=>d("webrtc-session","webrtcSession","createSession","mutation",n),handleOffer:n=>d("webrtc-session","webrtcSession","handleOffer","mutation",n),handleAnswer:n=>d("webrtc-session","webrtcSession","handleAnswer","mutation",n),addIceCandidate:n=>d("webrtc-session","webrtcSession","addIceCandidate","mutation",n),getIceCandidates:n=>d("webrtc-session","webrtcSession","getIceCandidates","query",n),closeSession:n=>d("webrtc-session","webrtcSession","closeSession","mutation",n),hasAdaptiveBitrate:n=>d("webrtc-session","webrtcSession","hasAdaptiveBitrate","query",n),getSessionState:n=>d("webrtc-session","webrtcSession","getSessionState","query",n)},Rt={getCurrentSnapshot:n=>d("zone-analytics","zoneAnalytics","getCurrentSnapshot","query",n),getZoneHistory:n=>d("zone-analytics","zoneAnalytics","getZoneHistory","query",n),getCameraHistory:n=>d("zone-analytics","zoneAnalytics","getCameraHistory","query",n),getUnzonedHistory:n=>d("zone-analytics","zoneAnalytics","getUnzonedHistory","query",n)},Tt={listRules:n=>d("zone-rules","zoneRules","listRules","query",n),setRules:n=>d("zone-rules","zoneRules","setRules","mutation",n)},Ot={listZones:n=>d("zones","zones","listZones","query",n),addZone:n=>d("zones","zones","addZone","mutation",n),removeZone:n=>d("zones","zones","removeZone","mutation",n),updateZone:n=>d("zones","zones","updateZone","mutation",n)},qt={getDeviceSettings:n=>p("addonSettings","getDeviceSettings","query",n),updateDeviceSettings:n=>p("addonSettings","updateDeviceSettings","mutation",n)},Bt={getDeviceSettingsContribution:n=>p("cameraPipelineConfig","getDeviceSettingsContribution","query",n),getDeviceLiveContribution:n=>p("cameraPipelineConfig","getDeviceLiveContribution","query",n),applyDeviceSettingsPatch:n=>p("cameraPipelineConfig","applyDeviceSettingsPatch","mutation",n)},xt={getStatus:n=>p("deviceAdoption","getStatus","query",n)},Lt={getDeviceSettingsContribution:n=>p("deviceExport","getDeviceSettingsContribution","query",n),getDeviceLiveContribution:n=>p("deviceExport","getDeviceLiveContribution","query",n),applyDeviceSettingsPatch:n=>p("deviceExport","applyDeviceSettingsPatch","mutation",n)},_t={loadConfig:n=>p("deviceManager","loadConfig","query",n),loadRuntimeState:n=>p("deviceManager","loadRuntimeState","query",n),loadMeta:n=>p("deviceManager","loadMeta","query",n),setName:n=>p("deviceManager","setName","mutation",n),setLocation:n=>p("deviceManager","setLocation","mutation",n),setType:n=>p("deviceManager","setType","mutation",n),setIntegrationId:n=>p("deviceManager","setIntegrationId","mutation",n),setLinkDeviceId:n=>p("deviceManager","setLinkDeviceId","mutation",n),setPrimaryChildEntityId:n=>p("deviceManager","setPrimaryChildEntityId","mutation",n),setChildLayout:n=>p("deviceManager","setChildLayout","mutation",n),setDeviceLinks:n=>p("deviceManager","setDeviceLinks","mutation",n),getWireableFields:n=>p("deviceManager","getWireableFields","query",n),setRole:n=>p("deviceManager","setRole","mutation",n),applyInitialMeta:n=>p("deviceManager","applyInitialMeta","mutation",n),setMetadata:n=>p("deviceManager","setMetadata","mutation",n),setDisabled:n=>p("deviceManager","setDisabled","mutation",n),getDevice:n=>p("deviceManager","getDevice","query",n),getStreamSources:n=>p("deviceManager","getStreamSources","query",n),getConfigSchema:n=>p("deviceManager","getConfigSchema","query",n),getSettingsSchema:n=>p("deviceManager","getSettingsSchema","query",n),updateConfig:n=>p("deviceManager","updateConfig","mutation",n),enable:n=>p("deviceManager","enable","mutation",n),disable:n=>p("deviceManager","disable","mutation",n),remove:n=>p("deviceManager","remove","mutation",n),getStreamProfileMap:n=>p("deviceManager","getStreamProfileMap","query",n),setStreamProfileMap:n=>p("deviceManager","setStreamProfileMap","mutation",n),probeStreams:n=>p("deviceManager","probeStreams","mutation",n),getBindings:n=>p("deviceManager","getBindings","query",n),getAllBindings:n=>p("deviceManager","getAllBindings","query",n),setWrapperActive:n=>p("deviceManager","setWrapperActive","mutation",n),getDeviceSettingsAggregate:n=>p("deviceManager","getDeviceSettingsAggregate","query",n),getDeviceLiveInfoAggregate:n=>p("deviceManager","getDeviceLiveInfoAggregate","query",n),getDeviceAggregate:n=>p("deviceManager","getDeviceAggregate","query",n),runDeviceAction:n=>p("deviceManager","runDeviceAction","mutation",n),updateDeviceField:n=>p("deviceManager","updateDeviceField","mutation",n),updateDeviceFieldsBatch:n=>p("deviceManager","updateDeviceFieldsBatch","mutation",n),testField:n=>p("deviceManager","testField","mutation",n),getDeviceStatusAggregate:n=>p("deviceManager","getDeviceStatusAggregate","query",n)},zt={getSnapshot:n=>p("deviceState","getSnapshot","query",n),getCapSlice:n=>p("deviceState","getCapSlice","query",n),setCapSlice:n=>p("deviceState","setCapSlice","mutation",n)},Ft={getDeviceStats:n=>p("networkQuality","getDeviceStats","query",n),reportClientStats:n=>p("networkQuality","reportClientStats","mutation",n)},Ut={runPipeline:n=>p("pipelineExecutor","runPipeline","mutation",n),runPipelineBatch:n=>p("pipelineExecutor","runPipelineBatch","mutation",n)},Ht={assignPipeline:n=>p("pipelineOrchestrator","assignPipeline","mutation",n),unassignPipeline:n=>p("pipelineOrchestrator","unassignPipeline","mutation",n),getPipelineAssignment:n=>p("pipelineOrchestrator","getPipelineAssignment","query",n),getCameraMetrics:n=>p("pipelineOrchestrator","getCameraMetrics","query",n),assignDecoder:n=>p("pipelineOrchestrator","assignDecoder","mutation",n),unassignDecoder:n=>p("pipelineOrchestrator","unassignDecoder","mutation",n),assignAudio:n=>p("pipelineOrchestrator","assignAudio","mutation",n),unassignAudio:n=>p("pipelineOrchestrator","unassignAudio","mutation",n),getAudioAssignment:n=>p("pipelineOrchestrator","getAudioAssignment","query",n),getAudioAssignments:n=>p("pipelineOrchestrator","getAudioAssignments","query",n),getDecoderAssignment:n=>p("pipelineOrchestrator","getDecoderAssignment","query",n),getCameraSettings:n=>p("pipelineOrchestrator","getCameraSettings","query",n),setCameraStepToggle:n=>p("pipelineOrchestrator","setCameraStepToggle","mutation",n),getCameraStepOverrides:n=>p("pipelineOrchestrator","getCameraStepOverrides","query",n),setCameraStepOverride:n=>p("pipelineOrchestrator","setCameraStepOverride","mutation",n),setCameraPipelineForAgent:n=>p("pipelineOrchestrator","setCameraPipelineForAgent","mutation",n),resolvePipeline:n=>p("pipelineOrchestrator","resolvePipeline","query",n),getDeviceSettingsContribution:n=>p("pipelineOrchestrator","getDeviceSettingsContribution","query",n),getDeviceLiveContribution:n=>p("pipelineOrchestrator","getDeviceLiveContribution","query",n),applyDeviceSettingsPatch:n=>p("pipelineOrchestrator","applyDeviceSettingsPatch","mutation",n)},$t={detachCamera:n=>p("pipelineRunner","detachCamera","mutation",n),getCameraMetrics:n=>p("pipelineRunner","getCameraMetrics","query",n)},Wt={getAvailability:n=>p("recording","getAvailability","query",n),getPlaybackManifest:n=>p("recording","getPlaybackManifest","query",n),getDeviceConfig:n=>p("recording","getDeviceConfig","query",n),setDeviceConfig:n=>p("recording","setDeviceConfig","mutation",n),rescanStorage:n=>p("recording","rescanStorage","mutation",n),pruneFootage:n=>p("recording","pruneFootage","mutation",n),getStatus:n=>p("recording","getStatus","query",n),getDeviceSettingsContribution:n=>p("recording","getDeviceSettingsContribution","query",n),getDeviceLiveContribution:n=>p("recording","getDeviceLiveContribution","query",n),applyDeviceSettingsPatch:n=>p("recording","applyDeviceSettingsPatch","mutation",n)},Kt={supportsDevice:n=>p("snapshotProvider","supportsDevice","query",n),getSnapshot:n=>p("snapshotProvider","getSnapshot","query",n)},Zt={publishCameraStream:n=>p("streamBroker","publishCameraStream","mutation",n),retractCameraStream:n=>p("streamBroker","retractCameraStream","mutation",n),assignProfile:n=>p("streamBroker","assignProfile","mutation",n),unassignProfile:n=>p("streamBroker","unassignProfile","mutation",n),restartProfile:n=>p("streamBroker","restartProfile","mutation",n),getDeviceSettingsContribution:n=>p("streamBroker","getDeviceSettingsContribution","query",n),getDeviceLiveContribution:n=>p("streamBroker","getDeviceLiveContribution","query",n),applyDeviceSettingsPatch:n=>p("streamBroker","applyDeviceSettingsPatch","mutation",n)};return{deviceId:t.deviceId,binding:t,state:{airQualitySensor:y(r,t.deviceId,"air-quality-sensor"),alarmPanel:y(r,t.deviceId,"alarm-panel"),ambientLightSensor:y(r,t.deviceId,"ambient-light-sensor"),audioMetrics:y(r,t.deviceId,"audio-metrics"),automationControl:y(r,t.deviceId,"automation-control"),battery:y(r,t.deviceId,"battery"),binary:y(r,t.deviceId,"binary"),brightness:y(r,t.deviceId,"brightness"),cameraStreams:y(r,t.deviceId,"camera-streams"),carbonMonoxide:y(r,t.deviceId,"carbon-monoxide"),climateControl:y(r,t.deviceId,"climate-control"),color:y(r,t.deviceId,"color"),connectivity:y(r,t.deviceId,"connectivity"),consumables:y(r,t.deviceId,"consumables"),contact:y(r,t.deviceId,"contact"),control:y(r,t.deviceId,"control"),cover:y(r,t.deviceId,"cover"),deviceDiscovery:y(r,t.deviceId,"device-discovery"),deviceStatus:y(r,t.deviceId,"device-status"),doorbell:y(r,t.deviceId,"doorbell"),enumSensor:y(r,t.deviceId,"enum-sensor"),eventEmitter:y(r,t.deviceId,"event-emitter"),fanControl:y(r,t.deviceId,"fan-control"),featureProbe:y(r,t.deviceId,"feature-probe"),flood:y(r,t.deviceId,"flood"),gas:y(r,t.deviceId,"gas"),humidifier:y(r,t.deviceId,"humidifier"),humiditySensor:y(r,t.deviceId,"humidity-sensor"),image:y(r,t.deviceId,"image"),lawnMowerControl:y(r,t.deviceId,"lawn-mower-control"),lockControl:y(r,t.deviceId,"lock-control"),mediaPlayer:y(r,t.deviceId,"media-player"),motion:y(r,t.deviceId,"motion"),motionTrigger:y(r,t.deviceId,"motion-trigger"),motionZones:y(r,t.deviceId,"motion-zones"),nativeObjectDetection:y(r,t.deviceId,"native-object-detection"),notifier:y(r,t.deviceId,"notifier"),numericSensor:y(r,t.deviceId,"numeric-sensor"),powerMeter:y(r,t.deviceId,"power-meter"),presence:y(r,t.deviceId,"presence"),pressureSensor:y(r,t.deviceId,"pressure-sensor"),privacyMask:y(r,t.deviceId,"privacy-mask"),ptzAutotrack:y(r,t.deviceId,"ptz-autotrack"),scriptRunner:y(r,t.deviceId,"script-runner"),smoke:y(r,t.deviceId,"smoke"),streamParams:y(r,t.deviceId,"stream-params"),switch:y(r,t.deviceId,"switch"),tamper:y(r,t.deviceId,"tamper"),temperatureSensor:y(r,t.deviceId,"temperature-sensor"),update:y(r,t.deviceId,"update"),vacuumControl:y(r,t.deviceId,"vacuum-control"),valve:y(r,t.deviceId,"valve"),vibration:y(r,t.deviceId,"vibration"),waterHeater:y(r,t.deviceId,"water-heater"),weather:y(r,t.deviceId,"weather"),zoneAnalytics:y(r,t.deviceId,"zone-analytics"),zoneRules:y(r,t.deviceId,"zone-rules"),zones:y(r,t.deviceId,"zones")},accessories:u,airQualitySensor:g,alarmPanel:S,ambientLightSensor:h,audioAnalysis:b,audioMetrics:C,automationControl:v,battery:f,binary:k,brightness:se,button:ie,cameraCredentials:ne,cameraStreams:oe,carbonMonoxide:ce,climateControl:re,color:de,connectivity:le,consumables:pe,contact:me,control:ue,cover:Se,detectionPipeline:ge,deviceDiscovery:ye,deviceOps:he,deviceStatus:ve,doorbell:fe,enumSensor:be,eventEmitter:Ie,events:Ce,fanControl:s,featureProbe:P,flood:z,gas:T,humidifier:j,humiditySensor:F,image:O,intercom:Ye,lawnMowerControl:Qe,lockControl:Je,mediaPlayer:Xe,motion:et,motionDetection:tt,motionTrigger:at,motionZones:st,nativeObjectDetection:it,notifier:nt,numericSensor:ot,osd:ct,pipelineAnalytics:rt,powerMeter:dt,presence:lt,pressureSensor:pt,privacyMask:mt,ptz:ut,ptzAutotrack:St,reboot:gt,scriptRunner:yt,smoke:ht,snapshot:vt,streamCatalog:ft,streamParams:bt,switch:It,tamper:Ct,temperatureSensor:kt,update:wt,vacuumControl:At,valve:Nt,vibration:Pt,waterHeater:Mt,weather:Dt,webrtcSession:Et,zoneAnalytics:Rt,zoneRules:Tt,zones:Ot,addonSettings:qt,cameraPipelineConfig:Bt,deviceAdoption:xt,deviceExport:Lt,deviceManager:_t,deviceState:zt,networkQuality:Ft,pipelineExecutor:Ut,pipelineOrchestrator:Ht,pipelineRunner:$t,recording:Wt,snapshotProvider:Kt,streamBroker:Zt}}function ms(o,t,e,c,r){if(e.length===0||t.length===0)return{passed:o,excluded:[]};const l=e.filter(h=>h.enabled!==!1),m=l.filter(h=>h.mode==="include"),d=l.filter(h=>h.mode==="exclude"),p=m.length>0,u=new Map(t.map(h=>[h.id,h])),g=[],S=[];for(const h of o){const b=c(h),C=r?.(h),v=m.some(k=>we(k,b,C,u)),f=d.some(k=>we(k,b,C,u));p?v&&!f?g.push(h):S.push(h):f?S.push(h):g.push(h)}return{passed:g,excluded:S}}function we(o,t,e,c){if(o.classFilter&&o.classFilter.length>0&&e!==void 0&&!o.classFilter.includes(e))return!1;for(const r of o.zoneIds){const l=c.get(r);if(l&&us(t,l.polygon))return!0}return!1}function us(o,t){if(t.length<3)return!1;let e=!1;const{x:c,y:r}=o;for(let l=0,m=t.length-1;l<t.length;m=l++){const d=t[l],p=t[m];d.y>r!=p.y>r&&c<(p.x-d.x)*(r-d.y)/(p.y-d.y||Number.EPSILON)+d.x&&(e=!e)}return e}function Ss(o){const t=o;function e(s,P,z,T,j){const F=t[s]?.[P];if(!F)throw new Error(`SystemProxy: api has no '${s}.${P}'`);const O=F;return z==="mutation"?O.mutate(T):z==="subscription"?O.subscribe(T,j):O.query(T)}return{addonPages:{listPages:s=>e("addonPages","listPages","query",s)},addons:{list:s=>e("addons","list","query",s),getLogs:s=>e("addons","getLogs","query",s),listPackages:s=>e("addons","listPackages","query",s),installPackage:s=>e("addons","installPackage","mutation",s),installFromWorkspace:s=>e("addons","installFromWorkspace","mutation",s),isWorkspaceAvailable:s=>e("addons","isWorkspaceAvailable","query",s),listWorkspacePackages:s=>e("addons","listWorkspacePackages","query",s),uninstallPackage:s=>e("addons","uninstallPackage","mutation",s),reloadPackages:s=>e("addons","reloadPackages","mutation",s),searchAvailable:s=>e("addons","searchAvailable","query",s),listUpdates:s=>e("addons","listUpdates","query",s),updatePackage:s=>e("addons","updatePackage","mutation",s),rollbackPackage:s=>e("addons","rollbackPackage","mutation",s),forceRefresh:s=>e("addons","forceRefresh","mutation",s),restartServer:s=>e("addons","restartServer","mutation",s),getLastRestart:s=>e("addons","getLastRestart","query",s),listFrameworkPackages:s=>e("addons","listFrameworkPackages","query",s),listCapabilityProviders:s=>e("addons","listCapabilityProviders","query",s),setCapabilityProviderEnabled:s=>e("addons","setCapabilityProviderEnabled","mutation",s),updateFrameworkPackage:s=>e("addons","updateFrameworkPackage","mutation",s),startBulkUpdate:s=>e("addons","startBulkUpdate","mutation",s),getBulkUpdateState:s=>e("addons","getBulkUpdateState","query",s),cancelBulkUpdate:s=>e("addons","cancelBulkUpdate","mutation",s),listActiveBulkUpdates:s=>e("addons","listActiveBulkUpdates","query",s),getVersions:s=>e("addons","getVersions","query",s),restartAddon:s=>e("addons","restartAddon","mutation",s),retryLoad:s=>e("addons","retryLoad","mutation",s),getAutoUpdateSettings:s=>e("addons","getAutoUpdateSettings","query",s),setAutoUpdateSettings:s=>e("addons","setAutoUpdateSettings","mutation",s),getAddonAutoUpdate:s=>e("addons","getAddonAutoUpdate","query",s),setAddonAutoUpdate:s=>e("addons","setAddonAutoUpdate","mutation",s),applyAutoUpdateToAll:s=>e("addons","applyAutoUpdateToAll","mutation",s),custom:s=>e("addons","custom","mutation",s),onAddonLogs:(s,P)=>e("addons","onAddonLogs","subscription",s,P)},addonSettings:{getGlobalSettings:s=>e("addonSettings","getGlobalSettings","query",s),updateGlobalSettings:s=>e("addonSettings","updateGlobalSettings","mutation",s)},addonWidgets:{listWidgets:s=>e("addonWidgets","listWidgets","query",s)},alerts:{emit:s=>e("alerts","emit","mutation",s),update:s=>e("alerts","update","mutation",s),list:s=>e("alerts","list","query",s),getUnreadCount:s=>e("alerts","getUnreadCount","query",s),markRead:s=>e("alerts","markRead","mutation",s),markAllRead:s=>e("alerts","markAllRead","mutation",s),dismiss:s=>e("alerts","dismiss","mutation",s)},audioAnalyzer:{analyseChunk:s=>e("audioAnalyzer","analyseChunk","mutation",s),classify:s=>e("audioAnalyzer","classify","query",s),isReady:s=>e("audioAnalyzer","isReady","query",s),dispose:s=>e("audioAnalyzer","dispose","mutation",s),reprobeAudioEngine:s=>e("audioAnalyzer","reprobeAudioEngine","mutation",s)},audioCodec:{listSupportedCodecs:s=>e("audioCodec","listSupportedCodecs","query",s),canHandle:s=>e("audioCodec","canHandle","query",s),createDecodeSession:s=>e("audioCodec","createDecodeSession","mutation",s),createEncodeSession:s=>e("audioCodec","createEncodeSession","mutation",s),closeSession:s=>e("audioCodec","closeSession","mutation",s),pushEncodedFrame:s=>e("audioCodec","pushEncodedFrame","mutation",s),pullPcm:s=>e("audioCodec","pullPcm","query",s),pushPcm:s=>e("audioCodec","pushPcm","mutation",s),pullEncoded:s=>e("audioCodec","pullEncoded","query",s),flushEncode:s=>e("audioCodec","flushEncode","mutation",s),listActiveSessions:s=>e("audioCodec","listActiveSessions","query",s)},backup:{listDestinations:s=>e("backup","listDestinations","query",s),trigger:s=>e("backup","trigger","mutation",s),list:s=>e("backup","list","query",s),listLocations:s=>e("backup","listLocations","query",s),getEntries:s=>e("backup","getEntries","query",s),restore:s=>e("backup","restore","mutation",s),delete:s=>e("backup","delete","mutation",s),listArchives:s=>e("backup","listArchives","query",s),upsertDestinationPolicy:s=>e("backup","upsertDestinationPolicy","mutation",s),previewSchedule:s=>e("backup","previewSchedule","query",s)},broker:{list:s=>e("broker","list","query",s),get:s=>e("broker","get","query",s),listProviders:s=>e("broker","listProviders","query",s),add:s=>e("broker","add","mutation",s),remove:s=>e("broker","remove","mutation",s),testConnection:s=>e("broker","testConnection","mutation",s),getSettings:s=>e("broker","getSettings","query",s),setSettings:s=>e("broker","setSettings","mutation",s),getBrokerConfig:s=>e("broker","getBrokerConfig","query",s),getSettingsSchema:s=>e("broker","getSettingsSchema","query",s),testSettings:s=>e("broker","testSettings","mutation",s),publish:s=>e("broker","publish","mutation",s),subscribe:s=>e("broker","subscribe","mutation",s),unsubscribe:s=>e("broker","unsubscribe","mutation",s),getState:s=>e("broker","getState","query",s),getStatus:s=>e("broker","getStatus","query",s)},decoder:{supportsCodec:s=>e("decoder","supportsCodec","query",s),getInfo:s=>e("decoder","getInfo","query",s),createSession:s=>e("decoder","createSession","query",s),destroySession:s=>e("decoder","destroySession","query",s),pushPacket:s=>e("decoder","pushPacket","query",s),openStream:s=>e("decoder","openStream","query",s),pullFrames:s=>e("decoder","pullFrames","query",s),pullHandles:s=>e("decoder","pullHandles","query",s),getFrame:s=>e("decoder","getFrame","query",s),getShmStats:s=>e("decoder","getShmStats","query",s),updateConfig:s=>e("decoder","updateConfig","query",s),getStats:s=>e("decoder","getStats","query",s),listActiveSessions:s=>e("decoder","listActiveSessions","query",s),reprobeHwaccel:s=>e("decoder","reprobeHwaccel","mutation",s)},deviceAdoption:{listCandidateFilters:s=>e("deviceAdoption","listCandidateFilters","query",s),listCandidates:s=>e("deviceAdoption","listCandidates","query",s),getCandidate:s=>e("deviceAdoption","getCandidate","query",s),refresh:s=>e("deviceAdoption","refresh","mutation",s),adopt:s=>e("deviceAdoption","adopt","mutation",s),release:s=>e("deviceAdoption","release","mutation",s),resync:s=>e("deviceAdoption","resync","mutation",s)},deviceExport:{getStatus:s=>e("deviceExport","getStatus","query",s),listSupportedDeviceKinds:s=>e("deviceExport","listSupportedDeviceKinds","query",s),listExposedDevices:s=>e("deviceExport","listExposedDevices","query",s),exposeDevice:s=>e("deviceExport","exposeDevice","mutation",s),unexposeDevice:s=>e("deviceExport","unexposeDevice","mutation",s)},deviceManager:{allocateDeviceId:s=>e("deviceManager","allocateDeviceId","mutation",s),registerDevice:s=>e("deviceManager","registerDevice","mutation",s),removeDevice:s=>e("deviceManager","removeDevice","mutation",s),persistConfig:s=>e("deviceManager","persistConfig","mutation",s),listLocations:s=>e("deviceManager","listLocations","query",s),addLocation:s=>e("deviceManager","addLocation","mutation",s),removeLocation:s=>e("deviceManager","removeLocation","mutation",s),listPersistedByAddon:s=>e("deviceManager","listPersistedByAddon","query",s),listAll:s=>e("deviceManager","listAll","query",s),getChildren:s=>e("deviceManager","getChildren","query",s),removeByIntegration:s=>e("deviceManager","removeByIntegration","mutation",s),listWrappersForCap:s=>e("deviceManager","listWrappersForCap","query",s),listBindableCapsForDeviceType:s=>e("deviceManager","listBindableCapsForDeviceType","query",s),discoverDevices:s=>e("deviceManager","discoverDevices","mutation",s),adoptDevice:s=>e("deviceManager","adoptDevice","mutation",s),getCreationSchema:s=>e("deviceManager","getCreationSchema","query",s),createDevice:s=>e("deviceManager","createDevice","mutation",s),testCreationField:s=>e("deviceManager","testCreationField","mutation",s),adoptionListCandidates:s=>e("deviceManager","adoptionListCandidates","query",s),adoptionRefresh:s=>e("deviceManager","adoptionRefresh","mutation",s),adoptionAdopt:s=>e("deviceManager","adoptionAdopt","mutation",s),adoptionRelease:s=>e("deviceManager","adoptionRelease","mutation",s)},deviceProvider:{start:s=>e("deviceProvider","start","mutation",s),stop:s=>e("deviceProvider","stop","mutation",s),getStatus:s=>e("deviceProvider","getStatus","query",s),getDevices:s=>e("deviceProvider","getDevices","query",s),supportsDiscovery:s=>e("deviceProvider","supportsDiscovery","query",s),discoverDevices:s=>e("deviceProvider","discoverDevices","mutation",s),adoptDiscoveredDevice:s=>e("deviceProvider","adoptDiscoveredDevice","mutation",s),supportsManualCreation:s=>e("deviceProvider","supportsManualCreation","query",s),getChildCreationSchema:s=>e("deviceProvider","getChildCreationSchema","query",s),createDevice:s=>e("deviceProvider","createDevice","mutation",s),testCreationField:s=>e("deviceProvider","testCreationField","mutation",s)},deviceState:{getAllSnapshots:s=>e("deviceState","getAllSnapshots","query",s)},integrations:{list:s=>e("integrations","list","query",s),get:s=>e("integrations","get","query",s),getByAddonId:s=>e("integrations","getByAddonId","query",s),create:s=>e("integrations","create","mutation",s),update:s=>e("integrations","update","mutation",s),delete:s=>e("integrations","delete","mutation",s),getSettings:s=>e("integrations","getSettings","query",s),setSettings:s=>e("integrations","setSettings","mutation",s),getAvailableTypes:s=>e("integrations","getAvailableTypes","query",s),testConnection:s=>e("integrations","testConnection","mutation",s)},localNetwork:{list:s=>e("localNetwork","list","query",s),getPreferred:s=>e("localNetwork","getPreferred","query",s),getConnectionEndpoints:s=>e("localNetwork","getConnectionEndpoints","query",s),getAllowedAddresses:s=>e("localNetwork","getAllowedAddresses","query",s),setAllowedAddresses:s=>e("localNetwork","setAllowedAddresses","mutation",s),resetAllowlistToBestMatch:s=>e("localNetwork","resetAllowlistToBestMatch","mutation",s)},meshNetwork:{getStatus:s=>e("meshNetwork","getStatus","query",s),join:s=>e("meshNetwork","join","mutation",s),startLogin:s=>e("meshNetwork","startLogin","mutation",s),leave:s=>e("meshNetwork","leave","mutation",s),logout:s=>e("meshNetwork","logout","mutation",s),listPeers:s=>e("meshNetwork","listPeers","query",s),testConnection:s=>e("meshNetwork","testConnection","mutation",s)},metricsProvider:{collectSnapshot:s=>e("metricsProvider","collectSnapshot","query",s),getCached:s=>e("metricsProvider","getCached","query",s),getCurrent:s=>e("metricsProvider","getCurrent","query",s),getDiskSpace:s=>e("metricsProvider","getDiskSpace","query",s),getGpuInfo:s=>e("metricsProvider","getGpuInfo","query",s),getCpuTemperature:s=>e("metricsProvider","getCpuTemperature","query",s),getProcessStats:s=>e("metricsProvider","getProcessStats","query",s),listAddonInstances:s=>e("metricsProvider","listAddonInstances","query",s),getAddonStats:s=>e("metricsProvider","getAddonStats","query",s),listNodeProcesses:s=>e("metricsProvider","listNodeProcesses","query",s),killProcess:s=>e("metricsProvider","killProcess","mutation",s)},mqttBroker:{listBrokers:s=>e("mqttBroker","listBrokers","query",s),getBrokerConfig:s=>e("mqttBroker","getBrokerConfig","query",s),addBroker:s=>e("mqttBroker","addBroker","mutation",s),removeBroker:s=>e("mqttBroker","removeBroker","mutation",s),testConnection:s=>e("mqttBroker","testConnection","mutation",s),startEmbeddedBroker:s=>e("mqttBroker","startEmbeddedBroker","mutation",s),stopEmbeddedBroker:s=>e("mqttBroker","stopEmbeddedBroker","mutation",s),getStatus:s=>e("mqttBroker","getStatus","query",s)},networkAccess:{start:s=>e("networkAccess","start","mutation",s),stop:s=>e("networkAccess","stop","mutation",s),getEndpoint:s=>e("networkAccess","getEndpoint","query",s),getStatus:s=>e("networkAccess","getStatus","query",s),listEndpoints:s=>e("networkAccess","listEndpoints","query",s)},networkQuality:{getAllStats:s=>e("networkQuality","getAllStats","query",s)},nodes:{topology:s=>e("nodes","topology","query",s),deployAddon:s=>e("nodes","deployAddon","mutation",s),undeployAddon:s=>e("nodes","undeployAddon","mutation",s),restartAddon:s=>e("nodes","restartAddon","mutation",s),restartProcess:s=>e("nodes","restartProcess","mutation",s),restartNode:s=>e("nodes","restartNode","mutation",s),shutdownNode:s=>e("nodes","shutdownNode","mutation",s),renameNode:s=>e("nodes","renameNode","mutation",s),clusterAddonStatus:s=>e("nodes","clusterAddonStatus","query",s),getCapUsageGraph:s=>e("nodes","getCapUsageGraph","query",s),getNodeAddons:s=>e("nodes","getNodeAddons","query",s),setProcessLogLevel:s=>e("nodes","setProcessLogLevel","mutation",s),executeQuery:s=>e("nodes","executeQuery","mutation",s)},notificationOutput:{send:s=>e("notificationOutput","send","mutation",s),sendTest:s=>e("notificationOutput","sendTest","mutation",s)},pipelineExecutor:{getAvailableEngines:s=>e("pipelineExecutor","getAvailableEngines","query",s),getSelectedEngine:s=>e("pipelineExecutor","getSelectedEngine","query",s),getDefaultSteps:s=>e("pipelineExecutor","getDefaultSteps","query",s),reprobeEngine:s=>e("pipelineExecutor","reprobeEngine","mutation",s),getVideoPipelineSteps:s=>e("pipelineExecutor","getVideoPipelineSteps","query",s),setVideoPipelineSteps:s=>e("pipelineExecutor","setVideoPipelineSteps","mutation",s),getSchema:s=>e("pipelineExecutor","getSchema","query",s),getGlobalSteps:s=>e("pipelineExecutor","getGlobalSteps","query",s),getGlobalPipelineConfig:s=>e("pipelineExecutor","getGlobalPipelineConfig","query",s),getOrchestratorConfigSchema:s=>e("pipelineExecutor","getOrchestratorConfigSchema","query",s),listTemplates:s=>e("pipelineExecutor","listTemplates","query",s),saveTemplate:s=>e("pipelineExecutor","saveTemplate","mutation",s),updateTemplate:s=>e("pipelineExecutor","updateTemplate","mutation",s),deleteTemplate:s=>e("pipelineExecutor","deleteTemplate","mutation",s),getCapabilities:s=>e("pipelineExecutor","getCapabilities","query",s),getAddonModels:s=>e("pipelineExecutor","getAddonModels","query",s),downloadModel:s=>e("pipelineExecutor","downloadModel","mutation",s),deleteModel:s=>e("pipelineExecutor","deleteModel","mutation",s),detect:s=>e("pipelineExecutor","detect","query",s),cacheFrameInPool:s=>e("pipelineExecutor","cacheFrameInPool","mutation",s),inferCached:s=>e("pipelineExecutor","inferCached","mutation",s),uncacheFrame:s=>e("pipelineExecutor","uncacheFrame","mutation",s),getEffectiveTuning:s=>e("pipelineExecutor","getEffectiveTuning","query",s),listLoadedEngines:s=>e("pipelineExecutor","listLoadedEngines","query",s),spinEngine:s=>e("pipelineExecutor","spinEngine","mutation",s),killEngine:s=>e("pipelineExecutor","killEngine","mutation",s),listReferenceImages:s=>e("pipelineExecutor","listReferenceImages","query",s),getReferenceImage:s=>e("pipelineExecutor","getReferenceImage","query",s),getReferenceAudioFiles:s=>e("pipelineExecutor","getReferenceAudioFiles","query",s),getReferenceAudio:s=>e("pipelineExecutor","getReferenceAudio","query",s),getAudioCapabilities:s=>e("pipelineExecutor","getAudioCapabilities","query",s),runAudioTest:s=>e("pipelineExecutor","runAudioTest","mutation",s),getDetectionConfigSchema:s=>e("pipelineExecutor","getDetectionConfigSchema","query",s)},pipelineOrchestrator:{rebalance:s=>e("pipelineOrchestrator","rebalance","mutation",s),getPipelineAssignments:s=>e("pipelineOrchestrator","getPipelineAssignments","query",s),getAgentLoad:s=>e("pipelineOrchestrator","getAgentLoad","query",s),getGlobalMetrics:s=>e("pipelineOrchestrator","getGlobalMetrics","query",s),getCapabilityBindings:s=>e("pipelineOrchestrator","getCapabilityBindings","query",s),setCapabilityBinding:s=>e("pipelineOrchestrator","setCapabilityBinding","mutation",s),getDecoderAssignments:s=>e("pipelineOrchestrator","getDecoderAssignments","query",s),getAudioNodeLoad:s=>e("pipelineOrchestrator","getAudioNodeLoad","query",s),getAgentSettings:s=>e("pipelineOrchestrator","getAgentSettings","query",s),listAgentSettings:s=>e("pipelineOrchestrator","listAgentSettings","query",s),setAgentAddonDefaults:s=>e("pipelineOrchestrator","setAgentAddonDefaults","mutation",s),removeAgentSettings:s=>e("pipelineOrchestrator","removeAgentSettings","mutation",s),listTemplates:s=>e("pipelineOrchestrator","listTemplates","query",s),saveTemplate:s=>e("pipelineOrchestrator","saveTemplate","mutation",s),updateTemplate:s=>e("pipelineOrchestrator","updateTemplate","mutation",s),deleteTemplate:s=>e("pipelineOrchestrator","deleteTemplate","mutation",s)},pipelineRunner:{attachCamera:s=>e("pipelineRunner","attachCamera","mutation",s),reportMotion:s=>e("pipelineRunner","reportMotion","mutation",s),getLocalLoad:s=>e("pipelineRunner","getLocalLoad","query",s),getLocalMetrics:s=>e("pipelineRunner","getLocalMetrics","query",s),getAllCameraMetrics:s=>e("pipelineRunner","getAllCameraMetrics","query",s),getLocalCameras:s=>e("pipelineRunner","getLocalCameras","query",s)},recording:{getStorageUsage:s=>e("recording","getStorageUsage","query",s)},settingsStore:{get:s=>e("settingsStore","get","query",s),set:s=>e("settingsStore","set","mutation",s),query:s=>e("settingsStore","query","query",s),insert:s=>e("settingsStore","insert","mutation",s),update:s=>e("settingsStore","update","mutation",s),delete:s=>e("settingsStore","delete","mutation",s),count:s=>e("settingsStore","count","query",s),histogram:s=>e("settingsStore","histogram","query",s),isEmpty:s=>e("settingsStore","isEmpty","query",s),declareCollection:s=>e("settingsStore","declareCollection","mutation",s)},storage:{resolve:s=>e("storage","resolve","query",s),write:s=>e("storage","write","mutation",s),read:s=>e("storage","read","query",s),exists:s=>e("storage","exists","query",s),list:s=>e("storage","list","query",s),delete:s=>e("storage","delete","mutation",s),getAvailableSpace:s=>e("storage","getAvailableSpace","query",s),beginUpload:s=>e("storage","beginUpload","mutation",s),writeChunk:s=>e("storage","writeChunk","mutation",s),finalizeUpload:s=>e("storage","finalizeUpload","mutation",s),abortUpload:s=>e("storage","abortUpload","mutation",s),beginDownload:s=>e("storage","beginDownload","mutation",s),readChunk:s=>e("storage","readChunk","query",s),endDownload:s=>e("storage","endDownload","mutation",s),listLocations:s=>e("storage","listLocations","query",s),getDefaultLocation:s=>e("storage","getDefaultLocation","query",s),listLocationDeclarations:s=>e("storage","listLocationDeclarations","query",s),upsertLocation:s=>e("storage","upsertLocation","mutation",s),deleteLocation:s=>e("storage","deleteLocation","mutation",s),testLocation:s=>e("storage","testLocation","query",s),listProviders:s=>e("storage","listProviders","query",s),testConfig:s=>e("storage","testConfig","query",s)},streamBroker:{listAllCameraStreams:s=>e("streamBroker","listAllCameraStreams","query",s),listAllProfileSlots:s=>e("streamBroker","listAllProfileSlots","query",s),getBrokerStats:s=>e("streamBroker","getBrokerStats","query",s),listClients:s=>e("streamBroker","listClients","query",s),killClient:s=>e("streamBroker","killClient","mutation",s),getStreamUrl:s=>e("streamBroker","getStreamUrl","query",s),getStreamWithCodec:s=>e("streamBroker","getStreamWithCodec","mutation",s),releaseStreamWithCodec:s=>e("streamBroker","releaseStreamWithCodec","mutation",s),subscribeAudioChunks:s=>e("streamBroker","subscribeAudioChunks","mutation",s),pullAudioChunks:s=>e("streamBroker","pullAudioChunks","query",s),unsubscribeAudioChunks:s=>e("streamBroker","unsubscribeAudioChunks","mutation",s),subscribeFrames:s=>e("streamBroker","subscribeFrames","mutation",s),pullFrameHandles:s=>e("streamBroker","pullFrameHandles","query",s),unsubscribeFrames:s=>e("streamBroker","unsubscribeFrames","mutation",s),setPreBufferDuration:s=>e("streamBroker","setPreBufferDuration","mutation",s),getPreBufferInfo:s=>e("streamBroker","getPreBufferInfo","query",s),getRtspPort:s=>e("streamBroker","getRtspPort","query",s),getAllRtspEntries:s=>e("streamBroker","getAllRtspEntries","query",s),getRtspEntry:s=>e("streamBroker","getRtspEntry","query",s),regenerateRtspToken:s=>e("streamBroker","regenerateRtspToken","mutation",s),setRtspEnabled:s=>e("streamBroker","setRtspEnabled","mutation",s),isRtspEnabled:s=>e("streamBroker","isRtspEnabled","query",s)},system:{info:s=>e("system","info","query",s),health:s=>e("system","health","query",s),featureFlags:s=>e("system","featureFlags","query",s),networkAddresses:s=>e("system","networkAddresses","query",s),getRetentionConfig:s=>e("system","getRetentionConfig","query",s),setRetentionConfig:s=>e("system","setRetentionConfig","mutation",s),forceRetentionCleanup:s=>e("system","forceRetentionCleanup","mutation",s)},toast:{onToast:(s,P)=>e("toast","onToast","subscription",s,P)},turnProvider:{getTurnServers:s=>e("turnProvider","getTurnServers","query",s)},userManagement:{listUsers:s=>e("userManagement","listUsers","query",s),createUser:s=>e("userManagement","createUser","mutation",s),updateUser:s=>e("userManagement","updateUser","mutation",s),deleteUser:s=>e("userManagement","deleteUser","mutation",s),resetPassword:s=>e("userManagement","resetPassword","mutation",s),setUserScopes:s=>e("userManagement","setUserScopes","mutation",s),validateCredentials:s=>e("userManagement","validateCredentials","mutation",s),listApiKeys:s=>e("userManagement","listApiKeys","query",s),createApiKey:s=>e("userManagement","createApiKey","mutation",s),revokeApiKey:s=>e("userManagement","revokeApiKey","mutation",s),validateApiKey:s=>e("userManagement","validateApiKey","mutation",s),createScopedToken:s=>e("userManagement","createScopedToken","mutation",s),revokeScopedToken:s=>e("userManagement","revokeScopedToken","mutation",s),validateScopedToken:s=>e("userManagement","validateScopedToken","query",s),listScopedTokens:s=>e("userManagement","listScopedTokens","query",s),setupTotp:s=>e("userManagement","setupTotp","mutation",s),confirmTotp:s=>e("userManagement","confirmTotp","mutation",s),disableTotp:s=>e("userManagement","disableTotp","mutation",s),getTotpStatus:s=>e("userManagement","getTotpStatus","query",s),verifyTotp:s=>e("userManagement","verifyTotp","mutation",s),oauthIssueCode:s=>e("userManagement","oauthIssueCode","mutation",s),oauthExchangeCode:s=>e("userManagement","oauthExchangeCode","mutation",s),oauthRefresh:s=>e("userManagement","oauthRefresh","mutation",s),oauthVerifyAccessToken:s=>e("userManagement","oauthVerifyAccessToken","query",s),listOauthSessions:s=>e("userManagement","listOauthSessions","query",s),revokeOauthSession:s=>e("userManagement","revokeOauthSession","mutation",s)}}}const gs="device.state-changed",ys="capability.binding-changed",hs="device.registered",vs="device.unregistered",fs="device.updated";class bs{constructor(t){this.api=t,this.stateSource=Ke(this.stateMirror,this.handleListeners,this.api)}stateMirror=new Map;bindings=new Map;devices=new Map;handleListeners=new Map;globalStateListeners=new Set;capListeners=new Map;deviceListeners=new Map;addedListeners=new Set;removedListeners=new Set;pendingWaits=new Set;stateSource;bridges=[];initialized=!1;initPromise=null;async init(t=15e3){if(!this.initialized){if(this.initPromise)return this.initPromise;this.initPromise=(async()=>{const e=(m,d)=>Number.isFinite(t)?new Promise((p,u)=>{const g=setTimeout(()=>u(new Error(`SystemMirror.init: '${d}' timed out after ${t}ms`)),t);m.then(S=>{clearTimeout(g),p(S)},S=>{clearTimeout(g),u(S)})}):m,[c,r,l]=await Promise.all([e(this.api.deviceManager.getAllBindings.query({}),"deviceManager.getAllBindings"),e(this.api.deviceState.getAllSnapshots.query({}),"deviceState.getAllSnapshots"),e(this.api.deviceManager.listAll.query({}),"deviceManager.listAll")]);for(const m of c)this.bindings.set(m.deviceId,m);for(const[m,d]of Object.entries(r)){const p=Number(m);if(!Number.isFinite(p))continue;const u=new Map;for(const[g,S]of Object.entries(d))u.set(g,S);this.stateMirror.set(p,u)}for(const m of l)this.devices.set(m.id,m);try{this.subscribeBus()}catch{}this.initialized=!0})();try{await this.initPromise}finally{this.initPromise=null}}}isReady(){return this.initialized}async awaitReady(){if(!this.initialized)return this.initPromise?this.initPromise:this.init()}dispose(){for(const t of this.bridges)try{t.unsubscribe()}catch{}this.bridges=[],this.handleListeners.clear(),this.globalStateListeners.clear(),this.capListeners.clear(),this.deviceListeners.clear(),this.addedListeners.clear(),this.removedListeners.clear(),this.pendingWaits.clear(),this.initialized=!1}getDeviceById(t){const e=this.bindings.get(t);return e?Ze(this.api,e,{stateSource:this.stateSource}):null}getDeviceByName(t){for(const e of this.devices.values())if(e.name===t)return this.getDeviceById(e.id);return null}getDeviceByStableId(t){for(const e of this.devices.values())if(e.stableId===t)return this.getDeviceById(e.id);return null}getDevicesByAddon(t){return this.query({addonId:t})}getDevicesByType(t){return this.query({type:t})}getDeviceInfo(t){return this.devices.get(t)??null}getAllDevices(){const t=[];for(const e of this.bindings.keys()){const c=this.getDeviceById(e);c&&t.push(c)}return t}filterByCap(t){return this.query({caps:t})}query(t={}){const e=[];for(const[c,r]of this.bindings){const l=this.devices.get(c);if(t.id!==void 0&&!$(c,t.id)||t.stableId!==void 0&&(!l||!$(l.stableId,t.stableId))||t.addonId!==void 0&&(!l||!$(l.addonId,t.addonId))||t.type!==void 0&&(!l||!$(l.type,t.type)))continue;if(t.caps!==void 0){const d=Q(t.caps),p=new Set(r.entries.map(u=>u.capName));if(!d.every(u=>p.has(u)))continue}if(t.anyCap!==void 0){const d=Q(t.anyCap),p=new Set(r.entries.map(u=>u.capName));if(!d.some(u=>p.has(u)))continue}if(t.name!==void 0&&(!l||!Is(l.name,t.name))||t.online!==void 0&&(!l||l.online!==t.online))continue;if(t.parentDeviceId!==void 0){if(!l)continue;const d=t.parentDeviceId;if((l.parentDeviceId??null)!==d)continue}if(t.feature!==void 0&&(!l||!Q(t.feature).every(p=>l.features.includes(p)))||t.isCamera!==void 0&&(!l||l.isCamera!==t.isCamera))continue;const m=this.getDeviceById(c);if(m){if(t.where&&l){if(!t.where(l,m))continue}else if(t.where&&!l)continue;e.push(m)}}return e}whereState(t,e){const c=[];for(const[r,l]of this.stateMirror){const m=l.get(t);if(!m||!e(m,r))continue;const d=this.getDeviceById(r);d&&c.push(d)}return c}mapState(t,e){const c=[];for(const[r,l]of this.stateMirror){const m=l.get(t);m&&c.push(e(m,r))}return c}findState(t,e){for(const[c,r]of this.stateMirror){const l=r.get(t);if(l&&e(l,c))return this.getDeviceById(c)}return null}countByCap(t){let e=0;for(const c of this.bindings.values())c.entries.some(r=>r.capName===t)&&e++;return e}countByState(t,e){let c=0;for(const[r,l]of this.stateMirror){const m=l.get(t);m&&e(m,r)&&c++}return c}listen(t){return this.globalStateListeners.add(t),()=>{this.globalStateListeners.delete(t)}}listenCap(t,e){let c=this.capListeners.get(t);return c||(c=new Set,this.capListeners.set(t,c)),c.add(e),()=>{c.delete(e),c.size===0&&this.capListeners.delete(t)}}listenDevice(t,e){let c=this.deviceListeners.get(t);return c||(c=new Set,this.deviceListeners.set(t,c)),c.add(e),()=>{c.delete(e),c.size===0&&this.deviceListeners.delete(t)}}onDeviceAdded(t){return this.addedListeners.add(t),()=>{this.addedListeners.delete(t)}}onDeviceRemoved(t){return this.removedListeners.add(t),()=>{this.removedListeners.delete(t)}}waitForState(t,e,c,r=3e4){return new Promise((l,m)=>{const p=(()=>{const S=this.stateMirror.get(t)?.get(e);return S&&c(S)?S:null})();if(p){l(p);return}let u=null;const g=this.listenDevice(t,(S,h,b)=>{h===e&&b&&c(b)&&(u&&clearTimeout(u),g(),l(b))});Number.isFinite(r)&&(u=setTimeout(()=>{g(),m(new Error(`waitForState timed out after ${r}ms (deviceId=${t}, capName=${e})`))},r))})}waitForDevice(t,e=3e4){return new Promise((c,r)=>{const l=this.getDeviceById(t);if(l){c(l);return}let m=null;const d=this.onDeviceAdded(p=>{if(p!==t)return;const u=this.getDeviceById(p);u&&(m&&clearTimeout(m),d(),c(u))});Number.isFinite(e)&&(m=setTimeout(()=>{d(),r(new Error(`waitForDevice timed out after ${e}ms (deviceId=${t})`))},e))})}async forEachCap(t,e){for(const c of this.filterByCap(t))await e(c)}async invokeCap(t,e,c,r={}){const l=this.filterByCap(t),m=Math.max(1,r.parallelism??l.length),d=[];for(let p=0;p<l.length;p+=m){const u=l.slice(p,p+m),g=await Promise.allSettled(u.map(async S=>{const h=S[t];if(!h||typeof h[e]!="function")throw new Error(`device '${S.deviceId}' does not expose '${t}.${e}'`);return await h[e](c)}));for(let S=0;S<g.length;S++){const h=u[S],b=g[S];b.status==="fulfilled"?d.push({deviceId:h.deviceId,ok:!0,result:b.value}):d.push({deviceId:h.deviceId,ok:!1,error:b.reason})}}return d}summary(){const t={},e={},c={};let r=0,l=0;for(const m of this.bindings.values())for(const d of m.entries)t[d.capName]=(t[d.capName]??0)+1;for(const m of this.devices.values())e[m.addonId]=(e[m.addonId]??0)+1,c[m.type]=(c[m.type]??0)+1,m.online?r++:l++;return{totalDevices:this.bindings.size,online:r,offline:l,byCap:t,byAddon:e,byType:c,statedDevices:this.stateMirror.size}}dump(t){const e=r=>{const l=this.devices.get(r)??null,m=this.bindings.get(r)??null,d={},p=this.stateMirror.get(r);if(p)for(const[u,g]of p)d[u]={...g};return{deviceId:r,info:l,binding:m?{...m,entries:m.entries.map(u=>({...u}))}:null,state:d}};if(t!==void 0)return e(t);const c=[];for(const r of this.bindings.keys())c.push(e(r));return c}getRawMirror(){return this.stateMirror}getSystemState(){const t=new Map;for(const[e,c]of this.stateMirror){const r=new Map;for(const[l,m]of c)r.set(l,{...m});t.set(e,r)}return t}subscribeBus(){if(!this.api.live?.onEvent)return;const t=this.api.live.onEvent;this.bridges.push(t.subscribe({category:gs},{onData:e=>{const c=e.data;!c||typeof c.deviceId!="number"||typeof c.capName!="string"||this.applyStateUpdate(c.deviceId,c.capName,c.slice)}})),this.bridges.push(t.subscribe({category:ys},{onData:e=>{const c=e.data,r=typeof c?.deviceId=="number"?c.deviceId:c?.source?.type==="device"&&typeof c.source.id=="number"?c.source.id:null;r!==null&&this.refreshBinding(r)}})),this.bridges.push(t.subscribe({category:hs},{onData:e=>{const c=e.data;typeof c?.deviceId=="number"&&this.refreshDeviceMetadata(c.deviceId,"added")}})),this.bridges.push(t.subscribe({category:vs},{onData:e=>{const c=e.data;typeof c?.deviceId=="number"&&this.applyDeviceRemoval(c.deviceId)}})),this.bridges.push(t.subscribe({category:fs},{onData:e=>{const c=e.data;typeof c?.deviceId=="number"&&this.refreshDeviceMetadata(c.deviceId,"updated")}}))}applyStateUpdate(t,e,c){let r=this.stateMirror.get(t);r||(r=new Map,this.stateMirror.set(t,r)),c===void 0?r.delete(e):r.set(e,c);const l=`${t}:${e}`,m=this.handleListeners.get(l);if(m)for(const u of m)try{u(c)}catch{}for(const u of this.globalStateListeners)try{u(t,e,c)}catch{}const d=this.capListeners.get(e);if(d)for(const u of d)try{u(t,c)}catch{}const p=this.deviceListeners.get(t);if(p)for(const u of p)try{u(t,e,c)}catch{}}applyDeviceRemoval(t){const e=this.devices.get(t)??null;this.bindings.delete(t),this.devices.delete(t),this.stateMirror.delete(t);for(const c of this.removedListeners)try{c(t,e)}catch{}}async refreshBinding(t){try{const c=(await this.api.deviceManager.getAllBindings.query({})).find(r=>r.deviceId===t);c?this.bindings.set(t,c):this.applyDeviceRemoval(t)}catch{}}async refreshDeviceMetadata(t,e){try{const r=(await this.api.deviceManager.listAll.query({})).find(m=>m.id===t);if(!r)return;const l=!this.devices.has(t);if(this.devices.set(t,r),e==="added"&&l){await this.refreshBinding(t);for(const m of this.addedListeners)try{m(t,r)}catch{}}}catch{}}}function $(o,t){return Array.isArray(t)?t.includes(o):o===t}function Q(o){return Array.isArray(o)?o:[o]}function Is(o,t){return typeof t=="string"?o===t:t instanceof RegExp?t.test(o):"exact"in t?o===t.exact:"contains"in t?o.toLowerCase().includes(t.contains.toLowerCase()):!1}function Cs(o){return o}function ks(o,t,e){return{input:o,output:t,kind:e?.kind??"query",auth:e?.auth??"protected",scope:e?.scope??{kind:"system"}}}function ws(o,t,e){return{input:o,output:t,kind:e?.kind??"query",auth:e?.auth??"protected",scope:{kind:"device",...e?.deviceTypes?{deviceTypes:e.deviceTypes}:{}}}}const Ve=[{profile:"main",prefix:"streamMain",label:"Main stream"},{profile:"sub",prefix:"streamSub",label:"Sub stream"},{profile:"ext",prefix:"streamExt",label:"Third stream"}];function As(o,t,e){const c=[];if(t.resolutions.length>0){const r=t.resolutions.map(m=>({value:`${String(m.width)}x${String(m.height)}`,label:`${String(m.width)}×${String(m.height)}`})),l=e?`${String(e.width)}x${String(e.height)}`:void 0;l&&!r.some(m=>m.value===l)&&r.unshift({value:l,label:`${l.replace("x","×")} (current)`}),c.push({type:"select",key:`${o.prefix}_resolution`,label:"Resolution",options:r,default:l??r[0]?.value??""})}if(t.codecs.length>0&&c.push({type:"select",key:`${o.prefix}_codec`,label:"Codec",options:t.codecs.map(r=>({value:r,label:r==="h264"?"H.264":"H.265"})),default:e?.codec??t.codecs[0]}),t.framerates.length>0){const r=t.framerates.map(m=>({value:String(m),label:`${String(m)} fps`})),l=e?.framerate;l!==void 0&&!t.framerates.includes(l)&&r.unshift({value:String(l),label:`${String(l)} fps (current)`}),c.push({type:"select",key:`${o.prefix}_framerate`,label:"Frame rate",options:r,default:l!==void 0?String(l):r[0]?.value??""})}if(t.bitrates.length>0){const r=t.bitrates.map(m=>({value:String(m),label:`${String(m)} kbps`})),l=e?.bitrate;l!==void 0&&!t.bitrates.includes(l)&&r.unshift({value:String(l),label:`${String(l)} kbps (current)`}),c.push({type:"select",key:`${o.prefix}_bitrate`,label:"Bitrate",options:r,default:l!==void 0?String(l):r[0]?.value??""})}else{const r=t.bitrateRange;c.push({type:"number",key:`${o.prefix}_bitrate`,label:"Bitrate",unit:"kbps",...r?{min:r[0],max:r[1]}:{},default:e?.bitrate??r?.[0]??0})}if(t.supportsBitrateMode&&c.push({type:"select",key:`${o.prefix}_bitrateMode`,label:"Bitrate mode",options:[{value:"vbr",label:"VBR (variable)"},{value:"cbr",label:"CBR (constant)"}],default:e?.bitrateMode??"vbr"}),t.supportsEncoderProfile&&c.push({type:"select",key:`${o.prefix}_encoderProfile`,label:"Encoder profile",options:[{value:"baseline",label:"Baseline"},{value:"main",label:"Main"},{value:"high",label:"High"}],default:e?.encoderProfile??"main"}),t.supportsGop){const r=t.gop;if(r){const l=[];for(let d=r.min;d<=r.max;d+=r.step)l.push({value:String(d),label:`${String(d)} s`});const m=e?.gop;m!==void 0&&!l.some(d=>d.value===String(m))&&l.unshift({value:String(m),label:`${String(m)} s (current)`}),c.push({type:"select",key:`${o.prefix}_gop`,label:"I-frame interval (GOP)",options:l,default:m!==void 0?String(m):l[0]?.value??""})}else c.push({type:"number",key:`${o.prefix}_gop`,label:"I-frame interval (GOP)",unit:"s",min:1,default:e?.gop??1})}return c.length===0?null:{id:`stream-${o.profile}`,tab:"streaming",title:o.label,description:"Encoder parameters pushed to the camera. Option lists are read live from the camera — fields the firmware doesn't expose are hidden.",columns:2,fields:c}}function Ns(o,t){const e=[];for(const c of Ve){const r=o[c.profile];if(!r)continue;const l=As(c,r,t?.[c.profile]);l&&e.push(l)}return e.length===0?null:{sections:e}}function Ps(o,t){const e={};let c=!1;const r=`${t}_resolution`;if(r in o&&typeof o[r]=="string"){const[S,h]=o[r].split("x").map(Number);Number.isFinite(S)&&Number.isFinite(h)&&(e.width=S,e.height=h,c=!0)}const l=`${t}_codec`;l in o&&(o[l]==="h264"||o[l]==="h265")&&(e.codec=o[l],c=!0);const m=`${t}_framerate`;if(m in o){const S=Number(o[m]);Number.isFinite(S)&&(e.framerate=S,c=!0)}const d=`${t}_bitrate`;if(d in o){const S=Number(o[d]);Number.isFinite(S)&&(e.bitrate=S,c=!0)}const p=`${t}_bitrateMode`;p in o&&(o[p]==="vbr"||o[p]==="cbr")&&(e.bitrateMode=o[p],c=!0);const u=`${t}_encoderProfile`;u in o&&(o[u]==="high"||o[u]==="main"||o[u]==="baseline")&&(e.encoderProfile=o[u],c=!0);const g=`${t}_gop`;if(g in o){const S=Number(o[g]);Number.isFinite(S)&&(e.gop=S,c=!0)}return c?e:null}const Ms={accessories:"accessories",addonPages:"addon-pages",addonPagesSource:"addon-pages-source",addonRoutes:"addon-routes",addonSettings:"addon-settings",addonWidgets:"addon-widgets",addonWidgetsSource:"addon-widgets-source",addons:"addons",adminUi:"admin-ui",advancedNotifier:"advanced-notifier",airQualitySensor:"air-quality-sensor",alarmPanel:"alarm-panel",alerts:"alerts",ambientLightSensor:"ambient-light-sensor",audioAnalysis:"audio-analysis",audioAnalyzer:"audio-analyzer",audioCodec:"audio-codec",audioMetrics:"audio-metrics",authProvider:"auth-provider",automationControl:"automation-control",backup:"backup",battery:"battery",binary:"binary",brightness:"brightness",broker:"broker",button:"button",cameraCredentials:"camera-credentials",cameraPipelineConfig:"camera-pipeline-config",cameraStreams:"camera-streams",carbonMonoxide:"carbon-monoxide",climateControl:"climate-control",color:"color",connectivity:"connectivity",consumables:"consumables",contact:"contact",control:"control",cover:"cover",decoder:"decoder",detectionPipeline:"detection-pipeline",deviceAdoption:"device-adoption",deviceDiscovery:"device-discovery",deviceExport:"device-export",deviceManager:"device-manager",deviceOps:"device-ops",deviceProvider:"device-provider",deviceState:"device-state",deviceStatus:"device-status",doorbell:"doorbell",embeddingEncoder:"embedding-encoder",enumSensor:"enum-sensor",eventEmitter:"event-emitter",events:"events",fanControl:"fan-control",featureProbe:"feature-probe",flood:"flood",gas:"gas",humidifier:"humidifier",humiditySensor:"humidity-sensor",image:"image",integrations:"integrations",intercom:"intercom",lawnMowerControl:"lawn-mower-control",localNetwork:"local-network",lockControl:"lock-control",logDestination:"log-destination",mediaPlayer:"media-player",meshNetwork:"mesh-network",metricsProvider:"metrics-provider",motion:"motion",motionDetection:"motion-detection",motionTrigger:"motion-trigger",motionZones:"motion-zones",mqttBroker:"mqtt-broker",nativeObjectDetection:"native-object-detection",networkAccess:"network-access",networkQuality:"network-quality",nodes:"nodes",notificationOutput:"notification-output",notifier:"notifier",numericSensor:"numeric-sensor",oauthIntegration:"oauth-integration",osd:"osd",pipelineAnalytics:"pipeline-analytics",pipelineExecutor:"pipeline-executor",pipelineOrchestrator:"pipeline-orchestrator",pipelineRunner:"pipeline-runner",platformProbe:"platform-probe",powerMeter:"power-meter",presence:"presence",pressureSensor:"pressure-sensor",privacyMask:"privacy-mask",ptz:"ptz",ptzAutotrack:"ptz-autotrack",reboot:"reboot",recording:"recording",restreamer:"restreamer",scriptRunner:"script-runner",settingsStore:"settings-store",smoke:"smoke",smtpProvider:"smtp-provider",snapshot:"snapshot",snapshotProvider:"snapshot-provider",ssoBridge:"sso-bridge",storage:"storage",storageEvictable:"storage-evictable",storageProvider:"storage-provider",streamBroker:"stream-broker",streamCatalog:"stream-catalog",streamParams:"stream-params",streamingEngine:"streaming-engine",switch:"switch",system:"system",tamper:"tamper",temperatureSensor:"temperature-sensor",toast:"toast",turnProvider:"turn-provider",update:"update",userManagement:"user-management",userPasskeys:"user-passkeys",vacuumControl:"vacuum-control",valve:"valve",vibration:"vibration",waterHeater:"water-heater",weather:"weather",webrtc:"webrtc",webrtcSession:"webrtc-session",zoneAnalytics:"zone-analytics",zoneRules:"zone-rules",zones:"zones"},Ds=[{key:"accessories",name:"accessories"},{key:"addonPages",name:"addon-pages"},{key:"addonPagesSource",name:"addon-pages-source"},{key:"addonRoutes",name:"addon-routes"},{key:"addonSettings",name:"addon-settings"},{key:"addonWidgets",name:"addon-widgets"},{key:"addonWidgetsSource",name:"addon-widgets-source"},{key:"addons",name:"addons"},{key:"adminUi",name:"admin-ui"},{key:"advancedNotifier",name:"advanced-notifier"},{key:"airQualitySensor",name:"air-quality-sensor"},{key:"alarmPanel",name:"alarm-panel"},{key:"alerts",name:"alerts"},{key:"ambientLightSensor",name:"ambient-light-sensor"},{key:"audioAnalysis",name:"audio-analysis"},{key:"audioAnalyzer",name:"audio-analyzer"},{key:"audioCodec",name:"audio-codec"},{key:"audioMetrics",name:"audio-metrics"},{key:"authProvider",name:"auth-provider"},{key:"automationControl",name:"automation-control"},{key:"backup",name:"backup"},{key:"battery",name:"battery"},{key:"binary",name:"binary"},{key:"brightness",name:"brightness"},{key:"broker",name:"broker"},{key:"button",name:"button"},{key:"cameraCredentials",name:"camera-credentials"},{key:"cameraPipelineConfig",name:"camera-pipeline-config"},{key:"cameraStreams",name:"camera-streams"},{key:"carbonMonoxide",name:"carbon-monoxide"},{key:"climateControl",name:"climate-control"},{key:"color",name:"color"},{key:"connectivity",name:"connectivity"},{key:"consumables",name:"consumables"},{key:"contact",name:"contact"},{key:"control",name:"control"},{key:"cover",name:"cover"},{key:"decoder",name:"decoder"},{key:"detectionPipeline",name:"detection-pipeline"},{key:"deviceAdoption",name:"device-adoption"},{key:"deviceDiscovery",name:"device-discovery"},{key:"deviceExport",name:"device-export"},{key:"deviceManager",name:"device-manager"},{key:"deviceOps",name:"device-ops"},{key:"deviceProvider",name:"device-provider"},{key:"deviceState",name:"device-state"},{key:"deviceStatus",name:"device-status"},{key:"doorbell",name:"doorbell"},{key:"embeddingEncoder",name:"embedding-encoder"},{key:"enumSensor",name:"enum-sensor"},{key:"eventEmitter",name:"event-emitter"},{key:"events",name:"events"},{key:"fanControl",name:"fan-control"},{key:"featureProbe",name:"feature-probe"},{key:"flood",name:"flood"},{key:"gas",name:"gas"},{key:"humidifier",name:"humidifier"},{key:"humiditySensor",name:"humidity-sensor"},{key:"image",name:"image"},{key:"integrations",name:"integrations"},{key:"intercom",name:"intercom"},{key:"lawnMowerControl",name:"lawn-mower-control"},{key:"localNetwork",name:"local-network"},{key:"lockControl",name:"lock-control"},{key:"logDestination",name:"log-destination"},{key:"mediaPlayer",name:"media-player"},{key:"meshNetwork",name:"mesh-network"},{key:"metricsProvider",name:"metrics-provider"},{key:"motion",name:"motion"},{key:"motionDetection",name:"motion-detection"},{key:"motionTrigger",name:"motion-trigger"},{key:"motionZones",name:"motion-zones"},{key:"mqttBroker",name:"mqtt-broker"},{key:"nativeObjectDetection",name:"native-object-detection"},{key:"networkAccess",name:"network-access"},{key:"networkQuality",name:"network-quality"},{key:"nodes",name:"nodes"},{key:"notificationOutput",name:"notification-output"},{key:"notifier",name:"notifier"},{key:"numericSensor",name:"numeric-sensor"},{key:"oauthIntegration",name:"oauth-integration"},{key:"osd",name:"osd"},{key:"pipelineAnalytics",name:"pipeline-analytics"},{key:"pipelineExecutor",name:"pipeline-executor"},{key:"pipelineOrchestrator",name:"pipeline-orchestrator"},{key:"pipelineRunner",name:"pipeline-runner"},{key:"platformProbe",name:"platform-probe"},{key:"powerMeter",name:"power-meter"},{key:"presence",name:"presence"},{key:"pressureSensor",name:"pressure-sensor"},{key:"privacyMask",name:"privacy-mask"},{key:"ptz",name:"ptz"},{key:"ptzAutotrack",name:"ptz-autotrack"},{key:"reboot",name:"reboot"},{key:"recording",name:"recording"},{key:"restreamer",name:"restreamer"},{key:"scriptRunner",name:"script-runner"},{key:"settingsStore",name:"settings-store"},{key:"smoke",name:"smoke"},{key:"smtpProvider",name:"smtp-provider"},{key:"snapshot",name:"snapshot"},{key:"snapshotProvider",name:"snapshot-provider"},{key:"ssoBridge",name:"sso-bridge"},{key:"storage",name:"storage"},{key:"storageEvictable",name:"storage-evictable"},{key:"storageProvider",name:"storage-provider"},{key:"streamBroker",name:"stream-broker"},{key:"streamCatalog",name:"stream-catalog"},{key:"streamParams",name:"stream-params"},{key:"streamingEngine",name:"streaming-engine"},{key:"switch",name:"switch"},{key:"system",name:"system"},{key:"tamper",name:"tamper"},{key:"temperatureSensor",name:"temperature-sensor"},{key:"toast",name:"toast"},{key:"turnProvider",name:"turn-provider"},{key:"update",name:"update"},{key:"userManagement",name:"user-management"},{key:"userPasskeys",name:"user-passkeys"},{key:"vacuumControl",name:"vacuum-control"},{key:"valve",name:"valve"},{key:"vibration",name:"vibration"},{key:"waterHeater",name:"water-heater"},{key:"weather",name:"weather"},{key:"webrtc",name:"webrtc"},{key:"webrtcSession",name:"webrtc-session"},{key:"zoneAnalytics",name:"zone-analytics"},{key:"zoneRules",name:"zone-rules"},{key:"zones",name:"zones"}],Es=[a.accessoriesCapability,a.addonPagesCapability,a.addonPagesSourceCapability,a.addonRoutesCapability,a.addonSettingsCapability,a.addonWidgetsCapability,a.addonWidgetsSourceCapability,a.addonsCapability,a.adminUiCapability,a.advancedNotifierCapability,a.airQualitySensorCapability,a.alarmPanelCapability,a.alertsCapability,a.ambientLightSensorCapability,a.audioAnalysisCapability,a.audioAnalyzerCapability,a.audioCodecCapability,a.audioMetricsCapability,a.authProviderCapability,a.automationControlCapability,a.backupCapability,a.batteryCapability,a.binaryCapability,a.brightnessCapability,a.brokerCapability,a.buttonCapability,a.cameraCredentialsCapability,a.cameraPipelineConfigCapability,a.cameraStreamsCapability,a.carbonMonoxideCapability,a.climateControlCapability,a.colorCapability,a.connectivityCapability,a.consumablesCapability,a.contactCapability,a.controlCapability,a.coverCapability,a.decoderCapability,a.detectionPipelineCapability,a.deviceAdoptionCapability,a.deviceDiscoveryCapability,a.deviceExportCapability,a.deviceManagerCapability,a.deviceOpsCapability,a.deviceProviderCapability,a.deviceStateCapability,a.deviceStatusCapability,a.doorbellCapability,a.embeddingEncoderCapability,a.enumSensorCapability,a.eventEmitterCapability,a.eventsCapability,a.fanControlCapability,a.featureProbeCapability,a.floodCapability,a.gasCapability,a.humidifierCapability,a.humiditySensorCapability,a.imageCapability,a.integrationsCapability,a.intercomCapability,a.lawnMowerControlCapability,a.localNetworkCapability,a.lockControlCapability,a.logDestinationCapability,a.mediaPlayerCapability,a.meshNetworkCapability,a.metricsProviderCapability,a.motionCapability,a.motionDetectionCapability,a.motionTriggerCapability,a.motionZonesCapability,a.mqttBrokerCapability,a.nativeObjectDetectionCapability,a.networkAccessCapability,a.networkQualityCapability,a.nodesCapability,a.notificationOutputCapability,a.notifierCapability,a.numericSensorCapability,a.oauthIntegrationCapability,a.osdCapability,a.pipelineAnalyticsCapability,a.pipelineExecutorCapability,a.pipelineOrchestratorCapability,a.pipelineRunnerCapability,a.platformProbeCapability,a.powerMeterCapability,a.presenceCapability,a.pressureSensorCapability,a.privacyMaskCapability,a.ptzCapability,a.ptzAutotrackCapability,a.rebootCapability,a.recordingCapability,a.restreamerCapability,a.scriptRunnerCapability,a.settingsStoreCapability,a.smokeCapability,a.smtpProviderCapability,a.snapshotCapability,a.snapshotProviderCapability,a.ssoBridgeCapability,a.storageCapability,a.storageEvictableCapability,a.storageProviderCapability,a.streamBrokerCapability,a.streamCatalogCapability,a.streamParamsCapability,a.streamingEngineCapability,a.switchCapability,a.systemCapability,a.tamperCapability,a.temperatureSensorCapability,a.toastCapability,a.turnProviderCapability,a.updateCapability,a.userManagementCapability,a.userPasskeysCapability,a.vacuumControlCapability,a.valveCapability,a.vibrationCapability,a.waterHeaterCapability,a.weatherCapability,a.webrtcCapability,a.webrtcSessionCapability,a.zoneAnalyticsCapability,a.zoneRulesCapability,a.zonesCapability],Rs=["accessories","air-quality-sensor","alarm-panel","ambient-light-sensor","automation-control","battery","binary","brightness","broker","camera-credentials","carbon-monoxide","climate-control","color","connectivity","consumables","contact","control","cover","device-adoption","device-discovery","device-export","device-status","doorbell","enum-sensor","event-emitter","fan-control","feature-probe","flood","gas","humidifier","humidity-sensor","image","intercom","lawn-mower-control","lock-control","media-player","motion","motion-trigger","motion-zones","mqtt-broker","native-object-detection","notifier","numeric-sensor","osd","power-meter","presence","pressure-sensor","privacy-mask","ptz","ptz-autotrack","recording","script-runner","smoke","snapshot","stream-params","switch","tamper","temperature-sensor","update","vacuum-control","valve","vibration","water-heater","weather"],Ts=Object.freeze({"accessories.setChildHidden":{capName:"accessories",capScope:"device",addonId:null,access:"create"},"addonPages.listPages":{capName:"addon-pages",capScope:"system",addonId:null,access:"view"},"addonPagesSource.listPages":{capName:"addon-pages-source",capScope:"system",addonId:null,access:"view"},"addonRoutes.getRoutes":{capName:"addon-routes",capScope:"system",addonId:null,access:"view"},"addonRoutes.invoke":{capName:"addon-routes",capScope:"system",addonId:null,access:"create"},"addons.applyAutoUpdateToAll":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.cancelBulkUpdate":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.custom":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.forceRefresh":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.getAddonAutoUpdate":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.getAutoUpdateSettings":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.getBulkUpdateState":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.getLastRestart":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.getLogs":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.getVersions":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.installFromWorkspace":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.installPackage":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.isWorkspaceAvailable":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.list":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.listActiveBulkUpdates":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.listCapabilityProviders":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.listFrameworkPackages":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.listPackages":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.listUpdates":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.listWorkspacePackages":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.onAddonLogs":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.reloadPackages":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.restartAddon":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.restartServer":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.retryLoad":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.rollbackPackage":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.searchAvailable":{capName:"addons",capScope:"system",addonId:null,access:"view"},"addons.setAddonAutoUpdate":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.setAutoUpdateSettings":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.setCapabilityProviderEnabled":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.startBulkUpdate":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.uninstallPackage":{capName:"addons",capScope:"system",addonId:null,access:"delete"},"addons.updateFrameworkPackage":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addons.updatePackage":{capName:"addons",capScope:"system",addonId:null,access:"create"},"addonSettings.getDeviceSettings":{capName:"addon-settings",capScope:"system",addonId:null,access:"view"},"addonSettings.getGlobalSettings":{capName:"addon-settings",capScope:"system",addonId:null,access:"view"},"addonSettings.updateDeviceSettings":{capName:"addon-settings",capScope:"system",addonId:null,access:"create"},"addonSettings.updateGlobalSettings":{capName:"addon-settings",capScope:"system",addonId:null,access:"create"},"addonWidgets.listWidgets":{capName:"addon-widgets",capScope:"system",addonId:null,access:"view"},"addonWidgetsSource.listWidgets":{capName:"addon-widgets-source",capScope:"system",addonId:null,access:"view"},"adminUi.getStaticDir":{capName:"admin-ui",capScope:"system",addonId:null,access:"view"},"adminUi.getVersion":{capName:"admin-ui",capScope:"system",addonId:null,access:"view"},"advancedNotifier.deleteRule":{capName:"advanced-notifier",capScope:"system",addonId:null,access:"delete"},"advancedNotifier.getHistory":{capName:"advanced-notifier",capScope:"system",addonId:null,access:"view"},"advancedNotifier.getRules":{capName:"advanced-notifier",capScope:"system",addonId:null,access:"view"},"advancedNotifier.testRule":{capName:"advanced-notifier",capScope:"system",addonId:null,access:"create"},"advancedNotifier.upsertRule":{capName:"advanced-notifier",capScope:"system",addonId:null,access:"create"},"alarmPanel.arm":{capName:"alarm-panel",capScope:"device",addonId:null,access:"create"},"alarmPanel.disarm":{capName:"alarm-panel",capScope:"device",addonId:null,access:"create"},"alarmPanel.trigger":{capName:"alarm-panel",capScope:"device",addonId:null,access:"create"},"alerts.dismiss":{capName:"alerts",capScope:"system",addonId:null,access:"create"},"alerts.emit":{capName:"alerts",capScope:"system",addonId:null,access:"create"},"alerts.getUnreadCount":{capName:"alerts",capScope:"system",addonId:null,access:"view"},"alerts.list":{capName:"alerts",capScope:"system",addonId:null,access:"view"},"alerts.markAllRead":{capName:"alerts",capScope:"system",addonId:null,access:"create"},"alerts.markRead":{capName:"alerts",capScope:"system",addonId:null,access:"create"},"alerts.update":{capName:"alerts",capScope:"system",addonId:null,access:"create"},"audioAnalysis.resolveDeviceSettings":{capName:"audio-analysis",capScope:"device",addonId:null,access:"view"},"audioAnalyzer.analyseChunk":{capName:"audio-analyzer",capScope:"system",addonId:null,access:"create"},"audioAnalyzer.classify":{capName:"audio-analyzer",capScope:"system",addonId:null,access:"view"},"audioAnalyzer.dispose":{capName:"audio-analyzer",capScope:"system",addonId:null,access:"create"},"audioAnalyzer.isReady":{capName:"audio-analyzer",capScope:"system",addonId:null,access:"view"},"audioAnalyzer.reprobeAudioEngine":{capName:"audio-analyzer",capScope:"system",addonId:null,access:"create"},"audioCodec.canHandle":{capName:"audio-codec",capScope:"system",addonId:null,access:"view"},"audioCodec.closeSession":{capName:"audio-codec",capScope:"system",addonId:null,access:"create"},"audioCodec.createDecodeSession":{capName:"audio-codec",capScope:"system",addonId:null,access:"create"},"audioCodec.createEncodeSession":{capName:"audio-codec",capScope:"system",addonId:null,access:"create"},"audioCodec.flushEncode":{capName:"audio-codec",capScope:"system",addonId:null,access:"create"},"audioCodec.listActiveSessions":{capName:"audio-codec",capScope:"system",addonId:null,access:"view"},"audioCodec.listSupportedCodecs":{capName:"audio-codec",capScope:"system",addonId:null,access:"view"},"audioCodec.pullEncoded":{capName:"audio-codec",capScope:"system",addonId:null,access:"view"},"audioCodec.pullPcm":{capName:"audio-codec",capScope:"system",addonId:null,access:"view"},"audioCodec.pushEncodedFrame":{capName:"audio-codec",capScope:"system",addonId:null,access:"create"},"audioCodec.pushPcm":{capName:"audio-codec",capScope:"system",addonId:null,access:"create"},"audioMetrics.getCurrentSnapshot":{capName:"audio-metrics",capScope:"device",addonId:null,access:"view"},"audioMetrics.getHistory":{capName:"audio-metrics",capScope:"device",addonId:null,access:"view"},"authProvider.getLoginUrl":{capName:"auth-provider",capScope:"system",addonId:null,access:"view"},"authProvider.handleCallback":{capName:"auth-provider",capScope:"system",addonId:null,access:"create"},"authProvider.validateCredentials":{capName:"auth-provider",capScope:"system",addonId:null,access:"create"},"authProvider.validateToken":{capName:"auth-provider",capScope:"system",addonId:null,access:"view"},"automationControl.disable":{capName:"automation-control",capScope:"device",addonId:null,access:"create"},"automationControl.enable":{capName:"automation-control",capScope:"device",addonId:null,access:"create"},"automationControl.trigger":{capName:"automation-control",capScope:"device",addonId:null,access:"create"},"backup.delete":{capName:"backup",capScope:"system",addonId:null,access:"delete"},"backup.getEntries":{capName:"backup",capScope:"system",addonId:null,access:"view"},"backup.list":{capName:"backup",capScope:"system",addonId:null,access:"view"},"backup.listArchives":{capName:"backup",capScope:"system",addonId:null,access:"view"},"backup.listDestinations":{capName:"backup",capScope:"system",addonId:null,access:"view"},"backup.listLocations":{capName:"backup",capScope:"system",addonId:null,access:"view"},"backup.previewSchedule":{capName:"backup",capScope:"system",addonId:null,access:"view"},"backup.restore":{capName:"backup",capScope:"system",addonId:null,access:"create"},"backup.trigger":{capName:"backup",capScope:"system",addonId:null,access:"create"},"backup.upsertDestinationPolicy":{capName:"backup",capScope:"system",addonId:null,access:"create"},"battery.wakeForStream":{capName:"battery",capScope:"device",addonId:null,access:"create"},"brightness.setBrightness":{capName:"brightness",capScope:"device",addonId:null,access:"create"},"broker.add":{capName:"broker",capScope:"system",addonId:null,access:"create"},"broker.get":{capName:"broker",capScope:"system",addonId:null,access:"view"},"broker.getBrokerConfig":{capName:"broker",capScope:"system",addonId:null,access:"view"},"broker.getSettings":{capName:"broker",capScope:"system",addonId:null,access:"view"},"broker.getSettingsSchema":{capName:"broker",capScope:"system",addonId:null,access:"view"},"broker.getState":{capName:"broker",capScope:"system",addonId:null,access:"view"},"broker.getStatus":{capName:"broker",capScope:"system",addonId:null,access:"view"},"broker.list":{capName:"broker",capScope:"system",addonId:null,access:"view"},"broker.listProviders":{capName:"broker",capScope:"system",addonId:null,access:"view"},"broker.publish":{capName:"broker",capScope:"system",addonId:null,access:"create"},"broker.remove":{capName:"broker",capScope:"system",addonId:null,access:"delete"},"broker.setSettings":{capName:"broker",capScope:"system",addonId:null,access:"create"},"broker.subscribe":{capName:"broker",capScope:"system",addonId:null,access:"create"},"broker.testConnection":{capName:"broker",capScope:"system",addonId:null,access:"create"},"broker.testSettings":{capName:"broker",capScope:"system",addonId:null,access:"create"},"broker.unsubscribe":{capName:"broker",capScope:"system",addonId:null,access:"create"},"button.press":{capName:"button",capScope:"device",addonId:null,access:"create"},"cameraCredentials.getCredentials":{capName:"camera-credentials",capScope:"device",addonId:null,access:"view"},"cameraStreams.getBrokerStreams":{capName:"camera-streams",capScope:"device",addonId:null,access:"view"},"cameraStreams.getCameraStreams":{capName:"camera-streams",capScope:"device",addonId:null,access:"view"},"cameraStreams.getProfileRtspEntries":{capName:"camera-streams",capScope:"device",addonId:null,access:"view"},"cameraStreams.getRtspEntries":{capName:"camera-streams",capScope:"device",addonId:null,access:"view"},"cameraStreams.pickStream":{capName:"camera-streams",capScope:"device",addonId:null,access:"view"},"climateControl.setFanMode":{capName:"climate-control",capScope:"device",addonId:null,access:"create"},"climateControl.setMode":{capName:"climate-control",capScope:"device",addonId:null,access:"create"},"climateControl.setPreset":{capName:"climate-control",capScope:"device",addonId:null,access:"create"},"climateControl.setTarget":{capName:"climate-control",capScope:"device",addonId:null,access:"create"},"climateControl.setTargetHumidity":{capName:"climate-control",capScope:"device",addonId:null,access:"create"},"climateControl.setTargetRange":{capName:"climate-control",capScope:"device",addonId:null,access:"create"},"color.setColor":{capName:"color",capScope:"device",addonId:null,access:"create"},"consumables.reset":{capName:"consumables",capScope:"device",addonId:null,access:"delete"},"control.setValue":{capName:"control",capScope:"device",addonId:null,access:"create"},"cover.close":{capName:"cover",capScope:"device",addonId:null,access:"create"},"cover.open":{capName:"cover",capScope:"device",addonId:null,access:"create"},"cover.setPosition":{capName:"cover",capScope:"device",addonId:null,access:"create"},"cover.setTiltPosition":{capName:"cover",capScope:"device",addonId:null,access:"create"},"cover.stop":{capName:"cover",capScope:"device",addonId:null,access:"create"},"decoder.createSession":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"decoder.destroySession":{capName:"decoder",capScope:"system",addonId:null,access:"delete"},"decoder.getFrame":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"decoder.getInfo":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"decoder.getShmStats":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"decoder.getStats":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"decoder.listActiveSessions":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"decoder.openStream":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"decoder.pullFrames":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"decoder.pullHandles":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"decoder.pushPacket":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"decoder.reprobeHwaccel":{capName:"decoder",capScope:"system",addonId:null,access:"create"},"decoder.supportsCodec":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"decoder.updateConfig":{capName:"decoder",capScope:"system",addonId:null,access:"view"},"deviceAdoption.adopt":{capName:"device-adoption",capScope:"system",addonId:null,access:"create"},"deviceAdoption.getCandidate":{capName:"device-adoption",capScope:"system",addonId:null,access:"view"},"deviceAdoption.listCandidateFilters":{capName:"device-adoption",capScope:"system",addonId:null,access:"view"},"deviceAdoption.listCandidates":{capName:"device-adoption",capScope:"system",addonId:null,access:"view"},"deviceAdoption.refresh":{capName:"device-adoption",capScope:"system",addonId:null,access:"create"},"deviceAdoption.release":{capName:"device-adoption",capScope:"system",addonId:null,access:"create"},"deviceAdoption.resync":{capName:"device-adoption",capScope:"system",addonId:null,access:"create"},"deviceDiscovery.adoptDevice":{capName:"device-discovery",capScope:"device",addonId:null,access:"create"},"deviceDiscovery.listDiscovered":{capName:"device-discovery",capScope:"device",addonId:null,access:"view"},"deviceDiscovery.refreshDiscovery":{capName:"device-discovery",capScope:"device",addonId:null,access:"create"},"deviceDiscovery.releaseDevice":{capName:"device-discovery",capScope:"device",addonId:null,access:"create"},"deviceExport.exposeDevice":{capName:"device-export",capScope:"system",addonId:null,access:"create"},"deviceExport.getStatus":{capName:"device-export",capScope:"system",addonId:null,access:"view"},"deviceExport.listExposedDevices":{capName:"device-export",capScope:"system",addonId:null,access:"view"},"deviceExport.listSupportedDeviceKinds":{capName:"device-export",capScope:"system",addonId:null,access:"view"},"deviceExport.unexposeDevice":{capName:"device-export",capScope:"system",addonId:null,access:"create"},"deviceManager.addLocation":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.adoptDevice":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.adoptionAdopt":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.adoptionListCandidates":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.adoptionRefresh":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.adoptionRelease":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.allocateDeviceId":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.applyInitialMeta":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.createDevice":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.disable":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.discoverDevices":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.enable":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.getAllBindings":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getBindings":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getChildren":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getConfigSchema":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getCreationSchema":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getDevice":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getDeviceAggregate":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getDeviceLiveInfoAggregate":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getDeviceSettingsAggregate":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getDeviceStatusAggregate":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getSettingsSchema":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getStreamProfileMap":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getStreamSources":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.getWireableFields":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.listAll":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.listBindableCapsForDeviceType":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.listLocations":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.listPersistedByAddon":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.listWrappersForCap":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.loadConfig":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.loadMeta":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.loadRuntimeState":{capName:"device-manager",capScope:"system",addonId:null,access:"view"},"deviceManager.persistConfig":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.probeStreams":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.registerDevice":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.remove":{capName:"device-manager",capScope:"system",addonId:null,access:"delete"},"deviceManager.removeByIntegration":{capName:"device-manager",capScope:"system",addonId:null,access:"delete"},"deviceManager.removeDevice":{capName:"device-manager",capScope:"system",addonId:null,access:"delete"},"deviceManager.removeLocation":{capName:"device-manager",capScope:"system",addonId:null,access:"delete"},"deviceManager.runDeviceAction":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setChildLayout":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setDeviceLinks":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setDisabled":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setIntegrationId":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setLinkDeviceId":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setLocation":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setMetadata":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setName":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setPrimaryChildEntityId":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setRole":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setStreamProfileMap":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setType":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.setWrapperActive":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.testCreationField":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.testField":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.updateConfig":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.updateDeviceField":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceManager.updateDeviceFieldsBatch":{capName:"device-manager",capScope:"system",addonId:null,access:"create"},"deviceOps.getConfigEntries":{capName:"device-ops",capScope:"device",addonId:null,access:"view"},"deviceOps.getRawState":{capName:"device-ops",capScope:"device",addonId:null,access:"view"},"deviceOps.getSettingsSchema":{capName:"device-ops",capScope:"device",addonId:null,access:"view"},"deviceOps.getStreamSources":{capName:"device-ops",capScope:"device",addonId:null,access:"view"},"deviceOps.removeDevice":{capName:"device-ops",capScope:"device",addonId:null,access:"delete"},"deviceOps.runAction":{capName:"device-ops",capScope:"device",addonId:null,access:"create"},"deviceOps.setConfig":{capName:"device-ops",capScope:"device",addonId:null,access:"create"},"deviceProvider.adoptDiscoveredDevice":{capName:"device-provider",capScope:"system",addonId:null,access:"create"},"deviceProvider.createDevice":{capName:"device-provider",capScope:"system",addonId:null,access:"create"},"deviceProvider.discoverDevices":{capName:"device-provider",capScope:"system",addonId:null,access:"create"},"deviceProvider.getChildCreationSchema":{capName:"device-provider",capScope:"system",addonId:null,access:"view"},"deviceProvider.getDevices":{capName:"device-provider",capScope:"system",addonId:null,access:"view"},"deviceProvider.getStatus":{capName:"device-provider",capScope:"system",addonId:null,access:"view"},"deviceProvider.start":{capName:"device-provider",capScope:"system",addonId:null,access:"create"},"deviceProvider.stop":{capName:"device-provider",capScope:"system",addonId:null,access:"create"},"deviceProvider.supportsDiscovery":{capName:"device-provider",capScope:"system",addonId:null,access:"view"},"deviceProvider.supportsManualCreation":{capName:"device-provider",capScope:"system",addonId:null,access:"view"},"deviceProvider.testCreationField":{capName:"device-provider",capScope:"system",addonId:null,access:"create"},"deviceState.getAllSnapshots":{capName:"device-state",capScope:"system",addonId:null,access:"view"},"deviceState.getCapSlice":{capName:"device-state",capScope:"system",addonId:null,access:"view"},"deviceState.getSnapshot":{capName:"device-state",capScope:"system",addonId:null,access:"view"},"deviceState.setCapSlice":{capName:"device-state",capScope:"system",addonId:null,access:"create"},"embeddingEncoder.encode":{capName:"embedding-encoder",capScope:"system",addonId:null,access:"view"},"embeddingEncoder.encodeText":{capName:"embedding-encoder",capScope:"system",addonId:null,access:"view"},"embeddingEncoder.getInfo":{capName:"embedding-encoder",capScope:"system",addonId:null,access:"view"},"events.getEventClipUrl":{capName:"events",capScope:"device",addonId:null,access:"view"},"events.getEvents":{capName:"events",capScope:"device",addonId:null,access:"view"},"events.getEventThumbnail":{capName:"events",capScope:"device",addonId:null,access:"view"},"fanControl.setDirection":{capName:"fan-control",capScope:"device",addonId:null,access:"create"},"fanControl.setOscillating":{capName:"fan-control",capScope:"device",addonId:null,access:"create"},"fanControl.setPercentage":{capName:"fan-control",capScope:"device",addonId:null,access:"create"},"fanControl.setPreset":{capName:"fan-control",capScope:"device",addonId:null,access:"create"},"humidifier.setMode":{capName:"humidifier",capScope:"device",addonId:null,access:"create"},"humidifier.setOn":{capName:"humidifier",capScope:"device",addonId:null,access:"create"},"humidifier.setTargetHumidity":{capName:"humidifier",capScope:"device",addonId:null,access:"create"},"integrations.create":{capName:"integrations",capScope:"system",addonId:null,access:"create"},"integrations.delete":{capName:"integrations",capScope:"system",addonId:null,access:"delete"},"integrations.get":{capName:"integrations",capScope:"system",addonId:null,access:"view"},"integrations.getAvailableTypes":{capName:"integrations",capScope:"system",addonId:null,access:"view"},"integrations.getByAddonId":{capName:"integrations",capScope:"system",addonId:null,access:"view"},"integrations.getSettings":{capName:"integrations",capScope:"system",addonId:null,access:"view"},"integrations.list":{capName:"integrations",capScope:"system",addonId:null,access:"view"},"integrations.setSettings":{capName:"integrations",capScope:"system",addonId:null,access:"create"},"integrations.testConnection":{capName:"integrations",capScope:"system",addonId:null,access:"create"},"integrations.update":{capName:"integrations",capScope:"system",addonId:null,access:"create"},"intercom.endTalkSession":{capName:"intercom",capScope:"device",addonId:null,access:"create"},"intercom.handleAnswer":{capName:"intercom",capScope:"device",addonId:null,access:"create"},"intercom.pushTalkAudio":{capName:"intercom",capScope:"device",addonId:null,access:"create"},"intercom.startSession":{capName:"intercom",capScope:"device",addonId:null,access:"create"},"intercom.startTalkSession":{capName:"intercom",capScope:"device",addonId:null,access:"create"},"intercom.stopSession":{capName:"intercom",capScope:"device",addonId:null,access:"create"},"lawnMowerControl.dock":{capName:"lawn-mower-control",capScope:"device",addonId:null,access:"create"},"lawnMowerControl.pause":{capName:"lawn-mower-control",capScope:"device",addonId:null,access:"create"},"lawnMowerControl.startMowing":{capName:"lawn-mower-control",capScope:"device",addonId:null,access:"create"},"localNetwork.getAllowedAddresses":{capName:"local-network",capScope:"system",addonId:null,access:"view"},"localNetwork.getConnectionEndpoints":{capName:"local-network",capScope:"system",addonId:null,access:"view"},"localNetwork.getPreferred":{capName:"local-network",capScope:"system",addonId:null,access:"view"},"localNetwork.list":{capName:"local-network",capScope:"system",addonId:null,access:"view"},"localNetwork.resetAllowlistToBestMatch":{capName:"local-network",capScope:"system",addonId:null,access:"delete"},"localNetwork.setAllowedAddresses":{capName:"local-network",capScope:"system",addonId:null,access:"create"},"lockControl.lock":{capName:"lock-control",capScope:"device",addonId:null,access:"create"},"lockControl.open":{capName:"lock-control",capScope:"device",addonId:null,access:"create"},"lockControl.unlock":{capName:"lock-control",capScope:"device",addonId:null,access:"create"},"logDestination.query":{capName:"log-destination",capScope:"system",addonId:null,access:"view"},"logDestination.write":{capName:"log-destination",capScope:"system",addonId:null,access:"create"},"mediaPlayer.next":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"mediaPlayer.pause":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"mediaPlayer.play":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"mediaPlayer.playMedia":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"mediaPlayer.previous":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"mediaPlayer.seek":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"mediaPlayer.selectSource":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"mediaPlayer.setMute":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"mediaPlayer.setRepeat":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"mediaPlayer.setShuffle":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"mediaPlayer.setVolume":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"mediaPlayer.stop":{capName:"media-player",capScope:"device",addonId:null,access:"create"},"meshNetwork.getStatus":{capName:"mesh-network",capScope:"system",addonId:null,access:"view"},"meshNetwork.join":{capName:"mesh-network",capScope:"system",addonId:null,access:"create"},"meshNetwork.leave":{capName:"mesh-network",capScope:"system",addonId:null,access:"create"},"meshNetwork.listPeers":{capName:"mesh-network",capScope:"system",addonId:null,access:"view"},"meshNetwork.logout":{capName:"mesh-network",capScope:"system",addonId:null,access:"create"},"meshNetwork.startLogin":{capName:"mesh-network",capScope:"system",addonId:null,access:"create"},"meshNetwork.testConnection":{capName:"mesh-network",capScope:"system",addonId:null,access:"create"},"metricsProvider.collectSnapshot":{capName:"metrics-provider",capScope:"system",addonId:null,access:"view"},"metricsProvider.getAddonStats":{capName:"metrics-provider",capScope:"system",addonId:null,access:"view"},"metricsProvider.getCached":{capName:"metrics-provider",capScope:"system",addonId:null,access:"view"},"metricsProvider.getCpuTemperature":{capName:"metrics-provider",capScope:"system",addonId:null,access:"view"},"metricsProvider.getCurrent":{capName:"metrics-provider",capScope:"system",addonId:null,access:"view"},"metricsProvider.getDiskSpace":{capName:"metrics-provider",capScope:"system",addonId:null,access:"view"},"metricsProvider.getGpuInfo":{capName:"metrics-provider",capScope:"system",addonId:null,access:"view"},"metricsProvider.getProcessStats":{capName:"metrics-provider",capScope:"system",addonId:null,access:"view"},"metricsProvider.killProcess":{capName:"metrics-provider",capScope:"system",addonId:null,access:"create"},"metricsProvider.listAddonInstances":{capName:"metrics-provider",capScope:"system",addonId:null,access:"view"},"metricsProvider.listNodeProcesses":{capName:"metrics-provider",capScope:"system",addonId:null,access:"view"},"motion.isDetected":{capName:"motion",capScope:"device",addonId:null,access:"view"},"motionDetection.analyze":{capName:"motion-detection",capScope:"device",addonId:null,access:"create"},"motionDetection.removeCamera":{capName:"motion-detection",capScope:"device",addonId:null,access:"delete"},"motionDetection.reset":{capName:"motion-detection",capScope:"device",addonId:null,access:"delete"},"motionTrigger.setMotionTrigger":{capName:"motion-trigger",capScope:"device",addonId:null,access:"create"},"motionZones.getOptions":{capName:"motion-zones",capScope:"device",addonId:null,access:"view"},"motionZones.setZone":{capName:"motion-zones",capScope:"device",addonId:null,access:"create"},"mqttBroker.addBroker":{capName:"mqtt-broker",capScope:"system",addonId:null,access:"create"},"mqttBroker.getBrokerConfig":{capName:"mqtt-broker",capScope:"system",addonId:null,access:"view"},"mqttBroker.getStatus":{capName:"mqtt-broker",capScope:"system",addonId:null,access:"view"},"mqttBroker.listBrokers":{capName:"mqtt-broker",capScope:"system",addonId:null,access:"view"},"mqttBroker.removeBroker":{capName:"mqtt-broker",capScope:"system",addonId:null,access:"delete"},"mqttBroker.startEmbeddedBroker":{capName:"mqtt-broker",capScope:"system",addonId:null,access:"create"},"mqttBroker.stopEmbeddedBroker":{capName:"mqtt-broker",capScope:"system",addonId:null,access:"create"},"mqttBroker.testConnection":{capName:"mqtt-broker",capScope:"system",addonId:null,access:"create"},"nativeObjectDetection.setEnabled":{capName:"native-object-detection",capScope:"device",addonId:null,access:"create"},"networkAccess.getEndpoint":{capName:"network-access",capScope:"system",addonId:null,access:"view"},"networkAccess.getStatus":{capName:"network-access",capScope:"system",addonId:null,access:"view"},"networkAccess.listEndpoints":{capName:"network-access",capScope:"system",addonId:null,access:"view"},"networkAccess.start":{capName:"network-access",capScope:"system",addonId:null,access:"create"},"networkAccess.stop":{capName:"network-access",capScope:"system",addonId:null,access:"create"},"networkQuality.getAllStats":{capName:"network-quality",capScope:"system",addonId:null,access:"view"},"networkQuality.getDeviceStats":{capName:"network-quality",capScope:"system",addonId:null,access:"view"},"networkQuality.reportClientStats":{capName:"network-quality",capScope:"system",addonId:null,access:"create"},"nodes.clusterAddonStatus":{capName:"nodes",capScope:"system",addonId:null,access:"view"},"nodes.deployAddon":{capName:"nodes",capScope:"system",addonId:null,access:"create"},"nodes.executeQuery":{capName:"nodes",capScope:"system",addonId:null,access:"create"},"nodes.getCapUsageGraph":{capName:"nodes",capScope:"system",addonId:null,access:"view"},"nodes.getNodeAddons":{capName:"nodes",capScope:"system",addonId:null,access:"view"},"nodes.renameNode":{capName:"nodes",capScope:"system",addonId:null,access:"create"},"nodes.restartAddon":{capName:"nodes",capScope:"system",addonId:null,access:"create"},"nodes.restartNode":{capName:"nodes",capScope:"system",addonId:null,access:"create"},"nodes.restartProcess":{capName:"nodes",capScope:"system",addonId:null,access:"create"},"nodes.setProcessLogLevel":{capName:"nodes",capScope:"system",addonId:null,access:"create"},"nodes.shutdownNode":{capName:"nodes",capScope:"system",addonId:null,access:"create"},"nodes.topology":{capName:"nodes",capScope:"system",addonId:null,access:"view"},"nodes.undeployAddon":{capName:"nodes",capScope:"system",addonId:null,access:"create"},"notificationOutput.send":{capName:"notification-output",capScope:"system",addonId:null,access:"create"},"notificationOutput.sendTest":{capName:"notification-output",capScope:"system",addonId:null,access:"create"},"notifier.cancel":{capName:"notifier",capScope:"device",addonId:null,access:"create"},"notifier.send":{capName:"notifier",capScope:"device",addonId:null,access:"create"},"oauthIntegration.getDescriptor":{capName:"oauth-integration",capScope:"system",addonId:null,access:"view"},"osd.setOverlay":{capName:"osd",capScope:"device",addonId:null,access:"create"},"pipelineAnalytics.clearTracks":{capName:"pipeline-analytics",capScope:"device",addonId:null,access:"delete"},"pipelineAnalytics.getActiveTracks":{capName:"pipeline-analytics",capScope:"device",addonId:null,access:"view"},"pipelineAnalytics.getAudioEvents":{capName:"pipeline-analytics",capScope:"device",addonId:null,access:"view"},"pipelineAnalytics.getEventDensity":{capName:"pipeline-analytics",capScope:"device",addonId:null,access:"view"},"pipelineAnalytics.getEventMedia":{capName:"pipeline-analytics",capScope:"device",addonId:null,access:"view"},"pipelineAnalytics.getMotionEvents":{capName:"pipeline-analytics",capScope:"device",addonId:null,access:"view"},"pipelineAnalytics.getObjectEvents":{capName:"pipeline-analytics",capScope:"device",addonId:null,access:"view"},"pipelineAnalytics.getTrack":{capName:"pipeline-analytics",capScope:"device",addonId:null,access:"view"},"pipelineAnalytics.getTrackMedia":{capName:"pipeline-analytics",capScope:"device",addonId:null,access:"view"},"pipelineAnalytics.listTracks":{capName:"pipeline-analytics",capScope:"device",addonId:null,access:"view"},"pipelineAnalytics.pruneEventsBefore":{capName:"pipeline-analytics",capScope:"device",addonId:null,access:"create"},"pipelineExecutor.cacheFrameInPool":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.deleteModel":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"delete"},"pipelineExecutor.deleteTemplate":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"delete"},"pipelineExecutor.detect":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.downloadModel":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.getAddonModels":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getAudioCapabilities":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getAvailableEngines":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getCapabilities":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getDefaultSteps":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getDetectionConfigSchema":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getEffectiveTuning":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getGlobalPipelineConfig":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getGlobalSteps":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getOrchestratorConfigSchema":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getReferenceAudio":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getReferenceAudioFiles":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getReferenceImage":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getSchema":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getSelectedEngine":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.getVideoPipelineSteps":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.inferCached":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.killEngine":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.listLoadedEngines":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.listReferenceImages":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.listTemplates":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"view"},"pipelineExecutor.reprobeEngine":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.runAudioTest":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.runPipeline":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.runPipelineBatch":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.saveTemplate":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.setVideoPipelineSteps":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.spinEngine":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.uncacheFrame":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineExecutor.updateTemplate":{capName:"pipeline-executor",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.assignAudio":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.assignDecoder":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.assignPipeline":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.deleteTemplate":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"delete"},"pipelineOrchestrator.getAgentLoad":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getAgentSettings":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getAudioAssignment":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getAudioAssignments":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getAudioNodeLoad":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getCameraMetrics":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getCameraSettings":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getCameraStepOverrides":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getCapabilityBindings":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getDecoderAssignment":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getDecoderAssignments":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getGlobalMetrics":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getPipelineAssignment":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.getPipelineAssignments":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.listAgentSettings":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.listTemplates":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.rebalance":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.removeAgentSettings":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"delete"},"pipelineOrchestrator.resolvePipeline":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"view"},"pipelineOrchestrator.saveTemplate":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.setAgentAddonDefaults":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.setCameraPipelineForAgent":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.setCameraStepOverride":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.setCameraStepToggle":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.setCapabilityBinding":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.unassignAudio":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.unassignDecoder":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.unassignPipeline":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineOrchestrator.updateTemplate":{capName:"pipeline-orchestrator",capScope:"system",addonId:null,access:"create"},"pipelineRunner.attachCamera":{capName:"pipeline-runner",capScope:"system",addonId:null,access:"create"},"pipelineRunner.detachCamera":{capName:"pipeline-runner",capScope:"system",addonId:null,access:"create"},"pipelineRunner.getAllCameraMetrics":{capName:"pipeline-runner",capScope:"system",addonId:null,access:"view"},"pipelineRunner.getCameraMetrics":{capName:"pipeline-runner",capScope:"system",addonId:null,access:"view"},"pipelineRunner.getLocalCameras":{capName:"pipeline-runner",capScope:"system",addonId:null,access:"view"},"pipelineRunner.getLocalLoad":{capName:"pipeline-runner",capScope:"system",addonId:null,access:"view"},"pipelineRunner.getLocalMetrics":{capName:"pipeline-runner",capScope:"system",addonId:null,access:"view"},"pipelineRunner.reportMotion":{capName:"pipeline-runner",capScope:"system",addonId:null,access:"create"},"platformProbe.getCapabilities":{capName:"platform-probe",capScope:"system",addonId:null,access:"view"},"platformProbe.getHardware":{capName:"platform-probe",capScope:"system",addonId:null,access:"view"},"platformProbe.getHardwareDecodeAccels":{capName:"platform-probe",capScope:"system",addonId:null,access:"view"},"platformProbe.getHardwareEncoders":{capName:"platform-probe",capScope:"system",addonId:null,access:"view"},"platformProbe.refreshHardwareDecodeAccels":{capName:"platform-probe",capScope:"system",addonId:null,access:"create"},"platformProbe.refreshHardwareEncoders":{capName:"platform-probe",capScope:"system",addonId:null,access:"create"},"platformProbe.resolveHwAccel":{capName:"platform-probe",capScope:"system",addonId:null,access:"view"},"platformProbe.resolveInferenceConfig":{capName:"platform-probe",capScope:"system",addonId:null,access:"view"},"privacyMask.getOptions":{capName:"privacy-mask",capScope:"device",addonId:null,access:"view"},"privacyMask.setMask":{capName:"privacy-mask",capScope:"device",addonId:null,access:"create"},"ptz.continuousMove":{capName:"ptz",capScope:"device",addonId:null,access:"create"},"ptz.deletePreset":{capName:"ptz",capScope:"device",addonId:null,access:"delete"},"ptz.getOptions":{capName:"ptz",capScope:"device",addonId:null,access:"view"},"ptz.getPosition":{capName:"ptz",capScope:"device",addonId:null,access:"view"},"ptz.getPresets":{capName:"ptz",capScope:"device",addonId:null,access:"view"},"ptz.goHome":{capName:"ptz",capScope:"device",addonId:null,access:"create"},"ptz.goToPreset":{capName:"ptz",capScope:"device",addonId:null,access:"create"},"ptz.move":{capName:"ptz",capScope:"device",addonId:null,access:"create"},"ptz.savePreset":{capName:"ptz",capScope:"device",addonId:null,access:"create"},"ptz.setAutofocus":{capName:"ptz",capScope:"device",addonId:null,access:"create"},"ptz.stop":{capName:"ptz",capScope:"device",addonId:null,access:"create"},"ptzAutotrack.getSettings":{capName:"ptz-autotrack",capScope:"device",addonId:null,access:"view"},"ptzAutotrack.getStatus":{capName:"ptz-autotrack",capScope:"device",addonId:null,access:"view"},"ptzAutotrack.setEnabled":{capName:"ptz-autotrack",capScope:"device",addonId:null,access:"create"},"ptzAutotrack.setSettings":{capName:"ptz-autotrack",capScope:"device",addonId:null,access:"create"},"reboot.reboot":{capName:"reboot",capScope:"device",addonId:null,access:"create"},"recording.getAvailability":{capName:"recording",capScope:"system",addonId:null,access:"view"},"recording.getDeviceConfig":{capName:"recording",capScope:"system",addonId:null,access:"view"},"recording.getPlaybackManifest":{capName:"recording",capScope:"system",addonId:null,access:"view"},"recording.getStorageUsage":{capName:"recording",capScope:"system",addonId:null,access:"view"},"recording.pruneFootage":{capName:"recording",capScope:"system",addonId:null,access:"create"},"recording.rescanStorage":{capName:"recording",capScope:"system",addonId:null,access:"create"},"recording.setDeviceConfig":{capName:"recording",capScope:"system",addonId:null,access:"create"},"restreamer.getExposedResources":{capName:"restreamer",capScope:"system",addonId:null,access:"view"},"restreamer.registerDevice":{capName:"restreamer",capScope:"system",addonId:null,access:"create"},"restreamer.unregisterDevice":{capName:"restreamer",capScope:"system",addonId:null,access:"delete"},"scriptRunner.run":{capName:"script-runner",capScope:"device",addonId:null,access:"create"},"scriptRunner.stop":{capName:"script-runner",capScope:"device",addonId:null,access:"create"},"settingsStore.count":{capName:"settings-store",capScope:"system",addonId:null,access:"view"},"settingsStore.declareCollection":{capName:"settings-store",capScope:"system",addonId:null,access:"create"},"settingsStore.delete":{capName:"settings-store",capScope:"system",addonId:null,access:"delete"},"settingsStore.get":{capName:"settings-store",capScope:"system",addonId:null,access:"view"},"settingsStore.histogram":{capName:"settings-store",capScope:"system",addonId:null,access:"view"},"settingsStore.insert":{capName:"settings-store",capScope:"system",addonId:null,access:"create"},"settingsStore.isEmpty":{capName:"settings-store",capScope:"system",addonId:null,access:"view"},"settingsStore.query":{capName:"settings-store",capScope:"system",addonId:null,access:"view"},"settingsStore.set":{capName:"settings-store",capScope:"system",addonId:null,access:"create"},"settingsStore.update":{capName:"settings-store",capScope:"system",addonId:null,access:"create"},"smtpProvider.getStatus":{capName:"smtp-provider",capScope:"system",addonId:null,access:"view"},"smtpProvider.sendEmail":{capName:"smtp-provider",capScope:"system",addonId:null,access:"create"},"smtpProvider.verify":{capName:"smtp-provider",capScope:"system",addonId:null,access:"view"},"snapshot.getSnapshot":{capName:"snapshot",capScope:"device",addonId:null,access:"view"},"snapshot.invalidateCache":{capName:"snapshot",capScope:"device",addonId:null,access:"create"},"snapshotProvider.getSnapshot":{capName:"snapshot-provider",capScope:"system",addonId:null,access:"view"},"snapshotProvider.supportsDevice":{capName:"snapshot-provider",capScope:"system",addonId:null,access:"view"},"ssoBridge.signBridgeToken":{capName:"sso-bridge",capScope:"system",addonId:null,access:"view"},"ssoBridge.verifyBridgeToken":{capName:"sso-bridge",capScope:"system",addonId:null,access:"view"},"storage.abortUpload":{capName:"storage",capScope:"system",addonId:null,access:"create"},"storage.beginDownload":{capName:"storage",capScope:"system",addonId:null,access:"create"},"storage.beginUpload":{capName:"storage",capScope:"system",addonId:null,access:"create"},"storage.delete":{capName:"storage",capScope:"system",addonId:null,access:"delete"},"storage.deleteLocation":{capName:"storage",capScope:"system",addonId:null,access:"delete"},"storage.endDownload":{capName:"storage",capScope:"system",addonId:null,access:"create"},"storage.exists":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.finalizeUpload":{capName:"storage",capScope:"system",addonId:null,access:"create"},"storage.getAvailableSpace":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.getDefaultLocation":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.list":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.listLocationDeclarations":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.listLocations":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.listProviders":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.read":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.readChunk":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.resolve":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.testConfig":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.testLocation":{capName:"storage",capScope:"system",addonId:null,access:"view"},"storage.upsertLocation":{capName:"storage",capScope:"system",addonId:null,access:"create"},"storage.write":{capName:"storage",capScope:"system",addonId:null,access:"create"},"storage.writeChunk":{capName:"storage",capScope:"system",addonId:null,access:"create"},"storageEvictable.evict":{capName:"storage-evictable",capScope:"system",addonId:null,access:"create"},"storageEvictable.getEvictableUsage":{capName:"storage-evictable",capScope:"system",addonId:null,access:"view"},"storageProvider.abortUpload":{capName:"storage-provider",capScope:"system",addonId:null,access:"create"},"storageProvider.beginDownload":{capName:"storage-provider",capScope:"system",addonId:null,access:"create"},"storageProvider.beginUpload":{capName:"storage-provider",capScope:"system",addonId:null,access:"create"},"storageProvider.delete":{capName:"storage-provider",capScope:"system",addonId:null,access:"delete"},"storageProvider.endDownload":{capName:"storage-provider",capScope:"system",addonId:null,access:"create"},"storageProvider.exists":{capName:"storage-provider",capScope:"system",addonId:null,access:"view"},"storageProvider.finalizeUpload":{capName:"storage-provider",capScope:"system",addonId:null,access:"create"},"storageProvider.getAvailableSpace":{capName:"storage-provider",capScope:"system",addonId:null,access:"view"},"storageProvider.getProviderInfo":{capName:"storage-provider",capScope:"system",addonId:null,access:"view"},"storageProvider.list":{capName:"storage-provider",capScope:"system",addonId:null,access:"view"},"storageProvider.read":{capName:"storage-provider",capScope:"system",addonId:null,access:"view"},"storageProvider.readChunk":{capName:"storage-provider",capScope:"system",addonId:null,access:"view"},"storageProvider.resolve":{capName:"storage-provider",capScope:"system",addonId:null,access:"view"},"storageProvider.testLocation":{capName:"storage-provider",capScope:"system",addonId:null,access:"view"},"storageProvider.write":{capName:"storage-provider",capScope:"system",addonId:null,access:"create"},"storageProvider.writeChunk":{capName:"storage-provider",capScope:"system",addonId:null,access:"create"},"streamBroker.assignProfile":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.getAllRtspEntries":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.getBrokerStats":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.getPreBufferInfo":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.getRtspEntry":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.getRtspPort":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.getStreamUrl":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.getStreamWithCodec":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.isRtspEnabled":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.killClient":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.listAllCameraStreams":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.listAllProfileSlots":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.listClients":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.publishCameraStream":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.pullAudioChunks":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.pullFrameHandles":{capName:"stream-broker",capScope:"system",addonId:null,access:"view"},"streamBroker.regenerateRtspToken":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.releaseStreamWithCodec":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.restartProfile":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.retractCameraStream":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.setPreBufferDuration":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.setRtspEnabled":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.subscribeAudioChunks":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.subscribeFrames":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.unassignProfile":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.unsubscribeAudioChunks":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamBroker.unsubscribeFrames":{capName:"stream-broker",capScope:"system",addonId:null,access:"create"},"streamCatalog.getCatalog":{capName:"stream-catalog",capScope:"device",addonId:null,access:"view"},"streamingEngine.getStreamUrl":{capName:"streaming-engine",capScope:"system",addonId:null,access:"view"},"streamingEngine.listStreams":{capName:"streaming-engine",capScope:"system",addonId:null,access:"view"},"streamingEngine.registerStream":{capName:"streaming-engine",capScope:"system",addonId:null,access:"create"},"streamingEngine.unregisterStream":{capName:"streaming-engine",capScope:"system",addonId:null,access:"delete"},"streamParams.getConfigSchema":{capName:"stream-params",capScope:"device",addonId:null,access:"view"},"streamParams.getOptions":{capName:"stream-params",capScope:"device",addonId:null,access:"view"},"streamParams.setProfile":{capName:"stream-params",capScope:"device",addonId:null,access:"create"},"switch.setState":{capName:"switch",capScope:"device",addonId:null,access:"create"},"system.featureFlags":{capName:"system",capScope:"system",addonId:null,access:"view"},"system.forceRetentionCleanup":{capName:"system",capScope:"system",addonId:null,access:"create"},"system.getRetentionConfig":{capName:"system",capScope:"system",addonId:null,access:"view"},"system.health":{capName:"system",capScope:"system",addonId:null,access:"view"},"system.info":{capName:"system",capScope:"system",addonId:null,access:"view"},"system.networkAddresses":{capName:"system",capScope:"system",addonId:null,access:"view"},"system.setRetentionConfig":{capName:"system",capScope:"system",addonId:null,access:"create"},"toast.onToast":{capName:"toast",capScope:"system",addonId:null,access:"view"},"turnProvider.getTurnServers":{capName:"turn-provider",capScope:"system",addonId:null,access:"view"},"update.installUpdate":{capName:"update",capScope:"device",addonId:null,access:"create"},"userManagement.confirmTotp":{capName:"user-management",capScope:"system",addonId:null,access:"create"},"userManagement.createApiKey":{capName:"user-management",capScope:"system",addonId:null,access:"create"},"userManagement.createScopedToken":{capName:"user-management",capScope:"system",addonId:null,access:"create"},"userManagement.createUser":{capName:"user-management",capScope:"system",addonId:null,access:"create"},"userManagement.deleteUser":{capName:"user-management",capScope:"system",addonId:null,access:"delete"},"userManagement.disableTotp":{capName:"user-management",capScope:"system",addonId:null,access:"delete"},"userManagement.getTotpStatus":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userManagement.listApiKeys":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userManagement.listOauthSessions":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userManagement.listScopedTokens":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userManagement.listUsers":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userManagement.oauthExchangeCode":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userManagement.oauthIssueCode":{capName:"user-management",capScope:"system",addonId:null,access:"create"},"userManagement.oauthRefresh":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userManagement.oauthVerifyAccessToken":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userManagement.resetPassword":{capName:"user-management",capScope:"system",addonId:null,access:"create"},"userManagement.revokeApiKey":{capName:"user-management",capScope:"system",addonId:null,access:"delete"},"userManagement.revokeOauthSession":{capName:"user-management",capScope:"system",addonId:null,access:"delete"},"userManagement.revokeScopedToken":{capName:"user-management",capScope:"system",addonId:null,access:"delete"},"userManagement.setupTotp":{capName:"user-management",capScope:"system",addonId:null,access:"create"},"userManagement.setUserScopes":{capName:"user-management",capScope:"system",addonId:null,access:"create"},"userManagement.updateUser":{capName:"user-management",capScope:"system",addonId:null,access:"create"},"userManagement.validateApiKey":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userManagement.validateCredentials":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userManagement.validateScopedToken":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userManagement.verifyTotp":{capName:"user-management",capScope:"system",addonId:null,access:"view"},"userPasskeys.beginAuthentication":{capName:"user-passkeys",capScope:"system",addonId:null,access:"view"},"userPasskeys.beginRegistration":{capName:"user-passkeys",capScope:"system",addonId:null,access:"create"},"userPasskeys.finishAuthentication":{capName:"user-passkeys",capScope:"system",addonId:null,access:"view"},"userPasskeys.finishRegistration":{capName:"user-passkeys",capScope:"system",addonId:null,access:"create"},"userPasskeys.listPasskeys":{capName:"user-passkeys",capScope:"system",addonId:null,access:"view"},"userPasskeys.removePasskey":{capName:"user-passkeys",capScope:"system",addonId:null,access:"delete"},"vacuumControl.locate":{capName:"vacuum-control",capScope:"device",addonId:null,access:"create"},"vacuumControl.pause":{capName:"vacuum-control",capScope:"device",addonId:null,access:"create"},"vacuumControl.returnToBase":{capName:"vacuum-control",capScope:"device",addonId:null,access:"create"},"vacuumControl.setFanSpeed":{capName:"vacuum-control",capScope:"device",addonId:null,access:"create"},"vacuumControl.start":{capName:"vacuum-control",capScope:"device",addonId:null,access:"create"},"vacuumControl.stop":{capName:"vacuum-control",capScope:"device",addonId:null,access:"create"},"valve.close":{capName:"valve",capScope:"device",addonId:null,access:"create"},"valve.open":{capName:"valve",capScope:"device",addonId:null,access:"create"},"valve.setPosition":{capName:"valve",capScope:"device",addonId:null,access:"create"},"valve.stop":{capName:"valve",capScope:"device",addonId:null,access:"create"},"waterHeater.setAway":{capName:"water-heater",capScope:"device",addonId:null,access:"create"},"waterHeater.setOperationMode":{capName:"water-heater",capScope:"device",addonId:null,access:"create"},"waterHeater.setTargetTemp":{capName:"water-heater",capScope:"device",addonId:null,access:"create"},"webrtc.closeSession":{capName:"webrtc",capScope:"system",addonId:null,access:"create"},"webrtc.createSession":{capName:"webrtc",capScope:"system",addonId:null,access:"create"},"webrtc.handleAnswer":{capName:"webrtc",capScope:"system",addonId:null,access:"create"},"webrtc.handleOffer":{capName:"webrtc",capScope:"system",addonId:null,access:"create"},"webrtc.hasAdaptiveBitrate":{capName:"webrtc",capScope:"system",addonId:null,access:"view"},"webrtc.registerStream":{capName:"webrtc",capScope:"system",addonId:null,access:"create"},"webrtc.supportsStream":{capName:"webrtc",capScope:"system",addonId:null,access:"view"},"webrtc.unregisterStream":{capName:"webrtc",capScope:"system",addonId:null,access:"delete"},"webrtcSession.addIceCandidate":{capName:"webrtc-session",capScope:"device",addonId:null,access:"create"},"webrtcSession.closeSession":{capName:"webrtc-session",capScope:"device",addonId:null,access:"create"},"webrtcSession.createSession":{capName:"webrtc-session",capScope:"device",addonId:null,access:"create"},"webrtcSession.getIceCandidates":{capName:"webrtc-session",capScope:"device",addonId:null,access:"view"},"webrtcSession.getSessionState":{capName:"webrtc-session",capScope:"device",addonId:null,access:"view"},"webrtcSession.handleAnswer":{capName:"webrtc-session",capScope:"device",addonId:null,access:"create"},"webrtcSession.handleOffer":{capName:"webrtc-session",capScope:"device",addonId:null,access:"create"},"webrtcSession.hasAdaptiveBitrate":{capName:"webrtc-session",capScope:"device",addonId:null,access:"view"},"webrtcSession.listStreams":{capName:"webrtc-session",capScope:"device",addonId:null,access:"view"},"zoneAnalytics.getCameraHistory":{capName:"zone-analytics",capScope:"device",addonId:null,access:"view"},"zoneAnalytics.getCurrentSnapshot":{capName:"zone-analytics",capScope:"device",addonId:null,access:"view"},"zoneAnalytics.getUnzonedHistory":{capName:"zone-analytics",capScope:"device",addonId:null,access:"view"},"zoneAnalytics.getZoneHistory":{capName:"zone-analytics",capScope:"device",addonId:null,access:"view"},"zoneRules.listRules":{capName:"zone-rules",capScope:"device",addonId:null,access:"view"},"zoneRules.setRules":{capName:"zone-rules",capScope:"device",addonId:null,access:"create"},"zones.addZone":{capName:"zones",capScope:"device",addonId:null,access:"create"},"zones.listZones":{capName:"zones",capScope:"device",addonId:null,access:"view"},"zones.removeZone":{capName:"zones",capScope:"device",addonId:null,access:"delete"},"zones.updateZone":{capName:"zones",capScope:"device",addonId:null,access:"create"}}),Os=["accessories","addon-pages","addon-pages-source","addon-routes","addon-settings","addon-widgets","addon-widgets-source","addons","admin-ui","advanced-notifier","alarm-panel","alerts","audio-analysis","audio-analyzer","audio-codec","audio-metrics","auth-provider","automation-control","backup","battery","brightness","broker","button","camera-credentials","camera-streams","climate-control","color","consumables","control","cover","decoder","device-adoption","device-discovery","device-export","device-manager","device-ops","device-provider","device-state","embedding-encoder","events","fan-control","humidifier","integrations","intercom","lawn-mower-control","local-network","lock-control","log-destination","media-player","mesh-network","metrics-provider","motion","motion-detection","motion-trigger","motion-zones","mqtt-broker","native-object-detection","network-access","network-quality","nodes","notification-output","notifier","oauth-integration","osd","pipeline-analytics","pipeline-executor","pipeline-orchestrator","pipeline-runner","platform-probe","privacy-mask","ptz","ptz-autotrack","reboot","recording","restreamer","script-runner","settings-store","smtp-provider","snapshot","snapshot-provider","sso-bridge","storage","storage-evictable","storage-provider","stream-broker","stream-catalog","stream-params","streaming-engine","switch","system","toast","turn-provider","update","user-management","user-passkeys","vacuum-control","valve","water-heater","webrtc","webrtc-session","zone-analytics","zone-rules","zones"],qs=["accessories","alarm-panel","audio-analysis","audio-metrics","automation-control","battery","brightness","button","camera-credentials","camera-streams","climate-control","color","consumables","control","cover","device-discovery","device-ops","events","fan-control","humidifier","intercom","lawn-mower-control","lock-control","media-player","motion","motion-detection","motion-trigger","motion-zones","native-object-detection","notifier","osd","pipeline-analytics","privacy-mask","ptz","ptz-autotrack","reboot","script-runner","snapshot","stream-catalog","stream-params","switch","update","vacuum-control","valve","water-heater","webrtc-session","zone-analytics","zone-rules","zones"],Bs=["addon-pages","addon-pages-source","addon-routes","addon-settings","addon-widgets","addon-widgets-source","addons","admin-ui","advanced-notifier","alerts","audio-analyzer","audio-codec","auth-provider","backup","broker","decoder","device-adoption","device-export","device-manager","device-provider","device-state","embedding-encoder","integrations","local-network","log-destination","mesh-network","metrics-provider","mqtt-broker","network-access","network-quality","nodes","notification-output","oauth-integration","pipeline-executor","pipeline-orchestrator","pipeline-runner","platform-probe","recording","restreamer","settings-store","smtp-provider","snapshot-provider","sso-bridge","storage","storage-evictable","storage-provider","stream-broker","streaming-engine","system","toast","turn-provider","user-management","user-passkeys","webrtc"],xs=[{id:"camera-viewer",label:"Camera viewer",description:"Read-only over every device — live streams, recordings, motion events, battery state. Combine with `allowedDevices` to restrict to specific cameras.",rows:[{type:"category",target:"device",access:["view"]}]},{id:"camera-operator",label:"Camera operator",description:"Everything `camera-viewer` does plus PTZ control, intercom, snapshots and recording start/stop. Cannot delete devices or recordings.",rows:[{type:"category",target:"device",access:["view","create"]}]},{id:"cli-deployer",label:"CLI deployer",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.",rows:[{type:"capability",target:"addons",access:["view","create"]}]},{id:"event-listener",label:"Event listener",description:"Subscribe to motion / audio events. Used by webhook bridges and Home Assistant integrations.",rows:[{type:"capability",target:"events",access:["view"]},{type:"capability",target:"motion-detection",access:["view"]},{type:"capability",target:"audio-analysis",access:["view"]}]}],je=Object.freeze({broker:"broker","device-export":"device-export","mesh-network":"mesh","mqtt-broker":"broker","network-access":"ingress","smtp-provider":"email"}),Ls=["broker","device-export","mesh-network","mqtt-broker","network-access","smtp-provider"];function _s(o){const t=[];for(const[e,c]of Object.entries(je))c===o&&t.push(e);return t}function zs(o,t){const e=o.length,c=t.length;if(e===0)return c;if(c===0)return e;const r=Array.from({length:c+1},(m,d)=>d),l=Array.from({length:c+1},()=>0);for(let m=1;m<=e;m++){l[0]=m;let d=r[0]??0;for(let p=1;p<=c;p++){const u=r[p]??0,g=l[p-1]??0,S=o.charCodeAt(m-1)===t.charCodeAt(p-1)?0:1;l[p]=Math.min(u+1,g+1,d+S),d=u}for(let p=0;p<=c;p++)r[p]=l[p]??0}return r[c]??0}function Ge(o,t){const e=o.trim().toLowerCase(),c=t.trim().toLowerCase();return e===c?1:e.length===0||c.length===0?0:1-zs(e,c)/Math.max(e.length,c.length)}function Fs(o,t,e=.8){let c=null,r=0;for(const l of t){const m=Ge(o,l);m>=e&&m>r&&(c=l,r=m)}return c}const Us=[/^user$/i,/^usr$/i,/^username$/i,/^password$/i,/^pwd$/i,/^pass$/i,/^passwd$/i,/^secret$/i,/^token$/i,/^auth$/i,/^auth[_-]?token$/i,/^bearer$/i,/^api[_-]?key$/i,/^access[_-]?token$/i,/^refresh[_-]?token$/i];function Hs(o){return Us.some(t=>t.test(o))}function $s(o){try{const t=new URL(o);let e=!1;(t.username||t.password)&&(t.username="",t.password="",e=!0);for(const c of[...t.searchParams.keys()])Hs(c)&&(t.searchParams.set(c,"***"),e=!0);return e?t.toString():o}catch{return o}}class Ws{constructor(t){this.capacity=t,this.items=Array.from({length:t})}items;head=0;tail=0;count=0;get size(){return this.count}push(t){this.items[this.tail]=t,this.tail=(this.tail+1)%this.capacity,this.count<this.capacity?this.count++:this.head=(this.head+1)%this.capacity}drain(t){const e=[],c=Math.min(t,this.count);for(let r=0;r<c;r++)e.push(this.items[this.head]),this.items[this.head]=void 0,this.head=(this.head+1)%this.capacity;return this.count-=c,e}}function Ks(o,t,e){const c=t*e;if(c<=0||o.length===0)return new Array(Math.max(0,c)).fill(!1);const r=new Array(c).fill(!1);for(let l=0;l<e;l++)for(let m=0;m<t;m++){const d=(m+.5)/t,p=(l+.5)/e;for(const u of o)if(d>=u.x&&d<=u.x+u.w&&p>=u.y&&p<=u.y+u.h){r[l*t+m]=!0;break}}return r}function Zs(o,t,e,c){if(t<=0||e<=0||c<=0)return[];const r=t*e,l=new Array(r).fill(!1),m=Math.min(o.length,r);for(let S=0;S<m;S++)l[S]=o[S]===!0;const d=[],p=[];for(let S=0;S<=e;S++){const h=[];if(S<e){let v=-1;for(let f=0;f<=t;f++){const k=f<t&&l[S*t+f]===!0;k&&v===-1?v=f:!k&&v!==-1&&(h.push({colStart:v,colEnd:f-1}),v=-1)}}const b=new Set,C=[];for(const v of p){const f=h.findIndex(k=>k.colStart===v.colStart&&k.colEnd===v.colEnd);f>=0?(C.push(v),b.add(f)):d.push({...v,rowEnd:S-1})}for(let v=0;v<h.length;v++)if(!b.has(v)){const f=h[v];C.push({colStart:f.colStart,colEnd:f.colEnd,rowStart:S})}p.length=0;for(const v of C)p.push(v)}if(d.length===0)return[];const u=d.slice().sort((S,h)=>{const b=(S.colEnd-S.colStart+1)*(S.rowEnd-S.rowStart+1);return(h.colEnd-h.colStart+1)*(h.rowEnd-h.rowStart+1)-b});return(c>0?u.slice(0,c):u).map(S=>({x:S.colStart/t,y:S.rowStart/e,w:(S.colEnd-S.colStart+1)/t,h:(S.rowEnd-S.rowStart+1)/e}))}function Vs(o){return new Promise(t=>setTimeout(t,Math.max(0,o)))}function js(o,t){return t.aborted?Promise.resolve():new Promise(e=>{const c=setTimeout(()=>{t.removeEventListener("abort",r),e()},Math.max(0,o)),r=()=>{clearTimeout(c),t.removeEventListener("abort",r),e()};t.addEventListener("abort",r,{once:!0})})}function Gs(o,t,e){const c={};for(const r of Object.keys(e))c[r]=l=>o.addons.custom.mutate({addonId:t,action:r,input:l});return c}i.ACCESSORY_LABEL=a.ACCESSORY_LABEL;i.APPLE_SA_TO_MACRO=a.APPLE_SA_TO_MACRO;i.AUDIO_BACKEND_CHOICES=a.AUDIO_BACKEND_CHOICES;i.AUDIO_MACRO_LABELS=a.AUDIO_MACRO_LABELS;i.AccessoriesStatusSchema=a.AccessoriesStatusSchema;i.AccessoryKind=a.AccessoryKind;i.AddBrokerInputSchema=a.AddBrokerInputSchema;i.AddonAutoUpdateSchema=a.AddonAutoUpdateSchema;i.AddonListItemSchema=a.AddonListItemSchema;i.AddonPageDeclarationSchema=a.AddonPageDeclarationSchema;i.AddonPageInfoSchema=a.AddonPageInfoSchema;i.AdoptionAdoptInputSchema=a.AdoptInputSchema;i.AdoptionAdoptResultSchema=a.AdoptResultSchema;i.AdoptionFilterSchema=a.AdoptionFilterSchema;i.AdoptionGetCandidateInputSchema=a.GetCandidateInputSchema;i.AdoptionListCandidatesInputSchema=a.ListCandidatesInputSchema;i.AdoptionListCandidatesOutputSchema=a.ListCandidatesOutputSchema;i.AdoptionReleaseInputSchema=a.ReleaseInputSchema;i.AdoptionStatusSchema=a.AdoptionStatusSchema;i.AgentLoadSummarySchema=a.AgentLoadSummarySchema;i.AirQualitySensorStatusSchema=a.AirQualitySensorStatusSchema;i.AlarmArmModeSchema=a.AlarmArmModeSchema;i.AlarmPanelStatusSchema=a.AlarmPanelStatusSchema;i.AlarmStateSchema=a.AlarmStateSchema;i.AlertSchema=a.AlertSchema;i.AlertSeveritySchema=a.AlertSeveritySchema;i.AlertSourceSchema=a.AlertSourceSchema;i.AlertStatusSchema=a.AlertStatusSchema;i.AmbientLightSensorStatusSchema=a.AmbientLightSensorStatusSchema;i.ApiKeyRecordSchema=a.ApiKeyRecordSchema;i.ApiKeySummarySchema=a.ApiKeySummarySchema;i.ArchiveEntrySchema=a.ArchiveEntrySchema;i.ArchiveManifestSchema=a.ArchiveManifestSchema;i.AudioAnalysisResultSchema=a.AudioAnalysisResultSchema;i.AudioAnalysisSettingsSchema=a.AudioAnalysisSettingsSchema;i.AudioChunkInputSchema=a.AudioChunkInputSchema;i.AudioClassSummarySchema=a.AudioClassSummarySchema;i.AudioClassificationLabelSchema=a.AudioClassificationLabelSchema;i.AudioClassificationResultSchema=a.AudioClassificationResultSchema;i.AudioCodecInfoSchema=a.AudioCodecInfoSchema;i.AudioDecodeSessionConfigSchema=a.AudioDecodeSessionConfigSchema;i.AudioEncodeSchema=a.AudioEncodeSchema;i.AudioEncodeSessionConfigSchema=a.AudioEncodeSessionConfigSchema;i.AudioEncodedChunkSchema=a.AudioEncodedChunkSchema;i.AudioEventSchema=a.AudioEventSchema;i.AudioLevelSchema=a.AudioLevelSchema;i.AudioMetricsHistoryPointSchema=a.AudioMetricsHistoryPointSchema;i.AudioMetricsHistorySchema=a.AudioMetricsHistorySchema;i.AudioMetricsSnapshotSchema=a.AudioMetricsSnapshotSchema;i.AudioPcmChunkSchema=a.AudioPcmChunkSchema;i.AuthResultSchema=a.AuthResultSchema;i.AutoUpdateSettingsSchema=a.AutoUpdateSettingsSchema;i.AutomationControlStatusSchema=a.AutomationControlStatusSchema;i.AvailableIntegrationTypeSchema=a.AvailableIntegrationTypeSchema;i.BATTERY_DEVICE_PROFILE=a.BATTERY_DEVICE_PROFILE;i.BackupDestinationInfoSchema=a.BackupDestinationInfoSchema;i.BackupEntrySchema=a.BackupEntrySchema;i.BatteryStatusSchema=a.BatteryStatusSchema;i.BinaryStatusSchema=a.BinaryStatusSchema;i.BoundingBoxSchema=a.BoundingBoxSchema;i.BrightnessStatusSchema=a.BrightnessStatusSchema;i.BrokerAddInputSchema=a.AddInputSchema;i.BrokerAudioClientSchema=a.BrokerAudioClientSchema;i.BrokerClientsSchema=a.BrokerClientsSchema;i.BrokerConnectionDetailsSchema=a.BrokerConnectionDetailsSchema;i.BrokerConsumerAttributionSchema=a.BrokerConsumerAttributionSchema;i.BrokerConsumerKindSchema=a.BrokerConsumerKindSchema;i.BrokerDecodedClientSchema=a.BrokerDecodedClientSchema;i.BrokerEncodedClientSchema=a.BrokerEncodedClientSchema;i.BrokerGetStateInputSchema=a.GetStateInputSchema;i.BrokerInfoSchema=a.BrokerInfoSchema;i.BrokerProviderInfoSchema=a.BrokerProviderInfoSchema;i.BrokerPublishInputSchema=a.PublishInputSchema;i.BrokerRegistryStatusSchema=a.RegistryStatusSchema;i.BrokerRtspClientSchema=a.BrokerRtspClientSchema;i.BrokerStatsSchema=a.BrokerStatsSchema;i.BrokerStatusEnum=a.BrokerStatusEnum;i.BrokerStatusSchema=a.BrokerStatusSchema;i.BrokerSubscribeInputSchema=a.SubscribeInputSchema;i.BrokerSubscribeResultSchema=a.SubscribeResultSchema;i.BrokerTestConnectionResultSchema=a.TestConnectionResultSchema;i.BrokerUnsubscribeInputSchema=a.UnsubscribeInputSchema;i.CAM_PROFILE_ORDER=a.CAM_PROFILE_ORDER;i.CamProfileSchema=a.CamProfileSchema;i.CamStreamDescriptorSchema=a.CamStreamDescriptorSchema;i.CamStreamKindSchema=a.CamStreamKindSchema;i.CamStreamResolutionSchema=a.CamStreamResolutionSchema;i.CameraCredentialsSchema=a.CameraCredentialsSchema;i.CameraCredentialsStatusSchema=a.CameraCredentialsStatusSchema;i.CameraMetricsSchema=a.CameraMetricsSchema;i.CameraMetricsWithDeviceIdSchema=a.CameraMetricsWithDeviceIdSchema;i.CameraStreamSchema=a.CameraStreamSchema;i.CandidateQueryFilterSchema=a.CandidateQueryFilterSchema;i.CapScopeSchema=a.CapScopeSchema;i.CapabilityBindingsSchema=a.CapabilityBindingsSchema;i.CarbonMonoxideStatusSchema=a.CarbonMonoxideStatusSchema;i.ChargingStatus=a.ChargingStatus;i.ClientNetworkStatsSchema=a.ClientNetworkStatsSchema;i.ClimateControlStatusSchema=a.ClimateControlStatusSchema;i.ClusterAddonNodeDeploymentSchema=a.ClusterAddonNodeDeploymentSchema;i.ClusterAddonStatusEntrySchema=a.ClusterAddonStatusEntrySchema;i.CollectionColumnSchema=a.CollectionColumnSchema;i.CollectionIndexSchema=a.CollectionIndexSchema;i.ColorStatusSchema=a.ColorStatusSchema;i.ConfigEntrySchema=a.ConfigEntrySchema;i.ConfigSectionWithValuesSchema=a.ConfigSectionWithValuesSchema;i.ConfigTabDeclarationSchema=a.ConfigTabDeclarationSchema;i.ConnectivityStatusSchema=a.ConnectivityStatusSchema;i.ConsumableItemSchema=a.ConsumableItemSchema;i.ConsumablesStatusSchema=a.ConsumablesStatusSchema;i.ContactStatusSchema=a.ContactStatusSchema;i.ControlKindSchema=a.ControlKindSchema;i.ControlStatusSchema=a.ControlStatusSchema;i.CoverStateSchema=a.CoverStateSchema;i.CoverStatusSchema=a.CoverStatusSchema;i.CreateApiKeyInputSchema=a.CreateApiKeyInputSchema;i.CreateApiKeyResultSchema=a.CreateApiKeyResultSchema;i.CreateIntegrationInputSchema=a.CreateIntegrationInputSchema;i.CreateScopedTokenInputSchema=a.CreateScopedTokenInputSchema;i.CreateScopedTokenResultSchema=a.CreateScopedTokenResultSchema;i.CreateUserInputSchema=a.CreateUserInputSchema;i.CustomActionInputSchema=a.CustomActionInputSchema;i.DEFAULT_AUDIO_ANALYZER_CONFIG=a.DEFAULT_AUDIO_ANALYZER_CONFIG;i.DEFAULT_DECODER_HWACCEL_CONFIG=a.DEFAULT_DECODER_HWACCEL_CONFIG;i.DEVICE_PROFILES=a.DEVICE_PROFILES;i.DEVICE_SETTINGS_CONTRIBUTION_METHODS=a.DEVICE_SETTINGS_CONTRIBUTION_METHODS;i.DEVICE_STATUS_METHOD=a.DEVICE_STATUS_METHOD;i.DecodedAudioChunkSchema=a.DecodedAudioChunkSchema;i.DecodedFrameSchema=a.DecodedFrameSchema;i.DecoderAssignmentSchema=a.DecoderAssignmentSchema;i.DecoderSessionConfigSchema=a.DecoderSessionConfigSchema;i.DecoderStatsSchema=a.DecoderStatsSchema;i.DeleteIntegrationResultSchema=a.DeleteIntegrationResultSchema;i.DetectorOutputSchema=a.DetectorOutputSchema;i.DeviceDiscoveryStatusSchema=a.DeviceDiscoveryStatusSchema;i.DeviceExportExposeInputSchema=a.ExposeInputSchema;i.DeviceExportStatusSchema=a.DeviceExportStatusSchema;i.DeviceExportUnexposeInputSchema=a.UnexposeInputSchema;i.DeviceFeature=a.DeviceFeature;i.DeviceInfoSchema=a.DeviceInfoSchema;i.DeviceNetworkStatsSchema=a.DeviceNetworkStatsSchema;i.DeviceRole=a.DeviceRole;i.DeviceStatusSchema=a.DeviceStatusSchema;i.DeviceType=a.DeviceType;i.DiscoveredChildDeviceSchema=a.DiscoveredChildDeviceSchema;i.DiscoveredChildStatusSchema=a.DiscoveredChildStatusSchema;i.DiscoveredDeviceSchema=a.DiscoveredDeviceSchema;i.DoorbellPressEventSchema=a.DoorbellPressEventSchema;i.DoorbellStatusSchema=a.DoorbellStatusSchema;i.EmbeddingInfoSchema=a.EmbeddingInfoSchema;i.EmbeddingResultSchema=a.EmbeddingResultSchema;i.EncodeProfileSchema=a.EncodeProfileSchema;i.EncodedPacketSchema=a.EncodedPacketSchema;i.EnrichedWidgetMetadataSchema=a.EnrichedWidgetMetadataSchema;i.EnumSensorDateTimeFormatSchema=a.EnumSensorDateTimeFormatSchema;i.EnumSensorStatusSchema=a.EnumSensorStatusSchema;i.EventEmitterStatusSchema=a.EventEmitterStatusSchema;i.EventFireSchema=a.EventFireSchema;i.EventItemSchema=a.EventItemSchema;i.EventKindSchema=a.EventKindSchema;i.ExportSetupFieldSchema=a.ExportSetupFieldSchema;i.ExportSetupSchema=a.ExportSetupSchema;i.ExposedDeviceSchema=a.ExposedDeviceSchema;i.ExposedResourceSchema=a.ExposedResourceSchema;i.FanControlStatusSchema=a.FanControlStatusSchema;i.FanDirectionSchema=a.FanDirectionSchema;i.FeatureManifestSchema=a.FeatureManifestSchema;i.FeatureProbeStatusSchema=a.FeatureProbeStatusSchema;i.FloodStatusSchema=a.FloodStatusSchema;i.FrameHandleFormatSchema=a.FrameHandleFormatSchema;i.FrameHandleSchema=a.FrameHandleSchema;i.FrameInputSchema=a.FrameInputSchema;i.GasStatusSchema=a.GasStatusSchema;i.GetStreamWithCodecInputSchema=a.GetStreamWithCodecInputSchema;i.GlobalMetricsSchema=a.GlobalMetricsSchema;i.HWACCEL_OPTIONS=a.HWACCEL_OPTIONS;i.HealthStatusSchema=a.HealthStatusSchema;i.HistoryPointSchema=a.HistoryPointSchema;i.HistoryResolutionEnum=a.HistoryResolutionEnum;i.HumidifierStatusSchema=a.HumidifierStatusSchema;i.HumiditySensorStatusSchema=a.HumiditySensorStatusSchema;i.HvacModeSchema=a.HvacModeSchema;i.ImageStatusSchema=a.ImageStatusSchema;i.InstalledPackageSchema=a.InstalledPackageSchema;i.IntegrationLiteSchema=a.IntegrationLiteSchema;i.IntegrationWithStateSchema=a.IntegrationWithStateSchema;i.IntercomAbilitySchema=a.IntercomAbilitySchema;i.IntercomStatusSchema=a.IntercomStatusSchema;i.LawnMowerActivitySchema=a.LawnMowerActivitySchema;i.LawnMowerControlStatusSchema=a.LawnMowerControlStatusSchema;i.LocationStatSchema=a.LocationStatSchema;i.LockControlStatusSchema=a.LockControlStatusSchema;i.LockStateSchema=a.LockStateSchema;i.LogEntrySchema=a.LogEntrySchema;i.LogLevelSchema=a.LogLevelSchema;i.LogStreamEntrySchema=a.LogStreamEntrySchema;i.MODEL_FORMATS=a.MODEL_FORMATS;i.MaskGridDimsSchema=a.MaskGridDimsSchema;i.MaskGridShapeSchema=a.MaskGridShapeSchema;i.MaskLineShapeSchema=a.MaskLineShapeSchema;i.MaskPointSchema=a.MaskPointSchema;i.MaskPolygonShapeSchema=a.MaskPolygonShapeSchema;i.MaskPolygonVerticesSchema=a.MaskPolygonVerticesSchema;i.MaskRectShapeSchema=a.MaskRectShapeSchema;i.MaskShapeKindSchema=a.MaskShapeKindSchema;i.MaskShapeSchema=a.MaskShapeSchema;i.MediaFileSchema=a.MediaFileSchema;i.MediaPlayerRepeatSchema=a.MediaPlayerRepeatSchema;i.MediaPlayerStateSchema=a.MediaPlayerStateSchema;i.MediaPlayerStatusSchema=a.MediaPlayerStatusSchema;i.MeshPeerSchema=a.MeshPeerSchema;i.MeshStatusSchema=a.MeshStatusSchema;i.MethodAccessSchema=a.MethodAccessSchema;i.MotionAnalysisResultSchema=a.MotionAnalysisResultSchema;i.MotionEventSchema=a.MotionEventSchema;i.MotionOnMotionChangedDataSchema=a.MotionOnMotionChangedDataSchema;i.MotionRegionSchema=a.MotionRegionSchema;i.MotionSourceEnum=a.MotionSourceEnum;i.MotionSourcesSchema=a.MotionSourcesSchema;i.MotionStatusSchema=a.MotionStatusSchema;i.MotionTriggerRuntimeStateSchema=a.MotionTriggerRuntimeStateSchema;i.MotionTriggerStatusSchema=a.MotionTriggerStatusSchema;i.MotionZoneOptionsSchema=a.MotionZoneOptionsSchema;i.MotionZonePatchSchema=a.MotionZonePatchSchema;i.MotionZoneRegionSchema=a.MotionZoneRegionSchema;i.MotionZoneStatusSchema=a.MotionZoneStatusSchema;i.MqttBrokerStatusSchema=a.StatusSchema;i.NativeDetectionSchema=a.NativeDetectionSchema;i.NativeObjectClassEnum=a.NativeObjectClassEnum;i.NativeObjectDetectionRuntimeStateSchema=a.NativeObjectDetectionRuntimeStateSchema;i.NativeObjectDetectionStatusSchema=a.NativeObjectDetectionStatusSchema;i.NetworkAccessStatusSchema=a.NetworkAccessStatusSchema;i.NetworkAddressSchema=a.NetworkAddressSchema;i.NetworkEndpointSchema=a.NetworkEndpointSchema;i.NotificationHistoryEntrySchema=a.NotificationHistoryEntrySchema;i.NotificationRuleSchema=a.NotificationRuleSchema;i.NotificationSchema=a.NotificationSchema;i.NotifierStatusSchema=a.NotifierStatusSchema;i.NumericSensorStatusSchema=a.NumericSensorStatusSchema;i.OauthIntegrationDescriptorSchema=a.OauthIntegrationDescriptorSchema;i.ObjectEventSchema=a.ObjectEventSchema;i.OrchestratorMetricsSchema=a.OrchestratorMetricsSchema;i.OsdOverlayKindEnum=a.OsdOverlayKindEnum;i.OsdOverlayPatchSchema=a.OsdOverlayPatchSchema;i.OsdOverlaySchema=a.OsdOverlaySchema;i.OsdPositionEnum=a.OsdPositionEnum;i.OsdStatusSchema=a.OsdStatusSchema;i.PIPELINE_FLOW_CAPABILITY_NAMES=a.PIPELINE_FLOW_CAPABILITY_NAMES;i.PIPELINE_OWNER_CAPABILITY_NAMES=a.PIPELINE_OWNER_CAPABILITY_NAMES;i.PackageUpdateSchema=a.PackageUpdateSchema;i.PackageVersionInfoSchema=a.PackageVersionInfoSchema;i.PasskeySummarySchema=a.PasskeySummarySchema;i.PcmSampleFormatSchema=a.PcmSampleFormatSchema;i.PerScopeBreakdownSchema=a.PerScopeBreakdownSchema;i.PickStreamPreferencesSchema=a.PickStreamPreferencesSchema;i.PickStreamRequirementsSchema=a.PickStreamRequirementsSchema;i.PickedCamStreamSchema=a.PickedCamStreamSchema;i.PipelineAssignmentSchema=a.PipelineAssignmentSchema;i.PipelineDefaultStepSchema=a.PipelineDefaultStepSchema;i.PipelineEngineChoiceSchema=a.PipelineEngineChoiceSchema;i.PipelineRunResultBridge=a.PipelineRunResultBridge;i.PipelineStepInputSchema=a.PipelineStepInputSchema;i.PlaceholderReasonSchema=a.PlaceholderReasonSchema;i.PolygonPointSchema=a.PolygonPointSchema;i.PowerMeterStatusSchema=a.PowerMeterStatusSchema;i.PresenceStatusSchema=a.PresenceStatusSchema;i.PressureSensorStatusSchema=a.PressureSensorStatusSchema;i.PrivacyMaskOptionsSchema=a.PrivacyMaskOptionsSchema;i.PrivacyMaskPatchSchema=a.PrivacyMaskPatchSchema;i.PrivacyMaskRegionSchema=a.PrivacyMaskRegionSchema;i.PrivacyMaskShapeSchema=a.PrivacyMaskShapeSchema;i.PrivacyMaskStatusSchema=a.PrivacyMaskStatusSchema;i.ProfileRtspEntrySchema=a.ProfileRtspEntrySchema;i.ProfileSlotSchema=a.ProfileSlotSchema;i.ProfileSlotStatusSchema=a.ProfileSlotStatusSchema;i.ProviderStatusSchema=a.ProviderStatusSchema;i.PtzAutotrackRuntimeStateSchema=a.PtzAutotrackRuntimeStateSchema;i.PtzAutotrackSettingsSchema=a.PtzAutotrackSettingsSchema;i.PtzAutotrackStatusSchema=a.PtzAutotrackStatusSchema;i.PtzAutotrackTargetOptionSchema=a.PtzAutotrackTargetOptionSchema;i.PtzMoveCommandSchema=a.PtzMoveCommandSchema;i.PtzPositionSchema=a.PtzPositionSchema;i.PtzPresetSchema=a.PtzPresetSchema;i.PtzStatusSchema=a.PtzStatusSchema;i.QueryFilterSchema=a.QueryFilterSchema;i.RawStateResultSchema=a.RawStateResultSchema;i.RecordingAvailabilitySchema=a.RecordingAvailabilitySchema;i.RecordingConfigSchema=a.RecordingConfigSchema;i.RecordingDeviceUsageSchema=a.RecordingDeviceUsageSchema;i.RecordingLocationUsageSchema=a.RecordingLocationUsageSchema;i.RecordingManifestSchema=a.RecordingManifestSchema;i.RecordingModeSchema=a.RecordingModeSchema;i.RecordingRangeSchema=a.RecordingRangeSchema;i.RecordingRetentionSchema=a.RecordingRetentionSchema;i.RecordingRuleSchema=a.RecordingRuleSchema;i.RecordingScheduleSchema=a.RecordingScheduleSchema;i.RecordingStatusSchema=a.RecordingStatusSchema;i.RecordingStorageUsageSchema=a.RecordingStorageUsageSchema;i.RecordingWeekdaySchema=a.RecordingWeekdaySchema;i.RegisteredStreamSchema=a.RegisteredStreamSchema;i.ReportMotionInputSchema=a.ReportMotionInputSchema;i.RtpSourceSchema=a.RtpSourceSchema;i.RtspRestreamEntrySchema=a.RtspRestreamEntrySchema;i.RunnerCameraConfigSchema=a.RunnerCameraConfigSchema;i.RunnerCameraDeviceUIFields=a.RunnerCameraDeviceUIFields;i.RunnerLocalLoadSchema=a.RunnerLocalLoadSchema;i.RunnerLocalMetricsSchema=a.RunnerLocalMetricsSchema;i.SOURCE_INFO_METADATA_KEY=a.SOURCE_INFO_METADATA_KEY;i.ScopedTokenSchema=a.ScopedTokenSchema;i.ScopedTokenSummarySchema=a.ScopedTokenSummarySchema;i.ScriptRunnerStatusSchema=a.ScriptRunnerStatusSchema;i.SearchResultSchema=a.SearchResultSchema;i.SendEmailInputSchema=a.SendEmailInputSchema;i.SendEmailResultSchema=a.SendEmailResultSchema;i.SettingsPatchSchema=a.SettingsPatchSchema;i.SettingsRecordSchema=a.SettingsRecordSchema;i.SettingsSchemaWithValuesSchema=a.SettingsSchemaWithValuesSchema;i.SettingsUpdateResultSchema=a.SettingsUpdateResultSchema;i.ShmRingStatsSchema=a.ShmRingStatsSchema;i.SmokeStatusSchema=a.SmokeStatusSchema;i.SmtpStatusSchema=a.SmtpStatusSchema;i.SnapshotImageSchema=a.SnapshotImageSchema;i.SourceInfoSchema=a.SourceInfoSchema;i.SpatialDetectionSchema=a.SpatialDetectionSchema;i.SsoBridgeClaimsSchema=a.SsoBridgeClaimsSchema;i.StartEmbeddedInputSchema=a.StartEmbeddedInputSchema;i.StorageAbortUploadInputSchema=a.AbortUploadInputSchema;i.StorageBeginDownloadInputSchema=a.BeginDownloadInputSchema;i.StorageBeginDownloadResultSchema=a.BeginDownloadResultSchema;i.StorageBeginUploadInputSchema=a.BeginUploadInputSchema;i.StorageBeginUploadResultSchema=a.BeginUploadResultSchema;i.StorageEndDownloadInputSchema=a.EndDownloadInputSchema;i.StorageFinalizeUploadInputSchema=a.FinalizeUploadInputSchema;i.StorageLocationDeclarationSchema=a.StorageLocationDeclarationSchema;i.StorageLocationRefSchema=a.StorageLocationRefSchema;i.StorageLocationSchema=a.StorageLocationSchema;i.StorageLocationTypeSchema=a.StorageLocationTypeSchema;i.StorageProviderInfoSchema=a.ProviderInfoSchema;i.StorageReadChunkInputSchema=a.ReadChunkInputSchema;i.StorageTestLocationResultSchema=a.TestLocationResultSchema;i.StorageWriteChunkInputSchema=a.WriteChunkInputSchema;i.StreamCodecSchema=a.StreamCodecSchema;i.StreamFormatSchema=a.StreamFormatSchema;i.StreamInfoSchema=a.StreamInfoSchema;i.StreamNetworkStatsSchema=a.StreamNetworkStatsSchema;i.StreamParamsOptionsSchema=a.StreamParamsOptionsSchema;i.StreamParamsStatusSchema=a.StreamParamsStatusSchema;i.StreamProfileConfigSchema=a.StreamProfileConfigSchema;i.StreamProfileOptionsSchema=a.StreamProfileOptionsSchema;i.StreamProfilePatchSchema=a.StreamProfilePatchSchema;i.StreamProfileSchema=a.StreamProfileSchema;i.StreamSourceEntrySchema=a.StreamSourceEntrySchema;i.StreamSourceSchema=a.StreamSourceSchema;i.SubscribeAudioChunksInputSchema=a.SubscribeAudioChunksInputSchema;i.SubscribeAudioChunksResultSchema=a.SubscribeAudioChunksResultSchema;i.SubscribeFramesInputSchema=a.SubscribeFramesInputSchema;i.SubscribeFramesResultSchema=a.SubscribeFramesResultSchema;i.SwitchStatusSchema=a.SwitchStatusSchema;i.SystemMetricsSchema=a.SystemMetricsSchema;i.TamperStatusSchema=a.TamperStatusSchema;i.TankStatusSchema=a.TankStatusSchema;i.TemperatureSensorStatusSchema=a.TemperatureSensorStatusSchema;i.TestConnectionResultSchema=a.TestConnectionResultSchema$1;i.ToastSchema=a.ToastSchema;i.TokenScopeSchema=a.TokenScopeSchema;i.TopologyNodeSchema=a.TopologyNodeSchema;i.TopologyProcessSchema=a.TopologyProcessSchema;i.TopologyServiceSchema=a.TopologyServiceSchema;i.TrackSchema=a.TrackSchema;i.TrackStateSchema=a.TrackStateSchema;i.TrackedDetectionSchema=a.TrackedDetectionSchema;i.TurnServerSchema=a.TurnServerSchema;i.UnifiedBrokerInfoSchema=a.BrokerInfoSchema$1;i.UpdateIntegrationInputSchema=a.UpdateIntegrationInputSchema;i.UpdateStatusSchema=a.UpdateStatusSchema;i.UpdateUserInputSchema=a.UpdateUserInputSchema;i.UserRecordSchema=a.UserRecordSchema;i.UserSummarySchema=a.UserSummarySchema;i.VacuumControlStatusSchema=a.VacuumControlStatusSchema;i.VacuumStateSchema=a.VacuumStateSchema;i.ValveStateSchema=a.ValveStateSchema;i.ValveStatusSchema=a.ValveStatusSchema;i.VibrationStatusSchema=a.VibrationStatusSchema;i.VideoEncodeSchema=a.VideoEncodeSchema;i.WELL_KNOWN_TABS=a.WELL_KNOWN_TABS;i.WELL_KNOWN_TAB_MAP=a.WELL_KNOWN_TAB_MAP;i.WaterHeaterStatusSchema=a.WaterHeaterStatusSchema;i.WeatherStatusSchema=a.WeatherStatusSchema;i.WebrtcStreamChoiceSchema=a.WebrtcStreamChoiceSchema;i.WebrtcStreamTargetSchema=a.WebrtcStreamTargetSchema;i.WidgetHostEnum=a.WidgetHostEnum;i.WidgetMetadataSchema=a.WidgetMetadataSchema;i.WidgetRemoteSchema=a.WidgetRemoteSchema;i.WidgetSizeEnum=a.WidgetSizeEnum;i.YAMNET_TO_MACRO=a.YAMNET_TO_MACRO;i.ZoneKindEnum=a.ZoneKindEnum;i.ZoneRuleModeEnum=a.ZoneRuleModeEnum;i.ZoneRuleSchema=a.ZoneRuleSchema;i.ZoneRuleStageEnum=a.ZoneRuleStageEnum;i.ZoneRulesArraySchema=a.ZoneRulesArraySchema;i.ZoneSchema=a.ZoneSchema;i.ZoneScopeBreakdownSchema=a.ZoneScopeBreakdownSchema;i.accessoriesCapability=a.accessoriesCapability;i.accessoryStableId=a.accessoryStableId;i.addonPagesCapability=a.addonPagesCapability;i.addonPagesSourceCapability=a.addonPagesSourceCapability;i.addonRoutesCapability=a.addonRoutesCapability;i.addonSettingsCapability=a.addonSettingsCapability;i.addonWidgetsCapability=a.addonWidgetsCapability;i.addonWidgetsSourceCapability=a.addonWidgetsSourceCapability;i.addonsCapability=a.addonsCapability;i.adminUiCapability=a.adminUiCapability;i.advancedNotifierCapability=a.advancedNotifierCapability;i.airQualitySensorCapability=a.airQualitySensorCapability;i.alarmPanelCapability=a.alarmPanelCapability;i.alertsCapability=a.alertsCapability;i.ambientLightSensorCapability=a.ambientLightSensorCapability;i.audioAnalysisCapability=a.audioAnalysisCapability;i.audioAnalyzerCapability=a.audioAnalyzerCapability;i.audioCodecCapability=a.audioCodecCapability;i.audioMetricsCapability=a.audioMetricsCapability;i.authProviderCapability=a.authProviderCapability;i.automationControlCapability=a.automationControlCapability;i.backupCapability=a.backupCapability;i.batteryCapability=a.batteryCapability;i.binaryCapability=a.binaryCapability;i.brightnessCapability=a.brightnessCapability;i.brokerCapability=a.brokerCapability;i.buttonCapability=a.buttonCapability;i.cameraCredentialsCapability=a.cameraCredentialsCapability;i.cameraPipelineConfigCapability=a.cameraPipelineConfigCapability;i.cameraStreamsCapability=a.cameraStreamsCapability;i.carbonMonoxideCapability=a.carbonMonoxideCapability;i.climateControlCapability=a.climateControlCapability;i.colorCapability=a.colorCapability;i.connectivityCapability=a.connectivityCapability;i.consumablesCapability=a.consumablesCapability;i.contactCapability=a.contactCapability;i.controlCapability=a.controlCapability;i.coverCapability=a.coverCapability;i.decoderCapability=a.decoderCapability;i.detectionPipelineCapability=a.detectionPipelineCapability;i.deviceAdoptionCapability=a.deviceAdoptionCapability;i.deviceDiscoveryCapability=a.deviceDiscoveryCapability;i.deviceExportCapability=a.deviceExportCapability;i.deviceManagerCapability=a.deviceManagerCapability;i.deviceMatchesProfile=a.deviceMatchesProfile;i.deviceOpsCapability=a.deviceOpsCapability;i.deviceProviderCapability=a.deviceProviderCapability;i.deviceStateCapability=a.deviceStateCapability;i.deviceStatusCapability=a.deviceStatusCapability;i.doorbellCapability=a.doorbellCapability;i.embeddingEncoderCapability=a.embeddingEncoderCapability;i.encodeProfileFromStreamShape=a.encodeProfileFromStreamShape;i.enumSensorCapability=a.enumSensorCapability;i.errMsg=a.errMsg;i.event=a.event;i.eventEmitterCapability=a.eventEmitterCapability;i.eventsCapability=a.eventsCapability;i.expandCapMethods=a.expandCapMethods;i.extractSourceInfoFromMetadata=a.extractSourceInfoFromMetadata;i.fanControlCapability=a.fanControlCapability;i.featureProbeCapability=a.featureProbeCapability;i.floodCapability=a.floodCapability;i.gasCapability=a.gasCapability;i.getAudioMacroClassIds=a.getAudioMacroClassIds;i.humidifierCapability=a.humidifierCapability;i.humiditySensorCapability=a.humiditySensorCapability;i.hydrateSchema=a.hydrateSchema;i.imageCapability=a.imageCapability;i.integrationsCapability=a.integrationsCapability;i.intercomCapability=a.intercomCapability;i.isDeviceConfigCap=a.isDeviceConfigCap;i.lawnMowerControlCapability=a.lawnMowerControlCapability;i.localNetworkCapability=a.localNetworkCapability;i.lockControlCapability=a.lockControlCapability;i.logDestinationCapability=a.logDestinationCapability;i.makeProfileBrokerId=a.makeProfileBrokerId;i.makeSourceBrokerId=a.makeSourceBrokerId;i.mapAudioLabelToMacro=a.mapAudioLabelToMacro;i.mediaPlayerCapability=a.mediaPlayerCapability;i.mergeSourceInfo=a.mergeSourceInfo;i.meshNetworkCapability=a.meshNetworkCapability;i.method=a.method;i.metricsProviderCapability=a.metricsProviderCapability;i.motionCapability=a.motionCapability;i.motionDetectionCapability=a.motionDetectionCapability;i.motionTriggerCapability=a.motionTriggerCapability;i.motionZonesCapability=a.motionZonesCapability;i.mqttBrokerCapability=a.mqttBrokerCapability;i.nativeObjectDetectionCapability=a.nativeObjectDetectionCapability;i.networkAccessCapability=a.networkAccessCapability;i.networkQualityCapability=a.networkQualityCapability;i.nodesCapability=a.nodesCapability;i.normalizeUnit=a.normalizeUnit;i.notificationOutputCapability=a.notificationOutputCapability;i.notifierCapability=a.notifierCapability;i.numericSensorCapability=a.numericSensorCapability;i.oauthIntegrationCapability=a.oauthIntegrationCapability;i.osdCapability=a.osdCapability;i.parseProfileBrokerId=a.parseProfileBrokerId;i.pipelineAnalyticsCapability=a.pipelineAnalyticsCapability;i.pipelineExecutorCapability=a.pipelineExecutorCapability;i.pipelineOrchestratorCapability=a.pipelineOrchestratorCapability;i.pipelineRunnerCapability=a.pipelineRunnerCapability;i.platformProbeCapability=a.platformProbeCapability;i.powerMeterCapability=a.powerMeterCapability;i.presenceCapability=a.presenceCapability;i.pressureSensorCapability=a.pressureSensorCapability;i.privacyMaskCapability=a.privacyMaskCapability;i.ptzAutotrackCapability=a.ptzAutotrackCapability;i.ptzCapability=a.ptzCapability;i.rebootCapability=a.rebootCapability;i.recordingCapability=a.recordingCapability;i.resolveDeviceProfile=a.resolveDeviceProfile;i.restreamerCapability=a.restreamerCapability;i.scriptRunnerCapability=a.scriptRunnerCapability;i.selectAssignedProfileSlots=a.selectAssignedProfileSlots;i.settingsStoreCapability=a.settingsStoreCapability;i.smokeCapability=a.smokeCapability;i.smtpProviderCapability=a.smtpProviderCapability;i.snapshotCapability=a.snapshotCapability;i.snapshotProviderCapability=a.snapshotProviderCapability;i.ssoBridgeCapability=a.ssoBridgeCapability;i.storageCapability=a.storageCapability;i.storageEvictableCapability=a.storageEvictableCapability;i.storageProviderCapability=a.storageProviderCapability;i.streamBrokerCapability=a.streamBrokerCapability;i.streamCatalogCapability=a.streamCatalogCapability;i.streamParamsCapability=a.streamParamsCapability;i.streamingEngineCapability=a.streamingEngineCapability;i.switchCapability=a.switchCapability;i.synthesizeSourceInfo=a.synthesizeSourceInfo;i.systemCapability=a.systemCapability;i.tamperCapability=a.tamperCapability;i.temperatureSensorCapability=a.temperatureSensorCapability;i.toastCapability=a.toastCapability;i.turnProviderCapability=a.turnProviderCapability;i.updateCapability=a.updateCapability;i.userManagementCapability=a.userManagementCapability;i.userPasskeysCapability=a.userPasskeysCapability;i.vacuumControlCapability=a.vacuumControlCapability;i.valveCapability=a.valveCapability;i.vibrationCapability=a.vibrationCapability;i.waterHeaterCapability=a.waterHeaterCapability;i.weatherCapability=a.weatherCapability;i.webrtcCapability=a.webrtcCapability;i.webrtcClientHintsSchema=a.webrtcClientHintsSchema;i.webrtcSessionCapability=a.webrtcSessionCapability;i.wiringAddonHealthSchema=a.wiringAddonHealthSchema;i.wiringHealthSnapshotSchema=a.wiringHealthSnapshotSchema;i.wiringNodeHealthSchema=a.wiringNodeHealthSchema;i.wiringProbeKindSchema=a.wiringProbeKindSchema;i.wiringProbeResultSchema=a.wiringProbeResultSchema;i.zoneAnalyticsCapability=a.zoneAnalyticsCapability;i.zoneRulesCapability=a.zoneRulesCapability;i.zonesCapability=a.zonesCapability;i.ALL_CAPABILITY_DEFINITIONS=Es;i.BACKEND_TO_FORMAT=te;i.BaseAddon=Pe;i.BaseDevice=Ja;i.BaseDeviceProvider=Xa;i.CAPABILITY_NAMES=Ms;i.CAPABILITY_ROUTER_KEYS=Ds;i.CAP_NAMES_WITH_STATUS=Rs;i.CAP_PROVIDER_KIND_MAP=je;i.COCO_80_LABELS=Ka;i.COCO_TO_MACRO=Va;i.DATAPLANE_SECRET_HEADER=pa;i.DEFAULT_ADDON_PLACEMENT=Ae;i.DEFAULT_FEATURES=fa;i.DEFAULT_RETENTION=wa;i.DEVICE_CAP_NAMES=qs;i.DEVICE_TYPE_INFO=ja;i.DeviceConfig=R;i.DeviceRuntimeState=V;i.DisposerChain=Gt;i.ElementConfigStore=Ba;i.EventCategory=x;i.EventSourceType=qe;i.HF_BASE_URL=Aa;i.HF_REPO=Be;i.KNOWN_CAP_NAMES=Os;i.MACRO_LABELS=Za;i.METHOD_ACCESS_MAP=Ts;i.PROVIDER_KIND_CAP_NAMES=Ls;i.PYTHON_SCRIPT=_e;i.RECOGNITION_TYPES=Ia;i.RUNTIME_DEFAULTS=Na;i.RUNTIME_TO_FORMAT=Le;i.ReadinessRegistry=ra;i.ReadinessTimeoutError=Ee;i.RingBuffer=Ws;i.SCOPE_PRESETS=xs;i.STREAM_PROFILE_META=Ve;i.STREAM_QUALITY_LABELS=Re;i.SUB_DETECTION_TYPES=ba;i.SYSTEM_CAP_NAMES=Bs;i.SystemMirror=bs;i.TIMEZONES=De;i.applyTransform=rs;i.asBoolean=Ea;i.asJsonArray=Pa;i.asJsonObject=xe;i.asNumber=Da;i.asString=Ma;i.autoAssignProfiles=va;i.bestLocationMatch=Fs;i.bindAddonActions=Gs;i.buildAddonRouteProvider=aa;i.buildStreamParamsConfigSchema=Ns;i.cellsToRects=Zs;i.classifyStream=ua;i.classifyStreams=Oe;i.cosineSimilarity=qa;i.createDeviceProxy=Ze;i.createDurableState=J;i.createEvent=Z;i.createLazyTrpcSource=ae;i.createMirrorSource=Ke;i.createRuntimeStateBridge=Ya;i.createSliceHandle=y;i.createSystemProxy=Ss;i.customAction=ks;i.defineCustomActions=Cs;i.deviceCustomAction=ws;i.emitDownForOwnedCaps=la;i.emitReadiness=Ne;i.enumerateSchemaFields=We;i.evaluateZoneRules=ms;i.findTimezone=ca;i.formatForBackend=za;i.formatForRuntime=Fa;i.getByPath=cs;i.getCapsByProviderKind=_s;i.hfModelUrl=Oa;i.isAgentOnlyPlacement=Qt;i.isDeployableToAgent=Yt;i.isEvent=ta;i.locationSimilarity=Ge;i.maskUrlCredentials=$s;i.normalizeAddonInitResult=Me;i.parseCameraStreamConfig=ha;i.parseJsonArray=Ta;i.parseJsonObject=Ra;i.parseJsonUnknown=ee;i.parseStreamParamsFormPatch=Ps;i.pickPreferredRtspEntry=Ca;i.pythonScriptForBackend=Ua;i.readinessKey=W;i.rectsToCells=Ks;i.requiresPython=Ha;i.resolveAddonExecution=_;i.resolveAddonGroup=Jt;i.resolveAddonPlacement=ea;i.resolveAddonRuntime=_a;i.resolveDetectionRuntime=ze;i.resolveModelFormat=La;i.resolveRunnerId=Xt;i.runInferenceStep=$a;i.scopeKey=D;i.setByPath=$e;i.sleep=Vs;i.sleepCancellable=js;i.streamPixels=Te;i.streamQualityLabel=ma;i.toDeviceSummary=Fe;i.toStreamSourceEntry=Sa;i.zodEntriesToConfigUI=es});export default Ys();