@camstack/addon-export-hap 0.1.1 → 0.1.2

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.
@@ -11308,13 +11308,13 @@ function em() {
11308
11308
  function tm() {
11309
11309
  return e(Qp)?.device ?? null;
11310
11310
  }
11311
- var nm = Z.accessories.getStatus.useQuery, rm = Z.addonPages.listPages.useQuery, im = Z.addons.list.useQuery, am = Z.addons.getLogs.useQuery, om = Z.addons.listPackages.useQuery, sm = Z.addons.installPackage.useMutation, cm = Z.addons.installFromWorkspace.useMutation, lm = Z.addons.isWorkspaceAvailable.useQuery, um = Z.addons.listWorkspacePackages.useQuery, dm = Z.addons.uninstallPackage.useMutation, fm = Z.addons.reloadPackages.useMutation, pm = Z.addons.searchAvailable.useQuery, mm = Z.addons.listUpdates.useQuery, hm = Z.addons.updatePackage.useMutation, gm = Z.addons.rollbackPackage.useMutation, _m = Z.addons.forceRefresh.useMutation, vm = Z.addons.restartServer.useMutation, ym = Z.addons.getVersions.useQuery, bm = Z.addons.restartAddon.useMutation, xm = Z.addons.retryLoad.useMutation, Sm = Z.addons.getAutoUpdateSettings.useQuery, Cm = Z.addons.setAutoUpdateSettings.useMutation, wm = Z.addons.getAddonAutoUpdate.useQuery, Tm = Z.addons.setAddonAutoUpdate.useMutation, Em = Z.addons.applyAutoUpdateToAll.useMutation, Dm = Z.addons.custom.useMutation, Om = Z.addons.onAddonLogs.useSubscription, km = Z.addonSettings.getGlobalSettings.useQuery, Am = Z.addonSettings.updateGlobalSettings.useMutation, jm = Z.addonSettings.getDeviceSettings.useQuery, Mm = Z.addonSettings.updateDeviceSettings.useMutation, Nm = Z.addonWidgets.listWidgets.useQuery, Pm = Z.alerts.emit.useMutation, Fm = Z.alerts.update.useMutation, Im = Z.alerts.list.useQuery, Lm = Z.alerts.getUnreadCount.useQuery, Rm = Z.alerts.markRead.useMutation, zm = Z.alerts.markAllRead.useMutation, Bm = Z.alerts.dismiss.useMutation, Vm = Z.audioAnalysis.resolveDeviceSettings.useQuery, Hm = Z.audioAnalysis.getDeviceSettingsContribution.useQuery, Um = Z.audioAnalysis.getDeviceLiveContribution.useQuery, Wm = Z.audioAnalysis.applyDeviceSettingsPatch.useMutation, Gm = Z.audioAnalyzer.analyseChunk.useMutation, Km = Z.audioAnalyzer.classify.useQuery, qm = Z.audioAnalyzer.isReady.useQuery, Jm = Z.audioAnalyzer.dispose.useMutation, Ym = Z.audioAnalyzer.reprobeAudioEngine.useMutation, Xm = Z.audioCodec.listSupportedCodecs.useQuery, Zm = Z.audioCodec.canHandle.useQuery, Qm = Z.audioCodec.createDecodeSession.useMutation, $m = Z.audioCodec.createEncodeSession.useMutation, eh = Z.audioCodec.closeSession.useMutation, th = Z.audioCodec.pushEncodedFrame.useMutation, nh = Z.audioCodec.pullPcm.useQuery, rh = Z.audioCodec.pushPcm.useMutation, ih = Z.audioCodec.pullEncoded.useQuery, ah = Z.audioCodec.flushEncode.useMutation, oh = Z.audioCodec.listActiveSessions.useQuery, sh = Z.audioMetrics.getCurrentSnapshot.useQuery, ch = Z.audioMetrics.getHistory.useQuery, lh = Z.authentication.listProviders.useQuery, uh = Z.authentication.setProviderEnabled.useMutation, dh = Z.backup.listDestinations.useQuery, fh = Z.backup.trigger.useMutation, ph = Z.backup.list.useQuery, mh = Z.backup.listLocations.useQuery, hh = Z.backup.getEntries.useQuery, gh = Z.backup.restore.useMutation, _h = Z.backup.delete.useMutation, vh = Z.backup.listArchives.useQuery, yh = Z.backup.upsertDestinationPolicy.useMutation, bh = Z.backup.previewSchedule.useQuery, xh = Z.battery.getStatus.useQuery, Sh = Z.brightness.setBrightness.useMutation, Ch = Z.brightness.getStatus.useQuery, wh = Z.cameraCredentials.getCredentials.useQuery, Th = Z.cameraCredentials.getStatus.useQuery, Eh = Z.cameraStreams.getCameraStreams.useQuery, Dh = Z.cameraStreams.getBrokerStreams.useQuery, Oh = Z.cameraStreams.getRtspEntries.useQuery, kh = Z.decoder.supportsCodec.useQuery, Ah = Z.decoder.getInfo.useQuery, jh = Z.decoder.createSession.useQuery, Mh = Z.decoder.destroySession.useQuery, Nh = Z.decoder.pushPacket.useQuery, Ph = Z.decoder.openStream.useQuery, Fh = Z.decoder.pullFrames.useQuery, Ih = Z.decoder.updateConfig.useQuery, Lh = Z.decoder.getStats.useQuery, Rh = Z.decoder.listActiveSessions.useQuery, zh = Z.decoder.reprobeHwaccel.useMutation, Bh = Z.detectionPipeline.getDeviceSettingsContribution.useQuery, Vh = Z.detectionPipeline.getDeviceLiveContribution.useQuery, Hh = Z.detectionPipeline.applyDeviceSettingsPatch.useMutation, Uh = Z.deviceDiscovery.listDiscovered.useQuery, Wh = Z.deviceDiscovery.refreshDiscovery.useMutation, Gh = Z.deviceDiscovery.adoptDevice.useMutation, Kh = Z.deviceDiscovery.releaseDevice.useMutation, qh = Z.deviceDiscovery.getStatus.useQuery, Jh = Z.deviceExport.getStatus.useQuery, Yh = Z.deviceExport.listSupportedDeviceKinds.useQuery, Xh = Z.deviceExport.listExposedDevices.useQuery, Zh = Z.deviceExport.exposeDevice.useMutation, Qh = Z.deviceExport.unexposeDevice.useMutation, $h = Z.deviceExport.getDeviceSettingsContribution.useQuery, eg = Z.deviceExport.getDeviceLiveContribution.useQuery, tg = Z.deviceExport.applyDeviceSettingsPatch.useMutation, ng = Z.deviceManager.allocateDeviceId.useMutation, rg = Z.deviceManager.registerDevice.useMutation, ig = Z.deviceManager.removeDevice.useMutation, ag = Z.deviceManager.persistConfig.useMutation, og = Z.deviceManager.loadConfig.useQuery, sg = Z.deviceManager.loadRuntimeState.useQuery, cg = Z.deviceManager.loadMeta.useQuery, lg = Z.deviceManager.setName.useMutation, ug = Z.deviceManager.setLocation.useMutation, dg = Z.deviceManager.setMetadata.useMutation, fg = Z.deviceManager.listLocations.useQuery, pg = Z.deviceManager.addLocation.useMutation, mg = Z.deviceManager.removeLocation.useMutation, hg = Z.deviceManager.setDisabled.useMutation, gg = Z.deviceManager.listPersistedByAddon.useQuery, _g = Z.deviceManager.listAll.useQuery, vg = Z.deviceManager.getDevice.useQuery, yg = Z.deviceManager.getChildren.useQuery, bg = Z.deviceManager.getStreamSources.useQuery, xg = Z.deviceManager.getConfigSchema.useQuery, Sg = Z.deviceManager.getSettingsSchema.useQuery, Cg = Z.deviceManager.updateConfig.useMutation, wg = Z.deviceManager.enable.useMutation, Tg = Z.deviceManager.disable.useMutation, Eg = Z.deviceManager.remove.useMutation, Dg = Z.deviceManager.getStreamProfileMap.useQuery, Og = Z.deviceManager.setStreamProfileMap.useMutation, kg = Z.deviceManager.probeStreams.useMutation, Ag = Z.deviceManager.getBindings.useQuery, jg = Z.deviceManager.getAllBindings.useQuery, Mg = Z.deviceManager.setWrapperActive.useMutation, Ng = Z.deviceManager.listWrappersForCap.useQuery, Pg = Z.deviceManager.listBindableCapsForDeviceType.useQuery, Fg = Z.deviceManager.getDeviceSettingsAggregate.useQuery, Ig = Z.deviceManager.getDeviceLiveInfoAggregate.useQuery, Lg = Z.deviceManager.getDeviceAggregate.useQuery, Rg = Z.deviceManager.updateDeviceField.useMutation, zg = Z.deviceManager.updateDeviceFieldsBatch.useMutation, Bg = Z.deviceManager.discoverDevices.useMutation, Vg = Z.deviceManager.adoptDevice.useMutation, Hg = Z.deviceManager.getCreationSchema.useQuery, Ug = Z.deviceManager.createDevice.useMutation, Wg = Z.deviceManager.testCreationField.useMutation, Gg = Z.deviceManager.testField.useMutation, Kg = Z.deviceManager.getDeviceStatusAggregate.useQuery, qg = Z.deviceOps.getStreamSources.useQuery, Jg = Z.deviceOps.getConfigEntries.useQuery, Yg = Z.deviceOps.setConfig.useMutation, Xg = Z.deviceOps.removeDevice.useMutation, Zg = Z.deviceOps.getSettingsSchema.useQuery, Qg = Z.deviceProvider.start.useMutation, $g = Z.deviceProvider.stop.useMutation, e_ = Z.deviceProvider.getStatus.useQuery, t_ = Z.deviceProvider.getDevices.useQuery, n_ = Z.deviceProvider.supportsDiscovery.useQuery, r_ = Z.deviceProvider.discoverDevices.useMutation, i_ = Z.deviceProvider.adoptDiscoveredDevice.useMutation, a_ = Z.deviceProvider.supportsManualCreation.useQuery, o_ = Z.deviceProvider.getChildCreationSchema.useQuery, s_ = Z.deviceProvider.createDevice.useMutation, c_ = Z.deviceProvider.testCreationField.useMutation, l_ = Z.deviceState.getSnapshot.useQuery, u_ = Z.deviceState.getCapSlice.useQuery, d_ = Z.deviceState.getAllSnapshots.useQuery, f_ = Z.deviceState.setCapSlice.useMutation, p_ = Z.deviceStatus.getStatus.useQuery, m_ = Z.doorbell.getStatus.useQuery, h_ = Z.events.getEvents.useQuery, g_ = Z.events.getEventThumbnail.useQuery, __ = Z.events.getEventClipUrl.useQuery, v_ = Z.featureProbe.getStatus.useQuery, y_ = Z.integrations.list.useQuery, b_ = Z.integrations.get.useQuery, x_ = Z.integrations.getByAddonId.useQuery, S_ = Z.integrations.create.useMutation, C_ = Z.integrations.update.useMutation, w_ = Z.integrations.delete.useMutation, T_ = Z.integrations.getSettings.useQuery, E_ = Z.integrations.setSettings.useMutation, D_ = Z.integrations.getAvailableTypes.useQuery, O_ = Z.integrations.testConnection.useMutation, k_ = Z.intercom.startSession.useMutation, A_ = Z.intercom.handleAnswer.useMutation, j_ = Z.intercom.stopSession.useMutation, M_ = Z.intercom.startTalkSession.useMutation, N_ = Z.intercom.pushTalkPcm.useMutation, P_ = Z.intercom.endTalkSession.useMutation, F_ = Z.intercom.getStatus.useQuery, I_ = Z.localNetwork.list.useQuery, L_ = Z.localNetwork.getPreferred.useQuery, R_ = Z.localNetwork.getConnectionEndpoints.useQuery, z_ = Z.localNetwork.getAllowedAddresses.useQuery, B_ = Z.localNetwork.setAllowedAddresses.useMutation, V_ = Z.localNetwork.resetAllowlistToBestMatch.useMutation, H_ = Z.meshNetwork.getStatus.useQuery, U_ = Z.meshNetwork.join.useMutation, W_ = Z.meshNetwork.startLogin.useMutation, G_ = Z.meshNetwork.leave.useMutation, K_ = Z.meshNetwork.listPeers.useQuery, q_ = Z.meshNetwork.testConnection.useMutation, J_ = Z.meshOrchestrator.listProviders.useQuery, Y_ = Z.meshOrchestrator.joinProvider.useMutation, X_ = Z.meshOrchestrator.leaveProvider.useMutation, Z_ = Z.metricsProvider.collectSnapshot.useQuery, Q_ = Z.metricsProvider.getCached.useQuery, $_ = Z.metricsProvider.getCurrent.useQuery, ev = Z.metricsProvider.getDiskSpace.useQuery, tv = Z.metricsProvider.getGpuInfo.useQuery, nv = Z.metricsProvider.getCpuTemperature.useQuery, rv = Z.metricsProvider.getProcessStats.useQuery, iv = Z.metricsProvider.listAddonInstances.useQuery, av = Z.metricsProvider.getAddonStats.useQuery, ov = Z.metricsProvider.listNodeProcesses.useQuery, sv = Z.metricsProvider.killProcess.useMutation, cv = Z.motion.isDetected.useQuery, lv = Z.motion.getStatus.useQuery, uv = Z.motionDetection.analyze.useMutation, dv = Z.motionDetection.removeCamera.useMutation, fv = Z.motionDetection.reset.useMutation, pv = Z.motionDetection.getDeviceSettingsContribution.useQuery, mv = Z.motionDetection.getDeviceLiveContribution.useQuery, hv = Z.motionDetection.applyDeviceSettingsPatch.useMutation, gv = Z.motionTrigger.setMotionTrigger.useMutation, _v = Z.motionTrigger.getStatus.useQuery, vv = Z.mqttBroker.listBrokers.useQuery, yv = Z.mqttBroker.getBrokerConfig.useQuery, bv = Z.mqttBroker.addBroker.useMutation, xv = Z.mqttBroker.removeBroker.useMutation, Sv = Z.mqttBroker.testConnection.useMutation, Cv = Z.mqttBroker.startEmbeddedBroker.useMutation, wv = Z.mqttBroker.stopEmbeddedBroker.useMutation, Tv = Z.mqttBroker.getStatus.useQuery, Ev = Z.nativeObjectDetection.getStatus.useQuery, Dv = Z.networkQuality.getDeviceStats.useQuery, Ov = Z.networkQuality.getAllStats.useQuery, kv = Z.networkQuality.reportClientStats.useMutation, Av = Z.nodes.topology.useQuery, jv = Z.nodes.deployAddon.useMutation, Mv = Z.nodes.undeployAddon.useMutation, Nv = Z.nodes.restartAddon.useMutation, Pv = Z.nodes.restartProcess.useMutation, Fv = Z.nodes.restartNode.useMutation, Iv = Z.nodes.shutdownNode.useMutation, Lv = Z.nodes.renameNode.useMutation, Rv = Z.nodes.clusterAddonStatus.useQuery, zv = Z.nodes.setProcessLogLevel.useMutation, Bv = Z.nodes.executeQuery.useMutation, Vv = Z.notificationOutput.send.useMutation, Hv = Z.notificationOutput.sendTest.useMutation, Uv = Z.osd.setOverlay.useMutation, Wv = Z.osd.getStatus.useQuery, Gv = Z.pipelineAnalytics.getActiveTracks.useQuery, Kv = Z.pipelineAnalytics.getTrack.useQuery, qv = Z.pipelineAnalytics.listTracks.useQuery, Jv = Z.pipelineAnalytics.clearTracks.useMutation, Yv = Z.pipelineAnalytics.getMotionEvents.useQuery, Xv = Z.pipelineAnalytics.getObjectEvents.useQuery, Zv = Z.pipelineAnalytics.getAudioEvents.useQuery, Qv = Z.pipelineAnalytics.getEventMedia.useQuery, $v = Z.pipelineAnalytics.getTrackMedia.useQuery, ey = Z.pipelineAnalytics.getDeviceSettingsContribution.useQuery, ty = Z.pipelineAnalytics.getDeviceLiveContribution.useQuery, ny = Z.pipelineAnalytics.applyDeviceSettingsPatch.useMutation, ry = Z.pipelineExecutor.getAvailableEngines.useQuery, iy = Z.pipelineExecutor.getSelectedEngine.useQuery, ay = Z.pipelineExecutor.getDefaultSteps.useQuery, oy = Z.pipelineExecutor.reprobeEngine.useMutation, sy = Z.pipelineExecutor.getVideoPipelineSteps.useQuery, cy = Z.pipelineExecutor.setVideoPipelineSteps.useMutation, ly = Z.pipelineExecutor.getSchema.useQuery, uy = Z.pipelineExecutor.getGlobalSteps.useQuery, dy = Z.pipelineExecutor.getGlobalPipelineConfig.useQuery, fy = Z.pipelineExecutor.getOrchestratorConfigSchema.useQuery, py = Z.pipelineExecutor.listTemplates.useQuery, my = Z.pipelineExecutor.saveTemplate.useMutation, hy = Z.pipelineExecutor.updateTemplate.useMutation, gy = Z.pipelineExecutor.deleteTemplate.useMutation, _y = Z.pipelineExecutor.getCapabilities.useQuery, vy = Z.pipelineExecutor.getAddonModels.useQuery, yy = Z.pipelineExecutor.downloadModel.useMutation, by = Z.pipelineExecutor.deleteModel.useMutation, xy = Z.pipelineExecutor.detect.useQuery, Sy = Z.pipelineExecutor.runPipeline.useMutation, Cy = Z.pipelineExecutor.runPipelineBatch.useMutation, wy = Z.pipelineExecutor.cacheFrameInPool.useMutation, Ty = Z.pipelineExecutor.inferCached.useMutation, Ey = Z.pipelineExecutor.uncacheFrame.useMutation, Dy = Z.pipelineExecutor.getEffectiveTuning.useQuery, Oy = Z.pipelineExecutor.listLoadedEngines.useQuery, ky = Z.pipelineExecutor.spinEngine.useMutation, Ay = Z.pipelineExecutor.killEngine.useMutation, jy = Z.pipelineExecutor.listReferenceImages.useQuery, My = Z.pipelineExecutor.getReferenceImage.useQuery, Ny = Z.pipelineExecutor.getReferenceAudioFiles.useQuery, Py = Z.pipelineExecutor.getReferenceAudio.useQuery, Fy = Z.pipelineExecutor.getAudioCapabilities.useQuery, Iy = Z.pipelineExecutor.runAudioTest.useMutation, Ly = Z.pipelineExecutor.getDetectionConfigSchema.useQuery, Ry = Z.pipelineOrchestrator.assignPipeline.useMutation, zy = Z.pipelineOrchestrator.unassignPipeline.useMutation, By = Z.pipelineOrchestrator.rebalance.useMutation, Vy = Z.pipelineOrchestrator.getPipelineAssignments.useQuery, Hy = Z.pipelineOrchestrator.getPipelineAssignment.useQuery, Uy = Z.pipelineOrchestrator.getAgentLoad.useQuery, Wy = Z.pipelineOrchestrator.getGlobalMetrics.useQuery, Gy = Z.pipelineOrchestrator.getCameraMetrics.useQuery, Ky = Z.pipelineOrchestrator.getCapabilityBindings.useQuery, qy = Z.pipelineOrchestrator.setCapabilityBinding.useMutation, Jy = Z.pipelineOrchestrator.assignDecoder.useMutation, Yy = Z.pipelineOrchestrator.unassignDecoder.useMutation, Xy = Z.pipelineOrchestrator.getDecoderAssignments.useQuery, Zy = Z.pipelineOrchestrator.assignAudio.useMutation, Qy = Z.pipelineOrchestrator.unassignAudio.useMutation, $y = Z.pipelineOrchestrator.getAudioAssignment.useQuery, eb = Z.pipelineOrchestrator.getAudioNodeLoad.useQuery, tb = Z.pipelineOrchestrator.getAudioAssignments.useQuery, nb = Z.pipelineOrchestrator.getDecoderAssignment.useQuery, rb = Z.pipelineOrchestrator.getAgentSettings.useQuery, ib = Z.pipelineOrchestrator.listAgentSettings.useQuery, ab = Z.pipelineOrchestrator.setAgentAddonDefaults.useMutation, ob = Z.pipelineOrchestrator.removeAgentSettings.useMutation, sb = Z.pipelineOrchestrator.getCameraSettings.useQuery, cb = Z.pipelineOrchestrator.setCameraStepToggle.useMutation, lb = Z.pipelineOrchestrator.getCameraStepOverrides.useQuery, ub = Z.pipelineOrchestrator.setCameraStepOverride.useMutation, db = Z.pipelineOrchestrator.setCameraPipelineForAgent.useMutation, fb = Z.pipelineOrchestrator.resolvePipeline.useQuery, pb = Z.pipelineOrchestrator.listTemplates.useQuery, mb = Z.pipelineOrchestrator.saveTemplate.useMutation, hb = Z.pipelineOrchestrator.updateTemplate.useMutation, gb = Z.pipelineOrchestrator.deleteTemplate.useMutation, _b = Z.pipelineOrchestrator.getDeviceSettingsContribution.useQuery, vb = Z.pipelineOrchestrator.getDeviceLiveContribution.useQuery, yb = Z.pipelineOrchestrator.applyDeviceSettingsPatch.useMutation, bb = Z.pipelineRunner.attachCamera.useMutation, xb = Z.pipelineRunner.detachCamera.useMutation, Sb = Z.pipelineRunner.reportMotion.useMutation, Cb = Z.pipelineRunner.getLocalLoad.useQuery, wb = Z.pipelineRunner.getLocalMetrics.useQuery, Tb = Z.pipelineRunner.getCameraMetrics.useQuery, Eb = Z.pipelineRunner.getAllCameraMetrics.useQuery, Db = Z.pipelineRunner.getLocalCameras.useQuery, Ob = Z.platformProbe.getCapabilities.useQuery, kb = Z.platformProbe.getHardware.useQuery, Ab = Z.platformProbe.resolveInferenceConfig.useQuery, jb = Z.platformProbe.resolveHwAccel.useQuery, Mb = Z.platformProbe.getHardwareEncoders.useQuery, Nb = Z.platformProbe.refreshHardwareEncoders.useMutation, Pb = Z.ptz.move.useMutation, Fb = Z.ptz.continuousMove.useMutation, Ib = Z.ptz.stop.useMutation, Lb = Z.ptz.getPresets.useQuery, Rb = Z.ptz.goToPreset.useMutation, zb = Z.ptz.goHome.useMutation, Bb = Z.ptz.getPosition.useQuery, Vb = Z.ptz.getStatus.useQuery, Hb = Z.ptzAutotrack.getStatus.useQuery, Ub = Z.ptzAutotrack.setEnabled.useMutation, Wb = Z.ptzAutotrack.getSettings.useQuery, Gb = Z.ptzAutotrack.setSettings.useMutation, Kb = Z.reboot.reboot.useMutation, qb = Z.recording.getSegments.useQuery, Jb = Z.recording.getPlaybackUrl.useQuery, Yb = Z.recording.getThumbnailAt.useQuery, Xb = Z.recordingEngine.getStatus.useQuery, Zb = Z.recordingEngine.enable.useMutation, Qb = Z.recordingEngine.disable.useMutation, $b = Z.recordingEngine.getConfig.useQuery, ex = Z.recordingEngine.updateConfig.useMutation, tx = Z.recordingEngine.getPlaylist.useQuery, nx = Z.recordingEngine.getThumbnail.useQuery, rx = Z.recordingEngine.getSegments.useQuery, ix = Z.recordingEngine.getAvailability.useQuery, ax = Z.recordingEngine.estimateStorage.useQuery, ox = Z.recordingEngine.estimateGlobalStorage.useQuery, sx = Z.recordingEngine.getStorageUsage.useQuery, cx = Z.recordingEngine.setPolicy.useMutation, lx = Z.recordingEngine.getPolicy.useQuery, ux = Z.recordingEngine.getPolicyStatus.useQuery, dx = Z.recordingEngine.getRetentionConfig.useQuery, fx = Z.recordingEngine.updateRetentionConfig.useMutation, px = Z.recordingEngine.getMotionStats.useQuery, mx = Z.remoteAccess.listProviders.useQuery, hx = Z.remoteAccess.startProvider.useMutation, gx = Z.remoteAccess.stopProvider.useMutation, _x = Z.settingsStore.get.useQuery, vx = Z.settingsStore.set.useMutation, yx = Z.settingsStore.query.useQuery, bx = Z.settingsStore.insert.useMutation, xx = Z.settingsStore.update.useMutation, Sx = Z.settingsStore.delete.useMutation, Cx = Z.settingsStore.count.useQuery, wx = Z.settingsStore.isEmpty.useQuery, Tx = Z.settingsStore.declareCollection.useMutation, Ex = Z.snapshot.getSnapshot.useQuery, Dx = Z.snapshot.invalidateCache.useMutation, Ox = Z.snapshot.getStatus.useQuery, kx = Z.snapshot.getDeviceSettingsContribution.useQuery, Ax = Z.snapshot.getDeviceLiveContribution.useQuery, jx = Z.snapshot.applyDeviceSettingsPatch.useMutation, Mx = Z.snapshotProvider.supportsDevice.useQuery, Nx = Z.snapshotProvider.getSnapshot.useQuery, Px = Z.storage.resolve.useQuery, Fx = Z.storage.write.useMutation, Ix = Z.storage.read.useQuery, Lx = Z.storage.exists.useQuery, Rx = Z.storage.list.useQuery, zx = Z.storage.delete.useMutation, Bx = Z.storage.getAvailableSpace.useQuery, Vx = Z.storage.beginUpload.useMutation, Hx = Z.storage.writeChunk.useMutation, Ux = Z.storage.finalizeUpload.useMutation, Wx = Z.storage.abortUpload.useMutation, Gx = Z.storage.beginDownload.useMutation, Kx = Z.storage.readChunk.useQuery, qx = Z.storage.endDownload.useMutation, Jx = Z.storage.listLocations.useQuery, Yx = Z.storage.getDefaultLocation.useQuery, Xx = Z.storage.upsertLocation.useMutation, Zx = Z.storage.deleteLocation.useMutation, Qx = Z.storage.testLocation.useQuery, $x = Z.storage.listProviders.useQuery, eS = Z.storage.testConfig.useQuery, tS = Z.streamBroker.publishCameraStream.useMutation, nS = Z.streamBroker.retractCameraStream.useMutation, rS = Z.streamBroker.assignProfile.useMutation, iS = Z.streamBroker.unassignProfile.useMutation, aS = Z.streamBroker.listAllCameraStreams.useQuery, oS = Z.streamBroker.listAllProfileSlots.useQuery, sS = Z.streamBroker.getBrokerStats.useQuery, cS = Z.streamBroker.listClients.useQuery, lS = Z.streamBroker.killClient.useMutation, uS = Z.streamBroker.restartProfile.useMutation, dS = Z.streamBroker.getStreamUrl.useQuery, fS = Z.streamBroker.getStreamWithCodec.useMutation, pS = Z.streamBroker.releaseStreamWithCodec.useMutation, mS = Z.streamBroker.getBroker.useQuery, hS = Z.streamBroker.setPreBufferDuration.useMutation, gS = Z.streamBroker.getPreBufferInfo.useQuery, _S = Z.streamBroker.getRtspPort.useQuery, vS = Z.streamBroker.getAllRtspEntries.useQuery, yS = Z.streamBroker.getRtspEntry.useQuery, bS = Z.streamBroker.regenerateRtspToken.useMutation, xS = Z.streamBroker.setRtspEnabled.useMutation, SS = Z.streamBroker.isRtspEnabled.useQuery, CS = Z.streamBroker.getDeviceSettingsContribution.useQuery, wS = Z.streamBroker.getDeviceLiveContribution.useQuery, TS = Z.streamBroker.applyDeviceSettingsPatch.useMutation, ES = Z.switch.setState.useMutation, DS = Z.switch.getStatus.useQuery, OS = Z.system.info.useQuery, kS = Z.system.health.useQuery, AS = Z.system.featureFlags.useQuery, jS = Z.system.networkAddresses.useQuery, MS = Z.system.getRetentionConfig.useQuery, NS = Z.system.setRetentionConfig.useMutation, PS = Z.system.forceRetentionCleanup.useMutation, FS = Z.toast.onToast.useSubscription, IS = Z.turnOrchestrator.listProviders.useQuery, LS = Z.turnOrchestrator.getAllServers.useQuery, RS = Z.turnOrchestrator.setProviderEnabled.useMutation, zS = Z.turnProvider.getTurnServers.useQuery, BS = Z.userManagement.listUsers.useQuery, VS = Z.userManagement.createUser.useMutation, HS = Z.userManagement.updateUser.useMutation, US = Z.userManagement.deleteUser.useMutation, WS = Z.userManagement.resetPassword.useMutation, GS = Z.userManagement.setUserScopes.useMutation, KS = Z.userManagement.validateCredentials.useMutation, qS = Z.userManagement.listApiKeys.useQuery, JS = Z.userManagement.createApiKey.useMutation, YS = Z.userManagement.revokeApiKey.useMutation, XS = Z.userManagement.validateApiKey.useMutation, ZS = Z.userManagement.createScopedToken.useMutation, QS = Z.userManagement.revokeScopedToken.useMutation, $S = Z.userManagement.validateScopedToken.useQuery, eC = Z.userManagement.listScopedTokens.useQuery, tC = Z.userManagement.setupTotp.useMutation, nC = Z.userManagement.confirmTotp.useMutation, rC = Z.userManagement.disableTotp.useMutation, iC = Z.userManagement.getTotpStatus.useQuery, aC = Z.userManagement.verifyTotp.useMutation, oC = Z.webrtcSession.listStreams.useQuery, sC = Z.webrtcSession.createSession.useMutation, cC = Z.webrtcSession.handleOffer.useMutation, lC = Z.webrtcSession.handleAnswer.useMutation, uC = Z.webrtcSession.closeSession.useMutation, dC = Z.webrtcSession.hasAdaptiveBitrate.useQuery, fC = Z.zoneAnalytics.getCurrentSnapshot.useQuery, pC = Z.zoneAnalytics.getZoneHistory.useQuery, mC = Z.zoneAnalytics.getCameraHistory.useQuery, hC = Z.zoneAnalytics.getUnzonedHistory.useQuery, gC = Z.zoneRules.listRules.useQuery, _C = Z.zoneRules.setRules.useMutation, vC = Z.zones.listZones.useQuery, yC = Z.zones.addZone.useMutation, bC = Z.zones.removeZone.useMutation, xC = Z.zones.updateZone.useMutation, SC = xn("camstack:widget-registry", null), CC = /* @__PURE__ */ new Map(), wC = /* @__PURE__ */ new Map(), TC = /* @__PURE__ */ new Set();
11312
- function EC(e) {
11311
+ var nm = Z.accessories.getStatus.useQuery, rm = Z.addonPages.listPages.useQuery, im = Z.addons.list.useQuery, am = Z.addons.getLogs.useQuery, om = Z.addons.listPackages.useQuery, sm = Z.addons.installPackage.useMutation, cm = Z.addons.installFromWorkspace.useMutation, lm = Z.addons.isWorkspaceAvailable.useQuery, um = Z.addons.listWorkspacePackages.useQuery, dm = Z.addons.uninstallPackage.useMutation, fm = Z.addons.reloadPackages.useMutation, pm = Z.addons.searchAvailable.useQuery, mm = Z.addons.listUpdates.useQuery, hm = Z.addons.updatePackage.useMutation, gm = Z.addons.rollbackPackage.useMutation, _m = Z.addons.forceRefresh.useMutation, vm = Z.addons.restartServer.useMutation, ym = Z.addons.getVersions.useQuery, bm = Z.addons.restartAddon.useMutation, xm = Z.addons.retryLoad.useMutation, Sm = Z.addons.getAutoUpdateSettings.useQuery, Cm = Z.addons.setAutoUpdateSettings.useMutation, wm = Z.addons.getAddonAutoUpdate.useQuery, Tm = Z.addons.setAddonAutoUpdate.useMutation, Em = Z.addons.applyAutoUpdateToAll.useMutation, Dm = Z.addons.custom.useMutation, Om = Z.addons.onAddonLogs.useSubscription, km = Z.addonSettings.getGlobalSettings.useQuery, Am = Z.addonSettings.updateGlobalSettings.useMutation, jm = Z.addonSettings.getDeviceSettings.useQuery, Mm = Z.addonSettings.updateDeviceSettings.useMutation, Nm = Z.addonWidgets.listWidgets.useQuery, Pm = Z.alerts.emit.useMutation, Fm = Z.alerts.update.useMutation, Im = Z.alerts.list.useQuery, Lm = Z.alerts.getUnreadCount.useQuery, Rm = Z.alerts.markRead.useMutation, zm = Z.alerts.markAllRead.useMutation, Bm = Z.alerts.dismiss.useMutation, Vm = Z.audioAnalysis.resolveDeviceSettings.useQuery, Hm = Z.audioAnalysis.getDeviceSettingsContribution.useQuery, Um = Z.audioAnalysis.getDeviceLiveContribution.useQuery, Wm = Z.audioAnalysis.applyDeviceSettingsPatch.useMutation, Gm = Z.audioAnalyzer.analyseChunk.useMutation, Km = Z.audioAnalyzer.classify.useQuery, qm = Z.audioAnalyzer.isReady.useQuery, Jm = Z.audioAnalyzer.dispose.useMutation, Ym = Z.audioAnalyzer.reprobeAudioEngine.useMutation, Xm = Z.audioCodec.listSupportedCodecs.useQuery, Zm = Z.audioCodec.canHandle.useQuery, Qm = Z.audioCodec.createDecodeSession.useMutation, $m = Z.audioCodec.createEncodeSession.useMutation, eh = Z.audioCodec.closeSession.useMutation, th = Z.audioCodec.pushEncodedFrame.useMutation, nh = Z.audioCodec.pullPcm.useQuery, rh = Z.audioCodec.pushPcm.useMutation, ih = Z.audioCodec.pullEncoded.useQuery, ah = Z.audioCodec.flushEncode.useMutation, oh = Z.audioCodec.listActiveSessions.useQuery, sh = Z.audioMetrics.getCurrentSnapshot.useQuery, ch = Z.audioMetrics.getHistory.useQuery, lh = Z.authentication.listProviders.useQuery, uh = Z.authentication.setProviderEnabled.useMutation, dh = Z.backup.listDestinations.useQuery, fh = Z.backup.trigger.useMutation, ph = Z.backup.list.useQuery, mh = Z.backup.listLocations.useQuery, hh = Z.backup.getEntries.useQuery, gh = Z.backup.restore.useMutation, _h = Z.backup.delete.useMutation, vh = Z.backup.listArchives.useQuery, yh = Z.backup.upsertDestinationPolicy.useMutation, bh = Z.backup.previewSchedule.useQuery, xh = Z.battery.getStatus.useQuery, Sh = Z.brightness.setBrightness.useMutation, Ch = Z.brightness.getStatus.useQuery, wh = Z.cameraCredentials.getCredentials.useQuery, Th = Z.cameraCredentials.getStatus.useQuery, Eh = Z.cameraStreams.getCameraStreams.useQuery, Dh = Z.cameraStreams.getBrokerStreams.useQuery, Oh = Z.cameraStreams.getRtspEntries.useQuery, kh = Z.decoder.supportsCodec.useQuery, Ah = Z.decoder.getInfo.useQuery, jh = Z.decoder.createSession.useQuery, Mh = Z.decoder.destroySession.useQuery, Nh = Z.decoder.pushPacket.useQuery, Ph = Z.decoder.openStream.useQuery, Fh = Z.decoder.pullFrames.useQuery, Ih = Z.decoder.updateConfig.useQuery, Lh = Z.decoder.getStats.useQuery, Rh = Z.decoder.listActiveSessions.useQuery, zh = Z.decoder.reprobeHwaccel.useMutation, Bh = Z.detectionPipeline.getDeviceSettingsContribution.useQuery, Vh = Z.detectionPipeline.getDeviceLiveContribution.useQuery, Hh = Z.detectionPipeline.applyDeviceSettingsPatch.useMutation, Uh = Z.deviceDiscovery.listDiscovered.useQuery, Wh = Z.deviceDiscovery.refreshDiscovery.useMutation, Gh = Z.deviceDiscovery.adoptDevice.useMutation, Kh = Z.deviceDiscovery.releaseDevice.useMutation, qh = Z.deviceDiscovery.getStatus.useQuery, Jh = Z.deviceExport.getStatus.useQuery, Yh = Z.deviceExport.listSupportedDeviceKinds.useQuery, Xh = Z.deviceExport.listExposedDevices.useQuery, Zh = Z.deviceExport.exposeDevice.useMutation, Qh = Z.deviceExport.unexposeDevice.useMutation, $h = Z.deviceExport.getDeviceSettingsContribution.useQuery, eg = Z.deviceExport.getDeviceLiveContribution.useQuery, tg = Z.deviceExport.applyDeviceSettingsPatch.useMutation, ng = Z.deviceManager.allocateDeviceId.useMutation, rg = Z.deviceManager.registerDevice.useMutation, ig = Z.deviceManager.removeDevice.useMutation, ag = Z.deviceManager.persistConfig.useMutation, og = Z.deviceManager.loadConfig.useQuery, sg = Z.deviceManager.loadRuntimeState.useQuery, cg = Z.deviceManager.loadMeta.useQuery, lg = Z.deviceManager.setName.useMutation, ug = Z.deviceManager.setLocation.useMutation, dg = Z.deviceManager.setMetadata.useMutation, fg = Z.deviceManager.listLocations.useQuery, pg = Z.deviceManager.addLocation.useMutation, mg = Z.deviceManager.removeLocation.useMutation, hg = Z.deviceManager.setDisabled.useMutation, gg = Z.deviceManager.listPersistedByAddon.useQuery, _g = Z.deviceManager.listAll.useQuery, vg = Z.deviceManager.getDevice.useQuery, yg = Z.deviceManager.getChildren.useQuery, bg = Z.deviceManager.getStreamSources.useQuery, xg = Z.deviceManager.getConfigSchema.useQuery, Sg = Z.deviceManager.getSettingsSchema.useQuery, Cg = Z.deviceManager.updateConfig.useMutation, wg = Z.deviceManager.enable.useMutation, Tg = Z.deviceManager.disable.useMutation, Eg = Z.deviceManager.remove.useMutation, Dg = Z.deviceManager.getStreamProfileMap.useQuery, Og = Z.deviceManager.setStreamProfileMap.useMutation, kg = Z.deviceManager.probeStreams.useMutation, Ag = Z.deviceManager.getBindings.useQuery, jg = Z.deviceManager.getAllBindings.useQuery, Mg = Z.deviceManager.setWrapperActive.useMutation, Ng = Z.deviceManager.listWrappersForCap.useQuery, Pg = Z.deviceManager.listBindableCapsForDeviceType.useQuery, Fg = Z.deviceManager.getDeviceSettingsAggregate.useQuery, Ig = Z.deviceManager.getDeviceLiveInfoAggregate.useQuery, Lg = Z.deviceManager.getDeviceAggregate.useQuery, Rg = Z.deviceManager.updateDeviceField.useMutation, zg = Z.deviceManager.updateDeviceFieldsBatch.useMutation, Bg = Z.deviceManager.discoverDevices.useMutation, Vg = Z.deviceManager.adoptDevice.useMutation, Hg = Z.deviceManager.getCreationSchema.useQuery, Ug = Z.deviceManager.createDevice.useMutation, Wg = Z.deviceManager.testCreationField.useMutation, Gg = Z.deviceManager.testField.useMutation, Kg = Z.deviceManager.getDeviceStatusAggregate.useQuery, qg = Z.deviceOps.getStreamSources.useQuery, Jg = Z.deviceOps.getConfigEntries.useQuery, Yg = Z.deviceOps.setConfig.useMutation, Xg = Z.deviceOps.removeDevice.useMutation, Zg = Z.deviceOps.getSettingsSchema.useQuery, Qg = Z.deviceProvider.start.useMutation, $g = Z.deviceProvider.stop.useMutation, e_ = Z.deviceProvider.getStatus.useQuery, t_ = Z.deviceProvider.getDevices.useQuery, n_ = Z.deviceProvider.supportsDiscovery.useQuery, r_ = Z.deviceProvider.discoverDevices.useMutation, i_ = Z.deviceProvider.adoptDiscoveredDevice.useMutation, a_ = Z.deviceProvider.supportsManualCreation.useQuery, o_ = Z.deviceProvider.getChildCreationSchema.useQuery, s_ = Z.deviceProvider.createDevice.useMutation, c_ = Z.deviceProvider.testCreationField.useMutation, l_ = Z.deviceState.getSnapshot.useQuery, u_ = Z.deviceState.getCapSlice.useQuery, d_ = Z.deviceState.getAllSnapshots.useQuery, f_ = Z.deviceState.setCapSlice.useMutation, p_ = Z.deviceStatus.getStatus.useQuery, m_ = Z.doorbell.getStatus.useQuery, h_ = Z.events.getEvents.useQuery, g_ = Z.events.getEventThumbnail.useQuery, __ = Z.events.getEventClipUrl.useQuery, v_ = Z.featureProbe.getStatus.useQuery, y_ = Z.integrations.list.useQuery, b_ = Z.integrations.get.useQuery, x_ = Z.integrations.getByAddonId.useQuery, S_ = Z.integrations.create.useMutation, C_ = Z.integrations.update.useMutation, w_ = Z.integrations.delete.useMutation, T_ = Z.integrations.getSettings.useQuery, E_ = Z.integrations.setSettings.useMutation, D_ = Z.integrations.getAvailableTypes.useQuery, O_ = Z.integrations.testConnection.useMutation, k_ = Z.intercom.startSession.useMutation, A_ = Z.intercom.handleAnswer.useMutation, j_ = Z.intercom.stopSession.useMutation, M_ = Z.intercom.startTalkSession.useMutation, N_ = Z.intercom.pushTalkPcm.useMutation, P_ = Z.intercom.endTalkSession.useMutation, F_ = Z.intercom.getStatus.useQuery, I_ = Z.localNetwork.list.useQuery, L_ = Z.localNetwork.getPreferred.useQuery, R_ = Z.localNetwork.getConnectionEndpoints.useQuery, z_ = Z.localNetwork.getAllowedAddresses.useQuery, B_ = Z.localNetwork.setAllowedAddresses.useMutation, V_ = Z.localNetwork.resetAllowlistToBestMatch.useMutation, H_ = Z.meshNetwork.getStatus.useQuery, U_ = Z.meshNetwork.join.useMutation, W_ = Z.meshNetwork.startLogin.useMutation, G_ = Z.meshNetwork.leave.useMutation, K_ = Z.meshNetwork.logout.useMutation, q_ = Z.meshNetwork.listPeers.useQuery, J_ = Z.meshNetwork.testConnection.useMutation, Y_ = Z.meshOrchestrator.listProviders.useQuery, X_ = Z.meshOrchestrator.joinProvider.useMutation, Z_ = Z.meshOrchestrator.leaveProvider.useMutation, Q_ = Z.meshOrchestrator.startLoginProvider.useMutation, $_ = Z.meshOrchestrator.logoutProvider.useMutation, ev = Z.meshOrchestrator.listProviderPeers.useQuery, tv = Z.metricsProvider.collectSnapshot.useQuery, nv = Z.metricsProvider.getCached.useQuery, rv = Z.metricsProvider.getCurrent.useQuery, iv = Z.metricsProvider.getDiskSpace.useQuery, av = Z.metricsProvider.getGpuInfo.useQuery, ov = Z.metricsProvider.getCpuTemperature.useQuery, sv = Z.metricsProvider.getProcessStats.useQuery, cv = Z.metricsProvider.listAddonInstances.useQuery, lv = Z.metricsProvider.getAddonStats.useQuery, uv = Z.metricsProvider.listNodeProcesses.useQuery, dv = Z.metricsProvider.killProcess.useMutation, fv = Z.motion.isDetected.useQuery, pv = Z.motion.getStatus.useQuery, mv = Z.motionDetection.analyze.useMutation, hv = Z.motionDetection.removeCamera.useMutation, gv = Z.motionDetection.reset.useMutation, _v = Z.motionDetection.getDeviceSettingsContribution.useQuery, vv = Z.motionDetection.getDeviceLiveContribution.useQuery, yv = Z.motionDetection.applyDeviceSettingsPatch.useMutation, bv = Z.motionTrigger.setMotionTrigger.useMutation, xv = Z.motionTrigger.getStatus.useQuery, Sv = Z.mqttBroker.listBrokers.useQuery, Cv = Z.mqttBroker.getBrokerConfig.useQuery, wv = Z.mqttBroker.addBroker.useMutation, Tv = Z.mqttBroker.removeBroker.useMutation, Ev = Z.mqttBroker.testConnection.useMutation, Dv = Z.mqttBroker.startEmbeddedBroker.useMutation, Ov = Z.mqttBroker.stopEmbeddedBroker.useMutation, kv = Z.mqttBroker.getStatus.useQuery, Av = Z.nativeObjectDetection.getStatus.useQuery, jv = Z.networkQuality.getDeviceStats.useQuery, Mv = Z.networkQuality.getAllStats.useQuery, Nv = Z.networkQuality.reportClientStats.useMutation, Pv = Z.nodes.topology.useQuery, Fv = Z.nodes.deployAddon.useMutation, Iv = Z.nodes.undeployAddon.useMutation, Lv = Z.nodes.restartAddon.useMutation, Rv = Z.nodes.restartProcess.useMutation, zv = Z.nodes.restartNode.useMutation, Bv = Z.nodes.shutdownNode.useMutation, Vv = Z.nodes.renameNode.useMutation, Hv = Z.nodes.clusterAddonStatus.useQuery, Uv = Z.nodes.getNodeAddons.useQuery, Wv = Z.nodes.setProcessLogLevel.useMutation, Gv = Z.nodes.executeQuery.useMutation, Kv = Z.notificationOutput.send.useMutation, qv = Z.notificationOutput.sendTest.useMutation, Jv = Z.osd.setOverlay.useMutation, Yv = Z.osd.getStatus.useQuery, Xv = Z.pipelineAnalytics.getActiveTracks.useQuery, Zv = Z.pipelineAnalytics.getTrack.useQuery, Qv = Z.pipelineAnalytics.listTracks.useQuery, $v = Z.pipelineAnalytics.clearTracks.useMutation, ey = Z.pipelineAnalytics.getMotionEvents.useQuery, ty = Z.pipelineAnalytics.getObjectEvents.useQuery, ny = Z.pipelineAnalytics.getAudioEvents.useQuery, ry = Z.pipelineAnalytics.getEventMedia.useQuery, iy = Z.pipelineAnalytics.getTrackMedia.useQuery, ay = Z.pipelineAnalytics.getDeviceSettingsContribution.useQuery, oy = Z.pipelineAnalytics.getDeviceLiveContribution.useQuery, sy = Z.pipelineAnalytics.applyDeviceSettingsPatch.useMutation, cy = Z.pipelineExecutor.getAvailableEngines.useQuery, ly = Z.pipelineExecutor.getSelectedEngine.useQuery, uy = Z.pipelineExecutor.getDefaultSteps.useQuery, dy = Z.pipelineExecutor.reprobeEngine.useMutation, fy = Z.pipelineExecutor.getVideoPipelineSteps.useQuery, py = Z.pipelineExecutor.setVideoPipelineSteps.useMutation, my = Z.pipelineExecutor.getSchema.useQuery, hy = Z.pipelineExecutor.getGlobalSteps.useQuery, gy = Z.pipelineExecutor.getGlobalPipelineConfig.useQuery, _y = Z.pipelineExecutor.getOrchestratorConfigSchema.useQuery, vy = Z.pipelineExecutor.listTemplates.useQuery, yy = Z.pipelineExecutor.saveTemplate.useMutation, by = Z.pipelineExecutor.updateTemplate.useMutation, xy = Z.pipelineExecutor.deleteTemplate.useMutation, Sy = Z.pipelineExecutor.getCapabilities.useQuery, Cy = Z.pipelineExecutor.getAddonModels.useQuery, wy = Z.pipelineExecutor.downloadModel.useMutation, Ty = Z.pipelineExecutor.deleteModel.useMutation, Ey = Z.pipelineExecutor.detect.useQuery, Dy = Z.pipelineExecutor.runPipeline.useMutation, Oy = Z.pipelineExecutor.runPipelineBatch.useMutation, ky = Z.pipelineExecutor.cacheFrameInPool.useMutation, Ay = Z.pipelineExecutor.inferCached.useMutation, jy = Z.pipelineExecutor.uncacheFrame.useMutation, My = Z.pipelineExecutor.getEffectiveTuning.useQuery, Ny = Z.pipelineExecutor.listLoadedEngines.useQuery, Py = Z.pipelineExecutor.spinEngine.useMutation, Fy = Z.pipelineExecutor.killEngine.useMutation, Iy = Z.pipelineExecutor.listReferenceImages.useQuery, Ly = Z.pipelineExecutor.getReferenceImage.useQuery, Ry = Z.pipelineExecutor.getReferenceAudioFiles.useQuery, zy = Z.pipelineExecutor.getReferenceAudio.useQuery, By = Z.pipelineExecutor.getAudioCapabilities.useQuery, Vy = Z.pipelineExecutor.runAudioTest.useMutation, Hy = Z.pipelineExecutor.getDetectionConfigSchema.useQuery, Uy = Z.pipelineOrchestrator.assignPipeline.useMutation, Wy = Z.pipelineOrchestrator.unassignPipeline.useMutation, Gy = Z.pipelineOrchestrator.rebalance.useMutation, Ky = Z.pipelineOrchestrator.getPipelineAssignments.useQuery, qy = Z.pipelineOrchestrator.getPipelineAssignment.useQuery, Jy = Z.pipelineOrchestrator.getAgentLoad.useQuery, Yy = Z.pipelineOrchestrator.getGlobalMetrics.useQuery, Xy = Z.pipelineOrchestrator.getCameraMetrics.useQuery, Zy = Z.pipelineOrchestrator.getCapabilityBindings.useQuery, Qy = Z.pipelineOrchestrator.setCapabilityBinding.useMutation, $y = Z.pipelineOrchestrator.assignDecoder.useMutation, eb = Z.pipelineOrchestrator.unassignDecoder.useMutation, tb = Z.pipelineOrchestrator.getDecoderAssignments.useQuery, nb = Z.pipelineOrchestrator.assignAudio.useMutation, rb = Z.pipelineOrchestrator.unassignAudio.useMutation, ib = Z.pipelineOrchestrator.getAudioAssignment.useQuery, ab = Z.pipelineOrchestrator.getAudioNodeLoad.useQuery, ob = Z.pipelineOrchestrator.getAudioAssignments.useQuery, sb = Z.pipelineOrchestrator.getDecoderAssignment.useQuery, cb = Z.pipelineOrchestrator.getAgentSettings.useQuery, lb = Z.pipelineOrchestrator.listAgentSettings.useQuery, ub = Z.pipelineOrchestrator.setAgentAddonDefaults.useMutation, db = Z.pipelineOrchestrator.removeAgentSettings.useMutation, fb = Z.pipelineOrchestrator.getCameraSettings.useQuery, pb = Z.pipelineOrchestrator.setCameraStepToggle.useMutation, mb = Z.pipelineOrchestrator.getCameraStepOverrides.useQuery, hb = Z.pipelineOrchestrator.setCameraStepOverride.useMutation, gb = Z.pipelineOrchestrator.setCameraPipelineForAgent.useMutation, _b = Z.pipelineOrchestrator.resolvePipeline.useQuery, vb = Z.pipelineOrchestrator.listTemplates.useQuery, yb = Z.pipelineOrchestrator.saveTemplate.useMutation, bb = Z.pipelineOrchestrator.updateTemplate.useMutation, xb = Z.pipelineOrchestrator.deleteTemplate.useMutation, Sb = Z.pipelineOrchestrator.getDeviceSettingsContribution.useQuery, Cb = Z.pipelineOrchestrator.getDeviceLiveContribution.useQuery, wb = Z.pipelineOrchestrator.applyDeviceSettingsPatch.useMutation, Tb = Z.pipelineRunner.attachCamera.useMutation, Eb = Z.pipelineRunner.detachCamera.useMutation, Db = Z.pipelineRunner.reportMotion.useMutation, Ob = Z.pipelineRunner.getLocalLoad.useQuery, kb = Z.pipelineRunner.getLocalMetrics.useQuery, Ab = Z.pipelineRunner.getCameraMetrics.useQuery, jb = Z.pipelineRunner.getAllCameraMetrics.useQuery, Mb = Z.pipelineRunner.getLocalCameras.useQuery, Nb = Z.platformProbe.getCapabilities.useQuery, Pb = Z.platformProbe.getHardware.useQuery, Fb = Z.platformProbe.resolveInferenceConfig.useQuery, Ib = Z.platformProbe.resolveHwAccel.useQuery, Lb = Z.platformProbe.getHardwareEncoders.useQuery, Rb = Z.platformProbe.refreshHardwareEncoders.useMutation, zb = Z.ptz.move.useMutation, Bb = Z.ptz.continuousMove.useMutation, Vb = Z.ptz.stop.useMutation, Hb = Z.ptz.getPresets.useQuery, Ub = Z.ptz.goToPreset.useMutation, Wb = Z.ptz.goHome.useMutation, Gb = Z.ptz.getPosition.useQuery, Kb = Z.ptz.getStatus.useQuery, qb = Z.ptzAutotrack.getStatus.useQuery, Jb = Z.ptzAutotrack.setEnabled.useMutation, Yb = Z.ptzAutotrack.getSettings.useQuery, Xb = Z.ptzAutotrack.setSettings.useMutation, Zb = Z.reboot.reboot.useMutation, Qb = Z.recording.getSegments.useQuery, $b = Z.recording.getPlaybackUrl.useQuery, ex = Z.recording.getThumbnailAt.useQuery, tx = Z.recordingEngine.getStatus.useQuery, nx = Z.recordingEngine.enable.useMutation, rx = Z.recordingEngine.disable.useMutation, ix = Z.recordingEngine.getConfig.useQuery, ax = Z.recordingEngine.updateConfig.useMutation, ox = Z.recordingEngine.getPlaylist.useQuery, sx = Z.recordingEngine.getThumbnail.useQuery, cx = Z.recordingEngine.getSegments.useQuery, lx = Z.recordingEngine.getAvailability.useQuery, ux = Z.recordingEngine.estimateStorage.useQuery, dx = Z.recordingEngine.estimateGlobalStorage.useQuery, fx = Z.recordingEngine.getStorageUsage.useQuery, px = Z.recordingEngine.setPolicy.useMutation, mx = Z.recordingEngine.getPolicy.useQuery, hx = Z.recordingEngine.getPolicyStatus.useQuery, gx = Z.recordingEngine.getRetentionConfig.useQuery, _x = Z.recordingEngine.updateRetentionConfig.useMutation, vx = Z.recordingEngine.getMotionStats.useQuery, yx = Z.remoteAccess.listProviders.useQuery, bx = Z.remoteAccess.startProvider.useMutation, xx = Z.remoteAccess.stopProvider.useMutation, Sx = Z.settingsStore.get.useQuery, Cx = Z.settingsStore.set.useMutation, wx = Z.settingsStore.query.useQuery, Tx = Z.settingsStore.insert.useMutation, Ex = Z.settingsStore.update.useMutation, Dx = Z.settingsStore.delete.useMutation, Ox = Z.settingsStore.count.useQuery, kx = Z.settingsStore.isEmpty.useQuery, Ax = Z.settingsStore.declareCollection.useMutation, jx = Z.snapshot.getSnapshot.useQuery, Mx = Z.snapshot.invalidateCache.useMutation, Nx = Z.snapshot.getStatus.useQuery, Px = Z.snapshot.getDeviceSettingsContribution.useQuery, Fx = Z.snapshot.getDeviceLiveContribution.useQuery, Ix = Z.snapshot.applyDeviceSettingsPatch.useMutation, Lx = Z.snapshotProvider.supportsDevice.useQuery, Rx = Z.snapshotProvider.getSnapshot.useQuery, zx = Z.storage.resolve.useQuery, Bx = Z.storage.write.useMutation, Vx = Z.storage.read.useQuery, Hx = Z.storage.exists.useQuery, Ux = Z.storage.list.useQuery, Wx = Z.storage.delete.useMutation, Gx = Z.storage.getAvailableSpace.useQuery, Kx = Z.storage.beginUpload.useMutation, qx = Z.storage.writeChunk.useMutation, Jx = Z.storage.finalizeUpload.useMutation, Yx = Z.storage.abortUpload.useMutation, Xx = Z.storage.beginDownload.useMutation, Zx = Z.storage.readChunk.useQuery, Qx = Z.storage.endDownload.useMutation, $x = Z.storage.listLocations.useQuery, eS = Z.storage.getDefaultLocation.useQuery, tS = Z.storage.upsertLocation.useMutation, nS = Z.storage.deleteLocation.useMutation, rS = Z.storage.testLocation.useQuery, iS = Z.storage.listProviders.useQuery, aS = Z.storage.testConfig.useQuery, oS = Z.streamBroker.publishCameraStream.useMutation, sS = Z.streamBroker.retractCameraStream.useMutation, cS = Z.streamBroker.assignProfile.useMutation, lS = Z.streamBroker.unassignProfile.useMutation, uS = Z.streamBroker.listAllCameraStreams.useQuery, dS = Z.streamBroker.listAllProfileSlots.useQuery, fS = Z.streamBroker.getBrokerStats.useQuery, pS = Z.streamBroker.listClients.useQuery, mS = Z.streamBroker.killClient.useMutation, hS = Z.streamBroker.restartProfile.useMutation, gS = Z.streamBroker.getStreamUrl.useQuery, _S = Z.streamBroker.getStreamWithCodec.useMutation, vS = Z.streamBroker.releaseStreamWithCodec.useMutation, yS = Z.streamBroker.getBroker.useQuery, bS = Z.streamBroker.setPreBufferDuration.useMutation, xS = Z.streamBroker.getPreBufferInfo.useQuery, SS = Z.streamBroker.getRtspPort.useQuery, CS = Z.streamBroker.getAllRtspEntries.useQuery, wS = Z.streamBroker.getRtspEntry.useQuery, TS = Z.streamBroker.regenerateRtspToken.useMutation, ES = Z.streamBroker.setRtspEnabled.useMutation, DS = Z.streamBroker.isRtspEnabled.useQuery, OS = Z.streamBroker.getDeviceSettingsContribution.useQuery, kS = Z.streamBroker.getDeviceLiveContribution.useQuery, AS = Z.streamBroker.applyDeviceSettingsPatch.useMutation, jS = Z.switch.setState.useMutation, MS = Z.switch.getStatus.useQuery, NS = Z.system.info.useQuery, PS = Z.system.health.useQuery, FS = Z.system.featureFlags.useQuery, IS = Z.system.networkAddresses.useQuery, LS = Z.system.getRetentionConfig.useQuery, RS = Z.system.setRetentionConfig.useMutation, zS = Z.system.forceRetentionCleanup.useMutation, BS = Z.toast.onToast.useSubscription, VS = Z.turnOrchestrator.listProviders.useQuery, HS = Z.turnOrchestrator.getAllServers.useQuery, US = Z.turnOrchestrator.setProviderEnabled.useMutation, WS = Z.turnProvider.getTurnServers.useQuery, GS = Z.userManagement.listUsers.useQuery, KS = Z.userManagement.createUser.useMutation, qS = Z.userManagement.updateUser.useMutation, JS = Z.userManagement.deleteUser.useMutation, YS = Z.userManagement.resetPassword.useMutation, XS = Z.userManagement.setUserScopes.useMutation, ZS = Z.userManagement.validateCredentials.useMutation, QS = Z.userManagement.listApiKeys.useQuery, $S = Z.userManagement.createApiKey.useMutation, eC = Z.userManagement.revokeApiKey.useMutation, tC = Z.userManagement.validateApiKey.useMutation, nC = Z.userManagement.createScopedToken.useMutation, rC = Z.userManagement.revokeScopedToken.useMutation, iC = Z.userManagement.validateScopedToken.useQuery, aC = Z.userManagement.listScopedTokens.useQuery, oC = Z.userManagement.setupTotp.useMutation, sC = Z.userManagement.confirmTotp.useMutation, cC = Z.userManagement.disableTotp.useMutation, lC = Z.userManagement.getTotpStatus.useQuery, uC = Z.userManagement.verifyTotp.useMutation, dC = Z.webrtcSession.listStreams.useQuery, fC = Z.webrtcSession.createSession.useMutation, pC = Z.webrtcSession.handleOffer.useMutation, mC = Z.webrtcSession.handleAnswer.useMutation, hC = Z.webrtcSession.closeSession.useMutation, gC = Z.webrtcSession.hasAdaptiveBitrate.useQuery, _C = Z.zoneAnalytics.getCurrentSnapshot.useQuery, vC = Z.zoneAnalytics.getZoneHistory.useQuery, yC = Z.zoneAnalytics.getCameraHistory.useQuery, bC = Z.zoneAnalytics.getUnzonedHistory.useQuery, xC = Z.zoneRules.listRules.useQuery, SC = Z.zoneRules.setRules.useMutation, CC = Z.zones.listZones.useQuery, wC = Z.zones.addZone.useMutation, TC = Z.zones.removeZone.useMutation, EC = Z.zones.updateZone.useMutation, DC = xn("camstack:widget-registry", null), OC = /* @__PURE__ */ new Map(), kC = /* @__PURE__ */ new Map(), AC = /* @__PURE__ */ new Set();
11312
+ function jC(e) {
11313
11313
  if (!e || typeof e != "object") return !1;
11314
11314
  let t = e.default;
11315
11315
  return typeof t == "object" && !!t;
11316
11316
  }
11317
- function DC(e) {
11317
+ function MC(e) {
11318
11318
  if (!e || typeof e != "object") return typeof e;
11319
11319
  let t = e, n = Object.getPrototypeOf(t), r = n && typeof n == "object" ? n.constructor?.name : void 0;
11320
11320
  return {
@@ -11323,36 +11323,36 @@ function DC(e) {
11323
11323
  proto: typeof r == "string" ? r : void 0
11324
11324
  };
11325
11325
  }
11326
- async function OC(e, t) {
11327
- let n = CC.get(e);
11326
+ async function NC(e, t) {
11327
+ let n = OC.get(e);
11328
11328
  if (n) return n;
11329
- let r = wC.get(e);
11329
+ let r = kC.get(e);
11330
11330
  if (r) return r;
11331
- TC.has(e) || (fo(), ro([{
11331
+ AC.has(e) || (fo(), ro([{
11332
11332
  name: e,
11333
11333
  entry: t,
11334
11334
  type: "module"
11335
- }], { force: !1 }), TC.add(e));
11335
+ }], { force: !1 }), AC.add(e));
11336
11336
  let i = no(`${e}/widgets`).then((n) => {
11337
- if (!EC(n)) {
11338
- let r = DC(n);
11337
+ if (!jC(n)) {
11338
+ let r = MC(n);
11339
11339
  throw Error(`Widget remote ${e} (${t}) does not expose a default record on './widgets'. Got: ${JSON.stringify(r)}`);
11340
11340
  }
11341
11341
  let r = n.default;
11342
- return CC.set(e, r), wC.delete(e), r;
11342
+ return OC.set(e, r), kC.delete(e), r;
11343
11343
  }).catch((t) => {
11344
- throw wC.delete(e), t;
11344
+ throw kC.delete(e), t;
11345
11345
  });
11346
- return wC.set(e, i), i;
11346
+ return kC.set(e, i), i;
11347
11347
  }
11348
- var kC = 3e4, AC = 2e3;
11349
- function jC({ children: e }) {
11348
+ var PC = 3e4, FC = 2e3;
11349
+ function IC({ children: e }) {
11350
11350
  let t = D(), r = m(Date.now()), { data: i } = Nm(void 0, {
11351
11351
  staleTime: 0,
11352
11352
  refetchOnMount: "always",
11353
11353
  refetchInterval: (e) => {
11354
11354
  let t = e.state.data;
11355
- return t && t.length > 0 || Date.now() - r.current >= kC ? !1 : AC;
11355
+ return t && t.length > 0 || Date.now() - r.current >= PC ? !1 : FC;
11356
11356
  }
11357
11357
  });
11358
11358
  Zl("addon.widget-ready", () => {
@@ -11363,9 +11363,9 @@ function jC({ children: e }) {
11363
11363
  if (!i) return;
11364
11364
  let e = !1, t = /* @__PURE__ */ new Set();
11365
11365
  for (let n of i) {
11366
- if (t.has(n.remoteName) || (t.add(n.remoteName), CC.has(n.remoteName))) continue;
11366
+ if (t.has(n.remoteName) || (t.add(n.remoteName), OC.has(n.remoteName))) continue;
11367
11367
  let r = n.bundleUrl;
11368
- OC(n.remoteName, r).then(() => {
11368
+ NC(n.remoteName, r).then(() => {
11369
11369
  e || s((e) => e + 1);
11370
11370
  }).catch((e) => {
11371
11371
  let t = e instanceof Error ? e.message : String(e);
@@ -11403,7 +11403,7 @@ function jC({ children: e }) {
11403
11403
  resolve: (e) => {
11404
11404
  let n = t.get(e);
11405
11405
  if (!n) return;
11406
- let r = CC.get(n.remoteName);
11406
+ let r = OC.get(n.remoteName);
11407
11407
  if (!r) return null;
11408
11408
  let i = r[n.stableId];
11409
11409
  if (i) return i;
@@ -11419,48 +11419,48 @@ function jC({ children: e }) {
11419
11419
  }
11420
11420
  };
11421
11421
  }, [i, a]);
11422
- return /* @__PURE__ */ g(SC.Provider, {
11422
+ return /* @__PURE__ */ g(DC.Provider, {
11423
11423
  value: c,
11424
11424
  children: e
11425
11425
  });
11426
11426
  }
11427
- function MC(e) {
11428
- return FC().resolve(e);
11427
+ function LC(e) {
11428
+ return BC().resolve(e);
11429
11429
  }
11430
- function NC(e) {
11431
- return FC().metadata(e);
11430
+ function RC(e) {
11431
+ return BC().metadata(e);
11432
11432
  }
11433
- function PC() {
11434
- return FC().listAll();
11433
+ function zC() {
11434
+ return BC().listAll();
11435
11435
  }
11436
- function FC() {
11437
- let e = IC();
11436
+ function BC() {
11437
+ let e = VC();
11438
11438
  if (!e) throw Error("useWidgetRegistry(): no <WidgetRegistryProvider> in tree");
11439
11439
  return e;
11440
11440
  }
11441
- function IC() {
11442
- return LC(SC);
11441
+ function VC() {
11442
+ return HC(DC);
11443
11443
  }
11444
- function LC(t) {
11444
+ function HC(t) {
11445
11445
  return e(t);
11446
11446
  }
11447
- function RC(e) {
11448
- let { widgetId: t, host: n = "device-tab", config: r, deviceId: i, integrationId: a, instanceId: s, size: c, columns: l, rows: u } = e, d = MC(t), f = NC(t), p = o(() => s ?? t, [s, t]);
11449
- if (d === void 0 && f === void 0) return /* @__PURE__ */ g(BC, {
11447
+ function UC(e) {
11448
+ let { widgetId: t, host: n = "device-tab", config: r, deviceId: i, integrationId: a, instanceId: s, size: c, columns: l, rows: u } = e, d = LC(t), f = RC(t), p = o(() => s ?? t, [s, t]);
11449
+ if (d === void 0 && f === void 0) return /* @__PURE__ */ g(GC, {
11450
11450
  widgetId: t,
11451
11451
  reason: "unknown"
11452
11452
  });
11453
- if (d === void 0) return /* @__PURE__ */ g(BC, {
11453
+ if (d === void 0) return /* @__PURE__ */ g(GC, {
11454
11454
  widgetId: t,
11455
11455
  reason: "missing-export"
11456
11456
  });
11457
- if (d === null) return /* @__PURE__ */ g(zC, {});
11457
+ if (d === null) return /* @__PURE__ */ g(WC, {});
11458
11458
  if (f) {
11459
- if (f.requires.deviceContext && i === void 0) return /* @__PURE__ */ g(BC, {
11459
+ if (f.requires.deviceContext && i === void 0) return /* @__PURE__ */ g(GC, {
11460
11460
  widgetId: t,
11461
11461
  reason: "missing-device-context"
11462
11462
  });
11463
- if (f.requires.integrationContext && a === void 0) return /* @__PURE__ */ g(BC, {
11463
+ if (f.requires.integrationContext && a === void 0) return /* @__PURE__ */ g(GC, {
11464
11464
  widgetId: t,
11465
11465
  reason: "missing-integration-context"
11466
11466
  });
@@ -11476,7 +11476,7 @@ function RC(e) {
11476
11476
  rows: u
11477
11477
  });
11478
11478
  }
11479
- function zC() {
11479
+ function WC() {
11480
11480
  return /* @__PURE__ */ _("div", {
11481
11481
  className: "rounded-lg border border-border bg-surface/40 p-4 animate-pulse",
11482
11482
  children: [
@@ -11486,20 +11486,20 @@ function zC() {
11486
11486
  ]
11487
11487
  });
11488
11488
  }
11489
- function BC({ widgetId: e, reason: t }) {
11489
+ function GC({ widgetId: e, reason: t }) {
11490
11490
  return /* @__PURE__ */ g("div", {
11491
11491
  className: "rounded-lg border border-warning/30 bg-warning/10 px-3 py-2 text-xs text-warning",
11492
11492
  children: t === "unknown" ? `Widget "${e}" not registered` : t === "missing-export" ? `Widget "${e}" bundle does not export this stableId` : t === "missing-device-context" ? `Widget "${e}" requires a deviceId` : `Widget "${e}" requires an integrationId`
11493
11493
  });
11494
11494
  }
11495
- var VC = "w-full rounded-md border border-border bg-background px-2.5 py-1.5 text-xs text-foreground focus:border-primary focus:ring-1 focus:ring-primary/30 outline-none disabled:opacity-50 disabled:cursor-not-allowed", HC = "block text-[11px] font-medium text-foreground mb-1", UC = "text-[10px] text-foreground-subtle mt-0.5";
11495
+ var KC = "w-full rounded-md border border-border bg-background px-2.5 py-1.5 text-xs text-foreground focus:border-primary focus:ring-1 focus:ring-primary/30 outline-none disabled:opacity-50 disabled:cursor-not-allowed", qC = "block text-[11px] font-medium text-foreground mb-1", JC = "text-[10px] text-foreground-subtle mt-0.5";
11496
11496
  function $({ label: e, description: t, required: n, span: r, children: i, translationFn: a }) {
11497
- let o = r === 2 ? "col-span-2" : r === 3 ? "col-span-3" : r === 4 ? "col-span-4" : "col-span-1", s = kw(e, a), c = kw(t, a);
11497
+ let o = r === 2 ? "col-span-2" : r === 3 ? "col-span-3" : r === 4 ? "col-span-4" : "col-span-1", s = Pw(e, a), c = Pw(t, a);
11498
11498
  return /* @__PURE__ */ _("div", {
11499
11499
  className: o,
11500
11500
  children: [
11501
11501
  s !== void 0 && s !== "" && /* @__PURE__ */ _("label", {
11502
- className: HC,
11502
+ className: qC,
11503
11503
  children: [s, n && /* @__PURE__ */ g("span", {
11504
11504
  className: "text-danger ml-0.5",
11505
11505
  children: "*"
@@ -11507,13 +11507,13 @@ function $({ label: e, description: t, required: n, span: r, children: i, transl
11507
11507
  }),
11508
11508
  i,
11509
11509
  c && /* @__PURE__ */ g("p", {
11510
- className: UC,
11510
+ className: JC,
11511
11511
  children: c
11512
11512
  })
11513
11513
  ]
11514
11514
  });
11515
11515
  }
11516
- function WC({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11516
+ function YC({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11517
11517
  return /* @__PURE__ */ g($, {
11518
11518
  label: e.label,
11519
11519
  description: e.description,
@@ -11522,7 +11522,7 @@ function WC({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11522
11522
  translationFn: i,
11523
11523
  children: /* @__PURE__ */ g("input", {
11524
11524
  type: e.inputType ?? "text",
11525
- className: VC,
11525
+ className: KC,
11526
11526
  value: t == null ? "" : String(t),
11527
11527
  placeholder: e.placeholder,
11528
11528
  maxLength: e.maxLength,
@@ -11532,7 +11532,7 @@ function WC({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11532
11532
  })
11533
11533
  });
11534
11534
  }
11535
- function GC({ field: e, value: t, onChange: r, disabled: i, translationFn: a }) {
11535
+ function XC({ field: e, value: t, onChange: r, disabled: i, translationFn: a }) {
11536
11536
  let [o, s] = n(t == null ? "" : String(t)), c = m(!1);
11537
11537
  l(() => {
11538
11538
  c.current || s(t == null ? "" : String(t));
@@ -11555,7 +11555,7 @@ function GC({ field: e, value: t, onChange: r, disabled: i, translationFn: a })
11555
11555
  className: "flex items-center gap-1",
11556
11556
  children: [/* @__PURE__ */ g("input", {
11557
11557
  type: "number",
11558
- className: VC,
11558
+ className: KC,
11559
11559
  value: o,
11560
11560
  placeholder: e.placeholder,
11561
11561
  min: e.min,
@@ -11576,7 +11576,7 @@ function GC({ field: e, value: t, onChange: r, disabled: i, translationFn: a })
11576
11576
  })
11577
11577
  });
11578
11578
  }
11579
- function KC({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11579
+ function ZC({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11580
11580
  let a = !!t, o = r || e.disabled;
11581
11581
  return e.style === "checkbox" ? /* @__PURE__ */ g($, {
11582
11582
  label: void 0,
@@ -11596,7 +11596,7 @@ function KC({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11596
11596
  }),
11597
11597
  /* @__PURE__ */ g("span", {
11598
11598
  className: "text-xs font-medium text-foreground",
11599
- children: kw(e.label, i)
11599
+ children: Pw(e.label, i)
11600
11600
  }),
11601
11601
  e.required && /* @__PURE__ */ g("span", {
11602
11602
  className: "text-danger",
@@ -11613,8 +11613,8 @@ function KC({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11613
11613
  children: /* @__PURE__ */ _("div", {
11614
11614
  className: "flex items-center justify-between",
11615
11615
  children: [/* @__PURE__ */ _("span", {
11616
- className: HC + " mb-0",
11617
- children: [kw(e.label, i), e.required && /* @__PURE__ */ g("span", {
11616
+ className: qC + " mb-0",
11617
+ children: [Pw(e.label, i), e.required && /* @__PURE__ */ g("span", {
11618
11618
  className: "text-danger ml-0.5",
11619
11619
  children: "*"
11620
11620
  })]
@@ -11634,7 +11634,7 @@ function KC({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11634
11634
  })
11635
11635
  });
11636
11636
  }
11637
- function qC({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11637
+ function QC({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11638
11638
  let a = e.options.some((e) => e.value === "");
11639
11639
  return /* @__PURE__ */ g($, {
11640
11640
  label: e.label,
@@ -11643,7 +11643,7 @@ function qC({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11643
11643
  span: e.span,
11644
11644
  translationFn: i,
11645
11645
  children: /* @__PURE__ */ _("select", {
11646
- className: VC,
11646
+ className: KC,
11647
11647
  value: t == null ? "" : String(t),
11648
11648
  disabled: r || e.disabled,
11649
11649
  onChange: (e) => n(e.target.value),
@@ -11657,7 +11657,7 @@ function qC({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11657
11657
  })
11658
11658
  });
11659
11659
  }
11660
- function JC({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11660
+ function $C({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11661
11661
  let a = Array.isArray(t) ? t : [], o = (t) => {
11662
11662
  if (a.includes(t)) n(a.filter((e) => e !== t));
11663
11663
  else {
@@ -11693,7 +11693,7 @@ function JC({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11693
11693
  })
11694
11694
  });
11695
11695
  }
11696
- function YC({ field: e, value: t, onChange: r, disabled: i, translationFn: a }) {
11696
+ function ew({ field: e, value: t, onChange: r, disabled: i, translationFn: a }) {
11697
11697
  let [o, s] = n(!1), c = e.showToggle !== !1;
11698
11698
  return /* @__PURE__ */ g($, {
11699
11699
  label: e.label,
@@ -11705,7 +11705,7 @@ function YC({ field: e, value: t, onChange: r, disabled: i, translationFn: a })
11705
11705
  className: "relative",
11706
11706
  children: [/* @__PURE__ */ g("input", {
11707
11707
  type: o ? "text" : "password",
11708
- className: VC + (c ? " pr-9" : ""),
11708
+ className: KC + (c ? " pr-9" : ""),
11709
11709
  value: t == null ? "" : String(t),
11710
11710
  placeholder: e.placeholder,
11711
11711
  disabled: i || e.disabled,
@@ -11720,7 +11720,7 @@ function YC({ field: e, value: t, onChange: r, disabled: i, translationFn: a })
11720
11720
  })
11721
11721
  });
11722
11722
  }
11723
- function XC({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11723
+ function tw({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11724
11724
  return /* @__PURE__ */ g($, {
11725
11725
  label: e.label,
11726
11726
  description: e.description,
@@ -11728,7 +11728,7 @@ function XC({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11728
11728
  span: e.span,
11729
11729
  translationFn: i,
11730
11730
  children: /* @__PURE__ */ g("textarea", {
11731
- className: VC + " resize-y min-h-[60px]",
11731
+ className: KC + " resize-y min-h-[60px]",
11732
11732
  value: t == null ? "" : String(t),
11733
11733
  placeholder: e.placeholder,
11734
11734
  rows: e.rows ?? 3,
@@ -11738,7 +11738,7 @@ function XC({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11738
11738
  })
11739
11739
  });
11740
11740
  }
11741
- function ZC({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11741
+ function nw({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11742
11742
  let a = t == null, o = e.nullable === !0, s = a ? e.default ?? e.min : Number(t), c = e.showValue !== !1, l = e.nullLabel ?? "Auto", u = r || e.disabled, d = e.displayScale ?? 1, f = e.min / d, p = e.max / d, m = s / d, h = (e.step ?? 1) / d;
11743
11743
  if (o && a) return /* @__PURE__ */ g($, {
11744
11744
  label: e.label,
@@ -11841,7 +11841,7 @@ function ZC({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11841
11841
  })
11842
11842
  });
11843
11843
  }
11844
- function QC({ field: e, value: t, onChange: r, disabled: i, translationFn: o }) {
11844
+ function rw({ field: e, value: t, onChange: r, disabled: i, translationFn: o }) {
11845
11845
  let s = Array.isArray(t) ? t : [], [c, l] = n(""), u = m(null), d = a((t) => {
11846
11846
  let n = t.trim();
11847
11847
  !n || s.includes(n) || e.maxTags !== void 0 && s.length >= e.maxTags || (r([...s, n]), l(""));
@@ -11897,7 +11897,7 @@ function QC({ field: e, value: t, onChange: r, disabled: i, translationFn: o })
11897
11897
  })
11898
11898
  });
11899
11899
  }
11900
- function $C({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11900
+ function iw({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11901
11901
  let { nodes: a } = tu(), o = typeof t == "string" ? t : "", s = e.showOffline ? a : a.filter((e) => e.isOnline);
11902
11902
  return /* @__PURE__ */ g($, {
11903
11903
  label: e.label,
@@ -11921,7 +11921,7 @@ function $C({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11921
11921
  })
11922
11922
  });
11923
11923
  }
11924
- function ew({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11924
+ function aw({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11925
11925
  let { nodes: a } = tu(), o = new Set(Array.isArray(t) ? t.map(String) : []), s = e.showOffline ? a : a.filter((e) => e.isOnline), c = (e) => {
11926
11926
  let t = new Set(o);
11927
11927
  t.has(e) ? t.delete(e) : t.add(e), n([...t]);
@@ -11947,7 +11947,7 @@ function ew({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11947
11947
  })
11948
11948
  });
11949
11949
  }
11950
- function tw({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11950
+ function ow({ field: e, value: t, onChange: n, disabled: r, translationFn: i }) {
11951
11951
  let a = t == null ? "#000000" : String(t);
11952
11952
  return /* @__PURE__ */ _($, {
11953
11953
  label: e.label,
@@ -11965,7 +11965,7 @@ function tw({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11965
11965
  onChange: (e) => n(e.target.value)
11966
11966
  }), /* @__PURE__ */ g("input", {
11967
11967
  type: "text",
11968
- className: VC + " flex-1 font-mono",
11968
+ className: KC + " flex-1 font-mono",
11969
11969
  value: a,
11970
11970
  placeholder: "#000000",
11971
11971
  disabled: r || e.disabled,
@@ -11984,7 +11984,7 @@ function tw({ field: e, value: t, onChange: n, disabled: r, translationFn: i })
11984
11984
  })]
11985
11985
  });
11986
11986
  }
11987
- function nw({ field: e, value: t, onChange: r, disabled: i, translationFn: o, onTestField: s, onAction: c, externalProbe: l }) {
11987
+ function sw({ field: e, value: t, onChange: r, disabled: i, translationFn: o, onTestField: s, onAction: c, externalProbe: l }) {
11988
11988
  let [u, d] = n("idle"), [f, p] = n(null), m = l?.status ?? u, h = l?.result ?? f, v = !!s || !!c, y = a(async () => {
11989
11989
  if (v) {
11990
11990
  d("probing"), p(null);
@@ -12030,7 +12030,7 @@ function nw({ field: e, value: t, onChange: r, disabled: i, translationFn: o, on
12030
12030
  })]
12031
12031
  }), /* @__PURE__ */ g("input", {
12032
12032
  type: e.inputType ?? "url",
12033
- className: VC + " flex-1 min-w-0",
12033
+ className: KC + " flex-1 min-w-0",
12034
12034
  value: t == null ? "" : String(t),
12035
12035
  placeholder: e.placeholder,
12036
12036
  disabled: i || e.disabled,
@@ -12054,7 +12054,7 @@ function nw({ field: e, value: t, onChange: r, disabled: i, translationFn: o, on
12054
12054
  ]
12055
12055
  });
12056
12056
  }
12057
- function rw({ field: e, values: t, onChange: r, disabled: i, translationFn: a, onTestField: o }) {
12057
+ function cw({ field: e, values: t, onChange: r, disabled: i, translationFn: a, onTestField: o }) {
12058
12058
  let [s, c] = n(e.defaultCollapsed ?? !1), l = e.style === "accordion";
12059
12059
  return /* @__PURE__ */ g("div", {
12060
12060
  className: e.span === 2 ? "col-span-2" : e.span === 3 ? "col-span-3" : e.span === 4 ? "col-span-4" : "col-span-1",
@@ -12065,14 +12065,14 @@ function rw({ field: e, values: t, onChange: r, disabled: i, translationFn: a, o
12065
12065
  onClick: l ? () => c((e) => !e) : void 0,
12066
12066
  children: [/* @__PURE__ */ g("span", {
12067
12067
  className: "text-xs font-semibold text-foreground",
12068
- children: kw(e.label, a)
12068
+ children: Pw(e.label, a)
12069
12069
  }), l && /* @__PURE__ */ g("span", {
12070
12070
  className: "text-foreground-subtle text-xs",
12071
12071
  children: s ? "▸" : "▾"
12072
12072
  })]
12073
12073
  }), !s && /* @__PURE__ */ g("div", {
12074
12074
  className: "px-3 pb-3 grid grid-cols-2 gap-x-4 gap-y-3",
12075
- children: e.fields.map((e) => /* @__PURE__ */ g(Dw, {
12075
+ children: e.fields.map((e) => /* @__PURE__ */ g(Mw, {
12076
12076
  field: e,
12077
12077
  values: t,
12078
12078
  onChange: r,
@@ -12084,13 +12084,13 @@ function rw({ field: e, values: t, onChange: r, disabled: i, translationFn: a, o
12084
12084
  })
12085
12085
  });
12086
12086
  }
12087
- function iw({ field: e, values: t, onChange: r, disabled: i, translationFn: a, onTestField: o, onAction: s }) {
12087
+ function lw({ field: e, values: t, onChange: r, disabled: i, translationFn: a, onTestField: o, onAction: s }) {
12088
12088
  let [c, l] = n(e.tabs[0]?.id ?? ""), u = e.span === 2 ? "col-span-2" : e.span === 3 ? "col-span-3" : e.span === 4 ? "col-span-4" : "col-span-1";
12089
12089
  return e.tabs.length === 0 ? null : /* @__PURE__ */ _("div", {
12090
12090
  className: u,
12091
12091
  children: [e.label && /* @__PURE__ */ g("div", {
12092
- className: HC,
12093
- children: kw(e.label, a)
12092
+ className: qC,
12093
+ children: Pw(e.label, a)
12094
12094
  }), /* @__PURE__ */ _("div", {
12095
12095
  className: "rounded-lg border border-border-subtle bg-surface-hover/40 overflow-hidden",
12096
12096
  children: [/* @__PURE__ */ g("div", {
@@ -12104,7 +12104,7 @@ function iw({ field: e, values: t, onChange: r, disabled: i, translationFn: a, o
12104
12104
  "aria-selected": t,
12105
12105
  onClick: () => l(e.id),
12106
12106
  className: `inline-flex items-center gap-1.5 whitespace-nowrap rounded-md px-2.5 py-1 text-[11px] transition-colors ${t ? "bg-primary text-primary-foreground font-medium shadow-sm" : "bg-transparent text-foreground-subtle hover:bg-surface hover:text-foreground"}`,
12107
- children: [/* @__PURE__ */ g("span", { children: kw(e.label, a) }), e.badge && /* @__PURE__ */ g("span", {
12107
+ children: [/* @__PURE__ */ g("span", { children: Pw(e.label, a) }), e.badge && /* @__PURE__ */ g("span", {
12108
12108
  className: `text-[9px] px-1 py-0.5 rounded-full font-medium ${t ? "bg-primary-foreground/20 text-primary-foreground" : "bg-primary/10 text-primary"}`,
12109
12109
  children: e.badge
12110
12110
  })]
@@ -12115,7 +12115,7 @@ function iw({ field: e, values: t, onChange: r, disabled: i, translationFn: a, o
12115
12115
  className: "px-3 pb-3 pt-2 grid grid-cols-2 gap-x-4 gap-y-3",
12116
12116
  children: e.fields.map((n, c) => {
12117
12117
  let l = "key" in n && typeof n.key == "string" ? n.key : `__${e.id}__${c}`;
12118
- return /* @__PURE__ */ g(Dw, {
12118
+ return /* @__PURE__ */ g(Mw, {
12119
12119
  field: n,
12120
12120
  values: t,
12121
12121
  onChange: r,
@@ -12129,13 +12129,13 @@ function iw({ field: e, values: t, onChange: r, disabled: i, translationFn: a, o
12129
12129
  })]
12130
12130
  });
12131
12131
  }
12132
- function aw({ span: e }) {
12132
+ function uw({ span: e }) {
12133
12133
  return /* @__PURE__ */ g("div", {
12134
12134
  className: e === 2 ? "col-span-2" : e === 3 ? "col-span-3" : e === 4 ? "col-span-4" : "col-span-full",
12135
12135
  children: /* @__PURE__ */ g("hr", { className: "border-border" })
12136
12136
  });
12137
12137
  }
12138
- var ow = {
12138
+ var dw = {
12139
12139
  info: {
12140
12140
  border: "border-info",
12141
12141
  bg: "bg-info/5",
@@ -12157,7 +12157,7 @@ var ow = {
12157
12157
  text: "text-danger"
12158
12158
  }
12159
12159
  };
12160
- function sw(e) {
12160
+ function fw(e) {
12161
12161
  if (typeof window > "u" || typeof DOMParser > "u") return "";
12162
12162
  let t = new Set([
12163
12163
  "A",
@@ -12191,8 +12191,8 @@ function sw(e) {
12191
12191
  };
12192
12192
  return i(r), r.innerHTML;
12193
12193
  }
12194
- function cw({ field: e }) {
12195
- let t = ow[e.variant ?? "info"] ?? ow.info, n = e.format === "html";
12194
+ function pw({ field: e }) {
12195
+ let t = dw[e.variant ?? "info"] ?? dw.info, n = e.format === "html";
12196
12196
  return /* @__PURE__ */ g("div", {
12197
12197
  className: "col-span-full",
12198
12198
  children: /* @__PURE__ */ _("div", {
@@ -12202,7 +12202,7 @@ function cw({ field: e }) {
12202
12202
  children: e.label
12203
12203
  }), n ? /* @__PURE__ */ g("div", {
12204
12204
  className: "text-xs text-foreground-subtle leading-relaxed info-html-content",
12205
- dangerouslySetInnerHTML: { __html: sw(e.content) }
12205
+ dangerouslySetInnerHTML: { __html: fw(e.content) }
12206
12206
  }) : /* @__PURE__ */ g("p", {
12207
12207
  className: "text-xs text-foreground-subtle leading-relaxed whitespace-pre-line",
12208
12208
  children: e.content
@@ -12210,14 +12210,14 @@ function cw({ field: e }) {
12210
12210
  })
12211
12211
  });
12212
12212
  }
12213
- var lw = {
12213
+ var mw = {
12214
12214
  ok: "bg-success",
12215
12215
  warn: "bg-amber-500",
12216
12216
  danger: "bg-danger",
12217
12217
  idle: "bg-foreground-subtle/40",
12218
12218
  unknown: "bg-foreground-subtle/40"
12219
12219
  };
12220
- function uw(e) {
12220
+ function hw(e) {
12221
12221
  if (!Number.isFinite(e) || e < 0) return "—";
12222
12222
  if (e < 1e3) return `${e}ms`;
12223
12223
  let t = Math.round(e / 1e3);
@@ -12225,10 +12225,10 @@ function uw(e) {
12225
12225
  let n = Math.floor(t / 60), r = t % 60;
12226
12226
  return r === 0 ? `${n}m` : `${n}m ${r}s`;
12227
12227
  }
12228
- function dw(e) {
12228
+ function gw(e) {
12229
12229
  return !Number.isFinite(e) || e <= 0 ? "—" : new Date(e).toLocaleTimeString();
12230
12230
  }
12231
- function fw({ kind: e, value: t }) {
12231
+ function _w({ kind: e, value: t }) {
12232
12232
  return t == null || t === "" ? /* @__PURE__ */ g("span", {
12233
12233
  className: "text-foreground-subtle/60",
12234
12234
  children: "—"
@@ -12237,16 +12237,16 @@ function fw({ kind: e, value: t }) {
12237
12237
  children: String(t)
12238
12238
  }) : e === "status" ? /* @__PURE__ */ _("span", {
12239
12239
  className: "inline-flex items-center gap-1.5",
12240
- children: [/* @__PURE__ */ g("span", { className: `inline-block h-1.5 w-1.5 rounded-full ${lw[String(t).toLowerCase()] ?? lw.unknown}` }), /* @__PURE__ */ g("span", { children: String(t) })]
12240
+ children: [/* @__PURE__ */ g("span", { className: `inline-block h-1.5 w-1.5 rounded-full ${mw[String(t).toLowerCase()] ?? mw.unknown}` }), /* @__PURE__ */ g("span", { children: String(t) })]
12241
12241
  }) : e === "duration" && typeof t == "number" ? /* @__PURE__ */ g("span", {
12242
12242
  className: "font-mono text-[11px]",
12243
- children: uw(t)
12243
+ children: hw(t)
12244
12244
  }) : e === "timestamp" && typeof t == "number" ? /* @__PURE__ */ g("span", {
12245
12245
  className: "font-mono text-[11px]",
12246
- children: dw(t)
12246
+ children: gw(t)
12247
12247
  }) : /* @__PURE__ */ g("span", { children: String(t) });
12248
12248
  }
12249
- function pw({ field: e }) {
12249
+ function vw({ field: e }) {
12250
12250
  let t = e.value ?? [], n = e.description;
12251
12251
  return /* @__PURE__ */ _("div", {
12252
12252
  className: "col-span-full",
@@ -12279,7 +12279,7 @@ function pw({ field: e }) {
12279
12279
  className: "hover:bg-surface-hover/40",
12280
12280
  children: e.columns.map((e) => /* @__PURE__ */ g("td", {
12281
12281
  className: "px-3 py-1.5 align-top text-foreground",
12282
- children: /* @__PURE__ */ g(fw, {
12282
+ children: /* @__PURE__ */ g(_w, {
12283
12283
  kind: e.kind,
12284
12284
  value: t[e.key]
12285
12285
  })
@@ -12291,7 +12291,7 @@ function pw({ field: e }) {
12291
12291
  ]
12292
12292
  });
12293
12293
  }
12294
- function mw({ field: e, value: t, onChange: n, disabled: r, translationFn: i, onTestField: a, onAction: o }) {
12294
+ function yw({ field: e, value: t, onChange: n, disabled: r, translationFn: i, onTestField: a, onAction: o }) {
12295
12295
  let s = Array.isArray(t) ? t : [], c = e.minRows ?? 0, l = e.maxRows ?? Infinity, u = (e, t, r) => {
12296
12296
  let i = s.slice();
12297
12297
  i[e] = {
@@ -12315,10 +12315,10 @@ function mw({ field: e, value: t, onChange: n, disabled: r, translationFn: i, on
12315
12315
  className: "space-y-0.5",
12316
12316
  children: [e.label && /* @__PURE__ */ g("p", {
12317
12317
  className: "text-[11px] font-semibold uppercase tracking-wider text-foreground-subtle",
12318
- children: kw(e.label, i)
12318
+ children: Pw(e.label, i)
12319
12319
  }), e.description && /* @__PURE__ */ g("p", {
12320
12320
  className: "text-[11px] text-foreground-subtle",
12321
- children: kw(e.description, i)
12321
+ children: Pw(e.description, i)
12322
12322
  })]
12323
12323
  }),
12324
12324
  s.length === 0 ? /* @__PURE__ */ g("div", {
@@ -12343,7 +12343,7 @@ function mw({ field: e, value: t, onChange: n, disabled: r, translationFn: i, on
12343
12343
  })]
12344
12344
  }), /* @__PURE__ */ g("div", {
12345
12345
  className: "grid grid-cols-1 @[420px]:grid-cols-2 gap-x-3 gap-y-2 p-3",
12346
- children: e.itemFields.map((s) => /* @__PURE__ */ g(Dw, {
12346
+ children: e.itemFields.map((s) => /* @__PURE__ */ g(Mw, {
12347
12347
  field: s,
12348
12348
  values: t,
12349
12349
  onChange: (e, t) => u(n, e, t),
@@ -12373,7 +12373,7 @@ function mw({ field: e, value: t, onChange: n, disabled: r, translationFn: i, on
12373
12373
  ]
12374
12374
  });
12375
12375
  }
12376
- function hw({ field: e, disabled: t, onAction: r }) {
12376
+ function bw({ field: e, disabled: t, onAction: r }) {
12377
12377
  let [i, a] = n(!1), o = mu(), s = async () => {
12378
12378
  if (!(e.confirmMessage && !await o({
12379
12379
  title: e.label,
@@ -12406,7 +12406,7 @@ function hw({ field: e, disabled: t, onAction: r }) {
12406
12406
  })
12407
12407
  });
12408
12408
  }
12409
- function gw(e, t) {
12409
+ function xw(e, t) {
12410
12410
  let n = { ...e.paramsStatic ?? {} };
12411
12411
  if (e.paramsFromForm) for (let [r, i] of Object.entries(e.paramsFromForm)) {
12412
12412
  let e = t[i];
@@ -12414,8 +12414,8 @@ function gw(e, t) {
12414
12414
  }
12415
12415
  return n;
12416
12416
  }
12417
- function _w({ field: e, value: t, values: r, onChange: i, disabled: a, onAction: o }) {
12418
- let [s, c] = n(!1), [u, d] = n(null), [f, p] = n(null), m = gw(e, r), h = Object.keys(e.paramsFromForm ?? {}).some((e) => m[e] === void 0);
12417
+ function Sw({ field: e, value: t, values: r, onChange: i, disabled: a, onAction: o }) {
12418
+ let [s, c] = n(!1), [u, d] = n(null), [f, p] = n(null), m = xw(e, r), h = Object.keys(e.paramsFromForm ?? {}).some((e) => m[e] === void 0);
12419
12419
  l(() => {
12420
12420
  if (!o || h) {
12421
12421
  p(null), d(null);
@@ -12489,7 +12489,7 @@ function _w({ field: e, value: t, values: r, onChange: i, disabled: a, onAction:
12489
12489
  })()
12490
12490
  });
12491
12491
  }
12492
- function vw({ field: e, values: t, disabled: r, onAction: i }) {
12492
+ function Cw({ field: e, values: t, disabled: r, onAction: i }) {
12493
12493
  let [a, o] = n(!1), [s, c] = n(null), l = mu(), u = async () => {
12494
12494
  if (e.confirmMessage && !await l({
12495
12495
  title: e.label,
@@ -12497,7 +12497,7 @@ function vw({ field: e, values: t, disabled: r, onAction: i }) {
12497
12497
  confirmLabel: e.buttonLabel,
12498
12498
  variant: e.variant === "danger" ? "danger" : "default"
12499
12499
  }) || !i) return;
12500
- let n = gw(e, t);
12500
+ let n = xw(e, t);
12501
12501
  o(!0), c(null);
12502
12502
  try {
12503
12503
  let t = await i(e.action, e.key, n), r = typeof t == "object" && t ? t : null;
@@ -12540,14 +12540,14 @@ function vw({ field: e, values: t, disabled: r, onAction: i }) {
12540
12540
  })
12541
12541
  });
12542
12542
  }
12543
- function yw({ field: e }) {
12543
+ function ww({ field: e }) {
12544
12544
  let t = em();
12545
12545
  return /* @__PURE__ */ g($, {
12546
12546
  label: e.label,
12547
12547
  description: e.description,
12548
12548
  required: e.required,
12549
12549
  span: e.span,
12550
- children: /* @__PURE__ */ g(RC, {
12550
+ children: /* @__PURE__ */ g(UC, {
12551
12551
  widgetId: e.widgetId,
12552
12552
  host: "device-tab",
12553
12553
  config: e.widgetConfig,
@@ -12556,7 +12556,7 @@ function yw({ field: e }) {
12556
12556
  })
12557
12557
  });
12558
12558
  }
12559
- function bw(e, t) {
12559
+ function Tw(e, t) {
12560
12560
  if (e == null) return "—";
12561
12561
  if (typeof e == "boolean") return e ? "yes" : "no";
12562
12562
  if (typeof e == "number") {
@@ -12565,10 +12565,10 @@ function bw(e, t) {
12565
12565
  }
12566
12566
  return typeof e == "string" ? e : JSON.stringify(e);
12567
12567
  }
12568
- function xw({ field: e, values: t, onAction: n, translationFn: r }) {
12568
+ function Ew({ field: e, values: t, onAction: n, translationFn: r }) {
12569
12569
  let i = "key" in e ? e.key : void 0;
12570
12570
  if (!i) return null;
12571
- let a = t[i], o = a === void 0 ? "default" in e ? e.default : void 0 : a, s = bw(o, "unit" in e ? e.unit : void 0), c = "label" in e ? e.label : void 0, l = "description" in e ? e.description : void 0, u = "span" in e ? e.span : void 0, d = "actions" in e ? e.actions ?? [] : [];
12571
+ let a = t[i], o = a === void 0 ? "default" in e ? e.default : void 0 : a, s = Tw(o, "unit" in e ? e.unit : void 0), c = "label" in e ? e.label : void 0, l = "description" in e ? e.description : void 0, u = "span" in e ? e.span : void 0, d = "actions" in e ? e.actions ?? [] : [];
12572
12572
  return /* @__PURE__ */ g($, {
12573
12573
  label: c,
12574
12574
  description: l,
@@ -12581,7 +12581,7 @@ function xw({ field: e, values: t, onAction: n, translationFn: r }) {
12581
12581
  children: s
12582
12582
  }), d.length > 0 && /* @__PURE__ */ g("div", {
12583
12583
  className: "flex items-center gap-1",
12584
- children: d.map((e) => /* @__PURE__ */ g(Cw, {
12584
+ children: d.map((e) => /* @__PURE__ */ g(Ow, {
12585
12585
  action: e,
12586
12586
  fieldKey: i,
12587
12587
  value: o,
@@ -12591,7 +12591,7 @@ function xw({ field: e, values: t, onAction: n, translationFn: r }) {
12591
12591
  })
12592
12592
  });
12593
12593
  }
12594
- function Sw({ name: e }) {
12594
+ function Dw({ name: e }) {
12595
12595
  let t = "h-3.5 w-3.5";
12596
12596
  switch (e) {
12597
12597
  case "copy": return /* @__PURE__ */ g(Jo, { className: t });
@@ -12603,7 +12603,7 @@ function Sw({ name: e }) {
12603
12603
  default: return /* @__PURE__ */ g(ec, { className: t });
12604
12604
  }
12605
12605
  }
12606
- function Cw({ action: e, fieldKey: t, value: r, onAction: i }) {
12606
+ function Ow({ action: e, fieldKey: t, value: r, onAction: i }) {
12607
12607
  let a = mu(), [o, s] = n(!1), c = e.variant === "danger" ? "text-danger hover:bg-danger/10 border-danger/30" : e.variant === "primary" ? "text-primary hover:bg-primary/10 border-primary/30" : "text-foreground-subtle hover:text-foreground hover:bg-surface-hover border-border";
12608
12608
  return /* @__PURE__ */ g("button", {
12609
12609
  type: "button",
@@ -12632,13 +12632,13 @@ function Cw({ action: e, fieldKey: t, value: r, onAction: i }) {
12632
12632
  disabled: o,
12633
12633
  title: e.tooltip,
12634
12634
  className: `inline-flex items-center justify-center rounded-md border px-2 py-1.5 transition-colors disabled:opacity-50 ${c}`,
12635
- children: /* @__PURE__ */ g(Sw, { name: e.icon })
12635
+ children: /* @__PURE__ */ g(Dw, { name: e.icon })
12636
12636
  });
12637
12637
  }
12638
- function ww(e) {
12638
+ function kw(e) {
12639
12639
  return "multiple" in e && e.multiple != null;
12640
12640
  }
12641
- function Tw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, onTestField: a, externalProbe: o, allFields: s, onAction: c }) {
12641
+ function Aw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, onTestField: a, externalProbe: o, allFields: s, onAction: c }) {
12642
12642
  let l = e.multiple, u = l.min, d = l.max, f = t[e.key], p = [...Array.isArray(f) ? f : f == null ? [] : [f]], m = l.itemDefault === void 0 ? "default" in e && e.default !== void 0 ? e.default : "" : l.itemDefault;
12643
12643
  for (; p.length < u;) p.push(m);
12644
12644
  let h = (t) => n(e.key, [...t]), v = (e, t) => {
@@ -12672,13 +12672,13 @@ function Tw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, o
12672
12672
  return /* @__PURE__ */ _("div", {
12673
12673
  className: "space-y-1",
12674
12674
  children: [d && /* @__PURE__ */ g("div", {
12675
- className: HC,
12675
+ className: qC,
12676
12676
  children: d
12677
12677
  }), /* @__PURE__ */ _("div", {
12678
12678
  className: "flex items-center gap-2",
12679
12679
  children: [/* @__PURE__ */ g("div", {
12680
12680
  className: "flex-1 min-w-0",
12681
- children: /* @__PURE__ */ g(Dw, {
12681
+ children: /* @__PURE__ */ g(Mw, {
12682
12682
  field: x(),
12683
12683
  values: {
12684
12684
  ...t,
@@ -12721,13 +12721,13 @@ function Tw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, o
12721
12721
  })
12722
12722
  });
12723
12723
  }
12724
- function Ew(e, t, n) {
12724
+ function jw(e, t, n) {
12725
12725
  if (!("showWhen" in e) || !e.showWhen) return !0;
12726
12726
  let r = e.showWhen, i = t[r.field], a = n?.find((e) => "key" in e && e.key === r.field), o = a && "default" in a ? a.default : void 0, s = i === void 0 ? o : i;
12727
12727
  return r.equals === void 0 ? r.notEquals === void 0 ? r.in === void 0 ? r.notIn === void 0 ? r.includes === void 0 ? r.notIncludes === void 0 ? !0 : !Array.isArray(s) || !s.includes(r.notIncludes) : Array.isArray(s) && s.includes(r.includes) : !r.notIn.includes(s) : r.in.includes(s) : s !== r.notEquals : s === r.equals;
12728
12728
  }
12729
- function Dw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, onTestField: a, externalProbe: o, allFields: s, onAction: c }) {
12730
- if (ww(e)) return /* @__PURE__ */ g(Tw, {
12729
+ function Mw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, onTestField: a, externalProbe: o, allFields: s, onAction: c }) {
12730
+ if (kw(e)) return /* @__PURE__ */ g(Aw, {
12731
12731
  field: e,
12732
12732
  values: t,
12733
12733
  onChange: n,
@@ -12738,100 +12738,100 @@ function Dw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, o
12738
12738
  allFields: s,
12739
12739
  onAction: c
12740
12740
  });
12741
- if ("readonlyField" in e && e.readonlyField === !0) return /* @__PURE__ */ g(xw, {
12741
+ if ("readonlyField" in e && e.readonlyField === !0) return /* @__PURE__ */ g(Ew, {
12742
12742
  field: e,
12743
12743
  values: t,
12744
12744
  onAction: c,
12745
12745
  translationFn: i
12746
12746
  });
12747
- if (!Ew(e, t, s)) return null;
12747
+ if (!jw(e, t, s)) return null;
12748
12748
  let l = t[e.key], u = l === void 0 ? "default" in e ? e.default : void 0 : l, d = (t) => n(e.key, t), f = Zp(e.type);
12749
12749
  switch (e.type) {
12750
- case "text": return /* @__PURE__ */ g(WC, {
12750
+ case "text": return /* @__PURE__ */ g(YC, {
12751
12751
  field: e,
12752
12752
  value: u,
12753
12753
  onChange: d,
12754
12754
  disabled: r,
12755
12755
  translationFn: i
12756
12756
  });
12757
- case "number": return /* @__PURE__ */ g(GC, {
12757
+ case "number": return /* @__PURE__ */ g(XC, {
12758
12758
  field: e,
12759
12759
  value: u,
12760
12760
  onChange: d,
12761
12761
  disabled: r,
12762
12762
  translationFn: i
12763
12763
  });
12764
- case "boolean": return /* @__PURE__ */ g(KC, {
12764
+ case "boolean": return /* @__PURE__ */ g(ZC, {
12765
12765
  field: e,
12766
12766
  value: u,
12767
12767
  onChange: d,
12768
12768
  disabled: r,
12769
12769
  translationFn: i
12770
12770
  });
12771
- case "select": return /* @__PURE__ */ g(qC, {
12771
+ case "select": return /* @__PURE__ */ g(QC, {
12772
12772
  field: e,
12773
12773
  value: u,
12774
12774
  onChange: d,
12775
12775
  disabled: r,
12776
12776
  translationFn: i
12777
12777
  });
12778
- case "multiselect": return /* @__PURE__ */ g(JC, {
12778
+ case "multiselect": return /* @__PURE__ */ g($C, {
12779
12779
  field: e,
12780
12780
  value: u,
12781
12781
  onChange: d,
12782
12782
  disabled: r,
12783
12783
  translationFn: i
12784
12784
  });
12785
- case "password": return /* @__PURE__ */ g(YC, {
12785
+ case "password": return /* @__PURE__ */ g(ew, {
12786
12786
  field: e,
12787
12787
  value: u,
12788
12788
  onChange: d,
12789
12789
  disabled: r,
12790
12790
  translationFn: i
12791
12791
  });
12792
- case "textarea": return /* @__PURE__ */ g(XC, {
12792
+ case "textarea": return /* @__PURE__ */ g(tw, {
12793
12793
  field: e,
12794
12794
  value: u,
12795
12795
  onChange: d,
12796
12796
  disabled: r,
12797
12797
  translationFn: i
12798
12798
  });
12799
- case "slider": return /* @__PURE__ */ g(ZC, {
12799
+ case "slider": return /* @__PURE__ */ g(nw, {
12800
12800
  field: e,
12801
12801
  value: u,
12802
12802
  onChange: d,
12803
12803
  disabled: r,
12804
12804
  translationFn: i
12805
12805
  });
12806
- case "tags": return /* @__PURE__ */ g(QC, {
12806
+ case "tags": return /* @__PURE__ */ g(rw, {
12807
12807
  field: e,
12808
12808
  value: u,
12809
12809
  onChange: d,
12810
12810
  disabled: r,
12811
12811
  translationFn: i
12812
12812
  });
12813
- case "color": return /* @__PURE__ */ g(tw, {
12813
+ case "color": return /* @__PURE__ */ g(ow, {
12814
12814
  field: e,
12815
12815
  value: u,
12816
12816
  onChange: d,
12817
12817
  disabled: r,
12818
12818
  translationFn: i
12819
12819
  });
12820
- case "node-select": return /* @__PURE__ */ g($C, {
12820
+ case "node-select": return /* @__PURE__ */ g(iw, {
12821
12821
  field: e,
12822
12822
  value: u,
12823
12823
  onChange: d,
12824
12824
  disabled: r,
12825
12825
  translationFn: i
12826
12826
  });
12827
- case "node-multiselect": return /* @__PURE__ */ g(ew, {
12827
+ case "node-multiselect": return /* @__PURE__ */ g(aw, {
12828
12828
  field: e,
12829
12829
  value: u,
12830
12830
  onChange: d,
12831
12831
  disabled: r,
12832
12832
  translationFn: i
12833
12833
  });
12834
- case "probe": return /* @__PURE__ */ g(nw, {
12834
+ case "probe": return /* @__PURE__ */ g(sw, {
12835
12835
  field: e,
12836
12836
  value: u,
12837
12837
  onChange: d,
@@ -12841,7 +12841,7 @@ function Dw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, o
12841
12841
  onAction: c,
12842
12842
  externalProbe: o
12843
12843
  });
12844
- case "group": return /* @__PURE__ */ g(rw, {
12844
+ case "group": return /* @__PURE__ */ g(cw, {
12845
12845
  field: e,
12846
12846
  values: t,
12847
12847
  onChange: n,
@@ -12849,7 +12849,7 @@ function Dw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, o
12849
12849
  translationFn: i,
12850
12850
  onTestField: a
12851
12851
  });
12852
- case "sub-tabs": return /* @__PURE__ */ g(iw, {
12852
+ case "sub-tabs": return /* @__PURE__ */ g(lw, {
12853
12853
  field: e,
12854
12854
  values: t,
12855
12855
  onChange: n,
@@ -12858,10 +12858,10 @@ function Dw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, o
12858
12858
  onTestField: a,
12859
12859
  onAction: c
12860
12860
  });
12861
- case "separator": return /* @__PURE__ */ g(aw, {});
12862
- case "info": return /* @__PURE__ */ g(cw, { field: e });
12863
- case "object-array": return /* @__PURE__ */ g(pw, { field: e });
12864
- case "editable-array": return /* @__PURE__ */ g(mw, {
12861
+ case "separator": return /* @__PURE__ */ g(uw, {});
12862
+ case "info": return /* @__PURE__ */ g(pw, { field: e });
12863
+ case "object-array": return /* @__PURE__ */ g(vw, { field: e });
12864
+ case "editable-array": return /* @__PURE__ */ g(yw, {
12865
12865
  field: e,
12866
12866
  value: u,
12867
12867
  onChange: d,
@@ -12870,12 +12870,12 @@ function Dw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, o
12870
12870
  onTestField: a,
12871
12871
  onAction: c
12872
12872
  });
12873
- case "button": return /* @__PURE__ */ g(hw, {
12873
+ case "button": return /* @__PURE__ */ g(bw, {
12874
12874
  field: e,
12875
12875
  disabled: r,
12876
12876
  onAction: c
12877
12877
  });
12878
- case "addon-action-select": return /* @__PURE__ */ g(_w, {
12878
+ case "addon-action-select": return /* @__PURE__ */ g(Sw, {
12879
12879
  field: e,
12880
12880
  value: u,
12881
12881
  values: t,
@@ -12883,13 +12883,13 @@ function Dw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, o
12883
12883
  disabled: r,
12884
12884
  onAction: c
12885
12885
  });
12886
- case "addon-action-button": return /* @__PURE__ */ g(vw, {
12886
+ case "addon-action-button": return /* @__PURE__ */ g(Cw, {
12887
12887
  field: e,
12888
12888
  values: t,
12889
12889
  disabled: r,
12890
12890
  onAction: c
12891
12891
  });
12892
- case "widget": return /* @__PURE__ */ g(yw, { field: e });
12892
+ case "widget": return /* @__PURE__ */ g(ww, { field: e });
12893
12893
  default: return f ? /* @__PURE__ */ g(f, {
12894
12894
  field: e,
12895
12895
  value: u,
@@ -12898,13 +12898,13 @@ function Dw({ field: e, values: t, onChange: n, disabled: r, translationFn: i, o
12898
12898
  }) : null;
12899
12899
  }
12900
12900
  }
12901
- function Ow(e) {
12901
+ function Nw(e) {
12902
12902
  return /^[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)+$/.test(e);
12903
12903
  }
12904
- function kw(e, t) {
12905
- if (e !== void 0) return t && Ow(e) ? t(e) : e;
12904
+ function Pw(e, t) {
12905
+ if (e !== void 0) return t && Nw(e) ? t(e) : e;
12906
12906
  }
12907
- function Aw({ section: e, values: t, onChange: r, disabled: i, translationFn: a, onTestField: o, probeResults: s }) {
12907
+ function Fw({ section: e, values: t, onChange: r, disabled: i, translationFn: a, onTestField: o, probeResults: s }) {
12908
12908
  let [c, l] = n(e.defaultCollapsed ?? !1), u = e.style === "accordion", d = e.columns ?? 2, f = d === 1 ? "grid-cols-1" : d === 3 ? "grid-cols-1 @[480px]:grid-cols-2 @[880px]:grid-cols-3" : d === 4 ? "grid-cols-1 @[480px]:grid-cols-2 @[1140px]:grid-cols-4" : "grid-cols-1 @[640px]:grid-cols-2";
12909
12909
  return /* @__PURE__ */ _("div", {
12910
12910
  className: "@container rounded-lg border border-border bg-surface p-3",
@@ -12914,17 +12914,17 @@ function Aw({ section: e, values: t, onChange: r, disabled: i, translationFn: a,
12914
12914
  onClick: u ? () => l((e) => !e) : void 0,
12915
12915
  children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("h3", {
12916
12916
  className: "text-[11px] font-semibold text-foreground-subtle uppercase tracking-wider",
12917
- children: kw(e.title, a)
12917
+ children: Pw(e.title, a)
12918
12918
  }), e.description && /* @__PURE__ */ g("p", {
12919
12919
  className: "text-[10px] text-foreground-subtle mt-0.5",
12920
- children: kw(e.description, a)
12920
+ children: Pw(e.description, a)
12921
12921
  })] }), u && /* @__PURE__ */ g("span", {
12922
12922
  className: "text-foreground-subtle text-xs ml-2",
12923
12923
  children: c ? "▸" : "▾"
12924
12924
  })]
12925
12925
  }), !c && /* @__PURE__ */ g("div", {
12926
12926
  className: `grid ${f} gap-x-3 gap-y-2.5`,
12927
- children: e.fields.map((e) => /* @__PURE__ */ g(Dw, {
12927
+ children: e.fields.map((e) => /* @__PURE__ */ g(Mw, {
12928
12928
  field: e,
12929
12929
  values: t,
12930
12930
  onChange: r,
@@ -12936,7 +12936,7 @@ function Aw({ section: e, values: t, onChange: r, disabled: i, translationFn: a,
12936
12936
  })]
12937
12937
  });
12938
12938
  }
12939
- function jw({ schema: e, values: t, onChange: n, disabled: r, translationFn: i, onTestField: a, probeResults: o, onClearProbe: s }) {
12939
+ function Iw({ schema: e, values: t, onChange: n, disabled: r, translationFn: i, onTestField: a, probeResults: o, onClearProbe: s }) {
12940
12940
  let c = (e, r) => {
12941
12941
  n({
12942
12942
  ...t,
@@ -12945,7 +12945,7 @@ function jw({ schema: e, values: t, onChange: n, disabled: r, translationFn: i,
12945
12945
  };
12946
12946
  return /* @__PURE__ */ g("div", {
12947
12947
  className: "space-y-4",
12948
- children: e.sections.map((e) => /* @__PURE__ */ g(Aw, {
12948
+ children: e.sections.map((e) => /* @__PURE__ */ g(Fw, {
12949
12949
  section: e,
12950
12950
  values: t,
12951
12951
  onChange: c,
@@ -12956,7 +12956,7 @@ function jw({ schema: e, values: t, onChange: n, disabled: r, translationFn: i,
12956
12956
  }, e.id))
12957
12957
  });
12958
12958
  }
12959
- var Mw = ({ open: e }) => /* @__PURE__ */ g("svg", {
12959
+ var Lw = ({ open: e }) => /* @__PURE__ */ g("svg", {
12960
12960
  className: `h-3 w-3 transition-transform ${e ? "rotate-90" : ""}`,
12961
12961
  viewBox: "0 0 24 24",
12962
12962
  fill: "none",
@@ -12967,7 +12967,7 @@ var Mw = ({ open: e }) => /* @__PURE__ */ g("svg", {
12967
12967
  "aria-hidden": !0,
12968
12968
  children: /* @__PURE__ */ g("polyline", { points: "9 18 15 12 9 6" })
12969
12969
  });
12970
- function Nw(e) {
12970
+ function Rw(e) {
12971
12971
  let t = {};
12972
12972
  if (!e) return t;
12973
12973
  for (let n of e.sections) for (let e of n.fields) {
@@ -12977,7 +12977,7 @@ function Nw(e) {
12977
12977
  }
12978
12978
  return t;
12979
12979
  }
12980
- function Pw(e) {
12980
+ function zw(e) {
12981
12981
  return {
12982
12982
  ...e,
12983
12983
  sections: e.sections.map((e) => ({
@@ -12990,7 +12990,7 @@ function Pw(e) {
12990
12990
  }))
12991
12991
  };
12992
12992
  }
12993
- function Fw({ trpc: e, addonId: t, nodeId: r, title: i, disabled: a, onAfterChange: s, refreshToken: c, collapsible: u, defaultOpen: d, mode: f, onOverrideChange: p }) {
12993
+ function Bw({ trpc: e, addonId: t, nodeId: r, title: i, disabled: a, onAfterChange: s, refreshToken: c, collapsible: u, defaultOpen: d, mode: f, onOverrideChange: p }) {
12994
12994
  let m = f ?? "persist", [h, y] = n(null), [b, x] = n(!0), [S, C] = n(null), [w, T] = n(!1), [E, D] = n(d ?? !1), [O, ee] = n({}), [k, A] = n(null);
12995
12995
  l(() => {
12996
12996
  A(null), ee({});
@@ -13009,7 +13009,7 @@ function Fw({ trpc: e, addonId: t, nodeId: r, title: i, disabled: a, onAfterChan
13009
13009
  nodeId: r,
13010
13010
  ...i ? { overlay: i } : {}
13011
13011
  }).then((e) => {
13012
- n || (y(e), i || A(Nw(e)), x(!1));
13012
+ n || (y(e), i || A(Rw(e)), x(!1));
13013
13013
  }).catch((e) => {
13014
13014
  n || (C(e instanceof Error ? e.message : String(e)), x(!1));
13015
13015
  }), () => {
@@ -13023,7 +13023,7 @@ function Fw({ trpc: e, addonId: t, nodeId: r, title: i, disabled: a, onAfterChan
13023
13023
  m,
13024
13024
  JSON.stringify(O)
13025
13025
  ]);
13026
- let j = o(() => Nw(h), [h]), M = o(() => h ? Pw(h) : null, [h]), N = async (n) => {
13026
+ let j = o(() => Rw(h), [h]), M = o(() => h ? zw(h) : null, [h]), N = async (n) => {
13027
13027
  if (m === "override") {
13028
13028
  let e = k ?? j, t = {};
13029
13029
  for (let r of Object.keys(n)) n[r] !== e[r] && (t[r] = n[r]);
@@ -13085,7 +13085,7 @@ function Fw({ trpc: e, addonId: t, nodeId: r, title: i, disabled: a, onAfterChan
13085
13085
  } : j, P = /* @__PURE__ */ _(v, { children: [m === "override" ? /* @__PURE__ */ g("div", {
13086
13086
  className: "mb-2 text-[11px] text-foreground-subtle",
13087
13087
  children: "Benchmark override — applies to this run only. The addon's saved settings are not changed."
13088
- }) : null, /* @__PURE__ */ g(jw, {
13088
+ }) : null, /* @__PURE__ */ g(Iw, {
13089
13089
  schema: M,
13090
13090
  values: te,
13091
13091
  onChange: N,
@@ -13099,7 +13099,7 @@ function Fw({ trpc: e, addonId: t, nodeId: r, title: i, disabled: a, onAfterChan
13099
13099
  className: "w-full px-4 py-2 flex items-center gap-2 hover:bg-surface-hover text-left",
13100
13100
  "aria-expanded": E,
13101
13101
  children: [
13102
- /* @__PURE__ */ g(Mw, { open: E }),
13102
+ /* @__PURE__ */ g(Lw, { open: E }),
13103
13103
  /* @__PURE__ */ g("h3", {
13104
13104
  className: "text-xs font-semibold text-foreground uppercase tracking-wide flex-1",
13105
13105
  children: i ?? t
@@ -13127,15 +13127,15 @@ function Fw({ trpc: e, addonId: t, nodeId: r, title: i, disabled: a, onAfterChan
13127
13127
  })]
13128
13128
  }) : /* @__PURE__ */ g("div", { children: P });
13129
13129
  }
13130
- function Iw({ detections: { motion: e, motionRaw: t, detection: n, phase: r }, showMotionZones: i = !0, showMotionRaw: a = !0, showDetections: o = !0, showPhaseIndicator: s = !0 }) {
13130
+ function Vw({ detections: { motion: e, motionRaw: t, detection: n, phase: r }, showMotionZones: i = !0, showMotionRaw: a = !0, showDetections: o = !0, showPhaseIndicator: s = !0 }) {
13131
13131
  let c = i && e && e.zones.length > 0, l = a && t && t.boxes.length > 0, u = o && n && n.detections.length > 0;
13132
13132
  return !c && !l && !u && !s ? null : /* @__PURE__ */ _("div", {
13133
13133
  className: "absolute inset-0 pointer-events-none z-10",
13134
13134
  children: [
13135
- s && /* @__PURE__ */ g(Lw, { phase: r }),
13136
- l && /* @__PURE__ */ g(Rw, { raw: t }),
13137
- c && /* @__PURE__ */ g(zw, { motion: e }),
13138
- u && /* @__PURE__ */ g(Bw, {
13135
+ s && /* @__PURE__ */ g(Hw, { phase: r }),
13136
+ l && /* @__PURE__ */ g(Uw, { raw: t }),
13137
+ c && /* @__PURE__ */ g(Ww, { motion: e }),
13138
+ u && /* @__PURE__ */ g(Gw, {
13139
13139
  detections: n.detections,
13140
13140
  frameWidth: n.frameWidth,
13141
13141
  frameHeight: n.frameHeight
@@ -13143,7 +13143,7 @@ function Iw({ detections: { motion: e, motionRaw: t, detection: n, phase: r }, s
13143
13143
  ]
13144
13144
  });
13145
13145
  }
13146
- function Lw({ phase: e }) {
13146
+ function Hw({ phase: e }) {
13147
13147
  let t = bn(e);
13148
13148
  return /* @__PURE__ */ _("div", {
13149
13149
  className: "absolute top-2 left-2 flex items-center gap-1.5 px-2 py-1 rounded-md bg-black/60 backdrop-blur-sm",
@@ -13153,7 +13153,7 @@ function Lw({ phase: e }) {
13153
13153
  })]
13154
13154
  });
13155
13155
  }
13156
- function Rw({ raw: e }) {
13156
+ function Uw({ raw: e }) {
13157
13157
  return e.frameWidth === 0 || e.frameHeight === 0 ? null : /* @__PURE__ */ g(v, { children: e.boxes.map((t, n) => {
13158
13158
  let [r, i, a, o] = t.bbox, s = r / e.frameWidth * 100, c = i / e.frameHeight * 100, l = (a - r) / e.frameWidth * 100, u = (o - i) / e.frameHeight * 100, d = Math.max(.05, Math.min(.25, t.changeScore * .3));
13159
13159
  return /* @__PURE__ */ g("div", {
@@ -13168,7 +13168,7 @@ function Rw({ raw: e }) {
13168
13168
  }, `mr-${n}`);
13169
13169
  }) });
13170
13170
  }
13171
- function zw({ motion: e }) {
13171
+ function Ww({ motion: e }) {
13172
13172
  return e.frameWidth === 0 || e.frameHeight === 0 ? null : /* @__PURE__ */ g(v, { children: e.zones.filter((t) => t.w * t.h / (e.frameWidth * e.frameHeight) < .9).map((t, n) => {
13173
13173
  let r = Math.max(.15, Math.min(.5, t.intensity / 255));
13174
13174
  return /* @__PURE__ */ g("div", {
@@ -13184,7 +13184,7 @@ function zw({ motion: e }) {
13184
13184
  }, `mz-${n}`);
13185
13185
  }) });
13186
13186
  }
13187
- function Bw({ detections: e, frameWidth: t, frameHeight: n }) {
13187
+ function Gw({ detections: e, frameWidth: t, frameHeight: n }) {
13188
13188
  return t === 0 || n === 0 ? null : /* @__PURE__ */ g(v, { children: e.map((e) => {
13189
13189
  let { x: r, y: i, width: a, height: o } = e.bbox, s = r / t * 100, c = i / n * 100, l = a / t * 100, u = o / n * 100, d = ff(e.macroClass), f = [`${e.macroClass} ${(e.score * 100).toFixed(0)}%`];
13190
13190
  for (let t of e.labels) f.push(t.label);
@@ -13205,7 +13205,7 @@ function Bw({ detections: e, frameWidth: t, frameHeight: n }) {
13205
13205
  }, `det-${e.id}`);
13206
13206
  }) });
13207
13207
  }
13208
- function Vw(e) {
13208
+ function Kw(e) {
13209
13209
  let t = {};
13210
13210
  if (typeof window < "u") {
13211
13211
  if (e) {
@@ -13218,8 +13218,8 @@ function Vw(e) {
13218
13218
  }
13219
13219
  return t;
13220
13220
  }
13221
- var Hw = 3e3, Uw = 5;
13222
- function Ww({ serverUrl: e, streamKey: t, label: r, autoPlay: i = !0, muted: o = !0, showControls: s = !0, className: c = "", onStateChange: u, onError: d, overlay: f, createSession: p, sendAnswer: h, closeSession: v, hintsOverride: y }) {
13221
+ var qw = 3e3, Jw = 5;
13222
+ function Yw({ serverUrl: e, streamKey: t, label: r, autoPlay: i = !0, muted: o = !0, showControls: s = !0, className: c = "", onStateChange: u, onError: d, overlay: f, createSession: p, sendAnswer: h, closeSession: v, hintsOverride: y }) {
13223
13223
  let b = m(null), x = m(null), S = m(null), C = m(/* @__PURE__ */ new Set()), w = m(null), T = m(null), E = m(0), D = m(!0), [O, ee] = n("idle"), [k, A] = n(""), [j, M] = n(o), [N, te] = n(!1), [P, ne] = n(!1), re = m(null), F = m(!1);
13224
13224
  (h || p) && (F.current = !0);
13225
13225
  let I = F.current, L = a((e) => {
@@ -13237,7 +13237,7 @@ function Ww({ serverUrl: e, streamKey: t, label: r, autoPlay: i = !0, muted: o =
13237
13237
  w.current = e;
13238
13238
  try {
13239
13239
  let { sessionId: t, sdpOffer: n } = await p({
13240
- ...Vw(x.current),
13240
+ ...Kw(x.current),
13241
13241
  ...y
13242
13242
  });
13243
13243
  if (C.current.add(t), !D.current || e.signal.aborted) {
@@ -13260,7 +13260,7 @@ function Ww({ serverUrl: e, streamKey: t, label: r, autoPlay: i = !0, muted: o =
13260
13260
  sdp: n
13261
13261
  });
13262
13262
  let a = await r.createAnswer();
13263
- if (await r.setLocalDescription(a), console.debug("[WebRTC] Local description set, waiting for ICE gathering..."), await Kw(r), !D.current) return;
13263
+ if (await r.setLocalDescription(a), console.debug("[WebRTC] Local description set, waiting for ICE gathering..."), await Zw(r), !D.current) return;
13264
13264
  let o = (r.localDescription?.sdp ?? "").split("\n").filter((e) => e.startsWith("a=candidate:")).length;
13265
13265
  console.debug("[WebRTC] Sending answer to server", {
13266
13266
  localCandidates: o,
@@ -13302,7 +13302,7 @@ function Ww({ serverUrl: e, streamKey: t, label: r, autoPlay: i = !0, muted: o =
13302
13302
  e === "connected" || e === "completed" ? (E.current = 0, L("playing"), b.current?.paused && b.current.play().catch(() => {})) : (e === "failed" || e === "disconnected" || e === "closed") && (L("disconnected"), B());
13303
13303
  };
13304
13304
  let i = await n.createOffer();
13305
- if (await n.setLocalDescription(i), await Kw(n), !D.current) return;
13305
+ if (await n.setLocalDescription(i), await Zw(n), !D.current) return;
13306
13306
  let a = `${e}/api/webrtc?src=${encodeURIComponent(t)}`, o = await fetch(a, {
13307
13307
  method: "POST",
13308
13308
  headers: { "Content-Type": "application/sdp" },
@@ -13329,9 +13329,9 @@ function Ww({ serverUrl: e, streamKey: t, label: r, autoPlay: i = !0, muted: o =
13329
13329
  ]), z = I ? ie : ae, oe = m(() => {});
13330
13330
  oe.current = z;
13331
13331
  let B = a(() => {
13332
- D.current && (E.current >= Uw || (E.current += 1, T.current = setTimeout(() => {
13332
+ D.current && (E.current >= Jw || (E.current += 1, T.current = setTimeout(() => {
13333
13333
  D.current && oe.current();
13334
- }, Hw)));
13334
+ }, qw)));
13335
13335
  }, []);
13336
13336
  l(() => (D.current = !0, E.current = 0, i && z(), () => {
13337
13337
  D.current = !1, R();
@@ -13442,7 +13442,7 @@ function Ww({ serverUrl: e, streamKey: t, label: r, autoPlay: i = !0, muted: o =
13442
13442
  className: `absolute bottom-0 inset-x-0 flex items-center justify-between px-3 py-1.5 bg-gradient-to-t from-black/80 to-transparent transition-opacity duration-200 ${P ? "opacity-100" : "opacity-0"}`,
13443
13443
  children: [/* @__PURE__ */ g("div", {
13444
13444
  className: "flex items-center gap-1",
13445
- children: /* @__PURE__ */ g(Gw, {
13445
+ children: /* @__PURE__ */ g(Xw, {
13446
13446
  onClick: le,
13447
13447
  title: j ? "Unmute" : "Mute",
13448
13448
  children: j ? /* @__PURE__ */ _("svg", {
@@ -13479,7 +13479,7 @@ function Ww({ serverUrl: e, streamKey: t, label: r, autoPlay: i = !0, muted: o =
13479
13479
  })
13480
13480
  }), /* @__PURE__ */ _("div", {
13481
13481
  className: "flex items-center gap-1",
13482
- children: [/* @__PURE__ */ g(Gw, {
13482
+ children: [/* @__PURE__ */ g(Xw, {
13483
13483
  onClick: H,
13484
13484
  title: "Take snapshot",
13485
13485
  children: /* @__PURE__ */ _("svg", {
@@ -13495,7 +13495,7 @@ function Ww({ serverUrl: e, streamKey: t, label: r, autoPlay: i = !0, muted: o =
13495
13495
  r: "4"
13496
13496
  })]
13497
13497
  })
13498
- }), /* @__PURE__ */ g(Gw, {
13498
+ }), /* @__PURE__ */ g(Xw, {
13499
13499
  onClick: V,
13500
13500
  title: N ? "Exit fullscreen" : "Fullscreen",
13501
13501
  children: N ? /* @__PURE__ */ g("svg", {
@@ -13521,7 +13521,7 @@ function Ww({ serverUrl: e, streamKey: t, label: r, autoPlay: i = !0, muted: o =
13521
13521
  ]
13522
13522
  });
13523
13523
  }
13524
- function Gw({ onClick: e, title: t, children: n }) {
13524
+ function Xw({ onClick: e, title: t, children: n }) {
13525
13525
  return /* @__PURE__ */ g("button", {
13526
13526
  onClick: e,
13527
13527
  title: t,
@@ -13529,7 +13529,7 @@ function Gw({ onClick: e, title: t, children: n }) {
13529
13529
  children: n
13530
13530
  });
13531
13531
  }
13532
- async function Kw(e) {
13532
+ async function Zw(e) {
13533
13533
  if (e.iceGatheringState !== "complete") return new Promise((t) => {
13534
13534
  let n = () => {
13535
13535
  e.iceGatheringState === "complete" && (e.removeEventListener("icegatheringstatechange", n), t());
@@ -13537,8 +13537,8 @@ async function Kw(e) {
13537
13537
  e.addEventListener("icegatheringstatechange", n), setTimeout(t, 5e3);
13538
13538
  });
13539
13539
  }
13540
- var qw = xn("camstack:player-overlays-state", null), Jw = xn("camstack:player-overlays-actions", null);
13541
- function Yw({ children: e }) {
13540
+ var Qw = xn("camstack:player-overlays-state", null), $w = xn("camstack:player-overlays-actions", null);
13541
+ function eT({ children: e }) {
13542
13542
  let [t, r] = n(() => /* @__PURE__ */ new Map()), [i, s] = n(() => /* @__PURE__ */ new Map()), c = a((e) => {
13543
13543
  r((t) => {
13544
13544
  let n = new Map(t);
@@ -13575,42 +13575,42 @@ function Yw({ children: e }) {
13575
13575
  u,
13576
13576
  d
13577
13577
  ]);
13578
- return /* @__PURE__ */ g(qw.Provider, {
13578
+ return /* @__PURE__ */ g(Qw.Provider, {
13579
13579
  value: f,
13580
- children: /* @__PURE__ */ g(Jw.Provider, {
13580
+ children: /* @__PURE__ */ g($w.Provider, {
13581
13581
  value: p,
13582
13582
  children: e
13583
13583
  })
13584
13584
  });
13585
13585
  }
13586
- function Xw() {
13587
- let t = e(qw);
13586
+ function tT() {
13587
+ let t = e(Qw);
13588
13588
  return o(() => t ? [...t.layers.values()].sort((e, t) => e.order - t.order) : [], [t]);
13589
13589
  }
13590
- function Zw() {
13591
- let t = e(qw);
13590
+ function nT() {
13591
+ let t = e(Qw);
13592
13592
  return o(() => t ? [...t.buttons.values()].sort((e, t) => e.order - t.order) : [], [t]);
13593
13593
  }
13594
- function Qw(t) {
13595
- let n = e(Jw);
13594
+ function rT(t) {
13595
+ let n = e($w);
13596
13596
  l(() => {
13597
13597
  if (!(!n || !t)) return n.setLayer(t), () => n.removeLayer(t.id);
13598
13598
  }, [n, t]);
13599
13599
  }
13600
- function $w(t) {
13601
- let n = e(Jw);
13600
+ function iT(t) {
13601
+ let n = e($w);
13602
13602
  l(() => {
13603
13603
  if (!(!n || !t)) return n.setButton(t), () => n.removeButton(t.id);
13604
13604
  }, [n, t]);
13605
13605
  }
13606
- function eT(e) {
13606
+ function aT(e) {
13607
13607
  return e === "streaming" ? "bg-emerald-500" : e === "connecting" ? "bg-amber-500" : e === "error" ? "bg-rose-500" : "bg-zinc-500";
13608
13608
  }
13609
- function tT(e) {
13609
+ function oT(e) {
13610
13610
  let t = Math.floor(e / 1e3);
13611
13611
  return t < 60 ? `${t}s` : t < 3600 ? `${Math.floor(t / 60)}m` : `${Math.floor(t / 3600)}h${Math.floor(t % 3600 / 60)}m`;
13612
13612
  }
13613
- function nT({ className: e }) {
13613
+ function sT({ className: e }) {
13614
13614
  return /* @__PURE__ */ g("svg", {
13615
13615
  className: e,
13616
13616
  viewBox: "0 0 24 24",
@@ -13622,7 +13622,7 @@ function nT({ className: e }) {
13622
13622
  children: /* @__PURE__ */ g("polygon", { points: "5 3 19 12 5 21 5 3" })
13623
13623
  });
13624
13624
  }
13625
- function rT({ className: e }) {
13625
+ function cT({ className: e }) {
13626
13626
  return /* @__PURE__ */ g("svg", {
13627
13627
  className: e,
13628
13628
  viewBox: "0 0 24 24",
@@ -13640,7 +13640,7 @@ function rT({ className: e }) {
13640
13640
  })
13641
13641
  });
13642
13642
  }
13643
- function iT({ className: e }) {
13643
+ function lT({ className: e }) {
13644
13644
  return /* @__PURE__ */ _("svg", {
13645
13645
  className: e,
13646
13646
  viewBox: "0 0 24 24",
@@ -13667,7 +13667,7 @@ function iT({ className: e }) {
13667
13667
  ]
13668
13668
  });
13669
13669
  }
13670
- function aT({ className: e }) {
13670
+ function uT({ className: e }) {
13671
13671
  return /* @__PURE__ */ _("svg", {
13672
13672
  className: e,
13673
13673
  viewBox: "0 0 24 24",
@@ -13691,7 +13691,7 @@ function aT({ className: e }) {
13691
13691
  ]
13692
13692
  });
13693
13693
  }
13694
- function oT({ label: e, active: t, onClick: n }) {
13694
+ function dT({ label: e, active: t, onClick: n }) {
13695
13695
  return /* @__PURE__ */ _("button", {
13696
13696
  type: "button",
13697
13697
  onClick: n,
@@ -13702,7 +13702,7 @@ function oT({ label: e, active: t, onClick: n }) {
13702
13702
  })]
13703
13703
  });
13704
13704
  }
13705
- function sT({ className: e }) {
13705
+ function fT({ className: e }) {
13706
13706
  return /* @__PURE__ */ _("svg", {
13707
13707
  className: e,
13708
13708
  viewBox: "0 0 24 24",
@@ -13718,7 +13718,7 @@ function sT({ className: e }) {
13718
13718
  ]
13719
13719
  });
13720
13720
  }
13721
- function cT({ className: e }) {
13721
+ function pT({ className: e }) {
13722
13722
  return /* @__PURE__ */ _("svg", {
13723
13723
  className: e,
13724
13724
  viewBox: "0 0 24 24",
@@ -13747,8 +13747,8 @@ function cT({ className: e }) {
13747
13747
  ]
13748
13748
  });
13749
13749
  }
13750
- function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, streams: a, activeStreamId: s, onStreamChange: c, deviceName: u, phase: d, pipelineMetrics: f, detections: p, defaultShowDetections: h = !0, defaultShowMotion: y = !1, streamStats: b, autoPlay: x = !1, showPlayStop: S = !1, snapshotSrc: C, snapshotLoading: w = !1, onRefreshSnapshot: T, showStreamStats: E = !1, children: D, extraOverlay: O, ptzAvailable: ee = !1, ptzShown: k = !1, ptzOverlay: A, onPtzToggle: j, intercomAvailable: M = !1, intercomShown: N = !1, onIntercomToggle: te, chromeless: P = !1, className: ne }) {
13751
- let re = Zw(), [F, I] = n(x), [L, R] = n(h), [ie, ae] = n(y), [z, oe] = n(null), [B, se] = n(!1), ce = m(null);
13750
+ function mT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, streams: a, activeStreamId: s, onStreamChange: c, deviceName: u, phase: d, pipelineMetrics: f, detections: p, defaultShowDetections: h = !0, defaultShowMotion: y = !1, streamStats: b, autoPlay: x = !1, showPlayStop: S = !1, snapshotSrc: C, snapshotLoading: w = !1, onRefreshSnapshot: T, showStreamStats: E = !1, children: D, extraOverlay: O, ptzAvailable: ee = !1, ptzShown: k = !1, ptzOverlay: A, onPtzToggle: j, intercomAvailable: M = !1, intercomShown: N = !1, onIntercomToggle: te, chromeless: P = !1, className: ne }) {
13751
+ let re = nT(), [F, I] = n(x), [L, R] = n(h), [ie, ae] = n(y), [z, oe] = n(null), [B, se] = n(!1), ce = m(null);
13752
13752
  l(() => {
13753
13753
  if (!B) return;
13754
13754
  function e(e) {
@@ -13774,7 +13774,7 @@ function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, st
13774
13774
  children: [/* @__PURE__ */ _("div", {
13775
13775
  className: "flex items-center gap-2",
13776
13776
  children: [
13777
- (b ?? H) && /* @__PURE__ */ g("span", { className: `w-2 h-2 rounded-full ${eT((b ?? H).status)}` }),
13777
+ (b ?? H) && /* @__PURE__ */ g("span", { className: `w-2 h-2 rounded-full ${aT((b ?? H).status)}` }),
13778
13778
  u && /* @__PURE__ */ g("span", {
13779
13779
  className: "text-xs font-medium text-foreground",
13780
13780
  children: u
@@ -13814,7 +13814,7 @@ function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, st
13814
13814
  onClick: te,
13815
13815
  className: `inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium transition-colors ${N ? "bg-primary/15 text-primary" : "text-foreground-subtle hover:text-foreground hover:bg-surface-hover"}`,
13816
13816
  title: N ? "Close intercom" : "Open intercom",
13817
- children: [/* @__PURE__ */ g(iT, { className: "h-3 w-3" }), /* @__PURE__ */ g("span", {
13817
+ children: [/* @__PURE__ */ g(lT, { className: "h-3 w-3" }), /* @__PURE__ */ g("span", {
13818
13818
  className: "hidden xl:inline",
13819
13819
  children: "Intercom"
13820
13820
  })]
@@ -13841,7 +13841,7 @@ function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, st
13841
13841
  onClick: be ? me : pe,
13842
13842
  className: `inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium transition-colors ${be ? "bg-danger/10 text-danger hover:bg-danger/20" : "bg-primary/10 text-primary hover:bg-primary/20"}`,
13843
13843
  title: be ? "Stop stream" : "Start stream",
13844
- children: [g(be ? rT : nT, { className: "h-3 w-3" }), /* @__PURE__ */ g("span", {
13844
+ children: [g(be ? cT : sT, { className: "h-3 w-3" }), /* @__PURE__ */ g("span", {
13845
13845
  className: "hidden xl:inline",
13846
13846
  children: be ? "Stop" : "Play"
13847
13847
  })]
@@ -13852,7 +13852,7 @@ function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, st
13852
13852
  disabled: w,
13853
13853
  className: "inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors disabled:opacity-50",
13854
13854
  title: "Force snapshot refresh",
13855
- children: [/* @__PURE__ */ g(sT, { className: `h-3 w-3 ${w ? "animate-spin" : ""}` }), /* @__PURE__ */ g("span", {
13855
+ children: [/* @__PURE__ */ g(fT, { className: `h-3 w-3 ${w ? "animate-spin" : ""}` }), /* @__PURE__ */ g("span", {
13856
13856
  className: "hidden xl:inline",
13857
13857
  children: "Snapshot"
13858
13858
  })]
@@ -13864,7 +13864,7 @@ function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, st
13864
13864
  onClick: () => se((e) => !e),
13865
13865
  title: "More controls",
13866
13866
  className: "inline-flex items-center justify-center rounded-md p-1 text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors",
13867
- children: /* @__PURE__ */ g(aT, { className: "h-3.5 w-3.5" })
13867
+ children: /* @__PURE__ */ g(uT, { className: "h-3.5 w-3.5" })
13868
13868
  }), B && /* @__PURE__ */ _("div", {
13869
13869
  className: "absolute right-0 top-full mt-1 z-30 min-w-[200px] rounded-lg border border-border bg-surface shadow-xl py-1.5",
13870
13870
  children: [
@@ -13889,7 +13889,7 @@ function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, st
13889
13889
  className: "flex justify-between gap-3",
13890
13890
  children: [/* @__PURE__ */ g("span", { children: "Uptime" }), /* @__PURE__ */ g("span", {
13891
13891
  className: "tabular-nums text-foreground",
13892
- children: tT(b.uptimeMs)
13892
+ children: oT(b.uptimeMs)
13893
13893
  })]
13894
13894
  })
13895
13895
  ]
@@ -13936,16 +13936,16 @@ function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, st
13936
13936
  })
13937
13937
  ]
13938
13938
  }),
13939
- _e && /* @__PURE__ */ _(v, { children: [/* @__PURE__ */ g(oT, {
13939
+ _e && /* @__PURE__ */ _(v, { children: [/* @__PURE__ */ g(dT, {
13940
13940
  label: "Show detections",
13941
13941
  active: L,
13942
13942
  onClick: () => R((e) => !e)
13943
- }), /* @__PURE__ */ g(oT, {
13943
+ }), /* @__PURE__ */ g(dT, {
13944
13944
  label: "Show motion",
13945
13945
  active: ie,
13946
13946
  onClick: () => ae((e) => !e)
13947
13947
  })] }),
13948
- ee && /* @__PURE__ */ g(oT, {
13948
+ ee && /* @__PURE__ */ g(dT, {
13949
13949
  label: "PTZ controls",
13950
13950
  active: k,
13951
13951
  onClick: () => {
@@ -13960,7 +13960,7 @@ function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, st
13960
13960
  }),
13961
13961
  be ? /* @__PURE__ */ g("div", {
13962
13962
  className: "aspect-video relative",
13963
- children: /* @__PURE__ */ g(Ww, {
13963
+ children: /* @__PURE__ */ g(Yw, {
13964
13964
  serverUrl: e,
13965
13965
  streamKey: le,
13966
13966
  autoPlay: !0,
@@ -13969,7 +13969,7 @@ function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, st
13969
13969
  sendAnswer: r,
13970
13970
  closeSession: i,
13971
13971
  overlay: ve || O || ye ? /* @__PURE__ */ _(v, { children: [
13972
- ve && /* @__PURE__ */ g(Iw, {
13972
+ ve && /* @__PURE__ */ g(Vw, {
13973
13973
  detections: p,
13974
13974
  showPhaseIndicator: !1,
13975
13975
  showMotionZones: ie,
@@ -13980,7 +13980,7 @@ function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, st
13980
13980
  ye && A
13981
13981
  ] }) : void 0
13982
13982
  }, le)
13983
- }) : /* @__PURE__ */ g(uT, {
13983
+ }) : /* @__PURE__ */ g(hT, {
13984
13984
  src: C ?? null,
13985
13985
  isLoading: w,
13986
13986
  onPlay: pe,
@@ -13992,7 +13992,7 @@ function lT({ serverUrl: e, createSession: t, sendAnswer: r, closeSession: i, st
13992
13992
  ]
13993
13993
  });
13994
13994
  }
13995
- function uT({ src: e, isLoading: t, onPlay: n, onRetry: r, extraOverlay: i, suppressPlayHover: a = !1 }) {
13995
+ function hT({ src: e, isLoading: t, onPlay: n, onRetry: r, extraOverlay: i, suppressPlayHover: a = !1 }) {
13996
13996
  return e ? /* @__PURE__ */ _("div", {
13997
13997
  className: "relative w-full aspect-video bg-black/90 flex items-center justify-center",
13998
13998
  children: [
@@ -14006,7 +14006,7 @@ function uT({ src: e, isLoading: t, onPlay: n, onRetry: r, extraOverlay: i, supp
14006
14006
  className: "absolute inset-0 flex items-center justify-center bg-black/30 opacity-0 hover:opacity-100 transition-opacity cursor-pointer",
14007
14007
  children: /* @__PURE__ */ g("div", {
14008
14008
  className: "h-14 w-14 rounded-full bg-white/20 backdrop-blur-sm flex items-center justify-center",
14009
- children: /* @__PURE__ */ g(nT, { className: "h-7 w-7 text-white ml-0.5" })
14009
+ children: /* @__PURE__ */ g(sT, { className: "h-7 w-7 text-white ml-0.5" })
14010
14010
  })
14011
14011
  }),
14012
14012
  i
@@ -14019,7 +14019,7 @@ function uT({ src: e, isLoading: t, onPlay: n, onRetry: r, extraOverlay: i, supp
14019
14019
  children: /* @__PURE__ */ _("div", {
14020
14020
  className: "flex flex-col items-center gap-2 text-white/40",
14021
14021
  children: [
14022
- /* @__PURE__ */ g(cT, { className: "h-8 w-8" }),
14022
+ /* @__PURE__ */ g(pT, { className: "h-8 w-8" }),
14023
14023
  /* @__PURE__ */ g("span", {
14024
14024
  className: "text-xs",
14025
14025
  children: "No snapshot available"
@@ -14029,35 +14029,35 @@ function uT({ src: e, isLoading: t, onPlay: n, onRetry: r, extraOverlay: i, supp
14029
14029
  children: [r && /* @__PURE__ */ _("button", {
14030
14030
  onClick: r,
14031
14031
  className: "inline-flex items-center gap-1.5 rounded-md border border-white/20 px-3 py-1.5 text-xs font-medium text-white/60 hover:text-white hover:border-white/40 transition-colors",
14032
- children: [/* @__PURE__ */ g(sT, { className: "h-3 w-3" }), "Retry"]
14032
+ children: [/* @__PURE__ */ g(fT, { className: "h-3 w-3" }), "Retry"]
14033
14033
  }), /* @__PURE__ */ _("button", {
14034
14034
  onClick: n,
14035
14035
  className: "inline-flex items-center gap-1.5 rounded-md bg-primary/80 px-3 py-1.5 text-xs font-medium text-white hover:bg-primary transition-colors",
14036
- children: [/* @__PURE__ */ g(nT, { className: "h-3 w-3" }), "Play Live"]
14036
+ children: [/* @__PURE__ */ g(sT, { className: "h-3 w-3" }), "Play Live"]
14037
14037
  })]
14038
14038
  })
14039
14039
  ]
14040
14040
  })
14041
14041
  });
14042
14042
  }
14043
- var dT = {
14043
+ var gT = {
14044
14044
  value: "auto",
14045
14045
  label: "Auto (best available)"
14046
14046
  };
14047
- function fT(e) {
14047
+ function _T(e) {
14048
14048
  return e.charAt(0).toUpperCase() + e.slice(1);
14049
14049
  }
14050
- function pT({ deviceId: e, value: t, onChange: r, disabled: i, label: a, className: o }) {
14051
- let s = f(), c = Oh({ deviceId: e }, { refetchOnWindowFocus: !1 }), [u, d] = n([dT]);
14050
+ function vT({ deviceId: e, value: t, onChange: r, disabled: i, label: a, className: o }) {
14051
+ let s = f(), c = Oh({ deviceId: e }, { refetchOnWindowFocus: !1 }), [u, d] = n([gT]);
14052
14052
  l(() => {
14053
14053
  if (!c.data) return;
14054
- let t = `${e}/`, n = [dT];
14054
+ let t = `${e}/`, n = [gT];
14055
14055
  for (let e of c.data) {
14056
14056
  if (!e.enabled) continue;
14057
14057
  let r = e.brokerId.startsWith(t) ? e.brokerId.slice(t.length) : e.brokerId;
14058
14058
  n.push({
14059
14059
  value: r,
14060
- label: fT(r)
14060
+ label: _T(r)
14061
14061
  });
14062
14062
  }
14063
14063
  d(n);
@@ -14085,7 +14085,7 @@ function pT({ deviceId: e, value: t, onChange: r, disabled: i, label: a, classNa
14085
14085
  ]
14086
14086
  });
14087
14087
  }
14088
- function mT({ samples: e, sampleRate: t = 16e3, height: n = 96, className: r = "", color: i = "#3b82f6", bgColor: o = "transparent" }) {
14088
+ function yT({ samples: e, sampleRate: t = 16e3, height: n = 96, className: r = "", color: i = "#3b82f6", bgColor: o = "transparent" }) {
14089
14089
  let s = m(null), c = m(null), u = a(() => {
14090
14090
  let t = s.current, r = c.current;
14091
14091
  if (!t || !r || !e || e.length === 0) return;
@@ -14140,7 +14140,7 @@ function mT({ samples: e, sampleRate: t = 16e3, height: n = 96, className: r = "
14140
14140
  })]
14141
14141
  });
14142
14142
  }
14143
- function hT({ currentDbfs: e, durationSec: t = 30, maxSamples: r = 120, height: i = 64, className: o = "", color: s = "#10b981", clipColor: c = "#ef4444", clipThreshold: u = -6, minDbfs: d = -96 }) {
14143
+ function bT({ currentDbfs: e, durationSec: t = 30, maxSamples: r = 120, height: i = 64, className: o = "", color: s = "#10b981", clipColor: c = "#ef4444", clipThreshold: u = -6, minDbfs: d = -96 }) {
14144
14144
  let f = m(null), p = m(null), [h, v] = n([]);
14145
14145
  l(() => {
14146
14146
  e !== null && v((t) => {
@@ -14210,13 +14210,13 @@ function hT({ currentDbfs: e, durationSec: t = 30, maxSamples: r = 120, height:
14210
14210
  ]
14211
14211
  });
14212
14212
  }
14213
- function gT(e) {
14213
+ function xT(e) {
14214
14214
  return e >= .8 ? "bg-emerald-500" : e >= .5 ? "bg-amber-500" : e >= .3 ? "bg-orange-500" : "bg-zinc-500";
14215
14215
  }
14216
- function _T(e) {
14216
+ function ST(e) {
14217
14217
  return e >= .8 ? "text-emerald-400" : e >= .5 ? "text-amber-400" : e >= .3 ? "text-orange-400" : "text-zinc-400";
14218
14218
  }
14219
- function vT({ classifications: e, processing: t = !1, inferenceMs: n, maxItems: r = 10, className: i = "" }) {
14219
+ function CT({ classifications: e, processing: t = !1, inferenceMs: n, maxItems: r = 10, className: i = "" }) {
14220
14220
  let a = e.slice(0, r), o = a.length > 0 ? a[0].score : 1;
14221
14221
  return t ? /* @__PURE__ */ g("div", {
14222
14222
  className: `rounded-xl border border-border bg-surface p-4 text-center ${i}`,
@@ -14267,12 +14267,12 @@ function vT({ classifications: e, processing: t = !1, inferenceMs: n, maxItems:
14267
14267
  /* @__PURE__ */ g("div", {
14268
14268
  className: "flex-1 h-2 rounded-full bg-zinc-800 overflow-hidden",
14269
14269
  children: /* @__PURE__ */ g("div", {
14270
- className: `h-full rounded-full transition-all duration-300 ${gT(e.score)}`,
14270
+ className: `h-full rounded-full transition-all duration-300 ${xT(e.score)}`,
14271
14271
  style: { width: `${n}%` }
14272
14272
  })
14273
14273
  }),
14274
14274
  /* @__PURE__ */ _("span", {
14275
- className: `text-xs font-mono font-semibold w-14 text-right ${_T(e.score)}`,
14275
+ className: `text-xs font-mono font-semibold w-14 text-right ${ST(e.score)}`,
14276
14276
  children: [(e.score * 100).toFixed(1), "%"]
14277
14277
  })
14278
14278
  ]
@@ -14281,7 +14281,7 @@ function vT({ classifications: e, processing: t = !1, inferenceMs: n, maxItems:
14281
14281
  })]
14282
14282
  });
14283
14283
  }
14284
- function yT({ data: e, label: t = "Response", className: r = "" }) {
14284
+ function wT({ data: e, label: t = "Response", className: r = "" }) {
14285
14285
  let [i, a] = n(!1);
14286
14286
  if (!e) return null;
14287
14287
  let o = JSON.stringify(e, null, 2);
@@ -14312,18 +14312,18 @@ function yT({ data: e, label: t = "Response", className: r = "" }) {
14312
14312
  })]
14313
14313
  });
14314
14314
  }
14315
- var bT = {
14315
+ var TT = {
14316
14316
  Activity: bo,
14317
14317
  Eye: rs,
14318
14318
  AlertTriangle: Xs,
14319
14319
  PauseCircle: Uo,
14320
14320
  PowerOff: Es
14321
14321
  };
14322
- function xT({ phase: e, ...t }) {
14323
- let n = bT[bn(e).icon];
14322
+ function ET({ phase: e, ...t }) {
14323
+ let n = TT[bn(e).icon];
14324
14324
  return /* @__PURE__ */ g(n, { ...t });
14325
14325
  }
14326
- function ST(e) {
14326
+ function DT(e) {
14327
14327
  let [t, r] = n([]), i = a((t) => {
14328
14328
  r((n) => {
14329
14329
  let r = [...n, t];
@@ -14342,7 +14342,7 @@ function ST(e) {
14342
14342
  s
14343
14343
  ]);
14344
14344
  }
14345
- function CT(e) {
14345
+ function OT(e) {
14346
14346
  if (e === null) return "null";
14347
14347
  if (e === void 0) return "undefined";
14348
14348
  if (typeof e == "string") return e;
@@ -14353,7 +14353,7 @@ function CT(e) {
14353
14353
  return String(e);
14354
14354
  }
14355
14355
  }
14356
- var wT = {
14356
+ var kT = {
14357
14357
  error: {
14358
14358
  icon: zo,
14359
14359
  color: "text-red-400"
@@ -14370,22 +14370,22 @@ var wT = {
14370
14370
  icon: Mo,
14371
14371
  color: "text-gray-500"
14372
14372
  }
14373
- }, TT = {
14373
+ }, AT = {
14374
14374
  debug: 0,
14375
14375
  info: 1,
14376
14376
  warn: 2,
14377
14377
  error: 3
14378
- }, ET = [
14378
+ }, jT = [
14379
14379
  "all",
14380
14380
  "debug",
14381
14381
  "info",
14382
14382
  "warn",
14383
14383
  "error"
14384
- ], DT = 500;
14385
- function OT(e, t) {
14386
- return t ? (TT[e] ?? 0) >= (TT[t] ?? 0) : !0;
14384
+ ], MT = 500;
14385
+ function NT(e, t) {
14386
+ return t ? (AT[e] ?? 0) >= (AT[t] ?? 0) : !0;
14387
14387
  }
14388
- function kT({ agentId: e, addonId: t, deviceId: r, integrationId: i, requestId: s, level: c, maxHeight: u = "max-h-96", showScope: d = !1, showFilters: f = !0, limit: p = 100, liveBuffer: h, onClose: v, className: y }) {
14388
+ function PT({ agentId: e, addonId: t, deviceId: r, integrationId: i, requestId: s, level: c, maxHeight: u = "max-h-96", showScope: d = !1, showFilters: f = !0, limit: p = 100, liveBuffer: h, onClose: v, className: y }) {
14389
14389
  let [b, x] = n(""), [S, C] = n(""), [w, T] = n(c), E = e, D = t ?? (b || void 0), O = r ?? (S ? Number(S) : void 0), ee = i, k = s, A = o(() => {
14390
14390
  let e = {};
14391
14391
  return E && (e.agentId = E), D && (e.addonId = D), O !== void 0 && Number.isFinite(O) && (e.deviceId = O), ee && (e.integrationId = ee), k && (e.requestId = k), Object.keys(e).length > 0 ? e : void 0;
@@ -14395,7 +14395,7 @@ function kT({ agentId: e, addonId: t, deviceId: r, integrationId: i, requestId:
14395
14395
  O,
14396
14396
  ee,
14397
14397
  k
14398
- ]), j = ST(DT), M = h ?? j, N = M.entries, [te, P] = n(0), [ne, re] = n(!1), [F, I] = n(!1), [L, R] = n(/* @__PURE__ */ new Set()), [ie, ae] = n(""), z = m(null), oe = `${E ?? ""}:${D ?? ""}:${String(O ?? "")}:${ee ?? ""}:${k ?? ""}`, B = m(oe);
14398
+ ]), j = DT(MT), M = h ?? j, N = M.entries, [te, P] = n(0), [ne, re] = n(!1), [F, I] = n(!1), [L, R] = n(/* @__PURE__ */ new Set()), [ie, ae] = n(""), z = m(null), oe = `${E ?? ""}:${D ?? ""}:${String(O ?? "")}:${ee ?? ""}:${k ?? ""}`, B = m(oe);
14399
14399
  l(() => {
14400
14400
  B.current !== oe && (B.current = oe, M.reset(), P(0), R(/* @__PURE__ */ new Set()));
14401
14401
  }, [oe, M]);
@@ -14439,14 +14439,14 @@ function kT({ agentId: e, addonId: t, deviceId: r, integrationId: i, requestId:
14439
14439
  let e = `${r.timestamp}|${r.level}|${r.scope ?? ""}|${r.message}`;
14440
14440
  t.has(e) || (t.add(e), n.push(r));
14441
14441
  }
14442
- let r = (te > 0 ? n.filter((e) => new Date(e.timestamp).getTime() > te) : n).filter((e) => OT(e.level, w)), i = ie.trim().toLowerCase();
14442
+ let r = (te > 0 ? n.filter((e) => new Date(e.timestamp).getTime() > te) : n).filter((e) => NT(e.level, w)), i = ie.trim().toLowerCase();
14443
14443
  return i ? r.filter((e) => {
14444
14444
  if (e.message.toLowerCase().includes(i) || e.scope && e.scope.toLowerCase().includes(i)) return !0;
14445
14445
  if (e.tags) {
14446
14446
  for (let t of Object.values(e.tags)) if (t !== void 0 && String(t).toLowerCase().includes(i)) return !0;
14447
14447
  }
14448
14448
  if (e.meta) {
14449
- for (let t of Object.values(e.meta)) if (t != null && CT(t).toLowerCase().includes(i)) return !0;
14449
+ for (let t of Object.values(e.meta)) if (t != null && OT(t).toLowerCase().includes(i)) return !0;
14450
14450
  }
14451
14451
  return !1;
14452
14452
  }) : r;
@@ -14494,28 +14494,28 @@ function kT({ agentId: e, addonId: t, deviceId: r, integrationId: i, requestId:
14494
14494
  className: "text-[10px] uppercase tracking-wide text-foreground-subtle font-medium",
14495
14495
  children: "Logs"
14496
14496
  }),
14497
- E && /* @__PURE__ */ g(jT, {
14497
+ E && /* @__PURE__ */ g(IT, {
14498
14498
  label: "agent",
14499
14499
  value: E
14500
14500
  }),
14501
- D && /* @__PURE__ */ g(jT, {
14501
+ D && /* @__PURE__ */ g(IT, {
14502
14502
  label: "addon",
14503
14503
  value: D
14504
14504
  }),
14505
- O !== void 0 && /* @__PURE__ */ g(jT, {
14505
+ O !== void 0 && /* @__PURE__ */ g(IT, {
14506
14506
  label: "device",
14507
14507
  value: `#${O}`
14508
14508
  }),
14509
14509
  /* @__PURE__ */ g("div", {
14510
14510
  className: "flex rounded border border-border overflow-hidden text-[9px]",
14511
- children: ET.map((e) => /* @__PURE__ */ _("button", {
14511
+ children: jT.map((e) => /* @__PURE__ */ _("button", {
14512
14512
  type: "button",
14513
14513
  onClick: () => T(e === "all" ? void 0 : e),
14514
14514
  className: q("px-1.5 py-0.5 capitalize transition-colors", e === "all" && !w || w === e ? "bg-primary/10 text-primary" : "text-foreground-subtle hover:bg-surface-hover", e !== "all" && "border-l border-border"),
14515
14515
  children: [e, e === "all" ? "" : "+"]
14516
14516
  }, e))
14517
14517
  }),
14518
- /* @__PURE__ */ g(NT, {
14518
+ /* @__PURE__ */ g(RT, {
14519
14519
  icon: wo,
14520
14520
  label: ne ? "Auto" : "Paused",
14521
14521
  active: !ne,
@@ -14526,13 +14526,13 @@ function kT({ agentId: e, addonId: t, deviceId: r, integrationId: i, requestId:
14526
14526
  });
14527
14527
  }
14528
14528
  }),
14529
- /* @__PURE__ */ g(NT, {
14529
+ /* @__PURE__ */ g(RT, {
14530
14530
  icon: Jo,
14531
14531
  label: F ? "Copied!" : "Copy",
14532
14532
  onClick: H,
14533
14533
  disabled: V.length === 0
14534
14534
  }),
14535
- /* @__PURE__ */ g(NT, {
14535
+ /* @__PURE__ */ g(RT, {
14536
14536
  icon: qs,
14537
14537
  label: "Clear",
14538
14538
  onClick: de
@@ -14613,7 +14613,7 @@ function kT({ agentId: e, addonId: t, deviceId: r, integrationId: i, requestId:
14613
14613
  V.length > 0 && /* @__PURE__ */ g("table", {
14614
14614
  className: "w-full",
14615
14615
  children: /* @__PURE__ */ g("tbody", { children: V.map((e) => {
14616
- let t = wT[e.level] ?? wT.info, n = t.icon, r = ge(e), i = L.has(r), a = e.tags && Object.keys(e.tags).length > 0, o = e.meta && Object.keys(e.meta).length > 0, s = a || o;
14616
+ let t = kT[e.level] ?? kT.info, n = t.icon, r = ge(e), i = L.has(r), a = e.tags && Object.keys(e.tags).length > 0, o = e.meta && Object.keys(e.meta).length > 0, s = a || o;
14617
14617
  return /* @__PURE__ */ _("tr", {
14618
14618
  className: q("hover:bg-surface-hover/30 border-b border-border/30", s && "cursor-pointer"),
14619
14619
  onClick: s ? () => fe(r) : void 0,
@@ -14650,7 +14650,7 @@ function kT({ agentId: e, addonId: t, deviceId: r, integrationId: i, requestId:
14650
14650
  }),
14651
14651
  /* @__PURE__ */ g("span", {
14652
14652
  className: "text-foreground break-all",
14653
- children: CT(t)
14653
+ children: OT(t)
14654
14654
  })
14655
14655
  ] }, `m-${e}`)), a && Object.entries(e.tags).filter(([, e]) => e !== void 0).map(([e, t]) => /* @__PURE__ */ _("div", { children: [
14656
14656
  /* @__PURE__ */ g("span", {
@@ -14672,7 +14672,7 @@ function kT({ agentId: e, addonId: t, deviceId: r, integrationId: i, requestId:
14672
14672
  }),
14673
14673
  /* @__PURE__ */ g("td", {
14674
14674
  className: "px-1 py-1 align-top w-5",
14675
- children: /* @__PURE__ */ g(MT, {
14675
+ children: /* @__PURE__ */ g(LT, {
14676
14676
  copied: pe === r,
14677
14677
  onCopy: () => he(e, r)
14678
14678
  })
@@ -14686,16 +14686,16 @@ function kT({ agentId: e, addonId: t, deviceId: r, integrationId: i, requestId:
14686
14686
  ]
14687
14687
  });
14688
14688
  }
14689
- function AT({ position: e = "bottom", className: t, ...n }) {
14689
+ function FT({ position: e = "bottom", className: t, ...n }) {
14690
14690
  return /* @__PURE__ */ g("div", {
14691
14691
  className: q(e === "bottom" ? "absolute bottom-0 left-0 right-0 z-10 border-t border-border bg-surface/95 backdrop-blur-sm" : "absolute inset-x-2 bottom-2 z-10 rounded-lg border border-border bg-surface/95 backdrop-blur-sm shadow-xl", t),
14692
- children: /* @__PURE__ */ g(kT, {
14692
+ children: /* @__PURE__ */ g(PT, {
14693
14693
  maxHeight: "max-h-48",
14694
14694
  ...n
14695
14695
  })
14696
14696
  });
14697
14697
  }
14698
- function jT({ label: e, value: t }) {
14698
+ function IT({ label: e, value: t }) {
14699
14699
  return /* @__PURE__ */ _("span", {
14700
14700
  className: "text-[9px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary font-medium",
14701
14701
  children: [
@@ -14705,7 +14705,7 @@ function jT({ label: e, value: t }) {
14705
14705
  ]
14706
14706
  });
14707
14707
  }
14708
- function MT({ copied: e, onCopy: t }) {
14708
+ function LT({ copied: e, onCopy: t }) {
14709
14709
  return /* @__PURE__ */ g("button", {
14710
14710
  type: "button",
14711
14711
  title: "Copy this row",
@@ -14716,7 +14716,7 @@ function MT({ copied: e, onCopy: t }) {
14716
14716
  children: g(e ? Fo : Jo, { className: "h-3 w-3" })
14717
14717
  });
14718
14718
  }
14719
- function NT({ icon: e, label: t, onClick: n, disabled: r, active: i }) {
14719
+ function RT({ icon: e, label: t, onClick: n, disabled: r, active: i }) {
14720
14720
  return /* @__PURE__ */ _("button", {
14721
14721
  type: "button",
14722
14722
  onClick: n,
@@ -14725,7 +14725,7 @@ function NT({ icon: e, label: t, onClick: n, disabled: r, active: i }) {
14725
14725
  children: [/* @__PURE__ */ g(e, { className: "h-2.5 w-2.5" }), t]
14726
14726
  });
14727
14727
  }
14728
- function PT(e, t, n, r) {
14728
+ function zT(e, t, n, r) {
14729
14729
  if (r !== void 0 && (e.source.deviceId ?? (e.source.type === "device" && typeof e.source.id == "number" ? e.source.id : void 0)) !== r || n !== void 0 && (e.source.addonId ?? (e.source.type === "addon" && typeof e.source.id == "string" ? e.source.id : void 0)) !== n) return !1;
14730
14730
  if (t !== void 0) {
14731
14731
  let n = e.source.nodeId;
@@ -14733,7 +14733,7 @@ function PT(e, t, n, r) {
14733
14733
  }
14734
14734
  return !0;
14735
14735
  }
14736
- var FT = {
14736
+ var BT = {
14737
14737
  [L.AddonStarted]: {
14738
14738
  icon: Cs,
14739
14739
  color: "bg-emerald-500/15 text-emerald-400 border-emerald-500/30",
@@ -14850,8 +14850,8 @@ var FT = {
14850
14850
  label: "State"
14851
14851
  }
14852
14852
  };
14853
- function IT(e, t) {
14854
- let n = FT[e] ?? {
14853
+ function VT(e, t) {
14854
+ let n = BT[e] ?? {
14855
14855
  icon: Cs,
14856
14856
  color: "bg-foreground-subtle/10 text-foreground-subtle border-border",
14857
14857
  label: e.split(".").pop() ?? e
@@ -14865,7 +14865,7 @@ function IT(e, t) {
14865
14865
  }
14866
14866
  return n;
14867
14867
  }
14868
- var LT = Object.freeze([...new Set(Object.values(L))].sort()), RT = Object.freeze([
14868
+ var HT = Object.freeze([...new Set(Object.values(L))].sort()), UT = Object.freeze([
14869
14869
  L.PipelineCameraMetricsSnapshot,
14870
14870
  L.PipelineRunnerLoadSnapshot,
14871
14871
  L.PipelineEngineMetricsSnapshot,
@@ -14883,8 +14883,8 @@ var LT = Object.freeze([...new Set(Object.values(L))].sort()), RT = Object.freez
14883
14883
  L.PlatformProbePhase,
14884
14884
  L.BenchmarkProgress,
14885
14885
  L.ModelDownloadProgress
14886
- ]), zT = new Set(RT), BT = Object.freeze(LT.filter((e) => !zT.has(e)));
14887
- function VT(e, t) {
14886
+ ]), WT = new Set(UT), GT = Object.freeze(HT.filter((e) => !WT.has(e)));
14887
+ function KT(e, t) {
14888
14888
  if (e === L.DetectionPhaseTransition) {
14889
14889
  let e = t.to, n = t.from, r = typeof t.source == "string" ? t.source : null, i = typeof t.cooldownMs == "number" ? t.cooldownMs : null, a = r ? ` (${r}${i ? `, ${Math.round(i / 1e3)}s cooldown` : ""})` : "";
14890
14890
  return e === "active" ? `Motion detected — phase active${a}` : e === "watching" ? `Cooldown expired — phase watching${a}` : `Phase: ${String(n)} → ${String(e)}${a}`;
@@ -14936,17 +14936,17 @@ function VT(e, t) {
14936
14936
  let n = t.addonId;
14937
14937
  return t.error || (n ? `addon: ${n}` : null);
14938
14938
  }
14939
- function HT(e) {
14939
+ function qT(e) {
14940
14940
  let t = e.category;
14941
- return t === L.DetectionResult || t === L.PipelineAudioInferenceResult ? VT(t, e.data) !== null : !0;
14941
+ return t === L.DetectionResult || t === L.PipelineAudioInferenceResult ? KT(t, e.data) !== null : !0;
14942
14942
  }
14943
- var UT = 300;
14944
- function WT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categories: s, category: c, maxHeight: u = "max-h-96", limit: d = 50, showCategoryFilter: f = !0, showFilters: p = !1, liveBuffer: h, onClose: v, className: y }) {
14945
- let b = o(() => i ?? s ?? BT, [i, s]), x = o(() => [...b].sort().join(","), [b]), [S, C] = n(() => new Set(b)), w = m(x);
14943
+ var JT = 300;
14944
+ function YT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categories: s, category: c, maxHeight: u = "max-h-96", limit: d = 50, showCategoryFilter: f = !0, showFilters: p = !1, liveBuffer: h, onClose: v, className: y }) {
14945
+ let b = o(() => i ?? s ?? GT, [i, s]), x = o(() => [...b].sort().join(","), [b]), [S, C] = n(() => new Set(b)), w = m(x);
14946
14946
  l(() => {
14947
14947
  w.current !== x && (w.current = x, C(new Set(b)));
14948
14948
  }, [x, b]);
14949
- let T = ST(UT), E = h ?? T, D = E.entries, [O, ee] = n(!0), [k, A] = n(/* @__PURE__ */ new Set()), [j, M] = n(""), [N, te] = n(!1), [P, ne] = n(""), [re, F] = n(0), I = m(null), L = m(null), R = `${e ?? ""}:${t ?? ""}:${String(r ?? "")}:${c ?? ""}`, ie = m(R);
14949
+ let T = DT(JT), E = h ?? T, D = E.entries, [O, ee] = n(!0), [k, A] = n(/* @__PURE__ */ new Set()), [j, M] = n(""), [N, te] = n(!1), [P, ne] = n(""), [re, F] = n(0), I = m(null), L = m(null), R = `${e ?? ""}:${t ?? ""}:${String(r ?? "")}:${c ?? ""}`, ie = m(R);
14950
14950
  l(() => {
14951
14951
  ie.current !== R && (ie.current = R, E.reset(), A(/* @__PURE__ */ new Set()), F(0));
14952
14952
  }, [R, E]), l(() => {
@@ -14972,7 +14972,7 @@ function WT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categor
14972
14972
  ...ae,
14973
14973
  limit: d
14974
14974
  };
14975
- return z.length > 0 && z.length < LT.length && (e.category = z), e;
14975
+ return z.length > 0 && z.length < HT.length && (e.category = z), e;
14976
14976
  }, [
14977
14977
  ae,
14978
14978
  d,
@@ -14985,7 +14985,7 @@ function WT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categor
14985
14985
  let le = ae;
14986
14986
  Z.systemEvents.subscribe.useSubscription(le, { onData: (n) => {
14987
14987
  let i = n;
14988
- i?.id && PT(i, e, t, r) && ce.current.has(i.category) && E.append(i);
14988
+ i?.id && zT(i, e, t, r) && ce.current.has(i.category) && E.append(i);
14989
14989
  } });
14990
14990
  let V = m(D.length);
14991
14991
  l(() => {
@@ -15007,12 +15007,12 @@ function WT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categor
15007
15007
  let e = /* @__PURE__ */ new Map();
15008
15008
  for (let t of B ?? []) e.set(t.id, t);
15009
15009
  for (let t of D) e.set(t.id, t);
15010
- let t = [...e.values()].filter((e) => S.has(e.category)).filter(HT);
15010
+ let t = [...e.values()].filter((e) => S.has(e.category)).filter(qT);
15011
15011
  re > 0 && (t = t.filter((e) => new Date(e.timestamp).getTime() > re));
15012
15012
  let n = j.trim().toLowerCase();
15013
15013
  return n && (t = t.filter((e) => {
15014
- if (e.category.toLowerCase().includes(n) || IT(e.category, e.data).label.toLowerCase().includes(n)) return !0;
15015
- let t = VT(e.category, e.data);
15014
+ if (e.category.toLowerCase().includes(n) || VT(e.category, e.data).label.toLowerCase().includes(n)) return !0;
15015
+ let t = KT(e.category, e.data);
15016
15016
  if (t && t.toLowerCase().includes(n)) return !0;
15017
15017
  try {
15018
15018
  if (new Date(e.timestamp).toLocaleTimeString().toLowerCase().includes(n)) return !0;
@@ -15043,7 +15043,7 @@ function WT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categor
15043
15043
  }, [b]), pe = a(() => {
15044
15044
  F(Date.now()), E.reset();
15045
15045
  }, [E]), [me, he] = n(!1), [ge, _e] = n(null), ve = a((e) => {
15046
- let t = new Date(e.timestamp).toISOString(), n = VT(e.category, e.data) ?? "", r = n ? ` ${n}` : "";
15046
+ let t = new Date(e.timestamp).toISOString(), n = KT(e.category, e.data) ?? "", r = n ? ` ${n}` : "";
15047
15047
  return `${t} [${e.category}]${r} data=${JSON.stringify(e.data)}`;
15048
15048
  }, []), ye = a(() => {
15049
15049
  let e = H.map(ve);
@@ -15055,13 +15055,13 @@ function WT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categor
15055
15055
  _e(e.id), setTimeout(() => _e((t) => t === e.id ? null : t), 1200);
15056
15056
  });
15057
15057
  }, [ve]), xe = a(() => {
15058
- C(new Set(LT));
15058
+ C(new Set(HT));
15059
15059
  }, []), Se = a(() => {
15060
15060
  C(/* @__PURE__ */ new Set());
15061
15061
  }, []), Ce = o(() => {
15062
15062
  let e = P.trim().toLowerCase();
15063
- return e ? LT.filter((t) => t.toLowerCase().includes(e)) : LT;
15064
- }, [P]), we = LT.length, Te = S.size, Ee = Te === we, De = Ee ? "All" : `${Te}/${we}`;
15063
+ return e ? HT.filter((t) => t.toLowerCase().includes(e)) : HT;
15064
+ }, [P]), we = HT.length, Te = S.size, Ee = Te === we, De = Ee ? "All" : `${Te}/${we}`;
15065
15065
  return /* @__PURE__ */ _("div", {
15066
15066
  className: q("h-full min-h-0 flex flex-col", y),
15067
15067
  onClick: (e) => e.stopPropagation(),
@@ -15074,19 +15074,19 @@ function WT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categor
15074
15074
  className: "text-[10px] uppercase tracking-wide text-foreground-subtle font-medium",
15075
15075
  children: "Events"
15076
15076
  }),
15077
- e && /* @__PURE__ */ g(qT, {
15077
+ e && /* @__PURE__ */ g(QT, {
15078
15078
  label: "agent",
15079
15079
  value: e
15080
15080
  }),
15081
- t && /* @__PURE__ */ g(qT, {
15081
+ t && /* @__PURE__ */ g(QT, {
15082
15082
  label: "addon",
15083
15083
  value: t
15084
15084
  }),
15085
- r !== void 0 && /* @__PURE__ */ g(qT, {
15085
+ r !== void 0 && /* @__PURE__ */ g(QT, {
15086
15086
  label: "device",
15087
15087
  value: `#${r}`
15088
15088
  }),
15089
- c && /* @__PURE__ */ g(qT, {
15089
+ c && /* @__PURE__ */ g(QT, {
15090
15090
  label: "category",
15091
15091
  value: c
15092
15092
  }),
@@ -15115,7 +15115,7 @@ function WT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categor
15115
15115
  De,
15116
15116
  ")"
15117
15117
  ]
15118
- }), N && /* @__PURE__ */ g(GT, {
15118
+ }), N && /* @__PURE__ */ g(XT, {
15119
15119
  search: P,
15120
15120
  onSearchChange: ne,
15121
15121
  categories: Ce,
@@ -15194,7 +15194,7 @@ function WT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categor
15194
15194
  H.length > 0 && /* @__PURE__ */ g("div", {
15195
15195
  className: "divide-y divide-border/30",
15196
15196
  children: H.map((e) => {
15197
- let t = IT(e.category, e.data), n = t.icon, r = VT(e.category, e.data), i = k.has(e.id);
15197
+ let t = VT(e.category, e.data), n = t.icon, r = KT(e.category, e.data), i = k.has(e.id);
15198
15198
  return /* @__PURE__ */ _("div", {
15199
15199
  className: "flex items-start gap-2 px-3 py-1.5 hover:bg-surface-hover/30 cursor-pointer",
15200
15200
  onClick: () => ue(e.id),
@@ -15203,7 +15203,7 @@ function WT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categor
15203
15203
  className: "text-foreground-subtle whitespace-nowrap w-[70px] shrink-0 pt-0.5",
15204
15204
  children: new Date(e.timestamp).toLocaleTimeString()
15205
15205
  }),
15206
- /* @__PURE__ */ g(JT, {
15206
+ /* @__PURE__ */ g($T, {
15207
15207
  copied: ge === e.id,
15208
15208
  onCopy: () => be(e)
15209
15209
  }),
@@ -15285,7 +15285,7 @@ function WT({ agentId: e, addonId: t, deviceId: r, defaultCategories: i, categor
15285
15285
  })]
15286
15286
  });
15287
15287
  }
15288
- function GT({ search: e, onSearchChange: t, categories: n, active: r, onToggle: i, onSelectAll: a, onSelectNone: o, onResetDefaults: s }) {
15288
+ function XT({ search: e, onSearchChange: t, categories: n, active: r, onToggle: i, onSelectAll: a, onSelectNone: o, onResetDefaults: s }) {
15289
15289
  return /* @__PURE__ */ _("div", {
15290
15290
  className: "absolute z-20 top-full mt-1 left-0 w-72 max-h-80 rounded-md border border-border bg-surface shadow-lg flex flex-col",
15291
15291
  onClick: (e) => e.stopPropagation(),
@@ -15339,7 +15339,7 @@ function GT({ search: e, onSearchChange: t, categories: n, active: r, onToggle:
15339
15339
  className: "text-[10px] text-foreground-subtle italic px-2 py-3 text-center",
15340
15340
  children: "No matches"
15341
15341
  }), n.map((e) => {
15342
- let t = r.has(e), n = IT(e), a = n.icon;
15342
+ let t = r.has(e), n = VT(e), a = n.icon;
15343
15343
  return /* @__PURE__ */ _("button", {
15344
15344
  type: "button",
15345
15345
  onClick: () => i(e),
@@ -15366,16 +15366,16 @@ function GT({ search: e, onSearchChange: t, categories: n, active: r, onToggle:
15366
15366
  ]
15367
15367
  });
15368
15368
  }
15369
- function KT({ position: e = "bottom", className: t, ...n }) {
15369
+ function ZT({ position: e = "bottom", className: t, ...n }) {
15370
15370
  return /* @__PURE__ */ g("div", {
15371
15371
  className: q(e === "bottom" ? "absolute bottom-0 left-0 right-0 z-10 border-t border-border bg-surface/95 backdrop-blur-sm" : "absolute inset-x-2 bottom-2 z-10 rounded-lg border border-border bg-surface/95 backdrop-blur-sm shadow-xl", t),
15372
- children: /* @__PURE__ */ g(WT, {
15372
+ children: /* @__PURE__ */ g(YT, {
15373
15373
  maxHeight: "max-h-48",
15374
15374
  ...n
15375
15375
  })
15376
15376
  });
15377
15377
  }
15378
- function qT({ label: e, value: t }) {
15378
+ function QT({ label: e, value: t }) {
15379
15379
  return /* @__PURE__ */ _("span", {
15380
15380
  className: "text-[9px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary font-medium",
15381
15381
  children: [
@@ -15385,7 +15385,7 @@ function qT({ label: e, value: t }) {
15385
15385
  ]
15386
15386
  });
15387
15387
  }
15388
- function JT({ copied: e, onCopy: t }) {
15388
+ function $T({ copied: e, onCopy: t }) {
15389
15389
  return /* @__PURE__ */ g("button", {
15390
15390
  type: "button",
15391
15391
  title: "Copy this event",
@@ -15396,7 +15396,7 @@ function JT({ copied: e, onCopy: t }) {
15396
15396
  children: g(e ? Fo : Jo, { className: "h-3 w-3" })
15397
15397
  });
15398
15398
  }
15399
- function YT({ deviceId: e, className: t = "", onOpenChild: r }) {
15399
+ function eE({ deviceId: e, className: t = "", onOpenChild: r }) {
15400
15400
  let i = Z.useUtils(), a = Z.deviceDiscovery.listDiscovered.useQuery({ deviceId: e }, {
15401
15401
  refetchInterval: 1e4,
15402
15402
  retry: !1
@@ -15493,22 +15493,22 @@ function YT({ deviceId: e, className: t = "", onOpenChild: r }) {
15493
15493
  }) : p.length === 0 && m.length === 0 ? /* @__PURE__ */ g("div", {
15494
15494
  className: "px-5 py-8 text-center text-xs text-foreground-subtle",
15495
15495
  children: "No channels reported by the hub yet. Click Refresh to enumerate."
15496
- }) : /* @__PURE__ */ _(v, { children: [p.length > 0 ? /* @__PURE__ */ g(XT, {
15496
+ }) : /* @__PURE__ */ _(v, { children: [p.length > 0 ? /* @__PURE__ */ g(tE, {
15497
15497
  title: "Available to add",
15498
15498
  count: p.length,
15499
15499
  tone: "primary",
15500
- children: p.map((e) => /* @__PURE__ */ g(ZT, {
15500
+ children: p.map((e) => /* @__PURE__ */ g(nE, {
15501
15501
  child: e,
15502
15502
  busy: d === e.childNativeId,
15503
15503
  onAdopt: S,
15504
15504
  onRelease: C,
15505
15505
  onOpenChild: r
15506
15506
  }, e.childNativeId))
15507
- }) : null, m.length > 0 ? /* @__PURE__ */ g(XT, {
15507
+ }) : null, m.length > 0 ? /* @__PURE__ */ g(tE, {
15508
15508
  title: "Already adopted",
15509
15509
  count: m.length,
15510
15510
  tone: "muted",
15511
- children: m.map((e) => /* @__PURE__ */ g(ZT, {
15511
+ children: m.map((e) => /* @__PURE__ */ g(nE, {
15512
15512
  child: e,
15513
15513
  busy: d === e.childNativeId,
15514
15514
  onAdopt: S,
@@ -15523,7 +15523,7 @@ function YT({ deviceId: e, className: t = "", onOpenChild: r }) {
15523
15523
  ]
15524
15524
  });
15525
15525
  }
15526
- function XT({ title: e, count: t, tone: n, children: r }) {
15526
+ function tE({ title: e, count: t, tone: n, children: r }) {
15527
15527
  return /* @__PURE__ */ _("div", {
15528
15528
  className: "border-t border-border",
15529
15529
  children: [/* @__PURE__ */ _("div", {
@@ -15541,7 +15541,7 @@ function XT({ title: e, count: t, tone: n, children: r }) {
15541
15541
  })]
15542
15542
  });
15543
15543
  }
15544
- function ZT({ child: e, busy: t, onAdopt: n, onRelease: r, onOpenChild: i }) {
15544
+ function nE({ child: e, busy: t, onAdopt: n, onRelease: r, onOpenChild: i }) {
15545
15545
  return /* @__PURE__ */ _("div", {
15546
15546
  className: "flex flex-wrap items-center justify-between gap-2 px-3 py-2 sm:px-5 sm:py-3 sm:flex-nowrap sm:gap-3",
15547
15547
  children: [/* @__PURE__ */ _("div", {
@@ -15549,7 +15549,7 @@ function ZT({ child: e, busy: t, onAdopt: n, onRelease: r, onOpenChild: i }) {
15549
15549
  children: [/* @__PURE__ */ _("div", {
15550
15550
  className: "flex flex-wrap items-center gap-x-2 gap-y-1",
15551
15551
  children: [
15552
- /* @__PURE__ */ g(QT, { status: e.status }),
15552
+ /* @__PURE__ */ g(rE, { status: e.status }),
15553
15553
  /* @__PURE__ */ g("span", {
15554
15554
  className: "truncate text-sm font-medium text-foreground",
15555
15555
  children: e.name
@@ -15612,7 +15612,7 @@ function ZT({ child: e, busy: t, onAdopt: n, onRelease: r, onOpenChild: i }) {
15612
15612
  })]
15613
15613
  });
15614
15614
  }
15615
- function QT({ status: e }) {
15615
+ function rE({ status: e }) {
15616
15616
  switch (e) {
15617
15617
  case "online": return /* @__PURE__ */ _("span", {
15618
15618
  className: "inline-flex items-center gap-1 rounded-full border border-emerald-500/40 bg-emerald-500/10 px-2 py-0.5 text-[10px] font-medium text-emerald-500",
@@ -15632,14 +15632,14 @@ function QT({ status: e }) {
15632
15632
  });
15633
15633
  }
15634
15634
  }
15635
- function $T(e, t) {
15635
+ function iE(e, t) {
15636
15636
  if (!e || typeof e != "object") return !1;
15637
15637
  let n = e;
15638
15638
  if (n.category !== L.DeviceStateChanged) return !1;
15639
15639
  let r = n.data;
15640
15640
  return !(!r || typeof r != "object" || r.deviceId !== t || typeof r.capName != "string" || !r.slice || typeof r.slice != "object");
15641
15641
  }
15642
- function eE(e) {
15642
+ function aE(e) {
15643
15643
  if (!e || typeof e != "object") return null;
15644
15644
  let t = e, n = typeof t.id == "string" ? t.id : null, r = typeof t.timestamp == "string" ? t.timestamp : null, i = t.data;
15645
15645
  return !n || !r || !i || typeof i != "object" || typeof i.capName != "string" || !i.slice || typeof i.slice != "object" ? null : {
@@ -15649,9 +15649,9 @@ function eE(e) {
15649
15649
  slice: i.slice
15650
15650
  };
15651
15651
  }
15652
- var tE = 300, nE = Object.freeze([...new Set(F.filter((e) => e.scope === "device").map((e) => e.name))].sort());
15653
- function rE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i = 50, liveBuffer: s, onClose: c, className: u }) {
15654
- let [d, f] = n(o(() => new Set(t ?? []), [t])), [p, h] = n(""), [v, y] = n(!0), [b, x] = n(/* @__PURE__ */ new Set()), [S, C] = n(0), [w, T] = n(!1), [E, D] = n(""), O = m(null), ee = ST(tE), k = s ?? ee, A = k.entries, j = m(null), M = m(e);
15652
+ var oE = 300, sE = Object.freeze([...new Set(F.filter((e) => e.scope === "device").map((e) => e.name))].sort());
15653
+ function cE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i = 50, liveBuffer: s, onClose: c, className: u }) {
15654
+ let [d, f] = n(o(() => new Set(t ?? []), [t])), [p, h] = n(""), [v, y] = n(!0), [b, x] = n(/* @__PURE__ */ new Set()), [S, C] = n(0), [w, T] = n(!1), [E, D] = n(""), O = m(null), ee = DT(oE), k = s ?? ee, A = k.entries, j = m(null), M = m(e);
15655
15655
  l(() => {
15656
15656
  M.current !== e && (M.current = e, k.reset(), x(/* @__PURE__ */ new Set()), C(0));
15657
15657
  }, [e, k]);
@@ -15666,8 +15666,8 @@ function rE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i =
15666
15666
  deviceId: e,
15667
15667
  category: L.DeviceStateChanged
15668
15668
  }, { onData: (t) => {
15669
- if (!$T(t, e)) return;
15670
- let n = eE(t);
15669
+ if (!iE(t, e)) return;
15670
+ let n = aE(t);
15671
15671
  if (!n) return;
15672
15672
  let r = ne.current;
15673
15673
  r.size > 0 && !r.has(n.capName) || k.append(n);
@@ -15691,7 +15691,7 @@ function rE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i =
15691
15691
  let F = o(() => {
15692
15692
  let e = /* @__PURE__ */ new Map();
15693
15693
  for (let t of te ?? []) {
15694
- let n = eE(t);
15694
+ let n = aE(t);
15695
15695
  n && e.set(n.id, n);
15696
15696
  }
15697
15697
  for (let t of A) e.set(t.id, t);
@@ -15704,7 +15704,7 @@ function rE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i =
15704
15704
  if (new Date(e.timestamp).toLocaleTimeString().toLowerCase().includes(n)) return !0;
15705
15705
  } catch {}
15706
15706
  try {
15707
- if (Object.entries(e.slice).map(([e, t]) => `${e}=${iE(t)}`).join(" · ").toLowerCase().includes(n)) return !0;
15707
+ if (Object.entries(e.slice).map(([e, t]) => `${e}=${lE(t)}`).join(" · ").toLowerCase().includes(n)) return !0;
15708
15708
  } catch {}
15709
15709
  try {
15710
15710
  if (JSON.stringify(e.slice).toLowerCase().includes(n)) return !0;
@@ -15718,9 +15718,9 @@ function rE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i =
15718
15718
  p,
15719
15719
  S
15720
15720
  ]), I = o(() => {
15721
- let e = new Set(nE);
15721
+ let e = new Set(sE);
15722
15722
  for (let t of te ?? []) {
15723
- let n = eE(t);
15723
+ let n = aE(t);
15724
15724
  n && e.add(n.capName);
15725
15725
  }
15726
15726
  for (let t of A) e.add(t.capName);
@@ -15775,7 +15775,7 @@ function rE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i =
15775
15775
  className: "text-[10px] uppercase tracking-wide text-foreground-subtle font-medium",
15776
15776
  children: "State"
15777
15777
  }),
15778
- /* @__PURE__ */ g(aE, {
15778
+ /* @__PURE__ */ g(uE, {
15779
15779
  label: "device",
15780
15780
  value: `#${e}`
15781
15781
  }),
@@ -15804,7 +15804,7 @@ function rE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i =
15804
15804
  ge,
15805
15805
  ")"
15806
15806
  ]
15807
- }), w && /* @__PURE__ */ g(oE, {
15807
+ }), w && /* @__PURE__ */ g(dE, {
15808
15808
  search: E,
15809
15809
  onSearchChange: D,
15810
15810
  caps: fe,
@@ -15883,7 +15883,7 @@ function rE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i =
15883
15883
  F.length > 0 && /* @__PURE__ */ g("div", {
15884
15884
  className: "divide-y divide-border/30",
15885
15885
  children: F.map((e) => {
15886
- let t = b.has(e.id), n = Object.entries(e.slice), r = n.slice(0, 3).map(([e, t]) => `${e}=${iE(t)}`).join(" · ");
15886
+ let t = b.has(e.id), n = Object.entries(e.slice), r = n.slice(0, 3).map(([e, t]) => `${e}=${lE(t)}`).join(" · ");
15887
15887
  return /* @__PURE__ */ _("div", {
15888
15888
  className: "flex items-start gap-2 px-3 py-1.5 hover:bg-surface-hover/30 cursor-pointer",
15889
15889
  onClick: () => R(e.id),
@@ -15892,7 +15892,7 @@ function rE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i =
15892
15892
  className: "text-foreground-subtle whitespace-nowrap w-[70px] shrink-0 pt-0.5",
15893
15893
  children: new Date(e.timestamp).toLocaleTimeString()
15894
15894
  }),
15895
- /* @__PURE__ */ g(sE, {
15895
+ /* @__PURE__ */ g(fE, {
15896
15896
  copied: se === e.id,
15897
15897
  onCopy: () => H(e)
15898
15898
  }),
@@ -15937,7 +15937,7 @@ function rE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i =
15937
15937
  }),
15938
15938
  /* @__PURE__ */ g("span", {
15939
15939
  className: "text-foreground break-all",
15940
- children: iE(t)
15940
+ children: lE(t)
15941
15941
  })
15942
15942
  ] }, e))
15943
15943
  })
@@ -15951,7 +15951,7 @@ function rE({ deviceId: e, defaultCaps: t, maxHeight: r = "max-h-96", limit: i =
15951
15951
  })]
15952
15952
  });
15953
15953
  }
15954
- function iE(e) {
15954
+ function lE(e) {
15955
15955
  if (e === null) return "null";
15956
15956
  if (e === void 0) return "undefined";
15957
15957
  if (typeof e == "string") return e;
@@ -15962,7 +15962,7 @@ function iE(e) {
15962
15962
  return String(e);
15963
15963
  }
15964
15964
  }
15965
- function aE({ label: e, value: t }) {
15965
+ function uE({ label: e, value: t }) {
15966
15966
  return /* @__PURE__ */ _("span", {
15967
15967
  className: "text-[9px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary font-medium",
15968
15968
  children: [
@@ -15972,7 +15972,7 @@ function aE({ label: e, value: t }) {
15972
15972
  ]
15973
15973
  });
15974
15974
  }
15975
- function oE({ search: e, onSearchChange: t, caps: n, active: r, onToggle: i, onSelectAll: a, onSelectNone: o, onResetDefaults: s }) {
15975
+ function dE({ search: e, onSearchChange: t, caps: n, active: r, onToggle: i, onSelectAll: a, onSelectNone: o, onResetDefaults: s }) {
15976
15976
  return /* @__PURE__ */ _("div", {
15977
15977
  className: "absolute z-20 top-full mt-1 left-0 w-72 max-h-80 rounded-md border border-border bg-surface shadow-lg flex flex-col",
15978
15978
  onClick: (e) => e.stopPropagation(),
@@ -16043,7 +16043,7 @@ function oE({ search: e, onSearchChange: t, caps: n, active: r, onToggle: i, onS
16043
16043
  ]
16044
16044
  });
16045
16045
  }
16046
- function sE({ copied: e, onCopy: t }) {
16046
+ function fE({ copied: e, onCopy: t }) {
16047
16047
  return /* @__PURE__ */ g("button", {
16048
16048
  type: "button",
16049
16049
  title: "Copy this state change",
@@ -16054,7 +16054,7 @@ function sE({ copied: e, onCopy: t }) {
16054
16054
  children: g(e ? Fo : Jo, { className: "h-3 w-3" })
16055
16055
  });
16056
16056
  }
16057
- var cE = 500, lE = [
16057
+ var pE = 500, mE = [
16058
16058
  {
16059
16059
  id: "logs",
16060
16060
  label: "Logs",
@@ -16071,8 +16071,8 @@ var cE = 500, lE = [
16071
16071
  icon: Zo
16072
16072
  }
16073
16073
  ];
16074
- function uE({ deviceId: e, defaultEventCategories: t, defaultStateCaps: r, initialTab: i = "events", className: a, maxHeight: o = "max-h-96" }) {
16075
- let [s, c] = n(i), u = ST(cE), d = ST(cE), f = ST(cE), p = u.reset, m = d.reset, h = f.reset;
16074
+ function hE({ deviceId: e, defaultEventCategories: t, defaultStateCaps: r, initialTab: i = "events", className: a, maxHeight: o = "max-h-96" }) {
16075
+ let [s, c] = n(i), u = DT(pE), d = DT(pE), f = DT(pE), p = u.reset, m = d.reset, h = f.reset;
16076
16076
  return l(() => {
16077
16077
  p(), m(), h();
16078
16078
  }, [
@@ -16084,7 +16084,7 @@ function uE({ deviceId: e, defaultEventCategories: t, defaultStateCaps: r, initi
16084
16084
  className: q("flex flex-col h-full min-h-0", a),
16085
16085
  children: [/* @__PURE__ */ g("div", {
16086
16086
  className: "flex items-center gap-1 mb-2 shrink-0",
16087
- children: lE.map(({ id: e, label: t, icon: n }) => /* @__PURE__ */ _("button", {
16087
+ children: mE.map(({ id: e, label: t, icon: n }) => /* @__PURE__ */ _("button", {
16088
16088
  type: "button",
16089
16089
  onClick: () => c(e),
16090
16090
  className: q("inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-[11px] font-medium transition-colors", s === e ? "bg-primary/15 text-primary border border-primary/30" : "text-foreground-subtle hover:text-foreground hover:bg-surface-hover border border-transparent"),
@@ -16093,20 +16093,20 @@ function uE({ deviceId: e, defaultEventCategories: t, defaultStateCaps: r, initi
16093
16093
  }), /* @__PURE__ */ _("div", {
16094
16094
  className: "flex-1 min-h-0 overflow-hidden",
16095
16095
  children: [
16096
- s === "logs" && /* @__PURE__ */ g(kT, {
16096
+ s === "logs" && /* @__PURE__ */ g(PT, {
16097
16097
  deviceId: e,
16098
16098
  maxHeight: o,
16099
16099
  showFilters: !1,
16100
16100
  liveBuffer: u
16101
16101
  }),
16102
- s === "events" && /* @__PURE__ */ g(WT, {
16102
+ s === "events" && /* @__PURE__ */ g(YT, {
16103
16103
  deviceId: e,
16104
16104
  defaultCategories: t,
16105
16105
  maxHeight: o,
16106
16106
  showCategoryFilter: !0,
16107
16107
  liveBuffer: d
16108
16108
  }),
16109
- s === "state" && /* @__PURE__ */ g(rE, {
16109
+ s === "state" && /* @__PURE__ */ g(cE, {
16110
16110
  deviceId: e,
16111
16111
  defaultCaps: r,
16112
16112
  maxHeight: o,
@@ -16116,7 +16116,7 @@ function uE({ deviceId: e, defaultEventCategories: t, defaultStateCaps: r, initi
16116
16116
  })]
16117
16117
  });
16118
16118
  }
16119
- function dE({ label: e, icon: t, title: r = "Confirm action", description: i, confirmLabel: a, triggerVariant: o = "outline", confirmVariant: s = "danger", size: c = "sm", disabled: l, className: u, action: d, onSuccess: f }) {
16119
+ function gE({ label: e, icon: t, title: r = "Confirm action", description: i, confirmLabel: a, triggerVariant: o = "outline", confirmVariant: s = "danger", size: c = "sm", disabled: l, className: u, action: d, onSuccess: f }) {
16120
16120
  let [p, m] = n(!1), [h, y] = n(!1), [b, x] = n(null), S = async () => {
16121
16121
  x(null), y(!0);
16122
16122
  try {
@@ -16170,7 +16170,7 @@ function dE({ label: e, icon: t, title: r = "Confirm action", description: i, co
16170
16170
  ] })
16171
16171
  })] });
16172
16172
  }
16173
- function fE({ direction: e, icon: t, disabled: r, className: i, variant: o, onMove: s, onStart: c, onStop: l }) {
16173
+ function _E({ direction: e, icon: t, disabled: r, className: i, variant: o, onMove: s, onStart: c, onStop: l }) {
16174
16174
  let [u, d] = n(null), [f, p] = n(!1), m = a((t) => {
16175
16175
  if (r) return;
16176
16176
  t.currentTarget.setPointerCapture(t.pointerId), d(Date.now()), p(!1);
@@ -16206,7 +16206,7 @@ function fE({ direction: e, icon: t, disabled: r, className: i, variant: o, onMo
16206
16206
  children: /* @__PURE__ */ g(t, { className: y })
16207
16207
  });
16208
16208
  }
16209
- function pE({ controls: e, mode: t = "overlay", showPresets: r, showZoom: i = !0, showHome: a = !0, className: o }) {
16209
+ function vE({ controls: e, mode: t = "overlay", showPresets: r, showZoom: i = !0, showHome: a = !0, className: o }) {
16210
16210
  let { move: s, startContinuous: c, stopContinuous: l, zoom: u, goHome: d, goToPreset: f, presets: p, busy: m, error: h } = e, [y, b] = n(!1), x = (r ?? p.length > 0) && p.length > 0, S = t === "panel", C = S ? "flex flex-col items-stretch gap-2 w-full h-full p-3" : "pointer-events-auto absolute top-3 right-3 z-10 flex flex-col items-end gap-2", w = q(S ? "flex items-center gap-3 rounded-lg p-2" : "flex items-center gap-2 rounded-lg border border-white/30 bg-zinc-900/90 backdrop-blur-md p-2 shadow-lg shadow-black/40", m && "ring-1 ring-primary/40"), T = S ? "h-9 w-9" : "h-7 w-7", E = S ? "h-4 w-4" : "h-3.5 w-3.5", D = S ? "text-foreground hover:bg-surface-hover" : "text-white hover:bg-white/15", O = S ? "h-12 w-px bg-border mx-1" : "h-12 w-px bg-white/15 mx-1";
16211
16211
  return /* @__PURE__ */ _("div", {
16212
16212
  className: q(C, o),
@@ -16223,7 +16223,7 @@ function pE({ controls: e, mode: t = "overlay", showPresets: r, showZoom: i = !0
16223
16223
  "aria-hidden": !0,
16224
16224
  className: S ? "h-9 w-9" : "h-7 w-7"
16225
16225
  }),
16226
- /* @__PURE__ */ g(fE, {
16226
+ /* @__PURE__ */ g(_E, {
16227
16227
  direction: "up",
16228
16228
  icon: To,
16229
16229
  variant: t,
@@ -16235,7 +16235,7 @@ function pE({ controls: e, mode: t = "overlay", showPresets: r, showZoom: i = !0
16235
16235
  "aria-hidden": !0,
16236
16236
  className: S ? "h-9 w-9" : "h-7 w-7"
16237
16237
  }),
16238
- /* @__PURE__ */ g(fE, {
16238
+ /* @__PURE__ */ g(_E, {
16239
16239
  direction: "left",
16240
16240
  icon: So,
16241
16241
  variant: t,
@@ -16247,7 +16247,7 @@ function pE({ controls: e, mode: t = "overlay", showPresets: r, showZoom: i = !0
16247
16247
  "aria-hidden": !0,
16248
16248
  className: S ? "h-9 w-9" : "h-7 w-7"
16249
16249
  }),
16250
- /* @__PURE__ */ g(fE, {
16250
+ /* @__PURE__ */ g(_E, {
16251
16251
  direction: "right",
16252
16252
  icon: Co,
16253
16253
  variant: t,
@@ -16259,7 +16259,7 @@ function pE({ controls: e, mode: t = "overlay", showPresets: r, showZoom: i = !0
16259
16259
  "aria-hidden": !0,
16260
16260
  className: S ? "h-9 w-9" : "h-7 w-7"
16261
16261
  }),
16262
- /* @__PURE__ */ g(fE, {
16262
+ /* @__PURE__ */ g(_E, {
16263
16263
  direction: "down",
16264
16264
  icon: xo,
16265
16265
  variant: t,
@@ -16325,11 +16325,11 @@ function pE({ controls: e, mode: t = "overlay", showPresets: r, showZoom: i = !0
16325
16325
  })]
16326
16326
  });
16327
16327
  }
16328
- function mE(e, t) {
16328
+ function yE(e, t) {
16329
16329
  let n = document.createElement("a");
16330
16330
  n.href = t, n.download = e, document.body.appendChild(n), n.click(), document.body.removeChild(n);
16331
16331
  }
16332
- function hE({ trpc: e, deviceId: t, deviceName: r, size: i = "sm", className: o }) {
16332
+ function bE({ trpc: e, deviceId: t, deviceName: r, size: i = "sm", className: o }) {
16333
16333
  let [s, c] = n(!1), [l, u] = n(!1), [d, f] = n(null), p = r.replace(/[^a-zA-Z0-9_.-]+/g, "_"), m = a(async (n) => {
16334
16334
  c(!0), f(null), u(!1);
16335
16335
  try {
@@ -16346,7 +16346,7 @@ function hE({ trpc: e, deviceId: t, deviceName: r, size: i = "sm", className: o
16346
16346
  }
16347
16347
  else {
16348
16348
  let e = r.contentType.includes("png") ? "png" : "jpg";
16349
- mE(`${p}-${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}.${e}`, i);
16349
+ yE(`${p}-${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}.${e}`, i);
16350
16350
  }
16351
16351
  u(!0), setTimeout(() => u(!1), 1500);
16352
16352
  } catch (e) {
@@ -16379,11 +16379,11 @@ function hE({ trpc: e, deviceId: t, deviceName: r, size: i = "sm", className: o
16379
16379
  children: [s ? /* @__PURE__ */ g(fs, { className: "h-3.5 w-3.5 animate-spin" }) : l ? /* @__PURE__ */ g(Fo, { className: "h-3.5 w-3.5 text-success" }) : /* @__PURE__ */ g(No, { className: "h-3.5 w-3.5" }), "Snapshot"]
16380
16380
  });
16381
16381
  }
16382
- function gE(e) {
16382
+ function xE(e) {
16383
16383
  let t = Date.now() - e;
16384
16384
  return t < 6e4 ? "just now" : t < 36e5 ? `${Math.floor(t / 6e4)}m ago` : t < 864e5 ? `${Math.floor(t / 36e5)}h ago` : `${Math.floor(t / 864e5)}d ago`;
16385
16385
  }
16386
- function _E({ history: e, limit: t = 5, latestIsFresh: n, className: r }) {
16386
+ function SE({ history: e, limit: t = 5, latestIsFresh: n, className: r }) {
16387
16387
  if (e.length === 0) return null;
16388
16388
  let i = n ? Ao : jo, a = e.slice(0, t);
16389
16389
  return /* @__PURE__ */ _("div", {
@@ -16408,7 +16408,7 @@ function _E({ history: e, limit: t = 5, latestIsFresh: n, className: r }) {
16408
16408
  title: new Date(e.timestamp).toLocaleString(),
16409
16409
  children: [/* @__PURE__ */ g("span", {
16410
16410
  className: "text-foreground",
16411
- children: gE(e.timestamp)
16411
+ children: xE(e.timestamp)
16412
16412
  }), /* @__PURE__ */ g("span", {
16413
16413
  className: "text-foreground-subtle font-mono text-[10px]",
16414
16414
  children: new Date(e.timestamp).toLocaleTimeString()
@@ -16417,7 +16417,7 @@ function _E({ history: e, limit: t = 5, latestIsFresh: n, className: r }) {
16417
16417
  })]
16418
16418
  });
16419
16419
  }
16420
- function vE({ items: e, header: t, triggerClassName: r, title: i = "More actions" }) {
16420
+ function CE({ items: e, header: t, triggerClassName: r, title: i = "More actions" }) {
16421
16421
  let [a, o] = n(!1), s = e.filter((e) => !e.hidden);
16422
16422
  return s.length === 0 ? null : /* @__PURE__ */ _(al, {
16423
16423
  open: a,
@@ -16455,7 +16455,7 @@ function vE({ items: e, header: t, triggerClassName: r, title: i = "More actions
16455
16455
  })]
16456
16456
  });
16457
16457
  }
16458
- var yE = [
16458
+ var wE = [
16459
16459
  {
16460
16460
  value: "view",
16461
16461
  label: "View",
@@ -16474,21 +16474,21 @@ var yE = [
16474
16474
  icon: qs,
16475
16475
  hint: "Destructive ops (delete/revoke/reset/…)"
16476
16476
  }
16477
- ], bE = ["device", "system"];
16478
- function xE() {
16477
+ ], TE = ["device", "system"];
16478
+ function EE() {
16479
16479
  return {
16480
16480
  type: "capability",
16481
16481
  target: "",
16482
16482
  access: ["view"]
16483
16483
  };
16484
16484
  }
16485
- function SE(e) {
16485
+ function DE(e) {
16486
16486
  if (e == null) return [];
16487
16487
  let t = /* @__PURE__ */ new Set();
16488
16488
  for (let n of e) if (n.type === "device") for (let e of n.targets) t.add(e);
16489
16489
  return [...t];
16490
16490
  }
16491
- function CE(e, t, n, r) {
16491
+ function OE(e, t, n, r) {
16492
16492
  let i;
16493
16493
  switch (e) {
16494
16494
  case "addon":
@@ -16498,7 +16498,7 @@ function CE(e, t, n, r) {
16498
16498
  i = r;
16499
16499
  break;
16500
16500
  case "category":
16501
- i = bE.map((e) => ({
16501
+ i = TE.map((e) => ({
16502
16502
  value: e,
16503
16503
  label: e
16504
16504
  }));
@@ -16508,7 +16508,7 @@ function CE(e, t, n, r) {
16508
16508
  let a = new Set(t.filter((t) => t.type !== "device" && t.type === e).map((e) => e.target));
16509
16509
  return i.filter((e) => a.has(e.value));
16510
16510
  }
16511
- function wE(e, t) {
16511
+ function kE(e, t) {
16512
16512
  if (t == null) return [
16513
16513
  "view",
16514
16514
  "create",
@@ -16520,7 +16520,7 @@ function wE(e, t) {
16520
16520
  for (let e of n) for (let t of e.access) r.add(t);
16521
16521
  return [...r];
16522
16522
  }
16523
- function TE({ value: e, onChange: t, clampToParent: n, emptyHint: r }) {
16523
+ function AE({ value: e, onChange: t, clampToParent: n, emptyHint: r }) {
16524
16524
  let { data: i } = im(), { data: a } = _g({}), s = o(() => (i ?? []).map((e) => ({
16525
16525
  value: e.manifest.id,
16526
16526
  label: e.manifest.id
@@ -16530,7 +16530,7 @@ function TE({ value: e, onChange: t, clampToParent: n, emptyHint: r }) {
16530
16530
  })), []), l = o(() => (a ?? []).map((e) => ({
16531
16531
  value: String(e.id),
16532
16532
  label: `${e.name} (#${e.id} · ${e.addonId})`
16533
- })).sort((e, t) => e.label.localeCompare(t.label)), [a]), u = o(() => n == null ? null : SE(n), [n]), d = (e, t) => {
16533
+ })).sort((e, t) => e.label.localeCompare(t.label)), [a]), u = o(() => n == null ? null : DE(n), [n]), d = (e, t) => {
16534
16534
  let n = [...t];
16535
16535
  switch (e) {
16536
16536
  case "category": return {
@@ -16588,7 +16588,7 @@ function TE({ value: e, onChange: t, clampToParent: n, emptyHint: r }) {
16588
16588
  children: r
16589
16589
  }),
16590
16590
  e.map((e, t) => {
16591
- let r = wE(e, n);
16591
+ let r = kE(e, n);
16592
16592
  return /* @__PURE__ */ _("div", {
16593
16593
  className: "flex flex-wrap items-start gap-1.5 rounded border border-border bg-surface px-2 py-1.5",
16594
16594
  children: [
@@ -16615,7 +16615,7 @@ function TE({ value: e, onChange: t, clampToParent: n, emptyHint: r }) {
16615
16615
  })
16616
16616
  ]
16617
16617
  }),
16618
- e.type === "device" ? /* @__PURE__ */ g(EE, {
16618
+ e.type === "device" ? /* @__PURE__ */ g(jE, {
16619
16619
  value: e.targets,
16620
16620
  choices: l,
16621
16621
  clampToParent: u,
@@ -16631,14 +16631,14 @@ function TE({ value: e, onChange: t, clampToParent: n, emptyHint: r }) {
16631
16631
  e.type,
16632
16632
  " —"
16633
16633
  ]
16634
- }), CE(e.type, n, s, c).map((e) => /* @__PURE__ */ g("option", {
16634
+ }), OE(e.type, n, s, c).map((e) => /* @__PURE__ */ g("option", {
16635
16635
  value: e.value,
16636
16636
  children: e.label
16637
16637
  }, e.value))]
16638
16638
  }),
16639
16639
  /* @__PURE__ */ g("div", {
16640
16640
  className: "flex items-center gap-1",
16641
- children: yE.map(({ value: i, label: a, icon: o, hint: s }) => {
16641
+ children: wE.map(({ value: i, label: a, icon: o, hint: s }) => {
16642
16642
  let c = e.access.includes(i), l = n != null && !r.includes(i) && !c;
16643
16643
  return /* @__PURE__ */ _("label", {
16644
16644
  title: l ? `${s} — not granted by your scope` : s,
@@ -16673,7 +16673,7 @@ function TE({ value: e, onChange: t, clampToParent: n, emptyHint: r }) {
16673
16673
  /* @__PURE__ */ _("button", {
16674
16674
  type: "button",
16675
16675
  onClick: () => {
16676
- t([...e, xE()]);
16676
+ t([...e, EE()]);
16677
16677
  },
16678
16678
  className: "inline-flex items-center gap-1 rounded px-2 py-1 text-[10px] text-foreground-subtle hover:text-foreground hover:bg-foreground-subtle/10 transition-colors",
16679
16679
  children: [/* @__PURE__ */ g(ws, { className: "h-3 w-3" }), "Add scope"]
@@ -16681,7 +16681,7 @@ function TE({ value: e, onChange: t, clampToParent: n, emptyHint: r }) {
16681
16681
  ]
16682
16682
  });
16683
16683
  }
16684
- function EE({ value: e, choices: t, clampToParent: r, onChange: i }) {
16684
+ function jE({ value: e, choices: t, clampToParent: r, onChange: i }) {
16685
16685
  let [a, s] = n(""), c = o(() => {
16686
16686
  let n = r == null ? t : t.filter((e) => r.includes(e.value)), i = new Set(e);
16687
16687
  return n.filter((e) => !i.has(e.value));
@@ -16726,7 +16726,7 @@ function EE({ value: e, choices: t, clampToParent: r, onChange: i }) {
16726
16726
  ]
16727
16727
  });
16728
16728
  }
16729
- function DE(e) {
16729
+ function ME(e) {
16730
16730
  for (let t of e) {
16731
16731
  if (t.type === "device") {
16732
16732
  if (t.targets.length === 0) return "Scope device: pick at least one device";
@@ -16738,8 +16738,8 @@ function DE(e) {
16738
16738
  }
16739
16739
  return null;
16740
16740
  }
16741
- var OE = xn("camstack:zone-editing", null);
16742
- function kE({ children: e }) {
16741
+ var NE = xn("camstack:zone-editing", null);
16742
+ function PE({ children: e }) {
16743
16743
  let [t, r] = n(!1), [i, s] = n(null), [c, l] = n(null), [u, d] = n(null), f = a((e) => {
16744
16744
  r(e), e || (s(null), l(null), d(null));
16745
16745
  }, []), p = a((e) => {
@@ -16786,16 +16786,16 @@ function kE({ children: e }) {
16786
16786
  y,
16787
16787
  b
16788
16788
  ]);
16789
- return /* @__PURE__ */ g(OE.Provider, {
16789
+ return /* @__PURE__ */ g(NE.Provider, {
16790
16790
  value: x,
16791
16791
  children: e
16792
16792
  });
16793
16793
  }
16794
- function AE() {
16795
- return e(OE);
16794
+ function FE() {
16795
+ return e(NE);
16796
16796
  }
16797
- var jE = 500, ME = 800;
16798
- function NE(e, t, n) {
16797
+ var IE = 500, LE = 800;
16798
+ function RE(e, t, n) {
16799
16799
  try {
16800
16800
  let r = e.live;
16801
16801
  if (!r) return null;
@@ -16805,16 +16805,16 @@ function NE(e, t, n) {
16805
16805
  return null;
16806
16806
  }
16807
16807
  }
16808
- function PE(e, t) {
16808
+ function zE(e, t) {
16809
16809
  return e?.id === t;
16810
16810
  }
16811
- function FE(e, t) {
16811
+ function BE(e, t) {
16812
16812
  let [r, i] = n(null), [a, o] = n(null), [s, c] = n(null), [u, d] = n("watching"), f = m(void 0), p = m(void 0), h = m(void 0);
16813
16813
  return l(() => {
16814
16814
  if (t === null) return;
16815
- let n = NE(e, "detection.motion-analysis", (e) => {
16815
+ let n = RE(e, "detection.motion-analysis", (e) => {
16816
16816
  let n = e;
16817
- if (!PE(n?.source, t)) return;
16817
+ if (!zE(n?.source, t)) return;
16818
16818
  let r = n.data;
16819
16819
  !r?.regions || r.regions.length === 0 || (i({
16820
16820
  zones: r.regions.map((e) => ({
@@ -16823,16 +16823,16 @@ function FE(e, t) {
16823
16823
  })),
16824
16824
  frameWidth: r.frameWidth,
16825
16825
  frameHeight: r.frameHeight
16826
- }), f.current && clearTimeout(f.current), f.current = setTimeout(() => i(null), jE));
16826
+ }), f.current && clearTimeout(f.current), f.current = setTimeout(() => i(null), IE));
16827
16827
  });
16828
16828
  return () => {
16829
16829
  n?.unsubscribe(), f.current && clearTimeout(f.current);
16830
16830
  };
16831
16831
  }, [e, t]), l(() => {
16832
16832
  if (t === null) return;
16833
- let n = NE(e, "detection.motion-zones-raw", (e) => {
16833
+ let n = RE(e, "detection.motion-zones-raw", (e) => {
16834
16834
  let n = e;
16835
- if (!PE(n?.source, t)) return;
16835
+ if (!zE(n?.source, t)) return;
16836
16836
  let r = n.data;
16837
16837
  r?.zones && (o({
16838
16838
  boxes: r.zones.map((e) => ({
@@ -16842,31 +16842,31 @@ function FE(e, t) {
16842
16842
  frameWidth: r.frameSize?.width ?? 0,
16843
16843
  frameHeight: r.frameSize?.height ?? 0,
16844
16844
  motionScore: r.zones.length > 0 ? r.zones.reduce((e, t) => e + t.changeScore, 0) / r.zones.length : 0
16845
- }), p.current && clearTimeout(p.current), p.current = setTimeout(() => o(null), jE));
16845
+ }), p.current && clearTimeout(p.current), p.current = setTimeout(() => o(null), IE));
16846
16846
  });
16847
16847
  return () => {
16848
16848
  n?.unsubscribe(), p.current && clearTimeout(p.current);
16849
16849
  };
16850
16850
  }, [e, t]), l(() => {
16851
16851
  if (t === null) return;
16852
- let n = NE(e, "detection.result", (e) => {
16852
+ let n = RE(e, "detection.result", (e) => {
16853
16853
  let n = e;
16854
- if (!PE(n?.source, t)) return;
16854
+ if (!zE(n?.source, t)) return;
16855
16855
  let r = n.data?.frame;
16856
16856
  r?.detections?.length && (c({
16857
16857
  detections: r.detections,
16858
16858
  frameWidth: r.width,
16859
16859
  frameHeight: r.height
16860
- }), h.current && clearTimeout(h.current), h.current = setTimeout(() => c(null), ME));
16860
+ }), h.current && clearTimeout(h.current), h.current = setTimeout(() => c(null), LE));
16861
16861
  });
16862
16862
  return () => {
16863
16863
  n?.unsubscribe(), h.current && clearTimeout(h.current);
16864
16864
  };
16865
16865
  }, [e, t]), l(() => {
16866
16866
  if (t === null) return;
16867
- let n = NE(e, "detection.phase-transition", (e) => {
16867
+ let n = RE(e, "detection.phase-transition", (e) => {
16868
16868
  let n = e;
16869
- PE(n?.source, t) && n.data?.to && d(n.data.to);
16869
+ zE(n?.source, t) && n.data?.to && d(n.data.to);
16870
16870
  });
16871
16871
  return () => {
16872
16872
  n?.unsubscribe();
@@ -16878,7 +16878,7 @@ function FE(e, t) {
16878
16878
  phase: u
16879
16879
  };
16880
16880
  }
16881
- function IE(e, t, r = 5e3) {
16881
+ function VE(e, t, r = 5e3) {
16882
16882
  let [i, s] = n([]);
16883
16883
  l(() => {
16884
16884
  if (t === null) return;
@@ -16968,7 +16968,7 @@ function IE(e, t, r = 5e3) {
16968
16968
  }, [e, t])
16969
16969
  };
16970
16970
  }
16971
- var LE = {
16971
+ var HE = {
16972
16972
  up: {
16973
16973
  pan: 0,
16974
16974
  tilt: 1
@@ -17002,7 +17002,7 @@ var LE = {
17002
17002
  tilt: -1
17003
17003
  }
17004
17004
  };
17005
- function RE(e, t, r) {
17005
+ function UE(e, t, r) {
17006
17006
  let i = r?.defaultSpeed ?? .5, o = r?.pulseMs ?? 250, s = r?.enabled ?? !0, c = Du(e, s ? t : null)?.ptz, [u, d] = n([]), [f, p] = n(!1), [m, h] = n(null), g = a(async () => {
17007
17007
  if (!(!s || !c)) try {
17008
17008
  d(await c.getPresets({}));
@@ -17031,7 +17031,7 @@ function RE(e, t, r) {
17031
17031
  return {
17032
17032
  move: a(async (e, t) => {
17033
17033
  if (!c) return;
17034
- let n = LE[e], r = t ?? i;
17034
+ let n = HE[e], r = t ?? i;
17035
17035
  await _(async () => {
17036
17036
  await c.move({
17037
17037
  pan: n.pan,
@@ -17047,7 +17047,7 @@ function RE(e, t, r) {
17047
17047
  ]),
17048
17048
  startContinuous: a(async (e, t) => {
17049
17049
  if (!c) return;
17050
- let n = LE[e], r = t ?? i;
17050
+ let n = HE[e], r = t ?? i;
17051
17051
  await _(() => c.continuousMove({
17052
17052
  pan: n.pan,
17053
17053
  tilt: n.tilt,
@@ -17088,7 +17088,7 @@ function RE(e, t, r) {
17088
17088
  error: m
17089
17089
  };
17090
17090
  }
17091
- function zE(e) {
17091
+ function WE(e) {
17092
17092
  let t = e?.deviceId ?? null, r = e?.historyLimit ?? 20, i = $l("doorbell.onPressed", t === null ? void 0 : (e) => e.deviceId === t), [a, o] = n([]);
17093
17093
  return l(() => {
17094
17094
  i && o((e) => {
@@ -17101,7 +17101,7 @@ function zE(e) {
17101
17101
  history: a
17102
17102
  };
17103
17103
  }
17104
- function BE(e) {
17104
+ function GE(e) {
17105
17105
  let t = Yl(), r = o(() => e ? JSON.stringify(e) : "", [e]), [i, a] = n(() => t.listDevices(e));
17106
17106
  return l(() => {
17107
17107
  let n = () => {
@@ -17124,7 +17124,7 @@ function BE(e) {
17124
17124
  r
17125
17125
  ]), i;
17126
17126
  }
17127
- function VE(e) {
17127
+ function KE(e) {
17128
17128
  let t = Yl(), [r, i] = n(() => e === null ? null : t.getDevice(e));
17129
17129
  return l(() => {
17130
17130
  if (e === null) {
@@ -17147,7 +17147,7 @@ function VE(e) {
17147
17147
  };
17148
17148
  }, [t, e]), r;
17149
17149
  }
17150
- function HE(e, t, n) {
17150
+ function qE(e, t, n) {
17151
17151
  let r = Yl();
17152
17152
  return T({
17153
17153
  queryKey: e,
@@ -17155,14 +17155,14 @@ function HE(e, t, n) {
17155
17155
  ...n
17156
17156
  });
17157
17157
  }
17158
- function UE(e, t) {
17158
+ function JE(e, t) {
17159
17159
  let n = Yl();
17160
17160
  return O({
17161
17161
  mutationFn: (t) => e(n)(t),
17162
17162
  ...t
17163
17163
  });
17164
17164
  }
17165
- function WE(e, t) {
17165
+ function YE(e, t) {
17166
17166
  let r = Yl(), i = D(), [a, o] = n(r.connectionVersion);
17167
17167
  l(() => r.subscribeConnectionEvents((e, t) => {
17168
17168
  e === "connected" && o(t);
@@ -17189,4 +17189,4 @@ function WE(e, t) {
17189
17189
  ]);
17190
17190
  }
17191
17191
  //#endregion
17192
- export { Fw as AddonGlobalSettingsForm, Il as AgentStepEditor, Su as AppShell, vT as AudioClassificationList, hT as AudioLevelWaveform, mT as AudioWaveform, on as BTN_COMPACT, cn as BTN_COMPACT_DANGER, sn as BTN_COMPACT_PRIMARY, ln as BTN_COMPACT_WARNING, hc as Badge, xd as BatteryBadge, nl as BottomSheet, _l as Breadcrumb, dc as Button, fn as CHIP_ACTIVE, dn as CHIP_BASE, pn as CHIP_INACTIVE, lf as CLASS_COLORS, Ww as CameraStreamPlayer, _c as Card, Ec as Checkbox, vu as CodeBlock, vc as CollapsibleCard, jw as ConfigFormBuilder, Dw as ConfigFormField, Al as ConfigSchemaField, dE as ConfirmActionButton, hu as ConfirmDialogProvider, Xp as CustomFieldRenderersProvider, df as DEFAULT_COLOR, yl as DataTable, pf as DetectionCanvas, Iw as DetectionOverlay, vf as DetectionResultTree, qp as DevShell, uE as DeviceActivityPanel, wu as DeviceCard, $p as DeviceContextProvider, Tu as DeviceGrid, Od as DeviceItem, Yd as DeviceList, Ac as Dialog, Nc as DialogContent, Lc as DialogDescription, Fc as DialogFooter, Pc as DialogHeader, Ic as DialogTitle, jc as DialogTrigger, YT as DiscoveryPanel, _E as DoorbellRecentPanel, Bc as Dropdown, Hc as DropdownContent, Uc as DropdownItem, Vc as DropdownTrigger, fu as EmptyState, WT as EventStream, yu as FilterBar, KT as FloatingEventStream, AT as FloatingLogStream, hl as FloatingPanel, uu as FormField, Jt as GRID_GAP, Zt as GRID_PAIRED, Xt as GRID_QUICK_STATS, un as INPUT_COMPACT, pc as IconButton, wf as ImageSelector, Ef as InferenceConfigSelector, wc as Input, vE as KebabMenu, _u as KeyValueList, Yt as LIST_ROW, yc as Label, kT as LogStream, zp as LoginForm, gl as MobileDrawer, ew as NodeMultiSelectField, nu as NodePicker, $C as NodeSelectField, yn as PHASE_CONFIG, pE as PTZOverlay, du as PageHeader, xT as PhaseIcon, cf as PipelineBuilder, nf as PipelineRuntimeSelector, El as PipelineStep, Gl as PipelineTreeMatrix, Yw as PlayerOverlaysProvider, al as Popover, sl as PopoverContent, ol as PopoverTrigger, ou as ProviderBadge, yT as ResponseLog, Kt as SECTION_BODY, Wt as SECTION_CARD, Gt as SECTION_HEADER, Qt as SPLIT_PANEL_OUTER, $t as SPLIT_PANEL_SIDE, qt as STACK_GAP, TE as ScopePicker, ml as ScrollArea, Tc as Select, cu as SemanticBadge, xc as Separator, xu as Sidebar, bu as SidebarItem, Sc as Skeleton, bl as SlideOverPanel, hE as SnapshotButton, gu as StatCard, rE as StateValuesStream, iu as StatusBadge, Cf as StepTimings, Cl as StepTreeMaster, pT as StreamBrokerSelector, lT as StreamPanel, Dc as Switch, Jl as SystemProvider, tn as TEXT_FIELD_LABEL, nn as TEXT_HINT, an as TEXT_METRIC, en as TEXT_SECTION_LABEL, rn as TEXT_VALUE, ul as Tabs, pl as TabsContent, dl as TabsList, fl as TabsTrigger, ve as ThemeProvider, Kc as Tooltip, Jc as TooltipContent, qc as TooltipTrigger, lu as VersionBadge, jC as WidgetRegistryProvider, RC as WidgetSlot, kE as ZoneEditingProvider, wl as buildStepTreeFromSchema, q as cn, xn as createSharedContext, se as createTheme, ae as darkColors, oe as defaultTheme, ju as deriveDeviceKind, fo as ensureMfHostInit, ff as getClassColor, bn as getPhaseVisual, Ew as isFieldVisible, z as lightColors, vn as mirror, Jp as mountAddonPage, ac as providerIcons, oc as statusIcons, fe as themeToCss, Z as trpc, nm as useAccessoriesGetStatus, rm as useAddonPagesListPages, jm as useAddonSettingsGetDeviceSettings, km as useAddonSettingsGetGlobalSettings, Mm as useAddonSettingsUpdateDeviceSettings, Am as useAddonSettingsUpdateGlobalSettings, Nm as useAddonWidgetsListWidgets, Em as useAddonsApplyAutoUpdateToAll, Dm as useAddonsCustom, _m as useAddonsForceRefresh, wm as useAddonsGetAddonAutoUpdate, Sm as useAddonsGetAutoUpdateSettings, am as useAddonsGetLogs, ym as useAddonsGetVersions, cm as useAddonsInstallFromWorkspace, sm as useAddonsInstallPackage, lm as useAddonsIsWorkspaceAvailable, im as useAddonsList, om as useAddonsListPackages, mm as useAddonsListUpdates, um as useAddonsListWorkspacePackages, Om as useAddonsOnAddonLogs, fm as useAddonsReloadPackages, bm as useAddonsRestartAddon, vm as useAddonsRestartServer, xm as useAddonsRetryLoad, gm as useAddonsRollbackPackage, pm as useAddonsSearchAvailable, Tm as useAddonsSetAddonAutoUpdate, Cm as useAddonsSetAutoUpdateSettings, dm as useAddonsUninstallPackage, hm as useAddonsUpdatePackage, Bm as useAlertsDismiss, Pm as useAlertsEmit, Lm as useAlertsGetUnreadCount, Im as useAlertsList, zm as useAlertsMarkAllRead, Rm as useAlertsMarkRead, Fm as useAlertsUpdate, PC as useAllWidgets, Wm as useAudioAnalysisApplyDeviceSettingsPatch, Um as useAudioAnalysisGetDeviceLiveContribution, Hm as useAudioAnalysisGetDeviceSettingsContribution, Vm as useAudioAnalysisResolveDeviceSettings, Gm as useAudioAnalyzerAnalyseChunk, Km as useAudioAnalyzerClassify, Jm as useAudioAnalyzerDispose, qm as useAudioAnalyzerIsReady, Ym as useAudioAnalyzerReprobeAudioEngine, Zm as useAudioCodecCanHandle, eh as useAudioCodecCloseSession, Qm as useAudioCodecCreateDecodeSession, $m as useAudioCodecCreateEncodeSession, ah as useAudioCodecFlushEncode, oh as useAudioCodecListActiveSessions, Xm as useAudioCodecListSupportedCodecs, ih as useAudioCodecPullEncoded, nh as useAudioCodecPullPcm, th as useAudioCodecPushEncodedFrame, rh as useAudioCodecPushPcm, sh as useAudioMetricsGetCurrentSnapshot, ch as useAudioMetricsGetHistory, lh as useAuthenticationListProviders, uh as useAuthenticationSetProviderEnabled, _h as useBackupDelete, hh as useBackupGetEntries, ph as useBackupList, vh as useBackupListArchives, dh as useBackupListDestinations, mh as useBackupListLocations, bh as useBackupPreviewSchedule, gh as useBackupRestore, fh as useBackupTrigger, yh as useBackupUpsertDestinationPolicy, xh as useBatteryGetStatus, Ch as useBrightnessGetStatus, Sh as useBrightnessSetBrightness, wh as useCameraCredentialsGetCredentials, Th as useCameraCredentialsGetStatus, Dh as useCameraStreamsGetBrokerStreams, Eh as useCameraStreamsGetCameraStreams, Oh as useCameraStreamsGetRtspEntries, tu as useClusterNodes, mu as useConfirm, Zp as useCustomFieldRenderer, jd as useDebouncedString, jh as useDecoderCreateSession, Mh as useDecoderDestroySession, Ah as useDecoderGetInfo, Lh as useDecoderGetStats, Rh as useDecoderListActiveSessions, Ph as useDecoderOpenStream, Fh as useDecoderPullFrames, Nh as useDecoderPushPacket, zh as useDecoderReprobeHwaccel, kh as useDecoderSupportsCodec, Ih as useDecoderUpdateConfig, Hh as useDetectionPipelineApplyDeviceSettingsPatch, Vh as useDetectionPipelineGetDeviceLiveContribution, Bh as useDetectionPipelineGetDeviceSettingsContribution, Hp as useDevShell, VE as useDevice, _d as useDeviceBattery, Au as useDeviceCapability, FE as useDeviceDetections, Gh as useDeviceDiscoveryAdoptDevice, qh as useDeviceDiscoveryGetStatus, Uh as useDeviceDiscoveryListDiscovered, Wh as useDeviceDiscoveryRefreshDiscovery, Kh as useDeviceDiscoveryReleaseDevice, tg as useDeviceExportApplyDeviceSettingsPatch, Zh as useDeviceExportExposeDevice, eg as useDeviceExportGetDeviceLiveContribution, $h as useDeviceExportGetDeviceSettingsContribution, Jh as useDeviceExportGetStatus, Xh as useDeviceExportListExposedDevices, Yh as useDeviceExportListSupportedDeviceKinds, Qh as useDeviceExportUnexposeDevice, em as useDeviceId, pg as useDeviceManagerAddLocation, Vg as useDeviceManagerAdoptDevice, ng as useDeviceManagerAllocateDeviceId, Ug as useDeviceManagerCreateDevice, Tg as useDeviceManagerDisable, Bg as useDeviceManagerDiscoverDevices, wg as useDeviceManagerEnable, jg as useDeviceManagerGetAllBindings, Ag as useDeviceManagerGetBindings, yg as useDeviceManagerGetChildren, xg as useDeviceManagerGetConfigSchema, Hg as useDeviceManagerGetCreationSchema, vg as useDeviceManagerGetDevice, Lg as useDeviceManagerGetDeviceAggregate, Ig as useDeviceManagerGetDeviceLiveInfoAggregate, Fg as useDeviceManagerGetDeviceSettingsAggregate, Kg as useDeviceManagerGetDeviceStatusAggregate, Sg as useDeviceManagerGetSettingsSchema, Dg as useDeviceManagerGetStreamProfileMap, bg as useDeviceManagerGetStreamSources, _g as useDeviceManagerListAll, Pg as useDeviceManagerListBindableCapsForDeviceType, fg as useDeviceManagerListLocations, gg as useDeviceManagerListPersistedByAddon, Ng as useDeviceManagerListWrappersForCap, og as useDeviceManagerLoadConfig, cg as useDeviceManagerLoadMeta, sg as useDeviceManagerLoadRuntimeState, ag as useDeviceManagerPersistConfig, kg as useDeviceManagerProbeStreams, rg as useDeviceManagerRegisterDevice, Eg as useDeviceManagerRemove, ig as useDeviceManagerRemoveDevice, mg as useDeviceManagerRemoveLocation, hg as useDeviceManagerSetDisabled, ug as useDeviceManagerSetLocation, dg as useDeviceManagerSetMetadata, lg as useDeviceManagerSetName, Og as useDeviceManagerSetStreamProfileMap, Mg as useDeviceManagerSetWrapperActive, Wg as useDeviceManagerTestCreationField, Gg as useDeviceManagerTestField, Cg as useDeviceManagerUpdateConfig, Rg as useDeviceManagerUpdateDeviceField, zg as useDeviceManagerUpdateDeviceFieldsBatch, Jg as useDeviceOpsGetConfigEntries, Zg as useDeviceOpsGetSettingsSchema, qg as useDeviceOpsGetStreamSources, Xg as useDeviceOpsRemoveDevice, Yg as useDeviceOpsSetConfig, i_ as useDeviceProviderAdoptDiscoveredDevice, s_ as useDeviceProviderCreateDevice, r_ as useDeviceProviderDiscoverDevices, o_ as useDeviceProviderGetChildCreationSchema, t_ as useDeviceProviderGetDevices, e_ as useDeviceProviderGetStatus, Qg as useDeviceProviderStart, $g as useDeviceProviderStop, n_ as useDeviceProviderSupportsDiscovery, a_ as useDeviceProviderSupportsManualCreation, c_ as useDeviceProviderTestCreationField, Du as useDeviceProxy, tm as useDeviceSnapshot, vd as useDeviceSnapshotImage, ku as useDeviceState, d_ as useDeviceStateGetAllSnapshots, u_ as useDeviceStateGetCapSlice, l_ as useDeviceStateGetSnapshot, f_ as useDeviceStateSetCapSlice, Ou as useDeviceStateSlice, p_ as useDeviceStatusGetStatus, IE as useDeviceWebrtc, BE as useDevices, zE as useDoorbellEvents, m_ as useDoorbellGetStatus, WE as useEventInvalidation, $l as useEventStreamLatest, eu as useEventStreamMap, __ as useEventsGetEventClipUrl, g_ as useEventsGetEventThumbnail, h_ as useEventsGetEvents, v_ as useFeatureProbeGetStatus, S_ as useIntegrationsCreate, w_ as useIntegrationsDelete, b_ as useIntegrationsGet, D_ as useIntegrationsGetAvailableTypes, x_ as useIntegrationsGetByAddonId, T_ as useIntegrationsGetSettings, y_ as useIntegrationsList, E_ as useIntegrationsSetSettings, O_ as useIntegrationsTestConnection, C_ as useIntegrationsUpdate, P_ as useIntercomEndTalkSession, F_ as useIntercomGetStatus, A_ as useIntercomHandleAnswer, N_ as useIntercomPushTalkPcm, k_ as useIntercomStartSession, M_ as useIntercomStartTalkSession, j_ as useIntercomStopSession, tl as useIsMidWidth, el as useIsMobile, ST as useLiveBuffer, Zl as useLiveEvent, z_ as useLocalNetworkGetAllowedAddresses, R_ as useLocalNetworkGetConnectionEndpoints, L_ as useLocalNetworkGetPreferred, I_ as useLocalNetworkList, V_ as useLocalNetworkResetAllowlistToBestMatch, B_ as useLocalNetworkSetAllowedAddresses, H_ as useMeshNetworkGetStatus, U_ as useMeshNetworkJoin, G_ as useMeshNetworkLeave, K_ as useMeshNetworkListPeers, W_ as useMeshNetworkStartLogin, q_ as useMeshNetworkTestConnection, Y_ as useMeshOrchestratorJoinProvider, X_ as useMeshOrchestratorLeaveProvider, J_ as useMeshOrchestratorListProviders, Z_ as useMetricsProviderCollectSnapshot, av as useMetricsProviderGetAddonStats, Q_ as useMetricsProviderGetCached, nv as useMetricsProviderGetCpuTemperature, $_ as useMetricsProviderGetCurrent, ev as useMetricsProviderGetDiskSpace, tv as useMetricsProviderGetGpuInfo, rv as useMetricsProviderGetProcessStats, sv as useMetricsProviderKillProcess, iv as useMetricsProviderListAddonInstances, ov as useMetricsProviderListNodeProcesses, uv as useMotionDetectionAnalyze, hv as useMotionDetectionApplyDeviceSettingsPatch, mv as useMotionDetectionGetDeviceLiveContribution, pv as useMotionDetectionGetDeviceSettingsContribution, dv as useMotionDetectionRemoveCamera, fv as useMotionDetectionReset, lv as useMotionGetStatus, cv as useMotionIsDetected, _v as useMotionTriggerGetStatus, gv as useMotionTriggerSetMotionTrigger, bv as useMqttBrokerAddBroker, yv as useMqttBrokerGetBrokerConfig, Tv as useMqttBrokerGetStatus, vv as useMqttBrokerListBrokers, xv as useMqttBrokerRemoveBroker, Cv as useMqttBrokerStartEmbeddedBroker, wv as useMqttBrokerStopEmbeddedBroker, Sv as useMqttBrokerTestConnection, Ev as useNativeObjectDetectionGetStatus, Ov as useNetworkQualityGetAllStats, Dv as useNetworkQualityGetDeviceStats, kv as useNetworkQualityReportClientStats, Rv as useNodesClusterAddonStatus, jv as useNodesDeployAddon, Bv as useNodesExecuteQuery, Lv as useNodesRenameNode, Nv as useNodesRestartAddon, Fv as useNodesRestartNode, Pv as useNodesRestartProcess, zv as useNodesSetProcessLogLevel, Iv as useNodesShutdownNode, Av as useNodesTopology, Mv as useNodesUndeployAddon, Vv as useNotificationOutputSend, Hv as useNotificationOutputSendTest, Xl as useOptionalSystem, IC as useOptionalWidgetRegistry, Wv as useOsdGetStatus, Uv as useOsdSetOverlay, RE as usePTZ, ny as usePipelineAnalyticsApplyDeviceSettingsPatch, Jv as usePipelineAnalyticsClearTracks, Gv as usePipelineAnalyticsGetActiveTracks, Zv as usePipelineAnalyticsGetAudioEvents, ty as usePipelineAnalyticsGetDeviceLiveContribution, ey as usePipelineAnalyticsGetDeviceSettingsContribution, Qv as usePipelineAnalyticsGetEventMedia, Yv as usePipelineAnalyticsGetMotionEvents, Xv as usePipelineAnalyticsGetObjectEvents, Kv as usePipelineAnalyticsGetTrack, $v as usePipelineAnalyticsGetTrackMedia, qv as usePipelineAnalyticsListTracks, wy as usePipelineExecutorCacheFrameInPool, by as usePipelineExecutorDeleteModel, gy as usePipelineExecutorDeleteTemplate, xy as usePipelineExecutorDetect, yy as usePipelineExecutorDownloadModel, vy as usePipelineExecutorGetAddonModels, Fy as usePipelineExecutorGetAudioCapabilities, ry as usePipelineExecutorGetAvailableEngines, _y as usePipelineExecutorGetCapabilities, ay as usePipelineExecutorGetDefaultSteps, Ly as usePipelineExecutorGetDetectionConfigSchema, Dy as usePipelineExecutorGetEffectiveTuning, dy as usePipelineExecutorGetGlobalPipelineConfig, uy as usePipelineExecutorGetGlobalSteps, fy as usePipelineExecutorGetOrchestratorConfigSchema, Py as usePipelineExecutorGetReferenceAudio, Ny as usePipelineExecutorGetReferenceAudioFiles, My as usePipelineExecutorGetReferenceImage, ly as usePipelineExecutorGetSchema, iy as usePipelineExecutorGetSelectedEngine, sy as usePipelineExecutorGetVideoPipelineSteps, Ty as usePipelineExecutorInferCached, Ay as usePipelineExecutorKillEngine, Oy as usePipelineExecutorListLoadedEngines, jy as usePipelineExecutorListReferenceImages, py as usePipelineExecutorListTemplates, oy as usePipelineExecutorReprobeEngine, Iy as usePipelineExecutorRunAudioTest, Sy as usePipelineExecutorRunPipeline, Cy as usePipelineExecutorRunPipelineBatch, my as usePipelineExecutorSaveTemplate, cy as usePipelineExecutorSetVideoPipelineSteps, ky as usePipelineExecutorSpinEngine, Ey as usePipelineExecutorUncacheFrame, hy as usePipelineExecutorUpdateTemplate, yb as usePipelineOrchestratorApplyDeviceSettingsPatch, Zy as usePipelineOrchestratorAssignAudio, Jy as usePipelineOrchestratorAssignDecoder, Ry as usePipelineOrchestratorAssignPipeline, gb as usePipelineOrchestratorDeleteTemplate, Uy as usePipelineOrchestratorGetAgentLoad, rb as usePipelineOrchestratorGetAgentSettings, $y as usePipelineOrchestratorGetAudioAssignment, tb as usePipelineOrchestratorGetAudioAssignments, eb as usePipelineOrchestratorGetAudioNodeLoad, Gy as usePipelineOrchestratorGetCameraMetrics, sb as usePipelineOrchestratorGetCameraSettings, lb as usePipelineOrchestratorGetCameraStepOverrides, Ky as usePipelineOrchestratorGetCapabilityBindings, nb as usePipelineOrchestratorGetDecoderAssignment, Xy as usePipelineOrchestratorGetDecoderAssignments, vb as usePipelineOrchestratorGetDeviceLiveContribution, _b as usePipelineOrchestratorGetDeviceSettingsContribution, Wy as usePipelineOrchestratorGetGlobalMetrics, Hy as usePipelineOrchestratorGetPipelineAssignment, Vy as usePipelineOrchestratorGetPipelineAssignments, ib as usePipelineOrchestratorListAgentSettings, pb as usePipelineOrchestratorListTemplates, By as usePipelineOrchestratorRebalance, ob as usePipelineOrchestratorRemoveAgentSettings, fb as usePipelineOrchestratorResolvePipeline, mb as usePipelineOrchestratorSaveTemplate, ab as usePipelineOrchestratorSetAgentAddonDefaults, db as usePipelineOrchestratorSetCameraPipelineForAgent, ub as usePipelineOrchestratorSetCameraStepOverride, cb as usePipelineOrchestratorSetCameraStepToggle, qy as usePipelineOrchestratorSetCapabilityBinding, Qy as usePipelineOrchestratorUnassignAudio, Yy as usePipelineOrchestratorUnassignDecoder, zy as usePipelineOrchestratorUnassignPipeline, hb as usePipelineOrchestratorUpdateTemplate, bb as usePipelineRunnerAttachCamera, xb as usePipelineRunnerDetachCamera, Eb as usePipelineRunnerGetAllCameraMetrics, Tb as usePipelineRunnerGetCameraMetrics, Db as usePipelineRunnerGetLocalCameras, Cb as usePipelineRunnerGetLocalLoad, wb as usePipelineRunnerGetLocalMetrics, Sb as usePipelineRunnerReportMotion, Ob as usePlatformProbeGetCapabilities, kb as usePlatformProbeGetHardware, Mb as usePlatformProbeGetHardwareEncoders, Nb as usePlatformProbeRefreshHardwareEncoders, jb as usePlatformProbeResolveHwAccel, Ab as usePlatformProbeResolveInferenceConfig, Qw as usePlayerOverlayLayer, Xw as usePlayerOverlayLayers, $w as usePlayerToolbarButton, Zw as usePlayerToolbarButtons, Wb as usePtzAutotrackGetSettings, Hb as usePtzAutotrackGetStatus, Ub as usePtzAutotrackSetEnabled, Gb as usePtzAutotrackSetSettings, Fb as usePtzContinuousMove, Bb as usePtzGetPosition, Lb as usePtzGetPresets, Vb as usePtzGetStatus, zb as usePtzGoHome, Rb as usePtzGoToPreset, Pb as usePtzMove, Ib as usePtzStop, Kb as useRebootReboot, Qb as useRecordingEngineDisable, Zb as useRecordingEngineEnable, ox as useRecordingEngineEstimateGlobalStorage, ax as useRecordingEngineEstimateStorage, ix as useRecordingEngineGetAvailability, $b as useRecordingEngineGetConfig, px as useRecordingEngineGetMotionStats, tx as useRecordingEngineGetPlaylist, lx as useRecordingEngineGetPolicy, ux as useRecordingEngineGetPolicyStatus, dx as useRecordingEngineGetRetentionConfig, rx as useRecordingEngineGetSegments, Xb as useRecordingEngineGetStatus, sx as useRecordingEngineGetStorageUsage, nx as useRecordingEngineGetThumbnail, cx as useRecordingEngineSetPolicy, ex as useRecordingEngineUpdateConfig, fx as useRecordingEngineUpdateRetentionConfig, Jb as useRecordingGetPlaybackUrl, qb as useRecordingGetSegments, Yb as useRecordingGetThumbnailAt, mx as useRemoteAccessListProviders, hx as useRemoteAccessStartProvider, gx as useRemoteAccessStopProvider, Cx as useSettingsStoreCount, Tx as useSettingsStoreDeclareCollection, Sx as useSettingsStoreDelete, _x as useSettingsStoreGet, bx as useSettingsStoreInsert, wx as useSettingsStoreIsEmpty, yx as useSettingsStoreQuery, vx as useSettingsStoreSet, xx as useSettingsStoreUpdate, jx as useSnapshotApplyDeviceSettingsPatch, Ax as useSnapshotGetDeviceLiveContribution, kx as useSnapshotGetDeviceSettingsContribution, Ex as useSnapshotGetSnapshot, Ox as useSnapshotGetStatus, Dx as useSnapshotInvalidateCache, Nx as useSnapshotProviderGetSnapshot, Mx as useSnapshotProviderSupportsDevice, Wx as useStorageAbortUpload, Gx as useStorageBeginDownload, Vx as useStorageBeginUpload, zx as useStorageDelete, Zx as useStorageDeleteLocation, qx as useStorageEndDownload, Lx as useStorageExists, Ux as useStorageFinalizeUpload, Bx as useStorageGetAvailableSpace, Yx as useStorageGetDefaultLocation, Rx as useStorageList, Jx as useStorageListLocations, $x as useStorageListProviders, Ix as useStorageRead, Kx as useStorageReadChunk, Px as useStorageResolve, eS as useStorageTestConfig, Qx as useStorageTestLocation, Xx as useStorageUpsertLocation, Fx as useStorageWrite, Hx as useStorageWriteChunk, TS as useStreamBrokerApplyDeviceSettingsPatch, rS as useStreamBrokerAssignProfile, vS as useStreamBrokerGetAllRtspEntries, mS as useStreamBrokerGetBroker, sS as useStreamBrokerGetBrokerStats, wS as useStreamBrokerGetDeviceLiveContribution, CS as useStreamBrokerGetDeviceSettingsContribution, gS as useStreamBrokerGetPreBufferInfo, yS as useStreamBrokerGetRtspEntry, _S as useStreamBrokerGetRtspPort, dS as useStreamBrokerGetStreamUrl, fS as useStreamBrokerGetStreamWithCodec, SS as useStreamBrokerIsRtspEnabled, lS as useStreamBrokerKillClient, aS as useStreamBrokerListAllCameraStreams, oS as useStreamBrokerListAllProfileSlots, cS as useStreamBrokerListClients, tS as useStreamBrokerPublishCameraStream, bS as useStreamBrokerRegenerateRtspToken, pS as useStreamBrokerReleaseStreamWithCodec, uS as useStreamBrokerRestartProfile, nS as useStreamBrokerRetractCameraStream, hS as useStreamBrokerSetPreBufferDuration, xS as useStreamBrokerSetRtspEnabled, iS as useStreamBrokerUnassignProfile, DS as useSwitchGetStatus, ES as useSwitchSetState, Yl as useSystem, AS as useSystemFeatureFlags, PS as useSystemForceRetentionCleanup, MS as useSystemGetRetentionConfig, kS as useSystemHealth, OS as useSystemInfo, UE as useSystemMutation, jS as useSystemNetworkAddresses, HE as useSystemQuery, NS as useSystemSetRetentionConfig, ye as useThemeMode, FS as useToastOnToast, LS as useTurnOrchestratorGetAllServers, IS as useTurnOrchestratorListProviders, RS as useTurnOrchestratorSetProviderEnabled, zS as useTurnProviderGetTurnServers, nC as useUserManagementConfirmTotp, JS as useUserManagementCreateApiKey, ZS as useUserManagementCreateScopedToken, VS as useUserManagementCreateUser, US as useUserManagementDeleteUser, rC as useUserManagementDisableTotp, iC as useUserManagementGetTotpStatus, qS as useUserManagementListApiKeys, eC as useUserManagementListScopedTokens, BS as useUserManagementListUsers, WS as useUserManagementResetPassword, YS as useUserManagementRevokeApiKey, QS as useUserManagementRevokeScopedToken, GS as useUserManagementSetUserScopes, tC as useUserManagementSetupTotp, HS as useUserManagementUpdateUser, XS as useUserManagementValidateApiKey, KS as useUserManagementValidateCredentials, $S as useUserManagementValidateScopedToken, aC as useUserManagementVerifyTotp, uC as useWebrtcSessionCloseSession, sC as useWebrtcSessionCreateSession, lC as useWebrtcSessionHandleAnswer, cC as useWebrtcSessionHandleOffer, dC as useWebrtcSessionHasAdaptiveBitrate, oC as useWebrtcSessionListStreams, MC as useWidget, NC as useWidgetMetadata, FC as useWidgetRegistry, mC as useZoneAnalyticsGetCameraHistory, fC as useZoneAnalyticsGetCurrentSnapshot, hC as useZoneAnalyticsGetUnzonedHistory, pC as useZoneAnalyticsGetZoneHistory, AE as useZoneEditing, gC as useZoneRulesListRules, _C as useZoneRulesSetRules, yC as useZonesAddZone, vC as useZonesListZones, bC as useZonesRemoveZone, xC as useZonesUpdateZone, DE as validateScopes };
17192
+ export { Bw as AddonGlobalSettingsForm, Il as AgentStepEditor, Su as AppShell, CT as AudioClassificationList, bT as AudioLevelWaveform, yT as AudioWaveform, on as BTN_COMPACT, cn as BTN_COMPACT_DANGER, sn as BTN_COMPACT_PRIMARY, ln as BTN_COMPACT_WARNING, hc as Badge, xd as BatteryBadge, nl as BottomSheet, _l as Breadcrumb, dc as Button, fn as CHIP_ACTIVE, dn as CHIP_BASE, pn as CHIP_INACTIVE, lf as CLASS_COLORS, Yw as CameraStreamPlayer, _c as Card, Ec as Checkbox, vu as CodeBlock, vc as CollapsibleCard, Iw as ConfigFormBuilder, Mw as ConfigFormField, Al as ConfigSchemaField, gE as ConfirmActionButton, hu as ConfirmDialogProvider, Xp as CustomFieldRenderersProvider, df as DEFAULT_COLOR, yl as DataTable, pf as DetectionCanvas, Vw as DetectionOverlay, vf as DetectionResultTree, qp as DevShell, hE as DeviceActivityPanel, wu as DeviceCard, $p as DeviceContextProvider, Tu as DeviceGrid, Od as DeviceItem, Yd as DeviceList, Ac as Dialog, Nc as DialogContent, Lc as DialogDescription, Fc as DialogFooter, Pc as DialogHeader, Ic as DialogTitle, jc as DialogTrigger, eE as DiscoveryPanel, SE as DoorbellRecentPanel, Bc as Dropdown, Hc as DropdownContent, Uc as DropdownItem, Vc as DropdownTrigger, fu as EmptyState, YT as EventStream, yu as FilterBar, ZT as FloatingEventStream, FT as FloatingLogStream, hl as FloatingPanel, uu as FormField, Jt as GRID_GAP, Zt as GRID_PAIRED, Xt as GRID_QUICK_STATS, un as INPUT_COMPACT, pc as IconButton, wf as ImageSelector, Ef as InferenceConfigSelector, wc as Input, CE as KebabMenu, _u as KeyValueList, Yt as LIST_ROW, yc as Label, PT as LogStream, zp as LoginForm, gl as MobileDrawer, aw as NodeMultiSelectField, nu as NodePicker, iw as NodeSelectField, yn as PHASE_CONFIG, vE as PTZOverlay, du as PageHeader, ET as PhaseIcon, cf as PipelineBuilder, nf as PipelineRuntimeSelector, El as PipelineStep, Gl as PipelineTreeMatrix, eT as PlayerOverlaysProvider, al as Popover, sl as PopoverContent, ol as PopoverTrigger, ou as ProviderBadge, wT as ResponseLog, Kt as SECTION_BODY, Wt as SECTION_CARD, Gt as SECTION_HEADER, Qt as SPLIT_PANEL_OUTER, $t as SPLIT_PANEL_SIDE, qt as STACK_GAP, AE as ScopePicker, ml as ScrollArea, Tc as Select, cu as SemanticBadge, xc as Separator, xu as Sidebar, bu as SidebarItem, Sc as Skeleton, bl as SlideOverPanel, bE as SnapshotButton, gu as StatCard, cE as StateValuesStream, iu as StatusBadge, Cf as StepTimings, Cl as StepTreeMaster, vT as StreamBrokerSelector, mT as StreamPanel, Dc as Switch, Jl as SystemProvider, tn as TEXT_FIELD_LABEL, nn as TEXT_HINT, an as TEXT_METRIC, en as TEXT_SECTION_LABEL, rn as TEXT_VALUE, ul as Tabs, pl as TabsContent, dl as TabsList, fl as TabsTrigger, ve as ThemeProvider, Kc as Tooltip, Jc as TooltipContent, qc as TooltipTrigger, lu as VersionBadge, IC as WidgetRegistryProvider, UC as WidgetSlot, PE as ZoneEditingProvider, wl as buildStepTreeFromSchema, q as cn, xn as createSharedContext, se as createTheme, ae as darkColors, oe as defaultTheme, ju as deriveDeviceKind, fo as ensureMfHostInit, ff as getClassColor, bn as getPhaseVisual, jw as isFieldVisible, z as lightColors, vn as mirror, Jp as mountAddonPage, ac as providerIcons, oc as statusIcons, fe as themeToCss, Z as trpc, nm as useAccessoriesGetStatus, rm as useAddonPagesListPages, jm as useAddonSettingsGetDeviceSettings, km as useAddonSettingsGetGlobalSettings, Mm as useAddonSettingsUpdateDeviceSettings, Am as useAddonSettingsUpdateGlobalSettings, Nm as useAddonWidgetsListWidgets, Em as useAddonsApplyAutoUpdateToAll, Dm as useAddonsCustom, _m as useAddonsForceRefresh, wm as useAddonsGetAddonAutoUpdate, Sm as useAddonsGetAutoUpdateSettings, am as useAddonsGetLogs, ym as useAddonsGetVersions, cm as useAddonsInstallFromWorkspace, sm as useAddonsInstallPackage, lm as useAddonsIsWorkspaceAvailable, im as useAddonsList, om as useAddonsListPackages, mm as useAddonsListUpdates, um as useAddonsListWorkspacePackages, Om as useAddonsOnAddonLogs, fm as useAddonsReloadPackages, bm as useAddonsRestartAddon, vm as useAddonsRestartServer, xm as useAddonsRetryLoad, gm as useAddonsRollbackPackage, pm as useAddonsSearchAvailable, Tm as useAddonsSetAddonAutoUpdate, Cm as useAddonsSetAutoUpdateSettings, dm as useAddonsUninstallPackage, hm as useAddonsUpdatePackage, Bm as useAlertsDismiss, Pm as useAlertsEmit, Lm as useAlertsGetUnreadCount, Im as useAlertsList, zm as useAlertsMarkAllRead, Rm as useAlertsMarkRead, Fm as useAlertsUpdate, zC as useAllWidgets, Wm as useAudioAnalysisApplyDeviceSettingsPatch, Um as useAudioAnalysisGetDeviceLiveContribution, Hm as useAudioAnalysisGetDeviceSettingsContribution, Vm as useAudioAnalysisResolveDeviceSettings, Gm as useAudioAnalyzerAnalyseChunk, Km as useAudioAnalyzerClassify, Jm as useAudioAnalyzerDispose, qm as useAudioAnalyzerIsReady, Ym as useAudioAnalyzerReprobeAudioEngine, Zm as useAudioCodecCanHandle, eh as useAudioCodecCloseSession, Qm as useAudioCodecCreateDecodeSession, $m as useAudioCodecCreateEncodeSession, ah as useAudioCodecFlushEncode, oh as useAudioCodecListActiveSessions, Xm as useAudioCodecListSupportedCodecs, ih as useAudioCodecPullEncoded, nh as useAudioCodecPullPcm, th as useAudioCodecPushEncodedFrame, rh as useAudioCodecPushPcm, sh as useAudioMetricsGetCurrentSnapshot, ch as useAudioMetricsGetHistory, lh as useAuthenticationListProviders, uh as useAuthenticationSetProviderEnabled, _h as useBackupDelete, hh as useBackupGetEntries, ph as useBackupList, vh as useBackupListArchives, dh as useBackupListDestinations, mh as useBackupListLocations, bh as useBackupPreviewSchedule, gh as useBackupRestore, fh as useBackupTrigger, yh as useBackupUpsertDestinationPolicy, xh as useBatteryGetStatus, Ch as useBrightnessGetStatus, Sh as useBrightnessSetBrightness, wh as useCameraCredentialsGetCredentials, Th as useCameraCredentialsGetStatus, Dh as useCameraStreamsGetBrokerStreams, Eh as useCameraStreamsGetCameraStreams, Oh as useCameraStreamsGetRtspEntries, tu as useClusterNodes, mu as useConfirm, Zp as useCustomFieldRenderer, jd as useDebouncedString, jh as useDecoderCreateSession, Mh as useDecoderDestroySession, Ah as useDecoderGetInfo, Lh as useDecoderGetStats, Rh as useDecoderListActiveSessions, Ph as useDecoderOpenStream, Fh as useDecoderPullFrames, Nh as useDecoderPushPacket, zh as useDecoderReprobeHwaccel, kh as useDecoderSupportsCodec, Ih as useDecoderUpdateConfig, Hh as useDetectionPipelineApplyDeviceSettingsPatch, Vh as useDetectionPipelineGetDeviceLiveContribution, Bh as useDetectionPipelineGetDeviceSettingsContribution, Hp as useDevShell, KE as useDevice, _d as useDeviceBattery, Au as useDeviceCapability, BE as useDeviceDetections, Gh as useDeviceDiscoveryAdoptDevice, qh as useDeviceDiscoveryGetStatus, Uh as useDeviceDiscoveryListDiscovered, Wh as useDeviceDiscoveryRefreshDiscovery, Kh as useDeviceDiscoveryReleaseDevice, tg as useDeviceExportApplyDeviceSettingsPatch, Zh as useDeviceExportExposeDevice, eg as useDeviceExportGetDeviceLiveContribution, $h as useDeviceExportGetDeviceSettingsContribution, Jh as useDeviceExportGetStatus, Xh as useDeviceExportListExposedDevices, Yh as useDeviceExportListSupportedDeviceKinds, Qh as useDeviceExportUnexposeDevice, em as useDeviceId, pg as useDeviceManagerAddLocation, Vg as useDeviceManagerAdoptDevice, ng as useDeviceManagerAllocateDeviceId, Ug as useDeviceManagerCreateDevice, Tg as useDeviceManagerDisable, Bg as useDeviceManagerDiscoverDevices, wg as useDeviceManagerEnable, jg as useDeviceManagerGetAllBindings, Ag as useDeviceManagerGetBindings, yg as useDeviceManagerGetChildren, xg as useDeviceManagerGetConfigSchema, Hg as useDeviceManagerGetCreationSchema, vg as useDeviceManagerGetDevice, Lg as useDeviceManagerGetDeviceAggregate, Ig as useDeviceManagerGetDeviceLiveInfoAggregate, Fg as useDeviceManagerGetDeviceSettingsAggregate, Kg as useDeviceManagerGetDeviceStatusAggregate, Sg as useDeviceManagerGetSettingsSchema, Dg as useDeviceManagerGetStreamProfileMap, bg as useDeviceManagerGetStreamSources, _g as useDeviceManagerListAll, Pg as useDeviceManagerListBindableCapsForDeviceType, fg as useDeviceManagerListLocations, gg as useDeviceManagerListPersistedByAddon, Ng as useDeviceManagerListWrappersForCap, og as useDeviceManagerLoadConfig, cg as useDeviceManagerLoadMeta, sg as useDeviceManagerLoadRuntimeState, ag as useDeviceManagerPersistConfig, kg as useDeviceManagerProbeStreams, rg as useDeviceManagerRegisterDevice, Eg as useDeviceManagerRemove, ig as useDeviceManagerRemoveDevice, mg as useDeviceManagerRemoveLocation, hg as useDeviceManagerSetDisabled, ug as useDeviceManagerSetLocation, dg as useDeviceManagerSetMetadata, lg as useDeviceManagerSetName, Og as useDeviceManagerSetStreamProfileMap, Mg as useDeviceManagerSetWrapperActive, Wg as useDeviceManagerTestCreationField, Gg as useDeviceManagerTestField, Cg as useDeviceManagerUpdateConfig, Rg as useDeviceManagerUpdateDeviceField, zg as useDeviceManagerUpdateDeviceFieldsBatch, Jg as useDeviceOpsGetConfigEntries, Zg as useDeviceOpsGetSettingsSchema, qg as useDeviceOpsGetStreamSources, Xg as useDeviceOpsRemoveDevice, Yg as useDeviceOpsSetConfig, i_ as useDeviceProviderAdoptDiscoveredDevice, s_ as useDeviceProviderCreateDevice, r_ as useDeviceProviderDiscoverDevices, o_ as useDeviceProviderGetChildCreationSchema, t_ as useDeviceProviderGetDevices, e_ as useDeviceProviderGetStatus, Qg as useDeviceProviderStart, $g as useDeviceProviderStop, n_ as useDeviceProviderSupportsDiscovery, a_ as useDeviceProviderSupportsManualCreation, c_ as useDeviceProviderTestCreationField, Du as useDeviceProxy, tm as useDeviceSnapshot, vd as useDeviceSnapshotImage, ku as useDeviceState, d_ as useDeviceStateGetAllSnapshots, u_ as useDeviceStateGetCapSlice, l_ as useDeviceStateGetSnapshot, f_ as useDeviceStateSetCapSlice, Ou as useDeviceStateSlice, p_ as useDeviceStatusGetStatus, VE as useDeviceWebrtc, GE as useDevices, WE as useDoorbellEvents, m_ as useDoorbellGetStatus, YE as useEventInvalidation, $l as useEventStreamLatest, eu as useEventStreamMap, __ as useEventsGetEventClipUrl, g_ as useEventsGetEventThumbnail, h_ as useEventsGetEvents, v_ as useFeatureProbeGetStatus, S_ as useIntegrationsCreate, w_ as useIntegrationsDelete, b_ as useIntegrationsGet, D_ as useIntegrationsGetAvailableTypes, x_ as useIntegrationsGetByAddonId, T_ as useIntegrationsGetSettings, y_ as useIntegrationsList, E_ as useIntegrationsSetSettings, O_ as useIntegrationsTestConnection, C_ as useIntegrationsUpdate, P_ as useIntercomEndTalkSession, F_ as useIntercomGetStatus, A_ as useIntercomHandleAnswer, N_ as useIntercomPushTalkPcm, k_ as useIntercomStartSession, M_ as useIntercomStartTalkSession, j_ as useIntercomStopSession, tl as useIsMidWidth, el as useIsMobile, DT as useLiveBuffer, Zl as useLiveEvent, z_ as useLocalNetworkGetAllowedAddresses, R_ as useLocalNetworkGetConnectionEndpoints, L_ as useLocalNetworkGetPreferred, I_ as useLocalNetworkList, V_ as useLocalNetworkResetAllowlistToBestMatch, B_ as useLocalNetworkSetAllowedAddresses, H_ as useMeshNetworkGetStatus, U_ as useMeshNetworkJoin, G_ as useMeshNetworkLeave, q_ as useMeshNetworkListPeers, K_ as useMeshNetworkLogout, W_ as useMeshNetworkStartLogin, J_ as useMeshNetworkTestConnection, X_ as useMeshOrchestratorJoinProvider, Z_ as useMeshOrchestratorLeaveProvider, ev as useMeshOrchestratorListProviderPeers, Y_ as useMeshOrchestratorListProviders, $_ as useMeshOrchestratorLogoutProvider, Q_ as useMeshOrchestratorStartLoginProvider, tv as useMetricsProviderCollectSnapshot, lv as useMetricsProviderGetAddonStats, nv as useMetricsProviderGetCached, ov as useMetricsProviderGetCpuTemperature, rv as useMetricsProviderGetCurrent, iv as useMetricsProviderGetDiskSpace, av as useMetricsProviderGetGpuInfo, sv as useMetricsProviderGetProcessStats, dv as useMetricsProviderKillProcess, cv as useMetricsProviderListAddonInstances, uv as useMetricsProviderListNodeProcesses, mv as useMotionDetectionAnalyze, yv as useMotionDetectionApplyDeviceSettingsPatch, vv as useMotionDetectionGetDeviceLiveContribution, _v as useMotionDetectionGetDeviceSettingsContribution, hv as useMotionDetectionRemoveCamera, gv as useMotionDetectionReset, pv as useMotionGetStatus, fv as useMotionIsDetected, xv as useMotionTriggerGetStatus, bv as useMotionTriggerSetMotionTrigger, wv as useMqttBrokerAddBroker, Cv as useMqttBrokerGetBrokerConfig, kv as useMqttBrokerGetStatus, Sv as useMqttBrokerListBrokers, Tv as useMqttBrokerRemoveBroker, Dv as useMqttBrokerStartEmbeddedBroker, Ov as useMqttBrokerStopEmbeddedBroker, Ev as useMqttBrokerTestConnection, Av as useNativeObjectDetectionGetStatus, Mv as useNetworkQualityGetAllStats, jv as useNetworkQualityGetDeviceStats, Nv as useNetworkQualityReportClientStats, Hv as useNodesClusterAddonStatus, Fv as useNodesDeployAddon, Gv as useNodesExecuteQuery, Uv as useNodesGetNodeAddons, Vv as useNodesRenameNode, Lv as useNodesRestartAddon, zv as useNodesRestartNode, Rv as useNodesRestartProcess, Wv as useNodesSetProcessLogLevel, Bv as useNodesShutdownNode, Pv as useNodesTopology, Iv as useNodesUndeployAddon, Kv as useNotificationOutputSend, qv as useNotificationOutputSendTest, Xl as useOptionalSystem, VC as useOptionalWidgetRegistry, Yv as useOsdGetStatus, Jv as useOsdSetOverlay, UE as usePTZ, sy as usePipelineAnalyticsApplyDeviceSettingsPatch, $v as usePipelineAnalyticsClearTracks, Xv as usePipelineAnalyticsGetActiveTracks, ny as usePipelineAnalyticsGetAudioEvents, oy as usePipelineAnalyticsGetDeviceLiveContribution, ay as usePipelineAnalyticsGetDeviceSettingsContribution, ry as usePipelineAnalyticsGetEventMedia, ey as usePipelineAnalyticsGetMotionEvents, ty as usePipelineAnalyticsGetObjectEvents, Zv as usePipelineAnalyticsGetTrack, iy as usePipelineAnalyticsGetTrackMedia, Qv as usePipelineAnalyticsListTracks, ky as usePipelineExecutorCacheFrameInPool, Ty as usePipelineExecutorDeleteModel, xy as usePipelineExecutorDeleteTemplate, Ey as usePipelineExecutorDetect, wy as usePipelineExecutorDownloadModel, Cy as usePipelineExecutorGetAddonModels, By as usePipelineExecutorGetAudioCapabilities, cy as usePipelineExecutorGetAvailableEngines, Sy as usePipelineExecutorGetCapabilities, uy as usePipelineExecutorGetDefaultSteps, Hy as usePipelineExecutorGetDetectionConfigSchema, My as usePipelineExecutorGetEffectiveTuning, gy as usePipelineExecutorGetGlobalPipelineConfig, hy as usePipelineExecutorGetGlobalSteps, _y as usePipelineExecutorGetOrchestratorConfigSchema, zy as usePipelineExecutorGetReferenceAudio, Ry as usePipelineExecutorGetReferenceAudioFiles, Ly as usePipelineExecutorGetReferenceImage, my as usePipelineExecutorGetSchema, ly as usePipelineExecutorGetSelectedEngine, fy as usePipelineExecutorGetVideoPipelineSteps, Ay as usePipelineExecutorInferCached, Fy as usePipelineExecutorKillEngine, Ny as usePipelineExecutorListLoadedEngines, Iy as usePipelineExecutorListReferenceImages, vy as usePipelineExecutorListTemplates, dy as usePipelineExecutorReprobeEngine, Vy as usePipelineExecutorRunAudioTest, Dy as usePipelineExecutorRunPipeline, Oy as usePipelineExecutorRunPipelineBatch, yy as usePipelineExecutorSaveTemplate, py as usePipelineExecutorSetVideoPipelineSteps, Py as usePipelineExecutorSpinEngine, jy as usePipelineExecutorUncacheFrame, by as usePipelineExecutorUpdateTemplate, wb as usePipelineOrchestratorApplyDeviceSettingsPatch, nb as usePipelineOrchestratorAssignAudio, $y as usePipelineOrchestratorAssignDecoder, Uy as usePipelineOrchestratorAssignPipeline, xb as usePipelineOrchestratorDeleteTemplate, Jy as usePipelineOrchestratorGetAgentLoad, cb as usePipelineOrchestratorGetAgentSettings, ib as usePipelineOrchestratorGetAudioAssignment, ob as usePipelineOrchestratorGetAudioAssignments, ab as usePipelineOrchestratorGetAudioNodeLoad, Xy as usePipelineOrchestratorGetCameraMetrics, fb as usePipelineOrchestratorGetCameraSettings, mb as usePipelineOrchestratorGetCameraStepOverrides, Zy as usePipelineOrchestratorGetCapabilityBindings, sb as usePipelineOrchestratorGetDecoderAssignment, tb as usePipelineOrchestratorGetDecoderAssignments, Cb as usePipelineOrchestratorGetDeviceLiveContribution, Sb as usePipelineOrchestratorGetDeviceSettingsContribution, Yy as usePipelineOrchestratorGetGlobalMetrics, qy as usePipelineOrchestratorGetPipelineAssignment, Ky as usePipelineOrchestratorGetPipelineAssignments, lb as usePipelineOrchestratorListAgentSettings, vb as usePipelineOrchestratorListTemplates, Gy as usePipelineOrchestratorRebalance, db as usePipelineOrchestratorRemoveAgentSettings, _b as usePipelineOrchestratorResolvePipeline, yb as usePipelineOrchestratorSaveTemplate, ub as usePipelineOrchestratorSetAgentAddonDefaults, gb as usePipelineOrchestratorSetCameraPipelineForAgent, hb as usePipelineOrchestratorSetCameraStepOverride, pb as usePipelineOrchestratorSetCameraStepToggle, Qy as usePipelineOrchestratorSetCapabilityBinding, rb as usePipelineOrchestratorUnassignAudio, eb as usePipelineOrchestratorUnassignDecoder, Wy as usePipelineOrchestratorUnassignPipeline, bb as usePipelineOrchestratorUpdateTemplate, Tb as usePipelineRunnerAttachCamera, Eb as usePipelineRunnerDetachCamera, jb as usePipelineRunnerGetAllCameraMetrics, Ab as usePipelineRunnerGetCameraMetrics, Mb as usePipelineRunnerGetLocalCameras, Ob as usePipelineRunnerGetLocalLoad, kb as usePipelineRunnerGetLocalMetrics, Db as usePipelineRunnerReportMotion, Nb as usePlatformProbeGetCapabilities, Pb as usePlatformProbeGetHardware, Lb as usePlatformProbeGetHardwareEncoders, Rb as usePlatformProbeRefreshHardwareEncoders, Ib as usePlatformProbeResolveHwAccel, Fb as usePlatformProbeResolveInferenceConfig, rT as usePlayerOverlayLayer, tT as usePlayerOverlayLayers, iT as usePlayerToolbarButton, nT as usePlayerToolbarButtons, Yb as usePtzAutotrackGetSettings, qb as usePtzAutotrackGetStatus, Jb as usePtzAutotrackSetEnabled, Xb as usePtzAutotrackSetSettings, Bb as usePtzContinuousMove, Gb as usePtzGetPosition, Hb as usePtzGetPresets, Kb as usePtzGetStatus, Wb as usePtzGoHome, Ub as usePtzGoToPreset, zb as usePtzMove, Vb as usePtzStop, Zb as useRebootReboot, rx as useRecordingEngineDisable, nx as useRecordingEngineEnable, dx as useRecordingEngineEstimateGlobalStorage, ux as useRecordingEngineEstimateStorage, lx as useRecordingEngineGetAvailability, ix as useRecordingEngineGetConfig, vx as useRecordingEngineGetMotionStats, ox as useRecordingEngineGetPlaylist, mx as useRecordingEngineGetPolicy, hx as useRecordingEngineGetPolicyStatus, gx as useRecordingEngineGetRetentionConfig, cx as useRecordingEngineGetSegments, tx as useRecordingEngineGetStatus, fx as useRecordingEngineGetStorageUsage, sx as useRecordingEngineGetThumbnail, px as useRecordingEngineSetPolicy, ax as useRecordingEngineUpdateConfig, _x as useRecordingEngineUpdateRetentionConfig, $b as useRecordingGetPlaybackUrl, Qb as useRecordingGetSegments, ex as useRecordingGetThumbnailAt, yx as useRemoteAccessListProviders, bx as useRemoteAccessStartProvider, xx as useRemoteAccessStopProvider, Ox as useSettingsStoreCount, Ax as useSettingsStoreDeclareCollection, Dx as useSettingsStoreDelete, Sx as useSettingsStoreGet, Tx as useSettingsStoreInsert, kx as useSettingsStoreIsEmpty, wx as useSettingsStoreQuery, Cx as useSettingsStoreSet, Ex as useSettingsStoreUpdate, Ix as useSnapshotApplyDeviceSettingsPatch, Fx as useSnapshotGetDeviceLiveContribution, Px as useSnapshotGetDeviceSettingsContribution, jx as useSnapshotGetSnapshot, Nx as useSnapshotGetStatus, Mx as useSnapshotInvalidateCache, Rx as useSnapshotProviderGetSnapshot, Lx as useSnapshotProviderSupportsDevice, Yx as useStorageAbortUpload, Xx as useStorageBeginDownload, Kx as useStorageBeginUpload, Wx as useStorageDelete, nS as useStorageDeleteLocation, Qx as useStorageEndDownload, Hx as useStorageExists, Jx as useStorageFinalizeUpload, Gx as useStorageGetAvailableSpace, eS as useStorageGetDefaultLocation, Ux as useStorageList, $x as useStorageListLocations, iS as useStorageListProviders, Vx as useStorageRead, Zx as useStorageReadChunk, zx as useStorageResolve, aS as useStorageTestConfig, rS as useStorageTestLocation, tS as useStorageUpsertLocation, Bx as useStorageWrite, qx as useStorageWriteChunk, AS as useStreamBrokerApplyDeviceSettingsPatch, cS as useStreamBrokerAssignProfile, CS as useStreamBrokerGetAllRtspEntries, yS as useStreamBrokerGetBroker, fS as useStreamBrokerGetBrokerStats, kS as useStreamBrokerGetDeviceLiveContribution, OS as useStreamBrokerGetDeviceSettingsContribution, xS as useStreamBrokerGetPreBufferInfo, wS as useStreamBrokerGetRtspEntry, SS as useStreamBrokerGetRtspPort, gS as useStreamBrokerGetStreamUrl, _S as useStreamBrokerGetStreamWithCodec, DS as useStreamBrokerIsRtspEnabled, mS as useStreamBrokerKillClient, uS as useStreamBrokerListAllCameraStreams, dS as useStreamBrokerListAllProfileSlots, pS as useStreamBrokerListClients, oS as useStreamBrokerPublishCameraStream, TS as useStreamBrokerRegenerateRtspToken, vS as useStreamBrokerReleaseStreamWithCodec, hS as useStreamBrokerRestartProfile, sS as useStreamBrokerRetractCameraStream, bS as useStreamBrokerSetPreBufferDuration, ES as useStreamBrokerSetRtspEnabled, lS as useStreamBrokerUnassignProfile, MS as useSwitchGetStatus, jS as useSwitchSetState, Yl as useSystem, FS as useSystemFeatureFlags, zS as useSystemForceRetentionCleanup, LS as useSystemGetRetentionConfig, PS as useSystemHealth, NS as useSystemInfo, JE as useSystemMutation, IS as useSystemNetworkAddresses, qE as useSystemQuery, RS as useSystemSetRetentionConfig, ye as useThemeMode, BS as useToastOnToast, HS as useTurnOrchestratorGetAllServers, VS as useTurnOrchestratorListProviders, US as useTurnOrchestratorSetProviderEnabled, WS as useTurnProviderGetTurnServers, sC as useUserManagementConfirmTotp, $S as useUserManagementCreateApiKey, nC as useUserManagementCreateScopedToken, KS as useUserManagementCreateUser, JS as useUserManagementDeleteUser, cC as useUserManagementDisableTotp, lC as useUserManagementGetTotpStatus, QS as useUserManagementListApiKeys, aC as useUserManagementListScopedTokens, GS as useUserManagementListUsers, YS as useUserManagementResetPassword, eC as useUserManagementRevokeApiKey, rC as useUserManagementRevokeScopedToken, XS as useUserManagementSetUserScopes, oC as useUserManagementSetupTotp, qS as useUserManagementUpdateUser, tC as useUserManagementValidateApiKey, ZS as useUserManagementValidateCredentials, iC as useUserManagementValidateScopedToken, uC as useUserManagementVerifyTotp, hC as useWebrtcSessionCloseSession, fC as useWebrtcSessionCreateSession, mC as useWebrtcSessionHandleAnswer, pC as useWebrtcSessionHandleOffer, gC as useWebrtcSessionHasAdaptiveBitrate, dC as useWebrtcSessionListStreams, LC as useWidget, RC as useWidgetMetadata, BC as useWidgetRegistry, yC as useZoneAnalyticsGetCameraHistory, _C as useZoneAnalyticsGetCurrentSnapshot, bC as useZoneAnalyticsGetUnzonedHistory, vC as useZoneAnalyticsGetZoneHistory, FE as useZoneEditing, xC as useZoneRulesListRules, SC as useZoneRulesSetRules, wC as useZonesAddZone, CC as useZonesListZones, TC as useZonesRemoveZone, EC as useZonesUpdateZone, ME as validateScopes };