@camstack/addon-admin-ui 1.2.468 → 1.2.470
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/{AddonAssetIcon-DHBc4Oru.js → AddonAssetIcon-CNIaymph.js} +1 -1
- package/dist/assets/Addons-BFu9jODe.js +4 -0
- package/dist/assets/{AdminPage-BzOAts8g.js → AdminPage-CCxxWx-6.js} +1 -1
- package/dist/assets/{AdminSectionedPage-D8HvUwen.js → AdminSectionedPage-CFnkGNjR.js} +1 -1
- package/dist/assets/{AiProfiles-BQEWbaRM.js → AiProfiles-Oxq1CrGx.js} +2 -2
- package/dist/assets/{BrokerForm-CnvfhzZv.js → BrokerForm-CURGwg-b.js} +1 -1
- package/dist/assets/{Build-DEWFMcRk.js → Build-ClV9hssR.js} +4 -4
- package/dist/assets/Calendars-7-56y5mC.js +1 -0
- package/dist/assets/Cluster--R890opw.js +1 -0
- package/dist/assets/CompositionCreateForm-BdvGldkE.js +1 -0
- package/dist/assets/{CompositionEditorPage-CTTbTXsG.js → CompositionEditorPage-B8cZJ6lS.js} +1 -1
- package/dist/assets/Data-DjA5ylK5.js +2 -0
- package/dist/assets/DeviceDetail-CFwLMsHT.js +2 -0
- package/dist/assets/{DeviceDoActionFields-UMJ1EBa8.js → DeviceDoActionFields-C5EBbspf.js} +1 -1
- package/dist/assets/{Devices-Dw1_3HLb.js → Devices-C5FXlXLu.js} +1 -1
- package/dist/assets/{EmbedPlayerPage-B9m0Uux9.js → EmbedPlayerPage-CfDavHrE.js} +1 -1
- package/dist/assets/{History-DBkzv-pK.js → History-B5bG6vlI.js} +1 -1
- package/dist/assets/Identity-DyHQGvZo.js +1 -0
- package/dist/assets/IntegrationDetail-BVrAcEgW.js +1 -0
- package/dist/assets/{IntegrationHub-B7KFMf5G.js → IntegrationHub-B4WSNyTn.js} +1 -1
- package/dist/assets/Integrations-BFIWnI-V.js +1 -0
- package/dist/assets/Integrations-goqSS2Co.js +1 -0
- package/dist/assets/{Library-B7QmX0so.js → Library-C4qxlKpK.js} +1 -1
- package/dist/assets/Locations-DnHuXobL.js +3 -0
- package/dist/assets/{Logs-DfJdJZdB.js → Logs-CUoVNMCD.js} +1 -1
- package/dist/assets/{MaskShapeCanvas-CdkKHWLL.js → MaskShapeCanvas-CH26Mkpx.js} +1 -1
- package/dist/assets/{MotionZonesSettings-DozUaDis.js → MotionZonesSettings-Co2CdVJJ.js} +1 -1
- package/dist/assets/MyAccess-CvOXHdv2.js +2 -0
- package/dist/assets/Network-H2U6fhMH.js +1 -0
- package/dist/assets/{NodeAddonsSettingsPanel-DYBa68G8.js → NodeAddonsSettingsPanel-D44nwf4S.js} +1 -1
- package/dist/assets/Notifications-BbWZVYMp.js +1 -0
- package/dist/assets/{Pipeline-CkAlEVh3.js → Pipeline-DnMSSKKQ.js} +1 -1
- package/dist/assets/{PrivacyMaskSettings-BVkCrhY6.js → PrivacyMaskSettings-BQfXVA03.js} +1 -1
- package/dist/assets/Recordings-COnQ9TJI.js +1 -0
- package/dist/assets/{ScanNetworkModal-B5moJWX9.js → ScanNetworkModal-CxEXGRiQ.js} +1 -1
- package/dist/assets/{SceneMonitorEditor-Cz2nxACu.js → SceneMonitorEditor-CBq0NEBB.js} +1 -1
- package/dist/assets/SessionsList-oD9auhKo.js +2 -0
- package/dist/assets/{Showroom-BrCrtzal.js → Showroom-CeqaYSNl.js} +1 -1
- package/dist/assets/{System-vsEPsY4I.js → System-b8v_VClU.js} +1 -1
- package/dist/assets/{Terminal-CMxXBXXt.js → Terminal-Du9eLqrr.js} +3 -3
- package/dist/assets/{Viewer-DBPHUDpj.js → Viewer-OB641hit.js} +1 -1
- package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-wecSwEFo.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-DsV-INvL.js} +1 -1
- package/dist/assets/{addon-icons-context-DyA9yx55.js → addon-icons-context-D72gaFSB.js} +1 -1
- package/dist/assets/{archive-DmfxV_Pa.js → archive-CLjwLKJL.js} +1 -1
- package/dist/assets/{assignment-candidates-BwiuvBKk.js → assignment-candidates-iKtFwGTX.js} +1 -1
- package/dist/assets/{authed-media-BLocESmy.js → authed-media-sfY6qQfl.js} +1 -1
- package/dist/assets/{bell-off-qsoMK80A.js → bell-off-DyJQmEp9.js} +1 -1
- package/dist/assets/{board-model-BBix5blx.js → board-model-C6mduuIJ.js} +1 -1
- package/dist/assets/{boxes-CbcQaJIW.js → boxes-CBemgbeZ.js} +1 -1
- package/dist/assets/circle-slash-D9Rnn9o4.js +1 -0
- package/dist/assets/client-Dg4TgH9L.js +358 -0
- package/dist/assets/{cloud-upload-Dlvj0kcc.js → cloud-upload-jgwgBoNq.js} +1 -1
- package/dist/assets/crop-CI76MCfX.js +1 -0
- package/dist/assets/{device-integration-icon-WNFP251m.js → device-integration-icon-DrJydGCz.js} +1 -1
- package/dist/assets/device-picker-model-DsmNRKVu.js +1 -0
- package/dist/assets/dist-CBqJveNL.js +358 -0
- package/dist/assets/{dist-B5liL_3N.js → dist-CZavx2xe.js} +1 -1
- package/dist/assets/{eraser-DCCZm4IX.js → eraser-BgJNY_R7.js} +1 -1
- package/dist/assets/event-targets-l8cnjyVU.js +2 -0
- package/dist/assets/{format-BVjUOl-5.js → format-Chpis3_C.js} +1 -1
- package/dist/assets/{hard-drive-download-DOyJ5-Vb.js → hard-drive-download-BsRnY_sj.js} +1 -1
- package/dist/assets/{hostInit-lxZvMLkC.js → hostInit-BY2HcQzH.js} +1 -1
- package/dist/assets/i18n-BaJUrB-h.js +1 -0
- package/dist/assets/{icons-B4F3-Hxj.js → icons-Cl3Q-oKp.js} +1 -1
- package/dist/assets/index-0CJf6Ok9.js +4 -0
- package/dist/assets/{key-kbFcYlWe.js → key-DraPTMtd.js} +1 -1
- package/dist/assets/{key-round-CveRqe_k.js → key-round-JV15ywEe.js} +1 -1
- package/dist/assets/{layers-CiExinrp.js → layers-DPTXQgwg.js} +1 -1
- package/dist/assets/{linked-devices-model-CrwI_PFa.js → linked-devices-model-VztMI7gX.js} +1 -1
- package/dist/assets/{list-ordered-Bg8BUWEC.js → list-ordered-WOVRKluR.js} +1 -1
- package/dist/assets/{location-owned-usage-YeBuPWeV.js → location-owned-usage-CMfFSpnP.js} +1 -1
- package/dist/assets/{log-in-BD1L2oSt.js → log-in-CjVCQ2Ss.js} +1 -1
- package/dist/assets/{memory-stick-NTrfi1e8.js → memory-stick-DlVywO8P.js} +1 -1
- package/dist/assets/{message-square-plus-CY9ttqE5.js → message-square-plus-4_FR8RtR.js} +1 -1
- package/dist/assets/{mf-entry-bootstrap-0-b2a24cfa.js → mf-entry-bootstrap-0-ecf5902e.js} +2 -2
- package/dist/assets/{mic-off-AwSvJJ-K.js → mic-off-CPwart4B.js} +1 -1
- package/dist/assets/{monitor-off-BYbktrAW.js → monitor-off-BhBLlCrK.js} +1 -1
- package/dist/assets/{monitor-smartphone-D0ZLgRUd.js → monitor-smartphone-C4dAoS1I.js} +1 -1
- package/dist/assets/mount-DsmNRKVu.js +1 -0
- package/dist/assets/{player-overlays-D2mGg95Q.js → player-overlays-D78AKVl-.js} +1 -1
- package/dist/assets/{recycle-nvFptmrW.js → recycle--kjdQYMN.js} +1 -1
- package/dist/assets/remoteEntry-BJhQZDNB.js +1 -0
- package/dist/assets/{scan-eye-BikcnQOJ.js → scan-eye-DzHaMLoc.js} +1 -1
- package/dist/assets/{scissors-CoFYjcIv.js → scissors-DDivB-hs.js} +1 -1
- package/dist/assets/{search-x-BhodbxZp.js → search-x-CQFS7Rh0.js} +1 -1
- package/dist/assets/{send-fjFgd1HM.js → send-C9G3os3I.js} +1 -1
- package/dist/assets/{settings-2-BoimpCtm.js → settings-2-ClqCJP_D.js} +1 -1
- package/dist/assets/{speaker-B0ivVaxK.js → speaker-Dy-EAf8K.js} +1 -1
- package/dist/assets/src-Dh2VEGoU.js +67 -0
- package/dist/assets/step-inspector-model-COoD29sy.js +1 -0
- package/dist/assets/{timer-reset-NwgMeFcs.js → timer-reset-DlhCZ8wp.js} +1 -1
- package/dist/assets/{ungroup-HIsrd0kn.js → ungroup-DOb-9ddi.js} +1 -1
- package/dist/assets/{unlink-DbsxaJy8.js → unlink-C73mlmsX.js} +1 -1
- package/dist/assets/{usb-CIuWHA0H.js → usb-DhychVOa.js} +1 -1
- package/dist/assets/{use-scenes-feed-KfkE-1F1.js → use-scenes-feed--0VaT__E.js} +1 -1
- package/dist/assets/{use-stationary-objects-76kODCC8.js → use-stationary-objects-DvVXf2ec.js} +1 -1
- package/dist/assets/useEventInvalidation-DsmNRKVu.js +1 -0
- package/dist/assets/{useNodeUrlSelection-DEh2spM7.js → useNodeUrlSelection-DKfaYoxL.js} +1 -1
- package/dist/assets/user-round-D9W5XNev.js +1 -0
- package/dist/assets/{user-x-HS6wbYSN.js → user-x-C6GTZnHw.js} +1 -1
- package/dist/assets/{video-GJ_2zbwO.js → video-12rcn9DI.js} +1 -1
- package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-DU8eYO_9.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-DOs9logC.js} +2 -2
- package/dist/index.html +9 -9
- package/dist/server/addon.js +8110 -17363
- package/package.json +10 -1
- package/dist/assets/Addons-C4oNyBeH.js +0 -4
- package/dist/assets/Calendars-DzXiHim_.js +0 -1
- package/dist/assets/Cluster-CapnyWBX.js +0 -1
- package/dist/assets/CompositionCreateForm-ACV5q1I2.js +0 -1
- package/dist/assets/Data-SfbI2HKT.js +0 -2
- package/dist/assets/DeviceDetail-CFQUuizI.js +0 -2
- package/dist/assets/Identity-CPwDLHzX.js +0 -1
- package/dist/assets/IntegrationDetail-D3d_XcrI.js +0 -1
- package/dist/assets/Integrations-C43Zx1Yh.js +0 -1
- package/dist/assets/Integrations-jfd8UVvU.js +0 -1
- package/dist/assets/Locations-LqdNZUG8.js +0 -3
- package/dist/assets/MyAccess-CDX71JIZ.js +0 -2
- package/dist/assets/Network-Dvcpp1Fj.js +0 -1
- package/dist/assets/Notifications-7WFbd53_.js +0 -1
- package/dist/assets/Recordings-D9Z1hcVW.js +0 -1
- package/dist/assets/SessionsList-BWAsDL0Z.js +0 -2
- package/dist/assets/circle-slash-CY2o0Zb7.js +0 -1
- package/dist/assets/client-CPYrnkxz.js +0 -358
- package/dist/assets/crop-BVT_DPcl.js +0 -1
- package/dist/assets/device-picker-model-CUH9i4UX.js +0 -1
- package/dist/assets/dist-DwZeyF0Q.js +0 -358
- package/dist/assets/event-targets-PFopUu3w.js +0 -2
- package/dist/assets/i18n-CqAMvrOP.js +0 -1
- package/dist/assets/index-v_sgHyTT.js +0 -4
- package/dist/assets/mount-CUH9i4UX.js +0 -1
- package/dist/assets/remoteEntry-FTrhMuYJ.js +0 -1
- package/dist/assets/src-Bkd3QG2j.js +0 -67
- package/dist/assets/step-inspector-model-CtRgRnRF.js +0 -1
- package/dist/assets/useEventInvalidation-CUH9i4UX.js +0 -1
- package/dist/assets/user-round-CQQDvmdF.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$t as e,Ht as t}from"./client-CPYrnkxz.js";import{T as n,b as r,g as i,o as a,x as o}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_client__loadShare__.js-8kv6pj9W.js";var s=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},c=class{constructor(e){this.generateIdentifier=e,this.kv=new s}register(e,t){this.kv.getByValue(e)||(t||=this.generateIdentifier(e),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},l=class extends c{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t==`object`?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};function u(e){if(`values`in Object)return Object.values(e);let t=[];for(let n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function d(e,t){let n=u(e);if(`find`in n)return n.find(t);let r=n;for(let e=0;e<r.length;e++){let n=r[e];if(t(n))return n}}function f(e,t){Object.entries(e).forEach(([e,n])=>t(n,e))}function p(e,t){return e.indexOf(t)!==-1}function m(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t(r))return r}}var ee=class{constructor(){this.transfomers={}}register(e){this.transfomers[e.name]=e}findApplicable(e){return d(this.transfomers,t=>t.isApplicable(e))}findByName(e){return this.transfomers[e]}},te=e=>Object.prototype.toString.call(e).slice(8,-1),ne=e=>e===void 0,re=e=>e===null,h=e=>typeof e!=`object`||!e||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,g=e=>h(e)&&Object.keys(e).length===0,_=e=>Array.isArray(e),ie=e=>typeof e==`string`,ae=e=>typeof e==`number`&&!isNaN(e),oe=e=>typeof e==`boolean`,se=e=>e instanceof RegExp,v=e=>e instanceof Map,y=e=>e instanceof Set,b=e=>te(e)===`Symbol`,ce=e=>e instanceof Date&&!isNaN(e.valueOf()),le=e=>e instanceof Error,ue=e=>typeof e==`number`&&isNaN(e),de=e=>oe(e)||re(e)||ne(e)||ae(e)||ie(e)||b(e),fe=e=>typeof e==`bigint`,pe=e=>e===1/0||e===-1/0,me=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),he=e=>e instanceof URL,x=e=>e.replace(/\\/g,`\\\\`).replace(/\./g,`\\.`),S=e=>e.map(String).map(x).join(`.`),C=(e,t)=>{let n=[],r=``;for(let i=0;i<e.length;i++){let a=e.charAt(i);if(!t&&a===`\\`){let t=e.charAt(i+1);if(t===`\\`){r+=`\\`,i++;continue}else if(t!==`.`)throw Error(`invalid path`)}if(a===`\\`&&e.charAt(i+1)===`.`){r+=`.`,i++;continue}if(a===`.`){n.push(r),r=``;continue}r+=a}let i=r;return n.push(i),n};function w(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var ge=[w(ne,`undefined`,()=>null,()=>void 0),w(fe,`bigint`,e=>e.toString(),e=>typeof BigInt<`u`?BigInt(e):(console.error(`Please add a BigInt polyfill.`),e)),w(ce,`Date`,e=>e.toISOString(),e=>new Date(e)),w(le,`Error`,(e,t)=>{let n={name:e.name,message:e.message};return`cause`in e&&(n.cause=e.cause),t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n},(e,t)=>{let n=Error(e.message,{cause:e.cause});return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n}),w(se,`regexp`,e=>``+e,e=>{let t=e.slice(1,e.lastIndexOf(`/`)),n=e.slice(e.lastIndexOf(`/`)+1);return new RegExp(t,n)}),w(y,`set`,e=>[...e.values()],e=>new Set(e)),w(v,`map`,e=>[...e.entries()],e=>new Map(e)),w(e=>ue(e)||pe(e),`number`,e=>ue(e)?`NaN`:e>0?`Infinity`:`-Infinity`,Number),w(e=>e===0&&1/e==-1/0,`number`,()=>`-0`,Number),w(he,`URL`,e=>e.toString(),e=>new URL(e))];function T(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var E=T((e,t)=>b(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>[`symbol`,t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{let r=n.symbolRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown symbol`);return r}),_e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),ve=T(me,e=>[`typed-array`,e.constructor.name],e=>[...e],(e,t)=>{let n=_e[t[1]];if(!n)throw Error(`Trying to deserialize unknown typed array`);return new n(e)});function ye(e,t){return e?.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var be=T(ye,(e,t)=>[`class`,t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{let n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};let r={};return n.forEach(t=>{r[t]=e[t]}),r},(e,t,n)=>{let r=n.classRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(r.prototype),e)}),xe=T((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>[`custom`,t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{let r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw Error(`Trying to deserialize unknown custom value`);return r.deserialize(e)}),Se=[be,E,xe,ve],D=(e,t)=>{let n=m(Se,n=>n.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};let r=m(ge,n=>n.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},O={};ge.forEach(e=>{O[e.annotation]=e});var Ce=(e,t,n)=>{if(_(t))switch(t[0]){case`symbol`:return E.untransform(e,t,n);case`class`:return be.untransform(e,t,n);case`custom`:return xe.untransform(e,t,n);case`typed-array`:return ve.untransform(e,t,n);default:throw Error(`Unknown transformation: `+t)}else{let r=O[t];if(!r)throw Error(`Unknown transformation: `+t);return r.untransform(e,n)}},k=(e,t)=>{if(t>e.size)throw Error(`index out of bounds`);let n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function we(e){if(p(e,`__proto__`))throw Error(`__proto__ is not allowed as a property`);if(p(e,`prototype`))throw Error(`prototype is not allowed as a property`);if(p(e,`constructor`))throw Error(`constructor is not allowed as a property`)}var Te=(e,t)=>{we(t);for(let n=0;n<t.length;n++){let r=t[n];if(y(e))e=k(e,+r);else if(v(e)){let i=+r,a=+t[++n]==0?`key`:`value`,o=k(e,i);switch(a){case`key`:e=o;break;case`value`:e=e.get(o);break}}else e=e[r]}return e},A=(e,t,n)=>{if(we(t),t.length===0)return n(e);let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];if(_(r)){let e=+n;r=r[e]}else if(h(r))r=r[n];else if(y(r)){let e=+n;r=k(r,e)}else if(v(r)){if(e===t.length-2)break;let i=+n,a=+t[++e]==0?`key`:`value`,o=k(r,i);switch(a){case`key`:r=o;break;case`value`:r=r.get(o);break}}}let i=t[t.length-1];if(_(r)?r[+i]=n(r[+i]):h(r)&&(r[i]=n(r[i])),y(r)){let e=k(r,+i),t=n(e);e!==t&&(r.delete(e),r.add(t))}if(v(r)){let e=+t[t.length-2],a=k(r,e);switch(+i==0?`key`:`value`){case`key`:{let e=n(a);r.set(e,r.get(a)),e!==a&&r.delete(a);break}case`value`:r.set(a,n(r.get(a)));break}}return e},Ee=e=>e<1;function j(e,t,n,r=[]){if(!e)return;let i=Ee(n);if(!_(e)){f(e,(e,a)=>j(e,t,n,[...r,...C(a,i)]));return}let[a,o]=e;o&&f(o,(e,a)=>{j(e,t,n,[...r,...C(a,i)])}),t(a,r)}function De(e,t,n,r){return j(t,(t,n)=>{e=A(e,n,e=>Ce(e,t,r))},n),e}function Oe(e,t,n){let r=Ee(n);function i(t,n){let i=Te(e,C(n,r));t.map(e=>C(e,r)).forEach(t=>{e=A(e,t,()=>i)})}if(_(t)){let[n,a]=t;n.forEach(t=>{e=A(e,C(t,r),()=>e)}),a&&f(a,i)}else f(t,i);return e}var ke=(e,t)=>h(e)||_(e)||v(e)||y(e)||le(e)||ye(e,t);function Ae(e,t,n){let r=n.get(e);r?r.push(t):n.set(e,[t])}function je(e,t){let n={},r;return e.forEach(e=>{if(e.length<=1)return;t||(e=e.map(e=>e.map(String)).sort((e,t)=>e.length-t.length));let[i,...a]=e;i.length===0?r=a.map(S):n[S(i)]=a.map(S)}),r?g(n)?[r]:[r,n]:g(n)?void 0:n}var Me=(e,t,n,r,i=[],a=[],o=new Map)=>{let s=de(e);if(!s){Ae(e,i,t);let n=o.get(e);if(n)return r?{transformedValue:null}:n}if(!ke(e,n)){let t=D(e,n),r=t?{transformedValue:t.value,annotations:[t.type]}:{transformedValue:e};return s||o.set(e,r),r}if(p(a,e))return{transformedValue:null};let c=D(e,n),l=c?.value??e,u=_(l)?[]:{},d={};f(l,(s,c)=>{if(c===`__proto__`||c===`constructor`||c===`prototype`)throw Error(`Detected property ${c}. This is a prototype pollution risk, please remove it from your object.`);let l=Me(s,t,n,r,[...i,c],[...a,e],o);u[c]=l.transformedValue,_(l.annotations)?d[x(c)]=l.annotations:h(l.annotations)&&f(l.annotations,(e,t)=>{d[x(c)+`.`+t]=e})});let m=g(d)?{transformedValue:u,annotations:c?[c.type]:void 0}:{transformedValue:u,annotations:c?[c.type,d]:d};return s||o.set(e,m),m};function Ne(e){return Object.prototype.toString.call(e).slice(8,-1)}function Pe(e){return Ne(e)===`Array`}function Fe(e){if(Ne(e)!==`Object`)return!1;let t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function Ie(e,t,n,r,i){let a={}.propertyIsEnumerable.call(r,t)?`enumerable`:`nonenumerable`;a===`enumerable`&&(e[t]=n),i&&a===`nonenumerable`&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function M(e,t={}){if(Pe(e))return e.map(e=>M(e,t));if(!Fe(e))return e;let n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((n,r)=>{if(r===`__proto__`||Pe(t.props)&&!t.props.includes(r))return n;let i=e[r];return Ie(n,r,M(i,t),e,t.nonenumerable),n},{})}var N=class{constructor({dedupe:e=!1}={}){this.classRegistry=new l,this.symbolRegistry=new c(e=>e.description??``),this.customTransformerRegistry=new ee,this.allowedErrorProps=[],this.dedupe=e}serialize(e){let t=new Map,n=Me(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});let i=je(t,this.dedupe);return i&&(r.meta={...r.meta,referentialEqualities:i}),r.meta&&(r.meta.v=1),r}deserialize(e,t){let{json:n,meta:r}=e,i=t?.inPlace?n:M(n);return r?.values&&(i=De(i,r.values,r.v??0,this)),r?.referentialEqualities&&(i=Oe(i,r.referentialEqualities,r.v??0)),i}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e),{inPlace:!0})}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};N.defaultInstance=new N,N.serialize=N.defaultInstance.serialize.bind(N.defaultInstance),N.deserialize=N.defaultInstance.deserialize.bind(N.defaultInstance),N.stringify=N.defaultInstance.stringify.bind(N.defaultInstance),N.parse=N.defaultInstance.parse.bind(N.defaultInstance),N.registerClass=N.defaultInstance.registerClass.bind(N.defaultInstance),N.registerSymbol=N.defaultInstance.registerSymbol.bind(N.defaultInstance),N.registerCustom=N.defaultInstance.registerCustom.bind(N.defaultInstance),N.allowErrorProps=N.defaultInstance.allowErrorProps.bind(N.defaultInstance),N.serialize,N.deserialize,N.stringify,N.parse,N.registerClass,N.registerCustom,N.registerSymbol,N.allowErrorProps;var Le=5*6e4,Re=3e4,ze=1e3;function P(e){let t=e.split(`.`)[1];if(t===void 0)return null;try{let e=t.replace(/-/g,`+`).replace(/_/g,`/`),n=typeof atob==`function`?atob(e):Buffer.from(e,`base64`).toString(`utf8`),r=JSON.parse(n);if(typeof r!=`object`||!r)return null;let i=Reflect.get(r,`exp`);return typeof i==`number`&&Number.isFinite(i)?i*1e3:null}catch{return null}}function Be(e){if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`data`),n=typeof t==`object`&&t?Reflect.get(t,`code`):void 0;return n===`UNAUTHORIZED`||n===`FORBIDDEN`}var Ve=class{options;current=null;cancel=null;inflight=null;now;setTimer;constructor(e){this.options=e,this.now=e.now??Date.now,this.setTimer=e.setTimer??((e,t)=>{let n=setTimeout(e,t);return()=>clearTimeout(n)})}adopt(e){this.current=e,this.schedule()}tokens(){return this.current}async ensureFresh(e=this.margin()){let t=this.current;if(t?.refreshToken===void 0)return;let n=this.expiresAtOf(t);n!==null&&n-this.now()>e||await this.refreshNow()}refreshNow(){if(this.inflight!==null)return this.inflight;let e=this.current?.refreshToken;return e===void 0?Promise.resolve(null):(this.inflight=this.options.refresh(e).then(e=>(this.current=e,this.options.onTokens(e),this.schedule(),e)).catch(e=>(Be(e)?(this.stop(),this.current=null,this.options.onExpired()):this.arm(Re),null)).finally(()=>{this.inflight=null}),this.inflight)}stop(){this.cancel?.(),this.cancel=null}margin(){return this.options.marginMs??Le}expiresAtOf(e){return e.expiresAt??P(e.token)}schedule(){this.stop();let e=this.current;if(e?.refreshToken===void 0)return;let t=this.expiresAtOf(e);if(t===null)return;let n=t-this.now(),r=Math.min(this.margin(),Math.max(0,n/2));this.arm(Math.max(ze,n-r))}arm(e){this.stop(),this.cancel=this.setTimer(()=>{this.cancel=null,this.refreshNow()},e)}};function F(e){return e.refreshable===!0?{refreshable:!0}:{}}var He=1e4,Ue=6e3,We=2e3,Ge=4401,Ke=15e3,qe=new Set([`auth.refreshSession`,`auth.listLoginMethods`,`auth.getServerName`,`auth.login`,`auth.loginVerifyTotp`,`auth.loginBeginPasskey`,`auth.loginVerifyPasskey`,`auth.passkeyLoginBegin`,`auth.passkeyLoginFinish`]),Je=3e4,I=class{_serverUrl;useWs;baseRetryMs;maxRetryMs;onConnectionChange;token;getLanguage;refreshCredential;_trpcClient;_wsClient=null;_eventSubs=new Map;mirror=null;mirrorInit=null;connected=!1;_wsHandshake=null;_rejectedToken;connectedPromise=null;_systemProxy;_connectionVersion=0;_wsEpoch=0;connectionListeners=new Set;constructor(e){this._serverUrl=e.serverUrl.replace(/\/+$/,``),this.token=e.token,this.getLanguage=e.getLanguage??(()=>void 0),this.refreshCredential=e.refreshCredential;let n=typeof window<`u`;this.useWs=e.useWebSocket??n,this.onConnectionChange=e.onConnectionChange,this.baseRetryMs=e.retryDelayMs??We,this.maxRetryMs=e.maxRetryDelayMs??Je,this._trpcClient=this.buildTrpcClient(),this._systemProxy=t(this._trpcClient)}get serverUrl(){return this._serverUrl}get connectionVersion(){return this._connectionVersion}subscribeConnectionEvents(e){return this.connectionListeners.add(e),()=>{this.connectionListeners.delete(e)}}emitConnectionEvent(e){try{this.onConnectionChange?.(e)}catch{}for(let t of this.connectionListeners)try{t(e,this._connectionVersion)}catch{}}async awaitConnected(e){if(this.connected)return;if(this.connectedPromise)return this.connectedPromise;let t=e??15e3;this.connectedPromise=(async()=>{let e=this._trpcClient.auth.me.query();Number.isFinite(t)?await new Promise((n,r)=>{let i=setTimeout(()=>r(Error(`System.awaitConnected: probe timed out after ${t}ms`)),t);e.then(()=>{clearTimeout(i),n()},e=>{clearTimeout(i),r(e instanceof Error?e:Error(String(e)))})}):await e,this.connected=!0})();try{await this.connectedPromise}finally{this.connectedPromise=null}}async init(t){if(this.mirror?.isReady())return;if(this.mirrorInit)return this.mirrorInit;let n=new e(this._trpcClient);return this.mirror=n,this.mirrorInit=(async()=>{await this.awaitConnected(t),await n.init(t)})().finally(()=>{this.mirrorInit=null}),this.mirrorInit}async awaitReady(){if(!this.mirror?.isReady())return this.mirrorInit?this.mirrorInit:this.init()}isReady(){return this.mirror?.isReady()??!1}isConnected(){return this.connected}reconnect(){this.useWs&&(this._wsEpoch+=1,this.emitConnectionEvent(`connecting`),this._wsClient?.close(),this.disposeMirror(),this.resetEventSubs(),this.connected=!1,this.connectedPromise=null,this._wsHandshake=null,this._trpcClient=this.buildTrpcClient(),this._systemProxy=t(this._trpcClient))}switchServerUrl(e){let t=e.replace(/\/+$/,``);t!==this._serverUrl&&(this._serverUrl=t,this.reconnect())}async raceConnectionEndpoints(e){let t=e?.perCandidateTimeoutMs??1500,n=(()=>{try{return new URL(this._serverUrl)}catch{return null}})(),r=n?.port?Number(n.port):n?.protocol===`https:`?443:80,i=n?.protocol===`https:`?`https`:`http`,a=this._trpcClient.localNetwork?.getConnectionEndpoints;if(!a)return{winner:this._serverUrl,switched:!1};let o;try{o=(await a.query({port:r,ipv4Only:e?.ipv4Only,scheme:i,includeLoopback:!1})).endpoints}catch{return{winner:this._serverUrl,switched:!1}}if(o.length===0)return{winner:this._serverUrl,switched:!1};let s=await L(o.map(e=>e.baseUrl),t);return!s||s===this._serverUrl?{winner:s??this._serverUrl,switched:!1}:(this.switchServerUrl(s),{winner:s,switched:!0})}close(){this.disposeMirror(),this.connected=!1,this.connectedPromise=null,this._wsClient?.close()}disposeMirror(){this.mirror?.dispose(),this.mirror=null,this.mirrorInit=null}async login(e,t,n={}){let r=await this._trpcClient.auth.login.mutate({username:e,password:t,...F(n)});if(typeof r==`object`&&r&&`token`in r){let e=r,t=e.token,n=e.requiresTotp===!0||Array.isArray(e.secondFactors)&&e.secondFactors.length>0;typeof t==`string`&&!n&&this.setToken(t)}return r}async loginVerifyTotp(e,t,n={}){let r=await this._trpcClient.auth.loginVerifyTotp.mutate({challengeToken:e,code:t,...F(n)});if(typeof r==`object`&&r&&`token`in r){let e=r.token;typeof e==`string`&&this.setToken(e)}return r}async loginBeginPasskey(e){return await this._trpcClient.auth.loginBeginPasskey.mutate({challengeToken:e})}async loginVerifyPasskey(e,t,n={}){let r=await this._trpcClient.auth.loginVerifyPasskey.mutate({challengeToken:e,response:t,...F(n)});if(typeof r==`object`&&r&&`token`in r){let e=r.token;typeof e==`string`&&this.setToken(e)}return r}async passkeyLoginBegin(){return await this._trpcClient.auth.passkeyLoginBegin.mutate()}async passkeyLoginFinish(e,t={}){let n=await this._trpcClient.auth.passkeyLoginFinish.mutate({response:e,...F(t)});if(typeof n==`object`&&n&&`token`in n){let e=n,t=e.requiresTotp===!0||Array.isArray(e.secondFactors)&&e.secondFactors.length>0;typeof e.token==`string`&&!t&&this.setToken(e.token)}return n}async refreshSession(e){let t=await this._trpcClient.auth.refreshSession.mutate({refreshToken:e});return this.setToken(t.token),t}async logout(e={}){await this._trpcClient.auth.logout.mutate(e.everywhere===!0?{everywhere:!0}:void 0)}async getMe(){return await this._trpcClient.auth.me.query()}async changeOwnPassword(e){return await this._trpcClient.auth.changeOwnPassword.mutate(e)}async setupOwnTotp(){return await this._trpcClient.auth.setupOwnTotp.mutate()}async confirmOwnTotp(e){return await this._trpcClient.auth.confirmOwnTotp.mutate(e)}async disableOwnTotp(e){return await this._trpcClient.auth.disableOwnTotp.mutate(e)}async reauthBeginPasskey(){return await this._trpcClient.auth.reauthBeginPasskey.mutate()}async reauthenticate(e){return await this._trpcClient.auth.reauthenticate.mutate(e)}async getOwnTotpStatus(){return await this._trpcClient.auth.getOwnTotpStatus.query()}async beginOwnPasskeyRegistration(){return await this._trpcClient.auth.beginOwnPasskeyRegistration.mutate()}async finishOwnPasskeyRegistration(e){return await this._trpcClient.auth.finishOwnPasskeyRegistration.mutate(e)}async listOwnPasskeys(){return await this._trpcClient.auth.listOwnPasskeys.query()}async removeOwnPasskey(e){return await this._trpcClient.auth.removeOwnPasskey.mutate(e)}async getOwnPasskeySecondFactorPreference(){return await this._trpcClient.auth.getOwnPasskeySecondFactorPreference.query()}async setOwnPasskeySecondFactorPreference(e){return await this._trpcClient.auth.setOwnPasskeySecondFactorPreference.mutate(e)}setToken(e){this.token=e}isSocketTokenStale(){return!this.useWs||this._wsHandshake===null?!1:this._wsHandshake.token!==this.token}listDevices(e){return this.mirror?(e?this.mirror.query(e):this.mirror.getAllDevices()).map(e=>this.attachBinding(e)):[]}getDeviceInfo(e){return this.mirror?.getDeviceInfo(e)??null}listDeviceInfos(e){let t=this.mirror;if(!t)return[];let n=e?t.query(e):t.getAllDevices(),r=[];for(let e of n){let n=t.getDeviceInfo(e.deviceId);n&&r.push(n)}return r}getDevice(e){let t=this.mirror?.getDeviceById(e)??null;return t?this.attachBinding(t):null}getDeviceByName(e){let t=this.mirror?.getDeviceByName(e)??null;return t?this.attachBinding(t):null}getDeviceByStableId(e){let t=this.mirror?.getDeviceByStableId(e)??null;return t?this.attachBinding(t):null}async waitForDevice(e,t){this.mirror||await this.init();let n=await this.mirror.waitForDevice(e,t??3e4);return this.attachBinding(n)}onDeviceAdded(e){if(!this.mirror)throw Error(`System.onDeviceAdded: call init() before subscribing`);return this.mirror.onDeviceAdded(e)}onDeviceRemoved(e){if(!this.mirror)throw Error(`System.onDeviceRemoved: call init() before subscribing`);return this.mirror.onDeviceRemoved(e)}attachBinding(e){let t=this.lookupBinding(e.deviceId);if(t===e.binding)return e;let n=e;return n.binding=t,e}lookupBinding(e){return this.mirror?this.mirror.getDeviceById(e)?.binding??null:null}get addonPages(){return this._systemProxy.addonPages}get addonSettings(){return this._systemProxy.addonSettings}get alerts(){return this._systemProxy.alerts}get audioAnalyzer(){return this._systemProxy.audioAnalyzer}get audioCodec(){return this._systemProxy.audioCodec}get backup(){return this._systemProxy.backup}get decoder(){return this._systemProxy.decoder}get deviceManager(){return this._systemProxy.deviceManager}get deviceProvider(){return this._systemProxy.deviceProvider}get deviceState(){return this._systemProxy.deviceState}get metricsProvider(){return this._systemProxy.metricsProvider}get notificationOutput(){return this._systemProxy.notificationOutput}get pipelineExecutor(){return this._systemProxy.pipelineExecutor}get pipelineOrchestrator(){return this._systemProxy.pipelineOrchestrator}get pipelineRunner(){return this._systemProxy.pipelineRunner}get settingsStore(){return this._systemProxy.settingsStore}get storage(){return this._systemProxy.storage}get streamBroker(){return this._systemProxy.streamBroker}get turnProvider(){return this._systemProxy.turnProvider}get userManagement(){return this._systemProxy.userManagement}subscribeEvent(e,t){let n=t,r=this._eventSubs.get(e);if(r===void 0){let t=new Set,n=this._trpcClient.live.onEvent.subscribe({category:e},{onData:e=>{for(let n of[...t])try{n(e)}catch{}}});r={listeners:t,unsubscribe:()=>{try{n.unsubscribe()}catch{}}},this._eventSubs.set(e,r)}r.listeners.add(n);let i=!1;return()=>{if(i)return;i=!0;let t=this._eventSubs.get(e);t!==void 0&&(t.listeners.delete(n),t.listeners.size===0&&(t.unsubscribe(),this._eventSubs.delete(e)))}}resetEventSubs(){for(let e of this._eventSubs.values())e.unsubscribe();this._eventSubs.clear()}get trpcClient(){return this._trpcClient}get wsClient(){return this._wsClient}async handshakeToken(){let e=e=>{if(e===this._rejectedToken)return!0;let t=P(e);return t!==null&&t-Date.now()<=Ke},t=this.token;if(t===void 0||!e(t))return t;if(this.refreshCredential!==void 0)try{await this.refreshCredential(t===this._rejectedToken?`rejected`:`expired`)}catch{}let n=this.token;return n!==void 0&&!e(n)?n:void 0}buildTrpcClient(){let e=()=>{let e={};this.token&&(e.Authorization=`Bearer ${this.token}`);let t=this.getLanguage();return t&&(e[`x-camstack-lang`]=t),e};if(this.useWs){let e=this._serverUrl.replace(/^http/,`ws`)+`/trpc`,t=this.baseRetryMs,s=this.maxRetryMs,c=this._wsEpoch;return this._wsClient=n({url:e,connectionParams:async()=>{let e=await this.handshakeToken();c===this._wsEpoch&&(this._wsHandshake={token:e});let t=this.getLanguage();return{...e===void 0?{}:{token:e},...t?{lang:t}:{}}},retryDelayMs:e=>Math.min(t*2**e,s),keepAlive:{enabled:!0,intervalMs:He,pongTimeoutMs:Ue},onOpen:()=>{c===this._wsEpoch&&(this._connectionVersion+=1,this.emitConnectionEvent(`connected`))},onClose:e=>{c===this._wsEpoch&&(e?.code===Ge&&(this._rejectedToken=this._wsHandshake?.token??this._rejectedToken),this.emitConnectionEvent(`disconnected`))}}),o({links:[i({condition:e=>qe.has(e.path),true:a({url:`${this._serverUrl}/trpc`,headers:()=>{let e=this.getLanguage();return e?{"x-camstack-lang":e}:{}},transformer:N}),false:r({client:this._wsClient,transformer:N})})]})}return this._wsClient=null,o({links:[a({url:`${this._serverUrl}/trpc`,headers:e,transformer:N})]})}};function Ye(e){return new I(e)}async function L(e,t){if(e.length===0)return null;if(typeof fetch!=`function`)return e[0]??null;let n=typeof window<`u`&&window.location!==void 0&&window.location.protocol===`https:`?e.filter(e=>e.toLowerCase().startsWith(`https://`)):e;if(n.length===0)return null;let r=n.map(()=>new AbortController),i=n.map(async(e,n)=>{let i=r[n],a=setTimeout(()=>i.abort(),t);try{let t=await fetch(`${e.replace(/\/+$/,``)}/health`,{method:`GET`,signal:i.signal,credentials:`omit`});if(!t.ok)throw Error(`${t.status}`);return e}finally{clearTimeout(a)}});try{let e=await Promise.any(i);for(let e of r)try{e.abort()}catch{}return e}catch{return null}}var R=function(e){return e.Motion=`motion`,e.Person=`person`,e.Vehicle=`vehicle`,e.Animal=`animal`,e.Audio=`audio`,e.Face=`face`,e.Plate=`plate`,e.Package=`package`,e.Doorbell=`doorbell`,e.Sensor=`sensor`,e}({}),z=`animal.dog_cat.dog.cat.horse.sheep.cow.elephant.bear.zebra.giraffe.mouse.rabbit.deer.lion.tiger.bird.eagle.owl.pigeon.fish.whale.dolphin.snake.turtle.lizard`.split(`.`),B=[`person`,`people`,`pedestrian`,`rider`,`driver`,`cyclist`,`skier`,`skateboarder`,`face`,`hand`,`head`,`body`],V=[`vehicle`,`car`,`truck`,`bus`,`motorcycle`,`bicycle`,`van`,`ambulance`,`police_car`,`fire_truck`,`train`,`subway`,`tram`,`airplane`,`boat`,`ship`,`helicopter`],H=`face.eyes.nose.mouth.ears.eyebrows.left_eye.right_eye.pupil.iris.eyelid.eye_corner.upper_lip.lower_lip.teeth.chin.cheek.forehead.jaw.glasses.sunglasses.facial_hair.beard.mustache.facial_landmark.facial_keypoint`.split(`.`),U=[`plate`,`license_plate`,`front_plate`,`rear_plate`,`motorcycle_plate`,`temporary_plate`,`dealer_plate`,`licensePlate`,`plate_number`,`plate_character`,`plate_digit`,`plate_letter`,`plate_symbol`,`plate_region`,`plate_country_identifier`,`plate_frame`,`plate_bolt`,`plate_sticker`,`plate_validation_tag`,`damaged_plate`,`obscured_plate`,`dirty_plate`],W=[`motion`,`movement`,`other`],G=[`package`,`packet`],K=[`audio`],q=`speech.scream.babbling.yell.bellow.whoop.whispering.laughter.snicker.crying.cry.sigh.singing.choir.chant.mantra.child_singing.rapping.humming.groan.grunt.whistling.breathing.wheeze.snoring.gasp.pant.snort.cough.throat_clearing.sneeze.sniff.cheering.applause.chatter.crowd.children_playing.bark.yip.howl.bow-wow.growling.whimper_dog.purr.meow.hiss.caterwaul.pets.livestock.doorbell.ding-dong.door.slam.knock.alarm.telephone.music.dog.dogs`.split(`.`),J=[`doorbell`,`ring`],Y=[`lock`,`binary`,`flood`,`entry`,`door`,`leak`,`door_open`,`flooded`,`entry_open`];function X(e,t){return e.includes(t)}var Z={...z.reduce((e,t)=>({...e,[t]:`animal`}),{}),...B.reduce((e,t)=>({...e,[t]:`person`}),{}),...V.reduce((e,t)=>({...e,[t]:`vehicle`}),{}),...W.reduce((e,t)=>({...e,[t]:`motion`}),{}),...G.reduce((e,t)=>({...e,[t]:`package`}),{}),...H.reduce((e,t)=>({...e,[t]:`face`}),{}),...U.reduce((e,t)=>({...e,[t]:`plate`}),{}),...K.reduce((e,t)=>({...e,[t]:`audio`}),{}),...q.reduce((e,t)=>({...e,[t]:`audio`}),{}),...J.reduce((e,t)=>({...e,[t]:`doorbell`}),{}),...Y.reduce((e,t)=>({...e,[t]:`sensor`}),{})},Xe=e=>X(H,e),Ze=e=>X(U,e),Qe=e=>X(z,e),$e=e=>X(B,e),et=e=>X(V,e),tt=e=>X(W,e),nt=e=>X(J,e),rt=e=>X(G,e),it=e=>X(K,e)||X(q,e),at=e=>X(Y,e),ot=e=>Xe(e)||Ze(e),st=e=>Z[e],ct=e=>{let{className:t}=e,n={face:`person`,plate:`vehicle`},r=Z[t];return r&&r!==t?r:n[t]},lt=Object.values(R),Q=lt.filter(e=>e!==`motion`),$=[`person`,`doorbell`,`package`],ut=[...$,`vehicle`,`animal`,`audio`,`face`,`plate`],dt=[...Q];function ft(e,t){switch(e){case`critical`:return $;case`important`:return ut;case`all`:return dt;case`custom`:return t?.length?t:Q;default:return Q}}export{Q as DEFAULT_ENABLED_CLASSES,R as DetectionClass,Ve as SessionKeeper,I as System,dt as TIMELINE_PRESET_ALL,$ as TIMELINE_PRESET_CRITICAL,ut as TIMELINE_PRESET_IMPORTANT,z as animalClasses,K as audioClasses,q as audioLabelClasses,Ye as createSystem,lt as defaultDetectionClasses,Z as detectionClassesDefaultMap,J as doorbellClasses,H as faceClasses,ft as getClassesForTimelinePreset,st as getParentClass,ct as getParentDetectionClass,Qe as isAnimalClassname,it as isAudioClassname,nt as isDoorbellClassname,Xe as isFaceClassname,ot as isLabelDetection,tt as isMotionClassname,rt as isPackageClassname,$e as isPersonClassname,Ze as isPlateClassname,at as isSensorLabelClassname,Be as isSessionRefusal,et as isVehicleClassname,P as jwtExpiresAt,U as licensePlateClasses,W as motionClasses,G as packageClasses,B as personClasses,L as raceFastestEndpoint,Y as sensorLabelClasses,V as vehicleClasses};
|
|
1
|
+
import{Ht as e,en as t}from"./client-Dg4TgH9L.js";import{T as n,b as r,g as i,o as a,x as o}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_client__loadShare__.js-8kv6pj9W.js";var s=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},c=class{constructor(e){this.generateIdentifier=e,this.kv=new s}register(e,t){this.kv.getByValue(e)||(t||=this.generateIdentifier(e),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},l=class extends c{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t==`object`?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};function u(e){if(`values`in Object)return Object.values(e);let t=[];for(let n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function d(e,t){let n=u(e);if(`find`in n)return n.find(t);let r=n;for(let e=0;e<r.length;e++){let n=r[e];if(t(n))return n}}function f(e,t){Object.entries(e).forEach(([e,n])=>t(n,e))}function p(e,t){return e.indexOf(t)!==-1}function m(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t(r))return r}}var ee=class{constructor(){this.transfomers={}}register(e){this.transfomers[e.name]=e}findApplicable(e){return d(this.transfomers,t=>t.isApplicable(e))}findByName(e){return this.transfomers[e]}},te=e=>Object.prototype.toString.call(e).slice(8,-1),ne=e=>e===void 0,re=e=>e===null,h=e=>typeof e!=`object`||!e||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,g=e=>h(e)&&Object.keys(e).length===0,_=e=>Array.isArray(e),ie=e=>typeof e==`string`,ae=e=>typeof e==`number`&&!isNaN(e),oe=e=>typeof e==`boolean`,se=e=>e instanceof RegExp,v=e=>e instanceof Map,y=e=>e instanceof Set,b=e=>te(e)===`Symbol`,ce=e=>e instanceof Date&&!isNaN(e.valueOf()),le=e=>e instanceof Error,ue=e=>typeof e==`number`&&isNaN(e),de=e=>oe(e)||re(e)||ne(e)||ae(e)||ie(e)||b(e),fe=e=>typeof e==`bigint`,pe=e=>e===1/0||e===-1/0,me=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),he=e=>e instanceof URL,x=e=>e.replace(/\\/g,`\\\\`).replace(/\./g,`\\.`),S=e=>e.map(String).map(x).join(`.`),C=(e,t)=>{let n=[],r=``;for(let i=0;i<e.length;i++){let a=e.charAt(i);if(!t&&a===`\\`){let t=e.charAt(i+1);if(t===`\\`){r+=`\\`,i++;continue}else if(t!==`.`)throw Error(`invalid path`)}if(a===`\\`&&e.charAt(i+1)===`.`){r+=`.`,i++;continue}if(a===`.`){n.push(r),r=``;continue}r+=a}let i=r;return n.push(i),n};function w(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var ge=[w(ne,`undefined`,()=>null,()=>void 0),w(fe,`bigint`,e=>e.toString(),e=>typeof BigInt<`u`?BigInt(e):(console.error(`Please add a BigInt polyfill.`),e)),w(ce,`Date`,e=>e.toISOString(),e=>new Date(e)),w(le,`Error`,(e,t)=>{let n={name:e.name,message:e.message};return`cause`in e&&(n.cause=e.cause),t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n},(e,t)=>{let n=Error(e.message,{cause:e.cause});return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n}),w(se,`regexp`,e=>``+e,e=>{let t=e.slice(1,e.lastIndexOf(`/`)),n=e.slice(e.lastIndexOf(`/`)+1);return new RegExp(t,n)}),w(y,`set`,e=>[...e.values()],e=>new Set(e)),w(v,`map`,e=>[...e.entries()],e=>new Map(e)),w(e=>ue(e)||pe(e),`number`,e=>ue(e)?`NaN`:e>0?`Infinity`:`-Infinity`,Number),w(e=>e===0&&1/e==-1/0,`number`,()=>`-0`,Number),w(he,`URL`,e=>e.toString(),e=>new URL(e))];function T(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var E=T((e,t)=>b(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>[`symbol`,t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{let r=n.symbolRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown symbol`);return r}),_e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),ve=T(me,e=>[`typed-array`,e.constructor.name],e=>[...e],(e,t)=>{let n=_e[t[1]];if(!n)throw Error(`Trying to deserialize unknown typed array`);return new n(e)});function ye(e,t){return e?.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var be=T(ye,(e,t)=>[`class`,t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{let n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};let r={};return n.forEach(t=>{r[t]=e[t]}),r},(e,t,n)=>{let r=n.classRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(r.prototype),e)}),xe=T((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>[`custom`,t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{let r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw Error(`Trying to deserialize unknown custom value`);return r.deserialize(e)}),Se=[be,E,xe,ve],D=(e,t)=>{let n=m(Se,n=>n.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};let r=m(ge,n=>n.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},O={};ge.forEach(e=>{O[e.annotation]=e});var Ce=(e,t,n)=>{if(_(t))switch(t[0]){case`symbol`:return E.untransform(e,t,n);case`class`:return be.untransform(e,t,n);case`custom`:return xe.untransform(e,t,n);case`typed-array`:return ve.untransform(e,t,n);default:throw Error(`Unknown transformation: `+t)}else{let r=O[t];if(!r)throw Error(`Unknown transformation: `+t);return r.untransform(e,n)}},k=(e,t)=>{if(t>e.size)throw Error(`index out of bounds`);let n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function we(e){if(p(e,`__proto__`))throw Error(`__proto__ is not allowed as a property`);if(p(e,`prototype`))throw Error(`prototype is not allowed as a property`);if(p(e,`constructor`))throw Error(`constructor is not allowed as a property`)}var Te=(e,t)=>{we(t);for(let n=0;n<t.length;n++){let r=t[n];if(y(e))e=k(e,+r);else if(v(e)){let i=+r,a=+t[++n]==0?`key`:`value`,o=k(e,i);switch(a){case`key`:e=o;break;case`value`:e=e.get(o);break}}else e=e[r]}return e},A=(e,t,n)=>{if(we(t),t.length===0)return n(e);let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];if(_(r)){let e=+n;r=r[e]}else if(h(r))r=r[n];else if(y(r)){let e=+n;r=k(r,e)}else if(v(r)){if(e===t.length-2)break;let i=+n,a=+t[++e]==0?`key`:`value`,o=k(r,i);switch(a){case`key`:r=o;break;case`value`:r=r.get(o);break}}}let i=t[t.length-1];if(_(r)?r[+i]=n(r[+i]):h(r)&&(r[i]=n(r[i])),y(r)){let e=k(r,+i),t=n(e);e!==t&&(r.delete(e),r.add(t))}if(v(r)){let e=+t[t.length-2],a=k(r,e);switch(+i==0?`key`:`value`){case`key`:{let e=n(a);r.set(e,r.get(a)),e!==a&&r.delete(a);break}case`value`:r.set(a,n(r.get(a)));break}}return e},Ee=e=>e<1;function j(e,t,n,r=[]){if(!e)return;let i=Ee(n);if(!_(e)){f(e,(e,a)=>j(e,t,n,[...r,...C(a,i)]));return}let[a,o]=e;o&&f(o,(e,a)=>{j(e,t,n,[...r,...C(a,i)])}),t(a,r)}function De(e,t,n,r){return j(t,(t,n)=>{e=A(e,n,e=>Ce(e,t,r))},n),e}function Oe(e,t,n){let r=Ee(n);function i(t,n){let i=Te(e,C(n,r));t.map(e=>C(e,r)).forEach(t=>{e=A(e,t,()=>i)})}if(_(t)){let[n,a]=t;n.forEach(t=>{e=A(e,C(t,r),()=>e)}),a&&f(a,i)}else f(t,i);return e}var ke=(e,t)=>h(e)||_(e)||v(e)||y(e)||le(e)||ye(e,t);function Ae(e,t,n){let r=n.get(e);r?r.push(t):n.set(e,[t])}function je(e,t){let n={},r;return e.forEach(e=>{if(e.length<=1)return;t||(e=e.map(e=>e.map(String)).sort((e,t)=>e.length-t.length));let[i,...a]=e;i.length===0?r=a.map(S):n[S(i)]=a.map(S)}),r?g(n)?[r]:[r,n]:g(n)?void 0:n}var Me=(e,t,n,r,i=[],a=[],o=new Map)=>{let s=de(e);if(!s){Ae(e,i,t);let n=o.get(e);if(n)return r?{transformedValue:null}:n}if(!ke(e,n)){let t=D(e,n),r=t?{transformedValue:t.value,annotations:[t.type]}:{transformedValue:e};return s||o.set(e,r),r}if(p(a,e))return{transformedValue:null};let c=D(e,n),l=c?.value??e,u=_(l)?[]:{},d={};f(l,(s,c)=>{if(c===`__proto__`||c===`constructor`||c===`prototype`)throw Error(`Detected property ${c}. This is a prototype pollution risk, please remove it from your object.`);let l=Me(s,t,n,r,[...i,c],[...a,e],o);u[c]=l.transformedValue,_(l.annotations)?d[x(c)]=l.annotations:h(l.annotations)&&f(l.annotations,(e,t)=>{d[x(c)+`.`+t]=e})});let m=g(d)?{transformedValue:u,annotations:c?[c.type]:void 0}:{transformedValue:u,annotations:c?[c.type,d]:d};return s||o.set(e,m),m};function Ne(e){return Object.prototype.toString.call(e).slice(8,-1)}function Pe(e){return Ne(e)===`Array`}function Fe(e){if(Ne(e)!==`Object`)return!1;let t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function Ie(e,t,n,r,i){let a={}.propertyIsEnumerable.call(r,t)?`enumerable`:`nonenumerable`;a===`enumerable`&&(e[t]=n),i&&a===`nonenumerable`&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function M(e,t={}){if(Pe(e))return e.map(e=>M(e,t));if(!Fe(e))return e;let n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((n,r)=>{if(r===`__proto__`||Pe(t.props)&&!t.props.includes(r))return n;let i=e[r];return Ie(n,r,M(i,t),e,t.nonenumerable),n},{})}var N=class{constructor({dedupe:e=!1}={}){this.classRegistry=new l,this.symbolRegistry=new c(e=>e.description??``),this.customTransformerRegistry=new ee,this.allowedErrorProps=[],this.dedupe=e}serialize(e){let t=new Map,n=Me(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});let i=je(t,this.dedupe);return i&&(r.meta={...r.meta,referentialEqualities:i}),r.meta&&(r.meta.v=1),r}deserialize(e,t){let{json:n,meta:r}=e,i=t?.inPlace?n:M(n);return r?.values&&(i=De(i,r.values,r.v??0,this)),r?.referentialEqualities&&(i=Oe(i,r.referentialEqualities,r.v??0)),i}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e),{inPlace:!0})}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};N.defaultInstance=new N,N.serialize=N.defaultInstance.serialize.bind(N.defaultInstance),N.deserialize=N.defaultInstance.deserialize.bind(N.defaultInstance),N.stringify=N.defaultInstance.stringify.bind(N.defaultInstance),N.parse=N.defaultInstance.parse.bind(N.defaultInstance),N.registerClass=N.defaultInstance.registerClass.bind(N.defaultInstance),N.registerSymbol=N.defaultInstance.registerSymbol.bind(N.defaultInstance),N.registerCustom=N.defaultInstance.registerCustom.bind(N.defaultInstance),N.allowErrorProps=N.defaultInstance.allowErrorProps.bind(N.defaultInstance),N.serialize,N.deserialize,N.stringify,N.parse,N.registerClass,N.registerCustom,N.registerSymbol,N.allowErrorProps;var Le=5*6e4,Re=3e4,ze=1e3;function P(e){let t=e.split(`.`)[1];if(t===void 0)return null;try{let e=t.replace(/-/g,`+`).replace(/_/g,`/`),n=typeof atob==`function`?atob(e):Buffer.from(e,`base64`).toString(`utf8`),r=JSON.parse(n);if(typeof r!=`object`||!r)return null;let i=Reflect.get(r,`exp`);return typeof i==`number`&&Number.isFinite(i)?i*1e3:null}catch{return null}}function Be(e){if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`data`),n=typeof t==`object`&&t?Reflect.get(t,`code`):void 0;return n===`UNAUTHORIZED`||n===`FORBIDDEN`}var Ve=class{options;current=null;cancel=null;inflight=null;now;setTimer;constructor(e){this.options=e,this.now=e.now??Date.now,this.setTimer=e.setTimer??((e,t)=>{let n=setTimeout(e,t);return()=>clearTimeout(n)})}adopt(e){this.current=e,this.schedule()}tokens(){return this.current}async ensureFresh(e=this.margin()){let t=this.current;if(t?.refreshToken===void 0)return;let n=this.expiresAtOf(t);n!==null&&n-this.now()>e||await this.refreshNow()}refreshNow(){if(this.inflight!==null)return this.inflight;let e=this.current?.refreshToken;return e===void 0?Promise.resolve(null):(this.inflight=this.options.refresh(e).then(e=>(this.current=e,this.options.onTokens(e),this.schedule(),e)).catch(e=>(Be(e)?(this.stop(),this.current=null,this.options.onExpired()):this.arm(Re),null)).finally(()=>{this.inflight=null}),this.inflight)}stop(){this.cancel?.(),this.cancel=null}margin(){return this.options.marginMs??Le}expiresAtOf(e){return e.expiresAt??P(e.token)}schedule(){this.stop();let e=this.current;if(e?.refreshToken===void 0)return;let t=this.expiresAtOf(e);if(t===null)return;let n=t-this.now(),r=Math.min(this.margin(),Math.max(0,n/2));this.arm(Math.max(ze,n-r))}arm(e){this.stop(),this.cancel=this.setTimer(()=>{this.cancel=null,this.refreshNow()},e)}};function F(e){return e.refreshable===!0?{refreshable:!0}:{}}var He=1e4,Ue=6e3,We=2e3,Ge=4401,Ke=15e3,qe=new Set([`auth.refreshSession`,`auth.listLoginMethods`,`auth.getServerName`,`auth.login`,`auth.loginVerifyTotp`,`auth.loginBeginPasskey`,`auth.loginVerifyPasskey`,`auth.passkeyLoginBegin`,`auth.passkeyLoginFinish`]),Je=3e4,I=class{_serverUrl;useWs;baseRetryMs;maxRetryMs;onConnectionChange;token;getLanguage;refreshCredential;_trpcClient;_wsClient=null;_eventSubs=new Map;mirror=null;mirrorInit=null;connected=!1;_wsHandshake=null;_rejectedToken;connectedPromise=null;_systemProxy;_connectionVersion=0;_wsEpoch=0;connectionListeners=new Set;constructor(t){this._serverUrl=t.serverUrl.replace(/\/+$/,``),this.token=t.token,this.getLanguage=t.getLanguage??(()=>void 0),this.refreshCredential=t.refreshCredential;let n=typeof window<`u`;this.useWs=t.useWebSocket??n,this.onConnectionChange=t.onConnectionChange,this.baseRetryMs=t.retryDelayMs??We,this.maxRetryMs=t.maxRetryDelayMs??Je,this._trpcClient=this.buildTrpcClient(),this._systemProxy=e(this._trpcClient)}get serverUrl(){return this._serverUrl}get connectionVersion(){return this._connectionVersion}subscribeConnectionEvents(e){return this.connectionListeners.add(e),()=>{this.connectionListeners.delete(e)}}emitConnectionEvent(e){try{this.onConnectionChange?.(e)}catch{}for(let t of this.connectionListeners)try{t(e,this._connectionVersion)}catch{}}async awaitConnected(e){if(this.connected)return;if(this.connectedPromise)return this.connectedPromise;let t=e??15e3;this.connectedPromise=(async()=>{let e=this._trpcClient.auth.me.query();Number.isFinite(t)?await new Promise((n,r)=>{let i=setTimeout(()=>r(Error(`System.awaitConnected: probe timed out after ${t}ms`)),t);e.then(()=>{clearTimeout(i),n()},e=>{clearTimeout(i),r(e instanceof Error?e:Error(String(e)))})}):await e,this.connected=!0})();try{await this.connectedPromise}finally{this.connectedPromise=null}}async init(e){if(this.mirror?.isReady())return;if(this.mirrorInit)return this.mirrorInit;let n=new t(this._trpcClient);return this.mirror=n,this.mirrorInit=(async()=>{await this.awaitConnected(e),await n.init(e)})().finally(()=>{this.mirrorInit=null}),this.mirrorInit}async awaitReady(){if(!this.mirror?.isReady())return this.mirrorInit?this.mirrorInit:this.init()}isReady(){return this.mirror?.isReady()??!1}isConnected(){return this.connected}reconnect(){this.useWs&&(this._wsEpoch+=1,this.emitConnectionEvent(`connecting`),this._wsClient?.close(),this.disposeMirror(),this.resetEventSubs(),this.connected=!1,this.connectedPromise=null,this._wsHandshake=null,this._trpcClient=this.buildTrpcClient(),this._systemProxy=e(this._trpcClient))}switchServerUrl(e){let t=e.replace(/\/+$/,``);t!==this._serverUrl&&(this._serverUrl=t,this.reconnect())}async raceConnectionEndpoints(e){let t=e?.perCandidateTimeoutMs??1500,n=(()=>{try{return new URL(this._serverUrl)}catch{return null}})(),r=n?.port?Number(n.port):n?.protocol===`https:`?443:80,i=n?.protocol===`https:`?`https`:`http`,a=this._trpcClient.localNetwork?.getConnectionEndpoints;if(!a)return{winner:this._serverUrl,switched:!1};let o;try{o=(await a.query({port:r,ipv4Only:e?.ipv4Only,scheme:i,includeLoopback:!1})).endpoints}catch{return{winner:this._serverUrl,switched:!1}}if(o.length===0)return{winner:this._serverUrl,switched:!1};let s=await L(o.map(e=>e.baseUrl),t);return!s||s===this._serverUrl?{winner:s??this._serverUrl,switched:!1}:(this.switchServerUrl(s),{winner:s,switched:!0})}close(){this.disposeMirror(),this.connected=!1,this.connectedPromise=null,this._wsClient?.close()}disposeMirror(){this.mirror?.dispose(),this.mirror=null,this.mirrorInit=null}async login(e,t,n={}){let r=await this._trpcClient.auth.login.mutate({username:e,password:t,...F(n)});if(typeof r==`object`&&r&&`token`in r){let e=r,t=e.token,n=e.requiresTotp===!0||Array.isArray(e.secondFactors)&&e.secondFactors.length>0;typeof t==`string`&&!n&&this.setToken(t)}return r}async loginVerifyTotp(e,t,n={}){let r=await this._trpcClient.auth.loginVerifyTotp.mutate({challengeToken:e,code:t,...F(n)});if(typeof r==`object`&&r&&`token`in r){let e=r.token;typeof e==`string`&&this.setToken(e)}return r}async loginBeginPasskey(e){return await this._trpcClient.auth.loginBeginPasskey.mutate({challengeToken:e})}async loginVerifyPasskey(e,t,n={}){let r=await this._trpcClient.auth.loginVerifyPasskey.mutate({challengeToken:e,response:t,...F(n)});if(typeof r==`object`&&r&&`token`in r){let e=r.token;typeof e==`string`&&this.setToken(e)}return r}async passkeyLoginBegin(){return await this._trpcClient.auth.passkeyLoginBegin.mutate()}async passkeyLoginFinish(e,t={}){let n=await this._trpcClient.auth.passkeyLoginFinish.mutate({response:e,...F(t)});if(typeof n==`object`&&n&&`token`in n){let e=n,t=e.requiresTotp===!0||Array.isArray(e.secondFactors)&&e.secondFactors.length>0;typeof e.token==`string`&&!t&&this.setToken(e.token)}return n}async refreshSession(e){let t=await this._trpcClient.auth.refreshSession.mutate({refreshToken:e});return this.setToken(t.token),t}async logout(e={}){await this._trpcClient.auth.logout.mutate(e.everywhere===!0?{everywhere:!0}:void 0)}async getMe(){return await this._trpcClient.auth.me.query()}async changeOwnPassword(e){return await this._trpcClient.auth.changeOwnPassword.mutate(e)}async setupOwnTotp(){return await this._trpcClient.auth.setupOwnTotp.mutate()}async confirmOwnTotp(e){return await this._trpcClient.auth.confirmOwnTotp.mutate(e)}async disableOwnTotp(e){return await this._trpcClient.auth.disableOwnTotp.mutate(e)}async reauthBeginPasskey(){return await this._trpcClient.auth.reauthBeginPasskey.mutate()}async reauthenticate(e){return await this._trpcClient.auth.reauthenticate.mutate(e)}async getOwnTotpStatus(){return await this._trpcClient.auth.getOwnTotpStatus.query()}async beginOwnPasskeyRegistration(){return await this._trpcClient.auth.beginOwnPasskeyRegistration.mutate()}async finishOwnPasskeyRegistration(e){return await this._trpcClient.auth.finishOwnPasskeyRegistration.mutate(e)}async listOwnPasskeys(){return await this._trpcClient.auth.listOwnPasskeys.query()}async removeOwnPasskey(e){return await this._trpcClient.auth.removeOwnPasskey.mutate(e)}async getOwnPasskeySecondFactorPreference(){return await this._trpcClient.auth.getOwnPasskeySecondFactorPreference.query()}async setOwnPasskeySecondFactorPreference(e){return await this._trpcClient.auth.setOwnPasskeySecondFactorPreference.mutate(e)}setToken(e){this.token=e}isSocketTokenStale(){return!this.useWs||this._wsHandshake===null?!1:this._wsHandshake.token!==this.token}listDevices(e){return this.mirror?(e?this.mirror.query(e):this.mirror.getAllDevices()).map(e=>this.attachBinding(e)):[]}getDeviceInfo(e){return this.mirror?.getDeviceInfo(e)??null}listDeviceInfos(e){let t=this.mirror;if(!t)return[];let n=e?t.query(e):t.getAllDevices(),r=[];for(let e of n){let n=t.getDeviceInfo(e.deviceId);n&&r.push(n)}return r}getDevice(e){let t=this.mirror?.getDeviceById(e)??null;return t?this.attachBinding(t):null}getDeviceByName(e){let t=this.mirror?.getDeviceByName(e)??null;return t?this.attachBinding(t):null}getDeviceByStableId(e){let t=this.mirror?.getDeviceByStableId(e)??null;return t?this.attachBinding(t):null}async waitForDevice(e,t){this.mirror||await this.init();let n=await this.mirror.waitForDevice(e,t??3e4);return this.attachBinding(n)}onDeviceAdded(e){if(!this.mirror)throw Error(`System.onDeviceAdded: call init() before subscribing`);return this.mirror.onDeviceAdded(e)}onDeviceRemoved(e){if(!this.mirror)throw Error(`System.onDeviceRemoved: call init() before subscribing`);return this.mirror.onDeviceRemoved(e)}attachBinding(e){let t=this.lookupBinding(e.deviceId);if(t===e.binding)return e;let n=e;return n.binding=t,e}lookupBinding(e){return this.mirror?this.mirror.getDeviceById(e)?.binding??null:null}get addonPages(){return this._systemProxy.addonPages}get addonSettings(){return this._systemProxy.addonSettings}get alerts(){return this._systemProxy.alerts}get audioAnalyzer(){return this._systemProxy.audioAnalyzer}get audioCodec(){return this._systemProxy.audioCodec}get backup(){return this._systemProxy.backup}get decoder(){return this._systemProxy.decoder}get deviceManager(){return this._systemProxy.deviceManager}get deviceProvider(){return this._systemProxy.deviceProvider}get deviceState(){return this._systemProxy.deviceState}get metricsProvider(){return this._systemProxy.metricsProvider}get notificationOutput(){return this._systemProxy.notificationOutput}get pipelineExecutor(){return this._systemProxy.pipelineExecutor}get pipelineOrchestrator(){return this._systemProxy.pipelineOrchestrator}get pipelineRunner(){return this._systemProxy.pipelineRunner}get settingsStore(){return this._systemProxy.settingsStore}get storage(){return this._systemProxy.storage}get streamBroker(){return this._systemProxy.streamBroker}get turnProvider(){return this._systemProxy.turnProvider}get userManagement(){return this._systemProxy.userManagement}subscribeEvent(e,t){let n=t,r=this._eventSubs.get(e);if(r===void 0){let t=new Set,n=this._trpcClient.live.onEvent.subscribe({category:e},{onData:e=>{for(let n of[...t])try{n(e)}catch{}}});r={listeners:t,unsubscribe:()=>{try{n.unsubscribe()}catch{}}},this._eventSubs.set(e,r)}r.listeners.add(n);let i=!1;return()=>{if(i)return;i=!0;let t=this._eventSubs.get(e);t!==void 0&&(t.listeners.delete(n),t.listeners.size===0&&(t.unsubscribe(),this._eventSubs.delete(e)))}}resetEventSubs(){for(let e of this._eventSubs.values())e.unsubscribe();this._eventSubs.clear()}get trpcClient(){return this._trpcClient}get wsClient(){return this._wsClient}async handshakeToken(){let e=e=>{if(e===this._rejectedToken)return!0;let t=P(e);return t!==null&&t-Date.now()<=Ke},t=this.token;if(t===void 0||!e(t))return t;if(this.refreshCredential!==void 0)try{await this.refreshCredential(t===this._rejectedToken?`rejected`:`expired`)}catch{}let n=this.token;return n!==void 0&&!e(n)?n:void 0}buildTrpcClient(){let e=()=>{let e={};this.token&&(e.Authorization=`Bearer ${this.token}`);let t=this.getLanguage();return t&&(e[`x-camstack-lang`]=t),e};if(this.useWs){let e=this._serverUrl.replace(/^http/,`ws`)+`/trpc`,t=this.baseRetryMs,s=this.maxRetryMs,c=this._wsEpoch;return this._wsClient=n({url:e,connectionParams:async()=>{let e=await this.handshakeToken();c===this._wsEpoch&&(this._wsHandshake={token:e});let t=this.getLanguage();return{...e===void 0?{}:{token:e},...t?{lang:t}:{}}},retryDelayMs:e=>Math.min(t*2**e,s),keepAlive:{enabled:!0,intervalMs:He,pongTimeoutMs:Ue},onOpen:()=>{c===this._wsEpoch&&(this._connectionVersion+=1,this.emitConnectionEvent(`connected`))},onClose:e=>{c===this._wsEpoch&&(e?.code===Ge&&(this._rejectedToken=this._wsHandshake?.token??this._rejectedToken),this.emitConnectionEvent(`disconnected`))}}),o({links:[i({condition:e=>qe.has(e.path),true:a({url:`${this._serverUrl}/trpc`,headers:()=>{let e=this.getLanguage();return e?{"x-camstack-lang":e}:{}},transformer:N}),false:r({client:this._wsClient,transformer:N})})]})}return this._wsClient=null,o({links:[a({url:`${this._serverUrl}/trpc`,headers:e,transformer:N})]})}};function Ye(e){return new I(e)}async function L(e,t){if(e.length===0)return null;if(typeof fetch!=`function`)return e[0]??null;let n=typeof window<`u`&&window.location!==void 0&&window.location.protocol===`https:`?e.filter(e=>e.toLowerCase().startsWith(`https://`)):e;if(n.length===0)return null;let r=n.map(()=>new AbortController),i=n.map(async(e,n)=>{let i=r[n],a=setTimeout(()=>i.abort(),t);try{let t=await fetch(`${e.replace(/\/+$/,``)}/health`,{method:`GET`,signal:i.signal,credentials:`omit`});if(!t.ok)throw Error(`${t.status}`);return e}finally{clearTimeout(a)}});try{let e=await Promise.any(i);for(let e of r)try{e.abort()}catch{}return e}catch{return null}}var R=function(e){return e.Motion=`motion`,e.Person=`person`,e.Vehicle=`vehicle`,e.Animal=`animal`,e.Audio=`audio`,e.Face=`face`,e.Plate=`plate`,e.Package=`package`,e.Doorbell=`doorbell`,e.Sensor=`sensor`,e}({}),z=`animal.dog_cat.dog.cat.horse.sheep.cow.elephant.bear.zebra.giraffe.mouse.rabbit.deer.lion.tiger.bird.eagle.owl.pigeon.fish.whale.dolphin.snake.turtle.lizard`.split(`.`),B=[`person`,`people`,`pedestrian`,`rider`,`driver`,`cyclist`,`skier`,`skateboarder`,`face`,`hand`,`head`,`body`],V=[`vehicle`,`car`,`truck`,`bus`,`motorcycle`,`bicycle`,`van`,`ambulance`,`police_car`,`fire_truck`,`train`,`subway`,`tram`,`airplane`,`boat`,`ship`,`helicopter`],H=`face.eyes.nose.mouth.ears.eyebrows.left_eye.right_eye.pupil.iris.eyelid.eye_corner.upper_lip.lower_lip.teeth.chin.cheek.forehead.jaw.glasses.sunglasses.facial_hair.beard.mustache.facial_landmark.facial_keypoint`.split(`.`),U=[`plate`,`license_plate`,`front_plate`,`rear_plate`,`motorcycle_plate`,`temporary_plate`,`dealer_plate`,`licensePlate`,`plate_number`,`plate_character`,`plate_digit`,`plate_letter`,`plate_symbol`,`plate_region`,`plate_country_identifier`,`plate_frame`,`plate_bolt`,`plate_sticker`,`plate_validation_tag`,`damaged_plate`,`obscured_plate`,`dirty_plate`],W=[`motion`,`movement`,`other`],G=[`package`,`packet`],K=[`audio`],q=`speech.scream.babbling.yell.bellow.whoop.whispering.laughter.snicker.crying.cry.sigh.singing.choir.chant.mantra.child_singing.rapping.humming.groan.grunt.whistling.breathing.wheeze.snoring.gasp.pant.snort.cough.throat_clearing.sneeze.sniff.cheering.applause.chatter.crowd.children_playing.bark.yip.howl.bow-wow.growling.whimper_dog.purr.meow.hiss.caterwaul.pets.livestock.doorbell.ding-dong.door.slam.knock.alarm.telephone.music.dog.dogs`.split(`.`),J=[`doorbell`,`ring`],Y=[`lock`,`binary`,`flood`,`entry`,`door`,`leak`,`door_open`,`flooded`,`entry_open`];function X(e,t){return e.includes(t)}var Z={...z.reduce((e,t)=>({...e,[t]:`animal`}),{}),...B.reduce((e,t)=>({...e,[t]:`person`}),{}),...V.reduce((e,t)=>({...e,[t]:`vehicle`}),{}),...W.reduce((e,t)=>({...e,[t]:`motion`}),{}),...G.reduce((e,t)=>({...e,[t]:`package`}),{}),...H.reduce((e,t)=>({...e,[t]:`face`}),{}),...U.reduce((e,t)=>({...e,[t]:`plate`}),{}),...K.reduce((e,t)=>({...e,[t]:`audio`}),{}),...q.reduce((e,t)=>({...e,[t]:`audio`}),{}),...J.reduce((e,t)=>({...e,[t]:`doorbell`}),{}),...Y.reduce((e,t)=>({...e,[t]:`sensor`}),{})},Xe=e=>X(H,e),Ze=e=>X(U,e),Qe=e=>X(z,e),$e=e=>X(B,e),et=e=>X(V,e),tt=e=>X(W,e),nt=e=>X(J,e),rt=e=>X(G,e),it=e=>X(K,e)||X(q,e),at=e=>X(Y,e),ot=e=>Xe(e)||Ze(e),st=e=>Z[e],ct=e=>{let{className:t}=e,n={face:`person`,plate:`vehicle`},r=Z[t];return r&&r!==t?r:n[t]},lt=Object.values(R),Q=lt.filter(e=>e!==`motion`),$=[`person`,`doorbell`,`package`],ut=[...$,`vehicle`,`animal`,`audio`,`face`,`plate`],dt=[...Q];function ft(e,t){switch(e){case`critical`:return $;case`important`:return ut;case`all`:return dt;case`custom`:return t?.length?t:Q;default:return Q}}export{Q as DEFAULT_ENABLED_CLASSES,R as DetectionClass,Ve as SessionKeeper,I as System,dt as TIMELINE_PRESET_ALL,$ as TIMELINE_PRESET_CRITICAL,ut as TIMELINE_PRESET_IMPORTANT,z as animalClasses,K as audioClasses,q as audioLabelClasses,Ye as createSystem,lt as defaultDetectionClasses,Z as detectionClassesDefaultMap,J as doorbellClasses,H as faceClasses,ft as getClassesForTimelinePreset,st as getParentClass,ct as getParentDetectionClass,Qe as isAnimalClassname,it as isAudioClassname,nt as isDoorbellClassname,Xe as isFaceClassname,ot as isLabelDetection,tt as isMotionClassname,rt as isPackageClassname,$e as isPersonClassname,Ze as isPlateClassname,at as isSensorLabelClassname,Be as isSessionRefusal,et as isVehicleClassname,P as jwtExpiresAt,U as licensePlateClasses,W as motionClasses,G as packageClasses,B as personClasses,L as raceFastestEndpoint,Y as sensorLabelClasses,V as vehicleClasses};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{na as e}from"./player-overlays-
|
|
1
|
+
import{na as e}from"./player-overlays-D78AKVl-.js";var t=e(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]);export{t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{$ as e,B as t,G as n,J as r,L as i,S as a,b as o,q as s,x as c}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-CEHpkaJP.js";import{D as l,O as u,Rn as d,T as f,V as p,Vi as m,dt as h,ot as g,ta as _}from"./player-overlays-D78AKVl-.js";import{$r as v,$t as y,An as b,Cn as x,Dn as S,Ei as C,En as w,Fn as T,In as E,Jn as D,Ln as O,On as k,Pn as A,Rn as j,Sn as M,Tn as ee,Ut as te,Xr as N,Xt as ne,ai as re,bi as P,ci as F,di as I,ei as ie,fn as ae,kn as oe,li as se,ni as ce,si as le,ti as ue,ui as L,vi as de,wn as fe,xi as pe,xn as me,yi as he}from"./client-Dg4TgH9L.js";import{t as ge}from"./boxes-CBemgbeZ.js";import{$r as _e,Bn as ve,Dr as ye,Er as be,Fo as xe,Hu as R,Io as Se,Jr as z,Ju as Ce,L as we,Mn as Te,Nn as Ee,Or as De,Qr as Oe,Sr as B,Vr as V,_n as ke,ao as Ae,cr as H,ei as je,fr as Me,is as Ne,jn as Pe,kr as Fe,kt as Ie,lr as U,mr as W,oo as Le,pd as Re,pr as ze,qu as Be,s as Ve,ti as He,ur as Ue,zr as We}from"./src-Dh2VEGoU.js";import{t as G}from"./i18n-BaJUrB-h.js";import{t as K}from"./useTranslation-D3Is_4B6.js";import{n as Ge}from"./assignment-candidates-iKtFwGTX.js";e();function Ke({id:e,...t}){return c(ke,{headingId:`customize-${e}`,...t})}function qe(e,t){if(e.status===`error`)return{kind:`unknown`,reason:e.error?.message??G.t(`helpers.customize.requestFailed`)};let n=e.data;return e.status===`pending`||n===void 0?{kind:`pending`}:{kind:`known`,value:t(n)}}function Je(e,t){let n=Re.useQueries(n=>e.map(e=>n.deviceManager.listDeviceIdsByCaps({capNames:[e]},{enabled:t})));return Ge(e.map((e,t)=>{let r=n[t];return{cap:e,query:r===void 0?{status:`pending`}:{status:r.status,data:r.data,error:r.error===null?null:{message:r.error.message}}}}))}function Ye(e,t){let n=Ie(e,t);return n.kind===`resolved`?n.integration.name:null}function Xe(e){let t=Le({projection:`slim`},{enabled:e}),{data:r}=Ne(void 0,{enabled:e}),i=t.error===null||t.error===void 0?null:t.error.message;return n(()=>qe({status:t.status,data:t.data,error:i===null?null:{message:i}},e=>e.map(e=>({id:e.id,name:e.name,addonId:e.addonId,stableId:e.stableId,type:e.type,location:e.location,isCamera:e.isCamera,integration:Ye(e,r),parentDeviceId:e.parentDeviceId,primaryChildEntityId:e.primaryChildEntityId??null,role:e.role??null}))),[t.status,t.data,i,r])}function Ze(e){if(e.status===`pending`)return{kind:`pending`};if(e.status===`error`)return{kind:`unknown`,reason:e.error?.message??G.t(`helpers.customize.requestFailed`)};let t=e.data;if(t===void 0)return{kind:`pending`};if(t.state===`not-loaded`)return{kind:`not-loaded`,reason:t.reason};if(t.view===null)return{kind:`none`};let n=N(t.view.block);return n===null?{kind:`unknown`,reason:G.t(`helpers.customizationRead.notAComposition`,{id:t.view.block.id})}:{kind:`present`,view:t.view,composition:n}}function q(e){return e.kind===`present`?e.composition:null}var Qe={lastChangedAt:{en:`Last change`,it:`Ultima variazione`},lastFetchedAt:{en:`Last update`,it:`Ultimo aggiornamento`},lastDetectedAt:{en:`Last detection`,it:`Ultimo rilevamento`},lastPressedAt:{en:`Last press`,it:`Ultima pressione`},pressCountSinceStart:{en:`Press count`,it:`Conteggio pressioni`},since:{en:`Since`,it:`Da`}};function $e(e,t){return t.startsWith(`it`)?e.it:e.en}function et(e){if(!(`unit`in e))return;let t=e.unit;return typeof t==`string`&&t.length>0?t:void 0}function tt(e,t){let n=ae[e]?.noun;return n===void 0?e.split(`-`).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `):$e(n,t)}function J(e,t,n){let r=ae[e]?.state?.find(e=>e.field===t);if(r!==void 0){let e=$e(r.label,n),t=et(r);return t===void 0?e:`${e} (${t})`}let i=Qe[t];return i===void 0?t:$e(i,n)}function nt(e){return y.find(t=>t.name===e)}function rt(e){return e===`lastFetchedAt`||e.endsWith(`At`)}function it(e){let t=M(e.role);if(t===null||nt(t)?.status===void 0)return null;let n={};return{target:{kind:`new`,type:e.type,...e.role===null?{}:{role:e.role}},features:[{kind:`fields`,cap:t,fields:n}]}}function at(e){return e===null?`incomplete`:me(ie(e,{lookupCap:v(y),sources:new Map,self:null,blockId:null,target:null,peers:[]}).problems)}function ot(e,t){let n=nt(e);return n?.status===void 0?[]:ce(n.status.schema).filter(e=>!rt(e)&&!t.has(e))}function Y(e,t,n){let r=e?.features??[],i=r.findIndex(e=>e.cap===n.cap);return{target:e?.target??{kind:`existing`,device:t},features:i===-1?[...r,n]:r.map((e,t)=>t===i?n:e)}}function st(e,t){let n=e.features.filter(e=>e.cap!==t);return n.length===0?null:{target:e.target,features:n}}function X(e,t){let n=e?.features.find(e=>e.cap===t);return n!==void 0&&n.kind===`fields`?n:null}function ct(e){return Array.isArray(e)?e.map(ct):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,ct(t)]))}function lt(e){return JSON.stringify(ct(e))}function ut(e,t){switch(e.kind){case`pending`:return{kind:`refused`,reason:G.t(`helpers.customizationSave.notReadYet`)};case`unknown`:return{kind:`refused`,reason:`the customization could not be read: ${e.reason}`};case`not-loaded`:return{kind:`refused`,reason:`the customizations are not loaded yet: ${e.reason}`};case`none`:return t===null?{kind:`noop`}:{kind:`create`,input:{enabled:!0,composition:t}};case`present`:{let n=e.view.block.id;return t===null?{kind:`delete`,blockId:n}:lt(t)===lt(e.composition)?{kind:`noop`}:{kind:`update`,blockId:n,expectedUpdatedAt:e.view.block.updatedAt,composition:t}}}}function Z(){let{t:e}=K(),t=We();return(n,r)=>t({title:e(`customize.assign.removeConfirm.title`),message:r?`${e(`customize.assign.removeConfirm.message`,{what:n})} ${e(`customize.assign.removeConfirm.last`)}`:e(`customize.assign.removeConfirm.message`,{what:n}),confirmLabel:e(`customize.assign.removeConfirm.confirm`),variant:`danger`})}function dt(e,t){let n=e===`enum`?`string`:e,r=t.kind===`enum`?`string`:t.kind,i={source:t.source,cap:t.cap,fieldPath:t.fieldPath};return r===n?{kind:`from`,...i}:n===`number`&&r===`string`?{kind:`expression`,expr:`number(x)`,bindings:{x:{kind:`from`,...i}}}:null}function ft(e){return e.map(e=>({id:e.id,name:e.name,addonId:e.addonId,stableId:e.stableId,location:e.location,type:e.type}))}function pt(e,t,n){let r=t.trim().toLowerCase();return r===``?[]:e.filter(e=>!n.includes(e.id)&&[e.name,e.stableId,e.location??``].some(e=>e.toLowerCase().includes(r))).toSorted((e,t)=>e.name.localeCompare(t.name)).slice(0,20)}function Q(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||Array.isArray(n))return;n=Object.getOwnPropertyDescriptor(n,e)?.value}return n}function mt(e,t,n,r){return r===null?{kind:`from`,source:e,cap:t,fieldPath:n.path}:dt(r,{source:e,cap:t,fieldPath:n.path,kind:n.kind})}function ht(e,t,n,r){let i={addonId:e.addonId,stableId:e.stableId};return t.caps.flatMap(e=>e.fields.filter(e=>e.item!==!0).map(t=>({cap:e.cap,path:t.path,kind:t.kind,value:n===null?void 0:Q(n[e.cap],t.path),source:mt(i,e.cap,t,r)})))}function gt(e,t){return t?e===void 0?`—`:e===null?`null`:typeof e==`string`||typeof e==`number`||typeof e==`boolean`?String(e):JSON.stringify(e):`…`}function _t(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function vt(e,t){let n=Q(e,t);return n===void 0?{kind:`absent`}:t===`percentage`&&e.binary===!0?{kind:`value`,value:n,binary:!0}:{kind:`value`,value:n}}function yt(e,t,n){return _t(t)?vt(t,n):e.status===`error`?{kind:`unknown`,reason:e.error?.message??G.t(`helpers.liveValue.unreadable`)}:e.status===`pending`||e.data===void 0?{kind:`pending`}:e.data===null?{kind:`absent`}:vt(e.data,n)}function bt(e,t,n){if(t.binary===!0&&n.cap===`battery`&&n.path===`percentage`){let t=Ee(e);return{text:G.t(t?Pe:Te),tone:t?`warning`:`normal`}}return{text:n.path===`percentage`?`${Math.round(e)} %`:String(e),tone:`normal`}}function xt(e,t,n){let r=e?`active`:`muted`;return t.cap===`contact`&&t.path===`entryOpen`?{text:e?n.open:n.closed,tone:r}:pe[t.cap]===t.path?{text:e?n.active:n.inactive,tone:r}:{text:String(e),tone:`normal`}}function St(e,t,n){switch(e.kind){case`pending`:return{text:`…`,tone:`muted`};case`unknown`:return{text:`?`,title:e.reason,tone:`warning`};case`absent`:return{text:`—`,tone:`muted`};case`value`:{let r=e.value;return r===null?{text:`—`,tone:`muted`}:typeof r==`boolean`?xt(r,t,n):typeof r==`number`?bt(r,e,t):typeof r==`string`?{text:r,tone:`normal`}:{text:JSON.stringify(r),tone:`normal`}}}}var Ct=0;function wt(e){let t=g(),n=xe({deviceId:e?.deviceId??Ct,capName:e?.cap??``},{enabled:e!==null}),r=Ve(t.trpcClient,e?.deviceId??null,e?.cap??``);return e===null?{kind:`absent`}:yt({status:n.status,data:n.data,error:n.error===null||n.error===void 0?null:{message:n.error.message}},r,e.path)}var Tt={muted:`text-foreground-subtle`,active:`text-success`,normal:`text-foreground`,warning:`text-warning`};function Et({target:e}){let{t}=K(),n=wt(e);return e===null?null:c(Dt,{display:St(n,e,{active:t(`customize.assign.value.active`),inactive:t(`customize.assign.value.inactive`),open:t(`customize.assign.value.open`),closed:t(`customize.assign.value.closed`)})})}function Dt({display:e}){return c(`span`,{className:`text-xs ${Tt[e.tone]}`,title:e.title,children:e.text})}function Ot(e){return e===`avg-round-1`?`customize.fieldsCard.aggregate.avg`:`customize.fieldsCard.aggregate.latest`}function kt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function At(e,t,n){let r=RegExp(`(?<![A-Za-z0-9_])${kt(t)}(?![A-Za-z0-9_])`,`g`);return e.replace(r,()=>n)}function jt(e,t,n,r,i){let a=Object.keys(t).toSorted((e,t)=>t.length-e.length),o=e;for(let e of a){let a=t[e];if(a===void 0||a.kind!==`from`)continue;let s=n.get(L(a.source))??i,c=J(a.cap,a.fieldPath,r);o=At(o,e,`${s} · ${c}`)}return Vt(o)}var Mt=1e3,Nt=60*Mt,Pt=60*Nt,Ft={within:[1],dwell:[1,2],rose:[2]};function It(e){if(!Number.isInteger(e)||e<Mt)return null;if(e%Pt===0){let t=e/Pt;return t===1?`1 h`:`${t} h`}if(e%Nt===0){let t=e/Nt;return t===1?`1 min`:`${t} min`}if(e%Mt===0){let t=e/Mt;return t===1?`1 s`:`${t} s`}return null}function Lt(e){return/^\d+$/.test(e.trim())?It(Number(e.trim())):null}function Rt(e,t){let n=1,r=t+1,i=null,a=[];for(let o=t+1;o<e.length;o+=1){let t=e[o]??``;if(i!==null){if(t===`\\`){o+=1;continue}t===i&&(i=null);continue}if(t===`"`||t===`'`){i=t;continue}if(t===`(`){n+=1;continue}if(t===`)`){if(--n,n===0){let t=e.slice(r,o);return a.length===0&&t.trim()===``||a.push({text:t}),{args:a,close:o}}continue}t===`,`&&n===1&&(a.push({text:e.slice(r,o)}),r=o+1)}return null}function zt(e,t){let n=e[t-1];if(n!==void 0&&/[A-Za-z0-9_]/.test(n))return null;for(let n of Object.keys(Ft)){if(!e.startsWith(n,t))continue;let r=t+n.length,i=e[r];if(i!==void 0&&/[A-Za-z0-9_]/.test(i))continue;let a=r;for(;e[a]===` `||e[a]===`
|
|
2
|
+
`;)a+=1;if(e[a]!==`(`)continue;let o=Rt(e,a);return o===null?null:{name:n,close:o.close,args:o.args}}return null}function Bt(e){let t=e.args.map(e=>Vt(e.text)),n=Ft[e.name]??[];if(e.name===`within`){let e=t[1],n=e===void 0?null:Lt(e);if(n!==null)return`within ${n}`}let r=t.map((e,t)=>n.includes(t)?Lt(e)??e.trim():e.trim());return`${e.name}(${r.join(`, `)})`}function Vt(e){let t=``,n=0;for(;n<e.length;){let r=zt(e,n);if(r===null){t+=e[n]??``,n+=1;continue}t+=Bt(r),n=r.close+1}return t}function Ht(e){for(let t=1;;t++){let n=`s${t}`;if(!e.includes(n))return n}}var Ut={min:`min(a, b, …)`,max:`max(a, b, …)`,abs:`abs(x)`,floor:`floor(x)`,ceil:`ceil(x)`,sqrt:`sqrt(x)`,round:`round(x, digits?)`,pow:`pow(x, y)`,clamp:`clamp(x, lo, hi)`,avg:`avg(a, b, …)`,sum:`sum(a, b, …)`,coalesce:`coalesce(a, b, …)`,age:`age(now, ts)`,convert:`convert(x, "from", "to")`,any:`any(a, b, …)`,all:`all(a, b, …)`,within:`within(ts, ms)`,number:`number(x)`,latest:`latest(ts, …)`,rose:`rose(level, changedAt, debounceMs?)`,count:`count(x)`,dwell:`dwell(active, onForMs, offForMs)`,latchedAt:`latchedAt(value)`},Wt=/[A-Za-z_][A-Za-z0-9_]*$/;function Gt(e,t,n){let r=Wt.exec(e.slice(0,t))?.[0]??``;if(r===``)return[];let i=n.filter(e=>e.startsWith(r)).toSorted().map(e=>({kind:`binding`,label:e,insert:e,hintKey:null})),a=`now`.startsWith(r)?[{kind:`now`,label:`now`,insert:`now`,hintKey:`compositionEditor.now`}]:[],o=[...P].filter(e=>e.startsWith(r)).toSorted().map(e=>({kind:`builtin`,label:Ut[e]??e,insert:`${e}(`,hintKey:`compositionEditor.builtins.${e}`}));return[...i,...a,...o].slice(0,8)}function Kt(e,t,n){let r=t-(Wt.exec(e.slice(0,t))?.[0]??``).length;return{text:`${e.slice(0,r)}${n.insert}${e.slice(t)}`,cursor:r+n.insert.length}}e();function qt({label:e,value:t,bindings:n,onChange:i}){let{t:o}=K(),l=s(null),[u,d]=r(t.length),f=Gt(t,u,n);return a(`div`,{className:`flex flex-col gap-1`,children:[a(`label`,{className:`flex flex-col gap-1 text-[11px]`,children:[e,c(`input`,{ref:l,className:`font-mono px-1.5 py-0.5 text-[11px] bg-background border border-border rounded`,value:t,onChange:e=>{i(e.target.value),d(e.target.selectionStart??e.target.value.length)},onSelect:e=>d(e.currentTarget.selectionStart??t.length)})]}),f.length>0&&c(`ul`,{role:`listbox`,"aria-label":o(`compositionEditor.suggestions`),className:`rounded border border-border bg-surface text-[11px]`,children:f.map(e=>a(`li`,{role:`option`,"aria-selected":!1,tabIndex:0,className:`flex justify-between gap-2 px-1 cursor-pointer hover:bg-surface-hover`,onClick:()=>{let n=Kt(t,u,e);i(n.text),d(n.cursor),l.current?.focus()},children:[c(`span`,{className:`font-mono`,children:e.label}),e.hintKey!==null&&c(`span`,{className:`text-foreground-subtle`,children:o(e.hintKey)})]},`${e.kind}:${e.label}`))})]})}function Jt(e){return{addonId:e.addonId,stableId:e.stableId}}function Yt(e){return new Map(e.map(e=>[L(Jt(e)),e]))}function Xt(e,t,n){if(e.kind===`code`)return{kind:`unavailable`,reason:G.t(`helpers.fieldPreview.codeFields`)};if(e.kind===`expression`&&(ue(e.expr,`rose`)||ue(e.expr,`count`)))return{kind:`runtime-only`};let r=I(e).filter(e=>t.get(se(e.source,e.cap))?.kind!==`value`).map(F);if(r.length>0)return{kind:`waiting`,missing:r};let i=j({source:e,now:n,read:e=>{let n=t.get(se(e.source,e.cap)),r=n?.kind===`value`?Q(n.slice,e.fieldPath):void 0,i=r===void 0?void 0:he(r);return i===void 0?{state:`unavailable`,reason:G.t(`helpers.fieldPreview.notReported`,{path:`${e.cap}.${e.fieldPath}`}),fatal:!1}:{state:`fresh`,value:i}}});return i.state===`unavailable`?{kind:`unavailable`,reason:i.reason}:{kind:`value`,value:i.value,stale:i.reason}}e();function Zt({sliceKey:e,deviceId:n,capName:r,onReading:i}){let a=Ve(g().trpcClient,n,r);return t(()=>{i(e,a===void 0?{kind:`pending`}:{kind:`value`,slice:a})},[e,a,i]),null}function Qt(e,t){return[...new Map(I(e).map(e=>[se(e.source,e.cap),e]))].map(([e,n])=>({key:e,read:n,device:t.get(L(n.source))}))}function $t({source:e}){let{t}=K(),n=Le({projection:`slim`}),[o,s]=r(new Map),l=i((e,t)=>{s(n=>new Map([...n,[e,t]]))},[]),u=Qt(e,Yt(n.status===`success`?ft(n.data):[])),d=n.status===`success`?u.filter(e=>e.device===void 0).map(e=>L(e.read.source)):[];return a(`div`,{className:`flex flex-wrap items-center gap-2 text-[11px]`,children:[u.map(e=>e.device===void 0?null:c(Zt,{sliceKey:e.key,deviceId:e.device.id,capName:e.read.cap,onReading:l},e.key)),c(`span`,{className:`text-foreground-subtle`,children:t(`compositionEditor.preview.label`)}),n.status===`error`?c(`span`,{className:`text-warning`,children:t(`compositionEditor.preview.devicesFailed`,{reason:n.error?.message??``})}):d.length>0?c(`span`,{className:`text-warning`,children:t(`compositionEditor.preview.unknownDevice`,{sources:d.join(`, `)})}):c(en,{preview:Xt(e,o,Date.now())})]})}function en({preview:e}){let{t}=K();switch(e.kind){case`value`:return a(`strong`,{children:[`→ `,gt(e.value,!0),e.stale===null?``:` (${e.stale})`]});case`unavailable`:return c(`span`,{className:`text-warning`,children:e.reason});case`waiting`:return c(`span`,{className:`text-foreground-subtle`,children:t(`compositionEditor.preview.waiting`,{sources:e.missing.join(`, `)})});case`runtime-only`:return c(`span`,{className:`text-foreground-subtle`,children:t(`compositionEditor.preview.runtimeOnly`)})}}e();var tn=[];function nn({title:e,targetKind:t,excludeDeviceIds:n=tn,onPick:i,onCancel:o}){let{t:s}=K(),[d,f]=r(null);return a(`aside`,{"aria-label":e,className:`${u} ${l} flex flex-col gap-2`,children:[c(`h3`,{className:p,children:e}),d===null?c(rn,{excludeDeviceIds:n,onSelect:f}):c(an,{device:d,targetKind:t,onPick:i,onBack:()=>f(null)}),c(`div`,{children:c(V,{variant:`ghost`,size:`sm`,onClick:o,children:s(`customize.picker.cancel`)})})]})}function rn({excludeDeviceIds:e,onSelect:t}){let{t:n}=K(),[i,s]=r(``),l=Le({projection:`slim`});return a(o,{children:[a(`label`,{className:`flex flex-col gap-1 text-[11px] text-foreground-subtle`,children:[n(`customize.picker.search`),c(Be,{type:`search`,"aria-label":n(`customize.picker.search`),value:i,onChange:e=>s(e.target.value)})]}),l.status===`pending`&&c(`p`,{role:`status`,className:`text-[11px] text-foreground-subtle`,children:n(`customize.picker.loadingDevices`)}),l.status===`error`&&c(B,{title:n(`customize.picker.devicesFailed`),message:l.error?.message??``}),l.status===`success`&&c(`ul`,{className:`flex flex-col gap-1`,children:pt(ft(l.data),i,e).map(e=>c(`li`,{children:a(`button`,{type:`button`,className:`text-left text-[11px] hover:underline`,onClick:()=>t(e),children:[e.name,` `,a(`span`,{className:`text-foreground-subtle`,children:[`· `,e.stableId]})]})},e.id))})]})}function an({device:e,targetKind:t,selected:n,onPick:r,onBack:i}){let{t:o}=K(),s=Ae({deviceId:e.id}),l=Se({deviceId:e.id});if(s.status===`pending`)return c(`p`,{role:`status`,className:`text-[11px] text-foreground-subtle`,children:o(`customize.picker.loadingFields`)});if(s.status===`error`)return c(B,{title:o(`customize.picker.fieldsFailed`),message:s.error?.message??``});let u=ht(e,s.data,l.status===`success`?l.data:null,t),d=u.filter(e=>e.source===null).length,f={addonId:e.addonId,stableId:e.stableId};return a(`div`,{className:`flex flex-col gap-1`,children:[a(`button`,{type:`button`,className:`text-left text-[11px] text-primary`,onClick:i,children:[`← `,e.name]}),l.status===`error`&&c(`p`,{role:`alert`,className:`text-[10px] text-warning`,children:o(`customize.picker.valuesFailed`,{reason:l.error?.message??``})}),c(`ul`,{role:`listbox`,"aria-label":o(`customize.picker.fields`),className:`flex flex-col gap-1`,children:u.map(t=>{let i=t.source;if(i===null)return null;let o=()=>r({device:e,ref:f,cap:t.cap,path:t.path,kind:t.kind,source:i,value:t.value});return a(`li`,{role:`option`,"aria-selected":n?.cap===t.cap&&n.path===t.path,tabIndex:0,className:`flex justify-between gap-2 text-[11px] cursor-pointer hover:bg-surface-hover rounded px-1`,onClick:o,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&o()},children:[a(`span`,{className:`font-mono`,children:[t.cap,`.`,t.path]}),c(`span`,{children:gt(t.value,l.status===`success`)})]},`${t.cap}.${t.path}`)})}),d>0&&t!==null&&c(`p`,{className:`text-[10px] text-foreground-subtle`,children:o(`customize.picker.hidden`,{count:d,kind:o(`customize.kinds.${t}`)})})]})}e();var on=new Map;function sn(e,t,n,r){return e.kind===`from`?`${t.get(L(e.source))??r} · ${J(e.cap,e.fieldPath,n)}`:``}function cn({open:e,title:t,fieldPath:n,fieldLabel:i,sourceNames:o=on,initial:s,selfNative:l=null,onClose:u,onSave:d}){let{t:f,i18n:p}=K(),[m,h]=r(s.kind===`expression`?s:{kind:`expression`,expr:`null`,bindings:{}}),[g,_]=r(`idle`),v=x(m.expr,m.bindings),y=Object.keys(m.bindings);return c(H,{open:e,onOpenChange:e=>{e||u()},children:a(Ue,{width:`lg`,scroll:`body`,placement:`sheet-on-mobile`,"data-testid":`formula-dialog`,children:[c(ze,{children:c(W,{children:t})}),a(U,{className:`flex flex-col gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:i??J(``,n,p.language)}),c(qt,{label:f(`compositionEditor.formulaFor`,{path:i??n}),value:m.expr,bindings:y,onChange:e=>h({...m,expr:e})}),c(`ul`,{className:`flex flex-col gap-0.5 text-[11px]`,children:Object.entries(m.bindings).map(([e,t])=>a(`li`,{className:`flex flex-wrap items-center gap-2`,children:[c(`span`,{className:`font-mono`,children:e}),c(`span`,{children:t.kind===`from`?sn(t,o,p.language,f(`customize.fieldsCard.unknownDevice`)):JSON.stringify(t.value)}),c(V,{size:`sm`,variant:`ghost`,"aria-label":f(`compositionEditor.removeBinding`,{name:e}),onClick:()=>{let{[e]:t,...n}=m.bindings;h({...m,bindings:n})},children:`×`})]},e))}),a(`div`,{className:`flex flex-wrap gap-2`,children:[l!==null&&c(V,{size:`sm`,variant:`outline`,"data-testid":`formula-self-native`,onClick:()=>{let e=Object.keys(m.bindings),t=m.bindings.v===void 0?`v`:Ht(e);h({...m,bindings:{...m.bindings,[t]:{kind:`from`,source:l.source,cap:l.cap,fieldPath:l.fieldPath}}})},children:f(`customize.override.selfNative`)}),c(V,{size:`sm`,variant:`outline`,onClick:()=>_(`add-binding`),children:f(`compositionEditor.addSource`)})]}),v!==null&&c(`p`,{role:`alert`,className:`text-xs text-danger`,children:v}),c($t,{source:m}),g===`add-binding`&&c(nn,{title:f(`compositionEditor.addSource`),targetKind:null,onCancel:()=>_(`idle`),onPick:e=>{let t=Ht(y);h({...m,bindings:{...m.bindings,[t]:{kind:`from`,source:e.ref,cap:e.cap,fieldPath:e.path}}}),_(`idle`)}})]}),a(Me,{children:[c(V,{variant:`ghost`,onClick:u,children:f(`compositionEditor.cancel`)}),c(V,{"data-testid":`formula-dialog-save`,disabled:v!==null,onClick:()=>{d(m),u()},children:f(`compositionEditor.save`)})]})]})})}e();function ln({open:e,from:t,initialTo:n,onClose:i,onSave:o}){let{t:s}=K(),l=T(t),[u,d]=r(n??l[0]??``),f=l.includes(u)?u:l[0]??``;return c(H,{open:e,onOpenChange:e=>{e||i()},children:a(Ue,{width:`sm`,scroll:`body`,placement:`sheet-on-mobile`,"data-testid":`convert-unit-dialog`,children:[c(ze,{children:c(W,{children:s(`customize.override.convertTitle`)})}),a(U,{className:`flex flex-col gap-2`,children:[c(`p`,{className:`text-xs text-foreground`,children:s(`customize.override.convertSummary`,{from:t,to:f})}),l.length>1&&c(R,{"aria-label":s(`customize.override.targetUnit`),value:f,onChange:e=>d(e.target.value),options:l.map(e=>({value:e,label:e}))})]}),a(Me,{children:[c(V,{variant:`ghost`,onClick:i,children:s(`compositionEditor.cancel`)}),c(V,{"data-testid":`convert-unit-publish`,disabled:f===``||f===t,onClick:()=>{o(f),i()},children:s(`customize.override.publish`)})]})]})})}function un(e,t,n,r,i){return{kind:`expression`,expr:`convert(v, ${JSON.stringify(e)}, ${JSON.stringify(t)})`,bindings:{v:{kind:`from`,source:n,cap:r,fieldPath:i}}}}function dn(e){return{kind:`expression`,expr:JSON.stringify(e),bindings:{}}}function fn(e,t,n,r,i,a){let o=X(e,n)??{kind:`fields`,cap:n,fields:{}},s={...o.fields,[r]:i},c=Object.fromEntries(Object.entries(s).filter(([e])=>!a.includes(e)));return Y(e,t,{...o,fields:c})}function pn(e,t,n,r){let i=O(t,n);if(i===null||e===null)return[];let a=e.fields[i];return a?.kind===`expression`&&a.expr===JSON.stringify(r)&&i!==n?[i]:[]}function mn(e,t,n,r){let i=X(e,n);if(i===null)return e;let a=new Set(r),o=Object.fromEntries(Object.entries(i.fields).filter(([e])=>!a.has(e)));return Object.keys(o).length===0?st(e,n):Y(e,t,{...i,fields:o})}e();function hn({deviceId:e,self:t,selfName:n,cap:i,fieldPath:s,label:l,unit:u,valueKind:d=null,handle:f,names:p,toFill:m=!1}){let{t:h,i18n:g}=K(),_=Z(),[v,y]=r(`closed`),b=q(f.state),x=X(b,i),S=x?.fields[s]??null,C=S===null?null:E(S),w=u===void 0?[]:T(u),D=new Map(p);D.set(L(t),n);let k=()=>y(`closed`),A=(e,n)=>{f.save(fn(b,t,i,s,e,n))},j=()=>C?.kind===`convert-unit`?pn(x,i,s,C.to):[];return a(`div`,{className:`flex flex-col gap-1 border-t border-border pt-2 first:border-t-0 first:pt-0`,"data-testid":`override-row-${i}-${s}`,children:[a(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:l}),m&&S===null&&c(z,{variant:`warning`,children:h(`compositionEditor.toFill`)})]}),a(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:h(`customize.scalar.effective`)}),c(Et,{target:{deviceId:e,cap:i,path:s}})]}),C===null?c(`p`,{className:`text-xs text-foreground-subtle`,children:h(`customize.scalar.noOverride`)}):c(vn,{entry:C,names:D,language:g.language,unknownDevice:h(`customize.fieldsCard.unknownDevice`)}),c(`div`,{className:`flex flex-wrap gap-2`,children:C===null?c(_n,{cap:i,fieldPath:s,saving:f.saving,convert:w.length>0,onFrom:()=>y(`from`),onFormula:()=>y(`formula`),onConvert:()=>y(`convert`)}):a(o,{children:[c(V,{variant:`outline`,size:`sm`,disabled:f.saving,onClick:()=>y(gn(C)),children:h(`customize.scalar.change`)}),c(V,{variant:`ghost`,size:`sm`,disabled:f.saving,onClick:()=>{if(b===null)return;let e=mn(b,t,i,[s,...j()]);_(h(`customize.fieldsCard.removeField`,{field:l}),e===null).then(t=>{t&&f.save(e)})},children:h(`customize.scalar.remove`)})]})}),c(H,{open:v===`from`,onOpenChange:e=>{e||k()},children:a(Ue,{width:`lg`,scroll:`body`,placement:`sheet-on-mobile`,children:[c(ze,{children:c(W,{children:l})}),c(U,{children:v===`from`&&c(nn,{title:h(`customize.override.fromDevice`),targetKind:d??(u===void 0?null:`number`),onCancel:k,onPick:e=>{A(e.source,j()),k()}})})]})}),v===`formula`&&c(cn,{open:!0,title:h(`compositionEditor.formulaFor`,{path:l}),fieldPath:s,fieldLabel:l,sourceNames:D,initial:S?.kind===`expression`?S:{kind:`expression`,expr:`v`,bindings:{}},selfNative:{source:t,cap:i,fieldPath:s},onClose:k,onSave:e=>{A(e,j()),k()}}),v===`convert`&&u!==void 0&&c(ln,{open:!0,from:u,initialTo:C?.kind===`convert-unit`?C.to:null,onClose:k,onSave:e=>{let n=O(i,s),r=fn(b,t,i,s,un(u,e,t,i,s),[]),a=n===null?r:fn(r,t,i,n,dn(e),[]);f.save(a),k()}})]})}function gn(e){return e.kind===`convert-unit`?`convert`:e.kind===`from`?`from`:`formula`}function _n({cap:e,fieldPath:t,saving:n,convert:r,onFrom:i,onFormula:o,onConvert:s}){let{t:l}=K();return a(Oe,{children:[c(He,{className:`h-7 px-2.5 text-xs rounded-md border border-border bg-surface text-foreground`,disabled:n,"data-testid":`override-add-${e}-${t}`,children:l(`customize.scalar.add`)}),a(_e,{children:[c(je,{onClick:i,children:l(`customize.override.fromDevice`)}),c(je,{onClick:o,children:l(`customize.override.formula`)}),r&&c(je,{onClick:s,children:l(`customize.override.convertUnit`)})]})]})}function vn({entry:e,names:t,language:n,unknownDevice:r}){let{t:i}=K();return e.kind===`companion`?c(`span`,{className:`text-xs text-foreground`,children:i(`customize.fieldsCard.now`)}):e.kind===`convert-unit`?a(`p`,{className:`flex flex-wrap items-center gap-1 text-xs text-foreground`,children:[c(`span`,{children:i(`customize.override.convertSummary`,{from:e.from,to:e.to})}),c(z,{children:i(`customize.override.convertUnit`)})]}):e.kind===`formula`?a(`p`,{className:`flex flex-wrap items-center gap-1 text-xs text-foreground`,children:[c(`span`,{className:`break-words`,children:jt(e.expr,e.bindings,t,n,r)}),c(z,{children:i(`compositionEditor.formula`)})]}):a(`div`,{className:`flex flex-col gap-0.5`,children:[e.sources.map(e=>{let a=L(e.source);return c(`span`,{className:`text-xs text-foreground`,children:i(`customize.fieldsCard.from`,{name:t.get(a)??r,field:J(e.cap,e.fieldPath,n)})},`${a}:${e.cap}:${e.fieldPath}`)}),e.aggregate!==null&&c(`span`,{className:`text-xs text-foreground-muted`,children:i(Ot(e.aggregate))})]})}function yn(e){return Object.hasOwn(A,e)}function bn(e,t){if(!yn(e))return;let n=A[e].advancedParameters.find(e=>e.path===t);if(n!==void 0&&`unit`in n)return n.unit}function xn({deviceId:e,selfName:t,card:n,handle:r,names:i}){let{t:o,i18n:s}=K(),l=Z(),u=q(r.state),d=s.language,f=tt(n.cap,d),p=new Set(Object.keys(n.entries)),m=ot(n.cap,p),h=()=>{if(u===null)return;let e=st(u,n.cap);l(o(`customize.fieldsCard.removeWhat`,{cap:f}),e===null).then(t=>{t&&r.save(e)})},g=(a,o)=>c(hn,{deviceId:e,self:r.target,selfName:t,cap:n.cap,fieldPath:a,label:J(n.cap,a,d),unit:bn(n.cap,a),handle:r,names:i,toFill:o},a);return a(`div`,{className:`flex flex-col gap-3 px-3 py-2 sm:px-4`,children:[m.map(e=>g(e,!0)),Object.keys(n.entries).filter(e=>!m.includes(e)).map(e=>g(e,!1)),c(`div`,{className:`flex flex-wrap gap-2`,children:c(V,{variant:`ghost`,size:`sm`,disabled:r.saving,onClick:h,children:o(`customize.fieldsCard.removeFeature`,{cap:f})})})]})}e();function Sn({device:e,handle:t,skipCaps:r}){let{i18n:i}=K(),a=q(t.state),s=Xe(a!==null),l=n(()=>s.kind===`known`?new Map(s.value.map(e=>[L({addonId:e.addonId,stableId:e.stableId}),e.name])):new Map,[s]);if(a===null)return null;let{model:u}=fe(a),d=u.cards.filter(e=>e.card.cardKind===`fields`&&!r.has(e.card.cap));return d.length===0?null:c(o,{children:d.map(n=>{if(n.card.cardKind!==`fields`)return null;let r=n.card,a=tt(r.cap,i.language);return c(Ke,{id:r.cap,icon:ge,title:a,testId:`fields-card-${r.cap}`,children:c(xn,{deviceId:e.id,selfName:e.name,card:r,handle:t,names:l})},r.cap)})})}function Cn(e){return new Set(e.filter(e=>{let t=e.nativeAddonId?.trim()??``;return t!==``&&t!==`composer`}).map(e=>e.capName))}function wn(e,t){return{cap:e,apply:t.apply,authority:t.applyAuthority?.kind??`composition-claim`,nativeItemsReadOnly:t.nativeItems===`read-only`}}function Tn(e){return e.kind===`known`?null:e}function En(e,t){return e.composable.kind===`known`?e.composable.value.has(t)?{kind:`present`,mode:`add`}:{kind:`absent`}:e.composable}function Dn(e){if(e.deviceType!==C.Camera)return{kind:`absent`};switch(e.cameraSensors){case`pending`:return{kind:`pending`};case`unknown`:return{kind:`unknown`,reason:G.t(`helpers.assignmentAvailability.sensorsUnchecked`)};case`absent`:return{kind:`absent`};case`present`:return{kind:`present`,mode:`add`}}}function On(e,t){if(e.authority===`camera-sensors`)return Dn(t);let n=Tn(t.nativeCaps);if(n!==null)return n;let r=t.nativeCaps.kind===`known`?t.nativeCaps.value:new Set;return e.nativeItemsReadOnly?En(t,e.cap):e.apply===`add`?r.has(e.cap)?{kind:`absent`}:En(t,e.cap):r.has(e.cap)?{kind:`present`,mode:`replace`}:En(t,e.cap)}e();var kn=new Map;function An({handle:e,cap:t,fieldPath:n,itemKey:i,label:s,testId:l,sourceNames:u=kn}){let{t:d,i18n:f}=K(),p=J(t,n,f.language),[m,h]=r(!1),g=q(e.state),_=X(g,t),v=i===void 0?_?.fields[n]:_?.items?.[i]?.fields[n];if(v===void 0)return null;let y=async t=>{if(_===null)return;let r;if(i===void 0)r={..._,fields:{..._.fields,[n]:t}};else{let e=_.items?.[i];if(e===void 0)return;r={..._,items:{..._.items,[i]:{...e,fields:{...e.fields,[n]:t}}}}}await e.save(Y(g,e.target,r))};return a(o,{children:[c(V,{variant:`ghost`,size:`sm`,"data-testid":l??`formula-entry-${t}-${n}`,onClick:()=>h(!0),children:s??d(`compositionEditor.formula`)}),c(cn,{open:m,title:d(`compositionEditor.formulaFor`,{path:p}),fieldPath:n,fieldLabel:p,sourceNames:u,initial:v,onClose:()=>h(!1),onSave:e=>void y(e)})]})}var jn=`kind`,Mn=`unit`,Nn=`unit-unknown`;function Pn(e){return`customize.scalar.fit.${e}`}var Fn=`compile`,In=`dwell`,Ln=`no-value`,Rn=`empty`;function zn(e){return`customize.scalar.previewFailure.${e}`}function Bn(e){return e===`compile`||e===`dwell`||e===`no-value`||e===`empty`}function Vn({preview:e}){let{t}=K();return a(`p`,{className:`text-[11px] text-foreground`,"data-testid":`scalar-preview`,children:[a(`span`,{className:`text-foreground-muted`,children:[t(`customize.scalar.preview`),` `]}),e.kind===`pending`&&c(`span`,{children:`…`}),e.kind===`value`&&c(`span`,{children:e.text}),e.kind===`dwell`&&c(`span`,{children:t(`customize.scalar.previewDwell`,{value:e.sourceText,level:e.active?t(`customize.scalar.thresholdActive`):t(`customize.scalar.thresholdClear`),countdown:t(e.active?`customize.scalar.runningIn`:`customize.scalar.stopsAfter`,{seconds:Math.round(e.countdownMs/1e3)})})}),e.kind===`failed`&&c(`span`,{title:Bn(e.reason)?t(zn(e.reason)):e.reason,className:`text-warning`,children:`?`})]})}function Hn(e){return e.length===1&&e[0]===`threshold`?`threshold`:e.length===1&&e[0]===`invert`||e.includes(`invert`)&&e.every(e=>e===`identity`||e===`invert`)?`invert`:e.length>1?`choice`:`none`}function Un(e){if(e.transforms.includes(`identity`))return{kind:`identity`};if(e.transforms.includes(`threshold`)){let t=Gn(e.declared,`threshold`);if(t!==null)return Wn(t)}if(e.transforms.includes(`linear`)){let t=Gn(e.declared,`linear`);if(t!==null)return Wn(t)}return{kind:`invert`}}function Wn(e){switch(e.kind){case`identity`:return{kind:`identity`};case`invert`:return{kind:`invert`};case`threshold`:return{kind:`threshold`,comparison:e.comparison,threshold:e.defaultThreshold,startDwellMs:e.defaultStartDwellMs,stopDwellMs:e.defaultStopDwellMs};case`linear`:return Kn(e);case`enum-map`:return{kind:`identity`}}}function Gn(e,t){return e.find(e=>e.kind===t)??null}function Kn(e){return{kind:`linear`,scale:e.defaultScale,offset:e.defaultOffset,...e.clampMin!==void 0&&e.clampMax!==void 0?{clampMin:e.clampMin,clampMax:e.clampMax}:{}}}function qn(e){let t=b({draft:{kind:`scalar`,cap:e.cap,targetId:e.targetId,source:{addonId:e.source.addonId,stableId:e.source.stableId,cap:e.source.cap,fieldPath:e.source.fieldPath},transform:e.transform},device:e.device,apply:e.apply,sourceValueKind:e.source.valueKind,changedAtField:e.source.changedAtField,sourceUnit:e.source.sourceUnit});return t.ok?t.value:null}function Jn({control:e,transforms:t,declared:n,unit:r,value:i,onChange:o}){let{t:s}=K();return e===`none`?null:a(`div`,{className:`flex flex-col gap-2`,children:[c(`h3`,{className:`text-[11px] font-medium text-foreground-muted`,children:s(`customize.scalar.stepTransform`)}),e===`choice`&&c(R,{"aria-label":s(`customize.scalar.stepTransform`),value:i.kind,options:t.map(e=>({value:e,label:s(`customize.scalar.transform.${e}`)})),onChange:e=>o(Yn(e.target.value,n))}),i.kind===`invert`||e===`invert`&&i.kind!==`threshold`?a(`label`,{className:`flex items-center gap-2 text-[11px] text-foreground`,children:[c(ve,{checked:i.kind===`invert`,onChange:e=>o(e.target.checked?{kind:`invert`}:{kind:`identity`})}),s(`customize.scalar.invert`)]}):null,i.kind===`threshold`&&c(Zn,{declared:n,unit:r,value:i,onChange:o}),i.kind===`linear`&&c($n,{declared:n,value:i,onChange:o})]})}function Yn(e,t){let n=Gn(t,Xn(e));return n===null?e===`invert`?{kind:`invert`}:{kind:`identity`}:Wn(n)}function Xn(e){return e===`invert`||e===`threshold`||e===`linear`||e===`enum-map`?e:`identity`}function Zn({declared:e,unit:t,value:n,onChange:r}){let{t:i}=K(),o=t??``,s=Gn(e,`threshold`),l=s?.kind===`threshold`?s.comparisons:[];return a(`div`,{className:`flex flex-col gap-2 text-[11px] text-foreground`,children:[l.length>0&&a(`label`,{className:`flex flex-col gap-1`,children:[i(`customize.scalar.comparison`),c(R,{"aria-label":i(`customize.scalar.comparison`),value:n.comparison,options:l.map(e=>({value:e,label:i(`customize.scalar.comparisonValue.${e}`)})),onChange:e=>{let t=l.find(t=>t===e.target.value);t!==void 0&&r({...n,comparison:t})}})]}),c($,{label:i(`customize.scalar.threshold`,{unit:o}),value:n.threshold,onChange:e=>r({...n,threshold:e})}),c($,{label:i(`customize.scalar.startDwell`),value:n.startDwellMs/1e3,onChange:e=>r({...n,startDwellMs:e*1e3})}),c($,{label:i(`customize.scalar.stopDwell`),value:n.stopDwellMs/1e3,onChange:e=>r({...n,stopDwellMs:e*1e3})})]})}function Qn(e){return e===null||e.kind!==`linear`||e.clampMin===void 0||e.clampMax===void 0?null:{min:e.clampMin,max:e.clampMax}}function $n({declared:e,value:t,onChange:n}){let{t:r}=K(),i=Qn(Gn(e,`linear`));return a(`div`,{className:`flex flex-col gap-2 text-[11px] text-foreground`,children:[c($,{label:r(`customize.scalar.scale`),value:t.scale,onChange:e=>n({...t,scale:e})}),c($,{label:r(`customize.scalar.offset`),value:t.offset,onChange:e=>n({...t,offset:e})}),i!==null&&c($,{label:r(`customize.scalar.clampMin`),value:t.clampMin??i.min,onChange:e=>n({...t,clampMin:e,clampMax:t.clampMax??i.max})}),i!==null&&c($,{label:r(`customize.scalar.clampMax`),value:t.clampMax??i.max,onChange:e=>n({...t,clampMin:t.clampMin??i.min,clampMax:e})})]})}function $({label:e,value:t,onChange:n}){return a(`label`,{className:`flex flex-col gap-1`,children:[e,c(Be,{type:`number`,value:Number.isFinite(t)?t:0,onChange:e=>{let t=Number(e.target.value);Number.isFinite(t)&&n(t)}})]})}function er(e){return e===`identity`||e===`invert`||e===`threshold`||e===`linear`}function tr(e,t){let n=Object.entries(A).find(([t])=>t===e)?.[1];return n===void 0?null:n.targets.find(e=>e.id===t)??null}function nr(e,t){return tr(e,t)?.path??null}function rr(e,t){return e.caps.flatMap(e=>{let n=ir(t,e.cap);return e.fields.filter(e=>e.item!==!0).map(t=>({cap:e.cap,path:t.path,kind:t.kind,unit:n}))})}function ir(e,t){if(e===null)return null;let n=Q(e[t],`unit`);return typeof n==`string`&&n.length>0?n:null}function ar(e,t){return t.kind===`boolean`&&t.cap===`switch`?e.find(e=>e.kind===`switch`)??null:t.kind===`boolean`?e.find(e=>e.kind===`binary`)??e.find(e=>e.kind===`field`&&e.valueKinds?.includes(`boolean`))??null:t.kind===`number`?e.find(e=>e.kind===`numeric`)??e.find(e=>e.kind===`field`&&e.valueKinds?.includes(`number`))??null:t.kind===`string`?e.find(e=>e.kind===`field`&&e.valueKinds?.includes(`string`))??null:null}function or(e,t,n){let r=tr(e,t);if(r===null||r.cardinality!==`scalar`||n.kind===`enum`)return{ok:!1,reason:jn};let i=ar(r.sources,n);if(i===null)return{ok:!1,reason:jn};if(i.requiredUnit!==void 0&&n.unit===null)return{ok:!1,reason:Nn};if(i.requiredUnit!==void 0&&n.unit!==i.requiredUnit)return{ok:!1,reason:Mn};let a=i.transformKinds.filter(er);return a.length===0?{ok:!1,reason:jn}:{ok:!0,valueKind:n.kind,sourceUnit:i.requiredUnit??null,transforms:a,declared:i.transforms}}function sr(e){let t=qn(e);if(t===null)return{kind:`failed`,reason:Fn};if(e.transform.kind===`threshold`)return cr(e.transform,e);let n=nr(e.cap,e.targetId),r=n===null?void 0:t.fields[n];if(r===void 0)return{kind:`failed`,reason:Fn};if(r.kind===`from`)return ur(e.sourceValue);if(r.kind!==`expression`)return{kind:`failed`,reason:Fn};if(r.expr.startsWith(`dwell(`))return{kind:`failed`,reason:In};let i=lr(e.sourceValue);if(i===void 0)return{kind:`failed`,reason:Ln};let a=de(r.expr,{x:i},e.nowMs);return a.ok?ur(a.value):{kind:`failed`,reason:a.error}}function cr(e,t){if(typeof t.sourceValue!=`number`||!Number.isFinite(t.sourceValue))return{kind:`failed`,reason:Ln};let n=e.comparison===`gte`?t.sourceValue>=e.threshold:t.sourceValue<=e.threshold,r=t.source.sourceUnit;return{kind:`dwell`,sourceText:r===null?String(t.sourceValue):`${t.sourceValue} ${r}`,active:n,countdownMs:n?e.startDwellMs:e.stopDwellMs}}function lr(e){if(typeof e==`number`||typeof e==`string`||typeof e==`boolean`)return e;if(e===null)return null}function ur(e){return e==null||typeof e==`number`&&!Number.isFinite(e)?{kind:`failed`,reason:Rn}:typeof e==`number`||typeof e==`string`||typeof e==`boolean`?{kind:`value`,text:String(e)}:{kind:`failed`,reason:Rn}}e();function dr(e){return e===`pending`?`pending`:e===`error`?`failed`:`answered`}function fr(e){let{t}=K(),n=e.mode===`change`?t(`customize.scalar.changeTitle`,{title:e.title}):t(`customize.scalar.addTitle`,{title:e.title});return c(H,{open:e.open,onOpenChange:t=>t?void 0:e.onClose(),children:a(Ue,{width:`md`,placement:`sheet-on-mobile`,scroll:`body`,"aria-label":n,children:[c(ze,{children:c(W,{children:n})}),e.open&&c(pr,{...e,heading:n})]})})}function pr(e){let{t,i18n:i}=K(),s=Le({projection:`slim`}),l=n(()=>s.status===`success`?ft(s.data):[],[s.status,s.data]),u=_r(e.seed,l),[d,f]=r(null),[p,m]=r(!1);!p&&u!==null&&(f(u),m(!0));let h=Ae({deviceId:d?.id??0}),g=Se({deviceId:d?.id??0}),_=h.status===`success`?h.data:{caps:[]},v=rr(_,g.status===`success`?g.data:null),[y,b]=r(vr(e.seed)),[x,S]=r(e.seed?.transform??{kind:`identity`}),C=v.find(e=>mr(e)===y)??null,w=C===null?null:or(e.cap,e.targetId,C),T=C===null||w===null||!w.ok?null:hr(d,C,w,_),E=T===null?null:qn({cap:e.cap,targetId:e.targetId,device:e.target,apply:e.apply,source:T,transform:x}),D=C===null||g.status!==`success`||d===null?void 0:Q(g.data[C.cap],C.path),O=T===null?null:g.status===`pending`?{kind:`pending`}:sr({cap:e.cap,targetId:e.targetId,device:e.target,apply:e.apply,source:T,transform:x,sourceValue:D,nowMs:Date.now()}),k=typeof e.host.location==`string`&&e.host.location.length>0?e.host.location:null,A=e=>{let t=l.find(t=>t.id===e);t!==void 0&&(f(t),b(null),S({kind:`identity`}))},j=t=>{let n=or(e.cap,e.targetId,t);n.ok&&(b(mr(t)),S(Un(n)))};return a(o,{children:[a(U,{className:`flex flex-col gap-3 p-2 sm:p-4`,children:[a(`section`,{className:`flex flex-col gap-1`,"aria-label":t(`customize.scalar.stepDevice`),children:[c(`h3`,{className:`text-[11px] font-medium text-foreground-muted`,children:t(`customize.scalar.stepDevice`)}),d===null?c(o,{children:s.status===`error`?c(B,{title:t(`customize.picker.devicesFailed`),message:s.error?.message??``}):c(we,{devices:gr(l,e.host.id),listState:dr(s.status),value:[],selection:`single`,...k===null?{}:{groupBy:`location`},onChange:e=>{let t=e[0];t!==void 0&&A(t)},noun:`device`,showAll:!0,testId:`scalar-device-picker`})}):a(`p`,{className:`flex flex-wrap items-center gap-2 text-xs text-foreground`,children:[d.name,c(V,{variant:`ghost`,size:`sm`,onClick:()=>f(null),children:t(`customize.scalar.changeDevice`)})]})]}),d!==null&&a(`section`,{className:`flex flex-col gap-1`,"aria-label":t(`customize.scalar.stepField`),children:[c(`h3`,{className:`text-[11px] font-medium text-foreground-muted`,children:t(`customize.scalar.stepField`)}),h.status===`pending`&&c(`p`,{role:`status`,className:`text-[11px] text-foreground-subtle`,children:t(`customize.picker.loadingFields`)}),h.status===`error`&&c(B,{title:t(`customize.picker.fieldsFailed`),message:h.error?.message??``}),h.status===`success`&&c(`ul`,{className:`flex flex-col gap-1`,children:v.map(n=>{let r=or(e.cap,e.targetId,n),o=mr(n);return a(`li`,{className:`flex flex-wrap items-center gap-2 text-[11px]`,children:[a(`label`,{className:`flex items-center gap-2 text-foreground`,children:[c(`input`,{type:`radio`,name:`scalar-field`,checked:y===o,disabled:!r.ok,onChange:()=>j(n)}),a(`span`,{children:[J(n.cap,n.path,i.language),n.unit===null?``:` (${n.unit})`]})]}),!r.ok&&c(`span`,{className:`text-foreground-subtle`,children:t(Pn(r.reason))})]},o)})})]}),w!==null&&w.ok&&c(Jn,{control:Hn(w.transforms),transforms:w.transforms,declared:w.declared,unit:w.sourceUnit,value:x,onChange:S}),O!==null&&c(Vn,{preview:O})]}),a(Me,{className:`flex flex-wrap gap-2`,children:[c(V,{variant:`ghost`,onClick:e.onClose,children:t(`customize.scalar.cancel`)}),c(V,{"data-testid":`scalar-save-override`,disabled:!e.canSave||E===null,onClick:()=>{E!==null&&e.onSave(E)},children:t(`customize.scalar.save`)})]})]})}function mr(e){return`${e.cap}.${e.path}`}function hr(e,t,n,r){if(e===null||t.kind!==`boolean`&&t.kind!==`number`&&t.kind!==`string`)return null;let i=r.caps.find(e=>e.cap===t.cap),a=t.kind===`boolean`&&i?.fields.some(e=>e.path===`lastChangedAt`)?`lastChangedAt`:null;return{addonId:e.addonId,stableId:e.stableId,cap:t.cap,fieldPath:t.path,valueKind:t.kind,sourceUnit:n.sourceUnit,changedAtField:a}}function gr(e,t){return e.filter(e=>e.id!==t).map(e=>({id:e.id,name:e.name,type:e.type,...e.location===null?{}:{location:e.location}}))}function _r(e,t){return e===null?null:t.find(t=>t.addonId===e.source.addonId&&t.stableId===e.source.stableId)??null}function vr(e){return e===null?null:`${e.source.cap}.${e.source.fieldPath}`}var yr=`Assigned · `;function br(e,t){if(e===`Native`)return{kind:`native`};if(e===`Native · source missing`)return{kind:`released`};if(e===`pending`)return{kind:`pending`};if(e===`unknown`)return{kind:`unknown`};if(e.startsWith(yr)){let n=e.slice(11);return{kind:`assigned`,source:t??n}}return{kind:`unknown`}}e();var xr={battery:m,"running-state":_};function Sr(){return Object.entries(A).flatMap(([e,t])=>t.targets.filter(e=>e.cardinality===`scalar`).map(t=>({cap:e,target:t})))}function Cr({device:e,handle:t,availability:n,cap:i,target:s}){let{t:l,i18n:u}=K(),d=Z(),[f,p]=r(!1),[m,h]=r(null),g=l(`customize.scalar.caps.${i}`),_=s.path??s.id,v=q(t.state),y=Tr(t,X(v,i)),b=y.kind===`known`&&y.value!==null?oe({feature:y.value,device:t.target,cap:i,targetId:s.id}):null,x=b!==null,S=Xe(x),C=b===null||S.kind!==`known`?null:S.value.find(e=>L({addonId:e.addonId,stableId:e.stableId})===L(b.draft.source))??null,w=C?.name??null,T=Er(x,S.kind,C!==null),E=ne({cap:i,targetId:s.id,device:t.target,stored:y,sourcePresence:T,sourceUnknownReason:S.kind===`unknown`?S.reason:null}),D=br(E.text,w),O=t.state.kind===`none`||t.state.kind===`present`,k=n.kind===`present`?n.mode:null;if(n.kind===`absent`||!s.deviceTypes.includes(e.type))return null;let A=async e=>{let n=await t.save(e);h(n.kind===`refused`?n.reason:null)},j=async()=>{if(v===null)return;let t=st(v,i);await d(l(`customize.scalar.removeWhat`,{name:w??(b===null?e.name:L(b.draft.source))}),t===null)&&await A(t)},M=b===null?null:{source:{addonId:b.draft.source.addonId,stableId:b.draft.source.stableId,cap:b.draft.source.cap,fieldPath:b.draft.source.fieldPath,valueKind:b.sourceValueKind,sourceUnit:b.sourceUnit,changedAtField:b.changedAtField},transform:b.draft.transform},ee=D.kind===`assigned`?l(`customize.scalar.badge.assigned`,{source:D.source}):l(`customize.scalar.badge.${D.kind}`);return a(o,{children:[c(Ke,{id:i,icon:xr[i],title:g,testId:`scalar-card-${i}`,actions:c(z,{children:ee}),children:c(wr,{availability:n,answered:O,deviceId:e.id,cap:i,path:_,recognized:x,stored:y,presence:T,released:E.status.state===`released`,sourceName:w,sourceCap:b?.draft.source.cap??``,sourceField:b===null?``:J(b.draft.source.cap,b.draft.source.fieldPath,u.language),sourcePath:b?.draft.source.fieldPath??``,sourceDeviceId:C?.id??null,error:m,saving:t.saving,mode:k,onOpen:()=>p(!0),onRemove:()=>void j(),handle:t})}),k!==null&&c(fr,{open:f,mode:M===null?`add`:`change`,title:g,cap:i,targetId:s.id,host:e,target:t.target,apply:k,seed:M,canSave:O&&!t.saving,onClose:()=>p(!1),onSave:e=>{p(!1),A(Y(v,t.target,e))}})]})}function wr(e){let{t}=K();if(e.availability.kind===`pending`||e.availability.kind===`present`&&!e.answered)return c(`p`,{role:`status`,className:`px-3 py-2 text-xs text-foreground-subtle sm:px-4`,children:t(`customize.scalar.checking`)});if(e.availability.kind===`unknown`)return c(`div`,{className:`px-3 py-2 sm:px-4`,children:c(B,{title:t(`customize.scalar.unreadable`),message:e.availability.reason})});let n=e.stored.kind===`known`&&e.stored.value===null,r=!e.recognized&&e.stored.kind===`known`&&e.stored.value!==null;return a(`div`,{className:`flex flex-col gap-2 px-3 py-2 sm:px-4`,children:[a(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:t(`customize.scalar.effective`)}),c(Et,{target:{deviceId:e.deviceId,cap:e.cap,path:e.path}})]}),e.released&&c(`p`,{className:`text-xs text-foreground`,children:t(`customize.scalar.released`)}),e.presence===`unknown`&&e.recognized&&c(B,{title:t(`customize.scalar.sourceUnreadable`),message:t(`customize.scalar.sourceHeld`,{name:e.sourceName??e.sourceCap})}),e.recognized&&!e.released&&a(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:t(`customize.scalar.override`,{name:e.sourceName??`…`,field:e.sourceField})}),e.sourceDeviceId!==null&&c(Et,{target:{deviceId:e.sourceDeviceId,cap:e.sourceCap,path:e.sourcePath}})]}),r&&a(`p`,{className:`text-xs text-foreground flex flex-wrap items-center gap-1`,children:[t(`customize.scalar.otherFormula`),c(An,{handle:e.handle,cap:e.cap,fieldPath:e.path})]}),n&&c(`p`,{className:`text-xs text-foreground-subtle`,children:t(`customize.scalar.noOverride`)}),e.error!==null&&c(`p`,{role:`alert`,className:`text-xs text-danger break-words`,children:e.error}),a(`div`,{className:`flex flex-wrap gap-2`,children:[e.recognized&&c(V,{variant:`outline`,size:`sm`,onClick:e.onOpen,disabled:e.saving,children:e.released?t(`customize.scalar.chooseAnother`):t(`customize.scalar.change`)}),e.recognized&&c(V,{variant:`ghost`,size:`sm`,onClick:e.onRemove,disabled:e.saving,children:t(`customize.scalar.remove`)}),n&&c(V,{variant:`outline`,size:`sm`,"data-testid":`scalar-add-${e.cap}`,disabled:e.saving||e.mode===null,onClick:e.onOpen,children:t(`customize.scalar.add`)})]})]})}function Tr(e,t){return e.state.kind===`pending`?{kind:`pending`}:e.state.kind===`unknown`||e.state.kind===`not-loaded`?{kind:`unknown`,reason:e.state.reason}:{kind:`known`,value:t}}function Er(e,t,n){return e?t===`pending`?`pending`:t===`unknown`?`unknown`:n?`present`:`absent`:`present`}function Dr({device:e,handle:t,facts:n}){return c(o,{children:Sr().map(r=>r.target.deviceTypes.includes(e.type)?c(Cr,{device:e,handle:t,availability:On(wn(r.cap,r.target),n),cap:r.cap,target:r.target},r.cap):null)})}function Or({name:e,detail:t,meta:n,value:r,shown:i,readout:o,problem:s,onRemove:l,removeLabel:u,busy:d=!1}){return a(`li`,{className:`${f} grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 sm:grid-cols-[minmax(0,2fr)_minmax(0,1fr)_minmax(0,1fr)_1.75rem]`,children:[a(`div`,{className:`min-w-0`,children:[c(`div`,{className:`text-xs text-foreground break-words`,children:e}),t!==null&&c(`div`,{className:`text-[11px] text-foreground-subtle break-words`,children:t}),s!==void 0&&c(`div`,{role:`alert`,className:`text-[11px] text-warning break-words`,children:s})]}),c(`div`,{className:`row-start-2 col-start-1 text-[11px] text-foreground-subtle empty:hidden sm:row-start-auto sm:col-start-auto sm:empty:block`,children:n}),c(`div`,{className:`row-start-3 col-start-1 empty:hidden sm:row-start-auto sm:col-start-auto sm:empty:block`,children:o===void 0?i===void 0?c(Et,{target:r}):i!==null&&c(Dt,{display:i}):o}),c(`div`,{className:`row-start-1 col-start-2 flex justify-end sm:row-start-auto sm:col-start-auto`,children:l!==void 0&&c(Ce,{icon:h,variant:`ghost`,size:`sm`,"aria-label":u,disabled:d,onClick:l})})]})}function kr(e){return e.toLowerCase().normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)}function Ar(e){return e===`identity`||e===`invert`||e===`threshold`||e===`linear`}function jr(e){return Object.hasOwn(A,e)}function Mr(e){return jr(e)?A[e].targets:[]}function Nr(e,t){let n=Mr(e).find(e=>e.id===t);return n?.cardinality===`keyedArray`?n.fields??[]:[]}function Pr(e,t){return Mr(e).find(e=>e.id===t)?.traits??[]}function Fr(e,t){return e.caps.flatMap(e=>{let n=Ir(t,e.cap);return e.fields.filter(e=>e.item!==!0).map(t=>({cap:e.cap,path:t.path,kind:t.kind,unit:n,enumValues:t.enumValues??[]}))})}function Ir(e,t){if(e===null)return null;let n=Q(e[t],`unit`);return typeof n==`string`&&n.length>0?n:null}function Lr(e,t){return t.kind===`number`?e.find(e=>e.kind===`numeric`)??null:t.kind===`enum`||t.kind===`string`?e.find(e=>e.kind===`enum`)??null:null}function Rr(e,t,n,r){let i=Nr(e,t).find(e=>e.path===n);if(i===void 0)return{ok:!1,reason:`kind`};let a=Lr(i.sources,r);if(a===null)return{ok:!1,reason:`kind`};if(a.requiredUnit!==void 0&&r.unit===null)return{ok:!1,reason:`unit-unknown`};if(a.requiredUnit!==void 0&&r.unit!==a.requiredUnit)return{ok:!1,reason:`unit`};if(a.transformKinds.includes(`enum-map`))return{ok:!0,mode:`enum`};let o=a.transformKinds.filter(Ar);return o.length===0||r.kind!==`number`?{ok:!1,reason:`kind`}:{ok:!0,mode:`scalar`,fit:{ok:!0,valueKind:`number`,sourceUnit:a.requiredUnit??null,transforms:o,declared:a.transforms}}}function zr(e,t,n){return Nr(e,t).find(e=>e.path===n)?.enumValues??[]}function Br(e){return!e.ok||e.mode===`enum`?{kind:`identity`}:Un(e.fit)}function Vr(e,t){return Object.fromEntries(e.map(e=>[e,t.includes(e)?e:null]))}function Hr(e){let t={draft:{kind:`keyedArray`,cap:e.cap,targetId:e.targetId,key:e.key,label:e.label.trim(),fieldPath:e.fieldPath,source:{addonId:e.source.addonId,stableId:e.source.stableId,cap:e.source.cap,fieldPath:e.source.fieldPath},transform:e.transform},sourceValueKind:e.source.valueKind,sourceUnit:null,literals:e.literals},n=w({cap:e.cap,targetId:e.targetId,device:e.device,apply:e.apply,items:[t]});return n.ok?n.value:null}function Ur(e,t,n){return(Nr(e,t).find(e=>e.path===n)?.literals??[]).map(e=>e.path)}function Wr(e,t,n,r){return Nr(e,t).find(e=>e.path===n)?.literals?.find(e=>e.path===r)?.values??[]}function Gr(e,t,n){return zr(e,t,n)}e();var Kr={level:`customize.keyed.field.level`,"remaining.value":`customize.keyed.field.remaining`,status:`customize.keyed.field.status`};function qr(e){return e===`pending`?`pending`:e===`error`?`failed`:`answered`}function Jr(e){let{t}=K(),n=e.mode===`change`?t(`customize.keyed.changeTitle`):t(`customize.keyed.addTitle`);return c(H,{open:e.open,onOpenChange:t=>t?void 0:e.onClose(),children:a(Ue,{width:`md`,placement:`sheet-on-mobile`,scroll:`body`,"aria-label":n,children:[c(ze,{children:c(W,{children:n})}),e.open&&c(Yr,{...e,heading:n})]})})}function Yr(e){let{t,i18n:i}=K(),s=Pr(e.cap,e.targetId),l=Nr(e.cap,e.targetId),[u,d]=r(e.seed?.label??``),[f,p]=r(e.seed?.key??``),[m,h]=r(e.mode===`change`),[g,_]=r(e.seed?.fieldPath??l[0]?.path??``),[v,y]=r(()=>Object.fromEntries(s.map(t=>[t.path,e.seed?.literals.find(e=>e.path===t.path)?.value??t.defaultValue]))),[b,x]=r(e.seed?.literals.find(e=>e.path===`remaining.unit`)?.value??Wr(e.cap,e.targetId,`remaining.value`,`remaining.unit`)[0]??``),S=Le({projection:`slim`}),C=n(()=>S.status===`success`?ft(S.data):[],[S.status,S.data]),w=ri(e.seed,C),[T,E]=r(null),[D,O]=r(!1);!D&&w!==null&&(E(w),O(!0));let k=Ae({deviceId:T?.id??0}),A=Se({deviceId:T?.id??0}),j=Fr(k.status===`success`?k.data:{caps:[]},A.status===`success`?A.data:null),[M,ee]=r(e.seed===null?null:`${e.seed.source.cap}.${e.seed.source.fieldPath}`),[te,N]=r(e.seed?.transform??{kind:`identity`}),[ne,re]=r(()=>e.seed?.transform.kind===`enum-map`?e.seed.transform.mapping:{}),P=j.find(e=>`${e.cap}.${e.path}`===M)??null,F=P===null?null:Rr(e.cap,e.targetId,g,P),I=m?f:kr(u),ie=Zr(e.cap,e.targetId,g,v,b),ae=Qr(T,P,F,ne,te),oe=ae===null?null:Hr({cap:e.cap,targetId:e.targetId,device:e.target,apply:e.apply,key:I,label:u,fieldPath:g,source:ae,transform:ae.transform,literals:ie}),se=$r(oe,I,g,P,A.status===`success`?A.data:null),ce=typeof e.host.location==`string`&&e.host.location.length>0?e.host.location:null,le=e=>{d(e),m||p(kr(e))};return a(o,{children:[a(U,{className:`flex flex-col gap-3 p-2 sm:p-4`,children:[a(`label`,{className:`flex flex-col gap-1 text-xs text-foreground`,children:[t(`customize.keyed.name`),c(Be,{value:u,onChange:e=>le(e.target.value)})]}),a(`label`,{className:`flex flex-col gap-1 text-xs text-foreground`,children:[t(`customize.keyed.key`),c(Be,{value:I,disabled:e.mode===`change`,onChange:e=>{h(!0),p(e.target.value)}})]}),a(`label`,{className:`flex flex-col gap-1 text-xs text-foreground`,children:[t(`customize.keyed.assignField`),c(R,{value:g,options:l.map(e=>({value:e.path,label:t(Kr[e.path]??e.path)})),onChange:e=>{_(e.target.value),ee(null),N({kind:`identity`})}})]}),s.map(e=>a(`label`,{className:`flex flex-col gap-1 text-xs text-foreground`,children:[t(`customize.keyed.trait.${e.path}`),c(R,{value:v[e.path]??e.defaultValue,options:e.values.map(e=>({value:e,label:t(`customize.keyed.value.${e}`)})),onChange:t=>y(n=>({...n,[e.path]:t.target.value}))})]},e.path)),Ur(e.cap,e.targetId,g).map(n=>a(`label`,{className:`flex flex-col gap-1 text-xs text-foreground`,children:[t(`customize.keyed.unit`),c(R,{value:b,options:Wr(e.cap,e.targetId,g,n).map(e=>({value:e,label:t(`customize.keyed.value.${e}`)})),onChange:e=>x(e.target.value)})]},n)),a(`section`,{className:`flex flex-col gap-1`,"aria-label":t(`customize.scalar.stepDevice`),children:[c(`h3`,{className:`text-[11px] font-medium text-foreground-muted`,children:t(`customize.scalar.stepDevice`)}),T===null?S.status===`error`?c(B,{title:t(`customize.picker.devicesFailed`),message:S.error?.message??``}):c(we,{devices:ni(C,e.host.id),listState:qr(S.status),value:[],selection:`single`,...ce===null?{}:{groupBy:`location`},onChange:e=>{let t=e[0],n=t===void 0?void 0:C.find(e=>e.id===t);n!==void 0&&(E(n),ee(null))},noun:`device`,showAll:!0,testId:`keyed-device-picker`}):a(`p`,{className:`flex flex-wrap items-center gap-2 text-xs text-foreground`,children:[T.name,c(V,{variant:`ghost`,size:`sm`,onClick:()=>E(null),children:t(`customize.scalar.changeDevice`)})]})]}),T!==null&&c(`ul`,{className:`flex flex-col gap-1`,children:j.map(n=>{let r=Rr(e.cap,e.targetId,g,n),o=`${n.cap}.${n.path}`,s=r.ok&&(r.mode===`scalar`||n.enumValues.length>0);return a(`li`,{className:`flex flex-wrap items-center gap-2 text-[11px]`,children:[a(`label`,{className:`flex items-center gap-2 text-foreground`,children:[c(`input`,{type:`radio`,name:`keyed-field`,checked:M===o,disabled:!s,onChange:()=>ue(n,r)}),a(`span`,{children:[J(n.cap,n.path,i.language),n.unit===null?``:` (${n.unit})`]})]}),!r.ok&&c(`span`,{className:`text-foreground-subtle`,children:t(Pn(r.reason))})]},o)})}),F?.ok===!0&&F.mode===`scalar`&&c(Jn,{control:F.fit.transforms.includes(`linear`)?`choice`:`none`,transforms:F.fit.transforms,declared:F.fit.declared,unit:F.fit.sourceUnit,value:te,onChange:N}),F?.ok===!0&&F.mode===`enum`&&P!==null&&c(Xr,{values:P.enumValues,outputs:Gr(e.cap,e.targetId,g),mapping:ne,onChange:re}),se!==null&&c(Vn,{preview:se})]}),a(Me,{className:`flex flex-wrap gap-2`,children:[c(V,{variant:`ghost`,onClick:e.onClose,children:t(`customize.scalar.cancel`)}),c(V,{"data-testid":`keyed-save-item`,disabled:!e.canSave||oe===null||I===``,onClick:()=>{oe!==null&&e.onSave(oe,I)},children:t(`customize.keyed.save`)})]})]});function ue(t,n){if(n.ok){if(ee(`${t.cap}.${t.path}`),n.mode===`enum`){let n=Vr(t.enumValues,Gr(e.cap,e.targetId,g));re(n),N({kind:`enum-map`,mapping:{...n}});return}N(Br(n))}}}function Xr(e){let{t}=K();return c(`div`,{className:`flex flex-col gap-1`,children:e.values.map(n=>a(`label`,{className:`flex flex-wrap items-center gap-2 text-xs text-foreground`,children:[n,c(R,{value:e.mapping[n]??``,options:[{value:``,label:t(`customize.keyed.unmapped`)},...e.outputs.map(e=>({value:e,label:t(`customize.keyed.value.${e}`)}))],onChange:t=>e.onChange({...e.mapping,[n]:t.target.value===``?null:t.target.value})})]},n))})}function Zr(e,t,n,r,i){let a=Object.entries(r).map(([e,t])=>({path:e,value:t})),o=Ur(e,t,n).flatMap(e=>i===``?[]:[{path:e,value:i}]);return[...a,...o]}function Qr(e,t,n,r,i){return e===null||t===null||n===null||!n.ok?null:n.mode===`enum`?Object.keys(r).length===0?null:{addonId:e.addonId,stableId:e.stableId,cap:t.cap,fieldPath:t.path,valueKind:`enum`,transform:{kind:`enum-map`,mapping:{...r}}}:{addonId:e.addonId,stableId:e.stableId,cap:t.cap,fieldPath:t.path,valueKind:`number`,transform:i}}function $r(e,t,n,r,i){if(e===null||r===null)return null;let a=e.items?.[t]?.fields[n];if(a===void 0)return{kind:`failed`,reason:`compile`};if(i===null)return{kind:`pending`};let o=Q(i[r.cap],r.path);if(a.kind===`from`)return ei(o);if(a.kind!==`expression`)return{kind:`failed`,reason:`compile`};let s=ti(o);if(s===void 0)return{kind:`failed`,reason:`no-value`};let c=de(a.expr,{x:s},Date.now());return c.ok?ei(c.value):{kind:`failed`,reason:c.error}}function ei(e){return typeof e==`number`&&Number.isFinite(e)?{kind:`value`,text:String(e)}:typeof e==`string`&&e.length>0?{kind:`value`,text:e}:{kind:`failed`,reason:`empty`}}function ti(e){if(typeof e==`number`||typeof e==`string`||typeof e==`boolean`)return e;if(e===null)return null}function ni(e,t){return e.filter(e=>e.id!==t).map(e=>({id:e.id,name:e.name,type:e.type,...e.location===null?{}:{location:e.location}}))}function ri(e,t){return e===null?null:t.find(t=>t.addonId===e.source.addonId&&t.stableId===e.source.stableId)??null}var ii=`consumables`,ai=`items`,oi=D.shape.items;function si(e){let t=e.split(`.`).pop()??e,n=t.replace(/Level$/,``);return n===``?t:n}function ci(e){let t=e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)}function li(e,t){return e.caps.filter(e=>t.has(e.cap)&&e.cap!==`consumables`).flatMap(e=>e.fields.filter(e=>e.item!==!0&&De(e)).map(t=>({kind:`field`,key:si(t.path),cap:e.cap,path:t.path})))}function ui(e){switch(e.kind){case`pending`:return{kind:`pending`};case`unknown`:return{kind:`unknown`,reason:e.reason};case`absent`:return{kind:`known`,value:[]};case`value`:{if(e.value===null)return{kind:`known`,value:[]};let t=oi.safeParse(e.value);return t.success?{kind:`known`,value:t.data.map(e=>({kind:`item`,key:e.key,item:e}))}:{kind:`unknown`,reason:t.error.message}}}}function di(e,t,n){if(e.kind!==`known`)return e;if(t.kind!==`known`)return t;let r=li(t.value,e.value);if(!e.value.has(`consumables`)||n===null)return{kind:`known`,value:r};let i=ui(n);return i.kind===`known`?{kind:`known`,value:[...r,...i.value]}:i}function fi(e){return e.defaults.map(t=>t.kind===`field`?c(pi,{deviceId:e.deviceId,entry:t},`field:${t.cap}.${t.path}`):c(hi,{entry:t},`item:${t.key}`))}function pi(e){let{t}=K(),n=wt({deviceId:e.deviceId,cap:e.entry.cap,path:e.entry.path});return c(Or,{name:t(`customize.consumables.fields.${e.entry.key}`,{defaultValue:ci(e.entry.key)}),detail:t(`customize.consumables.builtIn`),meta:t(`customize.assign.native`),value:null,readout:c(mi,{value:n}),removeLabel:``})}function mi(e){switch(e.value.kind){case`pending`:return c(Dt,{display:{text:`…`,tone:`muted`}});case`unknown`:return c(Dt,{display:{text:`?`,title:e.value.reason,tone:`warning`}});case`absent`:return c(be,{level:null,size:`sm`});case`value`:return c(be,{level:Fe(e.value.value),size:`sm`})}}function hi(e){let{t}=K(),{item:n}=e.entry,r=n.level===null?n.status===`replace`?t(`uiLibrary.consumablesPanel.replace`):void 0:`${Math.round(n.level)} %`;return c(Or,{name:n.label,detail:t(`customize.consumables.builtIn`),meta:t(`customize.assign.native`),value:null,readout:c(be,{level:ye(n),label:r,size:`sm`}),removeLabel:``})}e();var gi={consumables:d};function _i(){return Object.entries(A).flatMap(([e,t])=>t.targets.filter(e=>e.cardinality===`keyedArray`).map(t=>({cap:e,target:t})))}function vi(e){let{t,i18n:n}=K(),i=Z(),[s,l]=r(null),[u,d]=r(null),f=q(e.handle.state),p=X(f,e.cap),m=xi(e.handle,p),h=m.kind===`known`&&m.value!==null?ee(m.value,e.cap,e.target.id):null,g=Xe(h!==null),_=Si(h,g),v=te({cap:e.cap,targetId:e.target.id,device:e.handle.target,stored:m,sourcePresence:_,sourceUnknownReason:g.kind===`unknown`?g.reason:null});if(!bi(e,p))return null;let y=e.handle.state.kind===`none`||e.handle.state.kind===`present`,b=e.availability.kind===`present`&&y,x=e.target.apply===`replace`?`replace`:`add`,C=t(`customize.keyed.title.${e.cap}`),w=Ti(t,v.text,v.assignedCount),T=async t=>{let n=await e.handle.save(t);d(n.kind===`refused`?n.reason:null)},E=async n=>{if(f===null||p===null)return;let r=k(p,n.key),a=r===null?st(f,e.cap):Y(f,e.handle.target,r);await i(t(`customize.consumables.removeWhat`,{name:n.label}),a===null)&&await T(a)},D=s!==null&&s!==`add`?wi(h,s):null;return a(o,{children:[c(Ke,{id:e.cap,icon:gi[e.cap],title:C,testId:`keyed-card-${e.cap}`,actions:c(z,{children:w}),children:a(`div`,{className:`flex flex-col gap-2 px-3 py-2 sm:px-4`,children:[e.defaults.kind===`known`&&c(fi,{deviceId:e.device.id,defaults:e.defaults.value}),e.defaults.kind===`unknown`&&c(B,{title:t(`customize.consumables.builtIn`),message:t(`customize.consumables.builtInUnreadable`,{reason:e.defaults.reason})}),h?.items.map(t=>c(yi,{deviceId:e.device.id,cap:e.cap,item:t,language:n.language,sourceName:Ci(t,g),saving:e.handle.saving,onChange:()=>l(t.key),onRemove:()=>void E(t),handle:e.handle},t.key)),u!==null&&c(`p`,{role:`alert`,className:`text-xs text-danger break-words`,children:u}),b&&c(V,{variant:`outline`,size:`sm`,"data-testid":`keyed-add-${e.cap}`,disabled:e.handle.saving,onClick:()=>l(`add`),children:t(`customize.keyed.add`)})]})}),c(Jr,{open:s!==null,mode:s===`add`?`add`:`change`,cap:e.cap,targetId:e.target.id,host:e.device,target:e.handle.target,apply:x,seed:D,canSave:y&&!e.handle.saving,onClose:()=>l(null),onSave:(n,r)=>{if(s===`add`&&p?.items!==void 0&&p.items[r]!==void 0){d(t(`customize.keyed.duplicateKey`,{key:r}));return}let i=S(p,n,r);l(null),i!==null&&(d(null),T(Y(f,e.handle.target,i)))}})]})}function yi(e){let{t}=K(),n=e.item.compile,r=e.item.recognized&&n!==null,i=n===null?``:J(n.draft.source.cap,n.draft.source.fieldPath,e.language),o=r?[e.sourceName??``,i].filter(e=>e.length>0).join(` · `):t(`customize.consumables.otherFormula`),s=n===null?null:le(re,e.item.key,n.draft.fieldPath);return a(`div`,{className:`flex flex-col gap-1`,"data-testid":`keyed-row-${e.item.key}`,children:[c(Or,{name:e.item.label,detail:o,meta:r?t(`customize.keyed.assigned`):null,value:s===null?null:{deviceId:e.deviceId,cap:e.cap,path:s},readout:s===null?null:c(Et,{target:{deviceId:e.deviceId,cap:e.cap,path:s}}),removeLabel:``}),a(`div`,{className:`flex flex-wrap gap-2`,children:[r&&c(V,{variant:`outline`,size:`sm`,disabled:e.saving,onClick:e.onChange,children:t(`customize.keyed.change`)}),r&&c(V,{variant:`ghost`,size:`sm`,disabled:e.saving,onClick:e.onRemove,children:t(`customize.keyed.remove`)}),!r&&c(An,{handle:e.handle,cap:e.cap,itemKey:e.item.key,fieldPath:`status`})]})]})}function bi(e,t){return e.target.deviceTypes.includes(e.device.type)?e.availability.kind!==`absent`||e.defaults.kind!==`known`||e.defaults.value.length>0?!0:t!==null:!1}function xi(e,t){return e.state.kind===`pending`?{kind:`pending`}:e.state.kind===`unknown`||e.state.kind===`not-loaded`?{kind:`unknown`,reason:e.state.reason}:{kind:`known`,value:t}}function Si(e,t){let n=(e?.items??[]).filter(e=>e.recognized&&e.compile!==null);return n.length===0?`present`:t.kind===`pending`?`pending`:t.kind===`unknown`?`unknown`:n.every(e=>{let n=e.compile?.draft.source;if(n===void 0)return!1;let r=L(n);return t.value.some(e=>L({addonId:e.addonId,stableId:e.stableId})===r)})?`present`:`absent`}function Ci(e,t){let n=e.compile?.draft.source;if(n===void 0||t.kind!==`known`)return null;let r=L(n);return t.value.find(e=>L({addonId:e.addonId,stableId:e.stableId})===r)?.name??null}function wi(e,t){let n=e?.items.find(e=>e.key===t),r=n?.compile;return n===void 0||r==null?null:{key:n.key,label:n.label,fieldPath:r.draft.fieldPath,literals:r.literals,source:{addonId:r.draft.source.addonId,stableId:r.draft.source.stableId,cap:r.draft.source.cap,fieldPath:r.draft.source.fieldPath,valueKind:r.sourceValueKind},transform:r.draft.transform}}function Ti(e,t,n){return t===`Native`?e(`customize.keyed.badge.native`):t===`pending`?e(`customize.keyed.badge.pending`):t===`unknown`?e(`customize.keyed.badge.unknown`):t.endsWith(`assigned`)?e(`customize.keyed.badge.assigned`,{count:n}):t}function Ei(e){return c(o,{children:_i().map(t=>t.target.deviceTypes.includes(e.device.type)?c(vi,{device:e.device,handle:e.handle,availability:On(wn(t.cap,t.target),e.facts),cap:t.cap,target:t.target,defaults:e.defaults},t.cap):null)})}function Di(){return Object.entries(A).flatMap(([e,t])=>t.targets.filter(e=>e.cardinality===`event`).map(t=>({cap:e,pulse:Oi(t),span:ki(t)})).filter(e=>e.pulse!==null||e.span!==null))}function Oi(e){if(e.shape!==`pulse`)return null;let t=ji(e.apply);return e.timestampPath===void 0||e.counterPath===void 0||e.debounceMs===void 0||e.edges===void 0||e.defaultEdge===void 0||!e.edges.includes(e.defaultEdge)||t===null?null:{id:e.id,timestampPath:e.timestampPath,counterPath:e.counterPath,debounceMs:e.debounceMs,edges:e.edges,defaultEdge:e.defaultEdge,apply:t,deviceTypes:e.deviceTypes}}function ki(e){return e.shape!==`span`||e.timeoutMs===void 0||e.applyAuthority?.kind!==`camera-sensors`?null:{id:e.id,timeoutMs:e.timeoutMs,cooldownMs:e.cooldownMs??null,sourceModes:e.sourceModes??[`in-addition`],deviceTypes:e.deviceTypes}}function Ai(e,t){return e===`Native`||e.startsWith(`Native`)?`customize.assign.native`:e===`pending`?`customize.event.checking`:e===`unknown`||e===`unreadable`?`customize.event.badge.unavailable`:`customize.event.badge.${t}`}function ji(e){return e===`add`||e===`replace`?e:null}export{Ze as A,ut as C,at as D,it as E,Je as M,qe as N,J as O,Ke as P,X as S,st as T,hn as _,ii as a,ft as b,Dr as c,rr as d,An as f,Sn as g,wn as h,_i as i,Xe as j,q as k,Sr as l,Cn as m,Di as n,ai as o,On as p,Ei as r,di as s,Ai as t,ar as u,wt as v,Y as w,Z as x,Q as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./i18n-
|
|
1
|
+
import{t as e}from"./i18n-BaJUrB-h.js";var t=6e4,n=60*t,r=24*n,i=Date.UTC(2e3,0,1);function a(a){if(a==null||a<i)return`—`;let o=Date.now()-a;return o<0||o<3e4?e.t(`helpers.relativeTime.justNow`):o<n?e.t(`helpers.relativeTime.minutesAgo`,{count:Math.floor(o/t)}):o<r?e.t(`helpers.relativeTime.hoursAgo`,{count:Math.floor(o/n)}):e.t(`helpers.relativeTime.daysAgo`,{count:Math.floor(o/r)})}export{a as n,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{na as e}from"./player-overlays-
|
|
1
|
+
import{na as e}from"./player-overlays-D78AKVl-.js";var t=e(`hard-drive-download`,[[`path`,{d:`M12 2v8`,key:`1q4o3n`}],[`path`,{d:`m16 6-4 4-4-4`,key:`6wukr`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,key:`w68u3i`}],[`path`,{d:`M6 18h.01`,key:`uhywen`}],[`path`,{d:`M10 18h.01`,key:`h775k`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./vite-preload-helper-kNaey6uv.js";var t=`__mf_module_cache__`;globalThis[t]||={share:{},remote:{}},globalThis[t].share||={},globalThis[t].remote||={};var n=globalThis[t],r;async function i(){return r||=(async()=>{let t=await(await e(()=>import(`./remoteEntry-
|
|
1
|
+
import{t as e}from"./vite-preload-helper-kNaey6uv.js";var t=`__mf_module_cache__`;globalThis[t]||={share:{},remote:{}},globalThis[t].share||={},globalThis[t].remote||={};var n=globalThis[t],r;async function i(){return r||=(async()=>{let t=await(await e(()=>import(`./remoteEntry-BJhQZDNB.js`),[],import.meta.url)).init(),r={react:{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}},"react-dom":{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}},"react/jsx-runtime":{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}},"@camstack/types":{version:`1.2.416`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.416`}},"@camstack/sdk":{version:`1.2.153`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.153`}},"@tanstack/react-query":{version:`5.101.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^5.101.0`}},"@trpc/client":{version:`11.18.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^11.18.0`}},"@trpc/react-query":{version:`11.18.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^11.18.0`}},konva:{version:`10.3.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^10.3.0`}},"react-konva":{version:`19.2.5`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.5`}},"@camstack/ui-library":{version:`1.2.325`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.325`}},"react-dom/client":{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}}},i=(e,t,n,r)=>{let i=((Array.isArray(r)?r[0]:r)||`default`)+`:`;return t||!n?i+e:i+e+`@`+n},a=e=>{let t=e;for(let e=0;e<5;e++){let e=t?.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t};for(let[e,o]of Object.entries(r)){let r=i(e,o.shareConfig?.singleton,o.version,o.scope);n.share[r]===void 0&&await t.loadShare(e,{customShareInfo:{shareConfig:o.shareConfig}}).then(e=>{let t=typeof e==`function`?e():e;return Promise.resolve(t).then(e=>{n.share[r]=a(e)})})}return await Promise.all([]),t})(),r}r=i();export{r as hostInitPromise,i as initHost};
|