@camera.ui/server 0.0.89 → 0.0.91

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 (119) hide show
  1. package/dist/interface/assets/{404-co30HPev.js → 404-DGUJCxZf.js} +1 -1
  2. package/dist/interface/assets/{About-BCKeUGk3.js → About-BTrHdyyV.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-DyqmLmxI.js → Adminpanel-DJXuFTSM.js} +1 -1
  4. package/dist/interface/assets/{Automation-BpMPRwi4.js → Automation-EiuRFhAZ.js} +2 -2
  5. package/dist/interface/assets/{Automations-CTZBwEjR.js → Automations-CvRcqapD.js} +1 -1
  6. package/dist/interface/assets/{Camera-DW_54mER.js → Camera-xnpjwtIs.js} +2 -2
  7. package/dist/interface/assets/{CameraConsole-CJlyAhLQ.js → CameraConsole-DXWTwUZP.js} +1 -1
  8. package/dist/interface/assets/{Cameras-CynDfdyU.js → Cameras-BsCHNz8P.js} +1 -1
  9. package/dist/interface/assets/{Camview-C9fLF5p2.js → Camview-DcsypDAx.js} +1 -1
  10. package/dist/interface/assets/{Config-Dil7gkU1.js → Config-DSQ8Lnlt.js} +1 -1
  11. package/dist/interface/assets/{ConfigActionCameraControl-9ManmR_w.js → ConfigActionCameraControl-CBKAmQHo.js} +1 -1
  12. package/dist/interface/assets/{ConfigActionNotification-gZ8RFmSJ.js → ConfigActionNotification-C3AapWV_.js} +1 -1
  13. package/dist/interface/assets/{ConfigActionPlugin-9mhYqMVg.js → ConfigActionPlugin-uBybWoW3.js} +1 -1
  14. package/dist/interface/assets/{ConfigActionSensor-BgXC06jA.js → ConfigActionSensor-mDsYN4Jx.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionSnapshot-D6SDN3PY.js → ConfigActionSnapshot-j6F9cHxc.js} +1 -1
  16. package/dist/interface/assets/{ConfigConditionSensorState-Bqbyd5o9.js → ConfigConditionSensorState-czbhdDYN.js} +1 -1
  17. package/dist/interface/assets/{ConfigTriggerDetection-BjDi3ERC.js → ConfigTriggerDetection-DOuYcxK2.js} +1 -1
  18. package/dist/interface/assets/{ConfigTriggerGeofence-C0-Uhq8b.js → ConfigTriggerGeofence-Bfmy8dWu.js} +1 -1
  19. package/dist/interface/assets/{ConfigTriggerSensor-BBVl6eRI.js → ConfigTriggerSensor-B4f1FLEx.js} +1 -1
  20. package/dist/interface/assets/{ConfigTriggerSystem-I54h5JkD.js → ConfigTriggerSystem-DDi5FfKr.js} +1 -1
  21. package/dist/interface/assets/{Console-h9s7ob8z.js → Console-Cai-gPYI.js} +1 -1
  22. package/dist/interface/assets/{CuiAvatar-B-hIwVL3.js → CuiAvatar-CO46fyUA.js} +1 -1
  23. package/dist/interface/assets/{CuiBottomSheet-CT2MDZ2w.js → CuiBottomSheet-DhiOYOdi.js} +1 -1
  24. package/dist/interface/assets/CuiBottomSheet-am53yKeq.js +1 -0
  25. package/dist/interface/assets/{CuiCameraCard-C_vnbvj3.js → CuiCameraCard-BjO1XlxZ.js} +1 -1
  26. package/dist/interface/assets/{CuiCameraPipCard-B4vRJErQ.js → CuiCameraPipCard-2TonoKQu.js} +1 -1
  27. package/dist/interface/assets/{CuiCameraRecordings-Cxsf6_BO.js → CuiCameraRecordings-CODZCqKp.js} +1 -1
  28. package/dist/interface/assets/{CuiCameraShares-DwlA-I86.js → CuiCameraShares-Z4Zi_S6X.js} +1 -1
  29. package/dist/interface/assets/{CuiCameraSnapshot-Dbut4xsv.js → CuiCameraSnapshot-CLrFhkzU.js} +1 -1
  30. package/dist/interface/assets/{CuiCameraTable-45bytt0t.js → CuiCameraTable-BZhlpITf.js} +1 -1
  31. package/dist/interface/assets/{CuiImage-fqAOZjUq.js → CuiImage-CZlhNpZc.js} +1 -1
  32. package/dist/interface/assets/{CuiMenu-DW_XRoWp.js → CuiMenu-DRbeduzk.js} +1 -1
  33. package/dist/interface/assets/{CuiPluginCard-Emy3RTR8.js → CuiPluginCard-7jbKSV0j.js} +2 -2
  34. package/dist/interface/assets/{CuiPluginOAuthButton-BiAE0hXQ.js → CuiPluginOAuthButton-yLnhvjke.js} +2 -2
  35. package/dist/interface/assets/{CuiQRCode-DHeZXcsR.js → CuiQRCode-DVFfJlJz.js} +1 -1
  36. package/dist/interface/assets/{CuiRecordingsGrid-D6TmFzl4.js → CuiRecordingsGrid-BGJtNWn1.js} +1 -1
  37. package/dist/interface/assets/{CuiSchema-D4Bi0dJu.js → CuiSchema-Bv35CnHS.js} +1 -1
  38. package/dist/interface/assets/{Faces-DuzeSvM_.js → Faces-BAeXYJhd.js} +1 -1
  39. package/dist/interface/assets/{FirstSteps-BC948zEX.js → FirstSteps-p8NGgF3j.js} +1 -1
  40. package/dist/interface/assets/{Instances-CHb7PEYG.js → Instances-BtpvnInM.js} +1 -1
  41. package/dist/interface/assets/{Menu-DAWPMfFl.js → Menu-D4JpHZij.js} +1 -1
  42. package/dist/interface/assets/{OAuthDeviceFlow-C04_s9_u.js → OAuthDeviceFlow-Dxoa8854.js} +1 -1
  43. package/dist/interface/assets/{Plugin-DrQlaA_j.js → Plugin-Bzm3s2QZ.js} +1 -1
  44. package/dist/interface/assets/{PluginConsole-QrEbxAZ5.js → PluginConsole-4-87jpcM.js} +1 -1
  45. package/dist/interface/assets/{PluginSchema-BjopPs1j.js → PluginSchema-BqrB8wQJ.js} +1 -1
  46. package/dist/interface/assets/{Plugins-B7p2facZ.js → Plugins-BVKsFjK-.js} +2 -2
  47. package/dist/interface/assets/{Recordings-DeW-wdoR.js → Recordings-CdU-tmVt.js} +1 -1
  48. package/dist/interface/assets/{Settings-BXHcMV5q.js → Settings-Ds5LFZCd.js} +1 -1
  49. package/dist/interface/assets/SettingsAccount-BQRRfMfi.js +1 -0
  50. package/dist/interface/assets/{SettingsAccount-C_gvUwgq.js → SettingsAccount-ByBd2zx_.js} +1 -1
  51. package/dist/interface/assets/{SettingsAppearance-Bp1UnsXB.js → SettingsAppearance-BY4Wo2-o.js} +1 -1
  52. package/dist/interface/assets/SettingsAppearance-BZ3eEaNS.js +1 -0
  53. package/dist/interface/assets/{SettingsBackup-CUJpN0UK.js → SettingsBackup-C64eGQ4z.js} +1 -1
  54. package/dist/interface/assets/SettingsNotifications-BpBK0vUB.js +2 -0
  55. package/dist/interface/assets/{SettingsRecordings-CWmfG-m8.js → SettingsRecordings-Dyfw7tu0.js} +1 -1
  56. package/dist/interface/assets/{SettingsRemote-Cfw1UDTq.js → SettingsRemote-AA8KRV6E.js} +1 -1
  57. package/dist/interface/assets/SettingsSystem-CReduJ2-.js +2 -0
  58. package/dist/interface/assets/{SettingsUsers-EA3pkJ-B.js → SettingsUsers-kzd83pMM.js} +1 -1
  59. package/dist/interface/assets/{Terminal-BTI74rvo.js → Terminal-CcjA6wjm.js} +1 -1
  60. package/dist/interface/assets/{VersionsHandler-l7tefYXW.js → VersionsHandler-CKePa3IK.js} +1 -1
  61. package/dist/interface/assets/{Workers-DP2XKDj_.js → Workers-CSKethmF.js} +1 -1
  62. package/dist/interface/assets/{api-CsrueOfu.js → api-CChrFDmT.js} +1 -1
  63. package/dist/interface/assets/api-DiZ55Kc8.js +2 -0
  64. package/dist/interface/assets/{auth-BaxL37-V.js → auth-DQq1xLWW.js} +1 -1
  65. package/dist/interface/assets/{automations-BiUEMs2m.js → automations-BEeCuqc2.js} +1 -1
  66. package/dist/interface/assets/{backup-BHJ-5CGY.js → backup-DLHpsIK8.js} +1 -1
  67. package/dist/interface/assets/{cameras-D-DkGB5k.js → cameras-CW62AByZ.js} +1 -1
  68. package/dist/interface/assets/{cameras.schema-B93btXUO.js → cameras.schema-CqgWLUAv.js} +1 -1
  69. package/dist/interface/assets/cloudHandoff-DyHfoqj6.js +1 -0
  70. package/dist/interface/assets/{deviceId-ChytJHFg.js → deviceId-CkiK7vmX.js} +1 -1
  71. package/dist/interface/assets/{hasPermission-Cv-Silt3.js → hasPermission-g7MKb703.js} +1 -1
  72. package/dist/interface/assets/{instances-BjBsARle.js → instances-BV9I3c7j.js} +1 -1
  73. package/dist/interface/assets/{locale-_83xCkfX.js → locale-BYt-aVgE.js} +1 -1
  74. package/dist/interface/assets/{main-L2HCiLFS.css → main-CIfIE2H1.css} +1 -1
  75. package/dist/interface/assets/main-RhtUdk1i.js +3 -0
  76. package/dist/interface/assets/{notifications-DjPFJSMi.js → notifications-6APLyMBX.js} +1 -1
  77. package/dist/interface/assets/{plugins-CYXTnaHA.js → plugins-DM1BGcI9.js} +1 -1
  78. package/dist/interface/assets/{round-restart-alt-B4DTry1o.js → round-restart-alt-DYpSazYV.js} +1 -1
  79. package/dist/interface/assets/{router-cAiMkJTu.js → router-DSJRLymd.js} +2 -2
  80. package/dist/interface/assets/server-USCLWg5j.js +1 -0
  81. package/dist/interface/assets/{shares-aCZvOCus.js → shares-Bb1qhUXx.js} +1 -1
  82. package/dist/interface/assets/{theme-CCv8eMkH.js → theme-D2_SYr2z.js} +1 -1
  83. package/dist/interface/assets/types-BM7_Mdl3.js +1 -0
  84. package/dist/interface/assets/{useBiometricCredentials-efWYPOte.js → useBiometricCredentials-DwqOdV6s.js} +1 -1
  85. package/dist/interface/assets/{useCameraOptions-C_DS0VxZ.js → useCameraOptions-BxHlvNNj.js} +1 -1
  86. package/dist/interface/assets/{useCuiDialog-CiyUBAnR.js → useCuiDialog-DDOxJgxq.js} +1 -1
  87. package/dist/interface/assets/{useFileDownload-BmuAS3kq.js → useFileDownload-BtbVxiqd.js} +1 -1
  88. package/dist/interface/assets/{useLogsSocket-yoTXI8LY.js → useLogsSocket-Dcb1eXTJ.js} +1 -1
  89. package/dist/interface/assets/{useStreamStatus-DHcMacRY.js → useStreamStatus-BOA10Y4z.js} +1 -1
  90. package/dist/interface/assets/{users.schema-nZK4wXvw.js → users.schema-Dod-mP8U.js} +1 -1
  91. package/dist/interface/assets/{view-grid-BOIGk1YA.js → view-grid-fG_14uKl.js} +1 -1
  92. package/dist/interface/index.html +29 -29
  93. package/dist/interface/sw.js +1 -1
  94. package/dist/server/package.json +1 -1
  95. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +6 -4
  96. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/helper.py +2 -2
  97. package/dist/server/src/api/controllers/notifications.controller.js +10 -3
  98. package/dist/server/src/api/controllers/notifications.controller.js.map +1 -1
  99. package/dist/server/src/api/schemas/cameras.schema.js +14 -0
  100. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  101. package/dist/server/src/api/services/notifications.service.d.ts +3 -3
  102. package/dist/server/src/api/services/notifications.service.js +6 -6
  103. package/dist/server/src/api/services/notifications.service.js.map +1 -1
  104. package/dist/server/src/manager/notificationManager.d.ts +6 -3
  105. package/dist/server/src/manager/notificationManager.js +32 -14
  106. package/dist/server/src/manager/notificationManager.js.map +1 -1
  107. package/dist/server/src/manager/terminalManager.js +4 -0
  108. package/dist/server/src/manager/terminalManager.js.map +1 -1
  109. package/package.json +1 -1
  110. package/dist/interface/assets/CuiBottomSheet-lLGlW6W9.js +0 -1
  111. package/dist/interface/assets/SettingsAccount-CDs9kgkl.js +0 -1
  112. package/dist/interface/assets/SettingsAppearance-CmIQg0LB.js +0 -1
  113. package/dist/interface/assets/SettingsNotifications-GFUeBNtc.js +0 -2
  114. package/dist/interface/assets/SettingsSystem-B8Egv2PY.js +0 -2
  115. package/dist/interface/assets/api-Co-27wVr.js +0 -2
  116. package/dist/interface/assets/cloudHandoff-DkSQZL0l.js +0 -1
  117. package/dist/interface/assets/main-C-5uV5Ps.js +0 -3
  118. package/dist/interface/assets/server-2xTGm7ZB.js +0 -1
  119. package/dist/interface/assets/types-QvsYiGdQ.js +0 -1
@@ -1 +0,0 @@
1
- import{S as e}from"./vendor-CF-D4B9g.js";import{C as t,D as n,E as r,S as i,T as a,_ as ee,a as te,b as ne,c as re,d as ie,f as ae,g as oe,h as se,i as ce,l as le,m as o,n as ue,o as s,p as de,r as fe,s as pe,t as me,u as he,v as ge,w as c,x as _e,y as ve}from"./vendor-cameraui-tvNekvZ-.js";import{_ as l,a as u,b as d,c as f,d as ye,f as be,g as xe,h as p,i as m,l as Se,m as h,n as g,o as _,p as v,r as y,s as b,t as x,u as Ce,v as S,x as C,y as we}from"./vendor-zod-V2qTUMVc.js";p({tempToken:S().trim().min(1,`Temporary token is required`),code:S().trim().min(1,`Code is required`)}).strict(),p({code:S().trim().length(6,`Code must be 6 digits`)}).strict(),p({code:S().trim().min(1,`Code is required`)}).strict(),p({code:S().trim().min(1,`Code is required`)}).strict(),p({grant_type:S().optional(),username:S().trim().min(1,`Username is required`),password:S().min(1,`Password is required`),scope:S().optional(),client_id:S().optional(),client_secret:S().optional()}),p({refresh_token:S().min(1,`Refresh token is required`)}),p({id:S()});function Te(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var Ee=[`#df2a4c`,`#2a7fdf`,`#2adf7f`,`#df7f2a`,`#7f2adf`,`#2adfdf`,`#df2adf`,`#7fdf2a`];function De(){return Ee[Math.floor(Math.random()*Ee.length)]}function Oe(){return{name:`Default Zone`,points:[[0,0],[100,0],[100,100],[0,100]],type:`contain`,filter:`include`,labels:[`motion`,`person`,`vehicle`,`animal`],isPrivacyMask:!1,color:De()}}p({enabled:b().default(!1)}).strict();var ke=S().trim().min(1,`Detection label is required`),w=we([h(),h()]),T=p({name:S().trim().min(1,`Zone Name is required`),points:w.array().min(3,`At least 3 points are required`),type:d([v(`intersect`),v(`contain`)]),filter:d([v(`include`),v(`exclude`)]),labels:ke.array(),isPrivacyMask:b(),color:S().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),E=p({name:S().trim().min(1,`Line Name is required`),points:we([w,w]),direction:d([v(`both`),v(`a-to-b`),v(`b-to-a`)]),labels:ke.array(),color:S().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),D=p({motion:p({resolution:d([v(`low`),v(`medium`),v(`high`)]),timeout:h().min(10,`Minimum 10 seconds`)}),object:p({confidence:h().min(.3,`Minimum 0.3`).max(1,`Maximum 1`)}),audio:p({minDecibels:h().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:h().min(10,`Minimum 10 seconds`)}),sensor:p({timeout:h().min(10,`Minimum 10 seconds`),triggers:_(p({sensorType:S().trim().min(1,`Sensor type is required`),sensorName:S().trim().min(1,`Sensor name is required`),pluginId:S().trim().min(1,`Plugin ID is required`)})).default([])}),cascadeDetection:b().default(!0),cascadeTimeout:h().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:b().default(!1)}),Ae={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,returnToHome:!1,homeWaitMs:1e4},je=p({enabled:b().default(!1),targetLabels:S().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:h().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:h().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),returnToHome:b().default(!1),homeWaitMs:h().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4)}),O=d([v(`high-resolution`),v(`mid-resolution`),v(`low-resolution`),v(`snapshot`)]),Me=d([v(`high-resolution`),v(`mid-resolution`),v(`low-resolution`)]),k=d([v(`bubble://`),v(`cui://`),v(`doorbird://`),v(`dvrip://`),v(`eseecloud://`),v(`ffmpeg:`),v(`flussonic://`),v(`gopro://`),v(`hass:`),v(`homekit://`),v(`http://`),v(`https://`),v(`httpx://`),v(`isapi://`),v(`ivideon:`),v(`kasa://`),v(`nest:`),v(`onvif://`),v(`ring:`),v(`roborock://`),v(`rtmp://`),v(`rtsp://`),v(`rtspx://`),v(`tapo://`),v(`tcp://`),v(`tuya://`),v(`xiaomi://`),v(`yandex:`),v(`webrtc:`),v(`webtorrent:`),v(`wyze://`)]),Ne=k.options.map(e=>e.value),Pe=RegExp(`^(${Ne.join(`|`)})`),Fe=S().refine(e=>{if(!Pe.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`}),Ie=p({_id:S().default(e()).transform(()=>e()),name:S().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:O,useForSnapshot:b().default(!1),hotMode:b().default(!0),preload:b().default(!0),prebuffer:b().default(!1),urls:Fe.array().min(1,`At least one valid URL is required`),childSourceId:S().trim().min(1,`Child Source ID is required`).optional()}).strict(),Le=p({_id:S().default(e()).transform(()=>e()),name:S().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:O,useForSnapshot:b().default(!1),hotMode:b().default(!0),preload:b().default(!0),prebuffer:b().default(!1),urls:Fe.array().min(1,`At least one valid URL is required`),childSourceId:S().trim().min(1,`Child Source ID is required`).optional()}).strict(),A=p({id:S(),name:S().trim()}),Re=p({motion:A.optional(),object:A.optional(),audio:A.optional(),face:A.optional(),licensePlate:A.optional(),ptz:A.optional(),battery:A.optional(),cameraController:A.optional(),classifier:A.array().optional(),light:A.array().optional(),siren:A.array().optional(),switch:A.array().optional(),securitySystem:A.array().optional(),contact:A.array().optional(),doorbell:A.array().optional(),hub:A.array().optional()}).strict(),ze=d([v(`auto`),v(`mse`),v(`webrtc`),v(`webrtc/tcp`)]),Be=d([v(`16:9`),v(`9:16`),v(`8:3`),v(`4:3`),v(`1:1`)]),Ve=p({fps:h().min(0,`Minimum 0 fps`).max(30,`Maximum 30 fps`)}),He=d([v(`camera`),v(`doorbell`)]),j=p({streamingMode:ze,streamingSource:Me,aspectRatio:Be}),M=p({model:S().trim().optional(),manufacturer:S().trim().optional(),hardware:S().trim().optional(),serialNumber:S().trim().optional(),firmwareVersion:S().trim().optional(),supportUrl:S().trim().optional()});p({name:S().trim().min(1,`Camera name is required`),url:C(`Must be a valid URL`).trim().min(1,`Camera URL is required`),type:d([v(`Google`),v(`Ring`),v(`HomeKit`),v(`Onvif`),v(`Hass`),v(`GoPro`),v(`Roborock`),v(`FFmpeg`),v(`DVRip`),v(`Webtorrent`)]),username:S().trim().optional(),email:Ce(`Must be a valid email`).trim().optional(),password:S().trim().optional(),pin:S().trim().length(8,`PIN must be 8 characters long`).optional(),clientId:S().trim().optional(),clientSecret:S().trim().optional(),refreshToken:S().trim().optional(),projectId:S().trim().optional()}).strict().refine(e=>e.type===`HomeKit`?!!e.pin:!0,{message:`PIN is required for HomeKit cameras`,path:[`pin`]}).refine(e=>e.type===`Google`?!!e.clientId:!0,{message:`Client ID is required for Google cameras`,path:[`clientId`]}).refine(e=>e.type===`Google`?!!e.clientSecret:!0,{message:`Client Secret is required for Google cameras`,path:[`clientSecret`]}).refine(e=>e.type===`Google`?!!e.projectId:!0,{message:`Project ID is required for Google cameras`,path:[`projectId`]}).refine(e=>e.type===`Google`?!!e.refreshToken:!0,{message:`Refresh Token is required for Google cameras`,path:[`refreshToken`]}).refine(e=>e.type===`Ring`?!!e.email:!0,{message:`Email is required`,path:[`email`]}).refine(e=>e.type===`Roborock`?!!e.username:!0,{message:`Username is required`,path:[`username`]}).refine(e=>e.type===`Roborock`||e.type===`Ring`?!!e.password:!0,{message:`Password is required`,path:[`password`]});var Ue=p({id:S(),name:S().trim()}).strict(),N=p({autoRefresh:b().default(!1),ttl:h().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(50),interval:h().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(60)}).strict(),P=p({_id:S().default(e()).transform(()=>e()),nativeId:S().trim().optional(),pluginInfo:Ue.optional(),disabled:b().default(!1),name:S().trim().min(1,`Camera name is required`),room:S().trim().min(1,`Room is required`).default(`Default`),type:He.default(`camera`),isCloud:b().default(!1),snapshotSettings:N.default({autoRefresh:!1,ttl:50,interval:60}),info:M.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:Ie.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.useForSnapshot),{message:`Snapshot source can not be used with useForSnapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.hotMode),{message:`Snapshot source can not be used with hotMode`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.preload),{message:`Snapshot source can not be used with preload`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.prebuffer),{message:`Snapshot source can not be used with prebuffer`}),plugins:A.array().default([]),assignments:Re.default({}),interfaceSettings:j.default({streamingMode:`webrtc`,streamingSource:`high-resolution`,aspectRatio:`16:9`}),detectionZones:T.default([]),detectionLines:E.default([]),detectionSettings:D.default({motion:{resolution:`low`,timeout:30},object:{confidence:.5},audio:{minDecibels:-40,timeout:30},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:je.default(Ae),frameWorkerSettings:Ve.default({fps:10})}).strict();P.transform(e=>{let t=e.sources.flatMap(e=>e.urls),n=e.detectionZones.length===0?[Oe()]:e.detectionZones;return e.isCloud||Te(t)?{...e,isCloud:!0,detectionZones:n}:{...e,detectionZones:n}});var We=p({disabled:b().optional(),type:He.optional(),name:S().trim().min(1,`Camera name is required`).optional(),room:S().trim().min(1,`Room is required`).optional(),isCloud:b().optional(),snapshotSettings:N.partial().optional(),info:M.partial().optional(),sources:Le.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.useForSnapshot),{message:`Snapshot source can not be used with useForSnapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.hotMode),{message:`Snapshot source can not be used with hotMode`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.preload),{message:`Snapshot source can not be used with preload`}).optional(),plugins:A.array().optional(),assignments:Re.partial().optional(),interfaceSettings:j.partial().optional(),detectionZones:T.optional(),detectionLines:E.optional(),detectionSettings:D.partial().optional(),ptzAutotrack:je.partial().optional(),frameWorkerSettings:Ve.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||Te(t))return{...e,isCloud:!0}}return e});p({url:S().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),p({cameraname:S()}),p({cameraname:S(),sourcename:S()}),p({cameraid:S(),sourcename:S()}),p({cameraname:S(),pluginname:S()}),p({cameraname:S(),scope:S(),pluginname:S()}),p({cameraname:S(),pluginname:S(),sensorId:S()}),p({cameraname:S(),scope:S(),pluginname:S(),sensorId:S()}),p({type:S().optional()}),p({video:x().optional(),audio:x().optional(),microphone:x().optional()}),p({forceNew:x().optional()}),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:C(`Must be a valid URL`).trim(),credentials:p({username:S().trim().min(1,`Username is required`),password:S().min(1,`Password is required`)})}),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:C(`Must be a valid URL`).trim().optional(),credentials:p({username:S().trim().min(1,`Username is required`),password:S().min(1,`Password is required`)}).nullable().optional()}),p({id:S().min(1,`ID is required`)});var Ge=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,Ke=function(e){return e.READY=`ready`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPING=`stopping`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e.DISABLED=`disabled`,e}({});function F(e){return e.mimetype!==void 0}function qe(e){return F(e)?Buffer.byteLength(e._buf):e.size}function Je(e){return F(e)?e.mimetype:e.type}function I(e,t,n,r){return f().refine(t=>qe(t)<=e,n).refine(e=>t.includes(Je(e)),r)}var Ye=p({start:g().optional(),page:g().optional(),pageSize:g().optional()}),L=[`image/jpeg`,`image/png`],Xe=1024*1024*2,R=[`video/mp4`,`video/quicktime`],z=1024*1024*10,B=[`audio/mpeg`,`audio/wav`,`audio/ogg`],V=1024*1024*2,H=()=>I(Xe,L,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),U=f().transform(e=>JSON.parse(e.value)),W=f().transform(e=>JSON.parse(e.value)),Ze=f().transform(e=>JSON.parse(e.value));p({pluginname:S().trim().refine(e=>Ge.test(e),`Not a valid plugin name`),pluginversion:S().trim().optional().default(`latest`)}).strict(),p({actionId:S(),payload:u()}).strict(),l(u(),u()),p({upload:H(),metadata:W,config:U}),p({upload:I(V,B,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:Ze,config:U}),p({upload:I(z,R,`Max file size is 5 MB`,`.mp4 files are accepted`),config:U}),p({upload:H(),metadata:W,config:U}),p({upload:H(),metadata:W,config:U}),p({upload:H(),metadata:W,config:U}),p({pluginname:S()}),p({scope:S(),pluginname:S()}),Ye.extend({pluginname:S().trim().optional()}),p({removeStorage:x().optional()});var Qe=p({enabled:b().optional(),directEnabled:b().optional(),directMode:m([`cloudflare`,`customDomain`]).optional(),customDomain:p({url:C(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:p({mode:m([`quick`,`token`,`managed`]).optional(),hostname:S().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:S().trim().min(1,`Token is required`).nullable().optional()}).strict().optional()}).strict().refine(e=>!(e.directMode===`customDomain`&&!e.customDomain?.url),{message:`Custom domain URL is required when directMode is "customDomain"`,path:[`customDomain`,`url`]}).refine(e=>!(e.cloudflare?.mode===`token`&&!e.cloudflare?.token),{message:`Token is required when cloudflare.mode is "token"`,path:[`cloudflare`,`token`]}).refine(e=>!(e.cloudflare?.mode&&e.cloudflare.mode!==`quick`&&!e.cloudflare?.hostname),{message:`Hostname is required when cloudflare.mode is "token" or "managed"`,path:[`cloudflare`,`hostname`]});p({mode:m([`cloudflare`,`customDomain`])}).strict(),p({hostname:S().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).regex(/^[a-z0-9.-]+\.[a-z]{2,}$/i,`Invalid hostname`)}).strict(),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),p({name:S().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict(),p({version:S().trim().optional().default(`latest`)}).strict();var $e=p({serverAddresses:d([ye().trim(),be().trim()]).array().default([])}).strict();l(S(),u()),p({key:S()}).strict(),p({key:S(),payload:u()}).strict();var et=[`image/jpeg`,`image/jpg`,`image/png`],tt=1024*1024*5,nt=p({index:h(),cameraId:S(),colSpan:h().optional(),rowSpan:h().optional(),x:h().optional(),y:h().optional()}),rt=d([v(1),v(4),v(6),v(7),v(9),v(10),v(12),v(13),v(15),v(16),v(20),v(26)]),it=d([v(`dnd`),v(`view`)]),at=p({_id:S().default(e()).transform(()=>e()),name:S().trim().min(1,`Layout name is required`),viewSize:rt,cameras:nt.array(),type:it});p({name:S().trim().min(1,`Layout name is required`),viewSize:rt,cameras:nt.array()}).partial().optional();var ot=p({views:at.array()}),st=m([`contact`,`temperature`,`humidity`,`occupancy`,`smoke`,`leak`,`light`,`siren`,`switch`,`lock`,`garage`,`doorbell`,`securitySystem`,`battery`]),ct=Se(`type`,[p({_id:S().default(e()).transform(()=>e()),type:v(`camera`),cameraId:S(),points:w}),p({_id:S().default(e()).transform(()=>e()),type:v(`sensor`),sensorType:st,sensorName:S(),sensorPluginId:S(),sensorCameraId:S(),points:w})]);d([p({type:v(`camera`),cameraId:S(),points:w}).partial(),p({type:v(`sensor`),sensorType:st,sensorName:S(),sensorPluginId:S(),sensorCameraId:S(),points:w}).partial()]).optional();var lt=p({shortcuts:ct.array()}),ut=p({camview:ot,cameras:l(S().trim(),lt)}),G=S().trim().min(10,`Password must be at least 10 characters long`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/,`Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'"\\|,.<>/?)`).max(32,`Password cannot be more than 32 characters`),dt=p({_id:S().default(e()).transform(()=>e()),username:S().trim().min(1,`Username is required`),password:G,passwordConfirm:S().trim().min(1,`Please confirm your password`),role:d([v(`admin`),v(`user`)]),firstLogin:b().default(!0),preferences:ut.default({camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});p({username:S().trim().min(1,`Username is required`),password:S().trim().min(1,`Password is required`),kind:m([`native`,`web`]),persistent:b().default(!1),device:p({id:S().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:S().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var ft=p({username:S().trim().min(1,`Username is required`).optional(),password:G.optional(),passwordConfirm:S().trim().optional(),role:d([v(`admin`),v(`user`)]).optional(),upload:xe(I(tt,et,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:b().optional(),preferences:ut.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});p({username:S()}),p({username:S(),cameraname:S()}),p({username:S(),cameraname:S(),shortcutid:S()}),p({username:S(),viewid:S()}),p({username:S()});var K={[n.Motion]:{category:r.Sensor,assignmentKey:`motion`,multiProvider:!1,isDetectionType:!0},[n.Object]:{category:r.Sensor,assignmentKey:`object`,multiProvider:!1,isDetectionType:!0},[n.Audio]:{category:r.Sensor,assignmentKey:`audio`,multiProvider:!1,isDetectionType:!0},[n.Face]:{category:r.Sensor,assignmentKey:`face`,multiProvider:!1,isDetectionType:!0},[n.LicensePlate]:{category:r.Sensor,assignmentKey:`licensePlate`,multiProvider:!1,isDetectionType:!0},[n.Classifier]:{category:r.Sensor,assignmentKey:`classifier`,multiProvider:!0,isDetectionType:!0},[n.Clip]:{category:r.Sensor,assignmentKey:`clip`,multiProvider:!1,isDetectionType:!0},[n.Contact]:{category:r.Sensor,assignmentKey:`contact`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Light]:{category:r.Control,assignmentKey:`light`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`on`,value:!0,sustained:!0}},[n.Siren]:{category:r.Control,assignmentKey:`siren`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`active`,value:!0,sustained:!0}},[n.Switch]:{category:r.Control,assignmentKey:`switch`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`on`,value:!0,sustained:!0}},[n.PTZ]:{category:r.Control,assignmentKey:`ptz`,multiProvider:!1,isDetectionType:!1},[n.Lock]:{category:r.Control,assignmentKey:`lock`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`currentState`,value:1,sustained:!0}},[n.SecuritySystem]:{category:r.Control,assignmentKey:`securitySystem`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`currentState`,value:4,sustained:!0}},[n.Doorbell]:{category:r.Trigger,assignmentKey:`doorbell`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`ring`,value:!0,sustained:!1}},[n.Temperature]:{category:r.Info,assignmentKey:`temperature`,multiProvider:!0,isDetectionType:!1},[n.Humidity]:{category:r.Info,assignmentKey:`humidity`,multiProvider:!0,isDetectionType:!1},[n.Occupancy]:{category:r.Sensor,assignmentKey:`occupancy`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Smoke]:{category:r.Sensor,assignmentKey:`smoke`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Leak]:{category:r.Sensor,assignmentKey:`leak`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Garage]:{category:r.Control,assignmentKey:`garage`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`currentState`,value:0,sustained:!0}},[n.Battery]:{category:r.Info,assignmentKey:`battery`,multiProvider:!1,isDetectionType:!1}};n.Battery,c.Charging,t.Charging,c.Low,t.LowBattery,n.Light,o.Brightness,de.Brightness,n.Siren,s.Volume,te.Volume;function pt(){return Object.entries(K).filter(([,e])=>e.multiProvider).map(([e])=>e)}function mt(){return Object.entries(K).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function ht(e){return K[e].assignmentKey}function gt(){return Object.entries(K).filter(([,e])=>e.category===r.Sensor&&!e.multiProvider).map(([e])=>e)}function _t(){return Object.entries(K).filter(([,e])=>!e.multiProvider&&e.category!==r.Sensor).map(([e])=>e)}function vt(){return Object.entries(K).filter(([,e])=>e.multiProvider).map(([e])=>e)}function yt(e){return!K[e].multiProvider}var bt={[n.Motion]:Object.values(ie),[n.Object]:Object.values(he),[n.Audio]:Object.values(a),[n.Face]:Object.values(ve),[n.LicensePlate]:Object.values(se),[n.Classifier]:Object.values(i),[n.Clip]:[],[n.Contact]:Object.values(_e),[n.Temperature]:Object.values(ue),[n.Humidity]:Object.values(ee),[n.Occupancy]:Object.values(le),[n.Smoke]:Object.values(ce),[n.Leak]:Object.values(oe),[n.Light]:Object.values(o),[n.Siren]:Object.values(s),[n.Switch]:Object.values(fe),[n.Lock]:Object.values(ae),[n.Garage]:Object.values(ge),[n.PTZ]:Object.values(re),[n.SecuritySystem]:Object.values(pe),[n.Doorbell]:Object.values(ne),[n.Battery]:Object.values(c)};function xt(e){return bt[e]??[]}new Set(pt()),new Set(mt());var St=`bubble://.cui://.doorbird://.dvrip://.echo:.eseecloud://.exec:.expr:.ffmpeg:.flussonic://.gopro://.hass:.homekit://.http://.https://.httpx://.isapi://.ivideon:.kasa://.nest:.onvif://.ring:.roborock://.rtmp://.rtsp://.rtspx://.tapo://.tcp://.tuya://.xiaomi://.yandex:.webrtc:.webtorrent:.wyze://`.split(`.`),Ct=[`#backchannel=`,`#header=`,`#media=audio`,`#media=video`,`#timeout=10`,`#timeout=20`,`#timeout=30`,`#transport=`],wt=`#audio=aac.#audio=aac/16000.#audio=mp3.#audio=opus.#audio=pcm.#audio=pcm/8000.#audio=pcm/16000.#audio=pcm/48000.#audio=pcma.#audio=pcma/8000.#audio=pcma/16000.#audio=pcma/48000.#audio=pcml.#audio=pcml/8000.#audio=pcml/44100.#audio=pcmu.#audio=pcmu/8000.#audio=pcmu/16000.#audio=pcmu/48000.#drawtext.#hardware.#hardware=cuda.#hardware=dxva2.#hardware=rkmpp.#hardware=v4l2m2m.#hardware=vaapi.#hardware=videotoolbox.#height=.#raw=.#rotate=-90.#rotate=90.#rotate=180.#rotate=270.#video=copy.#video=h264.#video=h265.#video=mjpeg.#width=`.split(`.`),Tt=[`client_id=`,`client_private=`,`device_id=`,`device_public=`],Et=[`#header=`],Dt=[`client_id=`,`client_secret=`,`refresh_token=`,`project_id=`,`device_id=`],Ot=[`device_id=`,`refresh_token=`],kt=[`#client_id=`,`#format=openipc`,`#format=wyze`,`#format=kinesis`,`#ice_servers=`];function At(e){return e.type===`string`&&!(`enum`in e)}function jt(e){return e.type===`number`}function Mt(e){return e.type===`boolean`}function q(e){return e.type===`string`&&`enum`in e}function Nt(e){return e.type===`array`}function J(e){return e.type===`button`}function Y(e){return e.type===`submit`}function Pt(e){return At(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var Ft=(e,t)=>{let n=Q(t,e.key),r=e.value;switch(e.operator??`eq`){case`eq`:return n===r;case`neq`:return n==null||n===``?!1:n!==r;case`gt`:return typeof n==`number`&&typeof r==`number`&&n>r;case`lt`:return typeof n==`number`&&typeof r==`number`&&n<r;case`in`:return(Array.isArray(r)?r:[r]).includes(n);case`nin`:return n==null||n===``?!1:!(Array.isArray(r)?r:[r]).includes(n);default:return!0}};function X(e,t){return Array.isArray(e)?e.every(e=>Ft(e,t)):Ft(e,t)}function It(e,t){if(!e||Object.keys(e).length===0)return!0;let n=t.filter(e=>!J(e)&&!Y(e));for(let t of n){let n=Q(e,t.key),r=Z(t);if(n!==void 0&&!me(n,r,!0))return!1}return!0}function Z(e){if(`defaultValue`in e&&e.defaultValue!==void 0)return e.defaultValue;switch(e.type){case`string`:return q(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];default:return}}function Lt(e){let t={};for(let n of e)J(n)||Y(n)||(t[n.key]=Z(n));return t}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=t.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[]),r=e;for(let e of n){if(r==null)return;r=r[e]}return r}function Rt(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=t.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[]),i=r.pop();if(!i)return;let a=e;for(let e of r){if(a[e]===void 0||a[e]===null){let t=r[r.indexOf(e)+1];a[e]=isNaN(Number(t))?{}:[]}a=a[e]}a[i]=n}function zt(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!J(r)&&!Y(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function Bt(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function Vt(e,t){let n=Bt(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function Ht(e,t){let n=Bt(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function Ut(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(J(e)||Y(e))return u();switch(e.type){case`string`:if(q(e))if(e.multiple){let t=_(S().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.required&&(t=t.min(1,{error:`Required`})),e.required?t:t.optional()}else{let t=m(e.enum);return e.required?t:t.optional()}let t=S().trim();return e.required&&(t=t.nonempty(`Required`)),e.minLength!==void 0&&(t=t.min(e.minLength)),e.maxLength!==void 0&&(t=t.max(e.maxLength)),e.format&&(t=t.refine(t=>!t||t.trim()===``||Ut(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=h();return e.minimum!==void 0&&(n=n.min(e.minimum)),e.maximum!==void 0&&(n=n.max(e.maximum)),e.required&&(n=n.refine(e=>e!=null,{error:`Required`})),e.required?n:n.optional();case`boolean`:return e.required?b():b().optional();case`array`:let r=_($(e.items));return e.required?r:r.optional();default:return e.required?u():u().optional()}}var Wt=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function Gt(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!J(e)&&!Y(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=p(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!J(e)&&!Y(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(Wt(t,e,i)){let n=e.filter(e=>`group`in e&&e.group===i);for(let e of n)if(`required`in e&&e.required){if(`condition`in e&&e.condition&&!X(e.condition,t))continue;let n=t[e.key];(n==null||n===``)&&r.addIssue({code:y.custom,message:`Required`,path:[e.key]})}}for(let e of i)if(!(`group`in e&&e.group)&&`condition`in e&&e.condition&&X(e.condition,t)){let n=t[e.key];(n==null||n===``)&&r.addIssue({code:y.custom,message:`Required`,path:[e.key]})}})),r}var Kt=function(e){return e.READY=`ready`,e.RESTARTING=`restarting`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e}({});export{ht as A,$e as B,Dt as C,kt as D,St as E,tt as F,V as G,B as H,dt as I,P as J,z as K,G as L,gt as M,xt as N,K as O,yt as P,ft as R,Et as S,Ct as T,R as U,Qe as V,L as W,O as X,k as Y,We as Z,Vt as _,zt as a,wt as b,Nt as c,It as d,q as f,Pt as g,Y as h,Z as i,_t as j,vt as k,Mt as l,At as m,X as n,Gt as o,jt as p,Ke as q,Lt as r,Q as s,Kt as t,J as u,Ht as v,Ot as w,Tt as x,Rt as y,at as z};