@camstack/addon-model-studio 1.1.37 → 1.1.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (18) hide show
  1. package/dist/{MotionZonesSettings-D1fhnzel.mjs → MotionZonesSettings-CjuAU9G1.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-1RaBK3Qz.mjs → PrivacyMaskSettings-DGgoakvb.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-CBciXVys.mjs → SceneMonitorEditor-BbhGQMS0.mjs} +3 -3
  4. package/dist/_stub.js +215 -201
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DOKJR0Ti.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-D3_xBIaJ.mjs} +3 -3
  6. package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-4Obpn8FN.mjs +26 -0
  7. package/dist/{hostInit-CXMR7hTR.mjs → hostInit-DrhW8LyX.mjs} +2 -2
  8. package/dist/model-studio.addon.js +122 -7
  9. package/dist/model-studio.addon.mjs +122 -7
  10. package/dist/{player-overlays-CugH3jmy.mjs → player-overlays-DxUZLAfW.mjs} +1 -1
  11. package/dist/remoteEntry.js +1 -1
  12. package/dist/{responsive-BDnwOe1x.mjs → responsive-CTOSHDQc.mjs} +1 -1
  13. package/dist/{square-CcFXMJ6r.mjs → square-xdu1CBwb.mjs} +1 -1
  14. package/dist/{trash-2-D-t4fB0d.mjs → trash-2-Dhb8HSyo.mjs} +1 -1
  15. package/dist/{use-device-snapshot-Cv0pmt1D.mjs → use-device-snapshot-B5bRXvO7.mjs} +1 -1
  16. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-CrZuQUCz.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-BypoHH2C.mjs} +1 -1
  17. package/package.json +1 -1
  18. package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cjty59ip.mjs +0 -26
package/dist/_stub.js CHANGED
@@ -1,18 +1,18 @@
1
1
  import "./virtualExposes-CWSi4E_g.mjs";
2
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-CrZuQUCz.mjs";
2
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-BypoHH2C.mjs";
3
3
  import { _ as e, c as t, d as n, h as r, i, l as a, m as o, p as s, r as c, t as l, u, y as d } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DJDHChgO.mjs";
4
- import { a as f, i as p, o as m, r as h, s as g } from "./responsive-BDnwOe1x.mjs";
5
- import { c as _, l as v, u as y } from "./use-device-snapshot-Cv0pmt1D.mjs";
6
- import { r as b } from "./player-overlays-CugH3jmy.mjs";
7
- import { r as x, t as S } from "./square-CcFXMJ6r.mjs";
8
- import { t as C } from "./trash-2-D-t4fB0d.mjs";
4
+ import { a as f, i as p, o as m, r as h, s as g } from "./responsive-CTOSHDQc.mjs";
5
+ import { c as _, l as v, u as y } from "./use-device-snapshot-B5bRXvO7.mjs";
6
+ import { r as b } from "./player-overlays-DxUZLAfW.mjs";
7
+ import { r as x, t as S } from "./square-xdu1CBwb.mjs";
8
+ import { t as C } from "./trash-2-Dhb8HSyo.mjs";
9
9
  import { t as w } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.js-BvzT760A.mjs";
10
10
  import { n as T, r as E, t as D } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
11
11
  import "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B-9Pn2K0.mjs";
12
12
  import "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_2_dom__loadShare__.js-C8Ar0nzL.mjs";
13
13
  import "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BjUy5evk.mjs";
14
14
  import "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_trpc_mf_1_client__loadShare__.js-nybV3Y4f.mjs";
15
- import { a as O, c as k, d as ee, f as A, h as j, i as M, l as te, m as ne, n as N, o as P, p as F, r as re, s as ie } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cjty59ip.mjs";
15
+ import { a as O, c as k, d as ee, f as A, h as j, i as M, l as te, m as ne, n as N, o as P, p as F, r as re, s as ie } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-4Obpn8FN.mjs";
16
16
  import "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_sdk__loadShare__.js-ZNPquRb4.mjs";
17
17
  var I = g("activity", [["path", {
18
18
  d: "M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",
@@ -1745,7 +1745,7 @@ R.deviceManager.setRoleDisplayDefaults.useMutation, R.deviceManager.getWireableF
1745
1745
  var nn = R.deviceManager.getDevice.useQuery;
1746
1746
  //#endregion
1747
1747
  //#region ../ui-library/src/composites/cap-settings/AutotrackSection.tsx
1748
- R.deviceManager.getChildren.useQuery, R.deviceManager.getLinkedDevices.useQuery, R.deviceManager.getStreamSources.useQuery, R.deviceManager.getConfigSchema.useQuery, R.deviceManager.getSettingsSchema.useQuery, R.deviceManager.updateConfig.useMutation, R.deviceManager.enable.useMutation, R.deviceManager.disable.useMutation, R.deviceManager.remove.useMutation, R.deviceManager.removeByIntegration.useMutation, R.deviceManager.getStreamProfileMap.useQuery, R.deviceManager.setStreamProfileMap.useMutation, R.deviceManager.probeStreams.useMutation, R.deviceManager.getBindings.useQuery, R.deviceManager.getAllBindings.useQuery, R.deviceManager.setWrapperActive.useMutation, R.deviceManager.listWrappersForCap.useQuery, R.deviceManager.listBindableCapsForDeviceType.useQuery, R.deviceManager.getDeviceSettingsAggregate.useQuery, R.deviceManager.getDeviceLiveInfoAggregate.useQuery, R.deviceManager.getDeviceAggregate.useQuery, R.deviceManager.runDeviceAction.useMutation, R.deviceManager.updateDeviceField.useMutation, R.deviceManager.updateDeviceFieldsBatch.useMutation, R.deviceManager.discoverDevices.useMutation, R.deviceManager.adoptDevice.useMutation, R.deviceManager.getCreationSchema.useQuery, R.deviceManager.createDevice.useMutation, R.deviceManager.testCreationField.useMutation, R.deviceManager.adoptionListCandidateFilters.useQuery, R.deviceManager.adoptionListCandidates.useQuery, R.deviceManager.adoptionRefresh.useMutation, R.deviceManager.adoptionAdopt.useMutation, R.deviceManager.adoptionRelease.useMutation, R.deviceManager.adoptionStartJob.useMutation, R.deviceManager.adoptionListJobs.useQuery, R.deviceManager.adoptionCancelJob.useMutation, R.deviceManager.adoptionResync.useMutation, R.deviceManager.discoveryProviders.useQuery, R.deviceManager.discoverAllProviders.useMutation, R.deviceManager.discoverProvider.useMutation, R.deviceManager.providerCreationType.useQuery, R.deviceManager.providerDiscoveryParamsSchema.useQuery, R.deviceManager.testField.useMutation, R.deviceManager.getDeviceStatusAggregate.useQuery, R.deviceManager.getDeviceStatusAggregateBatch.useQuery, R.deviceManager.getDeviceSettingsContribution.useQuery, R.deviceManager.getDeviceLiveContribution.useQuery, R.deviceManager.applyDeviceSettingsPatch.useMutation, R.deviceOps.getStreamSources.useQuery, R.deviceOps.getConfigEntries.useQuery, R.deviceOps.setConfig.useMutation, R.deviceOps.runAction.useMutation, R.deviceOps.removeDevice.useMutation, R.deviceOps.getSettingsSchema.useQuery, R.deviceOps.getRawState.useQuery, R.deviceProvider.start.useMutation, R.deviceProvider.stop.useMutation, R.deviceProvider.getStatus.useQuery, R.deviceProvider.getDevices.useQuery, R.deviceProvider.supportsDiscovery.useQuery, R.deviceProvider.discoverDevices.useMutation, R.deviceProvider.getDiscoveryParamsSchema.useQuery, R.deviceProvider.getManualCreationType.useQuery, R.deviceProvider.adoptDiscoveredDevice.useMutation, R.deviceProvider.supportsManualCreation.useQuery, R.deviceProvider.getChildCreationSchema.useQuery, R.deviceProvider.createDevice.useMutation, R.deviceProvider.testCreationField.useMutation, R.deviceState.getSnapshot.useQuery, R.deviceState.getCapSlice.useQuery, R.deviceState.getAllSnapshots.useQuery, R.deviceState.setCapSlice.useMutation, R.deviceStatus.getStatus.useQuery, R.doorbell.getStatus.useQuery, R.doorbell.getDeviceSettingsContribution.useQuery, R.doorbell.getDeviceLiveContribution.useQuery, R.doorbell.applyDeviceSettingsPatch.useMutation, R.enumSensor.getStatus.useQuery, R.eventEmitter.getStatus.useQuery, R.events.getEvents.useQuery, R.events.getEventThumbnail.useQuery, R.events.getEventClipUrl.useQuery, R.faceGallery.listIdentities.useQuery, R.faceGallery.createIdentity.useMutation, R.faceGallery.renameIdentity.useMutation, R.faceGallery.deleteIdentity.useMutation, R.faceGallery.listIdentitySamples.useQuery, R.faceGallery.removeSample.useMutation, R.faceGallery.listRecentFaces.useQuery, R.faceGallery.getFaceByTrack.useQuery, R.faceGallery.getFaceMedia.useQuery, R.faceGallery.assignFace.useMutation, R.faceGallery.unassignFace.useMutation, R.faceGallery.deleteFace.useMutation, R.faceGallery.assignFaces.useMutation, R.faceGallery.unassignFaces.useMutation, R.faceGallery.suggestFaceClusters.useQuery, R.fanControl.setPercentage.useMutation, R.fanControl.setPreset.useMutation, R.fanControl.setDirection.useMutation, R.fanControl.setOscillating.useMutation, R.fanControl.getStatus.useQuery, R.featureProbe.getStatus.useQuery, R.flood.getStatus.useQuery, R.gas.getStatus.useQuery, R.humidifier.setOn.useMutation, R.humidifier.setTargetHumidity.useMutation, R.humidifier.setMode.useMutation, R.humidifier.getStatus.useQuery, R.humiditySensor.getStatus.useQuery, R.image.getStatus.useQuery, R.imageSettings.getOptions.useQuery, R.imageSettings.setSettings.useMutation, R.imageSettings.getStatus.useQuery, R.integrations.list.useQuery, R.integrations.get.useQuery, R.integrations.getByAddonId.useQuery, R.integrations.create.useMutation, R.integrations.update.useMutation, R.integrations.delete.useMutation, R.integrations.getSettings.useQuery, R.integrations.setSettings.useMutation, R.integrations.getAvailableTypes.useQuery, R.integrations.testConnection.useMutation, R.intercom.startSession.useMutation, R.intercom.handleAnswer.useMutation, R.intercom.stopSession.useMutation, R.intercom.startTalkSession.useMutation, R.intercom.pushTalkAudio.useMutation, R.intercom.endTalkSession.useMutation, R.intercom.getStatus.useQuery, R.lawnMowerControl.startMowing.useMutation, R.lawnMowerControl.pause.useMutation, R.lawnMowerControl.dock.useMutation, R.lawnMowerControl.getStatus.useQuery, R.llm.generate.useMutation, R.llm.generateVision.useMutation, R.llm.cancel.useMutation, R.llm.listProfileKinds.useQuery, R.llm.listProfiles.useQuery, R.llm.upsertProfile.useMutation, R.llm.deleteProfile.useMutation, R.llm.testProfile.useMutation, R.llm.listModels.useQuery, R.llm.getDefaults.useQuery, R.llm.setDefault.useMutation, R.llm.getUsage.useQuery, R.llm.listModelCatalog.useQuery, R.llm.listRuntimeNodes.useQuery, R.llm.listNodeModels.useQuery, R.llm.resolveModelRef.useMutation, R.llm.installModel.useMutation, R.llm.deleteModel.useMutation, R.llm.getRuntimeStatus.useQuery, R.llm.startRuntime.useMutation, R.llm.stopRuntime.useMutation, R.localNetwork.list.useQuery, R.localNetwork.getPreferred.useQuery, R.localNetwork.getConnectionEndpoints.useQuery, R.localNetwork.getNotificationEndpoint.useQuery, R.localNetwork.setNotificationEndpoint.useMutation, R.localNetwork.getViewerEndpoints.useQuery, R.localNetwork.setViewerEndpoints.useMutation, R.localNetwork.getAllowedAddresses.useQuery, R.localNetwork.setAllowedAddresses.useMutation, R.localNetwork.resetAllowlistToBestMatch.useMutation, R.localNetwork.getTlsStatus.useQuery, R.localNetwork.regenerateCertificate.useMutation, R.localNetwork.uploadCertificate.useMutation, R.localNetwork.downloadCa.useQuery, R.localNetwork.revertToGeneratedCertificate.useMutation, R.lockControl.lock.useMutation, R.lockControl.unlock.useMutation, R.lockControl.open.useMutation, R.lockControl.getStatus.useQuery, R.mediaPlayer.play.useMutation, R.mediaPlayer.pause.useMutation, R.mediaPlayer.stop.useMutation, R.mediaPlayer.next.useMutation, R.mediaPlayer.previous.useMutation, R.mediaPlayer.seek.useMutation, R.mediaPlayer.setVolume.useMutation, R.mediaPlayer.setMute.useMutation, R.mediaPlayer.setShuffle.useMutation, R.mediaPlayer.setRepeat.useMutation, R.mediaPlayer.selectSource.useMutation, R.mediaPlayer.playMedia.useMutation, R.mediaPlayer.getStatus.useQuery, R.meshNetwork.getStatus.useQuery, R.meshNetwork.join.useMutation, R.meshNetwork.startLogin.useMutation, R.meshNetwork.leave.useMutation, R.meshNetwork.logout.useMutation, R.meshNetwork.listPeers.useQuery, R.meshNetwork.testConnection.useMutation, R.metricsProvider.collectSnapshot.useQuery, R.metricsProvider.getCached.useQuery, R.metricsProvider.getCurrent.useQuery, R.metricsProvider.getDiskSpace.useQuery, R.metricsProvider.getGpuInfo.useQuery, R.metricsProvider.getCpuTemperature.useQuery, R.metricsProvider.getProcessStats.useQuery, R.metricsProvider.listAddonInstances.useQuery, R.metricsProvider.getAddonStats.useQuery, R.metricsProvider.listNodeProcesses.useQuery, R.metricsProvider.killProcess.useMutation, R.metricsProvider.dumpHeapSnapshot.useMutation, R.motion.isDetected.useQuery, R.motion.getStatus.useQuery, R.motionDetection.analyze.useMutation, R.motionDetection.removeCamera.useMutation, R.motionDetection.reset.useMutation, R.motionDetection.getDeviceSettingsContribution.useQuery, R.motionDetection.getDeviceLiveContribution.useQuery, R.motionDetection.applyDeviceSettingsPatch.useMutation, R.motionTrigger.setMotionTrigger.useMutation, R.motionTrigger.getStatus.useQuery, R.motionZones.getOptions.useQuery, R.motionZones.setZone.useMutation, R.motionZones.getStatus.useQuery, R.mqttBroker.listBrokers.useQuery, R.mqttBroker.getBrokerConfig.useQuery, R.mqttBroker.addBroker.useMutation, R.mqttBroker.removeBroker.useMutation, R.mqttBroker.testConnection.useMutation, R.mqttBroker.startEmbeddedBroker.useMutation, R.mqttBroker.stopEmbeddedBroker.useMutation, R.mqttBroker.getStatus.useQuery, R.nativeObjectDetection.setEnabled.useMutation, R.nativeObjectDetection.getStatus.useQuery, R.networkAccess.start.useMutation, R.networkAccess.stop.useMutation, R.networkAccess.getEndpoint.useQuery, R.networkAccess.getStatus.useQuery, R.networkAccess.listEndpoints.useQuery, R.networkQuality.getDeviceStats.useQuery, R.networkQuality.getAllStats.useQuery, R.networkQuality.reportClientStats.useMutation, R.nodes.topology.useQuery, R.nodes.deployAddon.useMutation, R.nodes.undeployAddon.useMutation, R.nodes.restartAddon.useMutation, R.nodes.restartProcess.useMutation, R.nodes.restartNode.useMutation, R.nodes.shutdownNode.useMutation, R.nodes.renameNode.useMutation, R.nodes.clusterAddonStatus.useQuery, R.nodes.getCapUsageGraph.useQuery, R.nodes.getNodeAddons.useQuery, R.nodes.setProcessLogLevel.useMutation, R.nodes.executeQuery.useMutation, R.notificationOutput.listTargetKinds.useQuery, R.notificationOutput.listTargets.useQuery, R.notificationOutput.discoverTargets.useQuery, R.notificationOutput.send.useMutation, R.notificationOutput.testTarget.useMutation, R.notificationOutput.upsertTarget.useMutation, R.notificationOutput.deleteTarget.useMutation, R.notificationOutput.setTargetEnabled.useMutation, R.notificationRules.listRules.useQuery, R.notificationRules.getRule.useQuery, R.notificationRules.createRule.useMutation, R.notificationRules.updateRule.useMutation, R.notificationRules.deleteRule.useMutation, R.notificationRules.setRuleEnabled.useMutation, R.notificationRules.listDeviceMutes.useQuery, R.notificationRules.setDeviceMuted.useMutation, R.notificationRules.testRule.useMutation, R.notificationRules.getConditionCatalog.useQuery, R.notificationRules.getHistory.useQuery, R.notificationRules.listSnoozes.useQuery, R.notificationRules.createSnooze.useMutation, R.notificationRules.cancelSnooze.useMutation, R.notificationRules.getAlarmConfig.useQuery, R.notificationRules.setAlarmConfig.useMutation, R.notifier.send.useMutation, R.notifier.cancel.useMutation, R.notifier.getStatus.useQuery, R.numericSensor.getStatus.useQuery, R.osd.setOverlay.useMutation, R.osd.getStatus.useQuery, R.osdManager.getDeviceOsd.useQuery, R.osdManager.getSourceCatalog.useQuery, R.osdManager.getConditionSupport.useQuery, R.osdManager.setSlotBinding.useMutation, R.osdManager.clearSlotBinding.useMutation, R.osdManager.copyDeviceConfiguration.useMutation, R.osdManager.previewSlot.useMutation, R.osdManager.renderDevice.useMutation, R.petFeeder.feed.useMutation, R.petFeeder.cancelFeed.useMutation, R.petFeeder.resetDesiccant.useMutation, R.petFeeder.markFoodReplenished.useMutation, R.petFeeder.callPet.useMutation, R.petFeeder.playSound.useMutation, R.petFeeder.setChildLock.useMutation, R.petFeeder.setIndicatorLight.useMutation, R.petFeeder.setFeedSound.useMutation, R.petFeeder.setVolume.useMutation, R.petFeeder.getStatus.useQuery, R.pipelineAnalytics.getActiveTracks.useQuery, R.pipelineAnalytics.getTrack.useQuery, R.pipelineAnalytics.listTracks.useQuery, R.pipelineAnalytics.listRecentTracks.useQuery, R.pipelineAnalytics.clearTracks.useMutation, R.pipelineAnalytics.getMotionEvents.useQuery, R.pipelineAnalytics.getObjectEvents.useQuery, R.pipelineAnalytics.getAudioEvents.useQuery, R.pipelineAnalytics.listEventKinds.useQuery, R.pipelineAnalytics.listEventKindsBatch.useQuery, R.pipelineAnalytics.getSensorEvents.useQuery, R.pipelineAnalytics.getKeyEvents.useQuery, R.pipelineAnalytics.getEventDensity.useQuery, R.pipelineAnalytics.pruneEventsBefore.useMutation, R.pipelineAnalytics.pruneTracksBefore.useMutation, R.pipelineAnalytics.wipeAllAnalytics.useMutation, R.pipelineAnalytics.reconcileFromDisk.useMutation, R.pipelineAnalytics.deleteTracks.useMutation, R.pipelineAnalytics.setTrackFlags.useMutation, R.pipelineAnalytics.getEventStoreFootprint.useQuery, R.pipelineAnalytics.pruneEvents.useMutation, R.pipelineAnalytics.deleteDeviceEvents.useMutation, R.pipelineAnalytics.pauseForStorageMigration.useMutation, R.pipelineAnalytics.resumeForStorageMigration.useMutation, R.pipelineAnalytics.refreshStorageLocationsForMigration.useMutation, R.pipelineAnalytics.startStorageMigrationMove.useMutation, R.pipelineAnalytics.getStorageMigrationMoveStatus.useQuery, R.pipelineAnalytics.cancelStorageMigrationMove.useMutation, R.pipelineAnalytics.listOpsLog.useQuery, R.pipelineAnalytics.getTrainingExportSummary.useQuery, R.pipelineAnalytics.getTrainingExportUrl.useQuery, R.pipelineAnalytics.listRetrainStaging.useQuery, R.pipelineAnalytics.listRetrainFrames.useQuery, R.pipelineAnalytics.selectRetrainFrames.useMutation, R.pipelineAnalytics.deselectRetrainFrame.useMutation, R.pipelineAnalytics.getRetrainFrameImage.useQuery, R.pipelineAnalytics.proposeRetrainAnnotations.useMutation, R.pipelineAnalytics.listRetrainAnnotations.useQuery, R.pipelineAnalytics.saveRetrainAnnotations.useMutation, R.pipelineAnalytics.completeRetrainTrack.useMutation, R.pipelineAnalytics.restageRetrainTrack.useMutation, R.pipelineAnalytics.getRetrainExportUrl.useQuery, R.pipelineAnalytics.getEventMedia.useQuery, R.pipelineAnalytics.getTrackMedia.useQuery, R.pipelineAnalytics.listTrackMedia.useQuery, R.pipelineAnalytics.searchObjectEvents.useQuery, R.pipelineAnalytics.wipeObjectEmbeddings.useMutation, R.pipelineAnalytics.rebuildObjectEmbeddings.useMutation, R.pipelineAnalytics.getObjectEmbeddingRebuildStatus.useQuery, R.pipelineAnalytics.getDeviceSettingsContribution.useQuery, R.pipelineAnalytics.getDeviceLiveContribution.useQuery, R.pipelineAnalytics.applyDeviceSettingsPatch.useMutation, R.pipelineExecutor.getAvailableEngines.useQuery, R.pipelineExecutor.getSelectedEngine.useQuery, R.pipelineExecutor.getDefaultSteps.useQuery, R.pipelineExecutor.getEngineProvisioning.useQuery, R.pipelineExecutor.getVideoPipelineSteps.useQuery, R.pipelineExecutor.setVideoPipelineSteps.useMutation, R.pipelineExecutor.clearDeviceOverrides.useMutation, R.pipelineExecutor.getSchema.useQuery, R.pipelineExecutor.getGlobalSteps.useQuery, R.pipelineExecutor.getGlobalPipelineConfig.useQuery, R.pipelineExecutor.getOrchestratorConfigSchema.useQuery, R.pipelineExecutor.validatePipeline.useQuery, R.pipelineExecutor.listTemplates.useQuery, R.pipelineExecutor.saveTemplate.useMutation, R.pipelineExecutor.updateTemplate.useMutation, R.pipelineExecutor.deleteTemplate.useMutation, R.pipelineExecutor.getCapabilities.useQuery, R.pipelineExecutor.getAddonModels.useQuery, R.pipelineExecutor.downloadModel.useMutation, R.pipelineExecutor.deleteModel.useMutation, R.pipelineExecutor.runPipeline.useMutation, R.pipelineExecutor.runPipelineBatch.useMutation, R.pipelineExecutor.cacheFrameInPool.useMutation, R.pipelineExecutor.inferCached.useMutation, R.pipelineExecutor.uncacheFrame.useMutation, R.pipelineExecutor.getEffectiveTuning.useQuery, R.pipelineExecutor.listLoadedEngines.useQuery, R.pipelineExecutor.spinEngine.useMutation, R.pipelineExecutor.killEngine.useMutation, R.pipelineExecutor.listReferenceImages.useQuery, R.pipelineExecutor.getReferenceImage.useQuery, R.pipelineExecutor.getReferenceAudioFiles.useQuery, R.pipelineExecutor.getReferenceAudio.useQuery, R.pipelineExecutor.getAudioCapabilities.useQuery, R.pipelineExecutor.runAudioTest.useMutation, R.pipelineExecutor.getDetectionConfigSchema.useQuery, R.pipelineOrchestrator.pauseForStorageMigration.useMutation, R.pipelineOrchestrator.resumeForStorageMigration.useMutation, R.pipelineOrchestrator.assignPipeline.useMutation, R.pipelineOrchestrator.unassignPipeline.useMutation, R.pipelineOrchestrator.setPipelineDevicePin.useMutation, R.pipelineOrchestrator.getPipelineDevicePin.useQuery, R.pipelineOrchestrator.rebalance.useMutation, R.pipelineOrchestrator.getPipelineAssignments.useQuery, R.pipelineOrchestrator.getPipelineAssignment.useQuery, R.pipelineOrchestrator.getAgentLoad.useQuery, R.pipelineOrchestrator.getGlobalMetrics.useQuery, R.pipelineOrchestrator.getCameraMetrics.useQuery, R.pipelineOrchestrator.getCapabilityBindings.useQuery, R.pipelineOrchestrator.setCapabilityBinding.useMutation, R.pipelineOrchestrator.getIngestOwner.useQuery, R.pipelineOrchestrator.assignAudio.useMutation, R.pipelineOrchestrator.unassignAudio.useMutation, R.pipelineOrchestrator.getAudioAssignment.useQuery, R.pipelineOrchestrator.getAudioNodeLoad.useQuery, R.pipelineOrchestrator.getAudioAssignments.useQuery, R.pipelineOrchestrator.getAgentSettings.useQuery, R.pipelineOrchestrator.listAgentSettings.useQuery, R.pipelineOrchestrator.removeAgentSettings.useMutation, R.pipelineOrchestrator.setAgentMaxCameras.useMutation, R.pipelineOrchestrator.setAgentDetectWeight.useMutation, R.pipelineOrchestrator.setAgentCapabilities.useMutation, R.pipelineOrchestrator.setAgentReachableHost.useMutation, R.pipelineOrchestrator.setAgentInferenceDevices.useMutation, R.pipelineOrchestrator.getNodeInferenceDevices.useQuery, R.pipelineOrchestrator.resetNodePipelineDefaults.useMutation, R.pipelineOrchestrator.getCameraSettings.useQuery, R.pipelineOrchestrator.setCameraStepToggle.useMutation, R.pipelineOrchestrator.getCameraStepOverrides.useQuery, R.pipelineOrchestrator.setCameraStepOverride.useMutation, R.pipelineOrchestrator.setCameraPipelineForAgent.useMutation, R.pipelineOrchestrator.resolvePipeline.useQuery, R.pipelineOrchestrator.getCameraSwitches.useQuery, R.pipelineOrchestrator.setCameraSwitch.useMutation, R.pipelineOrchestrator.getCameraStatus.useQuery, R.pipelineOrchestrator.getCameraStatuses.useQuery, R.pipelineOrchestrator.reconcileFromDisk.useMutation, R.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery, R.pipelineOrchestrator.listTemplates.useQuery, R.pipelineOrchestrator.saveTemplate.useMutation, R.pipelineOrchestrator.updateTemplate.useMutation, R.pipelineOrchestrator.deleteTemplate.useMutation, R.pipelineOrchestrator.getDeviceSettingsContribution.useQuery, R.pipelineOrchestrator.getDeviceLiveContribution.useQuery, R.pipelineOrchestrator.applyDeviceSettingsPatch.useMutation, R.pipelineRunner.attachCamera.useMutation, R.pipelineRunner.detachCamera.useMutation, R.pipelineRunner.reportMotion.useMutation, R.pipelineRunner.getLocalLoad.useQuery, R.pipelineRunner.getLocalMetrics.useQuery, R.pipelineRunner.getCameraMetrics.useQuery, R.pipelineRunner.getAllCameraMetrics.useQuery, R.pipelineRunner.getLocalCameras.useQuery, R.pipelineRunner.getNativeCrop.useQuery, R.pipelineRunner.runDetailSubtree.useMutation, R.pipelineRunner.runStatelessStep.useMutation, R.plateGallery.listPlates.useQuery, R.plateGallery.getPlateByTrack.useQuery, R.plateGallery.getPlateMedia.useQuery, R.plateGallery.searchPlates.useQuery, R.plateGallery.suggestPlateClusters.useQuery, R.plateGallery.correctPlateText.useMutation, R.plateGallery.deletePlate.useMutation, R.plateGallery.listVehicles.useQuery, R.plateGallery.createVehicle.useMutation, R.plateGallery.renameVehicle.useMutation, R.plateGallery.deleteVehicle.useMutation, R.plateGallery.listVehicleSamples.useQuery, R.plateGallery.removeVehicleSample.useMutation, R.plateGallery.assignPlate.useMutation, R.plateGallery.unassignPlate.useMutation, R.plateGallery.assignPlates.useMutation, R.plateGallery.unassignPlates.useMutation, R.powerMeter.getStatus.useQuery, R.presence.getStatus.useQuery, R.pressureSensor.getStatus.useQuery, R.privacyMask.getOptions.useQuery, R.privacyMask.setMask.useMutation, R.privacyMask.setAudioEnabled.useMutation, R.privacyMask.getStatus.useQuery, R.ptz.move.useMutation, R.ptz.continuousMove.useMutation, R.ptz.stop.useMutation, R.ptz.getPresets.useQuery, R.ptz.goToPreset.useMutation, R.ptz.savePreset.useMutation, R.ptz.deletePreset.useMutation, R.ptz.getOptions.useQuery, R.ptz.goHome.useMutation, R.ptz.getPosition.useQuery, R.ptz.setAutofocus.useMutation, R.ptz.getStatus.useQuery, R.ptzAutotrack.getStatus.useQuery, R.ptzAutotrack.setEnabled.useMutation, R.ptzAutotrack.getSettings.useQuery, R.ptzAutotrack.setSettings.useMutation, R.reboot.reboot.useMutation, R.recording.getAvailability.useQuery, R.recording.getDaysWithRecordings.useQuery, R.recording.getPlaybackManifest.useQuery, R.recording.getStorageUsage.useQuery, R.recording.getDeviceConfig.useQuery, R.recording.locateSegment.useQuery, R.recording.readSegmentBytes.useQuery, R.recording.readGopBytes.useQuery, R.recording.setDeviceConfig.useMutation, R.recording.rescanStorage.useMutation, R.recording.pruneFootage.useMutation, R.recording.deleteFootprint.useMutation, R.recording.listOpsLog.useQuery, R.recording.renderGif.useMutation, R.recording.renderClip.useMutation, R.recording.pauseForStorageMigration.useMutation, R.recording.resumeForStorageMigration.useMutation, R.recording.refreshStorageLocationsForMigration.useMutation, R.recording.startStorageMigrationMove.useMutation, R.recording.getStorageMigrationMoveStatus.useQuery, R.recording.cancelStorageMigrationMove.useMutation, R.recording.relocateFootage.useMutation, R.recording.listRelocateJobs.useQuery, R.recording.cancelRelocateJob.useMutation, R.recording.planStorageRebalance.useQuery, R.recording.startStorageRebalance.useMutation, R.recording.getStatus.useQuery, R.recording.getDeviceSettingsContribution.useQuery, R.recording.getDeviceLiveContribution.useQuery, R.recording.applyDeviceSettingsPatch.useMutation, R.recordingExport.createExport.useMutation, R.recordingExport.listExports.useQuery, R.recordingExport.getExport.useQuery, R.recordingExport.cancelExport.useMutation, R.recordingExport.deleteExport.useMutation, R.recordingExport.getDownloadUrl.useQuery, R.recordingExport.readExportBytes.useQuery, R.sceneMonitor.listScenes.useQuery, R.sceneMonitor.createScene.useMutation, R.sceneMonitor.updateScene.useMutation, R.sceneMonitor.deleteScene.useMutation, R.sceneMonitor.captureReference.useMutation, R.sceneMonitor.deleteReference.useMutation, R.sceneMonitor.recheckNow.useMutation, R.sceneMonitor.resetScene.useMutation, R.sceneMonitor.getStatus.useQuery, R.scriptRunner.run.useMutation, R.scriptRunner.stop.useMutation, R.scriptRunner.getStatus.useQuery, R.serverManagement.getServerPackageStatus.useQuery, R.serverManagement.checkServerUpdate.useMutation, R.serverManagement.applyServerUpdate.useMutation, R.serverManagement.rollbackServerUpdate.useMutation, R.serverManagement.restartServer.useMutation, R.settingsStore.get.useQuery, R.settingsStore.set.useMutation, R.settingsStore.query.useQuery, R.settingsStore.insert.useMutation, R.settingsStore.update.useMutation, R.settingsStore.delete.useMutation, R.settingsStore.deleteWhere.useMutation, R.settingsStore.updateWhere.useMutation, R.settingsStore.count.useQuery, R.settingsStore.histogram.useQuery, R.settingsStore.isEmpty.useQuery, R.settingsStore.declareCollection.useMutation, R.smoke.getStatus.useQuery, R.snapshot.getSnapshot.useQuery, R.snapshot.invalidateCache.useMutation, R.snapshot.getSnapshotOverview.useQuery, R.snapshot.getDebugState.useQuery, R.snapshot.getSnapshotLinks.useQuery, R.snapshot.getStatus.useQuery, R.snapshot.getDeviceSettingsContribution.useQuery, R.snapshot.getDeviceLiveContribution.useQuery, R.snapshot.applyDeviceSettingsPatch.useMutation, R.storage.resolve.useQuery, R.storage.write.useMutation, R.storage.read.useQuery, R.storage.exists.useQuery, R.storage.list.useQuery, R.storage.delete.useMutation, R.storage.getAvailableSpace.useQuery, R.storage.beginUpload.useMutation, R.storage.writeChunk.useMutation, R.storage.finalizeUpload.useMutation, R.storage.abortUpload.useMutation, R.storage.beginDownload.useMutation, R.storage.readChunk.useQuery, R.storage.endDownload.useMutation, R.storage.listLocations.useQuery, R.storage.getDefaultLocation.useQuery, R.storage.listLocationDeclarations.useQuery, R.storage.upsertLocation.useMutation, R.storage.deleteLocation.useMutation, R.storage.testLocation.useQuery, R.storage.listProviders.useQuery, R.storage.testConfig.useQuery, R.storageMigration.plan.useQuery, R.storageMigration.start.useMutation, R.storageMigration.status.useQuery, R.storageMigration.cancel.useMutation, R.streamBroker.publishCameraStream.useMutation, R.streamBroker.retractCameraStream.useMutation, R.streamBroker.assignProfile.useMutation, R.streamBroker.unassignProfile.useMutation, R.streamBroker.renderPreBufferClip.useMutation, R.streamBroker.produceEventMedia.useMutation, R.streamBroker.fetchEventMedia.useMutation, R.streamBroker.listAllCameraStreams.useQuery, R.streamBroker.listAllProfileSlots.useQuery, R.streamBroker.getBrokerStats.useQuery, R.streamBroker.probeStream.useMutation, R.streamBroker.listClients.useQuery, R.streamBroker.killClient.useMutation, R.streamBroker.restartProfile.useMutation, R.streamBroker.getStreamUrl.useQuery, R.streamBroker.getStreamWithCodec.useMutation, R.streamBroker.releaseStreamWithCodec.useMutation, R.streamBroker.acquireEgressTranscode.useMutation, R.streamBroker.releaseEgressTranscode.useMutation, R.streamBroker.subscribeAudioChunks.useMutation, R.streamBroker.pullAudioChunks.useQuery, R.streamBroker.unsubscribeAudioChunks.useMutation, R.streamBroker.subscribeFrames.useMutation, R.streamBroker.pullFrameHandles.useQuery, R.streamBroker.unsubscribeFrames.useMutation, R.streamBroker.setPreBufferDuration.useMutation, R.streamBroker.getPreBufferInfo.useQuery, R.streamBroker.getRtspPort.useQuery, R.streamBroker.getAllRtspEntries.useQuery, R.streamBroker.getRtspEntry.useQuery, R.streamBroker.regenerateRtspToken.useMutation, R.streamBroker.setRtspEnabled.useMutation, R.streamBroker.isRtspEnabled.useQuery, R.streamBroker.getDeviceAudioMute.useQuery, R.streamBroker.setDeviceAudioMute.useMutation, R.streamBroker.getDeviceSettingsContribution.useQuery, R.streamBroker.getDeviceLiveContribution.useQuery, R.streamBroker.applyDeviceSettingsPatch.useMutation, R.streamCatalog.getCatalog.useQuery, R.streamParams.getOptions.useQuery, R.streamParams.setProfile.useMutation, R.streamParams.getConfigSchema.useQuery, R.streamParams.getStatus.useQuery, R.switch.setState.useMutation, R.switch.getStatus.useQuery, R.system.info.useQuery, R.system.health.useQuery, R.system.featureFlags.useQuery, R.system.networkAddresses.useQuery, R.system.getRetentionConfig.useQuery, R.system.setRetentionConfig.useMutation, R.system.forceRetentionCleanup.useMutation, R.system.getSiteLocation.useQuery, R.system.setSiteLocation.useMutation, R.system.detectSiteLocation.useMutation, R.tamper.getStatus.useQuery, R.temperatureSensor.getStatus.useQuery, R.terminalSession.listProfiles.useQuery, R.terminalSession.listInstances.useQuery, R.terminalSession.createInstance.useMutation, R.terminalSession.updateInstance.useMutation, R.terminalSession.deleteInstance.useMutation, R.terminalSession.setInstanceEnabled.useMutation, R.terminalSession.listLegacyCameras.useQuery, R.terminalSession.adoptLegacyMonitor.useMutation, R.terminalSession.listSessions.useQuery, R.terminalSession.openSession.useMutation, R.terminalSession.resize.useMutation, R.terminalSession.pullOutput.useMutation, R.terminalSession.writeInput.useMutation, R.terminalSession.close.useMutation, R.toast.onToast.useSubscription, R.turnProvider.getTurnServers.useQuery, R.update.installUpdate.useMutation, R.update.getStatus.useQuery, R.userManagement.listUsers.useQuery, R.userManagement.createUser.useMutation, R.userManagement.updateUser.useMutation, R.userManagement.deleteUser.useMutation, R.userManagement.resetPassword.useMutation, R.userManagement.setUserScopes.useMutation, R.userManagement.validateCredentials.useMutation, R.userManagement.listApiKeys.useQuery, R.userManagement.createApiKey.useMutation, R.userManagement.revokeApiKey.useMutation, R.userManagement.validateApiKey.useMutation, R.userManagement.createScopedToken.useMutation, R.userManagement.revokeScopedToken.useMutation, R.userManagement.validateScopedToken.useQuery, R.userManagement.listScopedTokens.useQuery, R.userManagement.setupTotp.useMutation, R.userManagement.confirmTotp.useMutation, R.userManagement.disableTotp.useMutation, R.userManagement.getTotpStatus.useQuery, R.userManagement.verifyTotp.useMutation, R.userManagement.oauthIssueCode.useMutation, R.userManagement.oauthExchangeCode.useMutation, R.userManagement.oauthRefresh.useMutation, R.userManagement.oauthVerifyAccessToken.useQuery, R.userManagement.listOauthSessions.useQuery, R.userManagement.revokeOauthSession.useMutation, R.vacuumControl.start.useMutation, R.vacuumControl.pause.useMutation, R.vacuumControl.stop.useMutation, R.vacuumControl.returnToBase.useMutation, R.vacuumControl.locate.useMutation, R.vacuumControl.setFanSpeed.useMutation, R.vacuumControl.getStatus.useQuery, R.valve.open.useMutation, R.valve.close.useMutation, R.valve.stop.useMutation, R.valve.setPosition.useMutation, R.valve.getStatus.useQuery, R.vibration.getStatus.useQuery, R.videoclips.listClips.useQuery, R.videoclips.getClipPlayback.useQuery, R.waterHeater.setTargetTemp.useMutation, R.waterHeater.setOperationMode.useMutation, R.waterHeater.setAway.useMutation, R.waterHeater.getStatus.useQuery, R.weather.getStatus.useQuery, R.webrtcSession.listStreams.useQuery, R.webrtcSession.createSession.useMutation, R.webrtcSession.handleOffer.useMutation, R.webrtcSession.handleAnswer.useMutation, R.webrtcSession.addIceCandidate.useMutation, R.webrtcSession.getIceCandidates.useQuery, R.webrtcSession.closeSession.useMutation, R.webrtcSession.hasAdaptiveBitrate.useQuery, R.webrtcSession.getSessionState.useQuery, R.zoneAnalytics.getCurrentSnapshot.useQuery, R.zoneAnalytics.getZoneHistory.useQuery, R.zoneAnalytics.getCameraHistory.useQuery, R.zoneAnalytics.getUnzonedHistory.useQuery, R.zoneRules.listRules.useQuery, R.zoneRules.setRules.useMutation, R.zones.listZones.useQuery, R.zones.addZone.useMutation, R.zones.removeZone.useMutation, R.zones.updateZone.useMutation, d(), d(), m("camstack:custom-field-renderers", {}), d(), d(), m("camstack:confirm-dialog", null), d(), m("camstack:device-context", null), d(), d(), m("camstack:widget-registry", null), d(), d();
1748
+ R.deviceManager.getChildren.useQuery, R.deviceManager.getLinkedDevices.useQuery, R.deviceManager.getStreamSources.useQuery, R.deviceManager.getConfigSchema.useQuery, R.deviceManager.getSettingsSchema.useQuery, R.deviceManager.updateConfig.useMutation, R.deviceManager.enable.useMutation, R.deviceManager.disable.useMutation, R.deviceManager.remove.useMutation, R.deviceManager.removeByIntegration.useMutation, R.deviceManager.getStreamProfileMap.useQuery, R.deviceManager.setStreamProfileMap.useMutation, R.deviceManager.probeStreams.useMutation, R.deviceManager.getBindings.useQuery, R.deviceManager.getAllBindings.useQuery, R.deviceManager.setWrapperActive.useMutation, R.deviceManager.listWrappersForCap.useQuery, R.deviceManager.listBindableCapsForDeviceType.useQuery, R.deviceManager.getDeviceSettingsAggregate.useQuery, R.deviceManager.getDeviceLiveInfoAggregate.useQuery, R.deviceManager.getDeviceAggregate.useQuery, R.deviceManager.runDeviceAction.useMutation, R.deviceManager.updateDeviceField.useMutation, R.deviceManager.updateDeviceFieldsBatch.useMutation, R.deviceManager.discoverDevices.useMutation, R.deviceManager.adoptDevice.useMutation, R.deviceManager.getCreationSchema.useQuery, R.deviceManager.createDevice.useMutation, R.deviceManager.testCreationField.useMutation, R.deviceManager.adoptionListCandidateFilters.useQuery, R.deviceManager.adoptionListCandidates.useQuery, R.deviceManager.adoptionRefresh.useMutation, R.deviceManager.adoptionAdopt.useMutation, R.deviceManager.adoptionRelease.useMutation, R.deviceManager.adoptionStartJob.useMutation, R.deviceManager.adoptionListJobs.useQuery, R.deviceManager.adoptionCancelJob.useMutation, R.deviceManager.adoptionResync.useMutation, R.deviceManager.discoveryProviders.useQuery, R.deviceManager.discoverAllProviders.useMutation, R.deviceManager.discoverProvider.useMutation, R.deviceManager.providerCreationType.useQuery, R.deviceManager.providerDiscoveryParamsSchema.useQuery, R.deviceManager.testField.useMutation, R.deviceManager.getDeviceStatusAggregate.useQuery, R.deviceManager.getDeviceStatusAggregateBatch.useQuery, R.deviceManager.getDeviceSettingsContribution.useQuery, R.deviceManager.getDeviceLiveContribution.useQuery, R.deviceManager.applyDeviceSettingsPatch.useMutation, R.deviceOps.getStreamSources.useQuery, R.deviceOps.getConfigEntries.useQuery, R.deviceOps.setConfig.useMutation, R.deviceOps.runAction.useMutation, R.deviceOps.removeDevice.useMutation, R.deviceOps.getSettingsSchema.useQuery, R.deviceOps.getRawState.useQuery, R.deviceProvider.start.useMutation, R.deviceProvider.stop.useMutation, R.deviceProvider.getStatus.useQuery, R.deviceProvider.getDevices.useQuery, R.deviceProvider.supportsDiscovery.useQuery, R.deviceProvider.discoverDevices.useMutation, R.deviceProvider.getDiscoveryParamsSchema.useQuery, R.deviceProvider.getManualCreationType.useQuery, R.deviceProvider.adoptDiscoveredDevice.useMutation, R.deviceProvider.supportsManualCreation.useQuery, R.deviceProvider.getChildCreationSchema.useQuery, R.deviceProvider.createDevice.useMutation, R.deviceProvider.testCreationField.useMutation, R.deviceState.getSnapshot.useQuery, R.deviceState.getCapSlice.useQuery, R.deviceState.getAllSnapshots.useQuery, R.deviceState.setCapSlice.useMutation, R.deviceStatus.getStatus.useQuery, R.doorbell.getStatus.useQuery, R.doorbell.getDeviceSettingsContribution.useQuery, R.doorbell.getDeviceLiveContribution.useQuery, R.doorbell.applyDeviceSettingsPatch.useMutation, R.enumSensor.getStatus.useQuery, R.eventEmitter.getStatus.useQuery, R.events.getEvents.useQuery, R.events.getEventThumbnail.useQuery, R.events.getEventClipUrl.useQuery, R.faceGallery.listIdentities.useQuery, R.faceGallery.createIdentity.useMutation, R.faceGallery.renameIdentity.useMutation, R.faceGallery.deleteIdentity.useMutation, R.faceGallery.listIdentitySamples.useQuery, R.faceGallery.removeSample.useMutation, R.faceGallery.listRecentFaces.useQuery, R.faceGallery.getFaceByTrack.useQuery, R.faceGallery.getFaceMedia.useQuery, R.faceGallery.assignFace.useMutation, R.faceGallery.unassignFace.useMutation, R.faceGallery.deleteFace.useMutation, R.faceGallery.assignFaces.useMutation, R.faceGallery.unassignFaces.useMutation, R.faceGallery.suggestFaceClusters.useQuery, R.fanControl.setPercentage.useMutation, R.fanControl.setPreset.useMutation, R.fanControl.setDirection.useMutation, R.fanControl.setOscillating.useMutation, R.fanControl.getStatus.useQuery, R.featureProbe.getStatus.useQuery, R.flood.getStatus.useQuery, R.gas.getStatus.useQuery, R.humidifier.setOn.useMutation, R.humidifier.setTargetHumidity.useMutation, R.humidifier.setMode.useMutation, R.humidifier.getStatus.useQuery, R.humiditySensor.getStatus.useQuery, R.image.getStatus.useQuery, R.imageSettings.getOptions.useQuery, R.imageSettings.setSettings.useMutation, R.imageSettings.getStatus.useQuery, R.integrations.list.useQuery, R.integrations.get.useQuery, R.integrations.getByAddonId.useQuery, R.integrations.create.useMutation, R.integrations.update.useMutation, R.integrations.delete.useMutation, R.integrations.getSettings.useQuery, R.integrations.setSettings.useMutation, R.integrations.getAvailableTypes.useQuery, R.integrations.testConnection.useMutation, R.intercom.startSession.useMutation, R.intercom.handleAnswer.useMutation, R.intercom.stopSession.useMutation, R.intercom.startTalkSession.useMutation, R.intercom.pushTalkAudio.useMutation, R.intercom.endTalkSession.useMutation, R.intercom.getStatus.useQuery, R.lawnMowerControl.startMowing.useMutation, R.lawnMowerControl.pause.useMutation, R.lawnMowerControl.dock.useMutation, R.lawnMowerControl.getStatus.useQuery, R.llm.generate.useMutation, R.llm.generateVision.useMutation, R.llm.cancel.useMutation, R.llm.listProfileKinds.useQuery, R.llm.listProfiles.useQuery, R.llm.upsertProfile.useMutation, R.llm.deleteProfile.useMutation, R.llm.testProfile.useMutation, R.llm.listModels.useQuery, R.llm.getDefaults.useQuery, R.llm.setDefault.useMutation, R.llm.getUsage.useQuery, R.llm.listModelCatalog.useQuery, R.llm.listRuntimeNodes.useQuery, R.llm.listNodeModels.useQuery, R.llm.resolveModelRef.useMutation, R.llm.installModel.useMutation, R.llm.deleteModel.useMutation, R.llm.getRuntimeStatus.useQuery, R.llm.startRuntime.useMutation, R.llm.stopRuntime.useMutation, R.localNetwork.list.useQuery, R.localNetwork.getPreferred.useQuery, R.localNetwork.getConnectionEndpoints.useQuery, R.localNetwork.getNotificationEndpoint.useQuery, R.localNetwork.setNotificationEndpoint.useMutation, R.localNetwork.getViewerEndpoints.useQuery, R.localNetwork.setViewerEndpoints.useMutation, R.localNetwork.getAllowedAddresses.useQuery, R.localNetwork.setAllowedAddresses.useMutation, R.localNetwork.resetAllowlistToBestMatch.useMutation, R.localNetwork.getTlsStatus.useQuery, R.localNetwork.regenerateCertificate.useMutation, R.localNetwork.uploadCertificate.useMutation, R.localNetwork.downloadCa.useQuery, R.localNetwork.revertToGeneratedCertificate.useMutation, R.lockControl.lock.useMutation, R.lockControl.unlock.useMutation, R.lockControl.open.useMutation, R.lockControl.getStatus.useQuery, R.mediaPlayer.play.useMutation, R.mediaPlayer.pause.useMutation, R.mediaPlayer.stop.useMutation, R.mediaPlayer.next.useMutation, R.mediaPlayer.previous.useMutation, R.mediaPlayer.seek.useMutation, R.mediaPlayer.setVolume.useMutation, R.mediaPlayer.setMute.useMutation, R.mediaPlayer.setShuffle.useMutation, R.mediaPlayer.setRepeat.useMutation, R.mediaPlayer.selectSource.useMutation, R.mediaPlayer.playMedia.useMutation, R.mediaPlayer.getStatus.useQuery, R.meshNetwork.getStatus.useQuery, R.meshNetwork.join.useMutation, R.meshNetwork.startLogin.useMutation, R.meshNetwork.leave.useMutation, R.meshNetwork.logout.useMutation, R.meshNetwork.listPeers.useQuery, R.meshNetwork.testConnection.useMutation, R.metricsProvider.collectSnapshot.useQuery, R.metricsProvider.getCached.useQuery, R.metricsProvider.getCurrent.useQuery, R.metricsProvider.getDiskSpace.useQuery, R.metricsProvider.getGpuInfo.useQuery, R.metricsProvider.getCpuTemperature.useQuery, R.metricsProvider.getProcessStats.useQuery, R.metricsProvider.listAddonInstances.useQuery, R.metricsProvider.getAddonStats.useQuery, R.metricsProvider.listNodeProcesses.useQuery, R.metricsProvider.killProcess.useMutation, R.metricsProvider.dumpHeapSnapshot.useMutation, R.motion.isDetected.useQuery, R.motion.getStatus.useQuery, R.motionDetection.analyze.useMutation, R.motionDetection.removeCamera.useMutation, R.motionDetection.reset.useMutation, R.motionDetection.getDeviceSettingsContribution.useQuery, R.motionDetection.getDeviceLiveContribution.useQuery, R.motionDetection.applyDeviceSettingsPatch.useMutation, R.motionTrigger.setMotionTrigger.useMutation, R.motionTrigger.getStatus.useQuery, R.motionZones.getOptions.useQuery, R.motionZones.setZone.useMutation, R.motionZones.getStatus.useQuery, R.mqttBroker.listBrokers.useQuery, R.mqttBroker.getBrokerConfig.useQuery, R.mqttBroker.addBroker.useMutation, R.mqttBroker.removeBroker.useMutation, R.mqttBroker.testConnection.useMutation, R.mqttBroker.startEmbeddedBroker.useMutation, R.mqttBroker.stopEmbeddedBroker.useMutation, R.mqttBroker.getStatus.useQuery, R.nativeObjectDetection.setEnabled.useMutation, R.nativeObjectDetection.getStatus.useQuery, R.networkAccess.start.useMutation, R.networkAccess.stop.useMutation, R.networkAccess.getEndpoint.useQuery, R.networkAccess.getStatus.useQuery, R.networkAccess.listEndpoints.useQuery, R.networkQuality.getDeviceStats.useQuery, R.networkQuality.getAllStats.useQuery, R.networkQuality.reportClientStats.useMutation, R.nodes.topology.useQuery, R.nodes.deployAddon.useMutation, R.nodes.undeployAddon.useMutation, R.nodes.restartAddon.useMutation, R.nodes.restartProcess.useMutation, R.nodes.restartNode.useMutation, R.nodes.shutdownNode.useMutation, R.nodes.renameNode.useMutation, R.nodes.clusterAddonStatus.useQuery, R.nodes.getCapUsageGraph.useQuery, R.nodes.getNodeAddons.useQuery, R.nodes.setProcessLogLevel.useMutation, R.nodes.executeQuery.useMutation, R.notificationOutput.listTargetKinds.useQuery, R.notificationOutput.listTargets.useQuery, R.notificationOutput.discoverTargets.useQuery, R.notificationOutput.send.useMutation, R.notificationOutput.testTarget.useMutation, R.notificationOutput.upsertTarget.useMutation, R.notificationOutput.deleteTarget.useMutation, R.notificationOutput.setTargetEnabled.useMutation, R.notificationRules.listRules.useQuery, R.notificationRules.getRule.useQuery, R.notificationRules.createRule.useMutation, R.notificationRules.updateRule.useMutation, R.notificationRules.deleteRule.useMutation, R.notificationRules.setRuleEnabled.useMutation, R.notificationRules.listDeviceMutes.useQuery, R.notificationRules.setDeviceMuted.useMutation, R.notificationRules.testRule.useMutation, R.notificationRules.getConditionCatalog.useQuery, R.notificationRules.getHistory.useQuery, R.notificationRules.listSnoozes.useQuery, R.notificationRules.createSnooze.useMutation, R.notificationRules.cancelSnooze.useMutation, R.notificationRules.getAlarmConfig.useQuery, R.notificationRules.setAlarmConfig.useMutation, R.notifier.send.useMutation, R.notifier.cancel.useMutation, R.notifier.getStatus.useQuery, R.numericSensor.getStatus.useQuery, R.osd.setOverlay.useMutation, R.osd.getStatus.useQuery, R.osdManager.getDeviceOsd.useQuery, R.osdManager.getSourceCatalog.useQuery, R.osdManager.getConditionSupport.useQuery, R.osdManager.setSlotBinding.useMutation, R.osdManager.clearSlotBinding.useMutation, R.osdManager.copyDeviceConfiguration.useMutation, R.osdManager.previewSlot.useMutation, R.osdManager.renderDevice.useMutation, R.petFeeder.feed.useMutation, R.petFeeder.cancelFeed.useMutation, R.petFeeder.resetDesiccant.useMutation, R.petFeeder.markFoodReplenished.useMutation, R.petFeeder.callPet.useMutation, R.petFeeder.playSound.useMutation, R.petFeeder.setChildLock.useMutation, R.petFeeder.setIndicatorLight.useMutation, R.petFeeder.setFeedSound.useMutation, R.petFeeder.setVolume.useMutation, R.petFeeder.getStatus.useQuery, R.pipelineAnalytics.getActiveTracks.useQuery, R.pipelineAnalytics.getTrack.useQuery, R.pipelineAnalytics.listTracks.useQuery, R.pipelineAnalytics.listRecentTracks.useQuery, R.pipelineAnalytics.listGroups.useQuery, R.pipelineAnalytics.getGroup.useQuery, R.pipelineAnalytics.clearTracks.useMutation, R.pipelineAnalytics.getMotionEvents.useQuery, R.pipelineAnalytics.getObjectEvents.useQuery, R.pipelineAnalytics.getAudioEvents.useQuery, R.pipelineAnalytics.listEventKinds.useQuery, R.pipelineAnalytics.listEventKindsBatch.useQuery, R.pipelineAnalytics.getSensorEvents.useQuery, R.pipelineAnalytics.getKeyEvents.useQuery, R.pipelineAnalytics.getEventDensity.useQuery, R.pipelineAnalytics.pruneEventsBefore.useMutation, R.pipelineAnalytics.pruneTracksBefore.useMutation, R.pipelineAnalytics.wipeAllAnalytics.useMutation, R.pipelineAnalytics.reconcileFromDisk.useMutation, R.pipelineAnalytics.deleteTracks.useMutation, R.pipelineAnalytics.setTrackFlags.useMutation, R.pipelineAnalytics.getEventStoreFootprint.useQuery, R.pipelineAnalytics.pruneEvents.useMutation, R.pipelineAnalytics.deleteDeviceEvents.useMutation, R.pipelineAnalytics.pauseForStorageMigration.useMutation, R.pipelineAnalytics.resumeForStorageMigration.useMutation, R.pipelineAnalytics.refreshStorageLocationsForMigration.useMutation, R.pipelineAnalytics.startStorageMigrationMove.useMutation, R.pipelineAnalytics.getStorageMigrationMoveStatus.useQuery, R.pipelineAnalytics.cancelStorageMigrationMove.useMutation, R.pipelineAnalytics.listOpsLog.useQuery, R.pipelineAnalytics.getTrainingExportSummary.useQuery, R.pipelineAnalytics.getTrainingExportUrl.useQuery, R.pipelineAnalytics.listRetrainStaging.useQuery, R.pipelineAnalytics.listRetrainFrames.useQuery, R.pipelineAnalytics.selectRetrainFrames.useMutation, R.pipelineAnalytics.deselectRetrainFrame.useMutation, R.pipelineAnalytics.getRetrainFrameImage.useQuery, R.pipelineAnalytics.proposeRetrainAnnotations.useMutation, R.pipelineAnalytics.listRetrainAnnotations.useQuery, R.pipelineAnalytics.saveRetrainAnnotations.useMutation, R.pipelineAnalytics.completeRetrainTrack.useMutation, R.pipelineAnalytics.restageRetrainTrack.useMutation, R.pipelineAnalytics.getRetrainExportUrl.useQuery, R.pipelineAnalytics.getEventMedia.useQuery, R.pipelineAnalytics.getTrackMedia.useQuery, R.pipelineAnalytics.listTrackMedia.useQuery, R.pipelineAnalytics.searchObjectEvents.useQuery, R.pipelineAnalytics.wipeObjectEmbeddings.useMutation, R.pipelineAnalytics.rebuildObjectEmbeddings.useMutation, R.pipelineAnalytics.getObjectEmbeddingRebuildStatus.useQuery, R.pipelineAnalytics.getDeviceSettingsContribution.useQuery, R.pipelineAnalytics.getDeviceLiveContribution.useQuery, R.pipelineAnalytics.applyDeviceSettingsPatch.useMutation, R.pipelineExecutor.getAvailableEngines.useQuery, R.pipelineExecutor.getSelectedEngine.useQuery, R.pipelineExecutor.getDefaultSteps.useQuery, R.pipelineExecutor.getEngineProvisioning.useQuery, R.pipelineExecutor.getVideoPipelineSteps.useQuery, R.pipelineExecutor.setVideoPipelineSteps.useMutation, R.pipelineExecutor.clearDeviceOverrides.useMutation, R.pipelineExecutor.getSchema.useQuery, R.pipelineExecutor.getGlobalSteps.useQuery, R.pipelineExecutor.getGlobalPipelineConfig.useQuery, R.pipelineExecutor.getOrchestratorConfigSchema.useQuery, R.pipelineExecutor.validatePipeline.useQuery, R.pipelineExecutor.listTemplates.useQuery, R.pipelineExecutor.saveTemplate.useMutation, R.pipelineExecutor.updateTemplate.useMutation, R.pipelineExecutor.deleteTemplate.useMutation, R.pipelineExecutor.getCapabilities.useQuery, R.pipelineExecutor.getAddonModels.useQuery, R.pipelineExecutor.downloadModel.useMutation, R.pipelineExecutor.deleteModel.useMutation, R.pipelineExecutor.runPipeline.useMutation, R.pipelineExecutor.runPipelineBatch.useMutation, R.pipelineExecutor.cacheFrameInPool.useMutation, R.pipelineExecutor.inferCached.useMutation, R.pipelineExecutor.uncacheFrame.useMutation, R.pipelineExecutor.getEffectiveTuning.useQuery, R.pipelineExecutor.listLoadedEngines.useQuery, R.pipelineExecutor.spinEngine.useMutation, R.pipelineExecutor.killEngine.useMutation, R.pipelineExecutor.listReferenceImages.useQuery, R.pipelineExecutor.getReferenceImage.useQuery, R.pipelineExecutor.getReferenceAudioFiles.useQuery, R.pipelineExecutor.getReferenceAudio.useQuery, R.pipelineExecutor.getAudioCapabilities.useQuery, R.pipelineExecutor.runAudioTest.useMutation, R.pipelineExecutor.getDetectionConfigSchema.useQuery, R.pipelineOrchestrator.pauseForStorageMigration.useMutation, R.pipelineOrchestrator.resumeForStorageMigration.useMutation, R.pipelineOrchestrator.assignPipeline.useMutation, R.pipelineOrchestrator.unassignPipeline.useMutation, R.pipelineOrchestrator.setPipelineDevicePin.useMutation, R.pipelineOrchestrator.getPipelineDevicePin.useQuery, R.pipelineOrchestrator.rebalance.useMutation, R.pipelineOrchestrator.getPipelineAssignments.useQuery, R.pipelineOrchestrator.getPipelineAssignment.useQuery, R.pipelineOrchestrator.getAgentLoad.useQuery, R.pipelineOrchestrator.getGlobalMetrics.useQuery, R.pipelineOrchestrator.getCameraMetrics.useQuery, R.pipelineOrchestrator.getCapabilityBindings.useQuery, R.pipelineOrchestrator.setCapabilityBinding.useMutation, R.pipelineOrchestrator.getIngestOwner.useQuery, R.pipelineOrchestrator.assignAudio.useMutation, R.pipelineOrchestrator.unassignAudio.useMutation, R.pipelineOrchestrator.getAudioAssignment.useQuery, R.pipelineOrchestrator.getAudioNodeLoad.useQuery, R.pipelineOrchestrator.getAudioAssignments.useQuery, R.pipelineOrchestrator.getAgentSettings.useQuery, R.pipelineOrchestrator.listAgentSettings.useQuery, R.pipelineOrchestrator.removeAgentSettings.useMutation, R.pipelineOrchestrator.setAgentMaxCameras.useMutation, R.pipelineOrchestrator.setAgentDetectWeight.useMutation, R.pipelineOrchestrator.setAgentCapabilities.useMutation, R.pipelineOrchestrator.setAgentReachableHost.useMutation, R.pipelineOrchestrator.setAgentInferenceDevices.useMutation, R.pipelineOrchestrator.getNodeInferenceDevices.useQuery, R.pipelineOrchestrator.resetNodePipelineDefaults.useMutation, R.pipelineOrchestrator.getCameraSettings.useQuery, R.pipelineOrchestrator.setCameraStepToggle.useMutation, R.pipelineOrchestrator.getCameraStepOverrides.useQuery, R.pipelineOrchestrator.setCameraStepOverride.useMutation, R.pipelineOrchestrator.setCameraPipelineForAgent.useMutation, R.pipelineOrchestrator.resolvePipeline.useQuery, R.pipelineOrchestrator.getCameraSwitches.useQuery, R.pipelineOrchestrator.setCameraSwitch.useMutation, R.pipelineOrchestrator.getCameraStatus.useQuery, R.pipelineOrchestrator.getCameraStatuses.useQuery, R.pipelineOrchestrator.reconcileFromDisk.useMutation, R.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery, R.pipelineOrchestrator.listTemplates.useQuery, R.pipelineOrchestrator.saveTemplate.useMutation, R.pipelineOrchestrator.updateTemplate.useMutation, R.pipelineOrchestrator.deleteTemplate.useMutation, R.pipelineOrchestrator.getDeviceSettingsContribution.useQuery, R.pipelineOrchestrator.getDeviceLiveContribution.useQuery, R.pipelineOrchestrator.applyDeviceSettingsPatch.useMutation, R.pipelineRunner.attachCamera.useMutation, R.pipelineRunner.detachCamera.useMutation, R.pipelineRunner.reportMotion.useMutation, R.pipelineRunner.getLocalLoad.useQuery, R.pipelineRunner.getLocalMetrics.useQuery, R.pipelineRunner.getCameraMetrics.useQuery, R.pipelineRunner.getAllCameraMetrics.useQuery, R.pipelineRunner.getLocalCameras.useQuery, R.pipelineRunner.getNativeCrop.useQuery, R.pipelineRunner.runDetailSubtree.useMutation, R.pipelineRunner.runStatelessStep.useMutation, R.plateGallery.listPlates.useQuery, R.plateGallery.getPlateByTrack.useQuery, R.plateGallery.getPlateMedia.useQuery, R.plateGallery.searchPlates.useQuery, R.plateGallery.suggestPlateClusters.useQuery, R.plateGallery.correctPlateText.useMutation, R.plateGallery.deletePlate.useMutation, R.plateGallery.listVehicles.useQuery, R.plateGallery.createVehicle.useMutation, R.plateGallery.renameVehicle.useMutation, R.plateGallery.deleteVehicle.useMutation, R.plateGallery.listVehicleSamples.useQuery, R.plateGallery.removeVehicleSample.useMutation, R.plateGallery.assignPlate.useMutation, R.plateGallery.unassignPlate.useMutation, R.plateGallery.assignPlates.useMutation, R.plateGallery.unassignPlates.useMutation, R.powerMeter.getStatus.useQuery, R.presence.getStatus.useQuery, R.pressureSensor.getStatus.useQuery, R.privacyMask.getOptions.useQuery, R.privacyMask.setMask.useMutation, R.privacyMask.setAudioEnabled.useMutation, R.privacyMask.getStatus.useQuery, R.ptz.move.useMutation, R.ptz.continuousMove.useMutation, R.ptz.stop.useMutation, R.ptz.getPresets.useQuery, R.ptz.goToPreset.useMutation, R.ptz.savePreset.useMutation, R.ptz.deletePreset.useMutation, R.ptz.getOptions.useQuery, R.ptz.goHome.useMutation, R.ptz.getPosition.useQuery, R.ptz.setAutofocus.useMutation, R.ptz.getStatus.useQuery, R.ptzAutotrack.getStatus.useQuery, R.ptzAutotrack.setEnabled.useMutation, R.ptzAutotrack.getSettings.useQuery, R.ptzAutotrack.setSettings.useMutation, R.reboot.reboot.useMutation, R.recording.getAvailability.useQuery, R.recording.getDaysWithRecordings.useQuery, R.recording.getPlaybackManifest.useQuery, R.recording.getStorageUsage.useQuery, R.recording.getDeviceConfig.useQuery, R.recording.locateSegment.useQuery, R.recording.readSegmentBytes.useQuery, R.recording.readGopBytes.useQuery, R.recording.setDeviceConfig.useMutation, R.recording.rescanStorage.useMutation, R.recording.pruneFootage.useMutation, R.recording.deleteFootprint.useMutation, R.recording.listOpsLog.useQuery, R.recording.renderGif.useMutation, R.recording.renderClip.useMutation, R.recording.pauseForStorageMigration.useMutation, R.recording.resumeForStorageMigration.useMutation, R.recording.refreshStorageLocationsForMigration.useMutation, R.recording.startStorageMigrationMove.useMutation, R.recording.getStorageMigrationMoveStatus.useQuery, R.recording.cancelStorageMigrationMove.useMutation, R.recording.relocateFootage.useMutation, R.recording.listRelocateJobs.useQuery, R.recording.cancelRelocateJob.useMutation, R.recording.planStorageRebalance.useQuery, R.recording.startStorageRebalance.useMutation, R.recording.getStatus.useQuery, R.recording.getDeviceSettingsContribution.useQuery, R.recording.getDeviceLiveContribution.useQuery, R.recording.applyDeviceSettingsPatch.useMutation, R.recordingExport.createExport.useMutation, R.recordingExport.listExports.useQuery, R.recordingExport.getExport.useQuery, R.recordingExport.cancelExport.useMutation, R.recordingExport.deleteExport.useMutation, R.recordingExport.getDownloadUrl.useQuery, R.recordingExport.readExportBytes.useQuery, R.sceneMonitor.listScenes.useQuery, R.sceneMonitor.createScene.useMutation, R.sceneMonitor.updateScene.useMutation, R.sceneMonitor.deleteScene.useMutation, R.sceneMonitor.captureReference.useMutation, R.sceneMonitor.deleteReference.useMutation, R.sceneMonitor.recheckNow.useMutation, R.sceneMonitor.resetScene.useMutation, R.sceneMonitor.getStatus.useQuery, R.scriptRunner.run.useMutation, R.scriptRunner.stop.useMutation, R.scriptRunner.getStatus.useQuery, R.serverManagement.getServerPackageStatus.useQuery, R.serverManagement.checkServerUpdate.useMutation, R.serverManagement.applyServerUpdate.useMutation, R.serverManagement.rollbackServerUpdate.useMutation, R.serverManagement.restartServer.useMutation, R.settingsStore.get.useQuery, R.settingsStore.set.useMutation, R.settingsStore.query.useQuery, R.settingsStore.insert.useMutation, R.settingsStore.update.useMutation, R.settingsStore.delete.useMutation, R.settingsStore.deleteWhere.useMutation, R.settingsStore.updateWhere.useMutation, R.settingsStore.count.useQuery, R.settingsStore.histogram.useQuery, R.settingsStore.isEmpty.useQuery, R.settingsStore.declareCollection.useMutation, R.smoke.getStatus.useQuery, R.snapshot.getSnapshot.useQuery, R.snapshot.invalidateCache.useMutation, R.snapshot.getSnapshotOverview.useQuery, R.snapshot.getDebugState.useQuery, R.snapshot.getSnapshotLinks.useQuery, R.snapshot.getStatus.useQuery, R.snapshot.getDeviceSettingsContribution.useQuery, R.snapshot.getDeviceLiveContribution.useQuery, R.snapshot.applyDeviceSettingsPatch.useMutation, R.storage.resolve.useQuery, R.storage.write.useMutation, R.storage.read.useQuery, R.storage.exists.useQuery, R.storage.list.useQuery, R.storage.delete.useMutation, R.storage.getAvailableSpace.useQuery, R.storage.beginUpload.useMutation, R.storage.writeChunk.useMutation, R.storage.finalizeUpload.useMutation, R.storage.abortUpload.useMutation, R.storage.beginDownload.useMutation, R.storage.readChunk.useQuery, R.storage.endDownload.useMutation, R.storage.listLocations.useQuery, R.storage.getDefaultLocation.useQuery, R.storage.listLocationDeclarations.useQuery, R.storage.upsertLocation.useMutation, R.storage.deleteLocation.useMutation, R.storage.testLocation.useQuery, R.storage.listProviders.useQuery, R.storage.testConfig.useQuery, R.storageMigration.plan.useQuery, R.storageMigration.start.useMutation, R.storageMigration.status.useQuery, R.storageMigration.cancel.useMutation, R.streamBroker.publishCameraStream.useMutation, R.streamBroker.retractCameraStream.useMutation, R.streamBroker.assignProfile.useMutation, R.streamBroker.unassignProfile.useMutation, R.streamBroker.renderPreBufferClip.useMutation, R.streamBroker.produceEventMedia.useMutation, R.streamBroker.fetchEventMedia.useMutation, R.streamBroker.listAllCameraStreams.useQuery, R.streamBroker.listAllProfileSlots.useQuery, R.streamBroker.getBrokerStats.useQuery, R.streamBroker.probeStream.useMutation, R.streamBroker.listClients.useQuery, R.streamBroker.killClient.useMutation, R.streamBroker.restartProfile.useMutation, R.streamBroker.getStreamUrl.useQuery, R.streamBroker.getStreamWithCodec.useMutation, R.streamBroker.releaseStreamWithCodec.useMutation, R.streamBroker.acquireEgressTranscode.useMutation, R.streamBroker.releaseEgressTranscode.useMutation, R.streamBroker.subscribeAudioChunks.useMutation, R.streamBroker.pullAudioChunks.useQuery, R.streamBroker.unsubscribeAudioChunks.useMutation, R.streamBroker.subscribeFrames.useMutation, R.streamBroker.pullFrameHandles.useQuery, R.streamBroker.unsubscribeFrames.useMutation, R.streamBroker.setPreBufferDuration.useMutation, R.streamBroker.getPreBufferInfo.useQuery, R.streamBroker.getRtspPort.useQuery, R.streamBroker.getAllRtspEntries.useQuery, R.streamBroker.getRtspEntry.useQuery, R.streamBroker.regenerateRtspToken.useMutation, R.streamBroker.setRtspEnabled.useMutation, R.streamBroker.isRtspEnabled.useQuery, R.streamBroker.getDeviceAudioMute.useQuery, R.streamBroker.setDeviceAudioMute.useMutation, R.streamBroker.getDeviceSettingsContribution.useQuery, R.streamBroker.getDeviceLiveContribution.useQuery, R.streamBroker.applyDeviceSettingsPatch.useMutation, R.streamCatalog.getCatalog.useQuery, R.streamParams.getOptions.useQuery, R.streamParams.setProfile.useMutation, R.streamParams.getConfigSchema.useQuery, R.streamParams.getStatus.useQuery, R.switch.setState.useMutation, R.switch.getStatus.useQuery, R.system.info.useQuery, R.system.health.useQuery, R.system.featureFlags.useQuery, R.system.networkAddresses.useQuery, R.system.getRetentionConfig.useQuery, R.system.setRetentionConfig.useMutation, R.system.forceRetentionCleanup.useMutation, R.system.getSiteLocation.useQuery, R.system.setSiteLocation.useMutation, R.system.detectSiteLocation.useMutation, R.tamper.getStatus.useQuery, R.temperatureSensor.getStatus.useQuery, R.terminalSession.listProfiles.useQuery, R.terminalSession.listInstances.useQuery, R.terminalSession.createInstance.useMutation, R.terminalSession.updateInstance.useMutation, R.terminalSession.deleteInstance.useMutation, R.terminalSession.setInstanceEnabled.useMutation, R.terminalSession.listLegacyCameras.useQuery, R.terminalSession.adoptLegacyMonitor.useMutation, R.terminalSession.listSessions.useQuery, R.terminalSession.openSession.useMutation, R.terminalSession.resize.useMutation, R.terminalSession.pullOutput.useMutation, R.terminalSession.writeInput.useMutation, R.terminalSession.close.useMutation, R.toast.onToast.useSubscription, R.turnProvider.getTurnServers.useQuery, R.update.installUpdate.useMutation, R.update.getStatus.useQuery, R.userManagement.listUsers.useQuery, R.userManagement.createUser.useMutation, R.userManagement.updateUser.useMutation, R.userManagement.deleteUser.useMutation, R.userManagement.resetPassword.useMutation, R.userManagement.setUserScopes.useMutation, R.userManagement.validateCredentials.useMutation, R.userManagement.listApiKeys.useQuery, R.userManagement.createApiKey.useMutation, R.userManagement.revokeApiKey.useMutation, R.userManagement.validateApiKey.useMutation, R.userManagement.createScopedToken.useMutation, R.userManagement.revokeScopedToken.useMutation, R.userManagement.validateScopedToken.useQuery, R.userManagement.listScopedTokens.useQuery, R.userManagement.setupTotp.useMutation, R.userManagement.confirmTotp.useMutation, R.userManagement.disableTotp.useMutation, R.userManagement.getTotpStatus.useQuery, R.userManagement.verifyTotp.useMutation, R.userManagement.oauthIssueCode.useMutation, R.userManagement.oauthExchangeCode.useMutation, R.userManagement.oauthRefresh.useMutation, R.userManagement.oauthVerifyAccessToken.useQuery, R.userManagement.listOauthSessions.useQuery, R.userManagement.revokeOauthSession.useMutation, R.vacuumControl.start.useMutation, R.vacuumControl.pause.useMutation, R.vacuumControl.stop.useMutation, R.vacuumControl.returnToBase.useMutation, R.vacuumControl.locate.useMutation, R.vacuumControl.setFanSpeed.useMutation, R.vacuumControl.getStatus.useQuery, R.valve.open.useMutation, R.valve.close.useMutation, R.valve.stop.useMutation, R.valve.setPosition.useMutation, R.valve.getStatus.useQuery, R.vibration.getStatus.useQuery, R.videoclips.listClips.useQuery, R.videoclips.getClipPlayback.useQuery, R.waterHeater.setTargetTemp.useMutation, R.waterHeater.setOperationMode.useMutation, R.waterHeater.setAway.useMutation, R.waterHeater.getStatus.useQuery, R.weather.getStatus.useQuery, R.webrtcSession.listStreams.useQuery, R.webrtcSession.createSession.useMutation, R.webrtcSession.handleOffer.useMutation, R.webrtcSession.handleAnswer.useMutation, R.webrtcSession.addIceCandidate.useMutation, R.webrtcSession.getIceCandidates.useQuery, R.webrtcSession.closeSession.useMutation, R.webrtcSession.hasAdaptiveBitrate.useQuery, R.webrtcSession.getSessionState.useQuery, R.zoneAnalytics.getCurrentSnapshot.useQuery, R.zoneAnalytics.getZoneHistory.useQuery, R.zoneAnalytics.getCameraHistory.useQuery, R.zoneAnalytics.getUnzonedHistory.useQuery, R.zoneRules.listRules.useQuery, R.zoneRules.setRules.useMutation, R.zones.listZones.useQuery, R.zones.addZone.useMutation, R.zones.removeZone.useMutation, R.zones.updateZone.useMutation, d(), d(), m("camstack:custom-field-renderers", {}), d(), d(), m("camstack:confirm-dialog", null), d(), m("camstack:device-context", null), d(), d(), m("camstack:widget-registry", null), d(), d();
1749
1749
  //#endregion
1750
1750
  //#region ../ui-library/src/hooks/use-device-capability.ts
1751
1751
  function z(e) {
@@ -3507,7 +3507,7 @@ d(), d(), d(), d(), m("camstack:vod-playback", {
3507
3507
  mode: "live",
3508
3508
  positionMs: null,
3509
3509
  send: () => !1
3510
- }), d(), d(), d(), d(), d(), d(), i(() => import("./MotionZonesSettings-D1fhnzel.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./PrivacyMaskSettings-1RaBK3Qz.mjs").then((e) => ({ default: e.PrivacyMaskSettings }))), d(), d();
3510
+ }), d(), d(), d(), d(), d(), d(), i(() => import("./MotionZonesSettings-CjuAU9G1.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./PrivacyMaskSettings-DGgoakvb.mjs").then((e) => ({ default: e.PrivacyMaskSettings }))), d(), d();
3511
3511
  var jr = Object.defineProperty, Mr = Object.getOwnPropertySymbols, Nr = Object.prototype.hasOwnProperty, Pr = Object.prototype.propertyIsEnumerable, Fr = (e, t, n) => t in e ? jr(e, t, {
3512
3512
  enumerable: !0,
3513
3513
  configurable: !0,
@@ -15767,7 +15767,7 @@ var D_ = class {
15767
15767
  } catch {}
15768
15768
  }
15769
15769
  };
15770
- d(), new D_(), d(), d(), d(), d(), d(), i(() => import("./MaskShapeCanvas-C4g96eMz.mjs").then((e) => ({ default: e.MaskShapeCanvas }))), i(() => import("./MotionZonesSettings-D1fhnzel.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./SceneMonitorEditor-CBciXVys.mjs").then((e) => ({ default: e.SceneMonitorEditor }))), i(() => import("./PrivacyMaskSettings-1RaBK3Qz.mjs").then((e) => ({ default: e.PrivacyMaskSettings })));
15770
+ d(), new D_(), d(), d(), d(), d(), d(), i(() => import("./MaskShapeCanvas-C4g96eMz.mjs").then((e) => ({ default: e.MaskShapeCanvas }))), i(() => import("./MotionZonesSettings-CjuAU9G1.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./SceneMonitorEditor-BbhGQMS0.mjs").then((e) => ({ default: e.SceneMonitorEditor }))), i(() => import("./PrivacyMaskSettings-DGgoakvb.mjs").then((e) => ({ default: e.PrivacyMaskSettings })));
15771
15771
  //#endregion
15772
15772
  //#region src/scrypted/scrypted-yolo-manifest-data.json
15773
15773
  var O_ = /*#__PURE__*/ JSON.parse("[{\"id\":\"scrypted-yolov9t-relu-coreml\",\"label\":\"Scrypted YOLOv9T ReLU CoreML\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9t_relu/scrypted_yolov9t_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"0a8733949d77e3204dba6418e81a11a8cc177015711457ce2c171266f23382d6\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu/scrypted_yolov9t_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322229,\"sha256\":\"f5a62f196f1e72a84efa1637119dffb6501621af9cf6f867bc76b4b59c9242a0\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu/scrypted_yolov9t_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":3797160,\"sha256\":\"b994419b8b68cfd6b89c3c6f3fe6b37458c86cc1d87fcca3df5034476a99dd38\"}],\"sizeMB\":4.12},{\"id\":\"scrypted-yolov9t-relu-onnx\",\"label\":\"Scrypted YOLOv9T ReLU ONNX\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9t_relu/scrypted_yolov9t_relu.onnx\",\"size\":8499266,\"sha256\":\"3f11ea2071b27c285b58c16636a44d6a0a27bdd1ca8b64112dfadabd39cfea47\"}],\"sizeMB\":8.5},{\"id\":\"scrypted-yolov9t-relu-test-coreml\",\"label\":\"Scrypted YOLOv9T ReLU test CoreML\",\"family\":\"yolov9t\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"a5e0128b643f1a66f3e07d4b332f9ccbca97ccab75651c794f0b9f1fb41c8491\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322229,\"sha256\":\"79f4f647f2a0c79db3b560c84251b48c7ba7cbe9c1fecc9674d1a603a389dfa3\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":3797160,\"sha256\":\"72efc9dc6af9241b5e5ee7de24a4f55741f6425d0e279d797f0f223e3d355f84\"}],\"sizeMB\":4.12},{\"id\":\"scrypted-yolov9t-relu-test-onnx\",\"label\":\"Scrypted YOLOv9T ReLU test ONNX\",\"family\":\"yolov9t\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.onnx\",\"size\":8499266,\"sha256\":\"d20aa0e6923a3af7f5e84e3a6d28fb00e8ecd592e3225f986f93bd34b634e2f8\"}],\"sizeMB\":8.5},{\"id\":\"scrypted-yolov9s-relu-coreml\",\"label\":\"Scrypted YOLOv9S ReLU CoreML\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9s_relu/scrypted_yolov9s_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"3bcdb820b82f1e89266f2d11bae1604d3ee4ca6d11dc5bd5c57055ff4157e9f3\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu/scrypted_yolov9s_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322664,\"sha256\":\"9a9c3c9cbca406ec2f0418ec867ed6b878ec6d02c16636d30e0bbd83d2ff7c40\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu/scrypted_yolov9s_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":14190120,\"sha256\":\"fd51eda58a993997268f6a2e424b536ba173207ad7974ab8bee2a8ff76d52dab\"}],\"sizeMB\":14.51},{\"id\":\"scrypted-yolov9s-relu-onnx\",\"label\":\"Scrypted YOLOv9S ReLU ONNX\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9s_relu/scrypted_yolov9s_relu.onnx\",\"size\":29287339,\"sha256\":\"ca0b5bd98d5f59eb2029c6cb5129d53af59873f62a317a028beda463bbb96399\"}],\"sizeMB\":29.29},{\"id\":\"scrypted-yolov9s-relu-test-coreml\",\"label\":\"Scrypted YOLOv9S ReLU test CoreML\",\"family\":\"yolov9s\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"e2d24de0ce7e8573f19572029765e55abc714f36a85175ad7fcb95c001a76653\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322664,\"sha256\":\"186b147cdfd15c5ed7a381ec3a426a22cee0b5c52d56f14efd26da06357f5cb0\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":14190120,\"sha256\":\"e50651924c2cbffd56008a8953569e66c3de69f21807fcf7d825390ce30f21f8\"}],\"sizeMB\":14.51},{\"id\":\"scrypted-yolov9s-relu-test-onnx\",\"label\":\"Scrypted YOLOv9S ReLU test ONNX\",\"family\":\"yolov9s\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.onnx\",\"size\":29287339,\"sha256\":\"115ddb83333762a0f2599421335678696454a5c3571ade5df9bac8e9cb5fb4cf\"}],\"sizeMB\":29.29},{\"id\":\"scrypted-yolov9m-relu-coreml\",\"label\":\"Scrypted YOLOv9M ReLU CoreML\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9m_relu/scrypted_yolov9m_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"c548c6e1ff768b2b01bd71e230aa712a1635ae2baa30e0369557a42fc531ecbf\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu/scrypted_yolov9m_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":247061,\"sha256\":\"1c40e02fc2a2559cb906ea6cd9da9c730d4a78f5019290cbb38d2fcaae379fe7\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu/scrypted_yolov9m_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":39880616,\"sha256\":\"4cf938e5bfcc3ee1644813e4eb4702a7de450cc0581df94c719cf43d0ed2e408\"}],\"sizeMB\":40.13},{\"id\":\"scrypted-yolov9m-relu-onnx\",\"label\":\"Scrypted YOLOv9M ReLU ONNX\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9m_relu/scrypted_yolov9m_relu.onnx\",\"size\":80380404,\"sha256\":\"e7a81fb33224a0105d2a0a594c3fa43c398c361de623f1d14156ae826e7312d5\"}],\"sizeMB\":80.38},{\"id\":\"scrypted-yolov9m-relu-test-coreml\",\"label\":\"Scrypted YOLOv9M ReLU test CoreML\",\"family\":\"yolov9m\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"8e2684b286d02b4bdf9db1027c84cb89bf8e4830cfb58269f3ec457c5a010650\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":247061,\"sha256\":\"53d5946e74b13b15c5f8616081c9f15e8a95a5df3d5b45b830fc5a7f49561c16\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":39880616,\"sha256\":\"69774bf0032c37707601b8cdc1e1820dbd9f8288eb5d6f3879618a5d34ff5199\"}],\"sizeMB\":40.13},{\"id\":\"scrypted-yolov9m-relu-test-onnx\",\"label\":\"Scrypted YOLOv9M ReLU test ONNX\",\"family\":\"yolov9m\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.onnx\",\"size\":80380404,\"sha256\":\"8bb054f099295909ec518e2a6598d63db24d3f90edc8105a0f016903f2a205a2\"}],\"sizeMB\":80.38},{\"id\":\"scrypted-yolov9c-relu-coreml\",\"label\":\"Scrypted YOLOv9C ReLU CoreML\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9c_relu/scrypted_yolov9c_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"813a306ebd69cabfd31f00434f5a961feeca7d237833f3e11805dcf4ad120ba9\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu/scrypted_yolov9c_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":263210,\"sha256\":\"862f082619075e470738306b0ff0a37ae70a7d08e684ca6a6dfa1971d404e0c3\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu/scrypted_yolov9c_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":50489960,\"sha256\":\"ed89747e58943758e2a87221d1d404f6a4466cbc039c3c6f96e327cadc403d27\"}],\"sizeMB\":50.75},{\"id\":\"scrypted-yolov9c-relu-onnx\",\"label\":\"Scrypted YOLOv9C ReLU ONNX\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9c_relu/scrypted_yolov9c_relu.onnx\",\"size\":101631962,\"sha256\":\"b9372c4428daf4cd944c114b1e80d1a9ff0487d743e53a77216a051cfbef7116\"}],\"sizeMB\":101.63},{\"id\":\"scrypted-yolov9c-relu-test-coreml\",\"label\":\"Scrypted YOLOv9C ReLU test CoreML\",\"family\":\"yolov9c\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"966ef82a93cb0ccf1036a8c9729c065fd372fa9590a97d0945e581cc674f7ad2\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":263210,\"sha256\":\"08718ecd3e9552d21a702bd8df60911cad0eec7b2ae382466809550f14634711\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":50489960,\"sha256\":\"fe5936b9430ab4c87f30b148220131d6ec998b2377223d033e2fa2a00e60aada\"}],\"sizeMB\":50.75},{\"id\":\"scrypted-yolov9c-relu-test-onnx\",\"label\":\"Scrypted YOLOv9C ReLU test ONNX\",\"family\":\"yolov9c\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.onnx\",\"size\":101631962,\"sha256\":\"2f4e2031e8efb4cbc871594338b2e875d78ab4af3ee0258d253273b1aac84742\"}],\"sizeMB\":101.63},{\"id\":\"scrypted-yolov9t-relu-openvino-fp32\",\"label\":\"Scrypted YOLOv9T ReLU OpenVINO FP32\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9t_relu/best-converted.xml\",\"size\":628222,\"sha256\":\"01b5a9d02a0f281e1aaf4860e1b0ed3a7f16b9d78975be8ff985ae0ee283d877\"},{\"relativePath\":\"openvino/scrypted_yolov9t_relu/best-converted.bin\",\"size\":7542204,\"sha256\":\"4fe9ce8dbdf94514fdd450cbfc907f257153e4898a0c1489a44e4912d8e32cc7\"}],\"sizeMB\":8.17},{\"id\":\"scrypted-yolov9s-relu-openvino-fp32\",\"label\":\"Scrypted YOLOv9S ReLU OpenVINO FP32\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9s_relu/best-converted.xml\",\"size\":629249,\"sha256\":\"5b4a229bf7229425698b63bd065a403e440a6151a6ddff0034867659cc4a480d\"},{\"relativePath\":\"openvino/scrypted_yolov9s_relu/best-converted.bin\",\"size\":28329724,\"sha256\":\"c030bd219208ea94082578c81f383d4ef9ec45d7150eec1c2c2ff2569cf49b35\"}],\"sizeMB\":28.96},{\"id\":\"scrypted-yolov9m-relu-openvino-fp32\",\"label\":\"Scrypted YOLOv9M ReLU OpenVINO FP32\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9m_relu/best-converted.xml\",\"size\":485439,\"sha256\":\"c66f9f1965bf70fd3635d4dfc3cb94c72c06b344c256713237d77706725b9a0c\"},{\"relativePath\":\"openvino/scrypted_yolov9m_relu/best-converted.bin\",\"size\":79717372,\"sha256\":\"dfc2d8952bbca9ad0e116168e3fd5c754e601c327d78c4f4d0d4cae12f0e1d2a\"}],\"sizeMB\":80.2},{\"id\":\"scrypted-yolov9c-relu-openvino-fp32\",\"label\":\"Scrypted YOLOv9C ReLU OpenVINO FP32\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9c_relu/best-converted.xml\",\"size\":535047,\"sha256\":\"836c1e998ebf76108ff64d554fdfa07aa72c42624f1a5448701bb409f27b8d68\"},{\"relativePath\":\"openvino/scrypted_yolov9c_relu/best-converted.bin\",\"size\":100942972,\"sha256\":\"11a1b330ac9843b349927977b3c7c7f17bb42af73a7ff102969132f27ab81814\"}],\"sizeMB\":101.48},{\"id\":\"scrypted-yolov9t-relu-openvino-int8\",\"label\":\"Scrypted YOLOv9T ReLU OpenVINO INT8\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9t_relu_int8/best-converted.xml\",\"size\":1380379,\"sha256\":\"e5a76bf88ac69fc0ebc50c04b61ff91550dd9c2349af1f6d7e4cac949c640cec\"},{\"relativePath\":\"openvino/scrypted_yolov9t_relu_int8/best-converted.bin\",\"size\":1954956,\"sha256\":\"98fb5b6826d7c6697a585f69ba96754873772d9d61fbed8335aab761e8248659\"}],\"sizeMB\":3.34},{\"id\":\"scrypted-yolov9t-relu-test-openvino-int8\",\"label\":\"Scrypted YOLOv9T ReLU test OpenVINO INT8\",\"family\":\"yolov9t\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9t_relu_test_int8/best-converted.xml\",\"size\":1380383,\"sha256\":\"9e4119284e923e08c9929e78fd31e2552e602a552ac538ae99bf34a50dd4d172\"},{\"relativePath\":\"openvino/scrypted_yolov9t_relu_test_int8/best-converted.bin\",\"size\":1954960,\"sha256\":\"efe5b0a2fd2f5ddef5923eeb9e592a7ef14719061bb7605c86e05b35c2c58ea9\"}],\"sizeMB\":3.34},{\"id\":\"scrypted-yolov9s-relu-openvino-int8\",\"label\":\"Scrypted YOLOv9S ReLU OpenVINO INT8\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9s_relu_int8/best-converted.xml\",\"size\":1382088,\"sha256\":\"4e6c24cf24afbab21462f7e1a15bd05b1cbbe5915046000e03c2435d8110bbbf\"},{\"relativePath\":\"openvino/scrypted_yolov9s_relu_int8/best-converted.bin\",\"size\":7197308,\"sha256\":\"23fd3d666a938c41db232d9c6239baec1134716cfb4ed4ddd3d602dd20eb8ac0\"}],\"sizeMB\":8.58},{\"id\":\"scrypted-yolov9s-relu-test-openvino-int8\",\"label\":\"Scrypted YOLOv9S ReLU test OpenVINO INT8\",\"family\":\"yolov9s\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9s_relu_test_int8/best-converted.xml\",\"size\":1382092,\"sha256\":\"49865bfeafe7576afce089ba6f5c3e25a9192c8b514eb96265c90fe877795641\"},{\"relativePath\":\"openvino/scrypted_yolov9s_relu_test_int8/best-converted.bin\",\"size\":7197312,\"sha256\":\"78e9d36e6b74754db2b624ea3ec0b3ff57ed6dfed59a4f2225e1a271054597de\"}],\"sizeMB\":8.58},{\"id\":\"scrypted-yolov9m-relu-openvino-int8\",\"label\":\"Scrypted YOLOv9M ReLU OpenVINO INT8\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9m_relu_int8/best-converted.xml\",\"size\":1024595,\"sha256\":\"1242ab8d8c73b2e80c5dd541177ade6e102a2684114b059136acb4cad6efb034\"},{\"relativePath\":\"openvino/scrypted_yolov9m_relu_int8/best-converted.bin\",\"size\":20090516,\"sha256\":\"da8e44af8bee66478e6f359e9504bfb13ab4b76f4bd8a2f1b10cfbc22febcf6e\"}],\"sizeMB\":21.12},{\"id\":\"scrypted-yolov9m-relu-test-openvino-int8\",\"label\":\"Scrypted YOLOv9M ReLU test OpenVINO INT8\",\"family\":\"yolov9m\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9m_relu_test_int8/best-converted.xml\",\"size\":1024601,\"sha256\":\"24395ae5fdbb321304c865372cd2b905cdc55abb7610520f3963702e2371decb\"},{\"relativePath\":\"openvino/scrypted_yolov9m_relu_test_int8/best-converted.bin\",\"size\":20090520,\"sha256\":\"4360fe0312067f92c49f180c7b8a10271f14d58b8909aa9b96b13af4ab9289aa\"}],\"sizeMB\":21.12},{\"id\":\"scrypted-yolov9c-relu-openvino-int8\",\"label\":\"Scrypted YOLOv9C ReLU OpenVINO INT8\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9c_relu_int8/best-converted.xml\",\"size\":1092695,\"sha256\":\"a45c62940120c4301d8fff9fb3b275c29e3618f403ea68a785f2f3220cefec7a\"},{\"relativePath\":\"openvino/scrypted_yolov9c_relu_int8/best-converted.bin\",\"size\":25428280,\"sha256\":\"0643403a56178c3ed1e066c7884458d8ea6780115d662bdc38d10754d7a11c79\"}],\"sizeMB\":26.52},{\"id\":\"scrypted-yolov9c-relu-test-openvino-int8\",\"label\":\"Scrypted YOLOv9C ReLU test OpenVINO INT8\",\"family\":\"yolov9c\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9c_relu_test_int8/best-converted.xml\",\"size\":1092695,\"sha256\":\"a8a1899848ebd060af2326d3c8d3c09ea83354f0bedff6cce6fa08b284ea5519\"},{\"relativePath\":\"openvino/scrypted_yolov9c_relu_test_int8/best-converted.bin\",\"size\":25428280,\"sha256\":\"2eb6bb3d0a03a9b239b6f623f9e7bced62eea61fbe4d8ff89c1b3e2e2b7978a2\"}],\"sizeMB\":26.52},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-float16\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite float16\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"float16\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_float16.tflite\",\"size\":14482836,\"sha256\":\"04889db3b81af361c361e41ffa99327330d37b71d680a2f889e6cdf1e94c0d8c\"}],\"sizeMB\":14.48},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-float32\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite float32\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"float32\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_float32.tflite\",\"size\":28777068,\"sha256\":\"f5d7d08fc1d8f2262633d2df4391638e0481740331aaa1837880a47c33001a96\"}],\"sizeMB\":28.78},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-int8\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite int8\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_int8.tflite\",\"size\":7325616,\"sha256\":\"1e9866b16fe80931383bf3c94dc629fe93a37ba3dc1465ea019eb0a50bd428df\"}],\"sizeMB\":7.33},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-integer_quant\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite integer_quant\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"integer_quant\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_integer_quant.tflite\",\"size\":7342552,\"sha256\":\"bc1c902e9a9865637ee2403f70c6bf5c29c695d9163e58ad658feb29bb097ebc\"}],\"sizeMB\":7.34},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-full_integer_quant\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite full_integer_quant\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"full_integer_quant\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_full_integer_quant.tflite\",\"size\":7341704,\"sha256\":\"483ce38dbe33ee5a35f40a82f56c77629a44fa5d95efd8ade9fa97e4d2a261fd\"}],\"sizeMB\":7.34},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-edgetpu\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite edgetpu\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"edgetpu\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_full_integer_quant_edgetpu.tflite\",\"size\":8164480,\"sha256\":\"e1e6b074a3b9fdf19a171baf615553ad375a046aa7de2a3fef9a1950175fab22\"}],\"sizeMB\":8.16}]"), k_ = /^[0-9a-f]{64}$/, A_ = "https://huggingface.co", j_ = "scrypted/plugin-models", M_ = "187402b20a3be0a7fab9bceee21d857ed6ae0064", N_ = [
@@ -15833,7 +15833,8 @@ function H_(e) {
15833
15833
  labels: F_,
15834
15834
  preprocessMode: "resize",
15835
15835
  classMap: P_,
15836
- group: t
15836
+ group: t,
15837
+ provider: "scrypted"
15837
15838
  };
15838
15839
  }
15839
15840
  if (e.format === "openvino") {
@@ -15854,7 +15855,8 @@ function H_(e) {
15854
15855
  labels: F_,
15855
15856
  preprocessMode: "resize",
15856
15857
  classMap: P_,
15857
- group: t
15858
+ group: t,
15859
+ provider: "scrypted"
15858
15860
  };
15859
15861
  }
15860
15862
  let n = e.files[0];
@@ -15872,7 +15874,8 @@ function H_(e) {
15872
15874
  labels: F_,
15873
15875
  preprocessMode: "resize",
15874
15876
  classMap: P_,
15875
- group: t
15877
+ group: t,
15878
+ provider: "scrypted"
15876
15879
  };
15877
15880
  }
15878
15881
  function U_(e) {
@@ -16677,7 +16680,14 @@ function Zv({ row: e, trpc: t, onRemove: n, onChanged: r }) {
16677
16680
  }
16678
16681
  //#endregion
16679
16682
  //#region src/frigate/frigate-import.ts
16680
- var Qv = {
16683
+ function Qv(e, t) {
16684
+ return {
16685
+ family: e === "mobiledet" ? "ssdlite-mobiledet" : e,
16686
+ tier: "default",
16687
+ resolution: t
16688
+ };
16689
+ }
16690
+ var $v = {
16681
16691
  yolov9: {
16682
16692
  type: "yolov9",
16683
16693
  label: "YOLOv9 (ONNX)",
@@ -16706,7 +16716,7 @@ var Qv = {
16706
16716
  notes: "SSDLite MobileDet, EdgeTPU-compiled full-integer TFLite (the Frigate default-model architecture). TFLite_Detection_PostProcess 4-tensor output, decoded by the ssd postprocessor. Requires a Coral (tflite format node)."
16707
16717
  }
16708
16718
  };
16709
- function $v(e) {
16719
+ function ey(e) {
16710
16720
  let t = e.includes("\n") || !e.includes(",") ? e.split("\n") : e.split(","), n = [];
16711
16721
  for (let e of t) {
16712
16722
  let t = e.trim();
@@ -16718,10 +16728,10 @@ function $v(e) {
16718
16728
  }
16719
16729
  //#endregion
16720
16730
  //#region src/frigate/registration.ts
16721
- var ey = /^[a-zA-Z0-9._-]+$/;
16722
- function ty(e) {
16723
- let t = e.type === "custom" ? null : Qv[e.type];
16724
- if (!ey.test(e.modelId)) throw Error(`Model id "${e.modelId}" is invalid — letters, digits, dot, underscore, hyphen only`);
16731
+ var ty = /^[a-zA-Z0-9._-]+$/;
16732
+ function ny(e) {
16733
+ let t = e.type === "custom" ? null : $v[e.type];
16734
+ if (!ty.test(e.modelId)) throw Error(`Model id "${e.modelId}" is invalid — letters, digits, dot, underscore, hyphen only`);
16725
16735
  if (!e.name.trim()) throw Error("Display name is required");
16726
16736
  if (!e.stepId.trim()) throw Error("Step is required");
16727
16737
  if (!(e.inputWidth > 0) || !(e.inputHeight > 0)) throw Error("Input size must be positive");
@@ -16747,7 +16757,11 @@ function ty(e) {
16747
16757
  },
16748
16758
  labels: o,
16749
16759
  ...e.source.kind === "upload" || t !== null ? { preprocessMode: "letterbox" } : {},
16750
- ...r === void 0 ? {} : { postprocessor: r }
16760
+ ...r === void 0 ? {} : { postprocessor: r },
16761
+ ...t === null ? { provider: "custom" } : {
16762
+ provider: "frigate",
16763
+ group: Qv(e.type, e.inputWidth)
16764
+ }
16751
16765
  };
16752
16766
  return {
16753
16767
  stepId: e.stepId.trim(),
@@ -16757,7 +16771,7 @@ function ty(e) {
16757
16771
  //#endregion
16758
16772
  //#region src/components/StepSelect.tsx
16759
16773
  d();
16760
- function ny({ trpc: e, label: t = "Step", value: n, onChange: i, slots: a }) {
16774
+ function ry({ trpc: e, label: t = "Step", value: n, onChange: i, slots: a }) {
16761
16775
  let [o, s] = r(null), [c, l] = r(null);
16762
16776
  return u(() => {
16763
16777
  let t = !1;
@@ -16801,7 +16815,7 @@ function ny({ trpc: e, label: t = "Step", value: n, onChange: i, slots: a }) {
16801
16815
  })]
16802
16816
  });
16803
16817
  }
16804
- var ry = [{
16818
+ var iy = [{
16805
16819
  id: "frigate-mobiledet-edgetpu",
16806
16820
  label: "Frigate default — SSDLite MobileDet (EdgeTPU)",
16807
16821
  format: "tflite",
@@ -16811,11 +16825,11 @@ var ry = [{
16811
16825
  postprocessor: "ssd",
16812
16826
  labels: /* @__PURE__ */ "person.bicycle.car.motorcycle.airplane.bus.train.car.boat.traffic light.fire hydrant.street sign.stop sign.parking meter.bench.bird.cat.dog.horse.sheep.cow.elephant.bear.zebra.giraffe.hat.backpack.umbrella.shoe.eye glasses.handbag.tie.suitcase.frisbee.skis.snowboard.sports ball.kite.baseball bat.baseball glove.skateboard.surfboard.tennis racket.bottle.plate.wine glass.cup.fork.knife.spoon.bowl.banana.apple.sandwich.orange.broccoli.carrot.hot dog.pizza.donut.cake.chair.couch.potted plant.bed.mirror.dining table.window.desk.toilet.door.tv.laptop.mouse.remote.keyboard.cell phone.microwave.oven.toaster.sink.refrigerator.blender.book.clock.vase.scissors.teddy bear.hair drier.toothbrush.hair brush".split("."),
16813
16827
  notes: "Frigate's default detection model (the one a stock Frigate + Coral install runs). EdgeTPU-compiled full-integer TFLite, 320×320, TFLite_Detection_PostProcess output → ssd decode. Requires a Coral (tflite format) node."
16814
- }], iy = /^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}:[a-z0-9]{40}$/;
16815
- function ay(e) {
16816
- return iy.test(e);
16828
+ }], ay = /^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}:[a-z0-9]{40}$/;
16829
+ function oy(e) {
16830
+ return ay.test(e);
16817
16831
  }
16818
- var oy = {
16832
+ var sy = {
16819
16833
  n: "Nano",
16820
16834
  t: "Tiny",
16821
16835
  s: "Small",
@@ -16824,14 +16838,14 @@ var oy = {
16824
16838
  l: "Large",
16825
16839
  x: "Extra large"
16826
16840
  };
16827
- function sy(e) {
16841
+ function cy(e) {
16828
16842
  let t = /^(yolov\d+)([a-z])$/.exec(e);
16829
16843
  if (t !== null) {
16830
16844
  let e = t[2];
16831
16845
  return {
16832
16846
  architecture: t[1],
16833
16847
  weight: e,
16834
- weightLabel: oy[e] ?? e.toUpperCase()
16848
+ weightLabel: sy[e] ?? e.toUpperCase()
16835
16849
  };
16836
16850
  }
16837
16851
  return {
@@ -16840,7 +16854,7 @@ function sy(e) {
16840
16854
  weightLabel: ""
16841
16855
  };
16842
16856
  }
16843
- function cy(e) {
16857
+ function ly(e) {
16844
16858
  switch (e) {
16845
16859
  case "onnx":
16846
16860
  case "openvino": return {
@@ -16879,11 +16893,11 @@ function cy(e) {
16879
16893
  };
16880
16894
  }
16881
16895
  }
16882
- function ly(e) {
16896
+ function uy(e) {
16883
16897
  return e.width !== void 0 && e.height !== void 0 ? `${e.width}x${e.height}` : "";
16884
16898
  }
16885
- var uy = (e, t) => t.trainDate.localeCompare(e.trainDate);
16886
- function dy(e, t, n) {
16899
+ var dy = (e, t) => t.trainDate.localeCompare(e.trainDate);
16900
+ function fy(e, t, n) {
16887
16901
  let r = [
16888
16902
  "kind",
16889
16903
  "release",
@@ -16891,28 +16905,28 @@ function dy(e, t, n) {
16891
16905
  "architecture",
16892
16906
  "weight",
16893
16907
  "dimensions"
16894
- ], i = r.indexOf(n), a = sy(e.name);
16908
+ ], i = r.indexOf(n), a = cy(e.name);
16895
16909
  for (let n = 0; n <= i; n++) {
16896
16910
  let i = r[n];
16897
- if (i === "kind" && t.kind !== void 0 && t.kind === "base" !== e.isBaseModel || i === "release" && t.release !== void 0 && e.baseModel !== t.release || i === "detector" && t.detector !== void 0 && !e.supportedDetectors.includes(t.detector) || i === "architecture" && t.architecture !== void 0 && a.architecture !== t.architecture || i === "weight" && t.weight !== void 0 && a.weight !== t.weight || i === "dimensions" && t.dimensions !== void 0 && ly(e) !== t.dimensions) return !1;
16911
+ if (i === "kind" && t.kind !== void 0 && t.kind === "base" !== e.isBaseModel || i === "release" && t.release !== void 0 && e.baseModel !== t.release || i === "detector" && t.detector !== void 0 && !e.supportedDetectors.includes(t.detector) || i === "architecture" && t.architecture !== void 0 && a.architecture !== t.architecture || i === "weight" && t.weight !== void 0 && a.weight !== t.weight || i === "dimensions" && t.dimensions !== void 0 && uy(e) !== t.dimensions) return !1;
16898
16912
  }
16899
16913
  return !0;
16900
16914
  }
16901
- function fy(e, t) {
16915
+ function py(e, t) {
16902
16916
  let n = /* @__PURE__ */ new Map();
16903
16917
  for (let r of e) for (let e of t(r)) e !== "" && n.set(e, (n.get(e) ?? 0) + 1);
16904
16918
  return n;
16905
16919
  }
16906
- function py(e, t) {
16907
- let n = fy(e, (e) => [e.isBaseModel ? "base" : "custom"]), r = ["custom", "base"].filter((e) => (n.get(e) ?? 0) > 0).map((e) => ({
16920
+ function my(e, t) {
16921
+ let n = py(e, (e) => [e.isBaseModel ? "base" : "custom"]), r = ["custom", "base"].filter((e) => (n.get(e) ?? 0) > 0).map((e) => ({
16908
16922
  value: e,
16909
16923
  label: e === "custom" ? "My trainings" : "Official base",
16910
16924
  count: n.get(e)
16911
- })), i = [...fy(e.filter((e) => dy(e, t, "kind")), (e) => [e.baseModel]).entries()].toSorted((e, t) => t[0].localeCompare(e[0], void 0, { numeric: !0 })).map(([e, t]) => ({
16925
+ })), i = [...py(e.filter((e) => fy(e, t, "kind")), (e) => [e.baseModel]).entries()].toSorted((e, t) => t[0].localeCompare(e[0], void 0, { numeric: !0 })).map(([e, t]) => ({
16912
16926
  value: e,
16913
16927
  label: e,
16914
16928
  count: t
16915
- })), a = fy(e.filter((e) => dy(e, t, "release")), (e) => e.supportedDetectors), o = {
16929
+ })), a = py(e.filter((e) => fy(e, t, "release")), (e) => e.supportedDetectors), o = {
16916
16930
  supported: 0,
16917
16931
  "coral-only": 1,
16918
16932
  unsupported: 2
@@ -16924,31 +16938,31 @@ function py(e, t) {
16924
16938
  value: e,
16925
16939
  label: e,
16926
16940
  count: t,
16927
- support: cy(e)
16941
+ support: ly(e)
16928
16942
  })).toSorted((e, t) => o[e.support.kind] - o[t.support.kind] || e.value.localeCompare(t.value)),
16929
- architecture: [...fy(e.filter((e) => dy(e, t, "detector")), (e) => [sy(e.name).architecture]).entries()].toSorted((e, t) => e[0].localeCompare(t[0])).map(([e, t]) => ({
16943
+ architecture: [...py(e.filter((e) => fy(e, t, "detector")), (e) => [cy(e.name).architecture]).entries()].toSorted((e, t) => e[0].localeCompare(t[0])).map(([e, t]) => ({
16930
16944
  value: e,
16931
16945
  label: e,
16932
16946
  count: t
16933
16947
  })),
16934
- weight: [...fy(e.filter((e) => dy(e, t, "architecture")), (e) => [sy(e.name).weight]).entries()].toSorted((e, t) => e[0].localeCompare(t[0])).map(([e, t]) => ({
16948
+ weight: [...py(e.filter((e) => fy(e, t, "architecture")), (e) => [cy(e.name).weight]).entries()].toSorted((e, t) => e[0].localeCompare(t[0])).map(([e, t]) => ({
16935
16949
  value: e,
16936
- label: oy[e] ?? e.toUpperCase(),
16950
+ label: sy[e] ?? e.toUpperCase(),
16937
16951
  count: t
16938
16952
  })),
16939
- dimensions: [...fy(e.filter((e) => dy(e, t, "weight")), (e) => [ly(e)]).entries()].toSorted((e, t) => e[0].localeCompare(t[0], void 0, { numeric: !0 })).map(([e, t]) => ({
16953
+ dimensions: [...py(e.filter((e) => fy(e, t, "weight")), (e) => [uy(e)]).entries()].toSorted((e, t) => e[0].localeCompare(t[0], void 0, { numeric: !0 })).map(([e, t]) => ({
16940
16954
  value: e,
16941
16955
  label: e.replace("x", "×"),
16942
16956
  count: t
16943
16957
  })),
16944
- entries: e.filter((e) => dy(e, t, "dimensions")).toSorted(uy)
16958
+ entries: e.filter((e) => fy(e, t, "dimensions")).toSorted(dy)
16945
16959
  };
16946
16960
  }
16947
16961
  //#endregion
16948
16962
  //#region src/tabs/FrigateSourceSections.tsx
16949
16963
  d();
16950
- var my = "https://docs.frigate.video/integrations/plus/", hy = "w-full px-3 py-1.5 text-xs rounded-md border border-border bg-surface text-foreground focus:outline-none focus:border-primary/50";
16951
- function gy(e, t) {
16964
+ var hy = "https://docs.frigate.video/integrations/plus/", gy = "w-full px-3 py-1.5 text-xs rounded-md border border-border bg-surface text-foreground focus:outline-none focus:border-primary/50";
16965
+ function _y(e, t) {
16952
16966
  let [n, i] = r(null);
16953
16967
  return u(() => {
16954
16968
  if (!t) return;
@@ -16962,7 +16976,7 @@ function gy(e, t) {
16962
16976
  };
16963
16977
  }, [e, t]), t ? n : [];
16964
16978
  }
16965
- function _y({ nodes: e }) {
16979
+ function vy({ nodes: e }) {
16966
16980
  return e === null ? /* @__PURE__ */ T("div", {
16967
16981
  className: "text-[10px] text-foreground-subtle",
16968
16982
  children: "Checking Coral availability…"
@@ -16978,8 +16992,8 @@ function _y({ nodes: e }) {
16978
16992
  ]
16979
16993
  });
16980
16994
  }
16981
- function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
16982
- let [o, s] = r(null), [c, l] = r(null), [d, f] = r(null), [p, m] = r({}), [h, g] = r(""), [_, v] = r(""), [y, b] = r(""), [x, S] = r(!1), [C, w] = r(null), [O, k] = r(!1), ee = gy(e, O), [A, j] = r(""), [M, te] = r(null), [ne, N] = r(!1), [P, F] = r(!1), re = t(async () => {
16995
+ function yy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
16996
+ let [o, s] = r(null), [c, l] = r(null), [d, f] = r(null), [p, m] = r({}), [h, g] = r(""), [_, v] = r(""), [y, b] = r(""), [x, S] = r(!1), [C, w] = r(null), [O, k] = r(!1), ee = _y(e, O), [A, j] = r(""), [M, te] = r(null), [ne, N] = r(!1), [P, F] = r(!1), re = t(async () => {
16983
16997
  S(!0);
16984
16998
  try {
16985
16999
  f(await Fv(e));
@@ -17013,7 +17027,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17013
17027
  }, [e]), I = t(async () => {
17014
17028
  te(null);
17015
17029
  let t = A.trim();
17016
- if (!ay(t)) {
17030
+ if (!oy(t)) {
17017
17031
  te("The key does not match the documented \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:40-hex\" format shown in your Frigate+ account.");
17018
17032
  return;
17019
17033
  }
@@ -17048,7 +17062,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17048
17062
  onChange: (e) => j(e.target.value),
17049
17063
  placeholder: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:…",
17050
17064
  autoComplete: "off",
17051
- className: hy
17065
+ className: gy
17052
17066
  })
17053
17067
  }),
17054
17068
  /* @__PURE__ */ E("div", {
@@ -17129,7 +17143,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17129
17143
  "weight",
17130
17144
  "dimensions"
17131
17145
  ]) {
17132
- let n = py(d, t)[e];
17146
+ let n = my(d, t)[e];
17133
17147
  if (n.length === 0) continue;
17134
17148
  let r = t[e];
17135
17149
  (r === void 0 || !n.some((e) => e.value === r)) && (t = {
@@ -17138,12 +17152,12 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17138
17152
  });
17139
17153
  }
17140
17154
  return t;
17141
- })(p), r = py(d, t);
17155
+ })(p), r = my(d, t);
17142
17156
  if (r.entries.length === 0) return /* @__PURE__ */ T("div", {
17143
17157
  className: "text-[11px] text-foreground-subtle",
17144
17158
  children: "No models visible to this account yet — train one on Frigate+."
17145
17159
  });
17146
- let a = r.entries.find((e) => e.id === h) ?? r.entries[0], o = cy(t.detector ?? ""), s = o.kind === "unsupported" || o.kind === "coral-only" && (ee === null || ee.length === 0), c = (e, n) => {
17160
+ let a = r.entries.find((e) => e.id === h) ?? r.entries[0], o = ly(t.detector ?? ""), s = o.kind === "unsupported" || o.kind === "coral-only" && (ee === null || ee.length === 0), c = (e, n) => {
17147
17161
  let r = [
17148
17162
  "kind",
17149
17163
  "release",
@@ -17171,7 +17185,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17171
17185
  }) : /* @__PURE__ */ T("select", {
17172
17186
  value: a,
17173
17187
  onChange: (e) => c(n, e.target.value),
17174
- className: hy,
17188
+ className: gy,
17175
17189
  children: r.map((e) => /* @__PURE__ */ T("option", {
17176
17190
  value: e.value,
17177
17191
  children: o(e)
@@ -17191,7 +17205,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17191
17205
  }) : /* @__PURE__ */ T("select", {
17192
17206
  value: t.detector ?? "",
17193
17207
  onChange: (e) => c("detector", e.target.value),
17194
- className: hy,
17208
+ className: gy,
17195
17209
  children: r.detector.map((e) => /* @__PURE__ */ E("option", {
17196
17210
  value: e.value,
17197
17211
  children: [
@@ -17207,7 +17221,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17207
17221
  className: ["block text-[10px] pt-1", o.kind === "supported" ? "text-foreground-subtle" : "text-amber-300"].join(" "),
17208
17222
  children: o.reason
17209
17223
  }),
17210
- o.kind === "coral-only" && /* @__PURE__ */ T(yy, {
17224
+ o.kind === "coral-only" && /* @__PURE__ */ T(by, {
17211
17225
  onNeeded: () => k(!0),
17212
17226
  nodes: ee
17213
17227
  })
@@ -17221,7 +17235,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17221
17235
  children: /* @__PURE__ */ T("select", {
17222
17236
  value: a.id,
17223
17237
  onChange: (e) => g(e.target.value),
17224
- className: hy,
17238
+ className: gy,
17225
17239
  children: r.entries.map((e) => /* @__PURE__ */ E("option", {
17226
17240
  value: e.id,
17227
17241
  children: [e.trainDate ? e.trainDate.slice(0, 10) : e.id, e.verifiedImages > 0 ? ` · ${e.verifiedImages} verified images` : ""]
@@ -17249,7 +17263,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17249
17263
  }),
17250
17264
  " · input",
17251
17265
  " ",
17252
- ly(a).replace("x", "×"),
17266
+ uy(a).replace("x", "×"),
17253
17267
  a.hailoDevice ? /* @__PURE__ */ E(D, { children: [
17254
17268
  " ",
17255
17269
  "· hailo ",
@@ -17285,7 +17299,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17285
17299
  label: "Local model id",
17286
17300
  value: _,
17287
17301
  onChange: v,
17288
- placeholder: `frigate-plus-${sy(a.name).architecture}`
17302
+ placeholder: `frigate-plus-${cy(a.name).architecture}`
17289
17303
  }), /* @__PURE__ */ T(Uv, {
17290
17304
  label: "Display name (optional)",
17291
17305
  value: y,
@@ -17295,7 +17309,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17295
17309
  }),
17296
17310
  /* @__PURE__ */ T("button", {
17297
17311
  onClick: () => {
17298
- let t = _.trim() || `frigate-plus-${sy(a.name).architecture}`;
17312
+ let t = _.trim() || `frigate-plus-${cy(a.name).architecture}`;
17299
17313
  S(!0), w(null);
17300
17314
  let r = jv(e, (e) => {
17301
17315
  w(`${e.phase}${e.pct === void 0 ? "" : ` ${e.pct}%`}${e.detail ? ` — ${e.detail}` : ""}`);
@@ -17305,7 +17319,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17305
17319
  modelId: t,
17306
17320
  ...y.trim() ? { name: y.trim() } : { name: a.name }
17307
17321
  }).then((e) => {
17308
- n(`Imported "${e.modelId}" (${(e.bytes / 1e6).toFixed(1)} MB).${by(e.conversions)} Use Library → Distribute to copy artifacts to other nodes.`);
17322
+ n(`Imported "${e.modelId}" (${(e.bytes / 1e6).toFixed(1)} MB).${xy(e.conversions)} Use Library → Distribute to copy artifacts to other nodes.`);
17309
17323
  }).catch((e) => {
17310
17324
  i(e instanceof Error ? e.message : "Frigate+ import failed");
17311
17325
  }).finally(() => {
@@ -17330,7 +17344,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17330
17344
  }), /* @__PURE__ */ E("div", { children: [
17331
17345
  "With a key, this source lists exactly what your account has access to (",
17332
17346
  /* @__PURE__ */ T("a", {
17333
- href: my,
17347
+ href: hy,
17334
17348
  target: "_blank",
17335
17349
  rel: "noreferrer",
17336
17350
  className: "text-primary hover:underline",
@@ -17342,7 +17356,7 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17342
17356
  L,
17343
17357
  /* @__PURE__ */ T("div", {
17344
17358
  className: "border-t border-border/50 pt-3 space-y-2",
17345
- children: ry.map((t) => /* @__PURE__ */ T(xy, {
17359
+ children: iy.map((t) => /* @__PURE__ */ T(Sy, {
17346
17360
  trpc: e,
17347
17361
  catalogId: t.id,
17348
17362
  onRegistered: n,
@@ -17353,16 +17367,16 @@ function vy({ trpc: e, onRegistered: n, onError: i, onPrefillUpload: a }) {
17353
17367
  ]
17354
17368
  });
17355
17369
  }
17356
- function yy({ onNeeded: e, nodes: t }) {
17370
+ function by({ onNeeded: e, nodes: t }) {
17357
17371
  return u(() => {
17358
17372
  e();
17359
- }, []), /* @__PURE__ */ T(_y, { nodes: t });
17373
+ }, []), /* @__PURE__ */ T(vy, { nodes: t });
17360
17374
  }
17361
- function by(e) {
17375
+ function xy(e) {
17362
17376
  return e.length === 0 ? "" : ` Engine conversions: ${e.map((e) => e.ok ? `${e.format} ✓${e.nodeId ? ` (${e.nodeId})` : ""}` : `${e.format} ✗ — ${e.error ?? "failed"}`).join("; ")}.`;
17363
17377
  }
17364
- function xy({ trpc: e, catalogId: t, onRegistered: n, onError: i, onPrefillUpload: a }) {
17365
- let o = ry.find((e) => e.id === t), [s, c] = r(!1), l = gy(e, o?.format === "tflite");
17378
+ function Sy({ trpc: e, catalogId: t, onRegistered: n, onError: i, onPrefillUpload: a }) {
17379
+ let o = iy.find((e) => e.id === t), [s, c] = r(!1), l = _y(e, o?.format === "tflite");
17366
17380
  if (!o) return null;
17367
17381
  let u = o.format === "tflite" && (l === null || l.length === 0);
17368
17382
  return /* @__PURE__ */ E("div", {
@@ -17391,7 +17405,7 @@ function xy({ trpc: e, catalogId: t, onRegistered: n, onError: i, onPrefillUploa
17391
17405
  ". EdgeTPU tflite — engine conversion does not apply."
17392
17406
  ]
17393
17407
  }),
17394
- o.format === "tflite" && /* @__PURE__ */ T(_y, { nodes: l }),
17408
+ o.format === "tflite" && /* @__PURE__ */ T(vy, { nodes: l }),
17395
17409
  /* @__PURE__ */ E("div", {
17396
17410
  className: "flex items-center gap-2 flex-wrap",
17397
17411
  children: [/* @__PURE__ */ T("button", {
@@ -17422,39 +17436,36 @@ function xy({ trpc: e, catalogId: t, onRegistered: n, onError: i, onPrefillUploa
17422
17436
  }
17423
17437
  //#endregion
17424
17438
  //#region src/scrypted/scrypted-catalog-selectors.ts
17425
- var Sy = [
17439
+ var Cy = [
17426
17440
  "yolov9t",
17427
17441
  "yolov9s",
17428
17442
  "yolov9m",
17429
17443
  "yolov9c"
17430
- ], Cy = ["relu", "relu_test"], wy = [
17444
+ ], wy = ["relu", "relu_test"], Ty = [
17431
17445
  "coreml",
17432
17446
  "onnx",
17433
17447
  "openvino",
17434
17448
  "tflite"
17435
- ], Ty = [
17449
+ ], Ey = [
17436
17450
  "family",
17437
17451
  "variant",
17438
17452
  "format",
17439
17453
  "precision",
17440
17454
  "inputSize"
17441
- ], Ey = {
17455
+ ], Dy = {
17442
17456
  yolov9t: "T",
17443
17457
  yolov9s: "S",
17444
17458
  yolov9m: "M",
17445
17459
  yolov9c: "C"
17446
- }, Dy = {
17460
+ }, Oy = {
17447
17461
  relu: "Standard",
17448
17462
  relu_test: "Test"
17449
- }, Oy = {
17463
+ }, ky = {
17450
17464
  coreml: "CoreML",
17451
17465
  onnx: "ONNX",
17452
17466
  openvino: "OpenVINO",
17453
17467
  tflite: "TFLite"
17454
17468
  };
17455
- function ky(e) {
17456
- return Sy.includes(e);
17457
- }
17458
17469
  function Ay(e) {
17459
17470
  return Cy.includes(e);
17460
17471
  }
@@ -17462,51 +17473,54 @@ function jy(e) {
17462
17473
  return wy.includes(e);
17463
17474
  }
17464
17475
  function My(e) {
17465
- return typeof e == "string" ? e.includes("x") || e.includes("×") ? e.replace("×", "x") : e : `${e.width}x${e.height}`;
17476
+ return Ty.includes(e);
17466
17477
  }
17467
17478
  function Ny(e) {
17468
- return e.replace("x", "×");
17479
+ return typeof e == "string" ? e.includes("x") || e.includes("×") ? e.replace("×", "x") : e : `${e.width}x${e.height}`;
17469
17480
  }
17470
17481
  function Py(e) {
17471
- if (!(!ky(e.family) || !Ay(e.variant) || !jy(e.format))) return e;
17482
+ return e.replace("x", "×");
17472
17483
  }
17473
- function Fy(e, t) {
17484
+ function Fy(e) {
17485
+ if (!(!Ay(e.family) || !jy(e.variant) || !My(e.format))) return e;
17486
+ }
17487
+ function Iy(e, t) {
17474
17488
  return e.filter((e) => {
17475
- let n = Py(e);
17476
- return !(!n || t.family !== void 0 && n.family !== t.family || t.variant !== void 0 && n.variant !== t.variant || t.format !== void 0 && n.format !== t.format || t.precision !== void 0 && n.precision !== t.precision || t.inputSize !== void 0 && My(n.inputSize) !== t.inputSize);
17489
+ let n = Fy(e);
17490
+ return !(!n || t.family !== void 0 && n.family !== t.family || t.variant !== void 0 && n.variant !== t.variant || t.format !== void 0 && n.format !== t.format || t.precision !== void 0 && n.precision !== t.precision || t.inputSize !== void 0 && Ny(n.inputSize) !== t.inputSize);
17477
17491
  });
17478
17492
  }
17479
- function Iy(e) {
17493
+ function Ly(e) {
17480
17494
  let t = /* @__PURE__ */ new Set(), n = [];
17481
17495
  for (let r of e) t.has(r) || (t.add(r), n.push(r));
17482
17496
  return n;
17483
17497
  }
17484
- function Ly(e) {
17485
- let t = new Set(e.map((e) => e.family).filter((e) => ky(e)));
17486
- return Sy.filter((e) => t.has(e)).map((e) => ({
17487
- value: e,
17488
- label: Ey[e]
17489
- }));
17490
- }
17491
- function Ry(e, t) {
17492
- let n = Fy(e, { family: t.family }), r = new Set(n.map((e) => e.variant).filter((e) => Ay(e)));
17493
- return Cy.filter((e) => r.has(e)).map((e) => ({
17498
+ function Ry(e) {
17499
+ let t = new Set(e.map((e) => e.family).filter((e) => Ay(e)));
17500
+ return Cy.filter((e) => t.has(e)).map((e) => ({
17494
17501
  value: e,
17495
17502
  label: Dy[e]
17496
17503
  }));
17497
17504
  }
17498
17505
  function zy(e, t) {
17499
- let n = Fy(e, {
17500
- family: t.family,
17501
- variant: t.variant
17502
- }), r = new Set(n.map((e) => e.format).filter((e) => jy(e)));
17506
+ let n = Iy(e, { family: t.family }), r = new Set(n.map((e) => e.variant).filter((e) => jy(e)));
17503
17507
  return wy.filter((e) => r.has(e)).map((e) => ({
17504
17508
  value: e,
17505
17509
  label: Oy[e]
17506
17510
  }));
17507
17511
  }
17508
17512
  function By(e, t) {
17509
- return Iy(Fy(e, {
17513
+ let n = Iy(e, {
17514
+ family: t.family,
17515
+ variant: t.variant
17516
+ }), r = new Set(n.map((e) => e.format).filter((e) => My(e)));
17517
+ return Ty.filter((e) => r.has(e)).map((e) => ({
17518
+ value: e,
17519
+ label: ky[e]
17520
+ }));
17521
+ }
17522
+ function Vy(e, t) {
17523
+ return Ly(Iy(e, {
17510
17524
  family: t.family,
17511
17525
  variant: t.variant,
17512
17526
  format: t.format
@@ -17515,34 +17529,34 @@ function By(e, t) {
17515
17529
  label: e
17516
17530
  }));
17517
17531
  }
17518
- function Vy(e, t) {
17519
- return Iy(Fy(e, {
17532
+ function Hy(e, t) {
17533
+ return Ly(Iy(e, {
17520
17534
  family: t.family,
17521
17535
  variant: t.variant,
17522
17536
  format: t.format,
17523
17537
  precision: t.precision
17524
- }).map((e) => My(e.inputSize))).map((e) => ({
17538
+ }).map((e) => Ny(e.inputSize))).map((e) => ({
17525
17539
  value: e,
17526
- label: Ny(e)
17540
+ label: Py(e)
17527
17541
  }));
17528
17542
  }
17529
- function Hy(e, t) {
17530
- let n = t.family, r = n !== void 0 && Ly(e).some((e) => e.value === n), i = {};
17543
+ function Uy(e, t) {
17544
+ let n = t.family, r = n !== void 0 && Ry(e).some((e) => e.value === n), i = {};
17531
17545
  if (!r) return i;
17532
17546
  i.family = n;
17533
17547
  let a = t.variant;
17534
- a !== void 0 && Ry(e, i).some((e) => e.value === a) && (i.variant = a);
17548
+ a !== void 0 && zy(e, i).some((e) => e.value === a) && (i.variant = a);
17535
17549
  let o = t.format;
17536
- o !== void 0 && zy(e, i).some((e) => e.value === o) && (i.format = o);
17550
+ o !== void 0 && By(e, i).some((e) => e.value === o) && (i.format = o);
17537
17551
  let s = t.precision;
17538
- s !== void 0 && By(e, i).some((e) => e.value === s) && (i.precision = s);
17552
+ s !== void 0 && Vy(e, i).some((e) => e.value === s) && (i.precision = s);
17539
17553
  let c = t.inputSize;
17540
- return c !== void 0 && Vy(e, i).some((e) => e.value === c) && (i.inputSize = c), i;
17554
+ return c !== void 0 && Hy(e, i).some((e) => e.value === c) && (i.inputSize = c), i;
17541
17555
  }
17542
- function Uy(e, t, n) {
17543
- let r = Ty.indexOf(t), i = {};
17556
+ function Wy(e, t, n) {
17557
+ let r = Ey.indexOf(t), i = {};
17544
17558
  for (let t = 0; t < r; t++) {
17545
- let n = Ty[t], r = e[n];
17559
+ let n = Ey[t], r = e[n];
17546
17560
  r !== void 0 && Object.assign(i, { [n]: r });
17547
17561
  }
17548
17562
  return {
@@ -17550,69 +17564,69 @@ function Uy(e, t, n) {
17550
17564
  [t]: n
17551
17565
  };
17552
17566
  }
17553
- function Wy(e, t) {
17554
- let n = Hy(e, t), r = Ly(e);
17567
+ function Gy(e, t) {
17568
+ let n = Uy(e, t), r = Ry(e);
17555
17569
  n.family === void 0 && r.length === 1 && (n = {
17556
17570
  ...n,
17557
17571
  family: r[0].value
17558
17572
  });
17559
- let i = Ry(e, n);
17573
+ let i = zy(e, n);
17560
17574
  n.variant === void 0 && i.length === 1 && (n = {
17561
17575
  ...n,
17562
17576
  variant: i[0].value
17563
17577
  });
17564
- let a = zy(e, n);
17578
+ let a = By(e, n);
17565
17579
  n.format === void 0 && a.length === 1 && (n = {
17566
17580
  ...n,
17567
17581
  format: a[0].value
17568
17582
  });
17569
- let o = By(e, n);
17583
+ let o = Vy(e, n);
17570
17584
  n.precision === void 0 && o.length === 1 && (n = {
17571
17585
  ...n,
17572
17586
  precision: o[0].value
17573
17587
  });
17574
- let s = Vy(e, n);
17588
+ let s = Hy(e, n);
17575
17589
  return n.inputSize === void 0 && s.length === 1 && (n = {
17576
17590
  ...n,
17577
17591
  inputSize: s[0].value
17578
17592
  }), n;
17579
17593
  }
17580
- function Gy(e, t) {
17594
+ function Ky(e, t) {
17581
17595
  if (t.family === void 0 || t.variant === void 0 || t.format === void 0 || t.precision === void 0 || t.inputSize === void 0) return;
17582
- let n = Fy(e, t);
17596
+ let n = Iy(e, t);
17583
17597
  return n.length === 1 ? n[0] : void 0;
17584
17598
  }
17585
- function Ky(e) {
17586
- return Oy[e];
17587
- }
17588
17599
  function qy(e) {
17589
- return `${e.family === void 0 ? "—" : Ey[e.family]} → ${e.variant === void 0 ? "—" : Dy[e.variant]} → ${e.format === void 0 ? "—" : Oy[e.format]} → ${e.precision ?? "—"} → ${e.inputSize === void 0 ? "—" : Ny(e.inputSize)}`;
17600
+ return ky[e];
17601
+ }
17602
+ function Jy(e) {
17603
+ return `${e.family === void 0 ? "—" : Dy[e.family]} → ${e.variant === void 0 ? "—" : Oy[e.variant]} → ${e.format === void 0 ? "—" : ky[e.format]} → ${e.precision ?? "—"} → ${e.inputSize === void 0 ? "—" : Py(e.inputSize)}`;
17590
17604
  }
17591
- function Jy(e, t) {
17605
+ function Yy(e, t) {
17592
17606
  return e.find((e) => e.manifestId === t)?.status;
17593
17607
  }
17594
- function Yy(e) {
17608
+ function Xy(e) {
17595
17609
  if (e.imported) return "Already imported on this hub.";
17596
17610
  if (e.availabilityKnown === !1) return "Import blocked: hub availability is unknown and cannot be verified.";
17597
17611
  if (e.driftStatus !== "ok") return e.driftStatus === "missing" ? "Import blocked: remote artifact is missing from the verified tree." : e.driftStatus === "size-changed" ? "Import blocked: remote artifact size no longer matches the verified manifesto." : e.driftStatus === "unavailable" ? "Import blocked: catalog drift is unavailable and cannot be verified." : "Import blocked: catalog drift is unknown and cannot be verified.";
17598
17612
  }
17599
- function Xy(e, t) {
17613
+ function Zy(e, t) {
17600
17614
  let n = e[t];
17601
17615
  return typeof n == "object" && !!n && Object.keys(n).length > 0;
17602
17616
  }
17603
17617
  //#endregion
17604
17618
  //#region src/tabs/ScryptedTab.tsx
17605
17619
  d();
17606
- var Zy = "w-full px-3 py-1.5 text-xs rounded-md border border-border bg-surface text-foreground focus:outline-none focus:border-primary/50 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary motion-reduce:transition-none disabled:opacity-50", Qy = "px-4 py-1.5 text-xs font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50 transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary motion-reduce:transition-none", $y = "px-2.5 py-1 text-[10px] font-medium rounded-md border border-border text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary motion-reduce:transition-none";
17607
- function eb(e) {
17620
+ var Qy = "w-full px-3 py-1.5 text-xs rounded-md border border-border bg-surface text-foreground focus:outline-none focus:border-primary/50 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary motion-reduce:transition-none disabled:opacity-50", $y = "px-4 py-1.5 text-xs font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50 transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary motion-reduce:transition-none", eb = "px-2.5 py-1 text-[10px] font-medium rounded-md border border-border text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary motion-reduce:transition-none";
17621
+ function tb(e) {
17608
17622
  let t = e.model.formats[e.format]?.sizeMB;
17609
17623
  return typeof t == "number" && t > 0 ? t : e.files.reduce((e, t) => e + t.size, 0) / 1e6;
17610
17624
  }
17611
- function tb(e) {
17612
- let t = e.model.formats[e.format]?.runtimes, n = [Ky(e.format)];
17625
+ function nb(e) {
17626
+ let t = e.model.formats[e.format]?.runtimes, n = [qy(e.format)];
17613
17627
  return t && t.length > 0 ? [...n, ...t] : n;
17614
17628
  }
17615
- function nb({ trpc: e, onImported: n }) {
17629
+ function rb({ trpc: e, onImported: n }) {
17616
17630
  let [i, a] = r(null), [c, l] = r([]), [d, f] = r(null), [p, m] = r(null), [h, g] = r({}), [_, v] = r(!1), [y, b] = r(null), x = o(0), S = o(!1), C = t(async () => {
17617
17631
  let t = ++x.current;
17618
17632
  m(null);
@@ -17625,7 +17639,7 @@ function nb({ trpc: e, onImported: n }) {
17625
17639
  cause: e
17626
17640
  })), [i, o] = await Promise.all([n, r]);
17627
17641
  if (t !== x.current) return;
17628
- a(i.entries), l(i.drift), f(o.ok ? o.value : null), g((e) => Wy(i.entries, e));
17642
+ a(i.entries), l(i.drift), f(o.ok ? o.value : null), g((e) => Gy(i.entries, e));
17629
17643
  } catch (e) {
17630
17644
  if (t !== x.current) return;
17631
17645
  a(null), m(e instanceof Error ? e.message : "Failed to load Scrypted catalog");
@@ -17634,12 +17648,12 @@ function nb({ trpc: e, onImported: n }) {
17634
17648
  u(() => {
17635
17649
  C();
17636
17650
  }, [C]);
17637
- let w = s(() => Ly(i ?? []), [i]), D = s(() => Ry(i ?? [], h), [i, h]), O = s(() => zy(i ?? [], h), [i, h]), k = s(() => By(i ?? [], h), [i, h]), ee = s(() => Vy(i ?? [], h), [i, h]), A = s(() => i ? Gy(i, h) : void 0, [i, h]), j = d !== null, M = j && A !== void 0 && Xy(d, A.id), te = A === void 0 ? void 0 : Jy(c, A.id), ne = A ? Yy({
17651
+ let w = s(() => Ry(i ?? []), [i]), D = s(() => zy(i ?? [], h), [i, h]), O = s(() => By(i ?? [], h), [i, h]), k = s(() => Vy(i ?? [], h), [i, h]), ee = s(() => Hy(i ?? [], h), [i, h]), A = s(() => i ? Ky(i, h) : void 0, [i, h]), j = d !== null, M = j && A !== void 0 && Zy(d, A.id), te = A === void 0 ? void 0 : Yy(c, A.id), ne = A ? Xy({
17638
17652
  driftStatus: te,
17639
17653
  imported: M,
17640
17654
  availabilityKnown: j
17641
17655
  }) : void 0, N = (e, t) => {
17642
- i !== null && (b(null), g(Wy(i, Uy(h, e, t))));
17656
+ i !== null && (b(null), g(Gy(i, Wy(h, e, t))));
17643
17657
  }, P = t(async () => {
17644
17658
  if (!(S.current || _) && !(A === void 0 || ne !== void 0)) {
17645
17659
  S.current = !0, v(!0), b(null);
@@ -17674,7 +17688,7 @@ function nb({ trpc: e, onImported: n }) {
17674
17688
  }), /* @__PURE__ */ T("button", {
17675
17689
  type: "button",
17676
17690
  onClick: () => void C(),
17677
- className: $y,
17691
+ className: eb,
17678
17692
  children: "Retry"
17679
17693
  })]
17680
17694
  }) : i !== null && i.length === 0 ? /* @__PURE__ */ T("div", {
@@ -17694,7 +17708,7 @@ function nb({ trpc: e, onImported: n }) {
17694
17708
  type: "button",
17695
17709
  onClick: () => void C(),
17696
17710
  disabled: _,
17697
- className: $y,
17711
+ className: eb,
17698
17712
  children: "Refresh"
17699
17713
  })]
17700
17714
  }),
@@ -17707,7 +17721,7 @@ function nb({ trpc: e, onImported: n }) {
17707
17721
  }), /* @__PURE__ */ T("span", {
17708
17722
  className: "font-mono",
17709
17723
  "data-testid": "scrypted-artifact-trace",
17710
- children: qy(h)
17724
+ children: Jy(h)
17711
17725
  })]
17712
17726
  }),
17713
17727
  /* @__PURE__ */ E("div", {
@@ -17718,7 +17732,7 @@ function nb({ trpc: e, onImported: n }) {
17718
17732
  children: /* @__PURE__ */ E("select", {
17719
17733
  value: h.family ?? "",
17720
17734
  onChange: (e) => N("family", e.target.value),
17721
- className: Zy,
17735
+ className: Qy,
17722
17736
  children: [/* @__PURE__ */ T("option", {
17723
17737
  value: "",
17724
17738
  disabled: !0,
@@ -17735,7 +17749,7 @@ function nb({ trpc: e, onImported: n }) {
17735
17749
  value: h.variant ?? "",
17736
17750
  onChange: (e) => N("variant", e.target.value),
17737
17751
  disabled: D.length === 0,
17738
- className: Zy,
17752
+ className: Qy,
17739
17753
  children: [/* @__PURE__ */ T("option", {
17740
17754
  value: "",
17741
17755
  disabled: !0,
@@ -17752,7 +17766,7 @@ function nb({ trpc: e, onImported: n }) {
17752
17766
  value: h.format ?? "",
17753
17767
  onChange: (e) => N("format", e.target.value),
17754
17768
  disabled: O.length === 0,
17755
- className: Zy,
17769
+ className: Qy,
17756
17770
  children: [/* @__PURE__ */ T("option", {
17757
17771
  value: "",
17758
17772
  disabled: !0,
@@ -17769,7 +17783,7 @@ function nb({ trpc: e, onImported: n }) {
17769
17783
  value: h.precision ?? "",
17770
17784
  onChange: (e) => N("precision", e.target.value),
17771
17785
  disabled: k.length === 0,
17772
- className: Zy,
17786
+ className: Qy,
17773
17787
  children: [/* @__PURE__ */ T("option", {
17774
17788
  value: "",
17775
17789
  disabled: !0,
@@ -17786,7 +17800,7 @@ function nb({ trpc: e, onImported: n }) {
17786
17800
  value: h.inputSize ?? "",
17787
17801
  onChange: (e) => N("inputSize", e.target.value),
17788
17802
  disabled: ee.length === 0,
17789
- className: Zy,
17803
+ className: Qy,
17790
17804
  children: [/* @__PURE__ */ T("option", {
17791
17805
  value: "",
17792
17806
  disabled: !0,
@@ -17816,7 +17830,7 @@ function nb({ trpc: e, onImported: n }) {
17816
17830
  })]
17817
17831
  }), /* @__PURE__ */ T("span", {
17818
17832
  className: "text-[10px] px-1.5 py-0.5 rounded bg-primary/15 text-primary font-medium",
17819
- children: Ky(A.format)
17833
+ children: qy(A.format)
17820
17834
  })]
17821
17835
  }),
17822
17836
  /* @__PURE__ */ E("div", {
@@ -17832,7 +17846,7 @@ function nb({ trpc: e, onImported: n }) {
17832
17846
  children: "Size"
17833
17847
  }), /* @__PURE__ */ T("span", {
17834
17848
  className: "font-mono text-foreground",
17835
- children: ov(eb(A))
17849
+ children: ov(tb(A))
17836
17850
  })]
17837
17851
  }),
17838
17852
  /* @__PURE__ */ E("div", {
@@ -17842,7 +17856,7 @@ function nb({ trpc: e, onImported: n }) {
17842
17856
  children: "Runtime"
17843
17857
  }), /* @__PURE__ */ T("span", {
17844
17858
  className: "text-foreground",
17845
- children: tb(A).join(" · ")
17859
+ children: nb(A).join(" · ")
17846
17860
  })]
17847
17861
  }),
17848
17862
  /* @__PURE__ */ E("div", {
@@ -17898,14 +17912,14 @@ function nb({ trpc: e, onImported: n }) {
17898
17912
  type: "button",
17899
17913
  onClick: () => void P(),
17900
17914
  disabled: _ || ne !== void 0,
17901
- className: Qy,
17915
+ className: $y,
17902
17916
  children: _ ? "Importing…" : "Retry"
17903
17917
  })]
17904
17918
  }) : /* @__PURE__ */ T("button", {
17905
17919
  type: "button",
17906
17920
  onClick: () => void P(),
17907
17921
  disabled: _ || ne !== void 0,
17908
- className: Qy,
17922
+ className: $y,
17909
17923
  children: _ ? "Importing…" : "Import"
17910
17924
  }), ne !== void 0 && !M && /* @__PURE__ */ T("div", {
17911
17925
  className: "text-[11px] text-amber-300",
@@ -17921,13 +17935,13 @@ function nb({ trpc: e, onImported: n }) {
17921
17935
  //#endregion
17922
17936
  //#region src/tabs/RegisterTab.tsx
17923
17937
  d();
17924
- var rb = [
17938
+ var ib = [
17925
17939
  "onnx",
17926
17940
  "openvino",
17927
17941
  "coreml",
17928
17942
  "tflite",
17929
17943
  "pt"
17930
- ], ib = [
17944
+ ], ab = [
17931
17945
  "yolo",
17932
17946
  "yolonas",
17933
17947
  "ssd",
@@ -17940,11 +17954,11 @@ var rb = [
17940
17954
  "ctc",
17941
17955
  "plate-slots",
17942
17956
  "saliency"
17943
- ], ab = [
17957
+ ], ob = [
17944
17958
  ".onnx",
17945
17959
  ".tflite",
17946
17960
  ".pt"
17947
- ], ob = [
17961
+ ], sb = [
17948
17962
  {
17949
17963
  value: "camstack",
17950
17964
  label: "CamStack"
@@ -17966,8 +17980,8 @@ var rb = [
17966
17980
  label: "Scrypted"
17967
17981
  }
17968
17982
  ];
17969
- function sb({ trpc: e, onRegistered: n }) {
17970
- let [i, a] = r("upload"), [c, l] = r(""), [u, d] = r(""), [f, p] = r("object-detection"), [m, h] = r("onnx"), [g, _] = r(""), [v, y] = r(""), [b, x] = r(0), [S, C] = r(320), [w, O] = r(320), [k, ee] = r(""), [A, j] = r(null), [M, te] = r({ state: "idle" }), [ne, N] = r(!1), [P, F] = r(null), [re, ie] = r(null), I = o(null), L = s(() => $v(k), [k]), ae = t(async (t) => {
17983
+ function cb({ trpc: e, onRegistered: n }) {
17984
+ let [i, a] = r("upload"), [c, l] = r(""), [u, d] = r(""), [f, p] = r("object-detection"), [m, h] = r("onnx"), [g, _] = r(""), [v, y] = r(""), [b, x] = r(0), [S, C] = r(320), [w, O] = r(320), [k, ee] = r(""), [A, j] = r(null), [M, te] = r({ state: "idle" }), [ne, N] = r(!1), [P, F] = r(null), [re, ie] = r(null), I = o(null), L = s(() => ey(k), [k]), ae = t(async (t) => {
17971
17985
  F(null), te({
17972
17986
  state: "uploading",
17973
17987
  pct: 0
@@ -18005,7 +18019,7 @@ function sb({ trpc: e, onRegistered: n }) {
18005
18019
  if (t === null) return F(i === "upload" ? "Upload the model file first" : "Model URL is required");
18006
18020
  N(!0);
18007
18021
  try {
18008
- let r = ib.find((e) => e === g), i = ty({
18022
+ let r = ab.find((e) => e === g), i = ny({
18009
18023
  type: "custom",
18010
18024
  modelId: c.trim(),
18011
18025
  name: u.trim() || c.trim(),
@@ -18067,8 +18081,8 @@ function sb({ trpc: e, onRegistered: n }) {
18067
18081
  className: ["px-3 py-1.5 text-xs transition-colors", e === t.value ? "bg-primary text-primary-foreground font-medium" : "text-foreground-subtle hover:text-foreground hover:bg-surface-hover"].join(" "),
18068
18082
  children: t.label
18069
18083
  }, t.value))
18070
- }))(i, ob, (e) => {
18071
- let t = ob.find((t) => t.value === e);
18084
+ }))(i, sb, (e) => {
18085
+ let t = sb.find((t) => t.value === e);
18072
18086
  t !== void 0 && (F(null), ie(null), a(t.value));
18073
18087
  })]
18074
18088
  }),
@@ -18077,7 +18091,7 @@ function sb({ trpc: e, onRegistered: n }) {
18077
18091
  className: "rounded-md border border-border bg-surface px-3 py-2 text-[11px] text-foreground-subtle",
18078
18092
  children: "CamStack seeds already live in the pipeline catalog. Open the Catalog tab, pick the node, and Download the format that node runs — registering a seed here would duplicate the id."
18079
18093
  }),
18080
- i === "frigate" && /* @__PURE__ */ T(vy, {
18094
+ i === "frigate" && /* @__PURE__ */ T(yy, {
18081
18095
  trpc: e,
18082
18096
  onRegistered: (e) => {
18083
18097
  ie(e), n();
@@ -18085,7 +18099,7 @@ function sb({ trpc: e, onRegistered: n }) {
18085
18099
  onError: F,
18086
18100
  onPrefillUpload: oe
18087
18101
  }),
18088
- i === "scrypted" && /* @__PURE__ */ T(nb, {
18102
+ i === "scrypted" && /* @__PURE__ */ T(rb, {
18089
18103
  trpc: e,
18090
18104
  onImported: n
18091
18105
  }),
@@ -18103,7 +18117,7 @@ function sb({ trpc: e, onRegistered: n }) {
18103
18117
  ]
18104
18118
  }),
18105
18119
  i === "upload" ? /* @__PURE__ */ E(Hv, {
18106
- label: `Model file (${ab.join(" / ")})`,
18120
+ label: `Model file (${ob.join(" / ")})`,
18107
18121
  children: [
18108
18122
  /* @__PURE__ */ E("div", {
18109
18123
  className: "flex items-center gap-3 flex-wrap",
@@ -18135,7 +18149,7 @@ function sb({ trpc: e, onRegistered: n }) {
18135
18149
  /* @__PURE__ */ T("input", {
18136
18150
  ref: I,
18137
18151
  type: "file",
18138
- accept: ab.join(","),
18152
+ accept: ob.join(","),
18139
18153
  className: "hidden",
18140
18154
  onChange: (e) => {
18141
18155
  let t = e.target.files?.[0];
@@ -18184,7 +18198,7 @@ function sb({ trpc: e, onRegistered: n }) {
18184
18198
  /* @__PURE__ */ E("div", {
18185
18199
  className: "grid grid-cols-1 sm:grid-cols-3 gap-3",
18186
18200
  children: [
18187
- /* @__PURE__ */ T(ny, {
18201
+ /* @__PURE__ */ T(ry, {
18188
18202
  trpc: e,
18189
18203
  value: f,
18190
18204
  onChange: p
@@ -18210,11 +18224,11 @@ function sb({ trpc: e, onRegistered: n }) {
18210
18224
  children: /* @__PURE__ */ T("select", {
18211
18225
  value: m,
18212
18226
  onChange: (e) => {
18213
- let t = rb.find((t) => t === e.target.value);
18227
+ let t = ib.find((t) => t === e.target.value);
18214
18228
  t !== void 0 && h(t);
18215
18229
  },
18216
18230
  className: "w-full px-3 py-1.5 text-xs rounded-md border border-border bg-surface text-foreground focus:outline-none focus:border-primary/50",
18217
- children: rb.map((e) => /* @__PURE__ */ T("option", {
18231
+ children: ib.map((e) => /* @__PURE__ */ T("option", {
18218
18232
  value: e,
18219
18233
  children: e
18220
18234
  }, e))
@@ -18228,7 +18242,7 @@ function sb({ trpc: e, onRegistered: n }) {
18228
18242
  children: [/* @__PURE__ */ T("option", {
18229
18243
  value: "",
18230
18244
  children: "Step default"
18231
- }), ib.map((e) => /* @__PURE__ */ T("option", {
18245
+ }), ab.map((e) => /* @__PURE__ */ T("option", {
18232
18246
  value: e,
18233
18247
  children: e
18234
18248
  }, e))]
@@ -18267,22 +18281,22 @@ function sb({ trpc: e, onRegistered: n }) {
18267
18281
  //#endregion
18268
18282
  //#region src/tabs/ConvertTab.tsx
18269
18283
  d();
18270
- var cb = [
18284
+ var lb = [
18271
18285
  "yolo",
18272
18286
  "ssd",
18273
18287
  "embedding",
18274
18288
  "classification",
18275
18289
  "ocr",
18276
18290
  "segmentation"
18277
- ], lb = "";
18278
- function ub(e) {
18291
+ ], ub = "";
18292
+ function db(e) {
18279
18293
  return e.split(",").map((e) => e.trim()).filter((e) => e.length > 0).map((e, t) => ({
18280
18294
  id: String(t),
18281
18295
  name: e
18282
18296
  }));
18283
18297
  }
18284
- function db({ trpc: e, onConverted: n }) {
18285
- let [i, a] = r(""), [c, l] = r(""), [d, f] = r(""), [p, m] = r(640), [h, g] = r(640), [_, v] = r("yolo"), [y, b] = r(""), [x, S] = r(nv), [C, w] = r(lb), [D, O] = r([]), [k, ee] = r(null), [A, j] = r("idle"), [M, te] = r(null), [ne, N] = r(null), [P, F] = r(null), re = o(null);
18298
+ function fb({ trpc: e, onConverted: n }) {
18299
+ let [i, a] = r(""), [c, l] = r(""), [d, f] = r(""), [p, m] = r(640), [h, g] = r(640), [_, v] = r("yolo"), [y, b] = r(""), [x, S] = r(nv), [C, w] = r(ub), [D, O] = r([]), [k, ee] = r(null), [A, j] = r("idle"), [M, te] = r(null), [ne, N] = r(null), [P, F] = r(null), re = o(null);
18286
18300
  u(() => () => {
18287
18301
  re.current?.unsubscribe(), re.current = null;
18288
18302
  }, []);
@@ -18309,7 +18323,7 @@ function db({ trpc: e, onConverted: n }) {
18309
18323
  let t = {
18310
18324
  id: c.trim(),
18311
18325
  name: d.trim(),
18312
- labels: ub(y),
18326
+ labels: db(y),
18313
18327
  inputSize: {
18314
18328
  width: p,
18315
18329
  height: h
@@ -18330,7 +18344,7 @@ function db({ trpc: e, onConverted: n }) {
18330
18344
  sourceUrl: i.trim(),
18331
18345
  metadata: t,
18332
18346
  targets: ie,
18333
- ...C === lb ? {} : { targetNodeId: C }
18347
+ ...C === ub ? {} : { targetNodeId: C }
18334
18348
  })), j("success"), n();
18335
18349
  } catch (e) {
18336
18350
  F(e instanceof Error ? e.message : "Conversion failed"), j("error");
@@ -18401,11 +18415,11 @@ function db({ trpc: e, onConverted: n }) {
18401
18415
  children: /* @__PURE__ */ T("select", {
18402
18416
  value: _,
18403
18417
  onChange: (e) => {
18404
- let t = cb.find((t) => t === e.target.value);
18418
+ let t = lb.find((t) => t === e.target.value);
18405
18419
  t !== void 0 && v(t);
18406
18420
  },
18407
18421
  className: "w-full px-3 py-1.5 text-xs rounded-md border border-border bg-surface text-foreground focus:outline-none focus:border-primary/50",
18408
- children: cb.map((e) => /* @__PURE__ */ T("option", {
18422
+ children: lb.map((e) => /* @__PURE__ */ T("option", {
18409
18423
  value: e,
18410
18424
  children: e
18411
18425
  }, e))
@@ -18460,14 +18474,14 @@ function db({ trpc: e, onConverted: n }) {
18460
18474
  children: [/* @__PURE__ */ T("input", {
18461
18475
  type: "radio",
18462
18476
  name: "convert-node-mode",
18463
- checked: C === lb,
18464
- onChange: () => w(lb),
18477
+ checked: C === ub,
18478
+ onChange: () => w(ub),
18465
18479
  className: "accent-primary"
18466
18480
  }), "Auto (recommended)"]
18467
18481
  }), /* @__PURE__ */ T("div", {
18468
- className: C === lb ? "opacity-50 pointer-events-none" : "",
18482
+ className: C === ub ? "opacity-50 pointer-events-none" : "",
18469
18483
  children: /* @__PURE__ */ T(Vv, {
18470
- selectedNodeId: C === lb ? "hub" : C,
18484
+ selectedNodeId: C === ub ? "hub" : C,
18471
18485
  onSelect: w
18472
18486
  })
18473
18487
  })]
@@ -18510,7 +18524,7 @@ function db({ trpc: e, onConverted: n }) {
18510
18524
  children: "Refresh recommendations"
18511
18525
  })]
18512
18526
  }),
18513
- /* @__PURE__ */ T(fb, {
18527
+ /* @__PURE__ */ T(pb, {
18514
18528
  state: A,
18515
18529
  progress: M,
18516
18530
  outcome: ne
@@ -18518,7 +18532,7 @@ function db({ trpc: e, onConverted: n }) {
18518
18532
  ]
18519
18533
  });
18520
18534
  }
18521
- function fb({ state: e, progress: t, outcome: n }) {
18535
+ function pb({ state: e, progress: t, outcome: n }) {
18522
18536
  return e === "idle" ? null : /* @__PURE__ */ E("div", {
18523
18537
  className: "rounded-xl border border-border bg-surface overflow-hidden",
18524
18538
  children: [/* @__PURE__ */ E("div", {
@@ -18601,7 +18615,7 @@ function fb({ state: e, progress: t, outcome: n }) {
18601
18615
  //#endregion
18602
18616
  //#region src/page.tsx
18603
18617
  d();
18604
- var pb = [
18618
+ var mb = [
18605
18619
  {
18606
18620
  id: "catalog",
18607
18621
  label: "Catalog"
@@ -18619,18 +18633,18 @@ var pb = [
18619
18633
  label: "Convert"
18620
18634
  }
18621
18635
  ];
18622
- function mb(e) {
18636
+ function hb(e) {
18623
18637
  return `model-studio-tab-${e}`;
18624
18638
  }
18625
- function hb(e) {
18639
+ function gb(e) {
18626
18640
  return `model-studio-panel-${e}`;
18627
18641
  }
18628
- function gb({ trpc: e }) {
18642
+ function _b({ trpc: e }) {
18629
18643
  let [n, i] = r("catalog"), [a, s] = r(0), c = o(!1), l = t(() => s((e) => e + 1), []), d = t((e, t = !1) => {
18630
18644
  i(e), t && (c.current = !0);
18631
18645
  }, []);
18632
18646
  return u(() => {
18633
- c.current && (c.current = !1, document.getElementById(mb(n))?.focus());
18647
+ c.current && (c.current = !1, document.getElementById(hb(n))?.focus());
18634
18648
  }, [n]), /* @__PURE__ */ E("div", {
18635
18649
  className: "p-6 space-y-4",
18636
18650
  children: [
@@ -18646,22 +18660,22 @@ function gb({ trpc: e }) {
18646
18660
  role: "tablist",
18647
18661
  "aria-label": "Model Studio sections",
18648
18662
  onKeyDown: (e) => {
18649
- let t = pb.findIndex((e) => e.id === n);
18663
+ let t = mb.findIndex((e) => e.id === n);
18650
18664
  if (t < 0) return;
18651
18665
  let r = t;
18652
- if (e.key === "ArrowRight") r = (t + 1) % pb.length;
18653
- else if (e.key === "ArrowLeft") r = (t - 1 + pb.length) % pb.length;
18666
+ if (e.key === "ArrowRight") r = (t + 1) % mb.length;
18667
+ else if (e.key === "ArrowLeft") r = (t - 1 + mb.length) % mb.length;
18654
18668
  else if (e.key === "Home") r = 0;
18655
- else if (e.key === "End") r = pb.length - 1;
18669
+ else if (e.key === "End") r = mb.length - 1;
18656
18670
  else return;
18657
- e.preventDefault(), d(pb[r].id, !0);
18671
+ e.preventDefault(), d(mb[r].id, !0);
18658
18672
  },
18659
- children: pb.map((e) => /* @__PURE__ */ T("button", {
18660
- id: mb(e.id),
18673
+ children: mb.map((e) => /* @__PURE__ */ T("button", {
18674
+ id: hb(e.id),
18661
18675
  type: "button",
18662
18676
  role: "tab",
18663
18677
  "aria-selected": n === e.id,
18664
- "aria-controls": hb(e.id),
18678
+ "aria-controls": gb(e.id),
18665
18679
  tabIndex: n === e.id ? 0 : -1,
18666
18680
  onClick: () => d(e.id),
18667
18681
  className: ["px-4 py-2 text-sm whitespace-nowrap transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary motion-reduce:transition-none", n === e.id ? "border-b-2 border-primary text-primary font-semibold" : "text-foreground-subtle hover:text-foreground"].join(" "),
@@ -18671,8 +18685,8 @@ function gb({ trpc: e }) {
18671
18685
  /* @__PURE__ */ E("div", {
18672
18686
  className: "min-h-[400px]",
18673
18687
  role: "tabpanel",
18674
- id: hb(n),
18675
- "aria-labelledby": mb(n),
18688
+ id: gb(n),
18689
+ "aria-labelledby": hb(n),
18676
18690
  children: [
18677
18691
  n === "catalog" && /* @__PURE__ */ T(Jv, {
18678
18692
  trpc: e,
@@ -18682,11 +18696,11 @@ function gb({ trpc: e }) {
18682
18696
  trpc: e,
18683
18697
  refreshKey: a
18684
18698
  }),
18685
- n === "register" && /* @__PURE__ */ T(sb, {
18699
+ n === "register" && /* @__PURE__ */ T(cb, {
18686
18700
  trpc: e,
18687
18701
  onRegistered: l
18688
18702
  }),
18689
- n === "convert" && /* @__PURE__ */ T(db, {
18703
+ n === "convert" && /* @__PURE__ */ T(fb, {
18690
18704
  trpc: e,
18691
18705
  onConverted: l
18692
18706
  })
@@ -18696,4 +18710,4 @@ function gb({ trpc: e }) {
18696
18710
  });
18697
18711
  }
18698
18712
  //#endregion
18699
- export { gb as default };
18713
+ export { _b as default };