@camstack/addon-import-alexa 0.2.149 → 0.2.150

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 (27) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/assets/alexa-echo.LICENSE.md +13 -0
  3. package/assets/alexa-echo.svg +1 -0
  4. package/dist/{MotionZonesSettings-BD57OAIs.mjs → MotionZonesSettings-Dxo0EAzN.mjs} +2 -2
  5. package/dist/{PrivacyMaskSettings-ZxdPEelf.mjs → PrivacyMaskSettings-DwWxpZrj.mjs} +4 -4
  6. package/dist/{SceneMonitorEditor--KqtKX1B.mjs → SceneMonitorEditor-CC0dk5TR.mjs} +3 -3
  7. package/dist/_stub.js +250 -349
  8. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_import_alexa_page-CdRL7bFZ.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_import_alexa_page-CcQjQJmj.mjs} +3 -3
  9. package/dist/_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Msberbw_.mjs +26 -0
  10. package/dist/addon.js +1106 -598
  11. package/dist/addon.mjs +1108 -600
  12. package/dist/{hostInit-_k3o3MHN.mjs → hostInit-CRUwUtSm.mjs} +2 -2
  13. package/dist/{player-overlays-CJBC2I_E.mjs → player-overlays-DNpsEqAe.mjs} +1 -1
  14. package/dist/remoteEntry.js +1 -1
  15. package/dist/{responsive-N99niSJu.mjs → responsive-B82v3AbM.mjs} +1 -1
  16. package/dist/{scene-monitor-copy-DeuPVYmS.mjs → scene-monitor-copy-CPnjwzw6.mjs} +1 -1
  17. package/dist/{square-CnLcG0Zc.mjs → square-YTl_L1_3.mjs} +1 -1
  18. package/dist/{trash-2-BzimUQsl.mjs → trash-2-DCHugLVt.mjs} +1 -1
  19. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-CsdMNhUS.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-DMdgQOgz.mjs} +1 -1
  20. package/i18n/en.json +7 -5
  21. package/i18n/it.json +7 -5
  22. package/package.json +1 -1
  23. package/python/alexa_gateway.py +85 -58
  24. package/python/alexa_protocol.py +22 -17
  25. package/python/test_alexa_gateway.py +141 -0
  26. package/python/test_alexa_protocol.py +44 -35
  27. package/dist/_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-I8eNxvdp.mjs +0 -26
package/dist/_stub.js CHANGED
@@ -1,16 +1,16 @@
1
1
  import { S as e, _ as t, a as n, b as r, d as i, f as a, g as o, h as s, i as c, l, m as u, n as d, p as f, t as p, u as m, v as h, y as g } from "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare__react__loadShare__.js-DwXXYAlk.mjs";
2
2
  import { n as _, r as v, t as y } from "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-CUiVYNMY.mjs";
3
3
  import { n as b, r as x } from "./ui-text-B5YO4hoJ.mjs";
4
- import { C as S, S as C, T as w, _ as T, a as ee, b as te, c as ne, d as re, f as ie, g as ae, h as oe, i as se, m as ce, n as le, o as E, p as ue, r as de, s as fe, t as pe, u as me, v as he, w as D, x as ge, y as _e } from "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-I8eNxvdp.mjs";
5
- import { a as ve, c as ye, d as be, f as xe, h as O, i as Se, m as Ce, n as we, o as Te, r as Ee, t as De, u as Oe } from "./responsive-N99niSJu.mjs";
6
- import { d as ke, l as Ae, u as je } from "./scene-monitor-copy-DeuPVYmS.mjs";
7
- import { r as Me } from "./player-overlays-CJBC2I_E.mjs";
8
- import { r as Ne, t as Pe } from "./square-CnLcG0Zc.mjs";
9
- import "./trash-2-BzimUQsl.mjs";
4
+ import { C as S, S as C, T as w, _ as T, a as ee, b as te, d as ne, f as re, g as ie, h as ae, i as oe, l as se, m as ce, n as le, o as E, p as ue, r as de, s as fe, t as pe, u as me, v as he, w as D, x as ge, y as _e } from "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Msberbw_.mjs";
5
+ import { a as ve, c as ye, d as be, f as xe, h as O, i as Se, m as Ce, n as we, o as Te, r as Ee, t as De, u as Oe } from "./responsive-B82v3AbM.mjs";
6
+ import { d as ke, l as Ae, u as je } from "./scene-monitor-copy-CPnjwzw6.mjs";
7
+ import { r as Me } from "./player-overlays-DNpsEqAe.mjs";
8
+ import { r as Ne, t as Pe } from "./square-YTl_L1_3.mjs";
9
+ import "./trash-2-DCHugLVt.mjs";
10
10
  import { t as Fe } from "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.js-B3qxfxBT.mjs";
11
11
  import "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare__react_mf_2_dom__loadShare__.js-CIPmAyPi.mjs";
12
12
  import "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-Bct5qZia.mjs";
13
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-CsdMNhUS.mjs";
13
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-DMdgQOgz.mjs";
14
14
  import "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-tXm1x5EZ.mjs";
15
15
  import "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_trpc_mf_1_client__loadShare__.js-BHqOw8oh.mjs";
16
16
  import "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_camstack_mf_1_sdk__loadShare__.js-BmoaT3cr.mjs";
@@ -4215,7 +4215,7 @@ k.deviceManager.getChildren.useQuery, k.deviceManager.getChildrenBatch.useQuery,
4215
4215
  var Fi = k.deviceState.getSnapshot.useQuery;
4216
4216
  //#endregion
4217
4217
  //#region ../ui-library/src/primitives/badge.tsx
4218
- k.deviceState.getCapSlice.useQuery, k.deviceState.getAllSnapshots.useQuery, k.deviceState.setCapSlice.useMutation, k.deviceState.claimFields.useMutation, k.deviceState.patchOwnedFields.useMutation, k.deviceState.releaseClaim.useMutation, k.deviceState.listClaims.useQuery, k.deviceState.getNativeCapSlice.useQuery, k.deviceStatus.getStatus.useQuery, k.dishwasher.start.useMutation, k.dishwasher.pause.useMutation, k.dishwasher.resume.useMutation, k.dishwasher.stop.useMutation, k.dishwasher.setProgram.useMutation, k.dishwasher.setPower.useMutation, k.dishwasher.setHalfLoad.useMutation, k.dishwasher.setHygienePlus.useMutation, k.dishwasher.setExtraDry.useMutation, k.dishwasher.setIntensiveZone.useMutation, k.dishwasher.setVarioSpeedPlus.useMutation, k.dishwasher.setChildLock.useMutation, k.dishwasher.setOption.useMutation, k.dishwasher.getOptions.useQuery, k.dishwasher.getStatus.useQuery, k.displayPalette.getPalette.useQuery, k.displayPalette.listPresets.useQuery, k.displayPalette.setPalette.useMutation, k.doorbell.getStatus.useQuery, k.enumSensor.getStatus.useQuery, k.eventEmitter.getStatus.useQuery, k.faceGallery.listIdentities.useQuery, k.faceGallery.createIdentity.useMutation, k.faceGallery.renameIdentity.useMutation, k.faceGallery.deleteIdentity.useMutation, k.faceGallery.listIdentitySamples.useQuery, k.faceGallery.auditIdentitySamples.useQuery, k.faceGallery.removeSample.useMutation, k.faceGallery.listRecentFaces.useQuery, k.faceGallery.getFaceByTrack.useQuery, k.faceGallery.getFaceMedia.useQuery, k.faceGallery.assignFace.useMutation, k.faceGallery.unassignFace.useMutation, k.faceGallery.deleteFace.useMutation, k.faceGallery.assignFaces.useMutation, k.faceGallery.unassignFaces.useMutation, k.faceGallery.suggestFaceClusters.useQuery, k.fanControl.setPercentage.useMutation, k.fanControl.setPreset.useMutation, k.fanControl.setDirection.useMutation, k.fanControl.setOscillating.useMutation, k.fanControl.getStatus.useQuery, k.featureProbe.getStatus.useQuery, k.flood.getStatus.useQuery, k.gas.getStatus.useQuery, k.groupCommands.getStatus.useQuery, k.groupStatus.getStatus.useQuery, k.heatingValve.getStatus.useQuery, k.humidifier.setOn.useMutation, k.humidifier.setTargetHumidity.useMutation, k.humidifier.setMode.useMutation, k.humidifier.getStatus.useQuery, k.humiditySensor.getStatus.useQuery, k.image.getStatus.useQuery, k.imageSettings.getOptions.useQuery, k.imageSettings.setSettings.useMutation, k.imageSettings.getStatus.useQuery, k.integrations.list.useQuery, k.integrations.get.useQuery, k.integrations.getByAddonId.useQuery, k.integrations.create.useMutation, k.integrations.update.useMutation, k.integrations.delete.useMutation, k.integrations.getSettings.useQuery, k.integrations.setSettings.useMutation, k.integrations.getAvailableTypes.useQuery, k.integrations.testConnection.useMutation, k.intercom.startSession.useMutation, k.intercom.handleAnswer.useMutation, k.intercom.stopSession.useMutation, k.intercom.startTalkSession.useMutation, k.intercom.pushTalkAudio.useMutation, k.intercom.endTalkSession.useMutation, k.intercom.getStatus.useQuery, k.keychainAdmin.status.useQuery, k.keychainAdmin.listSecrets.useQuery, k.keychainAdmin.listAudit.useQuery, k.keychainAdmin.reveal.useMutation, k.keychainAdmin.setSystemSecret.useMutation, k.keychainAdmin.importSecret.useMutation, k.keychainAdmin.deleteOrphans.useMutation, k.keychainAdmin.rotateMasterKey.useMutation, k.keychainAdmin.purgeRetiredKeys.useMutation, k.keychainAdmin.downloadRecoveryKey.useMutation, k.keychainAdmin.resetKeychain.useMutation, k.keychainAdmin.resetReport.useQuery, k.keychainAdmin.acknowledgeReset.useMutation, k.lawnMowerControl.startMowing.useMutation, k.lawnMowerControl.pause.useMutation, k.lawnMowerControl.dock.useMutation, k.lawnMowerControl.getStatus.useQuery, k.llm.generate.useMutation, k.llm.generateVision.useMutation, k.llm.cancel.useMutation, k.llm.listProfileKinds.useQuery, k.llm.listProfiles.useQuery, k.llm.upsertProfile.useMutation, k.llm.migrateRawSecrets.useMutation, k.llm.deleteProfile.useMutation, k.llm.testProfile.useMutation, k.llm.listModels.useMutation, k.llm.getDefaults.useQuery, k.llm.setDefault.useMutation, k.llm.getUsage.useQuery, k.llm.listModelCatalog.useQuery, k.llm.listRuntimeNodes.useQuery, k.llm.listNodeModels.useQuery, k.llm.resolveModelRef.useMutation, k.llm.installModel.useMutation, k.llm.deleteModel.useMutation, k.llm.getRuntimeStatus.useQuery, k.llm.startRuntime.useMutation, k.llm.stopRuntime.useMutation, k.localNetwork.list.useQuery, k.localNetwork.getPreferred.useQuery, k.localNetwork.getConnectionEndpoints.useQuery, k.localNetwork.getNotificationEndpoint.useQuery, k.localNetwork.setNotificationEndpoint.useMutation, k.localNetwork.getViewerEndpoints.useQuery, k.localNetwork.setViewerEndpoints.useMutation, k.localNetwork.getAddresses.useQuery, k.localNetwork.addCustomAddress.useMutation, k.localNetwork.removeCustomAddress.useMutation, k.localNetwork.setAddressRole.useMutation, k.localNetwork.getHubAddresses.useQuery, k.localNetwork.getAllowedAddresses.useQuery, k.localNetwork.setAllowedAddresses.useMutation, k.localNetwork.resetAllowlistToBestMatch.useMutation, k.localNetwork.getTlsStatus.useQuery, k.localNetwork.regenerateCertificate.useMutation, k.localNetwork.uploadCertificate.useMutation, k.localNetwork.downloadCa.useQuery, k.localNetwork.useStoredUploadedCertificate.useMutation, k.localNetwork.revertToGeneratedCertificate.useMutation, k.lockControl.lock.useMutation, k.lockControl.unlock.useMutation, k.lockControl.open.useMutation, k.lockControl.getStatus.useQuery, k.mediaPlayer.play.useMutation, k.mediaPlayer.pause.useMutation, k.mediaPlayer.stop.useMutation, k.mediaPlayer.next.useMutation, k.mediaPlayer.previous.useMutation, k.mediaPlayer.seek.useMutation, k.mediaPlayer.setVolume.useMutation, k.mediaPlayer.setMute.useMutation, k.mediaPlayer.setShuffle.useMutation, k.mediaPlayer.setRepeat.useMutation, k.mediaPlayer.selectSource.useMutation, k.mediaPlayer.playMedia.useMutation, k.mediaPlayer.getStatus.useQuery, k.meshNetwork.getStatus.useQuery, k.meshNetwork.join.useMutation, k.meshNetwork.startLogin.useMutation, k.meshNetwork.leave.useMutation, k.meshNetwork.logout.useMutation, k.meshNetwork.listPeers.useQuery, k.meshNetwork.testConnection.useMutation, k.meter.getStatus.useQuery, k.metricsProvider.collectSnapshot.useQuery, k.metricsProvider.getCached.useQuery, k.metricsProvider.getCurrent.useQuery, k.metricsProvider.getDiskSpace.useQuery, k.metricsProvider.getGpuInfo.useQuery, k.metricsProvider.getCpuTemperature.useQuery, k.metricsProvider.getProcessStats.useQuery, k.metricsProvider.listAddonInstances.useQuery, k.metricsProvider.getAddonStats.useQuery, k.metricsProvider.listNodeProcesses.useQuery, k.metricsProvider.getLoadSeries.useQuery, k.motion.isDetected.useQuery, k.motion.getStatus.useQuery, k.motionDetection.analyze.useMutation, k.motionDetection.removeCamera.useMutation, k.motionDetection.reset.useMutation, k.motionDetection.getDeviceSettingsContribution.useQuery, k.motionDetection.getDeviceLiveContribution.useQuery, k.motionDetection.applyDeviceSettingsPatch.useMutation, k.motionTrigger.setMotionTrigger.useMutation, k.motionTrigger.getStatus.useQuery, k.motionZones.getOptions.useQuery, k.motionZones.setZone.useMutation, k.motionZones.getStatus.useQuery, k.mqttBroker.listBrokers.useQuery, k.mqttBroker.getBrokerConfig.useQuery, k.mqttBroker.addBroker.useMutation, k.mqttBroker.removeBroker.useMutation, k.mqttBroker.testConnection.useMutation, k.mqttBroker.startEmbeddedBroker.useMutation, k.mqttBroker.stopEmbeddedBroker.useMutation, k.mqttBroker.getStatus.useQuery, k.nativeObjectDetection.getOptions.useQuery, k.nativeObjectDetection.setSettings.useMutation, k.nativeObjectDetection.setEnabled.useMutation, k.nativeObjectDetection.getStatus.useQuery, k.navigation.move.useMutation, k.navigation.stop.useMutation, k.navigation.goToPoint.useMutation, k.navigation.listActions.useQuery, k.navigation.runAction.useMutation, k.navigation.playSound.useMutation, k.navigation.setLightOn.useMutation, k.navigation.setLightMode.useMutation, k.navigation.setLightLevel.useMutation, k.navigation.getFeatures.useQuery, k.navigation.getStatus.useQuery, k.networkAccess.start.useMutation, k.networkAccess.stop.useMutation, k.networkAccess.getEndpoint.useQuery, k.networkAccess.getStatus.useQuery, k.networkAccess.listEndpoints.useQuery, k.networkLink.getStatus.useQuery, k.networkQuality.getDeviceStats.useQuery, k.networkQuality.getAllStats.useQuery, k.networkQuality.reportClientStats.useMutation, k.nodes.topology.useQuery, k.nodes.directory.useQuery, k.nodes.deployAddon.useMutation, k.nodes.undeployAddon.useMutation, k.nodes.restartAddon.useMutation, k.nodes.restartProcess.useMutation, k.nodes.restartNode.useMutation, k.nodes.shutdownNode.useMutation, k.nodes.renameNode.useMutation, k.nodes.clusterAddonStatus.useQuery, k.nodes.getCapUsageGraph.useQuery, k.nodes.getNodeAddons.useQuery, k.nodes.setProcessLogLevel.useMutation, k.nodes.executeQuery.useMutation, k.notificationOutput.listTargetKinds.useQuery, k.notificationOutput.listTargets.useQuery, k.notificationOutput.getTarget.useQuery, k.notificationOutput.discoverTargets.useQuery, k.notificationOutput.probeTargetConfig.useMutation, k.notificationOutput.send.useMutation, k.notificationOutput.testTarget.useMutation, k.notificationOutput.upsertTarget.useMutation, k.notificationOutput.deleteTarget.useMutation, k.notificationOutput.setTargetEnabled.useMutation, k.notificationRules.listRules.useQuery, k.notificationRules.getRule.useQuery, k.notificationRules.createRule.useMutation, k.notificationRules.updateRule.useMutation, k.notificationRules.deleteRule.useMutation, k.notificationRules.setRuleEnabled.useMutation, k.notificationRules.listSequences.useQuery, k.notificationRules.getSequence.useQuery, k.notificationRules.createSequence.useMutation, k.notificationRules.updateSequence.useMutation, k.notificationRules.deleteSequence.useMutation, k.notificationRules.getClipRetentionAsks.useQuery, k.notificationRules.listDeviceMutes.useQuery, k.notificationRules.setDeviceMuted.useMutation, k.notificationRules.testRule.useMutation, k.notificationRules.previewStateSummary.useMutation, k.notificationRules.getConditionCatalog.useQuery, k.notificationRules.getTemplateCatalog.useQuery, k.notificationRules.previewTemplate.useMutation, k.notificationRules.getHistory.useQuery, k.notificationRules.getRuleLastRuns.useQuery, k.notificationRules.resolveArtifactUrl.useQuery, k.notificationRules.listSnoozes.useQuery, k.notificationRules.createSnooze.useMutation, k.notificationRules.cancelSnooze.useMutation, k.notificationRules.getAlarmConfig.useQuery, k.notificationRules.setAlarmConfig.useMutation, k.notificationRules.createAlarmProfile.useMutation, k.notificationRules.renameAlarmProfile.useMutation, k.notificationRules.deleteAlarmProfile.useMutation, k.notificationRules.activateAlarmProfile.useMutation, k.notificationRules.getAlarmSensors.useQuery, k.notifier.send.useMutation, k.notifier.cancel.useMutation, k.notifier.getStatus.useQuery, k.numericSensor.getStatus.useQuery, k.oidcConnections.connectionFormSchema.useQuery, k.oidcConnections.listConnections.useQuery, k.oidcConnections.createConnection.useMutation, k.oidcConnections.updateConnection.useMutation, k.oidcConnections.deleteConnection.useMutation, k.osd.setOverlay.useMutation, k.osd.getStatus.useQuery, k.osdManager.getDeviceOsd.useQuery, k.osdManager.getSourceCatalog.useQuery, k.osdManager.getConditionSupport.useQuery, k.osdManager.setSlotBinding.useMutation, k.osdManager.clearSlotBinding.useMutation, k.osdManager.setSlotCameraEnabled.useMutation, k.osdManager.copyDeviceConfiguration.useMutation, k.osdManager.previewSlot.useMutation, k.osdManager.renderDevice.useMutation, k.osdManager.listTemplates.useQuery, k.osdManager.upsertTemplate.useMutation, k.osdManager.deleteTemplate.useMutation, k.petFeeder.feed.useMutation, k.petFeeder.cancelFeed.useMutation, k.petFeeder.resetDesiccant.useMutation, k.petFeeder.markFoodReplenished.useMutation, k.petFeeder.callPet.useMutation, k.petFeeder.playSound.useMutation, k.petFeeder.setChildLock.useMutation, k.petFeeder.setIndicatorLight.useMutation, k.petFeeder.setFeedSound.useMutation, k.petFeeder.setVolume.useMutation, k.petFeeder.getStatus.useQuery, k.pipelineAnalytics.getActiveTracks.useQuery, k.pipelineAnalytics.getTrack.useQuery, k.pipelineAnalytics.listTracks.useQuery, k.pipelineAnalytics.listRecentTracks.useQuery, k.pipelineAnalytics.clearTracks.useMutation, k.pipelineAnalytics.getMotionEvents.useQuery, k.pipelineAnalytics.getObjectEvents.useQuery, k.pipelineAnalytics.getAudioEvents.useQuery, k.pipelineAnalytics.listEventKinds.useQuery, k.pipelineAnalytics.listEventKindsBatch.useQuery, k.pipelineAnalytics.getSensorEvents.useQuery, k.pipelineAnalytics.getKeyEvents.useQuery, k.pipelineAnalytics.getKeyEventsBatch.useQuery, k.pipelineAnalytics.readLongTermSeries.useQuery, k.pipelineAnalytics.getEventDensity.useQuery, k.pipelineAnalytics.getEventDensityBatch.useQuery, k.pipelineAnalytics.pruneEventsBefore.useMutation, k.pipelineAnalytics.pruneTracksBefore.useMutation, k.pipelineAnalytics.wipeAllAnalytics.useMutation, k.pipelineAnalytics.reconcileFromDisk.useMutation, k.pipelineAnalytics.deleteTracks.useMutation, k.pipelineAnalytics.setTrackFlags.useMutation, k.pipelineAnalytics.listArchivedDebugNotes.useQuery, k.pipelineAnalytics.setTrackRelation.useMutation, k.pipelineAnalytics.clearTrackRelation.useMutation, k.pipelineAnalytics.setTrackPurity.useMutation, k.pipelineAnalytics.listTrackRelations.useQuery, k.pipelineAnalytics.listBirthDecisions.useQuery, k.pipelineAnalytics.getEventStoreFootprint.useQuery, k.pipelineAnalytics.getEventMediaFootprintByKind.useQuery, k.pipelineAnalytics.pruneEvents.useMutation, k.pipelineAnalytics.deleteDeviceEvents.useMutation, k.pipelineAnalytics.pauseForStorageMigration.useMutation, k.pipelineAnalytics.resumeForStorageMigration.useMutation, k.pipelineAnalytics.refreshStorageLocationsForMigration.useMutation, k.pipelineAnalytics.startStorageMigrationMove.useMutation, k.pipelineAnalytics.getStorageMigrationMoveStatus.useQuery, k.pipelineAnalytics.cancelStorageMigrationMove.useMutation, k.pipelineAnalytics.relocateMedia.useMutation, k.pipelineAnalytics.countUnstampedEventMedia.useQuery, k.pipelineAnalytics.countRelocatableMedia.useQuery, k.pipelineAnalytics.listRelocateMediaJobs.useQuery, k.pipelineAnalytics.cancelRelocateMedia.useMutation, k.pipelineAnalytics.listOpsLog.useQuery, k.pipelineAnalytics.reclaimDebugMedia.useMutation, k.pipelineAnalytics.getMediaReclaimStatus.useQuery, k.pipelineAnalytics.getTrainingExportSummary.useQuery, k.pipelineAnalytics.getTrainingExportUrl.useQuery, k.pipelineAnalytics.listRetrainStaging.useQuery, k.pipelineAnalytics.listRetrainCorpusPage.useQuery, k.pipelineAnalytics.getRetrainCorpusKpi.useQuery, k.pipelineAnalytics.listRetrainFrames.useQuery, k.pipelineAnalytics.selectRetrainFrames.useMutation, k.pipelineAnalytics.deselectRetrainFrame.useMutation, k.pipelineAnalytics.getRetrainFrameImage.useQuery, k.pipelineAnalytics.proposeRetrainAnnotations.useMutation, k.pipelineAnalytics.listRetrainAnnotations.useQuery, k.pipelineAnalytics.saveRetrainAnnotations.useMutation, k.pipelineAnalytics.backfillRetrainOrigins.useMutation, k.pipelineAnalytics.completeRetrainTrack.useMutation, k.pipelineAnalytics.restageRetrainTrack.useMutation, k.pipelineAnalytics.getRetrainExportUrl.useQuery, k.pipelineAnalytics.setRetrainFrameComplete.useMutation, k.pipelineAnalytics.writeRetrainArchive.useMutation, k.pipelineAnalytics.offerRetrainArchive.useMutation, k.pipelineAnalytics.listRetrainAssistProfiles.useQuery, k.pipelineAnalytics.proposeRetrainAnnotationsWithLlm.useMutation, k.pipelineAnalytics.createRetrainCollection.useMutation, k.pipelineAnalytics.listRetrainCollections.useQuery, k.pipelineAnalytics.resolveRetrainTrainingCorpus.useQuery, k.pipelineAnalytics.renameRetrainCollection.useMutation, k.pipelineAnalytics.deleteRetrainCollection.useMutation, k.pipelineAnalytics.addRetrainFrameFromRecording.useMutation, k.pipelineAnalytics.addRetrainFramesToCollection.useMutation, k.pipelineAnalytics.removeRetrainFrameFromCollection.useMutation, k.pipelineAnalytics.listRetrainCollectionFrames.useQuery, k.pipelineAnalytics.getEventMedia.useQuery, k.pipelineAnalytics.getTrackMedia.useQuery, k.pipelineAnalytics.listTrackMedia.useQuery, k.pipelineAnalytics.listEventMedia.useQuery, k.pipelineAnalytics.ownersWithMedia.useQuery, k.pipelineAnalytics.searchObjectEvents.useQuery, k.pipelineAnalytics.wipeObjectEmbeddings.useMutation, k.pipelineAnalytics.rebuildObjectEmbeddings.useMutation, k.pipelineAnalytics.getObjectEmbeddingRebuildStatus.useQuery, k.pipelineAnalytics.getDeviceSettingsContribution.useQuery, k.pipelineAnalytics.getDeviceLiveContribution.useQuery, k.pipelineAnalytics.applyDeviceSettingsPatch.useMutation, k.pipelineExecutor.getAvailableEngines.useQuery, k.pipelineExecutor.getSelectedEngine.useQuery, k.pipelineExecutor.getEngineProvisioning.useQuery, k.pipelineExecutor.getVideoPipelineSteps.useQuery, k.pipelineExecutor.setVideoPipelineSteps.useMutation, k.pipelineExecutor.getInferenceDeviceHealth.useQuery, k.pipelineExecutor.rearmInferenceDevice.useMutation, k.pipelineExecutor.getSchema.useQuery, k.pipelineExecutor.getOrchestratorConfigSchema.useQuery, k.pipelineExecutor.validatePipeline.useQuery, k.pipelineExecutor.getCapabilities.useQuery, k.pipelineExecutor.getAddonModels.useQuery, k.pipelineExecutor.downloadModel.useMutation, k.pipelineExecutor.deleteModel.useMutation, k.pipelineExecutor.runPipeline.useMutation, k.pipelineExecutor.runPipelineBatch.useMutation, k.pipelineExecutor.cacheFrameInPool.useMutation, k.pipelineExecutor.inferCached.useMutation, k.pipelineExecutor.uncacheFrame.useMutation, k.pipelineExecutor.getEffectiveTuning.useQuery, k.pipelineExecutor.listLoadedEngines.useQuery, k.pipelineExecutor.spinEngine.useMutation, k.pipelineExecutor.killEngine.useMutation, k.pipelineExecutor.listReferenceImages.useQuery, k.pipelineExecutor.getReferenceImage.useQuery, k.pipelineExecutor.getReferenceAudioFiles.useQuery, k.pipelineExecutor.getReferenceAudio.useQuery, k.pipelineExecutor.getAudioCapabilities.useQuery, k.pipelineExecutor.runAudioTest.useMutation, k.pipelineExecutor.getDetectionConfigSchema.useQuery, k.pipelineOrchestrator.requestOccupancyLook.useMutation, k.pipelineOrchestrator.pauseForStorageMigration.useMutation, k.pipelineOrchestrator.resumeForStorageMigration.useMutation, k.pipelineOrchestrator.assignPipeline.useMutation, k.pipelineOrchestrator.unassignPipeline.useMutation, k.pipelineOrchestrator.setPipelineDevicePin.useMutation, k.pipelineOrchestrator.getPipelineDevicePin.useQuery, k.pipelineOrchestrator.rebalance.useMutation, k.pipelineOrchestrator.getPipelineAssignments.useQuery, k.pipelineOrchestrator.getPipelineAssignment.useQuery, k.pipelineOrchestrator.getAgentLoad.useQuery, k.pipelineOrchestrator.getClusterModelChoice.useQuery, k.pipelineOrchestrator.getGlobalMetrics.useQuery, k.pipelineOrchestrator.getCameraMetrics.useQuery, k.pipelineOrchestrator.getCapabilityBindings.useQuery, k.pipelineOrchestrator.setCapabilityBinding.useMutation, k.pipelineOrchestrator.getIngestOwner.useQuery, k.pipelineOrchestrator.assignAudio.useMutation, k.pipelineOrchestrator.unassignAudio.useMutation, k.pipelineOrchestrator.getAudioAssignment.useQuery, k.pipelineOrchestrator.getAudioNodeLoad.useQuery, k.pipelineOrchestrator.getAudioAssignments.useQuery, k.pipelineOrchestrator.getAgentSettings.useQuery, k.pipelineOrchestrator.listAgentSettings.useQuery, k.pipelineOrchestrator.removeAgentSettings.useMutation, k.pipelineOrchestrator.setAgentMaxCameras.useMutation, k.pipelineOrchestrator.setAgentCapabilities.useMutation, k.pipelineOrchestrator.setAgentDecodeLimits.useMutation, k.pipelineOrchestrator.setAgentReachableHost.useMutation, k.pipelineOrchestrator.setAgentInferenceDevices.useMutation, k.pipelineOrchestrator.setNodeStepSettings.useMutation, k.pipelineOrchestrator.getNodeInferenceDevices.useQuery, k.pipelineOrchestrator.forgetInferenceDevice.useMutation, k.pipelineOrchestrator.resetNodePipelineDefaults.useMutation, k.pipelineOrchestrator.planAutoTune.useQuery, k.pipelineOrchestrator.applyAutoTune.useMutation, k.pipelineOrchestrator.setLoadBalancingShares.useMutation, k.pipelineOrchestrator.getPlacementStats.useQuery, k.pipelineOrchestrator.suggestShares.useQuery, k.pipelineOrchestrator.getEffectiveShares.useQuery, k.pipelineOrchestrator.setShareSource.useMutation, k.pipelineOrchestrator.getNodeBenchmarkPreflight.useQuery, k.pipelineOrchestrator.startNodeBenchmark.useMutation, k.pipelineOrchestrator.getNodeBenchmarkStatus.useQuery, k.pipelineOrchestrator.abortNodeBenchmark.useMutation, k.pipelineOrchestrator.getNodeBenchmarkCandidates.useQuery, k.pipelineOrchestrator.listNodeBenchmarkResults.useQuery, k.pipelineOrchestrator.deleteNodeBenchmarkResult.useMutation, k.pipelineOrchestrator.getCameraSettings.useQuery, k.pipelineOrchestrator.setCameraStepToggle.useMutation, k.pipelineOrchestrator.getCameraDetectionSource.useQuery, k.pipelineOrchestrator.setCameraDetectionSource.useMutation, k.pipelineOrchestrator.setCameraStepSettings.useMutation, k.pipelineOrchestrator.resolvePipeline.useQuery, k.pipelineOrchestrator.getCameraSwitches.useQuery, k.pipelineOrchestrator.setCameraSwitch.useMutation, k.pipelineOrchestrator.getCameraStatus.useQuery, k.pipelineOrchestrator.getCameraStatuses.useQuery, k.pipelineOrchestrator.setCameraSensors.useMutation, k.pipelineOrchestrator.reconcileFromDisk.useMutation, k.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery, k.pipelineOrchestrator.getDeviceSettingsContribution.useQuery, k.pipelineOrchestrator.getDeviceLiveContribution.useQuery, k.pipelineOrchestrator.applyDeviceSettingsPatch.useMutation, k.pipelineRunner.attachCamera.useMutation, k.pipelineRunner.detachCamera.useMutation, k.pipelineRunner.reportMotion.useMutation, k.pipelineRunner.getLocalLoad.useQuery, k.pipelineRunner.getLocalMetrics.useQuery, k.pipelineRunner.getCameraMetrics.useQuery, k.pipelineRunner.getAllCameraMetrics.useQuery, k.pipelineRunner.getLocalCameras.useQuery, k.pipelineRunner.requestOccupancyBurst.useMutation, k.pipelineRunner.getNativeCrop.useQuery, k.pipelineRunner.runDetailSubtree.useMutation, k.pipelineRunner.runStatelessStep.useMutation, k.pipelineRunner.parkTrackFrame.useMutation, k.pipelineRunner.getParkedTrackFrame.useQuery, k.pipelineRunner.releaseParkedTrackFrames.useMutation, k.pipelineRunner.startNodeBench.useMutation, k.pipelineRunner.getNodeBenchStatus.useQuery, k.pipelineRunner.abortNodeBench.useMutation, k.plateGallery.listPlates.useQuery, k.plateGallery.getPlateByTrack.useQuery, k.plateGallery.getPlateMedia.useQuery, k.plateGallery.searchPlates.useQuery, k.plateGallery.suggestPlateClusters.useQuery, k.plateGallery.correctPlateText.useMutation, k.plateGallery.deletePlate.useMutation, k.plateGallery.listVehicles.useQuery, k.plateGallery.createVehicle.useMutation, k.plateGallery.renameVehicle.useMutation, k.plateGallery.deleteVehicle.useMutation, k.plateGallery.listVehicleSamples.useQuery, k.plateGallery.removeVehicleSample.useMutation, k.plateGallery.assignPlate.useMutation, k.plateGallery.unassignPlate.useMutation, k.plateGallery.assignPlates.useMutation, k.plateGallery.unassignPlates.useMutation, k.powerMeter.getStatus.useQuery, k.presence.getStatus.useQuery, k.pressureSensor.getStatus.useQuery, k.privacyMask.getOptions.useQuery, k.privacyMask.setMask.useMutation, k.privacyMask.setAudioEnabled.useMutation, k.privacyMask.getStatus.useQuery, k.ptz.move.useMutation, k.ptz.continuousMove.useMutation, k.ptz.stop.useMutation, k.ptz.getPresets.useQuery, k.ptz.goToPreset.useMutation, k.ptz.savePreset.useMutation, k.ptz.deletePreset.useMutation, k.ptz.getOptions.useQuery, k.ptz.goHome.useMutation, k.ptz.getHomePreset.useQuery, k.ptz.setHomePreset.useMutation, k.ptz.captureHomeHere.useMutation, k.ptz.getHomeReturn.useQuery, k.ptz.setHomeReturn.useMutation, k.ptz.getPosition.useQuery, k.ptz.setAutofocus.useMutation, k.ptz.getStatus.useQuery, k.ptzAutotrack.getStatus.useQuery, k.ptzAutotrack.setEnabled.useMutation, k.ptzAutotrack.getSettings.useQuery, k.ptzAutotrack.setSettings.useMutation, k.reboot.reboot.useMutation, k.recordEntries.listEntryKinds.useQuery, k.recordEntries.listEntries.useQuery, k.recordEntries.putEntry.useMutation, k.recordEntries.deleteEntry.useMutation, k.recording.listSources.useQuery, k.recording.getAvailability.useQuery, k.recording.getDaysWithRecordings.useQuery, k.recording.getPlayback.useQuery, k.recording.getPlaybackOptions.useQuery, k.recordingArchive.getAvailabilityBatch.useQuery, k.recordingArchive.getDaysWithRecordingsBatch.useQuery, k.recordingArchive.getStorageUsage.useQuery, k.recordingArchive.getDeviceConfig.useQuery, k.recordingArchive.locateSegment.useQuery, k.recordingArchive.readSegmentBytes.useQuery, k.recordingArchive.readGopBytes.useQuery, k.recordingArchive.readWindowBytes.useQuery, k.recordingArchive.setDeviceConfig.useMutation, k.recordingArchive.rescanStorage.useMutation, k.recordingArchive.pruneFootage.useMutation, k.recordingArchive.deleteFootprint.useMutation, k.recordingArchive.listOpsLog.useQuery, k.recordingArchive.renderGif.useMutation, k.recordingArchive.renderClip.useMutation, k.recordingArchive.pauseForStorageMigration.useMutation, k.recordingArchive.resumeForStorageMigration.useMutation, k.recordingArchive.refreshStorageLocationsForMigration.useMutation, k.recordingArchive.startStorageMigrationMove.useMutation, k.recordingArchive.getStorageMigrationMoveStatus.useQuery, k.recordingArchive.cancelStorageMigrationMove.useMutation, k.recordingArchive.relocateFootage.useMutation, k.recordingArchive.listRelocateJobs.useQuery, k.recordingArchive.getRelocateResidue.useQuery, k.recordingArchive.reconcileLedgerAgainstDisk.useMutation, k.recordingArchive.cancelRelocateJob.useMutation, k.recordingArchive.planStorageRebalance.useQuery, k.recordingArchive.startStorageRebalance.useMutation, k.recordingArchive.getPlacement.useQuery, k.recordingArchive.setDevicePlacement.useMutation, k.recordingArchive.getStatus.useQuery, k.recordingArchive.getDeviceSettingsContribution.useQuery, k.recordingArchive.getDeviceLiveContribution.useQuery, k.recordingArchive.applyDeviceSettingsPatch.useMutation, k.recordingExport.createExport.useMutation, k.recordingExport.listExports.useQuery, k.recordingExport.getExport.useQuery, k.recordingExport.cancelExport.useMutation, k.recordingExport.deleteExport.useMutation, k.recordingExport.getDownloadUrl.useQuery, k.recordingExport.readExportBytes.useQuery, k.recordingOnboard.getOptions.useQuery, k.recordingOnboard.setSettings.useMutation, k.recordingOnboard.getStatus.useQuery, k.recordingSignal.getStatus.useQuery, k.runningState.getStatus.useQuery, k.sceneMonitor.listScenes.useQuery, k.sceneMonitor.listScenesBatch.useQuery, k.sceneMonitor.createScene.useMutation, k.sceneMonitor.updateScene.useMutation, k.sceneMonitor.deleteScene.useMutation, k.sceneMonitor.captureReference.useMutation, k.sceneMonitor.deleteReference.useMutation, k.sceneMonitor.recheckNow.useMutation, k.sceneMonitor.resetScene.useMutation, k.sceneMonitor.getStatus.useQuery, k.scriptRunner.run.useMutation, k.scriptRunner.stop.useMutation, k.scriptRunner.getStatus.useQuery, k.serverManagement.getServerPackageStatus.useQuery, k.serverManagement.checkServerUpdate.useMutation, k.serverManagement.applyServerUpdate.useMutation, k.serverManagement.rollbackServerUpdate.useMutation, k.serverManagement.restartServer.useMutation, k.settingsStore.get.useQuery, k.settingsStore.set.useMutation, k.settingsStore.query.useQuery, k.settingsStore.upsert.useMutation, k.settingsStore.upsertMany.useMutation, k.settingsStore.insert.useMutation, k.settingsStore.insertMany.useMutation, k.settingsStore.transact.useMutation, k.settingsStore.update.useMutation, k.settingsStore.delete.useMutation, k.settingsStore.deleteWhere.useMutation, k.settingsStore.updateWhere.useMutation, k.settingsStore.count.useQuery, k.settingsStore.aggregate.useQuery, k.settingsStore.histogram.useQuery, k.settingsStore.isEmpty.useQuery, k.settingsStore.declareCollection.useMutation, k.smoke.getStatus.useQuery, k.snapshot.getSnapshot.useQuery, k.snapshot.invalidateCache.useMutation, k.snapshot.getSnapshotOverview.useQuery, k.snapshot.getDebugState.useQuery, k.snapshot.getSnapshotLinks.useQuery, k.snapshot.getStatus.useQuery, k.snapshot.getDeviceSettingsContribution.useQuery, k.snapshot.getDeviceLiveContribution.useQuery, k.snapshot.applyDeviceSettingsPatch.useMutation, k.storage.resolve.useQuery, k.storage.write.useMutation, k.storage.read.useQuery, k.storage.exists.useQuery, k.storage.list.useQuery, k.storage.delete.useMutation, k.storage.getAvailableSpace.useQuery, k.storage.beginUpload.useMutation, k.storage.writeChunk.useMutation, k.storage.finalizeUpload.useMutation, k.storage.abortUpload.useMutation, k.storage.beginDownload.useMutation, k.storage.readChunk.useQuery, k.storage.endDownload.useMutation, k.storage.listLocations.useQuery, k.storage.listLocationDeclarations.useQuery, k.storage.upsertLocation.useMutation, k.storage.deleteLocation.useMutation, k.storage.listDrainProgress.useQuery, k.storage.testLocation.useQuery, k.storage.listProviders.useQuery, k.storage.testConfig.useQuery, k.storageMigration.plan.useQuery, k.storageMigration.start.useMutation, k.storageMigration.status.useQuery, k.storageMigration.cancel.useMutation, k.storageMigration.movers.useQuery, k.storageMigration.moverClearance.useQuery, k.storageMigration.residue.useQuery, k.storageMigration.drain.useMutation, k.storageMigration.cleanupStart.useMutation, k.storageMigration.cleanupStatus.useQuery, k.storageMigration.cleanupCancel.useMutation, k.storageMigration.history.useQuery, k.streamBroker.reportStreamSignal.useMutation, k.streamBroker.publishCameraStream.useMutation, k.streamBroker.retractCameraStream.useMutation, k.streamBroker.assignProfile.useMutation, k.streamBroker.unassignProfile.useMutation, k.streamBroker.forgetDeviceHardware.useMutation, k.streamBroker.renderPreBufferClip.useMutation, k.streamBroker.produceEventMedia.useMutation, k.streamBroker.fetchEventMedia.useMutation, k.streamBroker.listAllCameraStreams.useQuery, k.streamBroker.listAllProfileSlots.useQuery, k.streamBroker.getBrokerStats.useQuery, k.streamBroker.probeStream.useMutation, k.streamBroker.listClients.useQuery, k.streamBroker.getLiveViewerCounts.useQuery, k.streamBroker.killClient.useMutation, k.streamBroker.restartProfile.useMutation, k.streamBroker.getStreamUrl.useQuery, k.streamBroker.getStreamWithCodec.useMutation, k.streamBroker.releaseStreamWithCodec.useMutation, k.streamBroker.acquireEgressTranscode.useMutation, k.streamBroker.releaseEgressTranscode.useMutation, k.streamBroker.subscribeAudioChunks.useMutation, k.streamBroker.pullAudioChunks.useQuery, k.streamBroker.unsubscribeAudioChunks.useMutation, k.streamBroker.setPreBufferDuration.useMutation, k.streamBroker.getPreBufferInfo.useQuery, k.streamBroker.getRtspPort.useQuery, k.streamBroker.getAllRtspEntries.useQuery, k.streamBroker.getRtspEntry.useQuery, k.streamBroker.regenerateRtspToken.useMutation, k.streamBroker.setRtspEnabled.useMutation, k.streamBroker.isRtspEnabled.useQuery, k.streamBroker.getDeviceAudioMute.useQuery, k.streamBroker.setDeviceAudioMute.useMutation, k.streamBroker.getDeviceSettingsContribution.useQuery, k.streamBroker.getDeviceLiveContribution.useQuery, k.streamBroker.applyDeviceSettingsPatch.useMutation, k.streamCatalog.getCatalog.useQuery, k.streamParams.getOptions.useQuery, k.streamParams.setProfile.useMutation, k.streamParams.getConfigSchema.useQuery, k.streamParams.getStatus.useQuery, k.streamSignals.listSignals.useQuery, k.switch.setState.useMutation, k.switch.getStatus.useQuery, k.system.info.useQuery, k.system.health.useQuery, k.system.featureFlags.useQuery, k.system.networkAddresses.useQuery, k.system.getRetentionConfig.useQuery, k.system.setRetentionConfig.useMutation, k.system.forceRetentionCleanup.useMutation, k.system.getSiteLocation.useQuery, k.system.setSiteLocation.useMutation, k.system.detectSiteLocation.useMutation, k.system.getRequestCensus.useQuery, k.system.getLoadContributions.useQuery, k.system.getFailureContributions.useQuery, k.system.getLoggingSettings.useQuery, k.system.setLoggingSettings.useMutation, k.tamper.getStatus.useQuery, k.temperatureSensor.getStatus.useQuery, k.terminalSession.listProfiles.useQuery, k.terminalSession.listInstances.useQuery, k.terminalSession.createInstance.useMutation, k.terminalSession.updateInstance.useMutation, k.terminalSession.deleteInstance.useMutation, k.terminalSession.setInstanceEnabled.useMutation, k.terminalSession.listLegacyCameras.useQuery, k.terminalSession.adoptLegacyMonitor.useMutation, k.terminalSession.listSessions.useQuery, k.terminalSession.openSession.useMutation, k.terminalSession.resize.useMutation, k.terminalSession.pullOutput.useMutation, k.terminalSession.writeInput.useMutation, k.terminalSession.close.useMutation, k.toast.onToast.useSubscription, k.training.listBaseModels.useQuery, k.training.planJob.useQuery, k.training.startJob.useMutation, k.training.startJobBatch.useMutation, k.training.listJobs.useQuery, k.training.getJob.useQuery, k.training.cancelJob.useMutation, k.training.getJobResult.useQuery, k.training.listCanaryTargets.useQuery, k.training.registerResult.useMutation, k.training.canaryResult.useMutation, k.training.rollbackCanary.useMutation, k.training.discardResult.useMutation, k.turnProvider.getTurnServers.useQuery, k.update.installUpdate.useMutation, k.update.getStatus.useQuery, k.userManagement.listUsers.useQuery, k.userManagement.createUser.useMutation, k.userManagement.updateUser.useMutation, k.userManagement.deleteUser.useMutation, k.userManagement.resetPassword.useMutation, k.userManagement.setUserScopes.useMutation, k.userManagement.validateCredentials.useMutation, k.userManagement.setupTotp.useMutation, k.userManagement.confirmTotp.useMutation, k.userManagement.disableTotp.useMutation, k.userManagement.getTotpStatus.useQuery, k.userManagement.migrateRawSecrets.useMutation, k.userManagement.verifyTotp.useMutation, k.userManagement.oauthIssueCode.useMutation, k.userManagement.oauthExchangeCode.useMutation, k.userManagement.oauthRefresh.useMutation, k.userManagement.oauthVerifyAccessToken.useQuery, k.userManagement.listExternalIdentities.useQuery, k.userManagement.findUserByExternalIdentity.useQuery, k.userManagement.unlinkExternalIdentity.useMutation, k.userManagement.listOauthSessions.useQuery, k.userManagement.revokeOauthSession.useMutation, k.vacuumControl.start.useMutation, k.vacuumControl.pause.useMutation, k.vacuumControl.stop.useMutation, k.vacuumControl.returnToBase.useMutation, k.vacuumControl.locate.useMutation, k.vacuumControl.setFanSpeed.useMutation, k.vacuumControl.getStatus.useQuery, k.valve.open.useMutation, k.valve.close.useMutation, k.valve.stop.useMutation, k.valve.setPosition.useMutation, k.valve.getStatus.useQuery, k.vibration.getStatus.useQuery, k.videoclips.listClips.useQuery, k.videoclips.listSources.useQuery, k.videoclips.getClipPlayback.useQuery, k.videoclips.readClipBytes.useQuery, k.videoclips.offerClipBytes.useQuery, k.videoclips.dialClipStream.useQuery, k.videoclips.getPlaybackOptions.useQuery, k.waterHeater.setTargetTemp.useMutation, k.waterHeater.setOperationMode.useMutation, k.waterHeater.setAway.useMutation, k.waterHeater.getStatus.useQuery, k.weather.getStatus.useQuery, k.webrtcSession.listStreams.useQuery, k.webrtcSession.createSession.useMutation, k.webrtcSession.handleOffer.useMutation, k.webrtcSession.handleAnswer.useMutation, k.webrtcSession.addIceCandidate.useMutation, k.webrtcSession.getIceCandidates.useQuery, k.webrtcSession.closeSession.useMutation, k.webrtcSession.hasAdaptiveBitrate.useQuery, k.webrtcSession.getSessionState.useQuery, k.webrtcSession.applyDownlinkProbe.useMutation, k.webrtcSession.getSessionDebug.useQuery, k.zoneAnalytics.getCurrentSnapshot.useQuery, k.zoneAnalytics.getCurrentSnapshotBatch.useQuery, k.zoneAnalytics.getZoneHistory.useQuery, k.zoneAnalytics.getCameraHistory.useQuery, k.zoneAnalytics.getUnzonedHistory.useQuery, k.zoneRules.listRules.useQuery, k.zoneRules.setRules.useMutation, k.zones.listZones.useQuery, k.zones.addZone.useMutation, k.zones.removeZone.useMutation, k.zones.updateZone.useMutation, e(), d(null), e(), e();
4218
+ k.deviceState.getCapSlice.useQuery, k.deviceState.getAllSnapshots.useQuery, k.deviceState.setCapSlice.useMutation, k.deviceState.claimFields.useMutation, k.deviceState.patchOwnedFields.useMutation, k.deviceState.releaseClaim.useMutation, k.deviceState.listClaims.useQuery, k.deviceState.getNativeCapSlice.useQuery, k.deviceStatus.getStatus.useQuery, k.dishwasher.start.useMutation, k.dishwasher.pause.useMutation, k.dishwasher.resume.useMutation, k.dishwasher.stop.useMutation, k.dishwasher.setProgram.useMutation, k.dishwasher.setPower.useMutation, k.dishwasher.setHalfLoad.useMutation, k.dishwasher.setHygienePlus.useMutation, k.dishwasher.setExtraDry.useMutation, k.dishwasher.setIntensiveZone.useMutation, k.dishwasher.setVarioSpeedPlus.useMutation, k.dishwasher.setChildLock.useMutation, k.dishwasher.setOption.useMutation, k.dishwasher.getOptions.useQuery, k.dishwasher.getStatus.useQuery, k.displayPalette.getPalette.useQuery, k.displayPalette.listPresets.useQuery, k.displayPalette.setPalette.useMutation, k.doorbell.getStatus.useQuery, k.enumSensor.getStatus.useQuery, k.eventEmitter.getStatus.useQuery, k.faceGallery.listIdentities.useQuery, k.faceGallery.createIdentity.useMutation, k.faceGallery.renameIdentity.useMutation, k.faceGallery.deleteIdentity.useMutation, k.faceGallery.listIdentitySamples.useQuery, k.faceGallery.auditIdentitySamples.useQuery, k.faceGallery.removeSample.useMutation, k.faceGallery.listRecentFaces.useQuery, k.faceGallery.getFaceByTrack.useQuery, k.faceGallery.getFaceMedia.useQuery, k.faceGallery.assignFace.useMutation, k.faceGallery.unassignFace.useMutation, k.faceGallery.deleteFace.useMutation, k.faceGallery.assignFaces.useMutation, k.faceGallery.unassignFaces.useMutation, k.faceGallery.suggestFaceClusters.useQuery, k.fanControl.setPercentage.useMutation, k.fanControl.setPreset.useMutation, k.fanControl.setDirection.useMutation, k.fanControl.setOscillating.useMutation, k.fanControl.getStatus.useQuery, k.featureProbe.getStatus.useQuery, k.flood.getStatus.useQuery, k.gas.getStatus.useQuery, k.groupActive.getStatus.useQuery, k.groupCommands.getStatus.useQuery, k.groupStatus.getStatus.useQuery, k.heatingValve.getStatus.useQuery, k.humidifier.setOn.useMutation, k.humidifier.setTargetHumidity.useMutation, k.humidifier.setMode.useMutation, k.humidifier.getStatus.useQuery, k.humiditySensor.getStatus.useQuery, k.image.getStatus.useQuery, k.imageSettings.getOptions.useQuery, k.imageSettings.setSettings.useMutation, k.imageSettings.getStatus.useQuery, k.integrations.list.useQuery, k.integrations.get.useQuery, k.integrations.getByAddonId.useQuery, k.integrations.create.useMutation, k.integrations.update.useMutation, k.integrations.delete.useMutation, k.integrations.getSettings.useQuery, k.integrations.setSettings.useMutation, k.integrations.getAvailableTypes.useQuery, k.integrations.testConnection.useMutation, k.intercom.startSession.useMutation, k.intercom.handleAnswer.useMutation, k.intercom.stopSession.useMutation, k.intercom.startTalkSession.useMutation, k.intercom.pushTalkAudio.useMutation, k.intercom.endTalkSession.useMutation, k.intercom.getStatus.useQuery, k.keychainAdmin.status.useQuery, k.keychainAdmin.listSecrets.useQuery, k.keychainAdmin.listAudit.useQuery, k.keychainAdmin.reveal.useMutation, k.keychainAdmin.setSystemSecret.useMutation, k.keychainAdmin.importSecret.useMutation, k.keychainAdmin.deleteOrphans.useMutation, k.keychainAdmin.rotateMasterKey.useMutation, k.keychainAdmin.purgeRetiredKeys.useMutation, k.keychainAdmin.downloadRecoveryKey.useMutation, k.keychainAdmin.resetKeychain.useMutation, k.keychainAdmin.resetReport.useQuery, k.keychainAdmin.acknowledgeReset.useMutation, k.lawnMowerControl.startMowing.useMutation, k.lawnMowerControl.pause.useMutation, k.lawnMowerControl.dock.useMutation, k.lawnMowerControl.getStatus.useQuery, k.llm.generate.useMutation, k.llm.generateVision.useMutation, k.llm.cancel.useMutation, k.llm.listProfileKinds.useQuery, k.llm.listProfiles.useQuery, k.llm.upsertProfile.useMutation, k.llm.migrateRawSecrets.useMutation, k.llm.deleteProfile.useMutation, k.llm.testProfile.useMutation, k.llm.listModels.useMutation, k.llm.getDefaults.useQuery, k.llm.setDefault.useMutation, k.llm.getUsage.useQuery, k.llm.listModelCatalog.useQuery, k.llm.listRuntimeNodes.useQuery, k.llm.listNodeModels.useQuery, k.llm.resolveModelRef.useMutation, k.llm.installModel.useMutation, k.llm.deleteModel.useMutation, k.llm.getRuntimeStatus.useQuery, k.llm.startRuntime.useMutation, k.llm.stopRuntime.useMutation, k.localNetwork.list.useQuery, k.localNetwork.getPreferred.useQuery, k.localNetwork.getConnectionEndpoints.useQuery, k.localNetwork.getNotificationEndpoint.useQuery, k.localNetwork.setNotificationEndpoint.useMutation, k.localNetwork.getViewerEndpoints.useQuery, k.localNetwork.setViewerEndpoints.useMutation, k.localNetwork.getAddresses.useQuery, k.localNetwork.addCustomAddress.useMutation, k.localNetwork.removeCustomAddress.useMutation, k.localNetwork.setAddressRole.useMutation, k.localNetwork.getHubAddresses.useQuery, k.localNetwork.getAllowedAddresses.useQuery, k.localNetwork.setAllowedAddresses.useMutation, k.localNetwork.resetAllowlistToBestMatch.useMutation, k.localNetwork.getTlsStatus.useQuery, k.localNetwork.regenerateCertificate.useMutation, k.localNetwork.uploadCertificate.useMutation, k.localNetwork.downloadCa.useQuery, k.localNetwork.useStoredUploadedCertificate.useMutation, k.localNetwork.revertToGeneratedCertificate.useMutation, k.lockControl.lock.useMutation, k.lockControl.unlock.useMutation, k.lockControl.open.useMutation, k.lockControl.getStatus.useQuery, k.mediaPlayer.play.useMutation, k.mediaPlayer.pause.useMutation, k.mediaPlayer.stop.useMutation, k.mediaPlayer.next.useMutation, k.mediaPlayer.previous.useMutation, k.mediaPlayer.seek.useMutation, k.mediaPlayer.setVolume.useMutation, k.mediaPlayer.setMute.useMutation, k.mediaPlayer.setShuffle.useMutation, k.mediaPlayer.setRepeat.useMutation, k.mediaPlayer.selectSource.useMutation, k.mediaPlayer.playMedia.useMutation, k.mediaPlayer.getStatus.useQuery, k.meshNetwork.getStatus.useQuery, k.meshNetwork.join.useMutation, k.meshNetwork.startLogin.useMutation, k.meshNetwork.leave.useMutation, k.meshNetwork.logout.useMutation, k.meshNetwork.listPeers.useQuery, k.meshNetwork.testConnection.useMutation, k.meter.getStatus.useQuery, k.metricsProvider.collectSnapshot.useQuery, k.metricsProvider.getCached.useQuery, k.metricsProvider.getCurrent.useQuery, k.metricsProvider.getDiskSpace.useQuery, k.metricsProvider.getGpuInfo.useQuery, k.metricsProvider.getCpuTemperature.useQuery, k.metricsProvider.getProcessStats.useQuery, k.metricsProvider.listAddonInstances.useQuery, k.metricsProvider.getAddonStats.useQuery, k.metricsProvider.listNodeProcesses.useQuery, k.metricsProvider.getLoadSeries.useQuery, k.motion.isDetected.useQuery, k.motion.getStatus.useQuery, k.motionDetection.analyze.useMutation, k.motionDetection.removeCamera.useMutation, k.motionDetection.reset.useMutation, k.motionDetection.getDeviceSettingsContribution.useQuery, k.motionDetection.getDeviceLiveContribution.useQuery, k.motionDetection.applyDeviceSettingsPatch.useMutation, k.motionTrigger.setMotionTrigger.useMutation, k.motionTrigger.getStatus.useQuery, k.motionZones.getOptions.useQuery, k.motionZones.setZone.useMutation, k.motionZones.getStatus.useQuery, k.mqttBroker.listBrokers.useQuery, k.mqttBroker.getBrokerConfig.useQuery, k.mqttBroker.addBroker.useMutation, k.mqttBroker.removeBroker.useMutation, k.mqttBroker.testConnection.useMutation, k.mqttBroker.startEmbeddedBroker.useMutation, k.mqttBroker.stopEmbeddedBroker.useMutation, k.mqttBroker.getStatus.useQuery, k.nativeObjectDetection.getOptions.useQuery, k.nativeObjectDetection.setSettings.useMutation, k.nativeObjectDetection.setEnabled.useMutation, k.nativeObjectDetection.getStatus.useQuery, k.navigation.move.useMutation, k.navigation.stop.useMutation, k.navigation.goToPoint.useMutation, k.navigation.listActions.useQuery, k.navigation.runAction.useMutation, k.navigation.playSound.useMutation, k.navigation.setLightOn.useMutation, k.navigation.setLightMode.useMutation, k.navigation.setLightLevel.useMutation, k.navigation.getFeatures.useQuery, k.navigation.getStatus.useQuery, k.networkAccess.start.useMutation, k.networkAccess.stop.useMutation, k.networkAccess.getEndpoint.useQuery, k.networkAccess.getStatus.useQuery, k.networkAccess.listEndpoints.useQuery, k.networkLink.getStatus.useQuery, k.networkQuality.getDeviceStats.useQuery, k.networkQuality.getAllStats.useQuery, k.networkQuality.reportClientStats.useMutation, k.nodes.topology.useQuery, k.nodes.directory.useQuery, k.nodes.deployAddon.useMutation, k.nodes.undeployAddon.useMutation, k.nodes.restartAddon.useMutation, k.nodes.restartProcess.useMutation, k.nodes.restartNode.useMutation, k.nodes.shutdownNode.useMutation, k.nodes.renameNode.useMutation, k.nodes.clusterAddonStatus.useQuery, k.nodes.getCapUsageGraph.useQuery, k.nodes.getNodeAddons.useQuery, k.nodes.setProcessLogLevel.useMutation, k.nodes.executeQuery.useMutation, k.notificationOutput.listTargetKinds.useQuery, k.notificationOutput.listTargets.useQuery, k.notificationOutput.getTarget.useQuery, k.notificationOutput.discoverTargets.useQuery, k.notificationOutput.probeTargetConfig.useMutation, k.notificationOutput.send.useMutation, k.notificationOutput.testTarget.useMutation, k.notificationOutput.upsertTarget.useMutation, k.notificationOutput.deleteTarget.useMutation, k.notificationOutput.setTargetEnabled.useMutation, k.notificationRules.listRules.useQuery, k.notificationRules.getRule.useQuery, k.notificationRules.createRule.useMutation, k.notificationRules.updateRule.useMutation, k.notificationRules.deleteRule.useMutation, k.notificationRules.setRuleEnabled.useMutation, k.notificationRules.listSequences.useQuery, k.notificationRules.getSequence.useQuery, k.notificationRules.createSequence.useMutation, k.notificationRules.updateSequence.useMutation, k.notificationRules.deleteSequence.useMutation, k.notificationRules.getClipRetentionAsks.useQuery, k.notificationRules.listDeviceMutes.useQuery, k.notificationRules.setDeviceMuted.useMutation, k.notificationRules.testRule.useMutation, k.notificationRules.previewStateSummary.useMutation, k.notificationRules.getConditionCatalog.useQuery, k.notificationRules.getTemplateCatalog.useQuery, k.notificationRules.previewTemplate.useMutation, k.notificationRules.getHistory.useQuery, k.notificationRules.getRuleLastRuns.useQuery, k.notificationRules.resolveArtifactUrl.useQuery, k.notificationRules.listSnoozes.useQuery, k.notificationRules.createSnooze.useMutation, k.notificationRules.cancelSnooze.useMutation, k.notificationRules.getAlarmConfig.useQuery, k.notificationRules.setAlarmConfig.useMutation, k.notificationRules.createAlarmProfile.useMutation, k.notificationRules.renameAlarmProfile.useMutation, k.notificationRules.deleteAlarmProfile.useMutation, k.notificationRules.activateAlarmProfile.useMutation, k.notificationRules.getAlarmSensors.useQuery, k.notifier.send.useMutation, k.notifier.cancel.useMutation, k.notifier.getStatus.useQuery, k.numericSensor.getStatus.useQuery, k.oidcConnections.connectionFormSchema.useQuery, k.oidcConnections.listConnections.useQuery, k.oidcConnections.createConnection.useMutation, k.oidcConnections.updateConnection.useMutation, k.oidcConnections.deleteConnection.useMutation, k.osd.setOverlay.useMutation, k.osd.getStatus.useQuery, k.osdManager.getDeviceOsd.useQuery, k.osdManager.getSourceCatalog.useQuery, k.osdManager.getConditionSupport.useQuery, k.osdManager.setSlotBinding.useMutation, k.osdManager.clearSlotBinding.useMutation, k.osdManager.setSlotCameraEnabled.useMutation, k.osdManager.copyDeviceConfiguration.useMutation, k.osdManager.previewSlot.useMutation, k.osdManager.renderDevice.useMutation, k.osdManager.listTemplates.useQuery, k.osdManager.upsertTemplate.useMutation, k.osdManager.deleteTemplate.useMutation, k.petFeeder.feed.useMutation, k.petFeeder.cancelFeed.useMutation, k.petFeeder.resetDesiccant.useMutation, k.petFeeder.markFoodReplenished.useMutation, k.petFeeder.callPet.useMutation, k.petFeeder.playSound.useMutation, k.petFeeder.setChildLock.useMutation, k.petFeeder.setIndicatorLight.useMutation, k.petFeeder.setFeedSound.useMutation, k.petFeeder.setVolume.useMutation, k.petFeeder.getStatus.useQuery, k.pipelineAnalytics.getActiveTracks.useQuery, k.pipelineAnalytics.getTrack.useQuery, k.pipelineAnalytics.listTracks.useQuery, k.pipelineAnalytics.listRecentTracks.useQuery, k.pipelineAnalytics.clearTracks.useMutation, k.pipelineAnalytics.getMotionEvents.useQuery, k.pipelineAnalytics.getObjectEvents.useQuery, k.pipelineAnalytics.getAudioEvents.useQuery, k.pipelineAnalytics.listEventKinds.useQuery, k.pipelineAnalytics.listEventKindsBatch.useQuery, k.pipelineAnalytics.getSensorEvents.useQuery, k.pipelineAnalytics.getKeyEvents.useQuery, k.pipelineAnalytics.getKeyEventsBatch.useQuery, k.pipelineAnalytics.readLongTermSeries.useQuery, k.pipelineAnalytics.getEventDensity.useQuery, k.pipelineAnalytics.getEventDensityBatch.useQuery, k.pipelineAnalytics.pruneEventsBefore.useMutation, k.pipelineAnalytics.pruneTracksBefore.useMutation, k.pipelineAnalytics.wipeAllAnalytics.useMutation, k.pipelineAnalytics.reconcileFromDisk.useMutation, k.pipelineAnalytics.deleteTracks.useMutation, k.pipelineAnalytics.setTrackFlags.useMutation, k.pipelineAnalytics.listArchivedDebugNotes.useQuery, k.pipelineAnalytics.setTrackRelation.useMutation, k.pipelineAnalytics.clearTrackRelation.useMutation, k.pipelineAnalytics.setTrackPurity.useMutation, k.pipelineAnalytics.listTrackRelations.useQuery, k.pipelineAnalytics.listBirthDecisions.useQuery, k.pipelineAnalytics.getEventStoreFootprint.useQuery, k.pipelineAnalytics.getEventMediaFootprintByKind.useQuery, k.pipelineAnalytics.pruneEvents.useMutation, k.pipelineAnalytics.deleteDeviceEvents.useMutation, k.pipelineAnalytics.pauseForStorageMigration.useMutation, k.pipelineAnalytics.resumeForStorageMigration.useMutation, k.pipelineAnalytics.refreshStorageLocationsForMigration.useMutation, k.pipelineAnalytics.startStorageMigrationMove.useMutation, k.pipelineAnalytics.getStorageMigrationMoveStatus.useQuery, k.pipelineAnalytics.cancelStorageMigrationMove.useMutation, k.pipelineAnalytics.relocateMedia.useMutation, k.pipelineAnalytics.countUnstampedEventMedia.useQuery, k.pipelineAnalytics.countRelocatableMedia.useQuery, k.pipelineAnalytics.listRelocateMediaJobs.useQuery, k.pipelineAnalytics.cancelRelocateMedia.useMutation, k.pipelineAnalytics.listOpsLog.useQuery, k.pipelineAnalytics.reclaimDebugMedia.useMutation, k.pipelineAnalytics.getMediaReclaimStatus.useQuery, k.pipelineAnalytics.getTrainingExportSummary.useQuery, k.pipelineAnalytics.getTrainingExportUrl.useQuery, k.pipelineAnalytics.listRetrainStaging.useQuery, k.pipelineAnalytics.listRetrainCorpusPage.useQuery, k.pipelineAnalytics.getRetrainCorpusKpi.useQuery, k.pipelineAnalytics.listRetrainFrames.useQuery, k.pipelineAnalytics.selectRetrainFrames.useMutation, k.pipelineAnalytics.deselectRetrainFrame.useMutation, k.pipelineAnalytics.getRetrainFrameImage.useQuery, k.pipelineAnalytics.proposeRetrainAnnotations.useMutation, k.pipelineAnalytics.listRetrainAnnotations.useQuery, k.pipelineAnalytics.saveRetrainAnnotations.useMutation, k.pipelineAnalytics.backfillRetrainOrigins.useMutation, k.pipelineAnalytics.completeRetrainTrack.useMutation, k.pipelineAnalytics.restageRetrainTrack.useMutation, k.pipelineAnalytics.getRetrainExportUrl.useQuery, k.pipelineAnalytics.setRetrainFrameComplete.useMutation, k.pipelineAnalytics.writeRetrainArchive.useMutation, k.pipelineAnalytics.offerRetrainArchive.useMutation, k.pipelineAnalytics.listRetrainAssistProfiles.useQuery, k.pipelineAnalytics.proposeRetrainAnnotationsWithLlm.useMutation, k.pipelineAnalytics.createRetrainCollection.useMutation, k.pipelineAnalytics.listRetrainCollections.useQuery, k.pipelineAnalytics.resolveRetrainTrainingCorpus.useQuery, k.pipelineAnalytics.renameRetrainCollection.useMutation, k.pipelineAnalytics.deleteRetrainCollection.useMutation, k.pipelineAnalytics.addRetrainFrameFromRecording.useMutation, k.pipelineAnalytics.addRetrainFramesToCollection.useMutation, k.pipelineAnalytics.removeRetrainFrameFromCollection.useMutation, k.pipelineAnalytics.listRetrainCollectionFrames.useQuery, k.pipelineAnalytics.getEventMedia.useQuery, k.pipelineAnalytics.getTrackMedia.useQuery, k.pipelineAnalytics.listTrackMedia.useQuery, k.pipelineAnalytics.listEventMedia.useQuery, k.pipelineAnalytics.ownersWithMedia.useQuery, k.pipelineAnalytics.searchObjectEvents.useQuery, k.pipelineAnalytics.wipeObjectEmbeddings.useMutation, k.pipelineAnalytics.rebuildObjectEmbeddings.useMutation, k.pipelineAnalytics.getObjectEmbeddingRebuildStatus.useQuery, k.pipelineAnalytics.getDeviceSettingsContribution.useQuery, k.pipelineAnalytics.getDeviceLiveContribution.useQuery, k.pipelineAnalytics.applyDeviceSettingsPatch.useMutation, k.pipelineExecutor.getAvailableEngines.useQuery, k.pipelineExecutor.getSelectedEngine.useQuery, k.pipelineExecutor.getEngineProvisioning.useQuery, k.pipelineExecutor.getVideoPipelineSteps.useQuery, k.pipelineExecutor.setVideoPipelineSteps.useMutation, k.pipelineExecutor.getInferenceDeviceHealth.useQuery, k.pipelineExecutor.rearmInferenceDevice.useMutation, k.pipelineExecutor.getSchema.useQuery, k.pipelineExecutor.getOrchestratorConfigSchema.useQuery, k.pipelineExecutor.validatePipeline.useQuery, k.pipelineExecutor.getCapabilities.useQuery, k.pipelineExecutor.getAddonModels.useQuery, k.pipelineExecutor.downloadModel.useMutation, k.pipelineExecutor.deleteModel.useMutation, k.pipelineExecutor.runPipeline.useMutation, k.pipelineExecutor.runPipelineBatch.useMutation, k.pipelineExecutor.cacheFrameInPool.useMutation, k.pipelineExecutor.inferCached.useMutation, k.pipelineExecutor.uncacheFrame.useMutation, k.pipelineExecutor.getEffectiveTuning.useQuery, k.pipelineExecutor.listLoadedEngines.useQuery, k.pipelineExecutor.spinEngine.useMutation, k.pipelineExecutor.killEngine.useMutation, k.pipelineExecutor.listReferenceImages.useQuery, k.pipelineExecutor.getReferenceImage.useQuery, k.pipelineExecutor.getReferenceAudioFiles.useQuery, k.pipelineExecutor.getReferenceAudio.useQuery, k.pipelineExecutor.getAudioCapabilities.useQuery, k.pipelineExecutor.runAudioTest.useMutation, k.pipelineExecutor.getDetectionConfigSchema.useQuery, k.pipelineOrchestrator.requestOccupancyLook.useMutation, k.pipelineOrchestrator.pauseForStorageMigration.useMutation, k.pipelineOrchestrator.resumeForStorageMigration.useMutation, k.pipelineOrchestrator.assignPipeline.useMutation, k.pipelineOrchestrator.unassignPipeline.useMutation, k.pipelineOrchestrator.setPipelineDevicePin.useMutation, k.pipelineOrchestrator.getPipelineDevicePin.useQuery, k.pipelineOrchestrator.rebalance.useMutation, k.pipelineOrchestrator.getPipelineAssignments.useQuery, k.pipelineOrchestrator.getPipelineAssignment.useQuery, k.pipelineOrchestrator.getAgentLoad.useQuery, k.pipelineOrchestrator.getClusterModelChoice.useQuery, k.pipelineOrchestrator.getGlobalMetrics.useQuery, k.pipelineOrchestrator.getCameraMetrics.useQuery, k.pipelineOrchestrator.getCapabilityBindings.useQuery, k.pipelineOrchestrator.setCapabilityBinding.useMutation, k.pipelineOrchestrator.getIngestOwner.useQuery, k.pipelineOrchestrator.assignAudio.useMutation, k.pipelineOrchestrator.unassignAudio.useMutation, k.pipelineOrchestrator.getAudioAssignment.useQuery, k.pipelineOrchestrator.getAudioNodeLoad.useQuery, k.pipelineOrchestrator.getAudioAssignments.useQuery, k.pipelineOrchestrator.getAgentSettings.useQuery, k.pipelineOrchestrator.listAgentSettings.useQuery, k.pipelineOrchestrator.removeAgentSettings.useMutation, k.pipelineOrchestrator.setAgentMaxCameras.useMutation, k.pipelineOrchestrator.setAgentCapabilities.useMutation, k.pipelineOrchestrator.setAgentDecodeLimits.useMutation, k.pipelineOrchestrator.setAgentReachableHost.useMutation, k.pipelineOrchestrator.setAgentInferenceDevices.useMutation, k.pipelineOrchestrator.setNodeStepSettings.useMutation, k.pipelineOrchestrator.getNodeInferenceDevices.useQuery, k.pipelineOrchestrator.forgetInferenceDevice.useMutation, k.pipelineOrchestrator.resetNodePipelineDefaults.useMutation, k.pipelineOrchestrator.planAutoTune.useQuery, k.pipelineOrchestrator.applyAutoTune.useMutation, k.pipelineOrchestrator.setLoadBalancingShares.useMutation, k.pipelineOrchestrator.getPlacementStats.useQuery, k.pipelineOrchestrator.suggestShares.useQuery, k.pipelineOrchestrator.getEffectiveShares.useQuery, k.pipelineOrchestrator.setShareSource.useMutation, k.pipelineOrchestrator.getNodeBenchmarkPreflight.useQuery, k.pipelineOrchestrator.startNodeBenchmark.useMutation, k.pipelineOrchestrator.getNodeBenchmarkStatus.useQuery, k.pipelineOrchestrator.abortNodeBenchmark.useMutation, k.pipelineOrchestrator.getNodeBenchmarkCandidates.useQuery, k.pipelineOrchestrator.listNodeBenchmarkResults.useQuery, k.pipelineOrchestrator.deleteNodeBenchmarkResult.useMutation, k.pipelineOrchestrator.getCameraSettings.useQuery, k.pipelineOrchestrator.setCameraStepToggle.useMutation, k.pipelineOrchestrator.getCameraDetectionSource.useQuery, k.pipelineOrchestrator.setCameraDetectionSource.useMutation, k.pipelineOrchestrator.setCameraStepSettings.useMutation, k.pipelineOrchestrator.resolvePipeline.useQuery, k.pipelineOrchestrator.getCameraSwitches.useQuery, k.pipelineOrchestrator.setCameraSwitch.useMutation, k.pipelineOrchestrator.getCameraStatus.useQuery, k.pipelineOrchestrator.getCameraStatuses.useQuery, k.pipelineOrchestrator.setCameraSensors.useMutation, k.pipelineOrchestrator.reconcileFromDisk.useMutation, k.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery, k.pipelineOrchestrator.getDeviceSettingsContribution.useQuery, k.pipelineOrchestrator.getDeviceLiveContribution.useQuery, k.pipelineOrchestrator.applyDeviceSettingsPatch.useMutation, k.pipelineRunner.attachCamera.useMutation, k.pipelineRunner.detachCamera.useMutation, k.pipelineRunner.reportMotion.useMutation, k.pipelineRunner.getLocalLoad.useQuery, k.pipelineRunner.getLocalMetrics.useQuery, k.pipelineRunner.getCameraMetrics.useQuery, k.pipelineRunner.getAllCameraMetrics.useQuery, k.pipelineRunner.getLocalCameras.useQuery, k.pipelineRunner.requestOccupancyBurst.useMutation, k.pipelineRunner.getNativeCrop.useQuery, k.pipelineRunner.runDetailSubtree.useMutation, k.pipelineRunner.runStatelessStep.useMutation, k.pipelineRunner.parkTrackFrame.useMutation, k.pipelineRunner.getParkedTrackFrame.useQuery, k.pipelineRunner.releaseParkedTrackFrames.useMutation, k.pipelineRunner.startNodeBench.useMutation, k.pipelineRunner.getNodeBenchStatus.useQuery, k.pipelineRunner.abortNodeBench.useMutation, k.plateGallery.listPlates.useQuery, k.plateGallery.getPlateByTrack.useQuery, k.plateGallery.getPlateMedia.useQuery, k.plateGallery.searchPlates.useQuery, k.plateGallery.suggestPlateClusters.useQuery, k.plateGallery.correctPlateText.useMutation, k.plateGallery.deletePlate.useMutation, k.plateGallery.listVehicles.useQuery, k.plateGallery.createVehicle.useMutation, k.plateGallery.renameVehicle.useMutation, k.plateGallery.deleteVehicle.useMutation, k.plateGallery.listVehicleSamples.useQuery, k.plateGallery.removeVehicleSample.useMutation, k.plateGallery.assignPlate.useMutation, k.plateGallery.unassignPlate.useMutation, k.plateGallery.assignPlates.useMutation, k.plateGallery.unassignPlates.useMutation, k.powerMeter.getStatus.useQuery, k.presence.getStatus.useQuery, k.pressureSensor.getStatus.useQuery, k.privacyMask.getOptions.useQuery, k.privacyMask.setMask.useMutation, k.privacyMask.setAudioEnabled.useMutation, k.privacyMask.getStatus.useQuery, k.ptz.move.useMutation, k.ptz.continuousMove.useMutation, k.ptz.stop.useMutation, k.ptz.getPresets.useQuery, k.ptz.goToPreset.useMutation, k.ptz.savePreset.useMutation, k.ptz.deletePreset.useMutation, k.ptz.getOptions.useQuery, k.ptz.goHome.useMutation, k.ptz.getHomePreset.useQuery, k.ptz.setHomePreset.useMutation, k.ptz.captureHomeHere.useMutation, k.ptz.getHomeReturn.useQuery, k.ptz.setHomeReturn.useMutation, k.ptz.getPosition.useQuery, k.ptz.setAutofocus.useMutation, k.ptz.getStatus.useQuery, k.ptzAutotrack.getStatus.useQuery, k.ptzAutotrack.setEnabled.useMutation, k.ptzAutotrack.getSettings.useQuery, k.ptzAutotrack.setSettings.useMutation, k.reboot.reboot.useMutation, k.recordEntries.listEntryKinds.useQuery, k.recordEntries.listEntries.useQuery, k.recordEntries.putEntry.useMutation, k.recordEntries.deleteEntry.useMutation, k.recording.listSources.useQuery, k.recording.getAvailability.useQuery, k.recording.getDaysWithRecordings.useQuery, k.recording.getPlayback.useQuery, k.recording.getPlaybackOptions.useQuery, k.recordingArchive.getAvailabilityBatch.useQuery, k.recordingArchive.getDaysWithRecordingsBatch.useQuery, k.recordingArchive.getStorageUsage.useQuery, k.recordingArchive.getDeviceConfig.useQuery, k.recordingArchive.locateSegment.useQuery, k.recordingArchive.readSegmentBytes.useQuery, k.recordingArchive.readGopBytes.useQuery, k.recordingArchive.readWindowBytes.useQuery, k.recordingArchive.setDeviceConfig.useMutation, k.recordingArchive.rescanStorage.useMutation, k.recordingArchive.pruneFootage.useMutation, k.recordingArchive.deleteFootprint.useMutation, k.recordingArchive.listOpsLog.useQuery, k.recordingArchive.renderGif.useMutation, k.recordingArchive.renderClip.useMutation, k.recordingArchive.pauseForStorageMigration.useMutation, k.recordingArchive.resumeForStorageMigration.useMutation, k.recordingArchive.refreshStorageLocationsForMigration.useMutation, k.recordingArchive.startStorageMigrationMove.useMutation, k.recordingArchive.getStorageMigrationMoveStatus.useQuery, k.recordingArchive.cancelStorageMigrationMove.useMutation, k.recordingArchive.relocateFootage.useMutation, k.recordingArchive.listRelocateJobs.useQuery, k.recordingArchive.getRelocateResidue.useQuery, k.recordingArchive.reconcileLedgerAgainstDisk.useMutation, k.recordingArchive.cancelRelocateJob.useMutation, k.recordingArchive.planStorageRebalance.useQuery, k.recordingArchive.startStorageRebalance.useMutation, k.recordingArchive.getPlacement.useQuery, k.recordingArchive.setDevicePlacement.useMutation, k.recordingArchive.getStatus.useQuery, k.recordingArchive.getDeviceSettingsContribution.useQuery, k.recordingArchive.getDeviceLiveContribution.useQuery, k.recordingArchive.applyDeviceSettingsPatch.useMutation, k.recordingExport.createExport.useMutation, k.recordingExport.listExports.useQuery, k.recordingExport.getExport.useQuery, k.recordingExport.cancelExport.useMutation, k.recordingExport.deleteExport.useMutation, k.recordingExport.getDownloadUrl.useQuery, k.recordingExport.readExportBytes.useQuery, k.recordingOnboard.getOptions.useQuery, k.recordingOnboard.setSettings.useMutation, k.recordingOnboard.getStatus.useQuery, k.recordingSignal.getStatus.useQuery, k.runningState.getStatus.useQuery, k.sceneMonitor.listScenes.useQuery, k.sceneMonitor.listScenesBatch.useQuery, k.sceneMonitor.createScene.useMutation, k.sceneMonitor.updateScene.useMutation, k.sceneMonitor.deleteScene.useMutation, k.sceneMonitor.captureReference.useMutation, k.sceneMonitor.deleteReference.useMutation, k.sceneMonitor.recheckNow.useMutation, k.sceneMonitor.resetScene.useMutation, k.sceneMonitor.getStatus.useQuery, k.scriptRunner.run.useMutation, k.scriptRunner.stop.useMutation, k.scriptRunner.getStatus.useQuery, k.serverManagement.getServerPackageStatus.useQuery, k.serverManagement.checkServerUpdate.useMutation, k.serverManagement.applyServerUpdate.useMutation, k.serverManagement.rollbackServerUpdate.useMutation, k.serverManagement.restartServer.useMutation, k.settingsStore.get.useQuery, k.settingsStore.set.useMutation, k.settingsStore.query.useQuery, k.settingsStore.upsert.useMutation, k.settingsStore.upsertMany.useMutation, k.settingsStore.insert.useMutation, k.settingsStore.insertMany.useMutation, k.settingsStore.transact.useMutation, k.settingsStore.update.useMutation, k.settingsStore.delete.useMutation, k.settingsStore.deleteWhere.useMutation, k.settingsStore.updateWhere.useMutation, k.settingsStore.count.useQuery, k.settingsStore.aggregate.useQuery, k.settingsStore.histogram.useQuery, k.settingsStore.isEmpty.useQuery, k.settingsStore.declareCollection.useMutation, k.smoke.getStatus.useQuery, k.snapshot.getSnapshot.useQuery, k.snapshot.invalidateCache.useMutation, k.snapshot.getSnapshotOverview.useQuery, k.snapshot.getDebugState.useQuery, k.snapshot.getSnapshotLinks.useQuery, k.snapshot.getStatus.useQuery, k.snapshot.getDeviceSettingsContribution.useQuery, k.snapshot.getDeviceLiveContribution.useQuery, k.snapshot.applyDeviceSettingsPatch.useMutation, k.storage.resolve.useQuery, k.storage.write.useMutation, k.storage.read.useQuery, k.storage.exists.useQuery, k.storage.list.useQuery, k.storage.delete.useMutation, k.storage.getAvailableSpace.useQuery, k.storage.beginUpload.useMutation, k.storage.writeChunk.useMutation, k.storage.finalizeUpload.useMutation, k.storage.abortUpload.useMutation, k.storage.beginDownload.useMutation, k.storage.readChunk.useQuery, k.storage.endDownload.useMutation, k.storage.listLocations.useQuery, k.storage.listLocationDeclarations.useQuery, k.storage.upsertLocation.useMutation, k.storage.deleteLocation.useMutation, k.storage.listDrainProgress.useQuery, k.storage.testLocation.useQuery, k.storage.listProviders.useQuery, k.storage.testConfig.useQuery, k.storageMigration.plan.useQuery, k.storageMigration.start.useMutation, k.storageMigration.status.useQuery, k.storageMigration.cancel.useMutation, k.storageMigration.movers.useQuery, k.storageMigration.moverClearance.useQuery, k.storageMigration.residue.useQuery, k.storageMigration.drain.useMutation, k.storageMigration.cleanupStart.useMutation, k.storageMigration.cleanupStatus.useQuery, k.storageMigration.cleanupCancel.useMutation, k.storageMigration.history.useQuery, k.streamBroker.reportStreamSignal.useMutation, k.streamBroker.publishCameraStream.useMutation, k.streamBroker.retractCameraStream.useMutation, k.streamBroker.assignProfile.useMutation, k.streamBroker.unassignProfile.useMutation, k.streamBroker.forgetDeviceHardware.useMutation, k.streamBroker.renderPreBufferClip.useMutation, k.streamBroker.produceEventMedia.useMutation, k.streamBroker.fetchEventMedia.useMutation, k.streamBroker.listAllCameraStreams.useQuery, k.streamBroker.listAllProfileSlots.useQuery, k.streamBroker.getBrokerStats.useQuery, k.streamBroker.probeStream.useMutation, k.streamBroker.listClients.useQuery, k.streamBroker.getLiveViewerCounts.useQuery, k.streamBroker.killClient.useMutation, k.streamBroker.restartProfile.useMutation, k.streamBroker.getStreamUrl.useQuery, k.streamBroker.getStreamWithCodec.useMutation, k.streamBroker.releaseStreamWithCodec.useMutation, k.streamBroker.acquireEgressTranscode.useMutation, k.streamBroker.releaseEgressTranscode.useMutation, k.streamBroker.subscribeAudioChunks.useMutation, k.streamBroker.pullAudioChunks.useQuery, k.streamBroker.unsubscribeAudioChunks.useMutation, k.streamBroker.setPreBufferDuration.useMutation, k.streamBroker.getPreBufferInfo.useQuery, k.streamBroker.getRtspPort.useQuery, k.streamBroker.getAllRtspEntries.useQuery, k.streamBroker.getRtspEntry.useQuery, k.streamBroker.regenerateRtspToken.useMutation, k.streamBroker.setRtspEnabled.useMutation, k.streamBroker.isRtspEnabled.useQuery, k.streamBroker.getDeviceAudioMute.useQuery, k.streamBroker.setDeviceAudioMute.useMutation, k.streamBroker.getDeviceSettingsContribution.useQuery, k.streamBroker.getDeviceLiveContribution.useQuery, k.streamBroker.applyDeviceSettingsPatch.useMutation, k.streamCatalog.getCatalog.useQuery, k.streamParams.getOptions.useQuery, k.streamParams.setProfile.useMutation, k.streamParams.getConfigSchema.useQuery, k.streamParams.getStatus.useQuery, k.streamSignals.listSignals.useQuery, k.switch.setState.useMutation, k.switch.getStatus.useQuery, k.system.info.useQuery, k.system.health.useQuery, k.system.featureFlags.useQuery, k.system.networkAddresses.useQuery, k.system.getRetentionConfig.useQuery, k.system.setRetentionConfig.useMutation, k.system.forceRetentionCleanup.useMutation, k.system.getSiteLocation.useQuery, k.system.setSiteLocation.useMutation, k.system.detectSiteLocation.useMutation, k.system.getRequestCensus.useQuery, k.system.getLoadContributions.useQuery, k.system.getFailureContributions.useQuery, k.system.getLoggingSettings.useQuery, k.system.setLoggingSettings.useMutation, k.tamper.getStatus.useQuery, k.temperatureSensor.getStatus.useQuery, k.terminalSession.listProfiles.useQuery, k.terminalSession.listInstances.useQuery, k.terminalSession.createInstance.useMutation, k.terminalSession.updateInstance.useMutation, k.terminalSession.deleteInstance.useMutation, k.terminalSession.setInstanceEnabled.useMutation, k.terminalSession.listLegacyCameras.useQuery, k.terminalSession.adoptLegacyMonitor.useMutation, k.terminalSession.listSessions.useQuery, k.terminalSession.openSession.useMutation, k.terminalSession.resize.useMutation, k.terminalSession.pullOutput.useMutation, k.terminalSession.writeInput.useMutation, k.terminalSession.close.useMutation, k.toast.onToast.useSubscription, k.training.listBaseModels.useQuery, k.training.planJob.useQuery, k.training.startJob.useMutation, k.training.startJobBatch.useMutation, k.training.listJobs.useQuery, k.training.getJob.useQuery, k.training.cancelJob.useMutation, k.training.getJobResult.useQuery, k.training.listCanaryTargets.useQuery, k.training.registerResult.useMutation, k.training.canaryResult.useMutation, k.training.rollbackCanary.useMutation, k.training.discardResult.useMutation, k.turnProvider.getTurnServers.useQuery, k.update.installUpdate.useMutation, k.update.getStatus.useQuery, k.userManagement.listUsers.useQuery, k.userManagement.createUser.useMutation, k.userManagement.updateUser.useMutation, k.userManagement.deleteUser.useMutation, k.userManagement.resetPassword.useMutation, k.userManagement.setUserScopes.useMutation, k.userManagement.validateCredentials.useMutation, k.userManagement.setupTotp.useMutation, k.userManagement.confirmTotp.useMutation, k.userManagement.disableTotp.useMutation, k.userManagement.getTotpStatus.useQuery, k.userManagement.migrateRawSecrets.useMutation, k.userManagement.verifyTotp.useMutation, k.userManagement.oauthIssueCode.useMutation, k.userManagement.oauthExchangeCode.useMutation, k.userManagement.oauthRefresh.useMutation, k.userManagement.oauthVerifyAccessToken.useQuery, k.userManagement.listExternalIdentities.useQuery, k.userManagement.findUserByExternalIdentity.useQuery, k.userManagement.unlinkExternalIdentity.useMutation, k.userManagement.listOauthSessions.useQuery, k.userManagement.revokeOauthSession.useMutation, k.vacuumControl.start.useMutation, k.vacuumControl.pause.useMutation, k.vacuumControl.stop.useMutation, k.vacuumControl.returnToBase.useMutation, k.vacuumControl.locate.useMutation, k.vacuumControl.setFanSpeed.useMutation, k.vacuumControl.getStatus.useQuery, k.valve.open.useMutation, k.valve.close.useMutation, k.valve.stop.useMutation, k.valve.setPosition.useMutation, k.valve.getStatus.useQuery, k.vibration.getStatus.useQuery, k.videoclips.listClips.useQuery, k.videoclips.listSources.useQuery, k.videoclips.getClipPlayback.useQuery, k.videoclips.readClipBytes.useQuery, k.videoclips.offerClipBytes.useQuery, k.videoclips.dialClipStream.useQuery, k.videoclips.getPlaybackOptions.useQuery, k.waterHeater.setTargetTemp.useMutation, k.waterHeater.setOperationMode.useMutation, k.waterHeater.setAway.useMutation, k.waterHeater.getStatus.useQuery, k.weather.getStatus.useQuery, k.webrtcSession.listStreams.useQuery, k.webrtcSession.createSession.useMutation, k.webrtcSession.handleOffer.useMutation, k.webrtcSession.handleAnswer.useMutation, k.webrtcSession.addIceCandidate.useMutation, k.webrtcSession.getIceCandidates.useQuery, k.webrtcSession.closeSession.useMutation, k.webrtcSession.hasAdaptiveBitrate.useQuery, k.webrtcSession.getSessionState.useQuery, k.webrtcSession.applyDownlinkProbe.useMutation, k.webrtcSession.getSessionDebug.useQuery, k.zoneAnalytics.getCurrentSnapshot.useQuery, k.zoneAnalytics.getCurrentSnapshotBatch.useQuery, k.zoneAnalytics.getZoneHistory.useQuery, k.zoneAnalytics.getCameraHistory.useQuery, k.zoneAnalytics.getUnzonedHistory.useQuery, k.zoneRules.listRules.useQuery, k.zoneRules.setRules.useMutation, k.zones.listZones.useQuery, k.zones.addZone.useMutation, k.zones.removeZone.useMutation, k.zones.updateZone.useMutation, e(), d(null), e(), e();
4219
4219
  var Ii = yi("inline-flex items-center rounded-full font-medium [&>svg]:shrink-0 [&>svg]:size-3", {
4220
4220
  variants: {
4221
4221
  variant: {
@@ -26022,7 +26022,8 @@ var Bp = G({
26022
26022
  snoozeOptions: W(H().int().min(1).max(Cp)).max(4).optional(),
26023
26023
  actions: zp.optional(),
26024
26024
  confirm: em.optional(),
26025
- groupingSec: H().int().min(5).max(60).optional()
26025
+ groupingSec: H().int().min(5).max(60).optional(),
26026
+ askVerdict: U().optional()
26026
26027
  }), nm = tm.partial().extend({
26027
26028
  disabledTargetIds: W(B()).optional(),
26028
26029
  enabled: U().optional(),
@@ -28923,7 +28924,7 @@ function M_({ className: e, ...t }) {
28923
28924
  }
28924
28925
  //#endregion
28925
28926
  //#region ../../node_modules/qrcode.react/lib/esm/index.js
28926
- e(), e(), e(), e(), e(), e(), e(), n(() => import("./MotionZonesSettings-BD57OAIs.mjs").then((e) => ({ default: e.MotionZonesSettings }))), n(() => import("./PrivacyMaskSettings-ZxdPEelf.mjs").then((e) => ({ default: e.PrivacyMaskSettings }))), e(), e();
28927
+ e(), e(), e(), e(), e(), e(), e(), n(() => import("./MotionZonesSettings-Dxo0EAzN.mjs").then((e) => ({ default: e.MotionZonesSettings }))), n(() => import("./PrivacyMaskSettings-DwWxpZrj.mjs").then((e) => ({ default: e.PrivacyMaskSettings }))), e(), e();
28927
28928
  var N_ = Object.defineProperty, P_ = Object.getOwnPropertySymbols, F_ = Object.prototype.hasOwnProperty, I_ = Object.prototype.propertyIsEnumerable, L_ = (e, t, n) => t in e ? N_(e, t, {
28928
28929
  enumerable: !0,
28929
28930
  configurable: !0,
@@ -30076,7 +30077,7 @@ var xv = E(), Sv = new Set([
30076
30077
  "recording",
30077
30078
  "heatmapScrub"
30078
30079
  ]);
30079
- Object.freeze(Object.fromEntries(le.filter((e) => !Sv.has(e)).map((e) => [e, ae(xv.swatches, xv.fallbacks, e)])));
30080
+ Object.freeze(Object.fromEntries(le.filter((e) => !Sv.has(e)).map((e) => [e, ie(xv.swatches, xv.fallbacks, e)])));
30080
30081
  function Cv(e) {
30081
30082
  let t = e[0];
30082
30083
  if (t === void 0) throw Error("display palette has no fallback colour");
@@ -31540,7 +31541,7 @@ function yb(e, t) {
31540
31541
  //#endregion
31541
31542
  //#region ../ui-library/src/lib/resolve-sensor-display.ts
31542
31543
  function bb(e) {
31543
- if (e !== void 0) return oe(e) ?? e;
31544
+ if (e !== void 0) return ae(e) ?? e;
31544
31545
  }
31545
31546
  function xb(e) {
31546
31547
  if (e.quantity !== void 0) {
@@ -31552,7 +31553,7 @@ function xb(e) {
31552
31553
  }
31553
31554
  }
31554
31555
  function Sb(e) {
31555
- let t = e.capName === void 0 ? void 0 : e.display?.perCap?.[e.capName], n = t?.precision ?? e.display?.precision ?? e.roleDefault?.precision ?? e.declarationPrecision, r = xb(e), i = e.preference ?? te, a = r === void 0 ? void 0 : ee(r), o = r === void 0 ? void 0 : ie(r, i), s = bb(t?.unit ?? e.display?.unit ?? e.roleDefault?.unit), c = s !== void 0 && a !== void 0 && s !== a && fe(a, s), l = c ? s : o ?? "", u = r === "duration" || r === "information" || r === "duration-ms", d = (e) => u || a === void 0 || l.length === 0 || l === a ? e : he(e, a, l) ?? e;
31556
+ let t = e.capName === void 0 ? void 0 : e.display?.perCap?.[e.capName], n = t?.precision ?? e.display?.precision ?? e.roleDefault?.precision ?? e.declarationPrecision, r = xb(e), i = e.preference ?? te, a = r === void 0 ? void 0 : ee(r), o = r === void 0 ? void 0 : re(r, i), s = bb(t?.unit ?? e.display?.unit ?? e.roleDefault?.unit), c = s !== void 0 && a !== void 0 && s !== a && fe(a, s), l = c ? s : o ?? "", u = r === "duration" || r === "information" || r === "duration-ms", d = (e) => u || a === void 0 || l.length === 0 || l === a ? e : he(e, a, l) ?? e;
31556
31557
  return {
31557
31558
  unit: l,
31558
31559
  precision: n,
@@ -32549,7 +32550,7 @@ function px(e) {
32549
32550
  return t !== void 0 && lx(t, n) ? {
32550
32551
  kind: "value",
32551
32552
  slice: n
32552
- } : e.addonId === ne && e.snapshotStatus === "success" ? { kind: "quiet" } : { kind: "awaiting" };
32553
+ } : e.addonId === me && e.snapshotStatus === "success" ? { kind: "quiet" } : { kind: "awaiting" };
32553
32554
  }
32554
32555
  //#endregion
32555
32556
  //#region ../ui-library/src/composites/device-controls/sensor-hero-card.tsx
@@ -35229,7 +35230,7 @@ function BS(e, t) {
35229
35230
  });
35230
35231
  }
35231
35232
  function VS(e) {
35232
- return Math.min(de, Math.max(se, e));
35233
+ return Math.min(de, Math.max(oe, e));
35233
35234
  }
35234
35235
  var HS = "\n@keyframes pf-eat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(2px)} }\n@keyframes pf-pulse { 0%,100%{opacity:.55} 50%{opacity:1} }\n@media (prefers-reduced-motion: reduce) {\n .pf-eat, .pf-pulse { animation: none !important; }\n}\n";
35235
35236
  function US({ trpc: e, deviceId: t, layout: n, optimistic: r }) {
@@ -35594,7 +35595,7 @@ function qS({ label: e, grams: t, busy: n, onGrams: r, onFeed: i }) {
35594
35595
  /* @__PURE__ */ _(JS, {
35595
35596
  label: a("uiLibrary.petFeeder.decreasePortion", "Decrease {{label}} portion", { label: e }),
35596
35597
  symbol: "−",
35597
- disabled: n || t <= se,
35598
+ disabled: n || t <= oe,
35598
35599
  onClick: () => r(VS(t - 1))
35599
35600
  }),
35600
35601
  /* @__PURE__ */ v("span", {
@@ -36945,7 +36946,7 @@ function $C({ trpc: e, deviceId: t, features: n, optimistic: r }) {
36945
36946
  cap: (e) => e.lockControl,
36946
36947
  slice: (e) => e.state.lockControl
36947
36948
  }), { display: s, applyOptimistic: c } = $(a, { enabled: r ?? !0 });
36948
- if (i === void 0 || s === void 0) return null;
36949
+ if (i === void 0 || s === void 0 || !(s.state in YC)) return null;
36949
36950
  let l = qC(s.state), u = JC(s.state) || !o, d = n?.includes(C.LockOpen) === !0, f = () => {
36950
36951
  u || (l ? (c({ state: "unlocking" }), i.unlock({})) : (c({ state: "locking" }), i.lock({})));
36951
36952
  }, p = () => {
@@ -39017,38 +39018,35 @@ function nE(e, t) {
39017
39018
  translate: (t, n) => XT(e, VT(), t, n)
39018
39019
  };
39019
39020
  }
39020
- e(), n(() => import("./MaskShapeCanvas-B6q5RDLi.mjs").then((e) => ({ default: e.MaskShapeCanvas }))), n(() => import("./MotionZonesSettings-BD57OAIs.mjs").then((e) => ({ default: e.MotionZonesSettings }))), n(() => import("./SceneMonitorEditor--KqtKX1B.mjs").then((e) => ({ default: e.SceneMonitorEditor }))), n(() => import("./PrivacyMaskSettings-ZxdPEelf.mjs").then((e) => ({ default: e.PrivacyMaskSettings })));
39021
+ e(), n(() => import("./MaskShapeCanvas-B6q5RDLi.mjs").then((e) => ({ default: e.MaskShapeCanvas }))), n(() => import("./MotionZonesSettings-Dxo0EAzN.mjs").then((e) => ({ default: e.MotionZonesSettings }))), n(() => import("./SceneMonitorEditor-CC0dk5TR.mjs").then((e) => ({ default: e.SceneMonitorEditor }))), n(() => import("./PrivacyMaskSettings-DwWxpZrj.mjs").then((e) => ({ default: e.PrivacyMaskSettings })));
39021
39022
  //#endregion
39022
39023
  //#region src/i18n/index.ts
39023
39024
  var { useT: rE, Trans: iE, translate: aE } = nE("import-alexa", {
39024
39025
  en: {
39025
39026
  page: {
39026
39027
  title: "Speak on Echo",
39027
- intro: "CamStack reads the notification text aloud on the Echo devices you pick. Sign in with the Amazon account those devices use. Amazon may ask for a one-time code."
39028
+ intro: "CamStack reads the notification text aloud on your Echo devices, through the Amazon accounts you already link under Integrations, Alexa. There is nothing to sign in to here. Add the targets from Notifications, Targets."
39028
39029
  },
39029
- signIn: {
39030
- email: "Amazon email",
39031
- password: "Amazon password",
39032
- region: "Region",
39033
- regionNa: "North America",
39034
- regionEu: "Europe",
39035
- regionFe: "Far East",
39036
- submit: "Sign in"
39030
+ accounts: {
39031
+ label: "Amazon account",
39032
+ none: "No Amazon account is linked yet. Link one under Integrations, Alexa, and its Echo devices show up here."
39037
39033
  },
39038
- otp: {
39039
- title: "Enter the code Amazon sent",
39040
- help: "Open the authenticator app or the text Amazon sent, then type the code. It is used once.",
39041
- code: "One-time code",
39042
- submit: "Continue"
39034
+ state: {
39035
+ ready: "Ready",
39036
+ starting: "Starting",
39037
+ notSignedIn: "Waiting for sign-in",
39038
+ failed: "Could not sign in",
39039
+ notSignedInHelp: "This account has not signed in on its Integrations entry yet. Sign it in there, and speech starts a moment later without any step here."
39043
39040
  },
39044
- captcha: {
39045
- title: "Amazon asked for a captcha",
39046
- help: "This page cannot show Amazon's picture puzzle. Wait a few minutes, then sign in again."
39041
+ notice: {
39042
+ noBroker: "Some Echo targets came from the old Speak on Echo sign-in, which no longer exists. Link your Amazon account under Integrations, Alexa, then open each target and pick the account.",
39043
+ chooseBroker: "Some Echo targets do not name an Amazon account yet, and several accounts are linked. Open each target and pick the account it speaks through.",
39044
+ waiting: "Targets waiting for an account: {{count}}"
39047
39045
  },
39048
39046
  devices: {
39049
39047
  title: "Echo devices",
39050
- help: "Tick the devices or groups that should speak. A test uses the phrase below and does not change your rules.",
39051
- empty: "No Echo devices yet. After you sign in, they show up here.",
39048
+ help: "Tick the devices or groups to try. A test uses the phrase below and does not change your rules.",
39049
+ empty: "No Echo devices yet. Once the account is signed in on its Integrations entry, they show up here.",
39052
39050
  mode: "How it speaks",
39053
39051
  modeSpeak: "Speak (quiet hours apply)",
39054
39052
  modeAnnounce: "Announce (chime, then speech)",
@@ -39061,42 +39059,36 @@ var { useT: rE, Trans: iE, translate: aE } = nE("import-alexa", {
39061
39059
  group: "Group"
39062
39060
  },
39063
39061
  session: { age: "Signed in {{seconds}}s ago" },
39064
- actions: {
39065
- differentAccount: "Use a different account",
39066
- working: "Working…"
39067
- }
39062
+ actions: { working: "Working…" }
39068
39063
  },
39069
39064
  it: {
39070
39065
  page: {
39071
39066
  title: "Parla sugli Echo",
39072
- intro: "CamStack legge ad alta voce il testo della notifica sugli Echo che scegli. Accedi con l'account Amazon di quei dispositivi. Amazon può chiedere un codice usa e getta."
39067
+ intro: "CamStack legge ad alta voce il testo della notifica sui tuoi Echo, usando gli account Amazon che hai già collegato in Integrazioni, Alexa. Qui non c'è nessun accesso da fare. Aggiungi le destinazioni da Notifiche, Destinazioni."
39073
39068
  },
39074
- signIn: {
39075
- email: "Email Amazon",
39076
- password: "Password Amazon",
39077
- region: "Regione",
39078
- regionNa: "Nord America",
39079
- regionEu: "Europa",
39080
- regionFe: "Estremo Oriente",
39081
- submit: "Accedi"
39069
+ accounts: {
39070
+ label: "Account Amazon",
39071
+ none: "Nessun account Amazon collegato. Collegane uno in Integrazioni, Alexa, e i suoi Echo compariranno qui."
39082
39072
  },
39083
- otp: {
39084
- title: "Inserisci il codice che Amazon ha inviato",
39085
- help: "Apri l'app di autenticazione o il messaggio di Amazon e scrivi il codice. Si usa una volta sola.",
39086
- code: "Codice usa e getta",
39087
- submit: "Continua"
39073
+ state: {
39074
+ ready: "Pronto",
39075
+ starting: "Avvio",
39076
+ notSignedIn: "In attesa dell'accesso",
39077
+ failed: "Accesso non riuscito",
39078
+ notSignedInHelp: "Questo account non ha ancora fatto l'accesso nella sua voce di Integrazioni. Fallo lì e la voce parte poco dopo, senza altri passaggi qui."
39088
39079
  },
39089
- captcha: {
39090
- title: "Amazon ha chiesto un captcha",
39091
- help: "Questa pagina non può mostrare il puzzle di Amazon. Aspetta qualche minuto e accedi di nuovo."
39080
+ notice: {
39081
+ noBroker: "Alcune destinazioni Echo arrivano dal vecchio accesso di Parla sugli Echo, che non esiste più. Collega il tuo account Amazon in Integrazioni, Alexa, poi apri ogni destinazione e scegli l'account.",
39082
+ chooseBroker: "Alcune destinazioni Echo non indicano ancora un account Amazon e ce ne sono diversi collegati. Apri ogni destinazione e scegli l'account con cui deve parlare.",
39083
+ waiting: "Destinazioni in attesa di un account: {{count}}"
39092
39084
  },
39093
39085
  devices: {
39094
39086
  title: "Dispositivi Echo",
39095
- help: "Seleziona i dispositivi o i gruppi che devono parlare. La prova usa la frase qui sotto e non cambia le regole.",
39096
- empty: "Nessun Echo per ora. Dopo l'accesso compaiono qui.",
39087
+ help: "Spunta i dispositivi o i gruppi da provare. La prova usa la frase qui sotto e non cambia le tue regole.",
39088
+ empty: "Nessun Echo per ora. Quando l'account ha fatto l'accesso nella sua voce di Integrazioni, compaiono qui.",
39097
39089
  mode: "Come parla",
39098
- modeSpeak: "Parla (rispetta le ore di silenzio)",
39099
- modeAnnounce: "Annuncio (suono, poi voce)",
39090
+ modeSpeak: "Parla (valgono le ore di silenzio)",
39091
+ modeAnnounce: "Annuncia (suono, poi voce)",
39100
39092
  volume: "Volume",
39101
39093
  phrase: "Frase di prova",
39102
39094
  phraseDefault: "Questa è una prova di CamStack.",
@@ -39105,24 +39097,25 @@ var { useT: rE, Trans: iE, translate: aE } = nE("import-alexa", {
39105
39097
  dnd: "Non disturbare",
39106
39098
  group: "Gruppo"
39107
39099
  },
39108
- session: { age: "Accesso effettuato {{seconds}} secondi fa" },
39109
- actions: {
39110
- differentAccount: "Usa un altro account",
39111
- working: "Operazione in corso…"
39112
- }
39100
+ session: { age: "Accesso eseguito {{seconds}}s fa" },
39101
+ actions: { working: "In corso…" }
39113
39102
  }
39114
39103
  });
39115
39104
  //#endregion
39116
39105
  //#region src/speak-setup-view.tsx
39117
- e();
39118
39106
  function oE(e) {
39119
- return e === "NA" || e === "FE" ? e : "EU";
39107
+ return e === "announce" ? "announce" : "speak";
39120
39108
  }
39121
39109
  function sE(e) {
39122
- return e === "announce" ? "announce" : "speak";
39110
+ return e === "ready" ? "online" : e === "failed" ? "error" : "idle";
39123
39111
  }
39124
39112
  function cE(e) {
39125
- let { t } = rE(), [n, r] = h(!1);
39113
+ let { t } = rE(), n = e.brokers.find((t) => t.id === e.brokerId) ?? e.brokers[0], r = {
39114
+ ready: t("state.ready"),
39115
+ starting: t("state.starting"),
39116
+ "broker-not-signed-in": t("state.notSignedIn"),
39117
+ failed: t("state.failed")
39118
+ };
39126
39119
  return /* @__PURE__ */ v("div", {
39127
39120
  className: `mx-auto flex max-w-3xl flex-col ${Te} p-2 sm:p-4`,
39128
39121
  children: [
@@ -39136,134 +39129,71 @@ function cE(e) {
39136
39129
  })
39137
39130
  }),
39138
39131
  e.error !== null && e.error.length > 0 ? /* @__PURE__ */ _(x_, { message: e.error }) : null,
39139
- e.phase === "sign-in" ? /* @__PURE__ */ _(mv, {
39140
- headingId: "alexa-speak-signin",
39141
- title: t("signIn.submit"),
39142
- children: /* @__PURE__ */ v("form", {
39143
- className: `${Ee} flex flex-col gap-3`,
39144
- onSubmit: (t) => {
39145
- t.preventDefault(), e.onSignIn();
39146
- },
39147
- children: [
39148
- /* @__PURE__ */ _(ov, {
39149
- htmlFor: "alexa-email",
39150
- children: t("signIn.email")
39151
- }),
39152
- /* @__PURE__ */ _(Ci, {
39153
- id: "alexa-email",
39154
- type: "email",
39155
- autoComplete: "username",
39156
- value: e.email,
39157
- onChange: (t) => e.onEmail(t.target.value)
39158
- }),
39159
- /* @__PURE__ */ _(ov, {
39160
- htmlFor: "alexa-password",
39161
- children: t("signIn.password")
39162
- }),
39163
- /* @__PURE__ */ _(Ai, {
39164
- id: "alexa-password",
39165
- autoComplete: "current-password",
39166
- value: e.password,
39167
- shown: n,
39168
- onToggleShown: () => r((e) => !e),
39169
- onValueChange: e.onPassword
39170
- }),
39171
- /* @__PURE__ */ _(ov, {
39172
- htmlFor: "alexa-region",
39173
- children: t("signIn.region")
39174
- }),
39175
- /* @__PURE__ */ _(ji, {
39176
- id: "alexa-region",
39177
- value: e.region,
39178
- options: [
39179
- {
39180
- value: "NA",
39181
- label: t("signIn.regionNa")
39182
- },
39183
- {
39184
- value: "EU",
39185
- label: t("signIn.regionEu")
39186
- },
39187
- {
39188
- value: "FE",
39189
- label: t("signIn.regionFe")
39190
- }
39191
- ],
39192
- onChange: (t) => e.onRegion(oE(t.target.value))
39193
- }),
39194
- /* @__PURE__ */ _(zi, {
39195
- type: "submit",
39196
- disabled: e.busy,
39197
- children: e.busy ? t("actions.working") : t("signIn.submit")
39198
- })
39199
- ]
39200
- })
39201
- }) : null,
39202
- e.phase === "otp" ? /* @__PURE__ */ _(mv, {
39203
- headingId: "alexa-speak-otp",
39204
- title: t("otp.title"),
39205
- children: /* @__PURE__ */ v("form", {
39206
- className: `${Ee} flex flex-col gap-3`,
39207
- onSubmit: (t) => {
39208
- t.preventDefault(), e.onOtpSubmit();
39209
- },
39210
- children: [
39211
- /* @__PURE__ */ _("p", {
39212
- className: "text-sm text-foreground-muted",
39213
- children: t("otp.help")
39214
- }),
39215
- /* @__PURE__ */ _(ov, {
39216
- htmlFor: "alexa-otp",
39217
- children: t("otp.code")
39218
- }),
39219
- /* @__PURE__ */ _(Ci, {
39220
- id: "alexa-otp",
39221
- inputMode: "numeric",
39222
- autoComplete: "one-time-code",
39223
- value: e.otp,
39224
- onChange: (t) => e.onOtp(t.target.value)
39225
- }),
39226
- /* @__PURE__ */ _(zi, {
39227
- type: "submit",
39228
- disabled: e.busy,
39229
- children: e.busy ? t("actions.working") : t("otp.submit")
39230
- })
39231
- ]
39232
- })
39233
- }) : null,
39234
- e.phase === "captcha" ? /* @__PURE__ */ _(mv, {
39235
- headingId: "alexa-speak-captcha",
39236
- title: t("captcha.title"),
39237
- children: /* @__PURE__ */ v("div", {
39238
- className: `${Ee} flex flex-col gap-3`,
39239
- children: [/* @__PURE__ */ _("p", {
39240
- className: "text-sm text-foreground-muted",
39241
- children: t("captcha.help")
39242
- }), /* @__PURE__ */ _(zi, {
39243
- type: "button",
39244
- variant: "secondary",
39245
- onClick: e.onReset,
39246
- children: t("actions.differentAccount")
39247
- })]
39132
+ e.notice === "" ? null : /* @__PURE__ */ _(x_, {
39133
+ variant: "warning",
39134
+ message: /* @__PURE__ */ v(y, { children: [/* @__PURE__ */ _("span", {
39135
+ className: "block",
39136
+ children: e.notice === "no-broker" ? t("notice.noBroker") : t("notice.chooseBroker")
39137
+ }), /* @__PURE__ */ _("span", {
39138
+ className: "mt-1 block text-xs",
39139
+ children: t("notice.waiting", { count: e.unassignedTargets })
39140
+ })] })
39141
+ }),
39142
+ n === void 0 ? /* @__PURE__ */ _(mv, {
39143
+ headingId: "alexa-speak-accounts",
39144
+ title: t("accounts.label"),
39145
+ children: /* @__PURE__ */ _("div", {
39146
+ className: Ee,
39147
+ children: /* @__PURE__ */ _(y_, { title: t("accounts.none") })
39248
39148
  })
39249
- }) : null,
39250
- e.phase === "devices" ? /* @__PURE__ */ _(mv, {
39149
+ }) : /* @__PURE__ */ _(mv, {
39251
39150
  headingId: "alexa-speak-devices",
39252
39151
  title: t("devices.title"),
39253
39152
  children: /* @__PURE__ */ v("div", {
39254
39153
  className: `${Ee} flex flex-col gap-3`,
39255
39154
  children: [
39155
+ e.brokers.length > 1 ? /* @__PURE__ */ v(y, { children: [/* @__PURE__ */ _(ov, {
39156
+ htmlFor: "alexa-broker",
39157
+ children: t("accounts.label")
39158
+ }), /* @__PURE__ */ _(ji, {
39159
+ id: "alexa-broker",
39160
+ value: n.id,
39161
+ options: e.brokers.map((e) => ({
39162
+ value: e.id,
39163
+ label: e.name
39164
+ })),
39165
+ onChange: (t) => e.onBroker(t.target.value)
39166
+ })] }) : null,
39167
+ /* @__PURE__ */ v("div", {
39168
+ className: "flex flex-wrap items-center gap-2",
39169
+ children: [
39170
+ /* @__PURE__ */ _("span", {
39171
+ className: "text-sm text-foreground",
39172
+ children: n.name
39173
+ }),
39174
+ /* @__PURE__ */ _(kT, {
39175
+ status: sE(n.state),
39176
+ label: r[n.state],
39177
+ size: "sm"
39178
+ }),
39179
+ n.state === "ready" && n.session.loggedIn ? /* @__PURE__ */ _("span", {
39180
+ className: "text-xs text-foreground-subtle",
39181
+ children: t("session.age", { seconds: n.session.ageSec })
39182
+ }) : null
39183
+ ]
39184
+ }),
39185
+ n.state === "broker-not-signed-in" ? /* @__PURE__ */ _("p", {
39186
+ className: "text-sm text-foreground-muted",
39187
+ children: t("state.notSignedInHelp")
39188
+ }) : null,
39189
+ n.state === "failed" && n.error !== void 0 ? /* @__PURE__ */ _(x_, { message: n.error }) : null,
39256
39190
  /* @__PURE__ */ _("p", {
39257
39191
  className: "text-sm text-foreground-muted",
39258
39192
  children: t("devices.help")
39259
39193
  }),
39260
- e.sessionAgeSec === null ? null : /* @__PURE__ */ _("p", {
39261
- className: "text-xs text-foreground-subtle",
39262
- children: t("session.age", { seconds: e.sessionAgeSec })
39263
- }),
39264
- e.devices.length === 0 ? /* @__PURE__ */ _(y_, { title: t("devices.empty") }) : /* @__PURE__ */ _("ul", {
39194
+ n.devices.length === 0 ? /* @__PURE__ */ _(y_, { title: t("devices.empty") }) : /* @__PURE__ */ _("ul", {
39265
39195
  className: "divide-y divide-border rounded-md border border-border",
39266
- children: e.devices.map((n) => /* @__PURE__ */ v("li", {
39196
+ children: n.devices.map((n) => /* @__PURE__ */ v("li", {
39267
39197
  className: "flex items-center gap-3 px-3 py-2",
39268
39198
  children: [
39269
39199
  /* @__PURE__ */ _(lv, {
@@ -39278,7 +39208,7 @@ function cE(e) {
39278
39208
  children: n.name
39279
39209
  }), /* @__PURE__ */ _("p", {
39280
39210
  className: "truncate text-xs text-foreground-subtle",
39281
- children: n.kind === "group" ? t("devices.group") : n.family
39211
+ children: [n.room, n.kind === "group" ? t("devices.group") : n.family].filter((e) => e !== void 0 && e.length > 0).join(" · ")
39282
39212
  })]
39283
39213
  }),
39284
39214
  /* @__PURE__ */ _(kT, {
@@ -39307,7 +39237,7 @@ function cE(e) {
39307
39237
  value: "announce",
39308
39238
  label: t("devices.modeAnnounce")
39309
39239
  }],
39310
- onChange: (t) => e.onMode(sE(t.target.value))
39240
+ onChange: (t) => e.onMode(oE(t.target.value))
39311
39241
  }),
39312
39242
  /* @__PURE__ */ _(ov, {
39313
39243
  htmlFor: "alexa-volume",
@@ -39330,23 +39260,18 @@ function cE(e) {
39330
39260
  value: e.phrase,
39331
39261
  onChange: (t) => e.onPhrase(t.target.value)
39332
39262
  }),
39333
- /* @__PURE__ */ v("div", {
39263
+ /* @__PURE__ */ _("div", {
39334
39264
  className: "flex flex-wrap gap-2",
39335
- children: [/* @__PURE__ */ _(zi, {
39265
+ children: /* @__PURE__ */ _(zi, {
39336
39266
  type: "button",
39337
- disabled: e.busy || e.selected.size === 0,
39267
+ disabled: e.busy || e.selected.size === 0 || n.state !== "ready",
39338
39268
  onClick: e.onSendTest,
39339
39269
  children: e.busy ? t("actions.working") : t("devices.send")
39340
- }), /* @__PURE__ */ _(zi, {
39341
- type: "button",
39342
- variant: "secondary",
39343
- onClick: e.onReset,
39344
- children: t("actions.differentAccount")
39345
- })]
39270
+ })
39346
39271
  })
39347
39272
  ]
39348
39273
  })
39349
- }) : null
39274
+ })
39350
39275
  ]
39351
39276
  });
39352
39277
  }
@@ -39360,7 +39285,8 @@ var lE = [
39360
39285
  online: !0,
39361
39286
  kind: "device",
39362
39287
  dnd: !1,
39363
- deviceType: "A3S5BH2HU6VAYF"
39288
+ deviceType: "A3S5BH2HU6VAYF",
39289
+ room: "Ground floor"
39364
39290
  },
39365
39291
  {
39366
39292
  id: "echo-hall",
@@ -39380,37 +39306,84 @@ var lE = [
39380
39306
  dnd: !1,
39381
39307
  deviceType: "A3S5BH2HU6VAYF"
39382
39308
  }
39383
- ];
39384
- function uE() {
39309
+ ], uE = {
39310
+ loggedIn: !0,
39311
+ ageSec: 90,
39312
+ lastSuccessAt: 1
39313
+ }, dE = {
39314
+ loggedIn: !1,
39315
+ ageSec: 0,
39316
+ lastSuccessAt: null
39317
+ };
39318
+ function fE(e) {
39319
+ let t = {
39320
+ id: "alexa_001",
39321
+ name: "Home",
39322
+ state: "ready",
39323
+ devices: [...lE],
39324
+ session: uE
39325
+ };
39326
+ return e === "waiting" ? {
39327
+ brokers: [{
39328
+ ...t,
39329
+ state: "broker-not-signed-in",
39330
+ devices: [],
39331
+ session: dE
39332
+ }],
39333
+ unassignedTargets: 0,
39334
+ notice: ""
39335
+ } : e === "accounts" ? {
39336
+ brokers: [t, {
39337
+ ...t,
39338
+ id: "alexa_002",
39339
+ name: "Office",
39340
+ devices: [lE[0]]
39341
+ }].map((e) => ({
39342
+ ...e,
39343
+ devices: [...e.devices]
39344
+ })),
39345
+ unassignedTargets: 0,
39346
+ notice: ""
39347
+ } : e === "legacy" ? {
39348
+ brokers: [t, {
39349
+ ...t,
39350
+ id: "alexa_002",
39351
+ name: "Office",
39352
+ devices: []
39353
+ }].map((e) => ({
39354
+ ...e,
39355
+ devices: [...e.devices]
39356
+ })),
39357
+ unassignedTargets: 2,
39358
+ notice: "choose-broker"
39359
+ } : {
39360
+ brokers: [{
39361
+ ...t,
39362
+ devices: [...t.devices]
39363
+ }],
39364
+ unassignedTargets: 0,
39365
+ notice: ""
39366
+ };
39367
+ }
39368
+ function pE() {
39385
39369
  if (typeof window > "u") return null;
39386
39370
  let e = new URLSearchParams(window.location.search).get("ui-shots-step");
39387
- return e === "sign-in" || e === "otp" || e === "captcha" || e === "devices" ? e : null;
39388
- }
39389
- //#endregion
39390
- //#region src/speak/setup-flow.ts
39391
- function dE(e, t) {
39392
- return t.type === "reset" ? "sign-in" : t.status === "ok" ? "devices" : t.status === "otp_needed" ? "otp" : t.status === "captcha" ? "captcha" : e;
39371
+ return e === "ready" || e === "accounts" || e === "waiting" || e === "legacy" ? e : null;
39393
39372
  }
39394
39373
  //#endregion
39395
- //#region src/speak/constants.ts
39396
- var fE = [
39397
- "NA",
39398
- "EU",
39399
- "FE"
39400
- ], pE = G({
39374
+ //#region src/speak/worker-protocol.ts
39375
+ var mE = G({
39401
39376
  id: B().min(1),
39402
39377
  name: B(),
39403
39378
  family: B(),
39404
39379
  online: U(),
39405
39380
  kind: K(["device", "group"]),
39406
39381
  dnd: U(),
39407
- deviceType: B()
39408
- }), mE = K([
39409
- "ok",
39410
- "otp_needed",
39411
- "captcha",
39412
- "failed"
39413
- ]), hE = G({
39382
+ deviceType: B(),
39383
+ room: B().optional()
39384
+ });
39385
+ K(["ok", "failed"]);
39386
+ var hE = G({
39414
39387
  loggedIn: U(),
39415
39388
  ageSec: H().int().nonnegative(),
39416
39389
  lastSuccessAt: H().int().nullable()
@@ -39430,41 +39403,36 @@ G({
39430
39403
  })]);
39431
39404
  //#endregion
39432
39405
  //#region src/speak/actions.ts
39433
- var gE = G({
39434
- phase: K([
39435
- "sign-in",
39436
- "otp",
39437
- "captcha",
39438
- "devices"
39439
- ]),
39440
- email: B(),
39441
- region: K(fE),
39442
- devices: W(pE),
39443
- session: hE
39444
- }), _E = G({
39445
- status: mE,
39446
- error: B().optional()
39406
+ var gE = K([
39407
+ "starting",
39408
+ "ready",
39409
+ "broker-not-signed-in",
39410
+ "failed"
39411
+ ]), _E = G({
39412
+ brokers: W(G({
39413
+ id: B(),
39414
+ name: B(),
39415
+ state: gE,
39416
+ error: B().optional(),
39417
+ devices: W(mE),
39418
+ session: hE
39419
+ })),
39420
+ unassignedTargets: H().int().nonnegative(),
39421
+ notice: K([
39422
+ "",
39423
+ "no-broker",
39424
+ "choose-broker"
39425
+ ])
39447
39426
  });
39448
39427
  //#endregion
39449
39428
  //#region src/page.tsx
39450
- re({
39451
- speakStatus: me(G({}), gE, {
39452
- kind: "mutation",
39453
- auth: "admin"
39454
- }),
39455
- loginStart: me(G({
39456
- email: B().min(1),
39457
- password: B().min(1).meta({ secret: !0 }),
39458
- region: K(fE)
39459
- }), _E, {
39429
+ ne({
39430
+ speakStatus: se(G({}), _E, {
39460
39431
  kind: "mutation",
39461
39432
  auth: "admin"
39462
39433
  }),
39463
- loginOtp: me(G({ code: B().min(1).max(12) }), _E, {
39464
- kind: "mutation",
39465
- auth: "admin"
39466
- }),
39467
- sendTest: me(G({
39434
+ sendTest: se(G({
39435
+ brokerId: B().min(1),
39468
39436
  echoIds: W(B().min(1)).min(1),
39469
39437
  mode: K(["speak", "announce"]),
39470
39438
  volume: H().int().min(0).max(100),
@@ -39480,56 +39448,47 @@ re({
39480
39448
  }), e();
39481
39449
  var vE = "import-alexa";
39482
39450
  function yE() {}
39483
- function bE(e, t) {
39451
+ function bE(e, t, n = {}) {
39484
39452
  return {
39485
- phase: e,
39486
- email: e === "sign-in" ? "" : "ada@example.com",
39487
- password: "",
39488
- region: "EU",
39489
- otp: "",
39490
- devices: e === "devices" ? lE : [],
39491
- selected: new Set(e === "devices" ? ["echo-kitchen", "group-downstairs"] : []),
39453
+ brokers: e.brokers,
39454
+ brokerId: e.brokers[0]?.id ?? "",
39455
+ notice: e.notice,
39456
+ unassignedTargets: e.unassignedTargets,
39457
+ selected: new Set(["echo-kitchen", "group-downstairs"]),
39492
39458
  mode: "speak",
39493
39459
  volume: 40,
39494
39460
  phrase: t,
39495
39461
  busy: !1,
39496
39462
  error: null,
39497
- sessionAgeSec: e === "devices" ? 90 : null,
39498
- onEmail: yE,
39499
- onPassword: yE,
39500
- onRegion: yE,
39501
- onOtp: yE,
39463
+ onBroker: yE,
39502
39464
  onToggle: yE,
39503
39465
  onMode: yE,
39504
39466
  onVolume: yE,
39505
39467
  onPhrase: yE,
39506
- onSignIn: yE,
39507
- onOtpSubmit: yE,
39508
39468
  onSendTest: yE,
39509
- onReset: yE
39469
+ ...n
39510
39470
  };
39511
39471
  }
39512
- function xE({ phase: e }) {
39472
+ function xE({ step: e }) {
39513
39473
  let { t } = rE();
39514
- return /* @__PURE__ */ _(cE, { ...bE(e, t("devices.phraseDefault")) });
39474
+ return /* @__PURE__ */ _(cE, { ...bE(fE(e), t("devices.phraseDefault")) });
39515
39475
  }
39516
39476
  function SE(e, t) {
39517
39477
  return Number.isFinite(e) ? Math.min(100, Math.max(0, Math.round(e))) : t;
39518
39478
  }
39519
39479
  function CE() {
39520
39480
  let { t: e } = rE(), t = Mi(), [n, r] = h({
39521
- phase: "sign-in",
39522
- email: "",
39523
- password: "",
39524
- region: "EU",
39525
- otp: "",
39526
- devices: [],
39481
+ status: {
39482
+ brokers: [],
39483
+ unassignedTargets: 0,
39484
+ notice: ""
39485
+ },
39486
+ brokerId: "",
39527
39487
  selected: /* @__PURE__ */ new Set(),
39528
39488
  mode: "speak",
39529
39489
  volume: 40,
39530
39490
  phrase: e("devices.phraseDefault"),
39531
- error: null,
39532
- sessionAgeSec: null
39491
+ error: null
39533
39492
  });
39534
39493
  async function a(e, n) {
39535
39494
  try {
@@ -39547,48 +39506,27 @@ function CE() {
39547
39506
  }
39548
39507
  }
39549
39508
  async function o() {
39550
- let e = gE.safeParse(await a("speakStatus", {}));
39509
+ let e = _E.safeParse(await a("speakStatus", {}));
39551
39510
  e.success && r((t) => ({
39552
39511
  ...t,
39553
- phase: e.data.phase,
39554
- email: e.data.email,
39555
- region: e.data.region,
39556
- devices: e.data.devices,
39557
- sessionAgeSec: e.data.session.loggedIn ? e.data.session.ageSec : null,
39512
+ status: e.data,
39513
+ brokerId: e.data.brokers.some((e) => e.id === t.brokerId) ? t.brokerId : e.data.brokers[0]?.id ?? "",
39558
39514
  error: null
39559
39515
  }));
39560
39516
  }
39561
39517
  return i(() => {
39562
39518
  o();
39563
- }, []), /* @__PURE__ */ _(cE, {
39564
- phase: n.phase,
39565
- email: n.email,
39566
- password: n.password,
39567
- region: n.region,
39568
- otp: n.otp,
39569
- devices: n.devices,
39519
+ }, []), /* @__PURE__ */ _(cE, { ...bE(n.status, n.phrase, {
39520
+ brokerId: n.brokerId,
39570
39521
  selected: n.selected,
39571
39522
  mode: n.mode,
39572
39523
  volume: n.volume,
39573
- phrase: n.phrase,
39574
39524
  busy: t.isPending,
39575
39525
  error: n.error,
39576
- sessionAgeSec: n.sessionAgeSec,
39577
- onEmail: (e) => r((t) => ({
39578
- ...t,
39579
- email: e
39580
- })),
39581
- onPassword: (e) => r((t) => ({
39582
- ...t,
39583
- password: e
39584
- })),
39585
- onRegion: (e) => r((t) => ({
39586
- ...t,
39587
- region: e
39588
- })),
39589
- onOtp: (e) => r((t) => ({
39526
+ onBroker: (e) => r((t) => ({
39590
39527
  ...t,
39591
- otp: e
39528
+ brokerId: e,
39529
+ selected: /* @__PURE__ */ new Set()
39592
39530
  })),
39593
39531
  onToggle: (e) => r((t) => {
39594
39532
  let n = new Set(t.selected);
@@ -39609,57 +39547,20 @@ function CE() {
39609
39547
  ...t,
39610
39548
  phrase: e
39611
39549
  })),
39612
- onSignIn: () => {
39613
- a("loginStart", {
39614
- email: n.email,
39615
- password: n.password,
39616
- region: n.region
39617
- }).then((e) => {
39618
- let t = _E.safeParse(e);
39619
- t.success && (r((e) => ({
39620
- ...e,
39621
- phase: dE(e.phase, {
39622
- type: "login",
39623
- status: t.data.status
39624
- }),
39625
- error: t.data.error ?? null,
39626
- password: ""
39627
- })), t.data.status === "ok" && o());
39628
- });
39629
- },
39630
- onOtpSubmit: () => {
39631
- a("loginOtp", { code: n.otp }).then((e) => {
39632
- let t = _E.safeParse(e);
39633
- t.success && (r((e) => ({
39634
- ...e,
39635
- phase: dE(e.phase, {
39636
- type: "otp",
39637
- status: t.data.status
39638
- }),
39639
- error: t.data.error ?? null
39640
- })), t.data.status === "ok" && o());
39641
- });
39642
- },
39643
39550
  onSendTest: () => {
39644
39551
  a("sendTest", {
39552
+ brokerId: n.brokerId,
39645
39553
  echoIds: [...n.selected],
39646
39554
  mode: n.mode,
39647
39555
  volume: n.volume,
39648
39556
  text: n.phrase
39649
- });
39650
- },
39651
- onReset: () => r((e) => ({
39652
- ...e,
39653
- phase: "sign-in",
39654
- otp: "",
39655
- password: "",
39656
- error: null
39657
- }))
39658
- });
39557
+ }).then(() => o());
39558
+ }
39559
+ }) });
39659
39560
  }
39660
39561
  function wE(e) {
39661
- let t = uE();
39662
- return t === null ? /* @__PURE__ */ _(CE, {}) : /* @__PURE__ */ _(xE, { phase: t });
39562
+ let t = pE();
39563
+ return t === null ? /* @__PURE__ */ _(CE, {}) : /* @__PURE__ */ _(xE, { step: t });
39663
39564
  }
39664
39565
  //#endregion
39665
39566
  export { wE as default };