@camstack/addon-admin-ui 1.2.294 → 1.2.295

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 (85) hide show
  1. package/dist/assets/{AddonCollectionPage-DRGf2OiI.js → AddonCollectionPage-BjZWBdqt.js} +1 -1
  2. package/dist/assets/{Addons-DofatLO8.js → Addons-WiIbaSV5.js} +1 -1
  3. package/dist/assets/{AdminTabs-EMBLbbVG.js → AdminTabs-CmeWBU2h.js} +1 -1
  4. package/dist/assets/{AiProfiles-CZOMbgJn.js → AiProfiles-C_BkxImz.js} +1 -1
  5. package/dist/assets/{BrokerForm-DJJQAPJZ.js → BrokerForm-C-p5JCOm.js} +1 -1
  6. package/dist/assets/{Build-BvfwhGsb.js → Build-j8wO3qn_.js} +3 -3
  7. package/dist/assets/{Capabilities-Cv93cljz.js → Capabilities-C86MVt18.js} +1 -1
  8. package/dist/assets/{CapabilityBadges-xpOhtEtg.js → CapabilityBadges-CaHJk_kn.js} +1 -1
  9. package/dist/assets/{Cluster-CWi5taDJ.js → Cluster-fbQbYjCf.js} +1 -1
  10. package/dist/assets/CompositionEditor-CVhFCXxc.js +1 -0
  11. package/dist/assets/{CompositionEditorPage-BdF9of5d.js → CompositionEditorPage-BSs8AIGK.js} +1 -1
  12. package/dist/assets/{Data-D7TwD0GP.js → Data-DzpdW7Nd.js} +1 -1
  13. package/dist/assets/{DetectionIntelligence-DTatFeXI.js → DetectionIntelligence-BjQqT4V0.js} +1 -1
  14. package/dist/assets/{DeviceAggregateSection-Cyvv94KD.js → DeviceAggregateSection-BxdSltlz.js} +1 -1
  15. package/dist/assets/{DeviceDetail-DryJRopi.js → DeviceDetail-DT-kpa14.js} +2 -2
  16. package/dist/assets/{Devices-Bj2k3X3q.js → Devices-DNl_NJlM.js} +1 -1
  17. package/dist/assets/{EmbedPlayerPage-CxZ27S76.js → EmbedPlayerPage-DYfiijJR.js} +1 -1
  18. package/dist/assets/{Events-By_OAnCR.js → Events-Cl054y7c.js} +1 -1
  19. package/dist/assets/{FormBuilder-Cp6nC5QM.js → FormBuilder-DgJhzkoh.js} +1 -1
  20. package/dist/assets/{Identity-jSX1_m0Z.js → Identity-BWgc_hI2.js} +1 -1
  21. package/dist/assets/{IntegrationDetail-BMAaoZzc.js → IntegrationDetail-Myj72iPN.js} +1 -1
  22. package/dist/assets/{Integrations-BSNGs_jj.js → Integrations-BnVOw3Jz.js} +1 -1
  23. package/dist/assets/Integrations-CSQi0J-j.js +1 -0
  24. package/dist/assets/{Locations-BYWUdFam.js → Locations-CG76NvoR.js} +2 -2
  25. package/dist/assets/{Logs-CKi2Bg-W.js → Logs-B1g2mzbM.js} +1 -1
  26. package/dist/assets/{ModelLicenses-CsG8jgEC.js → ModelLicenses-OrqL6ide.js} +1 -1
  27. package/dist/assets/{MotionZonesSettings-8eh2W7gm.js → MotionZonesSettings-NZEXcsG8.js} +1 -1
  28. package/dist/assets/{MyAccess-D6yY9rir.js → MyAccess-ewXqysbe.js} +1 -1
  29. package/dist/assets/{Network-ChkDRtn6.js → Network-Cys6FNCA.js} +1 -1
  30. package/dist/assets/{NodeAddonsSettingsPanel-C8m4YVbh.js → NodeAddonsSettingsPanel-D2-Cx1iE.js} +1 -1
  31. package/dist/assets/{NodeInferenceDevices-BejhOJWC.js → NodeInferenceDevices-CA7d-kaY.js} +1 -1
  32. package/dist/assets/Notifications-TpqxFGMq.js +1 -0
  33. package/dist/assets/{Pipeline-DQv4_ofy.js → Pipeline-B_2BJBZQ.js} +1 -1
  34. package/dist/assets/{Plates-Da1CNvCb.js → Plates-DP-hRQLx.js} +1 -1
  35. package/dist/assets/{PrivacyMaskSettings-yK5lge0t.js → PrivacyMaskSettings-D6vMdxim.js} +1 -1
  36. package/dist/assets/{ProviderIcon-BxK7myvW.js → ProviderIcon-CquwE-_I.js} +1 -1
  37. package/dist/assets/{Recordings-ChxEgeQc.js → Recordings-CVpg0WGQ.js} +1 -1
  38. package/dist/assets/{ScanNetworkModal-zDxr3B8k.js → ScanNetworkModal-ByFzh7Ug.js} +1 -1
  39. package/dist/assets/{SceneMonitorEditor-DJWyzzTo.js → SceneMonitorEditor-CyAWuivX.js} +1 -1
  40. package/dist/assets/{Scenes-QayoVRwq.js → Scenes-D0XykrW5.js} +1 -1
  41. package/dist/assets/{Settings-DIS2Em2u.js → Settings-BcWgYeD-.js} +1 -1
  42. package/dist/assets/{Showroom-D1pfd_62.js → Showroom-3dQ7J2_v.js} +1 -1
  43. package/dist/assets/{StorageLocationsPanel-CxxZdj7g.js → StorageLocationsPanel-ZSVB4Pin.js} +1 -1
  44. package/dist/assets/{Terminal-68Ehu1Yx.js → Terminal-ClZ3NnXd.js} +1 -1
  45. package/dist/assets/{Viewer-BCsBe_nv.js → Viewer-BW8VdGUp.js} +1 -1
  46. package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-CQKziG18.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-D8lY-jG1.js} +1 -1
  47. package/dist/assets/{archive-CiyZ9imb.js → archive-CkZkXqo-.js} +1 -1
  48. package/dist/assets/{authed-media-ATSOIMsa.js → authed-media-CcvCSJwn.js} +1 -1
  49. package/dist/assets/{boxes-Dp0lt8Z1.js → boxes-C4i_E5C-.js} +1 -1
  50. package/dist/assets/circle-slash-KMkDUERh.js +1 -0
  51. package/dist/assets/{debounced-invalidate-CVhPTo7w.js → debounced-invalidate-DdBpZuBC.js} +1 -1
  52. package/dist/assets/{device-integration-icon-DUHJOD-M.js → device-integration-icon-CRjDzZTc.js} +1 -1
  53. package/dist/assets/{dist-C8i7ndf_.js → dist-CQ1Wje9Q.js} +1 -1
  54. package/dist/assets/{dist-C9gTJtfi.js → dist-H-apj5aF.js} +1 -1
  55. package/dist/assets/{face-bbox-izcvsRZp.js → face-bbox-DDVJRJ2e.js} +1 -1
  56. package/dist/assets/{hard-drive-download-CLzQNwMQ.js → hard-drive-download-Dl1Mi_Bd.js} +1 -1
  57. package/dist/assets/{hostInit-sKezcAaN.js → hostInit-NAmBeyk9.js} +1 -1
  58. package/dist/assets/{index-Du67baCa.js → index-D1nOb8NJ.js} +3 -3
  59. package/dist/assets/{layers-BBLv0dmH.js → layers-C8SA-eys.js} +1 -1
  60. package/dist/assets/{location-owned-usage-B21iaENt.js → location-owned-usage-D5g_0SgR.js} +1 -1
  61. package/dist/assets/{mf-entry-bootstrap-0-b222f1f6.js → mf-entry-bootstrap-0-e88f3fd4.js} +2 -2
  62. package/dist/assets/{player-overlays-DXjBaL7q.js → player-overlays-T90xSvHE.js} +1 -1
  63. package/dist/assets/remoteEntry-CtptjVdP.js +1 -0
  64. package/dist/assets/{send-Cw45pBVr.js → send-lMovTHqD.js} +1 -1
  65. package/dist/assets/{settings-2-BNOXa5-T.js → settings-2-DzRjNRlj.js} +1 -1
  66. package/dist/assets/{square-check-big-DjV6-LlL.js → square-check-big-BA8dtN5I.js} +1 -1
  67. package/dist/assets/{src-RS_MpuMq.js → src-BvHjCPd8.js} +1 -1
  68. package/dist/assets/{src-Do1xs9ps.js → src-D-Ti2TOa.js} +8 -8
  69. package/dist/assets/{use-scenes-feed-Rd4_ayZz.js → use-scenes-feed-DSJqfwpQ.js} +1 -1
  70. package/dist/assets/{use-stationary-objects-i-wroKEP.js → use-stationary-objects-CI4KvzKa.js} +1 -1
  71. package/dist/assets/{useDevice-DIvJmm5g.js → useDevice-DjspuePz.js} +1 -1
  72. package/dist/assets/useEventInvalidation-DOcu13bt.js +1 -0
  73. package/dist/assets/{useNodeUrlSelection-Z6X2zmoO.js → useNodeUrlSelection-7nmLVdNp.js} +1 -1
  74. package/dist/assets/user-round-N5qlAYPg.js +1 -0
  75. package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-BBIBOaHj.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-BWLhl4sL.js} +2 -2
  76. package/dist/index.html +5 -5
  77. package/dist/server/addon.js +12 -7
  78. package/package.json +1 -1
  79. package/dist/assets/CompositionEditor-DQgCZ_4y.js +0 -1
  80. package/dist/assets/Integrations-Dj57XIj6.js +0 -1
  81. package/dist/assets/Notifications-DdM5rtZB.js +0 -1
  82. package/dist/assets/circle-slash-CyNkl8RI.js +0 -1
  83. package/dist/assets/remoteEntry-fK68nJXB.js +0 -1
  84. package/dist/assets/useEventInvalidation-nVSgUrR3.js +0 -1
  85. package/dist/assets/user-round-DEefZs4R.js +0 -1
@@ -346,4 +346,4 @@ ${r.triggers.map((e,t)=>Ad(e,t)).join(`
346
346
  `).replace(/<\s*\/\s*(p|div|li|h[1-6])\s*>/gi,`
347
347
  `).replace(/<[^>]+>/g,``);for(let[e,n]of jW)t=t.replace(e,n);return t.replace(/\n{3,}/g,`
348
348
 
349
- `).trim()}var NW=[[/&/g,`&amp;`],[/</g,`&lt;`],[/>/g,`&gt;`],[/"/g,`&quot;`],[/'/g,`&#39;`]];function PW(e){let t=e;for(let[e,n]of NW)t=t.replace(e,n);return t}function FW(e){return PW(e).replace(/\n/g,`<br>`)}function IW(e){return PW(e).replace(/(\*\*|__)(.*?)\1/g,`<b>$2</b>`).replace(/(\*|_)(.*?)\1/g,`<i>$2</i>`).replace(/`([^`]*)`/g,`<code>$1</code>`).replace(/\[([^\]]*)\]\(([^)]*)\)/g,`<a href="$2">$1</a>`).replace(/\n/g,`<br>`)}var LW={text:[`text`,`markdown`,`html`],markdown:[`markdown`,`html`,`text`],html:[`html`,`text`,`markdown`]};function RW(e,t){for(let n of LW[e]??LW.text)if(t.includes(n))return n;return t[0]??`text`}function zW(e,t,n){if(t===n)return e;if(n===`text`){if(t===`markdown`)return AW(e);if(t===`html`)return MW(e)}if(n===`html`){if(t===`text`)return FW(e);if(t===`markdown`)return IW(e)}if(n===`markdown`){if(t===`text`)return e;if(t===`html`)return MW(e)}return e}function BW(e){return{id:e.id,ordinal:e.ordinal,...e.flags?{flags:e.flags}:{},...e.requires?{requires:e.requires}:{}}}function VW(e,t){if(e.length===0)return null;if(t.level!==void 0){let n=e.find(e=>e.id===t.level);if(n)return BW(n)}let n=e.filter(e=>e.ordinal!==null);if(n.length===0)return BW(e[0]);let r=t.priority;return BW([...n].sort((e,t)=>{let n=Math.abs((e.ordinal??0)-r),i=Math.abs((t.ordinal??0)-r);return n===i?(t.ordinal??0)-(e.ordinal??0):n-i})[0])}function HW(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return[e];let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function UW(e,t){let n=[],r=t.format,i=RW(r,e.format);i!==r&&n.push(`format`);let a=zW(t.body,r,i),o=VW(e.levels,t),s=t.attachments??[],c=[];for(let t of s){if(!e.attachments.mediaTypes.includes(t.mediaType)){n.push(`attachment:${t.mediaType}`);continue}if(e.attachments.mode===`url`&&t.url===void 0){n.push(`attachment:noUrl`);continue}if(t.bytes!==void 0&&e.attachments.maxBytes!==void 0&&t.bytes.length>e.attachments.maxBytes){n.push(`attachment:maxBytes`);continue}if(c.length>=e.attachments.max){n.push(`attachment:max`);continue}let r=e.attachments.mode===`bytes`&&t.bytes===void 0&&t.url!==void 0;c.push({mediaType:t.mediaType,...t.url===void 0?{}:{url:t.url},...t.bytes===void 0?{}:{bytes:t.bytes},...t.mime===void 0?{}:{mime:t.mime},...t.name===void 0?{}:{name:t.name},needsFetch:r})}let l=t.actions??[],u=l.slice(0,Math.max(0,e.actions));l.length>u.length&&n.push(`actions`);let d=e.actionIcons===!0;!d&&u.some(e=>e.icon!==void 0)&&n.push(`actionIcons`);let f=d?u:u.map(({icon:e,...t})=>t),p=null;t.clickUrl!==void 0&&(e.clickUrl?p=t.clickUrl:n.push(`clickUrl`));let m=null;t.sound!==void 0&&(e.sound?m=t.sound:n.push(`sound`));let ee=null;t.ttl!==void 0&&(e.ttl?ee=t.ttl:n.push(`ttl`));let h=t.tag??null,te=HW(a,e.bodyMaxLen),ne=te.length>1,re={level:o?.id??``,format:i,attachmentsSent:c.length,actionsSent:f.length,truncated:ne,dropped:n};return{body:te[0]??``,...t.title===void 0?{}:{title:t.title},format:i,level:o,attachments:c,actions:f,clickUrl:p,sound:m,ttl:ee,tag:h,bodyParts:te,renderedAs:re}}var WW=[`deviceIds`,`deviceTypes`,`nodeIds`,`packageNames`,`consumableLowPercent`];function GW(e,t){switch(t){case`deviceIds`:return e.startsWith(`device-`)||e.startsWith(`stream-`)||e===`detection-blind`||e===`alarm-triggered`;case`deviceTypes`:return e.startsWith(`device-`)||e===`detection-blind`;case`nodeIds`:return e.startsWith(`node-`)||e===`addon-crash-loop`||e===`addon-update-available`||e===`addon-updated`||e===`server-update-available`||e===`wrapper-update-available`||e===`server-updated`;case`packageNames`:return e.endsWith(`update-available`)||e===`addon-updated`||e===`server-updated`;case`consumableLowPercent`:return jx.includes(e)}}function KW(e,t){return e.some(e=>GW(e,t))}var qW=[`device-events`,`system`,`alarm`];function JW(e){return qW.some(t=>t===e)}var YW={"device-online":`device-events`,"device-offline":`device-events`,"device-disabled":`device-events`,"device-enabled":`device-events`,"device-battery-low":`device-events`,"device-battery-normal":`device-events`,"device-consumable-low":`device-events`,"device-consumable-normal":`device-events`,"device-tank-low":`device-events`,"device-tank-full":`device-events`,"device-tank-normal":`device-events`,"stream-online":`device-events`,"stream-offline":`device-events`,"detection-blind":`device-events`,"node-online":`system`,"node-offline":`system`,"node-inference-unavailable":`system`,"addon-crash-loop":`system`,"addon-update-available":`system`,"addon-updated":`system`,"server-update-available":`system`,"server-updated":`system`,"wrapper-update-available":`system`,"backup-completed":`system`,"export-completed":`system`,"alarm-triggered":`alarm`,"alarm-armed":`alarm`,"alarm-disarmed":`alarm`,"alarm-arming":`alarm`,"alarm-arm-refused":`alarm`,"alarm-pending":`alarm`,"alarm-rearmed":`alarm`,"alarm-sensor-bypass":`alarm`,"alarm-check-failed":`alarm`,"camera-online":null,"camera-offline":null,"camera-disabled":null,"camera-enabled":null},XW=new Map(Object.entries(YW)),ZW=[...WW,`excludeDeviceIds`],QW={"device-events":[`deviceIds`,`excludeDeviceIds`,`deviceTypes`,`consumableLowPercent`],system:[`nodeIds`,`packageNames`],alarm:[`deviceIds`]},$W=[{id:`device-state`,family:`device-events`,label:`Device state`,kinds:[`device-offline`,`device-online`,`device-disabled`,`device-enabled`]},{id:`streams`,family:`device-events`,label:`Streams`,kinds:[`stream-offline`,`stream-online`]},{id:`battery`,family:`device-events`,label:`Battery`,kinds:[`device-battery-low`,`device-battery-normal`]},{id:`consumables`,family:`device-events`,label:`Consumables`,kinds:[`device-consumable-low`,`device-consumable-normal`]},{id:`tanks`,family:`device-events`,label:`Tanks`,kinds:[`device-tank-low`,`device-tank-full`,`device-tank-normal`]},{id:`detection-blind`,family:`device-events`,label:`Detecting nothing`,kinds:[`detection-blind`]},{id:`nodes`,family:`system`,label:`Nodes`,kinds:[`node-offline`,`node-online`,`node-inference-unavailable`]},{id:`addons`,family:`system`,label:`Addons`,kinds:[`addon-crash-loop`,`addon-update-available`,`addon-updated`]},{id:`updates`,family:`system`,label:`Server & container updates`,kinds:[`server-update-available`,`server-updated`,`wrapper-update-available`]},{id:`backups-exports`,family:`system`,label:`Backups & exports`,kinds:[`backup-completed`,`export-completed`]},{id:`alarm`,family:`alarm`,label:`Alarm`,kinds:kx}];function eG(e){return $W.filter(t=>t.family===e).flatMap(e=>e.kinds)}function tG(e){if(typeof e!=`object`||!e||!(`kinds`in e))return;let t=e.kinds;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}function nG(e){let t=new Set;for(let n of e){let e=XW.get(n);if(e==null)return{kind:`mixed`};t.add(e)}let[n]=[...t];return t.size===1&&n!==void 0?{kind:`family`,family:n}:{kind:`mixed`}}function rG(e){if(e===void 0||e.kinds.length===0)return[{code:`no-kinds`}];let t=[],n=new Set;for(let r of e.kinds){let e=YW[r];e===null?t.push({code:`legacy-kind`,kind:r}):n.add(e)}let r=qW.filter(e=>n.has(e));r.length>1&&t.push({code:`mixed-families`,families:r});let[i]=r;if(r.length!==1||i===void 0)return t;let a=QW[i];for(let n of ZW)e[n]!==void 0&&!a.includes(n)&&t.push({code:`filter-outside-family`,filter:n,family:i});return t}function iG(e){switch(e.code){case`no-kinds`:return`a system-event rule needs at least one event kind`;case`legacy-kind`:return`'${e.kind}' is a legacy kind and cannot be authored`;case`mixed-families`:return`event kinds span ${e.families.join(` + `)} — one rule per family`;case`filter-outside-family`:return`filter '${e.filter}' is not allowed on a ${e.family} rule`}}var aG=[`device-events`,`system`,`alarm`,`mixed`];function oG(e){return aG.some(t=>t===e)}function sG(e){return JW(e)?e:void 0}var cG=`An occupancy edge is not a sensor event: it carries no sensor kind, so this condition can never match one.`,lG=`An occupancy edge carries no device event-type token — that comes from an event-emitter slice, which a count crossing has none of.`,uG=`An occupancy edge is a count crossing, not a sensor reading: it has no raise or clear, so this choice could never narrow it.`,dG=`An occupancy edge is always produced by the pipeline, so any other source can never match and “pipeline” narrows nothing.`,fG=`A confirmed sound window is always stamped as an audio subject, so any other source can never match.`,pG=`A sound rule fires on what the camera HEARD. Its subject carries no detection, so this condition can never match one — name the sounds in the Sound condition instead.`,mG=`A sound window’s evidence is a percentage of samples, not a detector score, so a confidence threshold can never be satisfied.`,hG=`A sound has no position in the frame, so a zone or a drawn polygon can never match it.`,gG=[{kind:`detection`,label:`Conditions`,excluded:{audio:`A detection rule fires on what the camera SAW. Sounds are a Sound rule of their own — adding one here turned the rule into a sound rule and dropped every detection condition.`},editable:!0,carriesMedia:!0,carriesSubjectCrop:!0},{kind:`sensor`,label:`Conditions`,excluded:{},editable:!0,carriesMedia:!0,carriesSubjectCrop:!0,blurb:`A doorbell press or a linked sensor changing state. The picture comes from the camera the sensor is attributed to.`},{kind:`occupancy`,label:`Occupancy`,discriminator:`occupancy`,excluded:{sensorKinds:cG,eventTypeTokens:lG,sensorTransition:uG,source:dG},editable:!0,carriesMedia:!0,carriesSubjectCrop:!0,blurb:`Fires when the count in a camera frame or a zone crosses your threshold and holds. Pick the camera first — the zone list is that camera’s.`},{kind:`sound`,label:`Sound`,discriminator:`audio`,excluded:{classes:pG,classesExclude:pG,minConfidence:mG,zones:hG,zonesExclude:hG,customZones:hG,crossing:hG,labelEquals:pG,identities:pG,identitiesExclude:pG,plates:pG,source:fG},editable:!0,carriesMedia:!0,carriesSubjectCrop:!1,blurb:`Fires on a confirmed sampling window of audio, never on a picture. Name the sounds and/or keep a level threshold — with neither it can never match.`,mediaBlurb:`A sound owns no frame, so the picture is a photograph of the camera taken at the moment of the match — the whole scene, never a crop. The GIF and the clip are cut around the same instant, from the camera.`},{kind:`device-events`,label:`Device events`,discriminator:`systemEvent`,excluded:{},editable:!0,carriesMedia:!1,carriesSubjectCrop:!1,blurb:`A device or its stream going away or coming back, switched off or on, a battery or consumable running low, a camera detecting nothing. There is no frame to attach.`},{kind:`system`,label:`System events`,discriminator:`systemEvent`,excluded:{},editable:!0,carriesMedia:!1,carriesSubjectCrop:!1,blurb:`The installation itself: a node leaving, an addon crash-looping, an update available or installed, a backup or an export finishing.`},{kind:`alarm`,label:`Alarm`,discriminator:`systemEvent`,excluded:{},editable:!0,carriesMedia:!1,carriesSubjectCrop:!1,blurb:`The alarm panel: refused, arming, armed, entry delay, triggered, re-armed, sensor bypass, disarmed.`,mediaBlurb:`An alarm set off by a rule arrives with THAT rule's pictures, combined into one notification. This rule adds none of its own.`},{kind:`mixed`,label:`To recreate`,discriminator:`systemEvent`,excluded:{},editable:!1,carriesMedia:!1,carriesSubjectCrop:!1,blurb:`This rule mixes events from more than one family (device events, system, alarm). It keeps firing as it is, but it can no longer be edited: create one rule per family, then delete this one.`}];function _G(e){return gG.find(t=>t.kind===e)??gG[0]}function vG(e){return gG.filter(t=>t.discriminator===e).map(e=>e.kind)}var yG=`system-event`;function bG(e){return e===yG}function xG(e){return bG(e.delivery)?SG(e.conditions.systemEvent):e.conditions.occupancy!==void 0&&e.delivery===`device-event`?`occupancy`:e.conditions.audio!==void 0&&e.delivery===`immediate`?`sound`:e.delivery===`device-event`?`sensor`:`detection`}function SG(e){let t=nG(tG(e)??[]);return t.kind===`family`?t.family:`mixed`}function CG(e,t,n){let r=_G(n);return e.id===r.discriminator?!0:e.appliesTo.includes(t)?r.excluded[e.id]===void 0:!1}function wG(e,t){let n=_G(t);return e===n.discriminator?null:n.excluded[e]??null}function TG(e,t){let n=_G(t),r=[];for(let[t,i]of Object.entries(e)){if(i===void 0||Array.isArray(i)&&i.length===0)continue;let e=n.excluded[t];e!==void 0&&r.push({conditionId:t,reason:e})}return r}var EG=[{key:`all`,label:`All rules`,blurb:`Every notification rule, whatever its trigger. Each rule picks a trigger, matches conditions and fans out to one or more delivery targets.`,newRuleLabel:`New rule`,emptyHint:`No notification rules yet. Create one to be told what your cameras see.`,creatable:!0},{key:`detection`,label:`Detections & devices`,blurb:`Rules driven by what the cameras and sensors SEE — detections, tracks, doorbell presses and package events.`,newRuleLabel:`New detection rule`,emptyHint:`No detection rules yet. Create one to be told what your cameras see.`,creatable:!0},{key:`audio`,label:`Sound`,blurb:`Rules on what the cameras HEAR: a sustained window of sound loud enough, or classified as one of the sounds you name. A sound rule fires only on a confirmed sampling window, never on a picture.`,newRuleLabel:`New sound rule`,emptyHint:`No sound rules yet. A new sound rule opens on the sound condition already filled in with a level threshold, so you only have to name the sounds and the targets.`,creatable:!0},{key:`occupancy`,label:`Occupancy`,blurb:`Rules on how many objects are in a camera frame or a zone, and for how long: "the driveway became occupied", "the garden emptied".`,newRuleLabel:`New occupancy rule`,emptyHint:`No occupancy rules yet. A new occupancy rule opens on the occupancy condition; pick the camera first, then the zone and the count.`,creatable:!0},{key:`device-events`,label:`Device events`,blurb:`Rules about your devices: offline or back, switched off or on, a stream dropping, a battery or consumable running low, a camera detecting nothing.`,newRuleLabel:`New device-event rule`,emptyHint:`No device-event rules yet. These tell you when a device drops, a battery runs low or a camera goes blind.`,creatable:!0},{key:`system`,label:`System events`,blurb:`Rules about the installation: a node leaving the cluster, an addon crash-looping, an update available or installed, a backup or export finishing.`,newRuleLabel:`New system rule`,emptyHint:`No system rules yet. These tell you when a node leaves, an update lands or a backup finishes.`,creatable:!0},{key:`alarm`,label:`Alarm`,blurb:`Rules about the alarm panel: arming, armed, triggered, disarmed, and the refusals in between.`,newRuleLabel:`New alarm rule`,emptyHint:`No alarm rules yet. These tell you when the alarm arms, goes off or is disarmed.`,creatable:!0},{key:`mixed`,label:`To recreate`,blurb:`System rules authored before the three families existed. Each mixes families, keeps firing as it is, and can only be read or deleted: recreate it as one rule per family.`,newRuleLabel:`New rule`,emptyHint:`Nothing to recreate.`,creatable:!1}];function DG(e){return EG.find(t=>t.key===e)??EG[0]}function OG(e){return EG.find(t=>t.key===e)?.key}function kG(e){return e.conditions.audio!==void 0}function AG(e){return e.conditions.occupancy!==void 0}function jG(e,t){return t===`all`?!0:bG(e.delivery)?xG(e)===t:t===`audio`?kG(e):t===`occupancy`?AG(e):t===`detection`?!kG(e)&&!AG(e):!1}function MG(e){return bG(e.delivery)?SG(e.conditions.systemEvent):kG(e)?`audio`:AG(e)?`occupancy`:`detection`}var NG={op:`became-occupied`,count:1,sustainSeconds:15},PG={hitPercent:oW.hitPercent,samplingSeconds:oW.samplingSeconds,dbThreshold:YU};function FG(e){switch(e){case`device-events`:return{delivery:yG,conditions:{systemEvent:{kinds:[`device-offline`,`device-online`]}}};case`system`:return{delivery:yG,conditions:{systemEvent:{kinds:[`node-offline`,`node-online`]}}};case`alarm`:return{delivery:yG,conditions:{systemEvent:{kinds:[`alarm-triggered`]}}};case`audio`:return{delivery:`immediate`,conditions:{audio:PG}};case`occupancy`:return{delivery:`device-event`,conditions:{occupancy:NG}};default:return{delivery:`immediate`,conditions:{source:`pipeline`}}}}function IG(e){return FG(e).delivery}var LG=[`rule`,`devices`,`conditions`,`notification`,`actions`,`advanced`],RG={rule:`Rule`,devices:`Cameras`,conditions:`Conditions`,notification:`Notification`,actions:`Actions`,advanced:`Advanced`};function zG(e){let t=_G(e),n=[];for(let r of LG)r===`devices`&&oG(e)||n.push({key:r,label:r===`conditions`?t.label:RG[r]});return n}var BG={Sun:0,Mon:1,Tue:2,Wed:3,Thu:4,Fri:5,Sat:6},VG=new Map;function HG(e){let t=VG.get(e);if(t!==void 0)return t;let n;try{n=new Intl.DateTimeFormat(`en-US`,{timeZone:e,weekday:`short`,hour:`numeric`,minute:`numeric`,hourCycle:`h23`})}catch{n=null}return VG.set(e,n),n}function UG(e,t){let n=new Date(e),r=t===void 0?null:HG(t);if(r!==null)try{let e=r.formatToParts(n),t,i,a;for(let n of e)n.type===`weekday`?t=n.value:n.type===`hour`?i=Number(n.value):n.type===`minute`&&(a=Number(n.value));let o=t===void 0?void 0:BG[t];if(o!==void 0&&i!==void 0&&a!==void 0)return{day:o,minute:i*60+a}}catch{}return{day:n.getDay(),minute:n.getHours()*60+n.getMinutes()}}function WG(e,t){if(e===void 0)return!0;let{day:n,minute:r}=UG(t,e.timezone),i=(n+6)%7,a=!1;for(let t of e.windows)if(t.startMinute<=t.endMinute){if(t.days.includes(n)&&r>=t.startMinute&&r<t.endMinute){a=!0;break}}else if(t.days.includes(n)&&r>=t.startMinute||t.days.includes(i)&&r<t.endMinute){a=!0;break}return e.invert===!0?!a:a}var GG=`armed_`,KG=`alarm-panel`,qG=`trigger`,JG=[`contact`,`cover`,`lock`];function YG(e){return(e.conditions.deviceState?.states??[]).some(e=>e.trim().toLowerCase().startsWith(GG))?!0:(e.onTrigger??[]).some(e=>e.enabled&&e.actions.some(e=>e.kind===`cap`&&e.cap===KG&&e.method===qG))}function XG(e){let t=e.trim().toLowerCase();return JG.some(e=>e===t)}function ZG(e){let t=e.conditions.sensorKinds??[];return e.conditions.sensorTransition!==`cleared`||t.length===0||!t.every(XG)?!1:YG(e)}var QG=`This rule belongs to the alarm, and an alarm rule fires only when an opening OPENS. Set to “only when it clears”, it can never fire.`,$G=Object.freeze(Object.fromEntries(Object.entries(lO).flatMap(([e,t])=>{let n=yr[e];return n===void 0||t.category!==`sensor`?[]:[[t.kind,n]]}))),eK=Object.freeze(Object.keys($G));function tK(e){return e.trim().toLowerCase()}function nK(e,t){if(t===null)return;let n=$G[tK(e)];if(n===void 0)return;let r=Object.entries(t).find(([e])=>e===n)?.[1];return typeof r==`boolean`?r:void 0}function rK(e){return e===void 0||e.length===0?!1:e.every(e=>eK.includes(tK(e)))}var iK=`Only a sensor that raises and clears (water, smoke, gas, CO, vibration, tamper, motion, contact) can fire on one edge. Pick only such sensor kinds, or the rule fires on every change.`,aK=[`body`],Z=[`title`,`body`],oK=[`device-battery-low`,`device-battery-normal`],sK=[`device-consumable-low`,`device-consumable-normal`],cK=[`device-tank-low`,`device-tank-full`,`device-tank-normal`],lK=[`addon-update-available`,`server-update-available`,`wrapper-update-available`],uK=[`addon-update-available`,`server-update-available`],dK=[`alarm-triggered`,`alarm-armed`,`alarm-disarmed`,`alarm-arming`,`alarm-arm-refused`,`alarm-pending`,`alarm-rearmed`,`alarm-sensor-bypass`,`alarm-check-failed`],fK=[`alarm-triggered`],pK=[`device-online`,`device-offline`,`device-disabled`,`device-enabled`,...oK,...sK,...cK,`stream-online`,`stream-offline`,`detection-blind`,...dK],mK=[...eG(`device-events`),...eG(`system`)],hK=[{name:`summaryDevices`,label:`Summary: devices offline / switched off`,example:`Garage — offline since 07:12`,kinds:[`device-offline`,`device-online`,`device-disabled`,`device-enabled`]},{name:`summaryStreams`,label:`Summary: streams offline`,example:`Ingresso (high) — since 06:40`,kinds:[`stream-offline`,`stream-online`]},{name:`summaryBattery`,label:`Summary: low batteries`,example:`Sensore porta — 8 %`,kinds:oK},{name:`summaryConsumables`,label:`Summary: consumables`,example:`Robot — filter 10 %`,kinds:sK},{name:`summaryTanks`,label:`Summary: tanks`,example:`Robot — clean water low`,kinds:cK},{name:`summaryDetection`,label:`Summary: cameras detecting nothing`,example:`Ingresso — since 05:10`,kinds:[`detection-blind`]},{name:`summaryNodes`,label:`Summary: nodes`,example:`little-unraid — offline since 03:00`,kinds:[`node-offline`,`node-online`,`node-inference-unavailable`]},{name:`summaryAddons`,label:`Summary: addons`,example:`@camstack/addon-recorder 1.2.3 → 1.2.4`,kinds:[`addon-crash-loop`,`addon-update-available`,`addon-updated`]},{name:`summaryUpdates`,label:`Summary: server & container updates`,example:`server 1.2.377 → 1.2.378`,kinds:[`server-update-available`,`server-updated`,`wrapper-update-available`]}],gK=[{name:`summaryText`,label:`Summary: every section`,description:`One block per section with something to report, one line per item.`,example:`Batterie scariche: Sensore porta — 8 %`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...mK],systemEventDeliveries:[`summary`]},{name:`summaryCount`,label:`Summary: items reported`,example:`3`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...mK],systemEventDeliveries:[`summary`]},...hK.map(e=>({name:e.name,label:e.label,example:e.example,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...e.kinds],systemEventDeliveries:[`summary`]}))],_K=[{name:`camera`,label:`Camera`,example:`Ingresso`,group:`subject`,families:[`rule`,`timelapse`],systemEventKinds:[...pK,`export-completed`]},{name:`class`,label:`Detected class`,description:`The counted class on an occupancy row (e.g. "person"); the detected class elsewhere.`,example:`person`,group:`subject`,families:[`rule`],fields:[...Z],kinds:[`detection`,`sensor`,`sound`,`occupancy`,`system`],systemEventKinds:[...fK]},{name:`label`,label:`Name or plate`,description:`Recognised person or read plate; empty otherwise.`,example:`Mario`,group:`subject`,families:[`rule`],fields:[...Z],kinds:[`detection`,`system`],systemEventKinds:[...fK]},{name:`subject`,label:`Subject sentence`,description:`Composed in the notification language, e.g. "person (Mario)".`,example:`persona (Mario)`,group:`subject`,families:[`rule`],fields:[...Z],kinds:[`detection`,`sensor`,`sound`,`occupancy`]},{name:`confidence`,label:`Confidence`,example:`87%`,group:`subject`,families:[`rule`],fields:[...Z],kinds:[`detection`,`system`],systemEventKinds:[...fK]},{name:`count`,label:`Count`,description:`Occupancy count, subjects in a grouped notification, or the event count of a system notice.`,example:`3`,group:`subject`,families:[`rule`],fields:[...Z],kinds:[`detection`,`occupancy`,`system`],systemEventKinds:[`addon-crash-loop`,...uK,`addon-updated`]},{name:`detectionSummary`,label:`Detection summary`,description:`Class composition, e.g. "2 persons and 1 car".`,example:`2 persone e 1 auto`,group:`subject`,families:[`rule`,`timelapse`,`summary`],fields:[...Z],kinds:[`detection`]},{name:`zones`,label:`Zones`,example:`Cancello, Vialetto`,group:`place`,families:[`rule`],fields:[...Z],kinds:[`detection`,`system`],systemEventKinds:[...fK]},{name:`zone`,label:`Zone`,example:`Cancello`,group:`place`,families:[`rule`],fields:[...Z],kinds:[`detection`,`occupancy`,`system`],systemEventKinds:[...fK]},{name:`inZones`,label:`"in <zones>" fragment`,description:`Leading space included; empty when no zone.`,example:` in Cancello`,group:`place`,families:[`rule`],fields:[...Z],kinds:[`detection`,`system`],systemEventKinds:[...fK]},{name:`scope`,label:`Occupancy scope`,example:`Cancello`,group:`place`,families:[`rule`],fields:[...Z],kinds:[`occupancy`]},{name:`time`,label:`Time`,description:`Hours and minutes, in the notification language.`,example:`20:05`,group:`time`,families:[`rule`,`timelapse`,`summary`],fields:[...Z]},{name:`rule`,label:`Rule name`,example:`Ingresso notte`,group:`rule`,families:[`rule`,`timelapse`,`summary`]},{name:`from`,label:`Window start`,example:`07:00`,group:`time`,families:[`timelapse`,`summary`]},{name:`to`,label:`Window end`,example:`08:00`,group:`time`,families:[`timelapse`,`summary`]},{name:`capacity`,label:`Capacity`,example:`2`,group:`occupancy`,families:[`rule`],fields:[...Z],kinds:[`occupancy`]},{name:`op`,label:`Occupied / free`,example:`occupata`,group:`occupancy`,families:[`rule`],fields:[...Z],kinds:[`occupancy`]},{name:`sounds`,label:`Sounds heard`,example:`abbaio, clacson`,group:`sound`,families:[`rule`],fields:[...Z],kinds:[`sound`]},{name:`hitPercent`,label:`Share of the window`,description:`Level mode only: percentage of samples above the threshold.`,example:`42`,group:`sound`,families:[`rule`],fields:[...Z],kinds:[`sound`]},{name:`db`,label:`Peak level (dBFS)`,example:`-18`,group:`sound`,families:[`rule`],fields:[...Z],kinds:[`sound`]},{name:`eventType`,label:`Event type`,description:`Raw device event token, e.g. "press" or "open"; empty when the device sends none.`,example:`press`,group:`sensor`,families:[`rule`],fields:[...Z],kinds:[`sensor`]},{name:`ai`,label:`AI sentence`,description:`Where the AI description goes; appended on its own line when absent.`,example:`Una persona lascia un pacco.`,group:`ai`,families:[`rule`,`summary`],fields:[...aK],kinds:[`detection`,`occupancy`]},{name:`eventKind`,label:`Event kind`,example:`device-offline`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventDeliveries:[`instant`]},{name:`deviceName`,label:`Device`,example:`Ingresso`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...pK]},{name:`deviceId`,label:`Device id`,example:`617`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...pK,`export-completed`]},{name:`percentage`,label:`Percentage`,example:`15`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...oK,...sK]},{name:`item`,label:`Consumable`,example:`Filtro`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...sK]},{name:`tank`,label:`Tank`,description:`Which tank: clean water, dirty water, detergent or dust bin.`,example:`clean water`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...cK]},{name:`profile`,label:`Stream profile`,example:`high`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`stream-online`,`stream-offline`]},{name:`node`,label:`Node`,example:`hub`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`node-online`,`node-offline`,`node-inference-unavailable`,`addon-crash-loop`,...lK,`addon-updated`,`server-updated`]},{name:`nodeId`,label:`Node id`,example:`hub`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`node-online`,`node-offline`,`node-inference-unavailable`,`addon-crash-loop`,...lK,`server-updated`]},{name:`devices`,label:`Devices`,description:`node-inference-unavailable: the affected cameras, comma-joined. Alarm arm / refusal: HOW MANY devices are armed (or open).`,example:`Ingresso, Garage`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`node-inference-unavailable`,`alarm-armed`,`alarm-arm-refused`]},{name:`addons`,label:`Addons`,example:`stream-broker`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`addon-crash-loop`]},{name:`minutes`,label:`Minutes`,example:`12`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`detection-blind`]},{name:`package`,label:`Package`,example:`@camstack/addon-recorder`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...lK,`addon-updated`,`server-updated`]},{name:`packageName`,label:`Package`,example:`@camstack/addon-recorder`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...uK,`server-updated`]},{name:`nodes`,label:`Nodes`,description:"Comma-joined node ids, when an update spans more than one — the single-node case names it through {{nodeId}} instead. `incomingFromUpdateAvailable` (event-intake.ts) fills `nodes` from ONE shared textParams object for both addon- and server-update-available, exactly like packageName/currentVersion/latestVersion/count — only the shipped TEXT (system.server-update-available.body.onNodes) reads it today, but the var is real on both kinds.",example:`hub, little-unraid`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...uK]},{name:`currentVersion`,label:`Current version`,example:`1.2.377`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...lK]},{name:`latestVersion`,label:`Latest version`,example:`1.2.378`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...lK]},{name:`list`,label:`Updated packages`,description:"One line per package. `incomingFromUpdateAvailable` fills it for addon-/server-update-available too (the SAME shared textParams object as `nodes`) — `system.addon-update-available.body` reads it; `incomingFromAddonUpdates` fills it again, independently, for the completed `addon-updated` event.",example:`recorder, notifiers`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...uK,`addon-updated`]},{name:`fromVersion`,label:`From version`,example:`1.2.377`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`server-updated`]},{name:`toVersion`,label:`To version`,example:`1.2.378`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`server-updated`]},{name:`destinationsOk`,label:`Destinations ok`,example:`2`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`backup-completed`]},{name:`destinationsTotal`,label:`Destinations`,example:`2`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`backup-completed`]},{name:`destinationsFailed`,label:`Destinations failed`,example:`0`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`backup-completed`]},{name:`sizeMB`,label:`Size (MB)`,example:`412`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`backup-completed`]},{name:`backupId`,label:`Backup id`,example:`bk-20260924`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`backup-completed`]},{name:`title`,label:`Export title`,example:`Ingresso 08:00`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`export-completed`]},{name:`exportId`,label:`Export id`,example:`exp-20260924`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`export-completed`]},{name:`bytes`,label:`Export size (bytes)`,example:`10485760`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`export-completed`]},{name:`mode`,label:`Alarm mode`,example:`away`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-armed`,`alarm-arming`,`alarm-arm-refused`,`alarm-pending`,`alarm-rearmed`,`alarm-check-failed`]},{name:`seconds`,label:`Seconds`,description:`Arming: the exit delay left. Pending: the entry delay left to disarm.`,example:`30`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-arming`,`alarm-pending`]},{name:`rules`,label:`Covering rules`,description:`How many enabled rules the armed mode gates.`,example:`2`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-armed`]},{name:`names`,label:`Device names`,description:`Armed: the devices armed. Arming: the devices this mode cannot arm. Refusal: the open sensors.`,example:`Ingresso, Garage`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-armed`,`alarm-arming`,`alarm-arm-refused`]},{name:`skippedNames`,label:`Skipped devices`,description:`Devices the mode names but cannot arm (muted, detection off, offline).`,example:`Garage`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-armed`]},{name:`bypassedNames`,label:`Bypassed sensors`,description:`Sensors the operator armed around because they were open.`,example:`Finestra veranda`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-armed`,`alarm-arming`]},{name:`coverage`,label:`Coverage %`,example:`96`,group:`digest`,families:[`timelapse`],fields:[...Z]},{name:`events`,label:`Events`,example:`4`,group:`digest`,families:[`timelapse`,`summary`],fields:[...Z]},{name:`detections`,label:`Detections`,example:`7`,group:`digest`,families:[`timelapse`,`summary`],fields:[...Z]},{name:`count_person`,label:`Count of one class`,description:`count_<class>, e.g. count_person, count_car.`,example:`3`,group:`digest`,families:[`timelapse`,`summary`],fields:[...Z],dynamic:{prefix:`count_`,from:`classes`}},{name:`cameras`,label:`Cameras`,example:`3`,group:`digest`,families:[`summary`],fields:[...Z]},{name:`matched`,label:`Matched events`,example:`12`,group:`digest`,families:[`summary`],fields:[...Z]},{name:`shown`,label:`Events shown`,example:`9`,group:`digest`,families:[`summary`],fields:[...Z]},{name:`total`,label:`Events total`,example:`12`,group:`digest`,families:[`summary`],fields:[...Z]},...gK],vK=[`device-tank-low`,`device-tank-full`,`device-tank-normal`];function yK(){return _K.filter(e=>!bK(e)).map(e=>e.systemEventKinds===void 0?e:{...e,systemEventKinds:e.systemEventKinds.filter(e=>!vK.includes(e))})}function bK(e){return e.systemEventDeliveries!==void 0&&!e.systemEventDeliveries.includes(`instant`)}function xK(e,t){if(!oG(t.kind))return!0;let n=t.systemEventDelivery??`instant`;return(e.systemEventDeliveries??(e.systemEventKinds===void 0?[n]:[`instant`])).includes(n)}var SK={previewText:[`camera`,`rule`,`from`,`to`],captionText:[`rule`,`from`,`to`]};function CK(e,t){return e===void 0||t===void 0||e.includes(t)}function wK(e,t){return e===void 0||t===void 0||e.some(e=>e===t)?!0:oG(t)&&e.includes(`system`)}function TK(e,t){if(!oG(t.kind)||e.systemEventKinds===void 0)return!0;let n=e.systemEventKinds,r=t.systemEventKinds??[];if(r.length>0)return r.some(e=>n.includes(e));let i=t.kind===void 0?void 0:sG(t.kind);if(i===void 0)return!0;let a=eG(i);return n.some(e=>a.includes(e))}function EK(e){if(e.field===`previewText`||e.field===`captionText`){let t=SK[e.field];return _K.filter(n=>n.families.includes(e.family)&&t.includes(n.name)&&n.dynamic===void 0)}return _K.filter(t=>t.families.includes(e.family)&&CK(t.fields,e.field)&&wK(t.kinds,e.kind)&&CK(t.deliveries,e.delivery)&&TK(t,e)&&xK(t,e))}function DK(e,t){return EK(t).some(t=>t.dynamic===void 0?t.name===e:e.startsWith(t.dynamic.prefix)&&e.length>t.dynamic.prefix.length)}var OK=[`device-events`,`system`];function kK(e){if(!bG(e.delivery))return null;let t=e.systemEventDelivery;return t?.mode===`summary`?t.schedule:null}function AK(e){return kK(e)!==null}function jK(e){return(e?.onTrigger?.length??0)>0||(e?.buttons?.length??0)>0}function MK(e){if(e.systemEventDelivery?.mode!==`summary`)return[];if(!bG(e.delivery))return[{code:`not-a-system-rule`,delivery:e.delivery}];let t=[],n=nG(e.conditions.systemEvent?.kinds??[]),r=n.kind===`family`?n.family:`mixed`;(r===`mixed`||!OK.includes(r))&&t.push({code:`family-not-summarisable`,family:r});let i=e.systemEventDelivery.schedule.windows;return i.length===0&&t.push({code:`empty-schedule`}),i.forEach((e,n)=>{(e.days.length===0||e.startMinute===e.endMinute)&&t.push({code:`degenerate-window`,index:n})}),e.schedule!==void 0&&t.push({code:`schedule-beside-summary`}),jK(e.actions)&&t.push({code:`actions-beside-summary`}),t}function NK(e){switch(e.code){case`not-a-system-rule`:return`a '${e.delivery}' rule has no summary delivery — only device-events and system rules do`;case`family-not-summarisable`:return e.family===`alarm`?`an alarm rule cannot be a scheduled summary — the alarm stays instant`:`a ${e.family} rule cannot be a scheduled summary — only device-events and system rules`;case`degenerate-window`:return`send time ${String(e.index+1)} has no day, or starts and ends on the same minute — it never closes, so nothing would be sent`;case`empty-schedule`:return`a summary rule needs at least one send time — its schedule has no window`;case`schedule-beside-summary`:return`a summary rule is sent on its summary schedule — remove the active-hours schedule`;case`actions-beside-summary`:return`a summary rule never matches an event, so its actions would never run — remove them`}}var PK=1440;function FK(e,t){return{windows:e.map(e=>{let t=(e.minute+PK-1)%PK;return{days:(e.minute===0?e.days.map(e=>(e+6)%7):[...e.days]).toSorted((e,t)=>e-t),startMinute:t,endMinute:e.minute}}),...t===void 0?{}:{timezone:t}}}function IK(e){if(e.invert===!0)return null;let t=[];for(let n of e.windows){if((n.endMinute-n.startMinute+PK)%PK!==1)return null;let e=n.endMinute===0?n.days.map(e=>(e+1)%7):n.days;t.push({days:e.toSorted((e,t)=>e-t),minute:n.endMinute})}return t}var LK=/\{\{\s*summary(?:Text|Devices|Streams|Battery|Consumables|Tanks|Detection|Nodes|Addons|Updates)\s*\}\}/;function RK(e){return e===void 0||e.trim().length===0?!0:LK.test(e)}function zK(e){return e.map(e=>({id:e.id,name:e.name,type:e.isHub?`hub`:`agent`,location:e.isOnline?`online`:`offline`,...e.name===e.id?{}:{detail:e.id}}))}var BK=`@camstack/server`,VK=[BK,`@camstack/system`,`camstack-wrapper`],HK={"@camstack/server":`server`,"@camstack/system":`framework`,"camstack-wrapper":`wrapper`};function UK(e){return VK.some(t=>t===e)}function WK(e){let t=new Map(e.map(e=>[e.name,e.version])),n=VK.map(e=>{let n=t.get(e);return{id:e,name:e,type:HK[e],location:null,...n===void 0?{}:{detail:n}}}),r=e.filter(e=>!UK(e.name)).map(e=>({id:e.name,name:e.name,type:`addon`,location:null,detail:e.version})).sort((e,t)=>e.name.localeCompare(t.name));return[...n,...r]}var GK=`disarmed.armed_home.armed_away.armed_night.armed_vacation.armed_custom_bypass.arming.disarming.pending.triggered.open.opening.closing.closed.stopped.locked.unlocked.locking.unlocking.jammed.on.off.home.not_home.matched.diverged.unknown.latched.live`.split(`.`),KK={disarmed:{en:`Disarmed`,it:`Disinserito`},armed_home:{en:`Armed (home)`,it:`Inserito (in casa)`},armed_away:{en:`Armed (away)`,it:`Inserito (fuori casa)`},armed_night:{en:`Armed (night)`,it:`Inserito (notte)`},armed_vacation:{en:`Armed (vacation)`,it:`Inserito (vacanza)`},armed_custom_bypass:{en:`Armed (custom)`,it:`Inserito (personalizzato)`},arming:{en:`Arming`,it:`In inserimento`},disarming:{en:`Disarming`,it:`In disinserimento`},pending:{en:`Pending (entry delay)`,it:`In attesa (ritardo ingresso)`},triggered:{en:`Triggered`,it:`In allarme`},open:{en:`Open`,it:`Aperto`},opening:{en:`Opening`,it:`In apertura`},closing:{en:`Closing`,it:`In chiusura`},closed:{en:`Closed`,it:`Chiuso`},stopped:{en:`Stopped`,it:`Fermo`},locked:{en:`Locked`,it:`Bloccata`},unlocked:{en:`Unlocked`,it:`Sbloccata`},locking:{en:`Locking`,it:`In blocco`},unlocking:{en:`Unlocking`,it:`In sblocco`},jammed:{en:`Jammed`,it:`Inceppata`},on:{en:`On`,it:`Acceso`},off:{en:`Off`,it:`Spento`},home:{en:`Home`,it:`In casa`},not_home:{en:`Away`,it:`Fuori casa`},matched:{en:`Matched (as captured)`,it:`Corrisponde (come acquisita)`},diverged:{en:`Diverged (changed)`,it:`Diversa (cambiata)`},unknown:{en:`Cannot judge`,it:`Non valutabile`},latched:{en:`Latched`,it:`Memorizzato`},live:{en:`Live`,it:`In tempo reale`}},qK=new Set(GK);function JK(e){return qK.has(e)}function YK(e,t){return JK(e)?KK[e][t]:e}var XK=u({title:c().max(500).optional(),body:c().max(2e3).optional()}),ZK=c().min(1).max(200),QK=b(i()).min(1),$K=i().int().min(2).max(3600),eq=i().int().min(1).max(60),tq=b(iS).min(1),nq=i().int().min(1).max(5),rq=.1,iq=i().min(rq).max(3600),aq=i().min(0).max(60),oq=c().max(200),sq=y([`image`,`gif`]),cq=b(c().min(1).max(40)).max(20),lq=u({name:ZK,enabled:x().default(!0),deviceIds:QK,schedule:Vx,cadenceSec:$K.default(15),framerate:eq.default(10),denseCadenceSec:iq.optional(),minDwellSec:aq.optional(),targets:tq,template:XK.optional(),previewText:oq.optional(),previewMode:sq.default(`image`),reportClasses:cq.optional(),priority:nq.default(3)}),uq=`Timelapse {{camera}}`,dq=u({name:ZK.optional(),enabled:x().optional(),deviceIds:QK.optional(),schedule:Vx.optional(),cadenceSec:$K.optional(),framerate:eq.optional(),denseCadenceSec:iq.optional(),minDwellSec:aq.optional(),targets:tq.optional(),template:XK.nullable().optional(),previewText:oq.optional(),previewMode:sq.optional(),reportClasses:cq.optional(),priority:nq.optional()}),fq=lq.extend({id:c(),ownerUserId:c().optional(),lastGeneratedAt:i().optional(),generatedByDevice:_(c(),i()).optional(),createdBy:c(),createdAt:i(),updatedAt:i()});function pq(e){let t=e.denseCadenceSec;if(t!==void 0&&t>=e.cadenceSec)throw Error(`denseCadenceSec (${t}s) must be strictly smaller than cadenceSec (${e.cadenceSec}s) — a dense cadence that is not denser renders a uniform timelapse`)}function mq(e,t){let n=e.generatedByDevice;return n===void 0?e.lastGeneratedAt??0:n[String(t)]??0}function hq(e,t){return!!e.formats[t]}function gq(e,t,n){if(t!=null){let r=e.find(e=>e.id===t);if(r!==void 0&&hq(r,n))return!0}return e.some(e=>e.legacy!==!0&&hq(e,n))}var _q=`detail-crop`,vq=`detailCropPaddingRatio`,yq=`detailCropSquare`,bq=u({paddingRatio:i().min(0).max(4),square:x()}),xq={paddingRatio:.15,square:!1};function Sq(e){let t=bq.shape.paddingRatio.safeParse(e[vq]),n=bq.shape.square.safeParse(e[yq]);return{paddingRatio:t.success?t.data:xq.paddingRatio,square:n.success?n.data:xq.square}}function Cq(e){return typeof e==`object`&&!!e&&`key`in e}function wq(e){if(e===null)return xq;let t={};for(let n of e.sections)for(let e of n.fields)!Cq(e)||typeof e.key!=`string`||(e.key===`detailCropPaddingRatio`||e.key===`detailCropSquare`)&&(t[e.key]=e.value);return Sq(t)}var Tq=Object.freeze({x:0,y:0,w:1,h:1}),Eq={min:0,max:1,step:.05,default:xq.paddingRatio};function Dq(e,t,n,r){let i=r.paddingRatio*e.w,a=r.paddingRatio*e.h,o={x:e.x-i,y:e.y-a,w:e.w+2*i,h:e.h+2*a};return r.square?Aq(Oq(o,t,n),t,n):kq(o,t,n)}function Oq(e,t,n){let r=Math.min(Math.max(e.w,e.h),Math.min(t,n)),i=e.x+e.w/2,a=e.y+e.h/2;return{x:i-r/2,y:a-r/2,w:r,h:r}}function kq(e,t,n){let r=Math.max(0,e.x),i=Math.max(0,e.y),a=Math.min(t,e.x+e.w),o=Math.min(n,e.y+e.h);return{x:r,y:i,w:Math.max(0,a-r),h:Math.max(0,o-i)}}function Aq(e,t,n){let r=Math.max(0,Math.min(e.w,t)),i=Math.max(0,Math.min(e.h,n));return{x:Math.min(Math.max(0,e.x),Math.max(0,t-r)),y:Math.min(Math.max(0,e.y),Math.max(0,n-i)),w:r,h:i}}var jq=`native-lease`,Mq=`nativeLeaseHoldFrames`,Nq=`nativeLeaseBudgetMb`,Pq=`nativeLeaseActivityMs`,Fq=`nativeLeaseAdmission`,Iq=`nativeTileBudgetMb`,Lq=`nativeSceneBudgetMb`,Rq=y([`all`,`inferred`]),zq=u({holdFrames:i().int().min(1).max(64),budgetMb:i().int().min(0).max(4096),activityMs:i().int().min(0).max(12e4),admission:Rq,tileBudgetMb:i().int().min(0).max(1024),sceneBudgetMb:i().int().min(0).max(1024)}),Q={holdFrames:8,budgetMb:1024,activityMs:15e3,tileBudgetMb:64,sceneBudgetMb:48,admission:`inferred`},Bq={min:1,max:64,step:1,default:Q.holdFrames},Vq={min:0,max:4096,step:64,default:Q.budgetMb},Hq={min:0,max:12e4,step:1e3,default:Q.activityMs},Uq={min:0,max:1024,step:16,default:Q.tileBudgetMb},Wq={min:0,max:1024,step:16,default:Q.sceneBudgetMb},Gq={options:[{value:`all`,label:`Every delivered frame`},{value:`inferred`,label:`Only frames sent to inference`}],default:Q.admission};function Kq(e,t){let n=zq.shape[e].safeParse(t);return n.success?n.data===Q[e]?null:n.data:null}function qq(e){let t=Rq.safeParse(e);return t.success?t.data===Q.admission?null:t.data:null}function Jq(e){let t=Kq(`holdFrames`,e[Mq]),n=Kq(`budgetMb`,e[Nq]),r=Kq(`activityMs`,e[Pq]),i=qq(e[Fq]),a=Kq(`tileBudgetMb`,e[Iq]),o=Kq(`sceneBudgetMb`,e[Lq]);return{...t===null?{}:{holdFrames:t},...n===null?{}:{budgetMb:n},...r===null?{}:{activityMs:r},...i===null?{}:{admission:i},...a===null?{}:{tileBudgetMb:a},...o===null?{}:{sceneBudgetMb:o}}}function Yq(e){return typeof e==`object`&&!!e&&`key`in e}var Xq=[Mq,Nq,Pq,Fq,Iq,Lq];function Zq(e){if(e===null)return{};let t={};for(let n of e.sections)for(let e of n.fields)!Yq(e)||typeof e.key!=`string`||Xq.includes(e.key)&&(t[e.key]=e.value);return Jq(t)}var Qq=[{id:`viewer`,label:`View`,description:`Watch live and recorded video, browse events and read device state. Cannot change anything.`,deviceAccess:[`view`],systemAccess:[`view`]},{id:`operator`,label:`Operate`,description:`Everything View does, plus acting on a device: PTZ, lights, sirens, locks, and snoozing notifications. Cannot delete.`,deviceAccess:[`view`,`create`],systemAccess:[`view`,`create`]},{id:`manager`,label:`Full management`,description:`Everything Operate does, plus deleting devices, recordings and events. Short of admin — no user or cluster administration.`,deviceAccess:[`view`,`create`,`delete`],systemAccess:[`view`,`create`,`delete`]}];function $q(e){let t=Qq.find(t=>t.id===e);if(!t)throw Error(`Unknown access role '${e}'`);return t}function eJ(e){let t=$q(e.roleId);return[{type:`device`,selector:e.selector,access:[...t.deviceAccess],includeLinked:e.includeLinked},{type:`category`,target:`system`,access:[...t.systemAccess]}]}function tJ(e,t){if(e.length!==t.length)return!1;let n=new Set(e);return t.every(e=>n.has(e))}function nJ(e){if(e.length!==2)return null;let t=e.filter(e=>e.type===`device`),n=e.filter(e=>e.type===`category`&&e.target===`system`);if(t.length!==1||n.length!==1)return null;let[r]=t,[i]=n;if(r===void 0||i===void 0||r.type!==`device`||r.includeLinked===void 0)return null;let a=Qq.find(e=>tJ(e.deviceAccess,r.access)&&tJ(e.systemAccess,i.access));return a?{roleId:a.id,selector:r.selector,includeLinked:r.includeLinked}:null}var rJ=8;function iJ(e,t){switch(e.kind){case`all`:return!0;case`ids`:return e.ids.includes(t.id);case`types`:return e.types.some(e=>String(e)===t.type);case`locations`:return t.location!==null&&e.locations.includes(t.location)}}function aJ(e,t){return e.some(e=>e.type===`category`&&e.target===`device`&&e.access.includes(t))}function oJ(e,t){return e.filter(e=>e.type===`device`&&e.access.includes(t))}function sJ(e,t){return e.includeLinked??t===`view`}function cJ(e,t){let n=[],r=e;for(let e=0;e<rJ;e++){let e=r===null?null:t.get(r)?.parentDeviceId??null;if(e===null||e===r)break;n.push(e),r=e}return n}function lJ(e,t,n){if(aJ(e,n))return new Set(t.map(e=>e.id));let r=new Map;for(let e of t)r.set(e.id,e);let i=oJ(e,n),a=new Set;for(let e of t)for(let t of i){if(iJ(t.selector,e)){a.add(e.id);break}if(sJ(t,n)&&cJ(e.id,r).some(e=>{let n=r.get(e);return n!==void 0&&iJ(t.selector,n)})){a.add(e.id);break}}return a}function uJ(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let e=J.safeParse(n);e.success&&t.push(e.data)}return t}var dJ=[`view`,`create`,`delete`];function fJ(e,t,n,r){return r?{all:!0,deviceCount:t.length}:{all:aJ(e,n)||oJ(e,n).some(e=>e.selector.kind===`all`),deviceCount:lJ(e,t,n).size}}function pJ(e){let t=[];for(let n of e)n.type===`capability`&&t.push({name:n.target,access:n.access});return t}function mJ(e){let t=[];for(let n of e)n.type===`addon`&&t.push({name:n.target,access:n.access});return t}function hJ(e,t,n){let r={view:fJ(e,t,`view`,n),create:fJ(e,t,`create`,n),delete:fJ(e,t,`delete`,n)},i=n?dJ:dJ.filter(t=>e.some(e=>e.type===`category`&&e.target===`system`&&e.access.includes(t)));return{isAdmin:n,allDevicesViewable:r.view.all,viewableDeviceCount:r.view.deviceCount,device:r,system:i,capabilities:pJ(e),addons:mJ(e)}}var gJ={camera:{type:`camera`,label:`Camera`,icon:`camera`}};function _J(e,t){let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array.from({length:r+1},(e,t)=>t),a=Array.from({length:r+1},()=>0);for(let o=1;o<=n;o++){a[0]=o;let n=i[0]??0;for(let s=1;s<=r;s++){let r=i[s]??0,c=a[s-1]??0,l=e.charCodeAt(o-1)===t.charCodeAt(s-1)?0:1;a[s]=Math.min(r+1,c+1,n+l),n=r}for(let e=0;e<=r;e++)i[e]=a[e]??0}return i[r]??0}function vJ(e,t){let n=e.trim().toLowerCase(),r=t.trim().toLowerCase();return n===r?1:n.length===0||r.length===0?0:1-_J(n,r)/Math.max(n.length,r.length)}function yJ(e,t,n=.8){let r=null,i=0;for(let a of t){let t=vJ(e,a);t>=n&&t>i&&(r=a,i=t)}return r}var bJ=`addon:`;function xJ(e){return e.startsWith(bJ)?e.slice(6):e}function SJ(e,t){return xJ(e)===xJ(t)}function CJ(e){return{runId:e.runId,state:e.state,startedAtMs:e.startedAtMs,finishedAtMs:e.finishedAtMs,progress:e.progress,result:e.result,error:e.error}}var wJ=class{opts;runs=new Map;now;constructor(e){this.opts=e,this.now=e.now??Date.now}get runningCount(){let e=0;for(let t of this.runs.values())t.state===`running`&&(e+=1);return e}start(e,t){let n=this.runs.get(e);if(n!==void 0&&n.state===`running`)throw Error(`run '${e}' is already running`);if(this.runningCount>=this.opts.maxConcurrent)throw Error(`busy: ${this.runningCount}/${this.opts.maxConcurrent} run(s) already in progress — wait for one to finish or abort it`);let r={runId:e,state:`running`,startedAtMs:this.now(),finishedAtMs:null,progress:null,result:null,error:null,controller:new AbortController};this.runs.delete(e),this.runs.set(e,r);let i={signal:r.controller.signal,report:e=>{r.progress=e}},a=e=>{e.error===void 0?(r.state=r.controller.signal.aborted?`aborted`:`done`,r.result=e.result??null):(r.state=`failed`,r.error=e.error),r.finishedAtMs=this.now(),this.prune(),this.opts.onSettled?.(CJ(r))},o;try{o=t(i)}catch(e){o=Promise.reject(e)}return o.then(e=>a({result:e}),e=>a({error:e instanceof Error?e.message:String(e)})),CJ(r)}status(e){let t=this.runs.get(e);return t===void 0?null:CJ(t)}list(){let e=[...this.runs.values()],t=e.filter(e=>e.state===`running`).toSorted((e,t)=>t.startedAtMs-e.startedAtMs),n=e.filter(e=>e.state!==`running`).toSorted((e,t)=>(t.finishedAtMs??0)-(e.finishedAtMs??0));return[...t,...n].map(CJ)}abort(e){let t=this.runs.get(e);return t===void 0||t.state!==`running`?!1:(t.controller.abort(),!0)}abortAll(){for(let e of this.runs.values())e.state===`running`&&e.controller.abort()}prune(){let e=[...this.runs.values()].filter(e=>e.state!==`running`).toSorted((e,t)=>(e.finishedAtMs??0)-(t.finishedAtMs??0)),t=e.length-this.opts.keepFinished;for(let n=0;n<t;n++){let t=e[n];t!==void 0&&this.runs.delete(t.runId)}}};function TJ(e,t){if(e.length!==t.length)return 0;let n=0,r=0,i=0;for(let a=0;a<e.length;a++)n+=e[a]*t[a],r+=e[a]*e[a],i+=t[a]*t[a];let a=Math.sqrt(r)*Math.sqrt(i);return a===0?0:n/a}var EJ=class{elementId;cache={};listeners=new Set;loaded=!1;getBackend;constructor(e,t){this.elementId=e,this.getBackend=typeof t==`function`?t:()=>t}async ensureLoaded(){if(this.loaded)return;let e=this.getBackend();if(!e)throw Error(`ElementConfigStore(${this.elementId}): settings backend not available`);let t=await e.query({collection:`config`,filter:{where:{id:this.elementId},limit:1}});t.length>0&&(this.cache=t[0].data??{}),this.loaded=!0}getAll(){return{...this.cache}}get(e){let t=e.split(`.`),n=this.cache;for(let e of t){if(typeof n!=`object`||!n||Array.isArray(n))return;n=Reflect.get(n,e)}return n}async set(e,t){await this.ensureLoaded(),DJ(this.cache,e,t),await this.persist(),this.notifyListeners()}async setAll(e){await this.ensureLoaded(),this.cache={...e},await this.persist(),this.notifyListeners()}onChange(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async load(){await this.ensureLoaded()}async loadDefaults(e){await this.ensureLoaded(),Object.keys(this.cache).length===0&&(this.cache={...e},await this.persist())}async persist(){let e=this.getBackend();if(!e)throw Error(`ElementConfigStore(${this.elementId}): settings backend not available — cannot persist config`);await e.set({collection:`config`,key:this.elementId,value:this.cache})}notifyListeners(){let e=this.getAll();for(let t of this.listeners)try{t(e)}catch{}}};function DJ(e,t,n){let r=t.split(`.`),i=e;for(let e=0;e<r.length-1;e++){let t=r[e],n=i[t];if(typeof n!=`object`||!n||Array.isArray(n)){let e={};i[t]=e,i=e}else i=n}i[r[r.length-1]]=n}function OJ(e,t){return`https://huggingface.co/${e}/resolve/main/${t}`}var kJ=[/^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 AJ(e){return kJ.some(t=>t.test(e))}function jJ(e){try{let t=new URL(e),n=!1;(t.username||t.password)&&(t.username=``,t.password=``,n=!0);for(let e of Array.from(t.searchParams.keys()))AJ(e)&&(t.searchParams.set(e,`***`),n=!0);return n?t.toString():e}catch{return e}}var $=1024*1024,MJ={sampleIntervalMs:6e4,baselineSettleSamples:5,baselineSampleCount:3,restartMultiple:4,floorBytes:1024*$,ceilingBytes:3072*$,cooldownMs:30*6e4,maxRestartsPerWindow:6,restartWindowMs:1440*6e4};function NJ(e){let t=(t,n,r)=>{let i=e[t];if(i===void 0)return n;let a=Number(i);return Number.isFinite(a)&&a>=r?a:n},n=MJ;return{sampleIntervalMs:t(`CAMSTACK_POOL_MEM_INTERVAL_MS`,n.sampleIntervalMs,5e3),baselineSettleSamples:n.baselineSettleSamples,baselineSampleCount:n.baselineSampleCount,restartMultiple:t(`CAMSTACK_POOL_MEM_MULTIPLE`,n.restartMultiple,1.5),floorBytes:t(`CAMSTACK_POOL_MEM_FLOOR_MB`,n.floorBytes/$,128)*$,ceilingBytes:t(`CAMSTACK_POOL_MEM_CEILING_MB`,n.ceilingBytes/$,256)*$,cooldownMs:t(`CAMSTACK_POOL_MEM_COOLDOWN_MS`,n.cooldownMs,6e4),maxRestartsPerWindow:t(`CAMSTACK_POOL_MEM_MAX_RESTARTS`,n.maxRestartsPerWindow,1),restartWindowMs:t(`CAMSTACK_POOL_MEM_RESTART_WINDOW_MS`,n.restartWindowMs,6e4)}}function PJ(e){let t=t=>{let n=e.match(RegExp(`^${t}:\\s+(\\d+)\\s*kB`,`m`));return n?Number(n[1])*1024:null},n=t(`VmRSS`);if(n===null)return null;let r=e.match(/^Threads:\s+(\d+)/m);return{rssBytes:n,vmBytes:t(`VmSize`)??0,hwmBytes:t(`VmHWM`)??0,swapBytes:t(`VmSwap`)??0,threads:r?Number(r[1]):0}}function FJ(){return{settleSeen:0,baselineWindow:[],baselineBytes:null,restartsAt:[],lastRestartAt:null}}function IJ(e){let t=[...e].sort((e,t)=>e-t);return t[Math.floor(t.length/2)]}function LJ(e,t,n){if(e.baselineBytes!==null)return e;if(e.settleSeen<n.baselineSettleSamples)return{...e,settleSeen:e.settleSeen+1};let r=[...e.baselineWindow,t];return r.length<n.baselineSampleCount?{...e,baselineWindow:r}:{...e,baselineWindow:r,baselineBytes:IJ(r)}}function RJ(e,t){return e===null?t.ceilingBytes:Math.min(t.ceilingBytes,Math.max(t.floorBytes,t.restartMultiple*e))}function zJ(e,t,n){return e.filter(e=>t-e<n.restartWindowMs)}function BJ(e,t,n,r){let i=LJ(e,t,r),a=RJ(i.baselineBytes,r);if(t<=a)return{state:i,action:i.baselineBytes===null?`baseline-pending`:`ok`,baselineBytes:i.baselineBytes,thresholdBytes:a};let o=zJ(i.restartsAt,n,r),s={...i,restartsAt:o};return o.length>=r.maxRestartsPerWindow?{state:s,action:`exhausted`,baselineBytes:i.baselineBytes,thresholdBytes:a}:s.lastRestartAt!==null&&n-s.lastRestartAt<r.cooldownMs?{state:s,action:`cooldown`,baselineBytes:i.baselineBytes,thresholdBytes:a}:{state:s,action:`restart`,baselineBytes:i.baselineBytes,thresholdBytes:a}}function VJ(e,t){return{...FJ(),restartsAt:[...e.restartsAt,t],lastRestartAt:t}}function HJ(e){return{...FJ(),restartsAt:e.restartsAt,lastRestartAt:e.lastRestartAt}}function UJ(e){if(e.length===0)return null;let t=e[0];for(let n of e)n.rssBytes/n.thresholdBytes>t.rssBytes/t.thresholdBytes&&(t=n);return t.key}var WJ=class{pools=new Map;timer=null;sweeping=!1;stopped=!1;opts;now;setTimer;clearTimer;constructor(e){this.opts=e,this.now=e.now??(()=>Date.now()),this.setTimer=e.setTimer??((e,t)=>setTimeout(e,t)),this.clearTimer=e.clearTimer??(e=>clearTimeout(e))}start(){this.timer||this.stopped||this.arm()}stop(){this.stopped=!0,this.timer&&=(this.clearTimer(this.timer),null)}arm(){let e=this.setTimer(()=>{this.sweep().finally(()=>{this.stopped||this.arm()})},this.opts.policy.sampleIntervalMs);typeof e.unref==`function`&&e.unref(),this.timer=e}async sweep(){if(!this.sweeping){this.sweeping=!0;try{await this.doSweep()}catch(e){this.opts.log.warn(`pool memory sweep failed`,{meta:{error:e instanceof Error?e.message:String(e)}})}finally{this.sweeping=!1}}}async doSweep(){let e=this.now(),t=await this.opts.sample(),n=[],r=new Map;for(let i of t){let t=this.pools.get(i.key),a=t?.state??FJ();t&&t.pids.length>0&&!GJ(t.pids,i.pids)&&(this.opts.log.warn(`pool process changed outside the watchdog — re-baselining`,{meta:{poolKey:i.key,previousPids:t.pids,pids:i.pids}}),a=HJ(a));let o=BJ(a,i.rssBytes,e,this.opts.policy);this.pools.set(i.key,{state:o.state,pids:i.pids}),r.set(i.key,o),this.opts.log.info(`pool memory`,{meta:{poolKey:i.key,pids:i.pids,rssMb:Math.round(i.rssBytes/$),baselineMb:o.baselineBytes===null?null:Math.round(o.baselineBytes/$),thresholdMb:Math.round(o.thresholdBytes/$),action:o.action,...i.meta}}),o.action===`restart`?n.push({key:i.key,rssBytes:i.rssBytes,thresholdBytes:o.thresholdBytes}):o.action===`cooldown`?this.opts.log.warn(`pool over memory threshold but inside restart cooldown`,{meta:{poolKey:i.key,rssMb:Math.round(i.rssBytes/$),thresholdMb:Math.round(o.thresholdBytes/$),cooldownMs:this.opts.policy.cooldownMs}}):o.action===`exhausted`&&this.opts.log.error(`pool memory watchdog gave up — restart budget exhausted, pool leaks faster than restarts can pay for; needs a heap profile (py-spy / tracemalloc)`,{meta:{poolKey:i.key,rssMb:Math.round(i.rssBytes/$),thresholdMb:Math.round(o.thresholdBytes/$),maxRestartsPerWindow:this.opts.policy.maxRestartsPerWindow,restartWindowMs:this.opts.policy.restartWindowMs}})}for(let e of[...this.pools.keys()])t.some(t=>t.key===e)||this.pools.delete(e);let i=UJ(n);if(i===null)return;let a=n.find(e=>e.key===i),o=r.get(i),s=this.pools.get(i),c=s.state.restartsAt.length+1;this.opts.log.warn(`pool memory watchdog restarting pool — RSS over threshold`,{meta:{poolKey:i,pids:s.pids,rssMb:Math.round(a.rssBytes/$),thresholdMb:Math.round(a.thresholdBytes/$),baselineMb:o.baselineBytes===null?null:Math.round(o.baselineBytes/$),restartsInWindow:c,deferredCandidates:n.filter(e=>e.key!==i).map(e=>e.key)}});try{await this.opts.restart(i),this.pools.set(i,{state:VJ(s.state,this.now()),pids:[]})}catch(e){this.opts.log.error(`pool memory watchdog restart failed`,{meta:{poolKey:i,error:e instanceof Error?e.message:String(e)}})}}};function GJ(e,t){if(e.length!==t.length)return!1;let n=[...e].sort((e,t)=>e-t),r=[...t].sort((e,t)=>e-t);return n.every((e,t)=>e===r[t])}function KJ(e,t,n){let r=t*n;if(r<=0||e.length===0)return Array.from({length:Math.max(0,r)}).fill(!1);let i=Array.from({length:r}).fill(!1);for(let r=0;r<n;r++)for(let a=0;a<t;a++){let o=(a+.5)/t,s=(r+.5)/n;for(let n of e)if(o>=n.x&&o<=n.x+n.w&&s>=n.y&&s<=n.y+n.h){i[r*t+a]=!0;break}}return i}function qJ(e,t,n,r){if(t<=0||n<=0||r<=0)return[];let i=t*n,a=Array.from({length:i}).fill(!1),o=Math.min(e.length,i);for(let t=0;t<o;t++)a[t]=e[t]===!0;let s=[],c=[];for(let e=0;e<=n;e++){let r=[];if(e<n){let n=-1;for(let i=0;i<=t;i++){let o=i<t&&a[e*t+i]===!0;o&&n===-1?n=i:!o&&n!==-1&&(r.push({colStart:n,colEnd:i-1}),n=-1)}}let i=new Set,o=[];for(let t of c){let n=r.findIndex(e=>e.colStart===t.colStart&&e.colEnd===t.colEnd);n>=0?(o.push(t),i.add(n)):s.push({...t,rowEnd:e-1})}for(let t=0;t<r.length;t++)if(!i.has(t)){let n=r[t];o.push({colStart:n.colStart,colEnd:n.colEnd,rowStart:e})}c.length=0;for(let e of o)c.push(e)}if(s.length===0)return[];let l=s.slice().toSorted((e,t)=>{let n=(e.colEnd-e.colStart+1)*(e.rowEnd-e.rowStart+1);return(t.colEnd-t.colStart+1)*(t.rowEnd-t.rowStart+1)-n});return(r>0?l.slice(0,r):l).map(e=>({x:e.colStart/t,y:e.rowStart/n,w:(e.colEnd-e.colStart+1)/t,h:(e.rowEnd-e.rowStart+1)/n}))}var JJ=class{capacity;items;head=0;tail=0;count=0;constructor(e){this.capacity=e,this.items=Array.from({length:e})}get size(){return this.count}push(e){this.items[this.tail]=e,this.tail=(this.tail+1)%this.capacity,this.count<this.capacity?this.count++:this.head=(this.head+1)%this.capacity}drain(e){let t=[],n=Math.min(e,this.count);for(let e=0;e<n;e++)t.push(this.items[this.head]),this.items[this.head]=void 0,this.head=(this.head+1)%this.capacity;return this.count-=n,t}};async function YJ(e,t){let n=performance.now();try{return{output:t===void 0?await e():await ZJ(e(),t),durationMs:XJ(performance.now()-n),ok:!0}}catch(e){return{output:void 0,durationMs:XJ(performance.now()-n),ok:!1,error:Ln(e)}}}function XJ(e){return Math.round(e*100)/100}function ZJ(e,t){return new Promise((n,r)=>{let i=setTimeout(()=>r(Error(`Inference timeout after ${t}ms`)),t);e.then(e=>{clearTimeout(i),n(e)}).catch(e=>{clearTimeout(i),r(e)})})}var QJ={openvino:`openvino`,edgetpu:`tflite`,coreml:`coreml`,onnx:`onnx`,cpu:`onnx`,cuda:`onnx`};function $J(e){return QJ[e]??`onnx`}var eY={onnx:`onnx`,coreml:`coreml`,openvino:`openvino`,tflite:`tflite`,pytorch:`pt`},tY={coreml:`coreml_inference.py`,pytorch:`pytorch_inference.py`,openvino:`openvino_inference.py`};function nY(e){return eY[e]}function rY(e){return tY[e]}function iY(e){return e===`coreml`||e===`pytorch`||e===`openvino`}function aY(e){let t=e instanceof Float32Array?e:Float32Array.from(e),n=new Uint8Array(t.length*4),r=new DataView(n.buffer);for(let e=0;e<t.length;e+=1)r.setFloat32(e*4,t[e]??0,!0);return Buffer.from(n).toString(`base64`)}function oY(e){let t=Buffer.from(e,`base64`);if(t.byteLength%4!=0)throw Error(`decodeVectorBase64: ${t.byteLength} bytes is not a whole number of Float32 values`);let n=new Float32Array(t.byteLength/4);for(let e=0;e<n.length;e+=1)n[e]=t.readFloatLE(e*4);return n}function sY(e){return Math.floor(Buffer.from(e,`base64`).byteLength/4)}function cY(e,t,n,r,i){if(n.length===0||t.length===0)return{passed:e,excluded:[]};let a=n.filter(e=>e.enabled!==!1),o=a.filter(e=>e.mode===`include`),s=a.filter(e=>e.mode===`exclude`),c=o.length>0,l=new Map(t.map(e=>[e.id,e])),u=[],d=[];for(let t of e){let e=r(t),n=i?.(t),a=o.some(t=>lY(t,e,n,l)),f=s.some(t=>lY(t,e,n,l));c?a&&!f?u.push(t):d.push(t):f?d.push(t):u.push(t)}return{passed:u,excluded:d}}function lY(e,t,n,r){if(e.classFilter&&e.classFilter.length>0&&n!==void 0&&!e.classFilter.includes(n))return!1;for(let n of e.zoneIds){let e=r.get(n);if(e&&uY(t,e.polygon))return!0}return!1}function uY(e,t){if(t.length<3)return!1;let n=!1,{x:r,y:i}=e;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a];o.y>i!=s.y>i&&r<(s.x-o.x)*(i-o.y)/(s.y-o.y||2**-52)+o.x&&(n=!n)}return n}function dY(e,t,n){let r={};for(let i of Object.keys(n))r[i]=n=>e.addons.custom.mutate({addonId:t,action:i,input:n});return r}var fY={value:`auto`,label:`Auto`},pY={value:`cpu`,label:`CPU`},mY={value:`usb`,label:`Coral USB`},hY=[{id:`onnx`,supports:()=>!0,devices:e=>{if(!e)return[pY];let t=[pY];return e.gpu?.type===`nvidia`&&t.push({value:`cuda`,label:`CUDA`}),e.npu?.type===`apple-ane`&&t.push({value:`coreml`,label:`CoreML EP`}),t},defaultDevice:`cpu`},{id:`openvino`,supports:e=>e?.arch===`x64`&&e.platform!==`darwin`&&e.gpu?.type===`intel`,devices:e=>{if(!e)return[fY];let t=[fY,pY];return e.gpu?.type===`intel`&&t.push({value:`gpu`,label:`GPU`}),e.npu?.type===`intel-npu`&&t.push({value:`npu`,label:`NPU`}),t},defaultDevice:`auto`},{id:`coreml`,supports:e=>e?.platform===`darwin`,devices:e=>{let t={value:`all`,label:`All (ANE + GPU + CPU)`};if(!e)return[t];let n=[t];return e.npu?.type===`apple-ane`&&n.push({value:`ane`,label:`Apple Neural Engine`}),n.push({value:`gpu`,label:`GPU`},pY),n},defaultDevice:`all`},{id:`edgetpu`,supports:e=>e?.coral!=null,devices:()=>[mY],defaultDevice:`usb`}];function gY(e){let t=hY.find(t=>t.id===e);if(!t)throw Error(`Unknown runtime: ${e}`);return t}function _Y(e){return hY.filter(t=>t.supports(e)).map(e=>e.id)}function vY(e,t){return gY(e).devices(t)}function yY(e){return gY(e).defaultDevice}function bY(e){return e===`edgetpu`?`tflite`:nY(e)}function xY(e){let t=[];if(e.platform===`darwin`&&e.arch===`arm64`&&t.push({runtime:`python`,backend:`coreml`,format:`coreml`,score:95,reason:`Apple Neural Engine (Python CoreML)`,available:!0}),e.gpu?.type===`nvidia`&&t.push({runtime:`python`,backend:`cuda`,format:`onnx`,score:85,reason:`NVIDIA CUDA (Python ONNX Runtime)`,available:!0}),e.gpu?.type===`intel`){let n=e.npu?.type===`intel-npu`?90:80;t.push({runtime:`python`,backend:`openvino`,format:`openvino`,score:n,reason:`Intel OpenVINO`,available:!0})}e.coral!=null&&t.push({runtime:`python`,backend:`edgetpu`,format:`tflite`,score:70,reason:`Coral Edge TPU (Python LiteRT)`,available:!0}),t.push({runtime:`python`,backend:`cpu`,format:`onnx`,score:50,reason:`CPU (Python ONNX Runtime)`,available:!0});let n=t.toSorted((e,t)=>t.score-e.score);return{scores:n,best:n.find(e=>e.available)??n[n.length-1]}}var SY={cuda:`gpu`,edgetpu:`usb`,coreml:`all`,cpu:`cpu`};function CY(e,t,n,r){return{key:e===`cpu`?`cpu`:`${e}:${t}`,backend:e,device:t,format:n,runtime:`python`,score:r,available:!0}}function wY(e){let{scores:t}=xY(e),n=[];for(let r of t){if(r.backend===`openvino`){e.npu?.type===`intel-npu`&&n.push(CY(`openvino`,`npu`,r.format,r.score+2)),e.gpu?.type===`intel`&&n.push(CY(`openvino`,`gpu`,r.format,r.score));continue}if(r.backend===`edgetpu`){let t=Math.max(1,e.coral?.count??1);for(let e=0;e<t;e++){let t=e===0?`usb`:`usb:${e}`;n.push(CY(`edgetpu`,t,r.format,r.score))}continue}let t=SY[r.backend]??r.backend;n.push(CY(r.backend,t,r.format,r.score))}return n}export{zV as ACCESSORY_LABEL,Qq as ACCESS_ROLES,Ba as ALEXA_EGRESS_PROFILE,xU as ALL_CAPABILITY_DEFINITIONS,vu as APPEARANCE_BIN_COUNT,yu as APPEARANCE_BLOCKS,_u as APPEARANCE_DESCRIPTOR_VERSION,bu as APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT,Jb as APPLE_SA_TO_MACRO,os as ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT,Io as AUDIO_ANALYSIS_CAP_NAME,Sf as AUDIO_BACKEND_CHOICES,be as AUDIO_CHUNK_FORMATS,Kb as AUDIO_MACRO_LABELS,mf as AUDIO_NOT_CLASSIFIED_REASONS,Bn as AUDIO_PRESETS,RU as AUDIO_SCALE_EPOCH_ISO,zU as AUDIO_SCALE_EPOCH_MS,$A as AccessoriesStatusSchema,X as AccessoryKind,pb as AddBrokerInputSchema,xj as AddonAutoUpdateSchema,hj as AddonListItemSchema,Id as AddonPageDeclarationSchema,Pd as AddonPageInfoSchema,Mg as AdminLinkTargetEnum,a_ as AdoptionAdoptInputSchema,o_ as AdoptionAdoptResultSchema,To as AdoptionCandidateResultSchema,Qg as AdoptionFilterSchema,n_ as AdoptionGetCandidateInputSchema,Eo as AdoptionJobSchema,Co as AdoptionJobStateSchema,e_ as AdoptionListCandidatesInputSchema,t_ as AdoptionListCandidatesOutputSchema,wo as AdoptionOutcomeSchema,s_ as AdoptionReleaseInputSchema,r_ as AdoptionStatusSchema,TD as AgentLoadSummarySchema,Nj as AirQualitySensorStatusSchema,px as AlarmArmModeSchema,mx as AlarmPanelStatusSchema,fx as AlarmStateSchema,af as AlertSchema,tf as AlertSeveritySchema,rf as AlertSourceSchema,nf as AlertStatusSchema,Fj as AmbientLightSensorStatusSchema,HT as AnalyticsLtsSeriesSchema,bC as ApiKeyRecordSchema,vB as ApiKeySummarySchema,ry as AppleFmAvailabilitySchema,ny as AppleFmUnavailableReasonSchema,Rf as ArchiveEntrySchema,zf as ArchiveManifestSchema,cs as ArchivedDebugNoteQueryInputSchema,ss as ArchivedDebugNoteSchema,Tb as AttachmentMediaTypeSchema,Eb as AttachmentSchema,gf as AudioAnalysisResultSchema,_f as AudioAnalysisSettingsSchema,vf as AudioAttachDeviceInputSchema,yf as AudioAttachDeviceResultSchema,Ct as AudioChunkFormatSchema,df as AudioChunkInputSchema,Lj as AudioClassSummarySchema,pf as AudioClassificationLabelSchema,xf as AudioClassificationResultSchema,hf as AudioClassifyOutcomeSchema,Ef as AudioCodecInfoSchema,Df as AudioDecodeSessionConfigSchema,bf as AudioDetachDeviceResultSchema,Aa as AudioEncodeSchema,Of as AudioEncodeSessionConfigSchema,Af as AudioEncodedChunkSchema,Hw as AudioEventSchema,ff as AudioLevelSchema,zj as AudioMetricsHistoryPointSchema,Bj as AudioMetricsHistorySchema,Rj as AudioMetricsSnapshotSchema,kf as AudioPcmChunkSchema,ot as AudioStreamPickSchema,Nf as AuthResultSchema,bj as AutoUpdateSettingsSchema,Sd as AutomationActionSchema,_d as AutomationConditionOperatorSchema,bd as AutomationConditionSchema,Hj as AutomationControlStatusSchema,Cd as AutomationRecipeSchema,xd as AutomationTriggerSchema,PN as AvailableIntegrationTypeSchema,_h as BASE_DEVICE_CAPS,Ra as BASE_LIVE_EGRESS_PROFILE,TH as BATTERY_DEVICE_PROFILE,$V as BATTERY_UNREACHABLE_AFTER_MS,es as BIRTH_DECISION_DEFAULT_LIMIT,wn as BOOT_RECOVERY_BACKOFF_MS,Pm as BUILTIN_RESULT_KINDS,wJ as BackgroundRunRegistry,EN as BacklightModeSchema,Ff as BackupDestinationInfoSchema,Lf as BackupEntrySchema,Hf as BackupRunPhaseSchema,Uf as BackupRunSchema,Vf as BackupRunStateSchema,Wf as BackupTriggerResultSchema,qe as BaseAddon,GV as BaseDevice,QV as BaseDeviceProvider,Wj as BatteryStatusSchema,Kj as BinaryStatusSchema,is as BirthDecisionQueryInputSchema,rs as BirthDecisionRecordSchema,ns as BirthDecisionVerdictSchema,B as BoundingBoxSchema,Jj as BrightnessStatusSchema,$f as BrokerAddInputSchema,Cp as BrokerAudioClientSchema,Dp as BrokerClientsSchema,fb as BrokerConnectionDetailsSchema,Tp as BrokerConsumerAttributionSchema,wp as BrokerConsumerKindSchema,Sp as BrokerDecodedClientSchema,Ep as BrokerEncodedClientSchema,fp as BrokerGetStateInputSchema,db as BrokerInfoSchema,Xf as BrokerProviderInfoSchema,cp as BrokerPublishInputSchema,Yf as BrokerRegistryStatusSchema,xp as BrokerRtspClientSchema,Ot as BrokerStatsSchema,qf as BrokerStatusEnum,Dt as BrokerStatusSchema,lp as BrokerSubscribeInputSchema,up as BrokerSubscribeResultSchema,np as BrokerTestConnectionResultSchema,dp as BrokerUnsubscribeInputSchema,xg as BulkRecordSchema,LC as CAMERA_SENSORS_NOT_LOADED,DC as CAMERA_SENSORS_SETTINGS_KEY,Bo as CAMERA_SWITCH_CATALOG,ko as CAMERA_SWITCH_ORDER,TC as CAMERA_TRIGGER,at as CAM_PROFILE_ORDER,yU as CAPABILITY_NAMES,bU as CAPABILITY_ROUTER_KEYS,vU as CAP_NAMES_WITH_STATUS,Rt as CAP_NODE_PIN_CONTEXT_KEY,OU as CAP_PROVIDER_KIND_MAP,Ks as CLASS_MAP_MACRO_TARGETS,cA as CLIP_BROKER_PACED_RATES,hA as CLIP_PLAYBACK_OPTIONS,uA as CLIP_REALTIME_SOURCE_RATES,qk as CLIP_REASON_HEADER_MAX,Bu as CLIP_SEARCH_STRICTNESS,Xk as CLIP_STILL_DISPOSITION_HEADER,Yk as CLIP_STILL_REASON_CODE_HEADER,Kk as CLIP_STILL_REASON_HEADER,lA as CLIP_STREAM_SOURCE_RATES,Zk as CLIP_STREAM_TRANSPORT_HEADER,Hu as CLIP_STRICTNESS_FACTOR,Ru as CLIP_VECTOR_INDEX_PATTERN,RC as CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS,zC as CLUSTER_MODEL_SCOPED_STEPS,BC as CLUSTER_MODEL_SECTION_ID,ew as CLUSTER_STEP_SETTING_FIELDS,Vb as COCO_80_LABELS,Gb as COCO_TO_MACRO,Mi as COMPOSED_DEVICE_STABLE_ID_PREFIX,eh as COMPOSED_ITEM_FIXED_FIELDS,Ai as COMPOSER_ADDON_ID,cg as COMPOSER_RUNNER_ID,dm as COMPOSITION_EVENT_CATEGORY,Ji as COMPOSITION_ITEM_ARRAY_PATH,Ki as COMPOSITION_ITEM_KEY_RE,gM as CONNECTION_TEST_TIMEOUT_MS,nH as CONTAINER_CHILD_PRIORITY,Wh as CORE_BLOCKS_ADDON_ID,Uh as CORE_BLOCK_ADDON_PREFIX,ji as CUSTOMIZATION_BLOCK_NAME_PREFIX,S as CamProfileSchema,mz as CamStreamDescriptorSchema,st as CamStreamKindSchema,ct as CamStreamResolutionSchema,jD as CameraAssignmentStatusSchema,VD as CameraAudioStatusSchema,MD as CameraBrokerProfileSchema,ND as CameraBrokerStatusSchema,Zj as CameraCredentialsSchema,Qj as CameraCredentialsStatusSchema,PD as CameraDecoderShmSchema,FD as CameraDecoderStatusSchema,zD as CameraDetectionPhaseSchema,RD as CameraDetectionProvisioningSchema,LD as CameraDetectionProvisioningStateSchema,BD as CameraDetectionStatusSchema,kE as CameraMetricsSchema,AE as CameraMetricsWithDeviceIdSchema,ID as CameraMotionStatusSchema,GB as CameraOccupancySnapshotForDeviceSchema,HD as CameraRecordingModeSchema,UD as CameraRecordingStatusSchema,PC as CameraSensorAttachmentSchema,kC as CameraSensorRefSchema,MC as CameraSensorsConfigSchema,jC as CameraSensorsModeSchema,FC as CameraSensorsNotForwardedSchema,IC as CameraSensorsStatusSchema,AD as CameraSourceStatusSchema,kD as CameraSourceStreamSchema,GD as CameraStatusDegradationReasonSchema,KD as CameraStatusDegradationSchema,JD as CameraStatusSchema,WD as CameraStatusStageSchema,lt as CameraStreamSchema,Ao as CameraSwitchAuthoritySchema,Po as CameraSwitchGroupSchema,Oo as CameraSwitchIdSchema,No as CameraSwitchSchema,jo as CameraSwitchUnavailableReasonSchema,Mo as CameraSwitchWarningSchema,$g as CandidateQueryFilterSchema,hC as CapScopeSchema,DD as CapabilityBindingsSchema,oM as CarbonMonoxideStatusSchema,In as ChargingStatus,cv as ClaimOutcomeSchema,uv as ClaimsListingSchema,vs as ClearTrackRelationInputSchema,ys as ClearTrackRelationResultSchema,sF as ClientNetworkStatsSchema,lM as ClimateControlStatusSchema,iA as ClipBytesOfferSchema,rA as ClipBytesSchema,WL as ClipExportFailureSchema,zu as ClipModelMetaSchema,dA as ClipPlaybackOptionsSchema,$k as ClipPlaybackSchema,Qk as ClipSchema,Vu as ClipSearchStrictnessSchema,fA as ClipSourceAvailabilitySchema,pA as ClipSourceSchema,Gk as ClipStillDispositionSchema,Wk as ClipStillRefusalCodeSchema,oA as ClipStreamAudioReasonSchema,aA as ClipStreamAudioSchema,sA as ClipStreamDialSchema,eA as ClipWakeSchema,_F as ClusterAddonNodeDeploymentSchema,vF as ClusterAddonStatusEntrySchema,QD as ClusterModelChoiceSchema,Sg as CollectionColumnSchema,Cg as CollectionIndexSchema,mM as ColorStatusSchema,Bh as ComposableCapabilitiesSchema,zh as ComposableCapabilitySchema,Rh as ComposableFieldSchema,dg as ComposerApplyInputSchema,pg as ComposerApplyResultSchema,lg as ComposerBlockSchema,fg as ComposerBlockVerdictSchema,ug as ComposerUnreadableBlockSchema,Bi as CompositionBindingSchema,Zh as CompositionBlockInputSchema,jm as CompositionBlockStateSchema,Hi as CompositionCodeSourceSchema,Gi as CompositionCommandTargetSchema,ag as CompositionCustomizationReadSchema,pm as CompositionEventPlanSchema,ta as CompositionExistingTargetSchema,Vi as CompositionExpressionSourceSchema,Tm as CompositionFeatureModeSchema,Em as CompositionFeaturePlanSchema,Qi as CompositionFeatureSchema,Sm as CompositionFieldItemSchema,ym as CompositionFieldKindSchema,Cm as CompositionFieldPlanSchema,Li as CompositionFieldReadSchema,xm as CompositionFieldRoleSchema,Ui as CompositionFieldSourceSchema,km as CompositionFieldStateKindSchema,Am as CompositionFieldStateSchema,Xi as CompositionFieldsFeatureSchema,Wi as CompositionForwardCommandSchema,Ri as CompositionFromSourceSchema,ig as CompositionGetReadSchema,oh as CompositionGraphError,Yi as CompositionItemEntrySchema,rg as CompositionListReadSchema,zi as CompositionLiteralBindingSchema,ea as CompositionNewTargetSchema,Zi as CompositionPassthroughFeatureSchema,_m as CompositionProblemCodeSchema,vm as CompositionProblemSchema,Om as CompositionRunStatusSchema,ra as CompositionSchema,Ii as CompositionSourceRefSchema,eg as CompositionStateReadSchema,na as CompositionTargetSchema,bm as CompositionUnavailableModeSchema,Dm as CompositionValidationSchema,tg as CompositionViewSchema,H_ as ConfigEntrySchema,Ud as ConfigSectionWithValuesSchema,Hd as ConfigTabDeclarationSchema,yM as ConnectionTestDescriptorSchema,vM as ConnectionTestInputSchema,_M as ConnectionTestOutcomeSchema,xM as ConnectivityStatusSchema,TM as ConsumableItemSchema,wM as ConsumableRemainingSchema,CM as ConsumableRemainingUnitSchema,EM as ConsumablesStatusSchema,OM as ContactStatusSchema,AM as ControlKindSchema,jM as ControlStatusSchema,rd as ConvertArtifactSchema,id as ConvertResultSchema,td as ConvertTargetSchema,og as CoreBlockCompileResultSchema,Yh as CoreBlockInputSchema,qh as CoreBlockPlacementSchema,W as CoreBlockSchema,Xh as CoreBlockSourceSchema,Jh as CoreBlockStatusSchema,PM as CoverStateSchema,FM as CoverStatusSchema,yB as CreateApiKeyInputSchema,bB as CreateApiKeyResultSchema,LN as CreateIntegrationInputSchema,SB as CreateScopedTokenInputSchema,CB as CreateScopedTokenResultSchema,gB as CreateUserInputSchema,jj as CustomActionInputSchema,hg as CustomModelDescriptorSchema,Qe as DATAPLANE_SECRET_HEADER,hR as DAYS_PER_WEEK,vR as DAY_NAMES,fH as DECLARED_DEVICE_SWEEP_LIMIT,uH as DECLARED_INTEGRATION_FIXED_KEY,ho as DEFAULT_ADDON_PLACEMENT,Cf as DEFAULT_AUDIO_ANALYZER_CONFIG,UC as DEFAULT_CLUSTER_STEP_MODELS,aw as DEFAULT_CLUSTER_STEP_SETTINGS,Og as DEFAULT_DECODER_HWACCEL_CONFIG,xq as DEFAULT_DETAIL_CROP_CONVENTION,lc as DEFAULT_EVENTS_BAND_BUFFER_SEC,Qb as DEFAULT_EVENT_COLOR,Fs as DEFAULT_FEATURES,Er as DEFAULT_FIRST_SIGHTING_FRESHNESS_MS,$C as DEFAULT_MIN_LANDMARK_FACE_SIZE_PX,Q as DEFAULT_NATIVE_LEASE_SETTINGS,Su as DEFAULT_OVERLAY_LAYERS,MJ as DEFAULT_POOL_MEMORY_POLICY,hc as DEFAULT_RECORDING_PROFILES,Do as DEFAULT_RETENTION,Ht as DEFAULT_RUNTIME_STATE_DURABILITY,uq as DEFAULT_TIMELAPSE_PREVIEW_TEXT,LV as DEFAULT_TOKEN_EXPIRY,zo as DERIVED_CAMERA_SILENCED_CAP_NAMES,Eq as DETAIL_CROP_PADDING_FIELD,vq as DETAIL_CROP_PADDING_KEY,_q as DETAIL_CROP_SECTION_ID,yq as DETAIL_CROP_SQUARE_KEY,Ub as DETECTION_MACRO_CLASSES,Fo as DETECTION_PIPELINE_CAP_NAME,QJ as DEVICE_BACKEND_TO_FORMAT,wU as DEVICE_CAP_NAMES,cn as DEVICE_CHILDREN_BATCH_MAX,EH as DEVICE_PROFILES,qV as DEVICE_RESTORE_RETRY_CONCURRENCY,KV as DEVICE_RESTORE_RETRY_DELAYS_MS,Sn as DEVICE_SCOPED_CAPS,qt as DEVICE_SETTINGS_CONTRIBUTION_METHODS,MV as DEVICE_STATE_READERS,Jt as DEVICE_STATUS_METHOD,mH as DEVICE_TYPE_CONTROL_KIND,gJ as DEVICE_TYPE_INFO,OH as DISPLAY_ICON_GROUPS,AH as DISPLAY_ICON_KEYS,jH as DISPLAY_ICON_OFFERED_KEYS,kH as DISPLAY_ICON_VOCABULARY,kV as DOORBELL_RISE_DEBOUNCE_MS,yA as DOORBELL_SOURCE_SLOT,Tg as DataStoreEngineInfoSchema,LM as DayNightModeSchema,BM as DayNightOptionsSchema,VM as DayNightSettingsPatchSchema,zM as DayNightStatusSchema,pH as DeclaredDevices,wt as DecodedAudioChunkSchema,yt as DecodedFrameSchema,Ll as DecoderSessionConfigSchema,Il as DecoderStatsSchema,zN as DeleteIntegrationResultSchema,bq as DetailCropConventionSchema,Ys as DetectionCatalogClassMapSchema,Lw as DetectionSourceSchema,iD as DetectionSourcesSchema,Ng as DeviceAdminLinkSchema,KN as DeviceCodeSeveritySchema,VV as DeviceConfig,Xg as DeviceDiscoveryStatusSchema,__ as DeviceExportExposeInputSchema,m_ as DeviceExportStatusSchema,v_ as DeviceExportUnexposeInputSchema,Fn as DeviceFeature,V_ as DeviceInfoSchema,cF as DeviceNetworkStatsSchema,XV as DeviceRestoreRetryScheduler,D as DeviceRole,HV as DeviceRuntimeState,gC as DeviceSelectorSchema,UM as DeviceStatusSchema,E as DeviceType,Wz as DiagnosticIdSchema,Zz as DiagnosticWindowPatchSchema,Xz as DiagnosticWindowSchema,Yg as DiscoveredChildDeviceSchema,Jg as DiscoveredChildStatusSchema,j_ as DiscoveredDeviceSchema,Ib as DiscoveredTargetSchema,qD as DiskReconcileJobSchema,Ze as DisposerChain,_A as DoorbellPressEventSchema,vA as DoorbellSourceSlotValueSchema,gA as DoorbellStatusSchema,_v as EMBEDDING_MODEL_FAILED,yv as EMBEDDING_REQUIREMENTS_FAILED,vv as EMBEDDING_REQUIREMENTS_UNAVAILABLE,uO as EVENTFUL_CAP_NAMES,xT as EVENT_DENSITY_BATCH_MAX,lO as EVENT_KIND_BY_CAP,ya as EVENT_OWNER_TYPES,Xs as EVENT_PAD_MS,rx as EVENT_TAXONOMY,FL as EXPORT_DENSE_MAX_RANGES,Br as EXPRESSION_BUILTINS,Vr as EXPRESSION_BUILTIN_NAMES,qr as EXPRESSION_COMPILE_CACHE_CAPACITY,Jr as EXPRESSION_IDENTIFIER_RE,Ei as EXPRESSION_INJECTED_NOW,TA as EXTENSION_HOST_DEVICE_TYPES,CA as EXTENSION_SLOTS,xA as EXTENSION_SLOT_IDS,DA as EXTENSION_SLOT_LISTING_METHOD,EA as EXTENSION_SLOT_REF_SEPARATOR,QT as EffectiveTuningSchema,Np as EgressEncodeSchema,Pp as EgressRateControlSchema,Fp as EgressTranscodeRequestSchema,Ip as EgressTranscodeSchema,EJ as ElementConfigStore,mv as EmbeddingFailedModelSchema,hv as EmbeddingFailedRequirementSchema,gv as EmbeddingInfoSchema,bv as EmbeddingRefusalCodeSchema,fv as EmbeddingResultSchema,pv as EmbeddingTowerSchema,ja as EncodeProfileSchema,vt as EncodedPacketSchema,$d as EnrichedWidgetMetadataSchema,GM as EnumSensorDateTimeFormatSchema,KM as EnumSensorStatusSchema,ge as EventCategory,bT as EventDensityBucketSchema,ST as EventDensityForDeviceSchema,YM as EventEmitterStatusSchema,JM as EventFireSchema,fw as EventKindCategorySchema,mw as EventKindDescriptorSchema,dw as EventKindIconSchema,lw as EventKindSchema,hw as EventKindsForDeviceSchema,_p as EventMediaArtifactSchema,vp as EventMediaCoverageSchema,gp as EventMediaKindSchema,yp as EventMediaProductionSchema,ba as EventOwnerTypeSchema,fa as EventSourceType,YL as ExportBytesSchema,VL as ExportClipSubjectSchema,PL as ExportDenseRangeSchema,IL as ExportDenseSchema,qL as ExportDownloadSchema,BL as ExportFootageSubjectSchema,RL as ExportOptionsSchema,UL as ExportRecordSchema,f_ as ExportSetupFieldSchema,p_ as ExportSetupSchema,NL as ExportSpeedSchema,zL as ExportStateSchema,HL as ExportSubjectSchema,LL as ExportTimelapseSchema,g_ as ExposedDeviceSchema,TN as ExposureModeSchema,pd as ExpressionBindingSourceSchema,k as ExpressionEvalError,ud as ExpressionFieldBindingSchema,fd as ExpressionGlobalBindingSchema,dd as ExpressionLiteralBindingSchema,O as ExpressionParseError,md as ExpressionSourceSchema,LA as ExtensionCandidateSchema,RA as ExtensionCandidatesSchema,zA as ExtensionSetResultSchema,VA as ExtensionSetSlotInputSchema,MA as ExtensionSlotActivationSchema,SA as ExtensionSlotIdSchema,BA as ExtensionSlotRefInputSchema,FA as ExtensionSlotRowSchema,jA as ExtensionSlotSourceSchema,NA as ExtensionSlotStateSchema,PA as ExtensionSlotUnreachableSchema,wA as ExtensionSlotValueSchema,OA as ExtensionSourceAvailabilitySchema,AA as ExtensionSourceHealthSchema,kA as ExtensionSourceSchema,EV as FEEDER_EXAMPLE_ADDON_ID,TV as FEEDER_EXAMPLE_HA_DEVICE_ID,vr as FFMPEG_PATH_ENV,qs as FIRST_LEVEL_MACRO_CLASSES,Tq as FULL_IMAGE_BBOX,jv as FailureContributionSchema,ru as FailureCounters,Av as FailureReasonCountSchema,lN as FanControlStatusSchema,cN as FanDirectionSchema,Az as FeatureManifestSchema,dN as FeatureProbeStatusSchema,sv as FieldClaimModeSchema,lv as FieldClaimSchema,pN as FloodStatusSchema,fr as Fmp4BoxSplitter,bt as FrameHandleFormatSchema,C as FrameHandleSchema,lf as FrameInputSchema,fD as FrameLazyCountersSchema,pD as FrameLazyMetricsSchema,BU as G711_SCALE_CORRECTION_DB,hN as GasStatusSchema,rB as GetLoggingSettingsInputSchema,jp as GetStreamWithCodecInputSchema,ED as GlobalMetricsSchema,iM as GridLayoutPatchSchema,rM as GridLayoutViewSchema,Ka as HAP_AUDIO_BASE,Ga as HAP_AUDIO_BITRATE_KBPS,qa as HAP_AUDIO_VBV_KBITS,Ja as HAP_KEYFRAME_INTERVAL_SEC,IV as HF_BASE_URL,FV as HF_REPO,gR as HOURS_PER_DAY,Dg as HWACCEL_OPTIONS,jz as HealthStatusSchema,hy as HfModelResolutionSchema,JB as HistoryPointSchema,KB as HistoryResolutionEnum,_N as HumidifierStatusSchema,yN as HumiditySensorStatusSchema,cM as HvacModeSchema,YD as INFERENCE_DEVICE_EXCLUSION_REASONS,hO as ImageContractSchema,mO as ImageContractStateSchema,CN as ImageRotateSchema,kN as ImageSettingsOptionsSchema,AN as ImageSettingsPatchSchema,ON as ImageSettingsStatusSchema,xN as ImageStatusSchema,XD as InferenceDeviceExclusionReasonSchema,OD as IngestOwnerSchema,gj as InstalledPackageSchema,NN as IntegrationLiteSchema,MN as IntegrationWithStateSchema,VN as IntercomAbilitySchema,HN as IntercomStatusSchema,CU as KNOWN_CAP_NAMES,_T as KeyEventSchema,hl as LEGACY_READ_ONLY_CONFIG_KEY,K_ as LINKED_DEVICES_SLOT,xy as LOAD_CONTRIBUTION_ATTRIBUTIONS,by as LOAD_CONTRIBUTION_ROLES,E_ as LOCATION_DESCRIPTION_MAX,x_ as LOCATION_ICON_FALLBACK,b_ as LOCATION_ICON_IDS,Zl as LOG_CHANNEL_TICK_MS,Is as LOG_LEVEL_RANK,UT as LTS_SCOPE_CLASS_SEPARATOR,Aw as LabelAttributionSchema,Gs as LabelDefinitionSchema,kw as LabelTierSchema,GN as LawnMowerActivitySchema,qN as LawnMowerControlStatusSchema,nl as LedgerWalkDeviceReportSchema,Qc as LedgerWalkInputSchema,$c as LedgerWalkRefusalSchema,rl as LedgerWalkReportSchema,tl as LedgerWalkSkipCountsSchema,el as LedgerWalkSkipReasonSchema,Ol as LegacyStorageLocationDefaultSchema,W_ as LinkedDeviceSchema,U_ as LinkedDevicesModeSchema,G_ as LinkedDevicesSlotValueSchema,Ss as ListTrackRelationsInputSchema,Cs as ListTrackRelationsResultSchema,fy as LlmDefaultSchema,dy as LlmDefaultSelectorSchema,Zv as LlmDownloadProgressSchema,zv as LlmErrorCodeSchema,qv as LlmGenerateBaseInputSchema,Hv as LlmGenerateErrSchema,Bv as LlmGenerateOkSchema,Uv as LlmGenerateResultSchema,Wv as LlmImageSchema,$v as LlmNodeModelSchema,uy as LlmProfileKindDescriptorSchema,sy as LlmProfileKindSchema,cy as LlmProfileSchema,Vv as LlmRefusalSourceSchema,Gv as LlmRetryPolicySchema,iy as LlmRuntimeAppleCompleteInputSchema,ay as LlmRuntimeCancelInputSchema,ty as LlmRuntimeCompleteInputSchema,ey as LlmRuntimeDiskUsageSchema,gy as LlmRuntimeNodeSchema,Qv as LlmRuntimeStatusSchema,Kv as LlmTimeoutDefaults,py as LlmUsageRollupSchema,Rv as LlmUsageSchema,Sy as LoadContributionSchema,OL as LocateSegmentResultSchema,D_ as LocationDescriptionAssignmentSchema,C_ as LocationIconAssignmentSchema,S_ as LocationIconIdSchema,Bf as LocationStatSchema,lP as LockControlStatusSchema,cP as LockStateSchema,wy as LogChannelApplyResultSchema,Ul as LogChannelDescriptorSchema,Gl as LogChannelGate,Hl as LogChannelLevelSchema,Kl as LogChannelRegistry,$z as LogChannelWindowPatchSchema,Wl as LogChannelWindowSchema,Qz as LogChannelWindowStateSchema,Dy as LogEntrySchema,Ey as LogLevelSchema,kj as LogStreamEntrySchema,Jz as LoggingEffectiveSchema,Yz as LoggingExplicitSchema,qz as LoggingLevelLayerSchema,Kz as LoggingLevelSourceSchema,Gz as LoggingScopeKindSchema,eB as LoggingSettingsPatchSchema,aB as LoggingSettingsStateSchema,Ny as LoginMethodContributionSchema,ky as LoginStageEnum,KT as LtsBucketSchema,Hb as MACRO_LABELS,as as MAX_ARCHIVED_DEBUG_NOTES,$o as MAX_BIRTH_DECISION_RECORDS,ts as MAX_BIRTH_LATENCY_PROXY_MS,OC as MAX_CAMERA_SENSORS,Hk as MAX_CLIP_EVENT_IDS,Uk as MAX_CLIP_LABELS,Fi as MAX_COMPOSITION_CODE_LENGTH,Ni as MAX_COMPOSITION_FEATURES,Pi as MAX_COMPOSITION_FIELDS_PER_FEATURE,qi as MAX_COMPOSITION_ITEMS,hd as MAX_CONDITION_DEPTH,gd as MAX_CONDITION_LEAVES,Ur as MAX_EXPRESSION_AST_NODES,Gr as MAX_EXPRESSION_BINDINGS,Kr as MAX_EXPRESSION_CALL_ARGS,Wr as MAX_EXPRESSION_EVAL_STEPS,Hr as MAX_EXPRESSION_SOURCE_LENGTH,eu as MAX_KEYS,$l as MAX_REASONS_PER_KEY,nc as MAX_SENSOR_TRIGGER_DEVICES,ww as MAX_TRACK_DEBUG_NOTE_LEN,us as MAX_TRACK_PURITIES,ls as MAX_TRACK_RELATIONS,pa as MEDIA_OWNER_TYPES,xa as MEDIA_PRESENCE_OWNER_KINDS,SU as METHOD_ACCESS_MAP,EU as METHOD_DEVICE_SELECTORS,mR as MINUTES_PER_DAY,Wu as MODEL_FORMATS,Qu as MODEL_HOSTING,Yu as MODEL_PROVIDER_IDS,bP as MOTION_CLOSE_AFTER_MS,tD as MOTION_SOURCE_LABELS,_H as MOTION_TRIGGER_FEATURE,my as ManagedModelCatalogEntrySchema,Jv as ManagedModelExtraFileSchema,Yv as ManagedModelRefSchema,Xv as ManagedRuntimeConfigSchema,wx as MaskGridDimsSchema,yx as MaskGridShapeSchema,bx as MaskLineShapeSchema,gx as MaskPointSchema,vx as MaskPolygonShapeSchema,Cx as MaskPolygonVerticesSchema,_x as MaskRectShapeSchema,Sx as MaskShapeKindSchema,xx as MaskShapeSchema,Kw as MediaFileInfoSchema,Uw as MediaFileKindEnum,Ww as MediaFileRefSchema,Gw as MediaFileSchema,fP as MediaPlayerRepeatSchema,dP as MediaPlayerStateSchema,mP as MediaPlayerStatusSchema,Sa as MediaPresenceOwnerKindSchema,Oc as MediaRelocateModeSchema,_P as MeshPeerSchema,vP as MeshStatusSchema,fC as MethodAccessSchema,av as MigrateDeviceResultSchema,rv as MigrateSwitchOutcomeSchema,iv as MigrateSwitchReportSchema,ed as ModelCatalogEntrySchema,tb as ModelConvertInputSchema,nd as ModelConvertMetadataSchema,rb as ModelDistributeInputSchema,ib as ModelDistributeResultSchema,Ku as ModelExtraFileSchema,Gu as ModelFormatEntrySchema,qu as ModelFormatsSchema,$u as ModelLicenseSchema,Xu as ModelProviderIdSchema,uE as ModelSubstitutionSchema,Ju as ModelVariantGroupSchema,sb as MotionAnalysisResultSchema,Iw as MotionEventSchema,SP as MotionOnMotionChangedDataSchema,ob as MotionRegionSchema,$E as MotionSourceEnum,eD as MotionSourcesSchema,xP as MotionStatusSchema,TP as MotionTriggerRuntimeStateSchema,wP as MotionTriggerStatusSchema,wC as MotionTriggeredBySchema,kP as MotionZoneOptionsSchema,AP as MotionZonePatchSchema,DP as MotionZoneRegionSchema,OP as MotionZoneStatusSchema,yb as MqttBrokerStatusSchema,_g as MutationFilterSchema,Hq as NATIVE_LEASE_ACTIVITY_FIELD,Pq as NATIVE_LEASE_ACTIVITY_KEY,Gq as NATIVE_LEASE_ADMISSION_FIELD,Fq as NATIVE_LEASE_ADMISSION_KEY,Vq as NATIVE_LEASE_BUDGET_FIELD,Nq as NATIVE_LEASE_BUDGET_KEY,Bq as NATIVE_LEASE_HOLD_FIELD,Mq as NATIVE_LEASE_HOLD_KEY,Wq as NATIVE_LEASE_SCENE_BUDGET_FIELD,Lq as NATIVE_LEASE_SCENE_BUDGET_KEY,jq as NATIVE_LEASE_SECTION_ID,Uq as NATIVE_LEASE_TILE_BUDGET_FIELD,Iq as NATIVE_LEASE_TILE_BUDGET_KEY,WP as NAVIGATION_ACTION_CATALOG,YP as NAVIGATION_LIGHT_LEVEL_MAX,JP as NAVIGATION_LIGHT_LEVEL_MIN,JG as NC_ALARM_OPENING_EVENT_KINDS,kx as NC_ALARM_SYSTEM_EVENT_KINDS,eW as NC_AUDIO_CONFIRM_HITS_DEFAULT,rW as NC_AUDIO_CONFIRM_HITS_MAX,nW as NC_AUDIO_CONFIRM_HITS_MIN,aW as NC_AUDIO_CONFIRM_WINDOW_MAX_SEC,iW as NC_AUDIO_CONFIRM_WINDOW_MIN_SEC,tW as NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT,Kx as NC_AUDIO_DBFS_FLOOR,qU as NC_AUDIO_DB_MAX,KU as NC_AUDIO_DB_MIN,YU as NC_AUDIO_DB_OFFERED,JU as NC_AUDIO_DB_STEP,oW as NC_AUDIO_DEFAULTS,ZU as NC_AUDIO_HIT_PERCENT_MAX,XU as NC_AUDIO_HIT_PERCENT_MIN,$U as NC_AUDIO_SAMPLING_MAX_SEC,QU as NC_AUDIO_SAMPLING_MIN_SEC,PG as NC_AUDIO_SEED,Ox as NC_AUTHORABLE_SYSTEM_EVENT_KINDS,DW as NC_BASE_CONDITION_KEYS,Ax as NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS,cS as NC_CLIP_POST_ROLL_DEFAULT_SEC,sS as NC_CLIP_PRE_ROLL_DEFAULT_SEC,cC as NC_CLIP_RETENTION_MAX_SEC,LS as NC_CONDITION_CATALOG,hS as NC_CONFIRM_DEFAULT_MAX_IMAGE_PX,mS as NC_CONFIRM_DEFAULT_TIMEOUT_MS,pS as NC_CONFIRM_MAX_TIMEOUT_MS,fS as NC_CONFIRM_MIN_TIMEOUT_MS,Nx as NC_CONSUMABLE_LOW_PERCENT_DEFAULT,Px as NC_CONSUMABLE_LOW_PERCENT_MAX,jx as NC_CONSUMABLE_SYSTEM_EVENT_KINDS,zx as NC_DEFAULT_SNOOZE_MINUTES,HS as NC_HISTORY_LIMIT_DEFAULT,US as NC_HISTORY_LIMIT_MAX,Lx as NC_MAX_PER_TRACK_IMMEDIATE,NG as NC_OCCUPANCY_DEFAULTS,bS as NC_RULE_CLEARABLE_KEYS,LG as NC_RULE_EDITOR_SECTION_ORDER,gG as NC_RULE_KIND_SPECS,EG as NC_RULE_SECTIONS,$G as NC_SENSOR_RAISED_FIELD_BY_KIND,eK as NC_SENSOR_TRANSITION_KINDS,QG as NC_SENSOR_TRANSITION_NEVER_FIRES_WARNING,iK as NC_SENSOR_TRANSITION_UNSUPPORTED_REASON,BK as NC_SERVER_PACKAGE_NAME,Rx as NC_SNOOZE_MAX_MINUTES,yG as NC_SYSTEM_DELIVERY,ZW as NC_SYSTEM_EVENT_CONDITION_FILTER_KEYS,qW as NC_SYSTEM_EVENT_FAMILIES,YW as NC_SYSTEM_EVENT_FAMILY,QW as NC_SYSTEM_EVENT_FAMILY_FILTERS,WW as NC_SYSTEM_EVENT_FILTER_KEYS,$W as NC_SYSTEM_EVENT_KIND_GROUP_SPECS,OK as NC_SYSTEM_EVENT_SUMMARY_FAMILIES,aG as NC_SYSTEM_RULE_KINDS,Mx as NC_TANK_SYSTEM_EVENT_KINDS,dx as NC_TAXONOMY,vK as NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS,_K as NC_TEMPLATE_VARS,VK as NC_UPDATE_EVENT_PACKAGE_NAMES,eF as NETWORK_LINK_TYPES,nF as NETWORK_LINK_UNKNOWN,FE as NativeCropBboxSchema,JT as NativeCropRefSchema,IE as NativeCropResultSchema,NP as NativeDetectionSchema,Rq as NativeLeaseAdmissionSchema,zq as NativeLeaseSettingsSchema,MP as NativeObjectClassEnum,IP as NativeObjectDetectionOptionsSchema,RP as NativeObjectDetectionRuntimeStateSchema,LP as NativeObjectDetectionSettingsPatchSchema,PP as NativeObjectDetectionStatusSchema,FP as NativeObjectGeometryEnum,UP as NavigationActionEntrySchema,VP as NavigationActionIdSchema,HP as NavigationEntryKindSchema,KP as NavigationFeaturesSchema,qP as NavigationLightModeSchema,XP as NavigationModeSchema,BP as NavigationMoveCommandSchema,GP as NavigationPointSchema,QP as NavigationRuntimeStateSchema,ZP as NavigationStatusSchema,sC as NcAlarmConfigSchema,nC as NcAlarmModeCoverageSchema,$S as NcAlarmSettingsPatchSchema,QS as NcAlarmSettingsSchema,eC as NcAlarmSkipReasonSchema,tC as NcAlarmSkippedDeviceSchema,qx as NcAudioConditionSchema,lC as NcClipRetentionAskSchema,uC as NcClipRetentionPlanSchema,IS as NcConditionDescriptorSchema,rS as NcConditionsSchema,gS as NcConfirmExpectSchema,_S as NcConfirmSchema,Jx as NcCrossingSchema,Tx as NcDeliverySchema,tS as NcDeviceStateConditionSchema,VS as NcHistoryEntrySchema,WS as NcHistoryFilterSchema,zS as NcHistoryRecordKindSchema,RS as NcHistoryStatusSchema,BS as NcHistorySubjectSchema,oS as NcLinkedCameraModeSchema,aS as NcMediaFrameSchema,lS as NcMediaPolicySchema,Gx as NcOccupancyConditionSchema,Wx as NcPlateMatcherSchema,Zx as NcRuleActionSchema,Qx as NcRuleActionSequenceSchema,eS as NcRuleActionsSchema,xS as NcRuleClearableKeySchema,vS as NcRuleInputSchema,DS as NcRuleKindSchema,GS as NcRuleLastRunSchema,KS as NcRuleLastRunsSchema,$x as NcRuleNotificationButtonSchema,yS as NcRulePatchSchema,CS as NcRuleSchema,iS as NcRuleTargetSchema,SS as NcRuleUpdateInputSchema,nS as NcSceneConditionSchema,Vx as NcScheduleSchema,Bx as NcScheduleWindowSchema,Yx as NcSensorTransitionSchema,JS as NcSnoozeInputSchema,YS as NcSnoozeSchema,qS as NcSnoozeScopeSchema,XS as NcSnoozeSuppressedSchema,TS as NcStateSummaryPreviewSchema,wS as NcStateSummaryPreviewSectionSchema,Fx as NcSystemEventConditionSchema,Hx as NcSystemEventDeliveryModeSchema,Ux as NcSystemEventDeliverySchema,Ex as NcSystemEventKindSchema,sx as NcTaxonomyEntrySchema,cx as NcTaxonomySchema,kS as NcTemplateFamilySchema,AS as NcTemplateFieldSchema,PS as NcTemplatePreviewInputSchema,FS as NcTemplatePreviewSchema,NS as NcTemplateVarContextSchema,MS as NcTemplateVarDescriptorSchema,jS as NcTemplateVarGroupSchema,OS as NcTemplateVarKindSchema,ES as NcTestResultSchema,uS as NcThrottleGranularitySchema,dS as NcThrottleSchema,Xx as NcZoneConditionSchema,Sb as NetworkAccessStatusSchema,Mz as NetworkAddressSchema,xb as NetworkEndpointSchema,tF as NetworkLinkStatusSchema,TF as NodeDirectoryEntrySchema,EF as NodeDirectorySchema,Ob as NotificationActionIconSchema,kb as NotificationActionSchema,Db as NotificationFormatSchema,Ab as NotificationSchema,jF as NotifierStatusSchema,FF as NumericSensorStatusSchema,XH as OPERATOR_WRITTEN_STALE_MS,Ws as OPS_LOG_DEFAULT_LIMIT,Us as OPS_LOG_RING_DEFAULT_MAX,tu as OVERFLOW_REASON,xu as OVERLAY_LAYERS,_e as OWNER_ONLY_EVENT_CATEGORIES,SC as OauthIntegrationDescriptorSchema,Vw as ObjectEventSchema,hD as OccupancyBurstRefusalSchema,rO as OccupancyLookAnswerSchema,tO as OccupancyLookRefusalSchema,nO as OccupancyLookRequestSchema,lR as OnboardFieldSupportSchema,aR as OnboardRecordTrackSchema,uR as OnboardScheduleSupportSchema,iR as OnboardStorageSchema,rR as OnboardStorageVolumeSchema,Rs as OpsLogDomainSchema,Vs as OpsLogEntrySchema,zs as OpsLogOpSchema,Hs as OpsLogQueryInputSchema,Bs as OpsLogReasonSchema,OE as OrchestratorMetricsSchema,LF as OsdOverlayKindEnum,VF as OsdOverlayPatchSchema,zF as OsdOverlaySchema,RF as OsdPositionEnum,KF as OsdRenderOutcomeEnum,qF as OsdRenderResultSchema,WF as OsdSlotBindingSchema,GF as OsdSlotViewSchema,YF as OsdSourceOptionSchema,UF as OsdSourceSchema,JF as OsdSourceValueTypeEnum,BF as OsdStatusSchema,rt as PEER_BYTES_CHUNK_BYTES,tt as PEER_BYTES_MAX_OUTSTANDING,nt as PEER_BYTES_STALL_MS,et as PEER_BYTES_TICKET_TTL_MS,yh as PENDING_BLOCK_ID,QF as PET_FEEDER_MANUAL_FEED_MAX,ZF as PET_FEEDER_MANUAL_FEED_MIN,Ro as PIPELINE_ANALYTICS_CAP_NAME,QB as PIPELINE_FLOW_CAPABILITY_NAMES,$B as PIPELINE_OWNER_CAPABILITY_NAMES,Lo as PRIVACY_MASK_CAP_NAME,kU as PROVIDER_KIND_CAP_NAMES,Wt as PROVIDER_PIN_FIELD,tY as PYTHON_SCRIPT,_j as PackageUpdateSchema,vj as PackageVersionInfoSchema,RE as ParkRefusalSchema,zE as ParkTrackFrameResultSchema,LE as ParkedFrameKindSchema,BE as ParkedTrackFrameSchema,My as PasskeyLoginMethodSchema,hk as PasskeySummarySchema,Tf as PcmSampleFormatSchema,it as PeerBytesTicketSchema,VB as PerScopeBreakdownSchema,tI as PetFeederStatusSchema,Bp as PickStreamPreferencesSchema,zp as PickStreamRequirementsSchema,Vp as PickedCamStreamSchema,wD as PipelineAssignmentSchema,eE as PipelineDefaultStepSchema,Y as PipelineEngineChoiceSchema,EE as PipelineRunResultBridge,lE as PipelineStepInputSchema,dE as PipelineValidationIssueSchema,fE as PipelineValidationResultSchema,Op as PlaceholderReasonSchema,ME as PolygonPointSchema,WJ as PoolMemoryWatchdog,TI as PowerMeterStatusSchema,OI as PresenceStatusSchema,AI as PressureSensorStatusSchema,FI as PrivacyMaskOptionsSchema,II as PrivacyMaskPatchSchema,NI as PrivacyMaskRegionSchema,MI as PrivacyMaskShapeSchema,PI as PrivacyMaskStatusSchema,kt as ProfileRtspEntrySchema,dt as ProfileSlotSchema,ut as ProfileSlotStatusSchema,A_ as ProviderStatusSchema,ZI as PtzAutotrackRuntimeStateSchema,JI as PtzAutotrackSettingsSchema,XI as PtzAutotrackStatusSchema,YI as PtzAutotrackTargetOptionSchema,GI as PtzHomePresetSchema,KI as PtzHomeReturnSchema,HI as PtzMoveCommandSchema,WI as PtzOptionsSchema,VI as PtzPositionSchema,zI as PtzPresetFunctionSchema,BI as PtzPresetSchema,UI as PtzStatusSchema,G as QueryFilterSchema,Ha as RATE_CONTROL_RELAXED,Va as RATE_CONTROL_TIGHT,WH as REACHABILITY_FAILURES_TO_OFFLINE,UH as REACHABILITY_POLL_INTERVAL_MS,GH as REACHABILITY_PROBE_TIMEOUT_MS,dl as RECOGNITION_TYPES,rc as RECORDING_AUDIO_TRIGGER_OFFERED_DBFS,JL as RECORDING_EXPORT_MAX_READ_BYTES,eL as RECORDING_SOURCE_CAMSTACK,tL as RECORDING_SOURCE_CAMSTACK_ADDON,pL as RECORDING_TIMELINE_BATCH_MAX,Go as REDACTED_SECRET,Yr as RESERVED_BINDING_NAMES,LR as RESERVED_COLLECTION_SOURCES,FU as RESTORED_CAP_NAMES,xV as ROOM_EXAMPLE_MOTION_SOURCES,bV as ROOM_EXAMPLE_TEMPERATURE_SOURCES,yV as ROOM_OCCUPANCY_WINDOW_MS,ou as ROOT_BUCKET_KEY,RV as RUNTIME_DEFAULTS,jU as RUNTIME_STATE_POLICY,YH as RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS,eY as RUNTIME_TO_FORMAT,mn as RawStateResultSchema,AL as ReadGopBytesResultSchema,kL as ReadSegmentBytesResultSchema,jL as ReadWindowBytesResultSchema,Ft as ReadinessRegistry,At as ReadinessTimeoutError,IT as RebuildObjectEmbeddingsRefusalSchema,pT as RecentTracksPageSchema,fT as RecentTracksQueryInput,tR as RecordTriggerSchema,nR as RecordWindowSchema,mL as RecordingAvailabilityForDeviceSchema,iL as RecordingAvailabilitySchema,sc as RecordingBandAudioSchema,ac as RecordingBandModeSchema,cc as RecordingBandSchema,oc as RecordingBandTriggersSchema,pc as RecordingConfigSchema,hL as RecordingDaysForDeviceSchema,aL as RecordingDaysSchema,gL as RecordingDeviceUsageSchema,_L as RecordingLocationUsageSchema,oL as RecordingManifestSchema,ec as RecordingObjectTriggerClassSchema,dR as RecordingOnboardOptionsSchema,fR as RecordingOnboardPatchSchema,oR as RecordingOnboardStatusSchema,uL as RecordingPlaybackSchema,nL as RecordingRangeSchema,rL as RecordingReadSchema,CL as RecordingRebalanceInputSchema,yL as RecordingRebalanceMoveSchema,SL as RecordingRebalancePlanSchema,bL as RecordingRebalanceSkipReasonSchema,xL as RecordingRebalanceSkipSchema,fc as RecordingRetentionSchema,FR as RecordingSignalRuntimeStateSchema,PR as RecordingSignalStatusSchema,sL as RecordingSourceAvailabilitySchema,lL as RecordingSourceOptionsSchema,cL as RecordingSourceSchema,fL as RecordingStatusSchema,$s as RecordingStorageModeSchema,vL as RecordingStorageUsageSchema,ic as RecordingTriggersSchema,Zs as RecordingWeekdaySchema,Ay as RedirectLoginMethodSchema,al as RelocatableMediaCountInputSchema,il as RelocatableMediaCountSchema,Tc as RelocateFootageClassSchema,Ec as RelocateFootageInputSchema,wc as RelocateJobSchema,Cc as RelocateJobStateSchema,kc as RelocateMediaInputSchema,Xc as RelocateResidueInputSchema,Zc as RelocateResidueSchema,Lb as RenderedAsSchema,aD as ReportMotionInputSchema,nB as ReportedFailureContributionSchema,tB as ReportedLoadContributionSchema,zz as RequestCensusGroupSchema,Bz as RequestCensusProcedureSchema,Vz as RequestCensusSnapshotSchema,Hz as RequestCensusStatusSchema,Qw as RetrainAnnotationDraftSchema,Jw as RetrainAnnotationKindSchema,Zw as RetrainAnnotationSchema,Yw as RetrainAnnotationSourceSchema,oT as RetrainAssistResultSchema,aT as RetrainAssistSubjectSchema,nT as RetrainCopyRefusalSchema,eT as RetrainFrameCandidateSchema,iT as RetrainFrameListSchema,tT as RetrainFrameSchema,rT as RetrainFrameSelectionSchema,qw as RetrainMacroClassSchema,Cw as RetrainStatusSchema,$w as RetrainTrackSchema,sT as RetrainTransitionResultSchema,JJ as RingBuffer,Mp as RtpSourceSchema,bp as RtspRestreamEntrySchema,lD as RunnerCameraConfigSchema,uD as RunnerCameraDeviceUIFields,oD as RunnerFrameSourceSchema,cD as RunnerInferenceDeviceSchema,sD as RunnerJumpStepProvisioningSchema,dD as RunnerLocalLoadSchema,mD as RunnerLocalMetricsSchema,BR as SCENE_CONDITIONS,ez as SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX,$R as SCENE_CONFIRM_DEFAULT_TIMEOUT_MS,ZR as SCENE_DEFAULT_ANCHOR_THRESHOLD,XR as SCENE_DEFAULT_CHECK_INTERVAL_SEC,YR as SCENE_DEFAULT_OBSERVATION_SPACING_SEC,JR as SCENE_DEFAULT_QUIET_SECONDS,QR as SCENE_DEFAULT_UNCOVERED_POLICY,HR as SCENE_DIVERGED,tz as SCENE_RESET_RECAPTURES,IU as SCOPE_PRESETS,yH as SENSOR_FEATURES,xH as SENSOR_MAP,$e as SHARE_VIEW_KINDS,xr as SOURCE_CAPS,yr as SOURCE_CAP_ACTIVE_FIELD,br as SOURCE_CAP_CHANGED_AT_FIELD,Sr as SOURCE_DEVICE_TYPES,Kg as SOURCE_INFO_METADATA_KEY,KK as STATE_LABELS,GK as STATE_LABEL_KEYS,Cu as STATIONARY_OVERLAY_STYLE,Pl as STORAGE_ACCESS_FALLBACK,Al as STORAGE_BYTES_PER_GB,fl as STORAGE_LOCATION_MODES,wz as STREAM_PROFILE_META,Ts as STREAM_QUALITY_LABELS,ul as SUB_DETECTION_TYPES,TU as SYSTEM_CAP_NAMES,DU as SYSTEM_SCOPE_DEVICE_METHODS,qR as SceneCheckSchema,zR as SceneConditionSchema,nz as SceneConfirmSchema,rz as SceneMonitorSchema,KR as SceneMonitorStateSchema,az as SceneMonitorStatusForDeviceSchema,iz as SceneMonitorStatusSchema,GR as SceneReferenceSchema,WR as SceneUnavailableSchema,VR as SceneUncoveredPolicySchema,UR as SceneVerdictSchema,xC as ScopedTokenSchema,xB as ScopedTokenSummarySchema,TT as ScoredObjectEventSchema,uz as ScriptRunnerStatusSchema,yj as SearchResultSchema,EO as SendEmailInputSchema,DO as SendEmailResultSchema,Rb as SendResultSchema,gw as SensorEventSchema,fO as ServerBootModeSchema,bO as ServerPackageStatusSchema,yO as ServerRollbackInfoSchema,CO as ServerUpdateActionResultSchema,xO as ServerUpdateCheckResultSchema,SO as ServerUpdateOutcomeSchema,pO as ServerUpdateStateSchema,eO as SetCameraSensorsInputSchema,iB as SetLoggingSettingsInputSchema,Iz as SetSiteLocationInputSchema,bs as SetTrackPurityInputSchema,xs as SetTrackPurityResultSchema,_s as SetTrackRelationInputSchema,Gd as SettingsPatchSchema,bg as SettingsRecordSchema,Wd as SettingsSchemaWithValuesSchema,Kd as SettingsUpdateResultSchema,kg as ShmRingStatsSchema,Pz as SiteLocationSchema,Nz as SiteLocationSourceSchema,Fz as SiteLocationStatusSchema,O_ as SiteZoneSchema,fz as SmokeStatusSchema,OO as SmtpStatusSchema,AO as SnapshotImageSchema,Hg as SourceInfoSchema,uf as SpatialDetectionSchema,NO as SsoBridgeClaimsSchema,_b as StartEmbeddedInputSchema,UB as StationaryObjectSchema,YO as StorageAbortUploadInputSchema,Nl as StorageAccessSchema,XO as StorageBeginDownloadInputSchema,ZO as StorageBeginDownloadResultSchema,GO as StorageBeginUploadInputSchema,KO as StorageBeginUploadResultSchema,sl as StorageCleanupInputSchema,cl as StorageCleanupJobSchema,ol as StorageCleanupPhaseSchema,ll as StorageCleanupStatusInputSchema,Ml as StorageDrainProgressSchema,$O as StorageEndDownloadInputSchema,ml as StorageEvictionPolicySchema,JO as StorageFinalizeUploadInputSchema,Fl as StorageLocationDeclarationSchema,pl as StorageLocationModeSchema,R as StorageLocationRefSchema,L as StorageLocationSchema,Dl as StorageLocationTypeSchema,Nc as StorageMigrationClassSchema,Pc as StorageMigrationDestinationsSchema,Yc as StorageMigrationDrainInputSchema,Uc as StorageMigrationFindingCodeSchema,Wc as StorageMigrationFindingSchema,Dc as StorageMigrationFootageMoveInputSchema,Lc as StorageMigrationInputSchema,Hc as StorageMigrationJobSchema,Kc as StorageMigrationLaneSchema,I as StorageMigrationLeaseInputSchema,Mc as StorageMigrationMediaMoveInputSchema,Ic as StorageMigrationModeSchema,Bc as StorageMigrationMoveProgressSchema,Vc as StorageMigrationMoveSchema,qc as StorageMigrationMoverSchema,zc as StorageMigrationParticipantSchema,Rc as StorageMigrationPhaseSchema,Gc as StorageMigrationPlanSchema,Jc as StorageMigrationResidueSchema,Fc as StorageMigrationSourcesSchema,VO as StorageOccupancyReportSchema,UO as StorageProviderInfoSchema,QO as StorageReadChunkInputSchema,WO as StorageTestLocationResultSchema,qO as StorageWriteChunkInputSchema,Rp as StreamCodecSchema,hp as StreamFormatSchema,oF as StreamNetworkStatsSchema,xz as StreamParamsOptionsSchema,yz as StreamParamsStatusSchema,vz as StreamProfileConfigSchema,bz as StreamProfileOptionsSchema,Sz as StreamProfilePatchSchema,_z as StreamProfileSchema,tk as StreamSignalSchema,nk as StreamSignalsStatusSchema,gt as StreamSourceEntrySchema,_t as StreamSourceSchema,Tt as SubscribeAudioChunksInputSchema,Et as SubscribeAudioChunksResultSchema,xt as SubscribeFramesInputSchema,St as SubscribeFramesResultSchema,Oz as SwitchStatusSchema,$y as SystemMetricsSchema,rU as SystemMirror,K as TAXONOMY_COLORS,rq as TIMELAPSE_DENSE_FLOOR_SEC,Bl as TIMEZONES,ds as TRACK_RELATIONS_DEFAULT_LIMIT,Wa as TRANSCODE_DOWN_MAX_BITRATE_KBPS,Ua as TRANSCODE_DOWN_MAX_HEIGHT,sB as TamperStatusSchema,kB as TankStatusSchema,Mb as TargetKindCapsSchema,jb as TargetKindLevelSchema,Pb as TargetKindSchema,Fb as TargetSchema,lB as TemperatureSensorStatusSchema,ck as TerminalInstanceInfoSchema,lk as TerminalLegacyCameraSchema,dk as TerminalOutputBatchSchema,uk as TerminalOutputEventSchema,sk as TerminalProfileInfoSchema,ok as TerminalSessionInfoSchema,IN as TestConnectionResultSchema,FN as TestConnectionStatusEnum,zb as TestResultSchema,lq as TimelapseRuleInputSchema,dq as TimelapseRulePatchSchema,fq as TimelapseRuleSchema,XK as TimelapseTemplateSchema,dB as ToastSchema,J as TokenScopeSchema,hF as TopologyNodeSchema,dF as TopologyProcessSchema,uF as TopologyServiceSchema,DT as TrackCascadeCountsSchema,yw as TrackEnvelopeSchema,Dw as TrackFlagsPatchSchema,Ow as TrackFlagsSchema,bw as TrackProjectionSchema,gs as TrackPuritySchema,ms as TrackPurityValueSchema,fs as TrackRelationKindSchema,ws as TrackRelationRefusalSchema,hs as TrackRelationSchema,Pw as TrackSchema,ps as TrackSideSchema,Sw as TrackSourceSchema,cw as TrackStateSchema,uw as TrackZoneFilterSchema,CT as TrackedDetectionSchema,Mw as TrainingExportDeviceTotalsSchema,Nw as TrainingExportSummarySchema,Rz as TransportPlaneCountsSchema,Lz as TransportPlaneSchema,pk as TurnServerSchema,au as UNATTRIBUTED_BUCKET_KEY,iV as UNIT_TABLE,Jf as UnifiedBrokerInfoSchema,aV as UnitConversionError,jc as UnstampedEventMediaCountSchema,Ac as UnstampedRowsSchema,RN as UpdateIntegrationInputSchema,pB as UpdateStatusSchema,_B as UpdateUserInputSchema,yC as UserRecordSchema,hB as UserSummarySchema,Ik as VECTOR_INDEX_DIM_CONFLICT,nA as VIDEOCLIPS_MAX_OFFER_BYTES,tA as VIDEOCLIPS_MAX_READ_BYTES,dc as VISIT_MERGE_GAP_MS,AB as VacuumControlStatusSchema,OB as VacuumStateSchema,MB as ValveStateSchema,NB as ValveStatusSchema,Sk as VectorDeclareIndexInputSchema,Ok as VectorDeleteByFilterInputSchema,Dk as VectorDeleteInputSchema,kk as VectorDeleteResultSchema,yk as VectorFilterSchema,Ak as VectorGetInputSchema,jk as VectorGetResultSchema,bk as VectorItemSchema,xk as VectorMatchSchema,vk as VectorMetadataSchema,_k as VectorMetricSchema,Tk as VectorQueryInputSchema,Ek as VectorQueryResultSchema,zk as VectorStatsInputSchema,Bk as VectorStatsResultSchema,Ck as VectorUpsertInputSchema,wk as VectorUpsertResultSchema,FB as VibrationStatusSchema,ka as VideoEncodeSchema,qA as WEBRTC_CLIMB_HOLD_CODES,za as WEBRTC_EGRESS_PROFILE,JA as WEBRTC_TRY_BLOCKERS,_R as WEEKLY_MASK_LENGTH,Oe as WELL_KNOWN_TABS,ke as WELL_KNOWN_TAB_MAP,LB as WaterHeaterStatusSchema,zB as WeatherStatusSchema,YA as WebrtcClimbHoldSchema,KA as WebrtcLadderDecisionSchema,ZA as WebrtcSessionDebugSchema,GA as WebrtcStreamChoiceSchema,WA as WebrtcStreamTargetSchema,XA as WebrtcTierFailureSchema,wN as WhiteBalanceModeSchema,Jd as WidgetHostEnum,jy as WidgetLoginMethodSchema,Zd as WidgetMetadataSchema,Xd as WidgetRemoteSchema,Yd as WidgetSizeEnum,Y_ as WrapperActivationReadSchema,_O as WrapperEvidenceSchema,vO as WrapperIdentitySchema,gO as WrapperKindSchema,qb as YAMNET_TO_MACRO,Rw as ZoneCrossingDirectionSchema,zw as ZoneCrossingSchema,jE as ZoneKindEnum,sz as ZoneRuleModeEnum,cz as ZoneRuleSchema,XB as ZoneRuleStageEnum,lz as ZoneRulesArraySchema,NE as ZoneSchema,HB as ZoneScopeBreakdownSchema,Xl as __resetLogChannelRegistryForTests,ej as accessoriesCapability,BV as accessoryStableId,Fd as addonPagesCapability,Ld as addonPagesSourceCapability,Vd as addonRoutesCapability,qd as addonSettingsCapability,ef as addonWidgetsCapability,Qd as addonWidgetsSourceCapability,Mj as addonsCapability,nn as adminUiCapability,Pj as airQualitySensorCapability,hx as alarmPanelCapability,of as alertsCapability,Ij as ambientLightSensorCapability,An as asBoolean,Dn as asJsonArray,En as asJsonObject,kn as asNumber,On as asString,pq as assertTimelapseCadences,sf as audioAnalysisCapability,wf as audioAnalyzerCapability,Se as audioChunkBytesPerSample,Mf as audioCodecCapability,lW as audioIsFailClosed,GU as audioKindId,pW as audioLabelChoices,Vj as audioMetricsCapability,cW as audioModeOf,sW as audioOrDefaults,sr as audioPlanFromEncodeProfile,HU as audioScaleEraOf,Pf as authProviderCapability,Ps as autoAssignProfiles,Uj as automationControlCapability,Kf as backupCapability,xJ as bareAddonId,Gj as batteryCapability,yJ as bestLocationMatch,qj as binaryCapability,dY as bindAddonActions,Yj as brightnessCapability,pp as brokerCapability,Ta as buildAddonRouteProvider,Yn as buildAudioArgs,gh as buildCapabilityLookup,Bg as buildDeviceAdminUrl,jV as buildDoorbellCompositionFeature,dO as buildEventKindDescriptor,ir as buildFfmpegArgs,Un as buildInputArgs,Fu as buildModelVariantGroups,ux as buildNcTaxonomy,eJ as buildRoleScopes,Ez as buildStreamParamsConfigSchema,Jn as buildVideoArgs,Vh as builtCapabilityBlockers,Xj as buttonCapability,$j as cameraCredentialsCapability,aM as cameraGridLayoutCapability,mp as cameraPipelineConfigCapability,AC as cameraSensorRefKey,Hp as cameraStreamsCapability,fV as canConvertUnit,oo as canonicalEgressPlan,sM as carbonMonoxideCapability,qJ as cellsToRects,cd as classifyBearerPrincipal,ks as classifyStream,Os as classifyStreams,uM as climateControlCapability,GL as clipExportFailure,KL as clipExportFailureOf,Jk as clipReasonHeaderValue,wi as cloneStatefulExpressionMemory,VC as clusterModelSettingKey,nw as clusterStepSettingFieldsFor,tw as clusterStepSettingKey,Fa as codecIsAccepted,je as collectHydratedFieldEntries,Ne as collectHydratedFieldValues,qo as collectSecretConfigKeys,hM as colorCapability,ax as colorForKind,VJ as commitWatchdogRestart,Na as compareToTarget,di as compileExpression,fi as compileExpressionSafe,Wo as composeSwitchedOff,sa as composedDeviceRef,oa as composedDeviceStableId,mg as composerCapability,dh as compositionEdges,$i as compositionFeatureEnabled,wm as compositionFieldKey,la as compositionItemFieldPath,aa as compositionReadKey,ia as compositionSliceKey,P as compositionSourceKey,Oh as compositionSourceRefs,wd as conditionDepth,wG as conditionExclusionReason,CG as conditionVisibleForKind,bM as connectionTestCapability,SM as connectivityCapability,Ix as consumableLowPercentOf,DM as consumablesCapability,kM as contactCapability,NM as controlCapability,uV as convertUnit,Gh as coreBlockAddonId,$h as coreBlockComposition,Kh as coreBlockIdFromAddonId,Qh as coreBlockSourceKind,sg as coreBlocksCapability,TJ as cosineSimilarity,Td as countConditionLeaves,IM as coverCapability,rV as createDeviceExtensionProvider,xn as createDeviceProxy,Ve as createDurableState,ze as createEvent,vn as createEventBusSliceSource,mi as createExpressionScope,Ya as createHwAccelCache,_n as createLazyTrpcSource,Ql as createLogChannelsProvider,yn as createMirrorSource,ZH as createRuntimeStateBridge,T as createSliceHandle,Ci as createStatefulExpressionMemory,LU as createSystemProxy,an as customAction,gg as customModelRegistryCapability,Eg as dataStoreProviderCapability,HM as dayNightCapability,MR as dayOfWeekToIndex,dH as declarationOwnerNodeId,Yl as declareLogChannel,oY as decodeVectorBase64,Ag as decoderCapability,IG as defaultDeliveryForSection,yY as defaultDeviceFor,rn as defineCustomActions,tV as defineExtensionSlotProvider,eH as deriveBatteryPresence,Ho as deriveCameraSwitches,Dq as deriveDetailCropRect,mc as deriveRecordingMode,Hh as describeComposableCaps,sn as describeCustomActions,Lu as describeModelVariant,NR as describeOnboardClamp,yR as describeOnboardRefusal,sm as describeStateField,NK as describeSystemEventDeliveryProblem,iG as describeSystemEventFamilyProblem,cm as describeTopLevelStateFields,nJ as detectAccessRole,jg as detectionPipelineCapability,Pg as deviceAdminLinkCapability,u_ as deviceAdoptionCapability,$J as deviceBackendToFormat,on as deviceCustomAction,Zg as deviceDiscoveryCapability,y_ as deviceExportCapability,HA as deviceExtensionCapability,ov as deviceManagerCapability,wH as deviceMatchesProfile,hn as deviceOpsCapability,I_ as deviceProviderCapability,iJ as deviceSelectorMatches,dv as deviceStateCapability,WM as deviceStatusCapability,PH as displayIconEntry,FH as displayIconsInGroup,bA as doorbellCapability,AV as doorbellFeatureSources,TG as droppedConditionsForKind,so as egressTranscodeSharingKey,no as egressTransportFromRequest,kv as embeddingEncoderCapability,Sv as embeddingModelFailedError,Ov as embeddingModelFailedOf,Ev as embeddingRefusalOf,wv as embeddingRequirementsFailedError,Cv as embeddingRequirementsUnavailableError,Lt as emitDownForOwnedCaps,Be as emitReadiness,Up as emitsCollectionSelector,Ma as encodeProfileFromStreamShape,aY as encodeVectorBase64,qM as enumSensorCapability,wY as enumerateInferenceDevices,am as enumerateItemArrayFields,im as enumerateSchemaFields,Ln as errMsg,Si as evaluateAst,vV as evaluateCompositionField,Lr as evaluateCount,ki as evaluateExpressionSource,BJ as evaluatePoolMemory,Ir as evaluateRose,Or as evaluateSensorEdge,Dr as evaluateSensorLevelEdge,Ti as evaluateStatefulExpressionCall,cY as evaluateZoneRules,Qt as event,XM as eventEmitterCapability,vl as evictionPolicyForMode,wl as evictionPolicyOfLocation,Ce as expandAudioChunkToF32le,Yt as expandCapMethods,cH as expandContainer,$L as exportSubjectOf,Gm as expressionContainsBuiltinCall,nV as extensionSlotRef,Yp as extractNestedAddonId,qg as extractSourceInfoFromMetadata,sN as faceGalleryCapability,Mv as failureContributionCapability,iu as failureRate,uN as fanControlCapability,ua as featureFieldEntries,fN as featureProbeCapability,da as featureSources,OV as feederCustomizationExample,DV as feederExampleSources,Qa as ffmpegRate,ca as fieldReads,Fv as filesystemBrowseCapability,hh as findCandidateCycles,fh as findCompositionCycles,Vl as findTimezone,mN as floodCapability,lu as foldSnapshotByFunction,nY as formatForRuntime,va as formatMediaOwnerKey,TR as formatMinutes,wu as formatParkedFor,gN as gasCapability,jl as gbToBytes,Md as generateAutomationBlock,Zb as getAudioMacroClassIds,VH as getByPath,AU as getCapsByProviderKind,Jl as getLogChannelRegistry,ix as getTaxonomyEntry,$a as gifDeriveSpeed,eo as gifFilterComplex,to as gifFromMp4Args,vH as hasMotionTrigger,OJ as hfModelUrl,MW as htmlToText,vN as humidifierCapability,bN as humiditySensorCapability,Fe as hydrateSchema,SN as imageCapability,jN as imageSettingsCapability,Km as inferExpressionKinds,Zu as inferModelProvider,FJ as initialPoolMemoryState,BN as integrationsCapability,WN as intercomCapability,WC as interpretStoredClusterModel,GC as invalidClusterStepModelEntries,cr as invocationFromEncodeProfile,vo as isAgentOnlyPlacement,Kp as isArrayOutputSchema,xe as isAudioChunkFormat,TW as isAudioClassName,mW as isAudioLabelSelected,kG as isAudioRule,kW as isBaseConditionKey,tH as isBatteryPresenceFault,HC as isClusterScopedStep,qp as isCollectionArrayMethod,_o as isDeployableToAgent,Wb as isDetectionMacroClass,$t as isDeviceConfigCap,Cn as isDeviceScopedCap,NH as isDisplayIconKey,Dv as isEmbeddingModelFailed,Re as isEvent,wa as isEventOwnerType,Js as isFirstLevelMacroClass,bK as isHeldBackTemplateVar,So as isIsolatedBuiltin,DK as isKnownTemplateVar,kl as isLocationEnabled,ga as isMediaOwnerType,SH as isNode,Gp as isObjectInput,AG as isOccupancyRule,ve as isOwnerOnlyEventCategory,PU as isRestoredCap,SJ as isSameAddonId,WG as isScheduleActive,Ko as isSecretConfigField,Hn as isSoftwareDecode,Cr as isSourceCap,JK as isStateLabelKey,kr as isStatefulBuiltin,xl as isStorageLocationMode,bG as isSystemDelivery,JW as isSystemEventFamily,AK as isSystemEventSummaryRule,oG as isSystemRuleKind,Rk as isVectorIndexDimConflict,Wp as isVoidInput,VU as ituDbfsFromPreEpoch,tj as jobKindSchema,tm as kebabToCamel,Im as kindOfValue,vG as kindsForDiscriminator,EW as knownValues,JN as lawnMowerControlCapability,lH as legacyAutoLinkIds,yl as legacyModeOf,cj as lifecycleJobSchema,sj as lifecycleJobScopeSchema,oj as lifecycleJobStateSchema,aj as lifecycleTaskSchema,yy as llmCapability,oy as llmRuntimeCapability,Cy as loadContributionCapability,sP as localNetworkCapability,w_ as locationIconKey,vJ as locationSimilarity,uP as lockControlCapability,Vn as logBannerArgs,Ty as logChannelsCapability,Oy as logDestinationCapability,Ls as logLevelAtMost,Py as loginMethodCapability,Jp as looseSchema,ft as makeProfileBrokerId,pt as makeSourceBrokerId,Xb as mapAudioLabelToMacro,IW as markdownToHtmlLite,AW as markdownToText,jJ as maskUrlCredentials,Cl as mayReadLocation,Sl as mayWriteToLocation,hP as mediaPlayerCapability,co as memoizePinnedFfmpeg,Wg as mergeSourceInfo,yP as meshNetworkCapability,w as method,ad as methodAccessForHttpMethod,eb as metricsProviderCapability,Sc as migrateLegacyDeviceSignalConfig,jR as minutesToTimeOfDay,_l as modeMayRead,gl as modeMayWrite,nb as modelConvertCapability,ab as modelDistributorCapability,bY as modelFormatForRuntime,CP as motionCapability,cb as motionDetectionCapability,nD as motionSourceLabel,EP as motionTriggerCapability,jP as motionZonesCapability,bb as mqttBrokerCapability,zP as nativeObjectDetectionCapability,$P as navigationCapability,wb as networkAccessCapability,aF as networkLinkCapability,lF as networkQualityCapability,zK as nodePickerItems,zt as nodePin,DF as nodesCapability,Xe as normalizeAddonInitResult,WU as normalizeAudioLabel,He as normalizeNodeId,uJ as normalizeTokenScopes,Gg as normalizeUnit,Bb as notificationOutputCapability,dC as notificationRulesCapability,PF as notifierCapability,IF as numericSensorCapability,CC as oauthIntegrationCapability,Xp as objectInputDeclaresAddonId,Zp as objectInputDeclaresRequiredDeviceId,WT as occupancyScope,um as optionalAncestors,Zt as optionalMethod,HF as osdCapability,XF as osdManagerCapability,sw as overlayClusterStepSettings,WK as packagePickerItems,Vg as parseAdminBase,Ns as parseCameraStreamConfig,ci as parseExpression,Mn as parseJsonArray,jn as parseJsonObject,Tn as parseJsonUnknown,_a as parseMediaOwnerKey,GT as parseOccupancyScope,PJ as parseProcStatus,mt as parseProfileBrokerId,OG as parseRuleSection,Dz as parseStreamParamsFormPatch,fW as patchAudio,nI as petFeederCapability,bH as pickAccessoryControl,JC as pickClusterStepModels,ow as pickClusterStepSettings,wq as pickDetailCropConvention,YC as pickInvalidClusterStepModels,Zq as pickNativeLeaseOverride,hu as pickPreferredRtspEntry,UJ as pickRestartCandidate,or as pickVideoEncoder,SW as pickerForCondition,wW as pickerForRuleClasses,qT as pipelineAnalyticsCapability,DE as pipelineExecutorCapability,iO as pipelineOrchestratorCapability,gD as pipelineRunnerCapability,Dh as planComposition,gm as planCompositionEvents,ah as planItems,cI as plateGalleryCapability,wI as platformProbeCapability,RJ as poolMemoryThreshold,EI as powerMeterCapability,UW as prepareNotification,kI as presenceCapability,jI as pressureSensorCapability,ld as principalMayReachAddon,LI as privacyMaskCapability,em as procedureAuthKey,QI as ptzAutotrackCapability,qI as ptzCapability,ye as publicEventCategories,rY as pythonScriptForBackend,La as rankStreams,KC as readClusterStepModels,iw as readClusterStepSettings,Sq as readDetailCropConvention,NV as readDeviceStateFrom,EC as readMotionTriggeredBy,Jq as readNativeLeaseOverride,Vt as readNodePin,mq as readTimelapseGeneratedAt,jt as readinessKey,$I as rebootCapability,ML as recordingArchiveCapability,dL as recordingCapability,eR as recordingExportCapability,pR as recordingOnboardCapability,IR as recordingSignalCapability,KJ as rectsToCells,mu as reducePoints,Ah as replacedFieldKeys,lm as requiredTopLevelKeys,iY as requiresPython,RR as reservedSourceOwner,HJ as resetPoolBaseline,go as resolveAddonExecution,yo as resolveAddonGroup,xo as resolveAddonPlacement,pu as resolveBucketMs,Ut as resolveCapMount,Uu as resolveClipSearchMinScore,QC as resolveClusterStepModelId,sH as resolveContainerPrimaryChild,QL as resolveCreateExportSubject,gH as resolveDeviceControlKind,DH as resolveDeviceProfile,Za as resolveEgressDecodeHwAccel,XL as resolveExportProfiles,RW as resolveFormat,Pe as resolveHydratedFieldValue,T_ as resolveLocationIcon,bl as resolveLocationMode,$p as resolveMethodAuth,CH as resolveMutate,NJ as resolvePoolMemoryPolicy,gc as resolveRecordingProfiles,bo as resolveRunnerId,Wn as resolveStreamMaps,Iu as resolveVariantModelId,lJ as resolveViewableDeviceIds,$q as roleSpec,wV as roomCompositionExample,YG as ruleBelongsToAlarm,zG as ruleEditorSectionsForKind,xG as ruleKindOf,_G as ruleKindSpec,jG as ruleMatchesSection,DG as ruleSection,MG as ruleSectionOf,FG as ruleSeedForSection,YJ as runInferenceStep,vY as runtimeDevices,MU as runtimeStatePolicyFor,oz as sceneMonitorCapability,FK as scheduleForSendTimes,Jo as schemaDeclaresAnyField,sJ as scopeInherits,Mt as scopeKey,sd as scopesAllowAddon,od as scopesAllowDeviceCap,xY as scoreRuntimes,dz as scriptRunnerCapability,zH as searchDisplayIcons,ht as selectAssignedProfileSlots,IK as sendTimesOfSchedule,nK as sensorRaisedOf,ZG as sensorTransitionNeverFires,rK as sensorTransitionOffered,yK as servedTemplateVars,wO as serverManagementCapability,HH as setByPath,wg as settingsStoreCapability,rF as signalPercentFromBars,iF as signalPercentFromRssi,k_ as siteZoneKey,Nn as sleep,Pn as sleepCancellable,wr as sliceActiveValue,Tr as sliceChangedAt,pz as smokeCapability,kO as smtpProviderCapability,MO as snapshotCapability,PO as ssoBridgeCapability,qH as startReachabilityPoll,YK as stateLabel,PV as stateVocabularyFor,gq as stepModelRunsOnFormat,IO as storageCapability,zO as storageEvictableCapability,BO as storageMigrationCapability,HO as storageOccupancyCapability,ek as storageProviderCapability,Lp as streamBrokerCapability,gz as streamCatalogCapability,Cz as streamParamsCapability,Ds as streamPixels,Es as streamQualityLabel,rk as streamSignalsCapability,uc as stripRetiredBandPreBufferSec,Tl as strippedOfLegacyReadOnly,ox as subKindsOf,RI as summarisePrivacyAudio,hJ as summarizeEffectiveScope,_Y as supportedRuntimes,kz as switchCapability,Uo as switchedOffIds,Ug as synthesizeSourceInfo,oB as systemCapability,MK as systemEventDeliveryProblems,nG as systemEventFamilyOf,rG as systemEventFamilyProblems,GW as systemEventFilterApplies,KW as systemEventFilterAppliesToAnyKind,tG as systemEventKindNamesOf,eG as systemEventKindsOfFamily,kK as systemEventSummaryScheduleOf,sG as systemFamilyOfKind,SG as systemRuleKindOf,cB as tamperCapability,ij as taskLogEntrySchema,nj as taskPhaseSchema,rj as taskTargetSchema,uB as temperatureSensorCapability,RK as templateCarriesSummary,xK as templateVarDeliveryApplies,wK as templateVarKindApplies,TK as templateVarSystemEventApplies,EK as templateVarsFor,fk as terminalSessionCapability,FW as textToHtml,AR as timeOfDayToMinutes,ZV as toDeviceSummary,Di as toExpressionValue,Bt as toNodeId,As as toStreamSourceEntry,fB as toastCapability,hW as toggleAudioLabel,ti as tokenize,zW as transcodeBody,dV as tryConvertUnit,mk as turnProviderCapability,sV as unitDimension,pV as unitsForDimension,IA as unreachableExtensionSlotRow,nm as unwrapSchema,mB as updateCapability,DB as userManagementCapability,gk as userPasskeysCapability,jB as vacuumControlCapability,Lh as validateComposition,Oi as validateExpressionSource,Dd as validateRecipeBounds,PB as valveCapability,sY as vectorDimFromBase64,Lk as vectorIndexDimConflictError,Vk as vectorStoreCapability,IB as vibrationCapability,mA as videoclipsCapability,dn as viewerUiCapability,RB as waterHeaterCapability,BB as weatherCapability,UA as webrtcClientHintsSchema,QA as webrtcSessionCapability,ER as weeklyMaskIndex,DR as weeklyMaskIsUniform,OR as weeklyMaskToWindows,kR as windowsToWeeklyMask,fo as wiringAddonHealthSchema,mo as wiringHealthSnapshotSchema,po as wiringNodeHealthSchema,lo as wiringProbeKindSchema,uo as wiringProbeResultSchema,El as withLocationMode,lU as zodEntriesToConfigUI,YB as zoneAnalyticsCapability,ZB as zoneRulesCapability,PE as zonesCapability};
349
+ `).trim()}var NW=[[/&/g,`&amp;`],[/</g,`&lt;`],[/>/g,`&gt;`],[/"/g,`&quot;`],[/'/g,`&#39;`]];function PW(e){let t=e;for(let[e,n]of NW)t=t.replace(e,n);return t}function FW(e){return PW(e).replace(/\n/g,`<br>`)}function IW(e){return PW(e).replace(/(\*\*|__)(.*?)\1/g,`<b>$2</b>`).replace(/(\*|_)(.*?)\1/g,`<i>$2</i>`).replace(/`([^`]*)`/g,`<code>$1</code>`).replace(/\[([^\]]*)\]\(([^)]*)\)/g,`<a href="$2">$1</a>`).replace(/\n/g,`<br>`)}var LW={text:[`text`,`markdown`,`html`],markdown:[`markdown`,`html`,`text`],html:[`html`,`text`,`markdown`]};function RW(e,t){for(let n of LW[e]??LW.text)if(t.includes(n))return n;return t[0]??`text`}function zW(e,t,n){if(t===n)return e;if(n===`text`){if(t===`markdown`)return AW(e);if(t===`html`)return MW(e)}if(n===`html`){if(t===`text`)return FW(e);if(t===`markdown`)return IW(e)}if(n===`markdown`){if(t===`text`)return e;if(t===`html`)return MW(e)}return e}function BW(e){return{id:e.id,ordinal:e.ordinal,...e.flags?{flags:e.flags}:{},...e.requires?{requires:e.requires}:{}}}function VW(e,t){if(e.length===0)return null;if(t.level!==void 0){let n=e.find(e=>e.id===t.level);if(n)return BW(n)}let n=e.filter(e=>e.ordinal!==null);if(n.length===0)return BW(e[0]);let r=t.priority;return BW([...n].sort((e,t)=>{let n=Math.abs((e.ordinal??0)-r),i=Math.abs((t.ordinal??0)-r);return n===i?(t.ordinal??0)-(e.ordinal??0):n-i})[0])}function HW(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return[e];let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function UW(e,t){let n=[],r=t.format,i=RW(r,e.format);i!==r&&n.push(`format`);let a=zW(t.body,r,i),o=VW(e.levels,t),s=t.attachments??[],c=[];for(let t of s){if(!e.attachments.mediaTypes.includes(t.mediaType)){n.push(`attachment:${t.mediaType}`);continue}if(e.attachments.mode===`url`&&t.url===void 0){n.push(`attachment:noUrl`);continue}if(t.bytes!==void 0&&e.attachments.maxBytes!==void 0&&t.bytes.length>e.attachments.maxBytes){n.push(`attachment:maxBytes`);continue}if(c.length>=e.attachments.max){n.push(`attachment:max`);continue}let r=e.attachments.mode===`bytes`&&t.bytes===void 0&&t.url!==void 0;c.push({mediaType:t.mediaType,...t.url===void 0?{}:{url:t.url},...t.bytes===void 0?{}:{bytes:t.bytes},...t.mime===void 0?{}:{mime:t.mime},...t.name===void 0?{}:{name:t.name},needsFetch:r})}let l=t.actions??[],u=l.slice(0,Math.max(0,e.actions));l.length>u.length&&n.push(`actions`);let d=e.actionIcons===!0;!d&&u.some(e=>e.icon!==void 0)&&n.push(`actionIcons`);let f=d?u:u.map(({icon:e,...t})=>t),p=null;t.clickUrl!==void 0&&(e.clickUrl?p=t.clickUrl:n.push(`clickUrl`));let m=null;t.sound!==void 0&&(e.sound?m=t.sound:n.push(`sound`));let ee=null;t.ttl!==void 0&&(e.ttl?ee=t.ttl:n.push(`ttl`));let h=t.tag??null,te=HW(a,e.bodyMaxLen),ne=te.length>1,re={level:o?.id??``,format:i,attachmentsSent:c.length,actionsSent:f.length,truncated:ne,dropped:n};return{body:te[0]??``,...t.title===void 0?{}:{title:t.title},format:i,level:o,attachments:c,actions:f,clickUrl:p,sound:m,ttl:ee,tag:h,bodyParts:te,renderedAs:re}}var WW=[`deviceIds`,`deviceTypes`,`nodeIds`,`packageNames`,`consumableLowPercent`];function GW(e,t){switch(t){case`deviceIds`:return e.startsWith(`device-`)||e.startsWith(`stream-`)||e===`detection-blind`||e===`alarm-triggered`;case`deviceTypes`:return e.startsWith(`device-`)||e===`detection-blind`;case`nodeIds`:return e.startsWith(`node-`)||e===`addon-crash-loop`||e===`addon-update-available`||e===`addon-updated`||e===`server-update-available`||e===`wrapper-update-available`||e===`server-updated`;case`packageNames`:return e.endsWith(`update-available`)||e===`addon-updated`||e===`server-updated`;case`consumableLowPercent`:return jx.includes(e)}}function KW(e,t){return e.some(e=>GW(e,t))}var qW=[`device-events`,`system`,`alarm`];function JW(e){return qW.some(t=>t===e)}var YW={"device-online":`device-events`,"device-offline":`device-events`,"device-disabled":`device-events`,"device-enabled":`device-events`,"device-battery-low":`device-events`,"device-battery-normal":`device-events`,"device-consumable-low":`device-events`,"device-consumable-normal":`device-events`,"device-tank-low":`device-events`,"device-tank-full":`device-events`,"device-tank-normal":`device-events`,"stream-online":`device-events`,"stream-offline":`device-events`,"detection-blind":`device-events`,"node-online":`system`,"node-offline":`system`,"node-inference-unavailable":`system`,"addon-crash-loop":`system`,"addon-update-available":`system`,"addon-updated":`system`,"server-update-available":`system`,"server-updated":`system`,"wrapper-update-available":`system`,"backup-completed":`system`,"export-completed":`system`,"alarm-triggered":`alarm`,"alarm-armed":`alarm`,"alarm-disarmed":`alarm`,"alarm-arming":`alarm`,"alarm-arm-refused":`alarm`,"alarm-pending":`alarm`,"alarm-rearmed":`alarm`,"alarm-sensor-bypass":`alarm`,"alarm-check-failed":`alarm`,"camera-online":null,"camera-offline":null,"camera-disabled":null,"camera-enabled":null},XW=new Map(Object.entries(YW)),ZW=[...WW,`excludeDeviceIds`],QW={"device-events":[`deviceIds`,`excludeDeviceIds`,`deviceTypes`,`consumableLowPercent`],system:[`nodeIds`,`packageNames`],alarm:[`deviceIds`]},$W=[{id:`device-state`,family:`device-events`,label:`Device state`,kinds:[`device-offline`,`device-online`,`device-disabled`,`device-enabled`]},{id:`streams`,family:`device-events`,label:`Streams`,kinds:[`stream-offline`,`stream-online`]},{id:`battery`,family:`device-events`,label:`Battery`,kinds:[`device-battery-low`,`device-battery-normal`]},{id:`consumables`,family:`device-events`,label:`Consumables`,kinds:[`device-consumable-low`,`device-consumable-normal`]},{id:`tanks`,family:`device-events`,label:`Tanks`,kinds:[`device-tank-low`,`device-tank-full`,`device-tank-normal`]},{id:`detection-blind`,family:`device-events`,label:`Detecting nothing`,kinds:[`detection-blind`]},{id:`nodes`,family:`system`,label:`Nodes`,kinds:[`node-offline`,`node-online`,`node-inference-unavailable`]},{id:`addons`,family:`system`,label:`Addons`,kinds:[`addon-crash-loop`,`addon-update-available`,`addon-updated`]},{id:`updates`,family:`system`,label:`Server & container updates`,kinds:[`server-update-available`,`server-updated`,`wrapper-update-available`]},{id:`backups-exports`,family:`system`,label:`Backups & exports`,kinds:[`backup-completed`,`export-completed`]},{id:`alarm`,family:`alarm`,label:`Alarm`,kinds:kx}];function eG(e){return $W.filter(t=>t.family===e).flatMap(e=>e.kinds)}function tG(e){if(typeof e!=`object`||!e||!(`kinds`in e))return;let t=e.kinds;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}function nG(e){let t=new Set;for(let n of e){let e=XW.get(n);if(e==null)return{kind:`mixed`};t.add(e)}let[n]=[...t];return t.size===1&&n!==void 0?{kind:`family`,family:n}:{kind:`mixed`}}function rG(e){if(e===void 0||e.kinds.length===0)return[{code:`no-kinds`}];let t=[],n=new Set;for(let r of e.kinds){let e=YW[r];e===null?t.push({code:`legacy-kind`,kind:r}):n.add(e)}let r=qW.filter(e=>n.has(e));r.length>1&&t.push({code:`mixed-families`,families:r});let[i]=r;if(r.length!==1||i===void 0)return t;let a=QW[i];for(let n of ZW)e[n]!==void 0&&!a.includes(n)&&t.push({code:`filter-outside-family`,filter:n,family:i});return t}function iG(e){switch(e.code){case`no-kinds`:return`a system-event rule needs at least one event kind`;case`legacy-kind`:return`'${e.kind}' is a legacy kind and cannot be authored`;case`mixed-families`:return`event kinds span ${e.families.join(` + `)} — one rule per family`;case`filter-outside-family`:return`filter '${e.filter}' is not allowed on a ${e.family} rule`}}var aG=[`device-events`,`system`,`alarm`,`mixed`];function oG(e){return aG.some(t=>t===e)}function sG(e){return JW(e)?e:void 0}var cG=`An occupancy edge is not a sensor event: it carries no sensor kind, so this condition can never match one.`,lG=`An occupancy edge carries no device event-type token — that comes from an event-emitter slice, which a count crossing has none of.`,uG=`An occupancy edge is a count crossing, not a sensor reading: it has no raise or clear, so this choice could never narrow it.`,dG=`An occupancy edge is always produced by the pipeline, so any other source can never match and “pipeline” narrows nothing.`,fG=`A confirmed sound window is always stamped as an audio subject, so any other source can never match.`,pG=`A sound rule fires on what the camera HEARD. Its subject carries no detection, so this condition can never match one — name the sounds in the Sound condition instead.`,mG=`A sound window’s evidence is a percentage of samples, not a detector score, so a confidence threshold can never be satisfied.`,hG=`A sound has no position in the frame, so a zone or a drawn polygon can never match it.`,gG=[{kind:`detection`,label:`Conditions`,excluded:{audio:`A detection rule fires on what the camera SAW. Sounds are a Sound rule of their own — adding one here turned the rule into a sound rule and dropped every detection condition.`},editable:!0,carriesMedia:!0,carriesSubjectCrop:!0},{kind:`sensor`,label:`Conditions`,excluded:{},editable:!0,carriesMedia:!0,carriesSubjectCrop:!0,blurb:`A doorbell press or a linked sensor changing state. The picture comes from the camera the sensor is attributed to.`},{kind:`occupancy`,label:`Occupancy`,discriminator:`occupancy`,excluded:{sensorKinds:cG,eventTypeTokens:lG,sensorTransition:uG,source:dG},editable:!0,carriesMedia:!0,carriesSubjectCrop:!0,blurb:`Fires when the count in a camera frame or a zone crosses your threshold and holds. Pick the camera first — the zone list is that camera’s.`},{kind:`sound`,label:`Sound`,discriminator:`audio`,excluded:{classes:pG,classesExclude:pG,minConfidence:mG,zones:hG,zonesExclude:hG,customZones:hG,crossing:hG,labelEquals:pG,identities:pG,identitiesExclude:pG,plates:pG,source:fG},editable:!0,carriesMedia:!0,carriesSubjectCrop:!1,blurb:`Fires on a confirmed sampling window of audio, never on a picture. Name the sounds and/or keep a level threshold — with neither it can never match.`,mediaBlurb:`A sound owns no frame, so the picture is a photograph of the camera taken at the moment of the match — the whole scene, never a crop. The GIF and the clip are cut around the same instant, from the camera.`},{kind:`device-events`,label:`Device events`,discriminator:`systemEvent`,excluded:{},editable:!0,carriesMedia:!1,carriesSubjectCrop:!1,blurb:`A device or its stream going away or coming back, switched off or on, a battery or consumable running low, a camera detecting nothing. There is no frame to attach.`},{kind:`system`,label:`System events`,discriminator:`systemEvent`,excluded:{},editable:!0,carriesMedia:!1,carriesSubjectCrop:!1,blurb:`The installation itself: a node leaving, an addon crash-looping, an update available or installed, a backup or an export finishing.`},{kind:`alarm`,label:`Alarm`,discriminator:`systemEvent`,excluded:{},editable:!0,carriesMedia:!1,carriesSubjectCrop:!1,blurb:`The alarm panel: refused, arming, armed, entry delay, triggered, re-armed, sensor bypass, disarmed.`,mediaBlurb:`An alarm set off by a rule arrives with THAT rule's pictures, combined into one notification. This rule adds none of its own.`},{kind:`mixed`,label:`To recreate`,discriminator:`systemEvent`,excluded:{},editable:!1,carriesMedia:!1,carriesSubjectCrop:!1,blurb:`This rule mixes events from more than one family (device events, system, alarm). It keeps firing as it is, but it can no longer be edited: create one rule per family, then delete this one.`}];function _G(e){return gG.find(t=>t.kind===e)??gG[0]}function vG(e){return gG.filter(t=>t.discriminator===e).map(e=>e.kind)}var yG=`system-event`;function bG(e){return e===yG}function xG(e){switch(e){case`sensor`:return uO;case`detection`:case`occupancy`:return[`detection-pipeline`];case`sound`:return[`audio-metrics`];case`device-events`:case`system`:case`alarm`:case`mixed`:return null}}var SG=`camera-streams`;function CG(e){let t=xG(e);return t===null?null:e===`sensor`?[t,[SG]]:[t]}function wG(e){return bG(e.delivery)?TG(e.conditions.systemEvent):e.conditions.occupancy!==void 0&&e.delivery===`device-event`?`occupancy`:e.conditions.audio!==void 0&&e.delivery===`immediate`?`sound`:e.delivery===`device-event`?`sensor`:`detection`}function TG(e){let t=nG(tG(e)??[]);return t.kind===`family`?t.family:`mixed`}function EG(e,t,n){let r=_G(n);return e.id===r.discriminator?!0:e.appliesTo.includes(t)?r.excluded[e.id]===void 0:!1}function DG(e,t){let n=_G(t);return e===n.discriminator?null:n.excluded[e]??null}function OG(e,t){let n=_G(t),r=[];for(let[t,i]of Object.entries(e)){if(i===void 0||Array.isArray(i)&&i.length===0)continue;let e=n.excluded[t];e!==void 0&&r.push({conditionId:t,reason:e})}return r}var kG=[{key:`all`,label:`All rules`,blurb:`Every notification rule, whatever its trigger. Each rule picks a trigger, matches conditions and fans out to one or more delivery targets.`,newRuleLabel:`New rule`,emptyHint:`No notification rules yet. Create one to be told what your cameras see.`,creatable:!0},{key:`detection`,label:`Detections`,blurb:`Rules driven by what the cameras SEE — detections, tracks and package events.`,newRuleLabel:`New detection rule`,emptyHint:`No detection rules yet. Create one to be told what your cameras see.`,creatable:!0},{key:`sensor`,label:`Sensors`,blurb:`Rules driven by a device or sensor CHANGING STATE — a doorbell press, a linked sensor opening or closing. The picture comes from the camera the sensor is attributed to.`,newRuleLabel:`New sensor rule`,emptyHint:`No sensor rules yet. Create one to be told when a doorbell is pressed or a linked sensor changes.`,creatable:!0},{key:`audio`,label:`Sound`,blurb:`Rules on what the cameras HEAR: a sustained window of sound loud enough, or classified as one of the sounds you name. A sound rule fires only on a confirmed sampling window, never on a picture.`,newRuleLabel:`New sound rule`,emptyHint:`No sound rules yet. A new sound rule opens on the sound condition already filled in with a level threshold, so you only have to name the sounds and the targets.`,creatable:!0},{key:`occupancy`,label:`Occupancy`,blurb:`Rules on how many objects are in a camera frame or a zone, and for how long: "the driveway became occupied", "the garden emptied".`,newRuleLabel:`New occupancy rule`,emptyHint:`No occupancy rules yet. A new occupancy rule opens on the occupancy condition; pick the camera first, then the zone and the count.`,creatable:!0},{key:`device-events`,label:`Device events`,blurb:`Rules about your devices: offline or back, switched off or on, a stream dropping, a battery or consumable running low, a camera detecting nothing.`,newRuleLabel:`New device-event rule`,emptyHint:`No device-event rules yet. These tell you when a device drops, a battery runs low or a camera goes blind.`,creatable:!0},{key:`system`,label:`System events`,blurb:`Rules about the installation: a node leaving the cluster, an addon crash-looping, an update available or installed, a backup or export finishing.`,newRuleLabel:`New system rule`,emptyHint:`No system rules yet. These tell you when a node leaves, an update lands or a backup finishes.`,creatable:!0},{key:`alarm`,label:`Alarm`,blurb:`Rules about the alarm panel: arming, armed, triggered, disarmed, and the refusals in between.`,newRuleLabel:`New alarm rule`,emptyHint:`No alarm rules yet. These tell you when the alarm arms, goes off or is disarmed.`,creatable:!0},{key:`mixed`,label:`To recreate`,blurb:`System rules authored before the three families existed. Each mixes families, keeps firing as it is, and can only be read or deleted: recreate it as one rule per family.`,newRuleLabel:`New rule`,emptyHint:`Nothing to recreate.`,creatable:!1}];function AG(e){return kG.find(t=>t.key===e)??kG[0]}function jG(e){return kG.find(t=>t.key===e)?.key}function MG(e){return e.conditions.audio!==void 0}function NG(e){return e.conditions.occupancy!==void 0}function PG(e,t){return t===`all`?!0:bG(e.delivery)?wG(e)===t:t===`audio`?MG(e):t===`occupancy`?NG(e):t===`sensor`?e.delivery===`device-event`&&!NG(e):t===`detection`?!MG(e)&&!NG(e)&&e.delivery!==`device-event`:!1}function FG(e){return bG(e.delivery)?TG(e.conditions.systemEvent):MG(e)?`audio`:NG(e)?`occupancy`:e.delivery===`device-event`?`sensor`:`detection`}var IG={op:`became-occupied`,count:1,sustainSeconds:15},LG={hitPercent:oW.hitPercent,samplingSeconds:oW.samplingSeconds,dbThreshold:YU};function RG(e){switch(e){case`device-events`:return{delivery:yG,conditions:{systemEvent:{kinds:[`device-offline`,`device-online`]}}};case`system`:return{delivery:yG,conditions:{systemEvent:{kinds:[`node-offline`,`node-online`]}}};case`alarm`:return{delivery:yG,conditions:{systemEvent:{kinds:[`alarm-triggered`]}}};case`audio`:return{delivery:`immediate`,conditions:{audio:LG}};case`occupancy`:return{delivery:`device-event`,conditions:{occupancy:IG}};case`sensor`:return{delivery:`device-event`,conditions:{}};default:return{delivery:`immediate`,conditions:{source:`pipeline`}}}}function zG(e){return RG(e).delivery}var BG=[`rule`,`devices`,`conditions`,`notification`,`actions`,`advanced`],VG={rule:`Rule`,devices:`Cameras`,conditions:`Conditions`,notification:`Notification`,actions:`Actions`,advanced:`Advanced`};function HG(e){let t=_G(e),n=[];for(let r of BG)r===`devices`&&oG(e)||n.push({key:r,label:r===`conditions`?t.label:VG[r]});return n}var UG={Sun:0,Mon:1,Tue:2,Wed:3,Thu:4,Fri:5,Sat:6},WG=new Map;function GG(e){let t=WG.get(e);if(t!==void 0)return t;let n;try{n=new Intl.DateTimeFormat(`en-US`,{timeZone:e,weekday:`short`,hour:`numeric`,minute:`numeric`,hourCycle:`h23`})}catch{n=null}return WG.set(e,n),n}function KG(e,t){let n=new Date(e),r=t===void 0?null:GG(t);if(r!==null)try{let e=r.formatToParts(n),t,i,a;for(let n of e)n.type===`weekday`?t=n.value:n.type===`hour`?i=Number(n.value):n.type===`minute`&&(a=Number(n.value));let o=t===void 0?void 0:UG[t];if(o!==void 0&&i!==void 0&&a!==void 0)return{day:o,minute:i*60+a}}catch{}return{day:n.getDay(),minute:n.getHours()*60+n.getMinutes()}}function qG(e,t){if(e===void 0)return!0;let{day:n,minute:r}=KG(t,e.timezone),i=(n+6)%7,a=!1;for(let t of e.windows)if(t.startMinute<=t.endMinute){if(t.days.includes(n)&&r>=t.startMinute&&r<t.endMinute){a=!0;break}}else if(t.days.includes(n)&&r>=t.startMinute||t.days.includes(i)&&r<t.endMinute){a=!0;break}return e.invert===!0?!a:a}var JG=`armed_`,YG=`alarm-panel`,XG=`trigger`,ZG=[`contact`,`cover`,`lock`];function QG(e){return(e.conditions.deviceState?.states??[]).some(e=>e.trim().toLowerCase().startsWith(JG))?!0:(e.onTrigger??[]).some(e=>e.enabled&&e.actions.some(e=>e.kind===`cap`&&e.cap===YG&&e.method===XG))}function $G(e){let t=e.trim().toLowerCase();return ZG.some(e=>e===t)}function eK(e){let t=e.conditions.sensorKinds??[];return e.conditions.sensorTransition!==`cleared`||t.length===0||!t.every($G)?!1:QG(e)}var tK=`This rule belongs to the alarm, and an alarm rule fires only when an opening OPENS. Set to “only when it clears”, it can never fire.`,nK=Object.freeze(Object.fromEntries(Object.entries(lO).flatMap(([e,t])=>{let n=yr[e];return n===void 0||t.category!==`sensor`?[]:[[t.kind,n]]}))),rK=Object.freeze(Object.keys(nK));function iK(e){return e.trim().toLowerCase()}function aK(e,t){if(t===null)return;let n=nK[iK(e)];if(n===void 0)return;let r=Object.entries(t).find(([e])=>e===n)?.[1];return typeof r==`boolean`?r:void 0}function oK(e){return e===void 0||e.length===0?!1:e.every(e=>rK.includes(iK(e)))}var sK=`Only a sensor that raises and clears (water, smoke, gas, CO, vibration, tamper, motion, contact) can fire on one edge. Pick only such sensor kinds, or the rule fires on every change.`,cK=[`body`],Z=[`title`,`body`],lK=[`device-battery-low`,`device-battery-normal`],uK=[`device-consumable-low`,`device-consumable-normal`],dK=[`device-tank-low`,`device-tank-full`,`device-tank-normal`],fK=[`addon-update-available`,`server-update-available`,`wrapper-update-available`],pK=[`addon-update-available`,`server-update-available`],mK=[`alarm-triggered`,`alarm-armed`,`alarm-disarmed`,`alarm-arming`,`alarm-arm-refused`,`alarm-pending`,`alarm-rearmed`,`alarm-sensor-bypass`,`alarm-check-failed`],hK=[`alarm-triggered`],gK=[`device-online`,`device-offline`,`device-disabled`,`device-enabled`,...lK,...uK,...dK,`stream-online`,`stream-offline`,`detection-blind`,...mK],_K=[...eG(`device-events`),...eG(`system`)],vK=[{name:`summaryDevices`,label:`Summary: devices offline / switched off`,example:`Garage — offline since 07:12`,kinds:[`device-offline`,`device-online`,`device-disabled`,`device-enabled`]},{name:`summaryStreams`,label:`Summary: streams offline`,example:`Ingresso (high) — since 06:40`,kinds:[`stream-offline`,`stream-online`]},{name:`summaryBattery`,label:`Summary: low batteries`,example:`Sensore porta — 8 %`,kinds:lK},{name:`summaryConsumables`,label:`Summary: consumables`,example:`Robot — filter 10 %`,kinds:uK},{name:`summaryTanks`,label:`Summary: tanks`,example:`Robot — clean water low`,kinds:dK},{name:`summaryDetection`,label:`Summary: cameras detecting nothing`,example:`Ingresso — since 05:10`,kinds:[`detection-blind`]},{name:`summaryNodes`,label:`Summary: nodes`,example:`little-unraid — offline since 03:00`,kinds:[`node-offline`,`node-online`,`node-inference-unavailable`]},{name:`summaryAddons`,label:`Summary: addons`,example:`@camstack/addon-recorder 1.2.3 → 1.2.4`,kinds:[`addon-crash-loop`,`addon-update-available`,`addon-updated`]},{name:`summaryUpdates`,label:`Summary: server & container updates`,example:`server 1.2.377 → 1.2.378`,kinds:[`server-update-available`,`server-updated`,`wrapper-update-available`]}],yK=[{name:`summaryText`,label:`Summary: every section`,description:`One block per section with something to report, one line per item.`,example:`Batterie scariche: Sensore porta — 8 %`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[..._K],systemEventDeliveries:[`summary`]},{name:`summaryCount`,label:`Summary: items reported`,example:`3`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[..._K],systemEventDeliveries:[`summary`]},...vK.map(e=>({name:e.name,label:e.label,example:e.example,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...e.kinds],systemEventDeliveries:[`summary`]}))],bK=[{name:`camera`,label:`Camera`,example:`Ingresso`,group:`subject`,families:[`rule`,`timelapse`],systemEventKinds:[...gK,`export-completed`]},{name:`class`,label:`Detected class`,description:`The counted class on an occupancy row (e.g. "person"); the detected class elsewhere.`,example:`person`,group:`subject`,families:[`rule`],fields:[...Z],kinds:[`detection`,`sensor`,`sound`,`occupancy`,`system`],systemEventKinds:[...hK]},{name:`label`,label:`Name or plate`,description:`Recognised person or read plate; empty otherwise.`,example:`Mario`,group:`subject`,families:[`rule`],fields:[...Z],kinds:[`detection`,`system`],systemEventKinds:[...hK]},{name:`subject`,label:`Subject sentence`,description:`Composed in the notification language, e.g. "person (Mario)".`,example:`persona (Mario)`,group:`subject`,families:[`rule`],fields:[...Z],kinds:[`detection`,`sensor`,`sound`,`occupancy`]},{name:`confidence`,label:`Confidence`,example:`87%`,group:`subject`,families:[`rule`],fields:[...Z],kinds:[`detection`,`system`],systemEventKinds:[...hK]},{name:`count`,label:`Count`,description:`Occupancy count, subjects in a grouped notification, or the event count of a system notice.`,example:`3`,group:`subject`,families:[`rule`],fields:[...Z],kinds:[`detection`,`occupancy`,`system`],systemEventKinds:[`addon-crash-loop`,...pK,`addon-updated`]},{name:`detectionSummary`,label:`Detection summary`,description:`Class composition, e.g. "2 persons and 1 car".`,example:`2 persone e 1 auto`,group:`subject`,families:[`rule`,`timelapse`,`summary`],fields:[...Z],kinds:[`detection`]},{name:`zones`,label:`Zones`,example:`Cancello, Vialetto`,group:`place`,families:[`rule`],fields:[...Z],kinds:[`detection`,`system`],systemEventKinds:[...hK]},{name:`zone`,label:`Zone`,example:`Cancello`,group:`place`,families:[`rule`],fields:[...Z],kinds:[`detection`,`occupancy`,`system`],systemEventKinds:[...hK]},{name:`inZones`,label:`"in <zones>" fragment`,description:`Leading space included; empty when no zone.`,example:` in Cancello`,group:`place`,families:[`rule`],fields:[...Z],kinds:[`detection`,`system`],systemEventKinds:[...hK]},{name:`scope`,label:`Occupancy scope`,example:`Cancello`,group:`place`,families:[`rule`],fields:[...Z],kinds:[`occupancy`]},{name:`time`,label:`Time`,description:`Hours and minutes, in the notification language.`,example:`20:05`,group:`time`,families:[`rule`,`timelapse`,`summary`],fields:[...Z]},{name:`rule`,label:`Rule name`,example:`Ingresso notte`,group:`rule`,families:[`rule`,`timelapse`,`summary`]},{name:`from`,label:`Window start`,example:`07:00`,group:`time`,families:[`timelapse`,`summary`]},{name:`to`,label:`Window end`,example:`08:00`,group:`time`,families:[`timelapse`,`summary`]},{name:`capacity`,label:`Capacity`,example:`2`,group:`occupancy`,families:[`rule`],fields:[...Z],kinds:[`occupancy`]},{name:`op`,label:`Occupied / free`,example:`occupata`,group:`occupancy`,families:[`rule`],fields:[...Z],kinds:[`occupancy`]},{name:`sounds`,label:`Sounds heard`,example:`abbaio, clacson`,group:`sound`,families:[`rule`],fields:[...Z],kinds:[`sound`]},{name:`hitPercent`,label:`Share of the window`,description:`Level mode only: percentage of samples above the threshold.`,example:`42`,group:`sound`,families:[`rule`],fields:[...Z],kinds:[`sound`]},{name:`db`,label:`Peak level (dBFS)`,example:`-18`,group:`sound`,families:[`rule`],fields:[...Z],kinds:[`sound`]},{name:`eventType`,label:`Event type`,description:`Raw device event token, e.g. "press" or "open"; empty when the device sends none.`,example:`press`,group:`sensor`,families:[`rule`],fields:[...Z],kinds:[`sensor`]},{name:`ai`,label:`AI sentence`,description:`Where the AI description goes; appended on its own line when absent.`,example:`Una persona lascia un pacco.`,group:`ai`,families:[`rule`,`summary`],fields:[...cK],kinds:[`detection`,`occupancy`]},{name:`eventKind`,label:`Event kind`,example:`device-offline`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventDeliveries:[`instant`]},{name:`deviceName`,label:`Device`,example:`Ingresso`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...gK]},{name:`deviceId`,label:`Device id`,example:`617`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...gK,`export-completed`]},{name:`percentage`,label:`Percentage`,example:`15`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...lK,...uK]},{name:`item`,label:`Consumable`,example:`Filtro`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...uK]},{name:`tank`,label:`Tank`,description:`Which tank: clean water, dirty water, detergent or dust bin.`,example:`clean water`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...dK]},{name:`profile`,label:`Stream profile`,example:`high`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`stream-online`,`stream-offline`]},{name:`node`,label:`Node`,example:`hub`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`node-online`,`node-offline`,`node-inference-unavailable`,`addon-crash-loop`,...fK,`addon-updated`,`server-updated`]},{name:`nodeId`,label:`Node id`,example:`hub`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`node-online`,`node-offline`,`node-inference-unavailable`,`addon-crash-loop`,...fK,`server-updated`]},{name:`devices`,label:`Devices`,description:`node-inference-unavailable: the affected cameras, comma-joined. Alarm arm / refusal: HOW MANY devices are armed (or open).`,example:`Ingresso, Garage`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`node-inference-unavailable`,`alarm-armed`,`alarm-arm-refused`]},{name:`addons`,label:`Addons`,example:`stream-broker`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`addon-crash-loop`]},{name:`minutes`,label:`Minutes`,example:`12`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`detection-blind`]},{name:`package`,label:`Package`,example:`@camstack/addon-recorder`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...fK,`addon-updated`,`server-updated`]},{name:`packageName`,label:`Package`,example:`@camstack/addon-recorder`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...pK,`server-updated`]},{name:`nodes`,label:`Nodes`,description:"Comma-joined node ids, when an update spans more than one — the single-node case names it through {{nodeId}} instead. `incomingFromUpdateAvailable` (event-intake.ts) fills `nodes` from ONE shared textParams object for both addon- and server-update-available, exactly like packageName/currentVersion/latestVersion/count — only the shipped TEXT (system.server-update-available.body.onNodes) reads it today, but the var is real on both kinds.",example:`hub, little-unraid`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...pK]},{name:`currentVersion`,label:`Current version`,example:`1.2.377`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...fK]},{name:`latestVersion`,label:`Latest version`,example:`1.2.378`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...fK]},{name:`list`,label:`Updated packages`,description:"One line per package. `incomingFromUpdateAvailable` fills it for addon-/server-update-available too (the SAME shared textParams object as `nodes`) — `system.addon-update-available.body` reads it; `incomingFromAddonUpdates` fills it again, independently, for the completed `addon-updated` event.",example:`recorder, notifiers`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...pK,`addon-updated`]},{name:`fromVersion`,label:`From version`,example:`1.2.377`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`server-updated`]},{name:`toVersion`,label:`To version`,example:`1.2.378`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`server-updated`]},{name:`destinationsOk`,label:`Destinations ok`,example:`2`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`backup-completed`]},{name:`destinationsTotal`,label:`Destinations`,example:`2`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`backup-completed`]},{name:`destinationsFailed`,label:`Destinations failed`,example:`0`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`backup-completed`]},{name:`sizeMB`,label:`Size (MB)`,example:`412`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`backup-completed`]},{name:`backupId`,label:`Backup id`,example:`bk-20260924`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`backup-completed`]},{name:`title`,label:`Export title`,example:`Ingresso 08:00`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`export-completed`]},{name:`exportId`,label:`Export id`,example:`exp-20260924`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`export-completed`]},{name:`bytes`,label:`Export size (bytes)`,example:`10485760`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`export-completed`]},{name:`mode`,label:`Alarm mode`,example:`away`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-armed`,`alarm-arming`,`alarm-arm-refused`,`alarm-pending`,`alarm-rearmed`,`alarm-check-failed`]},{name:`seconds`,label:`Seconds`,description:`Arming: the exit delay left. Pending: the entry delay left to disarm.`,example:`30`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-arming`,`alarm-pending`]},{name:`rules`,label:`Covering rules`,description:`How many enabled rules the armed mode gates.`,example:`2`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-armed`]},{name:`names`,label:`Device names`,description:`Armed: the devices armed. Arming: the devices this mode cannot arm. Refusal: the open sensors.`,example:`Ingresso, Garage`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-armed`,`alarm-arming`,`alarm-arm-refused`]},{name:`skippedNames`,label:`Skipped devices`,description:`Devices the mode names but cannot arm (muted, detection off, offline).`,example:`Garage`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-armed`]},{name:`bypassedNames`,label:`Bypassed sensors`,description:`Sensors the operator armed around because they were open.`,example:`Finestra veranda`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-armed`,`alarm-arming`]},{name:`coverage`,label:`Coverage %`,example:`96`,group:`digest`,families:[`timelapse`],fields:[...Z]},{name:`events`,label:`Events`,example:`4`,group:`digest`,families:[`timelapse`,`summary`],fields:[...Z]},{name:`detections`,label:`Detections`,example:`7`,group:`digest`,families:[`timelapse`,`summary`],fields:[...Z]},{name:`count_person`,label:`Count of one class`,description:`count_<class>, e.g. count_person, count_car.`,example:`3`,group:`digest`,families:[`timelapse`,`summary`],fields:[...Z],dynamic:{prefix:`count_`,from:`classes`}},{name:`cameras`,label:`Cameras`,example:`3`,group:`digest`,families:[`summary`],fields:[...Z]},{name:`matched`,label:`Matched events`,example:`12`,group:`digest`,families:[`summary`],fields:[...Z]},{name:`shown`,label:`Events shown`,example:`9`,group:`digest`,families:[`summary`],fields:[...Z]},{name:`total`,label:`Events total`,example:`12`,group:`digest`,families:[`summary`],fields:[...Z]},...yK],xK=[`device-tank-low`,`device-tank-full`,`device-tank-normal`];function SK(){return bK.filter(e=>!CK(e)).map(e=>e.systemEventKinds===void 0?e:{...e,systemEventKinds:e.systemEventKinds.filter(e=>!xK.includes(e))})}function CK(e){return e.systemEventDeliveries!==void 0&&!e.systemEventDeliveries.includes(`instant`)}function wK(e,t){if(!oG(t.kind))return!0;let n=t.systemEventDelivery??`instant`;return(e.systemEventDeliveries??(e.systemEventKinds===void 0?[n]:[`instant`])).includes(n)}var TK={previewText:[`camera`,`rule`,`from`,`to`],captionText:[`rule`,`from`,`to`]};function EK(e,t){return e===void 0||t===void 0||e.includes(t)}function DK(e,t){return e===void 0||t===void 0||e.some(e=>e===t)?!0:oG(t)&&e.includes(`system`)}function OK(e,t){if(!oG(t.kind)||e.systemEventKinds===void 0)return!0;let n=e.systemEventKinds,r=t.systemEventKinds??[];if(r.length>0)return r.some(e=>n.includes(e));let i=t.kind===void 0?void 0:sG(t.kind);if(i===void 0)return!0;let a=eG(i);return n.some(e=>a.includes(e))}function kK(e){if(e.field===`previewText`||e.field===`captionText`){let t=TK[e.field];return bK.filter(n=>n.families.includes(e.family)&&t.includes(n.name)&&n.dynamic===void 0)}return bK.filter(t=>t.families.includes(e.family)&&EK(t.fields,e.field)&&DK(t.kinds,e.kind)&&EK(t.deliveries,e.delivery)&&OK(t,e)&&wK(t,e))}function AK(e,t){return kK(t).some(t=>t.dynamic===void 0?t.name===e:e.startsWith(t.dynamic.prefix)&&e.length>t.dynamic.prefix.length)}var jK=[`device-events`,`system`];function MK(e){if(!bG(e.delivery))return null;let t=e.systemEventDelivery;return t?.mode===`summary`?t.schedule:null}function NK(e){return MK(e)!==null}function PK(e){return(e?.onTrigger?.length??0)>0||(e?.buttons?.length??0)>0}function FK(e){if(e.systemEventDelivery?.mode!==`summary`)return[];if(!bG(e.delivery))return[{code:`not-a-system-rule`,delivery:e.delivery}];let t=[],n=nG(e.conditions.systemEvent?.kinds??[]),r=n.kind===`family`?n.family:`mixed`;(r===`mixed`||!jK.includes(r))&&t.push({code:`family-not-summarisable`,family:r});let i=e.systemEventDelivery.schedule.windows;return i.length===0&&t.push({code:`empty-schedule`}),i.forEach((e,n)=>{(e.days.length===0||e.startMinute===e.endMinute)&&t.push({code:`degenerate-window`,index:n})}),e.schedule!==void 0&&t.push({code:`schedule-beside-summary`}),PK(e.actions)&&t.push({code:`actions-beside-summary`}),t}function IK(e){switch(e.code){case`not-a-system-rule`:return`a '${e.delivery}' rule has no summary delivery — only device-events and system rules do`;case`family-not-summarisable`:return e.family===`alarm`?`an alarm rule cannot be a scheduled summary — the alarm stays instant`:`a ${e.family} rule cannot be a scheduled summary — only device-events and system rules`;case`degenerate-window`:return`send time ${String(e.index+1)} has no day, or starts and ends on the same minute — it never closes, so nothing would be sent`;case`empty-schedule`:return`a summary rule needs at least one send time — its schedule has no window`;case`schedule-beside-summary`:return`a summary rule is sent on its summary schedule — remove the active-hours schedule`;case`actions-beside-summary`:return`a summary rule never matches an event, so its actions would never run — remove them`}}var LK=1440;function RK(e,t){return{windows:e.map(e=>{let t=(e.minute+LK-1)%LK;return{days:(e.minute===0?e.days.map(e=>(e+6)%7):[...e.days]).toSorted((e,t)=>e-t),startMinute:t,endMinute:e.minute}}),...t===void 0?{}:{timezone:t}}}function zK(e){if(e.invert===!0)return null;let t=[];for(let n of e.windows){if((n.endMinute-n.startMinute+LK)%LK!==1)return null;let e=n.endMinute===0?n.days.map(e=>(e+1)%7):n.days;t.push({days:e.toSorted((e,t)=>e-t),minute:n.endMinute})}return t}var BK=/\{\{\s*summary(?:Text|Devices|Streams|Battery|Consumables|Tanks|Detection|Nodes|Addons|Updates)\s*\}\}/;function VK(e){return e===void 0||e.trim().length===0?!0:BK.test(e)}function HK(e){return e.map(e=>({id:e.id,name:e.name,type:e.isHub?`hub`:`agent`,location:e.isOnline?`online`:`offline`,...e.name===e.id?{}:{detail:e.id}}))}var UK=`@camstack/server`,WK=[UK,`@camstack/system`,`camstack-wrapper`],GK={"@camstack/server":`server`,"@camstack/system":`framework`,"camstack-wrapper":`wrapper`};function KK(e){return WK.some(t=>t===e)}function qK(e){let t=new Map(e.map(e=>[e.name,e.version])),n=WK.map(e=>{let n=t.get(e);return{id:e,name:e,type:GK[e],location:null,...n===void 0?{}:{detail:n}}}),r=e.filter(e=>!KK(e.name)).map(e=>({id:e.name,name:e.name,type:`addon`,location:null,detail:e.version})).sort((e,t)=>e.name.localeCompare(t.name));return[...n,...r]}var JK=`disarmed.armed_home.armed_away.armed_night.armed_vacation.armed_custom_bypass.arming.disarming.pending.triggered.open.opening.closing.closed.stopped.locked.unlocked.locking.unlocking.jammed.on.off.home.not_home.matched.diverged.unknown.latched.live`.split(`.`),YK={disarmed:{en:`Disarmed`,it:`Disinserito`},armed_home:{en:`Armed (home)`,it:`Inserito (in casa)`},armed_away:{en:`Armed (away)`,it:`Inserito (fuori casa)`},armed_night:{en:`Armed (night)`,it:`Inserito (notte)`},armed_vacation:{en:`Armed (vacation)`,it:`Inserito (vacanza)`},armed_custom_bypass:{en:`Armed (custom)`,it:`Inserito (personalizzato)`},arming:{en:`Arming`,it:`In inserimento`},disarming:{en:`Disarming`,it:`In disinserimento`},pending:{en:`Pending (entry delay)`,it:`In attesa (ritardo ingresso)`},triggered:{en:`Triggered`,it:`In allarme`},open:{en:`Open`,it:`Aperto`},opening:{en:`Opening`,it:`In apertura`},closing:{en:`Closing`,it:`In chiusura`},closed:{en:`Closed`,it:`Chiuso`},stopped:{en:`Stopped`,it:`Fermo`},locked:{en:`Locked`,it:`Bloccata`},unlocked:{en:`Unlocked`,it:`Sbloccata`},locking:{en:`Locking`,it:`In blocco`},unlocking:{en:`Unlocking`,it:`In sblocco`},jammed:{en:`Jammed`,it:`Inceppata`},on:{en:`On`,it:`Acceso`},off:{en:`Off`,it:`Spento`},home:{en:`Home`,it:`In casa`},not_home:{en:`Away`,it:`Fuori casa`},matched:{en:`Matched (as captured)`,it:`Corrisponde (come acquisita)`},diverged:{en:`Diverged (changed)`,it:`Diversa (cambiata)`},unknown:{en:`Cannot judge`,it:`Non valutabile`},latched:{en:`Latched`,it:`Memorizzato`},live:{en:`Live`,it:`In tempo reale`}},XK=new Set(JK);function ZK(e){return XK.has(e)}function QK(e,t){return ZK(e)?YK[e][t]:e}var $K=u({title:c().max(500).optional(),body:c().max(2e3).optional()}),eq=c().min(1).max(200),tq=b(i()).min(1),nq=i().int().min(2).max(3600),rq=i().int().min(1).max(60),iq=b(iS).min(1),aq=i().int().min(1).max(5),oq=.1,sq=i().min(oq).max(3600),cq=i().min(0).max(60),lq=c().max(200),uq=y([`image`,`gif`]),dq=b(c().min(1).max(40)).max(20),fq=u({name:eq,enabled:x().default(!0),deviceIds:tq,schedule:Vx,cadenceSec:nq.default(15),framerate:rq.default(10),denseCadenceSec:sq.optional(),minDwellSec:cq.optional(),targets:iq,template:$K.optional(),previewText:lq.optional(),previewMode:uq.default(`image`),reportClasses:dq.optional(),priority:aq.default(3)}),pq=`Timelapse {{camera}}`,mq=u({name:eq.optional(),enabled:x().optional(),deviceIds:tq.optional(),schedule:Vx.optional(),cadenceSec:nq.optional(),framerate:rq.optional(),denseCadenceSec:sq.optional(),minDwellSec:cq.optional(),targets:iq.optional(),template:$K.nullable().optional(),previewText:lq.optional(),previewMode:uq.optional(),reportClasses:dq.optional(),priority:aq.optional()}),hq=fq.extend({id:c(),ownerUserId:c().optional(),lastGeneratedAt:i().optional(),generatedByDevice:_(c(),i()).optional(),createdBy:c(),createdAt:i(),updatedAt:i()});function gq(e){let t=e.denseCadenceSec;if(t!==void 0&&t>=e.cadenceSec)throw Error(`denseCadenceSec (${t}s) must be strictly smaller than cadenceSec (${e.cadenceSec}s) — a dense cadence that is not denser renders a uniform timelapse`)}function _q(e,t){let n=e.generatedByDevice;return n===void 0?e.lastGeneratedAt??0:n[String(t)]??0}function vq(e,t){return!!e.formats[t]}function yq(e,t,n){if(t!=null){let r=e.find(e=>e.id===t);if(r!==void 0&&vq(r,n))return!0}return e.some(e=>e.legacy!==!0&&vq(e,n))}var bq=`detail-crop`,xq=`detailCropPaddingRatio`,Sq=`detailCropSquare`,Cq=u({paddingRatio:i().min(0).max(4),square:x()}),wq={paddingRatio:.15,square:!1};function Tq(e){let t=Cq.shape.paddingRatio.safeParse(e[xq]),n=Cq.shape.square.safeParse(e[Sq]);return{paddingRatio:t.success?t.data:wq.paddingRatio,square:n.success?n.data:wq.square}}function Eq(e){return typeof e==`object`&&!!e&&`key`in e}function Dq(e){if(e===null)return wq;let t={};for(let n of e.sections)for(let e of n.fields)!Eq(e)||typeof e.key!=`string`||(e.key===`detailCropPaddingRatio`||e.key===`detailCropSquare`)&&(t[e.key]=e.value);return Tq(t)}var Oq=Object.freeze({x:0,y:0,w:1,h:1}),kq={min:0,max:1,step:.05,default:wq.paddingRatio};function Aq(e,t,n,r){let i=r.paddingRatio*e.w,a=r.paddingRatio*e.h,o={x:e.x-i,y:e.y-a,w:e.w+2*i,h:e.h+2*a};return r.square?Nq(jq(o,t,n),t,n):Mq(o,t,n)}function jq(e,t,n){let r=Math.min(Math.max(e.w,e.h),Math.min(t,n)),i=e.x+e.w/2,a=e.y+e.h/2;return{x:i-r/2,y:a-r/2,w:r,h:r}}function Mq(e,t,n){let r=Math.max(0,e.x),i=Math.max(0,e.y),a=Math.min(t,e.x+e.w),o=Math.min(n,e.y+e.h);return{x:r,y:i,w:Math.max(0,a-r),h:Math.max(0,o-i)}}function Nq(e,t,n){let r=Math.max(0,Math.min(e.w,t)),i=Math.max(0,Math.min(e.h,n));return{x:Math.min(Math.max(0,e.x),Math.max(0,t-r)),y:Math.min(Math.max(0,e.y),Math.max(0,n-i)),w:r,h:i}}var Pq=`native-lease`,Fq=`nativeLeaseHoldFrames`,Iq=`nativeLeaseBudgetMb`,Lq=`nativeLeaseActivityMs`,Rq=`nativeLeaseAdmission`,zq=`nativeTileBudgetMb`,Bq=`nativeSceneBudgetMb`,Vq=y([`all`,`inferred`]),Hq=u({holdFrames:i().int().min(1).max(64),budgetMb:i().int().min(0).max(4096),activityMs:i().int().min(0).max(12e4),admission:Vq,tileBudgetMb:i().int().min(0).max(1024),sceneBudgetMb:i().int().min(0).max(1024)}),Q={holdFrames:8,budgetMb:1024,activityMs:15e3,tileBudgetMb:64,sceneBudgetMb:48,admission:`inferred`},Uq={min:1,max:64,step:1,default:Q.holdFrames},Wq={min:0,max:4096,step:64,default:Q.budgetMb},Gq={min:0,max:12e4,step:1e3,default:Q.activityMs},Kq={min:0,max:1024,step:16,default:Q.tileBudgetMb},qq={min:0,max:1024,step:16,default:Q.sceneBudgetMb},Jq={options:[{value:`all`,label:`Every delivered frame`},{value:`inferred`,label:`Only frames sent to inference`}],default:Q.admission};function Yq(e,t){let n=Hq.shape[e].safeParse(t);return n.success?n.data===Q[e]?null:n.data:null}function Xq(e){let t=Vq.safeParse(e);return t.success?t.data===Q.admission?null:t.data:null}function Zq(e){let t=Yq(`holdFrames`,e[Fq]),n=Yq(`budgetMb`,e[Iq]),r=Yq(`activityMs`,e[Lq]),i=Xq(e[Rq]),a=Yq(`tileBudgetMb`,e[zq]),o=Yq(`sceneBudgetMb`,e[Bq]);return{...t===null?{}:{holdFrames:t},...n===null?{}:{budgetMb:n},...r===null?{}:{activityMs:r},...i===null?{}:{admission:i},...a===null?{}:{tileBudgetMb:a},...o===null?{}:{sceneBudgetMb:o}}}function Qq(e){return typeof e==`object`&&!!e&&`key`in e}var $q=[Fq,Iq,Lq,Rq,zq,Bq];function eJ(e){if(e===null)return{};let t={};for(let n of e.sections)for(let e of n.fields)!Qq(e)||typeof e.key!=`string`||$q.includes(e.key)&&(t[e.key]=e.value);return Zq(t)}var tJ=[{id:`viewer`,label:`View`,description:`Watch live and recorded video, browse events and read device state. Cannot change anything.`,deviceAccess:[`view`],systemAccess:[`view`]},{id:`operator`,label:`Operate`,description:`Everything View does, plus acting on a device: PTZ, lights, sirens, locks, and snoozing notifications. Cannot delete.`,deviceAccess:[`view`,`create`],systemAccess:[`view`,`create`]},{id:`manager`,label:`Full management`,description:`Everything Operate does, plus deleting devices, recordings and events. Short of admin — no user or cluster administration.`,deviceAccess:[`view`,`create`,`delete`],systemAccess:[`view`,`create`,`delete`]}];function nJ(e){let t=tJ.find(t=>t.id===e);if(!t)throw Error(`Unknown access role '${e}'`);return t}function rJ(e){let t=nJ(e.roleId);return[{type:`device`,selector:e.selector,access:[...t.deviceAccess],includeLinked:e.includeLinked},{type:`category`,target:`system`,access:[...t.systemAccess]}]}function iJ(e,t){if(e.length!==t.length)return!1;let n=new Set(e);return t.every(e=>n.has(e))}function aJ(e){if(e.length!==2)return null;let t=e.filter(e=>e.type===`device`),n=e.filter(e=>e.type===`category`&&e.target===`system`);if(t.length!==1||n.length!==1)return null;let[r]=t,[i]=n;if(r===void 0||i===void 0||r.type!==`device`||r.includeLinked===void 0)return null;let a=tJ.find(e=>iJ(e.deviceAccess,r.access)&&iJ(e.systemAccess,i.access));return a?{roleId:a.id,selector:r.selector,includeLinked:r.includeLinked}:null}var oJ=8;function sJ(e,t){switch(e.kind){case`all`:return!0;case`ids`:return e.ids.includes(t.id);case`types`:return e.types.some(e=>String(e)===t.type);case`locations`:return t.location!==null&&e.locations.includes(t.location)}}function cJ(e,t){return e.some(e=>e.type===`category`&&e.target===`device`&&e.access.includes(t))}function lJ(e,t){return e.filter(e=>e.type===`device`&&e.access.includes(t))}function uJ(e,t){return e.includeLinked??t===`view`}function dJ(e,t){let n=[],r=e;for(let e=0;e<oJ;e++){let e=r===null?null:t.get(r)?.parentDeviceId??null;if(e===null||e===r)break;n.push(e),r=e}return n}function fJ(e,t,n){if(cJ(e,n))return new Set(t.map(e=>e.id));let r=new Map;for(let e of t)r.set(e.id,e);let i=lJ(e,n),a=new Set;for(let e of t)for(let t of i){if(sJ(t.selector,e)){a.add(e.id);break}if(uJ(t,n)&&dJ(e.id,r).some(e=>{let n=r.get(e);return n!==void 0&&sJ(t.selector,n)})){a.add(e.id);break}}return a}function pJ(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let e=J.safeParse(n);e.success&&t.push(e.data)}return t}var mJ=[`view`,`create`,`delete`];function hJ(e,t,n,r){return r?{all:!0,deviceCount:t.length}:{all:cJ(e,n)||lJ(e,n).some(e=>e.selector.kind===`all`),deviceCount:fJ(e,t,n).size}}function gJ(e){let t=[];for(let n of e)n.type===`capability`&&t.push({name:n.target,access:n.access});return t}function _J(e){let t=[];for(let n of e)n.type===`addon`&&t.push({name:n.target,access:n.access});return t}function vJ(e,t,n){let r={view:hJ(e,t,`view`,n),create:hJ(e,t,`create`,n),delete:hJ(e,t,`delete`,n)},i=n?mJ:mJ.filter(t=>e.some(e=>e.type===`category`&&e.target===`system`&&e.access.includes(t)));return{isAdmin:n,allDevicesViewable:r.view.all,viewableDeviceCount:r.view.deviceCount,device:r,system:i,capabilities:gJ(e),addons:_J(e)}}var yJ={camera:{type:`camera`,label:`Camera`,icon:`camera`}};function bJ(e,t){let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array.from({length:r+1},(e,t)=>t),a=Array.from({length:r+1},()=>0);for(let o=1;o<=n;o++){a[0]=o;let n=i[0]??0;for(let s=1;s<=r;s++){let r=i[s]??0,c=a[s-1]??0,l=e.charCodeAt(o-1)===t.charCodeAt(s-1)?0:1;a[s]=Math.min(r+1,c+1,n+l),n=r}for(let e=0;e<=r;e++)i[e]=a[e]??0}return i[r]??0}function xJ(e,t){let n=e.trim().toLowerCase(),r=t.trim().toLowerCase();return n===r?1:n.length===0||r.length===0?0:1-bJ(n,r)/Math.max(n.length,r.length)}function SJ(e,t,n=.8){let r=null,i=0;for(let a of t){let t=xJ(e,a);t>=n&&t>i&&(r=a,i=t)}return r}var CJ=`addon:`;function wJ(e){return e.startsWith(CJ)?e.slice(6):e}function TJ(e,t){return wJ(e)===wJ(t)}function EJ(e){return{runId:e.runId,state:e.state,startedAtMs:e.startedAtMs,finishedAtMs:e.finishedAtMs,progress:e.progress,result:e.result,error:e.error}}var DJ=class{opts;runs=new Map;now;constructor(e){this.opts=e,this.now=e.now??Date.now}get runningCount(){let e=0;for(let t of this.runs.values())t.state===`running`&&(e+=1);return e}start(e,t){let n=this.runs.get(e);if(n!==void 0&&n.state===`running`)throw Error(`run '${e}' is already running`);if(this.runningCount>=this.opts.maxConcurrent)throw Error(`busy: ${this.runningCount}/${this.opts.maxConcurrent} run(s) already in progress — wait for one to finish or abort it`);let r={runId:e,state:`running`,startedAtMs:this.now(),finishedAtMs:null,progress:null,result:null,error:null,controller:new AbortController};this.runs.delete(e),this.runs.set(e,r);let i={signal:r.controller.signal,report:e=>{r.progress=e}},a=e=>{e.error===void 0?(r.state=r.controller.signal.aborted?`aborted`:`done`,r.result=e.result??null):(r.state=`failed`,r.error=e.error),r.finishedAtMs=this.now(),this.prune(),this.opts.onSettled?.(EJ(r))},o;try{o=t(i)}catch(e){o=Promise.reject(e)}return o.then(e=>a({result:e}),e=>a({error:e instanceof Error?e.message:String(e)})),EJ(r)}status(e){let t=this.runs.get(e);return t===void 0?null:EJ(t)}list(){let e=[...this.runs.values()],t=e.filter(e=>e.state===`running`).toSorted((e,t)=>t.startedAtMs-e.startedAtMs),n=e.filter(e=>e.state!==`running`).toSorted((e,t)=>(t.finishedAtMs??0)-(e.finishedAtMs??0));return[...t,...n].map(EJ)}abort(e){let t=this.runs.get(e);return t===void 0||t.state!==`running`?!1:(t.controller.abort(),!0)}abortAll(){for(let e of this.runs.values())e.state===`running`&&e.controller.abort()}prune(){let e=[...this.runs.values()].filter(e=>e.state!==`running`).toSorted((e,t)=>(e.finishedAtMs??0)-(t.finishedAtMs??0)),t=e.length-this.opts.keepFinished;for(let n=0;n<t;n++){let t=e[n];t!==void 0&&this.runs.delete(t.runId)}}};function OJ(e,t){if(e.length!==t.length)return 0;let n=0,r=0,i=0;for(let a=0;a<e.length;a++)n+=e[a]*t[a],r+=e[a]*e[a],i+=t[a]*t[a];let a=Math.sqrt(r)*Math.sqrt(i);return a===0?0:n/a}var kJ=class{elementId;cache={};listeners=new Set;loaded=!1;getBackend;constructor(e,t){this.elementId=e,this.getBackend=typeof t==`function`?t:()=>t}async ensureLoaded(){if(this.loaded)return;let e=this.getBackend();if(!e)throw Error(`ElementConfigStore(${this.elementId}): settings backend not available`);let t=await e.query({collection:`config`,filter:{where:{id:this.elementId},limit:1}});t.length>0&&(this.cache=t[0].data??{}),this.loaded=!0}getAll(){return{...this.cache}}get(e){let t=e.split(`.`),n=this.cache;for(let e of t){if(typeof n!=`object`||!n||Array.isArray(n))return;n=Reflect.get(n,e)}return n}async set(e,t){await this.ensureLoaded(),AJ(this.cache,e,t),await this.persist(),this.notifyListeners()}async setAll(e){await this.ensureLoaded(),this.cache={...e},await this.persist(),this.notifyListeners()}onChange(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async load(){await this.ensureLoaded()}async loadDefaults(e){await this.ensureLoaded(),Object.keys(this.cache).length===0&&(this.cache={...e},await this.persist())}async persist(){let e=this.getBackend();if(!e)throw Error(`ElementConfigStore(${this.elementId}): settings backend not available — cannot persist config`);await e.set({collection:`config`,key:this.elementId,value:this.cache})}notifyListeners(){let e=this.getAll();for(let t of this.listeners)try{t(e)}catch{}}};function AJ(e,t,n){let r=t.split(`.`),i=e;for(let e=0;e<r.length-1;e++){let t=r[e],n=i[t];if(typeof n!=`object`||!n||Array.isArray(n)){let e={};i[t]=e,i=e}else i=n}i[r[r.length-1]]=n}function jJ(e,t){return`https://huggingface.co/${e}/resolve/main/${t}`}var MJ=[/^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 NJ(e){return MJ.some(t=>t.test(e))}function PJ(e){try{let t=new URL(e),n=!1;(t.username||t.password)&&(t.username=``,t.password=``,n=!0);for(let e of Array.from(t.searchParams.keys()))NJ(e)&&(t.searchParams.set(e,`***`),n=!0);return n?t.toString():e}catch{return e}}var $=1024*1024,FJ={sampleIntervalMs:6e4,baselineSettleSamples:5,baselineSampleCount:3,restartMultiple:4,floorBytes:1024*$,ceilingBytes:3072*$,cooldownMs:30*6e4,maxRestartsPerWindow:6,restartWindowMs:1440*6e4};function IJ(e){let t=(t,n,r)=>{let i=e[t];if(i===void 0)return n;let a=Number(i);return Number.isFinite(a)&&a>=r?a:n},n=FJ;return{sampleIntervalMs:t(`CAMSTACK_POOL_MEM_INTERVAL_MS`,n.sampleIntervalMs,5e3),baselineSettleSamples:n.baselineSettleSamples,baselineSampleCount:n.baselineSampleCount,restartMultiple:t(`CAMSTACK_POOL_MEM_MULTIPLE`,n.restartMultiple,1.5),floorBytes:t(`CAMSTACK_POOL_MEM_FLOOR_MB`,n.floorBytes/$,128)*$,ceilingBytes:t(`CAMSTACK_POOL_MEM_CEILING_MB`,n.ceilingBytes/$,256)*$,cooldownMs:t(`CAMSTACK_POOL_MEM_COOLDOWN_MS`,n.cooldownMs,6e4),maxRestartsPerWindow:t(`CAMSTACK_POOL_MEM_MAX_RESTARTS`,n.maxRestartsPerWindow,1),restartWindowMs:t(`CAMSTACK_POOL_MEM_RESTART_WINDOW_MS`,n.restartWindowMs,6e4)}}function LJ(e){let t=t=>{let n=e.match(RegExp(`^${t}:\\s+(\\d+)\\s*kB`,`m`));return n?Number(n[1])*1024:null},n=t(`VmRSS`);if(n===null)return null;let r=e.match(/^Threads:\s+(\d+)/m);return{rssBytes:n,vmBytes:t(`VmSize`)??0,hwmBytes:t(`VmHWM`)??0,swapBytes:t(`VmSwap`)??0,threads:r?Number(r[1]):0}}function RJ(){return{settleSeen:0,baselineWindow:[],baselineBytes:null,restartsAt:[],lastRestartAt:null}}function zJ(e){let t=[...e].sort((e,t)=>e-t);return t[Math.floor(t.length/2)]}function BJ(e,t,n){if(e.baselineBytes!==null)return e;if(e.settleSeen<n.baselineSettleSamples)return{...e,settleSeen:e.settleSeen+1};let r=[...e.baselineWindow,t];return r.length<n.baselineSampleCount?{...e,baselineWindow:r}:{...e,baselineWindow:r,baselineBytes:zJ(r)}}function VJ(e,t){return e===null?t.ceilingBytes:Math.min(t.ceilingBytes,Math.max(t.floorBytes,t.restartMultiple*e))}function HJ(e,t,n){return e.filter(e=>t-e<n.restartWindowMs)}function UJ(e,t,n,r){let i=BJ(e,t,r),a=VJ(i.baselineBytes,r);if(t<=a)return{state:i,action:i.baselineBytes===null?`baseline-pending`:`ok`,baselineBytes:i.baselineBytes,thresholdBytes:a};let o=HJ(i.restartsAt,n,r),s={...i,restartsAt:o};return o.length>=r.maxRestartsPerWindow?{state:s,action:`exhausted`,baselineBytes:i.baselineBytes,thresholdBytes:a}:s.lastRestartAt!==null&&n-s.lastRestartAt<r.cooldownMs?{state:s,action:`cooldown`,baselineBytes:i.baselineBytes,thresholdBytes:a}:{state:s,action:`restart`,baselineBytes:i.baselineBytes,thresholdBytes:a}}function WJ(e,t){return{...RJ(),restartsAt:[...e.restartsAt,t],lastRestartAt:t}}function GJ(e){return{...RJ(),restartsAt:e.restartsAt,lastRestartAt:e.lastRestartAt}}function KJ(e){if(e.length===0)return null;let t=e[0];for(let n of e)n.rssBytes/n.thresholdBytes>t.rssBytes/t.thresholdBytes&&(t=n);return t.key}var qJ=class{pools=new Map;timer=null;sweeping=!1;stopped=!1;opts;now;setTimer;clearTimer;constructor(e){this.opts=e,this.now=e.now??(()=>Date.now()),this.setTimer=e.setTimer??((e,t)=>setTimeout(e,t)),this.clearTimer=e.clearTimer??(e=>clearTimeout(e))}start(){this.timer||this.stopped||this.arm()}stop(){this.stopped=!0,this.timer&&=(this.clearTimer(this.timer),null)}arm(){let e=this.setTimer(()=>{this.sweep().finally(()=>{this.stopped||this.arm()})},this.opts.policy.sampleIntervalMs);typeof e.unref==`function`&&e.unref(),this.timer=e}async sweep(){if(!this.sweeping){this.sweeping=!0;try{await this.doSweep()}catch(e){this.opts.log.warn(`pool memory sweep failed`,{meta:{error:e instanceof Error?e.message:String(e)}})}finally{this.sweeping=!1}}}async doSweep(){let e=this.now(),t=await this.opts.sample(),n=[],r=new Map;for(let i of t){let t=this.pools.get(i.key),a=t?.state??RJ();t&&t.pids.length>0&&!JJ(t.pids,i.pids)&&(this.opts.log.warn(`pool process changed outside the watchdog — re-baselining`,{meta:{poolKey:i.key,previousPids:t.pids,pids:i.pids}}),a=GJ(a));let o=UJ(a,i.rssBytes,e,this.opts.policy);this.pools.set(i.key,{state:o.state,pids:i.pids}),r.set(i.key,o),this.opts.log.info(`pool memory`,{meta:{poolKey:i.key,pids:i.pids,rssMb:Math.round(i.rssBytes/$),baselineMb:o.baselineBytes===null?null:Math.round(o.baselineBytes/$),thresholdMb:Math.round(o.thresholdBytes/$),action:o.action,...i.meta}}),o.action===`restart`?n.push({key:i.key,rssBytes:i.rssBytes,thresholdBytes:o.thresholdBytes}):o.action===`cooldown`?this.opts.log.warn(`pool over memory threshold but inside restart cooldown`,{meta:{poolKey:i.key,rssMb:Math.round(i.rssBytes/$),thresholdMb:Math.round(o.thresholdBytes/$),cooldownMs:this.opts.policy.cooldownMs}}):o.action===`exhausted`&&this.opts.log.error(`pool memory watchdog gave up — restart budget exhausted, pool leaks faster than restarts can pay for; needs a heap profile (py-spy / tracemalloc)`,{meta:{poolKey:i.key,rssMb:Math.round(i.rssBytes/$),thresholdMb:Math.round(o.thresholdBytes/$),maxRestartsPerWindow:this.opts.policy.maxRestartsPerWindow,restartWindowMs:this.opts.policy.restartWindowMs}})}for(let e of[...this.pools.keys()])t.some(t=>t.key===e)||this.pools.delete(e);let i=KJ(n);if(i===null)return;let a=n.find(e=>e.key===i),o=r.get(i),s=this.pools.get(i),c=s.state.restartsAt.length+1;this.opts.log.warn(`pool memory watchdog restarting pool — RSS over threshold`,{meta:{poolKey:i,pids:s.pids,rssMb:Math.round(a.rssBytes/$),thresholdMb:Math.round(a.thresholdBytes/$),baselineMb:o.baselineBytes===null?null:Math.round(o.baselineBytes/$),restartsInWindow:c,deferredCandidates:n.filter(e=>e.key!==i).map(e=>e.key)}});try{await this.opts.restart(i),this.pools.set(i,{state:WJ(s.state,this.now()),pids:[]})}catch(e){this.opts.log.error(`pool memory watchdog restart failed`,{meta:{poolKey:i,error:e instanceof Error?e.message:String(e)}})}}};function JJ(e,t){if(e.length!==t.length)return!1;let n=[...e].sort((e,t)=>e-t),r=[...t].sort((e,t)=>e-t);return n.every((e,t)=>e===r[t])}function YJ(e,t,n){let r=t*n;if(r<=0||e.length===0)return Array.from({length:Math.max(0,r)}).fill(!1);let i=Array.from({length:r}).fill(!1);for(let r=0;r<n;r++)for(let a=0;a<t;a++){let o=(a+.5)/t,s=(r+.5)/n;for(let n of e)if(o>=n.x&&o<=n.x+n.w&&s>=n.y&&s<=n.y+n.h){i[r*t+a]=!0;break}}return i}function XJ(e,t,n,r){if(t<=0||n<=0||r<=0)return[];let i=t*n,a=Array.from({length:i}).fill(!1),o=Math.min(e.length,i);for(let t=0;t<o;t++)a[t]=e[t]===!0;let s=[],c=[];for(let e=0;e<=n;e++){let r=[];if(e<n){let n=-1;for(let i=0;i<=t;i++){let o=i<t&&a[e*t+i]===!0;o&&n===-1?n=i:!o&&n!==-1&&(r.push({colStart:n,colEnd:i-1}),n=-1)}}let i=new Set,o=[];for(let t of c){let n=r.findIndex(e=>e.colStart===t.colStart&&e.colEnd===t.colEnd);n>=0?(o.push(t),i.add(n)):s.push({...t,rowEnd:e-1})}for(let t=0;t<r.length;t++)if(!i.has(t)){let n=r[t];o.push({colStart:n.colStart,colEnd:n.colEnd,rowStart:e})}c.length=0;for(let e of o)c.push(e)}if(s.length===0)return[];let l=s.slice().toSorted((e,t)=>{let n=(e.colEnd-e.colStart+1)*(e.rowEnd-e.rowStart+1);return(t.colEnd-t.colStart+1)*(t.rowEnd-t.rowStart+1)-n});return(r>0?l.slice(0,r):l).map(e=>({x:e.colStart/t,y:e.rowStart/n,w:(e.colEnd-e.colStart+1)/t,h:(e.rowEnd-e.rowStart+1)/n}))}var ZJ=class{capacity;items;head=0;tail=0;count=0;constructor(e){this.capacity=e,this.items=Array.from({length:e})}get size(){return this.count}push(e){this.items[this.tail]=e,this.tail=(this.tail+1)%this.capacity,this.count<this.capacity?this.count++:this.head=(this.head+1)%this.capacity}drain(e){let t=[],n=Math.min(e,this.count);for(let e=0;e<n;e++)t.push(this.items[this.head]),this.items[this.head]=void 0,this.head=(this.head+1)%this.capacity;return this.count-=n,t}};async function QJ(e,t){let n=performance.now();try{return{output:t===void 0?await e():await eY(e(),t),durationMs:$J(performance.now()-n),ok:!0}}catch(e){return{output:void 0,durationMs:$J(performance.now()-n),ok:!1,error:Ln(e)}}}function $J(e){return Math.round(e*100)/100}function eY(e,t){return new Promise((n,r)=>{let i=setTimeout(()=>r(Error(`Inference timeout after ${t}ms`)),t);e.then(e=>{clearTimeout(i),n(e)}).catch(e=>{clearTimeout(i),r(e)})})}var tY={openvino:`openvino`,edgetpu:`tflite`,coreml:`coreml`,onnx:`onnx`,cpu:`onnx`,cuda:`onnx`};function nY(e){return tY[e]??`onnx`}var rY={onnx:`onnx`,coreml:`coreml`,openvino:`openvino`,tflite:`tflite`,pytorch:`pt`},iY={coreml:`coreml_inference.py`,pytorch:`pytorch_inference.py`,openvino:`openvino_inference.py`};function aY(e){return rY[e]}function oY(e){return iY[e]}function sY(e){return e===`coreml`||e===`pytorch`||e===`openvino`}function cY(e){let t=e instanceof Float32Array?e:Float32Array.from(e),n=new Uint8Array(t.length*4),r=new DataView(n.buffer);for(let e=0;e<t.length;e+=1)r.setFloat32(e*4,t[e]??0,!0);return Buffer.from(n).toString(`base64`)}function lY(e){let t=Buffer.from(e,`base64`);if(t.byteLength%4!=0)throw Error(`decodeVectorBase64: ${t.byteLength} bytes is not a whole number of Float32 values`);let n=new Float32Array(t.byteLength/4);for(let e=0;e<n.length;e+=1)n[e]=t.readFloatLE(e*4);return n}function uY(e){return Math.floor(Buffer.from(e,`base64`).byteLength/4)}function dY(e,t,n,r,i){if(n.length===0||t.length===0)return{passed:e,excluded:[]};let a=n.filter(e=>e.enabled!==!1),o=a.filter(e=>e.mode===`include`),s=a.filter(e=>e.mode===`exclude`),c=o.length>0,l=new Map(t.map(e=>[e.id,e])),u=[],d=[];for(let t of e){let e=r(t),n=i?.(t),a=o.some(t=>fY(t,e,n,l)),f=s.some(t=>fY(t,e,n,l));c?a&&!f?u.push(t):d.push(t):f?d.push(t):u.push(t)}return{passed:u,excluded:d}}function fY(e,t,n,r){if(e.classFilter&&e.classFilter.length>0&&n!==void 0&&!e.classFilter.includes(n))return!1;for(let n of e.zoneIds){let e=r.get(n);if(e&&pY(t,e.polygon))return!0}return!1}function pY(e,t){if(t.length<3)return!1;let n=!1,{x:r,y:i}=e;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a];o.y>i!=s.y>i&&r<(s.x-o.x)*(i-o.y)/(s.y-o.y||2**-52)+o.x&&(n=!n)}return n}function mY(e,t,n){let r={};for(let i of Object.keys(n))r[i]=n=>e.addons.custom.mutate({addonId:t,action:i,input:n});return r}var hY={value:`auto`,label:`Auto`},gY={value:`cpu`,label:`CPU`},_Y={value:`usb`,label:`Coral USB`},vY=[{id:`onnx`,supports:()=>!0,devices:e=>{if(!e)return[gY];let t=[gY];return e.gpu?.type===`nvidia`&&t.push({value:`cuda`,label:`CUDA`}),e.npu?.type===`apple-ane`&&t.push({value:`coreml`,label:`CoreML EP`}),t},defaultDevice:`cpu`},{id:`openvino`,supports:e=>e?.arch===`x64`&&e.platform!==`darwin`&&e.gpu?.type===`intel`,devices:e=>{if(!e)return[hY];let t=[hY,gY];return e.gpu?.type===`intel`&&t.push({value:`gpu`,label:`GPU`}),e.npu?.type===`intel-npu`&&t.push({value:`npu`,label:`NPU`}),t},defaultDevice:`auto`},{id:`coreml`,supports:e=>e?.platform===`darwin`,devices:e=>{let t={value:`all`,label:`All (ANE + GPU + CPU)`};if(!e)return[t];let n=[t];return e.npu?.type===`apple-ane`&&n.push({value:`ane`,label:`Apple Neural Engine`}),n.push({value:`gpu`,label:`GPU`},gY),n},defaultDevice:`all`},{id:`edgetpu`,supports:e=>e?.coral!=null,devices:()=>[_Y],defaultDevice:`usb`}];function yY(e){let t=vY.find(t=>t.id===e);if(!t)throw Error(`Unknown runtime: ${e}`);return t}function bY(e){return vY.filter(t=>t.supports(e)).map(e=>e.id)}function xY(e,t){return yY(e).devices(t)}function SY(e){return yY(e).defaultDevice}function CY(e){return e===`edgetpu`?`tflite`:aY(e)}function wY(e){let t=[];if(e.platform===`darwin`&&e.arch===`arm64`&&t.push({runtime:`python`,backend:`coreml`,format:`coreml`,score:95,reason:`Apple Neural Engine (Python CoreML)`,available:!0}),e.gpu?.type===`nvidia`&&t.push({runtime:`python`,backend:`cuda`,format:`onnx`,score:85,reason:`NVIDIA CUDA (Python ONNX Runtime)`,available:!0}),e.gpu?.type===`intel`){let n=e.npu?.type===`intel-npu`?90:80;t.push({runtime:`python`,backend:`openvino`,format:`openvino`,score:n,reason:`Intel OpenVINO`,available:!0})}e.coral!=null&&t.push({runtime:`python`,backend:`edgetpu`,format:`tflite`,score:70,reason:`Coral Edge TPU (Python LiteRT)`,available:!0}),t.push({runtime:`python`,backend:`cpu`,format:`onnx`,score:50,reason:`CPU (Python ONNX Runtime)`,available:!0});let n=t.toSorted((e,t)=>t.score-e.score);return{scores:n,best:n.find(e=>e.available)??n[n.length-1]}}var TY={cuda:`gpu`,edgetpu:`usb`,coreml:`all`,cpu:`cpu`};function EY(e,t,n,r){return{key:e===`cpu`?`cpu`:`${e}:${t}`,backend:e,device:t,format:n,runtime:`python`,score:r,available:!0}}function DY(e){let{scores:t}=wY(e),n=[];for(let r of t){if(r.backend===`openvino`){e.npu?.type===`intel-npu`&&n.push(EY(`openvino`,`npu`,r.format,r.score+2)),e.gpu?.type===`intel`&&n.push(EY(`openvino`,`gpu`,r.format,r.score));continue}if(r.backend===`edgetpu`){let t=Math.max(1,e.coral?.count??1);for(let e=0;e<t;e++){let t=e===0?`usb`:`usb:${e}`;n.push(EY(`edgetpu`,t,r.format,r.score))}continue}let t=TY[r.backend]??r.backend;n.push(EY(r.backend,t,r.format,r.score))}return n}export{zV as ACCESSORY_LABEL,tJ as ACCESS_ROLES,Ba as ALEXA_EGRESS_PROFILE,xU as ALL_CAPABILITY_DEFINITIONS,vu as APPEARANCE_BIN_COUNT,yu as APPEARANCE_BLOCKS,_u as APPEARANCE_DESCRIPTOR_VERSION,bu as APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT,Jb as APPLE_SA_TO_MACRO,os as ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT,Io as AUDIO_ANALYSIS_CAP_NAME,Sf as AUDIO_BACKEND_CHOICES,be as AUDIO_CHUNK_FORMATS,Kb as AUDIO_MACRO_LABELS,mf as AUDIO_NOT_CLASSIFIED_REASONS,Bn as AUDIO_PRESETS,RU as AUDIO_SCALE_EPOCH_ISO,zU as AUDIO_SCALE_EPOCH_MS,$A as AccessoriesStatusSchema,X as AccessoryKind,pb as AddBrokerInputSchema,xj as AddonAutoUpdateSchema,hj as AddonListItemSchema,Id as AddonPageDeclarationSchema,Pd as AddonPageInfoSchema,Mg as AdminLinkTargetEnum,a_ as AdoptionAdoptInputSchema,o_ as AdoptionAdoptResultSchema,To as AdoptionCandidateResultSchema,Qg as AdoptionFilterSchema,n_ as AdoptionGetCandidateInputSchema,Eo as AdoptionJobSchema,Co as AdoptionJobStateSchema,e_ as AdoptionListCandidatesInputSchema,t_ as AdoptionListCandidatesOutputSchema,wo as AdoptionOutcomeSchema,s_ as AdoptionReleaseInputSchema,r_ as AdoptionStatusSchema,TD as AgentLoadSummarySchema,Nj as AirQualitySensorStatusSchema,px as AlarmArmModeSchema,mx as AlarmPanelStatusSchema,fx as AlarmStateSchema,af as AlertSchema,tf as AlertSeveritySchema,rf as AlertSourceSchema,nf as AlertStatusSchema,Fj as AmbientLightSensorStatusSchema,HT as AnalyticsLtsSeriesSchema,bC as ApiKeyRecordSchema,vB as ApiKeySummarySchema,ry as AppleFmAvailabilitySchema,ny as AppleFmUnavailableReasonSchema,Rf as ArchiveEntrySchema,zf as ArchiveManifestSchema,cs as ArchivedDebugNoteQueryInputSchema,ss as ArchivedDebugNoteSchema,Tb as AttachmentMediaTypeSchema,Eb as AttachmentSchema,gf as AudioAnalysisResultSchema,_f as AudioAnalysisSettingsSchema,vf as AudioAttachDeviceInputSchema,yf as AudioAttachDeviceResultSchema,Ct as AudioChunkFormatSchema,df as AudioChunkInputSchema,Lj as AudioClassSummarySchema,pf as AudioClassificationLabelSchema,xf as AudioClassificationResultSchema,hf as AudioClassifyOutcomeSchema,Ef as AudioCodecInfoSchema,Df as AudioDecodeSessionConfigSchema,bf as AudioDetachDeviceResultSchema,Aa as AudioEncodeSchema,Of as AudioEncodeSessionConfigSchema,Af as AudioEncodedChunkSchema,Hw as AudioEventSchema,ff as AudioLevelSchema,zj as AudioMetricsHistoryPointSchema,Bj as AudioMetricsHistorySchema,Rj as AudioMetricsSnapshotSchema,kf as AudioPcmChunkSchema,ot as AudioStreamPickSchema,Nf as AuthResultSchema,bj as AutoUpdateSettingsSchema,Sd as AutomationActionSchema,_d as AutomationConditionOperatorSchema,bd as AutomationConditionSchema,Hj as AutomationControlStatusSchema,Cd as AutomationRecipeSchema,xd as AutomationTriggerSchema,PN as AvailableIntegrationTypeSchema,_h as BASE_DEVICE_CAPS,Ra as BASE_LIVE_EGRESS_PROFILE,TH as BATTERY_DEVICE_PROFILE,$V as BATTERY_UNREACHABLE_AFTER_MS,es as BIRTH_DECISION_DEFAULT_LIMIT,wn as BOOT_RECOVERY_BACKOFF_MS,Pm as BUILTIN_RESULT_KINDS,DJ as BackgroundRunRegistry,EN as BacklightModeSchema,Ff as BackupDestinationInfoSchema,Lf as BackupEntrySchema,Hf as BackupRunPhaseSchema,Uf as BackupRunSchema,Vf as BackupRunStateSchema,Wf as BackupTriggerResultSchema,qe as BaseAddon,GV as BaseDevice,QV as BaseDeviceProvider,Wj as BatteryStatusSchema,Kj as BinaryStatusSchema,is as BirthDecisionQueryInputSchema,rs as BirthDecisionRecordSchema,ns as BirthDecisionVerdictSchema,B as BoundingBoxSchema,Jj as BrightnessStatusSchema,$f as BrokerAddInputSchema,Cp as BrokerAudioClientSchema,Dp as BrokerClientsSchema,fb as BrokerConnectionDetailsSchema,Tp as BrokerConsumerAttributionSchema,wp as BrokerConsumerKindSchema,Sp as BrokerDecodedClientSchema,Ep as BrokerEncodedClientSchema,fp as BrokerGetStateInputSchema,db as BrokerInfoSchema,Xf as BrokerProviderInfoSchema,cp as BrokerPublishInputSchema,Yf as BrokerRegistryStatusSchema,xp as BrokerRtspClientSchema,Ot as BrokerStatsSchema,qf as BrokerStatusEnum,Dt as BrokerStatusSchema,lp as BrokerSubscribeInputSchema,up as BrokerSubscribeResultSchema,np as BrokerTestConnectionResultSchema,dp as BrokerUnsubscribeInputSchema,xg as BulkRecordSchema,LC as CAMERA_SENSORS_NOT_LOADED,DC as CAMERA_SENSORS_SETTINGS_KEY,Bo as CAMERA_SWITCH_CATALOG,ko as CAMERA_SWITCH_ORDER,TC as CAMERA_TRIGGER,at as CAM_PROFILE_ORDER,yU as CAPABILITY_NAMES,bU as CAPABILITY_ROUTER_KEYS,vU as CAP_NAMES_WITH_STATUS,Rt as CAP_NODE_PIN_CONTEXT_KEY,OU as CAP_PROVIDER_KIND_MAP,Ks as CLASS_MAP_MACRO_TARGETS,cA as CLIP_BROKER_PACED_RATES,hA as CLIP_PLAYBACK_OPTIONS,uA as CLIP_REALTIME_SOURCE_RATES,qk as CLIP_REASON_HEADER_MAX,Bu as CLIP_SEARCH_STRICTNESS,Xk as CLIP_STILL_DISPOSITION_HEADER,Yk as CLIP_STILL_REASON_CODE_HEADER,Kk as CLIP_STILL_REASON_HEADER,lA as CLIP_STREAM_SOURCE_RATES,Zk as CLIP_STREAM_TRANSPORT_HEADER,Hu as CLIP_STRICTNESS_FACTOR,Ru as CLIP_VECTOR_INDEX_PATTERN,RC as CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS,zC as CLUSTER_MODEL_SCOPED_STEPS,BC as CLUSTER_MODEL_SECTION_ID,ew as CLUSTER_STEP_SETTING_FIELDS,Vb as COCO_80_LABELS,Gb as COCO_TO_MACRO,Mi as COMPOSED_DEVICE_STABLE_ID_PREFIX,eh as COMPOSED_ITEM_FIXED_FIELDS,Ai as COMPOSER_ADDON_ID,cg as COMPOSER_RUNNER_ID,dm as COMPOSITION_EVENT_CATEGORY,Ji as COMPOSITION_ITEM_ARRAY_PATH,Ki as COMPOSITION_ITEM_KEY_RE,gM as CONNECTION_TEST_TIMEOUT_MS,nH as CONTAINER_CHILD_PRIORITY,Wh as CORE_BLOCKS_ADDON_ID,Uh as CORE_BLOCK_ADDON_PREFIX,ji as CUSTOMIZATION_BLOCK_NAME_PREFIX,S as CamProfileSchema,mz as CamStreamDescriptorSchema,st as CamStreamKindSchema,ct as CamStreamResolutionSchema,jD as CameraAssignmentStatusSchema,VD as CameraAudioStatusSchema,MD as CameraBrokerProfileSchema,ND as CameraBrokerStatusSchema,Zj as CameraCredentialsSchema,Qj as CameraCredentialsStatusSchema,PD as CameraDecoderShmSchema,FD as CameraDecoderStatusSchema,zD as CameraDetectionPhaseSchema,RD as CameraDetectionProvisioningSchema,LD as CameraDetectionProvisioningStateSchema,BD as CameraDetectionStatusSchema,kE as CameraMetricsSchema,AE as CameraMetricsWithDeviceIdSchema,ID as CameraMotionStatusSchema,GB as CameraOccupancySnapshotForDeviceSchema,HD as CameraRecordingModeSchema,UD as CameraRecordingStatusSchema,PC as CameraSensorAttachmentSchema,kC as CameraSensorRefSchema,MC as CameraSensorsConfigSchema,jC as CameraSensorsModeSchema,FC as CameraSensorsNotForwardedSchema,IC as CameraSensorsStatusSchema,AD as CameraSourceStatusSchema,kD as CameraSourceStreamSchema,GD as CameraStatusDegradationReasonSchema,KD as CameraStatusDegradationSchema,JD as CameraStatusSchema,WD as CameraStatusStageSchema,lt as CameraStreamSchema,Ao as CameraSwitchAuthoritySchema,Po as CameraSwitchGroupSchema,Oo as CameraSwitchIdSchema,No as CameraSwitchSchema,jo as CameraSwitchUnavailableReasonSchema,Mo as CameraSwitchWarningSchema,$g as CandidateQueryFilterSchema,hC as CapScopeSchema,DD as CapabilityBindingsSchema,oM as CarbonMonoxideStatusSchema,In as ChargingStatus,cv as ClaimOutcomeSchema,uv as ClaimsListingSchema,vs as ClearTrackRelationInputSchema,ys as ClearTrackRelationResultSchema,sF as ClientNetworkStatsSchema,lM as ClimateControlStatusSchema,iA as ClipBytesOfferSchema,rA as ClipBytesSchema,WL as ClipExportFailureSchema,zu as ClipModelMetaSchema,dA as ClipPlaybackOptionsSchema,$k as ClipPlaybackSchema,Qk as ClipSchema,Vu as ClipSearchStrictnessSchema,fA as ClipSourceAvailabilitySchema,pA as ClipSourceSchema,Gk as ClipStillDispositionSchema,Wk as ClipStillRefusalCodeSchema,oA as ClipStreamAudioReasonSchema,aA as ClipStreamAudioSchema,sA as ClipStreamDialSchema,eA as ClipWakeSchema,_F as ClusterAddonNodeDeploymentSchema,vF as ClusterAddonStatusEntrySchema,QD as ClusterModelChoiceSchema,Sg as CollectionColumnSchema,Cg as CollectionIndexSchema,mM as ColorStatusSchema,Bh as ComposableCapabilitiesSchema,zh as ComposableCapabilitySchema,Rh as ComposableFieldSchema,dg as ComposerApplyInputSchema,pg as ComposerApplyResultSchema,lg as ComposerBlockSchema,fg as ComposerBlockVerdictSchema,ug as ComposerUnreadableBlockSchema,Bi as CompositionBindingSchema,Zh as CompositionBlockInputSchema,jm as CompositionBlockStateSchema,Hi as CompositionCodeSourceSchema,Gi as CompositionCommandTargetSchema,ag as CompositionCustomizationReadSchema,pm as CompositionEventPlanSchema,ta as CompositionExistingTargetSchema,Vi as CompositionExpressionSourceSchema,Tm as CompositionFeatureModeSchema,Em as CompositionFeaturePlanSchema,Qi as CompositionFeatureSchema,Sm as CompositionFieldItemSchema,ym as CompositionFieldKindSchema,Cm as CompositionFieldPlanSchema,Li as CompositionFieldReadSchema,xm as CompositionFieldRoleSchema,Ui as CompositionFieldSourceSchema,km as CompositionFieldStateKindSchema,Am as CompositionFieldStateSchema,Xi as CompositionFieldsFeatureSchema,Wi as CompositionForwardCommandSchema,Ri as CompositionFromSourceSchema,ig as CompositionGetReadSchema,oh as CompositionGraphError,Yi as CompositionItemEntrySchema,rg as CompositionListReadSchema,zi as CompositionLiteralBindingSchema,ea as CompositionNewTargetSchema,Zi as CompositionPassthroughFeatureSchema,_m as CompositionProblemCodeSchema,vm as CompositionProblemSchema,Om as CompositionRunStatusSchema,ra as CompositionSchema,Ii as CompositionSourceRefSchema,eg as CompositionStateReadSchema,na as CompositionTargetSchema,bm as CompositionUnavailableModeSchema,Dm as CompositionValidationSchema,tg as CompositionViewSchema,H_ as ConfigEntrySchema,Ud as ConfigSectionWithValuesSchema,Hd as ConfigTabDeclarationSchema,yM as ConnectionTestDescriptorSchema,vM as ConnectionTestInputSchema,_M as ConnectionTestOutcomeSchema,xM as ConnectivityStatusSchema,TM as ConsumableItemSchema,wM as ConsumableRemainingSchema,CM as ConsumableRemainingUnitSchema,EM as ConsumablesStatusSchema,OM as ContactStatusSchema,AM as ControlKindSchema,jM as ControlStatusSchema,rd as ConvertArtifactSchema,id as ConvertResultSchema,td as ConvertTargetSchema,og as CoreBlockCompileResultSchema,Yh as CoreBlockInputSchema,qh as CoreBlockPlacementSchema,W as CoreBlockSchema,Xh as CoreBlockSourceSchema,Jh as CoreBlockStatusSchema,PM as CoverStateSchema,FM as CoverStatusSchema,yB as CreateApiKeyInputSchema,bB as CreateApiKeyResultSchema,LN as CreateIntegrationInputSchema,SB as CreateScopedTokenInputSchema,CB as CreateScopedTokenResultSchema,gB as CreateUserInputSchema,jj as CustomActionInputSchema,hg as CustomModelDescriptorSchema,Qe as DATAPLANE_SECRET_HEADER,hR as DAYS_PER_WEEK,vR as DAY_NAMES,fH as DECLARED_DEVICE_SWEEP_LIMIT,uH as DECLARED_INTEGRATION_FIXED_KEY,ho as DEFAULT_ADDON_PLACEMENT,Cf as DEFAULT_AUDIO_ANALYZER_CONFIG,UC as DEFAULT_CLUSTER_STEP_MODELS,aw as DEFAULT_CLUSTER_STEP_SETTINGS,Og as DEFAULT_DECODER_HWACCEL_CONFIG,wq as DEFAULT_DETAIL_CROP_CONVENTION,lc as DEFAULT_EVENTS_BAND_BUFFER_SEC,Qb as DEFAULT_EVENT_COLOR,Fs as DEFAULT_FEATURES,Er as DEFAULT_FIRST_SIGHTING_FRESHNESS_MS,$C as DEFAULT_MIN_LANDMARK_FACE_SIZE_PX,Q as DEFAULT_NATIVE_LEASE_SETTINGS,Su as DEFAULT_OVERLAY_LAYERS,FJ as DEFAULT_POOL_MEMORY_POLICY,hc as DEFAULT_RECORDING_PROFILES,Do as DEFAULT_RETENTION,Ht as DEFAULT_RUNTIME_STATE_DURABILITY,pq as DEFAULT_TIMELAPSE_PREVIEW_TEXT,LV as DEFAULT_TOKEN_EXPIRY,zo as DERIVED_CAMERA_SILENCED_CAP_NAMES,kq as DETAIL_CROP_PADDING_FIELD,xq as DETAIL_CROP_PADDING_KEY,bq as DETAIL_CROP_SECTION_ID,Sq as DETAIL_CROP_SQUARE_KEY,Ub as DETECTION_MACRO_CLASSES,Fo as DETECTION_PIPELINE_CAP_NAME,tY as DEVICE_BACKEND_TO_FORMAT,wU as DEVICE_CAP_NAMES,cn as DEVICE_CHILDREN_BATCH_MAX,EH as DEVICE_PROFILES,qV as DEVICE_RESTORE_RETRY_CONCURRENCY,KV as DEVICE_RESTORE_RETRY_DELAYS_MS,Sn as DEVICE_SCOPED_CAPS,qt as DEVICE_SETTINGS_CONTRIBUTION_METHODS,MV as DEVICE_STATE_READERS,Jt as DEVICE_STATUS_METHOD,mH as DEVICE_TYPE_CONTROL_KIND,yJ as DEVICE_TYPE_INFO,OH as DISPLAY_ICON_GROUPS,AH as DISPLAY_ICON_KEYS,jH as DISPLAY_ICON_OFFERED_KEYS,kH as DISPLAY_ICON_VOCABULARY,kV as DOORBELL_RISE_DEBOUNCE_MS,yA as DOORBELL_SOURCE_SLOT,Tg as DataStoreEngineInfoSchema,LM as DayNightModeSchema,BM as DayNightOptionsSchema,VM as DayNightSettingsPatchSchema,zM as DayNightStatusSchema,pH as DeclaredDevices,wt as DecodedAudioChunkSchema,yt as DecodedFrameSchema,Ll as DecoderSessionConfigSchema,Il as DecoderStatsSchema,zN as DeleteIntegrationResultSchema,Cq as DetailCropConventionSchema,Ys as DetectionCatalogClassMapSchema,Lw as DetectionSourceSchema,iD as DetectionSourcesSchema,Ng as DeviceAdminLinkSchema,KN as DeviceCodeSeveritySchema,VV as DeviceConfig,Xg as DeviceDiscoveryStatusSchema,__ as DeviceExportExposeInputSchema,m_ as DeviceExportStatusSchema,v_ as DeviceExportUnexposeInputSchema,Fn as DeviceFeature,V_ as DeviceInfoSchema,cF as DeviceNetworkStatsSchema,XV as DeviceRestoreRetryScheduler,D as DeviceRole,HV as DeviceRuntimeState,gC as DeviceSelectorSchema,UM as DeviceStatusSchema,E as DeviceType,Wz as DiagnosticIdSchema,Zz as DiagnosticWindowPatchSchema,Xz as DiagnosticWindowSchema,Yg as DiscoveredChildDeviceSchema,Jg as DiscoveredChildStatusSchema,j_ as DiscoveredDeviceSchema,Ib as DiscoveredTargetSchema,qD as DiskReconcileJobSchema,Ze as DisposerChain,_A as DoorbellPressEventSchema,vA as DoorbellSourceSlotValueSchema,gA as DoorbellStatusSchema,_v as EMBEDDING_MODEL_FAILED,yv as EMBEDDING_REQUIREMENTS_FAILED,vv as EMBEDDING_REQUIREMENTS_UNAVAILABLE,uO as EVENTFUL_CAP_NAMES,xT as EVENT_DENSITY_BATCH_MAX,lO as EVENT_KIND_BY_CAP,ya as EVENT_OWNER_TYPES,Xs as EVENT_PAD_MS,rx as EVENT_TAXONOMY,FL as EXPORT_DENSE_MAX_RANGES,Br as EXPRESSION_BUILTINS,Vr as EXPRESSION_BUILTIN_NAMES,qr as EXPRESSION_COMPILE_CACHE_CAPACITY,Jr as EXPRESSION_IDENTIFIER_RE,Ei as EXPRESSION_INJECTED_NOW,TA as EXTENSION_HOST_DEVICE_TYPES,CA as EXTENSION_SLOTS,xA as EXTENSION_SLOT_IDS,DA as EXTENSION_SLOT_LISTING_METHOD,EA as EXTENSION_SLOT_REF_SEPARATOR,QT as EffectiveTuningSchema,Np as EgressEncodeSchema,Pp as EgressRateControlSchema,Fp as EgressTranscodeRequestSchema,Ip as EgressTranscodeSchema,kJ as ElementConfigStore,mv as EmbeddingFailedModelSchema,hv as EmbeddingFailedRequirementSchema,gv as EmbeddingInfoSchema,bv as EmbeddingRefusalCodeSchema,fv as EmbeddingResultSchema,pv as EmbeddingTowerSchema,ja as EncodeProfileSchema,vt as EncodedPacketSchema,$d as EnrichedWidgetMetadataSchema,GM as EnumSensorDateTimeFormatSchema,KM as EnumSensorStatusSchema,ge as EventCategory,bT as EventDensityBucketSchema,ST as EventDensityForDeviceSchema,YM as EventEmitterStatusSchema,JM as EventFireSchema,fw as EventKindCategorySchema,mw as EventKindDescriptorSchema,dw as EventKindIconSchema,lw as EventKindSchema,hw as EventKindsForDeviceSchema,_p as EventMediaArtifactSchema,vp as EventMediaCoverageSchema,gp as EventMediaKindSchema,yp as EventMediaProductionSchema,ba as EventOwnerTypeSchema,fa as EventSourceType,YL as ExportBytesSchema,VL as ExportClipSubjectSchema,PL as ExportDenseRangeSchema,IL as ExportDenseSchema,qL as ExportDownloadSchema,BL as ExportFootageSubjectSchema,RL as ExportOptionsSchema,UL as ExportRecordSchema,f_ as ExportSetupFieldSchema,p_ as ExportSetupSchema,NL as ExportSpeedSchema,zL as ExportStateSchema,HL as ExportSubjectSchema,LL as ExportTimelapseSchema,g_ as ExposedDeviceSchema,TN as ExposureModeSchema,pd as ExpressionBindingSourceSchema,k as ExpressionEvalError,ud as ExpressionFieldBindingSchema,fd as ExpressionGlobalBindingSchema,dd as ExpressionLiteralBindingSchema,O as ExpressionParseError,md as ExpressionSourceSchema,LA as ExtensionCandidateSchema,RA as ExtensionCandidatesSchema,zA as ExtensionSetResultSchema,VA as ExtensionSetSlotInputSchema,MA as ExtensionSlotActivationSchema,SA as ExtensionSlotIdSchema,BA as ExtensionSlotRefInputSchema,FA as ExtensionSlotRowSchema,jA as ExtensionSlotSourceSchema,NA as ExtensionSlotStateSchema,PA as ExtensionSlotUnreachableSchema,wA as ExtensionSlotValueSchema,OA as ExtensionSourceAvailabilitySchema,AA as ExtensionSourceHealthSchema,kA as ExtensionSourceSchema,EV as FEEDER_EXAMPLE_ADDON_ID,TV as FEEDER_EXAMPLE_HA_DEVICE_ID,vr as FFMPEG_PATH_ENV,qs as FIRST_LEVEL_MACRO_CLASSES,Oq as FULL_IMAGE_BBOX,jv as FailureContributionSchema,ru as FailureCounters,Av as FailureReasonCountSchema,lN as FanControlStatusSchema,cN as FanDirectionSchema,Az as FeatureManifestSchema,dN as FeatureProbeStatusSchema,sv as FieldClaimModeSchema,lv as FieldClaimSchema,pN as FloodStatusSchema,fr as Fmp4BoxSplitter,bt as FrameHandleFormatSchema,C as FrameHandleSchema,lf as FrameInputSchema,fD as FrameLazyCountersSchema,pD as FrameLazyMetricsSchema,BU as G711_SCALE_CORRECTION_DB,hN as GasStatusSchema,rB as GetLoggingSettingsInputSchema,jp as GetStreamWithCodecInputSchema,ED as GlobalMetricsSchema,iM as GridLayoutPatchSchema,rM as GridLayoutViewSchema,Ka as HAP_AUDIO_BASE,Ga as HAP_AUDIO_BITRATE_KBPS,qa as HAP_AUDIO_VBV_KBITS,Ja as HAP_KEYFRAME_INTERVAL_SEC,IV as HF_BASE_URL,FV as HF_REPO,gR as HOURS_PER_DAY,Dg as HWACCEL_OPTIONS,jz as HealthStatusSchema,hy as HfModelResolutionSchema,JB as HistoryPointSchema,KB as HistoryResolutionEnum,_N as HumidifierStatusSchema,yN as HumiditySensorStatusSchema,cM as HvacModeSchema,YD as INFERENCE_DEVICE_EXCLUSION_REASONS,hO as ImageContractSchema,mO as ImageContractStateSchema,CN as ImageRotateSchema,kN as ImageSettingsOptionsSchema,AN as ImageSettingsPatchSchema,ON as ImageSettingsStatusSchema,xN as ImageStatusSchema,XD as InferenceDeviceExclusionReasonSchema,OD as IngestOwnerSchema,gj as InstalledPackageSchema,NN as IntegrationLiteSchema,MN as IntegrationWithStateSchema,VN as IntercomAbilitySchema,HN as IntercomStatusSchema,CU as KNOWN_CAP_NAMES,_T as KeyEventSchema,hl as LEGACY_READ_ONLY_CONFIG_KEY,K_ as LINKED_DEVICES_SLOT,xy as LOAD_CONTRIBUTION_ATTRIBUTIONS,by as LOAD_CONTRIBUTION_ROLES,E_ as LOCATION_DESCRIPTION_MAX,x_ as LOCATION_ICON_FALLBACK,b_ as LOCATION_ICON_IDS,Zl as LOG_CHANNEL_TICK_MS,Is as LOG_LEVEL_RANK,UT as LTS_SCOPE_CLASS_SEPARATOR,Aw as LabelAttributionSchema,Gs as LabelDefinitionSchema,kw as LabelTierSchema,GN as LawnMowerActivitySchema,qN as LawnMowerControlStatusSchema,nl as LedgerWalkDeviceReportSchema,Qc as LedgerWalkInputSchema,$c as LedgerWalkRefusalSchema,rl as LedgerWalkReportSchema,tl as LedgerWalkSkipCountsSchema,el as LedgerWalkSkipReasonSchema,Ol as LegacyStorageLocationDefaultSchema,W_ as LinkedDeviceSchema,U_ as LinkedDevicesModeSchema,G_ as LinkedDevicesSlotValueSchema,Ss as ListTrackRelationsInputSchema,Cs as ListTrackRelationsResultSchema,fy as LlmDefaultSchema,dy as LlmDefaultSelectorSchema,Zv as LlmDownloadProgressSchema,zv as LlmErrorCodeSchema,qv as LlmGenerateBaseInputSchema,Hv as LlmGenerateErrSchema,Bv as LlmGenerateOkSchema,Uv as LlmGenerateResultSchema,Wv as LlmImageSchema,$v as LlmNodeModelSchema,uy as LlmProfileKindDescriptorSchema,sy as LlmProfileKindSchema,cy as LlmProfileSchema,Vv as LlmRefusalSourceSchema,Gv as LlmRetryPolicySchema,iy as LlmRuntimeAppleCompleteInputSchema,ay as LlmRuntimeCancelInputSchema,ty as LlmRuntimeCompleteInputSchema,ey as LlmRuntimeDiskUsageSchema,gy as LlmRuntimeNodeSchema,Qv as LlmRuntimeStatusSchema,Kv as LlmTimeoutDefaults,py as LlmUsageRollupSchema,Rv as LlmUsageSchema,Sy as LoadContributionSchema,OL as LocateSegmentResultSchema,D_ as LocationDescriptionAssignmentSchema,C_ as LocationIconAssignmentSchema,S_ as LocationIconIdSchema,Bf as LocationStatSchema,lP as LockControlStatusSchema,cP as LockStateSchema,wy as LogChannelApplyResultSchema,Ul as LogChannelDescriptorSchema,Gl as LogChannelGate,Hl as LogChannelLevelSchema,Kl as LogChannelRegistry,$z as LogChannelWindowPatchSchema,Wl as LogChannelWindowSchema,Qz as LogChannelWindowStateSchema,Dy as LogEntrySchema,Ey as LogLevelSchema,kj as LogStreamEntrySchema,Jz as LoggingEffectiveSchema,Yz as LoggingExplicitSchema,qz as LoggingLevelLayerSchema,Kz as LoggingLevelSourceSchema,Gz as LoggingScopeKindSchema,eB as LoggingSettingsPatchSchema,aB as LoggingSettingsStateSchema,Ny as LoginMethodContributionSchema,ky as LoginStageEnum,KT as LtsBucketSchema,Hb as MACRO_LABELS,as as MAX_ARCHIVED_DEBUG_NOTES,$o as MAX_BIRTH_DECISION_RECORDS,ts as MAX_BIRTH_LATENCY_PROXY_MS,OC as MAX_CAMERA_SENSORS,Hk as MAX_CLIP_EVENT_IDS,Uk as MAX_CLIP_LABELS,Fi as MAX_COMPOSITION_CODE_LENGTH,Ni as MAX_COMPOSITION_FEATURES,Pi as MAX_COMPOSITION_FIELDS_PER_FEATURE,qi as MAX_COMPOSITION_ITEMS,hd as MAX_CONDITION_DEPTH,gd as MAX_CONDITION_LEAVES,Ur as MAX_EXPRESSION_AST_NODES,Gr as MAX_EXPRESSION_BINDINGS,Kr as MAX_EXPRESSION_CALL_ARGS,Wr as MAX_EXPRESSION_EVAL_STEPS,Hr as MAX_EXPRESSION_SOURCE_LENGTH,eu as MAX_KEYS,$l as MAX_REASONS_PER_KEY,nc as MAX_SENSOR_TRIGGER_DEVICES,ww as MAX_TRACK_DEBUG_NOTE_LEN,us as MAX_TRACK_PURITIES,ls as MAX_TRACK_RELATIONS,pa as MEDIA_OWNER_TYPES,xa as MEDIA_PRESENCE_OWNER_KINDS,SU as METHOD_ACCESS_MAP,EU as METHOD_DEVICE_SELECTORS,mR as MINUTES_PER_DAY,Wu as MODEL_FORMATS,Qu as MODEL_HOSTING,Yu as MODEL_PROVIDER_IDS,bP as MOTION_CLOSE_AFTER_MS,tD as MOTION_SOURCE_LABELS,_H as MOTION_TRIGGER_FEATURE,my as ManagedModelCatalogEntrySchema,Jv as ManagedModelExtraFileSchema,Yv as ManagedModelRefSchema,Xv as ManagedRuntimeConfigSchema,wx as MaskGridDimsSchema,yx as MaskGridShapeSchema,bx as MaskLineShapeSchema,gx as MaskPointSchema,vx as MaskPolygonShapeSchema,Cx as MaskPolygonVerticesSchema,_x as MaskRectShapeSchema,Sx as MaskShapeKindSchema,xx as MaskShapeSchema,Kw as MediaFileInfoSchema,Uw as MediaFileKindEnum,Ww as MediaFileRefSchema,Gw as MediaFileSchema,fP as MediaPlayerRepeatSchema,dP as MediaPlayerStateSchema,mP as MediaPlayerStatusSchema,Sa as MediaPresenceOwnerKindSchema,Oc as MediaRelocateModeSchema,_P as MeshPeerSchema,vP as MeshStatusSchema,fC as MethodAccessSchema,av as MigrateDeviceResultSchema,rv as MigrateSwitchOutcomeSchema,iv as MigrateSwitchReportSchema,ed as ModelCatalogEntrySchema,tb as ModelConvertInputSchema,nd as ModelConvertMetadataSchema,rb as ModelDistributeInputSchema,ib as ModelDistributeResultSchema,Ku as ModelExtraFileSchema,Gu as ModelFormatEntrySchema,qu as ModelFormatsSchema,$u as ModelLicenseSchema,Xu as ModelProviderIdSchema,uE as ModelSubstitutionSchema,Ju as ModelVariantGroupSchema,sb as MotionAnalysisResultSchema,Iw as MotionEventSchema,SP as MotionOnMotionChangedDataSchema,ob as MotionRegionSchema,$E as MotionSourceEnum,eD as MotionSourcesSchema,xP as MotionStatusSchema,TP as MotionTriggerRuntimeStateSchema,wP as MotionTriggerStatusSchema,wC as MotionTriggeredBySchema,kP as MotionZoneOptionsSchema,AP as MotionZonePatchSchema,DP as MotionZoneRegionSchema,OP as MotionZoneStatusSchema,yb as MqttBrokerStatusSchema,_g as MutationFilterSchema,Gq as NATIVE_LEASE_ACTIVITY_FIELD,Lq as NATIVE_LEASE_ACTIVITY_KEY,Jq as NATIVE_LEASE_ADMISSION_FIELD,Rq as NATIVE_LEASE_ADMISSION_KEY,Wq as NATIVE_LEASE_BUDGET_FIELD,Iq as NATIVE_LEASE_BUDGET_KEY,Uq as NATIVE_LEASE_HOLD_FIELD,Fq as NATIVE_LEASE_HOLD_KEY,qq as NATIVE_LEASE_SCENE_BUDGET_FIELD,Bq as NATIVE_LEASE_SCENE_BUDGET_KEY,Pq as NATIVE_LEASE_SECTION_ID,Kq as NATIVE_LEASE_TILE_BUDGET_FIELD,zq as NATIVE_LEASE_TILE_BUDGET_KEY,WP as NAVIGATION_ACTION_CATALOG,YP as NAVIGATION_LIGHT_LEVEL_MAX,JP as NAVIGATION_LIGHT_LEVEL_MIN,ZG as NC_ALARM_OPENING_EVENT_KINDS,kx as NC_ALARM_SYSTEM_EVENT_KINDS,eW as NC_AUDIO_CONFIRM_HITS_DEFAULT,rW as NC_AUDIO_CONFIRM_HITS_MAX,nW as NC_AUDIO_CONFIRM_HITS_MIN,aW as NC_AUDIO_CONFIRM_WINDOW_MAX_SEC,iW as NC_AUDIO_CONFIRM_WINDOW_MIN_SEC,tW as NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT,Kx as NC_AUDIO_DBFS_FLOOR,qU as NC_AUDIO_DB_MAX,KU as NC_AUDIO_DB_MIN,YU as NC_AUDIO_DB_OFFERED,JU as NC_AUDIO_DB_STEP,oW as NC_AUDIO_DEFAULTS,ZU as NC_AUDIO_HIT_PERCENT_MAX,XU as NC_AUDIO_HIT_PERCENT_MIN,$U as NC_AUDIO_SAMPLING_MAX_SEC,QU as NC_AUDIO_SAMPLING_MIN_SEC,LG as NC_AUDIO_SEED,Ox as NC_AUTHORABLE_SYSTEM_EVENT_KINDS,DW as NC_BASE_CONDITION_KEYS,Ax as NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS,SG as NC_CAMERA_SCOPE_CAP_NAME,cS as NC_CLIP_POST_ROLL_DEFAULT_SEC,sS as NC_CLIP_PRE_ROLL_DEFAULT_SEC,cC as NC_CLIP_RETENTION_MAX_SEC,LS as NC_CONDITION_CATALOG,hS as NC_CONFIRM_DEFAULT_MAX_IMAGE_PX,mS as NC_CONFIRM_DEFAULT_TIMEOUT_MS,pS as NC_CONFIRM_MAX_TIMEOUT_MS,fS as NC_CONFIRM_MIN_TIMEOUT_MS,Nx as NC_CONSUMABLE_LOW_PERCENT_DEFAULT,Px as NC_CONSUMABLE_LOW_PERCENT_MAX,jx as NC_CONSUMABLE_SYSTEM_EVENT_KINDS,zx as NC_DEFAULT_SNOOZE_MINUTES,HS as NC_HISTORY_LIMIT_DEFAULT,US as NC_HISTORY_LIMIT_MAX,Lx as NC_MAX_PER_TRACK_IMMEDIATE,IG as NC_OCCUPANCY_DEFAULTS,bS as NC_RULE_CLEARABLE_KEYS,BG as NC_RULE_EDITOR_SECTION_ORDER,gG as NC_RULE_KIND_SPECS,kG as NC_RULE_SECTIONS,nK as NC_SENSOR_RAISED_FIELD_BY_KIND,rK as NC_SENSOR_TRANSITION_KINDS,tK as NC_SENSOR_TRANSITION_NEVER_FIRES_WARNING,sK as NC_SENSOR_TRANSITION_UNSUPPORTED_REASON,UK as NC_SERVER_PACKAGE_NAME,Rx as NC_SNOOZE_MAX_MINUTES,yG as NC_SYSTEM_DELIVERY,ZW as NC_SYSTEM_EVENT_CONDITION_FILTER_KEYS,qW as NC_SYSTEM_EVENT_FAMILIES,YW as NC_SYSTEM_EVENT_FAMILY,QW as NC_SYSTEM_EVENT_FAMILY_FILTERS,WW as NC_SYSTEM_EVENT_FILTER_KEYS,$W as NC_SYSTEM_EVENT_KIND_GROUP_SPECS,jK as NC_SYSTEM_EVENT_SUMMARY_FAMILIES,aG as NC_SYSTEM_RULE_KINDS,Mx as NC_TANK_SYSTEM_EVENT_KINDS,dx as NC_TAXONOMY,xK as NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS,bK as NC_TEMPLATE_VARS,WK as NC_UPDATE_EVENT_PACKAGE_NAMES,eF as NETWORK_LINK_TYPES,nF as NETWORK_LINK_UNKNOWN,FE as NativeCropBboxSchema,JT as NativeCropRefSchema,IE as NativeCropResultSchema,NP as NativeDetectionSchema,Vq as NativeLeaseAdmissionSchema,Hq as NativeLeaseSettingsSchema,MP as NativeObjectClassEnum,IP as NativeObjectDetectionOptionsSchema,RP as NativeObjectDetectionRuntimeStateSchema,LP as NativeObjectDetectionSettingsPatchSchema,PP as NativeObjectDetectionStatusSchema,FP as NativeObjectGeometryEnum,UP as NavigationActionEntrySchema,VP as NavigationActionIdSchema,HP as NavigationEntryKindSchema,KP as NavigationFeaturesSchema,qP as NavigationLightModeSchema,XP as NavigationModeSchema,BP as NavigationMoveCommandSchema,GP as NavigationPointSchema,QP as NavigationRuntimeStateSchema,ZP as NavigationStatusSchema,sC as NcAlarmConfigSchema,nC as NcAlarmModeCoverageSchema,$S as NcAlarmSettingsPatchSchema,QS as NcAlarmSettingsSchema,eC as NcAlarmSkipReasonSchema,tC as NcAlarmSkippedDeviceSchema,qx as NcAudioConditionSchema,lC as NcClipRetentionAskSchema,uC as NcClipRetentionPlanSchema,IS as NcConditionDescriptorSchema,rS as NcConditionsSchema,gS as NcConfirmExpectSchema,_S as NcConfirmSchema,Jx as NcCrossingSchema,Tx as NcDeliverySchema,tS as NcDeviceStateConditionSchema,VS as NcHistoryEntrySchema,WS as NcHistoryFilterSchema,zS as NcHistoryRecordKindSchema,RS as NcHistoryStatusSchema,BS as NcHistorySubjectSchema,oS as NcLinkedCameraModeSchema,aS as NcMediaFrameSchema,lS as NcMediaPolicySchema,Gx as NcOccupancyConditionSchema,Wx as NcPlateMatcherSchema,Zx as NcRuleActionSchema,Qx as NcRuleActionSequenceSchema,eS as NcRuleActionsSchema,xS as NcRuleClearableKeySchema,vS as NcRuleInputSchema,DS as NcRuleKindSchema,GS as NcRuleLastRunSchema,KS as NcRuleLastRunsSchema,$x as NcRuleNotificationButtonSchema,yS as NcRulePatchSchema,CS as NcRuleSchema,iS as NcRuleTargetSchema,SS as NcRuleUpdateInputSchema,nS as NcSceneConditionSchema,Vx as NcScheduleSchema,Bx as NcScheduleWindowSchema,Yx as NcSensorTransitionSchema,JS as NcSnoozeInputSchema,YS as NcSnoozeSchema,qS as NcSnoozeScopeSchema,XS as NcSnoozeSuppressedSchema,TS as NcStateSummaryPreviewSchema,wS as NcStateSummaryPreviewSectionSchema,Fx as NcSystemEventConditionSchema,Hx as NcSystemEventDeliveryModeSchema,Ux as NcSystemEventDeliverySchema,Ex as NcSystemEventKindSchema,sx as NcTaxonomyEntrySchema,cx as NcTaxonomySchema,kS as NcTemplateFamilySchema,AS as NcTemplateFieldSchema,PS as NcTemplatePreviewInputSchema,FS as NcTemplatePreviewSchema,NS as NcTemplateVarContextSchema,MS as NcTemplateVarDescriptorSchema,jS as NcTemplateVarGroupSchema,OS as NcTemplateVarKindSchema,ES as NcTestResultSchema,uS as NcThrottleGranularitySchema,dS as NcThrottleSchema,Xx as NcZoneConditionSchema,Sb as NetworkAccessStatusSchema,Mz as NetworkAddressSchema,xb as NetworkEndpointSchema,tF as NetworkLinkStatusSchema,TF as NodeDirectoryEntrySchema,EF as NodeDirectorySchema,Ob as NotificationActionIconSchema,kb as NotificationActionSchema,Db as NotificationFormatSchema,Ab as NotificationSchema,jF as NotifierStatusSchema,FF as NumericSensorStatusSchema,XH as OPERATOR_WRITTEN_STALE_MS,Ws as OPS_LOG_DEFAULT_LIMIT,Us as OPS_LOG_RING_DEFAULT_MAX,tu as OVERFLOW_REASON,xu as OVERLAY_LAYERS,_e as OWNER_ONLY_EVENT_CATEGORIES,SC as OauthIntegrationDescriptorSchema,Vw as ObjectEventSchema,hD as OccupancyBurstRefusalSchema,rO as OccupancyLookAnswerSchema,tO as OccupancyLookRefusalSchema,nO as OccupancyLookRequestSchema,lR as OnboardFieldSupportSchema,aR as OnboardRecordTrackSchema,uR as OnboardScheduleSupportSchema,iR as OnboardStorageSchema,rR as OnboardStorageVolumeSchema,Rs as OpsLogDomainSchema,Vs as OpsLogEntrySchema,zs as OpsLogOpSchema,Hs as OpsLogQueryInputSchema,Bs as OpsLogReasonSchema,OE as OrchestratorMetricsSchema,LF as OsdOverlayKindEnum,VF as OsdOverlayPatchSchema,zF as OsdOverlaySchema,RF as OsdPositionEnum,KF as OsdRenderOutcomeEnum,qF as OsdRenderResultSchema,WF as OsdSlotBindingSchema,GF as OsdSlotViewSchema,YF as OsdSourceOptionSchema,UF as OsdSourceSchema,JF as OsdSourceValueTypeEnum,BF as OsdStatusSchema,rt as PEER_BYTES_CHUNK_BYTES,tt as PEER_BYTES_MAX_OUTSTANDING,nt as PEER_BYTES_STALL_MS,et as PEER_BYTES_TICKET_TTL_MS,yh as PENDING_BLOCK_ID,QF as PET_FEEDER_MANUAL_FEED_MAX,ZF as PET_FEEDER_MANUAL_FEED_MIN,Ro as PIPELINE_ANALYTICS_CAP_NAME,QB as PIPELINE_FLOW_CAPABILITY_NAMES,$B as PIPELINE_OWNER_CAPABILITY_NAMES,Lo as PRIVACY_MASK_CAP_NAME,kU as PROVIDER_KIND_CAP_NAMES,Wt as PROVIDER_PIN_FIELD,iY as PYTHON_SCRIPT,_j as PackageUpdateSchema,vj as PackageVersionInfoSchema,RE as ParkRefusalSchema,zE as ParkTrackFrameResultSchema,LE as ParkedFrameKindSchema,BE as ParkedTrackFrameSchema,My as PasskeyLoginMethodSchema,hk as PasskeySummarySchema,Tf as PcmSampleFormatSchema,it as PeerBytesTicketSchema,VB as PerScopeBreakdownSchema,tI as PetFeederStatusSchema,Bp as PickStreamPreferencesSchema,zp as PickStreamRequirementsSchema,Vp as PickedCamStreamSchema,wD as PipelineAssignmentSchema,eE as PipelineDefaultStepSchema,Y as PipelineEngineChoiceSchema,EE as PipelineRunResultBridge,lE as PipelineStepInputSchema,dE as PipelineValidationIssueSchema,fE as PipelineValidationResultSchema,Op as PlaceholderReasonSchema,ME as PolygonPointSchema,qJ as PoolMemoryWatchdog,TI as PowerMeterStatusSchema,OI as PresenceStatusSchema,AI as PressureSensorStatusSchema,FI as PrivacyMaskOptionsSchema,II as PrivacyMaskPatchSchema,NI as PrivacyMaskRegionSchema,MI as PrivacyMaskShapeSchema,PI as PrivacyMaskStatusSchema,kt as ProfileRtspEntrySchema,dt as ProfileSlotSchema,ut as ProfileSlotStatusSchema,A_ as ProviderStatusSchema,ZI as PtzAutotrackRuntimeStateSchema,JI as PtzAutotrackSettingsSchema,XI as PtzAutotrackStatusSchema,YI as PtzAutotrackTargetOptionSchema,GI as PtzHomePresetSchema,KI as PtzHomeReturnSchema,HI as PtzMoveCommandSchema,WI as PtzOptionsSchema,VI as PtzPositionSchema,zI as PtzPresetFunctionSchema,BI as PtzPresetSchema,UI as PtzStatusSchema,G as QueryFilterSchema,Ha as RATE_CONTROL_RELAXED,Va as RATE_CONTROL_TIGHT,WH as REACHABILITY_FAILURES_TO_OFFLINE,UH as REACHABILITY_POLL_INTERVAL_MS,GH as REACHABILITY_PROBE_TIMEOUT_MS,dl as RECOGNITION_TYPES,rc as RECORDING_AUDIO_TRIGGER_OFFERED_DBFS,JL as RECORDING_EXPORT_MAX_READ_BYTES,eL as RECORDING_SOURCE_CAMSTACK,tL as RECORDING_SOURCE_CAMSTACK_ADDON,pL as RECORDING_TIMELINE_BATCH_MAX,Go as REDACTED_SECRET,Yr as RESERVED_BINDING_NAMES,LR as RESERVED_COLLECTION_SOURCES,FU as RESTORED_CAP_NAMES,xV as ROOM_EXAMPLE_MOTION_SOURCES,bV as ROOM_EXAMPLE_TEMPERATURE_SOURCES,yV as ROOM_OCCUPANCY_WINDOW_MS,ou as ROOT_BUCKET_KEY,RV as RUNTIME_DEFAULTS,jU as RUNTIME_STATE_POLICY,YH as RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS,rY as RUNTIME_TO_FORMAT,mn as RawStateResultSchema,AL as ReadGopBytesResultSchema,kL as ReadSegmentBytesResultSchema,jL as ReadWindowBytesResultSchema,Ft as ReadinessRegistry,At as ReadinessTimeoutError,IT as RebuildObjectEmbeddingsRefusalSchema,pT as RecentTracksPageSchema,fT as RecentTracksQueryInput,tR as RecordTriggerSchema,nR as RecordWindowSchema,mL as RecordingAvailabilityForDeviceSchema,iL as RecordingAvailabilitySchema,sc as RecordingBandAudioSchema,ac as RecordingBandModeSchema,cc as RecordingBandSchema,oc as RecordingBandTriggersSchema,pc as RecordingConfigSchema,hL as RecordingDaysForDeviceSchema,aL as RecordingDaysSchema,gL as RecordingDeviceUsageSchema,_L as RecordingLocationUsageSchema,oL as RecordingManifestSchema,ec as RecordingObjectTriggerClassSchema,dR as RecordingOnboardOptionsSchema,fR as RecordingOnboardPatchSchema,oR as RecordingOnboardStatusSchema,uL as RecordingPlaybackSchema,nL as RecordingRangeSchema,rL as RecordingReadSchema,CL as RecordingRebalanceInputSchema,yL as RecordingRebalanceMoveSchema,SL as RecordingRebalancePlanSchema,bL as RecordingRebalanceSkipReasonSchema,xL as RecordingRebalanceSkipSchema,fc as RecordingRetentionSchema,FR as RecordingSignalRuntimeStateSchema,PR as RecordingSignalStatusSchema,sL as RecordingSourceAvailabilitySchema,lL as RecordingSourceOptionsSchema,cL as RecordingSourceSchema,fL as RecordingStatusSchema,$s as RecordingStorageModeSchema,vL as RecordingStorageUsageSchema,ic as RecordingTriggersSchema,Zs as RecordingWeekdaySchema,Ay as RedirectLoginMethodSchema,al as RelocatableMediaCountInputSchema,il as RelocatableMediaCountSchema,Tc as RelocateFootageClassSchema,Ec as RelocateFootageInputSchema,wc as RelocateJobSchema,Cc as RelocateJobStateSchema,kc as RelocateMediaInputSchema,Xc as RelocateResidueInputSchema,Zc as RelocateResidueSchema,Lb as RenderedAsSchema,aD as ReportMotionInputSchema,nB as ReportedFailureContributionSchema,tB as ReportedLoadContributionSchema,zz as RequestCensusGroupSchema,Bz as RequestCensusProcedureSchema,Vz as RequestCensusSnapshotSchema,Hz as RequestCensusStatusSchema,Qw as RetrainAnnotationDraftSchema,Jw as RetrainAnnotationKindSchema,Zw as RetrainAnnotationSchema,Yw as RetrainAnnotationSourceSchema,oT as RetrainAssistResultSchema,aT as RetrainAssistSubjectSchema,nT as RetrainCopyRefusalSchema,eT as RetrainFrameCandidateSchema,iT as RetrainFrameListSchema,tT as RetrainFrameSchema,rT as RetrainFrameSelectionSchema,qw as RetrainMacroClassSchema,Cw as RetrainStatusSchema,$w as RetrainTrackSchema,sT as RetrainTransitionResultSchema,ZJ as RingBuffer,Mp as RtpSourceSchema,bp as RtspRestreamEntrySchema,lD as RunnerCameraConfigSchema,uD as RunnerCameraDeviceUIFields,oD as RunnerFrameSourceSchema,cD as RunnerInferenceDeviceSchema,sD as RunnerJumpStepProvisioningSchema,dD as RunnerLocalLoadSchema,mD as RunnerLocalMetricsSchema,BR as SCENE_CONDITIONS,ez as SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX,$R as SCENE_CONFIRM_DEFAULT_TIMEOUT_MS,ZR as SCENE_DEFAULT_ANCHOR_THRESHOLD,XR as SCENE_DEFAULT_CHECK_INTERVAL_SEC,YR as SCENE_DEFAULT_OBSERVATION_SPACING_SEC,JR as SCENE_DEFAULT_QUIET_SECONDS,QR as SCENE_DEFAULT_UNCOVERED_POLICY,HR as SCENE_DIVERGED,tz as SCENE_RESET_RECAPTURES,IU as SCOPE_PRESETS,yH as SENSOR_FEATURES,xH as SENSOR_MAP,$e as SHARE_VIEW_KINDS,xr as SOURCE_CAPS,yr as SOURCE_CAP_ACTIVE_FIELD,br as SOURCE_CAP_CHANGED_AT_FIELD,Sr as SOURCE_DEVICE_TYPES,Kg as SOURCE_INFO_METADATA_KEY,YK as STATE_LABELS,JK as STATE_LABEL_KEYS,Cu as STATIONARY_OVERLAY_STYLE,Pl as STORAGE_ACCESS_FALLBACK,Al as STORAGE_BYTES_PER_GB,fl as STORAGE_LOCATION_MODES,wz as STREAM_PROFILE_META,Ts as STREAM_QUALITY_LABELS,ul as SUB_DETECTION_TYPES,TU as SYSTEM_CAP_NAMES,DU as SYSTEM_SCOPE_DEVICE_METHODS,qR as SceneCheckSchema,zR as SceneConditionSchema,nz as SceneConfirmSchema,rz as SceneMonitorSchema,KR as SceneMonitorStateSchema,az as SceneMonitorStatusForDeviceSchema,iz as SceneMonitorStatusSchema,GR as SceneReferenceSchema,WR as SceneUnavailableSchema,VR as SceneUncoveredPolicySchema,UR as SceneVerdictSchema,xC as ScopedTokenSchema,xB as ScopedTokenSummarySchema,TT as ScoredObjectEventSchema,uz as ScriptRunnerStatusSchema,yj as SearchResultSchema,EO as SendEmailInputSchema,DO as SendEmailResultSchema,Rb as SendResultSchema,gw as SensorEventSchema,fO as ServerBootModeSchema,bO as ServerPackageStatusSchema,yO as ServerRollbackInfoSchema,CO as ServerUpdateActionResultSchema,xO as ServerUpdateCheckResultSchema,SO as ServerUpdateOutcomeSchema,pO as ServerUpdateStateSchema,eO as SetCameraSensorsInputSchema,iB as SetLoggingSettingsInputSchema,Iz as SetSiteLocationInputSchema,bs as SetTrackPurityInputSchema,xs as SetTrackPurityResultSchema,_s as SetTrackRelationInputSchema,Gd as SettingsPatchSchema,bg as SettingsRecordSchema,Wd as SettingsSchemaWithValuesSchema,Kd as SettingsUpdateResultSchema,kg as ShmRingStatsSchema,Pz as SiteLocationSchema,Nz as SiteLocationSourceSchema,Fz as SiteLocationStatusSchema,O_ as SiteZoneSchema,fz as SmokeStatusSchema,OO as SmtpStatusSchema,AO as SnapshotImageSchema,Hg as SourceInfoSchema,uf as SpatialDetectionSchema,NO as SsoBridgeClaimsSchema,_b as StartEmbeddedInputSchema,UB as StationaryObjectSchema,YO as StorageAbortUploadInputSchema,Nl as StorageAccessSchema,XO as StorageBeginDownloadInputSchema,ZO as StorageBeginDownloadResultSchema,GO as StorageBeginUploadInputSchema,KO as StorageBeginUploadResultSchema,sl as StorageCleanupInputSchema,cl as StorageCleanupJobSchema,ol as StorageCleanupPhaseSchema,ll as StorageCleanupStatusInputSchema,Ml as StorageDrainProgressSchema,$O as StorageEndDownloadInputSchema,ml as StorageEvictionPolicySchema,JO as StorageFinalizeUploadInputSchema,Fl as StorageLocationDeclarationSchema,pl as StorageLocationModeSchema,R as StorageLocationRefSchema,L as StorageLocationSchema,Dl as StorageLocationTypeSchema,Nc as StorageMigrationClassSchema,Pc as StorageMigrationDestinationsSchema,Yc as StorageMigrationDrainInputSchema,Uc as StorageMigrationFindingCodeSchema,Wc as StorageMigrationFindingSchema,Dc as StorageMigrationFootageMoveInputSchema,Lc as StorageMigrationInputSchema,Hc as StorageMigrationJobSchema,Kc as StorageMigrationLaneSchema,I as StorageMigrationLeaseInputSchema,Mc as StorageMigrationMediaMoveInputSchema,Ic as StorageMigrationModeSchema,Bc as StorageMigrationMoveProgressSchema,Vc as StorageMigrationMoveSchema,qc as StorageMigrationMoverSchema,zc as StorageMigrationParticipantSchema,Rc as StorageMigrationPhaseSchema,Gc as StorageMigrationPlanSchema,Jc as StorageMigrationResidueSchema,Fc as StorageMigrationSourcesSchema,VO as StorageOccupancyReportSchema,UO as StorageProviderInfoSchema,QO as StorageReadChunkInputSchema,WO as StorageTestLocationResultSchema,qO as StorageWriteChunkInputSchema,Rp as StreamCodecSchema,hp as StreamFormatSchema,oF as StreamNetworkStatsSchema,xz as StreamParamsOptionsSchema,yz as StreamParamsStatusSchema,vz as StreamProfileConfigSchema,bz as StreamProfileOptionsSchema,Sz as StreamProfilePatchSchema,_z as StreamProfileSchema,tk as StreamSignalSchema,nk as StreamSignalsStatusSchema,gt as StreamSourceEntrySchema,_t as StreamSourceSchema,Tt as SubscribeAudioChunksInputSchema,Et as SubscribeAudioChunksResultSchema,xt as SubscribeFramesInputSchema,St as SubscribeFramesResultSchema,Oz as SwitchStatusSchema,$y as SystemMetricsSchema,rU as SystemMirror,K as TAXONOMY_COLORS,oq as TIMELAPSE_DENSE_FLOOR_SEC,Bl as TIMEZONES,ds as TRACK_RELATIONS_DEFAULT_LIMIT,Wa as TRANSCODE_DOWN_MAX_BITRATE_KBPS,Ua as TRANSCODE_DOWN_MAX_HEIGHT,sB as TamperStatusSchema,kB as TankStatusSchema,Mb as TargetKindCapsSchema,jb as TargetKindLevelSchema,Pb as TargetKindSchema,Fb as TargetSchema,lB as TemperatureSensorStatusSchema,ck as TerminalInstanceInfoSchema,lk as TerminalLegacyCameraSchema,dk as TerminalOutputBatchSchema,uk as TerminalOutputEventSchema,sk as TerminalProfileInfoSchema,ok as TerminalSessionInfoSchema,IN as TestConnectionResultSchema,FN as TestConnectionStatusEnum,zb as TestResultSchema,fq as TimelapseRuleInputSchema,mq as TimelapseRulePatchSchema,hq as TimelapseRuleSchema,$K as TimelapseTemplateSchema,dB as ToastSchema,J as TokenScopeSchema,hF as TopologyNodeSchema,dF as TopologyProcessSchema,uF as TopologyServiceSchema,DT as TrackCascadeCountsSchema,yw as TrackEnvelopeSchema,Dw as TrackFlagsPatchSchema,Ow as TrackFlagsSchema,bw as TrackProjectionSchema,gs as TrackPuritySchema,ms as TrackPurityValueSchema,fs as TrackRelationKindSchema,ws as TrackRelationRefusalSchema,hs as TrackRelationSchema,Pw as TrackSchema,ps as TrackSideSchema,Sw as TrackSourceSchema,cw as TrackStateSchema,uw as TrackZoneFilterSchema,CT as TrackedDetectionSchema,Mw as TrainingExportDeviceTotalsSchema,Nw as TrainingExportSummarySchema,Rz as TransportPlaneCountsSchema,Lz as TransportPlaneSchema,pk as TurnServerSchema,au as UNATTRIBUTED_BUCKET_KEY,iV as UNIT_TABLE,Jf as UnifiedBrokerInfoSchema,aV as UnitConversionError,jc as UnstampedEventMediaCountSchema,Ac as UnstampedRowsSchema,RN as UpdateIntegrationInputSchema,pB as UpdateStatusSchema,_B as UpdateUserInputSchema,yC as UserRecordSchema,hB as UserSummarySchema,Ik as VECTOR_INDEX_DIM_CONFLICT,nA as VIDEOCLIPS_MAX_OFFER_BYTES,tA as VIDEOCLIPS_MAX_READ_BYTES,dc as VISIT_MERGE_GAP_MS,AB as VacuumControlStatusSchema,OB as VacuumStateSchema,MB as ValveStateSchema,NB as ValveStatusSchema,Sk as VectorDeclareIndexInputSchema,Ok as VectorDeleteByFilterInputSchema,Dk as VectorDeleteInputSchema,kk as VectorDeleteResultSchema,yk as VectorFilterSchema,Ak as VectorGetInputSchema,jk as VectorGetResultSchema,bk as VectorItemSchema,xk as VectorMatchSchema,vk as VectorMetadataSchema,_k as VectorMetricSchema,Tk as VectorQueryInputSchema,Ek as VectorQueryResultSchema,zk as VectorStatsInputSchema,Bk as VectorStatsResultSchema,Ck as VectorUpsertInputSchema,wk as VectorUpsertResultSchema,FB as VibrationStatusSchema,ka as VideoEncodeSchema,qA as WEBRTC_CLIMB_HOLD_CODES,za as WEBRTC_EGRESS_PROFILE,JA as WEBRTC_TRY_BLOCKERS,_R as WEEKLY_MASK_LENGTH,Oe as WELL_KNOWN_TABS,ke as WELL_KNOWN_TAB_MAP,LB as WaterHeaterStatusSchema,zB as WeatherStatusSchema,YA as WebrtcClimbHoldSchema,KA as WebrtcLadderDecisionSchema,ZA as WebrtcSessionDebugSchema,GA as WebrtcStreamChoiceSchema,WA as WebrtcStreamTargetSchema,XA as WebrtcTierFailureSchema,wN as WhiteBalanceModeSchema,Jd as WidgetHostEnum,jy as WidgetLoginMethodSchema,Zd as WidgetMetadataSchema,Xd as WidgetRemoteSchema,Yd as WidgetSizeEnum,Y_ as WrapperActivationReadSchema,_O as WrapperEvidenceSchema,vO as WrapperIdentitySchema,gO as WrapperKindSchema,qb as YAMNET_TO_MACRO,Rw as ZoneCrossingDirectionSchema,zw as ZoneCrossingSchema,jE as ZoneKindEnum,sz as ZoneRuleModeEnum,cz as ZoneRuleSchema,XB as ZoneRuleStageEnum,lz as ZoneRulesArraySchema,NE as ZoneSchema,HB as ZoneScopeBreakdownSchema,Xl as __resetLogChannelRegistryForTests,ej as accessoriesCapability,BV as accessoryStableId,Fd as addonPagesCapability,Ld as addonPagesSourceCapability,Vd as addonRoutesCapability,qd as addonSettingsCapability,ef as addonWidgetsCapability,Qd as addonWidgetsSourceCapability,Mj as addonsCapability,nn as adminUiCapability,Pj as airQualitySensorCapability,hx as alarmPanelCapability,of as alertsCapability,Ij as ambientLightSensorCapability,An as asBoolean,Dn as asJsonArray,En as asJsonObject,kn as asNumber,On as asString,gq as assertTimelapseCadences,sf as audioAnalysisCapability,wf as audioAnalyzerCapability,Se as audioChunkBytesPerSample,Mf as audioCodecCapability,lW as audioIsFailClosed,GU as audioKindId,pW as audioLabelChoices,Vj as audioMetricsCapability,cW as audioModeOf,sW as audioOrDefaults,sr as audioPlanFromEncodeProfile,HU as audioScaleEraOf,Pf as authProviderCapability,Ps as autoAssignProfiles,Uj as automationControlCapability,Kf as backupCapability,wJ as bareAddonId,Gj as batteryCapability,SJ as bestLocationMatch,qj as binaryCapability,mY as bindAddonActions,Yj as brightnessCapability,pp as brokerCapability,Ta as buildAddonRouteProvider,Yn as buildAudioArgs,gh as buildCapabilityLookup,Bg as buildDeviceAdminUrl,jV as buildDoorbellCompositionFeature,dO as buildEventKindDescriptor,ir as buildFfmpegArgs,Un as buildInputArgs,Fu as buildModelVariantGroups,ux as buildNcTaxonomy,rJ as buildRoleScopes,Ez as buildStreamParamsConfigSchema,Jn as buildVideoArgs,Vh as builtCapabilityBlockers,Xj as buttonCapability,$j as cameraCredentialsCapability,aM as cameraGridLayoutCapability,mp as cameraPipelineConfigCapability,AC as cameraSensorRefKey,Hp as cameraStreamsCapability,fV as canConvertUnit,oo as canonicalEgressPlan,sM as carbonMonoxideCapability,XJ as cellsToRects,cd as classifyBearerPrincipal,ks as classifyStream,Os as classifyStreams,uM as climateControlCapability,GL as clipExportFailure,KL as clipExportFailureOf,Jk as clipReasonHeaderValue,wi as cloneStatefulExpressionMemory,VC as clusterModelSettingKey,nw as clusterStepSettingFieldsFor,tw as clusterStepSettingKey,Fa as codecIsAccepted,je as collectHydratedFieldEntries,Ne as collectHydratedFieldValues,qo as collectSecretConfigKeys,hM as colorCapability,ax as colorForKind,WJ as commitWatchdogRestart,Na as compareToTarget,di as compileExpression,fi as compileExpressionSafe,Wo as composeSwitchedOff,sa as composedDeviceRef,oa as composedDeviceStableId,mg as composerCapability,dh as compositionEdges,$i as compositionFeatureEnabled,wm as compositionFieldKey,la as compositionItemFieldPath,aa as compositionReadKey,ia as compositionSliceKey,P as compositionSourceKey,Oh as compositionSourceRefs,wd as conditionDepth,DG as conditionExclusionReason,EG as conditionVisibleForKind,bM as connectionTestCapability,SM as connectivityCapability,Ix as consumableLowPercentOf,DM as consumablesCapability,kM as contactCapability,NM as controlCapability,uV as convertUnit,Gh as coreBlockAddonId,$h as coreBlockComposition,Kh as coreBlockIdFromAddonId,Qh as coreBlockSourceKind,sg as coreBlocksCapability,OJ as cosineSimilarity,Td as countConditionLeaves,IM as coverCapability,rV as createDeviceExtensionProvider,xn as createDeviceProxy,Ve as createDurableState,ze as createEvent,vn as createEventBusSliceSource,mi as createExpressionScope,Ya as createHwAccelCache,_n as createLazyTrpcSource,Ql as createLogChannelsProvider,yn as createMirrorSource,ZH as createRuntimeStateBridge,T as createSliceHandle,Ci as createStatefulExpressionMemory,LU as createSystemProxy,an as customAction,gg as customModelRegistryCapability,Eg as dataStoreProviderCapability,HM as dayNightCapability,MR as dayOfWeekToIndex,dH as declarationOwnerNodeId,Yl as declareLogChannel,lY as decodeVectorBase64,Ag as decoderCapability,zG as defaultDeliveryForSection,SY as defaultDeviceFor,rn as defineCustomActions,tV as defineExtensionSlotProvider,eH as deriveBatteryPresence,Ho as deriveCameraSwitches,Aq as deriveDetailCropRect,mc as deriveRecordingMode,Hh as describeComposableCaps,sn as describeCustomActions,Lu as describeModelVariant,NR as describeOnboardClamp,yR as describeOnboardRefusal,sm as describeStateField,IK as describeSystemEventDeliveryProblem,iG as describeSystemEventFamilyProblem,cm as describeTopLevelStateFields,aJ as detectAccessRole,jg as detectionPipelineCapability,Pg as deviceAdminLinkCapability,u_ as deviceAdoptionCapability,nY as deviceBackendToFormat,on as deviceCustomAction,Zg as deviceDiscoveryCapability,y_ as deviceExportCapability,HA as deviceExtensionCapability,ov as deviceManagerCapability,wH as deviceMatchesProfile,hn as deviceOpsCapability,I_ as deviceProviderCapability,sJ as deviceSelectorMatches,dv as deviceStateCapability,WM as deviceStatusCapability,PH as displayIconEntry,FH as displayIconsInGroup,bA as doorbellCapability,AV as doorbellFeatureSources,OG as droppedConditionsForKind,so as egressTranscodeSharingKey,no as egressTransportFromRequest,kv as embeddingEncoderCapability,Sv as embeddingModelFailedError,Ov as embeddingModelFailedOf,Ev as embeddingRefusalOf,wv as embeddingRequirementsFailedError,Cv as embeddingRequirementsUnavailableError,Lt as emitDownForOwnedCaps,Be as emitReadiness,Up as emitsCollectionSelector,Ma as encodeProfileFromStreamShape,cY as encodeVectorBase64,qM as enumSensorCapability,DY as enumerateInferenceDevices,am as enumerateItemArrayFields,im as enumerateSchemaFields,Ln as errMsg,Si as evaluateAst,vV as evaluateCompositionField,Lr as evaluateCount,ki as evaluateExpressionSource,UJ as evaluatePoolMemory,Ir as evaluateRose,Or as evaluateSensorEdge,Dr as evaluateSensorLevelEdge,Ti as evaluateStatefulExpressionCall,dY as evaluateZoneRules,Qt as event,XM as eventEmitterCapability,vl as evictionPolicyForMode,wl as evictionPolicyOfLocation,Ce as expandAudioChunkToF32le,Yt as expandCapMethods,cH as expandContainer,$L as exportSubjectOf,Gm as expressionContainsBuiltinCall,nV as extensionSlotRef,Yp as extractNestedAddonId,qg as extractSourceInfoFromMetadata,sN as faceGalleryCapability,Mv as failureContributionCapability,iu as failureRate,uN as fanControlCapability,ua as featureFieldEntries,fN as featureProbeCapability,da as featureSources,OV as feederCustomizationExample,DV as feederExampleSources,Qa as ffmpegRate,ca as fieldReads,Fv as filesystemBrowseCapability,hh as findCandidateCycles,fh as findCompositionCycles,Vl as findTimezone,mN as floodCapability,lu as foldSnapshotByFunction,aY as formatForRuntime,va as formatMediaOwnerKey,TR as formatMinutes,wu as formatParkedFor,gN as gasCapability,jl as gbToBytes,Md as generateAutomationBlock,Zb as getAudioMacroClassIds,VH as getByPath,AU as getCapsByProviderKind,Jl as getLogChannelRegistry,ix as getTaxonomyEntry,$a as gifDeriveSpeed,eo as gifFilterComplex,to as gifFromMp4Args,vH as hasMotionTrigger,jJ as hfModelUrl,MW as htmlToText,vN as humidifierCapability,bN as humiditySensorCapability,Fe as hydrateSchema,SN as imageCapability,jN as imageSettingsCapability,Km as inferExpressionKinds,Zu as inferModelProvider,RJ as initialPoolMemoryState,BN as integrationsCapability,WN as intercomCapability,WC as interpretStoredClusterModel,GC as invalidClusterStepModelEntries,cr as invocationFromEncodeProfile,vo as isAgentOnlyPlacement,Kp as isArrayOutputSchema,xe as isAudioChunkFormat,TW as isAudioClassName,mW as isAudioLabelSelected,MG as isAudioRule,kW as isBaseConditionKey,tH as isBatteryPresenceFault,HC as isClusterScopedStep,qp as isCollectionArrayMethod,_o as isDeployableToAgent,Wb as isDetectionMacroClass,$t as isDeviceConfigCap,Cn as isDeviceScopedCap,NH as isDisplayIconKey,Dv as isEmbeddingModelFailed,Re as isEvent,wa as isEventOwnerType,Js as isFirstLevelMacroClass,CK as isHeldBackTemplateVar,So as isIsolatedBuiltin,AK as isKnownTemplateVar,kl as isLocationEnabled,ga as isMediaOwnerType,SH as isNode,Gp as isObjectInput,NG as isOccupancyRule,ve as isOwnerOnlyEventCategory,PU as isRestoredCap,TJ as isSameAddonId,qG as isScheduleActive,Ko as isSecretConfigField,Hn as isSoftwareDecode,Cr as isSourceCap,ZK as isStateLabelKey,kr as isStatefulBuiltin,xl as isStorageLocationMode,bG as isSystemDelivery,JW as isSystemEventFamily,NK as isSystemEventSummaryRule,oG as isSystemRuleKind,Rk as isVectorIndexDimConflict,Wp as isVoidInput,VU as ituDbfsFromPreEpoch,tj as jobKindSchema,tm as kebabToCamel,Im as kindOfValue,vG as kindsForDiscriminator,EW as knownValues,JN as lawnMowerControlCapability,lH as legacyAutoLinkIds,yl as legacyModeOf,cj as lifecycleJobSchema,sj as lifecycleJobScopeSchema,oj as lifecycleJobStateSchema,aj as lifecycleTaskSchema,yy as llmCapability,oy as llmRuntimeCapability,Cy as loadContributionCapability,sP as localNetworkCapability,w_ as locationIconKey,xJ as locationSimilarity,uP as lockControlCapability,Vn as logBannerArgs,Ty as logChannelsCapability,Oy as logDestinationCapability,Ls as logLevelAtMost,Py as loginMethodCapability,Jp as looseSchema,ft as makeProfileBrokerId,pt as makeSourceBrokerId,Xb as mapAudioLabelToMacro,IW as markdownToHtmlLite,AW as markdownToText,PJ as maskUrlCredentials,Cl as mayReadLocation,Sl as mayWriteToLocation,hP as mediaPlayerCapability,co as memoizePinnedFfmpeg,Wg as mergeSourceInfo,yP as meshNetworkCapability,w as method,ad as methodAccessForHttpMethod,eb as metricsProviderCapability,Sc as migrateLegacyDeviceSignalConfig,jR as minutesToTimeOfDay,_l as modeMayRead,gl as modeMayWrite,nb as modelConvertCapability,ab as modelDistributorCapability,CY as modelFormatForRuntime,CP as motionCapability,cb as motionDetectionCapability,nD as motionSourceLabel,EP as motionTriggerCapability,jP as motionZonesCapability,bb as mqttBrokerCapability,zP as nativeObjectDetectionCapability,$P as navigationCapability,wb as networkAccessCapability,aF as networkLinkCapability,lF as networkQualityCapability,HK as nodePickerItems,zt as nodePin,DF as nodesCapability,Xe as normalizeAddonInitResult,WU as normalizeAudioLabel,He as normalizeNodeId,pJ as normalizeTokenScopes,Gg as normalizeUnit,Bb as notificationOutputCapability,dC as notificationRulesCapability,PF as notifierCapability,IF as numericSensorCapability,CC as oauthIntegrationCapability,Xp as objectInputDeclaresAddonId,Zp as objectInputDeclaresRequiredDeviceId,WT as occupancyScope,um as optionalAncestors,Zt as optionalMethod,HF as osdCapability,XF as osdManagerCapability,sw as overlayClusterStepSettings,qK as packagePickerItems,Vg as parseAdminBase,Ns as parseCameraStreamConfig,ci as parseExpression,Mn as parseJsonArray,jn as parseJsonObject,Tn as parseJsonUnknown,_a as parseMediaOwnerKey,GT as parseOccupancyScope,LJ as parseProcStatus,mt as parseProfileBrokerId,jG as parseRuleSection,Dz as parseStreamParamsFormPatch,fW as patchAudio,nI as petFeederCapability,bH as pickAccessoryControl,JC as pickClusterStepModels,ow as pickClusterStepSettings,Dq as pickDetailCropConvention,YC as pickInvalidClusterStepModels,eJ as pickNativeLeaseOverride,hu as pickPreferredRtspEntry,KJ as pickRestartCandidate,or as pickVideoEncoder,SW as pickerForCondition,wW as pickerForRuleClasses,qT as pipelineAnalyticsCapability,DE as pipelineExecutorCapability,iO as pipelineOrchestratorCapability,gD as pipelineRunnerCapability,Dh as planComposition,gm as planCompositionEvents,ah as planItems,cI as plateGalleryCapability,wI as platformProbeCapability,VJ as poolMemoryThreshold,EI as powerMeterCapability,UW as prepareNotification,kI as presenceCapability,jI as pressureSensorCapability,ld as principalMayReachAddon,LI as privacyMaskCapability,em as procedureAuthKey,QI as ptzAutotrackCapability,qI as ptzCapability,ye as publicEventCategories,oY as pythonScriptForBackend,La as rankStreams,KC as readClusterStepModels,iw as readClusterStepSettings,Tq as readDetailCropConvention,NV as readDeviceStateFrom,EC as readMotionTriggeredBy,Zq as readNativeLeaseOverride,Vt as readNodePin,_q as readTimelapseGeneratedAt,jt as readinessKey,$I as rebootCapability,ML as recordingArchiveCapability,dL as recordingCapability,eR as recordingExportCapability,pR as recordingOnboardCapability,IR as recordingSignalCapability,YJ as rectsToCells,mu as reducePoints,Ah as replacedFieldKeys,lm as requiredTopLevelKeys,sY as requiresPython,RR as reservedSourceOwner,GJ as resetPoolBaseline,go as resolveAddonExecution,yo as resolveAddonGroup,xo as resolveAddonPlacement,pu as resolveBucketMs,Ut as resolveCapMount,Uu as resolveClipSearchMinScore,QC as resolveClusterStepModelId,sH as resolveContainerPrimaryChild,QL as resolveCreateExportSubject,gH as resolveDeviceControlKind,DH as resolveDeviceProfile,Za as resolveEgressDecodeHwAccel,XL as resolveExportProfiles,RW as resolveFormat,Pe as resolveHydratedFieldValue,T_ as resolveLocationIcon,bl as resolveLocationMode,$p as resolveMethodAuth,CH as resolveMutate,IJ as resolvePoolMemoryPolicy,gc as resolveRecordingProfiles,bo as resolveRunnerId,Wn as resolveStreamMaps,Iu as resolveVariantModelId,fJ as resolveViewableDeviceIds,nJ as roleSpec,wV as roomCompositionExample,QG as ruleBelongsToAlarm,xG as ruleDeviceCompatCapNames,CG as ruleDeviceCompatCapQueries,HG as ruleEditorSectionsForKind,wG as ruleKindOf,_G as ruleKindSpec,PG as ruleMatchesSection,AG as ruleSection,FG as ruleSectionOf,RG as ruleSeedForSection,QJ as runInferenceStep,xY as runtimeDevices,MU as runtimeStatePolicyFor,oz as sceneMonitorCapability,RK as scheduleForSendTimes,Jo as schemaDeclaresAnyField,uJ as scopeInherits,Mt as scopeKey,sd as scopesAllowAddon,od as scopesAllowDeviceCap,wY as scoreRuntimes,dz as scriptRunnerCapability,zH as searchDisplayIcons,ht as selectAssignedProfileSlots,zK as sendTimesOfSchedule,aK as sensorRaisedOf,eK as sensorTransitionNeverFires,oK as sensorTransitionOffered,SK as servedTemplateVars,wO as serverManagementCapability,HH as setByPath,wg as settingsStoreCapability,rF as signalPercentFromBars,iF as signalPercentFromRssi,k_ as siteZoneKey,Nn as sleep,Pn as sleepCancellable,wr as sliceActiveValue,Tr as sliceChangedAt,pz as smokeCapability,kO as smtpProviderCapability,MO as snapshotCapability,PO as ssoBridgeCapability,qH as startReachabilityPoll,QK as stateLabel,PV as stateVocabularyFor,yq as stepModelRunsOnFormat,IO as storageCapability,zO as storageEvictableCapability,BO as storageMigrationCapability,HO as storageOccupancyCapability,ek as storageProviderCapability,Lp as streamBrokerCapability,gz as streamCatalogCapability,Cz as streamParamsCapability,Ds as streamPixels,Es as streamQualityLabel,rk as streamSignalsCapability,uc as stripRetiredBandPreBufferSec,Tl as strippedOfLegacyReadOnly,ox as subKindsOf,RI as summarisePrivacyAudio,vJ as summarizeEffectiveScope,bY as supportedRuntimes,kz as switchCapability,Uo as switchedOffIds,Ug as synthesizeSourceInfo,oB as systemCapability,FK as systemEventDeliveryProblems,nG as systemEventFamilyOf,rG as systemEventFamilyProblems,GW as systemEventFilterApplies,KW as systemEventFilterAppliesToAnyKind,tG as systemEventKindNamesOf,eG as systemEventKindsOfFamily,MK as systemEventSummaryScheduleOf,sG as systemFamilyOfKind,TG as systemRuleKindOf,cB as tamperCapability,ij as taskLogEntrySchema,nj as taskPhaseSchema,rj as taskTargetSchema,uB as temperatureSensorCapability,VK as templateCarriesSummary,wK as templateVarDeliveryApplies,DK as templateVarKindApplies,OK as templateVarSystemEventApplies,kK as templateVarsFor,fk as terminalSessionCapability,FW as textToHtml,AR as timeOfDayToMinutes,ZV as toDeviceSummary,Di as toExpressionValue,Bt as toNodeId,As as toStreamSourceEntry,fB as toastCapability,hW as toggleAudioLabel,ti as tokenize,zW as transcodeBody,dV as tryConvertUnit,mk as turnProviderCapability,sV as unitDimension,pV as unitsForDimension,IA as unreachableExtensionSlotRow,nm as unwrapSchema,mB as updateCapability,DB as userManagementCapability,gk as userPasskeysCapability,jB as vacuumControlCapability,Lh as validateComposition,Oi as validateExpressionSource,Dd as validateRecipeBounds,PB as valveCapability,uY as vectorDimFromBase64,Lk as vectorIndexDimConflictError,Vk as vectorStoreCapability,IB as vibrationCapability,mA as videoclipsCapability,dn as viewerUiCapability,RB as waterHeaterCapability,BB as weatherCapability,UA as webrtcClientHintsSchema,QA as webrtcSessionCapability,ER as weeklyMaskIndex,DR as weeklyMaskIsUniform,OR as weeklyMaskToWindows,kR as windowsToWeeklyMask,fo as wiringAddonHealthSchema,mo as wiringHealthSnapshotSchema,po as wiringNodeHealthSchema,lo as wiringProbeKindSchema,uo as wiringProbeResultSchema,El as withLocationMode,lU as zodEntriesToConfigUI,YB as zoneAnalyticsCapability,ZB as zoneRulesCapability,PE as zonesCapability};