@camstack/addon-admin-ui 0.1.46 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/assets/_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-DhUskkLv.js +1 -0
  2. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-1rzf3QZV.js +1 -0
  3. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_client__loadShare__.js-CSJxMxg6.js +6 -0
  4. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.js-CPJ7iclX.js +1 -0
  5. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare__konva__loadShare__.js-B7XYY0cV.js +15 -0
  6. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_dom__loadShare__.js-C2cB5JUo.js +1 -0
  7. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-CXx5u_N6.js +9 -0
  8. package/dist/assets/_virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_konva__loadShare__.js-B2sDsXg0.js +19 -0
  9. package/dist/assets/browser-BHo8W_uH.js +8 -0
  10. package/dist/assets/dist-CGRDjIOZ.js +1 -0
  11. package/dist/assets/dist-mzJ_Pmak.js +1 -0
  12. package/dist/assets/dist-q2poCTnb.js +75 -0
  13. package/dist/assets/hostInit-BKCH_xPO.js +1 -0
  14. package/dist/assets/index-CYoeHsdE.js +82 -0
  15. package/dist/assets/index-D2K_AdnO.css +2 -0
  16. package/dist/{mf-entry-bootstrap-0.js → assets/mf-entry-bootstrap-0-adeca54a.js} +7 -5
  17. package/dist/assets/remoteEntry-aR0pkhzt.js +1 -0
  18. package/dist/assets/rolldown-runtime-Cyuzqnbw.js +1 -0
  19. package/dist/assets/schemas-CuE8EXQ7.js +64 -0
  20. package/dist/assets/src-BE2rTAMO.js +1 -0
  21. package/dist/assets/src-CrhOk7JL.js +1 -0
  22. package/dist/assets/virtualExposes-SIMIW5lI.js +1 -0
  23. package/dist/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-BU185vSK.js +5 -0
  24. package/dist/assets/virtual_mf-exposes___mfe_internal__admin_ui_host__remoteEntry-_hash_-DnnXQRkG.js +1 -0
  25. package/dist/assets/vite-preload-helper-zJ_50EbN.js +1 -0
  26. package/dist/index.html +30 -13
  27. package/dist/server/addon.js +19925 -13686
  28. package/dist/sw.js +1 -1
  29. package/package.json +11 -9
  30. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.mjs-CRKSbdgN.js +0 -1
  31. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.mjs_commonjs-proxy-BGPfTw3V.js +0 -1
  32. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_client__loadShare__.mjs-DIkg6-MH.js +0 -6
  33. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_client__loadShare__.mjs_commonjs-proxy-WD2WouMQ.js +0 -1
  34. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.mjs-jPpiOa0I.js +0 -1
  35. package/dist/assets/__mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.mjs_commonjs-proxy-DYNYuSL7.js +0 -1
  36. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__konva__loadShare__.mjs-g85Oidc0.js +0 -15
  37. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__konva__loadShare__.mjs_commonjs-proxy-Bqeq2Zwj.js +0 -1
  38. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react__loadShare__.mjs-ij0ODm-n.js +0 -9
  39. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react__loadShare__.mjs_commonjs-proxy-C4Ko8zXp.js +0 -1
  40. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.mjs-C_6K4VBY.js +0 -9
  41. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.mjs_commonjs-proxy-DrLZNXOX.js +0 -1
  42. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_dom__loadShare__.mjs-Cf5gSqc_.js +0 -9
  43. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-CYaX3FDr.js +0 -1
  44. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_dom_mf_1_client__loadShare__.mjs-rHwdrynu.js +0 -25
  45. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_dom_mf_1_client__loadShare__.mjs_commonjs-proxy-DRDS6j-Y.js +0 -1
  46. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_konva__loadShare__.mjs-cUuqcEcL.js +0 -35
  47. package/dist/assets/__mfe_internal__admin_ui_host__loadShare__react_mf_2_konva__loadShare__.mjs_commonjs-proxy-CzMP41OH.js +0 -1
  48. package/dist/assets/_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-DNAkeUTZ.js +0 -1
  49. package/dist/assets/browser-BXdiCFWD.js +0 -8
  50. package/dist/assets/devices-DaqavVOg.js +0 -1
  51. package/dist/assets/hostInit-ByQycOVJ.js +0 -1
  52. package/dist/assets/index-B6kubsZI.js +0 -151
  53. package/dist/assets/index-BI1a6Whs.js +0 -1
  54. package/dist/assets/index-BVNg3Krt.js +0 -1185
  55. package/dist/assets/index-BbwPCEeT.js +0 -1
  56. package/dist/assets/index-BpC2rqYA.js +0 -1
  57. package/dist/assets/index-CukoHCyD.js +0 -1
  58. package/dist/assets/index-Cyva9RmE.js +0 -1
  59. package/dist/assets/index-DLnW8nGB.css +0 -1
  60. package/dist/assets/index-DNydUTOB.js +0 -1
  61. package/dist/assets/index-DVLRgczW.js +0 -1
  62. package/dist/assets/index-PXbclFuZ.js +0 -87
  63. package/dist/assets/index-QqQmcu5i.js +0 -1
  64. package/dist/assets/method-access-map-DjDdPRYC.js +0 -1
  65. package/dist/assets/preload-helper-BlTxHScW.js +0 -1
  66. package/dist/assets/remoteEntry-iRKuVHUX.js +0 -1
  67. package/dist/assets/schemas-BdJePqbR.js +0 -64
  68. package/dist/assets/virtualExposes-_ivNhQLP.js +0 -1
  69. package/dist/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-QVZxTxLo.js +0 -8
  70. package/dist/server/addon.js.map +0 -1
@@ -1 +0,0 @@
1
- import{c as g,o as t,s as e,n as a,b as d,a as r,r as y,u as v,f as q,k as Va,l as b,_ as c,d as P,i as x,h as ht,g as re,p as On,t as vt,e as Ke,j as Ln,m as zn}from"./schemas-BdJePqbR.js";const Nn=g(["singleton","device","widget"]),jt=t({capName:e(),kind:Nn,deviceId:a().optional(),reachable:d(),latencyMs:a(),error:e().optional()}),Un=t({addonId:e(),caps:r(jt).readonly(),widgets:r(jt).readonly()}),Fn=t({nodeId:e(),addons:r(Un).readonly()}),Nc=t({ok:d(),degraded:d(),checkedAt:e(),nodes:r(Fn).readonly(),summary:t({total:a(),reachable:a(),unreachable:a()})}),_n=["onnx","coreml","openvino","tflite","pt"],Hn=[{id:"overview",label:"Overview",icon:"layout-dashboard",order:-10},{id:"general",label:"General",icon:"settings",order:0},{id:"image",label:"Image",icon:"image",order:5},{id:"light",label:"Light",icon:"lightbulb",order:7},{id:"motion",label:"Motion",icon:"activity",order:10},{id:"audio",label:"Audio",icon:"mic",order:12},{id:"alarms",label:"Alarms",icon:"bell-ring",order:13},{id:"snapshot",label:"Snapshot",icon:"camera",order:15},{id:"osd",label:"OSD",icon:"type",order:18},{id:"stream-broker",label:"Stream Broker",icon:"radio",order:20},{id:"streaming",label:"Streaming",icon:"video",order:35},{id:"ptz",label:"PTZ",icon:"move",order:40},{id:"pipeline",label:"Detection Pipeline",icon:"cpu",order:39},{id:"zones",label:"Detection",icon:"shapes",order:38},{id:"live-stats",label:"Live Stats",icon:"activity",order:39},{id:"recording",label:"Recording",icon:"circle-dot",order:40},{id:"engine",label:"Inference Engine",icon:"zap",order:41},{id:"scheduler",label:"Scheduler",icon:"list-checks",order:42},{id:"decoder",label:"Decoder",icon:"film",order:43},{id:"notifications",label:"Notifications",icon:"bell",order:50},{id:"network",label:"Network",icon:"globe",order:60},{id:"storage",label:"Storage",icon:"hard-drive",order:70},{id:"advanced",label:"Advanced",icon:"wrench",order:100}],Uc=Object.fromEntries(Hn.map(m=>[m.id,m]));function Wn(m){return m.type==="separator"||m.type==="info"||m.type==="button"||m.type==="object-array"||m.type==="widget"||m.type==="addon-action-button"}function Fc(m,l){return{...m.tabs?{tabs:[...m.tabs]}:{},sections:m.sections.map(o=>({...o,fields:o.fields.map(h=>je(h,l))}))}}function je(m,l){if(Wn(m))return m;if(m.type==="group"){const p=m.fields.map(w=>je(w,l));return{...m,fields:p}}if(m.type==="sub-tabs"){const p=m.tabs.map(w=>({...w,fields:w.fields.map(A=>je(A,l))}));return{...m,tabs:p}}const o=m.key,h=Object.prototype.hasOwnProperty.call(l,o)?l[o]:void 0,S=m.default;if(m.multiple){const p=Array.isArray(h)?h:h!=null?[h]:[],I=m.multiple.itemDefault!==void 0?m.multiple.itemDefault:S!==void 0?S:Vn(m)==="string"?"":null,w=Math.max(m.multiple.min,p.length),A=[];for(let M=0;M<w;M++)A.push(M<p.length?p[M]:I);return{...m,value:A}}const f=h!==void 0?h:S!==void 0?S:null;if(m.type==="password")return{...m,value:""};const k=m.type==="textarea"&&m.isJson&&f!==null&&typeof f=="object"?JSON.stringify(f,null,2):f;return{...m,value:k}}function Vn(m){switch(m.type){case"text":case"textarea":case"password":case"color":case"probe":return"string";case"number":case"slider":return"number";case"boolean":return"boolean";default:return"other"}}const $=g(["data","media","recordings","recordings-high","recordings-low","recordings-clips","event-images","models","cache","logs","addons-data","backups"]),_c={data:"singleton",media:"singleton",cache:"singleton",logs:"singleton","addons-data":"singleton",models:"singleton","event-images":"singleton",recordings:"multi","recordings-high":"multi","recordings-low":"multi","recordings-clips":"multi",backups:"multi"},T=t({id:e().regex(/^[a-z][a-z0-9-]*:[a-z0-9-]+$/),type:$,displayName:e().min(1),providerId:e().min(1),config:y(e(),v()),isDefault:d().default(!1),isSystem:d().default(!1),createdAt:a(),updatedAt:a()}),z=q([$,e().regex(/^[a-z][a-z0-9-]*:[a-z0-9-]+$/)]),Gn=t({inputFps:a(),outputFps:a(),avgDecodeTimeMs:a(),droppedFrames:a()}),Zt=t({codec:e(),maxFps:a().default(0),outputFormat:g(["jpeg","rgb","bgr","yuv420","gray"]).default("jpeg"),scale:a().default(1),width:a().optional(),height:a().optional(),deviceId:a().int().nonnegative().optional(),tag:e().optional(),frameSink:g(["callback","shm"]).default("callback")}),Kn=[{id:"speech",name:"Speech",icon:"🗣️"},{id:"scream",name:"Scream / Shout",icon:"😱"},{id:"crying",name:"Crying / Baby",icon:"😢"},{id:"laughter",name:"Laughter",icon:"😂"},{id:"music",name:"Music",icon:"🎵"},{id:"dog",name:"Dog",icon:"🐕"},{id:"cat",name:"Cat",icon:"🐈"},{id:"bird",name:"Bird",icon:"🐦"},{id:"animal",name:"Animal (other)",icon:"🐾"},{id:"alarm",name:"Alarm / Siren",icon:"🚨"},{id:"doorbell",name:"Doorbell / Knock",icon:"🔔"},{id:"glass_breaking",name:"Glass Breaking",icon:"💥"},{id:"gunshot",name:"Gunshot / Explosion",icon:"💣"},{id:"vehicle",name:"Vehicle",icon:"🚗"},{id:"siren",name:"Emergency Siren",icon:"🚑"},{id:"fire",name:"Fire / Smoke",icon:"🔥"},{id:"water",name:"Water",icon:"💧"},{id:"wind",name:"Wind / Weather",icon:"🌬️"},{id:"door",name:"Door",icon:"🚪"},{id:"footsteps",name:"Footsteps",icon:"👣"},{id:"crowd",name:"Crowd / Chatter",icon:"👥"},{id:"telephone",name:"Telephone",icon:"📞"},{id:"engine",name:"Engine / Motor",icon:"⚙️"},{id:"tools",name:"Tools / Construction",icon:"🔨"},{id:"silence",name:"Silence",icon:"🤫"}],jn={mapping:{Speech:"speech","Child speech, kid speaking":"speech",Conversation:"speech","Narration, monologue":"speech",Babbling:"speech",Whispering:"speech","Speech synthesizer":"speech",Humming:"speech",Rapping:"speech",Singing:"speech",Choir:"speech","Child singing":"speech",Shout:"scream",Bellow:"scream",Yell:"scream",Screaming:"scream","Children shouting":"scream",Whoop:"scream","Crying, sobbing":"crying","Baby cry, infant cry":"crying",Whimper:"crying","Wail, moan":"crying",Groan:"crying",Laughter:"laughter","Baby laughter":"laughter",Giggle:"laughter",Snicker:"laughter","Belly laugh":"laughter","Chuckle, chortle":"laughter",Music:"music","Musical instrument":"music",Guitar:"music",Piano:"music",Drum:"music","Drum kit":"music","Violin, fiddle":"music",Flute:"music",Saxophone:"music",Trumpet:"music",Synthesizer:"music","Pop music":"music","Rock music":"music","Hip hop music":"music","Classical music":"music",Jazz:"music","Electronic music":"music","Background music":"music",Dog:"dog",Bark:"dog",Yip:"dog",Howl:"dog","Bow-wow":"dog",Growling:"dog","Whimper (dog)":"dog",Cat:"cat",Purr:"cat",Meow:"cat",Hiss:"cat",Caterwaul:"cat",Bird:"bird","Bird vocalization, bird call, bird song":"bird","Chirp, tweet":"bird",Squawk:"bird",Crow:"bird",Owl:"bird","Pigeon, dove":"bird",Animal:"animal","Domestic animals, pets":"animal","Livestock, farm animals, working animals":"animal",Horse:"animal","Cattle, bovinae":"animal",Pig:"animal",Sheep:"animal",Goat:"animal",Frog:"animal",Insect:"animal",Cricket:"animal",Alarm:"alarm","Alarm clock":"alarm","Smoke detector, smoke alarm":"alarm","Fire alarm":"alarm",Buzzer:"alarm","Civil defense siren":"alarm","Car alarm":"alarm",Siren:"siren","Police car (siren)":"siren","Ambulance (siren)":"siren","Fire engine, fire truck (siren)":"siren","Emergency vehicle":"siren",Foghorn:"siren",Doorbell:"doorbell","Ding-dong":"doorbell",Knock:"doorbell",Tap:"doorbell",Glass:"glass_breaking",Shatter:"glass_breaking","Chink, clink":"glass_breaking","Gunshot, gunfire":"gunshot","Machine gun":"gunshot",Explosion:"gunshot",Fireworks:"gunshot",Firecracker:"gunshot","Artillery fire":"gunshot","Cap gun":"gunshot",Boom:"gunshot",Vehicle:"vehicle",Car:"vehicle",Truck:"vehicle",Bus:"vehicle",Motorcycle:"vehicle","Car passing by":"vehicle","Vehicle horn, car horn, honking":"vehicle","Traffic noise, roadway noise":"vehicle",Train:"vehicle",Aircraft:"vehicle",Helicopter:"vehicle",Bicycle:"vehicle",Skateboard:"vehicle",Fire:"fire",Crackle:"fire",Water:"water",Rain:"water",Raindrop:"water","Rain on surface":"water",Stream:"water",Waterfall:"water",Ocean:"water","Waves, surf":"water","Splash, splatter":"water",Wind:"wind",Thunderstorm:"wind",Thunder:"wind","Wind noise (microphone)":"wind","Rustling leaves":"wind",Door:"door","Sliding door":"door",Slam:"door","Cupboard open or close":"door","Walk, footsteps":"footsteps",Run:"footsteps",Shuffle:"footsteps",Crowd:"crowd",Chatter:"crowd",Cheering:"crowd",Applause:"crowd","Children playing":"crowd","Hubbub, speech noise, speech babble":"crowd",Telephone:"telephone","Telephone bell ringing":"telephone",Ringtone:"telephone","Telephone dialing, DTMF":"telephone","Busy signal":"telephone",Engine:"engine","Engine starting":"engine",Idling:"engine","Accelerating, revving, vroom":"engine","Light engine (high frequency)":"engine","Medium engine (mid frequency)":"engine","Heavy engine (low frequency)":"engine","Lawn mower":"engine",Chainsaw:"engine",Hammer:"tools",Jackhammer:"tools",Sawing:"tools","Power tool":"tools",Drill:"tools",Sanding:"tools",Silence:"silence"},preserveOriginal:!1},Zn={mapping:{speech:"speech",child_speech:"speech",conversation:"speech",whispering:"speech",singing:"speech",humming:"speech",shout:"scream",yell:"scream",screaming:"scream",crying:"crying",baby_crying:"crying",sobbing:"crying",laughter:"laughter",baby_laughter:"laughter",giggling:"laughter",music:"music",guitar:"music",piano:"music",drums:"music",dog_bark:"dog",dog_bow_wow:"dog",dog_growling:"dog",dog_howl:"dog",cat_meow:"cat",cat_purr:"cat",cat_hiss:"cat",bird:"bird",bird_chirp:"bird",bird_squawk:"bird",animal:"animal",horse:"animal",cow_moo:"animal",insect:"animal",alarm:"alarm",smoke_alarm:"alarm",fire_alarm:"alarm",car_alarm:"alarm",siren:"siren",police_siren:"siren",ambulance_siren:"siren",doorbell:"doorbell",door_knock:"doorbell",knocking:"doorbell",glass_breaking:"glass_breaking",glass_shatter:"glass_breaking",gunshot:"gunshot",explosion:"gunshot",fireworks:"gunshot",car:"vehicle",truck:"vehicle",motorcycle:"vehicle",car_horn:"vehicle",vehicle_horn:"vehicle",traffic:"vehicle",fire:"fire",fire_crackle:"fire",water:"water",rain:"water",ocean:"water",splash:"water",wind:"wind",thunder:"wind",thunderstorm:"wind",door:"door",door_slam:"door",sliding_door:"door",footsteps:"footsteps",walking:"footsteps",running:"footsteps",crowd:"crowd",chatter:"crowd",cheering:"crowd",applause:"crowd",telephone_ring:"telephone",ringtone:"telephone",engine:"engine",engine_starting:"engine",lawn_mower:"engine",chainsaw:"engine",hammer:"tools",jackhammer:"tools",drill:"tools",power_tool:"tools",silence:"silence"},preserveOriginal:!1},yt=new Map;for(const[m,l]of Object.entries(jn.mapping))yt.set(m.toLowerCase(),l);for(const[m,l]of Object.entries(Zn.mapping))yt.set(m.toLowerCase(),l);function Hc(m){return yt.get(m.toLowerCase())??null}function Wc(){return Kn.map(m=>m.id)}var C=(m=>(m.Camera="camera",m.Hub="hub",m.Light="light",m.Siren="siren",m.Switch="switch",m.Sensor="sensor",m.Thermostat="thermostat",m.Button="button",m.Generic="generic",m))(C||{}),Ga=(m=>(m.BatteryOperated="battery-operated",m.Rebootable="rebootable",m.NativeSnapshot="native-snapshot",m.DoorbellButton="doorbell-button",m.TwoWayAudio="two-way-audio",m.PanTiltZoom="pan-tilt-zoom",m.PtzAutotrack="ptz-autotrack",m.MotionTrigger="motion-trigger",m))(Ga||{}),$n=(m=>(m.ChargingDC="charging-dc",m.ChargingSolar="charging-solar",m.NotCharging="not-charging",m))($n||{}),N=(m=>(m.Siren="siren",m.Floodlight="floodlight",m.Spotlight="spotlight",m.PirSensor="pir-sensor",m.Chime="chime",m.Autotrack="autotrack",m.Nightvision="nightvision",m.PrivacyMask="privacy-mask",m.Doorbell="doorbell",m))(N||{});const F={Siren:N.Siren,Floodlight:N.Floodlight,Spotlight:N.Spotlight,PirSensor:N.PirSensor,Chime:N.Chime,Autotrack:N.Autotrack,Nightvision:N.Nightvision,PrivacyMask:N.PrivacyMask},Vc={[F.Siren]:"Siren",[F.Floodlight]:"Floodlight",[F.Spotlight]:"Spotlight",[F.PirSensor]:"PIR",[F.Chime]:"Chime",[F.Autotrack]:"Autotracking",[F.Nightvision]:"Night Vision",[F.PrivacyMask]:"Privacy Mask"};function Gc(m,l,o){const h=`${m}:${l}`;return typeof o=="number"?`${h}:${o}`:h}function Qn(m,l){return!m||m.length===0?!1:m.includes(l.when.hasFeature)}const Yn={id:"battery",label:"Battery-operated camera",when:{hasFeature:Ga.BatteryOperated},defaults:{audioMode:"disabled",detectionMode:"on-motion"},settings:{"snapshot.minRefreshIntervalSec":3600,"streamBroker.preBufferEnabled":!1}},Jn=[Yn];function Kc(m){for(const l of Jn)if(Qn(m,l))return l;return null}const De=t({online:d(),lastChangedAt:a()}),jc={name:"device-status",scope:"device",mode:"singleton",methods:{},events:{onStatusChanged:{data:t({deviceId:a(),status:De})}},status:{schema:De,kind:"push"},runtimeState:De},Me=t({flags:y(e(),v()),deviceType:e().nullable(),model:e().nullable(),channelCount:a().nullable(),lastProbedAt:a(),lastFetchedAt:a()}),Zc={name:"feature-probe",scope:"device",mode:"singleton",methods:{},events:{onProbeChanged:{data:t({deviceId:a(),status:Me})}},status:{schema:Me,kind:"push"},runtimeState:Me},Xn=t({id:e(),title:e(),description:e().optional(),style:g(["card","accordion"]).optional(),defaultCollapsed:d().optional(),columns:q([b(1),b(2),b(3),b(4)]).optional(),tab:e().optional(),location:g(["settings","top-tab"]).optional(),order:a().optional(),fields:r(Va())}),ei=t({id:e(),label:e(),icon:e(),order:a().optional()}),ti=t({tabs:r(ei).optional(),sections:r(Xn)}),$t=ti.nullable(),ai={getDeviceSettingsContribution:{input:t({deviceId:a()}),output:$t,kind:"query",auth:"protected"},getDeviceLiveContribution:{input:t({deviceId:a()}),output:$t,kind:"query",auth:"protected"},applyDeviceSettingsPatch:{input:t({deviceId:a(),patch:y(e(),v())}),output:t({success:b(!0)}),kind:"mutation",auth:"admin"}},ni={getStatus:{input:t({deviceId:a()}),output:v().nullable(),kind:"query",auth:"protected"}};function $c(m){let l=m.methods;return m.exposesDeviceSettings&&(l={...ai,...l}),m.status&&(l={...ni,...l}),l}function i(m,l,o){return{input:m,output:l,kind:o?.kind??"query",auth:o?.auth??"protected",...o?.access!==void 0?{access:o.access}:{},timeoutMs:o?.timeoutMs}}function G(m){return{data:m}}function Qc(m){return m?.deviceConfig!==void 0}const ii=t({className:e(),hits:a().int().nonnegative(),avgScore:a().min(0).max(1),peakScore:a().min(0).max(1)}),Qt=t({ts:a().int(),windowSec:a().int().positive(),level:t({rms:a(),dbfs:a()}),peakDbfs:a(),avgDbfs:a(),current:t({className:e(),score:a().min(0).max(1),timestamp:a().int()}).nullable(),byClass:r(ii).readonly()}),oi=t({ts:a().int(),dbfs:a().nullable(),peakDbfs:a(),avgDbfs:a(),topClass:e().nullable(),topScore:a().min(0).max(1).nullable()}),si=t({points:r(oi).readonly(),effectiveSampleEveryMs:a().int().positive(),windowMsActual:a().int().nonnegative()}),Yc={name:"audio-metrics",scope:"device",mode:"singleton",deviceTypes:[C.Camera],methods:{getCurrentSnapshot:i(t({deviceId:a()}),Qt.nullable()),getHistory:i(t({deviceId:a(),windowSec:a().int().positive().optional(),sampleEveryMs:a().int().positive().optional()}),si)},runtimeState:Qt},Ee=t({percentage:a().min(0).max(100),charging:g(["dc","solar","none"]),sleeping:d(),lastUpdated:a()}),Jc={name:"battery",scope:"device",mode:"singleton",deviceTypes:[C.Camera,C.Sensor,C.Button,C.Switch],methods:{},events:{onStatusChanged:{data:t({deviceId:a(),status:Ee})}},status:{schema:Ee,kind:"push"},runtimeState:Ee},Yt=t({percentage:a().min(0).max(100),lastChangedAt:a()}),Xc={name:"brightness",scope:"device",mode:"singleton",deviceTypes:[C.Light],methods:{setBrightness:i(t({deviceId:a().int().nonnegative(),percentage:a().min(0).max(100)}),c(),{kind:"mutation",auth:"admin"})},events:{onBrightnessChanged:{data:t({deviceId:a(),percentage:a().min(0).max(100),lastChangedAt:a()})}},status:{schema:Yt,kind:"command-driven"},runtimeState:Yt},H=g(["high","mid","low"]),el=["high","mid","low"],St=g(["pull-rtsp","pull-rtmp","pull-http","pull-rfc4571","push-annexb"]),Ae=t({width:a().int().positive(),height:a().int().positive()}),Ze=t({camStreamId:e().min(1),deviceId:a().int().nonnegative(),kind:St,url:e().optional(),codec:e().optional(),resolution:Ae.optional(),fps:a().positive().optional(),label:e().optional(),deviceFeatures:r(e()).optional(),autoEligible:d().optional(),metadata:y(e(),v()).optional()}),he=g(["unassigned","idle","connecting","streaming","error"]),$e=t({deviceId:a().int().nonnegative(),profile:H,brokerId:e(),sourceCamStreamId:e().nullable(),status:he,resolution:Ae.optional(),codec:e().optional(),preBufferSec:a().nonnegative().optional(),errorMessage:e().optional()}),ri=t({id:e(),label:e(),protocol:g(["rtsp","rtmp","annexb","http-mjpeg","webrtc","custom"]),url:e().optional(),resolution:t({width:a(),height:a()}).readonly().optional(),fps:a().optional(),bitrate:a().optional(),codec:e().optional(),profileHint:g(["high","mid","low"]).optional()}),tl=t({type:e(),url:e(),videoCodec:e().optional(),audioCodec:e().optional(),metadata:y(e(),v()).readonly().optional()}),di=t({type:g(["video","audio"]),data:P(Uint8Array),pts:a(),dts:a(),keyframe:d(),codec:e()}),Jt=t({data:P(Uint8Array),width:a(),height:a(),format:g(["jpeg","rgb","bgr","yuv420","gray"]),timestamp:a()}),Qe=t({shmId:e(),slot:a().int().nonnegative(),seq:a().int().nonnegative(),width:a().int().positive(),height:a().int().positive(),format:g(["jpeg","rgb","bgr","yuv420","gray"]),pts:a(),byteLength:a().int().nonnegative(),nodeId:e(),slotCount:a().int().positive()}),ci=g(["rgb","bgr","yuv420","gray"]),li=t({brokerId:e(),format:ci,maxFps:a().positive().optional(),tag:e().optional()}),ui=t({subscriptionId:e(),maxFps:a().nonnegative()}),mi=t({data:P(Uint8Array),sampleRate:a().int().positive(),channels:a().int().positive(),timestamp:a()}),pi=t({brokerId:e(),tag:e().optional()}),gi=t({subscriptionId:e()}),hi=g(["idle","connecting","streaming","error","stopped"]),vi=t({status:hi,inputFps:a(),decodeFps:a(),encodedSubscribers:a(),decodedSubscribers:a(),uptimeMs:a(),bitrateKbps:a(),idrIntervalMs:a(),codec:e().optional(),totalBytes:a(),packetCount:a(),rtspClients:a(),pipeClients:a(),preBufferSec:a(),preBufferMs:a(),preBufferPackets:a(),decoderNodeId:e().nullable(),audio:t({codec:e(),sampleRate:a(),channels:a(),supported:d()}).nullable().optional()}),bt=g(["webrtc","hls","mjpeg","rtsp"]),yi=t({streamId:e(),format:bt,url:e().nullable(),active:d()}),al={name:"streaming-engine",scope:"system",mode:"singleton",internal:!0,methods:{registerStream:i(t({streamId:e(),sourceUrl:e(),codec:e().optional()}),c(),{kind:"mutation"}),unregisterStream:i(t({streamId:e()}),c(),{kind:"mutation"}),getStreamUrl:i(t({streamId:e(),format:bt}),e().nullable()),listStreams:i(c(),r(yi))}},Ye=t({brokerId:e(),url:e(),mutedUrl:e(),enabled:d()}),Si=t({sessionId:e(),remoteAddr:e(),playing:d(),muted:d(),connectedAt:a(),lastRtpAt:a(),bytesSent:a()}),bi=t({tag:e(),subscribedAt:a(),maxFps:a(),framesDelivered:a(),framesDropped:a()}),fi=t({tag:e(),subscribedAt:a(),chunksDelivered:a()}),ki=t({rtsp:r(Si).readonly(),decoded:r(bi).readonly(),audio:r(fi).readonly(),pipeClients:a(),encodedSubscribers:a()}),nl=g(["reconnecting","sleeping","offline","disabled","waking"]),Ii=g(["H264","H265","auto"]),Ci=g(["AAC","Opus","PCMU","none"]),Ka=t({width:a().int().positive(),height:a().int().positive()}),Ai=t({deviceId:a().int().nonnegative(),videoCodec:Ii,audioCodec:Ci.optional(),maxResolution:Ka.optional(),tag:e().optional()}),wi=t({url:e(),videoCodec:g(["H264","H265"]),audioCodec:e(),resolution:Ka,transcoded:d(),encoder:e(),pipelineKey:e()}),il={name:"stream-broker",scope:"system",mode:"singleton",exposesDeviceSettings:!0,methods:{publishCameraStream:i(t({deviceId:a().int().nonnegative(),camStreamId:e().min(1),kind:St,url:e().optional(),codec:e().optional(),resolution:Ae.optional(),fps:a().positive().optional(),label:e().optional(),deviceFeatures:r(e()).optional(),autoEligible:d().optional(),metadata:y(e(),v()).optional()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),retractCameraStream:i(t({deviceId:a().int().nonnegative(),camStreamId:e().min(1)}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),assignProfile:i(t({deviceId:a().int().nonnegative(),profile:H,camStreamId:e().min(1)}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),unassignProfile:i(t({deviceId:a().int().nonnegative(),profile:H}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),listAllCameraStreams:i(c(),r(Ze).readonly()),listAllProfileSlots:i(c(),r($e).readonly()),getBrokerStats:i(t({brokerId:e()}),vi),listClients:i(t({brokerId:e()}),ki),killClient:i(t({brokerId:e(),channel:g(["rtsp","decoded","audio"]),handle:e()}),t({killed:d()}),{kind:"mutation",auth:"admin"}),restartProfile:i(t({deviceId:a().int().nonnegative(),profile:H}),t({success:d()}),{kind:"mutation",auth:"admin"}),getStreamUrl:i(t({streamId:e(),format:bt}),t({url:e()})),getStreamWithCodec:i(Ai,wi,{kind:"mutation",auth:"admin"}),releaseStreamWithCodec:i(t({pipelineKey:e()}),t({released:d(),refcount:a().int().nonnegative()}),{kind:"mutation",auth:"admin"}),subscribeAudioChunks:i(pi,gi,{kind:"mutation"}),pullAudioChunks:i(t({subscriptionId:e(),maxCount:a().int().positive().default(8)}),r(mi).readonly()),unsubscribeAudioChunks:i(t({subscriptionId:e()}),t({released:d()}),{kind:"mutation"}),subscribeFrames:i(li,ui,{kind:"mutation"}),pullFrameHandles:i(t({subscriptionId:e(),maxCount:a().int().positive().default(4)}),r(Qe).readonly()),unsubscribeFrames:i(t({subscriptionId:e()}),t({released:d()}),{kind:"mutation"}),setPreBufferDuration:i(t({brokerId:e(),seconds:a().min(0).max(30)}),c(),{kind:"mutation",auth:"admin"}),getPreBufferInfo:i(t({brokerId:e()}),t({configuredSec:a(),bufferedMs:a(),packetCount:a()})),getRtspPort:i(c(),a()),getAllRtspEntries:i(t({hostname:e().optional()}),r(Ye).readonly()),getRtspEntry:i(t({brokerId:e(),hostname:e().optional()}),Ye.nullable()),regenerateRtspToken:i(t({brokerId:e()}),e().nullable(),{kind:"mutation",auth:"admin"}),setRtspEnabled:i(t({brokerId:e(),enabled:d()}),c(),{kind:"mutation",auth:"admin"}),isRtspEnabled:i(t({brokerId:e()}),d())},events:{onCamStreamDemand:G(t({deviceId:a().int().nonnegative(),camStreamId:e(),profile:H})),onCamStreamIdle:G(t({deviceId:a().int().nonnegative(),camStreamId:e()})),onRequestStreamSourceRefresh:G(t({deviceId:a().int().nonnegative(),camStreamId:e(),brokerId:e()}))}},ol={name:"camera-streams",scope:"device",mode:"singleton",kind:"wrapper",defaultActive:!0,deviceTypes:[C.Camera],methods:{getCameraStreams:i(t({deviceId:a().int().nonnegative()}),r(Ze).readonly()),getBrokerStreams:i(t({deviceId:a().int().nonnegative()}),r($e).readonly()),getRtspEntries:i(t({deviceId:a().int().nonnegative(),hostname:e().optional()}),r(Ye).readonly())},events:{onCamStreamsChanged:G(t({deviceId:a().int().nonnegative(),camStreams:r(Ze).readonly()})),onProfileSlotsChanged:G(t({deviceId:a().int().nonnegative(),profileSlots:r($e).readonly()}))},runtimeState:t({online:d(),slotStatuses:t({high:he.optional(),mid:he.optional(),low:he.optional()}),slotErrors:t({high:e().optional(),mid:e().optional(),low:e().optional()}),lastChangedAt:a()})},Pi=g(["online","sleeping","offline","unknown"]),Je=t({childNativeId:e(),name:e(),type:g(C),status:Pi,metadata:t({model:e().optional(),serialNumber:e().optional(),uid:e().optional(),rtspChannel:a().int().nonnegative().optional(),isBattery:d().optional(),isDoorbell:d().optional(),isMultifocal:d().optional()}).default({}),alreadyAdopted:d(),adoptedDeviceId:a().int().nonnegative().nullable()}),Xt=t({discovered:r(Je),lastDiscoveryAt:a().int().nonnegative().nullable(),lastError:e().nullable()}),sl={name:"device-discovery",scope:"device",mode:"singleton",deviceTypes:[C.Hub],status:{schema:Xt,kind:"poll"},runtimeState:Xt.extend({lastFetchedAt:a().int().nonnegative()}),methods:{listDiscovered:i(t({deviceId:a().int().nonnegative()}),r(Je).readonly()),refreshDiscovery:i(t({deviceId:a().int().nonnegative()}),r(Je).readonly(),{kind:"mutation",auth:"admin"}),adoptDevice:i(t({deviceId:a().int().nonnegative(),childNativeId:e(),name:e().optional()}),t({deviceId:a().int().nonnegative(),stableId:e()}),{kind:"mutation",auth:"admin"}),releaseDevice:i(t({deviceId:a().int().nonnegative(),childDeviceId:a().int().nonnegative()}),c(),{kind:"mutation",auth:"admin"})}},ea=t({lastPressedAt:a().nullable(),pressCountSinceStart:a()}),Di=t({deviceId:a(),timestamp:a()}),rl={name:"doorbell",scope:"device",mode:"singleton",deviceTypes:[C.Button],methods:{},events:{onPressed:{data:Di}},status:{schema:ea,kind:"push"},runtimeState:ea},Mi=g(["jpeg","rgb","bgr","yuv420","gray"]),ve=t({data:x(),format:Mi,width:a(),height:a(),timestamp:a()}),Y=t({x:a(),y:a(),w:a(),h:a()}),Ei=t({class:e(),originalClass:e(),score:a(),bbox:Y}),ta=t({data:P(Uint8Array),sampleRate:a(),channels:a(),timestamp:a(),deviceId:a().optional()}),qi=t({rms:a(),dbfs:a()}),Xe=t({className:e(),originalClass:e().optional(),score:a()}),be=t({bbox:Y,pixelCount:a(),intensity:a()}),Ti=t({detected:d(),regionCount:a(),regions:r(be).readonly(),rawRegions:r(be).readonly(),frameWidth:a(),frameHeight:a(),analysisMs:a()}),dl={name:"motion-detection",scope:"device",mode:"singleton",kind:"wrapper",defaultActive:!0,exposesDeviceSettings:!0,methods:{analyze:i(t({deviceId:a(),frame:ve}),Ti,{kind:"mutation"}),removeCamera:i(t({deviceId:a()}),c(),{kind:"mutation"}),reset:i(c(),c(),{kind:"mutation"})},events:{onMotion:{data:t({deviceId:a(),detected:d(),regionCount:a()})}}},cl=t({activeCameras:a(),throttledCameras:a(),avgInferenceTimeMs:a(),queueDepth:a()}),ft=t({detectionMode:g(["disabled","always-on","on-motion"]),configuredFps:a(),actualFps:a(),queueDepth:a(),avgInferenceTimeMs:a(),droppedFrames:a(),phase:g(["idle","watching","active"])}),Bi=ft.extend({deviceId:a()}),et=g(["onnx","coreml","openvino","tflite","pt"]),oe=g(["detector","cropper","classifier","refiner","audio-classifier"]),E=t({runtime:g(["node","python"]),backend:e(),format:et,device:e().optional()}),Ri=t({id:e(),label:e(),description:e().optional()}),xi=t({engine:E,devices:r(Ri).readonly(),defaultDevice:e()}),tt=ht(()=>t({addonId:e(),addonName:e(),slot:oe,inputClasses:r(e()).readonly(),outputClasses:r(e()).readonly(),enabled:d(),modelId:e(),children:r(tt).readonly(),engine:E.optional(),group:e().optional(),settings:y(e(),v()).optional()})),fe=ht(()=>t({addonId:e(),enabled:d(),modelId:e(),children:r(fe).readonly(),settings:y(e(),v()).optional()})),qe=t({id:e(),name:e(),createdAt:e(),updatedAt:e(),engine:E,steps:r(fe).readonly()}),Oi=t({id:e(),name:e(),formats:y(e(),t({downloaded:d(),sizeMB:a()}))}),Li=x(),zi=t({id:e(),name:e(),slot:oe,inputClasses:r(e()).readonly(),outputClasses:r(e()).readonly(),childSlots:r(oe).readonly(),models:r(Oi).readonly(),defaultModelId:e(),defaultModelIdByFormat:y(e(),e()).optional(),enabledByDefault:d().optional(),defaultConfidence:a(),group:e().optional(),configSchema:r(Li).readonly().optional()}),Ni=t({id:oe,label:e(),priority:a(),parentSlot:oe.nullable(),addons:r(zi).readonly()}),Ui=t({availableEngines:r(xi).readonly(),selectedEngine:E,slots:r(Ni).readonly()}),Fi=t({detections:r(Ei).readonly(),inferenceMs:a(),modelId:e()}),Q=ht(()=>t({addonId:e(),modelId:e(),enabled:d().default(!0),children:r(Q).optional(),settings:y(e(),v()).optional()})),_i=t({filename:e(),stepIds:r(e()).readonly().optional()}),Hi=t({base64:e(),filename:e()}),Wi=t({filename:e(),sizeKb:a()}),Vi=t({base64:e()}),Gi=t({id:e(),name:e(),description:e(),available:d(),rawLabels:r(e()).readonly().optional()}),Ki=t({activeBackend:e(),availableBackends:r(Gi).readonly(),sampleRate:a(),chunkDurationMs:a()}),ji=t({filePath:e(),sizeMB:a(),durationMs:a()}),Zi=t({success:d(),error:e().optional(),frame:x().optional()}),$i=x(),Qi=x(),Yi=x(),Ji=x(),Xi=x(),aa=x(),ll={name:"pipeline-executor",scope:"system",mode:"singleton",methods:{getAvailableEngines:i(c(),r(E)),getSelectedEngine:i(c(),E),getDefaultSteps:i(E,r(tt)),reprobeEngine:i(c(),E,{kind:"mutation",auth:"admin"}),getVideoPipelineSteps:i(c(),y(e(),t({modelId:e(),settings:y(e(),v()).readonly()}))),setVideoPipelineSteps:i(t({steps:y(e(),t({modelId:e(),settings:y(e(),v()).readonly()}))}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),getSchema:i(c(),Ui),getGlobalSteps:i(c(),r(tt).readonly().nullable()),getGlobalPipelineConfig:i(c(),$i),getOrchestratorConfigSchema:i(c(),Qi),listTemplates:i(c(),r(qe).readonly()),saveTemplate:i(t({name:e(),steps:r(fe).readonly(),engine:E}),qe,{kind:"mutation"}),updateTemplate:i(t({id:e(),name:e().optional(),steps:r(fe).readonly().optional()}),qe,{kind:"mutation"}),deleteTemplate:i(t({id:e()}),c(),{kind:"mutation"}),getCapabilities:i(c(),Ji),getAddonModels:i(t({addonId:e()}),Xi),downloadModel:i(t({addonId:e(),modelId:e(),format:et}),ji,{kind:"mutation"}),deleteModel:i(t({addonId:e(),modelId:e(),format:et}),t({success:b(!0)}),{kind:"mutation"}),detect:i(t({addonId:e(),frame:ve,config:y(e(),v()).optional()}),Fi),runPipeline:i(t({engine:E.optional(),steps:r(Q).min(1),frame:ve.optional(),imageBase64:e().optional(),image:P(Uint8Array).optional(),referenceImage:e().optional(),deviceId:a().optional(),sessionId:e().optional()}),aa,{kind:"mutation"}),runPipelineBatch:i(t({engine:E.optional(),steps:r(Q).min(1),frames:r(ve).min(1).max(255),deviceId:a().optional(),sessionId:e().optional()}),t({results:r(aa).readonly()}),{kind:"mutation"}),cacheFrameInPool:i(t({data:P(Uint8Array),width:a().int().positive(),height:a().int().positive(),format:g(["rgb","bgr","gray"])}),t({frameId:a(),width:a(),height:a()}),{kind:"mutation"}),inferCached:i(t({stepId:e(),frameId:a().int()}),y(e(),v()),{kind:"mutation"}),uncacheFrame:i(t({frameId:a().int()}),c(),{kind:"mutation"}),getEffectiveTuning:i(c(),t({batchMode:e(),windowMs:a(),maxBatchSize:a(),concurrency:a()})),listLoadedEngines:i(c(),r(t({engineKey:e(),engine:E,modelsLoaded:r(e()).readonly(),inUseByCameras:r(a()).readonly(),kind:g(["runtime","warm-override"]),poolPid:a().nullable(),idleMs:a().nullable(),idleTtlMs:a().nullable()})).readonly()),spinEngine:i(t({engine:E}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),killEngine:i(t({engine:E,force:d().optional()}),t({success:d(),reason:e().optional()}),{kind:"mutation",auth:"admin"}),listReferenceImages:i(c(),r(_i).readonly()),getReferenceImage:i(t({filename:e()}),Hi.nullable()),getReferenceAudioFiles:i(c(),r(Wi).readonly()),getReferenceAudio:i(t({filename:e()}),Vi.nullable()),getAudioCapabilities:i(c(),Ki),runAudioTest:i(t({addonId:e(),modelId:e(),filename:e().optional(),settings:y(e(),v()).optional()}),Zi,{kind:"mutation"}),getDetectionConfigSchema:i(c(),Yi)}},eo=g(["polygon","tripwire"]),to=t({x:a(),y:a()}),ne=t({id:e(),name:e(),kind:eo.default("polygon"),polygon:r(to).readonly(),color:e().default("#3b82f6")}),ul={name:"zones",scope:"device",mode:"singleton",deviceTypes:[C.Camera],methods:{listZones:i(t({deviceId:a()}),r(ne).readonly()),addZone:i(t({deviceId:a(),zone:ne}),c(),{kind:"mutation",auth:"admin"}),removeZone:i(t({deviceId:a(),zoneId:e()}),c(),{kind:"mutation",auth:"admin"}),updateZone:i(t({deviceId:a(),zone:ne}),c(),{kind:"mutation",auth:"admin"})},runtimeState:t({zones:r(ne).readonly()})},K={min:0,max:6e4,default:3e4,step:500},W={min:1,max:30,default:4,step:1},V={min:1,max:30,default:10,step:1},kt=g(["onboard","analyzer"]),ao=r(kt),no=t({deviceId:a(),detected:d(),source:kt.default("analyzer"),regions:r(be).readonly().optional()}),io=t({deviceId:a(),detectionMode:g(["disabled","always-on","on-motion"]).default("on-motion"),audioMode:g(["disabled","always-on","on-motion"]).default("always-on"),motionCooldownMs:a().min(K.min).default(K.default),motionFps:a().min(W.min).max(W.max).default(W.default),detectionFps:a().min(V.min).max(V.max).default(V.default),motionStreamId:e(),detectionStreamId:e(),motionSources:ao.default(["analyzer"]),pipelineEnabled:d().default(!0),engine:E.optional(),steps:r(Q).readonly().optional(),audio:t({engine:E,modelId:e(),enabled:d()}).nullable().optional(),zones:r(ne).readonly().default([]),onboardMotionDrivesAnalyzer:d().default(!0)}),ml=[{key:"motionSources",type:"multiselect",label:"Motion Sources",default:["analyzer"],options:[{value:"analyzer",label:"Frame-diff Analyzer (motion addon)"},{value:"onboard",label:"Camera Onboard Sensor"}]},{key:"motionFps",type:"slider",label:"Motion FPS (analyzer)",min:W.min,max:W.max,step:W.step,default:W.default,showValue:!0,unit:"fps",showWhen:{field:"motionSources",includes:"analyzer"}},{key:"detectionFps",type:"slider",label:"Detection FPS",min:V.min,max:V.max,step:V.step,default:V.default,showValue:!0,unit:"fps"},{key:"motionCooldownMs",type:"slider",label:"Motion Cooldown",description:"Time without a fresh motion event before the active phase ends. Applies to all motion sources — every motion event re-arms the timer.",min:K.min,max:K.max,step:K.step,default:K.default,showValue:!0,unit:"s",displayScale:1e3},{key:"onboardMotionDrivesAnalyzer",type:"boolean",label:"Run motion analyzer on onboard motion",description:"When onboard motion is detected, temporarily start the frame-diff analyzer to emit zone results. Stops after the motion cooldown window.",default:!0,showWhen:{field:"motionSources",includes:"onboard"}}],ja=t({nodeId:e(),attachedCameras:a(),activeCameras:a(),avgInferenceFps:a(),avgInferenceTimeMs:a(),queueDepthTotal:a(),hardware:t({hasGpu:d(),inferenceBackend:e().optional(),cpuCores:a().optional()})}),oo=t({nodeId:e(),activeCameras:a(),throttledCameras:a(),avgInferenceTimeMs:a(),queueDepth:a()}),pl={name:"pipeline-runner",scope:"system",mode:"singleton",methods:{attachCamera:i(io,t({success:b(!0)}),{kind:"mutation"}),detachCamera:i(t({deviceId:a()}),t({success:b(!0)}),{kind:"mutation"}),reportMotion:i(no,t({success:b(!0)}),{kind:"mutation"}),getLocalLoad:i(c(),ja),getLocalMetrics:i(c(),oo),getCameraMetrics:i(t({deviceId:a()}),ft.nullable()),getAllCameraMetrics:i(c(),r(Bi).readonly()),getLocalCameras:i(c(),r(a()).readonly())}},na=t({detected:d(),lastDetectedAt:a().nullable(),autoClearAfterMs:a().nullable()}),so=t({deviceId:a(),detected:d(),timestamp:a(),source:kt,regions:r(be).readonly().optional()}),gl={name:"motion",scope:"device",mode:"singleton",deviceTypes:[C.Camera,C.Sensor],methods:{isDetected:i(t({deviceId:a()}),d())},events:{onMotionChanged:{data:so}},status:{schema:na,kind:"push"},runtimeState:na},Za=t({enabled:d(),lastChangedAt:a()}),ro=Za.extend({lastFetchedAt:a()}),hl={name:"motion-trigger",scope:"device",mode:"singleton",deviceTypes:[C.Light,C.Siren,C.Switch],methods:{setMotionTrigger:i(t({deviceId:a().int().nonnegative(),enabled:d()}),c(),{kind:"mutation",auth:"admin"})},events:{onMotionTriggerChanged:{data:t({deviceId:a(),enabled:d(),lastChangedAt:a()})}},status:{schema:Za,kind:"command-driven"},runtimeState:ro},$a=t({x:a(),y:a()}),Qa=t({kind:b("rect"),x:a(),y:a(),width:a(),height:a()}),Ya=t({kind:b("polygon"),points:r($a)}),Ja=t({kind:b("grid"),gridWidth:a(),gridHeight:a(),cells:r(d())}),co=t({kind:b("line"),points:r($a)}),vl=re("kind",[Qa,Ya,Ja,co]),Xa=g(["rect","polygon","grid","line"]),lo=t({min:a(),max:a()}),uo=t({width:a(),height:a()}),en=t({id:a(),enabled:d(),shape:Ja}),ia=t({enabled:d(),sensitivity:a(),regions:r(en),lastFetchedAt:a()}),mo=t({maxRegions:a(),supportedShapes:r(Xa),grid:uo,sensitivity:t({min:a(),max:a(),step:a()})}),po=t({enabled:d().optional(),sensitivity:a().optional(),regions:r(en).optional()}),yl={name:"motion-zones",scope:"device",mode:"singleton",deviceTypes:[C.Camera],deviceConfig:{ui:{kind:"widget",widgetId:"host/motion-zones-grid",tab:"motion",label:"Motion Zones"}},methods:{getOptions:i(t({deviceId:a()}),mo),setZone:i(t({deviceId:a(),patch:po}),c(),{kind:"mutation",auth:"admin"})},status:{schema:ia,kind:"poll"},runtimeState:ia},at=g(["person","vehicle","animal","face","package","other"]),tn=t({class:at,timestamp:a(),confidence:a().min(0).max(1).optional()}),an=t({lastByClass:On(at,tn.nullable()),supportedClasses:r(at).readonly(),enabled:d()}),go=an.extend({lastFetchedAt:a()}),Sl={name:"native-object-detection",scope:"device",mode:"singleton",deviceTypes:[C.Camera],methods:{setEnabled:i(t({deviceId:a(),enabled:d()}),c(),{kind:"mutation",auth:"admin"})},events:{onDetected:{data:t({deviceId:a(),detection:tn})}},status:{schema:an,kind:"push"},runtimeState:go},ho=re("kind",[Qa,Ya]),nn=t({id:a(),enabled:d(),shape:ho}),oa=t({enabled:d(),regions:r(nn),lastFetchedAt:a()}),vo=t({maxRegions:a(),supportedShapes:r(Xa),polygonVertices:lo.optional()}),yo=t({enabled:d().optional(),regions:r(nn).optional()}),bl={name:"privacy-mask",scope:"device",mode:"singleton",deviceTypes:[C.Camera],deviceConfig:{ui:{kind:"widget",widgetId:"host/privacy-mask-grid",tab:"image",label:"Privacy Mask"}},methods:{getOptions:i(t({deviceId:a()}),vo),setMask:i(t({deviceId:a(),patch:yo}),c(),{kind:"mutation",auth:"admin"})},status:{schema:oa,kind:"poll"},runtimeState:oa},So=e().describe("Vendor target string (people/vehicle/pet); empty = camera default"),nt=t({targetType:So,stopDelaySeconds:a().int().min(0).max(300),disappearDelaySeconds:a().int().min(0).max(300)}),bo=t({value:e(),label:e()}),ye=t({enabled:d(),lastChangedAt:a(),currentSettings:nt.nullable(),supportedTargetTypes:r(bo)}),fo=ye.extend({lastFetchedAt:a()}),fl={name:"ptz-autotrack",scope:"device",mode:"singleton",deviceTypes:[C.Camera],deviceConfig:{ui:{kind:"widget",widgetId:"host/ptz-autotrack",tab:"ptz",topTab:!0,label:"Auto-Tracking",order:5}},methods:{getStatus:i(t({deviceId:a()}),ye),setEnabled:i(t({deviceId:a(),enabled:d()}),c(),{kind:"mutation"}),getSettings:i(t({deviceId:a()}),nt.nullable()),setSettings:i(t({deviceId:a(),settings:nt.partial()}),c(),{kind:"mutation"})},events:{onStatusChanged:{data:t({deviceId:a(),status:ye})}},status:{schema:ye,kind:"command-driven"},runtimeState:fo},ko=g(["main","sub","ext"]),Te=t({width:a(),height:a(),codec:g(["h264","h265"]),framerate:a(),bitrate:a(),bitrateMode:g(["vbr","cbr"]).optional(),encoderProfile:g(["high","main","baseline"]).optional(),gop:a().optional(),audio:d().optional()}),sa=t({main:Te.optional(),sub:Te.optional(),ext:Te.optional(),lastFetchedAt:a()}),Be=t({resolutions:r(t({width:a(),height:a()})),codecs:r(g(["h264","h265"])),framerates:r(a()),bitrates:r(a()),bitrateRange:vt([a(),a()]).optional(),supportsBitrateMode:d(),supportsEncoderProfile:d(),supportsGop:d(),gop:t({min:a(),max:a(),step:a()}).optional()}),Io=t({main:Be.optional(),sub:Be.optional(),ext:Be.optional()}),Co=t({width:a().optional(),height:a().optional(),codec:g(["h264","h265"]).optional(),framerate:a().optional(),bitrate:a().optional(),bitrateMode:g(["vbr","cbr"]).optional(),encoderProfile:g(["high","main","baseline"]).optional(),gop:a().optional(),audio:d().optional()}),kl={name:"stream-params",scope:"device",mode:"singleton",deviceTypes:[C.Camera],deviceConfig:{ui:{kind:"derived-form",builderId:"stream-params",tab:"streaming"}},methods:{getOptions:i(t({deviceId:a()}),Io),setProfile:i(t({deviceId:a(),profile:ko,patch:Co}),c(),{kind:"mutation",auth:"admin"}),getConfigSchema:i(t({deviceId:a()}),v().nullable())},status:{schema:sa,kind:"poll"},runtimeState:sa},ra=t({on:d(),lastChangedAt:a()}),Il={name:"switch",scope:"device",mode:"singleton",deviceTypes:[C.Switch,C.Siren,C.Light],methods:{setState:i(t({deviceId:a(),on:d()}),c(),{kind:"mutation",auth:"admin"})},events:{onStateChanged:{data:t({deviceId:a(),on:d(),lastChangedAt:a()})}},status:{schema:ra,kind:"command-driven"},runtimeState:ra,settings:{bindings:[{kind:"scalar",statusPath:"on",method:"setState",valueArg:"on",field:{label:"On",kind:"boolean"}}]}},it=t({totalObjects:a().int().nonnegative(),byClass:y(e(),a().int().nonnegative())}),Ao=it.extend({zoneId:e(),zoneName:e(),trackIds:r(e()).readonly()}),da=t({ts:a().int(),frameWidth:a().int().nonnegative(),frameHeight:a().int().nonnegative(),zones:r(Ao).readonly(),frame:it,unzoned:it}),wo=g(["minute","5min","hour"]),Re=t({from:a().int(),to:a().int(),resolution:wo}),xe=t({ts:a().int(),count:a().int().nonnegative()}),Cl={name:"zone-analytics",scope:"device",mode:"singleton",deviceTypes:[C.Camera],methods:{getCurrentSnapshot:i(t({deviceId:a()}),da.nullable()),getZoneHistory:i(t({deviceId:a(),zoneId:e(),className:e().optional()}).extend(Re.shape),r(xe).readonly()),getCameraHistory:i(t({deviceId:a(),className:e().optional()}).extend(Re.shape),r(xe).readonly()),getUnzonedHistory:i(t({deviceId:a(),className:e().optional()}).extend(Re.shape),r(xe).readonly())},runtimeState:da},Po=g(["include","exclude"]),ie=t({id:e(),name:e().optional(),zoneIds:r(e()).min(1).readonly(),mode:Po,classFilter:r(e()).readonly().optional(),overlapThreshold:a().min(0).max(1).optional(),bboxInclusionPct:a().min(0).max(100).optional(),preferMask:d().optional(),enabled:d().default(!0)}),Al=r(ie).readonly(),ca=g(["motion","detection"]),wl={name:"zone-rules",scope:"device",mode:"singleton",deviceTypes:[C.Camera],methods:{listRules:i(t({deviceId:a(),stage:ca}),r(ie).readonly()),setRules:i(t({deviceId:a(),stage:ca,rules:r(ie).readonly()}),c(),{kind:"mutation",auth:"admin"})},runtimeState:t({motion:r(ie).readonly(),detection:r(ie).readonly()})},Do=t({connected:d(),deviceCount:a(),error:e().optional()}),Pl=t({externalId:e(),name:e(),type:e(),metadata:y(e(),v()).optional()}),ke=t({stableId:e(),type:g(C),suggestedName:e(),prefilledConfig:y(e(),v())}),Ie=t({id:a(),stableId:e(),addonId:e(),type:e(),name:e(),parentDeviceId:a().nullable(),online:d(),features:r(e()),config:y(e(),v())}),ot=t({status:g(["ok","error"]),labels:r(e()).optional(),error:e().optional()}),Mo=v(),Dl={name:"device-provider",scope:"system",mode:"collection",methods:{start:i(c(),c(),{kind:"mutation"}),stop:i(c(),c(),{kind:"mutation"}),getStatus:i(c(),Do),getDevices:i(c(),r(t({id:e(),name:e(),type:e()}))),supportsDiscovery:i(t({}),d()),discoverDevices:i(t({}),r(ke),{kind:"mutation",auth:"admin"}),adoptDiscoveredDevice:i(t({candidate:ke}),Ie,{kind:"mutation",auth:"admin"}),supportsManualCreation:i(t({}),d()),getChildCreationSchema:i(t({type:g(C)}),Mo),createDevice:i(t({type:g(C),config:y(e(),v())}),Ie,{kind:"mutation",auth:"admin"}),testCreationField:i(t({type:g(C),key:e(),value:v(),formValues:y(e(),v()).optional()}),ot,{kind:"mutation",auth:"admin"})}},Eo="device.state-changed";function on(m){const l=new Map,o=new Map;let h=null;const S=(u,p)=>`${u}:${p}`,f=()=>{h||m.live?.onEvent&&(h=m.live.onEvent.subscribe({category:Eo},{onData:u=>{const p=u.data;if(!p||typeof p.deviceId!="number"||typeof p.capName!="string")return;const I=S(p.deviceId,p.capName);l.set(I,p.slice);const w=o.get(I);if(w)for(const A of w)try{A(p.slice)}catch{}}}))},k=()=>{h&&(o.size>0||(h.unsubscribe(),h=null))};return{read(u,p){return l.get(S(u,p))},async refresh(u,p){const I=await m.deviceState.getCapSlice.query({deviceId:u,capName:p}),w=S(u,p);l.set(w,I??void 0);const A=o.get(w);if(A)for(const M of A)try{M(I??void 0)}catch{}},watch(u,p,I){const w=S(u,p);let A=o.get(w);return A||(A=new Set,o.set(w,A)),A.add(I),f(),()=>{A.delete(I),A.size===0&&o.delete(w),k()}},async write(u,p,I){await m.deviceState.setCapSlice.mutate({deviceId:u,capName:p,slice:I})}}}function qo(m,l,o){const h=(S,f)=>`${S}:${f}`;return{read(S,f){return m.get(S)?.get(f)},async refresh(){},watch(S,f,k){const u=h(S,f);let p=l.get(u);return p||(p=new Set,l.set(u,p)),p.add(k),()=>{p.delete(k),p.size===0&&l.delete(u)}},async write(S,f,k){if(!o)throw new Error("createMirrorSource: write requires an api reference — pass it as the third argument when constructing the source");await o.deviceState.setCapSlice.mutate({deviceId:S,capName:f,slice:k})}}}function D(m,l,o){const h=To(m)?m:on(m);return{get value(){return h.read(l,o)},refresh(){return h.refresh(l,o)},subscribe(S){const f=h.watch(l,o,k=>{try{S(k)}catch{}});try{S(h.read(l,o))}catch{}return h.read(l,o)===void 0&&h.refresh(l,o).catch(()=>{}),f},async set(S){await h.write(l,o,S)},async patch(S){const k={...h.read(l,o)??{},...S};await h.write(l,o,k)}}}function To(m){return typeof m.read=="function"&&typeof m.watch=="function"}function Bo(m,l,o){const h=m,S=o?.stateSource??on(m);function f(s,O){const L=typeof s=="object"&&s!==null?s:{};return O!==void 0?{...L,deviceId:l.deviceId,nodeId:O}:{...L,deviceId:l.deviceId}}function k(s,O,L,_,ee){const le=h[s]?.[O];if(!le)throw new Error(`DeviceProxy: api has no '${s}.${O}'`);const te=le;return L==="mutation"?te.mutate(_):L==="subscription"?te.subscribe(_,ee):te.query(_)}function u(s,O,L,_,ee,le){const te=l.entries.find(xn=>xn.capName===s);return k(O,L,_,f(ee,te?.providerNodeId),le)}function p(s,O,L,_,ee){return k(s,O,L,f(_,void 0),ee)}const I={getStatus:s=>u("accessories","accessories","getStatus","query",s)},w={resolveDeviceSettings:s=>u("audio-analysis","audioAnalysis","resolveDeviceSettings","query",s),getDeviceSettingsContribution:s=>u("audio-analysis","audioAnalysis","getDeviceSettingsContribution","query",s),getDeviceLiveContribution:s=>u("audio-analysis","audioAnalysis","getDeviceLiveContribution","query",s),applyDeviceSettingsPatch:s=>u("audio-analysis","audioAnalysis","applyDeviceSettingsPatch","mutation",s)},A={getCurrentSnapshot:s=>u("audio-metrics","audioMetrics","getCurrentSnapshot","query",s),getHistory:s=>u("audio-metrics","audioMetrics","getHistory","query",s)},M={getStatus:s=>u("battery","battery","getStatus","query",s)},R={setBrightness:s=>u("brightness","brightness","setBrightness","mutation",s),getStatus:s=>u("brightness","brightness","getStatus","query",s)},At={getCredentials:s=>u("camera-credentials","cameraCredentials","getCredentials","query",s),getStatus:s=>u("camera-credentials","cameraCredentials","getStatus","query",s)},wt={getCameraStreams:s=>u("camera-streams","cameraStreams","getCameraStreams","query",s),getBrokerStreams:s=>u("camera-streams","cameraStreams","getBrokerStreams","query",s),getRtspEntries:s=>u("camera-streams","cameraStreams","getRtspEntries","query",s)},Pt={getDeviceSettingsContribution:s=>u("detection-pipeline","detectionPipeline","getDeviceSettingsContribution","query",s),getDeviceLiveContribution:s=>u("detection-pipeline","detectionPipeline","getDeviceLiveContribution","query",s),applyDeviceSettingsPatch:s=>u("detection-pipeline","detectionPipeline","applyDeviceSettingsPatch","mutation",s)},Dt={listDiscovered:s=>u("device-discovery","deviceDiscovery","listDiscovered","query",s),refreshDiscovery:s=>u("device-discovery","deviceDiscovery","refreshDiscovery","mutation",s),adoptDevice:s=>u("device-discovery","deviceDiscovery","adoptDevice","mutation",s),releaseDevice:s=>u("device-discovery","deviceDiscovery","releaseDevice","mutation",s),getStatus:s=>u("device-discovery","deviceDiscovery","getStatus","query",s)},Mt={getStreamSources:s=>u("device-ops","deviceOps","getStreamSources","query",s),getConfigEntries:s=>u("device-ops","deviceOps","getConfigEntries","query",s),setConfig:s=>u("device-ops","deviceOps","setConfig","mutation",s),removeDevice:s=>u("device-ops","deviceOps","removeDevice","mutation",s),getSettingsSchema:s=>u("device-ops","deviceOps","getSettingsSchema","query",s)},Et={getStatus:s=>u("device-status","deviceStatus","getStatus","query",s)},qt={getStatus:s=>u("doorbell","doorbell","getStatus","query",s)},Tt={getEvents:s=>u("events","events","getEvents","query",s),getEventThumbnail:s=>u("events","events","getEventThumbnail","query",s),getEventClipUrl:s=>u("events","events","getEventClipUrl","query",s)},Bt={getStatus:s=>u("feature-probe","featureProbe","getStatus","query",s)},Rt={startSession:s=>u("intercom","intercom","startSession","mutation",s),handleAnswer:s=>u("intercom","intercom","handleAnswer","mutation",s),stopSession:s=>u("intercom","intercom","stopSession","mutation",s),startTalkSession:s=>u("intercom","intercom","startTalkSession","mutation",s),pushTalkPcm:s=>u("intercom","intercom","pushTalkPcm","mutation",s),endTalkSession:s=>u("intercom","intercom","endTalkSession","mutation",s),getStatus:s=>u("intercom","intercom","getStatus","query",s)},xt={isDetected:s=>u("motion","motion","isDetected","query",s),getStatus:s=>u("motion","motion","getStatus","query",s)},Ot={analyze:s=>u("motion-detection","motionDetection","analyze","mutation",s),removeCamera:s=>u("motion-detection","motionDetection","removeCamera","mutation",s),reset:s=>u("motion-detection","motionDetection","reset","mutation",s),getDeviceSettingsContribution:s=>u("motion-detection","motionDetection","getDeviceSettingsContribution","query",s),getDeviceLiveContribution:s=>u("motion-detection","motionDetection","getDeviceLiveContribution","query",s),applyDeviceSettingsPatch:s=>u("motion-detection","motionDetection","applyDeviceSettingsPatch","mutation",s)},Lt={setMotionTrigger:s=>u("motion-trigger","motionTrigger","setMotionTrigger","mutation",s),getStatus:s=>u("motion-trigger","motionTrigger","getStatus","query",s)},zt={getOptions:s=>u("motion-zones","motionZones","getOptions","query",s),setZone:s=>u("motion-zones","motionZones","setZone","mutation",s),getStatus:s=>u("motion-zones","motionZones","getStatus","query",s)},Nt={setEnabled:s=>u("native-object-detection","nativeObjectDetection","setEnabled","mutation",s),getStatus:s=>u("native-object-detection","nativeObjectDetection","getStatus","query",s)},Ut={setOverlay:s=>u("osd","osd","setOverlay","mutation",s),getStatus:s=>u("osd","osd","getStatus","query",s)},Ft={getActiveTracks:s=>u("pipeline-analytics","pipelineAnalytics","getActiveTracks","query",s),getTrack:s=>u("pipeline-analytics","pipelineAnalytics","getTrack","query",s),listTracks:s=>u("pipeline-analytics","pipelineAnalytics","listTracks","query",s),clearTracks:s=>u("pipeline-analytics","pipelineAnalytics","clearTracks","mutation",s),getMotionEvents:s=>u("pipeline-analytics","pipelineAnalytics","getMotionEvents","query",s),getObjectEvents:s=>u("pipeline-analytics","pipelineAnalytics","getObjectEvents","query",s),getAudioEvents:s=>u("pipeline-analytics","pipelineAnalytics","getAudioEvents","query",s),getEventMedia:s=>u("pipeline-analytics","pipelineAnalytics","getEventMedia","query",s),getTrackMedia:s=>u("pipeline-analytics","pipelineAnalytics","getTrackMedia","query",s),getDeviceSettingsContribution:s=>u("pipeline-analytics","pipelineAnalytics","getDeviceSettingsContribution","query",s),getDeviceLiveContribution:s=>u("pipeline-analytics","pipelineAnalytics","getDeviceLiveContribution","query",s),applyDeviceSettingsPatch:s=>u("pipeline-analytics","pipelineAnalytics","applyDeviceSettingsPatch","mutation",s)},_t={getOptions:s=>u("privacy-mask","privacyMask","getOptions","query",s),setMask:s=>u("privacy-mask","privacyMask","setMask","mutation",s),getStatus:s=>u("privacy-mask","privacyMask","getStatus","query",s)},Ht={move:s=>u("ptz","ptz","move","mutation",s),continuousMove:s=>u("ptz","ptz","continuousMove","mutation",s),stop:s=>u("ptz","ptz","stop","mutation",s),getPresets:s=>u("ptz","ptz","getPresets","query",s),goToPreset:s=>u("ptz","ptz","goToPreset","mutation",s),savePreset:s=>u("ptz","ptz","savePreset","mutation",s),deletePreset:s=>u("ptz","ptz","deletePreset","mutation",s),getOptions:s=>u("ptz","ptz","getOptions","query",s),goHome:s=>u("ptz","ptz","goHome","mutation",s),getPosition:s=>u("ptz","ptz","getPosition","query",s),setAutofocus:s=>u("ptz","ptz","setAutofocus","mutation",s),getStatus:s=>u("ptz","ptz","getStatus","query",s)},Wt={getStatus:s=>u("ptz-autotrack","ptzAutotrack","getStatus","query",s),setEnabled:s=>u("ptz-autotrack","ptzAutotrack","setEnabled","mutation",s),getSettings:s=>u("ptz-autotrack","ptzAutotrack","getSettings","query",s),setSettings:s=>u("ptz-autotrack","ptzAutotrack","setSettings","mutation",s)},Vt={reboot:s=>u("reboot","reboot","reboot","mutation",s)},Gt={getSegments:s=>u("recording","recording","getSegments","query",s),getPlaybackUrl:s=>u("recording","recording","getPlaybackUrl","query",s),getThumbnailAt:s=>u("recording","recording","getThumbnailAt","query",s)},Kt={getSnapshot:s=>u("snapshot","snapshot","getSnapshot","query",s),invalidateCache:s=>u("snapshot","snapshot","invalidateCache","mutation",s),getStatus:s=>u("snapshot","snapshot","getStatus","query",s),getDeviceSettingsContribution:s=>u("snapshot","snapshot","getDeviceSettingsContribution","query",s),getDeviceLiveContribution:s=>u("snapshot","snapshot","getDeviceLiveContribution","query",s),applyDeviceSettingsPatch:s=>u("snapshot","snapshot","applyDeviceSettingsPatch","mutation",s)},n={getCatalog:s=>u("stream-catalog","streamCatalog","getCatalog","query",s)},U={getOptions:s=>u("stream-params","streamParams","getOptions","query",s),setProfile:s=>u("stream-params","streamParams","setProfile","mutation",s),getConfigSchema:s=>u("stream-params","streamParams","getConfigSchema","query",s),getStatus:s=>u("stream-params","streamParams","getStatus","query",s)},de={setState:s=>u("switch","switch","setState","mutation",s),getStatus:s=>u("switch","switch","getStatus","query",s)},J={listStreams:s=>u("webrtc-session","webrtcSession","listStreams","query",s),createSession:s=>u("webrtc-session","webrtcSession","createSession","mutation",s),handleOffer:s=>u("webrtc-session","webrtcSession","handleOffer","mutation",s),handleAnswer:s=>u("webrtc-session","webrtcSession","handleAnswer","mutation",s),addIceCandidate:s=>u("webrtc-session","webrtcSession","addIceCandidate","mutation",s),getIceCandidates:s=>u("webrtc-session","webrtcSession","getIceCandidates","query",s),closeSession:s=>u("webrtc-session","webrtcSession","closeSession","mutation",s),hasAdaptiveBitrate:s=>u("webrtc-session","webrtcSession","hasAdaptiveBitrate","query",s)},Pe={getCurrentSnapshot:s=>u("zone-analytics","zoneAnalytics","getCurrentSnapshot","query",s),getZoneHistory:s=>u("zone-analytics","zoneAnalytics","getZoneHistory","query",s),getCameraHistory:s=>u("zone-analytics","zoneAnalytics","getCameraHistory","query",s),getUnzonedHistory:s=>u("zone-analytics","zoneAnalytics","getUnzonedHistory","query",s)},ce={listRules:s=>u("zone-rules","zoneRules","listRules","query",s),setRules:s=>u("zone-rules","zoneRules","setRules","mutation",s)},X={listZones:s=>u("zones","zones","listZones","query",s),addZone:s=>u("zones","zones","addZone","mutation",s),removeZone:s=>u("zones","zones","removeZone","mutation",s),updateZone:s=>u("zones","zones","updateZone","mutation",s)},In={getDeviceSettings:s=>p("addonSettings","getDeviceSettings","query",s),updateDeviceSettings:s=>p("addonSettings","updateDeviceSettings","mutation",s)},Cn={getDeviceSettingsContribution:s=>p("cameraPipelineConfig","getDeviceSettingsContribution","query",s),getDeviceLiveContribution:s=>p("cameraPipelineConfig","getDeviceLiveContribution","query",s),applyDeviceSettingsPatch:s=>p("cameraPipelineConfig","applyDeviceSettingsPatch","mutation",s)},An={getDeviceSettingsContribution:s=>p("deviceExport","getDeviceSettingsContribution","query",s),getDeviceLiveContribution:s=>p("deviceExport","getDeviceLiveContribution","query",s),applyDeviceSettingsPatch:s=>p("deviceExport","applyDeviceSettingsPatch","mutation",s)},wn={loadConfig:s=>p("deviceManager","loadConfig","query",s),loadRuntimeState:s=>p("deviceManager","loadRuntimeState","query",s),loadMeta:s=>p("deviceManager","loadMeta","query",s),setName:s=>p("deviceManager","setName","mutation",s),setLocation:s=>p("deviceManager","setLocation","mutation",s),setMetadata:s=>p("deviceManager","setMetadata","mutation",s),setDisabled:s=>p("deviceManager","setDisabled","mutation",s),getDevice:s=>p("deviceManager","getDevice","query",s),getStreamSources:s=>p("deviceManager","getStreamSources","query",s),getConfigSchema:s=>p("deviceManager","getConfigSchema","query",s),getSettingsSchema:s=>p("deviceManager","getSettingsSchema","query",s),updateConfig:s=>p("deviceManager","updateConfig","mutation",s),enable:s=>p("deviceManager","enable","mutation",s),disable:s=>p("deviceManager","disable","mutation",s),remove:s=>p("deviceManager","remove","mutation",s),getStreamProfileMap:s=>p("deviceManager","getStreamProfileMap","query",s),setStreamProfileMap:s=>p("deviceManager","setStreamProfileMap","mutation",s),probeStreams:s=>p("deviceManager","probeStreams","mutation",s),getBindings:s=>p("deviceManager","getBindings","query",s),getAllBindings:s=>p("deviceManager","getAllBindings","query",s),setWrapperActive:s=>p("deviceManager","setWrapperActive","mutation",s),getDeviceSettingsAggregate:s=>p("deviceManager","getDeviceSettingsAggregate","query",s),getDeviceLiveInfoAggregate:s=>p("deviceManager","getDeviceLiveInfoAggregate","query",s),getDeviceAggregate:s=>p("deviceManager","getDeviceAggregate","query",s),updateDeviceField:s=>p("deviceManager","updateDeviceField","mutation",s),updateDeviceFieldsBatch:s=>p("deviceManager","updateDeviceFieldsBatch","mutation",s),testField:s=>p("deviceManager","testField","mutation",s),getDeviceStatusAggregate:s=>p("deviceManager","getDeviceStatusAggregate","query",s)},Pn={getSnapshot:s=>p("deviceState","getSnapshot","query",s),getCapSlice:s=>p("deviceState","getCapSlice","query",s),setCapSlice:s=>p("deviceState","setCapSlice","mutation",s)},Dn={getDeviceStats:s=>p("networkQuality","getDeviceStats","query",s),reportClientStats:s=>p("networkQuality","reportClientStats","mutation",s)},Mn={runPipeline:s=>p("pipelineExecutor","runPipeline","mutation",s),runPipelineBatch:s=>p("pipelineExecutor","runPipelineBatch","mutation",s)},En={assignPipeline:s=>p("pipelineOrchestrator","assignPipeline","mutation",s),unassignPipeline:s=>p("pipelineOrchestrator","unassignPipeline","mutation",s),getPipelineAssignment:s=>p("pipelineOrchestrator","getPipelineAssignment","query",s),getCameraMetrics:s=>p("pipelineOrchestrator","getCameraMetrics","query",s),assignDecoder:s=>p("pipelineOrchestrator","assignDecoder","mutation",s),unassignDecoder:s=>p("pipelineOrchestrator","unassignDecoder","mutation",s),assignAudio:s=>p("pipelineOrchestrator","assignAudio","mutation",s),unassignAudio:s=>p("pipelineOrchestrator","unassignAudio","mutation",s),getAudioAssignment:s=>p("pipelineOrchestrator","getAudioAssignment","query",s),getAudioAssignments:s=>p("pipelineOrchestrator","getAudioAssignments","query",s),getDecoderAssignment:s=>p("pipelineOrchestrator","getDecoderAssignment","query",s),getCameraSettings:s=>p("pipelineOrchestrator","getCameraSettings","query",s),setCameraStepToggle:s=>p("pipelineOrchestrator","setCameraStepToggle","mutation",s),getCameraStepOverrides:s=>p("pipelineOrchestrator","getCameraStepOverrides","query",s),setCameraStepOverride:s=>p("pipelineOrchestrator","setCameraStepOverride","mutation",s),setCameraPipelineForAgent:s=>p("pipelineOrchestrator","setCameraPipelineForAgent","mutation",s),resolvePipeline:s=>p("pipelineOrchestrator","resolvePipeline","query",s),getDeviceSettingsContribution:s=>p("pipelineOrchestrator","getDeviceSettingsContribution","query",s),getDeviceLiveContribution:s=>p("pipelineOrchestrator","getDeviceLiveContribution","query",s),applyDeviceSettingsPatch:s=>p("pipelineOrchestrator","applyDeviceSettingsPatch","mutation",s)},qn={detachCamera:s=>p("pipelineRunner","detachCamera","mutation",s),getCameraMetrics:s=>p("pipelineRunner","getCameraMetrics","query",s)},Tn={getPolicyStatus:s=>p("recordingEngine","getPolicyStatus","query",s)},Bn={supportsDevice:s=>p("snapshotProvider","supportsDevice","query",s),getSnapshot:s=>p("snapshotProvider","getSnapshot","query",s)},Rn={publishCameraStream:s=>p("streamBroker","publishCameraStream","mutation",s),retractCameraStream:s=>p("streamBroker","retractCameraStream","mutation",s),assignProfile:s=>p("streamBroker","assignProfile","mutation",s),unassignProfile:s=>p("streamBroker","unassignProfile","mutation",s),restartProfile:s=>p("streamBroker","restartProfile","mutation",s),getDeviceSettingsContribution:s=>p("streamBroker","getDeviceSettingsContribution","query",s),getDeviceLiveContribution:s=>p("streamBroker","getDeviceLiveContribution","query",s),applyDeviceSettingsPatch:s=>p("streamBroker","applyDeviceSettingsPatch","mutation",s)};return{deviceId:l.deviceId,binding:l,state:{audioMetrics:D(S,l.deviceId,"audio-metrics"),battery:D(S,l.deviceId,"battery"),brightness:D(S,l.deviceId,"brightness"),cameraStreams:D(S,l.deviceId,"camera-streams"),deviceDiscovery:D(S,l.deviceId,"device-discovery"),deviceStatus:D(S,l.deviceId,"device-status"),doorbell:D(S,l.deviceId,"doorbell"),featureProbe:D(S,l.deviceId,"feature-probe"),motion:D(S,l.deviceId,"motion"),motionTrigger:D(S,l.deviceId,"motion-trigger"),motionZones:D(S,l.deviceId,"motion-zones"),nativeObjectDetection:D(S,l.deviceId,"native-object-detection"),privacyMask:D(S,l.deviceId,"privacy-mask"),ptzAutotrack:D(S,l.deviceId,"ptz-autotrack"),streamParams:D(S,l.deviceId,"stream-params"),switch:D(S,l.deviceId,"switch"),zoneAnalytics:D(S,l.deviceId,"zone-analytics"),zoneRules:D(S,l.deviceId,"zone-rules"),zones:D(S,l.deviceId,"zones")},accessories:I,audioAnalysis:w,audioMetrics:A,battery:M,brightness:R,cameraCredentials:At,cameraStreams:wt,detectionPipeline:Pt,deviceDiscovery:Dt,deviceOps:Mt,deviceStatus:Et,doorbell:qt,events:Tt,featureProbe:Bt,intercom:Rt,motion:xt,motionDetection:Ot,motionTrigger:Lt,motionZones:zt,nativeObjectDetection:Nt,osd:Ut,pipelineAnalytics:Ft,privacyMask:_t,ptz:Ht,ptzAutotrack:Wt,reboot:Vt,recording:Gt,snapshot:Kt,streamCatalog:n,streamParams:U,switch:de,webrtcSession:J,zoneAnalytics:Pe,zoneRules:ce,zones:X,addonSettings:In,cameraPipelineConfig:Cn,deviceExport:An,deviceManager:wn,deviceState:Pn,networkQuality:Dn,pipelineExecutor:Mn,pipelineOrchestrator:En,pipelineRunner:qn,recordingEngine:Tn,snapshotProvider:Bn,streamBroker:Rn}}function Ml(m){const l=m;function o(n,U,de,J,Pe){const ce=l[n]?.[U];if(!ce)throw new Error(`SystemProxy: api has no '${n}.${U}'`);const X=ce;return de==="mutation"?X.mutate(J):de==="subscription"?X.subscribe(J,Pe):X.query(J)}return{addonPages:{listPages:n=>o("addonPages","listPages","query",n)},addons:{list:n=>o("addons","list","query",n),getLogs:n=>o("addons","getLogs","query",n),listPackages:n=>o("addons","listPackages","query",n),installPackage:n=>o("addons","installPackage","mutation",n),installFromWorkspace:n=>o("addons","installFromWorkspace","mutation",n),isWorkspaceAvailable:n=>o("addons","isWorkspaceAvailable","query",n),listWorkspacePackages:n=>o("addons","listWorkspacePackages","query",n),uninstallPackage:n=>o("addons","uninstallPackage","mutation",n),reloadPackages:n=>o("addons","reloadPackages","mutation",n),searchAvailable:n=>o("addons","searchAvailable","query",n),listUpdates:n=>o("addons","listUpdates","query",n),updatePackage:n=>o("addons","updatePackage","mutation",n),rollbackPackage:n=>o("addons","rollbackPackage","mutation",n),forceRefresh:n=>o("addons","forceRefresh","mutation",n),restartServer:n=>o("addons","restartServer","mutation",n),getLastRestart:n=>o("addons","getLastRestart","query",n),listFrameworkPackages:n=>o("addons","listFrameworkPackages","query",n),listCapabilityProviders:n=>o("addons","listCapabilityProviders","query",n),setCapabilityProviderEnabled:n=>o("addons","setCapabilityProviderEnabled","mutation",n),updateFrameworkPackage:n=>o("addons","updateFrameworkPackage","mutation",n),startBulkUpdate:n=>o("addons","startBulkUpdate","mutation",n),getBulkUpdateState:n=>o("addons","getBulkUpdateState","query",n),cancelBulkUpdate:n=>o("addons","cancelBulkUpdate","mutation",n),listActiveBulkUpdates:n=>o("addons","listActiveBulkUpdates","query",n),getVersions:n=>o("addons","getVersions","query",n),restartAddon:n=>o("addons","restartAddon","mutation",n),retryLoad:n=>o("addons","retryLoad","mutation",n),getAutoUpdateSettings:n=>o("addons","getAutoUpdateSettings","query",n),setAutoUpdateSettings:n=>o("addons","setAutoUpdateSettings","mutation",n),getAddonAutoUpdate:n=>o("addons","getAddonAutoUpdate","query",n),setAddonAutoUpdate:n=>o("addons","setAddonAutoUpdate","mutation",n),applyAutoUpdateToAll:n=>o("addons","applyAutoUpdateToAll","mutation",n),custom:n=>o("addons","custom","mutation",n),onAddonLogs:(n,U)=>o("addons","onAddonLogs","subscription",n,U)},addonSettings:{getGlobalSettings:n=>o("addonSettings","getGlobalSettings","query",n),updateGlobalSettings:n=>o("addonSettings","updateGlobalSettings","mutation",n)},addonWidgets:{listWidgets:n=>o("addonWidgets","listWidgets","query",n)},alerts:{emit:n=>o("alerts","emit","mutation",n),update:n=>o("alerts","update","mutation",n),list:n=>o("alerts","list","query",n),getUnreadCount:n=>o("alerts","getUnreadCount","query",n),markRead:n=>o("alerts","markRead","mutation",n),markAllRead:n=>o("alerts","markAllRead","mutation",n),dismiss:n=>o("alerts","dismiss","mutation",n)},audioAnalyzer:{analyseChunk:n=>o("audioAnalyzer","analyseChunk","mutation",n),classify:n=>o("audioAnalyzer","classify","query",n),isReady:n=>o("audioAnalyzer","isReady","query",n),dispose:n=>o("audioAnalyzer","dispose","mutation",n),reprobeAudioEngine:n=>o("audioAnalyzer","reprobeAudioEngine","mutation",n)},audioCodec:{listSupportedCodecs:n=>o("audioCodec","listSupportedCodecs","query",n),canHandle:n=>o("audioCodec","canHandle","query",n),createDecodeSession:n=>o("audioCodec","createDecodeSession","mutation",n),createEncodeSession:n=>o("audioCodec","createEncodeSession","mutation",n),closeSession:n=>o("audioCodec","closeSession","mutation",n),pushEncodedFrame:n=>o("audioCodec","pushEncodedFrame","mutation",n),pullPcm:n=>o("audioCodec","pullPcm","query",n),pushPcm:n=>o("audioCodec","pushPcm","mutation",n),pullEncoded:n=>o("audioCodec","pullEncoded","query",n),flushEncode:n=>o("audioCodec","flushEncode","mutation",n),listActiveSessions:n=>o("audioCodec","listActiveSessions","query",n)},backup:{listDestinations:n=>o("backup","listDestinations","query",n),trigger:n=>o("backup","trigger","mutation",n),list:n=>o("backup","list","query",n),listLocations:n=>o("backup","listLocations","query",n),getEntries:n=>o("backup","getEntries","query",n),restore:n=>o("backup","restore","mutation",n),delete:n=>o("backup","delete","mutation",n),listArchives:n=>o("backup","listArchives","query",n),upsertDestinationPolicy:n=>o("backup","upsertDestinationPolicy","mutation",n),previewSchedule:n=>o("backup","previewSchedule","query",n)},decoder:{supportsCodec:n=>o("decoder","supportsCodec","query",n),getInfo:n=>o("decoder","getInfo","query",n),createSession:n=>o("decoder","createSession","query",n),destroySession:n=>o("decoder","destroySession","query",n),pushPacket:n=>o("decoder","pushPacket","query",n),openStream:n=>o("decoder","openStream","query",n),pullFrames:n=>o("decoder","pullFrames","query",n),pullHandles:n=>o("decoder","pullHandles","query",n),getFrame:n=>o("decoder","getFrame","query",n),getShmStats:n=>o("decoder","getShmStats","query",n),updateConfig:n=>o("decoder","updateConfig","query",n),getStats:n=>o("decoder","getStats","query",n),listActiveSessions:n=>o("decoder","listActiveSessions","query",n),reprobeHwaccel:n=>o("decoder","reprobeHwaccel","mutation",n)},deviceExport:{getStatus:n=>o("deviceExport","getStatus","query",n),listSupportedDeviceKinds:n=>o("deviceExport","listSupportedDeviceKinds","query",n),listExposedDevices:n=>o("deviceExport","listExposedDevices","query",n),exposeDevice:n=>o("deviceExport","exposeDevice","mutation",n),unexposeDevice:n=>o("deviceExport","unexposeDevice","mutation",n)},deviceManager:{allocateDeviceId:n=>o("deviceManager","allocateDeviceId","mutation",n),registerDevice:n=>o("deviceManager","registerDevice","mutation",n),removeDevice:n=>o("deviceManager","removeDevice","mutation",n),persistConfig:n=>o("deviceManager","persistConfig","mutation",n),listLocations:n=>o("deviceManager","listLocations","query",n),addLocation:n=>o("deviceManager","addLocation","mutation",n),removeLocation:n=>o("deviceManager","removeLocation","mutation",n),listPersistedByAddon:n=>o("deviceManager","listPersistedByAddon","query",n),listAll:n=>o("deviceManager","listAll","query",n),getChildren:n=>o("deviceManager","getChildren","query",n),listWrappersForCap:n=>o("deviceManager","listWrappersForCap","query",n),listBindableCapsForDeviceType:n=>o("deviceManager","listBindableCapsForDeviceType","query",n),discoverDevices:n=>o("deviceManager","discoverDevices","mutation",n),adoptDevice:n=>o("deviceManager","adoptDevice","mutation",n),getCreationSchema:n=>o("deviceManager","getCreationSchema","query",n),createDevice:n=>o("deviceManager","createDevice","mutation",n),testCreationField:n=>o("deviceManager","testCreationField","mutation",n)},deviceProvider:{start:n=>o("deviceProvider","start","mutation",n),stop:n=>o("deviceProvider","stop","mutation",n),getStatus:n=>o("deviceProvider","getStatus","query",n),getDevices:n=>o("deviceProvider","getDevices","query",n),supportsDiscovery:n=>o("deviceProvider","supportsDiscovery","query",n),discoverDevices:n=>o("deviceProvider","discoverDevices","mutation",n),adoptDiscoveredDevice:n=>o("deviceProvider","adoptDiscoveredDevice","mutation",n),supportsManualCreation:n=>o("deviceProvider","supportsManualCreation","query",n),getChildCreationSchema:n=>o("deviceProvider","getChildCreationSchema","query",n),createDevice:n=>o("deviceProvider","createDevice","mutation",n),testCreationField:n=>o("deviceProvider","testCreationField","mutation",n)},deviceState:{getAllSnapshots:n=>o("deviceState","getAllSnapshots","query",n)},integrations:{list:n=>o("integrations","list","query",n),get:n=>o("integrations","get","query",n),getByAddonId:n=>o("integrations","getByAddonId","query",n),create:n=>o("integrations","create","mutation",n),update:n=>o("integrations","update","mutation",n),delete:n=>o("integrations","delete","mutation",n),getSettings:n=>o("integrations","getSettings","query",n),setSettings:n=>o("integrations","setSettings","mutation",n),getAvailableTypes:n=>o("integrations","getAvailableTypes","query",n),testConnection:n=>o("integrations","testConnection","mutation",n)},localNetwork:{list:n=>o("localNetwork","list","query",n),getPreferred:n=>o("localNetwork","getPreferred","query",n),getConnectionEndpoints:n=>o("localNetwork","getConnectionEndpoints","query",n),getAllowedAddresses:n=>o("localNetwork","getAllowedAddresses","query",n),setAllowedAddresses:n=>o("localNetwork","setAllowedAddresses","mutation",n),resetAllowlistToBestMatch:n=>o("localNetwork","resetAllowlistToBestMatch","mutation",n)},meshNetwork:{getStatus:n=>o("meshNetwork","getStatus","query",n),join:n=>o("meshNetwork","join","mutation",n),startLogin:n=>o("meshNetwork","startLogin","mutation",n),leave:n=>o("meshNetwork","leave","mutation",n),logout:n=>o("meshNetwork","logout","mutation",n),listPeers:n=>o("meshNetwork","listPeers","query",n),testConnection:n=>o("meshNetwork","testConnection","mutation",n)},metricsProvider:{collectSnapshot:n=>o("metricsProvider","collectSnapshot","query",n),getCached:n=>o("metricsProvider","getCached","query",n),getCurrent:n=>o("metricsProvider","getCurrent","query",n),getDiskSpace:n=>o("metricsProvider","getDiskSpace","query",n),getGpuInfo:n=>o("metricsProvider","getGpuInfo","query",n),getCpuTemperature:n=>o("metricsProvider","getCpuTemperature","query",n),getProcessStats:n=>o("metricsProvider","getProcessStats","query",n),listAddonInstances:n=>o("metricsProvider","listAddonInstances","query",n),getAddonStats:n=>o("metricsProvider","getAddonStats","query",n),listNodeProcesses:n=>o("metricsProvider","listNodeProcesses","query",n),killProcess:n=>o("metricsProvider","killProcess","mutation",n)},mqttBroker:{listBrokers:n=>o("mqttBroker","listBrokers","query",n),getBrokerConfig:n=>o("mqttBroker","getBrokerConfig","query",n),addBroker:n=>o("mqttBroker","addBroker","mutation",n),removeBroker:n=>o("mqttBroker","removeBroker","mutation",n),testConnection:n=>o("mqttBroker","testConnection","mutation",n),startEmbeddedBroker:n=>o("mqttBroker","startEmbeddedBroker","mutation",n),stopEmbeddedBroker:n=>o("mqttBroker","stopEmbeddedBroker","mutation",n),getStatus:n=>o("mqttBroker","getStatus","query",n)},networkAccess:{start:n=>o("networkAccess","start","mutation",n),stop:n=>o("networkAccess","stop","mutation",n),getEndpoint:n=>o("networkAccess","getEndpoint","query",n),getStatus:n=>o("networkAccess","getStatus","query",n),listEndpoints:n=>o("networkAccess","listEndpoints","query",n)},networkQuality:{getAllStats:n=>o("networkQuality","getAllStats","query",n)},nodes:{topology:n=>o("nodes","topology","query",n),deployAddon:n=>o("nodes","deployAddon","mutation",n),undeployAddon:n=>o("nodes","undeployAddon","mutation",n),restartAddon:n=>o("nodes","restartAddon","mutation",n),restartProcess:n=>o("nodes","restartProcess","mutation",n),restartNode:n=>o("nodes","restartNode","mutation",n),shutdownNode:n=>o("nodes","shutdownNode","mutation",n),renameNode:n=>o("nodes","renameNode","mutation",n),clusterAddonStatus:n=>o("nodes","clusterAddonStatus","query",n),getCapUsageGraph:n=>o("nodes","getCapUsageGraph","query",n),getNodeAddons:n=>o("nodes","getNodeAddons","query",n),setProcessLogLevel:n=>o("nodes","setProcessLogLevel","mutation",n),executeQuery:n=>o("nodes","executeQuery","mutation",n)},notificationOutput:{send:n=>o("notificationOutput","send","mutation",n),sendTest:n=>o("notificationOutput","sendTest","mutation",n)},pipelineExecutor:{getAvailableEngines:n=>o("pipelineExecutor","getAvailableEngines","query",n),getSelectedEngine:n=>o("pipelineExecutor","getSelectedEngine","query",n),getDefaultSteps:n=>o("pipelineExecutor","getDefaultSteps","query",n),reprobeEngine:n=>o("pipelineExecutor","reprobeEngine","mutation",n),getVideoPipelineSteps:n=>o("pipelineExecutor","getVideoPipelineSteps","query",n),setVideoPipelineSteps:n=>o("pipelineExecutor","setVideoPipelineSteps","mutation",n),getSchema:n=>o("pipelineExecutor","getSchema","query",n),getGlobalSteps:n=>o("pipelineExecutor","getGlobalSteps","query",n),getGlobalPipelineConfig:n=>o("pipelineExecutor","getGlobalPipelineConfig","query",n),getOrchestratorConfigSchema:n=>o("pipelineExecutor","getOrchestratorConfigSchema","query",n),listTemplates:n=>o("pipelineExecutor","listTemplates","query",n),saveTemplate:n=>o("pipelineExecutor","saveTemplate","mutation",n),updateTemplate:n=>o("pipelineExecutor","updateTemplate","mutation",n),deleteTemplate:n=>o("pipelineExecutor","deleteTemplate","mutation",n),getCapabilities:n=>o("pipelineExecutor","getCapabilities","query",n),getAddonModels:n=>o("pipelineExecutor","getAddonModels","query",n),downloadModel:n=>o("pipelineExecutor","downloadModel","mutation",n),deleteModel:n=>o("pipelineExecutor","deleteModel","mutation",n),detect:n=>o("pipelineExecutor","detect","query",n),cacheFrameInPool:n=>o("pipelineExecutor","cacheFrameInPool","mutation",n),inferCached:n=>o("pipelineExecutor","inferCached","mutation",n),uncacheFrame:n=>o("pipelineExecutor","uncacheFrame","mutation",n),getEffectiveTuning:n=>o("pipelineExecutor","getEffectiveTuning","query",n),listLoadedEngines:n=>o("pipelineExecutor","listLoadedEngines","query",n),spinEngine:n=>o("pipelineExecutor","spinEngine","mutation",n),killEngine:n=>o("pipelineExecutor","killEngine","mutation",n),listReferenceImages:n=>o("pipelineExecutor","listReferenceImages","query",n),getReferenceImage:n=>o("pipelineExecutor","getReferenceImage","query",n),getReferenceAudioFiles:n=>o("pipelineExecutor","getReferenceAudioFiles","query",n),getReferenceAudio:n=>o("pipelineExecutor","getReferenceAudio","query",n),getAudioCapabilities:n=>o("pipelineExecutor","getAudioCapabilities","query",n),runAudioTest:n=>o("pipelineExecutor","runAudioTest","mutation",n),getDetectionConfigSchema:n=>o("pipelineExecutor","getDetectionConfigSchema","query",n)},pipelineOrchestrator:{rebalance:n=>o("pipelineOrchestrator","rebalance","mutation",n),getPipelineAssignments:n=>o("pipelineOrchestrator","getPipelineAssignments","query",n),getAgentLoad:n=>o("pipelineOrchestrator","getAgentLoad","query",n),getGlobalMetrics:n=>o("pipelineOrchestrator","getGlobalMetrics","query",n),getCapabilityBindings:n=>o("pipelineOrchestrator","getCapabilityBindings","query",n),setCapabilityBinding:n=>o("pipelineOrchestrator","setCapabilityBinding","mutation",n),getDecoderAssignments:n=>o("pipelineOrchestrator","getDecoderAssignments","query",n),getAudioNodeLoad:n=>o("pipelineOrchestrator","getAudioNodeLoad","query",n),getAgentSettings:n=>o("pipelineOrchestrator","getAgentSettings","query",n),listAgentSettings:n=>o("pipelineOrchestrator","listAgentSettings","query",n),setAgentAddonDefaults:n=>o("pipelineOrchestrator","setAgentAddonDefaults","mutation",n),removeAgentSettings:n=>o("pipelineOrchestrator","removeAgentSettings","mutation",n),listTemplates:n=>o("pipelineOrchestrator","listTemplates","query",n),saveTemplate:n=>o("pipelineOrchestrator","saveTemplate","mutation",n),updateTemplate:n=>o("pipelineOrchestrator","updateTemplate","mutation",n),deleteTemplate:n=>o("pipelineOrchestrator","deleteTemplate","mutation",n)},pipelineRunner:{attachCamera:n=>o("pipelineRunner","attachCamera","mutation",n),reportMotion:n=>o("pipelineRunner","reportMotion","mutation",n),getLocalLoad:n=>o("pipelineRunner","getLocalLoad","query",n),getLocalMetrics:n=>o("pipelineRunner","getLocalMetrics","query",n),getAllCameraMetrics:n=>o("pipelineRunner","getAllCameraMetrics","query",n),getLocalCameras:n=>o("pipelineRunner","getLocalCameras","query",n)},platformProbe:{getCapabilities:n=>o("platformProbe","getCapabilities","query",n),getHardware:n=>o("platformProbe","getHardware","query",n),resolveInferenceConfig:n=>o("platformProbe","resolveInferenceConfig","query",n),resolveHwAccel:n=>o("platformProbe","resolveHwAccel","query",n),getHardwareEncoders:n=>o("platformProbe","getHardwareEncoders","query",n),refreshHardwareEncoders:n=>o("platformProbe","refreshHardwareEncoders","mutation",n)},recordingEngine:{getStatus:n=>o("recordingEngine","getStatus","query",n),enable:n=>o("recordingEngine","enable","mutation",n),disable:n=>o("recordingEngine","disable","mutation",n),getConfig:n=>o("recordingEngine","getConfig","query",n),updateConfig:n=>o("recordingEngine","updateConfig","mutation",n),getPlaylist:n=>o("recordingEngine","getPlaylist","query",n),getThumbnail:n=>o("recordingEngine","getThumbnail","query",n),getSegments:n=>o("recordingEngine","getSegments","query",n),getAvailability:n=>o("recordingEngine","getAvailability","query",n),estimateStorage:n=>o("recordingEngine","estimateStorage","query",n),estimateGlobalStorage:n=>o("recordingEngine","estimateGlobalStorage","query",n),getStorageUsage:n=>o("recordingEngine","getStorageUsage","query",n),setPolicy:n=>o("recordingEngine","setPolicy","mutation",n),getPolicy:n=>o("recordingEngine","getPolicy","query",n),getRetentionConfig:n=>o("recordingEngine","getRetentionConfig","query",n),updateRetentionConfig:n=>o("recordingEngine","updateRetentionConfig","mutation",n),getMotionStats:n=>o("recordingEngine","getMotionStats","query",n)},settingsStore:{get:n=>o("settingsStore","get","query",n),set:n=>o("settingsStore","set","mutation",n),query:n=>o("settingsStore","query","query",n),insert:n=>o("settingsStore","insert","mutation",n),update:n=>o("settingsStore","update","mutation",n),delete:n=>o("settingsStore","delete","mutation",n),count:n=>o("settingsStore","count","query",n),isEmpty:n=>o("settingsStore","isEmpty","query",n),declareCollection:n=>o("settingsStore","declareCollection","mutation",n)},storage:{resolve:n=>o("storage","resolve","query",n),write:n=>o("storage","write","mutation",n),read:n=>o("storage","read","query",n),exists:n=>o("storage","exists","query",n),list:n=>o("storage","list","query",n),delete:n=>o("storage","delete","mutation",n),getAvailableSpace:n=>o("storage","getAvailableSpace","query",n),beginUpload:n=>o("storage","beginUpload","mutation",n),writeChunk:n=>o("storage","writeChunk","mutation",n),finalizeUpload:n=>o("storage","finalizeUpload","mutation",n),abortUpload:n=>o("storage","abortUpload","mutation",n),beginDownload:n=>o("storage","beginDownload","mutation",n),readChunk:n=>o("storage","readChunk","query",n),endDownload:n=>o("storage","endDownload","mutation",n),listLocations:n=>o("storage","listLocations","query",n),getDefaultLocation:n=>o("storage","getDefaultLocation","query",n),upsertLocation:n=>o("storage","upsertLocation","mutation",n),deleteLocation:n=>o("storage","deleteLocation","mutation",n),testLocation:n=>o("storage","testLocation","query",n),listProviders:n=>o("storage","listProviders","query",n),testConfig:n=>o("storage","testConfig","query",n)},streamBroker:{listAllCameraStreams:n=>o("streamBroker","listAllCameraStreams","query",n),listAllProfileSlots:n=>o("streamBroker","listAllProfileSlots","query",n),getBrokerStats:n=>o("streamBroker","getBrokerStats","query",n),listClients:n=>o("streamBroker","listClients","query",n),killClient:n=>o("streamBroker","killClient","mutation",n),getStreamUrl:n=>o("streamBroker","getStreamUrl","query",n),getStreamWithCodec:n=>o("streamBroker","getStreamWithCodec","mutation",n),releaseStreamWithCodec:n=>o("streamBroker","releaseStreamWithCodec","mutation",n),subscribeAudioChunks:n=>o("streamBroker","subscribeAudioChunks","mutation",n),pullAudioChunks:n=>o("streamBroker","pullAudioChunks","query",n),unsubscribeAudioChunks:n=>o("streamBroker","unsubscribeAudioChunks","mutation",n),subscribeFrames:n=>o("streamBroker","subscribeFrames","mutation",n),pullFrameHandles:n=>o("streamBroker","pullFrameHandles","query",n),unsubscribeFrames:n=>o("streamBroker","unsubscribeFrames","mutation",n),setPreBufferDuration:n=>o("streamBroker","setPreBufferDuration","mutation",n),getPreBufferInfo:n=>o("streamBroker","getPreBufferInfo","query",n),getRtspPort:n=>o("streamBroker","getRtspPort","query",n),getAllRtspEntries:n=>o("streamBroker","getAllRtspEntries","query",n),getRtspEntry:n=>o("streamBroker","getRtspEntry","query",n),regenerateRtspToken:n=>o("streamBroker","regenerateRtspToken","mutation",n),setRtspEnabled:n=>o("streamBroker","setRtspEnabled","mutation",n),isRtspEnabled:n=>o("streamBroker","isRtspEnabled","query",n)},system:{info:n=>o("system","info","query",n),health:n=>o("system","health","query",n),featureFlags:n=>o("system","featureFlags","query",n),networkAddresses:n=>o("system","networkAddresses","query",n),getRetentionConfig:n=>o("system","getRetentionConfig","query",n),setRetentionConfig:n=>o("system","setRetentionConfig","mutation",n),forceRetentionCleanup:n=>o("system","forceRetentionCleanup","mutation",n)},toast:{onToast:(n,U)=>o("toast","onToast","subscription",n,U)},turnProvider:{getTurnServers:n=>o("turnProvider","getTurnServers","query",n)},userManagement:{listUsers:n=>o("userManagement","listUsers","query",n),createUser:n=>o("userManagement","createUser","mutation",n),updateUser:n=>o("userManagement","updateUser","mutation",n),deleteUser:n=>o("userManagement","deleteUser","mutation",n),resetPassword:n=>o("userManagement","resetPassword","mutation",n),setUserScopes:n=>o("userManagement","setUserScopes","mutation",n),validateCredentials:n=>o("userManagement","validateCredentials","mutation",n),listApiKeys:n=>o("userManagement","listApiKeys","query",n),createApiKey:n=>o("userManagement","createApiKey","mutation",n),revokeApiKey:n=>o("userManagement","revokeApiKey","mutation",n),validateApiKey:n=>o("userManagement","validateApiKey","mutation",n),createScopedToken:n=>o("userManagement","createScopedToken","mutation",n),revokeScopedToken:n=>o("userManagement","revokeScopedToken","mutation",n),validateScopedToken:n=>o("userManagement","validateScopedToken","query",n),listScopedTokens:n=>o("userManagement","listScopedTokens","query",n),setupTotp:n=>o("userManagement","setupTotp","mutation",n),confirmTotp:n=>o("userManagement","confirmTotp","mutation",n),disableTotp:n=>o("userManagement","disableTotp","mutation",n),getTotpStatus:n=>o("userManagement","getTotpStatus","query",n),verifyTotp:n=>o("userManagement","verifyTotp","mutation",n),oauthIssueCode:n=>o("userManagement","oauthIssueCode","mutation",n),oauthExchangeCode:n=>o("userManagement","oauthExchangeCode","mutation",n),oauthRefresh:n=>o("userManagement","oauthRefresh","mutation",n),oauthVerifyAccessToken:n=>o("userManagement","oauthVerifyAccessToken","query",n),listOauthSessions:n=>o("userManagement","listOauthSessions","query",n),revokeOauthSession:n=>o("userManagement","revokeOauthSession","mutation",n)}}}const Ro="device.state-changed",xo="capability.binding-changed",Oo="device.registered",Lo="device.unregistered",zo="device.updated";class El{constructor(l){this.api=l,this.stateSource=qo(this.stateMirror,this.handleListeners,this.api)}stateMirror=new Map;bindings=new Map;devices=new Map;handleListeners=new Map;globalStateListeners=new Set;capListeners=new Map;deviceListeners=new Map;addedListeners=new Set;removedListeners=new Set;pendingWaits=new Set;stateSource;bridges=[];initialized=!1;initPromise=null;async init(l=15e3){if(!this.initialized){if(this.initPromise)return this.initPromise;this.initPromise=(async()=>{const o=(k,u)=>Number.isFinite(l)?new Promise((p,I)=>{const w=setTimeout(()=>I(new Error(`SystemMirror.init: '${u}' timed out after ${l}ms`)),l);k.then(A=>{clearTimeout(w),p(A)},A=>{clearTimeout(w),I(A)})}):k,[h,S,f]=await Promise.all([o(this.api.deviceManager.getAllBindings.query({}),"deviceManager.getAllBindings"),o(this.api.deviceState.getAllSnapshots.query({}),"deviceState.getAllSnapshots"),o(this.api.deviceManager.listAll.query({}),"deviceManager.listAll")]);for(const k of h)this.bindings.set(k.deviceId,k);for(const[k,u]of Object.entries(S)){const p=Number(k);if(!Number.isFinite(p))continue;const I=new Map;for(const[w,A]of Object.entries(u))I.set(w,A);this.stateMirror.set(p,I)}for(const k of f)this.devices.set(k.id,k);try{this.subscribeBus()}catch{}this.initialized=!0})();try{await this.initPromise}finally{this.initPromise=null}}}isReady(){return this.initialized}async awaitReady(){if(!this.initialized)return this.initPromise?this.initPromise:this.init()}dispose(){for(const l of this.bridges)try{l.unsubscribe()}catch{}this.bridges=[],this.handleListeners.clear(),this.globalStateListeners.clear(),this.capListeners.clear(),this.deviceListeners.clear(),this.addedListeners.clear(),this.removedListeners.clear(),this.pendingWaits.clear(),this.initialized=!1}getDeviceById(l){const o=this.bindings.get(l);return o?Bo(this.api,o,{stateSource:this.stateSource}):null}getDeviceByName(l){for(const o of this.devices.values())if(o.name===l)return this.getDeviceById(o.id);return null}getDeviceByStableId(l){for(const o of this.devices.values())if(o.stableId===l)return this.getDeviceById(o.id);return null}getDevicesByAddon(l){return this.query({addonId:l})}getDevicesByType(l){return this.query({type:l})}getDeviceInfo(l){return this.devices.get(l)??null}getAllDevices(){const l=[];for(const o of this.bindings.keys()){const h=this.getDeviceById(o);h&&l.push(h)}return l}filterByCap(l){return this.query({caps:l})}query(l={}){const o=[];for(const[h,S]of this.bindings){const f=this.devices.get(h);if(l.id!==void 0&&!ue(h,l.id)||l.stableId!==void 0&&(!f||!ue(f.stableId,l.stableId))||l.addonId!==void 0&&(!f||!ue(f.addonId,l.addonId))||l.type!==void 0&&(!f||!ue(f.type,l.type)))continue;if(l.caps!==void 0){const u=Oe(l.caps),p=new Set(S.entries.map(I=>I.capName));if(!u.every(I=>p.has(I)))continue}if(l.anyCap!==void 0){const u=Oe(l.anyCap),p=new Set(S.entries.map(I=>I.capName));if(!u.some(I=>p.has(I)))continue}if(l.name!==void 0&&(!f||!No(f.name,l.name))||l.online!==void 0&&(!f||f.online!==l.online))continue;if(l.parentDeviceId!==void 0){if(!f)continue;const u=l.parentDeviceId;if((f.parentDeviceId??null)!==u)continue}if(l.feature!==void 0&&(!f||!Oe(l.feature).every(p=>f.features.includes(p)))||l.isCamera!==void 0&&(!f||f.isCamera!==l.isCamera))continue;const k=this.getDeviceById(h);if(k){if(l.where&&f){if(!l.where(f,k))continue}else if(l.where&&!f)continue;o.push(k)}}return o}whereState(l,o){const h=[];for(const[S,f]of this.stateMirror){const k=f.get(l);if(!k||!o(k,S))continue;const u=this.getDeviceById(S);u&&h.push(u)}return h}mapState(l,o){const h=[];for(const[S,f]of this.stateMirror){const k=f.get(l);k&&h.push(o(k,S))}return h}findState(l,o){for(const[h,S]of this.stateMirror){const f=S.get(l);if(f&&o(f,h))return this.getDeviceById(h)}return null}countByCap(l){let o=0;for(const h of this.bindings.values())h.entries.some(S=>S.capName===l)&&o++;return o}countByState(l,o){let h=0;for(const[S,f]of this.stateMirror){const k=f.get(l);k&&o(k,S)&&h++}return h}listen(l){return this.globalStateListeners.add(l),()=>{this.globalStateListeners.delete(l)}}listenCap(l,o){let h=this.capListeners.get(l);return h||(h=new Set,this.capListeners.set(l,h)),h.add(o),()=>{h.delete(o),h.size===0&&this.capListeners.delete(l)}}listenDevice(l,o){let h=this.deviceListeners.get(l);return h||(h=new Set,this.deviceListeners.set(l,h)),h.add(o),()=>{h.delete(o),h.size===0&&this.deviceListeners.delete(l)}}onDeviceAdded(l){return this.addedListeners.add(l),()=>{this.addedListeners.delete(l)}}onDeviceRemoved(l){return this.removedListeners.add(l),()=>{this.removedListeners.delete(l)}}waitForState(l,o,h,S=3e4){return new Promise((f,k)=>{const p=(()=>{const A=this.stateMirror.get(l)?.get(o);return A&&h(A)?A:null})();if(p){f(p);return}let I=null;const w=this.listenDevice(l,(A,M,R)=>{M===o&&R&&h(R)&&(I&&clearTimeout(I),w(),f(R))});Number.isFinite(S)&&(I=setTimeout(()=>{w(),k(new Error(`waitForState timed out after ${S}ms (deviceId=${l}, capName=${o})`))},S))})}waitForDevice(l,o=3e4){return new Promise((h,S)=>{const f=this.getDeviceById(l);if(f){h(f);return}let k=null;const u=this.onDeviceAdded(p=>{if(p!==l)return;const I=this.getDeviceById(p);I&&(k&&clearTimeout(k),u(),h(I))});Number.isFinite(o)&&(k=setTimeout(()=>{u(),S(new Error(`waitForDevice timed out after ${o}ms (deviceId=${l})`))},o))})}async forEachCap(l,o){for(const h of this.filterByCap(l))await o(h)}async invokeCap(l,o,h,S={}){const f=this.filterByCap(l),k=Math.max(1,S.parallelism??f.length),u=[];for(let p=0;p<f.length;p+=k){const I=f.slice(p,p+k),w=await Promise.allSettled(I.map(async A=>{const M=A[l];if(!M||typeof M[o]!="function")throw new Error(`device '${A.deviceId}' does not expose '${l}.${o}'`);return await M[o](h)}));for(let A=0;A<w.length;A++){const M=I[A],R=w[A];R.status==="fulfilled"?u.push({deviceId:M.deviceId,ok:!0,result:R.value}):u.push({deviceId:M.deviceId,ok:!1,error:R.reason})}}return u}summary(){const l={},o={},h={};let S=0,f=0;for(const k of this.bindings.values())for(const u of k.entries)l[u.capName]=(l[u.capName]??0)+1;for(const k of this.devices.values())o[k.addonId]=(o[k.addonId]??0)+1,h[k.type]=(h[k.type]??0)+1,k.online?S++:f++;return{totalDevices:this.bindings.size,online:S,offline:f,byCap:l,byAddon:o,byType:h,statedDevices:this.stateMirror.size}}dump(l){const o=S=>{const f=this.devices.get(S)??null,k=this.bindings.get(S)??null,u={},p=this.stateMirror.get(S);if(p)for(const[I,w]of p)u[I]={...w};return{deviceId:S,info:f,binding:k?{...k,entries:k.entries.map(I=>({...I}))}:null,state:u}};if(l!==void 0)return o(l);const h=[];for(const S of this.bindings.keys())h.push(o(S));return h}getRawMirror(){return this.stateMirror}getSystemState(){const l=new Map;for(const[o,h]of this.stateMirror){const S=new Map;for(const[f,k]of h)S.set(f,{...k});l.set(o,S)}return l}subscribeBus(){if(!this.api.live?.onEvent)return;const l=this.api.live.onEvent;this.bridges.push(l.subscribe({category:Ro},{onData:o=>{const h=o.data;!h||typeof h.deviceId!="number"||typeof h.capName!="string"||this.applyStateUpdate(h.deviceId,h.capName,h.slice)}})),this.bridges.push(l.subscribe({category:xo},{onData:o=>{const h=o.data,S=typeof h?.deviceId=="number"?h.deviceId:h?.source?.type==="device"&&typeof h.source.id=="number"?h.source.id:null;S!==null&&this.refreshBinding(S)}})),this.bridges.push(l.subscribe({category:Oo},{onData:o=>{const h=o.data;typeof h?.deviceId=="number"&&this.refreshDeviceMetadata(h.deviceId,"added")}})),this.bridges.push(l.subscribe({category:Lo},{onData:o=>{const h=o.data;typeof h?.deviceId=="number"&&this.applyDeviceRemoval(h.deviceId)}})),this.bridges.push(l.subscribe({category:zo},{onData:o=>{const h=o.data;typeof h?.deviceId=="number"&&this.refreshDeviceMetadata(h.deviceId,"updated")}}))}applyStateUpdate(l,o,h){let S=this.stateMirror.get(l);S||(S=new Map,this.stateMirror.set(l,S)),h===void 0?S.delete(o):S.set(o,h);const f=`${l}:${o}`,k=this.handleListeners.get(f);if(k)for(const I of k)try{I(h)}catch{}for(const I of this.globalStateListeners)try{I(l,o,h)}catch{}const u=this.capListeners.get(o);if(u)for(const I of u)try{I(l,h)}catch{}const p=this.deviceListeners.get(l);if(p)for(const I of p)try{I(l,o,h)}catch{}}applyDeviceRemoval(l){const o=this.devices.get(l)??null;this.bindings.delete(l),this.devices.delete(l),this.stateMirror.delete(l);for(const h of this.removedListeners)try{h(l,o)}catch{}}async refreshBinding(l){try{const h=(await this.api.deviceManager.getAllBindings.query({})).find(S=>S.deviceId===l);h?this.bindings.set(l,h):this.applyDeviceRemoval(l)}catch{}}async refreshDeviceMetadata(l,o){try{const S=(await this.api.deviceManager.listAll.query({})).find(k=>k.id===l);if(!S)return;const f=!this.devices.has(l);if(this.devices.set(l,S),o==="added"&&f){await this.refreshBinding(l);for(const k of this.addedListeners)try{k(l,S)}catch{}}}catch{}}}function ue(m,l){return Array.isArray(l)?l.includes(m):m===l}function Oe(m){return Array.isArray(m)?m:[m]}function No(m,l){return typeof l=="string"?m===l:l instanceof RegExp?l.test(m):"exact"in l?m===l.exact:"contains"in l?m.toLowerCase().includes(l.contains.toLowerCase()):!1}const Uo=t({id:e(),label:e(),icon:e(),order:a().optional()}),Fo=t({id:e(),title:e(),description:e().optional(),style:g(["card","accordion"]).optional(),defaultCollapsed:d().optional(),columns:q([b(1),b(2),b(3),b(4)]).optional(),tab:e().optional(),location:g(["settings","top-tab"]).optional(),order:a().optional(),fields:r(Va())}),j=t({tabs:r(Uo).optional(),sections:r(Fo)}),la=y(e(),v()),ua=t({success:b(!0)}),ql={name:"addon-settings",scope:"system",mode:"singleton",nodeIdMode:"data",methods:{getGlobalSettings:i(t({addonId:e(),nodeId:e().optional(),overlay:y(e(),v()).optional(),cap:e().optional()}),j.nullable()),updateGlobalSettings:i(t({addonId:e(),nodeId:e().optional(),patch:la}),ua,{kind:"mutation",auth:"admin"}),getDeviceSettings:i(t({addonId:e(),deviceId:a(),nodeId:e().optional()}),j.nullable()),updateDeviceSettings:i(t({addonId:e(),deviceId:a(),nodeId:e().optional(),patch:la}),ua,{kind:"mutation",auth:"admin"})}},_o=g(["info","success","warning","error"]),Ho=g(["active","in-progress","completed","failed","dismissed"]),Wo=t({type:e(),id:e()}),Le=t({id:e(),category:e(),severity:_o,title:e(),message:e(),status:Ho,progress:a().optional(),read:d(),createdAt:a(),updatedAt:a(),source:Wo.optional(),metadata:y(e(),v()).optional()}),Tl={name:"alerts",scope:"system",mode:"singleton",methods:{emit:i(Le,c(),{kind:"mutation"}),update:i(t({alertId:e(),patch:Le.partial()}),c(),{kind:"mutation"}),list:i(t({unreadOnly:d().optional(),limit:a().optional()}).optional(),r(Le).readonly()),getUnreadCount:i(c(),a()),markRead:i(t({alertId:e()}),c(),{kind:"mutation"}),markAllRead:i(c(),c(),{kind:"mutation"}),dismiss:i(t({alertId:e()}),c(),{kind:"mutation"})}},Bl={name:"storage",scope:"system",mode:"singleton",methods:{resolve:i(t({location:z,relativePath:e()}),e()),write:i(t({location:z,relativePath:e(),data:P(Uint8Array)}),c(),{kind:"mutation"}),read:i(t({location:z,relativePath:e()}),P(Uint8Array)),exists:i(t({location:z,relativePath:e()}),d()),list:i(t({location:z,prefix:e().optional()}),r(e()).readonly()),delete:i(t({location:z,relativePath:e()}),c(),{kind:"mutation"}),getAvailableSpace:i(t({location:z}),a().nullable()),beginUpload:i(t({location:z,relativePath:e(),sizeBytes:a().optional()}),t({uploadId:e()}),{kind:"mutation"}),writeChunk:i(t({uploadId:e(),offset:a(),data:P(Uint8Array)}),c(),{kind:"mutation"}),finalizeUpload:i(t({uploadId:e()}),c(),{kind:"mutation"}),abortUpload:i(t({uploadId:e()}),c(),{kind:"mutation"}),beginDownload:i(t({location:z,relativePath:e()}),t({downloadId:e(),sizeBytes:a()}),{kind:"mutation"}),readChunk:i(t({downloadId:e(),offset:a(),length:a()}),P(Uint8Array)),endDownload:i(t({downloadId:e()}),c(),{kind:"mutation"}),listLocations:i(t({type:$.optional()}),r(T).readonly()),getDefaultLocation:i(t({type:$}),T.nullable()),upsertLocation:i(T.omit({createdAt:!0,updatedAt:!0}),T,{kind:"mutation",auth:"admin"}),deleteLocation:i(t({id:e()}),c(),{kind:"mutation",auth:"admin"}),testLocation:i(t({id:e()}),t({ok:d(),error:e().optional()}),{auth:"admin"}),listProviders:i(c(),r(t({providerId:e(),displayName:e(),supportedLocationTypes:r($).readonly(),configSchema:v()})).readonly()),testConfig:i(t({providerId:e(),config:y(e(),v())}),t({ok:d(),error:e().optional()}),{auth:"admin"})}},Vo=t({providerId:e().min(1),displayName:e().min(1),supportedLocationTypes:r($).readonly(),configSchema:v()}),Go=t({ok:d(),error:e().optional()}),Ko=t({location:T,relativePath:e(),sizeBytes:a().optional()}),jo=t({uploadId:e()}),Zo=t({uploadId:e(),offset:a(),data:P(Uint8Array)}),$o=t({uploadId:e()}),Qo=t({uploadId:e()}),Yo=t({location:T,relativePath:e()}),Jo=t({downloadId:e(),sizeBytes:a()}),Xo=t({downloadId:e(),offset:a(),length:a()}),es=t({downloadId:e()}),Rl={name:"storage-provider",scope:"system",mode:"collection",internal:!0,methods:{getProviderInfo:i(c(),Vo),testLocation:i(t({config:y(e(),v())}),Go,{auth:"admin"}),resolve:i(t({location:T,relativePath:e()}),e()),write:i(t({location:T,relativePath:e(),data:P(Uint8Array)}),c(),{kind:"mutation"}),read:i(t({location:T,relativePath:e()}),P(Uint8Array)),exists:i(t({location:T,relativePath:e()}),d()),list:i(t({location:T,prefix:e().optional()}),r(e()).readonly()),delete:i(t({location:T,relativePath:e()}),c(),{kind:"mutation"}),getAvailableSpace:i(t({location:T}),a().nullable()),beginUpload:i(Ko,jo,{kind:"mutation"}),writeChunk:i(Zo,c(),{kind:"mutation"}),finalizeUpload:i($o,c(),{kind:"mutation"}),abortUpload:i(Qo,c(),{kind:"mutation"}),beginDownload:i(Yo,Jo,{kind:"mutation"}),readChunk:i(Xo,P(Uint8Array)),endDownload:i(es,c(),{kind:"mutation"})}},ts=t({subId:e(),displayName:e(),description:e().optional(),kind:e(),triggerSupported:d(),restoreSupported:d()}),as=ts.extend({id:e(),addonId:e(),enabled:d(),retentionCount:a(),label:e().optional(),lastSuccessAt:a().optional(),lastSuccessSizeBytes:a().optional(),cron:e().optional(),nextRunAt:a().optional(),lastRunAt:a().optional()}),ns=t({id:e(),filename:e(),createdAt:a(),sizeBytes:a(),label:e().optional(),locations:r(e()).readonly()}),ma=t({id:e(),destinationId:e().optional(),label:e().optional(),createdAt:a(),sizeBytes:a(),locations:r(e()).optional()}),is=t({path:e(),kind:g(["file","dir","symlink"]),sizeBytes:a(),mtime:a()}),os=t({archiveVersion:b(1),createdAt:a(),dataDir:e(),locations:r(e()),entries:r(is),totalBytes:a(),totalFiles:a()}),ss=t({name:e(),sizeBytes:a(),fileCount:a(),present:d()}),xl={name:"backup",scope:"system",mode:"singleton",methods:{listDestinations:i(c(),r(as).readonly(),{auth:"admin"}),trigger:i(t({destinations:r(e()).optional(),locations:r(e()).optional(),label:e().optional()}).optional(),r(ma).readonly(),{kind:"mutation",auth:"admin"}),list:i(c(),r(ma).readonly(),{auth:"admin"}),listLocations:i(c(),r(ss).readonly(),{auth:"admin"}),getEntries:i(t({destinationId:e(),backupId:e()}),os.nullable(),{auth:"admin"}),restore:i(t({destinationId:e(),backupId:e(),locations:r(e()).optional()}),c(),{kind:"mutation",auth:"admin"}),delete:i(t({destinationId:e(),backupId:e()}),c(),{kind:"mutation",auth:"admin"}),listArchives:i(t({destinationId:e()}),r(ns).readonly(),{auth:"admin"}),upsertDestinationPolicy:i(t({locationId:e(),enabled:d(),retentionCount:a().int().min(1).max(1e3),label:e().optional(),cron:e().optional()}),c(),{kind:"mutation",auth:"admin"}),previewSchedule:i(t({cron:e(),count:a().int().min(1).max(20).optional()}),t({ok:d(),error:e().optional(),nextRuns:r(a()).readonly()}))}},pa=t({where:y(e(),v()).optional(),whereIn:y(e(),r(v())).optional(),whereBetween:y(e(),vt([v(),v()])).optional(),orderBy:t({field:e(),direction:g(["asc","desc"])}).optional(),limit:a().optional(),offset:a().optional()}),ga=t({id:e(),data:y(e(),v())}),rs=t({name:e(),type:g(["TEXT","INTEGER","REAL","JSON","BOOLEAN"]),primaryKey:d().optional(),notNull:d().optional(),unique:d().optional()}),ds=t({name:e(),columns:r(e()).readonly(),unique:d().optional()}),Ol={name:"settings-store",scope:"system",mode:"singleton",methods:{get:i(t({namespace:e().optional(),collection:e(),key:e()}),v()),set:i(t({namespace:e().optional(),collection:e(),key:e(),value:v()}),c(),{kind:"mutation"}),query:i(t({namespace:e().optional(),collection:e(),filter:pa.optional()}),r(ga).readonly()),insert:i(t({namespace:e().optional(),collection:e(),record:ga}),c(),{kind:"mutation"}),update:i(t({namespace:e().optional(),collection:e(),id:e(),data:y(e(),v())}),c(),{kind:"mutation"}),delete:i(t({namespace:e().optional(),collection:e(),key:e()}),c(),{kind:"mutation"}),count:i(t({namespace:e().optional(),collection:e(),filter:pa.optional()}),a()),isEmpty:i(t({namespace:e().optional(),collection:e()}),d()),declareCollection:i(t({namespace:e().optional(),collection:e(),columns:r(rs).readonly(),indexes:r(ds).readonly().optional()}),c(),{kind:"mutation"})}},sn=g(["debug","info","warn","error"]),ha=t({timestamp:Ke(),level:sn,scope:r(e()),message:e(),meta:y(e(),v()).optional(),tags:y(e(),e()).optional()}),Ll={name:"log-destination",scope:"system",mode:"collection",internal:!0,methods:{write:i(ha,c(),{kind:"mutation"}),query:i(t({scope:r(e()).optional(),level:sn.optional(),since:Ke().optional(),until:Ke().optional(),limit:a().optional(),tags:y(e(),e()).optional()}),r(ha).readonly())}},cs=t({staticDir:e()}),ls=t({version:e()}),zl={name:"admin-ui",scope:"system",mode:"singleton",internal:!0,methods:{getStaticDir:i(c(),cs),getVersion:i(c(),ls)}},me=g(["view","create","delete"]),rn=q([b("*"),r(e())]),dn=y(e(),q([b("*"),r(e())])),us=g(["device","system"]),B=re("type",[t({type:b("category"),target:us,access:r(me).min(1)}),t({type:b("capability"),target:e(),access:r(me).min(1)}),t({type:b("addon"),target:e(),access:r(me).min(1)}),t({type:b("device"),targets:r(e()).min(1),access:r(me).min(1)})]),Nl=t({id:e(),username:e(),passwordHash:e(),isAdmin:d().default(!1),allowedProviders:rn,allowedDevices:dn,scopes:r(B).default([]),createdAt:a(),updatedAt:a()}),Ul=t({id:e(),label:e(),isAdmin:d().default(!1),allowedProviders:rn,allowedDevices:dn,tokenHash:e(),tokenPrefix:e(),createdAt:a(),lastUsedAt:a().optional()}),Fl=t({id:e(),userId:e(),name:e(),tokenHash:e(),tokenPrefix:e(),scopes:r(B),expiresAt:a().nullish(),lastUsedAt:a().nullish(),createdAt:a()}),va=t({userId:e(),username:e(),isAdmin:d(),provider:e(),email:e().optional(),displayName:e().optional(),hubUrl:e().optional(),scopes:r(B).optional(),redirectUri:e().optional(),integrationId:e().optional(),jti:e().optional(),sessionId:e().optional()}),_l={name:"sso-bridge",scope:"system",mode:"singleton",internal:!0,methods:{signBridgeToken:i(t({claims:va,ttlSec:a().int().positive().optional()}),t({token:e()})),verifyBridgeToken:i(t({token:e()}),va.nullable())}},ms=t({integrationId:e(),displayName:e(),requestedScopes:r(B),allowedRedirectPrefixes:r(e()).min(1),hubUrl:e().optional()}),Hl={name:"oauth-integration",scope:"system",mode:"collection",internal:!0,methods:{getDescriptor:i(c(),ms)}},ps=t({credentialId:e(),label:e(),createdAt:a(),lastUsedAt:a().nullable(),transports:r(e()).default([])}),Wl={name:"user-passkeys",scope:"system",mode:"collection",internal:!0,methods:{beginRegistration:i(t({userId:e(),username:e()}),t({optionsJSON:y(e(),v())}),{kind:"mutation",auth:"admin",access:"create"}),finishRegistration:i(t({userId:e(),response:y(e(),v()),label:e()}),t({success:b(!0),credentialId:e()}),{kind:"mutation",auth:"admin",access:"create"}),beginAuthentication:i(t({userId:e().optional()}),t({optionsJSON:y(e(),v())}),{kind:"mutation",access:"view"}),finishAuthentication:i(t({userId:e(),response:y(e(),v())}),t({verified:d()}),{kind:"mutation",access:"view"}),listPasskeys:i(t({userId:e()}),r(ps),{auth:"admin"}),removePasskey:i(t({userId:e(),credentialId:e()}),t({success:b(!0)}),{kind:"mutation",auth:"admin",access:"delete"})}},Z=Ln(),gs=t({to:q([Z,r(Z).min(1)]),cc:r(Z).optional(),bcc:r(Z).optional(),from:e().optional(),replyTo:e().optional(),subject:e(),text:e(),html:e().optional()}),hs=t({messageId:e(),accepted:r(Z).default([]),rejected:r(Z).default([])}),ya=t({ready:d(),host:e(),error:e().optional(),lastVerifiedAt:a().optional()}),Vl={name:"smtp-provider",scope:"system",mode:"collection",internal:!0,providerKind:"email",methods:{sendEmail:i(gs,hs,{kind:"mutation",auth:"admin",access:"create"}),verify:i(c(),ya,{kind:"mutation",auth:"admin",access:"view"}),getStatus:i(c(),ya,{auth:"admin"})}},vs=g(["external","embedded"]),ys=g(["connected","disconnected","auth-failed","unreachable","tls-error"]),Ss=t({id:e(),name:e(),url:e(),kind:vs,status:ys,latencyMs:a().nullable(),error:e().optional(),connectedClients:a().int().nonnegative().optional(),lastCheckedAt:a().optional()}),bs=t({url:e(),username:e().optional(),password:e().optional(),clientIdPrefix:e().optional()}),fs=t({name:e().min(1),url:e().regex(/^(mqtt|mqtts|ws|wss):\/\//,"URL must start with mqtt(s):// or ws(s)://"),username:e().optional(),password:e().optional(),clientIdPrefix:e().optional()}),ks=t({id:e()}),pe=t({id:e()}),Is=re("ok",[t({ok:b(!0),latencyMs:a()}),t({ok:b(!1),error:e()})]),Cs=t({port:a().int().min(1).max(65535).default(1883),allowAnonymous:d().default(!1),username:e().optional(),password:e().optional()}),As=t({id:e(),url:e()}),Sa=t({brokerCount:a(),embeddedRunning:d()}),Gl={name:"mqtt-broker",scope:"system",mode:"collection",providerKind:"broker",status:{schema:Sa,kind:"poll"},methods:{listBrokers:i(c(),r(Ss)),getBrokerConfig:i(pe,bs),addBroker:i(fs,ks,{kind:"mutation"}),removeBroker:i(pe,c(),{kind:"mutation"}),testConnection:i(pe,Is,{kind:"mutation"}),startEmbeddedBroker:i(Cs,As,{kind:"mutation"}),stopEmbeddedBroker:i(pe,c(),{kind:"mutation"}),getStatus:i(c(),Sa)}},ws=g(["unlinked","linked","error"]),Ps=t({label:e(),value:e(),secret:d().optional()}),Ds=t({qr:e().optional(),fields:r(Ps).readonly().optional(),note:e().optional()}),ba=t({linkState:ws,exposedDeviceCount:a(),error:e().optional(),setup:Ds.optional()}),Ms=e(),Es=t({deviceId:e(),exposedAs:e().optional(),capabilities:r(e()).optional()}),qs=t({deviceId:e(),capabilities:r(e()).optional()}),Ts=t({deviceId:e()}),Kl={name:"device-export",scope:"system",mode:"collection",providerKind:"device-export",status:{schema:ba,kind:"poll"},exposesDeviceSettings:!0,methods:{getStatus:i(c(),ba),listSupportedDeviceKinds:i(c(),r(Ms)),listExposedDevices:i(c(),r(Es)),exposeDevice:i(qs,c(),{kind:"mutation"}),unexposeDevice:i(Ts,c(),{kind:"mutation"})}},Bs=t({id:e(),label:e(),icon:e(),path:e(),remoteName:e(),bundle:e()}),Rs=t({addonId:e(),page:Bs,bundleUrl:e()}),jl={name:"addon-pages",scope:"system",mode:"singleton",methods:{listPages:i(c(),r(Rs).readonly())}},xs=t({id:e(),label:e(),icon:e(),path:e(),remoteName:e(),bundle:e()}),Zl={name:"addon-pages-source",scope:"system",mode:"collection",internal:!0,methods:{listPages:i(c(),r(xs).readonly())}},Os=g(["device-tab","dashboard","integration-detail"]),fa=g(["xs","sm","md","lg","xl"]),Ls=t({remoteName:e(),exposedModule:e(),componentKey:e().optional()}),cn=t({tab:e(),subTab:e().optional(),label:e(),order:a().optional(),kind:b("remote"),remote:Ls,stableId:e(),description:e().optional(),icon:e().optional(),bundle:e(),hosts:r(Os).readonly(),requires:t({deviceContext:d().default(!1),integrationContext:d().default(!1)}),defaultSize:fa.default("md"),allowedSizes:r(fa).readonly().default(["sm","md","lg"]),defaultColumns:a().int().min(1).max(12).default(6),defaultRows:a().int().min(1).max(12).default(1)}),$l={name:"addon-widgets-source",scope:"system",mode:"collection",internal:!0,methods:{listWidgets:i(c(),r(cn).readonly())}},zs=cn.extend({addonId:e(),bundleUrl:e()}),Ql={name:"addon-widgets",scope:"system",mode:"singleton",methods:{listWidgets:i(c(),r(zs).readonly())}},Ns=t({method:g(["GET","POST","PUT","DELETE","PATCH"]),path:e(),access:g(["public","authenticated","admin"]).optional(),description:e().optional()}),Us=t({method:e(),path:e(),params:y(e(),e()),query:y(e(),e()),body:v(),headers:y(e(),e()),user:t({id:e(),username:e(),isAdmin:d()}).optional(),scopedToken:v().optional()}),Fs=t({status:a().int(),headers:y(e(),e()),redirectUrl:e().nullable(),body:v().optional(),contentType:e().optional()}),Yl={name:"addon-routes",scope:"system",mode:"collection",internal:!0,methods:{getRoutes:i(c(),r(Ns)),invoke:i(Us,Fs,{kind:"mutation"})}},Jl=[{value:"auto",label:"Auto (defer to probed best)"},{value:"none",label:"Off (software)"},{value:"videotoolbox",label:"VideoToolbox (macOS)"},{value:"cuda",label:"CUDA (NVIDIA)"},{value:"nvdec",label:"NVDEC (NVIDIA legacy)"},{value:"vaapi",label:"VAAPI (Linux Intel/AMD)"},{value:"qsv",label:"QuickSync (Intel)"},{value:"d3d11va",label:"D3D11VA (Windows)"},{value:"dxva2",label:"DXVA2 (Windows legacy)"},{value:"amf",label:"AMF (AMD)"},{value:"vdpau",label:"VDPAU (Linux NVIDIA legacy)"},{value:"drm",label:"DRM (Linux generic)"}],Xl={hwaccel:"auto",probedBestHwaccel:""},_s=t({sessionId:e(),slotCount:a().int(),slotByteLength:a().int(),segmentBytes:a().int(),budgetMb:a().int(),framesWritten:a().int(),getFrameHits:a().int(),getFrameMisses:a().int()}),eu={name:"decoder",scope:"system",mode:"singleton",methods:{supportsCodec:i(t({codec:e()}),d()),getInfo:i(c(),t({id:e(),name:e(),isPullMode:d().optional(),priority:a().optional()})),createSession:i(Zt,t({sessionId:e(),nodeId:e()})),destroySession:i(t({sessionId:e()}),c()),pushPacket:i(t({sessionId:e(),packet:di}),c()),openStream:i(t({sessionId:e(),url:e()}),c()),pullFrames:i(t({sessionId:e(),maxCount:a().default(1)}),r(Jt)),pullHandles:i(t({sessionId:e(),maxCount:a().default(1)}),r(Qe)),getFrame:i(t({handle:Qe}),Jt.nullable()),getShmStats:i(t({sessionId:e()}),_s.nullable()),updateConfig:i(t({sessionId:e(),config:Zt.partial()}),c()),getStats:i(t({sessionId:e()}),Gn),listActiveSessions:i(c(),r(t({sessionId:e(),codec:e(),outputFormat:e(),createdAtMs:a()})).readonly()),reprobeHwaccel:i(c(),t({backend:e()}),{kind:"mutation",auth:"admin"})}},Hs=t({streamId:e(),label:e().optional(),codec:e(),type:g(["video","audio"]),sourceUrl:e()}),Ws=t({streamId:e(),format:e(),value:e()}),tu={name:"restreamer",scope:"system",mode:"collection",internal:!0,methods:{registerDevice:i(t({deviceId:a(),streams:r(Hs).readonly()}),c(),{kind:"mutation"}),unregisterDevice:i(t({deviceId:a()}),c(),{kind:"mutation"}),getExposedResources:i(t({deviceId:a()}),r(Ws).readonly())}},ln=t({viewportWidth:a().int().positive().optional(),viewportHeight:a().int().positive().optional(),devicePixelRatio:a().positive().optional(),downlinkMbps:a().nonnegative().optional(),prefersTier:e().optional()}).partial(),au={name:"webrtc",scope:"system",mode:"collection",internal:!0,methods:{handleOffer:i(t({streamId:e(),sdpOffer:e()}),e(),{kind:"mutation"}),supportsStream:i(t({streamId:e()}),d()),registerStream:i(t({streamId:e(),codec:e()}),c(),{kind:"mutation"}),unregisterStream:i(t({streamId:e()}),c(),{kind:"mutation"}),createSession:i(t({streamId:e(),hints:ln.optional()}),t({sessionId:e(),sdpOffer:e()}),{kind:"mutation"}),handleAnswer:i(t({sessionId:e(),sdpAnswer:e()}),c(),{kind:"mutation"}),closeSession:i(t({sessionId:e()}),c(),{kind:"mutation"}),hasAdaptiveBitrate:i(t({streamId:e()}),d())}},st=re("kind",[t({kind:b("adaptive")}),t({kind:b("profile"),profile:H}),t({kind:b("cam-stream"),camStreamId:e().min(1)})]),Vs=t({id:e(),label:e(),target:st,codec:e().nullable(),resolution:t({width:a(),height:a()}).nullable(),status:g(["idle","connecting","streaming","error","stopped"]).nullable(),inputFps:a().nullable(),decodeFps:a().nullable(),bitrateKbps:a().nullable()}),nu={name:"webrtc-session",scope:"device",mode:"singleton",kind:"wrapper",defaultActive:!0,deviceTypes:[C.Camera],methods:{listStreams:i(t({deviceId:a().int().nonnegative()}),r(Vs)),createSession:i(t({deviceId:a().int().nonnegative(),target:st,hints:ln.optional(),relayOnly:d().optional()}),t({sessionId:e(),sdpOffer:e()}),{kind:"mutation"}),handleOffer:i(t({deviceId:a().int().nonnegative(),target:st.optional(),sdpOffer:e(),sessionId:e().optional(),relayOnly:d().optional()}),t({sessionId:e(),sdpAnswer:e()}),{kind:"mutation"}),handleAnswer:i(t({deviceId:a().int().nonnegative(),sessionId:e(),sdpAnswer:e()}),c(),{kind:"mutation"}),addIceCandidate:i(t({deviceId:a().int().nonnegative(),sessionId:e(),candidate:e(),sdpMid:e().nullable().optional(),sdpMLineIndex:a().int().nullable().optional()}),c(),{kind:"mutation"}),getIceCandidates:i(t({deviceId:a().int().nonnegative(),sessionId:e()}),t({candidates:r(t({candidate:e(),sdpMid:e().nullable(),sdpMLineIndex:a().int().nullable()})),done:d()}),{kind:"query"}),closeSession:i(t({deviceId:a().int().nonnegative(),sessionId:e()}),c(),{kind:"mutation"}),hasAdaptiveBitrate:i(t({deviceId:a().int().nonnegative(),profile:H}),d())}},Se=t({engine:E,steps:r(Q).readonly(),audio:t({engine:E,modelId:e(),enabled:d(),settings:y(e(),v()).readonly().optional()}).nullable().optional()}),ze=t({id:e(),name:e(),description:e().optional(),config:Se,createdAt:e(),updatedAt:e()}),un=t({enabled:d(),modelId:e(),settings:y(e(),v()).readonly()}),ka=t({addonDefaults:y(e(),un).readonly()}),mn=t({steps:r(Q).readonly(),audio:t({modelId:e(),enabled:d()}).nullable()}),rt=t({enabled:d().optional(),modelId:e().optional(),settings:y(e(),v()).readonly().optional()}),Gs=t({pinnedAgentNodeId:e().optional(),stepToggles:y(e(),d()).optional(),stepOverridesByAgent:y(e(),y(e(),rt)).optional(),pipelineByAgent:y(e(),mn).optional()}),Ia=t({deviceId:a(),agentNodeId:e(),pinned:d(),reason:g(["manual","capacity","hardware-affinity","failover","rebalance"]),assignedAt:a()}),Ca=t({deviceId:a(),decoderNodeId:e(),pinned:d(),reason:g(["manual","co-located","capacity","hardware-affinity"])}),Ks=t({nodeId:e(),online:d(),load:ja,score:a()}),js=t({totalAgents:a(),onlineAgents:a(),totalCameras:a(),attachedCameras:a(),activeCameras:a(),avgInferenceTimeMs:a(),queueDepth:a()}),Zs=y(e(),e()),iu={name:"pipeline-orchestrator",scope:"system",mode:"singleton",exposesDeviceSettings:!0,methods:{assignPipeline:i(t({deviceId:a(),agentNodeId:e()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),unassignPipeline:i(t({deviceId:a()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),rebalance:i(c(),t({migrated:a()}),{kind:"mutation",auth:"admin"}),getPipelineAssignments:i(c(),r(Ia).readonly()),getPipelineAssignment:i(t({deviceId:a()}),Ia.nullable()),getAgentLoad:i(c(),r(Ks).readonly()),getGlobalMetrics:i(c(),js),getCameraMetrics:i(t({deviceId:a()}),ft.nullable()),getCapabilityBindings:i(t({nodeId:e()}),Zs),setCapabilityBinding:i(t({nodeId:e(),capName:e(),addonId:e()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),assignDecoder:i(t({deviceId:a(),nodeId:e()}),c(),{kind:"mutation",auth:"admin"}),unassignDecoder:i(t({deviceId:a()}),c(),{kind:"mutation",auth:"admin"}),getDecoderAssignments:i(c(),r(Ca).readonly()),assignAudio:i(t({deviceId:a(),nodeId:e()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),unassignAudio:i(t({deviceId:a()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),getAudioAssignment:i(t({deviceId:a()}),t({nodeId:e(),pinned:d(),assignedAt:a()}).nullable()),getAudioNodeLoad:i(c(),r(t({nodeId:e(),deviceCount:a()}))),getAudioAssignments:i(c(),r(t({deviceId:a(),nodeId:e(),pinned:d(),assignedAt:a()}))),getDecoderAssignment:i(t({deviceId:a(),pipelineNodeId:e().optional()}),Ca),getAgentSettings:i(t({agentNodeId:e()}),ka.nullable()),listAgentSettings:i(c(),r(t({nodeId:e(),settings:ka})).readonly()),setAgentAddonDefaults:i(t({agentNodeId:e(),defaults:y(e(),un)}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),removeAgentSettings:i(t({agentNodeId:e()}),t({success:d(),removed:d()}),{kind:"mutation",auth:"admin"}),getCameraSettings:i(t({deviceId:a()}),Gs.nullable()),setCameraStepToggle:i(t({deviceId:a(),addonId:e(),enabled:d().nullable()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),getCameraStepOverrides:i(t({deviceId:a()}),y(e(),y(e(),rt)).nullable()),setCameraStepOverride:i(t({deviceId:a(),agentNodeId:e(),addonId:e(),patch:rt.nullable()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),setCameraPipelineForAgent:i(t({deviceId:a(),agentNodeId:e(),pipeline:mn.nullable()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),resolvePipeline:i(t({deviceId:a(),agentNodeId:e().optional()}),Se),listTemplates:i(c(),r(ze).readonly()),saveTemplate:i(t({name:e(),description:e().optional(),config:Se}),ze,{kind:"mutation",auth:"admin"}),updateTemplate:i(t({id:e(),name:e().optional(),description:e().optional(),config:Se.optional()}),ze,{kind:"mutation",auth:"admin"}),deleteTemplate:i(t({id:e()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"})}},$s=t({level:qi,classification:t({labels:r(Xe).readonly(),inferenceMs:a()}).optional(),timestamp:a()}),Qs=t({minConfidence:a().min(0).max(1).default(.3),allowedClasses:r(e()).default([])}),Ys=t({labels:r(Xe).readonly(),rawLabels:r(Xe).readonly().optional(),inferenceMs:a()}),ou=[{value:"auto",label:"Auto (platform default)"},{value:"apple-soundanalysis",label:"Apple SoundAnalysis (macOS 12+)"},{value:"yamnet-onnx",label:"YAMNet ONNX (cross-platform)"}],su={audioBackend:"auto",probedBestAudioBackend:"",selectedAudioModel:""},ru={name:"audio-analyzer",scope:"system",mode:"singleton",methods:{analyseChunk:i(t({chunk:ta,settings:Qs}),$s.nullable(),{kind:"mutation"}),classify:i(ta,Ys,{timeoutMs:3e4}),isReady:i(c(),d()),dispose:i(c(),c(),{kind:"mutation"}),reprobeAudioEngine:i(c(),t({backend:e()}),{kind:"mutation",auth:"admin"})}},du={name:"audio-analysis",scope:"device",mode:"singleton",kind:"wrapper",defaultActive:!0,deviceTypes:[C.Camera],exposesDeviceSettings:!0,methods:{resolveDeviceSettings:i(t({deviceId:a()}),x())},events:{onAudioLevel:G(t({deviceId:a(),rms:a(),dbfs:a()}))}},we=g(["f32le","s16le"]),Js=t({codec:e(),canDecode:d(),canEncode:d(),label:e().optional()}),Xs=t({codec:e(),sourceSampleRate:a().int().positive(),sourceChannels:a().int().positive(),extraData:P(Uint8Array).optional(),targetSampleRate:a().int().positive(),targetChannels:a().int().positive(),targetFormat:we.optional(),idleMs:a().int().positive().optional(),tag:e().optional()}),er=t({codec:e(),sourceSampleRate:a().int().positive(),sourceChannels:a().int().positive(),sourceFormat:we.optional(),targetSampleRate:a().int().positive(),targetChannels:a().int().positive(),bitrateKbps:a().int().positive().optional(),idleMs:a().int().positive().optional(),tag:e().optional()}),tr=t({data:P(Uint8Array),sampleRate:a().int().positive(),channels:a().int().positive(),format:we,pts:a()}),Aa=t({data:P(Uint8Array),codec:e(),pts:a(),frameComplete:d()}),ar=t({sessionId:e(),kind:g(["decode","encode"]),codec:e(),sourceSampleRate:a(),sourceChannels:a(),targetSampleRate:a(),targetChannels:a(),format:we,tag:e().optional(),createdAtMs:a(),lastActivityMs:a(),framesIn:a(),framesOut:a()}),cu={name:"audio-codec",scope:"system",mode:"singleton",methods:{listSupportedCodecs:i(c(),r(Js).readonly()),canHandle:i(t({codec:e(),kind:g(["decode","encode"])}),d()),createDecodeSession:i(Xs,t({sessionId:e(),nodeId:e()}),{kind:"mutation"}),createEncodeSession:i(er,t({sessionId:e(),nodeId:e()}),{kind:"mutation"}),closeSession:i(t({sessionId:e(),nodeId:e().optional()}),c(),{kind:"mutation"}),pushEncodedFrame:i(t({sessionId:e(),nodeId:e().optional(),data:P(Uint8Array),pts:a().optional()}),c(),{kind:"mutation"}),pullPcm:i(t({sessionId:e(),nodeId:e().optional(),maxCount:a().int().positive().default(8)}),r(tr)),pushPcm:i(t({sessionId:e(),nodeId:e().optional(),data:P(Uint8Array),pts:a().optional()}),c(),{kind:"mutation"}),pullEncoded:i(t({sessionId:e(),nodeId:e().optional(),maxCount:a().int().positive().default(8)}),r(Aa)),flushEncode:i(t({sessionId:e(),nodeId:e().optional()}),r(Aa),{kind:"mutation"}),listActiveSessions:i(c(),r(ar).readonly())}},wa=t({embedding:r(a()),inferenceMs:a()}),nr=t({modelId:e(),embeddingDim:a(),ready:d()}),lu={name:"embedding-encoder",scope:"system",mode:"collection",internal:!0,methods:{encode:i(t({crop:P(Uint8Array),width:a(),height:a()}),wa),encodeText:i(t({text:e()}),wa),getInfo:i(c(),nr)}},Ne=t({id:a(),stableId:e(),addonId:e(),type:g(C),name:e(),location:e().nullable(),disabled:d(),parentDeviceId:a().nullable(),role:e().nullable().optional(),online:d(),features:r(e()),isCamera:d(),config:y(e(),v()),metadata:y(e(),v()).nullable().optional()}),ir=t({key:e(),value:v(),description:e().optional()}),or=t({id:a(),stableId:e(),type:e(),name:e(),location:e().nullable(),disabled:d(),parentDeviceId:a().nullable(),role:e().nullable().optional()}),sr=t({id:a(),stableId:e(),addonId:e(),type:e(),name:e(),location:e().nullable(),disabled:d(),parentDeviceId:a().nullable(),metadata:y(e(),v()).nullable().optional()}),rr=v().nullable(),dr=t({streamId:e(),width:a().optional(),height:a().optional(),codec:e().optional(),fps:a().optional(),bitrateKbps:a().optional()}),cr=t({addonId:e(),stableId:e(),id:a(),type:e(),name:e(),location:e().nullable().optional(),disabled:d().optional(),parentDeviceId:a().nullable(),role:e().nullable().optional(),features:r(e()).optional(),config:y(e(),v())}),lr=t({deviceId:a()}),ur=t({deviceId:a(),data:y(e(),v())}),uu={name:"device-manager",scope:"system",mode:"singleton",methods:{allocateDeviceId:i(t({addonId:e(),stableId:e()}),t({id:a()}),{kind:"mutation"}),registerDevice:i(cr,c(),{kind:"mutation"}),removeDevice:i(lr,c(),{kind:"mutation"}),persistConfig:i(ur,c(),{kind:"mutation"}),loadConfig:i(t({deviceId:a()}),y(e(),v())),loadRuntimeState:i(t({deviceId:a()}),y(e(),v())),loadMeta:i(t({deviceId:a()}),sr.nullable()),setName:i(t({deviceId:a(),name:e()}),c(),{kind:"mutation",auth:"admin"}),setLocation:i(t({deviceId:a(),location:e().nullable()}),c(),{kind:"mutation",auth:"admin"}),setMetadata:i(t({deviceId:a(),patch:y(e(),v())}),c(),{kind:"mutation",auth:"admin"}),listLocations:i(c(),r(e())),addLocation:i(t({name:e()}),c(),{kind:"mutation",auth:"admin"}),removeLocation:i(t({name:e(),cascade:d().optional()}),c(),{kind:"mutation",auth:"admin"}),setDisabled:i(t({deviceId:a(),disabled:d()}),c(),{kind:"mutation",auth:"admin"}),listPersistedByAddon:i(t({addonId:e()}),r(or)),listAll:i(t({addonId:e().optional()}),r(Ne)),getDevice:i(t({deviceId:a()}),Ne.nullable()),getChildren:i(t({parentDeviceId:a()}),r(Ne)),getStreamSources:i(t({deviceId:a()}),r(ri)),getConfigSchema:i(t({deviceId:a()}),r(ir)),getSettingsSchema:i(t({deviceId:a()}),rr),updateConfig:i(t({deviceId:a(),values:y(e(),v())}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),enable:i(t({deviceId:a()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),disable:i(t({deviceId:a()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),remove:i(t({deviceId:a()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),getStreamProfileMap:i(t({deviceId:a()}),y(e(),e().nullable())),setStreamProfileMap:i(t({deviceId:a(),profileMap:y(e(),e().nullable())}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),probeStreams:i(t({deviceId:a()}),r(dr),{kind:"mutation",auth:"admin"}),getBindings:i(t({deviceId:a()}),t({deviceId:a(),entries:r(t({capName:e(),kind:g(["native","wrapped"]),providerAddonId:e(),providerNodeId:e(),nativeAddonId:e()}))})),getAllBindings:i(t({}),r(t({deviceId:a(),entries:r(t({capName:e(),kind:g(["native","wrapped"]),providerAddonId:e(),providerNodeId:e(),nativeAddonId:e()}))}))),setWrapperActive:i(t({deviceId:a(),capName:e(),wrapperAddonId:e(),active:d()}),c(),{kind:"mutation",auth:"admin"}),listWrappersForCap:i(t({capName:e()}),r(e())),listBindableCapsForDeviceType:i(t({deviceType:e()}),r(t({capName:e(),wrappers:r(e())}))),getDeviceSettingsAggregate:i(t({deviceId:a()}),j.nullable()),getDeviceLiveInfoAggregate:i(t({deviceId:a()}),j.nullable()),getDeviceAggregate:i(t({deviceId:a()}),t({settings:j.nullable(),live:j.nullable()})),updateDeviceField:i(t({deviceId:a(),writerCapName:e(),writerAddonId:e(),key:e(),value:v()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),updateDeviceFieldsBatch:i(t({deviceId:a(),changes:r(t({writerCapName:e(),writerAddonId:e(),key:e(),value:v()}))}),t({success:b(!0),failures:r(t({writerCapName:e(),writerAddonId:e(),error:e()}))}),{kind:"mutation",auth:"admin"}),discoverDevices:i(t({addonId:e()}),r(ke),{kind:"mutation",auth:"admin"}),adoptDevice:i(t({addonId:e(),candidate:ke}),Ie,{kind:"mutation",auth:"admin"}),getCreationSchema:i(t({addonId:e(),type:g(C)}),v().nullable()),createDevice:i(t({addonId:e(),type:g(C),config:y(e(),v())}),Ie,{kind:"mutation",auth:"admin"}),testCreationField:i(t({addonId:e(),type:g(C),key:e(),value:v(),formValues:y(e(),v()).optional()}),ot,{kind:"mutation",auth:"admin"}),testField:i(t({deviceId:a(),key:e(),value:v()}),ot,{kind:"mutation",auth:"admin"}),getDeviceStatusAggregate:i(t({deviceId:a(),caps:r(e()).readonly().optional()}),y(e(),v().nullable()))}},mu={name:"device-state",scope:"system",mode:"singleton",methods:{getSnapshot:i(t({deviceId:a()}),y(e(),y(e(),v()))),getCapSlice:i(t({deviceId:a(),capName:e()}),y(e(),v()).nullable()),getAllSnapshots:i(t({}),y(e(),y(e(),y(e(),v())))),setCapSlice:i(t({deviceId:a(),capName:e(),slice:y(e(),v())}),c(),{kind:"mutation"})},events:{onChanged:G(t({deviceId:a(),capName:e(),slice:y(e(),v())}))}},Ue=t({userId:e(),username:e(),email:e().optional(),displayName:e().optional(),isAdmin:d().default(!1)}),pu={name:"auth-provider",scope:"system",mode:"collection",internal:!0,methods:{validateCredentials:i(t({username:e(),password:e()}),Ue.nullable(),{kind:"mutation"}),getLoginUrl:i(t({state:e()}),e()),handleCallback:i(y(e(),e()),Ue,{kind:"mutation"}),validateToken:i(t({token:e()}),Ue.nullable())}},Ce=t({url:e(),hostname:e(),port:a(),protocol:g(["http","https"])}),mr=t({connected:d(),endpoint:Ce.nullable(),error:e().optional()}),pr=Ce.extend({id:e(),label:e(),mode:e().optional(),sourcePort:a().optional()}),gu={name:"network-access",scope:"system",mode:"collection",providerKind:"ingress",methods:{start:i(c(),Ce,{kind:"mutation"}),stop:i(c(),c(),{kind:"mutation"}),getEndpoint:i(c(),Ce.nullable()),getStatus:i(c(),mr),listEndpoints:i(c(),r(pr).readonly())}},gr=t({urls:q([e(),r(e())]),username:e().optional(),credential:e().optional()}),hu={name:"turn-provider",scope:"system",mode:"collection",methods:{getTurnServers:i(c(),r(gr).readonly())}},pn=t({base64:e(),contentType:e()}),hr=t({lastCapturedAt:a().nullable(),cacheAgeMs:a().nullable(),lastBytes:a().nullable(),lastStreamId:e().nullable()}),vu={name:"snapshot",scope:"device",mode:"singleton",kind:"wrapper",defaultActive:!0,deviceTypes:[C.Camera],exposesDeviceSettings:!0,methods:{getSnapshot:i(t({deviceId:a(),streamId:e().optional(),force:d().optional()}),pn.nullable()),invalidateCache:i(t({deviceId:a()}),c(),{kind:"mutation",auth:"admin"})},status:{schema:hr,kind:"poll"}},yu={name:"snapshot-provider",scope:"system",mode:"collection",methods:{supportsDevice:i(t({deviceId:a()}),d()),getSnapshot:i(t({deviceId:a(),streamId:e().optional()}),pn.nullable())}},vr=t({title:e(),body:e(),imageUrl:e().optional(),deviceId:a().optional(),eventId:e().optional(),priority:g(["low","normal","high","critical"]).default("normal"),metadata:y(e(),v()).optional()}),Su={name:"notification-output",scope:"system",mode:"collection",methods:{send:i(vr,c(),{kind:"mutation"}),sendTest:i(c(),t({success:d(),error:e().optional()}),{kind:"mutation"})}},yr=t({deviceIds:r(a()).readonly().optional(),classNames:r(e()).readonly().optional(),zoneIds:r(e()).readonly().optional(),minConfidence:a().optional(),source:g(["pipeline","onboard","any"]).optional(),schedule:t({days:r(a()).readonly(),startHour:a(),endHour:a()}).optional(),cooldownSeconds:a().optional(),minDwellSeconds:a().optional()}),Sr=t({title:e(),body:e(),imageMode:g(["crop","annotated","full","none"])}),Pa=t({id:e(),name:e(),enabled:d(),eventTypes:r(e()).readonly(),conditions:yr,outputs:r(e()).readonly(),template:Sr.optional(),priority:g(["low","normal","high","critical"])}),br=t({ruleId:e(),eventId:e(),timestamp:a(),wouldFire:d(),reason:e().optional()}),fr=t({id:e(),ruleId:e(),ruleName:e(),eventId:e(),timestamp:a(),outputs:r(e()).readonly(),success:d(),error:e().optional(),deviceId:a().optional()}),kr=t({ruleId:e().optional(),deviceId:a().optional(),from:a().optional(),to:a().optional(),limit:a().optional()}),bu={name:"advanced-notifier",scope:"system",mode:"singleton",internal:!0,methods:{getRules:i(c(),t({rules:r(Pa).readonly()})),upsertRule:i(t({rule:Pa}),t({success:b(!0)}),{kind:"mutation"}),deleteRule:i(t({ruleId:e()}),t({success:b(!0)}),{kind:"mutation"}),testRule:i(t({ruleId:e(),lookbackMinutes:a()}),t({results:r(br).readonly()}),{kind:"mutation"}),getHistory:i(t({filter:kr.optional()}),t({entries:r(fr).readonly()}))}},gn=g(["continuous","motion","scheduled","composite"]),Ir=t({streamId:e(),mode:g(["always","inherit"])}),Cr=t({days:r(a()).readonly(),startTime:e(),endTime:e(),mode:g(["continuous","motion"])}),se=t({deviceId:a(),mode:gn,streams:r(Ir).readonly(),enabled:d(),preBufferSec:a(),postBufferSec:a(),scheduleRules:r(Cr).readonly().optional()}),hn=g(["recording:main","recording:mid","recording:sub","thumbnail:scrub","thumbnail:event"]),dt=t({deviceId:a(),dataCategory:hn,storageName:e(),subDirectory:e(),retentionDays:a().nullable(),retentionGb:a().nullable()}),Ar=t({id:e(),deviceId:a(),streamId:e(),startTime:a(),endTime:a(),duration:a(),path:e(),storageName:e(),subDirectory:e(),sizeBytes:a(),codec:g(["h264","h265"]),hasAudio:d()}),wr=t({deviceId:a(),timestamp:a(),path:e(),storageName:e(),subDirectory:e(),sizeBytes:a(),category:g(["scrub","event"])}),Pr=t({startTime:a(),endTime:a(),streams:r(e()).readonly()}),Dr=t({totalBytes:a(),segmentCount:a()}),Mr=t({bitrateKbps:a(),retentionDays:a().nullable(),retentionGb:a().nullable(),estimatedGb:a(),estimatedDaysAtCapacity:a().nullable()}),Da=t({perStream:y(e(),Mr),thumbnails:t({estimatedGb:a()}),totalEstimatedGb:a(),motionEstimate:t({avgEventsPerDay:a(),avgDurationSec:a(),dutyCyclePercent:a()}).optional()}),Er=t({totalEvents:a(),avgDurationSec:a(),avgEventsPerDay:a(),dutyCyclePercent:a()}),ge=t({deviceId:a()}),qr=t({deviceId:a(),policy:se.omit({deviceId:!0}),storageOverrides:r(dt.omit({deviceId:!0})).readonly().optional(),ffmpegOverrides:y(e(),v()).optional()}),Ma=t({deviceId:a(),startTime:a(),endTime:a()}),Tr=t({deviceId:a(),streamId:e(),startTime:a(),endTime:a()}),Br=t({deviceId:a(),streamId:e(),startTime:a(),endTime:a(),live:d().optional()}),Rr=t({deviceId:a(),timestamp:a(),category:e().optional()}),xr=t({deviceId:a(),streamId:e()}),Or=t({deviceId:a(),motionInput:t({avgEventsPerDay:a(),avgDurationSec:a()}).optional()}),Lr=t({deviceId:a(),dataCategory:hn}),zr=t({deviceId:a(),policy:se.omit({deviceId:!0})}),Nr=t({deviceId:a(),policy:se.omit({deviceId:!0}),ffmpegOverrides:y(e(),v()).optional()}),fu={name:"recording-engine",scope:"system",mode:"singleton",methods:{getStatus:i(c(),t({activeRecordings:a(),totalSegments:a(),totalSizeMB:a()})),enable:i(qr,c(),{kind:"mutation",auth:"admin"}),disable:i(ge,c(),{kind:"mutation",auth:"admin"}),getConfig:i(ge,se.nullable()),updateConfig:i(Nr,c(),{kind:"mutation",auth:"admin"}),getPlaylist:i(Br,e()),getThumbnail:i(Rr,wr.nullable()),getSegments:i(Tr,r(Ar).readonly()),getAvailability:i(Ma,r(Pr).readonly()),estimateStorage:i(Or,Da),estimateGlobalStorage:i(c(),Da),getStorageUsage:i(xr,Dr),setPolicy:i(zr,c(),{kind:"mutation",auth:"admin"}),getPolicy:i(ge,se.nullable()),getPolicyStatus:i(ge,t({deviceId:a(),enabled:d(),mode:gn,activeStreams:a()}).nullable()),getRetentionConfig:i(Lr,dt.nullable()),updateRetentionConfig:i(dt,c(),{kind:"mutation",auth:"admin"}),getMotionStats:i(Ma,Er)}},ku={name:"detection-pipeline",scope:"device",mode:"singleton",kind:"wrapper",defaultActive:!0,deviceTypes:[C.Camera],exposesDeviceSettings:!0,methods:{}},Iu={name:"camera-pipeline-config",scope:"device",mode:"singleton",kind:"wrapper",defaultActive:!0,deviceTypes:[C.Camera],exposesDeviceSettings:!0,methods:{}},It=g(["new","entered","left","moving","idle"]),Ur=g(["motion","object","audio"]),vn=t({x:a(),y:a(),timestamp:a(),bbox:Y}),Fr=t({timestamp:a(),position:vn,mediaKey:e()}),Fe=t({trackId:e(),deviceId:a(),className:e(),label:e().optional(),firstSeen:a(),lastSeen:a(),positions:r(vn).readonly(),snapshots:r(Fr).readonly(),zonesVisited:r(e()).readonly(),totalDistance:a(),state:It,active:d()}),Ct={id:e(),deviceId:a(),timestamp:a()},_r=t({...Ct,kind:b("motion"),regionCount:a(),regions:r(t({bbox:Y,pixelCount:a(),intensity:a()})).readonly(),frameWidth:a(),frameHeight:a()}),Hr=t({...Ct,kind:b("object"),trackId:e(),className:e(),label:e().optional(),confidence:a(),bbox:Y,zones:r(e()).readonly(),state:It,mediaKey:e().optional()}),Wr=t({...Ct,kind:b("audio"),rms:a(),dbfs:a(),classification:t({className:e(),originalClass:e().optional(),score:a()}).optional()}),Ea=t({key:e(),kind:g(["crop","thumbnail","snapshot"]),base64:e(),sizeBytes:a(),timestamp:a()}),Vr=1e3,Gr=5e3,ct=t({deviceId:a(),since:a().optional(),until:a().optional(),limit:a().int().min(1).max(Gr).default(Vr)}),Kr=ct.extend({classFilter:e().optional()}),jr=t({trackId:e(),className:e(),confidence:a(),bbox:Y,zones:r(e()).readonly(),state:It}),Cu={name:"pipeline-analytics",scope:"device",mode:"singleton",kind:"wrapper",defaultActive:!0,deviceTypes:[C.Camera],exposesDeviceSettings:!0,methods:{getActiveTracks:i(t({deviceId:a()}),r(Fe).readonly()),getTrack:i(t({deviceId:a(),trackId:e()}),Fe.nullable()),listTracks:i(t({deviceId:a(),since:a().optional(),until:a().optional(),limit:a().optional()}),r(Fe).readonly()),clearTracks:i(t({deviceId:a()}),c(),{kind:"mutation",auth:"admin"}),getMotionEvents:i(ct,r(_r).readonly()),getObjectEvents:i(Kr,r(Hr).readonly()),getAudioEvents:i(ct,r(Wr).readonly()),getEventMedia:i(t({eventId:e()}),r(Ea).readonly()),getTrackMedia:i(t({trackId:e()}),r(Ea).readonly())},events:{onFrameTracked:{data:t({deviceId:a(),timestamp:a(),frameWidth:a(),frameHeight:a(),detections:r(jr).readonly()})},onTrackStarted:{data:t({deviceId:a(),trackId:e(),className:e()})},onTrackEnded:{data:t({deviceId:a(),trackId:e(),className:e(),durationMs:a()})},onDetectionEvent:{data:t({deviceId:a(),kind:Ur,eventId:e(),timestamp:a()})}}},Zr=t({total:a(),user:a(),system:a(),irq:a(),nice:a(),loadAvg:vt([a(),a(),a()]),cores:a()}),$r=t({percent:a(),totalBytes:a(),usedBytes:a(),availableBytes:a(),swapUsedBytes:a(),swapTotalBytes:a()}),Qr=t({readBytes:a(),writeBytes:a(),readOps:a(),writeOps:a(),timestampMs:a()}),Yr=t({rxBytes:a(),txBytes:a(),rxPackets:a(),txPackets:a(),rxErrors:a(),txErrors:a(),timestampMs:a()}),yn=t({utilization:a(),model:e(),memoryUsedBytes:a(),memoryTotalBytes:a(),temperature:a().nullable()}),Jr=t({openFds:a(),threadCount:a(),activeHandles:a(),activeRequests:a()}),qa=t({avg10:a(),avg60:a(),avg300:a()}),_e=t({some:qa,full:qa.nullable()}),Ta=t({cpu:Zr,memory:$r,gpu:yn.nullable(),network:Yr,disk:Qr,pressure:t({cpu:_e.nullable(),memory:_e.nullable(),io:_e.nullable()}),process:Jr,cpuTemperature:a().nullable(),timestampMs:a()}),Xr=t({path:e(),totalBytes:a(),usedBytes:a(),availableBytes:a(),percent:a()}),Ba=t({pid:a(),cpu:a(),memory:a()}),ed=t({addonId:e(),nodeId:e(),role:g(["hub","worker"]),pid:a(),state:g(["starting","running","stopping","stopped","crashed"]),uptimeSec:a()}),td=t({pid:a(),ppid:a(),pgid:a(),classification:g(["root","managed","system","ghost"]),addonId:e().nullable(),nodeId:e().nullable(),command:e(),cpuPercent:a(),memoryRssBytes:a(),uptimeSec:a(),orphaned:d()}),ad=t({pid:a(),force:d().optional()}),nd=t({success:d(),reason:e().optional(),signal:g(["SIGTERM","SIGKILL"]).optional()}),id=t({cpuPercent:a(),memoryPercent:a(),memoryUsedMB:a(),memoryTotalMB:a(),diskPercent:a().optional(),temperature:a().optional(),gpuPercent:a().optional(),gpuMemoryPercent:a().optional()}),Au={name:"metrics-provider",scope:"system",mode:"singleton",methods:{collectSnapshot:i(c(),Ta),getCached:i(c(),Ta.nullable()),getCurrent:i(c(),id),getDiskSpace:i(t({dirPath:e()}),Xr),getGpuInfo:i(c(),yn.nullable()),getCpuTemperature:i(c(),a().nullable()),getProcessStats:i(t({pids:r(a())}),r(Ba)),listAddonInstances:i(c(),r(ed).readonly()),getAddonStats:i(t({addonId:e()}),Ba.nullable()),listNodeProcesses:i(c(),r(td).readonly()),killProcess:i(ad,nd,{kind:"mutation",auth:"admin"})}},od=t({id:e(),name:e()}),Sn=t({pan:a(),tilt:a(),zoom:a()}),Ra=t({pan:a().optional(),tilt:a().optional(),zoom:a().optional(),speed:a().optional()}),sd=Sn.extend({autofocus:d()}),rd=t({hasPan:d(),hasTilt:d(),hasZoom:d(),supportsPresets:d(),maxPresets:a().optional(),hasAutofocus:d()}),wu={name:"ptz",scope:"device",mode:"singleton",deviceTypes:[C.Camera],deviceConfig:{ui:{kind:"widget",widgetId:"host/ptz-panel",tab:"ptz",topTab:!0,label:"PTZ",order:0}},methods:{move:i(Ra.extend({deviceId:a()}),c(),{kind:"mutation"}),continuousMove:i(Ra.extend({deviceId:a()}),c(),{kind:"mutation"}),stop:i(t({deviceId:a()}),c(),{kind:"mutation"}),getPresets:i(t({deviceId:a()}),r(od)),goToPreset:i(t({deviceId:a(),presetId:e()}),c(),{kind:"mutation"}),savePreset:i(t({deviceId:a(),presetId:e(),name:e()}),c(),{kind:"mutation",auth:"admin"}),deletePreset:i(t({deviceId:a(),presetId:e()}),c(),{kind:"mutation",auth:"admin"}),getOptions:i(t({deviceId:a()}),rd),goHome:i(t({deviceId:a()}),c(),{kind:"mutation"}),getPosition:i(t({deviceId:a()}),Sn),setAutofocus:i(t({deviceId:a(),enabled:d()}),c(),{kind:"mutation"})},status:{schema:sd,kind:"command-driven"}},dd=t({id:e(),type:e(),timestamp:a(),label:e().optional(),thumbnailUrl:e().optional(),clipUrl:e().optional(),metadata:y(e(),v()).optional()}),Pu={name:"events",scope:"device",mode:"singleton",deviceTypes:[C.Camera],methods:{getEvents:i(t({deviceId:a(),from:a().optional(),to:a().optional(),limit:a().optional()}),r(dd)),getEventThumbnail:i(t({deviceId:a(),eventId:e()}),t({base64:e(),contentType:e()}).nullable()),getEventClipUrl:i(t({deviceId:a(),eventId:e()}),e().nullable())}},cd=t({id:e(),startTs:a(),endTs:a(),durationSec:a(),sizeBytes:a().optional()}),Du={name:"recording",scope:"device",mode:"singleton",deviceTypes:[C.Camera],methods:{getSegments:i(t({deviceId:a(),from:a().optional(),to:a().optional()}),r(cd)),getPlaybackUrl:i(t({deviceId:a(),segmentId:e()}),e().nullable()),getThumbnailAt:i(t({deviceId:a(),timestamp:a()}),t({base64:e(),contentType:e()}).nullable())}},ld=t({id:e(),label:e(),protocol:g(["rtsp","rtmp","annexb","http-mjpeg","webrtc","custom"]),url:e().optional(),resolution:t({width:a(),height:a()}).optional(),fps:a().optional(),bitrate:a().optional(),codec:e().optional(),profileHint:g(["high","mid","low"]).optional(),sdp:e().optional()}),ud=t({key:e(),value:v()}),Mu={name:"device-ops",scope:"device",mode:"singleton",methods:{getStreamSources:i(t({deviceId:a()}),r(ld)),getConfigEntries:i(t({deviceId:a()}),r(ud)),setConfig:i(t({deviceId:a(),values:y(e(),v())}),c(),{kind:"mutation"}),removeDevice:i(t({deviceId:a()}),c(),{kind:"mutation"}),getSettingsSchema:i(t({deviceId:a()}),v().nullable())}},md=t({host:e(),port:a().int().positive().optional(),onvifPort:a().int().positive().optional(),rtspPort:a().int().positive().optional(),https:d().optional(),username:e().optional(),password:e().optional(),onvifProfile:e().optional()}),pd=t({host:e(),port:a().int().positive().nullable(),onvifPort:a().int().positive().nullable(),rtspPort:a().int().positive().nullable(),https:d().nullable(),hasUsername:d(),hasPassword:d(),onvifProfile:e().nullable()}),Eu={name:"camera-credentials",scope:"device",mode:"singleton",deviceTypes:[C.Camera],methods:{getCredentials:i(t({deviceId:a()}),md.nullable(),{kind:"query",auth:"admin"})},status:{schema:pd,kind:"command-driven"}},qu={name:"reboot",scope:"device",mode:"singleton",deviceTypes:[C.Camera,C.Sensor,C.Switch],methods:{reboot:i(t({deviceId:a().int().nonnegative()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"})}},gd=g(["text","timestamp","watermark"]),lt=g(["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right","custom"]),hd=t({id:e(),kind:gd,enabled:d(),text:e().optional(),position:lt.optional(),availablePositions:r(lt).readonly(),readOnly:d().optional()}),xa=t({overlays:r(hd).readonly()}),vd=t({enabled:d().optional(),text:e().optional(),position:lt.optional()}).partial(),Tu={name:"osd",scope:"device",mode:"singleton",deviceTypes:[C.Camera],methods:{setOverlay:i(t({deviceId:a(),overlayId:e(),patch:vd}),c(),{kind:"mutation",auth:"admin"})},events:{onStatusChanged:{data:t({deviceId:a(),status:xa})}},status:{schema:xa,kind:"command-driven"},settings:{bindings:[{kind:"array",statusPath:"overlays",idField:"id",method:"setOverlay",idArg:"overlayId",patchArg:"patch",sectionId:"osd",sectionTitle:"Video overlays",itemFields:{enabled:{label:m=>`${String(m.id)} enabled`,kind:"boolean"},text:{label:m=>`${String(m.id)} text`,kind:"text",when:m=>m.kind!=="timestamp"&&!m.readOnly},position:{label:m=>`${String(m.id)} position`,kind:"select",options:m=>m.availablePositions??[],when:m=>Array.isArray(m.availablePositions)&&m.availablePositions.length>0}}}]}},yd=t({childDeviceIds:r(a()).readonly()}),Bu={name:"accessories",scope:"device",mode:"singleton",deviceTypes:[C.Camera,C.Hub],methods:{},events:{onAccessoriesChanged:{data:t({deviceId:a(),childDeviceIds:r(a()).readonly()})}},status:{schema:yd,kind:"command-driven"}},Sd=t({codecs:r(e()),sampleRate:a(),duplex:g(["half","full"]),maxBacklogMs:a()}),Oa=t({talking:d(),lastSessionAt:a().nullable(),ability:Sd.nullable()}),Ru={name:"intercom",scope:"device",mode:"singleton",deviceTypes:[C.Camera],methods:{startSession:i(t({deviceId:a()}),t({sessionId:e(),sdpOffer:e()}),{kind:"mutation",auth:"admin"}),handleAnswer:i(t({deviceId:a(),sessionId:e(),sdpAnswer:e()}),c(),{kind:"mutation",auth:"admin"}),stopSession:i(t({deviceId:a(),sessionId:e()}),c(),{kind:"mutation",auth:"admin"}),startTalkSession:i(t({deviceId:a()}),t({sessionId:e()}),{kind:"mutation",auth:"admin"}),pushTalkPcm:i(t({deviceId:a(),pcmBase64:e(),sequenceNumber:a().int()}),t({accepted:d()}),{kind:"mutation",auth:"admin"}),endTalkSession:i(t({deviceId:a()}),c(),{kind:"mutation",auth:"admin"})},events:{onStatusChanged:{data:t({deviceId:a(),status:Oa})}},status:{schema:Oa,kind:"command-driven"}},bd=t({camStreamId:e().min(1),kind:St,url:e().optional(),codec:e().optional(),resolution:Ae.optional(),fps:a().positive().optional(),label:e().optional(),deviceFeatures:r(e()).optional(),autoEligible:d().optional(),metadata:y(e(),v()).optional()}),xu={name:"stream-catalog",scope:"device",mode:"singleton",deviceTypes:[C.Camera],methods:{getCatalog:i(t({deviceId:a().int().nonnegative()}),r(bd).readonly())}},fd=g(_n),kd=g(["videotoolbox","cuda","nvdec","vaapi","qsv","d3d11va","dxva2","amf","vdpau","drm","coreml","tensorrt","openvino","directml","webgpu","none"]).nullable().optional(),Id=t({preferred:r(e()).readonly()}),ut=g(["h264_videotoolbox","hevc_videotoolbox","h264_vaapi","hevc_vaapi","h264_nvenc","hevc_nvenc","h264_qsv","hevc_qsv","h264_amf","hevc_amf","libx264","libx265"]),Cd=t({encoder:ut,codec:g(["H264","H265"]),family:g(["videotoolbox","vaapi","nvenc","qsv","amf","software"]),available:d(),reason:e().optional()}),La=t({encoders:r(Cd).readonly(),defaultH264:ut,defaultH265:ut,probedAt:a()}),Ad=g(["darwin","linux","win32"]),wd=g(["arm64","x64"]),Pd=t({type:g(["nvidia","amd","intel","apple"]),name:e(),memoryMB:a().optional()}),Dd=t({type:g(["apple-ane","intel-npu"])}),bn=t({platform:Ad,arch:wd,cpuModel:e(),cpuCores:a(),totalRAM_MB:a(),availableRAM_MB:a(),gpu:Pd.nullable(),npu:Dd.nullable()}),za=t({runtime:g(["node","python"]),backend:e(),format:g(["onnx","coreml","openvino"]),score:a(),reason:e(),available:d()}),Md=t({hardware:bn,scores:r(za).readonly(),bestScore:za,pythonPath:e().nullable()}),Ed=t({modelId:e(),name:e(),minRAM_MB:a(),accuracyScore:a(),formats:r(e()).readonly()}),qd=t({modelId:e(),runtime:g(["node","python"]),backend:e(),format:fd,reason:e()}),Ou={name:"platform-probe",scope:"system",mode:"singleton",methods:{getCapabilities:i(c(),Md),getHardware:i(c(),bn),resolveInferenceConfig:i(t({requirements:r(Ed).readonly()}),qd),resolveHwAccel:i(t({prefer:kd,nodeId:e().optional()}),Id),getHardwareEncoders:i(c(),La),refreshHardwareEncoders:i(c(),La,{kind:"mutation",auth:"admin"})}},Td=g(["lan","wifi","docker","vpn","loopback","other"]),fn=t({name:e(),family:g(["IPv4","IPv6"]),address:e(),cidr:e(),netmask:e(),internal:d(),mac:e(),kind:Td,preferred:d(),plausible:d(),plausibleReason:e()}),Bd=t({interfaces:r(fn).readonly(),probedAt:a()}),Rd=fn.nullable(),xd=t({label:e(),baseUrl:e(),kind:g(["lan-ipv4","lan-ipv6","public","loopback"]),interfaceKind:g(["lan","wifi","docker","vpn","other","loopback","public"]),plausible:d(),plausibleReason:e(),priority:a()}),Od=t({endpoints:r(xd).readonly()}),He=t({addresses:r(e()).readonly()}),Lu={name:"local-network",scope:"system",mode:"singleton",methods:{list:i(c(),Bd),getPreferred:i(c(),Rd),getConnectionEndpoints:i(t({port:a().int().min(1).max(65535),includeLoopback:d().optional(),ipv4Only:d().optional(),scheme:g(["http","https"]).optional()}),Od),getAllowedAddresses:i(c(),He),setAllowedAddresses:i(He,t({success:b(!0)}),{kind:"mutation"}),resetAllowlistToBestMatch:i(c(),He,{kind:"mutation"})}},Ld=t({id:e(),label:e(),scope:g(["mesh","public"]),url:e(),hostname:e(),port:a(),protocol:g(["http","https"])}),zd=t({id:e(),hostname:e(),magicDns:e(),addresses:r(e()).readonly(),os:e().optional(),online:d(),lastSeenMs:a(),isSelf:d(),connection:g(["direct","relay","idle"]),relay:e().nullable(),lastHandshakeMs:a(),rxBytes:a(),txBytes:a(),tags:r(e()).readonly(),exitNodeOption:d(),advertisedRoutes:r(e()).readonly(),userLogin:e().nullable(),keyExpiry:a().nullable()}),Nd=t({joined:d(),meshIp:e(),magicDnsHostname:e(),peerCount:a(),endpoints:r(Ld).readonly(),error:e().optional(),tenantName:e(),magicDnsSuffix:e(),userLogin:e().nullable(),controlPlaneUrl:e(),keyExpiry:a().nullable(),daemonSocket:e().optional(),daemonCliPath:e().optional()}),zu={name:"mesh-network",scope:"system",mode:"collection",providerKind:"mesh",methods:{getStatus:i(c(),Nd),join:i(t({authKey:e().min(8),hostname:e().optional()}),t({joined:b(!0)}),{kind:"mutation"}),startLogin:i(t({hostname:e().optional()}),t({loginUrl:e()}),{kind:"mutation"}),leave:i(c(),t({left:b(!0)}),{kind:"mutation"}),logout:i(c(),t({loggedOut:b(!0)}),{kind:"mutation"}),listPeers:i(c(),t({peers:r(zd).readonly()})),testConnection:i(t({authKey:e().optional()}),t({ok:d(),tenant:e().optional(),daemonVersion:e().optional(),error:e().optional()}),{kind:"mutation"})}},We=t({id:e(),username:e(),isAdmin:d().default(!1),allowedProviders:q([r(e()),b("*")]),allowedDevices:y(e(),q([r(e()),b("*")])),scopes:r(B).default([]),totpEnabled:d().default(!1),createdAt:a(),updatedAt:a()}),Ud=t({username:e(),password:e().min(6),isAdmin:d().default(!1),allowedProviders:q([r(e()),b("*")]).optional(),allowedDevices:y(e(),q([r(e()),b("*")])).optional(),scopes:r(B).optional()}),Fd=t({id:e(),isAdmin:d().optional(),allowedProviders:q([r(e()),b("*")]).optional(),allowedDevices:y(e(),q([r(e()),b("*")])).optional(),scopes:r(B).optional()}),mt=t({id:e(),label:e(),isAdmin:d().default(!1),allowedProviders:q([r(e()),b("*")]).optional(),allowedDevices:y(e(),q([r(e()),b("*")])).optional(),tokenPrefix:e(),createdAt:a(),lastUsedAt:a().optional()}),_d=t({label:e(),isAdmin:d().default(!1),allowedProviders:q([r(e()),b("*")]).optional(),allowedDevices:y(e(),q([r(e()),b("*")])).optional()}),Hd=t({token:e(),record:mt}),pt=t({id:e(),userId:e(),name:e(),tokenPrefix:e(),scopes:r(B),expiresAt:a().nullish(),lastUsedAt:a().nullish(),createdAt:a()}),Wd=t({userId:e(),name:e(),scopes:r(B),expiresAt:a().optional()}),Vd=t({token:e(),record:pt}),Gd=t({id:e(),userId:e(),username:e(),integrationId:e(),scopes:r(B),createdAt:a(),lastUsedAt:a(),revokedAt:a().nullable()}),Kd=t({secret:e(),otpauthUrl:e()}),jd=t({enabled:d(),confirmedAt:a().nullable()}),Nu={name:"user-management",scope:"system",mode:"singleton",methods:{listUsers:i(c(),r(We),{auth:"admin"}),createUser:i(Ud,We,{kind:"mutation",auth:"admin",access:"create"}),updateUser:i(Fd,t({success:b(!0)}),{kind:"mutation",auth:"admin",access:"create"}),deleteUser:i(t({id:e()}),t({success:b(!0)}),{kind:"mutation",auth:"admin",access:"delete"}),resetPassword:i(t({id:e(),newPassword:e().min(6)}),t({success:b(!0)}),{kind:"mutation",auth:"admin",access:"create"}),setUserScopes:i(t({userId:e(),scopes:r(B)}),t({success:b(!0)}),{kind:"mutation",auth:"admin",access:"create"}),validateCredentials:i(t({username:e(),password:e()}),We.extend({passwordHash:e()}).nullable(),{kind:"mutation",access:"view"}),listApiKeys:i(c(),r(mt),{auth:"admin"}),createApiKey:i(_d,Hd,{kind:"mutation",auth:"admin",access:"create"}),revokeApiKey:i(t({id:e()}),t({success:b(!0)}),{kind:"mutation",auth:"admin",access:"delete"}),validateApiKey:i(t({token:e()}),mt.nullable(),{kind:"mutation",access:"view"}),createScopedToken:i(Wd,Vd,{kind:"mutation",auth:"admin",access:"create"}),revokeScopedToken:i(t({id:e()}),t({success:b(!0)}),{kind:"mutation",auth:"admin",access:"delete"}),validateScopedToken:i(t({token:e()}),pt.nullable(),{access:"view"}),listScopedTokens:i(t({userId:e()}),r(pt),{auth:"admin"}),setupTotp:i(t({userId:e()}),Kd,{kind:"mutation",auth:"admin",access:"create"}),confirmTotp:i(t({userId:e(),code:e()}),t({success:b(!0)}),{kind:"mutation",auth:"admin",access:"create"}),disableTotp:i(t({userId:e()}),t({success:b(!0)}),{kind:"mutation",auth:"admin",access:"delete"}),getTotpStatus:i(t({userId:e()}),jd,{auth:"admin"}),verifyTotp:i(t({userId:e(),code:e()}),t({valid:d()}),{kind:"mutation",access:"view"}),oauthIssueCode:i(t({integrationId:e(),userId:e(),username:e(),scopes:r(B),redirectUri:e(),hubUrl:e()}),t({code:e()}),{kind:"mutation",access:"create"}),oauthExchangeCode:i(t({code:e(),redirectUri:e()}),t({accessToken:e(),refreshToken:e(),expiresIn:a()}).nullable(),{kind:"mutation",access:"view"}),oauthRefresh:i(t({refreshToken:e()}),t({accessToken:e(),refreshToken:e(),expiresIn:a()}).nullable(),{kind:"mutation",access:"view"}),oauthVerifyAccessToken:i(t({token:e()}),t({userId:e(),username:e(),scopes:r(B)}).nullable(),{access:"view"}),listOauthSessions:i(c(),r(Gd),{auth:"admin"}),revokeOauthSession:i(t({id:e()}),t({success:d()}),{kind:"mutation",auth:"admin",access:"delete"})}},Na=t({streaming:d(),notifications:d(),objectDetection:d(),remoteAccess:d(),agentCluster:d(),smartHome:d(),recordings:d(),backup:d(),repl:d()}),Zd=t({status:b("ok"),uptime:a()}),$d=t({name:e(),address:e(),family:e(),internal:d()}),Uu={name:"system",scope:"system",mode:"singleton",methods:{info:i(c(),Na),health:i(c(),Zd),featureFlags:i(c(),Na),networkAddresses:i(c(),r($d).readonly()),getRetentionConfig:i(c(),v().nullable(),{auth:"admin"}),setRetentionConfig:i(y(e(),v()),zn(),{kind:"mutation",auth:"admin"}),forceRetentionCleanup:i(c(),c(),{kind:"mutation",auth:"admin"})}},Qd=t({nominalBitrateKbps:a(),observedBitrateKbps:a(),peakBitrateKbps:a(),packetLossPercent:a(),lastUpdated:a()}),Yd=t({rttMs:a(),jitterMs:a(),estimatedBandwidthKbps:a(),lastUpdated:a()}),Ua=t({deviceId:a(),streams:y(e(),Qd),client:Yd.optional()}),Fu={name:"network-quality",scope:"system",mode:"singleton",methods:{getDeviceStats:i(t({deviceId:a()}),Ua.nullable()),getAllStats:i(c(),r(Ua).readonly()),reportClientStats:i(t({deviceId:a(),rttMs:a().min(0).max(6e4),jitterMs:a().min(0).max(1e4),estimatedBandwidthKbps:a().min(0).max(1e6)}),c(),{kind:"mutation"})}},Jd=t({title:e(),message:e(),severity:g(["info","warning","critical"]),duration:a().optional(),action:t({label:e(),url:e()}).optional()}),_u={name:"toast",scope:"system",mode:"singleton",methods:{onToast:i(c(),Jd,{kind:"subscription"})}},Xd=t({addonId:e(),capabilities:r(e()).readonly(),status:e()}),ec=t({pid:a(),name:e(),state:e(),cpuPercent:a(),memoryRss:a(),uptimeSeconds:a(),services:r(Xd).readonly(),groupId:e().optional()}),tc=t({id:e(),status:e(),cpuPercent:a(),memoryRss:a()}),ac=t({category:e(),total:a(),healthy:a(),addons:r(tc).readonly()}),nc=t({id:e(),name:e(),hostname:e(),platform:e(),arch:e(),cpuModel:e().nullable(),cpuCores:a(),memoryMB:a(),engines:r(e()).readonly(),isHub:d(),isOnline:d(),cpuPercent:a(),memoryPercent:a(),uptime:a(),lastSeen:e(),localIps:r(e()).readonly(),addons:r(t({id:e(),capabilities:r(e()).readonly(),status:e()})).readonly(),processes:r(ec).readonly(),categories:r(ac).readonly()}),ic=t({callerAddonId:e(),providerAddonId:e(),capName:e(),callsPerMin:a(),lastCallAtMs:a()}),oc=t({nodeId:e(),name:e(),version:e(),status:e(),synced:d()}),sc=t({hubVersion:e(),nodes:r(oc)}),Ve=t({nodeId:e(),addonId:e()}),rc=t({id:e(),status:e(),version:e().optional(),packageName:e().optional()}),ae=t({success:d()}),dc=t({success:d(),reason:e().optional()}),cc=t({restarted:r(e()).readonly(),failed:r(e()).readonly()}),lc=t({nodeId:e(),name:e()}),Hu={name:"nodes",scope:"system",mode:"singleton",nodeIdMode:"data",methods:{topology:i(c(),r(nc).readonly(),{auth:"admin"}),deployAddon:i(Ve,ae,{kind:"mutation",auth:"admin"}),undeployAddon:i(Ve,ae,{kind:"mutation",auth:"admin"}),restartAddon:i(Ve,ae,{kind:"mutation",auth:"admin"}),restartProcess:i(t({nodeId:e(),processName:e()}),dc,{kind:"mutation",auth:"admin"}),restartNode:i(t({nodeId:e()}),cc,{kind:"mutation",auth:"admin"}),shutdownNode:i(t({nodeId:e()}),ae,{kind:"mutation",auth:"admin"}),renameNode:i(t({nodeId:e(),name:e().min(1).max(64)}),lc,{kind:"mutation",auth:"admin"}),clusterAddonStatus:i(c(),y(e(),sc),{auth:"admin"}),getCapUsageGraph:i(t({windowSeconds:a().int().positive().max(300).default(60)}),r(ic).readonly(),{auth:"admin"}),getNodeAddons:i(t({nodeId:e()}),r(rc).readonly(),{auth:"admin"}),setProcessLogLevel:i(t({nodeId:e(),level:e()}),ae,{kind:"mutation",auth:"admin"}),executeQuery:i(t({nodeId:e(),addonId:e(),queryName:e(),params:y(e(),v()).optional()}),v(),{kind:"mutation",auth:"admin"})}},Fa=t({id:e(),addonId:e(),name:e(),enabled:d(),info:y(e(),v()).readonly(),createdAt:a(),updatedAt:a(),processState:e()}),Ge=t({id:e(),addonId:e(),name:e(),enabled:d(),info:y(e(),v()).readonly(),createdAt:a(),updatedAt:a()}),uc=t({addonId:e(),name:e(),description:e(),iconUrl:e().nullable(),color:e(),instanceMode:e(),discoveryMode:e(),existingInstances:r(t({id:e(),name:e()})),canAdd:d()}),mc=t({success:d(),error:e().optional()}),pc=t({addonId:e(),name:e(),enabled:d().optional(),info:y(e(),v()).optional(),settings:y(e(),v()).optional(),skipRestart:d().optional()}),gc=t({id:e(),name:e().optional(),enabled:d().optional(),info:y(e(),v()).optional()}),hc=t({success:d(),deletedId:e()}),Wu={name:"integrations",scope:"system",mode:"singleton",methods:{list:i(c(),r(Fa)),get:i(t({id:e()}),Fa),getByAddonId:i(t({addonId:e()}),Ge.nullable()),create:i(pc,Ge,{kind:"mutation",auth:"admin"}),update:i(gc,Ge,{kind:"mutation",auth:"admin"}),delete:i(t({id:e()}),hc,{kind:"mutation",auth:"admin"}),getSettings:i(t({id:e()}),y(e(),v()),{auth:"admin"}),setSettings:i(t({id:e(),settings:y(e(),v())}),t({success:d()}),{kind:"mutation",auth:"admin"}),getAvailableTypes:i(c(),r(uc),{auth:"admin"}),testConnection:i(t({addonId:e(),settings:y(e(),v())}),mc,{kind:"mutation",auth:"admin"})}},_a=g(["debug","info","warn","error"]),gt=g(["off","latest","beta"]),kn=g(["off","latest","beta","inherit"]),vc=t({id:e(),name:e().optional(),version:e().optional(),description:e().optional(),icon:e().optional(),color:e().optional(),capabilities:r(v()).readonly().optional(),packageName:e(),packageVersion:e(),packageDisplayName:e().optional(),bundle:t({displayName:e(),description:e().optional(),icon:e().optional()}).optional(),protected:d().optional(),removable:d().optional()}),yc=t({pid:a().optional(),mode:e(),state:e()}),Sc=t({phase:g(["pending","healthy","failed"]),retryCount:a(),firstFailureAt:a().nullable(),lastAttemptAt:a().nullable(),lastError:t({message:e(),stack:e().optional()}).nullable(),nextRetryAt:a().nullable(),alertEmitted:d(),retrying:d(),inGracePeriod:d()}),bc=t({manifest:vc,declaration:v().optional(),source:e(),installSource:e().optional(),process:yc.optional(),hasBackup:d().optional(),health:Sc.nullable().optional()}),fc=t({name:e(),version:e(),dir:e(),installSource:e().optional()}),kc=t({name:e(),currentVersion:e(),latestVersion:e(),category:g(["addon","core"]),requiresRestart:d(),isSystem:d()}),Ic=t({version:e(),publishedAt:e(),deprecated:e().optional(),distTags:r(e()).readonly()}),Cc=t({name:e(),version:e(),description:e(),keywords:r(e()).readonly(),publishedAt:e(),author:e(),installed:d(),installedVersion:e().optional()}),Ac=t({channel:gt,intervalSeconds:a()}),wc=kn,Pc=v(),Ha=v(),Dc=v(),Mc=t({packageName:e(),fromVersion:e(),toVersion:e(),restartingAt:a()}),Ec=g(["queued","updating","done","done-pending-restart","failed"]),qc=t({name:e(),isSystem:d(),fromVersion:e(),toVersion:e(),status:Ec,error:e().optional(),startedAtMs:a().optional(),completedAtMs:a().optional()}),Tc=g(["regular","system","restarting","finalizing"]),Wa=t({id:e(),nodeId:e(),startedAtMs:a(),completedAtMs:a().optional(),total:a(),completed:a(),failed:a(),current:e().nullable(),phase:Tc,cancelled:d(),items:r(qc).readonly()}),Bc=t({packageName:e(),currentVersion:e(),latestVersion:e().nullable(),hasUpdate:d(),description:e().optional()}),Rc=t({timestamp:e(),level:e(),message:e(),scope:e().optional()}),xc=v(),Oc=t({addonId:e().min(1),action:e().min(1),input:v()}),Vu={name:"addons",scope:"system",mode:"singleton",nodeIdMode:"data",methods:{list:i(c(),r(bc).readonly()),getLogs:i(t({addonId:e(),limit:a().min(1).max(500).default(100),level:_a.optional()}),r(xc)),listPackages:i(c(),r(fc).readonly()),installPackage:i(t({packageName:e(),version:e().optional()}),Ha,{kind:"mutation",auth:"admin"}),installFromWorkspace:i(t({packageName:e()}),Ha,{kind:"mutation",auth:"admin"}),isWorkspaceAvailable:i(c(),d()),listWorkspacePackages:i(c(),r(v()).readonly()),uninstallPackage:i(t({packageName:e()}),v(),{kind:"mutation",auth:"admin"}),reloadPackages:i(c(),Dc,{kind:"mutation",auth:"admin"}),searchAvailable:i(t({query:e().optional()}),r(Cc)),listUpdates:i(t({nodeId:e().optional()}),r(kc).readonly(),{auth:"admin"}),updatePackage:i(t({name:e().min(1),version:e().optional(),nodeId:e().optional()}),v(),{kind:"mutation",auth:"admin"}),rollbackPackage:i(t({name:e().min(1)}),t({rolledBackTo:e().nullable()}),{kind:"mutation",auth:"admin"}),forceRefresh:i(t({nodeId:e().optional()}),v(),{kind:"mutation",auth:"admin"}),restartServer:i(t({confirm:b(!0)}),v(),{kind:"mutation",auth:"admin"}),getLastRestart:i(c(),t({kind:g(["framework-update","manual","system","framework-bulk-update"]),packageName:e().optional(),fromVersion:e().optional(),toVersion:e().optional(),requestedBy:e().optional(),requestedAt:a()}).nullable(),{auth:"admin"}),listFrameworkPackages:i(c(),r(Bc).readonly(),{auth:"admin"}),listCapabilityProviders:i(t({capName:e().min(1)}),r(t({addonId:e(),mode:g(["singleton","collection"]),isActive:d()})).readonly()),setCapabilityProviderEnabled:i(t({capName:e().min(1),addonId:e().min(1),enabled:d()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),updateFrameworkPackage:i(t({packageName:e().min(1),version:e().optional(),deferRestart:d().optional()}),Mc,{kind:"mutation",auth:"admin"}),startBulkUpdate:i(t({nodeId:e(),items:r(t({name:e(),version:e(),isSystem:d()})).readonly()}),t({id:e()}),{kind:"mutation",auth:"admin"}),getBulkUpdateState:i(t({id:e()}),Wa.nullable(),{auth:"admin"}),cancelBulkUpdate:i(t({id:e()}),t({cancelled:d()}),{kind:"mutation",auth:"admin"}),listActiveBulkUpdates:i(t({nodeId:e().optional()}),r(Wa).readonly(),{auth:"admin"}),getVersions:i(t({name:e()}),r(Ic).readonly()),restartAddon:i(t({addonId:e()}),Pc,{kind:"mutation",auth:"admin"}),retryLoad:i(t({packageName:e()}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),getAutoUpdateSettings:i(c(),Ac,{auth:"admin"}),setAutoUpdateSettings:i(t({channel:gt,intervalSeconds:a().min(300).max(86400).optional()}),v(),{kind:"mutation",auth:"admin"}),getAddonAutoUpdate:i(t({addonId:e()}),wc,{auth:"admin"}),setAddonAutoUpdate:i(t({addonId:e(),channel:kn}),v(),{kind:"mutation",auth:"admin"}),applyAutoUpdateToAll:i(t({channel:gt}),t({success:b(!0)}),{kind:"mutation",auth:"admin"}),custom:i(Oc,v(),{kind:"mutation"}),onAddonLogs:i(t({addonId:e(),level:_a.optional()}),Rc,{kind:"subscription"})}},Lc=["decoder","motion-detection","pipeline-executor","audio-analyzer","pipeline-analytics","notification-output"],Gu=[...Lc,"pipeline-orchestrator","pipeline-runner"];export{os as $,Yc as A,Dl as B,Vc as C,ba as D,Es as E,Zn as F,ou as G,Kn as H,yd as I,F as J,fs as K,wc as L,_n as M,mr as N,bc as O,xs as P,Rs as Q,Ks as R,Sa as S,Le as T,_o as U,Wo as V,Uc as W,Ho as X,Ul as Y,mt as Z,is as _,C as a,Jn as a$,$s as a0,Qs as a1,ta as a2,ii as a3,Xe as a4,Ys as a5,Js as a6,Xs as a7,er as a8,Aa as a9,St as aA,Ae as aB,md as aC,pd as aD,ft as aE,Bi as aF,Ze as aG,us as aH,Zs as aI,$n as aJ,Yd as aK,oc as aL,sc as aM,rs as aN,ds as aO,ir as aP,Fo as aQ,Uo as aR,_d as aS,Hd as aT,pc as aU,Wd as aV,Vd as aW,Ud as aX,Oc as aY,su as aZ,Xl as a_,Wr as aa,qi as ab,oi as ac,si as ad,Qt as ae,tr as af,Ue as ag,Ac as ah,uc as ai,Yn as aj,as as ak,ma as al,Ee as am,Y as an,Yt as ao,fi as ap,ki as aq,bs as ar,bi as as,Ss as at,Si as au,vi as av,hi as aw,el as ax,H as ay,bd as az,Ga as b,_r as b$,ai as b0,ni as b1,mi as b2,Jt as b3,Ca as b4,Zt as b5,Gn as b6,hc as b7,Fi as b8,Xt as b9,js as bA,Jl as bB,Zd as bC,xe as bD,wo as bE,fc as bF,Ge as bG,Fa as bH,Sd as bI,Oa as bJ,ss as bK,ha as bL,sn as bM,Rc as bN,uo as bO,Ja as bP,co as bQ,$a as bR,Ya as bS,lo as bT,Qa as bU,Xa as bV,vl as bW,Ea as bX,zd as bY,me as bZ,Ti as b_,qs as ba,Ts as bb,Ne as bc,Ua as bd,N as be,De as bf,Je as bg,Pi as bh,Pl as bi,Di as bj,ea as bk,nr as bl,wa as bm,di as bn,zs as bo,dd as bp,Ur as bq,Ps as br,Ds as bs,Ws as bt,Na as bu,Me as bv,ci as bw,Qe as bx,ve as by,Ai as bz,Bo as c,io as c$,so as c0,be as c1,kt as c2,ao as c3,na as c4,ro as c5,Za as c6,mo as c7,po as c8,en as c9,tt as cA,E as cB,aa as cC,Q as cD,nl as cE,to as cF,vo as cG,yo as cH,nn as cI,ho as cJ,oa as cK,$e as cL,he as cM,Do as cN,fo as cO,nt as cP,ye as cQ,bo as cR,Ra as cS,Sn as cT,od as cU,sd as cV,pa as cW,Hs as cX,no as cY,wi as cZ,Ye as c_,ia as ca,tn as cb,at as cc,go as cd,an as ce,$d as cf,Ce as cg,fr as ch,Pa as ci,vr as cj,ms as ck,Hr as cl,cl as cm,gd as cn,vd as co,hd as cp,lt as cq,xa as cr,Lc as cs,Gu as ct,kc as cu,Ic as cv,ps as cw,we as cx,it as cy,Ia as cz,Nd as d,Nl as d$,ml as d0,ja as d1,oo as d2,Fl as d3,pt as d4,Cc as d5,cd as d6,gs as d7,hs as d8,la as d9,Qd as dA,Io as dB,sa as dC,Te as dD,Be as dE,Co as dF,ko as dG,ri as dH,tl as dI,pi as dJ,gi as dK,li as dL,ui as dM,ra as dN,id as dO,mc as dP,Jd as dQ,B as dR,nc as dS,ec as dT,Xd as dU,Fe as dV,It as dW,jr as dX,gr as dY,gc as dZ,Fd as d_,ga as da,j as db,ua as dc,_s as dd,ya as de,pn as df,Ei as dg,va as dh,Cs as di,Qo as dj,Yo as dk,Jo as dl,Ko as dm,jo as dn,es as dp,$o as dq,z as dr,T as ds,$ as dt,Vo as du,Xo as dv,Go as dw,Zo as dx,bt as dy,yi as dz,_c as e,Hu as e$,We as e0,Hn as e1,Vs as e2,st as e3,Os as e4,cn as e5,Ls as e6,fa as e7,jn as e8,eo as e9,qo as eA,D as eB,eu as eC,ku as eD,Kl as eE,uu as eF,Qn as eG,Mu as eH,mu as eI,lu as eJ,G as eK,Pu as eL,$c as eM,Wc as eN,Wu as eO,Ru as eP,Qc as eQ,Lu as eR,Ll as eS,Hc as eT,zu as eU,i as eV,Au as eW,dl as eX,Gl as eY,gu as eZ,Fu as e_,Po as ea,ie as eb,ca as ec,Al as ed,ne as ee,Ao as ef,Bu as eg,Gc as eh,jl as ei,Zl as ej,Yl as ek,ql as el,Ql as em,$l as en,Vu as eo,zl as ep,bu as eq,Tl as er,du as es,ru as et,cu as eu,pu as ev,xl as ew,Eu as ex,Iu as ey,on as ez,Ml as f,Su as f0,Hl as f1,Tu as f2,Cu as f3,ll as f4,iu as f5,pl as f6,Ou as f7,wu as f8,qu as f9,jt as fA,Du as fa,fu as fb,Kc as fc,tu as fd,Ol as fe,Vl as ff,vu as fg,yu as fh,_l as fi,Bl as fj,Rl as fk,il as fl,xu as fm,al as fn,Uu as fo,_u as fp,hu as fq,Nu as fr,Wl as fs,au as ft,ln as fu,nu as fv,Un as fw,Nc as fx,Fn as fy,Nn as fz,El as g,Fc as h,wl as i,Cl as j,kl as k,bl as l,yl as m,Sl as n,hl as o,fl as p,gl as q,Zc as r,Il as s,rl as t,jc as u,sl as v,ol as w,Xc as x,Jc as y,ul as z};