@camstack/addon-admin-ui 1.2.467 → 1.2.469
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-CCWcyKGn.js → AddonAssetIcon-BN_SqLNB.js} +1 -1
- package/dist/assets/{Addons-Cw9rrXxH.js → Addons-D4HEweDl.js} +1 -1
- package/dist/assets/{AdminPage-4O783NUd.js → AdminPage-DpgHJ_lQ.js} +1 -1
- package/dist/assets/{AdminSectionedPage-Bg12qWUG.js → AdminSectionedPage-BfaO7MK2.js} +1 -1
- package/dist/assets/{AiProfiles-C2tSzH00.js → AiProfiles-4iPHownz.js} +1 -1
- package/dist/assets/{BrokerForm-CsW9lDAT.js → BrokerForm-CR-FYodQ.js} +1 -1
- package/dist/assets/{Build-DfzCG6ZA.js → Build-CvxS-6Fl.js} +4 -4
- package/dist/assets/{Calendars-Cy0AUKTy.js → Calendars-BEL2vZe4.js} +1 -1
- package/dist/assets/Cluster-DNceBwTk.js +1 -0
- package/dist/assets/{CompositionCreateForm-0EuJ8gsF.js → CompositionCreateForm-DRDUGbPO.js} +1 -1
- package/dist/assets/{CompositionEditorPage-DwdRdQqS.js → CompositionEditorPage-Bi49T0M9.js} +1 -1
- package/dist/assets/{Data-w3SEgAGd.js → Data-DNZ19S8x.js} +1 -1
- package/dist/assets/{DeviceDetail-oJ3My2Ik.js → DeviceDetail-DLdtY5JV.js} +1 -1
- package/dist/assets/{DeviceDoActionFields-DERGcMq2.js → DeviceDoActionFields-Dj3iwIxJ.js} +1 -1
- package/dist/assets/{Devices-DeoCEjgF.js → Devices-b30LmB9b.js} +1 -1
- package/dist/assets/{EmbedPlayerPage-XFAk9SM2.js → EmbedPlayerPage-ChjJRAKP.js} +1 -1
- package/dist/assets/{History-DU_VixNd.js → History-CR49b6FJ.js} +1 -1
- package/dist/assets/{Identity-DzZZ1oM1.js → Identity-D7lmTPbJ.js} +1 -1
- package/dist/assets/{IntegrationDetail-Dc-gH2zN.js → IntegrationDetail-CWCcdpCz.js} +1 -1
- package/dist/assets/{IntegrationHub-KAx21xT6.js → IntegrationHub-FpZU6jWS.js} +1 -1
- package/dist/assets/{Integrations-BNOpi8z2.js → Integrations-DoyxOos9.js} +1 -1
- package/dist/assets/{Integrations-DjKo4dwk.js → Integrations-lVBfHk53.js} +1 -1
- package/dist/assets/{Library-jioU_3N-.js → Library-BMuv5B5Y.js} +1 -1
- package/dist/assets/{Locations-C9YKCzuj.js → Locations-BgcB7ZnK.js} +2 -2
- package/dist/assets/{Logs-DCrmwr8o.js → Logs-DOCwfH5l.js} +1 -1
- package/dist/assets/{MaskShapeCanvas-CdkKHWLL.js → MaskShapeCanvas-CC7FQGtr.js} +1 -1
- package/dist/assets/{MotionZonesSettings-DozUaDis.js → MotionZonesSettings-dcIXFXNn.js} +1 -1
- package/dist/assets/{MyAccess-Dn6EQs3E.js → MyAccess-BAfQ0omi.js} +1 -1
- package/dist/assets/{Network-rjDb4ky-.js → Network-CMwPBd3q.js} +1 -1
- package/dist/assets/{NodeAddonsSettingsPanel-Cals3BOp.js → NodeAddonsSettingsPanel-Ck7AYA-1.js} +1 -1
- package/dist/assets/{Notifications-Cd6Vd_4M.js → Notifications-Bds4p5-3.js} +1 -1
- package/dist/assets/{Pipeline-0i4vwuod.js → Pipeline-UmUovK0W.js} +1 -1
- package/dist/assets/{PrivacyMaskSettings-BVkCrhY6.js → PrivacyMaskSettings-CreIjx4O.js} +1 -1
- package/dist/assets/{Recordings-DWi4FuOi.js → Recordings-Cb_VFOLV.js} +1 -1
- package/dist/assets/{ScanNetworkModal-D1DxOZ5k.js → ScanNetworkModal-CJo685Vl.js} +1 -1
- package/dist/assets/{SceneMonitorEditor-Cz2nxACu.js → SceneMonitorEditor-Dbzxlt43.js} +1 -1
- package/dist/assets/{SessionsList-KX8yhzLp.js → SessionsList-DgE-51ju.js} +1 -1
- package/dist/assets/{Showroom-Dke-L82I.js → Showroom-Bpwjw60m.js} +1 -1
- package/dist/assets/{System-DAP7Vcj5.js → System-C-jh6PsN.js} +1 -1
- package/dist/assets/{Terminal-kPnxbhOt.js → Terminal-Bu3buJrm.js} +1 -1
- package/dist/assets/{Viewer-DRoz3IHv.js → Viewer-BOQnbvad.js} +1 -1
- package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-DEk1WB3G.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-BFYsDhiM.js} +1 -1
- package/dist/assets/{addon-icons-context-DAAx2QHZ.js → addon-icons-context-BVn71jKb.js} +1 -1
- package/dist/assets/{archive-DmfxV_Pa.js → archive-CDQuI03w.js} +1 -1
- package/dist/assets/{assignment-candidates-DtXm-899.js → assignment-candidates-grX3ScPd.js} +1 -1
- package/dist/assets/{authed-media-Xgbbh3Wl.js → authed-media-cSR4diHc.js} +1 -1
- package/dist/assets/{bell-off-qsoMK80A.js → bell-off-hTkIlZL4.js} +1 -1
- package/dist/assets/{board-model-CAZ9Z4dC.js → board-model-Bj95FOjc.js} +1 -1
- package/dist/assets/{boxes-CbcQaJIW.js → boxes-0BuMQdjm.js} +1 -1
- package/dist/assets/circle-slash-BNZPoK0U.js +1 -0
- package/dist/assets/client-CHpTazh3.js +358 -0
- package/dist/assets/{cloud-upload-Dlvj0kcc.js → cloud-upload-DYU5_O7N.js} +1 -1
- package/dist/assets/crop-DOQmDtnO.js +1 -0
- package/dist/assets/{device-integration-icon-ClsJ3gjp.js → device-integration-icon-DNoJ6Lw6.js} +1 -1
- package/dist/assets/device-picker-model-DoeAV03f.js +1 -0
- package/dist/assets/dist-CVdvfX2T.js +358 -0
- package/dist/assets/{dist-B5liL_3N.js → dist-dJmkuSsT.js} +1 -1
- package/dist/assets/{eraser-DCCZm4IX.js → eraser-BUbQF_qS.js} +1 -1
- package/dist/assets/event-targets-Cfijpphw.js +2 -0
- package/dist/assets/{format-B28PmHnx.js → format-DftZhYTz.js} +1 -1
- package/dist/assets/{hard-drive-download-DOyJ5-Vb.js → hard-drive-download-DP_8o52c.js} +1 -1
- package/dist/assets/{hostInit-CYQHDnnJ.js → hostInit-BlSFN2dH.js} +1 -1
- package/dist/assets/i18n-CQ56JIQj.js +1 -0
- package/dist/assets/{icons-B4F3-Hxj.js → icons-Btlc6YJV.js} +1 -1
- package/dist/assets/index-BgKj4CM9.js +4 -0
- package/dist/assets/{key-kbFcYlWe.js → key-Cacr-75P.js} +1 -1
- package/dist/assets/{key-round-CveRqe_k.js → key-round-DCaU9cAg.js} +1 -1
- package/dist/assets/{layers-CiExinrp.js → layers-pVEq4fg_.js} +1 -1
- package/dist/assets/{linked-devices-model-DQz_FX6p.js → linked-devices-model-C91IolQ1.js} +1 -1
- package/dist/assets/{list-ordered-Bg8BUWEC.js → list-ordered-CNRSuCVQ.js} +1 -1
- package/dist/assets/{location-owned-usage-ENTwZrtf.js → location-owned-usage-O8_VY4bA.js} +1 -1
- package/dist/assets/{log-in-BD1L2oSt.js → log-in-RS8mwxfB.js} +1 -1
- package/dist/assets/{memory-stick-NTrfi1e8.js → memory-stick-CInn2SBD.js} +1 -1
- package/dist/assets/{message-square-plus-CY9ttqE5.js → message-square-plus-DtxzVSIY.js} +1 -1
- package/dist/assets/{mf-entry-bootstrap-0-183f4791.js → mf-entry-bootstrap-0-a3d5bda4.js} +2 -2
- package/dist/assets/{mic-off-AwSvJJ-K.js → mic-off-eN_vb8k3.js} +1 -1
- package/dist/assets/{monitor-off-BYbktrAW.js → monitor-off-Eo26fk7G.js} +1 -1
- package/dist/assets/{monitor-smartphone-D0ZLgRUd.js → monitor-smartphone-BXr9qaoG.js} +1 -1
- package/dist/assets/mount-DoeAV03f.js +1 -0
- package/dist/assets/{player-overlays-D2mGg95Q.js → player-overlays-mwQ6DKjG.js} +1 -1
- package/dist/assets/{recycle-nvFptmrW.js → recycle-C6G9GLaW.js} +1 -1
- package/dist/assets/remoteEntry-BAoznONo.js +1 -0
- package/dist/assets/{scan-eye-BikcnQOJ.js → scan-eye-Er9mPgXz.js} +1 -1
- package/dist/assets/{scissors-CoFYjcIv.js → scissors-iGcQwqM6.js} +1 -1
- package/dist/assets/{search-x-BhodbxZp.js → search-x-qRfGpZh7.js} +1 -1
- package/dist/assets/{send-fjFgd1HM.js → send-goxSirGI.js} +1 -1
- package/dist/assets/{settings-2-BoimpCtm.js → settings-2-C2T9KfF-.js} +1 -1
- package/dist/assets/{speaker-B0ivVaxK.js → speaker-DTlU5qdL.js} +1 -1
- package/dist/assets/{src-Biwy5K1-.js → src-B5lceK9L.js} +8 -8
- package/dist/assets/{step-inspector-model-DzhSjxbz.js → step-inspector-model-rJIkKDaR.js} +1 -1
- package/dist/assets/{timer-reset-NwgMeFcs.js → timer-reset-LdV1oKRJ.js} +1 -1
- package/dist/assets/{ungroup-HIsrd0kn.js → ungroup-ClPDFNDo.js} +1 -1
- package/dist/assets/{unlink-DbsxaJy8.js → unlink-CCWMkIgh.js} +1 -1
- package/dist/assets/{usb-CIuWHA0H.js → usb-dwGmFjnn.js} +1 -1
- package/dist/assets/{use-scenes-feed-j0luHsUf.js → use-scenes-feed-ByvAQxt_.js} +1 -1
- package/dist/assets/{use-stationary-objects-D7sVpMS0.js → use-stationary-objects-VkCTU14h.js} +1 -1
- package/dist/assets/useEventInvalidation-DoeAV03f.js +1 -0
- package/dist/assets/{useNodeUrlSelection-Dgq7-0YQ.js → useNodeUrlSelection-DFVjdzBt.js} +1 -1
- package/dist/assets/user-round-TUECAUsL.js +1 -0
- package/dist/assets/{user-x-HS6wbYSN.js → user-x-BtLDt7oR.js} +1 -1
- package/dist/assets/{video-GJ_2zbwO.js → video-DJjbkBZD.js} +1 -1
- package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-C--tom4E.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-WuGvWsfR.js} +2 -2
- package/dist/index.html +9 -9
- package/dist/server/addon.js +8105 -17363
- package/package.json +1 -1
- package/dist/assets/Cluster-J83b8G7B.js +0 -1
- 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-Dv0ncszF.js +0 -1
- package/dist/assets/dist-DwZeyF0Q.js +0 -358
- package/dist/assets/event-targets-CB7fCHqw.js +0 -2
- package/dist/assets/i18n-DpfPqHKN.js +0 -1
- package/dist/assets/index-D8IWAs6P.js +0 -4
- package/dist/assets/mount-Dv0ncszF.js +0 -1
- package/dist/assets/remoteEntry-D3cNFq0k.js +0 -1
- package/dist/assets/useEventInvalidation-Dv0ncszF.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-CHpTazh3.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-mwQ6DKjG.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-mwQ6DKjG.js";import{$t as v,An as y,Ci as b,Cn as x,Dn as S,En as C,Fn as w,In as T,Kn as E,Ln as D,Oi as O,On as k,Pn as A,Qr as j,Rn as M,Si as ee,Sn as te,Tn as ne,Ut as re,Xn as ie,Xt as N,bi as P,di as F,fi as I,fn as ae,ii as oe,kn as se,li as ce,ni as le,pi as ue,qn as de,ri as fe,si as pe,ti as me,ui as he,wn as ge,xi as _e,xn as ve}from"./client-CHpTazh3.js";import{t as ye}from"./boxes-0BuMQdjm.js";import{Cr as be,Er as xe,Gr as L,Gu as Se,Ir as Ce,L as we,Ln as Te,Mo as Ee,No as De,Qr as Oe,Rr as R,Tr as ke,Wu as Ae,Xr as je,Yr as Me,Zr as Ne,_n as Pe,ar as z,dr as B,kt as Fe,lr as Ie,no as Le,or as V,ro as H,s as Re,sr as U,ts as ze,ud as Be,ur as W,wr as Ve,yr as G,zu as K}from"./src-B5lceK9L.js";import{t as q}from"./i18n-CQ56JIQj.js";import{t as J}from"./useTranslation-D3Is_4B6.js";import{n as He}from"./assignment-candidates-grX3ScPd.js";e();function Ue({id:e,...t}){return c(Pe,{headingId:`customize-${e}`,...t})}function We(e,t){if(e.status===`error`)return{kind:`unknown`,reason:e.error?.message??q.t(`helpers.customize.requestFailed`)};let n=e.data;return e.status===`pending`||n===void 0?{kind:`pending`}:{kind:`known`,value:t(n)}}function Ge(e,t){let n=Be.useQueries(n=>e.map(e=>n.deviceManager.listDeviceIdsByCaps({capNames:[e]},{enabled:t})));return He(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 Ke(e,t){let n=Fe(e,t);return n.kind===`resolved`?n.integration.name:null}function qe(e){let t=H({projection:`slim`},{enabled:e}),{data:r}=ze(void 0,{enabled:e}),i=t.error===null||t.error===void 0?null:t.error.message;return n(()=>We({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:Ke(e,r),parentDeviceId:e.parentDeviceId,primaryChildEntityId:e.primaryChildEntityId??null,role:e.role??null}))),[t.status,t.data,i,r])}function Je(e){if(e.status===`pending`)return{kind:`pending`};if(e.status===`error`)return{kind:`unknown`,reason:e.error?.message??q.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=j(t.view.block);return n===null?{kind:`unknown`,reason:q.t(`helpers.customizationRead.notAComposition`,{id:t.view.block.id})}:{kind:`present`,view:t.view,composition:n}}function Y(e){return e.kind===`present`?e.composition:null}var Ye={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 Xe(e,t){return t.startsWith(`it`)?e.it:e.en}function Ze(e){if(!(`unit`in e))return;let t=e.unit;return typeof t==`string`&&t.length>0?t:void 0}function Qe(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(` `):Xe(n,t)}function X(e,t,n){let r=ae[e]?.state?.find(e=>e.field===t);if(r!==void 0){let e=Xe(r.label,n),t=Ze(r);return t===void 0?e:`${e} (${t})`}let i=Ye[t];return i===void 0?t:Xe(i,n)}function $e(e){return v.find(t=>t.name===e)}function et(e){return e===`lastFetchedAt`||e.endsWith(`At`)}function tt(e){let t=te(e.role);if(t===null||$e(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 nt(e){return e===null?`incomplete`:ve(le(e,{lookupCap:me(v),sources:new Map,self:null,blockId:null,target:null,peers:[]}).problems)}function rt(e,t){let n=$e(e);return n?.status===void 0?[]:oe(n.status.schema).filter(e=>!et(e)&&!t.has(e))}function Z(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 it(e,t){let n=e.features.filter(e=>e.cap!==t);return n.length===0?null:{target:e.target,features:n}}function Q(e,t){let n=e?.features.find(e=>e.cap===t);return n!==void 0&&n.kind===`fields`?n:null}function at(e){return Array.isArray(e)?e.map(at):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,at(t)]))}function ot(e){return JSON.stringify(at(e))}function st(e,t){switch(e.kind){case`pending`:return{kind:`refused`,reason:q.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}:ot(t)===ot(e.composition)?{kind:`noop`}:{kind:`update`,blockId:n,expectedUpdatedAt:e.view.block.updatedAt,composition:t}}}}function ct(){let{t:e}=J(),t=Ce();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 lt(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 ut(e){return e.map(e=>({id:e.id,name:e.name,addonId:e.addonId,stableId:e.stableId,location:e.location,type:e.type}))}function dt(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 $(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 ft(e,t,n,r){return r===null?{kind:`from`,source:e,cap:t,fieldPath:n.path}:lt(r,{source:e,cap:t,fieldPath:n.path,kind:n.kind})}function pt(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:$(n[e.cap],t.path),source:ft(i,e.cap,t,r)})))}function mt(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 ht(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function gt(e,t){let n=$(e,t);return n===void 0?{kind:`absent`}:{kind:`value`,value:n}}function _t(e,t,n){return ht(t)?gt(t,n):e.status===`error`?{kind:`unknown`,reason:e.error?.message??q.t(`helpers.liveValue.unreadable`)}:e.status===`pending`||e.data===void 0?{kind:`pending`}:e.data===null?{kind:`absent`}:gt(e.data,n)}function vt(e,t,n){let r=e?`active`:`muted`;return t.cap===`contact`&&t.path===`entryOpen`?{text:e?n.open:n.closed,tone:r}:b[t.cap]===t.path?{text:e?n.active:n.inactive,tone:r}:{text:String(e),tone:`normal`}}function yt(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`?vt(r,t,n):typeof r==`number`?{text:t.path===`percentage`?`${Math.round(r)} %`:String(r),tone:`normal`}:typeof r==`string`?{text:r,tone:`normal`}:{text:JSON.stringify(r),tone:`normal`}}}}var bt=0;function xt(e){let t=g(),n=Ee({deviceId:e?.deviceId??bt,capName:e?.cap??``},{enabled:e!==null}),r=Re(t.trpcClient,e?.deviceId??null,e?.cap??``);return e===null?{kind:`absent`}:_t({status:n.status,data:n.data,error:n.error===null||n.error===void 0?null:{message:n.error.message}},r,e.path)}var St={muted:`text-foreground-subtle`,active:`text-success`,normal:`text-foreground`,warning:`text-warning`};function Ct({target:e}){let{t}=J(),n=xt(e);return e===null?null:c(wt,{display:yt(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 wt({display:e}){return c(`span`,{className:`text-xs ${St[e.tone]}`,title:e.title,children:e.text})}function Tt(e){return e===`avg-round-1`?`customize.fieldsCard.aggregate.avg`:`customize.fieldsCard.aggregate.latest`}function Et(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Dt(e,t,n){let r=RegExp(`(?<![A-Za-z0-9_])${Et(t)}(?![A-Za-z0-9_])`,`g`);return e.replace(r,()=>n)}function Ot(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(I(a.source))??i,c=X(a.cap,a.fieldPath,r);o=Dt(o,e,`${s} · ${c}`)}return Rt(o)}var kt=1e3,At=60*kt,jt=60*At,Mt={within:[1],dwell:[1,2],rose:[2]};function Nt(e){if(!Number.isInteger(e)||e<kt)return null;if(e%jt===0){let t=e/jt;return t===1?`1 h`:`${t} h`}if(e%At===0){let t=e/At;return t===1?`1 min`:`${t} min`}if(e%kt===0){let t=e/kt;return t===1?`1 s`:`${t} s`}return null}function Pt(e){return/^\d+$/.test(e.trim())?Nt(Number(e.trim())):null}function Ft(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 It(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(Mt)){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=Ft(e,a);return o===null?null:{name:n,close:o.close,args:o.args}}return null}function Lt(e){let t=e.args.map(e=>Rt(e.text)),n=Mt[e.name]??[];if(e.name===`within`){let e=t[1],n=e===void 0?null:Pt(e);if(n!==null)return`within ${n}`}let r=t.map((e,t)=>n.includes(t)?Pt(e)??e.trim():e.trim());return`${e.name}(${r.join(`, `)})`}function Rt(e){let t=``,n=0;for(;n<e.length;){let r=It(e,n);if(r===null){t+=e[n]??``,n+=1;continue}t+=Lt(r),n=r.close+1}return t}function zt(e){for(let t=1;;t++){let n=`s${t}`;if(!e.includes(n))return n}}var Bt={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)`},Vt=/[A-Za-z_][A-Za-z0-9_]*$/;function Ht(e,t,n){let r=Vt.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=[...ee].filter(e=>e.startsWith(r)).toSorted().map(e=>({kind:`builtin`,label:Bt[e]??e,insert:`${e}(`,hintKey:`compositionEditor.builtins.${e}`}));return[...i,...a,...o].slice(0,8)}function Ut(e,t,n){let r=t-(Vt.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 Wt({label:e,value:t,bindings:n,onChange:i}){let{t:o}=J(),l=s(null),[u,d]=r(t.length),f=Ht(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=Ut(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 Gt(e){return{addonId:e.addonId,stableId:e.stableId}}function Kt(e){return new Map(e.map(e=>[I(Gt(e)),e]))}function qt(e,t,n){if(e.kind===`code`)return{kind:`unavailable`,reason:q.t(`helpers.fieldPreview.codeFields`)};if(e.kind===`expression`&&(fe(e.expr,`rose`)||fe(e.expr,`count`)))return{kind:`runtime-only`};let r=ue(e).filter(e=>t.get(F(e.source,e.cap))?.kind!==`value`).map(he);if(r.length>0)return{kind:`waiting`,missing:r};let i=M({source:e,now:n,read:e=>{let n=t.get(F(e.source,e.cap)),r=n?.kind===`value`?$(n.slice,e.fieldPath):void 0,i=r===void 0?void 0:_e(r);return i===void 0?{state:`unavailable`,reason:q.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 Jt({sliceKey:e,deviceId:n,capName:r,onReading:i}){let a=Re(g().trpcClient,n,r);return t(()=>{i(e,a===void 0?{kind:`pending`}:{kind:`value`,slice:a})},[e,a,i]),null}function Yt(e,t){return[...new Map(ue(e).map(e=>[F(e.source,e.cap),e]))].map(([e,n])=>({key:e,read:n,device:t.get(I(n.source))}))}function Xt({source:e}){let{t}=J(),n=H({projection:`slim`}),[o,s]=r(new Map),l=i((e,t)=>{s(n=>new Map([...n,[e,t]]))},[]),u=Yt(e,Kt(n.status===`success`?ut(n.data):[])),d=n.status===`success`?u.filter(e=>e.device===void 0).map(e=>I(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(Jt,{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(Zt,{preview:qt(e,o,Date.now())})]})}function Zt({preview:e}){let{t}=J();switch(e.kind){case`value`:return a(`strong`,{children:[`→ `,mt(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 Qt=[];function $t({title:e,targetKind:t,excludeDeviceIds:n=Qt,onPick:i,onCancel:o}){let{t:s}=J(),[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(en,{excludeDeviceIds:n,onSelect:f}):c(tn,{device:d,targetKind:t,onPick:i,onBack:()=>f(null)}),c(`div`,{children:c(R,{variant:`ghost`,size:`sm`,onClick:o,children:s(`customize.picker.cancel`)})})]})}function en({excludeDeviceIds:e,onSelect:t}){let{t:n}=J(),[i,s]=r(``),l=H({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(Ae,{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(G,{title:n(`customize.picker.devicesFailed`),message:l.error?.message??``}),l.status===`success`&&c(`ul`,{className:`flex flex-col gap-1`,children:dt(ut(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 tn({device:e,targetKind:t,selected:n,onPick:r,onBack:i}){let{t:o}=J(),s=Le({deviceId:e.id}),l=De({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(G,{title:o(`customize.picker.fieldsFailed`),message:s.error?.message??``});let u=pt(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:mt(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 nn=new Map;function rn(e,t,n,r){return e.kind===`from`?`${t.get(I(e.source))??r} · ${X(e.cap,e.fieldPath,n)}`:``}function an({open:e,title:t,fieldPath:n,fieldLabel:i,sourceNames:o=nn,initial:s,selfNative:l=null,onClose:u,onSave:d}){let{t:f,i18n:p}=J(),[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(z,{open:e,onOpenChange:e=>{e||u()},children:a(U,{width:`lg`,scroll:`body`,placement:`sheet-on-mobile`,"data-testid":`formula-dialog`,children:[c(W,{children:c(B,{children:t})}),a(V,{className:`flex flex-col gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:i??X(``,n,p.language)}),c(Wt,{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`?rn(t,o,p.language,f(`customize.fieldsCard.unknownDevice`)):JSON.stringify(t.value)}),c(R,{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(R,{size:`sm`,variant:`outline`,"data-testid":`formula-self-native`,onClick:()=>{let e=Object.keys(m.bindings),t=m.bindings.v===void 0?`v`:zt(e);h({...m,bindings:{...m.bindings,[t]:{kind:`from`,source:l.source,cap:l.cap,fieldPath:l.fieldPath}}})},children:f(`customize.override.selfNative`)}),c(R,{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(Xt,{source:m}),g===`add-binding`&&c($t,{title:f(`compositionEditor.addSource`),targetKind:null,onCancel:()=>_(`idle`),onPick:e=>{let t=zt(y);h({...m,bindings:{...m.bindings,[t]:{kind:`from`,source:e.ref,cap:e.cap,fieldPath:e.path}}}),_(`idle`)}})]}),a(Ie,{children:[c(R,{variant:`ghost`,onClick:u,children:f(`compositionEditor.cancel`)}),c(R,{"data-testid":`formula-dialog-save`,disabled:v!==null,onClick:()=>{d(m),u()},children:f(`compositionEditor.save`)})]})]})})}e();function on({open:e,from:t,initialTo:n,onClose:i,onSave:o}){let{t:s}=J(),l=w(t),[u,d]=r(n??l[0]??``),f=l.includes(u)?u:l[0]??``;return c(z,{open:e,onOpenChange:e=>{e||i()},children:a(U,{width:`sm`,scroll:`body`,placement:`sheet-on-mobile`,"data-testid":`convert-unit-dialog`,children:[c(W,{children:c(B,{children:s(`customize.override.convertTitle`)})}),a(V,{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(K,{"aria-label":s(`customize.override.targetUnit`),value:f,onChange:e=>d(e.target.value),options:l.map(e=>({value:e,label:e}))})]}),a(Ie,{children:[c(R,{variant:`ghost`,onClick:i,children:s(`compositionEditor.cancel`)}),c(R,{"data-testid":`convert-unit-publish`,disabled:f===``||f===t,onClick:()=>{o(f),i()},children:s(`customize.override.publish`)})]})]})})}function sn(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 cn(e){return{kind:`expression`,expr:JSON.stringify(e),bindings:{}}}function ln(e,t,n,r,i,a){let o=Q(e,n)??{kind:`fields`,cap:n,fields:{}},s={...o.fields,[r]:i},c=Object.fromEntries(Object.entries(s).filter(([e])=>!a.includes(e)));return Z(e,t,{...o,fields:c})}function un(e,t,n,r){let i=D(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 dn(e,t,n,r){let i=Q(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?it(e,n):Z(e,t,{...i,fields:o})}e();function fn({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}=J(),_=ct(),[v,y]=r(`closed`),b=Y(f.state),x=Q(b,i),S=x?.fields[s]??null,C=S===null?null:T(S),E=u===void 0?[]:w(u),O=new Map(p);O.set(I(t),n);let k=()=>y(`closed`),A=(e,n)=>{f.save(ln(b,t,i,s,e,n))},j=()=>C?.kind===`convert-unit`?un(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(L,{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(Ct,{target:{deviceId:e,cap:i,path:s}})]}),C===null?c(`p`,{className:`text-xs text-foreground-subtle`,children:h(`customize.scalar.noOverride`)}):c(hn,{entry:C,names:O,language:g.language,unknownDevice:h(`customize.fieldsCard.unknownDevice`)}),c(`div`,{className:`flex flex-wrap gap-2`,children:C===null?c(mn,{cap:i,fieldPath:s,saving:f.saving,convert:E.length>0,onFrom:()=>y(`from`),onFormula:()=>y(`formula`),onConvert:()=>y(`convert`)}):a(o,{children:[c(R,{variant:`outline`,size:`sm`,disabled:f.saving,onClick:()=>y(pn(C)),children:h(`customize.scalar.change`)}),c(R,{variant:`ghost`,size:`sm`,disabled:f.saving,onClick:()=>{if(b===null)return;let e=dn(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(z,{open:v===`from`,onOpenChange:e=>{e||k()},children:a(U,{width:`lg`,scroll:`body`,placement:`sheet-on-mobile`,children:[c(W,{children:c(B,{children:l})}),c(V,{children:v===`from`&&c($t,{title:h(`customize.override.fromDevice`),targetKind:d??(u===void 0?null:`number`),onCancel:k,onPick:e=>{A(e.source,j()),k()}})})]})}),v===`formula`&&c(an,{open:!0,title:h(`compositionEditor.formulaFor`,{path:l}),fieldPath:s,fieldLabel:l,sourceNames:O,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(on,{open:!0,from:u,initialTo:C?.kind===`convert-unit`?C.to:null,onClose:k,onSave:e=>{let n=D(i,s),r=ln(b,t,i,s,sn(u,e,t,i,s),[]),a=n===null?r:ln(r,t,i,n,cn(e),[]);f.save(a),k()}})]})}function pn(e){return e.kind===`convert-unit`?`convert`:e.kind===`from`?`from`:`formula`}function mn({cap:e,fieldPath:t,saving:n,convert:r,onFrom:i,onFormula:o,onConvert:s}){let{t:l}=J();return a(Me,{children:[c(Oe,{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(je,{children:[c(Ne,{onClick:i,children:l(`customize.override.fromDevice`)}),c(Ne,{onClick:o,children:l(`customize.override.formula`)}),r&&c(Ne,{onClick:s,children:l(`customize.override.convertUnit`)})]})]})}function hn({entry:e,names:t,language:n,unknownDevice:r}){let{t:i}=J();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(L,{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:Ot(e.expr,e.bindings,t,n,r)}),c(L,{children:i(`compositionEditor.formula`)})]}):a(`div`,{className:`flex flex-col gap-0.5`,children:[e.sources.map(e=>{let a=I(e.source);return c(`span`,{className:`text-xs text-foreground`,children:i(`customize.fieldsCard.from`,{name:t.get(a)??r,field:X(e.cap,e.fieldPath,n)})},`${a}:${e.cap}:${e.fieldPath}`)}),e.aggregate!==null&&c(`span`,{className:`text-xs text-foreground-muted`,children:i(Tt(e.aggregate))})]})}function gn(e){return Object.hasOwn(A,e)}function _n(e,t){if(!gn(e))return;let n=A[e].advancedParameters.find(e=>e.path===t);if(n!==void 0&&`unit`in n)return n.unit}function vn({deviceId:e,selfName:t,card:n,handle:r,names:i}){let{t:o,i18n:s}=J(),l=ct(),u=Y(r.state),d=s.language,f=Qe(n.cap,d),p=new Set(Object.keys(n.entries)),m=rt(n.cap,p),h=()=>{if(u===null)return;let e=it(u,n.cap);l(o(`customize.fieldsCard.removeWhat`,{cap:f}),e===null).then(t=>{t&&r.save(e)})},g=(a,o)=>c(fn,{deviceId:e,self:r.target,selfName:t,cap:n.cap,fieldPath:a,label:X(n.cap,a,d),unit:_n(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(R,{variant:`ghost`,size:`sm`,disabled:r.saving,onClick:h,children:o(`customize.fieldsCard.removeFeature`,{cap:f})})})]})}e();function yn({device:e,handle:t,skipCaps:r}){let{i18n:i}=J(),a=Y(t.state),s=qe(a!==null),l=n(()=>s.kind===`known`?new Map(s.value.map(e=>[I({addonId:e.addonId,stableId:e.stableId}),e.name])):new Map,[s]);if(a===null)return null;let{model:u}=ge(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=Qe(r.cap,i.language);return c(Ue,{id:r.cap,icon:ye,title:a,testId:`fields-card-${r.cap}`,children:c(vn,{deviceId:e.id,selfName:e.name,card:r,handle:t,names:l})},r.cap)})})}function bn(e){return new Set(e.filter(e=>{let t=e.nativeAddonId?.trim()??``;return t!==``&&t!==`composer`}).map(e=>e.capName))}function xn(e,t){return{cap:e,apply:t.apply,authority:t.applyAuthority?.kind??`composition-claim`,nativeItemsReadOnly:t.nativeItems===`read-only`}}function Sn(e){return e.kind===`known`?null:e}function Cn(e,t){return e.composable.kind===`known`?e.composable.value.has(t)?{kind:`present`,mode:`add`}:{kind:`absent`}:e.composable}function wn(e){if(e.deviceType!==O.Camera)return{kind:`absent`};switch(e.cameraSensors){case`pending`:return{kind:`pending`};case`unknown`:return{kind:`unknown`,reason:q.t(`helpers.assignmentAvailability.sensorsUnchecked`)};case`absent`:return{kind:`absent`};case`present`:return{kind:`present`,mode:`add`}}}function Tn(e,t){if(e.authority===`camera-sensors`)return wn(t);let n=Sn(t.nativeCaps);if(n!==null)return n;let r=t.nativeCaps.kind===`known`?t.nativeCaps.value:new Set;return e.nativeItemsReadOnly?Cn(t,e.cap):e.apply===`add`?r.has(e.cap)?{kind:`absent`}:Cn(t,e.cap):r.has(e.cap)?{kind:`present`,mode:`replace`}:Cn(t,e.cap)}e();var En=new Map;function Dn({handle:e,cap:t,fieldPath:n,itemKey:i,label:s,testId:l,sourceNames:u=En}){let{t:d,i18n:f}=J(),p=X(t,n,f.language),[m,h]=r(!1),g=Y(e.state),_=Q(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(Z(g,e.target,r))};return a(o,{children:[c(R,{variant:`ghost`,size:`sm`,"data-testid":l??`formula-entry-${t}-${n}`,onClick:()=>h(!0),children:s??d(`compositionEditor.formula`)}),c(an,{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 On=`kind`,kn=`unit`,An=`unit-unknown`;function jn(e){return`customize.scalar.fit.${e}`}var Mn=`compile`,Nn=`dwell`,Pn=`no-value`,Fn=`empty`;function In(e){return`customize.scalar.previewFailure.${e}`}function Ln(e){return e===`compile`||e===`dwell`||e===`no-value`||e===`empty`}function Rn({preview:e}){let{t}=J();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:Ln(e.reason)?t(In(e.reason)):e.reason,className:`text-warning`,children:`?`})]})}function zn(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 Bn(e){return e.transforms.includes(`identity`)?{kind:`identity`}:e.transforms.includes(`threshold`)?Vn(e.sourceUnit):e.transforms.includes(`linear`)?{kind:`linear`,scale:1,offset:0}:{kind:`invert`}}function Vn(e){let t=e===`W`;return{kind:`threshold`,comparison:`gte`,threshold:t?5:0,startDwellMs:t?E:0,stopDwellMs:t?de:0}}function Hn(e){let t=y({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 Un({control:e,transforms:t,unit:n,value:r,onChange:i}){let{t:o}=J();return e===`none`?null:a(`div`,{className:`flex flex-col gap-2`,children:[c(`h3`,{className:`text-[11px] font-medium text-foreground-muted`,children:o(`customize.scalar.stepTransform`)}),e===`choice`&&c(K,{"aria-label":o(`customize.scalar.stepTransform`),value:r.kind,options:t.map(e=>({value:e,label:o(`customize.scalar.transform.${e}`)})),onChange:e=>i(Wn(e.target.value,n))}),r.kind===`invert`||e===`invert`&&r.kind!==`threshold`?a(`label`,{className:`flex items-center gap-2 text-[11px] text-foreground`,children:[c(Te,{checked:r.kind===`invert`,onChange:e=>i(e.target.checked?{kind:`invert`}:{kind:`identity`})}),o(`customize.scalar.invert`)]}):null,r.kind===`threshold`&&c(Gn,{unit:n,value:r,onChange:i}),r.kind===`linear`&&c(Kn,{value:r,onChange:i})]})}function Wn(e,t){return e===`invert`?{kind:`invert`}:e===`threshold`?Vn(t):e===`linear`?{kind:`linear`,scale:1,offset:0}:{kind:`identity`}}function Gn({unit:e,value:t,onChange:n}){let{t:r}=J();return a(`div`,{className:`flex flex-col gap-2 text-[11px] text-foreground`,children:[c(qn,{label:r(`customize.scalar.threshold`,{unit:e??``}),value:t.threshold,onChange:e=>n({...t,threshold:e})}),c(qn,{label:r(`customize.scalar.startDwell`),value:t.startDwellMs/1e3,onChange:e=>n({...t,startDwellMs:e*1e3})}),c(qn,{label:r(`customize.scalar.stopDwell`),value:t.stopDwellMs/1e3,onChange:e=>n({...t,stopDwellMs:e*1e3})})]})}function Kn({value:e,onChange:t}){let{t:n}=J();return a(`div`,{className:`flex flex-col gap-2 text-[11px] text-foreground`,children:[c(qn,{label:n(`customize.scalar.scale`),value:e.scale,onChange:n=>t({...e,scale:n})}),c(qn,{label:n(`customize.scalar.offset`),value:e.offset,onChange:n=>t({...e,offset:n})})]})}function qn({label:e,value:t,onChange:n}){return a(`label`,{className:`flex flex-col gap-1`,children:[e,c(Ae,{type:`number`,value:Number.isFinite(t)?t:0,onChange:e=>{let t=Number(e.target.value);Number.isFinite(t)&&n(t)}})]})}function Jn(e){return e===`identity`||e===`invert`||e===`threshold`||e===`linear`}function Yn(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 Xn(e,t){return Yn(e,t)?.path??null}function Zn(e,t){return e.caps.flatMap(e=>{let n=Qn(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 Qn(e,t){if(e===null)return null;let n=$(e[t],`unit`);return typeof n==`string`&&n.length>0?n:null}function $n(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 er(e,t,n){let r=Yn(e,t);if(r===null||r.cardinality!==`scalar`||n.kind===`enum`)return{ok:!1,reason:On};let i=$n(r.sources,n);if(i===null)return{ok:!1,reason:On};if(i.requiredUnit!==void 0&&n.unit===null)return{ok:!1,reason:An};if(i.requiredUnit!==void 0&&n.unit!==i.requiredUnit)return{ok:!1,reason:kn};let a=i.transformKinds.filter(Jn);return a.length===0?{ok:!1,reason:On}:{ok:!0,valueKind:n.kind,sourceUnit:i.requiredUnit??null,transforms:a}}function tr(e){let t=Hn(e);if(t===null)return{kind:`failed`,reason:Mn};if(e.transform.kind===`threshold`)return nr(e.transform,e);let n=Xn(e.cap,e.targetId),r=n===null?void 0:t.fields[n];if(r===void 0)return{kind:`failed`,reason:Mn};if(r.kind===`from`)return ir(e.sourceValue);if(r.kind!==`expression`)return{kind:`failed`,reason:Mn};if(r.expr.startsWith(`dwell(`))return{kind:`failed`,reason:Nn};let i=rr(e.sourceValue);if(i===void 0)return{kind:`failed`,reason:Pn};let a=P(r.expr,{x:i},e.nowMs);return a.ok?ir(a.value):{kind:`failed`,reason:a.error}}function nr(e,t){if(typeof t.sourceValue!=`number`||!Number.isFinite(t.sourceValue))return{kind:`failed`,reason:Pn};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 rr(e){if(typeof e==`number`||typeof e==`string`||typeof e==`boolean`)return e;if(e===null)return null}function ir(e){return e==null||typeof e==`number`&&!Number.isFinite(e)?{kind:`failed`,reason:Fn}:typeof e==`number`||typeof e==`string`||typeof e==`boolean`?{kind:`value`,text:String(e)}:{kind:`failed`,reason:Fn}}e();function ar(e){return e===`pending`?`pending`:e===`error`?`failed`:`answered`}function or(e){let{t}=J(),n=e.mode===`change`?t(`customize.scalar.changeTitle`,{title:e.title}):t(`customize.scalar.addTitle`,{title:e.title});return c(z,{open:e.open,onOpenChange:t=>t?void 0:e.onClose(),children:a(U,{width:`md`,placement:`sheet-on-mobile`,scroll:`body`,"aria-label":n,children:[c(W,{children:c(B,{children:n})}),e.open&&c(sr,{...e,heading:n})]})})}function sr(e){let{t,i18n:i}=J(),s=H({projection:`slim`}),l=n(()=>s.status===`success`?ut(s.data):[],[s.status,s.data]),u=dr(e.seed,l),[d,f]=r(null),[p,m]=r(!1);!p&&u!==null&&(f(u),m(!0));let h=Le({deviceId:d?.id??0}),g=De({deviceId:d?.id??0}),_=h.status===`success`?h.data:{caps:[]},v=Zn(_,g.status===`success`?g.data:null),[y,b]=r(fr(e.seed)),[x,S]=r(e.seed?.transform??{kind:`identity`}),C=v.find(e=>cr(e)===y)??null,w=C===null?null:er(e.cap,e.targetId,C),T=C===null||w===null||!w.ok?null:lr(d,C,w,_),E=T===null?null:Hn({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:$(g.data[C.cap],C.path),O=T===null?null:g.status===`pending`?{kind:`pending`}:tr({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=er(e.cap,e.targetId,t);n.ok&&(b(cr(t)),S(Bn(n)))};return a(o,{children:[a(V,{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(G,{title:t(`customize.picker.devicesFailed`),message:s.error?.message??``}):c(we,{devices:ur(l,e.host.id),listState:ar(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(R,{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(G,{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=er(e.cap,e.targetId,n),o=cr(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:[X(n.cap,n.path,i.language),n.unit===null?``:` (${n.unit})`]})]}),!r.ok&&c(`span`,{className:`text-foreground-subtle`,children:t(jn(r.reason))})]},o)})})]}),w!==null&&w.ok&&c(Un,{control:zn(w.transforms),transforms:w.transforms,unit:w.sourceUnit,value:x,onChange:S}),O!==null&&c(Rn,{preview:O})]}),a(Ie,{className:`flex flex-wrap gap-2`,children:[c(R,{variant:`ghost`,onClick:e.onClose,children:t(`customize.scalar.cancel`)}),c(R,{"data-testid":`scalar-save-override`,disabled:!e.canSave||E===null,onClick:()=>{E!==null&&e.onSave(E)},children:t(`customize.scalar.save`)})]})]})}function cr(e){return`${e.cap}.${e.path}`}function lr(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 ur(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 dr(e,t){return e===null?null:t.find(t=>t.addonId===e.source.addonId&&t.stableId===e.source.stableId)??null}function fr(e){return e===null?null:`${e.source.cap}.${e.source.fieldPath}`}var pr=`Assigned · `;function mr(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(pr)){let n=e.slice(11);return{kind:`assigned`,source:t??n}}return{kind:`unknown`}}e();var hr={battery:m,"running-state":_};function gr(){return Object.entries(A).flatMap(([e,t])=>t.targets.filter(e=>e.cardinality===`scalar`).map(t=>({cap:e,target:t})))}function _r({device:e,handle:t,availability:n,cap:i,target:s}){let{t:l,i18n:u}=J(),d=ct(),[f,p]=r(!1),[m,h]=r(null),g=l(`customize.scalar.caps.${i}`),_=s.path??s.id,v=Y(t.state),y=yr(t,Q(v,i)),b=y.kind===`known`&&y.value!==null?se({feature:y.value,device:t.target,cap:i,targetId:s.id}):null,x=b!==null,S=qe(x),C=b===null||S.kind!==`known`?null:S.value.find(e=>I({addonId:e.addonId,stableId:e.stableId})===I(b.draft.source))??null,w=C?.name??null,T=br(x,S.kind,C!==null),E=N({cap:i,targetId:s.id,device:t.target,stored:y,sourcePresence:T,sourceUnknownReason:S.kind===`unknown`?S.reason:null}),D=mr(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=it(v,i);await d(l(`customize.scalar.removeWhat`,{name:w??(b===null?e.name:I(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(Ue,{id:i,icon:hr[i],title:g,testId:`scalar-card-${i}`,actions:c(L,{children:ee}),children:c(vr,{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?``:X(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(or,{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(Z(v,t.target,e))}})]})}function vr(e){let{t}=J();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(G,{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(Ct,{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(G,{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(Ct,{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(Dn,{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(R,{variant:`outline`,size:`sm`,onClick:e.onOpen,disabled:e.saving,children:e.released?t(`customize.scalar.chooseAnother`):t(`customize.scalar.change`)}),e.recognized&&c(R,{variant:`ghost`,size:`sm`,onClick:e.onRemove,disabled:e.saving,children:t(`customize.scalar.remove`)}),n&&c(R,{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 yr(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 br(e,t,n){return e?t===`pending`?`pending`:t===`unknown`?`unknown`:n?`present`:`absent`:`present`}function xr({device:e,handle:t,facts:n}){return c(o,{children:gr().map(r=>r.target.deviceTypes.includes(e.type)?c(_r,{device:e,handle:t,availability:Tn(xn(r.cap,r.target),n),cap:r.cap,target:r.target},r.cap):null)})}function Sr({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(Ct,{target:r}):i!==null&&c(wt,{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(Se,{icon:h,variant:`ghost`,size:`sm`,"aria-label":u,disabled:d,onClick:l})})]})}function Cr(e){return e.toLowerCase().normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)}function wr(e){return e===`identity`||e===`invert`||e===`threshold`||e===`linear`}function Tr(e){return Object.hasOwn(A,e)}function Er(e){return Tr(e)?A[e].targets:[]}function Dr(e,t){let n=Er(e).find(e=>e.id===t);return n?.cardinality===`keyedArray`?n.fields??[]:[]}function Or(e,t){return Er(e).find(e=>e.id===t)?.traits??[]}function kr(e,t){return e.caps.flatMap(e=>{let n=Ar(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 Ar(e,t){if(e===null)return null;let n=$(e[t],`unit`);return typeof n==`string`&&n.length>0?n:null}function jr(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 Mr(e,t,n,r){let i=Dr(e,t).find(e=>e.path===n);if(i===void 0)return{ok:!1,reason:`kind`};let a=jr(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(wr);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}}}function Nr(e,t,n){return Dr(e,t).find(e=>e.path===n)?.enumValues??[]}function Pr(e){return!e.ok||e.mode===`enum`?{kind:`identity`}:Bn(e.fit)}function Fr(e,t){return Object.fromEntries(e.map(e=>[e,t.includes(e)?e:null]))}function Ir(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=C({cap:e.cap,targetId:e.targetId,device:e.device,apply:e.apply,items:[t]});return n.ok?n.value:null}function Lr(e,t,n){return(Dr(e,t).find(e=>e.path===n)?.literals??[]).map(e=>e.path)}function Rr(e,t,n,r){return Dr(e,t).find(e=>e.path===n)?.literals?.find(e=>e.path===r)?.values??[]}function zr(e,t,n){return Nr(e,t,n)}e();var Br={level:`customize.keyed.field.level`,"remaining.value":`customize.keyed.field.remaining`,status:`customize.keyed.field.status`};function Vr(e){return e===`pending`?`pending`:e===`error`?`failed`:`answered`}function Hr(e){let{t}=J(),n=e.mode===`change`?t(`customize.keyed.changeTitle`):t(`customize.keyed.addTitle`);return c(z,{open:e.open,onOpenChange:t=>t?void 0:e.onClose(),children:a(U,{width:`md`,placement:`sheet-on-mobile`,scroll:`body`,"aria-label":n,children:[c(W,{children:c(B,{children:n})}),e.open&&c(Ur,{...e,heading:n})]})})}function Ur(e){let{t,i18n:i}=J(),s=Or(e.cap,e.targetId),l=Dr(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??Rr(e.cap,e.targetId,`remaining.value`,`remaining.unit`)[0]??``),S=H({projection:`slim`}),C=n(()=>S.status===`success`?ut(S.data):[],[S.status,S.data]),w=Zr(e.seed,C),[T,E]=r(null),[D,O]=r(!1);!D&&w!==null&&(E(w),O(!0));let k=Le({deviceId:T?.id??0}),A=De({deviceId:T?.id??0}),j=kr(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,ne]=r(e.seed?.transform??{kind:`identity`}),[re,ie]=r(()=>e.seed?.transform.kind===`enum-map`?e.seed.transform.mapping:{}),N=j.find(e=>`${e.cap}.${e.path}`===M)??null,P=N===null?null:Mr(e.cap,e.targetId,g,N),F=m?f:Cr(u),I=Gr(e.cap,e.targetId,g,v,b),ae=Kr(T,N,P,re,te),oe=ae===null?null:Ir({cap:e.cap,targetId:e.targetId,device:e.target,apply:e.apply,key:F,label:u,fieldPath:g,source:ae,transform:ae.transform,literals:I}),se=qr(oe,F,g,N,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(Cr(e))};return a(o,{children:[a(V,{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(Ae,{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(Ae,{value:F,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(K,{value:g,options:l.map(e=>({value:e.path,label:t(Br[e.path]??e.path)})),onChange:e=>{_(e.target.value),ee(null),ne({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(K,{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)),Lr(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(K,{value:b,options:Rr(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(G,{title:t(`customize.picker.devicesFailed`),message:S.error?.message??``}):c(we,{devices:Xr(C,e.host.id),listState:Vr(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(R,{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=Mr(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:[X(n.cap,n.path,i.language),n.unit===null?``:` (${n.unit})`]})]}),!r.ok&&c(`span`,{className:`text-foreground-subtle`,children:t(jn(r.reason))})]},o)})}),P?.ok===!0&&P.mode===`scalar`&&c(Un,{control:P.fit.transforms.includes(`linear`)?`choice`:`none`,transforms:P.fit.transforms,unit:P.fit.sourceUnit,value:te,onChange:ne}),P?.ok===!0&&P.mode===`enum`&&N!==null&&c(Wr,{values:N.enumValues,outputs:zr(e.cap,e.targetId,g),mapping:re,onChange:ie}),se!==null&&c(Rn,{preview:se})]}),a(Ie,{className:`flex flex-wrap gap-2`,children:[c(R,{variant:`ghost`,onClick:e.onClose,children:t(`customize.scalar.cancel`)}),c(R,{"data-testid":`keyed-save-item`,disabled:!e.canSave||oe===null||F===``,onClick:()=>{oe!==null&&e.onSave(oe,F)},children:t(`customize.keyed.save`)})]})]});function ue(t,n){if(n.ok){if(ee(`${t.cap}.${t.path}`),n.mode===`enum`){let n=Fr(t.enumValues,zr(e.cap,e.targetId,g));ie(n),ne({kind:`enum-map`,mapping:{...n}});return}ne(Pr(n))}}}function Wr(e){let{t}=J();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(K,{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 Gr(e,t,n,r,i){let a=Object.entries(r).map(([e,t])=>({path:e,value:t})),o=Lr(e,t,n).flatMap(e=>i===``?[]:[{path:e,value:i}]);return[...a,...o]}function Kr(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 qr(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=$(i[r.cap],r.path);if(a.kind===`from`)return Jr(o);if(a.kind!==`expression`)return{kind:`failed`,reason:`compile`};let s=Yr(o);if(s===void 0)return{kind:`failed`,reason:`no-value`};let c=P(a.expr,{x:s},Date.now());return c.ok?Jr(c.value):{kind:`failed`,reason:c.error}}function Jr(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 Yr(e){if(typeof e==`number`||typeof e==`string`||typeof e==`boolean`)return e;if(e===null)return null}function Xr(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 Zr(e,t){return e===null?null:t.find(t=>t.addonId===e.source.addonId&&t.stableId===e.source.stableId)??null}var Qr=`consumables`,$r=`items`,ei=ie.shape.items;function ti(e){let t=e.split(`.`).pop()??e,n=t.replace(/Level$/,``);return n===``?t:n}function ni(e){let t=e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)}function ri(e,t){return e.caps.filter(e=>t.has(e.cap)&&e.cap!==`consumables`).flatMap(e=>e.fields.filter(e=>e.item!==!0&&ke(e)).map(t=>({kind:`field`,key:ti(t.path),cap:e.cap,path:t.path})))}function ii(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=ei.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 ai(e,t,n){if(e.kind!==`known`)return e;if(t.kind!==`known`)return t;let r=ri(t.value,e.value);if(!e.value.has(`consumables`)||n===null)return{kind:`known`,value:r};let i=ii(n);return i.kind===`known`?{kind:`known`,value:[...r,...i.value]}:i}function oi(e){return e.defaults.map(t=>t.kind===`field`?c(si,{deviceId:e.deviceId,entry:t},`field:${t.cap}.${t.path}`):c(li,{entry:t},`item:${t.key}`))}function si(e){let{t}=J(),n=xt({deviceId:e.deviceId,cap:e.entry.cap,path:e.entry.path});return c(Sr,{name:t(`customize.consumables.fields.${e.entry.key}`,{defaultValue:ni(e.entry.key)}),detail:t(`customize.consumables.builtIn`),meta:t(`customize.assign.native`),value:null,readout:c(ci,{value:n}),removeLabel:``})}function ci(e){switch(e.value.kind){case`pending`:return c(wt,{display:{text:`…`,tone:`muted`}});case`unknown`:return c(wt,{display:{text:`?`,title:e.value.reason,tone:`warning`}});case`absent`:return c(be,{level:null,size:`sm`});case`value`:return c(be,{level:xe(e.value.value),size:`sm`})}}function li(e){let{t}=J(),{item:n}=e.entry,r=n.level===null?n.status===`replace`?t(`uiLibrary.consumablesPanel.replace`):void 0:`${Math.round(n.level)} %`;return c(Sr,{name:n.label,detail:t(`customize.consumables.builtIn`),meta:t(`customize.assign.native`),value:null,readout:c(be,{level:Ve(n),label:r,size:`sm`}),removeLabel:``})}e();var ui={consumables:d};function di(){return Object.entries(A).flatMap(([e,t])=>t.targets.filter(e=>e.cardinality===`keyedArray`).map(t=>({cap:e,target:t})))}function fi(e){let{t,i18n:n}=J(),i=ct(),[s,l]=r(null),[u,d]=r(null),f=Y(e.handle.state),p=Q(f,e.cap),m=hi(e.handle,p),h=m.kind===`known`&&m.value!==null?ne(m.value,e.cap,e.target.id):null,g=qe(h!==null),_=gi(h,g),v=re({cap:e.cap,targetId:e.target.id,device:e.handle.target,stored:m,sourcePresence:_,sourceUnknownReason:g.kind===`unknown`?g.reason:null});if(!mi(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=yi(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?it(f,e.cap):Z(f,e.handle.target,r);await i(t(`customize.consumables.removeWhat`,{name:n.label}),a===null)&&await T(a)},D=s!==null&&s!==`add`?vi(h,s):null;return a(o,{children:[c(Ue,{id:e.cap,icon:ui[e.cap],title:C,testId:`keyed-card-${e.cap}`,actions:c(L,{children:w}),children:a(`div`,{className:`flex flex-col gap-2 px-3 py-2 sm:px-4`,children:[e.defaults.kind===`known`&&c(oi,{deviceId:e.device.id,defaults:e.defaults.value}),e.defaults.kind===`unknown`&&c(G,{title:t(`customize.consumables.builtIn`),message:t(`customize.consumables.builtInUnreadable`,{reason:e.defaults.reason})}),h?.items.map(t=>c(pi,{deviceId:e.device.id,cap:e.cap,item:t,language:n.language,sourceName:_i(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(R,{variant:`outline`,size:`sm`,"data-testid":`keyed-add-${e.cap}`,disabled:e.handle.saving,onClick:()=>l(`add`),children:t(`customize.keyed.add`)})]})}),c(Hr,{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(Z(f,e.handle.target,i)))}})]})}function pi(e){let{t}=J(),n=e.item.compile,r=e.item.recognized&&n!==null,i=n===null?``:X(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:ce(pe,e.item.key,n.draft.fieldPath);return a(`div`,{className:`flex flex-col gap-1`,"data-testid":`keyed-row-${e.item.key}`,children:[c(Sr,{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(Ct,{target:{deviceId:e.deviceId,cap:e.cap,path:s}}),removeLabel:``}),a(`div`,{className:`flex flex-wrap gap-2`,children:[r&&c(R,{variant:`outline`,size:`sm`,disabled:e.saving,onClick:e.onChange,children:t(`customize.keyed.change`)}),r&&c(R,{variant:`ghost`,size:`sm`,disabled:e.saving,onClick:e.onRemove,children:t(`customize.keyed.remove`)}),!r&&c(Dn,{handle:e.handle,cap:e.cap,itemKey:e.item.key,fieldPath:`status`})]})]})}function mi(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 hi(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 gi(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=I(n);return t.value.some(e=>I({addonId:e.addonId,stableId:e.stableId})===r)})?`present`:`absent`}function _i(e,t){let n=e.compile?.draft.source;if(n===void 0||t.kind!==`known`)return null;let r=I(n);return t.value.find(e=>I({addonId:e.addonId,stableId:e.stableId})===r)?.name??null}function vi(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 yi(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 bi(e){return c(o,{children:di().map(t=>t.target.deviceTypes.includes(e.device.type)?c(fi,{device:e.device,handle:e.handle,availability:Tn(xn(t.cap,t.target),e.facts),cap:t.cap,target:t.target,defaults:e.defaults},t.cap):null)})}function xi(){return Object.entries(A).flatMap(([e,t])=>t.targets.filter(e=>e.cardinality===`event`).map(t=>({cap:e,pulse:Si(t),span:Ci(t)})).filter(e=>e.pulse!==null||e.span!==null))}function Si(e){if(e.shape!==`pulse`)return null;let t=Ti(e.apply);return e.timestampPath===void 0||e.counterPath===void 0||e.debounceMs===void 0||t===null?null:{id:e.id,timestampPath:e.timestampPath,counterPath:e.counterPath,debounceMs:e.debounceMs,apply:t,deviceTypes:e.deviceTypes}}function Ci(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 wi(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 Ti(e){return e===`add`||e===`replace`?e:null}export{Je as A,st as C,nt as D,tt as E,Ge as M,We as N,X as O,Ue as P,Q as S,it as T,fn as _,Qr as a,ut as b,xr as c,Zn as d,Dn as f,yn as g,xn as h,di as i,qe as j,Y as k,gr as l,bn as m,xi as n,$r as o,Tn as p,bi as r,ai as s,wi as t,$n as u,xt as v,Z as w,ct as x,$ as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./i18n-
|
|
1
|
+
import{t as e}from"./i18n-CQ56JIQj.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-mwQ6DKjG.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-BAoznONo.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.415`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.415`}},"@camstack/sdk":{version:`1.2.152`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.152`}},"@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.324`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.324`}},"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};
|