@camstack/addon-admin-ui 1.2.260 → 1.2.261
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.
- package/dist/assets/{AddonCollectionPage-CS0TnWg9.js → AddonCollectionPage--eDij6gR.js} +1 -1
- package/dist/assets/{Addons-C30etjze.js → Addons-DPcMLHlz.js} +1 -1
- package/dist/assets/{AdminTabs-FTjDtV3h.js → AdminTabs-BK7N8lsV.js} +1 -1
- package/dist/assets/{AiProfiles-mbAsm8w-.js → AiProfiles-B7jyJdda.js} +1 -1
- package/dist/assets/{BrokerForm-Q6_-XEV6.js → BrokerForm-ITsMv2qE.js} +1 -1
- package/dist/assets/{Build-DEIHGbUT.js → Build-BBPfMW38.js} +1 -1
- package/dist/assets/{Capabilities-BBNd5xr5.js → Capabilities-CuUy6amU.js} +1 -1
- package/dist/assets/{CapabilityBadges-CrEM9xUa.js → CapabilityBadges-crNVvPMW.js} +1 -1
- package/dist/assets/{Cluster-Bzkxl6x3.js → Cluster-CTZlYWRi.js} +1 -1
- package/dist/assets/{Data-TtTvLPLA.js → Data-vU8VVocG.js} +1 -1
- package/dist/assets/{DetectionIntelligence-DfTa4lpL.js → DetectionIntelligence-CsXbDOMG.js} +1 -1
- package/dist/assets/{DeviceAggregateSection-f6elW-hA.js → DeviceAggregateSection-Bns6q4dh.js} +1 -1
- package/dist/assets/{DeviceDetail-2sfyugFO.js → DeviceDetail-Bf9bvxlm.js} +1 -1
- package/dist/assets/{Devices-Co8wNAQR.js → Devices-DyfNHzjP.js} +1 -1
- package/dist/assets/{EmbedPlayerPage-C-PGfe8W.js → EmbedPlayerPage-OeC5zBSX.js} +1 -1
- package/dist/assets/{Events-BoiEuALN.js → Events-bi-6IwJN.js} +1 -1
- package/dist/assets/{FormBuilder-B3mdR0Gk.js → FormBuilder-GwoY4eBk.js} +1 -1
- package/dist/assets/{Identity-CYZ21kQd.js → Identity-BBIh2my-.js} +1 -1
- package/dist/assets/{IntegrationDetail-DkvBX9o8.js → IntegrationDetail-CKWEoy9C.js} +1 -1
- package/dist/assets/{Integrations-CZio9vzA.js → Integrations-BWWIE00S.js} +1 -1
- package/dist/assets/{Integrations-CxQSQ9fW.js → Integrations-Ciw2g5r2.js} +1 -1
- package/dist/assets/{Locations-D0BRCdcK.js → Locations-2ZAHX5o0.js} +1 -1
- package/dist/assets/{Logs-zkWqa-Zv.js → Logs-D671CkLk.js} +1 -1
- package/dist/assets/{MotionZonesSettings-DPp47_Em.js → MotionZonesSettings-BLY_TxNO.js} +1 -1
- package/dist/assets/{MyAccess-BISLeGOK.js → MyAccess-DhSsXA2u.js} +1 -1
- package/dist/assets/{Network-CopgOYrO.js → Network-B2odAKC8.js} +1 -1
- package/dist/assets/{NodeAddonsSettingsPanel-B5y6dSOO.js → NodeAddonsSettingsPanel-D5FQHmR2.js} +1 -1
- package/dist/assets/{NodeInferenceDevices-MUCKntIr.js → NodeInferenceDevices-C7Az-W_O.js} +1 -1
- package/dist/assets/{Notifications-C-euUn8Y.js → Notifications-Blz8iPpb.js} +1 -1
- package/dist/assets/{Pipeline-CRvLk6_r.js → Pipeline-DoJ8nNnx.js} +1 -1
- package/dist/assets/{Plates-ChoLztf-.js → Plates-IKZ7Utth.js} +1 -1
- package/dist/assets/{PrivacyMaskSettings-Bt6X63Rt.js → PrivacyMaskSettings-CqzEZNtz.js} +1 -1
- package/dist/assets/{ProviderIcon-D9PLOXMZ.js → ProviderIcon-BAV-Rvhs.js} +1 -1
- package/dist/assets/{Recordings-TgH0kxt8.js → Recordings-BP0eyo5u.js} +1 -1
- package/dist/assets/{ScanNetworkModal-lEnThbrW.js → ScanNetworkModal-CU9cvVBy.js} +1 -1
- package/dist/assets/{SceneMonitorEditor-Coey7DkB.js → SceneMonitorEditor-v5nh2Lxc.js} +1 -1
- package/dist/assets/{Scenes-DCGaMi0H.js → Scenes-D1EvPYdu.js} +1 -1
- package/dist/assets/{Settings-Cya6w94r.js → Settings-dgHQMbm7.js} +1 -1
- package/dist/assets/{Showroom-CEIjIU3D.js → Showroom-CsAbqvVD.js} +1 -1
- package/dist/assets/{StorageLocationsPanel-dpSl2bc_.js → StorageLocationsPanel-C2e4eB8x.js} +1 -1
- package/dist/assets/{Terminal-DYbduyac.js → Terminal-hYboOO7b.js} +1 -1
- package/dist/assets/{Viewer-BCs5TInB.js → Viewer-B02QBhjE.js} +1 -1
- package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-BAEaiPOS.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-BKuXrkMW.js} +1 -1
- package/dist/assets/{archive-BDAG8ZtC.js → archive-DIvzskcI.js} +1 -1
- package/dist/assets/{authed-media-BgHAN7mo.js → authed-media-Bd-QFC5W.js} +1 -1
- package/dist/assets/{boxes-CGA7dQAX.js → boxes-CSKKBi4u.js} +1 -1
- package/dist/assets/circle-slash-CteLsla4.js +1 -0
- package/dist/assets/{debounced-invalidate-DUhUAjlV.js → debounced-invalidate-BV3nDQPS.js} +1 -1
- package/dist/assets/{dist-Cxb_X-h6.js → dist-BbIc-rCH.js} +1 -1
- package/dist/assets/{dist-CIB8yuhW.js → dist-C4v18q8H.js} +1 -1
- package/dist/assets/{face-bbox-q-9rvLF7.js → face-bbox-BvbTxaCS.js} +1 -1
- package/dist/assets/{hard-drive-download-DXfQNx7b.js → hard-drive-download-B2GSnQHz.js} +1 -1
- package/dist/assets/{hostInit-DHzuQRJh.js → hostInit-DSbv4-s9.js} +1 -1
- package/dist/assets/{index-Dx7jiq4X.js → index-DAAsNMtg.js} +3 -3
- package/dist/assets/{layers-D-Qb89PK.js → layers-BBmKM8YT.js} +1 -1
- package/dist/assets/{location-owned-usage-C-JLRZgq.js → location-owned-usage-kZ5sn58L.js} +1 -1
- package/dist/assets/{mf-entry-bootstrap-0-19449b84.js → mf-entry-bootstrap-0-86b82436.js} +2 -2
- package/dist/assets/{player-overlays-BHhXtyqA.js → player-overlays-DRIy-fCw.js} +1 -1
- package/dist/assets/remoteEntry-554FIKL7.js +1 -0
- package/dist/assets/{send-DtWddy40.js → send-DHfS_uWJ.js} +1 -1
- package/dist/assets/{settings-2-a-fUhkjD.js → settings-2-BBZVr4ih.js} +1 -1
- package/dist/assets/{square-check-big-DBadJoiu.js → square-check-big-D11rDTUh.js} +1 -1
- package/dist/assets/{src-DJhS86y-.js → src-CsP-9WJl.js} +1 -1
- package/dist/assets/{src-D1KVMjXF.js → src-CvEqSgs7.js} +11 -11
- package/dist/assets/{use-scenes-feed-Cgbz38uA.js → use-scenes-feed-BrKLinIU.js} +1 -1
- package/dist/assets/{use-stationary-objects-NIqG_ma3.js → use-stationary-objects-BK5BDo2O.js} +1 -1
- package/dist/assets/useEventInvalidation-apdOrvxA.js +1 -0
- package/dist/assets/{useNodeUrlSelection-CjOpKTO_.js → useNodeUrlSelection-DjLiOaP3.js} +1 -1
- package/dist/assets/user-round-kptqRABF.js +1 -0
- package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-CXmVBdRr.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-BmTwfqc6.js} +2 -2
- package/dist/index.html +5 -5
- package/dist/server/addon.js +6 -2
- package/package.json +1 -1
- package/dist/assets/circle-slash-xqjuzvya.js +0 -1
- package/dist/assets/remoteEntry-BnoRpCyV.js +0 -1
- package/dist/assets/useEventInvalidation-DE-QGHTV.js +0 -1
- package/dist/assets/user-round-BFvKN2vL.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{vt as e}from"./player-overlays-DRIy-fCw.js";var t=e(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{K as e,Q as t,S as n,W as r,q as i,x as a,z as o}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-DhP-Lgiq.js";import{_t as s,gt as c,ht as l}from"./player-overlays-
|
|
1
|
+
import{K as e,Q as t,S as n,W as r,q as i,x as a,z as o}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-DhP-Lgiq.js";import{_t as s,gt as c,ht as l}from"./player-overlays-DRIy-fCw.js";import{Cu as u,Su as d}from"./src-CvEqSgs7.js";t();var f={fromMs:null,toMs:null},p=36e5,m=24*p;function h(e,t){switch(e){case`24h`:return{fromMs:t-m,toMs:null};case`7d`:return{fromMs:t-7*m,toMs:null};case`30d`:return{fromMs:t-30*m,toMs:null};case`all`:return f}}function g(e){return e.fromMs!==null||e.toMs!==null}function _(e,t){return g(t)?e.filter(e=>!(t.fromMs!==null&&e.timestamp<t.fromMs||t.toMs!==null&&e.timestamp>t.toMs)):[...e]}function v(e,t){return t.size===0?[...e]:e.filter(e=>t.has(e.deviceId))}function y(e){let t=new Set,n=[];for(let r of e)t.has(r.deviceId)||(t.add(r.deviceId),n.push(r.deviceId));return n}function b(e){if(!e)return null;let t=Date.parse(`${e}T00:00:00`);return Number.isNaN(t)?null:t}function x(e){if(!e)return null;let t=Date.parse(`${e}T23:59:59.999`);return Number.isNaN(t)?null:t}function S(e,t){if(!Number.isFinite(e)||e<=0)return`—`;let n=t-e;return n<6e4?`just now`:n<p?`${String(Math.floor(n/6e4))}m ago`:n<m?`${String(Math.floor(n/p))}h ago`:n<7*m?`${String(Math.floor(n/m))}d ago`:new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function C(e){return!Number.isFinite(e)||e<=0?`—`:new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function w(e){return!Number.isFinite(e)||e<=0?`—`:new Date(e).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function T(e,t,n){let[a,s]=i(1);o(()=>{s(1)},[n]);let c=e.length,l=Math.max(1,Math.ceil(c/t)),u=Math.min(a,l);return o(()=>{u!==a&&s(u)},[u,a]),{page:u,setPage:s,pageItems:r(()=>{let n=(u-1)*t;return e.slice(n,n+t)},[e,u,t]),totalPages:l,totalItems:c,pageSize:t}}var E=2;function D(e,t){if(t<=1)return[{kind:`page`,n:1}];if(t<=7){let e=[];for(let n=1;n<=t;n++)e.push({kind:`page`,n});return e}let n=[],r=Math.max(2,e-E),i=Math.min(t-1,e+E);n.push({kind:`page`,n:1}),r>2&&n.push({kind:`ellipsis`,side:`left`});for(let e=r;e<=i;e++)n.push({kind:`page`,n:e});return i<t-1&&n.push({kind:`ellipsis`,side:`right`}),n.push({kind:`page`,n:t}),n}function O({currentPage:e,totalItems:t,pageSize:r,onPageChange:i,itemNoun:o=`items`}){if(t<=r)return null;let s=Math.ceil(t/r),c=(e-1)*r+1,u=Math.min(e*r,t),f=D(e,s),p=`inline-flex h-7 min-w-7 items-center justify-center rounded-md px-2 text-[11px] transition-colors disabled:opacity-40`;return n(`div`,{className:`flex items-center justify-between gap-4 flex-wrap pt-2 text-[11px] text-foreground-subtle`,children:[n(`span`,{children:[`Showing `,c,`–`,u,` of `,t,` `,o]}),n(`div`,{className:`flex items-center gap-1`,children:[a(`button`,{type:`button`,className:`${p} hover:bg-surface-hover`,onClick:()=>i(e-1),disabled:e<=1,"aria-label":`Previous page`,children:a(d,{className:`h-3.5 w-3.5`})}),f.map(t=>t.kind===`ellipsis`?a(`span`,{className:`px-1 opacity-60`,children:`…`},`ellipsis-${t.side}`):a(`button`,{type:`button`,className:`${p} ${t.n===e?`bg-primary/12 text-primary font-medium`:`hover:bg-surface-hover hover:text-foreground`}`,onClick:()=>i(t.n),"aria-current":t.n===e?`page`:void 0,children:t.n},t.n)),a(`button`,{type:`button`,className:`${p} hover:bg-surface-hover`,onClick:()=>i(e+1),disabled:e>=s,"aria-label":`Next page`,children:a(l,{className:`h-3.5 w-3.5`})})]})]})}t();function k({cameras:t,selected:r,onChange:l}){let[d,f]=i(!1),p=e(null);o(()=>{if(!d)return;function e(e){p.current&&e.target instanceof Node&&!p.current.contains(e.target)&&f(!1)}function t(e){e.key===`Escape`&&f(!1)}return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[d]);function m(e){let t=new Set(r);t.has(e)?t.delete(e):t.add(e),l(t)}let h=r.size,g=h===0?`All cameras`:h===1?t.find(e=>r.has(e.id))?.name??`1 camera`:`${String(h)} cameras`;return n(`div`,{ref:p,className:`relative`,children:[n(`button`,{type:`button`,onClick:()=>f(e=>!e),disabled:t.length===0,className:`flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-xs transition-colors disabled:opacity-40 ${h>0?`border-primary/40 bg-primary/8 text-primary`:`border-border text-foreground-subtle hover:bg-surface-hover hover:text-foreground`}`,children:[a(s,{className:`h-3.5 w-3.5`}),a(`span`,{className:`max-w-[10rem] truncate`,children:g}),a(c,{className:`h-3 w-3 opacity-70`})]}),d&&n(`div`,{className:`absolute left-0 z-30 mt-1 max-h-64 w-[min(15rem,calc(100vw-1.5rem))] overflow-y-auto rounded-md border border-border bg-surface p-1 shadow-lg shadow-black/30`,children:[h>0&&a(`button`,{type:`button`,onClick:()=>l(new Set),className:`mb-1 w-full rounded px-2 py-1 text-left text-[11px] text-foreground-subtle hover:bg-surface-hover hover:text-foreground`,children:`Clear selection`}),t.map(e=>{let t=r.has(e.id);return n(`button`,{type:`button`,onClick:()=>m(e.id),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-xs transition-colors ${t?`bg-primary/10 text-primary`:`text-foreground hover:bg-surface-hover`}`,children:[a(`span`,{className:`flex h-3.5 w-3.5 shrink-0 items-center justify-center rounded-sm border ${t?`border-primary bg-primary text-white`:`border-border`}`,children:t&&a(u,{className:`h-2.5 w-2.5`})}),a(`span`,{className:`truncate`,children:e.name})]},e.id)})]})]})}t();var A=[{label:`24h`,value:`24h`},{label:`7d`,value:`7d`},{label:`30d`,value:`30d`},{label:`All`,value:`all`}];function j({onChange:e}){let[t,r]=i(`all`),[o,s]=i(``),[c,l]=i(``);function u(t){r(t),s(``),l(``),e(h(t,Date.now()))}function d(t,n){r(`custom`),s(t),l(n),e({fromMs:b(t),toMs:x(n)})}let f=`rounded-md border border-border bg-surface px-2 py-1.5 text-[11px] text-foreground outline-none focus:border-primary [color-scheme:light] dark:[color-scheme:dark]`;return n(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[a(`div`,{className:`flex items-center gap-1 rounded-md border border-border p-0.5`,children:A.map(e=>a(`button`,{type:`button`,onClick:()=>u(e.value),className:`rounded px-2.5 py-1 text-[11px] transition-colors ${t===e.value?`bg-primary/12 text-primary font-medium`:`text-foreground-subtle hover:bg-surface-hover hover:text-foreground`}`,children:e.label},e.value))}),n(`div`,{className:`flex items-center gap-1`,children:[a(`input`,{type:`date`,"aria-label":`From date`,value:o,max:c||void 0,onChange:e=>d(e.target.value,c),className:`${f} ${t===`custom`&&o?`border-primary/50`:``}`}),a(`span`,{className:`text-[11px] text-foreground-subtle`,children:`→`}),a(`input`,{type:`date`,"aria-label":`To date`,value:c,min:o||void 0,onChange:e=>d(o,e.target.value),className:`${f} ${t===`custom`&&c?`border-primary/50`:``}`})]})]})}t();var M=2.6;function N({src:e,alt:t,className:r,overlay:s,fit:c=`contain`}){let[l,u]=i(!1),[d,f]=i(`50% 50%`);o(()=>{u(!1),f(`50% 50%`)},[e]);function p(e){if(!l){let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width*100,r=(e.clientY-t.top)/t.height*100;f(`${String(n)}% ${String(r)}%`)}u(e=>!e)}let m=c===`natural`;return a(`div`,{className:`relative overflow-hidden bg-background ${r??``}`,onClick:p,children:n(`div`,{className:`relative select-none transition-transform duration-200 ease-out ${m?`w-full`:`h-full w-full`} ${l?`cursor-zoom-out`:`cursor-zoom-in`}`,style:{transformOrigin:d,transform:l?`scale(${String(M)})`:`scale(1)`},children:[a(`img`,{src:e,alt:t,draggable:!1,className:m?`block h-auto w-full object-contain`:`h-full w-full object-contain`}),s]})})}function P(e){let{delayMs:t,invalidate:n,setTimeoutFn:r=setTimeout,clearTimeoutFn:i=clearTimeout}=e,a;function o(){a===void 0&&(a=r(()=>{a=void 0,n()},t))}function s(){a!==void 0&&(i(a),a=void 0)}return{trigger:o,cancel:s}}export{O as a,y as c,C as d,S as f,k as i,v as l,N as n,T as o,w as p,j as r,f as s,P as t,_ as u};
|
|
@@ -346,4 +346,4 @@ ${r.triggers.map((e,t)=>Bl(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 nR)t=t.replace(e,n);return t.replace(/\n{3,}/g,`
|
|
348
348
|
|
|
349
|
-
`).trim()}var iR=[[/&/g,`&`],[/</g,`<`],[/>/g,`>`],[/"/g,`"`],[/'/g,`'`]];function aR(e){let t=e;for(let[e,n]of iR)t=t.replace(e,n);return t}function oR(e){return aR(e).replace(/\n/g,`<br>`)}function sR(e){return aR(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 cR={text:[`text`,`markdown`,`html`],markdown:[`markdown`,`html`,`text`],html:[`html`,`text`,`markdown`]};function lR(e,t){for(let n of cR[e]??cR.text)if(t.includes(n))return n;return t[0]??`text`}function uR(e,t,n){if(t===n)return e;if(n===`text`){if(t===`markdown`)return tR(e);if(t===`html`)return rR(e)}if(n===`html`){if(t===`text`)return oR(e);if(t===`markdown`)return sR(e)}if(n===`markdown`){if(t===`text`)return e;if(t===`html`)return rR(e)}return e}function dR(e){return{id:e.id,ordinal:e.ordinal,...e.flags?{flags:e.flags}:{},...e.requires?{requires:e.requires}:{}}}function fR(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 dR(n)}let n=e.filter(e=>e.ordinal!==null);if(n.length===0)return dR(e[0]);let r=t.priority;return dR([...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 pR(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 mR(e,t){let n=[],r=t.format,i=lR(r,e.format);i!==r&&n.push(`format`);let a=uR(t.body,r,i),o=fR(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 ee=null;t.sound!==void 0&&(e.sound?ee=t.sound:n.push(`sound`));let te=null;t.ttl!==void 0&&(e.ttl?te=t.ttl:n.push(`ttl`));let ne=t.tag??null,re=pR(a,e.bodyMaxLen),m=re.length>1,ie={level:o?.id??``,format:i,attachmentsSent:c.length,actionsSent:f.length,truncated:m,dropped:n};return{body:re[0]??``,...t.title===void 0?{}:{title:t.title},format:i,level:o,attachments:c,actions:f,clickUrl:p,sound:ee,ttl:te,tag:ne,bodyParts:re,renderedAs:ie}}var hR=`An occupancy edge is not a sensor event: it carries no sensor kind, so this condition can never match one.`,gR=`An occupancy edge carries no device event-type token — that comes from an event-emitter slice, which a count crossing has none of.`,_R=`An occupancy edge is always produced by the pipeline, so any other source can never match and “pipeline” narrows nothing.`,vR=`A confirmed sound window is always stamped as an audio subject, so any other source can never match.`,yR=`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.`,bR=`A sound window’s evidence is a percentage of samples, not a detector score, so a confidence threshold can never be satisfied.`,xR=`A sound has no position in the frame, so a zone or a drawn polygon can never match it.`,SR=[{kind:`detection`,label:`Conditions`,excluded:{},carriesMedia:!0,carriesSubjectCrop:!0},{kind:`sensor`,label:`Conditions`,excluded:{},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:hR,eventTypeTokens:gR,source:_R},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:yR,classesExclude:yR,minConfidence:bR,zones:xR,zonesExclude:xR,customZones:xR,crossing:xR,labelEquals:yR,identities:yR,identitiesExclude:yR,plates:yR,source:vR},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:`system`,label:`Events`,discriminator:`systemEvent`,excluded:{},carriesMedia:!1,carriesSubjectCrop:!1,blurb:`The installation itself: a camera or stream dropping, a node leaving, an update landing. There is no detection behind it and no frame to attach.`}];function CR(e){return SR.find(t=>t.kind===e)??SR[0]}var wR=`system-event`;function TR(e){return e===wR}function ER(e){return TR(e.delivery)?`system`: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 DR(e,t,n){let r=CR(n);return e.id===r.discriminator?!0:e.appliesTo.includes(t)?r.excluded[e.id]===void 0:!1}function OR(e,t){let n=CR(t);return e===n.discriminator?null:n.excluded[e]??null}function kR(e,t){let n=CR(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 AR=[{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.`},{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.`},{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.`},{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.`},{key:`system`,label:`System events`,blurb:`Rules about the installation itself: a camera or stream dropping, a node leaving the cluster, an addon or server update becoming available. These carry no image and are not tied to a detection.`,newRuleLabel:`New system rule`,emptyHint:`No system-event rules yet. These tell you when a camera drops, a node leaves or an update lands.`}];function jR(e){return AR.find(t=>t.key===e)??AR[0]}function MR(e){return AR.find(t=>t.key===e)?.key}function NR(e){return e.conditions.audio!==void 0}function PR(e){return e.conditions.occupancy!==void 0}function FR(e,t){return t===`all`?!0:t===`system`?TR(e.delivery):t===`audio`?NR(e):t===`occupancy`?PR(e):!TR(e.delivery)&&!NR(e)&&!PR(e)}function IR(e){return FR(e,`system`)?`system`:FR(e,`audio`)?`audio`:FR(e,`occupancy`)?`occupancy`:`detection`}var LR={op:`became-occupied`,count:1,sustainSeconds:15},RR={hitPercent:PL.hitPercent,samplingSeconds:PL.samplingSeconds,dbThreshold:CL};function zR(e){switch(e){case`system`:return{delivery:wR,conditions:{}};case`audio`:return{delivery:`immediate`,conditions:{audio:RR}};case`occupancy`:return{delivery:`device-event`,conditions:{occupancy:LR}};default:return{delivery:`immediate`,conditions:{}}}}function BR(e){return zR(e).delivery}var VR=[`rule`,`devices`,`conditions`,`notification`,`actions`,`advanced`],HR={rule:`Rule`,devices:`Cameras`,conditions:`Conditions`,notification:`Notification`,actions:`Actions`,advanced:`Advanced`};function UR(e){let t=CR(e),n=[];for(let r of VR)r===`devices`&&e===`system`||n.push({key:r,label:r===`conditions`?t.label:HR[r]});return n}var WR={Sun:0,Mon:1,Tue:2,Wed:3,Thu:4,Fri:5,Sat:6};function GR(e,t){let n=new Date(e);if(t!==void 0)try{let e=new Intl.DateTimeFormat(`en-US`,{timeZone:t,weekday:`short`,hour:`numeric`,minute:`numeric`,hourCycle:`h23`}).formatToParts(n),r,i,a;for(let t of e)t.type===`weekday`?r=t.value:t.type===`hour`?i=Number(t.value):t.type===`minute`&&(a=Number(t.value));let o=r===void 0?void 0:WR[r];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 KR(e,t){if(e===void 0)return!0;let{day:n,minute:r}=GR(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 qR=[`body`],Z=[`title`,`body`],JR=[`device-battery-low`,`device-battery-normal`],YR=[`device-consumable-low`,`device-consumable-normal`],XR=[`addon-update-available`,`server-update-available`,`wrapper-update-available`],ZR=[`addon-update-available`,`server-update-available`],QR=[`alarm-triggered`,`alarm-armed`,`alarm-disarmed`,`alarm-arming`,`alarm-arm-refused`],$R=[`alarm-triggered`],ez=[`device-online`,`device-offline`,`device-disabled`,`device-enabled`,...JR,...YR,`stream-online`,`stream-offline`,`detection-blind`,...QR],tz=[{name:`camera`,label:`Camera`,example:`Ingresso`,group:`subject`,families:[`rule`,`timelapse`],systemEventKinds:[...ez,`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:[...$R]},{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:[...$R]},{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:[...$R]},{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`,...ZR,`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:[...$R]},{name:`zone`,label:`Zone`,example:`Cancello`,group:`place`,families:[`rule`],fields:[...Z],kinds:[`detection`,`occupancy`,`system`],systemEventKinds:[...$R]},{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:[...$R]},{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:[...qR],kinds:[`detection`,`occupancy`]},{name:`eventKind`,label:`Event kind`,example:`device-offline`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`]},{name:`deviceName`,label:`Device`,example:`Ingresso`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...ez]},{name:`deviceId`,label:`Device id`,example:`617`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...ez,`export-completed`]},{name:`percentage`,label:`Percentage`,example:`15`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...JR,...YR]},{name:`item`,label:`Consumable`,example:`Filtro`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...YR]},{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`,...XR,`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`,...XR,`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:[...XR,`addon-updated`,`server-updated`]},{name:`packageName`,label:`Package`,example:`@camstack/addon-recorder`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...ZR,`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:[...ZR]},{name:`currentVersion`,label:`Current version`,example:`1.2.377`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...XR]},{name:`latestVersion`,label:`Latest version`,example:`1.2.378`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...XR]},{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:[...ZR,`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`]},{name:`seconds`,label:`Seconds`,description:`Arming: the exit delay left. Refusal: how long the retry-to-arm-anyway lasts.`,example:`30`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[`alarm-arming`,`alarm-arm-refused`]},{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]}],nz={previewText:[`camera`,`rule`,`from`,`to`],captionText:[`rule`,`from`,`to`]};function rz(e,t){return e===void 0||t===void 0||e.includes(t)}function iz(e,t){if(t.kind!==`system`||e.systemEventKinds===void 0)return!0;let n=t.systemEventKinds??[];return n.length===0||n.some(t=>e.systemEventKinds?.includes(t)===!0)}function az(e){if(e.field===`previewText`||e.field===`captionText`){let t=nz[e.field];return tz.filter(n=>n.families.includes(e.family)&&t.includes(n.name)&&n.dynamic===void 0)}return tz.filter(t=>t.families.includes(e.family)&&rz(t.fields,e.field)&&rz(t.kinds,e.kind)&&rz(t.deliveries,e.delivery)&&iz(t,e))}function oz(e,t){return az(t).some(t=>t.dynamic===void 0?t.name===e:e.startsWith(t.dynamic.prefix)&&e.length>t.dynamic.prefix.length)}var sz=[`deviceIds`,`deviceTypes`,`nodeIds`,`packageNames`];function cz(e,t){switch(t){case`deviceIds`:return e.startsWith(`device-`)||e.startsWith(`stream-`)||e===`detection-blind`||e===`alarm-triggered`||e===`export-completed`;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`}}function lz(e,t){return e.some(e=>cz(e,t))}var uz=i({title:g().max(500).optional(),body:g().max(2e3).optional()}),dz=g().min(1).max(200),fz=p(a()).min(1),pz=a().int().min(2).max(3600),mz=a().int().min(1).max(60),hz=p(w_).min(1),gz=a().int().min(1).max(5),_z=.1,vz=a().min(_z).max(3600),yz=a().min(0).max(60),bz=g().max(200),xz=m([`image`,`gif`]),Sz=p(g().min(1).max(40)).max(20),Cz=i({name:dz,enabled:v().default(!0),deviceIds:fz,schedule:u_,cadenceSec:pz.default(15),framerate:mz.default(10),denseCadenceSec:vz.optional(),minDwellSec:yz.optional(),targets:hz,template:uz.optional(),previewText:bz.optional(),previewMode:xz.default(`image`),reportClasses:Sz.optional(),priority:gz.default(3)}),wz=`Timelapse {{camera}}`,Tz=i({name:dz.optional(),enabled:v().optional(),deviceIds:fz.optional(),schedule:u_.optional(),cadenceSec:pz.optional(),framerate:mz.optional(),denseCadenceSec:vz.optional(),minDwellSec:yz.optional(),targets:hz.optional(),template:uz.nullable().optional(),previewText:bz.optional(),previewMode:xz.optional(),reportClasses:Sz.optional(),priority:gz.optional()}),Ez=Cz.extend({id:g(),ownerUserId:g().optional(),lastGeneratedAt:a().optional(),generatedByDevice:n(g(),a()).optional(),createdBy:g(),createdAt:a(),updatedAt:a()});function Dz(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 Oz(e,t){let n=e.generatedByDevice;return n===void 0?e.lastGeneratedAt??0:n[String(t)]??0}var kz=[{stepId:`face-embedding`,label:`Face recognition model`,defaultModelId:`arcface-r100`,indexName:`the enrolled face gallery`,options:[{id:`arcface-r100`,label:`ArcFace (ResNet34)`},{id:`auraface-r100`,label:`AuraFace R100`},{id:`inception-resnet-v1`,label:`Inception ResNet V1`}]},{stepId:`clip-embedding`,label:`Semantic search model`,defaultModelId:`mobileclip-s1`,indexName:`the object semantic-search index`,options:[{id:`mobileclip-s1`,label:`MobileCLIP S1`},{id:`mobileclip-s2`,label:`MobileCLIP S2`}]}],Az=`cluster-step-models`;function jz(e){return`clusterModel:${e}`}function Mz(e){return kz.some(t=>t.stepId===e)}var Nz=Object.freeze(Object.fromEntries(kz.map(e=>[e.stepId,e.defaultModelId]))),Pz=g().min(1);function Fz(e){let t={};for(let n of kz){let r=Pz.safeParse(e[jz(n.stepId)]);t[n.stepId]=r.success?r.data:n.defaultModelId}return t}function Iz(e){return typeof e==`object`&&!!e&&`key`in e}function Lz(e){if(e===null)return Nz;let t={},n=new Set(kz.map(e=>jz(e.stepId)));for(let r of e.sections)for(let e of r.fields)!Iz(e)||typeof e.key!=`string`||n.has(e.key)&&(t[e.key]=e.value);return Fz(t)}function Rz(e,t){let n=kz.find(t=>t.stepId===e);if(n===void 0)return null;let r=t[e];return r!==void 0&&r!==``?r:n.defaultModelId}var zz=24,Bz=[{stepId:`face-embedding`,key:`minLandmarkFaceSize`,label:`Min face size for recognition (detection px)`,description:`Refuse to embed a face smaller than this IN THE DETECTION FRAME. Applies to every node — the enrolled gallery is one index, and two admission floors would fill it from two policies. 0 disables the gate.`,type:`slider`,min:0,max:64,step:2,default:24}];function Vz(e,t){return`clusterStepSetting:${e}:${t}`}function Hz(e){return Bz.filter(t=>t.stepId===e)}var Uz=a().finite();function Wz(e){let t={};for(let n of Bz){let r=Uz.safeParse(e[Vz(n.stepId,n.key)]),i=r.success?r.data:n.default,a=t[n.stepId]??{};t[n.stepId]={...a,[n.key]:i}}return t}var Gz=Wz({});function Kz(e){if(e===null)return Gz;let t={},n=new Set(Bz.map(e=>Vz(e.stepId,e.key)));for(let r of e.sections)for(let e of r.fields)!Iz(e)||typeof e.key!=`string`||n.has(e.key)&&(t[e.key]=e.value);return Wz(t)}function qz(e,t,n){let r=n[e];return r===void 0||Object.keys(r).length===0?t===void 0?void 0:{...t}:t===void 0?{...r}:{...t,...r}}var Jz=`detail-crop`,Yz=`detailCropPaddingRatio`,Xz=`detailCropSquare`,Zz=i({paddingRatio:a().min(0).max(4),square:v()}),Qz={paddingRatio:.15,square:!1};function $z(e){let t=Zz.shape.paddingRatio.safeParse(e[Yz]),n=Zz.shape.square.safeParse(e[Xz]);return{paddingRatio:t.success?t.data:Qz.paddingRatio,square:n.success?n.data:Qz.square}}function eB(e){return typeof e==`object`&&!!e&&`key`in e}function tB(e){if(e===null)return Qz;let t={};for(let n of e.sections)for(let e of n.fields)!eB(e)||typeof e.key!=`string`||(e.key===`detailCropPaddingRatio`||e.key===`detailCropSquare`)&&(t[e.key]=e.value);return $z(t)}var nB=Object.freeze({x:0,y:0,w:1,h:1}),rB={min:0,max:1,step:.05,default:Qz.paddingRatio};function iB(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?sB(aB(o,t,n),t,n):oB(o,t,n)}function aB(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 oB(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 sB(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 cB=`native-lease`,lB=`nativeLeaseHoldFrames`,uB=`nativeLeaseBudgetMb`,dB=`nativeLeaseActivityMs`,fB=`nativeLeaseAdmission`,pB=`nativeTileBudgetMb`,mB=`nativeSceneBudgetMb`,hB=m([`all`,`inferred`]),gB=i({holdFrames:a().int().min(1).max(64),budgetMb:a().int().min(0).max(4096),activityMs:a().int().min(0).max(12e4),admission:hB,tileBudgetMb:a().int().min(0).max(1024),sceneBudgetMb:a().int().min(0).max(1024)}),Q={holdFrames:8,budgetMb:1024,activityMs:15e3,tileBudgetMb:64,sceneBudgetMb:48,admission:`inferred`},_B={min:1,max:64,step:1,default:Q.holdFrames},vB={min:0,max:4096,step:64,default:Q.budgetMb},yB={min:0,max:12e4,step:1e3,default:Q.activityMs},bB={min:0,max:1024,step:16,default:Q.tileBudgetMb},xB={min:0,max:1024,step:16,default:Q.sceneBudgetMb},SB={options:[{value:`all`,label:`Every delivered frame`},{value:`inferred`,label:`Only frames sent to inference`}],default:Q.admission};function CB(e,t){let n=gB.shape[e].safeParse(t);return n.success?n.data===Q[e]?null:n.data:null}function wB(e){let t=hB.safeParse(e);return t.success?t.data===Q.admission?null:t.data:null}function TB(e){let t=CB(`holdFrames`,e[lB]),n=CB(`budgetMb`,e[uB]),r=CB(`activityMs`,e[dB]),i=wB(e[fB]),a=CB(`tileBudgetMb`,e[pB]),o=CB(`sceneBudgetMb`,e[mB]);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 EB(e){return typeof e==`object`&&!!e&&`key`in e}var DB=[lB,uB,dB,fB,pB,mB];function OB(e){if(e===null)return{};let t={};for(let n of e.sections)for(let e of n.fields)!EB(e)||typeof e.key!=`string`||DB.includes(e.key)&&(t[e.key]=e.value);return TB(t)}var kB=[{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 AB(e){let t=kB.find(t=>t.id===e);if(!t)throw Error(`Unknown access role '${e}'`);return t}function jB(e){let t=AB(e.roleId);return[{type:`device`,selector:e.selector,access:[...t.deviceAccess],includeLinked:e.includeLinked},{type:`category`,target:`system`,access:[...t.systemAccess]}]}function MB(e,t){if(e.length!==t.length)return!1;let n=new Set(e);return t.every(e=>n.has(e))}function NB(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=kB.find(e=>MB(e.deviceAccess,r.access)&&MB(e.systemAccess,i.access));return a?{roleId:a.id,selector:r.selector,includeLinked:r.includeLinked}:null}var PB=8;function FB(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 IB(e,t){return e.some(e=>e.type===`category`&&e.target===`device`&&e.access.includes(t))}function LB(e,t){return e.filter(e=>e.type===`device`&&e.access.includes(t))}function RB(e,t){return e.includeLinked??t===`view`}function zB(e,t){let n=[],r=e;for(let e=0;e<PB;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 BB(e,t,n){if(IB(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=LB(e,n),a=new Set;for(let e of t)for(let t of i){if(FB(t.selector,e)){a.add(e.id);break}if(RB(t,n)&&zB(e.id,r).some(e=>{let n=r.get(e);return n!==void 0&&FB(t.selector,n)})){a.add(e.id);break}}return a}function VB(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let e=K.safeParse(n);e.success&&t.push(e.data)}return t}var HB=[`view`,`create`,`delete`];function UB(e,t,n,r){return r?{all:!0,deviceCount:t.length}:{all:IB(e,n)||LB(e,n).some(e=>e.selector.kind===`all`),deviceCount:BB(e,t,n).size}}function WB(e){let t=[];for(let n of e)n.type===`capability`&&t.push({name:n.target,access:n.access});return t}function GB(e){let t=[];for(let n of e)n.type===`addon`&&t.push({name:n.target,access:n.access});return t}function KB(e,t,n){let r={view:UB(e,t,`view`,n),create:UB(e,t,`create`,n),delete:UB(e,t,`delete`,n)},i=n?HB:HB.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:WB(e),addons:GB(e)}}var qB={camera:{type:`camera`,label:`Camera`,icon:`camera`}},JB={"°C":{dimension:`temperature`,factor:1,offset:0},"°F":{dimension:`temperature`,factor:5/9,offset:-160/9},K:{dimension:`temperature`,factor:1,offset:-273.15},hPa:{dimension:`pressure`,factor:1,offset:0},kPa:{dimension:`pressure`,factor:10,offset:0},Pa:{dimension:`pressure`,factor:.01,offset:0},mbar:{dimension:`pressure`,factor:1,offset:0},bar:{dimension:`pressure`,factor:1e3,offset:0},inHg:{dimension:`pressure`,factor:33.8639,offset:0},mmHg:{dimension:`pressure`,factor:1.33322,offset:0},psi:{dimension:`pressure`,factor:68.9476,offset:0},"m/s":{dimension:`speed`,factor:1,offset:0},"km/h":{dimension:`speed`,factor:1/3.6,offset:0},mph:{dimension:`speed`,factor:.44704,offset:0},kn:{dimension:`speed`,factor:.514444,offset:0},"mm/h":{dimension:`precipitation-rate`,factor:1,offset:0},"in/h":{dimension:`precipitation-rate`,factor:25.4,offset:0},m:{dimension:`length`,factor:1,offset:0},mm:{dimension:`length`,factor:.001,offset:0},cm:{dimension:`length`,factor:.01,offset:0},km:{dimension:`length`,factor:1e3,offset:0},in:{dimension:`length`,factor:.0254,offset:0},ft:{dimension:`length`,factor:.3048,offset:0},mi:{dimension:`length`,factor:1609.344,offset:0},lx:{dimension:`illuminance`,factor:1,offset:0},"W/m²":{dimension:`irradiance`,factor:1,offset:0},W:{dimension:`power`,factor:1,offset:0},kW:{dimension:`power`,factor:1e3,offset:0},VA:{dimension:`apparent-power`,factor:1,offset:0},Wh:{dimension:`energy`,factor:1,offset:0},kWh:{dimension:`energy`,factor:1e3,offset:0},MWh:{dimension:`energy`,factor:1e6,offset:0},V:{dimension:`voltage`,factor:1,offset:0},mV:{dimension:`voltage`,factor:.001,offset:0},A:{dimension:`current`,factor:1,offset:0},mA:{dimension:`current`,factor:.001,offset:0},ppm:{dimension:`concentration-volume`,factor:1,offset:0},ppb:{dimension:`concentration-volume`,factor:.001,offset:0},"µg/m³":{dimension:`concentration-mass`,factor:1,offset:0},"mg/m³":{dimension:`concentration-mass`,factor:1e3,offset:0},kg:{dimension:`mass`,factor:1,offset:0},g:{dimension:`mass`,factor:.001,offset:0},lb:{dimension:`mass`,factor:.453592,offset:0},oz:{dimension:`mass`,factor:.0283495,offset:0},"%":{dimension:`percentage`,factor:1,offset:0}},YB=class extends Error{from;to;reason;constructor(e,t,n){super(`[units] cannot convert '${e}' → '${t}': ${n}`),this.name=`UnitConversionError`,this.from=e,this.to=t,this.reason=n}};function XB(e){return Object.hasOwn(JB,e)?JB[e]:void 0}function ZB(e){return XB(e)?.dimension}function QB(e,t){return e*t.factor+t.offset}function $B(e,t){return(e-t.offset)/t.factor}function eV(e,t,n){if(t===n)return e;let r=XB(t);if(!r)throw new YB(t,n,`unknown-from`);let i=XB(n);if(!i)throw new YB(t,n,`unknown-to`);if(r.dimension!==i.dimension)throw new YB(t,n,`cross-dimension`);return $B(QB(e,r),i)}function tV(e,t,n){if(t===n)return e;let r=XB(t);if(!r)return;let i=XB(n);if(i&&r.dimension===i.dimension)return $B(QB(e,r),i)}function nV(e,t){if(e===t)return!0;let n=ZB(e);return n===void 0?!1:n===ZB(t)}function rV(e){let t=[];for(let[n,r]of Object.entries(JB))r.dimension===e&&t.push(n);return t}function iV(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 aV(e,t){let n=e.trim().toLowerCase(),r=t.trim().toLowerCase();return n===r?1:n.length===0||r.length===0?0:1-iV(n,r)/Math.max(n.length,r.length)}function oV(e,t,n=.8){let r=null,i=0;for(let a of t){let t=aV(e,a);t>=n&&t>i&&(r=a,i=t)}return r}var sV=`addon:`;function cV(e){return e.startsWith(sV)?e.slice(6):e}function lV(e,t){return cV(e)===cV(t)}function uV(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 dV=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(),fV(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 fV(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 pV(e,t){return`https://huggingface.co/${e}/resolve/main/${t}`}var mV=[/^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 hV(e){return mV.some(t=>t.test(e))}function gV(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()))hV(e)&&(t.searchParams.set(e,`***`),n=!0);return n?t.toString():e}catch{return e}}var $=1024*1024,_V={sampleIntervalMs:6e4,baselineSettleSamples:5,baselineSampleCount:3,restartMultiple:4,floorBytes:1024*$,ceilingBytes:3072*$,cooldownMs:30*6e4,maxRestartsPerWindow:6,restartWindowMs:1440*6e4};function vV(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=_V;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 yV(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 bV(){return{settleSeen:0,baselineWindow:[],baselineBytes:null,restartsAt:[],lastRestartAt:null}}function xV(e){let t=[...e].sort((e,t)=>e-t);return t[Math.floor(t.length/2)]}function SV(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:xV(r)}}function CV(e,t){return e===null?t.ceilingBytes:Math.min(t.ceilingBytes,Math.max(t.floorBytes,t.restartMultiple*e))}function wV(e,t,n){return e.filter(e=>t-e<n.restartWindowMs)}function TV(e,t,n,r){let i=SV(e,t,r),a=CV(i.baselineBytes,r);if(t<=a)return{state:i,action:i.baselineBytes===null?`baseline-pending`:`ok`,baselineBytes:i.baselineBytes,thresholdBytes:a};let o=wV(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 EV(e,t){return{...bV(),restartsAt:[...e.restartsAt,t],lastRestartAt:t}}function DV(e){return{...bV(),restartsAt:e.restartsAt,lastRestartAt:e.lastRestartAt}}function OV(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 kV=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??bV();t&&t.pids.length>0&&!AV(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=DV(a));let o=TV(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=OV(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:EV(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 AV(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 jV(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 MV(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 NV=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 PV(e,t){let n=performance.now();try{return{output:t===void 0?await e():await IV(e(),t),durationMs:FV(performance.now()-n),ok:!0}}catch(e){return{output:void 0,durationMs:FV(performance.now()-n),ok:!1,error:dr(e)}}}function FV(e){return Math.round(e*100)/100}function IV(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 LV={cpu:`onnx`,coreml:`onnx`,cuda:`onnx`,tensorrt:`onnx`,"onnx-py":`onnx`,pytorch:`pt`,openvino:`openvino`},RV={openvino:`openvino`,edgetpu:`tflite`,coreml:`coreml`,onnx:`onnx`,cpu:`onnx`,cuda:`onnx`};function zV(e){return RV[e]??`onnx`}var BV={onnx:`onnx`,coreml:`coreml`,openvino:`openvino`,tflite:`tflite`,pytorch:`pt`},VV={coreml:`coreml_inference.py`,pytorch:`pytorch_inference.py`,openvino:`openvino_inference.py`};function HV(e,t){return e===`node`?`onnx`:{coreml:`coreml`,openvino:`openvino`,pytorch:`pytorch`,"onnx-py":`onnx`,cpu:`onnx`}[t]??t}function UV(e,t){return e===`node`?LV[t]??`onnx`:{coreml:`coreml`,openvino:`openvino`,pytorch:`pt`,"onnx-py":`onnx`,cpu:`onnx`}[t]??`onnx`}function WV(e,t){return!e||e===`auto`?`auto`:HV(e,t??`cpu`)}function GV(e){return LV[e]??`onnx`}function KV(e){return BV[e]}function qV(e){return VV[e]}function JV(e){return e===`coreml`||e===`pytorch`||e===`openvino`}function YV(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 XV(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 ZV(e){return Math.floor(Buffer.from(e,`base64`).byteLength/4)}function QV(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=>$V(t,e,n,l)),f=s.some(t=>$V(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 $V(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&&eH(t,e.polygon))return!0}return!1}function eH(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 tH(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 nH={value:`auto`,label:`Auto`},rH={value:`cpu`,label:`CPU`},iH={value:`usb`,label:`Coral USB`},aH=[{id:`onnx`,supports:()=>!0,devices:e=>{if(!e)return[rH];let t=[rH];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[nH];let t=[nH,rH];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`},rH),n},defaultDevice:`all`},{id:`edgetpu`,supports:e=>e?.coral!=null,devices:()=>[iH],defaultDevice:`usb`}];function oH(e){let t=aH.find(t=>t.id===e);if(!t)throw Error(`Unknown runtime: ${e}`);return t}function sH(e){return aH.filter(t=>t.supports(e)).map(e=>e.id)}function cH(e,t){return oH(e).devices(t)}function lH(e){return oH(e).defaultDevice}function uH(e){return e===`edgetpu`?`tflite`:KV(e)}function dH(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 fH={cuda:`gpu`,edgetpu:`usb`,coreml:`all`,cpu:`cpu`};function pH(e,t,n,r){return{key:e===`cpu`?`cpu`:`${e}:${t}`,backend:e,device:t,format:n,runtime:`python`,score:r,available:!0}}function mH(e){let{scores:t}=dH(e),n=[];for(let r of t){if(r.backend===`openvino`){e.npu?.type===`intel-npu`&&n.push(pH(`openvino`,`npu`,r.format,r.score+2)),e.gpu?.type===`intel`&&n.push(pH(`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(pH(`edgetpu`,t,r.format,r.score))}continue}let t=fH[r.backend]??r.backend;n.push(pH(r.backend,t,r.format,r.score))}return n}export{lF as ACCESSORY_LABEL,kB as ACCESS_ROLES,zr as ALEXA_EGRESS_PROFILE,YI as ALL_CAPABILITY_DEFINITIONS,Tg as APPLE_SA_TO_MACRO,Qi as ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT,Oi as AUDIO_ANALYSIS_CAP_NAME,Ou as AUDIO_BACKEND_CHOICES,ge as AUDIO_CHUNK_FORMATS,Cg as AUDIO_MACRO_LABELS,Fn as AUDIO_PRESETS,fL as AUDIO_SCALE_EPOCH_ISO,pL as AUDIO_SCALE_EPOCH_MS,Xw as AccessoriesStatusSchema,X as AccessoryKind,Wh as AddBrokerInputSchema,vT as AddonAutoUpdateSchema,fT as AddonListItemSchema,Kl as AddonPageDeclarationSchema,Wl as AddonPageInfoSchema,If as AdminLinkTargetEnum,lp as AdoptionAdoptInputSchema,up as AdoptionAdoptResultSchema,_i as AdoptionCandidateResultSchema,np as AdoptionFilterSchema,op as AdoptionGetCandidateInputSchema,vi as AdoptionJobSchema,hi as AdoptionJobStateSchema,ip as AdoptionListCandidatesInputSchema,ap as AdoptionListCandidatesOutputSchema,gi as AdoptionOutcomeSchema,dp as AdoptionReleaseInputSchema,sp as AdoptionStatusSchema,oS as AgentLoadSummarySchema,AT as AirQualitySensorStatusSchema,G as AlarmArmModeSchema,Ug as AlarmPanelStatusSchema,Hg as AlarmStateSchema,pu as AlertSchema,uu as AlertSeveritySchema,fu as AlertSourceSchema,du as AlertStatusSchema,MT as AmbientLightSensorStatusSchema,dx as AnalyticsLtsSeriesSchema,Nv as ApiKeyRecordSchema,dP as ApiKeySummarySchema,Wu as ArchiveEntrySchema,Gu as ArchiveManifestSchema,ea as ArchivedDebugNoteQueryInputSchema,$i as ArchivedDebugNoteSchema,ng as AttachmentMediaTypeSchema,rg as AttachmentSchema,Su as AudioAnalysisResultSchema,Cu as AudioAnalysisSettingsSchema,wu as AudioAttachDeviceInputSchema,Tu as AudioAttachDeviceResultSchema,yt as AudioChunkFormatSchema,yu as AudioChunkInputSchema,PT as AudioClassSummarySchema,xu as AudioClassificationLabelSchema,Du as AudioClassificationResultSchema,Mu as AudioCodecInfoSchema,Nu as AudioDecodeSessionConfigSchema,Eu as AudioDetachDeviceResultSchema,kr as AudioEncodeSchema,Pu as AudioEncodeSessionConfigSchema,Iu as AudioEncodedChunkSchema,tb as AudioEventSchema,bu as AudioLevelSchema,IT as AudioMetricsHistoryPointSchema,LT as AudioMetricsHistorySchema,FT as AudioMetricsSnapshotSchema,Fu as AudioPcmChunkSchema,nt as AudioStreamPickSchema,zu as AuthResultSchema,_T as AutoUpdateSettingsSchema,Ml as AutomationActionSchema,Dl as AutomationConditionOperatorSchema,Al as AutomationConditionSchema,zT as AutomationControlStatusSchema,Nl as AutomationRecipeSchema,jl as AutomationTriggerSchema,MD as AvailableIntegrationTypeSchema,LV as BACKEND_TO_FORMAT,Lr as BASE_LIVE_EGRESS_PROFILE,YF as BATTERY_DEVICE_PROFILE,CF as BATTERY_UNREACHABLE_AFTER_MS,Ki as BIRTH_DECISION_DEFAULT_LIMIT,Sn as BOOT_RECOVERY_BACKOFF_MS,wD as BacklightModeSchema,Vu as BackupDestinationInfoSchema,Uu as BackupEntrySchema,Ju as BackupRunPhaseSchema,Yu as BackupRunSchema,qu as BackupRunStateSchema,Xu as BackupTriggerResultSchema,Ue as BaseAddon,hF as BaseDevice,SF as BaseDeviceProvider,VT as BatteryStatusSchema,UT as BinaryStatusSchema,Xi as BirthDecisionQueryInputSchema,Yi as BirthDecisionRecordSchema,Ji as BirthDecisionVerdictSchema,B as BoundingBoxSchema,GT as BrightnessStatusSchema,ad as BrokerAddInputSchema,kd as BrokerAudioClientSchema,Nd as BrokerClientsSchema,Uh as BrokerConnectionDetailsSchema,jd as BrokerConsumerAttributionSchema,Ad as BrokerConsumerKindSchema,Od as BrokerDecodedClientSchema,Md as BrokerEncodedClientSchema,vd as BrokerGetStateInputSchema,Hh as BrokerInfoSchema,nd as BrokerProviderInfoSchema,md as BrokerPublishInputSchema,td as BrokerRegistryStatusSchema,Dd as BrokerRtspClientSchema,wt as BrokerStatsSchema,$u as BrokerStatusEnum,Ct as BrokerStatusSchema,hd as BrokerSubscribeInputSchema,gd as BrokerSubscribeResultSchema,cd as BrokerTestConnectionResultSchema,_d as BrokerUnsubscribeInputSchema,Tf as BulkRecordSchema,Mi as CAMERA_SWITCH_CATALOG,xi as CAMERA_SWITCH_ORDER,tt as CAM_PROFILE_ORDER,qI as CAPABILITY_NAMES,JI as CAPABILITY_ROUTER_KEYS,KI as CAP_NAMES_WITH_STATUS,Pt as CAP_NODE_PIN_CONTEXT_KEY,nL as CAP_PROVIDER_KIND_MAP,Sa as CLASS_MAP_MACRO_TARGETS,Fw as CLIP_BROKER_PACED_RATES,Hw as CLIP_PLAYBACK_OPTIONS,Lw as CLIP_REALTIME_SOURCE_RATES,bw as CLIP_REASON_HEADER_MAX,Cw as CLIP_STILL_DISPOSITION_HEADER,Sw as CLIP_STILL_REASON_CODE_HEADER,yw as CLIP_STILL_REASON_HEADER,Iw as CLIP_STREAM_SOURCE_RATES,ww as CLIP_STREAM_TRANSPORT_HEADER,kz as CLUSTER_MODEL_SCOPED_STEPS,Az as CLUSTER_MODEL_SECTION_ID,Bz as CLUSTER_STEP_SETTING_FIELDS,vg as COCO_80_LABELS,Sg as COCO_TO_MACRO,pE as CONNECTION_TEST_TIMEOUT_MS,EF as CONTAINER_CHILD_PRIORITY,uf as CORE_BLOCKS_ADDON_ID,lf as CORE_BLOCK_ADDON_PREFIX,S as CamProfileSchema,sN as CamStreamDescriptorSchema,rt as CamStreamKindSchema,it as CamStreamResolutionSchema,fS as CameraAssignmentStatusSchema,SS as CameraAudioStatusSchema,pS as CameraBrokerProfileSchema,mS as CameraBrokerStatusSchema,JT as CameraCredentialsSchema,YT as CameraCredentialsStatusSchema,hS as CameraDecoderShmSchema,gS as CameraDecoderStatusSchema,bS as CameraDetectionPhaseSchema,yS as CameraDetectionProvisioningSchema,vS as CameraDetectionProvisioningStateSchema,xS as CameraDetectionStatusSchema,vx as CameraMetricsSchema,yx as CameraMetricsWithDeviceIdSchema,_S as CameraMotionStatusSchema,RP as CameraOccupancySnapshotForDeviceSchema,CS as CameraRecordingModeSchema,wS as CameraRecordingStatusSchema,dS as CameraSourceStatusSchema,uS as CameraSourceStreamSchema,ES as CameraStatusDegradationReasonSchema,DS as CameraStatusDegradationSchema,kS as CameraStatusSchema,TS as CameraStatusStageSchema,at as CameraStreamSchema,Si as CameraSwitchAuthoritySchema,Ei as CameraSwitchGroupSchema,bi as CameraSwitchIdSchema,Ti as CameraSwitchSchema,Ci as CameraSwitchUnavailableReasonSchema,wi as CameraSwitchWarningSchema,rp as CandidateQueryFilterSchema,Ov as CapScopeSchema,cS as CapabilityBindingsSchema,rE as CarbonMonoxideStatusSchema,en as ChargingStatus,ak as ClientNetworkStatsSchema,oE as ClimateControlStatusSchema,jw as ClipBytesOfferSchema,Aw as ClipBytesSchema,Bj as ClipExportFailureSchema,Rw as ClipPlaybackOptionsSchema,Ew as ClipPlaybackSchema,Tw as ClipSchema,zw as ClipSourceAvailabilitySchema,Bw as ClipSourceSchema,vw as ClipStillDispositionSchema,_w as ClipStillRefusalCodeSchema,Nw as ClipStreamAudioReasonSchema,Mw as ClipStreamAudioSchema,Pw as ClipStreamDialSchema,Dw as ClipWakeSchema,hk as ClusterAddonNodeDeploymentSchema,gk as ClusterAddonStatusEntrySchema,Ef as CollectionColumnSchema,Df as CollectionIndexSchema,dE as ColorStatusSchema,Kp as ConfigEntrySchema,$l as ConfigSectionWithValuesSchema,Ql as ConfigTabDeclarationSchema,gE as ConnectionTestDescriptorSchema,hE as ConnectionTestInputSchema,mE as ConnectionTestOutcomeSchema,vE as ConnectivityStatusSchema,bE as ConsumableItemSchema,xE as ConsumablesStatusSchema,CE as ContactStatusSchema,TE as ControlKindSchema,EE as ControlStatusSchema,Sc as ConvertArtifactSchema,Cc as ConvertResultSchema,bc as ConvertTargetSchema,_f as CoreBlockCompileResultSchema,hf as CoreBlockInputSchema,pf as CoreBlockPlacementSchema,gf as CoreBlockSchema,mf as CoreBlockStatusSchema,kE as CoverStateSchema,AE as CoverStatusSchema,fP as CreateApiKeyInputSchema,pP as CreateApiKeyResultSchema,FD as CreateIntegrationInputSchema,hP as CreateScopedTokenInputSchema,gP as CreateScopedTokenResultSchema,lP as CreateUserInputSchema,OT as CustomActionInputSchema,yf as CustomModelDescriptorSchema,Je as DATAPLANE_SECRET_HEADER,dM as DAYS_PER_WEEK,mM as DAY_NAMES,IF as DECLARED_DEVICE_SWEEP_LIMIT,PF as DECLARED_INTEGRATION_FIXED_KEY,si as DEFAULT_ADDON_PLACEMENT,ku as DEFAULT_AUDIO_ANALYZER_CONFIG,Nz as DEFAULT_CLUSTER_STEP_MODELS,Gz as DEFAULT_CLUSTER_STEP_SETTINGS,Mf as DEFAULT_DECODER_HWACCEL_CONFIG,Qz as DEFAULT_DETAIL_CROP_CONVENTION,za as DEFAULT_EVENTS_BAND_BUFFER_SEC,kg as DEFAULT_EVENT_COLOR,da as DEFAULT_FEATURES,rF as DEFAULT_FIRST_SIGHTING_FRESHNESS_MS,zz as DEFAULT_MIN_LANDMARK_FACE_SIZE_PX,Q as DEFAULT_NATIVE_LEASE_SETTINGS,Ys as DEFAULT_OVERLAY_LAYERS,_V as DEFAULT_POOL_MEMORY_POLICY,Ga as DEFAULT_RECORDING_PROFILES,yi as DEFAULT_RETENTION,Rt as DEFAULT_RUNTIME_STATE_DURABILITY,wz as DEFAULT_TIMELAPSE_PREVIEW_TEXT,sF as DEFAULT_TOKEN_EXPIRY,ji as DERIVED_CAMERA_SILENCED_CAP_NAMES,rB as DETAIL_CROP_PADDING_FIELD,Yz as DETAIL_CROP_PADDING_KEY,Jz as DETAIL_CROP_SECTION_ID,Xz as DETAIL_CROP_SQUARE_KEY,bg as DETECTION_MACRO_CLASSES,Di as DETECTION_PIPELINE_CAP_NAME,RV as DEVICE_BACKEND_TO_FORMAT,QI as DEVICE_CAP_NAMES,on as DEVICE_CHILDREN_BATCH_MAX,XF as DEVICE_PROFILES,_F as DEVICE_RESTORE_RETRY_CONCURRENCY,gF as DEVICE_RESTORE_RETRY_DELAYS_MS,bn as DEVICE_SCOPED_CAPS,Ut as DEVICE_SETTINGS_CONTRIBUTION_METHODS,qP as DEVICE_STATE_READERS,Wt as DEVICE_STATUS_METHOD,RF as DEVICE_TYPE_CONTROL_KIND,qB as DEVICE_TYPE_INFO,QF as DISPLAY_ICON_GROUPS,eI as DISPLAY_ICON_KEYS,tI as DISPLAY_ICON_OFFERED_KEYS,$F as DISPLAY_ICON_VOCABULARY,kf as DataStoreEngineInfoSchema,ME as DayNightModeSchema,FE as DayNightOptionsSchema,IE as DayNightSettingsPatchSchema,PE as DayNightStatusSchema,LF as DeclaredDevices,bt as DecodedAudioChunkSchema,ht as DecodedFrameSchema,ms as DecoderSessionConfigSchema,ps as DecoderStatsSchema,LD as DeleteIntegrationResultSchema,Zz as DetailCropConventionSchema,Ta as DetectionCatalogClassMapSchema,Xy as DetectionSourceSchema,Bx as DetectionSourcesSchema,Lf as DeviceAdminLinkSchema,WD as DeviceCodeSeveritySchema,dF as DeviceConfig,ep as DeviceDiscoveryStatusSchema,xp as DeviceExportExposeInputSchema,vp as DeviceExportStatusSchema,Sp as DeviceExportUnexposeInputSchema,$t as DeviceFeature,Gp as DeviceInfoSchema,ok as DeviceNetworkStatsSchema,bF as DeviceRestoreRetryScheduler,E as DeviceRole,fF as DeviceRuntimeState,kv as DeviceSelectorSchema,RE as DeviceStatusSchema,T as DeviceType,LN as DiagnosticIdSchema,WN as DiagnosticWindowPatchSchema,UN as DiagnosticWindowSchema,$f as DiscoveredChildDeviceSchema,Qf as DiscoveredChildStatusSchema,Fp as DiscoveredDeviceSchema,pg as DiscoveredTargetSchema,OS as DiskReconcileJobSchema,qe as DisposerChain,VE as DoorbellPressEventSchema,BE as DoorbellStatusSchema,BS as EVENTFUL_CAP_NAMES,Ub as EVENT_DENSITY_BATCH_MAX,zS as EVENT_KIND_BY_CAP,vr as EVENT_OWNER_TYPES,Ea as EVENT_PAD_MS,Ng as EVENT_TAXONOMY,jj as EXPORT_DENSE_MAX_RANGES,Nc as EXPRESSION_BUILTINS,Pc as EXPRESSION_BUILTIN_NAMES,Bc as EXPRESSION_COMPILE_CACHE_CAPACITY,Vc as EXPRESSION_IDENTIFIER_RE,gl as EXPRESSION_INJECTED_NOW,zd as EgressEncodeSchema,Bd as EgressRateControlSchema,Vd as EgressTranscodeRequestSchema,Hd as EgressTranscodeSchema,dV as ElementConfigStore,um as EmbeddingInfoSchema,lm as EmbeddingResultSchema,Ar as EncodeProfileSchema,mt as EncodedPacketSchema,cu as EnrichedWidgetMetadataSchema,UE as EnumSensorDateTimeFormatSchema,WE as EnumSensorStatusSchema,he as EventCategory,Hb as EventDensityBucketSchema,Wb as EventDensityForDeviceSchema,qE as EventEmitterStatusSchema,KE as EventFireSchema,Ty as EventKindCategorySchema,Dy as EventKindDescriptorSchema,wy as EventKindIconSchema,Sy as EventKindSchema,Oy as EventKindsForDeviceSchema,Cd as EventMediaArtifactSchema,wd as EventMediaCoverageSchema,Sd as EventMediaKindSchema,Td as EventMediaProductionSchema,yr as EventOwnerTypeSchema,ur as EventSourceType,Gj as ExportBytesSchema,Lj as ExportClipSubjectSchema,Aj as ExportDenseRangeSchema,Mj as ExportDenseSchema,Uj as ExportDownloadSchema,Ij as ExportFootageSubjectSchema,Pj as ExportOptionsSchema,zj as ExportRecordSchema,gp as ExportSetupFieldSchema,_p as ExportSetupSchema,kj as ExportSpeedSchema,Fj as ExportStateSchema,Rj as ExportSubjectSchema,Nj as ExportTimelapseSchema,bp as ExposedDeviceSchema,CD as ExposureModeSchema,Cl as ExpressionBindingSourceSchema,P as ExpressionEvalError,bl as ExpressionFieldBindingSchema,Sl as ExpressionGlobalBindingSchema,xl as ExpressionLiteralBindingSchema,N as ExpressionParseError,wl as ExpressionSourceSchema,Ca as FIRST_LEVEL_MACRO_CLASSES,nB as FULL_IMAGE_BBOX,pm as FailureContributionSchema,Ps as FailureCounters,fm as FailureReasonCountSchema,sD as FanControlStatusSchema,oD as FanDirectionSchema,CN as FeatureManifestSchema,lD as FeatureProbeStatusSchema,dD as FloodStatusSchema,sr as Fmp4BoxSplitter,gt as FrameHandleFormatSchema,C as FrameHandleSchema,_u as FrameInputSchema,qx as FrameLazyCountersSchema,Jx as FrameLazyMetricsSchema,mL as G711_SCALE_CORRECTION_DB,pD as GasStatusSchema,XN as GetLoggingSettingsInputSchema,Ld as GetStreamWithCodecInputSchema,sS as GlobalMetricsSchema,tE as GridLayoutPatchSchema,eE as GridLayoutViewSchema,Gr as HAP_AUDIO_BASE,Wr as HAP_AUDIO_BITRATE_KBPS,Kr as HAP_AUDIO_VBV_KBITS,qr as HAP_KEYFRAME_INTERVAL_SEC,oF as HF_BASE_URL,aF as HF_REPO,fM as HOURS_PER_DAY,jf as HWACCEL_OPTIONS,wN as HealthStatusSchema,Km as HfModelResolutionSchema,VP as HistoryPointSchema,zP as HistoryResolutionEnum,hD as HumidifierStatusSchema,_D as HumiditySensorStatusSchema,aE as HvacModeSchema,AS as INFERENCE_DEVICE_EXCLUSION_REASONS,GS as ImageContractSchema,WS as ImageContractStateSchema,xD as ImageRotateSchema,DD as ImageSettingsOptionsSchema,OD as ImageSettingsPatchSchema,ED as ImageSettingsStatusSchema,yD as ImageStatusSchema,jS as InferenceDeviceExclusionReasonSchema,lS as IngestOwnerSchema,pT as InstalledPackageSchema,jD as IntegrationLiteSchema,AD as IntegrationWithStateSchema,zD as IntercomAbilitySchema,BD as IntercomStatusSchema,ZI as KNOWN_CAP_NAMES,zb as KeyEventSchema,Ko as LEGACY_READ_ONLY_CONFIG_KEY,Qm as LOAD_CONTRIBUTION_ATTRIBUTIONS,Zm as LOAD_CONTRIBUTION_ROLES,Ap as LOCATION_DESCRIPTION_MAX,Tp as LOCATION_ICON_FALLBACK,wp as LOCATION_ICON_IDS,Os as LOG_CHANNEL_TICK_MS,fa as LOG_LEVEL_RANK,fx as LTS_SCOPE_CLASS_SEPARATOR,Uy as LabelAttributionSchema,xa as LabelDefinitionSchema,Hy as LabelTierSchema,UD as LawnMowerActivitySchema,GD as LawnMowerControlStatusSchema,No as LedgerWalkDeviceReportSchema,ko as LedgerWalkInputSchema,Ao as LedgerWalkRefusalSchema,Po as LedgerWalkReportSchema,Mo as LedgerWalkSkipCountsSchema,jo as LedgerWalkSkipReasonSchema,as as LegacyStorageLocationDefaultSchema,Jp as LinkedDeviceSchema,qp as LinkedDevicesModeSchema,Um as LlmDefaultSchema,Hm as LlmDefaultSelectorSchema,Mm as LlmDownloadProgressSchema,xm as LlmErrorCodeSchema,Om as LlmGenerateBaseInputSchema,Cm as LlmGenerateErrSchema,Sm as LlmGenerateOkSchema,wm as LlmGenerateResultSchema,Tm as LlmImageSchema,Pm as LlmNodeModelSchema,Vm as LlmProfileKindDescriptorSchema,Rm as LlmProfileKindSchema,zm as LlmProfileSchema,Em as LlmRetryPolicySchema,Im as LlmRuntimeCompleteInputSchema,Fm as LlmRuntimeDiskUsageSchema,qm as LlmRuntimeNodeSchema,Nm as LlmRuntimeStatusSchema,Dm as LlmTimeoutDefaults,Wm as LlmUsageRollupSchema,bm as LlmUsageSchema,$m as LoadContributionSchema,wj as LocateSegmentResultSchema,jp as LocationDescriptionAssignmentSchema,Dp as LocationIconAssignmentSchema,Ep as LocationIconIdSchema,Ku as LocationStatSchema,sO as LockControlStatusSchema,oO as LockStateSchema,th as LogChannelApplyResultSchema,bs as LogChannelDescriptorSchema,Ss as LogChannelGate,ys as LogChannelLevelSchema,Cs as LogChannelRegistry,KN as LogChannelWindowPatchSchema,xs as LogChannelWindowSchema,GN as LogChannelWindowStateSchema,ih as LogEntrySchema,rh as LogLevelSchema,ET as LogStreamEntrySchema,VN as LoggingEffectiveSchema,HN as LoggingExplicitSchema,BN as LoggingLevelLayerSchema,zN as LoggingLevelSourceSchema,RN as LoggingScopeKindSchema,qN as LoggingSettingsPatchSchema,QN as LoggingSettingsStateSchema,uh as LoginMethodContributionSchema,oh as LoginStageEnum,hx as LtsBucketSchema,yg as MACRO_LABELS,Zi as MAX_ARCHIVED_DEBUG_NOTES,Gi as MAX_BIRTH_DECISION_RECORDS,qi as MAX_BIRTH_LATENCY_PROXY_MS,hw as MAX_CLIP_EVENT_IDS,gw as MAX_CLIP_LABELS,Tl as MAX_CONDITION_DEPTH,El as MAX_CONDITION_LEAVES,Ic as MAX_EXPRESSION_AST_NODES,Rc as MAX_EXPRESSION_BINDINGS,zc as MAX_EXPRESSION_CALL_ARGS,Lc as MAX_EXPRESSION_EVAL_STEPS,Fc as MAX_EXPRESSION_SOURCE_LENGTH,js as MAX_KEYS,As as MAX_REASONS_PER_KEY,Ma as MAX_SENSOR_TRIGGER_DEVICES,Ly as MAX_TRACK_DEBUG_NOTE_LEN,fr as MEDIA_OWNER_TYPES,br as MEDIA_PRESENCE_OWNER_KINDS,XI as METHOD_ACCESS_MAP,eL as METHOD_DEVICE_SELECTORS,uM as MINUTES_PER_DAY,dc as MODEL_FORMATS,gc as MODEL_PROVIDER_IDS,vO as MOTION_CLOSE_AFTER_MS,VF as MOTION_TRIGGER_FEATURE,Gm as ManagedModelCatalogEntrySchema,km as ManagedModelExtraFileSchema,Am as ManagedModelRefSchema,jm as ManagedRuntimeConfigSchema,$g as MaskGridDimsSchema,Jg as MaskGridShapeSchema,Yg as MaskLineShapeSchema,Gg as MaskPointSchema,qg as MaskPolygonShapeSchema,Qg as MaskPolygonVerticesSchema,Kg as MaskRectShapeSchema,Zg as MaskShapeKindSchema,Xg as MaskShapeSchema,ab as MediaFileInfoSchema,nb as MediaFileKindEnum,rb as MediaFileRefSchema,ib as MediaFileSchema,uO as MediaPlayerRepeatSchema,lO as MediaPlayerStateSchema,fO as MediaPlayerStatusSchema,xr as MediaPresenceOwnerKindSchema,io as MediaRelocateModeSchema,hO as MeshPeerSchema,gO as MeshStatusSchema,Tv as MethodAccessSchema,om as MigrateDeviceResultSchema,im as MigrateSwitchOutcomeSchema,am as MigrateSwitchReportSchema,yc as ModelCatalogEntrySchema,Mh as ModelConvertInputSchema,xc as ModelConvertMetadataSchema,Ph as ModelDistributeInputSchema,Fh as ModelDistributeResultSchema,pc as ModelExtraFileSchema,fc as ModelFormatEntrySchema,mc as ModelFormatsSchema,_c as ModelProviderIdSchema,Zv as ModelSubstitutionSchema,hc as ModelVariantGroupSchema,Rh as MotionAnalysisResultSchema,Yy as MotionEventSchema,bO as MotionOnMotionChangedDataSchema,Lh as MotionRegionSchema,Rx as MotionSourceEnum,zx as MotionSourcesSchema,yO as MotionStatusSchema,CO as MotionTriggerRuntimeStateSchema,SO as MotionTriggerStatusSchema,DO as MotionZoneOptionsSchema,OO as MotionZonePatchSchema,TO as MotionZoneRegionSchema,EO as MotionZoneStatusSchema,Xh as MqttBrokerStatusSchema,xf as MutationFilterSchema,yB as NATIVE_LEASE_ACTIVITY_FIELD,dB as NATIVE_LEASE_ACTIVITY_KEY,SB as NATIVE_LEASE_ADMISSION_FIELD,fB as NATIVE_LEASE_ADMISSION_KEY,vB as NATIVE_LEASE_BUDGET_FIELD,uB as NATIVE_LEASE_BUDGET_KEY,_B as NATIVE_LEASE_HOLD_FIELD,lB as NATIVE_LEASE_HOLD_KEY,xB as NATIVE_LEASE_SCENE_BUDGET_FIELD,mB as NATIVE_LEASE_SCENE_BUDGET_KEY,cB as NATIVE_LEASE_SECTION_ID,bB as NATIVE_LEASE_TILE_BUDGET_FIELD,pB as NATIVE_LEASE_TILE_BUDGET_KEY,HO as NAVIGATION_ACTION_CATALOG,qO as NAVIGATION_LIGHT_LEVEL_MAX,KO as NAVIGATION_LIGHT_LEVEL_MIN,i_ as NC_ALARM_SYSTEM_EVENT_KINDS,OL as NC_AUDIO_CONFIRM_HITS_DEFAULT,jL as NC_AUDIO_CONFIRM_HITS_MAX,AL as NC_AUDIO_CONFIRM_HITS_MIN,NL as NC_AUDIO_CONFIRM_WINDOW_MAX_SEC,ML as NC_AUDIO_CONFIRM_WINDOW_MIN_SEC,kL as NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT,p_ as NC_AUDIO_DBFS_FLOOR,xL as NC_AUDIO_DB_MAX,bL as NC_AUDIO_DB_MIN,CL as NC_AUDIO_DB_OFFERED,SL as NC_AUDIO_DB_STEP,PL as NC_AUDIO_DEFAULTS,TL as NC_AUDIO_HIT_PERCENT_MAX,wL as NC_AUDIO_HIT_PERCENT_MIN,DL as NC_AUDIO_SAMPLING_MAX_SEC,EL as NC_AUDIO_SAMPLING_MIN_SEC,RR as NC_AUDIO_SEED,r_ as NC_AUTHORABLE_SYSTEM_EVENT_KINDS,QL as NC_BASE_CONDITION_KEYS,xv as NC_CLIP_RETENTION_MAX_SEC,Q_ as NC_CONDITION_CATALOG,N_ as NC_CONFIRM_DEFAULT_MAX_IMAGE_PX,M_ as NC_CONFIRM_DEFAULT_TIMEOUT_MS,j_ as NC_CONFIRM_MAX_TIMEOUT_MS,A_ as NC_CONFIRM_MIN_TIMEOUT_MS,c_ as NC_DEFAULT_SNOOZE_MINUTES,rv as NC_HISTORY_LIMIT_DEFAULT,iv as NC_HISTORY_LIMIT_MAX,o_ as NC_MAX_PER_TRACK_IMMEDIATE,LR as NC_OCCUPANCY_DEFAULTS,R_ as NC_RULE_CLEARABLE_KEYS,VR as NC_RULE_EDITOR_SECTION_ORDER,SR as NC_RULE_KIND_SPECS,AR as NC_RULE_SECTIONS,s_ as NC_SNOOZE_MAX_MINUTES,wR as NC_SYSTEM_DELIVERY,sz as NC_SYSTEM_EVENT_FILTER_KEYS,Vg as NC_TAXONOMY,tz as NC_TEMPLATE_VARS,QO as NETWORK_LINK_TYPES,ek as NETWORK_LINK_UNKNOWN,bx as NativeCropBboxSchema,Lv as NativeCropRefSchema,xx as NativeCropResultSchema,jO as NativeDetectionSchema,hB as NativeLeaseAdmissionSchema,gB as NativeLeaseSettingsSchema,AO as NativeObjectClassEnum,PO as NativeObjectDetectionOptionsSchema,IO as NativeObjectDetectionRuntimeStateSchema,FO as NativeObjectDetectionSettingsPatchSchema,MO as NativeObjectDetectionStatusSchema,NO as NativeObjectGeometryEnum,VO as NavigationActionEntrySchema,zO as NavigationActionIdSchema,BO as NavigationEntryKindSchema,WO as NavigationFeaturesSchema,GO as NavigationLightModeSchema,JO as NavigationModeSchema,RO as NavigationMoveCommandSchema,UO as NavigationPointSchema,XO as NavigationRuntimeStateSchema,YO as NavigationStatusSchema,bv as NcAlarmConfigSchema,hv as NcAlarmModeCoverageSchema,fv as NcAlarmSettingsPatchSchema,dv as NcAlarmSettingsSchema,pv as NcAlarmSkipReasonSchema,mv as NcAlarmSkippedDeviceSchema,m_ as NcAudioConditionSchema,Sv as NcClipRetentionAskSchema,Cv as NcClipRetentionPlanSchema,Z_ as NcConditionDescriptorSchema,C_ as NcConditionsSchema,P_ as NcConfirmExpectSchema,F_ as NcConfirmSchema,h_ as NcCrossingSchema,e_ as NcDeliverySchema,x_ as NcDeviceStateConditionSchema,nv as NcHistoryEntrySchema,av as NcHistoryFilterSchema,ev as NcHistoryRecordKindSchema,$_ as NcHistoryStatusSchema,tv as NcHistorySubjectSchema,E_ as NcLinkedCameraModeSchema,T_ as NcMediaFrameSchema,D_ as NcMediaPolicySchema,f_ as NcOccupancyConditionSchema,d_ as NcPlateMatcherSchema,__ as NcRuleActionSchema,v_ as NcRuleActionSequenceSchema,b_ as NcRuleActionsSchema,z_ as NcRuleClearableKeySchema,I_ as NcRuleInputSchema,U_ as NcRuleKindSchema,y_ as NcRuleNotificationButtonSchema,L_ as NcRulePatchSchema,V_ as NcRuleSchema,w_ as NcRuleTargetSchema,B_ as NcRuleUpdateInputSchema,S_ as NcSceneConditionSchema,u_ as NcScheduleSchema,l_ as NcScheduleWindowSchema,sv as NcSnoozeInputSchema,cv as NcSnoozeSchema,ov as NcSnoozeScopeSchema,lv as NcSnoozeSuppressedSchema,a_ as NcSystemEventConditionSchema,t_ as NcSystemEventKindSchema,Lg as NcTaxonomyEntrySchema,Rg as NcTaxonomySchema,W_ as NcTemplateFamilySchema,G_ as NcTemplateFieldSchema,Y_ as NcTemplatePreviewInputSchema,X_ as NcTemplatePreviewSchema,J_ as NcTemplateVarContextSchema,q_ as NcTemplateVarDescriptorSchema,K_ as NcTemplateVarGroupSchema,H_ as NcTestResultSchema,O_ as NcThrottleGranularitySchema,k_ as NcThrottleSchema,g_ as NcZoneConditionSchema,$h as NetworkAccessStatusSchema,TN as NetworkAddressSchema,Qh as NetworkEndpointSchema,$O as NetworkLinkStatusSchema,ag as NotificationActionIconSchema,og as NotificationActionSchema,ig as NotificationFormatSchema,sg as NotificationSchema,Dk as NotifierStatusSchema,jk as NumericSensorStatusSchema,bI as OPERATOR_WRITTEN_STALE_MS,ba as OPS_LOG_DEFAULT_LIMIT,ya as OPS_LOG_RING_DEFAULT_MAX,Ms as OVERFLOW_REASON,Js as OVERLAY_LAYERS,Fv as OauthIntegrationDescriptorSchema,eb as ObjectEventSchema,Xx as OccupancyBurstRefusalSchema,aM as OnboardFieldSupportSchema,tM as OnboardRecordTrackSchema,oM as OnboardScheduleSupportSchema,eM as OnboardStorageSchema,$j as OnboardStorageVolumeSchema,ma as OpsLogDomainSchema,_a as OpsLogEntrySchema,ha as OpsLogOpSchema,va as OpsLogQueryInputSchema,ga as OpsLogReasonSchema,_x as OrchestratorMetricsSchema,Nk as OsdOverlayKindEnum,Lk as OsdOverlayPatchSchema,Fk as OsdOverlaySchema,Pk as OsdPositionEnum,Hk as OsdRenderOutcomeEnum,Uk as OsdRenderResultSchema,Bk as OsdSlotBindingSchema,Vk as OsdSlotViewSchema,Gk as OsdSourceOptionSchema,zk as OsdSourceSchema,Wk as OsdSourceValueTypeEnum,Ik as OsdStatusSchema,$e as PEER_BYTES_CHUNK_BYTES,Ze as PEER_BYTES_MAX_OUTSTANDING,Qe as PEER_BYTES_STALL_MS,Xe as PEER_BYTES_TICKET_TTL_MS,Jk as PET_FEEDER_MANUAL_FEED_MAX,qk as PET_FEEDER_MANUAL_FEED_MIN,Ai as PIPELINE_ANALYTICS_CAP_NAME,GP as PIPELINE_FLOW_CAPABILITY_NAMES,KP as PIPELINE_OWNER_CAPABILITY_NAMES,ki as PRIVACY_MASK_CAP_NAME,rL as PROVIDER_KIND_CAP_NAMES,Bt as PROVIDER_PIN_FIELD,VV as PYTHON_SCRIPT,mT as PackageUpdateSchema,hT as PackageVersionInfoSchema,Cx as ParkRefusalSchema,wx as ParkTrackFrameResultSchema,Sx as ParkedFrameKindSchema,Tx as ParkedTrackFrameSchema,lh as PasskeyLoginMethodSchema,GC as PasskeySummarySchema,ju as PcmSampleFormatSchema,et as PeerBytesTicketSchema,PP as PerScopeBreakdownSchema,Zk as PetFeederStatusSchema,Kd as PickStreamPreferencesSchema,Gd as PickStreamRequirementsSchema,qd as PickedCamStreamSchema,aS as PipelineAssignmentSchema,Hv as PipelineDefaultStepSchema,q as PipelineEngineChoiceSchema,py as PipelineRunResultBridge,J as PipelineStepInputSchema,Qv as PipelineValidationIssueSchema,$v as PipelineValidationResultSchema,Pd as PlaceholderReasonSchema,vy as PolygonPointSchema,kV as PoolMemoryWatchdog,xA as PowerMeterStatusSchema,wA as PresenceStatusSchema,EA as PressureSensorStatusSchema,jA as PrivacyMaskOptionsSchema,MA as PrivacyMaskPatchSchema,kA as PrivacyMaskRegionSchema,OA as PrivacyMaskShapeSchema,AA as PrivacyMaskStatusSchema,Tt as ProfileRtspEntrySchema,st as ProfileSlotSchema,ot as ProfileSlotStatusSchema,Pp as ProviderStatusSchema,qA as PtzAutotrackRuntimeStateSchema,WA as PtzAutotrackSettingsSchema,KA as PtzAutotrackStatusSchema,GA as PtzAutotrackTargetOptionSchema,VA as PtzHomePresetSchema,HA as PtzHomeReturnSchema,RA as PtzMoveCommandSchema,BA as PtzOptionsSchema,LA as PtzPositionSchema,FA as PtzPresetFunctionSchema,IA as PtzPresetSchema,zA as PtzStatusSchema,V as QueryFilterSchema,Vr as RATE_CONTROL_RELAXED,Br as RATE_CONTROL_TIGHT,mI as REACHABILITY_FAILURES_TO_OFFLINE,pI as REACHABILITY_POLL_INTERVAL_MS,hI as REACHABILITY_PROBE_TIMEOUT_MS,Ho as RECOGNITION_TYPES,Na as RECORDING_AUDIO_TRIGGER_OFFERED_DBFS,Wj as RECORDING_EXPORT_MAX_READ_BYTES,XA as RECORDING_SOURCE_CAMSTACK,ZA as RECORDING_SOURCE_CAMSTACK_ADDON,lj as RECORDING_TIMELINE_BATCH_MAX,Li as REDACTED_SECRET,Hc as RESERVED_BINDING_NAMES,NM as RESERVED_COLLECTION_SOURCES,lL as RESTORED_CAP_NAMES,Ls as ROOT_BUCKET_KEY,cF as RUNTIME_DEFAULTS,aL as RUNTIME_STATE_POLICY,yI as RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS,BV as RUNTIME_TO_FORMAT,fn as RawStateResultSchema,Ej as ReadGopBytesResultSchema,Tj as ReadSegmentBytesResultSchema,Dj as ReadWindowBytesResultSchema,jt as ReadinessRegistry,Et as ReadinessTimeoutError,Fb as RecentTracksPageSchema,Tb as RecentTracksQueryInput,Zj as RecordTriggerSchema,Qj as RecordWindowSchema,uj as RecordingAvailabilityForDeviceSchema,ej as RecordingAvailabilitySchema,La as RecordingBandAudioSchema,Fa as RecordingBandModeSchema,Ra as RecordingBandSchema,Ia as RecordingBandTriggersSchema,Ua as RecordingConfigSchema,dj as RecordingDaysForDeviceSchema,tj as RecordingDaysSchema,fj as RecordingDeviceUsageSchema,pj as RecordingLocationUsageSchema,nj as RecordingManifestSchema,Aa as RecordingObjectTriggerClassSchema,sM as RecordingOnboardOptionsSchema,cM as RecordingOnboardPatchSchema,nM as RecordingOnboardStatusSchema,oj as RecordingPlaybackSchema,QA as RecordingRangeSchema,$A as RecordingReadSchema,yj as RecordingRebalanceInputSchema,hj as RecordingRebalanceMoveSchema,vj as RecordingRebalancePlanSchema,gj as RecordingRebalanceSkipReasonSchema,_j as RecordingRebalanceSkipSchema,Ha as RecordingRetentionSchema,jM as RecordingSignalRuntimeStateSchema,AM as RecordingSignalStatusSchema,rj as RecordingSourceAvailabilitySchema,aj as RecordingSourceOptionsSchema,ij as RecordingSourceSchema,cj as RecordingStatusSchema,ka as RecordingStorageModeSchema,mj as RecordingStorageUsageSchema,Pa as RecordingTriggersSchema,Da as RecordingWeekdaySchema,sh as RedirectLoginMethodSchema,Io as RelocatableMediaCountInputSchema,Fo as RelocatableMediaCountSchema,to as RelocateFootageClassSchema,no as RelocateFootageInputSchema,eo as RelocateJobSchema,$a as RelocateJobStateSchema,ao as RelocateMediaInputSchema,Do as RelocateResidueInputSchema,Oo as RelocateResidueSchema,mg as RenderedAsSchema,Vx as ReportMotionInputSchema,YN as ReportedFailureContributionSchema,JN as ReportedLoadContributionSchema,MN as RequestCensusGroupSchema,NN as RequestCensusProcedureSchema,PN as RequestCensusSnapshotSchema,FN as RequestCensusStatusSchema,db as RetrainAnnotationDraftSchema,sb as RetrainAnnotationKindSchema,ub as RetrainAnnotationSchema,cb as RetrainAnnotationSourceSchema,yb as RetrainAssistResultSchema,vb as RetrainAssistSubjectSchema,hb as RetrainCopyRefusalSchema,pb as RetrainFrameCandidateSchema,_b as RetrainFrameListSchema,mb as RetrainFrameSchema,gb as RetrainFrameSelectionSchema,ob as RetrainMacroClassSchema,Iy as RetrainStatusSchema,fb as RetrainTrackSchema,bb as RetrainTransitionResultSchema,NV as RingBuffer,Rd as RtpSourceSchema,Ed as RtspRestreamEntrySchema,Wx as RunnerCameraConfigSchema,Gx as RunnerCameraDeviceUIFields,Hx as RunnerFrameSourceSchema,Ux as RunnerInferenceDeviceSchema,Kx as RunnerLocalLoadSchema,Yx as RunnerLocalMetricsSchema,IM as SCENE_CONDITIONS,XM as SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX,YM as SCENE_CONFIRM_DEFAULT_TIMEOUT_MS,qM as SCENE_DEFAULT_ANCHOR_THRESHOLD,KM as SCENE_DEFAULT_CHECK_INTERVAL_SEC,GM as SCENE_DEFAULT_OBSERVATION_SPACING_SEC,WM as SCENE_DEFAULT_QUIET_SECONDS,JM as SCENE_DEFAULT_UNCOVERED_POLICY,RM as SCENE_DIVERGED,ZM as SCENE_RESET_RECAPTURES,uL as SCOPE_PRESETS,UF as SENSOR_FEATURES,GF as SENSOR_MAP,Ye as SHARE_VIEW_KINDS,QP as SOURCE_CAPS,XP as SOURCE_CAP_ACTIVE_FIELD,ZP as SOURCE_CAP_CHANGED_AT_FIELD,$P as SOURCE_DEVICE_TYPES,Xf as SOURCE_INFO_METADATA_KEY,Xs as STATIONARY_OVERLAY_STYLE,ds as STORAGE_ACCESS_FALLBACK,ss as STORAGE_BYTES_PER_GB,Uo as STORAGE_LOCATION_MODES,_N as STREAM_PROFILE_META,ta as STREAM_QUALITY_LABELS,Vo as SUB_DETECTION_TYPES,Ob as SUMMARIES_DEFAULT_LIMIT,Db as SUMMARIES_MAX_LIMIT,$I as SYSTEM_CAP_NAMES,tL as SYSTEM_SCOPE_DEVICE_METHODS,UM as SceneCheckSchema,FM as SceneConditionSchema,QM as SceneConfirmSchema,$M as SceneMonitorSchema,HM as SceneMonitorStateSchema,tN as SceneMonitorStatusForDeviceSchema,eN as SceneMonitorStatusSchema,VM as SceneReferenceSchema,BM as SceneUnavailableSchema,LM as SceneUncoveredPolicySchema,zM as SceneVerdictSchema,Pv as ScopedTokenSchema,mP as ScopedTokenSummarySchema,qb as ScoredObjectEventSchema,rN as ScriptRunnerStatusSchema,gT as SearchResultSchema,nC as SendEmailInputSchema,rC as SendEmailResultSchema,hg as SendResultSchema,ky as SensorEventSchema,HS as ServerBootModeSchema,XS as ServerPackageStatusSchema,YS as ServerRollbackInfoSchema,$S as ServerUpdateActionResultSchema,ZS as ServerUpdateCheckResultSchema,QS as ServerUpdateOutcomeSchema,US as ServerUpdateStateSchema,ZN as SetLoggingSettingsInputSchema,kN as SetSiteLocationInputSchema,eu as SettingsPatchSchema,wf as SettingsRecordSchema,z as SettingsSchemaWithValuesSchema,tu as SettingsUpdateResultSchema,Nf as ShmRingStatsSchema,DN as SiteLocationSchema,EN as SiteLocationSourceSchema,ON as SiteLocationStatusSchema,Mp as SiteZoneSchema,aN as SmokeStatusSchema,iC as SmtpStatusSchema,oC as SnapshotImageSchema,Kf as SourceInfoSchema,vu as SpatialDetectionSchema,lC as SsoBridgeClaimsSchema,Jh as StartEmbeddedInputSchema,IP as StationaryObjectSchema,TC as StorageAbortUploadInputSchema,us as StorageAccessSchema,EC as StorageBeginDownloadInputSchema,DC as StorageBeginDownloadResultSchema,xC as StorageBeginUploadInputSchema,SC as StorageBeginUploadResultSchema,Ro as StorageCleanupInputSchema,zo as StorageCleanupJobSchema,Lo as StorageCleanupPhaseSchema,Bo as StorageCleanupStatusInputSchema,ls as StorageDrainProgressSchema,kC as StorageEndDownloadInputSchema,Go as StorageEvictionPolicySchema,wC as StorageFinalizeUploadInputSchema,fs as StorageLocationDeclarationSchema,Wo as StorageLocationModeSchema,M as StorageLocationRefSchema,j as StorageLocationSchema,is as StorageLocationTypeSchema,lo as StorageMigrationClassSchema,uo as StorageMigrationDestinationsSchema,Eo as StorageMigrationDrainInputSchema,bo as StorageMigrationFindingCodeSchema,xo as StorageMigrationFindingSchema,ro as StorageMigrationFootageMoveInputSchema,mo as StorageMigrationInputSchema,yo as StorageMigrationJobSchema,Co as StorageMigrationLaneSchema,A as StorageMigrationLeaseInputSchema,co as StorageMigrationMediaMoveInputSchema,po as StorageMigrationModeSchema,_o as StorageMigrationMoveProgressSchema,vo as StorageMigrationMoveSchema,wo as StorageMigrationMoverSchema,go as StorageMigrationParticipantSchema,ho as StorageMigrationPhaseSchema,So as StorageMigrationPlanSchema,To as StorageMigrationResidueSchema,fo as StorageMigrationSourcesSchema,_C as StorageOccupancyReportSchema,yC as StorageProviderInfoSchema,OC as StorageReadChunkInputSchema,bC as StorageTestLocationResultSchema,CC as StorageWriteChunkInputSchema,Wd as StreamCodecSchema,xd as StreamFormatSchema,ik as StreamNetworkStatsSchema,mN as StreamParamsOptionsSchema,fN as StreamParamsStatusSchema,dN as StreamProfileConfigSchema,pN as StreamProfileOptionsSchema,hN as StreamProfilePatchSchema,uN as StreamProfileSchema,jC as StreamSignalSchema,MC as StreamSignalsStatusSchema,ft as StreamSourceEntrySchema,pt as StreamSourceSchema,xt as SubscribeAudioChunksInputSchema,St as SubscribeAudioChunksResultSchema,_t as SubscribeFramesInputSchema,vt as SubscribeFramesResultSchema,Eb as SummarySchema,xN as SwitchStatusSchema,Ah as SystemMetricsSchema,jI as SystemMirror,H as TAXONOMY_COLORS,_z as TIMELAPSE_DENSE_FLOOR_SEC,_s as TIMEZONES,Ur as TRANSCODE_DOWN_MAX_BITRATE_KBPS,Hr as TRANSCODE_DOWN_MAX_HEIGHT,eP as TamperStatusSchema,SP as TankStatusSchema,lg as TargetKindCapsSchema,cg as TargetKindLevelSchema,dg as TargetKindSchema,fg as TargetSchema,nP as TemperatureSensorStatusSchema,RC as TerminalInstanceInfoSchema,zC as TerminalLegacyCameraSchema,VC as TerminalOutputBatchSchema,BC as TerminalOutputEventSchema,LC as TerminalProfileInfoSchema,IC as TerminalSessionInfoSchema,PD as TestConnectionResultSchema,ND as TestConnectionStatusEnum,gg as TestResultSchema,Cz as TimelapseRuleInputSchema,Tz as TimelapseRulePatchSchema,Ez as TimelapseRuleSchema,uz as TimelapseTemplateSchema,iP as ToastSchema,K as TokenScopeSchema,pk as TopologyNodeSchema,lk as TopologyProcessSchema,ck as TopologyServiceSchema,Yb as TrackCascadeCountsSchema,My as TrackEnvelopeSchema,By as TrackFlagsPatchSchema,Vy as TrackFlagsSchema,Ny as TrackProjectionSchema,qy as TrackSchema,Fy as TrackSourceSchema,xy as TrackStateSchema,Cy as TrackZoneFilterSchema,Gb as TrackedDetectionSchema,Gy as TrainingExportDeviceTotalsSchema,Ky as TrainingExportSummarySchema,jN as TransportPlaneCountsSchema,AN as TransportPlaneSchema,UC as TurnServerSchema,Is as UNATTRIBUTED_BUCKET_KEY,JB as UNIT_TABLE,ed as UnifiedBrokerInfoSchema,YB as UnitConversionError,so as UnstampedEventMediaCountSchema,oo as UnstampedRowsSchema,ID as UpdateIntegrationInputSchema,oP as UpdateStatusSchema,uP as UpdateUserInputSchema,Mv as UserRecordSchema,cP as UserSummarySchema,kw as VIDEOCLIPS_MAX_OFFER_BYTES,Ow as VIDEOCLIPS_MAX_READ_BYTES,Va as VISIT_MERGE_GAP_MS,CP as VacuumControlStatusSchema,xP as VacuumStateSchema,TP as ValveStateSchema,EP as ValveStatusSchema,QC as VectorDeclareIndexInputSchema,iw as VectorDeleteByFilterInputSchema,rw as VectorDeleteInputSchema,aw as VectorDeleteResultSchema,YC as VectorFilterSchema,ow as VectorGetInputSchema,sw as VectorGetResultSchema,XC as VectorItemSchema,ZC as VectorMatchSchema,JC as VectorMetadataSchema,qC as VectorMetricSchema,tw as VectorQueryInputSchema,nw as VectorQueryResultSchema,fw as VectorStatsInputSchema,pw as VectorStatsResultSchema,$C as VectorUpsertInputSchema,ew as VectorUpsertResultSchema,OP as VibrationStatusSchema,Or as VideoEncodeSchema,Rr as WEBRTC_EGRESS_PROFILE,pM as WEEKLY_MASK_LENGTH,we as WELL_KNOWN_TABS,Te as WELL_KNOWN_TAB_MAP,AP as WaterHeaterStatusSchema,MP as WeatherStatusSchema,Kw as WebrtcLadderDecisionSchema,Jw as WebrtcSessionDebugSchema,Gw as WebrtcStreamChoiceSchema,Ww as WebrtcStreamTargetSchema,qw as WebrtcTierFailureSchema,SD as WhiteBalanceModeSchema,ru as WidgetHostEnum,ch as WidgetLoginMethodSchema,ou as WidgetMetadataSchema,au as WidgetRemoteSchema,iu as WidgetSizeEnum,qS as WrapperEvidenceSchema,JS as WrapperIdentitySchema,KS as WrapperKindSchema,wg as YAMNET_TO_MACRO,Zy as ZoneCrossingDirectionSchema,Qy as ZoneCrossingSchema,_y as ZoneKindEnum,hy as ZoneRuleModeEnum,Y as ZoneRuleSchema,UP as ZoneRuleStageEnum,gy as ZoneRulesArraySchema,yy as ZoneSchema,FP as ZoneScopeBreakdownSchema,Ds as __resetLogChannelRegistryForTests,Zw as accessoriesCapability,uF as accessoryStableId,Gl as addonPagesCapability,ql as addonPagesSourceCapability,Zl as addonRoutesCapability,nu as addonSettingsCapability,lu as addonWidgetsCapability,su as addonWidgetsSourceCapability,kT as addonsCapability,Qt as adminUiCapability,jT as airQualitySensorCapability,Wg as alarmPanelCapability,mu as alertsCapability,NT as ambientLightSensorCapability,On as asBoolean,Tn as asJsonArray,wn as asJsonObject,Dn as asNumber,En as asString,Dz as assertTimelapseCadences,hu as audioAnalysisCapability,Au as audioAnalyzerCapability,ve as audioChunkBytesPerSample,Ru as audioCodecCapability,LL as audioIsFailClosed,yL as audioKindId,VL as audioLabelChoices,RT as audioMetricsCapability,IL as audioModeOf,FL as audioOrDefaults,nr as audioPlanFromEncodeProfile,gL as audioScaleEraOf,Bu as authProviderCapability,ua as autoAssignProfiles,BT as automationControlCapability,Qu as backupCapability,cV as bareAddonId,HT as batteryCapability,oV as bestLocationMatch,WT as binaryCapability,tH as bindAddonActions,KT as brightnessCapability,yd as brokerCapability,wr as buildAddonRouteProvider,Wn as buildAudioArgs,Wf as buildDeviceAdminUrl,VS as buildEventKindDescriptor,$n as buildFfmpegArgs,Rn as buildInputArgs,cc as buildModelVariantGroups,Bg as buildNcTaxonomy,jB as buildRoleScopes,yN as buildStreamParamsConfigSchema,Un as buildVideoArgs,qT as buttonCapability,XT as cameraCredentialsCapability,nE as cameraGridLayoutCapability,bd as cameraPipelineConfigCapability,Jd as cameraStreamsCapability,nV as canConvertUnit,ei as canonicalEgressPlan,iE as carbonMonoxideCapability,MV as cellsToRects,Dc as classifyBearerPrincipal,aa as classifyStream,ia as classifyStreams,sE as climateControlCapability,Vj as clipExportFailure,Hj as clipExportFailureOf,xw as clipReasonHeaderValue,jz as clusterModelSettingKey,Hz as clusterStepSettingFieldsFor,Vz as clusterStepSettingKey,Pr as codecIsAccepted,De as collectHydratedFieldEntries,ke as collectHydratedFieldValues,zi as collectSecretConfigKeys,fE as colorCapability,Fg as colorForKind,EV as commitWatchdogRestart,Mr as compareToTarget,il as compileExpression,al as compileExpressionSafe,Ii as composeSwitchedOff,Pl as conditionDepth,OR as conditionExclusionReason,DR as conditionVisibleForKind,_E as connectionTestCapability,yE as connectivityCapability,SE as consumablesCapability,wE as contactCapability,OE as controlCapability,eV as convertUnit,df as coreBlockAddonId,ff as coreBlockIdFromAddonId,vf as coreBlocksCapability,uV as cosineSimilarity,Fl as countConditionLeaves,jE as coverCapability,yn as createDeviceProxy,Le as createDurableState,Fe as createEvent,gn as createEventBusSliceSource,sl as createExpressionScope,Jr as createHwAccelCache,hn as createLazyTrpcSource,ks as createLogChannelsProvider,_n as createMirrorSource,xI as createRuntimeStateBridge,D as createSliceHandle,dL as createSystemProxy,nn as customAction,bf as customModelRegistryCapability,Af as dataStoreProviderCapability,LE as dayNightCapability,OM as dayOfWeekToIndex,FF as declarationOwnerNodeId,Es as declareLogChannel,XV as decodeVectorBase64,Pf as decoderCapability,BR as defaultDeliveryForSection,lH as defaultDeviceFor,tn as defineCustomActions,wF as deriveBatteryPresence,Pi as deriveCameraSwitches,iB as deriveDetailCropRect,Wa as deriveRecordingMode,an as describeCustomActions,uc as describeModelVariant,kM as describeOnboardClamp,hM as describeOnboardRefusal,NB as detectAccessRole,Ff as detectionPipelineCapability,Rf as deviceAdminLinkCapability,mp as deviceAdoptionCapability,zV as deviceBackendToFormat,rn as deviceCustomAction,tp as deviceDiscoveryCapability,Cp as deviceExportCapability,sm as deviceManagerCapability,JF as deviceMatchesProfile,pn as deviceOpsCapability,Bp as deviceProviderCapability,FB as deviceSelectorMatches,cm as deviceStateCapability,zE as deviceStatusCapability,iI as displayIconEntry,aI as displayIconsInGroup,HE as doorbellCapability,kR as droppedConditionsForKind,ti as egressTranscodeSharingKey,Zr as egressTransportFromRequest,dm as embeddingEncoderCapability,Nt as emitDownForOwnedCaps,Ie as emitReadiness,Yd as emitsCollectionSelector,jr as encodeProfileFromStreamShape,YV as encodeVectorBase64,GE as enumSensorCapability,mH as enumerateInferenceDevices,TI as enumerateItemArrayFields,wI as enumerateSchemaFields,dr as errMsg,hl as evaluateAst,yl as evaluateExpressionSource,TV as evaluatePoolMemory,iF as evaluateSensorEdge,QV as evaluateZoneRules,Jt as event,JE as eventEmitterCapability,Yo as evictionPolicyForMode,ts as evictionPolicyOfLocation,ye as expandAudioChunkToF32le,Gt as expandCapMethods,MF as expandContainer,Yj as exportSubjectOf,tf as extractNestedAddonId,Zf as extractSourceInfoFromMetadata,aD as faceGalleryCapability,mm as failureContributionCapability,Fs as failureRate,cD as fanControlCapability,uD as featureProbeCapability,_m as filesystemBrowseCapability,vs as findTimezone,fD as floodCapability,Bs as foldSnapshotByFunction,GV as formatForBackend,KV as formatForRuntime,_r as formatMediaOwnerKey,xM as formatMinutes,Zs as formatParkedFor,mD as gasCapability,cs as gbToBytes,Hl as generateAutomationBlock,Og as getAudioMacroClassIds,dI as getByPath,iL as getCapsByProviderKind,Ts as getLogChannelRegistry,Pg as getTaxonomyEntry,HF as hasMotionTrigger,pV as hfModelUrl,rR as htmlToText,gD as humidifierCapability,vD as humiditySensorCapability,je as hydrateSchema,bD as imageCapability,kD as imageSettingsCapability,vc as inferModelProvider,bV as initialPoolMemoryState,RD as integrationsCapability,HD as intercomCapability,rr as invocationFromEncodeProfile,ui as isAgentOnlyPlacement,Qd as isArrayOutputSchema,_e as isAudioChunkFormat,HL as isAudioLabelSelected,NR as isAudioRule,eR as isBaseConditionKey,TF as isBatteryPresenceFault,Mz as isClusterScopedStep,$d as isCollectionArrayMethod,li as isDeployableToAgent,xg as isDetectionMacroClass,Yt as isDeviceConfigCap,xn as isDeviceScopedCap,rI as isDisplayIconKey,Pe as isEvent,Cr as isEventOwnerType,wa as isFirstLevelMacroClass,mi as isIsolatedBuiltin,oz as isKnownTemplateVar,os as isLocationEnabled,hr as isMediaOwnerType,KF as isNode,Zd as isObjectInput,PR as isOccupancyRule,cL as isRestoredCap,lV as isSameAddonId,KR as isScheduleActive,Ri as isSecretConfigField,Ln as isSoftwareDecode,eF as isSourceCap,Qo as isStorageLocationMode,TR as isSystemDelivery,Xd as isVoidInput,hL as ituDbfsFromPreEpoch,Qw as jobKindSchema,cf as kebabToCamel,ZL as knownValues,KD as lawnMowerControlCapability,NF as legacyAutoLinkIds,Xo as legacyModeOf,aT as lifecycleJobSchema,iT as lifecycleJobScopeSchema,rT as lifecycleJobStateSchema,nT as lifecycleTaskSchema,Xm as llmCapability,Lm as llmRuntimeCapability,eh as loadContributionCapability,aO as localNetworkCapability,Op as locationIconKey,aV as locationSimilarity,cO as lockControlCapability,In as logBannerArgs,nh as logChannelsCapability,ah as logDestinationCapability,pa as logLevelAtMost,dh as loginMethodCapability,ef as looseSchema,ct as makeProfileBrokerId,lt as makeSourceBrokerId,Dg as mapAudioLabelToMacro,sR as markdownToHtmlLite,tR as markdownToText,gV as maskUrlCredentials,es as mayReadLocation,$o as mayWriteToLocation,pO as mediaPlayerCapability,Jf as mergeSourceInfo,_O as meshNetworkCapability,w as method,wc as methodAccessForHttpMethod,jh as metricsProviderCapability,Qa as migrateLegacyDeviceSignalConfig,DM as minutesToTimeOfDay,Jo as modeMayRead,qo as modeMayWrite,Nh as modelConvertCapability,Ih as modelDistributorCapability,uH as modelFormatForRuntime,xO as motionCapability,zh as motionDetectionCapability,wO as motionTriggerCapability,kO as motionZonesCapability,Zh as mqttBrokerCapability,LO as nativeObjectDetectionCapability,ZO as navigationCapability,tg as networkAccessCapability,rk as networkLinkCapability,sk as networkQualityCapability,Ft as nodePin,Ck as nodesCapability,Ke as normalizeAddonInitResult,vL as normalizeAudioLabel,VB as normalizeTokenScopes,Yf as normalizeUnit,_g as notificationOutputCapability,wv as notificationRulesCapability,Ak as notifierCapability,Mk as numericSensorCapability,Iv as oauthIntegrationCapability,nf as objectInputDeclaresAddonId,rf as objectInputDeclaresRequiredDeviceId,px as occupancyScope,qt as optionalMethod,Rk as osdCapability,Kk as osdManagerCapability,qz as overlayClusterStepSettings,Gf as parseAdminBase,la as parseCameraStreamConfig,tl as parseExpression,An as parseJsonArray,kn as parseJsonObject,Cn as parseJsonUnknown,gr as parseMediaOwnerKey,mx as parseOccupancyScope,yV as parseProcStatus,ut as parseProfileBrokerId,MR as parseRuleSection,bN as parseStreamParamsFormPatch,BL as patchAudio,Qk as petFeederCapability,WF as pickAccessoryControl,Lz as pickClusterStepModels,Kz as pickClusterStepSettings,tB as pickDetailCropConvention,OB as pickNativeLeaseOverride,Ks as pickPreferredRtspEntry,OV as pickRestartCandidate,tr as pickVideoEncoder,XL as pickerForCondition,gx as pipelineAnalyticsCapability,my as pipelineExecutorCapability,PS as pipelineOrchestratorCapability,Zx as pipelineRunnerCapability,iA as plateGalleryCapability,bA as platformProbeCapability,CV as poolMemoryThreshold,SA as powerMeterCapability,mR as prepareNotification,TA as presenceCapability,DA as pressureSensorCapability,Oc as principalMayReachAddon,NA as privacyMaskCapability,sf as procedureAuthKey,JA as ptzAutotrackCapability,UA as ptzCapability,qV as pythonScriptForBackend,Ir as rankStreams,Fz as readClusterStepModels,Wz as readClusterStepSettings,$z as readDetailCropConvention,JP as readDeviceStateFrom,TB as readNativeLeaseOverride,Lt as readNodePin,Oz as readTimelapseGeneratedAt,Dt as readinessKey,YA as rebootCapability,Oj as recordingArchiveCapability,sj as recordingCapability,Xj as recordingExportCapability,lM as recordingOnboardCapability,MM as recordingSignalCapability,jV as rectsToCells,Gs as reducePoints,JV as requiresPython,PM as reservedSourceOwner,DV as resetPoolBaseline,ci as resolveAddonExecution,di as resolveAddonGroup,pi as resolveAddonPlacement,WV as resolveAddonRuntime,Ws as resolveBucketMs,zt as resolveCapMount,Rz as resolveClusterStepModelId,jF as resolveContainerPrimaryChild,Jj as resolveCreateExportSubject,HV as resolveDetectionRuntime,BF as resolveDeviceControlKind,ZF as resolveDeviceProfile,Xr as resolveEgressDecodeHwAccel,Kj as resolveExportProfiles,lR as resolveFormat,Ae as resolveHydratedFieldValue,kp as resolveLocationIcon,Zo as resolveLocationMode,of as resolveMethodAuth,UV as resolveModelFormat,qF as resolveMutate,vV as resolvePoolMemoryPolicy,Ka as resolveRecordingProfiles,fi as resolveRunnerId,zn as resolveStreamMaps,lc as resolveVariantModelId,BB as resolveViewableDeviceIds,AB as roleSpec,UR as ruleEditorSectionsForKind,ER as ruleKindOf,CR as ruleKindSpec,FR as ruleMatchesSection,jR as ruleSection,IR as ruleSectionOf,zR as ruleSeedForSection,PV as runInferenceStep,cH as runtimeDevices,oL as runtimeStatePolicyFor,nN as sceneMonitorCapability,Bi as schemaDeclaresAnyField,RB as scopeInherits,Ot as scopeKey,Ec as scopesAllowAddon,Tc as scopesAllowDeviceCap,dH as scoreRuntimes,iN as scriptRunnerCapability,lI as searchDisplayIcons,dt as selectAssignedProfileSlots,eC as serverManagementCapability,fI as setByPath,Of as settingsStoreCapability,tk as signalPercentFromBars,nk as signalPercentFromRssi,Np as siteZoneKey,jn as sleep,Mn as sleepCancellable,tF as sliceActiveValue,nF as sliceChangedAt,oN as smokeCapability,aC as smtpProviderCapability,cC as snapshotCapability,uC as ssoBridgeCapability,_I as startReachabilityPoll,YP as stateVocabularyFor,fC as storageCapability,hC as storageEvictableCapability,gC as storageMigrationCapability,vC as storageOccupancyCapability,AC as storageProviderCapability,Ud as streamBrokerCapability,lN as streamCatalogCapability,gN as streamParamsCapability,ra as streamPixels,na as streamQualityLabel,NC as streamSignalsCapability,Ba as stripRetiredBandPreBufferSec,ns as strippedOfLegacyReadOnly,Ig as subKindsOf,PA as summarisePrivacyAudio,KB as summarizeEffectiveScope,sH as supportedRuntimes,SN as switchCapability,Fi as switchedOffIds,qf as synthesizeSourceInfo,$N as systemCapability,cz as systemEventFilterApplies,lz as systemEventFilterAppliesToAnyKind,tP as tamperCapability,tT as taskLogEntrySchema,$w as taskPhaseSchema,eT as taskTargetSchema,rP as temperatureSensorCapability,az as templateVarsFor,HC as terminalSessionCapability,oR as textToHtml,EM as timeOfDayToMinutes,xF as toDeviceSummary,_l as toExpressionValue,It as toNodeId,oa as toStreamSourceEntry,aP as toastCapability,UL as toggleAudioLabel,Jc as tokenize,uR as transcodeBody,tV as tryConvertUnit,WC as turnProviderCapability,ZB as unitDimension,rV as unitsForDimension,sP as updateCapability,bP as userManagementCapability,KC as userPasskeysCapability,wP as vacuumControlCapability,vl as validateExpressionSource,Ll as validateRecipeBounds,DP as valveCapability,ZV as vectorDimFromBase64,mw as vectorStoreCapability,kP as vibrationCapability,Vw as videoclipsCapability,ln as viewerUiCapability,jP as waterHeaterCapability,NP as weatherCapability,Uw as webrtcClientHintsSchema,Yw as webrtcSessionCapability,SM as weeklyMaskIndex,CM as weeklyMaskIsUniform,wM as weeklyMaskToWindows,TM as windowsToWeeklyMask,ii as wiringAddonHealthSchema,oi as wiringHealthSnapshotSchema,ai as wiringNodeHealthSchema,ni as wiringProbeKindSchema,ri as wiringProbeResultSchema,rs as withLocationMode,LI as zodEntriesToConfigUI,HP as zoneAnalyticsCapability,WP as zoneRulesCapability,by as zonesCapability};
|
|
349
|
+
`).trim()}var iR=[[/&/g,`&`],[/</g,`<`],[/>/g,`>`],[/"/g,`"`],[/'/g,`'`]];function aR(e){let t=e;for(let[e,n]of iR)t=t.replace(e,n);return t}function oR(e){return aR(e).replace(/\n/g,`<br>`)}function sR(e){return aR(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 cR={text:[`text`,`markdown`,`html`],markdown:[`markdown`,`html`,`text`],html:[`html`,`text`,`markdown`]};function lR(e,t){for(let n of cR[e]??cR.text)if(t.includes(n))return n;return t[0]??`text`}function uR(e,t,n){if(t===n)return e;if(n===`text`){if(t===`markdown`)return tR(e);if(t===`html`)return rR(e)}if(n===`html`){if(t===`text`)return oR(e);if(t===`markdown`)return sR(e)}if(n===`markdown`){if(t===`text`)return e;if(t===`html`)return rR(e)}return e}function dR(e){return{id:e.id,ordinal:e.ordinal,...e.flags?{flags:e.flags}:{},...e.requires?{requires:e.requires}:{}}}function fR(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 dR(n)}let n=e.filter(e=>e.ordinal!==null);if(n.length===0)return dR(e[0]);let r=t.priority;return dR([...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 pR(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 mR(e,t){let n=[],r=t.format,i=lR(r,e.format);i!==r&&n.push(`format`);let a=uR(t.body,r,i),o=fR(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 ee=null;t.sound!==void 0&&(e.sound?ee=t.sound:n.push(`sound`));let te=null;t.ttl!==void 0&&(e.ttl?te=t.ttl:n.push(`ttl`));let ne=t.tag??null,re=pR(a,e.bodyMaxLen),m=re.length>1,ie={level:o?.id??``,format:i,attachmentsSent:c.length,actionsSent:f.length,truncated:m,dropped:n};return{body:re[0]??``,...t.title===void 0?{}:{title:t.title},format:i,level:o,attachments:c,actions:f,clickUrl:p,sound:ee,ttl:te,tag:ne,bodyParts:re,renderedAs:ie}}var hR=`An occupancy edge is not a sensor event: it carries no sensor kind, so this condition can never match one.`,gR=`An occupancy edge carries no device event-type token — that comes from an event-emitter slice, which a count crossing has none of.`,_R=`An occupancy edge is always produced by the pipeline, so any other source can never match and “pipeline” narrows nothing.`,vR=`A confirmed sound window is always stamped as an audio subject, so any other source can never match.`,yR=`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.`,bR=`A sound window’s evidence is a percentage of samples, not a detector score, so a confidence threshold can never be satisfied.`,xR=`A sound has no position in the frame, so a zone or a drawn polygon can never match it.`,SR=[{kind:`detection`,label:`Conditions`,excluded:{},carriesMedia:!0,carriesSubjectCrop:!0},{kind:`sensor`,label:`Conditions`,excluded:{},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:hR,eventTypeTokens:gR,source:_R},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:yR,classesExclude:yR,minConfidence:bR,zones:xR,zonesExclude:xR,customZones:xR,crossing:xR,labelEquals:yR,identities:yR,identitiesExclude:yR,plates:yR,source:vR},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:`system`,label:`Events`,discriminator:`systemEvent`,excluded:{},carriesMedia:!1,carriesSubjectCrop:!1,blurb:`The installation itself: a camera or stream dropping, a node leaving, an update landing. There is no detection behind it and no frame to attach.`}];function CR(e){return SR.find(t=>t.kind===e)??SR[0]}var wR=`system-event`;function TR(e){return e===wR}function ER(e){return TR(e.delivery)?`system`: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 DR(e,t,n){let r=CR(n);return e.id===r.discriminator?!0:e.appliesTo.includes(t)?r.excluded[e.id]===void 0:!1}function OR(e,t){let n=CR(t);return e===n.discriminator?null:n.excluded[e]??null}function kR(e,t){let n=CR(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 AR=[{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.`},{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.`},{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.`},{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.`},{key:`system`,label:`System events`,blurb:`Rules about the installation itself: a camera or stream dropping, a node leaving the cluster, an addon or server update becoming available. These carry no image and are not tied to a detection.`,newRuleLabel:`New system rule`,emptyHint:`No system-event rules yet. These tell you when a camera drops, a node leaves or an update lands.`}];function jR(e){return AR.find(t=>t.key===e)??AR[0]}function MR(e){return AR.find(t=>t.key===e)?.key}function NR(e){return e.conditions.audio!==void 0}function PR(e){return e.conditions.occupancy!==void 0}function FR(e,t){return t===`all`?!0:t===`system`?TR(e.delivery):t===`audio`?NR(e):t===`occupancy`?PR(e):!TR(e.delivery)&&!NR(e)&&!PR(e)}function IR(e){return FR(e,`system`)?`system`:FR(e,`audio`)?`audio`:FR(e,`occupancy`)?`occupancy`:`detection`}var LR={op:`became-occupied`,count:1,sustainSeconds:15},RR={hitPercent:PL.hitPercent,samplingSeconds:PL.samplingSeconds,dbThreshold:CL};function zR(e){switch(e){case`system`:return{delivery:wR,conditions:{}};case`audio`:return{delivery:`immediate`,conditions:{audio:RR}};case`occupancy`:return{delivery:`device-event`,conditions:{occupancy:LR}};default:return{delivery:`immediate`,conditions:{}}}}function BR(e){return zR(e).delivery}var VR=[`rule`,`devices`,`conditions`,`notification`,`actions`,`advanced`],HR={rule:`Rule`,devices:`Cameras`,conditions:`Conditions`,notification:`Notification`,actions:`Actions`,advanced:`Advanced`};function UR(e){let t=CR(e),n=[];for(let r of VR)r===`devices`&&e===`system`||n.push({key:r,label:r===`conditions`?t.label:HR[r]});return n}var WR={Sun:0,Mon:1,Tue:2,Wed:3,Thu:4,Fri:5,Sat:6};function GR(e,t){let n=new Date(e);if(t!==void 0)try{let e=new Intl.DateTimeFormat(`en-US`,{timeZone:t,weekday:`short`,hour:`numeric`,minute:`numeric`,hourCycle:`h23`}).formatToParts(n),r,i,a;for(let t of e)t.type===`weekday`?r=t.value:t.type===`hour`?i=Number(t.value):t.type===`minute`&&(a=Number(t.value));let o=r===void 0?void 0:WR[r];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 KR(e,t){if(e===void 0)return!0;let{day:n,minute:r}=GR(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 qR=[`body`],Z=[`title`,`body`],JR=[`device-battery-low`,`device-battery-normal`],YR=[`device-consumable-low`,`device-consumable-normal`],XR=[`addon-update-available`,`server-update-available`,`wrapper-update-available`],ZR=[`addon-update-available`,`server-update-available`],QR=[`alarm-triggered`,`alarm-armed`,`alarm-disarmed`,`alarm-arming`,`alarm-arm-refused`,`alarm-pending`,`alarm-rearmed`,`alarm-sensor-bypass`,`alarm-check-failed`],$R=[`alarm-triggered`],ez=[`device-online`,`device-offline`,`device-disabled`,`device-enabled`,...JR,...YR,`stream-online`,`stream-offline`,`detection-blind`,...QR],tz=[{name:`camera`,label:`Camera`,example:`Ingresso`,group:`subject`,families:[`rule`,`timelapse`],systemEventKinds:[...ez,`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:[...$R]},{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:[...$R]},{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:[...$R]},{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`,...ZR,`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:[...$R]},{name:`zone`,label:`Zone`,example:`Cancello`,group:`place`,families:[`rule`],fields:[...Z],kinds:[`detection`,`occupancy`,`system`],systemEventKinds:[...$R]},{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:[...$R]},{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:[...qR],kinds:[`detection`,`occupancy`]},{name:`eventKind`,label:`Event kind`,example:`device-offline`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`]},{name:`deviceName`,label:`Device`,example:`Ingresso`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...ez]},{name:`deviceId`,label:`Device id`,example:`617`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...ez,`export-completed`]},{name:`percentage`,label:`Percentage`,example:`15`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...JR,...YR]},{name:`item`,label:`Consumable`,example:`Filtro`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...YR]},{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`,...XR,`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`,...XR,`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:[...XR,`addon-updated`,`server-updated`]},{name:`packageName`,label:`Package`,example:`@camstack/addon-recorder`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...ZR,`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:[...ZR]},{name:`currentVersion`,label:`Current version`,example:`1.2.377`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...XR]},{name:`latestVersion`,label:`Latest version`,example:`1.2.378`,group:`system`,families:[`rule`],fields:[...Z],kinds:[`system`],systemEventKinds:[...XR]},{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:[...ZR,`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]}],nz={previewText:[`camera`,`rule`,`from`,`to`],captionText:[`rule`,`from`,`to`]};function rz(e,t){return e===void 0||t===void 0||e.includes(t)}function iz(e,t){if(t.kind!==`system`||e.systemEventKinds===void 0)return!0;let n=t.systemEventKinds??[];return n.length===0||n.some(t=>e.systemEventKinds?.includes(t)===!0)}function az(e){if(e.field===`previewText`||e.field===`captionText`){let t=nz[e.field];return tz.filter(n=>n.families.includes(e.family)&&t.includes(n.name)&&n.dynamic===void 0)}return tz.filter(t=>t.families.includes(e.family)&&rz(t.fields,e.field)&&rz(t.kinds,e.kind)&&rz(t.deliveries,e.delivery)&&iz(t,e))}function oz(e,t){return az(t).some(t=>t.dynamic===void 0?t.name===e:e.startsWith(t.dynamic.prefix)&&e.length>t.dynamic.prefix.length)}var sz=[`deviceIds`,`deviceTypes`,`nodeIds`,`packageNames`];function cz(e,t){switch(t){case`deviceIds`:return e.startsWith(`device-`)||e.startsWith(`stream-`)||e===`detection-blind`||e===`alarm-triggered`||e===`export-completed`;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`}}function lz(e,t){return e.some(e=>cz(e,t))}var uz=i({title:g().max(500).optional(),body:g().max(2e3).optional()}),dz=g().min(1).max(200),fz=p(a()).min(1),pz=a().int().min(2).max(3600),mz=a().int().min(1).max(60),hz=p(w_).min(1),gz=a().int().min(1).max(5),_z=.1,vz=a().min(_z).max(3600),yz=a().min(0).max(60),bz=g().max(200),xz=m([`image`,`gif`]),Sz=p(g().min(1).max(40)).max(20),Cz=i({name:dz,enabled:v().default(!0),deviceIds:fz,schedule:u_,cadenceSec:pz.default(15),framerate:mz.default(10),denseCadenceSec:vz.optional(),minDwellSec:yz.optional(),targets:hz,template:uz.optional(),previewText:bz.optional(),previewMode:xz.default(`image`),reportClasses:Sz.optional(),priority:gz.default(3)}),wz=`Timelapse {{camera}}`,Tz=i({name:dz.optional(),enabled:v().optional(),deviceIds:fz.optional(),schedule:u_.optional(),cadenceSec:pz.optional(),framerate:mz.optional(),denseCadenceSec:vz.optional(),minDwellSec:yz.optional(),targets:hz.optional(),template:uz.nullable().optional(),previewText:bz.optional(),previewMode:xz.optional(),reportClasses:Sz.optional(),priority:gz.optional()}),Ez=Cz.extend({id:g(),ownerUserId:g().optional(),lastGeneratedAt:a().optional(),generatedByDevice:n(g(),a()).optional(),createdBy:g(),createdAt:a(),updatedAt:a()});function Dz(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 Oz(e,t){let n=e.generatedByDevice;return n===void 0?e.lastGeneratedAt??0:n[String(t)]??0}var kz=[{stepId:`face-embedding`,label:`Face recognition model`,defaultModelId:`arcface-r100`,indexName:`the enrolled face gallery`,options:[{id:`arcface-r100`,label:`ArcFace (ResNet34)`},{id:`auraface-r100`,label:`AuraFace R100`},{id:`inception-resnet-v1`,label:`Inception ResNet V1`}]},{stepId:`clip-embedding`,label:`Semantic search model`,defaultModelId:`mobileclip-s1`,indexName:`the object semantic-search index`,options:[{id:`mobileclip-s1`,label:`MobileCLIP S1`},{id:`mobileclip-s2`,label:`MobileCLIP S2`}]}],Az=`cluster-step-models`;function jz(e){return`clusterModel:${e}`}function Mz(e){return kz.some(t=>t.stepId===e)}var Nz=Object.freeze(Object.fromEntries(kz.map(e=>[e.stepId,e.defaultModelId]))),Pz=g().min(1);function Fz(e){let t={};for(let n of kz){let r=Pz.safeParse(e[jz(n.stepId)]);t[n.stepId]=r.success?r.data:n.defaultModelId}return t}function Iz(e){return typeof e==`object`&&!!e&&`key`in e}function Lz(e){if(e===null)return Nz;let t={},n=new Set(kz.map(e=>jz(e.stepId)));for(let r of e.sections)for(let e of r.fields)!Iz(e)||typeof e.key!=`string`||n.has(e.key)&&(t[e.key]=e.value);return Fz(t)}function Rz(e,t){let n=kz.find(t=>t.stepId===e);if(n===void 0)return null;let r=t[e];return r!==void 0&&r!==``?r:n.defaultModelId}var zz=24,Bz=[{stepId:`face-embedding`,key:`minLandmarkFaceSize`,label:`Min face size for recognition (detection px)`,description:`Refuse to embed a face smaller than this IN THE DETECTION FRAME. Applies to every node — the enrolled gallery is one index, and two admission floors would fill it from two policies. 0 disables the gate.`,type:`slider`,min:0,max:64,step:2,default:24}];function Vz(e,t){return`clusterStepSetting:${e}:${t}`}function Hz(e){return Bz.filter(t=>t.stepId===e)}var Uz=a().finite();function Wz(e){let t={};for(let n of Bz){let r=Uz.safeParse(e[Vz(n.stepId,n.key)]),i=r.success?r.data:n.default,a=t[n.stepId]??{};t[n.stepId]={...a,[n.key]:i}}return t}var Gz=Wz({});function Kz(e){if(e===null)return Gz;let t={},n=new Set(Bz.map(e=>Vz(e.stepId,e.key)));for(let r of e.sections)for(let e of r.fields)!Iz(e)||typeof e.key!=`string`||n.has(e.key)&&(t[e.key]=e.value);return Wz(t)}function qz(e,t,n){let r=n[e];return r===void 0||Object.keys(r).length===0?t===void 0?void 0:{...t}:t===void 0?{...r}:{...t,...r}}var Jz=`detail-crop`,Yz=`detailCropPaddingRatio`,Xz=`detailCropSquare`,Zz=i({paddingRatio:a().min(0).max(4),square:v()}),Qz={paddingRatio:.15,square:!1};function $z(e){let t=Zz.shape.paddingRatio.safeParse(e[Yz]),n=Zz.shape.square.safeParse(e[Xz]);return{paddingRatio:t.success?t.data:Qz.paddingRatio,square:n.success?n.data:Qz.square}}function eB(e){return typeof e==`object`&&!!e&&`key`in e}function tB(e){if(e===null)return Qz;let t={};for(let n of e.sections)for(let e of n.fields)!eB(e)||typeof e.key!=`string`||(e.key===`detailCropPaddingRatio`||e.key===`detailCropSquare`)&&(t[e.key]=e.value);return $z(t)}var nB=Object.freeze({x:0,y:0,w:1,h:1}),rB={min:0,max:1,step:.05,default:Qz.paddingRatio};function iB(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?sB(aB(o,t,n),t,n):oB(o,t,n)}function aB(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 oB(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 sB(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 cB=`native-lease`,lB=`nativeLeaseHoldFrames`,uB=`nativeLeaseBudgetMb`,dB=`nativeLeaseActivityMs`,fB=`nativeLeaseAdmission`,pB=`nativeTileBudgetMb`,mB=`nativeSceneBudgetMb`,hB=m([`all`,`inferred`]),gB=i({holdFrames:a().int().min(1).max(64),budgetMb:a().int().min(0).max(4096),activityMs:a().int().min(0).max(12e4),admission:hB,tileBudgetMb:a().int().min(0).max(1024),sceneBudgetMb:a().int().min(0).max(1024)}),Q={holdFrames:8,budgetMb:1024,activityMs:15e3,tileBudgetMb:64,sceneBudgetMb:48,admission:`inferred`},_B={min:1,max:64,step:1,default:Q.holdFrames},vB={min:0,max:4096,step:64,default:Q.budgetMb},yB={min:0,max:12e4,step:1e3,default:Q.activityMs},bB={min:0,max:1024,step:16,default:Q.tileBudgetMb},xB={min:0,max:1024,step:16,default:Q.sceneBudgetMb},SB={options:[{value:`all`,label:`Every delivered frame`},{value:`inferred`,label:`Only frames sent to inference`}],default:Q.admission};function CB(e,t){let n=gB.shape[e].safeParse(t);return n.success?n.data===Q[e]?null:n.data:null}function wB(e){let t=hB.safeParse(e);return t.success?t.data===Q.admission?null:t.data:null}function TB(e){let t=CB(`holdFrames`,e[lB]),n=CB(`budgetMb`,e[uB]),r=CB(`activityMs`,e[dB]),i=wB(e[fB]),a=CB(`tileBudgetMb`,e[pB]),o=CB(`sceneBudgetMb`,e[mB]);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 EB(e){return typeof e==`object`&&!!e&&`key`in e}var DB=[lB,uB,dB,fB,pB,mB];function OB(e){if(e===null)return{};let t={};for(let n of e.sections)for(let e of n.fields)!EB(e)||typeof e.key!=`string`||DB.includes(e.key)&&(t[e.key]=e.value);return TB(t)}var kB=[{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 AB(e){let t=kB.find(t=>t.id===e);if(!t)throw Error(`Unknown access role '${e}'`);return t}function jB(e){let t=AB(e.roleId);return[{type:`device`,selector:e.selector,access:[...t.deviceAccess],includeLinked:e.includeLinked},{type:`category`,target:`system`,access:[...t.systemAccess]}]}function MB(e,t){if(e.length!==t.length)return!1;let n=new Set(e);return t.every(e=>n.has(e))}function NB(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=kB.find(e=>MB(e.deviceAccess,r.access)&&MB(e.systemAccess,i.access));return a?{roleId:a.id,selector:r.selector,includeLinked:r.includeLinked}:null}var PB=8;function FB(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 IB(e,t){return e.some(e=>e.type===`category`&&e.target===`device`&&e.access.includes(t))}function LB(e,t){return e.filter(e=>e.type===`device`&&e.access.includes(t))}function RB(e,t){return e.includeLinked??t===`view`}function zB(e,t){let n=[],r=e;for(let e=0;e<PB;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 BB(e,t,n){if(IB(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=LB(e,n),a=new Set;for(let e of t)for(let t of i){if(FB(t.selector,e)){a.add(e.id);break}if(RB(t,n)&&zB(e.id,r).some(e=>{let n=r.get(e);return n!==void 0&&FB(t.selector,n)})){a.add(e.id);break}}return a}function VB(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let e=K.safeParse(n);e.success&&t.push(e.data)}return t}var HB=[`view`,`create`,`delete`];function UB(e,t,n,r){return r?{all:!0,deviceCount:t.length}:{all:IB(e,n)||LB(e,n).some(e=>e.selector.kind===`all`),deviceCount:BB(e,t,n).size}}function WB(e){let t=[];for(let n of e)n.type===`capability`&&t.push({name:n.target,access:n.access});return t}function GB(e){let t=[];for(let n of e)n.type===`addon`&&t.push({name:n.target,access:n.access});return t}function KB(e,t,n){let r={view:UB(e,t,`view`,n),create:UB(e,t,`create`,n),delete:UB(e,t,`delete`,n)},i=n?HB:HB.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:WB(e),addons:GB(e)}}var qB={camera:{type:`camera`,label:`Camera`,icon:`camera`}},JB={"°C":{dimension:`temperature`,factor:1,offset:0},"°F":{dimension:`temperature`,factor:5/9,offset:-160/9},K:{dimension:`temperature`,factor:1,offset:-273.15},hPa:{dimension:`pressure`,factor:1,offset:0},kPa:{dimension:`pressure`,factor:10,offset:0},Pa:{dimension:`pressure`,factor:.01,offset:0},mbar:{dimension:`pressure`,factor:1,offset:0},bar:{dimension:`pressure`,factor:1e3,offset:0},inHg:{dimension:`pressure`,factor:33.8639,offset:0},mmHg:{dimension:`pressure`,factor:1.33322,offset:0},psi:{dimension:`pressure`,factor:68.9476,offset:0},"m/s":{dimension:`speed`,factor:1,offset:0},"km/h":{dimension:`speed`,factor:1/3.6,offset:0},mph:{dimension:`speed`,factor:.44704,offset:0},kn:{dimension:`speed`,factor:.514444,offset:0},"mm/h":{dimension:`precipitation-rate`,factor:1,offset:0},"in/h":{dimension:`precipitation-rate`,factor:25.4,offset:0},m:{dimension:`length`,factor:1,offset:0},mm:{dimension:`length`,factor:.001,offset:0},cm:{dimension:`length`,factor:.01,offset:0},km:{dimension:`length`,factor:1e3,offset:0},in:{dimension:`length`,factor:.0254,offset:0},ft:{dimension:`length`,factor:.3048,offset:0},mi:{dimension:`length`,factor:1609.344,offset:0},lx:{dimension:`illuminance`,factor:1,offset:0},"W/m²":{dimension:`irradiance`,factor:1,offset:0},W:{dimension:`power`,factor:1,offset:0},kW:{dimension:`power`,factor:1e3,offset:0},VA:{dimension:`apparent-power`,factor:1,offset:0},Wh:{dimension:`energy`,factor:1,offset:0},kWh:{dimension:`energy`,factor:1e3,offset:0},MWh:{dimension:`energy`,factor:1e6,offset:0},V:{dimension:`voltage`,factor:1,offset:0},mV:{dimension:`voltage`,factor:.001,offset:0},A:{dimension:`current`,factor:1,offset:0},mA:{dimension:`current`,factor:.001,offset:0},ppm:{dimension:`concentration-volume`,factor:1,offset:0},ppb:{dimension:`concentration-volume`,factor:.001,offset:0},"µg/m³":{dimension:`concentration-mass`,factor:1,offset:0},"mg/m³":{dimension:`concentration-mass`,factor:1e3,offset:0},kg:{dimension:`mass`,factor:1,offset:0},g:{dimension:`mass`,factor:.001,offset:0},lb:{dimension:`mass`,factor:.453592,offset:0},oz:{dimension:`mass`,factor:.0283495,offset:0},"%":{dimension:`percentage`,factor:1,offset:0}},YB=class extends Error{from;to;reason;constructor(e,t,n){super(`[units] cannot convert '${e}' → '${t}': ${n}`),this.name=`UnitConversionError`,this.from=e,this.to=t,this.reason=n}};function XB(e){return Object.hasOwn(JB,e)?JB[e]:void 0}function ZB(e){return XB(e)?.dimension}function QB(e,t){return e*t.factor+t.offset}function $B(e,t){return(e-t.offset)/t.factor}function eV(e,t,n){if(t===n)return e;let r=XB(t);if(!r)throw new YB(t,n,`unknown-from`);let i=XB(n);if(!i)throw new YB(t,n,`unknown-to`);if(r.dimension!==i.dimension)throw new YB(t,n,`cross-dimension`);return $B(QB(e,r),i)}function tV(e,t,n){if(t===n)return e;let r=XB(t);if(!r)return;let i=XB(n);if(i&&r.dimension===i.dimension)return $B(QB(e,r),i)}function nV(e,t){if(e===t)return!0;let n=ZB(e);return n===void 0?!1:n===ZB(t)}function rV(e){let t=[];for(let[n,r]of Object.entries(JB))r.dimension===e&&t.push(n);return t}function iV(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 aV(e,t){let n=e.trim().toLowerCase(),r=t.trim().toLowerCase();return n===r?1:n.length===0||r.length===0?0:1-iV(n,r)/Math.max(n.length,r.length)}function oV(e,t,n=.8){let r=null,i=0;for(let a of t){let t=aV(e,a);t>=n&&t>i&&(r=a,i=t)}return r}var sV=`addon:`;function cV(e){return e.startsWith(sV)?e.slice(6):e}function lV(e,t){return cV(e)===cV(t)}function uV(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 dV=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(),fV(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 fV(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 pV(e,t){return`https://huggingface.co/${e}/resolve/main/${t}`}var mV=[/^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 hV(e){return mV.some(t=>t.test(e))}function gV(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()))hV(e)&&(t.searchParams.set(e,`***`),n=!0);return n?t.toString():e}catch{return e}}var $=1024*1024,_V={sampleIntervalMs:6e4,baselineSettleSamples:5,baselineSampleCount:3,restartMultiple:4,floorBytes:1024*$,ceilingBytes:3072*$,cooldownMs:30*6e4,maxRestartsPerWindow:6,restartWindowMs:1440*6e4};function vV(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=_V;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 yV(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 bV(){return{settleSeen:0,baselineWindow:[],baselineBytes:null,restartsAt:[],lastRestartAt:null}}function xV(e){let t=[...e].sort((e,t)=>e-t);return t[Math.floor(t.length/2)]}function SV(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:xV(r)}}function CV(e,t){return e===null?t.ceilingBytes:Math.min(t.ceilingBytes,Math.max(t.floorBytes,t.restartMultiple*e))}function wV(e,t,n){return e.filter(e=>t-e<n.restartWindowMs)}function TV(e,t,n,r){let i=SV(e,t,r),a=CV(i.baselineBytes,r);if(t<=a)return{state:i,action:i.baselineBytes===null?`baseline-pending`:`ok`,baselineBytes:i.baselineBytes,thresholdBytes:a};let o=wV(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 EV(e,t){return{...bV(),restartsAt:[...e.restartsAt,t],lastRestartAt:t}}function DV(e){return{...bV(),restartsAt:e.restartsAt,lastRestartAt:e.lastRestartAt}}function OV(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 kV=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??bV();t&&t.pids.length>0&&!AV(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=DV(a));let o=TV(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=OV(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:EV(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 AV(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 jV(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 MV(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 NV=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 PV(e,t){let n=performance.now();try{return{output:t===void 0?await e():await IV(e(),t),durationMs:FV(performance.now()-n),ok:!0}}catch(e){return{output:void 0,durationMs:FV(performance.now()-n),ok:!1,error:dr(e)}}}function FV(e){return Math.round(e*100)/100}function IV(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 LV={cpu:`onnx`,coreml:`onnx`,cuda:`onnx`,tensorrt:`onnx`,"onnx-py":`onnx`,pytorch:`pt`,openvino:`openvino`},RV={openvino:`openvino`,edgetpu:`tflite`,coreml:`coreml`,onnx:`onnx`,cpu:`onnx`,cuda:`onnx`};function zV(e){return RV[e]??`onnx`}var BV={onnx:`onnx`,coreml:`coreml`,openvino:`openvino`,tflite:`tflite`,pytorch:`pt`},VV={coreml:`coreml_inference.py`,pytorch:`pytorch_inference.py`,openvino:`openvino_inference.py`};function HV(e,t){return e===`node`?`onnx`:{coreml:`coreml`,openvino:`openvino`,pytorch:`pytorch`,"onnx-py":`onnx`,cpu:`onnx`}[t]??t}function UV(e,t){return e===`node`?LV[t]??`onnx`:{coreml:`coreml`,openvino:`openvino`,pytorch:`pt`,"onnx-py":`onnx`,cpu:`onnx`}[t]??`onnx`}function WV(e,t){return!e||e===`auto`?`auto`:HV(e,t??`cpu`)}function GV(e){return LV[e]??`onnx`}function KV(e){return BV[e]}function qV(e){return VV[e]}function JV(e){return e===`coreml`||e===`pytorch`||e===`openvino`}function YV(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 XV(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 ZV(e){return Math.floor(Buffer.from(e,`base64`).byteLength/4)}function QV(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=>$V(t,e,n,l)),f=s.some(t=>$V(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 $V(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&&eH(t,e.polygon))return!0}return!1}function eH(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 tH(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 nH={value:`auto`,label:`Auto`},rH={value:`cpu`,label:`CPU`},iH={value:`usb`,label:`Coral USB`},aH=[{id:`onnx`,supports:()=>!0,devices:e=>{if(!e)return[rH];let t=[rH];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[nH];let t=[nH,rH];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`},rH),n},defaultDevice:`all`},{id:`edgetpu`,supports:e=>e?.coral!=null,devices:()=>[iH],defaultDevice:`usb`}];function oH(e){let t=aH.find(t=>t.id===e);if(!t)throw Error(`Unknown runtime: ${e}`);return t}function sH(e){return aH.filter(t=>t.supports(e)).map(e=>e.id)}function cH(e,t){return oH(e).devices(t)}function lH(e){return oH(e).defaultDevice}function uH(e){return e===`edgetpu`?`tflite`:KV(e)}function dH(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 fH={cuda:`gpu`,edgetpu:`usb`,coreml:`all`,cpu:`cpu`};function pH(e,t,n,r){return{key:e===`cpu`?`cpu`:`${e}:${t}`,backend:e,device:t,format:n,runtime:`python`,score:r,available:!0}}function mH(e){let{scores:t}=dH(e),n=[];for(let r of t){if(r.backend===`openvino`){e.npu?.type===`intel-npu`&&n.push(pH(`openvino`,`npu`,r.format,r.score+2)),e.gpu?.type===`intel`&&n.push(pH(`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(pH(`edgetpu`,t,r.format,r.score))}continue}let t=fH[r.backend]??r.backend;n.push(pH(r.backend,t,r.format,r.score))}return n}export{lF as ACCESSORY_LABEL,kB as ACCESS_ROLES,zr as ALEXA_EGRESS_PROFILE,YI as ALL_CAPABILITY_DEFINITIONS,Tg as APPLE_SA_TO_MACRO,Qi as ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT,Oi as AUDIO_ANALYSIS_CAP_NAME,Ou as AUDIO_BACKEND_CHOICES,ge as AUDIO_CHUNK_FORMATS,Cg as AUDIO_MACRO_LABELS,Fn as AUDIO_PRESETS,fL as AUDIO_SCALE_EPOCH_ISO,pL as AUDIO_SCALE_EPOCH_MS,Xw as AccessoriesStatusSchema,X as AccessoryKind,Wh as AddBrokerInputSchema,vT as AddonAutoUpdateSchema,fT as AddonListItemSchema,Kl as AddonPageDeclarationSchema,Wl as AddonPageInfoSchema,If as AdminLinkTargetEnum,lp as AdoptionAdoptInputSchema,up as AdoptionAdoptResultSchema,_i as AdoptionCandidateResultSchema,np as AdoptionFilterSchema,op as AdoptionGetCandidateInputSchema,vi as AdoptionJobSchema,hi as AdoptionJobStateSchema,ip as AdoptionListCandidatesInputSchema,ap as AdoptionListCandidatesOutputSchema,gi as AdoptionOutcomeSchema,dp as AdoptionReleaseInputSchema,sp as AdoptionStatusSchema,oS as AgentLoadSummarySchema,AT as AirQualitySensorStatusSchema,G as AlarmArmModeSchema,Ug as AlarmPanelStatusSchema,Hg as AlarmStateSchema,pu as AlertSchema,uu as AlertSeveritySchema,fu as AlertSourceSchema,du as AlertStatusSchema,MT as AmbientLightSensorStatusSchema,dx as AnalyticsLtsSeriesSchema,Nv as ApiKeyRecordSchema,dP as ApiKeySummarySchema,Wu as ArchiveEntrySchema,Gu as ArchiveManifestSchema,ea as ArchivedDebugNoteQueryInputSchema,$i as ArchivedDebugNoteSchema,ng as AttachmentMediaTypeSchema,rg as AttachmentSchema,Su as AudioAnalysisResultSchema,Cu as AudioAnalysisSettingsSchema,wu as AudioAttachDeviceInputSchema,Tu as AudioAttachDeviceResultSchema,yt as AudioChunkFormatSchema,yu as AudioChunkInputSchema,PT as AudioClassSummarySchema,xu as AudioClassificationLabelSchema,Du as AudioClassificationResultSchema,Mu as AudioCodecInfoSchema,Nu as AudioDecodeSessionConfigSchema,Eu as AudioDetachDeviceResultSchema,kr as AudioEncodeSchema,Pu as AudioEncodeSessionConfigSchema,Iu as AudioEncodedChunkSchema,tb as AudioEventSchema,bu as AudioLevelSchema,IT as AudioMetricsHistoryPointSchema,LT as AudioMetricsHistorySchema,FT as AudioMetricsSnapshotSchema,Fu as AudioPcmChunkSchema,nt as AudioStreamPickSchema,zu as AuthResultSchema,_T as AutoUpdateSettingsSchema,Ml as AutomationActionSchema,Dl as AutomationConditionOperatorSchema,Al as AutomationConditionSchema,zT as AutomationControlStatusSchema,Nl as AutomationRecipeSchema,jl as AutomationTriggerSchema,MD as AvailableIntegrationTypeSchema,LV as BACKEND_TO_FORMAT,Lr as BASE_LIVE_EGRESS_PROFILE,YF as BATTERY_DEVICE_PROFILE,CF as BATTERY_UNREACHABLE_AFTER_MS,Ki as BIRTH_DECISION_DEFAULT_LIMIT,Sn as BOOT_RECOVERY_BACKOFF_MS,wD as BacklightModeSchema,Vu as BackupDestinationInfoSchema,Uu as BackupEntrySchema,Ju as BackupRunPhaseSchema,Yu as BackupRunSchema,qu as BackupRunStateSchema,Xu as BackupTriggerResultSchema,Ue as BaseAddon,hF as BaseDevice,SF as BaseDeviceProvider,VT as BatteryStatusSchema,UT as BinaryStatusSchema,Xi as BirthDecisionQueryInputSchema,Yi as BirthDecisionRecordSchema,Ji as BirthDecisionVerdictSchema,B as BoundingBoxSchema,GT as BrightnessStatusSchema,ad as BrokerAddInputSchema,kd as BrokerAudioClientSchema,Nd as BrokerClientsSchema,Uh as BrokerConnectionDetailsSchema,jd as BrokerConsumerAttributionSchema,Ad as BrokerConsumerKindSchema,Od as BrokerDecodedClientSchema,Md as BrokerEncodedClientSchema,vd as BrokerGetStateInputSchema,Hh as BrokerInfoSchema,nd as BrokerProviderInfoSchema,md as BrokerPublishInputSchema,td as BrokerRegistryStatusSchema,Dd as BrokerRtspClientSchema,wt as BrokerStatsSchema,$u as BrokerStatusEnum,Ct as BrokerStatusSchema,hd as BrokerSubscribeInputSchema,gd as BrokerSubscribeResultSchema,cd as BrokerTestConnectionResultSchema,_d as BrokerUnsubscribeInputSchema,Tf as BulkRecordSchema,Mi as CAMERA_SWITCH_CATALOG,xi as CAMERA_SWITCH_ORDER,tt as CAM_PROFILE_ORDER,qI as CAPABILITY_NAMES,JI as CAPABILITY_ROUTER_KEYS,KI as CAP_NAMES_WITH_STATUS,Pt as CAP_NODE_PIN_CONTEXT_KEY,nL as CAP_PROVIDER_KIND_MAP,Sa as CLASS_MAP_MACRO_TARGETS,Fw as CLIP_BROKER_PACED_RATES,Hw as CLIP_PLAYBACK_OPTIONS,Lw as CLIP_REALTIME_SOURCE_RATES,bw as CLIP_REASON_HEADER_MAX,Cw as CLIP_STILL_DISPOSITION_HEADER,Sw as CLIP_STILL_REASON_CODE_HEADER,yw as CLIP_STILL_REASON_HEADER,Iw as CLIP_STREAM_SOURCE_RATES,ww as CLIP_STREAM_TRANSPORT_HEADER,kz as CLUSTER_MODEL_SCOPED_STEPS,Az as CLUSTER_MODEL_SECTION_ID,Bz as CLUSTER_STEP_SETTING_FIELDS,vg as COCO_80_LABELS,Sg as COCO_TO_MACRO,pE as CONNECTION_TEST_TIMEOUT_MS,EF as CONTAINER_CHILD_PRIORITY,uf as CORE_BLOCKS_ADDON_ID,lf as CORE_BLOCK_ADDON_PREFIX,S as CamProfileSchema,sN as CamStreamDescriptorSchema,rt as CamStreamKindSchema,it as CamStreamResolutionSchema,fS as CameraAssignmentStatusSchema,SS as CameraAudioStatusSchema,pS as CameraBrokerProfileSchema,mS as CameraBrokerStatusSchema,JT as CameraCredentialsSchema,YT as CameraCredentialsStatusSchema,hS as CameraDecoderShmSchema,gS as CameraDecoderStatusSchema,bS as CameraDetectionPhaseSchema,yS as CameraDetectionProvisioningSchema,vS as CameraDetectionProvisioningStateSchema,xS as CameraDetectionStatusSchema,vx as CameraMetricsSchema,yx as CameraMetricsWithDeviceIdSchema,_S as CameraMotionStatusSchema,RP as CameraOccupancySnapshotForDeviceSchema,CS as CameraRecordingModeSchema,wS as CameraRecordingStatusSchema,dS as CameraSourceStatusSchema,uS as CameraSourceStreamSchema,ES as CameraStatusDegradationReasonSchema,DS as CameraStatusDegradationSchema,kS as CameraStatusSchema,TS as CameraStatusStageSchema,at as CameraStreamSchema,Si as CameraSwitchAuthoritySchema,Ei as CameraSwitchGroupSchema,bi as CameraSwitchIdSchema,Ti as CameraSwitchSchema,Ci as CameraSwitchUnavailableReasonSchema,wi as CameraSwitchWarningSchema,rp as CandidateQueryFilterSchema,Ov as CapScopeSchema,cS as CapabilityBindingsSchema,rE as CarbonMonoxideStatusSchema,en as ChargingStatus,ak as ClientNetworkStatsSchema,oE as ClimateControlStatusSchema,jw as ClipBytesOfferSchema,Aw as ClipBytesSchema,Bj as ClipExportFailureSchema,Rw as ClipPlaybackOptionsSchema,Ew as ClipPlaybackSchema,Tw as ClipSchema,zw as ClipSourceAvailabilitySchema,Bw as ClipSourceSchema,vw as ClipStillDispositionSchema,_w as ClipStillRefusalCodeSchema,Nw as ClipStreamAudioReasonSchema,Mw as ClipStreamAudioSchema,Pw as ClipStreamDialSchema,Dw as ClipWakeSchema,hk as ClusterAddonNodeDeploymentSchema,gk as ClusterAddonStatusEntrySchema,Ef as CollectionColumnSchema,Df as CollectionIndexSchema,dE as ColorStatusSchema,Kp as ConfigEntrySchema,$l as ConfigSectionWithValuesSchema,Ql as ConfigTabDeclarationSchema,gE as ConnectionTestDescriptorSchema,hE as ConnectionTestInputSchema,mE as ConnectionTestOutcomeSchema,vE as ConnectivityStatusSchema,bE as ConsumableItemSchema,xE as ConsumablesStatusSchema,CE as ContactStatusSchema,TE as ControlKindSchema,EE as ControlStatusSchema,Sc as ConvertArtifactSchema,Cc as ConvertResultSchema,bc as ConvertTargetSchema,_f as CoreBlockCompileResultSchema,hf as CoreBlockInputSchema,pf as CoreBlockPlacementSchema,gf as CoreBlockSchema,mf as CoreBlockStatusSchema,kE as CoverStateSchema,AE as CoverStatusSchema,fP as CreateApiKeyInputSchema,pP as CreateApiKeyResultSchema,FD as CreateIntegrationInputSchema,hP as CreateScopedTokenInputSchema,gP as CreateScopedTokenResultSchema,lP as CreateUserInputSchema,OT as CustomActionInputSchema,yf as CustomModelDescriptorSchema,Je as DATAPLANE_SECRET_HEADER,dM as DAYS_PER_WEEK,mM as DAY_NAMES,IF as DECLARED_DEVICE_SWEEP_LIMIT,PF as DECLARED_INTEGRATION_FIXED_KEY,si as DEFAULT_ADDON_PLACEMENT,ku as DEFAULT_AUDIO_ANALYZER_CONFIG,Nz as DEFAULT_CLUSTER_STEP_MODELS,Gz as DEFAULT_CLUSTER_STEP_SETTINGS,Mf as DEFAULT_DECODER_HWACCEL_CONFIG,Qz as DEFAULT_DETAIL_CROP_CONVENTION,za as DEFAULT_EVENTS_BAND_BUFFER_SEC,kg as DEFAULT_EVENT_COLOR,da as DEFAULT_FEATURES,rF as DEFAULT_FIRST_SIGHTING_FRESHNESS_MS,zz as DEFAULT_MIN_LANDMARK_FACE_SIZE_PX,Q as DEFAULT_NATIVE_LEASE_SETTINGS,Ys as DEFAULT_OVERLAY_LAYERS,_V as DEFAULT_POOL_MEMORY_POLICY,Ga as DEFAULT_RECORDING_PROFILES,yi as DEFAULT_RETENTION,Rt as DEFAULT_RUNTIME_STATE_DURABILITY,wz as DEFAULT_TIMELAPSE_PREVIEW_TEXT,sF as DEFAULT_TOKEN_EXPIRY,ji as DERIVED_CAMERA_SILENCED_CAP_NAMES,rB as DETAIL_CROP_PADDING_FIELD,Yz as DETAIL_CROP_PADDING_KEY,Jz as DETAIL_CROP_SECTION_ID,Xz as DETAIL_CROP_SQUARE_KEY,bg as DETECTION_MACRO_CLASSES,Di as DETECTION_PIPELINE_CAP_NAME,RV as DEVICE_BACKEND_TO_FORMAT,QI as DEVICE_CAP_NAMES,on as DEVICE_CHILDREN_BATCH_MAX,XF as DEVICE_PROFILES,_F as DEVICE_RESTORE_RETRY_CONCURRENCY,gF as DEVICE_RESTORE_RETRY_DELAYS_MS,bn as DEVICE_SCOPED_CAPS,Ut as DEVICE_SETTINGS_CONTRIBUTION_METHODS,qP as DEVICE_STATE_READERS,Wt as DEVICE_STATUS_METHOD,RF as DEVICE_TYPE_CONTROL_KIND,qB as DEVICE_TYPE_INFO,QF as DISPLAY_ICON_GROUPS,eI as DISPLAY_ICON_KEYS,tI as DISPLAY_ICON_OFFERED_KEYS,$F as DISPLAY_ICON_VOCABULARY,kf as DataStoreEngineInfoSchema,ME as DayNightModeSchema,FE as DayNightOptionsSchema,IE as DayNightSettingsPatchSchema,PE as DayNightStatusSchema,LF as DeclaredDevices,bt as DecodedAudioChunkSchema,ht as DecodedFrameSchema,ms as DecoderSessionConfigSchema,ps as DecoderStatsSchema,LD as DeleteIntegrationResultSchema,Zz as DetailCropConventionSchema,Ta as DetectionCatalogClassMapSchema,Xy as DetectionSourceSchema,Bx as DetectionSourcesSchema,Lf as DeviceAdminLinkSchema,WD as DeviceCodeSeveritySchema,dF as DeviceConfig,ep as DeviceDiscoveryStatusSchema,xp as DeviceExportExposeInputSchema,vp as DeviceExportStatusSchema,Sp as DeviceExportUnexposeInputSchema,$t as DeviceFeature,Gp as DeviceInfoSchema,ok as DeviceNetworkStatsSchema,bF as DeviceRestoreRetryScheduler,E as DeviceRole,fF as DeviceRuntimeState,kv as DeviceSelectorSchema,RE as DeviceStatusSchema,T as DeviceType,LN as DiagnosticIdSchema,WN as DiagnosticWindowPatchSchema,UN as DiagnosticWindowSchema,$f as DiscoveredChildDeviceSchema,Qf as DiscoveredChildStatusSchema,Fp as DiscoveredDeviceSchema,pg as DiscoveredTargetSchema,OS as DiskReconcileJobSchema,qe as DisposerChain,VE as DoorbellPressEventSchema,BE as DoorbellStatusSchema,BS as EVENTFUL_CAP_NAMES,Ub as EVENT_DENSITY_BATCH_MAX,zS as EVENT_KIND_BY_CAP,vr as EVENT_OWNER_TYPES,Ea as EVENT_PAD_MS,Ng as EVENT_TAXONOMY,jj as EXPORT_DENSE_MAX_RANGES,Nc as EXPRESSION_BUILTINS,Pc as EXPRESSION_BUILTIN_NAMES,Bc as EXPRESSION_COMPILE_CACHE_CAPACITY,Vc as EXPRESSION_IDENTIFIER_RE,gl as EXPRESSION_INJECTED_NOW,zd as EgressEncodeSchema,Bd as EgressRateControlSchema,Vd as EgressTranscodeRequestSchema,Hd as EgressTranscodeSchema,dV as ElementConfigStore,um as EmbeddingInfoSchema,lm as EmbeddingResultSchema,Ar as EncodeProfileSchema,mt as EncodedPacketSchema,cu as EnrichedWidgetMetadataSchema,UE as EnumSensorDateTimeFormatSchema,WE as EnumSensorStatusSchema,he as EventCategory,Hb as EventDensityBucketSchema,Wb as EventDensityForDeviceSchema,qE as EventEmitterStatusSchema,KE as EventFireSchema,Ty as EventKindCategorySchema,Dy as EventKindDescriptorSchema,wy as EventKindIconSchema,Sy as EventKindSchema,Oy as EventKindsForDeviceSchema,Cd as EventMediaArtifactSchema,wd as EventMediaCoverageSchema,Sd as EventMediaKindSchema,Td as EventMediaProductionSchema,yr as EventOwnerTypeSchema,ur as EventSourceType,Gj as ExportBytesSchema,Lj as ExportClipSubjectSchema,Aj as ExportDenseRangeSchema,Mj as ExportDenseSchema,Uj as ExportDownloadSchema,Ij as ExportFootageSubjectSchema,Pj as ExportOptionsSchema,zj as ExportRecordSchema,gp as ExportSetupFieldSchema,_p as ExportSetupSchema,kj as ExportSpeedSchema,Fj as ExportStateSchema,Rj as ExportSubjectSchema,Nj as ExportTimelapseSchema,bp as ExposedDeviceSchema,CD as ExposureModeSchema,Cl as ExpressionBindingSourceSchema,P as ExpressionEvalError,bl as ExpressionFieldBindingSchema,Sl as ExpressionGlobalBindingSchema,xl as ExpressionLiteralBindingSchema,N as ExpressionParseError,wl as ExpressionSourceSchema,Ca as FIRST_LEVEL_MACRO_CLASSES,nB as FULL_IMAGE_BBOX,pm as FailureContributionSchema,Ps as FailureCounters,fm as FailureReasonCountSchema,sD as FanControlStatusSchema,oD as FanDirectionSchema,CN as FeatureManifestSchema,lD as FeatureProbeStatusSchema,dD as FloodStatusSchema,sr as Fmp4BoxSplitter,gt as FrameHandleFormatSchema,C as FrameHandleSchema,_u as FrameInputSchema,qx as FrameLazyCountersSchema,Jx as FrameLazyMetricsSchema,mL as G711_SCALE_CORRECTION_DB,pD as GasStatusSchema,XN as GetLoggingSettingsInputSchema,Ld as GetStreamWithCodecInputSchema,sS as GlobalMetricsSchema,tE as GridLayoutPatchSchema,eE as GridLayoutViewSchema,Gr as HAP_AUDIO_BASE,Wr as HAP_AUDIO_BITRATE_KBPS,Kr as HAP_AUDIO_VBV_KBITS,qr as HAP_KEYFRAME_INTERVAL_SEC,oF as HF_BASE_URL,aF as HF_REPO,fM as HOURS_PER_DAY,jf as HWACCEL_OPTIONS,wN as HealthStatusSchema,Km as HfModelResolutionSchema,VP as HistoryPointSchema,zP as HistoryResolutionEnum,hD as HumidifierStatusSchema,_D as HumiditySensorStatusSchema,aE as HvacModeSchema,AS as INFERENCE_DEVICE_EXCLUSION_REASONS,GS as ImageContractSchema,WS as ImageContractStateSchema,xD as ImageRotateSchema,DD as ImageSettingsOptionsSchema,OD as ImageSettingsPatchSchema,ED as ImageSettingsStatusSchema,yD as ImageStatusSchema,jS as InferenceDeviceExclusionReasonSchema,lS as IngestOwnerSchema,pT as InstalledPackageSchema,jD as IntegrationLiteSchema,AD as IntegrationWithStateSchema,zD as IntercomAbilitySchema,BD as IntercomStatusSchema,ZI as KNOWN_CAP_NAMES,zb as KeyEventSchema,Ko as LEGACY_READ_ONLY_CONFIG_KEY,Qm as LOAD_CONTRIBUTION_ATTRIBUTIONS,Zm as LOAD_CONTRIBUTION_ROLES,Ap as LOCATION_DESCRIPTION_MAX,Tp as LOCATION_ICON_FALLBACK,wp as LOCATION_ICON_IDS,Os as LOG_CHANNEL_TICK_MS,fa as LOG_LEVEL_RANK,fx as LTS_SCOPE_CLASS_SEPARATOR,Uy as LabelAttributionSchema,xa as LabelDefinitionSchema,Hy as LabelTierSchema,UD as LawnMowerActivitySchema,GD as LawnMowerControlStatusSchema,No as LedgerWalkDeviceReportSchema,ko as LedgerWalkInputSchema,Ao as LedgerWalkRefusalSchema,Po as LedgerWalkReportSchema,Mo as LedgerWalkSkipCountsSchema,jo as LedgerWalkSkipReasonSchema,as as LegacyStorageLocationDefaultSchema,Jp as LinkedDeviceSchema,qp as LinkedDevicesModeSchema,Um as LlmDefaultSchema,Hm as LlmDefaultSelectorSchema,Mm as LlmDownloadProgressSchema,xm as LlmErrorCodeSchema,Om as LlmGenerateBaseInputSchema,Cm as LlmGenerateErrSchema,Sm as LlmGenerateOkSchema,wm as LlmGenerateResultSchema,Tm as LlmImageSchema,Pm as LlmNodeModelSchema,Vm as LlmProfileKindDescriptorSchema,Rm as LlmProfileKindSchema,zm as LlmProfileSchema,Em as LlmRetryPolicySchema,Im as LlmRuntimeCompleteInputSchema,Fm as LlmRuntimeDiskUsageSchema,qm as LlmRuntimeNodeSchema,Nm as LlmRuntimeStatusSchema,Dm as LlmTimeoutDefaults,Wm as LlmUsageRollupSchema,bm as LlmUsageSchema,$m as LoadContributionSchema,wj as LocateSegmentResultSchema,jp as LocationDescriptionAssignmentSchema,Dp as LocationIconAssignmentSchema,Ep as LocationIconIdSchema,Ku as LocationStatSchema,sO as LockControlStatusSchema,oO as LockStateSchema,th as LogChannelApplyResultSchema,bs as LogChannelDescriptorSchema,Ss as LogChannelGate,ys as LogChannelLevelSchema,Cs as LogChannelRegistry,KN as LogChannelWindowPatchSchema,xs as LogChannelWindowSchema,GN as LogChannelWindowStateSchema,ih as LogEntrySchema,rh as LogLevelSchema,ET as LogStreamEntrySchema,VN as LoggingEffectiveSchema,HN as LoggingExplicitSchema,BN as LoggingLevelLayerSchema,zN as LoggingLevelSourceSchema,RN as LoggingScopeKindSchema,qN as LoggingSettingsPatchSchema,QN as LoggingSettingsStateSchema,uh as LoginMethodContributionSchema,oh as LoginStageEnum,hx as LtsBucketSchema,yg as MACRO_LABELS,Zi as MAX_ARCHIVED_DEBUG_NOTES,Gi as MAX_BIRTH_DECISION_RECORDS,qi as MAX_BIRTH_LATENCY_PROXY_MS,hw as MAX_CLIP_EVENT_IDS,gw as MAX_CLIP_LABELS,Tl as MAX_CONDITION_DEPTH,El as MAX_CONDITION_LEAVES,Ic as MAX_EXPRESSION_AST_NODES,Rc as MAX_EXPRESSION_BINDINGS,zc as MAX_EXPRESSION_CALL_ARGS,Lc as MAX_EXPRESSION_EVAL_STEPS,Fc as MAX_EXPRESSION_SOURCE_LENGTH,js as MAX_KEYS,As as MAX_REASONS_PER_KEY,Ma as MAX_SENSOR_TRIGGER_DEVICES,Ly as MAX_TRACK_DEBUG_NOTE_LEN,fr as MEDIA_OWNER_TYPES,br as MEDIA_PRESENCE_OWNER_KINDS,XI as METHOD_ACCESS_MAP,eL as METHOD_DEVICE_SELECTORS,uM as MINUTES_PER_DAY,dc as MODEL_FORMATS,gc as MODEL_PROVIDER_IDS,vO as MOTION_CLOSE_AFTER_MS,VF as MOTION_TRIGGER_FEATURE,Gm as ManagedModelCatalogEntrySchema,km as ManagedModelExtraFileSchema,Am as ManagedModelRefSchema,jm as ManagedRuntimeConfigSchema,$g as MaskGridDimsSchema,Jg as MaskGridShapeSchema,Yg as MaskLineShapeSchema,Gg as MaskPointSchema,qg as MaskPolygonShapeSchema,Qg as MaskPolygonVerticesSchema,Kg as MaskRectShapeSchema,Zg as MaskShapeKindSchema,Xg as MaskShapeSchema,ab as MediaFileInfoSchema,nb as MediaFileKindEnum,rb as MediaFileRefSchema,ib as MediaFileSchema,uO as MediaPlayerRepeatSchema,lO as MediaPlayerStateSchema,fO as MediaPlayerStatusSchema,xr as MediaPresenceOwnerKindSchema,io as MediaRelocateModeSchema,hO as MeshPeerSchema,gO as MeshStatusSchema,Tv as MethodAccessSchema,om as MigrateDeviceResultSchema,im as MigrateSwitchOutcomeSchema,am as MigrateSwitchReportSchema,yc as ModelCatalogEntrySchema,Mh as ModelConvertInputSchema,xc as ModelConvertMetadataSchema,Ph as ModelDistributeInputSchema,Fh as ModelDistributeResultSchema,pc as ModelExtraFileSchema,fc as ModelFormatEntrySchema,mc as ModelFormatsSchema,_c as ModelProviderIdSchema,Zv as ModelSubstitutionSchema,hc as ModelVariantGroupSchema,Rh as MotionAnalysisResultSchema,Yy as MotionEventSchema,bO as MotionOnMotionChangedDataSchema,Lh as MotionRegionSchema,Rx as MotionSourceEnum,zx as MotionSourcesSchema,yO as MotionStatusSchema,CO as MotionTriggerRuntimeStateSchema,SO as MotionTriggerStatusSchema,DO as MotionZoneOptionsSchema,OO as MotionZonePatchSchema,TO as MotionZoneRegionSchema,EO as MotionZoneStatusSchema,Xh as MqttBrokerStatusSchema,xf as MutationFilterSchema,yB as NATIVE_LEASE_ACTIVITY_FIELD,dB as NATIVE_LEASE_ACTIVITY_KEY,SB as NATIVE_LEASE_ADMISSION_FIELD,fB as NATIVE_LEASE_ADMISSION_KEY,vB as NATIVE_LEASE_BUDGET_FIELD,uB as NATIVE_LEASE_BUDGET_KEY,_B as NATIVE_LEASE_HOLD_FIELD,lB as NATIVE_LEASE_HOLD_KEY,xB as NATIVE_LEASE_SCENE_BUDGET_FIELD,mB as NATIVE_LEASE_SCENE_BUDGET_KEY,cB as NATIVE_LEASE_SECTION_ID,bB as NATIVE_LEASE_TILE_BUDGET_FIELD,pB as NATIVE_LEASE_TILE_BUDGET_KEY,HO as NAVIGATION_ACTION_CATALOG,qO as NAVIGATION_LIGHT_LEVEL_MAX,KO as NAVIGATION_LIGHT_LEVEL_MIN,i_ as NC_ALARM_SYSTEM_EVENT_KINDS,OL as NC_AUDIO_CONFIRM_HITS_DEFAULT,jL as NC_AUDIO_CONFIRM_HITS_MAX,AL as NC_AUDIO_CONFIRM_HITS_MIN,NL as NC_AUDIO_CONFIRM_WINDOW_MAX_SEC,ML as NC_AUDIO_CONFIRM_WINDOW_MIN_SEC,kL as NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT,p_ as NC_AUDIO_DBFS_FLOOR,xL as NC_AUDIO_DB_MAX,bL as NC_AUDIO_DB_MIN,CL as NC_AUDIO_DB_OFFERED,SL as NC_AUDIO_DB_STEP,PL as NC_AUDIO_DEFAULTS,TL as NC_AUDIO_HIT_PERCENT_MAX,wL as NC_AUDIO_HIT_PERCENT_MIN,DL as NC_AUDIO_SAMPLING_MAX_SEC,EL as NC_AUDIO_SAMPLING_MIN_SEC,RR as NC_AUDIO_SEED,r_ as NC_AUTHORABLE_SYSTEM_EVENT_KINDS,QL as NC_BASE_CONDITION_KEYS,xv as NC_CLIP_RETENTION_MAX_SEC,Q_ as NC_CONDITION_CATALOG,N_ as NC_CONFIRM_DEFAULT_MAX_IMAGE_PX,M_ as NC_CONFIRM_DEFAULT_TIMEOUT_MS,j_ as NC_CONFIRM_MAX_TIMEOUT_MS,A_ as NC_CONFIRM_MIN_TIMEOUT_MS,c_ as NC_DEFAULT_SNOOZE_MINUTES,rv as NC_HISTORY_LIMIT_DEFAULT,iv as NC_HISTORY_LIMIT_MAX,o_ as NC_MAX_PER_TRACK_IMMEDIATE,LR as NC_OCCUPANCY_DEFAULTS,R_ as NC_RULE_CLEARABLE_KEYS,VR as NC_RULE_EDITOR_SECTION_ORDER,SR as NC_RULE_KIND_SPECS,AR as NC_RULE_SECTIONS,s_ as NC_SNOOZE_MAX_MINUTES,wR as NC_SYSTEM_DELIVERY,sz as NC_SYSTEM_EVENT_FILTER_KEYS,Vg as NC_TAXONOMY,tz as NC_TEMPLATE_VARS,QO as NETWORK_LINK_TYPES,ek as NETWORK_LINK_UNKNOWN,bx as NativeCropBboxSchema,Lv as NativeCropRefSchema,xx as NativeCropResultSchema,jO as NativeDetectionSchema,hB as NativeLeaseAdmissionSchema,gB as NativeLeaseSettingsSchema,AO as NativeObjectClassEnum,PO as NativeObjectDetectionOptionsSchema,IO as NativeObjectDetectionRuntimeStateSchema,FO as NativeObjectDetectionSettingsPatchSchema,MO as NativeObjectDetectionStatusSchema,NO as NativeObjectGeometryEnum,VO as NavigationActionEntrySchema,zO as NavigationActionIdSchema,BO as NavigationEntryKindSchema,WO as NavigationFeaturesSchema,GO as NavigationLightModeSchema,JO as NavigationModeSchema,RO as NavigationMoveCommandSchema,UO as NavigationPointSchema,XO as NavigationRuntimeStateSchema,YO as NavigationStatusSchema,bv as NcAlarmConfigSchema,hv as NcAlarmModeCoverageSchema,fv as NcAlarmSettingsPatchSchema,dv as NcAlarmSettingsSchema,pv as NcAlarmSkipReasonSchema,mv as NcAlarmSkippedDeviceSchema,m_ as NcAudioConditionSchema,Sv as NcClipRetentionAskSchema,Cv as NcClipRetentionPlanSchema,Z_ as NcConditionDescriptorSchema,C_ as NcConditionsSchema,P_ as NcConfirmExpectSchema,F_ as NcConfirmSchema,h_ as NcCrossingSchema,e_ as NcDeliverySchema,x_ as NcDeviceStateConditionSchema,nv as NcHistoryEntrySchema,av as NcHistoryFilterSchema,ev as NcHistoryRecordKindSchema,$_ as NcHistoryStatusSchema,tv as NcHistorySubjectSchema,E_ as NcLinkedCameraModeSchema,T_ as NcMediaFrameSchema,D_ as NcMediaPolicySchema,f_ as NcOccupancyConditionSchema,d_ as NcPlateMatcherSchema,__ as NcRuleActionSchema,v_ as NcRuleActionSequenceSchema,b_ as NcRuleActionsSchema,z_ as NcRuleClearableKeySchema,I_ as NcRuleInputSchema,U_ as NcRuleKindSchema,y_ as NcRuleNotificationButtonSchema,L_ as NcRulePatchSchema,V_ as NcRuleSchema,w_ as NcRuleTargetSchema,B_ as NcRuleUpdateInputSchema,S_ as NcSceneConditionSchema,u_ as NcScheduleSchema,l_ as NcScheduleWindowSchema,sv as NcSnoozeInputSchema,cv as NcSnoozeSchema,ov as NcSnoozeScopeSchema,lv as NcSnoozeSuppressedSchema,a_ as NcSystemEventConditionSchema,t_ as NcSystemEventKindSchema,Lg as NcTaxonomyEntrySchema,Rg as NcTaxonomySchema,W_ as NcTemplateFamilySchema,G_ as NcTemplateFieldSchema,Y_ as NcTemplatePreviewInputSchema,X_ as NcTemplatePreviewSchema,J_ as NcTemplateVarContextSchema,q_ as NcTemplateVarDescriptorSchema,K_ as NcTemplateVarGroupSchema,H_ as NcTestResultSchema,O_ as NcThrottleGranularitySchema,k_ as NcThrottleSchema,g_ as NcZoneConditionSchema,$h as NetworkAccessStatusSchema,TN as NetworkAddressSchema,Qh as NetworkEndpointSchema,$O as NetworkLinkStatusSchema,ag as NotificationActionIconSchema,og as NotificationActionSchema,ig as NotificationFormatSchema,sg as NotificationSchema,Dk as NotifierStatusSchema,jk as NumericSensorStatusSchema,bI as OPERATOR_WRITTEN_STALE_MS,ba as OPS_LOG_DEFAULT_LIMIT,ya as OPS_LOG_RING_DEFAULT_MAX,Ms as OVERFLOW_REASON,Js as OVERLAY_LAYERS,Fv as OauthIntegrationDescriptorSchema,eb as ObjectEventSchema,Xx as OccupancyBurstRefusalSchema,aM as OnboardFieldSupportSchema,tM as OnboardRecordTrackSchema,oM as OnboardScheduleSupportSchema,eM as OnboardStorageSchema,$j as OnboardStorageVolumeSchema,ma as OpsLogDomainSchema,_a as OpsLogEntrySchema,ha as OpsLogOpSchema,va as OpsLogQueryInputSchema,ga as OpsLogReasonSchema,_x as OrchestratorMetricsSchema,Nk as OsdOverlayKindEnum,Lk as OsdOverlayPatchSchema,Fk as OsdOverlaySchema,Pk as OsdPositionEnum,Hk as OsdRenderOutcomeEnum,Uk as OsdRenderResultSchema,Bk as OsdSlotBindingSchema,Vk as OsdSlotViewSchema,Gk as OsdSourceOptionSchema,zk as OsdSourceSchema,Wk as OsdSourceValueTypeEnum,Ik as OsdStatusSchema,$e as PEER_BYTES_CHUNK_BYTES,Ze as PEER_BYTES_MAX_OUTSTANDING,Qe as PEER_BYTES_STALL_MS,Xe as PEER_BYTES_TICKET_TTL_MS,Jk as PET_FEEDER_MANUAL_FEED_MAX,qk as PET_FEEDER_MANUAL_FEED_MIN,Ai as PIPELINE_ANALYTICS_CAP_NAME,GP as PIPELINE_FLOW_CAPABILITY_NAMES,KP as PIPELINE_OWNER_CAPABILITY_NAMES,ki as PRIVACY_MASK_CAP_NAME,rL as PROVIDER_KIND_CAP_NAMES,Bt as PROVIDER_PIN_FIELD,VV as PYTHON_SCRIPT,mT as PackageUpdateSchema,hT as PackageVersionInfoSchema,Cx as ParkRefusalSchema,wx as ParkTrackFrameResultSchema,Sx as ParkedFrameKindSchema,Tx as ParkedTrackFrameSchema,lh as PasskeyLoginMethodSchema,GC as PasskeySummarySchema,ju as PcmSampleFormatSchema,et as PeerBytesTicketSchema,PP as PerScopeBreakdownSchema,Zk as PetFeederStatusSchema,Kd as PickStreamPreferencesSchema,Gd as PickStreamRequirementsSchema,qd as PickedCamStreamSchema,aS as PipelineAssignmentSchema,Hv as PipelineDefaultStepSchema,q as PipelineEngineChoiceSchema,py as PipelineRunResultBridge,J as PipelineStepInputSchema,Qv as PipelineValidationIssueSchema,$v as PipelineValidationResultSchema,Pd as PlaceholderReasonSchema,vy as PolygonPointSchema,kV as PoolMemoryWatchdog,xA as PowerMeterStatusSchema,wA as PresenceStatusSchema,EA as PressureSensorStatusSchema,jA as PrivacyMaskOptionsSchema,MA as PrivacyMaskPatchSchema,kA as PrivacyMaskRegionSchema,OA as PrivacyMaskShapeSchema,AA as PrivacyMaskStatusSchema,Tt as ProfileRtspEntrySchema,st as ProfileSlotSchema,ot as ProfileSlotStatusSchema,Pp as ProviderStatusSchema,qA as PtzAutotrackRuntimeStateSchema,WA as PtzAutotrackSettingsSchema,KA as PtzAutotrackStatusSchema,GA as PtzAutotrackTargetOptionSchema,VA as PtzHomePresetSchema,HA as PtzHomeReturnSchema,RA as PtzMoveCommandSchema,BA as PtzOptionsSchema,LA as PtzPositionSchema,FA as PtzPresetFunctionSchema,IA as PtzPresetSchema,zA as PtzStatusSchema,V as QueryFilterSchema,Vr as RATE_CONTROL_RELAXED,Br as RATE_CONTROL_TIGHT,mI as REACHABILITY_FAILURES_TO_OFFLINE,pI as REACHABILITY_POLL_INTERVAL_MS,hI as REACHABILITY_PROBE_TIMEOUT_MS,Ho as RECOGNITION_TYPES,Na as RECORDING_AUDIO_TRIGGER_OFFERED_DBFS,Wj as RECORDING_EXPORT_MAX_READ_BYTES,XA as RECORDING_SOURCE_CAMSTACK,ZA as RECORDING_SOURCE_CAMSTACK_ADDON,lj as RECORDING_TIMELINE_BATCH_MAX,Li as REDACTED_SECRET,Hc as RESERVED_BINDING_NAMES,NM as RESERVED_COLLECTION_SOURCES,lL as RESTORED_CAP_NAMES,Ls as ROOT_BUCKET_KEY,cF as RUNTIME_DEFAULTS,aL as RUNTIME_STATE_POLICY,yI as RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS,BV as RUNTIME_TO_FORMAT,fn as RawStateResultSchema,Ej as ReadGopBytesResultSchema,Tj as ReadSegmentBytesResultSchema,Dj as ReadWindowBytesResultSchema,jt as ReadinessRegistry,Et as ReadinessTimeoutError,Fb as RecentTracksPageSchema,Tb as RecentTracksQueryInput,Zj as RecordTriggerSchema,Qj as RecordWindowSchema,uj as RecordingAvailabilityForDeviceSchema,ej as RecordingAvailabilitySchema,La as RecordingBandAudioSchema,Fa as RecordingBandModeSchema,Ra as RecordingBandSchema,Ia as RecordingBandTriggersSchema,Ua as RecordingConfigSchema,dj as RecordingDaysForDeviceSchema,tj as RecordingDaysSchema,fj as RecordingDeviceUsageSchema,pj as RecordingLocationUsageSchema,nj as RecordingManifestSchema,Aa as RecordingObjectTriggerClassSchema,sM as RecordingOnboardOptionsSchema,cM as RecordingOnboardPatchSchema,nM as RecordingOnboardStatusSchema,oj as RecordingPlaybackSchema,QA as RecordingRangeSchema,$A as RecordingReadSchema,yj as RecordingRebalanceInputSchema,hj as RecordingRebalanceMoveSchema,vj as RecordingRebalancePlanSchema,gj as RecordingRebalanceSkipReasonSchema,_j as RecordingRebalanceSkipSchema,Ha as RecordingRetentionSchema,jM as RecordingSignalRuntimeStateSchema,AM as RecordingSignalStatusSchema,rj as RecordingSourceAvailabilitySchema,aj as RecordingSourceOptionsSchema,ij as RecordingSourceSchema,cj as RecordingStatusSchema,ka as RecordingStorageModeSchema,mj as RecordingStorageUsageSchema,Pa as RecordingTriggersSchema,Da as RecordingWeekdaySchema,sh as RedirectLoginMethodSchema,Io as RelocatableMediaCountInputSchema,Fo as RelocatableMediaCountSchema,to as RelocateFootageClassSchema,no as RelocateFootageInputSchema,eo as RelocateJobSchema,$a as RelocateJobStateSchema,ao as RelocateMediaInputSchema,Do as RelocateResidueInputSchema,Oo as RelocateResidueSchema,mg as RenderedAsSchema,Vx as ReportMotionInputSchema,YN as ReportedFailureContributionSchema,JN as ReportedLoadContributionSchema,MN as RequestCensusGroupSchema,NN as RequestCensusProcedureSchema,PN as RequestCensusSnapshotSchema,FN as RequestCensusStatusSchema,db as RetrainAnnotationDraftSchema,sb as RetrainAnnotationKindSchema,ub as RetrainAnnotationSchema,cb as RetrainAnnotationSourceSchema,yb as RetrainAssistResultSchema,vb as RetrainAssistSubjectSchema,hb as RetrainCopyRefusalSchema,pb as RetrainFrameCandidateSchema,_b as RetrainFrameListSchema,mb as RetrainFrameSchema,gb as RetrainFrameSelectionSchema,ob as RetrainMacroClassSchema,Iy as RetrainStatusSchema,fb as RetrainTrackSchema,bb as RetrainTransitionResultSchema,NV as RingBuffer,Rd as RtpSourceSchema,Ed as RtspRestreamEntrySchema,Wx as RunnerCameraConfigSchema,Gx as RunnerCameraDeviceUIFields,Hx as RunnerFrameSourceSchema,Ux as RunnerInferenceDeviceSchema,Kx as RunnerLocalLoadSchema,Yx as RunnerLocalMetricsSchema,IM as SCENE_CONDITIONS,XM as SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX,YM as SCENE_CONFIRM_DEFAULT_TIMEOUT_MS,qM as SCENE_DEFAULT_ANCHOR_THRESHOLD,KM as SCENE_DEFAULT_CHECK_INTERVAL_SEC,GM as SCENE_DEFAULT_OBSERVATION_SPACING_SEC,WM as SCENE_DEFAULT_QUIET_SECONDS,JM as SCENE_DEFAULT_UNCOVERED_POLICY,RM as SCENE_DIVERGED,ZM as SCENE_RESET_RECAPTURES,uL as SCOPE_PRESETS,UF as SENSOR_FEATURES,GF as SENSOR_MAP,Ye as SHARE_VIEW_KINDS,QP as SOURCE_CAPS,XP as SOURCE_CAP_ACTIVE_FIELD,ZP as SOURCE_CAP_CHANGED_AT_FIELD,$P as SOURCE_DEVICE_TYPES,Xf as SOURCE_INFO_METADATA_KEY,Xs as STATIONARY_OVERLAY_STYLE,ds as STORAGE_ACCESS_FALLBACK,ss as STORAGE_BYTES_PER_GB,Uo as STORAGE_LOCATION_MODES,_N as STREAM_PROFILE_META,ta as STREAM_QUALITY_LABELS,Vo as SUB_DETECTION_TYPES,Ob as SUMMARIES_DEFAULT_LIMIT,Db as SUMMARIES_MAX_LIMIT,$I as SYSTEM_CAP_NAMES,tL as SYSTEM_SCOPE_DEVICE_METHODS,UM as SceneCheckSchema,FM as SceneConditionSchema,QM as SceneConfirmSchema,$M as SceneMonitorSchema,HM as SceneMonitorStateSchema,tN as SceneMonitorStatusForDeviceSchema,eN as SceneMonitorStatusSchema,VM as SceneReferenceSchema,BM as SceneUnavailableSchema,LM as SceneUncoveredPolicySchema,zM as SceneVerdictSchema,Pv as ScopedTokenSchema,mP as ScopedTokenSummarySchema,qb as ScoredObjectEventSchema,rN as ScriptRunnerStatusSchema,gT as SearchResultSchema,nC as SendEmailInputSchema,rC as SendEmailResultSchema,hg as SendResultSchema,ky as SensorEventSchema,HS as ServerBootModeSchema,XS as ServerPackageStatusSchema,YS as ServerRollbackInfoSchema,$S as ServerUpdateActionResultSchema,ZS as ServerUpdateCheckResultSchema,QS as ServerUpdateOutcomeSchema,US as ServerUpdateStateSchema,ZN as SetLoggingSettingsInputSchema,kN as SetSiteLocationInputSchema,eu as SettingsPatchSchema,wf as SettingsRecordSchema,z as SettingsSchemaWithValuesSchema,tu as SettingsUpdateResultSchema,Nf as ShmRingStatsSchema,DN as SiteLocationSchema,EN as SiteLocationSourceSchema,ON as SiteLocationStatusSchema,Mp as SiteZoneSchema,aN as SmokeStatusSchema,iC as SmtpStatusSchema,oC as SnapshotImageSchema,Kf as SourceInfoSchema,vu as SpatialDetectionSchema,lC as SsoBridgeClaimsSchema,Jh as StartEmbeddedInputSchema,IP as StationaryObjectSchema,TC as StorageAbortUploadInputSchema,us as StorageAccessSchema,EC as StorageBeginDownloadInputSchema,DC as StorageBeginDownloadResultSchema,xC as StorageBeginUploadInputSchema,SC as StorageBeginUploadResultSchema,Ro as StorageCleanupInputSchema,zo as StorageCleanupJobSchema,Lo as StorageCleanupPhaseSchema,Bo as StorageCleanupStatusInputSchema,ls as StorageDrainProgressSchema,kC as StorageEndDownloadInputSchema,Go as StorageEvictionPolicySchema,wC as StorageFinalizeUploadInputSchema,fs as StorageLocationDeclarationSchema,Wo as StorageLocationModeSchema,M as StorageLocationRefSchema,j as StorageLocationSchema,is as StorageLocationTypeSchema,lo as StorageMigrationClassSchema,uo as StorageMigrationDestinationsSchema,Eo as StorageMigrationDrainInputSchema,bo as StorageMigrationFindingCodeSchema,xo as StorageMigrationFindingSchema,ro as StorageMigrationFootageMoveInputSchema,mo as StorageMigrationInputSchema,yo as StorageMigrationJobSchema,Co as StorageMigrationLaneSchema,A as StorageMigrationLeaseInputSchema,co as StorageMigrationMediaMoveInputSchema,po as StorageMigrationModeSchema,_o as StorageMigrationMoveProgressSchema,vo as StorageMigrationMoveSchema,wo as StorageMigrationMoverSchema,go as StorageMigrationParticipantSchema,ho as StorageMigrationPhaseSchema,So as StorageMigrationPlanSchema,To as StorageMigrationResidueSchema,fo as StorageMigrationSourcesSchema,_C as StorageOccupancyReportSchema,yC as StorageProviderInfoSchema,OC as StorageReadChunkInputSchema,bC as StorageTestLocationResultSchema,CC as StorageWriteChunkInputSchema,Wd as StreamCodecSchema,xd as StreamFormatSchema,ik as StreamNetworkStatsSchema,mN as StreamParamsOptionsSchema,fN as StreamParamsStatusSchema,dN as StreamProfileConfigSchema,pN as StreamProfileOptionsSchema,hN as StreamProfilePatchSchema,uN as StreamProfileSchema,jC as StreamSignalSchema,MC as StreamSignalsStatusSchema,ft as StreamSourceEntrySchema,pt as StreamSourceSchema,xt as SubscribeAudioChunksInputSchema,St as SubscribeAudioChunksResultSchema,_t as SubscribeFramesInputSchema,vt as SubscribeFramesResultSchema,Eb as SummarySchema,xN as SwitchStatusSchema,Ah as SystemMetricsSchema,jI as SystemMirror,H as TAXONOMY_COLORS,_z as TIMELAPSE_DENSE_FLOOR_SEC,_s as TIMEZONES,Ur as TRANSCODE_DOWN_MAX_BITRATE_KBPS,Hr as TRANSCODE_DOWN_MAX_HEIGHT,eP as TamperStatusSchema,SP as TankStatusSchema,lg as TargetKindCapsSchema,cg as TargetKindLevelSchema,dg as TargetKindSchema,fg as TargetSchema,nP as TemperatureSensorStatusSchema,RC as TerminalInstanceInfoSchema,zC as TerminalLegacyCameraSchema,VC as TerminalOutputBatchSchema,BC as TerminalOutputEventSchema,LC as TerminalProfileInfoSchema,IC as TerminalSessionInfoSchema,PD as TestConnectionResultSchema,ND as TestConnectionStatusEnum,gg as TestResultSchema,Cz as TimelapseRuleInputSchema,Tz as TimelapseRulePatchSchema,Ez as TimelapseRuleSchema,uz as TimelapseTemplateSchema,iP as ToastSchema,K as TokenScopeSchema,pk as TopologyNodeSchema,lk as TopologyProcessSchema,ck as TopologyServiceSchema,Yb as TrackCascadeCountsSchema,My as TrackEnvelopeSchema,By as TrackFlagsPatchSchema,Vy as TrackFlagsSchema,Ny as TrackProjectionSchema,qy as TrackSchema,Fy as TrackSourceSchema,xy as TrackStateSchema,Cy as TrackZoneFilterSchema,Gb as TrackedDetectionSchema,Gy as TrainingExportDeviceTotalsSchema,Ky as TrainingExportSummarySchema,jN as TransportPlaneCountsSchema,AN as TransportPlaneSchema,UC as TurnServerSchema,Is as UNATTRIBUTED_BUCKET_KEY,JB as UNIT_TABLE,ed as UnifiedBrokerInfoSchema,YB as UnitConversionError,so as UnstampedEventMediaCountSchema,oo as UnstampedRowsSchema,ID as UpdateIntegrationInputSchema,oP as UpdateStatusSchema,uP as UpdateUserInputSchema,Mv as UserRecordSchema,cP as UserSummarySchema,kw as VIDEOCLIPS_MAX_OFFER_BYTES,Ow as VIDEOCLIPS_MAX_READ_BYTES,Va as VISIT_MERGE_GAP_MS,CP as VacuumControlStatusSchema,xP as VacuumStateSchema,TP as ValveStateSchema,EP as ValveStatusSchema,QC as VectorDeclareIndexInputSchema,iw as VectorDeleteByFilterInputSchema,rw as VectorDeleteInputSchema,aw as VectorDeleteResultSchema,YC as VectorFilterSchema,ow as VectorGetInputSchema,sw as VectorGetResultSchema,XC as VectorItemSchema,ZC as VectorMatchSchema,JC as VectorMetadataSchema,qC as VectorMetricSchema,tw as VectorQueryInputSchema,nw as VectorQueryResultSchema,fw as VectorStatsInputSchema,pw as VectorStatsResultSchema,$C as VectorUpsertInputSchema,ew as VectorUpsertResultSchema,OP as VibrationStatusSchema,Or as VideoEncodeSchema,Rr as WEBRTC_EGRESS_PROFILE,pM as WEEKLY_MASK_LENGTH,we as WELL_KNOWN_TABS,Te as WELL_KNOWN_TAB_MAP,AP as WaterHeaterStatusSchema,MP as WeatherStatusSchema,Kw as WebrtcLadderDecisionSchema,Jw as WebrtcSessionDebugSchema,Gw as WebrtcStreamChoiceSchema,Ww as WebrtcStreamTargetSchema,qw as WebrtcTierFailureSchema,SD as WhiteBalanceModeSchema,ru as WidgetHostEnum,ch as WidgetLoginMethodSchema,ou as WidgetMetadataSchema,au as WidgetRemoteSchema,iu as WidgetSizeEnum,qS as WrapperEvidenceSchema,JS as WrapperIdentitySchema,KS as WrapperKindSchema,wg as YAMNET_TO_MACRO,Zy as ZoneCrossingDirectionSchema,Qy as ZoneCrossingSchema,_y as ZoneKindEnum,hy as ZoneRuleModeEnum,Y as ZoneRuleSchema,UP as ZoneRuleStageEnum,gy as ZoneRulesArraySchema,yy as ZoneSchema,FP as ZoneScopeBreakdownSchema,Ds as __resetLogChannelRegistryForTests,Zw as accessoriesCapability,uF as accessoryStableId,Gl as addonPagesCapability,ql as addonPagesSourceCapability,Zl as addonRoutesCapability,nu as addonSettingsCapability,lu as addonWidgetsCapability,su as addonWidgetsSourceCapability,kT as addonsCapability,Qt as adminUiCapability,jT as airQualitySensorCapability,Wg as alarmPanelCapability,mu as alertsCapability,NT as ambientLightSensorCapability,On as asBoolean,Tn as asJsonArray,wn as asJsonObject,Dn as asNumber,En as asString,Dz as assertTimelapseCadences,hu as audioAnalysisCapability,Au as audioAnalyzerCapability,ve as audioChunkBytesPerSample,Ru as audioCodecCapability,LL as audioIsFailClosed,yL as audioKindId,VL as audioLabelChoices,RT as audioMetricsCapability,IL as audioModeOf,FL as audioOrDefaults,nr as audioPlanFromEncodeProfile,gL as audioScaleEraOf,Bu as authProviderCapability,ua as autoAssignProfiles,BT as automationControlCapability,Qu as backupCapability,cV as bareAddonId,HT as batteryCapability,oV as bestLocationMatch,WT as binaryCapability,tH as bindAddonActions,KT as brightnessCapability,yd as brokerCapability,wr as buildAddonRouteProvider,Wn as buildAudioArgs,Wf as buildDeviceAdminUrl,VS as buildEventKindDescriptor,$n as buildFfmpegArgs,Rn as buildInputArgs,cc as buildModelVariantGroups,Bg as buildNcTaxonomy,jB as buildRoleScopes,yN as buildStreamParamsConfigSchema,Un as buildVideoArgs,qT as buttonCapability,XT as cameraCredentialsCapability,nE as cameraGridLayoutCapability,bd as cameraPipelineConfigCapability,Jd as cameraStreamsCapability,nV as canConvertUnit,ei as canonicalEgressPlan,iE as carbonMonoxideCapability,MV as cellsToRects,Dc as classifyBearerPrincipal,aa as classifyStream,ia as classifyStreams,sE as climateControlCapability,Vj as clipExportFailure,Hj as clipExportFailureOf,xw as clipReasonHeaderValue,jz as clusterModelSettingKey,Hz as clusterStepSettingFieldsFor,Vz as clusterStepSettingKey,Pr as codecIsAccepted,De as collectHydratedFieldEntries,ke as collectHydratedFieldValues,zi as collectSecretConfigKeys,fE as colorCapability,Fg as colorForKind,EV as commitWatchdogRestart,Mr as compareToTarget,il as compileExpression,al as compileExpressionSafe,Ii as composeSwitchedOff,Pl as conditionDepth,OR as conditionExclusionReason,DR as conditionVisibleForKind,_E as connectionTestCapability,yE as connectivityCapability,SE as consumablesCapability,wE as contactCapability,OE as controlCapability,eV as convertUnit,df as coreBlockAddonId,ff as coreBlockIdFromAddonId,vf as coreBlocksCapability,uV as cosineSimilarity,Fl as countConditionLeaves,jE as coverCapability,yn as createDeviceProxy,Le as createDurableState,Fe as createEvent,gn as createEventBusSliceSource,sl as createExpressionScope,Jr as createHwAccelCache,hn as createLazyTrpcSource,ks as createLogChannelsProvider,_n as createMirrorSource,xI as createRuntimeStateBridge,D as createSliceHandle,dL as createSystemProxy,nn as customAction,bf as customModelRegistryCapability,Af as dataStoreProviderCapability,LE as dayNightCapability,OM as dayOfWeekToIndex,FF as declarationOwnerNodeId,Es as declareLogChannel,XV as decodeVectorBase64,Pf as decoderCapability,BR as defaultDeliveryForSection,lH as defaultDeviceFor,tn as defineCustomActions,wF as deriveBatteryPresence,Pi as deriveCameraSwitches,iB as deriveDetailCropRect,Wa as deriveRecordingMode,an as describeCustomActions,uc as describeModelVariant,kM as describeOnboardClamp,hM as describeOnboardRefusal,NB as detectAccessRole,Ff as detectionPipelineCapability,Rf as deviceAdminLinkCapability,mp as deviceAdoptionCapability,zV as deviceBackendToFormat,rn as deviceCustomAction,tp as deviceDiscoveryCapability,Cp as deviceExportCapability,sm as deviceManagerCapability,JF as deviceMatchesProfile,pn as deviceOpsCapability,Bp as deviceProviderCapability,FB as deviceSelectorMatches,cm as deviceStateCapability,zE as deviceStatusCapability,iI as displayIconEntry,aI as displayIconsInGroup,HE as doorbellCapability,kR as droppedConditionsForKind,ti as egressTranscodeSharingKey,Zr as egressTransportFromRequest,dm as embeddingEncoderCapability,Nt as emitDownForOwnedCaps,Ie as emitReadiness,Yd as emitsCollectionSelector,jr as encodeProfileFromStreamShape,YV as encodeVectorBase64,GE as enumSensorCapability,mH as enumerateInferenceDevices,TI as enumerateItemArrayFields,wI as enumerateSchemaFields,dr as errMsg,hl as evaluateAst,yl as evaluateExpressionSource,TV as evaluatePoolMemory,iF as evaluateSensorEdge,QV as evaluateZoneRules,Jt as event,JE as eventEmitterCapability,Yo as evictionPolicyForMode,ts as evictionPolicyOfLocation,ye as expandAudioChunkToF32le,Gt as expandCapMethods,MF as expandContainer,Yj as exportSubjectOf,tf as extractNestedAddonId,Zf as extractSourceInfoFromMetadata,aD as faceGalleryCapability,mm as failureContributionCapability,Fs as failureRate,cD as fanControlCapability,uD as featureProbeCapability,_m as filesystemBrowseCapability,vs as findTimezone,fD as floodCapability,Bs as foldSnapshotByFunction,GV as formatForBackend,KV as formatForRuntime,_r as formatMediaOwnerKey,xM as formatMinutes,Zs as formatParkedFor,mD as gasCapability,cs as gbToBytes,Hl as generateAutomationBlock,Og as getAudioMacroClassIds,dI as getByPath,iL as getCapsByProviderKind,Ts as getLogChannelRegistry,Pg as getTaxonomyEntry,HF as hasMotionTrigger,pV as hfModelUrl,rR as htmlToText,gD as humidifierCapability,vD as humiditySensorCapability,je as hydrateSchema,bD as imageCapability,kD as imageSettingsCapability,vc as inferModelProvider,bV as initialPoolMemoryState,RD as integrationsCapability,HD as intercomCapability,rr as invocationFromEncodeProfile,ui as isAgentOnlyPlacement,Qd as isArrayOutputSchema,_e as isAudioChunkFormat,HL as isAudioLabelSelected,NR as isAudioRule,eR as isBaseConditionKey,TF as isBatteryPresenceFault,Mz as isClusterScopedStep,$d as isCollectionArrayMethod,li as isDeployableToAgent,xg as isDetectionMacroClass,Yt as isDeviceConfigCap,xn as isDeviceScopedCap,rI as isDisplayIconKey,Pe as isEvent,Cr as isEventOwnerType,wa as isFirstLevelMacroClass,mi as isIsolatedBuiltin,oz as isKnownTemplateVar,os as isLocationEnabled,hr as isMediaOwnerType,KF as isNode,Zd as isObjectInput,PR as isOccupancyRule,cL as isRestoredCap,lV as isSameAddonId,KR as isScheduleActive,Ri as isSecretConfigField,Ln as isSoftwareDecode,eF as isSourceCap,Qo as isStorageLocationMode,TR as isSystemDelivery,Xd as isVoidInput,hL as ituDbfsFromPreEpoch,Qw as jobKindSchema,cf as kebabToCamel,ZL as knownValues,KD as lawnMowerControlCapability,NF as legacyAutoLinkIds,Xo as legacyModeOf,aT as lifecycleJobSchema,iT as lifecycleJobScopeSchema,rT as lifecycleJobStateSchema,nT as lifecycleTaskSchema,Xm as llmCapability,Lm as llmRuntimeCapability,eh as loadContributionCapability,aO as localNetworkCapability,Op as locationIconKey,aV as locationSimilarity,cO as lockControlCapability,In as logBannerArgs,nh as logChannelsCapability,ah as logDestinationCapability,pa as logLevelAtMost,dh as loginMethodCapability,ef as looseSchema,ct as makeProfileBrokerId,lt as makeSourceBrokerId,Dg as mapAudioLabelToMacro,sR as markdownToHtmlLite,tR as markdownToText,gV as maskUrlCredentials,es as mayReadLocation,$o as mayWriteToLocation,pO as mediaPlayerCapability,Jf as mergeSourceInfo,_O as meshNetworkCapability,w as method,wc as methodAccessForHttpMethod,jh as metricsProviderCapability,Qa as migrateLegacyDeviceSignalConfig,DM as minutesToTimeOfDay,Jo as modeMayRead,qo as modeMayWrite,Nh as modelConvertCapability,Ih as modelDistributorCapability,uH as modelFormatForRuntime,xO as motionCapability,zh as motionDetectionCapability,wO as motionTriggerCapability,kO as motionZonesCapability,Zh as mqttBrokerCapability,LO as nativeObjectDetectionCapability,ZO as navigationCapability,tg as networkAccessCapability,rk as networkLinkCapability,sk as networkQualityCapability,Ft as nodePin,Ck as nodesCapability,Ke as normalizeAddonInitResult,vL as normalizeAudioLabel,VB as normalizeTokenScopes,Yf as normalizeUnit,_g as notificationOutputCapability,wv as notificationRulesCapability,Ak as notifierCapability,Mk as numericSensorCapability,Iv as oauthIntegrationCapability,nf as objectInputDeclaresAddonId,rf as objectInputDeclaresRequiredDeviceId,px as occupancyScope,qt as optionalMethod,Rk as osdCapability,Kk as osdManagerCapability,qz as overlayClusterStepSettings,Gf as parseAdminBase,la as parseCameraStreamConfig,tl as parseExpression,An as parseJsonArray,kn as parseJsonObject,Cn as parseJsonUnknown,gr as parseMediaOwnerKey,mx as parseOccupancyScope,yV as parseProcStatus,ut as parseProfileBrokerId,MR as parseRuleSection,bN as parseStreamParamsFormPatch,BL as patchAudio,Qk as petFeederCapability,WF as pickAccessoryControl,Lz as pickClusterStepModels,Kz as pickClusterStepSettings,tB as pickDetailCropConvention,OB as pickNativeLeaseOverride,Ks as pickPreferredRtspEntry,OV as pickRestartCandidate,tr as pickVideoEncoder,XL as pickerForCondition,gx as pipelineAnalyticsCapability,my as pipelineExecutorCapability,PS as pipelineOrchestratorCapability,Zx as pipelineRunnerCapability,iA as plateGalleryCapability,bA as platformProbeCapability,CV as poolMemoryThreshold,SA as powerMeterCapability,mR as prepareNotification,TA as presenceCapability,DA as pressureSensorCapability,Oc as principalMayReachAddon,NA as privacyMaskCapability,sf as procedureAuthKey,JA as ptzAutotrackCapability,UA as ptzCapability,qV as pythonScriptForBackend,Ir as rankStreams,Fz as readClusterStepModels,Wz as readClusterStepSettings,$z as readDetailCropConvention,JP as readDeviceStateFrom,TB as readNativeLeaseOverride,Lt as readNodePin,Oz as readTimelapseGeneratedAt,Dt as readinessKey,YA as rebootCapability,Oj as recordingArchiveCapability,sj as recordingCapability,Xj as recordingExportCapability,lM as recordingOnboardCapability,MM as recordingSignalCapability,jV as rectsToCells,Gs as reducePoints,JV as requiresPython,PM as reservedSourceOwner,DV as resetPoolBaseline,ci as resolveAddonExecution,di as resolveAddonGroup,pi as resolveAddonPlacement,WV as resolveAddonRuntime,Ws as resolveBucketMs,zt as resolveCapMount,Rz as resolveClusterStepModelId,jF as resolveContainerPrimaryChild,Jj as resolveCreateExportSubject,HV as resolveDetectionRuntime,BF as resolveDeviceControlKind,ZF as resolveDeviceProfile,Xr as resolveEgressDecodeHwAccel,Kj as resolveExportProfiles,lR as resolveFormat,Ae as resolveHydratedFieldValue,kp as resolveLocationIcon,Zo as resolveLocationMode,of as resolveMethodAuth,UV as resolveModelFormat,qF as resolveMutate,vV as resolvePoolMemoryPolicy,Ka as resolveRecordingProfiles,fi as resolveRunnerId,zn as resolveStreamMaps,lc as resolveVariantModelId,BB as resolveViewableDeviceIds,AB as roleSpec,UR as ruleEditorSectionsForKind,ER as ruleKindOf,CR as ruleKindSpec,FR as ruleMatchesSection,jR as ruleSection,IR as ruleSectionOf,zR as ruleSeedForSection,PV as runInferenceStep,cH as runtimeDevices,oL as runtimeStatePolicyFor,nN as sceneMonitorCapability,Bi as schemaDeclaresAnyField,RB as scopeInherits,Ot as scopeKey,Ec as scopesAllowAddon,Tc as scopesAllowDeviceCap,dH as scoreRuntimes,iN as scriptRunnerCapability,lI as searchDisplayIcons,dt as selectAssignedProfileSlots,eC as serverManagementCapability,fI as setByPath,Of as settingsStoreCapability,tk as signalPercentFromBars,nk as signalPercentFromRssi,Np as siteZoneKey,jn as sleep,Mn as sleepCancellable,tF as sliceActiveValue,nF as sliceChangedAt,oN as smokeCapability,aC as smtpProviderCapability,cC as snapshotCapability,uC as ssoBridgeCapability,_I as startReachabilityPoll,YP as stateVocabularyFor,fC as storageCapability,hC as storageEvictableCapability,gC as storageMigrationCapability,vC as storageOccupancyCapability,AC as storageProviderCapability,Ud as streamBrokerCapability,lN as streamCatalogCapability,gN as streamParamsCapability,ra as streamPixels,na as streamQualityLabel,NC as streamSignalsCapability,Ba as stripRetiredBandPreBufferSec,ns as strippedOfLegacyReadOnly,Ig as subKindsOf,PA as summarisePrivacyAudio,KB as summarizeEffectiveScope,sH as supportedRuntimes,SN as switchCapability,Fi as switchedOffIds,qf as synthesizeSourceInfo,$N as systemCapability,cz as systemEventFilterApplies,lz as systemEventFilterAppliesToAnyKind,tP as tamperCapability,tT as taskLogEntrySchema,$w as taskPhaseSchema,eT as taskTargetSchema,rP as temperatureSensorCapability,az as templateVarsFor,HC as terminalSessionCapability,oR as textToHtml,EM as timeOfDayToMinutes,xF as toDeviceSummary,_l as toExpressionValue,It as toNodeId,oa as toStreamSourceEntry,aP as toastCapability,UL as toggleAudioLabel,Jc as tokenize,uR as transcodeBody,tV as tryConvertUnit,WC as turnProviderCapability,ZB as unitDimension,rV as unitsForDimension,sP as updateCapability,bP as userManagementCapability,KC as userPasskeysCapability,wP as vacuumControlCapability,vl as validateExpressionSource,Ll as validateRecipeBounds,DP as valveCapability,ZV as vectorDimFromBase64,mw as vectorStoreCapability,kP as vibrationCapability,Vw as videoclipsCapability,ln as viewerUiCapability,jP as waterHeaterCapability,NP as weatherCapability,Uw as webrtcClientHintsSchema,Yw as webrtcSessionCapability,SM as weeklyMaskIndex,CM as weeklyMaskIsUniform,wM as weeklyMaskToWindows,TM as windowsToWeeklyMask,ii as wiringAddonHealthSchema,oi as wiringHealthSnapshotSchema,ai as wiringNodeHealthSchema,ni as wiringProbeKindSchema,ri as wiringProbeResultSchema,rs as withLocationMode,LI as zodEntriesToConfigUI,HP as zoneAnalyticsCapability,WP as zoneRulesCapability,by as zonesCapability};
|