@camera.ui/server 2.0.9 → 2.0.10
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.
- package/dist/interface/assets/{404-Bwt4L1PJ.js → 404-ChR2IVti.js} +1 -1
- package/dist/interface/assets/{About-DXvLHUof.js → About-CDQ55crC.js} +1 -1
- package/dist/interface/assets/{Adminpanel-BIcl_Mwn.js → Adminpanel-CiJGwx7_.js} +1 -1
- package/dist/interface/assets/{Automation-Csu8t0D7.css → Automation-Cm62xfWQ.css} +1 -1
- package/dist/interface/assets/Automation-Kt6pl4MS.js +2 -0
- package/dist/interface/assets/{AutomationImport-BlBlNStY.js → AutomationImport-DWQkfeuR.js} +2 -2
- package/dist/interface/assets/{AutomationStore-CkSq2Gra.js → AutomationStore-FbQdggSq.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-BT1wMcK2.js → AutomationStoreDetail-D15G_MQy.js} +2 -2
- package/dist/interface/assets/{Automations-DSeK-PfA.js → Automations-urwh-nzl.js} +2 -2
- package/dist/interface/assets/{Camera-osDYTJPw.js → Camera-Brp9vdg2.js} +2 -2
- package/dist/interface/assets/{CameraConsole-DGQ3V0iM.js → CameraConsole-dx9vB5ht.js} +1 -1
- package/dist/interface/assets/{Cameras-DNsE3_T0.js → Cameras-DDut77Xv.js} +2 -2
- package/dist/interface/assets/{Camview-Dpe-mn9j.js → Camview-ChimIRuL.js} +1 -1
- package/dist/interface/assets/{Config-o6JSaUcr.js → Config-Cy5j6yf_.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-N-w9YidE.js → ConfigActionCameraControl-CrWmGvdE.js} +1 -1
- package/dist/interface/assets/ConfigActionHttp-XY-r_hEX.js +1 -0
- package/dist/interface/assets/ConfigActionImageInput-DJovQd4V.js +1 -0
- package/dist/interface/assets/ConfigActionMqtt-DsX-q9M_.js +1 -0
- package/dist/interface/assets/ConfigActionNotification-BM2X-K-D.js +1 -0
- package/dist/interface/assets/ConfigActionOutput-DMYPThT1.js +1 -0
- package/dist/interface/assets/ConfigActionPlugin-rCaB0HjK.js +1 -0
- package/dist/interface/assets/ConfigActionSensor-gxpOX2DC.js +1 -0
- package/dist/interface/assets/{ConfigActionSnapshot-MHiUaSA7.js → ConfigActionSnapshot-8vrwtN10.js} +1 -1
- package/dist/interface/assets/ConfigActionVariable-Dy8ZnhCO.js +1 -0
- package/dist/interface/assets/ConfigConditionIfElse-DK9Z6-kN.js +1 -0
- package/dist/interface/assets/ConfigConditionSensorState-BaFj9WYl.js +1 -0
- package/dist/interface/assets/{ConfigConditionSwitch-Dfr-9vLZ.js → ConfigConditionSwitch-_Gxu6OYc.js} +1 -1
- package/dist/interface/assets/ConfigSensorValueInput-BIiQ8NN6.js +1 -0
- package/dist/interface/assets/{ConfigTriggerDetection-Cv22vFn6.js → ConfigTriggerDetection-CCCi-Tof.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-BtPyKte4.js → ConfigTriggerGeofence-DOxaQSWM.js} +1 -1
- package/dist/interface/assets/ConfigTriggerMqtt-4Gp-qhCg.js +1 -0
- package/dist/interface/assets/{ConfigTriggerSensor-BrYITWwc.js → ConfigTriggerSensor-CLnC2yvE.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-DJ0lU8F0.js → ConfigTriggerSystem-Gae5o59O.js} +1 -1
- package/dist/interface/assets/{Console-ChT_3diZ.js → Console-DBJHlPg2.js} +1 -1
- package/dist/interface/assets/{CuiAvatar-1UQTTFMr.js → CuiAvatar-DeBKq6dT.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-B1jcfI0o.js +1 -0
- package/dist/interface/assets/{CuiBottomSheet-D1F_ll0S.js → CuiBottomSheet-udULz0wI.js} +1 -1
- package/dist/interface/assets/{CuiCameraCard-8iX_qqBM.js → CuiCameraCard-HEi3Hoe-.js} +1 -1
- package/dist/interface/assets/{CuiCameraPipCard-ULjqsCqF.js → CuiCameraPipCard-BxbUK-93.js} +1 -1
- package/dist/interface/assets/{CuiCameraRecordings-D2SS0ZeD.js → CuiCameraRecordings-C5bd4VAf.js} +1 -1
- package/dist/interface/assets/{CuiCameraShares-DoX75x2g.js → CuiCameraShares-BNjnm9yr.js} +1 -1
- package/dist/interface/assets/{CuiCameraSnapshot-Duouoet1.js → CuiCameraSnapshot-C-iPOB3g.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-BZbdmy4s.js → CuiCameraTable-CDpfm8fi.js} +1 -1
- package/dist/interface/assets/{CuiImage-BVVPyvep.js → CuiImage-DBQAYfn1.js} +1 -1
- package/dist/interface/assets/{CuiMenu-D9y4WDoP.js → CuiMenu--tB8FqMF.js} +1 -1
- package/dist/interface/assets/{CuiPluginCard-BkhKzqHn.js → CuiPluginCard-Cb0XSLIr.js} +2 -2
- package/dist/interface/assets/{CuiPluginOAuthButton-BzoWSejV.js → CuiPluginOAuthButton-CuppMPTq.js} +2 -2
- package/dist/interface/assets/{CuiQRCode-CBD3pXKm.js → CuiQRCode-D9QNUEmx.js} +1 -1
- package/dist/interface/assets/{CuiRecordingsGrid-C7b258rk.js → CuiRecordingsGrid-DlKUfbeS.js} +1 -1
- package/dist/interface/assets/{CuiSchema-sipNW_5x.js → CuiSchema-B6q285jE.js} +1 -1
- package/dist/interface/assets/{Faces-BV-dx0a6.js → Faces-DtJmIku2.js} +1 -1
- package/dist/interface/assets/{FirstSteps-L8ko4cum.js → FirstSteps-CsMSK_YI.js} +1 -1
- package/dist/interface/assets/{Instances-CWdIVekg.js → Instances-BTNzUfGz.js} +1 -1
- package/dist/interface/assets/{Logs-DjtSfpCe.js → Logs-Bic2YIta.js} +1 -1
- package/dist/interface/assets/{Menu-Ci8FIulr.js → Menu-GbuCaA_6.js} +1 -1
- package/dist/interface/assets/{OAuthDeviceFlow-bevFeCiw.js → OAuthDeviceFlow-DwSJHrqc.js} +1 -1
- package/dist/interface/assets/{Plugin-DYR_1oRT.js → Plugin-B8656Gzo.js} +1 -1
- package/dist/interface/assets/{PluginConsole-C8GuAzBZ.js → PluginConsole-CLGkDl1F.js} +1 -1
- package/dist/interface/assets/{PluginDetail-COgvgpQg.js → PluginDetail-DS8wUbYr.js} +2 -2
- package/dist/interface/assets/{PluginSchema-DM406ULU.js → PluginSchema-Dy9kDPML.js} +1 -1
- package/dist/interface/assets/PluginSearch-DBdp5Ifo.js +1 -0
- package/dist/interface/assets/{PluginSearch-DowK0yhn.js → PluginSearch-DFtTwd_R.js} +2 -2
- package/dist/interface/assets/{Plugins-BUgOxY_-.js → Plugins-C_kdqAp4.js} +1 -1
- package/dist/interface/assets/{Recordings-DvECWzpM.js → Recordings-Cz4uWsI9.js} +1 -1
- package/dist/interface/assets/{Settings-nhIKBth_2.js → Settings-is528I5i2.js} +1 -1
- package/dist/interface/assets/{SettingsAccount-Bh6QsmCo.js → SettingsAccount-CALY2rH0.js} +1 -1
- package/dist/interface/assets/SettingsAccount-_zSgGuBE.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-D9VGcz8w.js → SettingsAppearance-CGaG9lml.js} +1 -1
- package/dist/interface/assets/SettingsAppearance-z9tBty3q.js +1 -0
- package/dist/interface/assets/{SettingsBackup-kZQoQ4RY.js → SettingsBackup-JI_xqcVS.js} +1 -1
- package/dist/interface/assets/{SettingsMqtt-C234dN5h.js → SettingsMqtt-B_tzet_5.js} +1 -1
- package/dist/interface/assets/{SettingsNotifications-CZigp16N.js → SettingsNotifications-FWWveQMH.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-CLk_8Yeo.js → SettingsRecordings-D-S7rofE.js} +1 -1
- package/dist/interface/assets/{SettingsRemote-HTQY2mvW.js → SettingsRemote-CVuDUBMM.js} +1 -1
- package/dist/interface/assets/{SettingsSystem-D52Vn9V5.js → SettingsSystem-J7ZT7oRr.js} +2 -2
- package/dist/interface/assets/{SettingsUsers-CUd4VvGK.js → SettingsUsers-DvuiYjNg.js} +1 -1
- package/dist/interface/assets/{Terminal-1yUKu_cE.js → Terminal-CNzw8wk3.js} +1 -1
- package/dist/interface/assets/VariableInput-DW39Zo4d.js +1 -0
- package/dist/interface/assets/{VersionsHandler-CuV7deaY.js → VersionsHandler-CsXazSWK.js} +1 -1
- package/dist/interface/assets/{Workers-FgWY2jig.js → Workers-BXH8IccG.js} +1 -1
- package/dist/interface/assets/{api-BkmWxHU6.js → api-Br3Jmdj6.js} +1 -1
- package/dist/interface/assets/api-DR6W2XWy.js +2 -0
- package/dist/interface/assets/{auth-DZBJ2qjy.js → auth-BJf6VFls.js} +1 -1
- package/dist/interface/assets/{automations-BnCx_cHm.js → automations-Dt5J3kkY.js} +1 -1
- package/dist/interface/assets/availableVariables-D9VhvJZ1.js +1 -0
- package/dist/interface/assets/{cameras-C0LS9WsX.js → cameras-DCMMwuui.js} +1 -1
- package/dist/interface/assets/cameras.schema-99F6GE0u.js +1 -0
- package/dist/interface/assets/cloudHandoff-Yc4FJv_l.js +1 -0
- package/dist/interface/assets/{config-C6KVzOJb.js → config-BiEjYldh.js} +1 -1
- package/dist/interface/assets/{deviceId-DT9HiB_U.js → deviceId-sq3mLBKa.js} +1 -1
- package/dist/interface/assets/{hasPermission-DWgF7Hjs.js → hasPermission-Dm18Z17u.js} +1 -1
- package/dist/interface/assets/{instances-BURHqdgB.js → instances-MscZjRfc.js} +1 -1
- package/dist/interface/assets/{main-Dk5JAon5.js → main-4pJkMgxg.js} +3 -3
- package/dist/interface/assets/nodeDefinitions-5BjF3SJ8.js +1 -0
- package/dist/interface/assets/{notifications-CeVyOoSN.js → notifications-D87Lhlir.js} +1 -1
- package/dist/interface/assets/{plugins-DmYBke-a.js → plugins-VeCjoaEi.js} +1 -1
- package/dist/interface/assets/{round-restart-alt-BfvIzoUm.js → round-restart-alt-CcJGggln.js} +1 -1
- package/dist/interface/assets/{router-Cfm3yxgM.js → router-BFG1ClJo.js} +2 -2
- package/dist/interface/assets/{server-DWE6V3df.js → server-D7bl4wSy.js} +1 -1
- package/dist/interface/assets/{shares-Cz-SRsRm.js → shares-D5xo0sht.js} +1 -1
- package/dist/interface/assets/{theme-57Z8cefl.js → theme-BG6n3TRA.js} +1 -1
- package/dist/interface/assets/{useAppVersion-DSG8IzPH.js → useAppVersion-DCmhFeIs.js} +1 -1
- package/dist/interface/assets/{useBackupRestore-Cjv5ehJg.js → useBackupRestore-B-yCV4DL.js} +1 -1
- package/dist/interface/assets/{useBiometricCredentials-Cq0kbhwW.js → useBiometricCredentials-Tq1nEG8V.js} +1 -1
- package/dist/interface/assets/{useCameraOptions-DBsYZ6gv.js → useCameraOptions-B2lIc9JO.js} +1 -1
- package/dist/interface/assets/{useCuiDialog-BrXNUR_F.js → useCuiDialog-DLoFzodG.js} +1 -1
- package/dist/interface/assets/{useFileDownload-DmEs3ezY.js → useFileDownload-C5quSdZR.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-CochcRpr.js → useLogsSocket-B1sCzRXK.js} +1 -1
- package/dist/interface/assets/{useServerRestart-7GFofrfB.js → useServerRestart-DnT0ZOYm.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-CELgmbpk.js → useStreamStatus-CD18kTqt.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel-BscyY2G0.js → useUpdateChannel-DbBXpySY.js} +1 -1
- package/dist/interface/assets/{useUserOptions-CVGaxYdb.js → useUserOptions-Bb0ACtxn.js} +1 -1
- package/dist/interface/assets/{users.schema-DiUkDzPj.js → users.schema-BGeyXreN.js} +1 -1
- package/dist/interface/assets/variable-C2Yu30iz.js +1 -0
- package/dist/interface/assets/{view-grid-DIwBs1jl.js → view-grid-DRwNJzxD.js} +1 -1
- package/dist/interface/index.html +30 -30
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +3 -3
- package/dist/server/requirements.txt +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +4 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +2 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +2 -0
- package/dist/server/src/api/database/index.js +11 -12
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/schemas/automations.schema.d.ts +6 -0
- package/dist/server/src/api/schemas/automations.schema.js +2 -0
- package/dist/server/src/api/schemas/automations.schema.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +9 -0
- package/dist/server/src/api/schemas/cameras.schema.js +2 -0
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.js +10 -17
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/automations/triggers/mqtt.js +50 -3
- package/dist/server/src/automations/triggers/mqtt.js.map +1 -1
- package/dist/server/src/camera/controller.js +2 -2
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +1 -0
- package/dist/server/src/services/config/defaults.d.ts +1 -1
- package/dist/server/src/services/config/defaults.js +1 -1
- package/dist/server/src/services/config/defaults.js.map +1 -1
- package/dist/server/src/utils/camera.d.ts +4 -0
- package/dist/server/src/utils/camera.js +17 -0
- package/dist/server/src/utils/camera.js.map +1 -1
- package/package.json +3 -3
- package/dist/interface/assets/Automation-DZIieg3O.js +0 -2
- package/dist/interface/assets/ConfigActionHttp-qUm57oW4.js +0 -1
- package/dist/interface/assets/ConfigActionImageInput-Cr8faOB5.js +0 -1
- package/dist/interface/assets/ConfigActionMqtt-uRSh5B2A.js +0 -1
- package/dist/interface/assets/ConfigActionNotification-DrWQGvXh.js +0 -1
- package/dist/interface/assets/ConfigActionOutput-NPiNPB7G.js +0 -1
- package/dist/interface/assets/ConfigActionPlugin-fETPjKeY.js +0 -1
- package/dist/interface/assets/ConfigActionSensor-BU01CTIY.js +0 -1
- package/dist/interface/assets/ConfigActionVariable-Du5R50EA.js +0 -1
- package/dist/interface/assets/ConfigConditionIfElse-DjNPMKsc.js +0 -1
- package/dist/interface/assets/ConfigConditionSensorState-CAAfaSvc.js +0 -1
- package/dist/interface/assets/ConfigSensorValueInput-MZiAptuc.js +0 -1
- package/dist/interface/assets/ConfigTriggerMqtt-p4FUGJg6.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-1GDyn88O.js +0 -1
- package/dist/interface/assets/PluginSearch-dkPdwrjj.js +0 -1
- package/dist/interface/assets/SettingsAccount-B3yFFMS8.js +0 -1
- package/dist/interface/assets/SettingsAppearance-CWAGTnDU.js +0 -1
- package/dist/interface/assets/VariableInput-fT57kg7f.js +0 -1
- package/dist/interface/assets/api-BxUTlh4_.js +0 -2
- package/dist/interface/assets/cameras.schema-B1jQYShz.js +0 -1
- package/dist/interface/assets/cloudHandoff-CHjHRMBL.js +0 -1
- package/dist/interface/assets/nodeDefinitions-DSoFiL7W.js +0 -1
|
@@ -2,18 +2,65 @@ import { container } from 'tsyringe';
|
|
|
2
2
|
import { createEmptyContext } from '../context.js';
|
|
3
3
|
export function subscribeMqtt(ctx, flow, triggerNode) {
|
|
4
4
|
const topic = (triggerNode.data.topic ?? '').trim();
|
|
5
|
-
const payloadFilter = (triggerNode.data.payloadFilter ?? '').trim();
|
|
6
5
|
if (!topic)
|
|
7
6
|
return;
|
|
7
|
+
const mode = triggerNode.data.matchMode ?? 'any';
|
|
8
|
+
const payloadFilter = (triggerNode.data.payloadFilter ?? '').trim();
|
|
9
|
+
const jsonPath = (triggerNode.data.jsonPath ?? '').trim();
|
|
10
|
+
const jsonValue = (triggerNode.data.jsonValue ?? '').trim();
|
|
8
11
|
const mqttManager = container.resolve('mqttManager');
|
|
9
12
|
const unsubscribe = mqttManager.subscribeTrigger(topic, (messageTopic, payload) => {
|
|
10
|
-
if (
|
|
13
|
+
if (!payloadMatches(mode, payload, { payloadFilter, jsonPath, jsonValue }))
|
|
11
14
|
return;
|
|
12
15
|
const context = createEmptyContext();
|
|
13
16
|
context.mqtt = { topic: messageTopic, payload };
|
|
14
17
|
ctx.executeFlow(flow, triggerNode, context);
|
|
15
18
|
});
|
|
16
19
|
ctx.addSubscription(flow._id, { dispose: unsubscribe });
|
|
17
|
-
ctx.logger.trace(`Automation "${flow.name}": Subscribed to MQTT topic "${topic}"
|
|
20
|
+
ctx.logger.trace(`Automation "${flow.name}": Subscribed to MQTT topic "${topic}" (match: ${mode})`);
|
|
21
|
+
}
|
|
22
|
+
function payloadMatches(mode, payload, opts) {
|
|
23
|
+
switch (mode) {
|
|
24
|
+
case 'exact':
|
|
25
|
+
return !opts.payloadFilter || payload.trim() === opts.payloadFilter;
|
|
26
|
+
case 'json': {
|
|
27
|
+
if (!opts.jsonPath)
|
|
28
|
+
return true;
|
|
29
|
+
let parsed;
|
|
30
|
+
try {
|
|
31
|
+
parsed = JSON.parse(payload);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
const value = resolveJsonPath(parsed, opts.jsonPath);
|
|
37
|
+
if (value === undefined)
|
|
38
|
+
return false;
|
|
39
|
+
// No expected value = match on presence of the path.
|
|
40
|
+
if (!opts.jsonValue)
|
|
41
|
+
return true;
|
|
42
|
+
const scalar = scalarToString(value);
|
|
43
|
+
return scalar !== undefined && scalar === opts.jsonValue;
|
|
44
|
+
}
|
|
45
|
+
case 'any':
|
|
46
|
+
default:
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function resolveJsonPath(root, path) {
|
|
51
|
+
let current = root;
|
|
52
|
+
for (const segment of path.split('.')) {
|
|
53
|
+
if (current === null || typeof current !== 'object')
|
|
54
|
+
return undefined;
|
|
55
|
+
current = current[segment];
|
|
56
|
+
}
|
|
57
|
+
return current;
|
|
58
|
+
}
|
|
59
|
+
function scalarToString(value) {
|
|
60
|
+
if (typeof value === 'string')
|
|
61
|
+
return value;
|
|
62
|
+
if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint')
|
|
63
|
+
return String(value);
|
|
64
|
+
return undefined;
|
|
18
65
|
}
|
|
19
66
|
//# sourceMappingURL=mqtt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../../../../src/automations/triggers/mqtt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../../../../src/automations/triggers/mqtt.ts"],"names":[],"mappings":"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"}
|
|
@@ -393,7 +393,7 @@ let CameraController = class CameraController extends CameraDevice {
|
|
|
393
393
|
continue;
|
|
394
394
|
try {
|
|
395
395
|
const sourceName = createSourceName(this.name, source.name);
|
|
396
|
-
await this.go2rtcApi.streamsRoute.addPreloadStream({ src: sourceName }, { video: true, audio:
|
|
396
|
+
await this.go2rtcApi.streamsRoute.addPreloadStream({ src: sourceName }, { video: true, audio: !source.muted, microphone: true });
|
|
397
397
|
}
|
|
398
398
|
catch {
|
|
399
399
|
// Non-fatal: go2rtc might not be ready yet, 30s loop will retry
|
|
@@ -419,7 +419,7 @@ let CameraController = class CameraController extends CameraDevice {
|
|
|
419
419
|
const preloadInfo = await this.go2rtcApi.streamsRoute.getPreloadStream({ src });
|
|
420
420
|
if (source.hotMode && preloadInfo.status === 'stopped') {
|
|
421
421
|
this.logger.debug(`Preloading source "${source.name}" for camera "${this.name}"`);
|
|
422
|
-
await this.go2rtcApi.streamsRoute.addPreloadStream({ src }, { video: true, audio:
|
|
422
|
+
await this.go2rtcApi.streamsRoute.addPreloadStream({ src }, { video: true, audio: !source.muted, microphone: true });
|
|
423
423
|
}
|
|
424
424
|
else if (!source.hotMode && preloadInfo.status === 'started') {
|
|
425
425
|
this.logger.debug(`Stopping preload for source "${source.name}" for camera "${this.name}"`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/camera/controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/camera/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -118,6 +118,7 @@ class CameraSourceImpl(CameraSource):
|
|
|
118
118
|
self.useForSnapshot: bool = source["useForSnapshot"]
|
|
119
119
|
self.hotMode: bool = source["hotMode"]
|
|
120
120
|
self.preload: bool = source["preload"]
|
|
121
|
+
self.muted: bool | None = source.get("muted")
|
|
121
122
|
self.urls: StreamUrls = source["urls"]
|
|
122
123
|
self.childSourceId: str | None = source.get("childSourceId")
|
|
123
124
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { API, Ffmpeg, IConfigSSL, Log, Logger, PluginsSettings, RTMP, RTSP, SRTP, Webrtc } from './types.js';
|
|
2
2
|
export declare const ELECTRON_PORT_OFFSET: number;
|
|
3
3
|
export declare const DEFAULT_CONFIG_PORT: number;
|
|
4
|
-
export declare const DEFAULT_CONFIG_HOST = "
|
|
4
|
+
export declare const DEFAULT_CONFIG_HOST = "0.0.0.0";
|
|
5
5
|
export declare const DEFAULT_CONFIG_SSL: IConfigSSL;
|
|
6
6
|
export declare const DEFAULT_CONFIG_LOGGER: Logger;
|
|
7
7
|
export declare const DEFAULT_CONFIG_PLUGINS: PluginsSettings;
|
|
@@ -4,7 +4,7 @@ const withOffset = (base) => base + ELECTRON_PORT_OFFSET;
|
|
|
4
4
|
const listenWithOffset = (host, base) => `${host}:${withOffset(base)}`;
|
|
5
5
|
// server
|
|
6
6
|
export const DEFAULT_CONFIG_PORT = withOffset(3443);
|
|
7
|
-
export const DEFAULT_CONFIG_HOST = '
|
|
7
|
+
export const DEFAULT_CONFIG_HOST = '0.0.0.0';
|
|
8
8
|
export const DEFAULT_CONFIG_SSL = {
|
|
9
9
|
certFile: '',
|
|
10
10
|
keyFile: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../../../src/services/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,GAAG,oBAAoB,CAAC;AACzE,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AAE/F,SAAS;AACT,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../../../src/services/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,GAAG,oBAAoB,CAAC;AACzE,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AAE/F,SAAS;AACT,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,CAAC,WAAW,CAAC;CACzB,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAW;IAC3C,KAAK,EAAE,OAAO;CACf,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACrD,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,KAAK;CACzB,CAAC;AAEF,SAAS;AACT,MAAM,CAAC,MAAM,4BAA4B,GAAiB;IACxD,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM;CACb,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAQ;IAC5C,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC;IAC/C,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;CACX,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAS;IAC9C,MAAM,EAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC;IACzC,aAAa,EAAE,qBAAqB;IACpC,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,OAAO;CAClB,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAS;IAC9C,MAAM,EAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAS;IAC9C,MAAM,EAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAW;IAClD,MAAM,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM;IAClC,UAAU,EAAE,CAAC,QAAQ,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;CACzC,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAW;IAClD,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,qHAAqH;IAC3H,8CAA8C;IAC9C,IAAI,EAAE,mKAAmK;IACzK,MAAM,EAAE,gEAAgE;CACzE,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { RTSPUrlOptions, SnapshotUrlOptions } from '@camera.ui/sdk';
|
|
2
|
+
export declare function applySourceUrlFlags(url: string, source: {
|
|
3
|
+
preload: boolean;
|
|
4
|
+
muted?: boolean;
|
|
5
|
+
}): string;
|
|
2
6
|
export declare function buildTargetUrl(rtspUrl: string, options: RTSPUrlOptions): string;
|
|
3
7
|
export declare function buildSnapshotUrl(cameraName: string, sourceName: string, snapshotUrl: string, options: SnapshotUrlOptions): string;
|
|
4
8
|
export declare function createSourceName(cameraName: string, sourceName: string): string;
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
import { GOP_REGEX } from '../api/utils/regex.js';
|
|
2
|
+
const NO_AUDIO_FLAG = '#noAudio';
|
|
3
|
+
export function applySourceUrlFlags(url, source) {
|
|
4
|
+
if (source.preload && !GOP_REGEX.test(url)) {
|
|
5
|
+
url += '#gop=1';
|
|
6
|
+
}
|
|
7
|
+
else if (!source.preload && GOP_REGEX.test(url)) {
|
|
8
|
+
url = url.replace(GOP_REGEX, '');
|
|
9
|
+
}
|
|
10
|
+
if (source.muted && !url.includes(NO_AUDIO_FLAG)) {
|
|
11
|
+
url += NO_AUDIO_FLAG;
|
|
12
|
+
}
|
|
13
|
+
else if (!source.muted && url.includes(NO_AUDIO_FLAG)) {
|
|
14
|
+
url = url.replace(NO_AUDIO_FLAG, '');
|
|
15
|
+
}
|
|
16
|
+
return url;
|
|
17
|
+
}
|
|
1
18
|
export function buildTargetUrl(rtspUrl, options) {
|
|
2
19
|
const url = new URL(rtspUrl);
|
|
3
20
|
const baseUrl = `${url.protocol}//${url.host}${url.pathname}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../../../../src/utils/camera.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../../../../src/utils/camera.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camera.ui/server",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.10",
|
|
4
4
|
"description": "camera.ui server",
|
|
5
5
|
"author": "seydx (https://github.com/cameraui/camera.ui)",
|
|
6
6
|
"type": "module",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@camera.ui/nats": "^2.14.3",
|
|
31
31
|
"@camera.ui/rpc": "^1.0.9",
|
|
32
32
|
"@camera.ui/rust-postprocessor": "~0.0.5",
|
|
33
|
-
"@camera.ui/sdk": "~0.0.
|
|
33
|
+
"@camera.ui/sdk": "~0.0.18",
|
|
34
34
|
"@camera.ui/tunnel": "^1.0.4",
|
|
35
35
|
"@eneris/push-receiver": "^4.3.1",
|
|
36
36
|
"@fastify/cors": "^11.3.0",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"socket.io": "^4.8.3",
|
|
76
76
|
"systeminformation": "^5.31.16",
|
|
77
77
|
"tail": "^2.2.6",
|
|
78
|
-
"tar": "^7.5.
|
|
78
|
+
"tar": "^7.5.20",
|
|
79
79
|
"tsyringe": "^4.10.0",
|
|
80
80
|
"undici": "^8.7.0",
|
|
81
81
|
"uuid": "^14.0.1",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ConfigTriggerDetection-Cv22vFn6.js","assets/vendor-cameraui-DDdtrYBn.js","assets/rolldown-runtime-DAXXjFlN.js","assets/vendor-ClrOISZp.js","assets/vendor-primevue-DB14kOh6.js","assets/useCameraOptions-DBsYZ6gv.js","assets/api-BxUTlh4_.js","assets/vendor-zod-XsuaxHRY.js","assets/vendor-core-CZuWsjWr.js","assets/api-C31uUd3g.css","assets/cameras-C0LS9WsX.js","assets/ConfigTriggerSensor-BrYITWwc.js","assets/ConfigTriggerSchedule-DQX6czW4.js","assets/ConfigTriggerWebhook-Czyo2Bs-.js","assets/CuiActionButton-BAlSwXzv.js","assets/information-outline-BaVRQ1WL.js","assets/copy-D1B4K3K8.js","assets/ConfigTriggerMqtt-p4FUGJg6.js","assets/ConfigTriggerSystem-DJ0lU8F0.js","assets/plugins-DmYBke-a.js","assets/ConfigTriggerManual-DZPdLXoe.js","assets/ConfigTriggerGeofence-BtPyKte4.js","assets/vendor-leaflet-BMMJO5Nd.js","assets/vendor-leaflet-vh-t_kPv.css","assets/useUserOptions-CVGaxYdb.js","assets/ConfigActionSnapshot-MHiUaSA7.js","assets/ConfigActionSensor-BU01CTIY.js","assets/ConfigSensorValueInput-MZiAptuc.js","assets/ConfigActionNotification-DrWQGvXh.js","assets/notifications-CeVyOoSN.js","assets/VariableInput-fT57kg7f.js","assets/automations-Dd-6vvka.js","assets/VariableSuggestions-DwhFBKzJ.js","assets/upload-DAasFa9r.js","assets/ConfigActionHttp-qUm57oW4.js","assets/ConfigActionMqtt-uRSh5B2A.js","assets/ConfigActionDelay-1kd69ysm.js","assets/ConfigActionVariable-Du5R50EA.js","assets/ConfigActionPlugin-fETPjKeY.js","assets/CuiSchema-sipNW_5x.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/close-BTPBtoEq.js","assets/CuiImage-BVVPyvep.js","assets/CuiImage-Bxf7z2N4.css","assets/theme-57Z8cefl.js","assets/check-COWE52r_.js","assets/CuiSchema--yMBD996.css","assets/automations-BnCx_cHm.js","assets/ConfigActionImageInput-Cr8faOB5.js","assets/ConfigActionOutput-NPiNPB7G.js","assets/ConfigActionCameraControl-N-w9YidE.js","assets/types-BxFyoO54.js","assets/ConfigConditionIfElse-DjNPMKsc.js","assets/alert-outline-C4_42ECn.js","assets/nodeDefinitions-DSoFiL7W.js","assets/transit-connection-variant-CXkATe8I.js","assets/cog-outline-CXjehRoX.js","assets/lightbulb-outline-DPjpJn5F.js","assets/clock-outline-CqPKrGj2.js","assets/webhook-BCBlzc3z.js","assets/source-branch-Dv9Du0bc.js","assets/ConfigConditionSwitch-Dfr-9vLZ.js","assets/ConfigConditionSensorState-CAAfaSvc.js","assets/ConfigConditionTime-Ce8AortY.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{F as e,Ir as t,O as n,_n as r,gn as i}from"./vendor-cameraui-DDdtrYBn.js";import{T as a,d as o}from"./api-BxUTlh4_.js";import{$n as s,An as c,Cr as l,Er as u,Gn as d,Hn as f,Ln as p,On as m,Rn as h,Sr as g,Tr as _,Vn as v,Wt as y,Zn as b,_r as x,an as S,dn as C,fn as w,gn as T,lr as ee,mn as E,mr as D,nr as O,on as k,pn as A,rr as j,un as M,ur as N,vn as P,xn as F,yn as I,zn as L}from"./vendor-ClrOISZp.js";import{c as te,f as R,l as ne}from"./vendor-core-CZuWsjWr.js";import{C as z,E as B,F as re,H as V,T as ie,W as ae,h as H,o as oe,w as se}from"./vendor-primevue-DB14kOh6.js";import{t as ce}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as le,t as ue}from"./useSharedComposables-ffwWlpSL.js";import{t as de}from"./close-BTPBtoEq.js";import{t as U}from"./CuiMenu-D9y4WDoP.js";import{t as fe}from"./play-solid-cginGSgT.js";import{n as W,t as pe}from"./useCuiDialog-BrXNUR_F.js";import{t as me}from"./CuiTopbarSlot-Bcw46PzA.js";import{t as G}from"./deviceId-DT9HiB_U.js";import{r as K}from"./types-BxFyoO54.js";import{t as he}from"./automations-Dd-6vvka.js";import{t as ge}from"./automations-BnCx_cHm.js";import{n as q,t as J}from"./nodeDefinitions-DSoFiL7W.js";import{t as _e}from"./CuiBottomSheet-D1F_ll0S.js";import{i as ve}from"./automationBlueprint-DMjszOs4.js";import{t as ye}from"./back-filled-LVLhJP7G.js";import{t as be}from"./plus-CJ2GnX_q.js";import{a as xe,c as Se,i as Ce,n as we,o as Y,r as X,s as Te,t as Ee}from"./vendor-vueflow-Ci6VMxDa.js";import{t as De}from"./settings-DHy64jsU.js";var Oe={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function ke(e,t){return L(),E(`svg`,Oe,[...t[0]||=[C(`path`,{fill:`currentColor`,d:`M26 20h-6v-2h6zm4 8h-6v-2h6zm-2-4h-6v-2h6z`},null,-1),C(`path`,{fill:`currentColor`,d:`M17.003 20a4.9 4.9 0 0 0-2.404-4.173L22 3l-1.73-1l-7.577 13.126a5.7 5.7 0 0 0-5.243 1.503C3.706 20.24 3.996 28.682 4.01 29.04a1 1 0 0 0 1 .96h14.991a1 1 0 0 0 .6-1.8c-3.54-2.656-3.598-8.146-3.598-8.2m-5.073-3.003A3.11 3.11 0 0 1 15.004 20c0 .038.002.208.017.469l-5.9-2.624a3.8 3.8 0 0 1 2.809-.848M15.45 28A5.2 5.2 0 0 1 14 25h-2a6.5 6.5 0 0 0 .968 3h-2.223A16.6 16.6 0 0 1 10 24H8a17.3 17.3 0 0 0 .665 4H6c.031-1.836.29-5.892 1.803-8.553l7.533 3.35A13 13 0 0 0 17.596 28Z`},null,-1)]])}var Ae=N({name:`carbon-clean`,render:ke}),je={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Me(e,t){return L(),E(`svg`,je,[...t[0]||=[C(`path`,{fill:`currentColor`,d:`M12 10h12.185l-3.587-3.586L22 5l6 6l-6 6l-1.402-1.415L24.182 12H12a6 6 0 0 0 0 12h8v2h-8a8 8 0 0 1 0-16`},null,-1)]])}var Ne=N({name:`carbon-redo`,render:Me}),Pe={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Fe(e,t){return L(),E(`svg`,Pe,[...t[0]||=[C(`path`,{fill:`currentColor`,d:`m27.71 9.29l-5-5A1 1 0 0 0 22 4H6a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V10a1 1 0 0 0-.29-.71M12 6h8v4h-8Zm8 20h-8v-8h8Zm2 0v-8a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2v8H6V6h4v4a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.41l4 4V26Z`},null,-1)]])}var Ie=N({name:`carbon-save`,render:Fe}),Le={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Re(e,t){return L(),E(`svg`,Le,[...t[0]||=[C(`path`,{fill:`currentColor`,d:`M23 20a5 5 0 0 0-3.89 1.89l-7.31-4.57a4.46 4.46 0 0 0 0-2.64l7.31-4.57A5 5 0 1 0 18 7a4.8 4.8 0 0 0 .2 1.32l-7.31 4.57a5 5 0 1 0 0 6.22l7.31 4.57A4.8 4.8 0 0 0 18 25a5 5 0 1 0 5-5m0-16a3 3 0 1 1-3 3a3 3 0 0 1 3-3M7 19a3 3 0 1 1 3-3a3 3 0 0 1-3 3m16 9a3 3 0 1 1 3-3a3 3 0 0 1-3 3`},null,-1)]])}var ze=N({name:`carbon-share`,render:Re}),Be={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Ve(e,t){return L(),E(`svg`,Be,[...t[0]||=[C(`path`,{fill:`currentColor`,d:`M12 12h2v12h-2zm6 0h2v12h-2z`},null,-1),C(`path`,{fill:`currentColor`,d:`M4 6v2h2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8h2V6Zm4 22V8h16v20Zm4-26h8v2h-8z`},null,-1)]])}var He=N({name:`carbon-trash-can`,render:Ve}),Ue={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function We(e,t){return L(),E(`svg`,Ue,[...t[0]||=[C(`path`,{fill:`currentColor`,d:`M20 10H7.815l3.587-3.586L10 5l-6 6l6 6l1.402-1.415L7.818 12H20a6 6 0 0 1 0 12h-8v2h8a8 8 0 0 0 0-16`},null,-1)]])}var Ge=N({name:`carbon-undo`,render:We}),Ke=[`id`,`d`],qe=24,Je=F({__name:`DeletableEdge`,props:{id:{},sourceNode:{},targetNode:{},source:{},target:{},type:{},label:{type:[String,Object,Function]},style:{},selected:{type:Boolean},sourcePosition:{},targetPosition:{},sourceHandleId:{},targetHandleId:{},animated:{type:Boolean},updatable:{type:Boolean},markerStart:{},markerEnd:{},curvature:{},interactionWidth:{},data:{},events:{},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{},sourceX:{},sourceY:{},targetX:{},targetY:{}},setup(e){let t=e,{removeEdges:n}=Se(),r=M(()=>Te({sourceX:t.sourceX,sourceY:t.sourceY,sourcePosition:t.sourcePosition,targetX:t.targetX,targetY:t.targetY,targetPosition:t.targetPosition})),i=M(()=>r.value[0]),a=M(()=>r.value[1]),o=M(()=>r.value[2]),s=M(()=>{let e=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return e.setAttribute(`d`,i.value),e.getTotalLength()}),c=M(()=>{let e=s.value;if(e<=0)return{stroke:`var(--text-muted-color)`,strokeWidth:2,fill:`none`};let t=e/2,n=qe/2;return{stroke:`var(--text-muted-color)`,strokeWidth:2,fill:`none`,strokeDasharray:`${Math.max(0,t-n)} ${qe} ${Math.max(0,e-t-n)}`}});function l(){n([t.id])}return(t,n)=>{let r=de;return L(),E(k,null,[C(`path`,{id:e.id,d:g(i),style:_(g(c)),class:`vue-flow__edge-path`},null,12,Ke),I(g(xe),null,{default:O(()=>[C(`div`,{class:`automation-edge-button nodrag nopan`,style:_({pointerEvents:`all`,position:`absolute`,transform:`translate(-50%, -50%) translate(${g(a)}px, ${g(o)}px)`})},[C(`button`,{class:`automation-edge-delete`,onClick:S(l,[`stop`])},[I(r,{class:`w-3 h-3`})])],4)]),_:1})],64)}}}),Ye={maxInputs:1/0},Xe={class:`flex items-center gap-2 px-3 py-2.5`},Ze={class:`flex-1 min-w-0`},Qe={class:`text-xs font-semibold truncate text-color`},$e={key:0,class:`text-[10px] text-muted truncate mt-0.5`},et=ce(F({__name:`BaseNode`,props:m({icon:{},label:{},subtitle:{},color:{},selected:{type:Boolean},showInput:{type:Boolean},showOutput:{type:Boolean},maxInputs:{}},Ye),setup(e){let t={backgroundColor:`var(--text-muted-color)`,borderColor:`var(--card-background)`};return(n,r)=>(L(),E(`div`,{class:l([`automation-node card-background rounded-lg border-2 shadow-lg min-w-[180px] max-w-[220px] select-none`,{"ring-2 ring-primary":e.selected}]),style:_({borderColor:e.color})},[C(`div`,Xe,[C(`div`,{class:`flex items-center justify-center w-8 h-8 rounded-md shrink-0`,style:_({backgroundColor:`${e.color}20`,color:e.color})},[(L(),w(d(e.icon),{class:`w-4.5 h-4.5`}))],4),C(`div`,Ze,[C(`div`,Qe,u(e.label),1),e.subtitle?(L(),E(`div`,$e,u(e.subtitle),1)):A(``,!0)])]),e.showInput?(L(),w(g(Y),{key:0,type:`target`,position:g(X).Top,connectable:e.maxInputs,class:`!w-3 !h-3 !border-2`,style:t},null,8,[`position`,`connectable`])):A(``,!0),f(n.$slots,`handles`,{},()=>[e.showOutput?(L(),w(g(Y),{key:0,type:`source`,position:g(X).Bottom,class:`!w-3 !h-3 !border-2`,style:t},null,8,[`position`])):A(``,!0)],!0)],6))}}),[[`__scopeId`,`data-v-26c7ae33`]]),tt={class:`text-muted font-medium truncate`},nt={class:`text-color font-semibold text-right`},Z=F({__name:`ActionNode`,props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(n){let r=n,{t:i}=t(),{lastOutput:a}=R(he()),o=M(()=>J(r.type)),s=M(()=>o.value?i(o.value.labelKey):r.type),c=M(()=>{let e=r.data,t=e.alias,n;return e.type===`action-delay`?n=`${e.duration} ${e.unit}`:e.type===`action-notification`&&e.title?n=e.title:e.type===`action-http`&&e.url?n=`${e.method} ${e.url}`:e.type===`action-plugin`&&e.repeat&&e.repeat>1&&(n=`${e.repeat}x`),t&&n?`[${t}] ${n}`:t?`[${t}]`:n}),d=M(()=>r.type!==`action-output`||!a.value?[]:Object.entries(a.value));return(t,r)=>{let i=e;return L(),E(`div`,null,[I(et,{icon:g(o).icon,label:g(s),subtitle:g(c),color:g(o)?.color??`#3b82f6`,selected:n.selected,"show-input":!0,"show-output":!0},null,8,[`icon`,`label`,`subtitle`,`color`,`selected`]),n.type===`action-output`&&g(d).length?(L(),w(i,{key:0,class:`cui-card mt-1`,pt:{body:{class:`p-0`}},style:{"min-width":`180px`}},{content:O(()=>[(L(!0),E(k,null,v(g(d),(e,t)=>(L(),E(`div`,{key:t,class:l([`flex justify-between gap-3 px-3 py-1.5 text-[11px]`,{"border-t border-surface-100 dark:border-surface-800":t>0}])},[C(`span`,tt,u(e[0]),1),C(`span`,nt,u(e[1]),1)],2))),128))]),_:1})):A(``,!0)])}}}),Q=F({__name:`ConditionNode`,props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(e){let n=e,{t:r}=t(),i={borderColor:`var(--card-background)`},a=M(()=>J(n.type)),o=M(()=>a.value?r(a.value.labelKey):n.type),s=M(()=>{let e=n.data;if(e.type===`condition-ifelse`&&e.leftOperand&&e.operator)return`${e.leftOperand} ${e.operator} ${e.rightOperand}`});return(t,n)=>(L(),w(et,{icon:g(a).icon,label:g(o),subtitle:g(s),color:g(a)?.color??`#f59e0b`,selected:e.selected,"show-input":!0,"show-output":!1,"max-inputs":1},{handles:O(()=>[I(g(Y),{type:`source`,position:g(X).Bottom,id:`true`,class:`!w-3 !h-3 !border-2`,style:_({...i,backgroundColor:`var(--text-success-color)`,left:`30%`})},null,8,[`position`,`style`]),I(g(Y),{type:`source`,position:g(X).Bottom,id:`false`,class:`!w-3 !h-3 !border-2`,style:_({...i,backgroundColor:`var(--text-danger-color)`,left:`70%`})},null,8,[`position`,`style`])]),_:1},8,[`icon`,`label`,`subtitle`,`color`,`selected`]))}}),$=F({__name:`TriggerNode`,props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(e){let n=e,{t:r}=t(),i=M(()=>J(n.type)),a=M(()=>i.value?r(i.value.labelKey):n.type),o=M(()=>{let e=n.data;if(e.type===`trigger-detection`&&e.cameraId)return e.cameraId;if(e.type===`trigger-schedule`&&e.cron)return e.cron});return(t,n)=>(L(),w(et,{icon:g(i).icon,label:g(a),subtitle:g(o),color:g(i)?.color??`#22c55e`,selected:e.selected,"show-input":!1,"show-output":!0},null,8,[`icon`,`label`,`subtitle`,`color`,`selected`]))}}),rt=50;function it(){let e=x([]),t=x([]);function n(e,t){return JSON.stringify({nodes:e,edges:t})}function r(e){return JSON.parse(e)}function i(r,i){let a=[...e.value,n(r,i)];a.length>rt&&a.shift(),e.value=a,t.value=[]}function a(i,a){let o=[...e.value],s=o.pop();if(s)return e.value=o,t.value=[...t.value,n(i,a)],r(s)}function o(i,a){let o=[...t.value],s=o.pop();if(s)return t.value=o,e.value=[...e.value,n(i,a)],r(s)}function s(){e.value=[],t.value=[]}return{push:i,undo:a,redo:o,clear:s,canUndo:M(()=>e.value.length>0),canRedo:M(()=>t.value.length>0)}}var at=[`cameraId`,`sensorType`,`sensorName`,`sensorPluginId`,`property`];function ot(e,t){if(!e||!t)return null;let n={},r=e,i=t;for(let e of at)r[e]&&e in i&&!i[e]&&(n[e]=r[e]);return Object.keys(n).length>0?n:null}function st(e){return e.type===`trigger-webhook`&&!e.webhookId?{...e,webhookId:G()}:e.type===`trigger-geofence`&&!e.geofenceId?{...e,geofenceId:G()}:e}var ct={class:`absolute inset-0 flex items-center justify-center pointer-events-none`},lt={class:`text-muted text-sm`},ut=F({__name:`CuiAutomationCanvas`,props:{flow:{},mobile:{type:Boolean}},emits:[`node-select`,`change`],setup(e,{expose:n,emit:r}){let i=e,a=r,{t:c}=t(),{smBreakpoint:d}=ue(),{screenToFlowCoordinate:f,getViewport:m,dimensions:_}=Se(),v=it(),y={"trigger-detection":N($),"trigger-sensor":N($),"trigger-schedule":N($),"trigger-webhook":N($),"trigger-system":N($),"trigger-manual":N($),"trigger-geofence":N($),"trigger-mqtt":N($),"condition-ifelse":N(Q),"condition-switch":N(Q),"condition-sensorstate":N(Q),"condition-time":N(Q),"action-snapshot":N(Z),"action-sensor":N(Z),"action-notification":N(Z),"action-http":N(Z),"action-mqtt":N(Z),"action-delay":N(Z),"action-variable":N(Z),"action-plugin":N(Z),"action-camera-control":N(Z),"action-image-input":N(Z),"action-output":N(Z)},b={default:N(Je)},x=D([...i.flow.nodes]),w=D([...i.flow.edges]);function k(){v.push(x.value,w.value)}function A(){let e=v.undo(x.value,w.value);e&&(x.value=e.nodes,w.value=e.edges,a(`node-select`,null),a(`change`))}function j(){let e=v.redo(x.value,w.value);e&&(x.value=e.nodes,w.value=e.edges,a(`node-select`,null),a(`change`))}function M(e){a(`node-select`,e.node.id)}function P(){a(`node-select`,null)}function F(e){let t=x.value.find(t=>t.id===e.source),n=x.value.find(t=>t.id===e.target);return!(!t||!n||e.source===e.target||n.type?.startsWith(`trigger-`))}function te(e){if(!F(e))return;k();let t=e.targetHandle??void 0,n=x.value.find(t=>t.id===e.target);if(n?.type?.startsWith(`condition-`)){let n=w.value.find(n=>n.target===e.target&&(n.targetHandle??void 0)===t);n&&(w.value=w.value.filter(e=>e.id!==n.id))}let r={id:`e-${e.source}-${e.target}`,source:e.source,target:e.target,sourceHandle:e.sourceHandle??void 0,targetHandle:t};w.value.push(r);let i=ot(x.value.find(t=>t.id===e.source)?.data,n?.data);i&&n?.data&&Object.assign(n.data,i),a(`change`)}function R(e){e.some(e=>e.type===`remove`)&&(k(),a(`node-select`,null),a(`change`))}function ne(e){let t=e.dataTransfer?.getData(`application/automationnode`);if(!t)return;let n=J(t);if(!n)return;k();let r=f({x:e.clientX,y:e.clientY}),i={id:o(12),type:t,position:r,data:st({...n.defaults})};x.value=[...x.value,i],a(`change`)}function z(e){let t=J(e);if(!t)return;k();let{x:n,y:r,zoom:i}=m(),{width:s,height:c}=_.value,l=(-n+s/2)/i,u=(-r+c/2)/i,d=()=>(Math.random()-.5)*80,f={id:o(12),type:e,position:{x:l+d(),y:u+d()},data:st({...t.defaults})};return x.value=[...x.value,f],a(`change`),f}function B(e){k(),x.value=x.value.filter(t=>t.id!==e),w.value=w.value.filter(t=>t.source!==e&&t.target!==e),a(`change`)}function re(){k(),x.value=[],w.value=[],a(`change`)}function V(){return[...x.value]}function ie(){return[...w.value]}function ae(e,t){let n=x.value.find(t=>t.id===e);n&&(n.data=t)}function H(e){let t=e.metaKey||e.ctrlKey;t&&e.key===`z`&&!e.shiftKey?(e.preventDefault(),A()):(t&&e.key===`z`&&e.shiftKey||t&&e.key===`y`)&&(e.preventDefault(),j())}return s(()=>i.flow._id,()=>{x.value=[...i.flow.nodes],w.value=[...i.flow.edges],v.clear()}),p(()=>window.addEventListener(`keydown`,H)),h(()=>window.removeEventListener(`keydown`,H)),n({removeNode:B,addNodeAtCenter:z,clearAll:re,getNodes:V,getEdges:ie,updateNodeData:ae,undo:A,redo:j,canUndo:v.canUndo,canRedo:v.canRedo}),(t,n)=>(L(),E(`div`,{ref:`canvasRef`,class:l([`h-full w-full border-left-color border-bottom-color border-right-color rounded-b-xl overflow-hidden`,{"rounded-none! border-0!":g(d)}]),onDrop:ne,onDragover:n[2]||=S(()=>{},[`prevent`]),onDragenter:n[3]||=S(()=>{},[`prevent`])},[I(g(Ce),{nodes:g(x),"onUpdate:nodes":n[0]||=e=>ee(x)?x.value=e:null,edges:g(w),"onUpdate:edges":n[1]||=e=>ee(w)?w.value=e:null,"node-types":y,"edge-types":b,"default-viewport":{zoom:e.mobile?.7:.9,x:0,y:0},"snap-to-grid":!0,"snap-grid":[16,16],"is-valid-connection":F,class:`automation-canvas`,onNodeClick:M,onPaneClick:P,onConnect:te,onNodesChange:R},T({default:O(()=>[I(g(we),{gap:16}),I(g(Ee))]),_:2},[g(x).length?void 0:{name:`default`,fn:O(()=>[C(`div`,ct,[C(`span`,lt,u(e.mobile?g(c)(`views.automation.no_nodes_mobile`):g(c)(`views.automation.no_nodes`)),1)])]),key:`0`}]),1032,[`nodes`,`edges`,`default-viewport`])],34))}}),dt={"trigger-detection":W(()=>y(()=>import(`./ConfigTriggerDetection-Cv22vFn6.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]))),"trigger-sensor":W(()=>y(()=>import(`./ConfigTriggerSensor-BrYITWwc.js`),__vite__mapDeps([11,1,2,3,4,5,6,7,8,9,10]))),"trigger-schedule":W(()=>y(()=>import(`./ConfigTriggerSchedule-DQX6czW4.js`),__vite__mapDeps([12,1,2,3,4]))),"trigger-webhook":W(()=>y(()=>import(`./ConfigTriggerWebhook-Czyo2Bs-.js`),__vite__mapDeps([13,1,2,3,4,14,15,16]))),"trigger-mqtt":W(()=>y(()=>import(`./ConfigTriggerMqtt-p4FUGJg6.js`),__vite__mapDeps([17,1,2,3,4,15]))),"trigger-system":W(()=>y(()=>import(`./ConfigTriggerSystem-DJ0lU8F0.js`),__vite__mapDeps([18,1,2,3,4,19,6,7,8,9,5,10]))),"trigger-manual":W(()=>y(()=>import(`./ConfigTriggerManual-DZPdLXoe.js`),__vite__mapDeps([20,1,2,3]))),"trigger-geofence":W(()=>y(()=>import(`./ConfigTriggerGeofence-BtPyKte4.js`),__vite__mapDeps([21,2,1,3,6,7,8,4,9,14,15,22,23,16,24]))),"action-snapshot":W(()=>y(()=>import(`./ConfigActionSnapshot-MHiUaSA7.js`),__vite__mapDeps([25,1,2,3,4,5,6,7,8,9,10]))),"action-sensor":W(()=>y(()=>import(`./ConfigActionSensor-BU01CTIY.js`),__vite__mapDeps([26,1,2,3,6,7,8,4,9,5,10,27]))),"action-notification":W(()=>y(()=>import(`./ConfigActionNotification-DrWQGvXh.js`),__vite__mapDeps([28,1,2,3,4,29,6,7,8,9,30,31,32,33]))),"action-http":W(()=>y(()=>import(`./ConfigActionHttp-qUm57oW4.js`),__vite__mapDeps([34,3,2,4,1,30,31,8,32]))),"action-mqtt":W(()=>y(()=>import(`./ConfigActionMqtt-uRSh5B2A.js`),__vite__mapDeps([35,1,2,3,4,30,31,8,32]))),"action-delay":W(()=>y(()=>import(`./ConfigActionDelay-1kd69ysm.js`),__vite__mapDeps([36,1,2,3,4]))),"action-variable":W(()=>y(()=>import(`./ConfigActionVariable-Du5R50EA.js`),__vite__mapDeps([37,1,2,3,4,30,31,8,32]))),"action-plugin":W(()=>y(()=>import(`./ConfigActionPlugin-fETPjKeY.js`),__vite__mapDeps([38,1,2,3,4,39,6,7,8,9,40,41,42,43,44,45,46,19,30,31,32,47]))),"action-image-input":W(()=>y(()=>import(`./ConfigActionImageInput-Cr8faOB5.js`),__vite__mapDeps([48,1,2,3,4,30,31,8,32,33]))),"action-output":W(()=>y(()=>import(`./ConfigActionOutput-NPiNPB7G.js`),__vite__mapDeps([49,1,2,3,4,41,30,31,8,32]))),"action-camera-control":W(()=>y(()=>import(`./ConfigActionCameraControl-N-w9YidE.js`),__vite__mapDeps([50,1,2,3,4,5,6,7,8,9,10,51]))),"condition-ifelse":W(()=>y(()=>import(`./ConfigConditionIfElse-DjNPMKsc.js`),__vite__mapDeps([52,1,2,3,4,15,30,31,8,32,53,54,55,56,57,58,59,60]))),"condition-switch":W(()=>y(()=>import(`./ConfigConditionSwitch-Dfr-9vLZ.js`),__vite__mapDeps([61,1,2,3,4,15,30,31,8,53,54,55,56,57,58,59,60]))),"condition-sensorstate":W(()=>y(()=>import(`./ConfigConditionSensorState-CAAfaSvc.js`),__vite__mapDeps([62,1,2,3,4,41,5,6,7,8,9,10,27]))),"condition-time":W(()=>y(()=>import(`./ConfigConditionTime-Ce8AortY.js`),__vite__mapDeps([63,1,2,3,4,15])))},ft={class:`h-full overflow-y-auto flex flex-col`},pt={class:`flex items-center gap-2 px-4 py-3 border-bottom-color`},mt={class:`flex-1 min-w-0`},ht={class:`text-sm font-semibold truncate text-color`},gt={class:`text-xs text-muted`},_t={class:`flex-1 overflow-y-auto`},vt={class:`text-color font-normal text-sm`},yt={class:`flex flex-col field-gap`},bt={class:`text-color font-normal text-sm`},xt={class:`text-color font-normal text-sm`},St={class:`flex flex-col gap-3`},Ct={class:`flex flex-col field-gap`},wt={class:`cui-label`},Tt={key:0,class:`flex flex-col field-gap`},Et={class:`cui-label`},Dt={key:1,class:`flex flex-col field-gap`},Ot={class:`cui-label`},kt={class:`p-4 border-top-color`},At=F({__name:`CuiAutomationNodeConfig`,props:{node:{}},emits:[`close`,`update:data`,`delete`],setup(e,{emit:i}){let a=e,o=i,{t:s}=t(),c=M(()=>a.node.type?J(a.node.type):void 0),l=M(()=>a.node.type?.startsWith(`action-`)),f=M(()=>{if(a.node.type)return dt[a.node.type]}),p=M(()=>{let e=[`config`];return l.value&&a.node.data.alias&&e.push(`alias`),c.value?.supportsRepeat&&a.node.data.repeat>1&&e.push(`repeat`),e});function m(e){o(`update:data`,e)}return(t,i)=>{let a=de,o=r,h=ie,v=n,y=re,b=B,x=se,S=H,T=z;return L(),E(`div`,ft,[C(`div`,pt,[C(`div`,{class:`flex items-center justify-center w-8 h-8 rounded-md shrink-0`,style:_({backgroundColor:`${g(c)?.color}20`,color:g(c)?.color})},[(L(),w(d(g(c)?.icon),{class:`w-4 h-4`}))],4),C(`div`,mt,[C(`div`,ht,u(g(c)?g(s)(g(c).labelKey):e.node.type),1),C(`div`,gt,u(g(s)(`views.automation.node_config`)),1)]),I(o,{severity:`secondary`,text:``,rounded:``,class:`shrink-0 cui-icon-sm`,onClick:i[0]||=e=>t.$emit(`close`)},{icon:O(()=>[I(a,{width:`100%`,height:`100%`})]),_:1})]),C(`div`,_t,[I(T,{multiple:``,value:g(p),class:`w-[300px]`},{default:O(()=>[g(l)?(L(),w(x,{key:0,value:`alias`},{default:O(()=>[I(h,{class:`px-4 rounded-none!`},{default:O(()=>[C(`span`,vt,u(g(s)(`components.automation_nodes.alias`)),1)]),_:1}),I(b,{pt:{content:{class:`px-4 w-[300px]`}}},{default:O(()=>[C(`div`,yt,[I(v,{"model-value":e.node.data.alias??``,placeholder:g(s)(`components.automation_nodes.alias_placeholder`),"onUpdate:modelValue":i[1]||=e=>m({alias:e||void 0})},null,8,[`model-value`,`placeholder`]),I(y,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:O(()=>[P(u(g(s)(`components.automation_nodes.alias_hint`)),1)]),_:1})])]),_:1})]),_:1})):A(``,!0),g(f)?(L(),w(x,{key:1,value:`config`},{default:O(()=>[I(h,{class:`px-4 rounded-none!`},{default:O(()=>[C(`span`,bt,u(g(s)(`views.automation.node_config`)),1)]),_:1}),I(b,{pt:{content:{class:`px-4 w-[300px]`}}},{default:O(()=>[C(`div`,null,[(L(),w(d(g(f)),{data:e.node.data,"node-id":e.node.id,"onUpdate:data":m},null,40,[`data`,`node-id`]))])]),_:1})]),_:1})):A(``,!0),g(c)?.supportsRepeat?(L(),w(x,{key:2,value:`repeat`},{default:O(()=>[I(h,{class:`px-4 rounded-none!`},{default:O(()=>[C(`span`,xt,u(g(s)(`components.automation_nodes.repeat`)),1)]),_:1}),I(b,{pt:{content:{class:`px-4 w-[300px]`}}},{default:O(()=>[C(`div`,St,[C(`div`,Ct,[C(`label`,wt,u(g(s)(`components.automation_nodes.repeat_count`)),1),I(S,{"model-value":e.node.data.repeat??1,min:1,max:1e5,class:`w-full`,"onUpdate:modelValue":i[2]||=e=>m({repeat:e})},null,8,[`model-value`])]),e.node.data.repeat>1?(L(),E(`div`,Tt,[C(`label`,Et,u(g(s)(`components.automation_nodes.repeat_concurrency`)),1),I(S,{"model-value":e.node.data.repeatConcurrency??1,min:1,max:64,class:`w-full`,"onUpdate:modelValue":i[3]||=e=>m({repeatConcurrency:e})},null,8,[`model-value`]),I(y,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:O(()=>[P(u(g(s)(`components.automation_nodes.repeat_concurrency_hint`)),1)]),_:1})])):A(``,!0),e.node.data.repeat>1?(L(),E(`div`,Dt,[C(`label`,Ot,u(g(s)(`components.automation_nodes.repeat_delay`)),1),I(S,{"model-value":e.node.data.repeatDelayMs??0,min:0,max:6e4,suffix:` ms`,class:`w-full`,"onUpdate:modelValue":i[4]||=e=>m({repeatDelayMs:e})},null,8,[`model-value`])])):A(``,!0)])]),_:1})]),_:1})):A(``,!0)]),_:1},8,[`value`])]),C(`div`,kt,[I(o,{severity:`danger`,fluid:``,class:`w-full cui-button-medium`,label:g(s)(`views.automation.delete_node`),onClick:i[5]||=e=>t.$emit(`delete`)},null,8,[`label`])])])}}}),jt={key:0,class:`text-xs font-semibold text-muted uppercase tracking-wider mb-3`},Mt={class:`text-xs font-medium text-muted mb-2`},Nt={class:`flex flex-col gap-1.5`},Pt=[`draggable`,`onDragstart`,`onClick`],Ft={class:`flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5`},It={class:`flex-1 min-w-0`},Lt={class:`text-[13px] font-medium truncate text-color block leading-tight`},Rt={key:0,class:`text-[11px] text-muted block truncate mt-0.5 leading-tight`},zt=ce(F({__name:`CuiAutomationNodePalette`,props:m({mode:{}},K),emits:[`node-click`],setup(e){let{t:n}=t(),r=[{key:`trigger`,labelKey:`components.automation_nodes.category_triggers`,nodes:q(`trigger`)},{key:`condition`,labelKey:`components.automation_nodes.category_conditions`,nodes:q(`condition`)},{key:`utility`,labelKey:`components.automation_nodes.category_utilities`,nodes:q(`utility`)},{key:`action`,labelKey:`components.automation_nodes.category_actions`,nodes:q(`action`)}];function i(e,t){e.dataTransfer&&(e.dataTransfer.setData(`application/automationnode`,t),e.dataTransfer.effectAllowed=`move`)}return(t,a)=>(L(),E(`div`,{class:l([`overflow-y-auto p-3`,e.mode===`drag`?`h-full`:``])},[e.mode===`drag`?(L(),E(`div`,jt,u(g(n)(`views.automation.node_palette`)),1)):A(``,!0),(L(),E(k,null,v(r,r=>C(`div`,{key:r.key,class:`mb-4`},[C(`div`,Mt,u(g(n)(r.labelKey)),1),C(`div`,Nt,[(L(!0),E(k,null,v(r.nodes,r=>(L(),E(`div`,{key:r.type,class:l([`automation-palette-node`,e.mode===`drag`?`cursor-grab active:cursor-grabbing`:`cursor-pointer`]),draggable:e.mode===`drag`,onDragstart:t=>e.mode===`drag`?i(t,r.type):void 0,onClick:n=>e.mode===`click`?t.$emit(`node-click`,r.type):void 0},[C(`div`,{class:`automation-palette-node__accent`,style:_({backgroundColor:r.color})},null,4),C(`div`,Ft,[C(`div`,{class:`flex items-center justify-center w-8 h-8 rounded-lg shrink-0`,style:_({backgroundColor:`${r.color}15`,color:r.color})},[(L(),w(d(r.icon),{class:`w-4.5 h-4.5`}))],4),C(`div`,It,[C(`span`,Lt,u(g(n)(r.labelKey)),1),e.mode===`click`?(L(),E(`span`,Rt,u(g(n)(r.descriptionKey)),1)):A(``,!0)])])],42,Pt))),128))])])),64))],2))}}),[[`__scopeId`,`data-v-08caad7f`]]),Bt={class:`flex items-center gap-2 px-3 py-2 border-bottom-color card-background min-h-[48px]`},Vt=F({__name:`CuiAutomationToolbar`,props:{flow:{}},emits:[`update:name`,`toggle-enabled`,`toggle-suppress-duplicates`,`toggle-single-execution`],setup(e,{emit:i}){let a=e,o=i,{t:s}=t(),{smBreakpoint:c}=ue(),u=b(`menuRef`),d=M(()=>[{key:`suppressDuplicates`,label:s(`views.automation.suppress_duplicates`),description:s(`views.automation.suppress_duplicates_hint`),toggle:!0,toggleState:a.flow.suppressDuplicates,onClick:()=>o(`toggle-suppress-duplicates`)},{key:`singleExecution`,label:s(`views.automation.single_execution`),description:s(`views.automation.single_execution_hint`),toggle:!0,toggleState:a.flow.singleExecution,onClick:()=>o(`toggle-single-execution`)}]);return(t,i)=>{let a=ye,o=r,f=n,p=V,m=De,h=U;return L(),E(`div`,Bt,[g(c)?A(``,!0):(L(),w(o,{key:0,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:i[0]||=e=>t.$router.push(`/automations`)},{icon:O(()=>[I(a,{width:`100%`,height:`100%`})]),_:1})),I(f,{"model-value":e.flow.name,class:l([`font-medium text-sm min-w-0 flex-1`,{"max-w-[300px]":!g(c)}]),placeholder:g(s)(`views.automations.flow_name_placeholder`),"onUpdate:modelValue":i[1]||=e=>t.$emit(`update:name`,String(e??``))},null,8,[`model-value`,`class`,`placeholder`]),i[4]||=C(`div`,{class:`flex-1`},null,-1),I(p,{"model-value":e.flow.enabled,class:`shrink-0`,"onUpdate:modelValue":i[2]||=e=>t.$emit(`toggle-enabled`)},null,8,[`model-value`]),I(o,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:i[3]||=e=>g(u)?.toggleMenu(e)},{icon:O(()=>[I(m,{width:`100%`,height:`100%`})]),_:1}),I(h,{ref_key:`menuRef`,ref:u,items:g(d),"auto-hide":!1,popover:{pt:{root:{class:`w-[18rem]`},content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),Ht={class:`flex flex-col gap-4 w-full`},Ut={key:1,class:`text-sm text-muted`},Wt=F({__name:`CuiAutomationMobileNodeConfig`,props:{node:{}},setup(e,{expose:n}){let r=e,{t:i}=t(),a=he(),o=M(()=>{if(r.node.type)return dt[r.node.type]});function s(e){if(!a.draft)return;let t=a.draft.nodes.find(e=>e.id===r.node.id);t?.data&&Object.assign(t.data,e)}return n({onConfirm:async()=>{if(a.draft){let e=r.node.id;a.draft.nodes=a.draft.nodes.filter(t=>t.id!==e),a.draft.edges=a.draft.edges.filter(t=>t.source!==e&&t.target!==e)}}}),(t,n)=>(L(),E(`div`,Ht,[g(o)?(L(),w(d(g(o)),{key:0,data:e.node.data,"node-id":e.node.id,"onUpdate:data":s},null,40,[`data`,`node-id`])):(L(),E(`div`,Ut,u(g(i)(`views.automation.no_node_selected`)),1))]))}}),Gt={class:`h-full w-full relative overflow-hidden flex flex-col`},Kt={class:`flex flex-1 min-h-0`},qt={class:`relative w-6 h-6`},Jt={key:1,class:`flex flex-1 items-center justify-center`},Yt={key:2,class:`flex flex-1 items-center justify-center`},Xt={class:`text-muted`},Zt=F({__name:`Automation`,setup(e){let n=new ge,f=te(),p=ne(),{t:m}=t(),{smBreakpoint:h}=ue(),{bottombarHeight:v}=le(),y=pe(),x=a(),S=he(),T=b(`canvasRef`),N=D(!1),P=D(!1),F=D(!1),R=D(!1),z=M(()=>f.params.id),B=M(()=>z.value===`new`),{data:re,isBusy:V}=n.getAutomationQuery(z),{mutateAsync:ie}=n.createAutomationQuery(),{mutateAsync:H}=n.patchAutomationQuery(),{mutateAsync:se}=n.deleteAutomationQuery(),{mutateAsync:ce}=n.triggerAutomationQuery(),de=()=>{F.value=T.value?.canUndo??!1,R.value=T.value?.canRedo??!1},U=M({get:()=>S.draft,set:e=>{S.draft=e}}),W=()=>{U.value={_id:o(12),name:m(`views.automation.untitled`),enabled:!1,nodes:[],edges:[],suppressDuplicates:!1,singleExecution:!1,createdAt:Date.now(),updatedAt:Date.now()},S.selectedNodeId=null};s(z,e=>{S.activeFlowId=e===`new`?null:e??null,S.selectedNodeId=null,S.lastOutput=null,P.value=!1,e===`new`?W():U.value=null},{immediate:!0}),s(re,e=>{e&&!P.value&&(U.value=JSON.parse(JSON.stringify(e)))},{immediate:!0});let G=()=>{P.value=!0,de()},K=M(()=>{if(!(!U.value||!S.selectedNodeId))return U.value.nodes.find(e=>e.id===S.selectedNodeId)}),q=M(()=>{if(!(h.value||!K.value))return`calc(300px + 1.25rem + env(safe-area-inset-right, 0px))`}),xe=M(()=>[...U.value?.nodes.some(e=>e.type===`trigger-manual`)??!1?[{label:m(`views.automation.run`),icon:fe,buttonProps:{disabled:B.value||P.value},command:()=>ke()}]:[],{label:m(`views.automation.undo`),icon:Ge,buttonProps:{disabled:!F.value},command:()=>{T.value?.undo(),G()}},{label:m(`views.automation.redo`),icon:Ne,buttonProps:{disabled:!R.value},command:()=>{T.value?.redo(),G()}},{label:m(`views.automation.export_blueprint`),icon:ze,command:()=>je()},{label:m(`views.automation.clear`),icon:Ae,command:()=>Me()},{label:m(`views.automations.delete`),icon:He,buttonProps:{severity:`danger`},command:()=>Pe()}]),Se=()=>{Te(),G()},Ce=e=>{U.value&&(U.value.name=e,G())},we=(e,t)=>{if(!U.value)return;let n=U.value.nodes.find(t=>t.id===e);if(n&&n.data){if(!Object.entries(t).some(([e,t])=>n.data[e]!==t))return;Object.assign(n.data,t),T.value?.updateNodeData(e,{...n.data}),G()}},Y=()=>{if(!U.value)return{};let e=T.value?.getNodes?.()??U.value.nodes,t=T.value?.getEdges?.()??U.value.edges;return{name:U.value.name,enabled:U.value.enabled,suppressDuplicates:U.value.suppressDuplicates,singleExecution:U.value.singleExecution,nodes:e.map(e=>({id:e.id,type:e.type??``,position:e.position,data:e.data??{}})),edges:t.map(e=>({id:e.id,source:e.source,target:e.target,sourceHandle:e.sourceHandle??void 0,targetHandle:e.targetHandle??void 0}))}},X=async()=>{if(!U.value)return;let e=Y();try{if(B.value){let t=await ie({data:e});P.value=!1,p.replace(`/automations/${t._id}`)}else{let t=await H({id:U.value._id,data:e});if(P.value=!1,t?.nodes&&U.value)for(let e of t.nodes){let t=U.value.nodes.find(t=>t.id===e.id);t?.data&&e.data&&Object.assign(t.data,e.data)}x.add({severity:`success`,detail:m(`views.automation.saved`),life:3e3})}}catch{x.add({severity:`error`,detail:m(`views.automation.save_failed`),life:3e3})}},Te=()=>{if(!U.value)return;let e=T.value?.getNodes(),t=T.value?.getEdges();e&&(U.value.nodes=e),t&&(U.value.edges=t)},Ee=e=>{if(S.selectedNodeId=e,h.value&&e){Te();let t=U.value?.nodes.find(t=>t.id===e);if(!t)return;let n=t.type?J(t.type):void 0,r=n?m(n.labelKey):`Node`,i=t.id;y.openComponentDialog(Wt,{data:{title:r,confirmText:m(`views.automation.delete_node`),confirmButtonProps:{severity:`danger`},contentProps:{node:{id:t.id,type:t.type,data:t.data}}},onSettled:()=>{U.value?.nodes.some(e=>e.id===i)||(T.value?.removeNode(i),G())}})}},De=e=>{N.value=!1,T.value?.addNodeAtCenter(e),G()},Oe=()=>{S.selectedNodeId&&(T.value?.removeNode(S.selectedNodeId),U.value&&(U.value.nodes=U.value.nodes.filter(e=>e.id!==S.selectedNodeId),U.value.edges=U.value.edges.filter(e=>e.source!==S.selectedNodeId&&e.target!==S.selectedNodeId)),S.selectedNodeId=null,S.lastOutput=null,G())},ke=async()=>{if(!(!U.value||B.value))try{S.lastOutput=null;let e=await ce({id:U.value._id});e?.output&&Object.keys(e.output).length>0&&(S.lastOutput=e.output),x.add({severity:`success`,detail:m(`views.automation.triggered`),life:3e3})}catch{x.add({severity:`error`,detail:m(`views.automation.trigger_failed`),life:3e3})}},je=()=>{if(!U.value)return;X();let e={version:1,name:U.value.name,nodes:ve(U.value.nodes),edges:U.value.edges},t=JSON.stringify(e,null,2),n=new Blob([t],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`${U.value.name.replace(/\s+/g,`_`).toLowerCase()}.blueprint.json`,i.click(),URL.revokeObjectURL(r)},Me=()=>{y.openTextDialog({data:{title:m(`views.automation.clear`),contentText:m(`views.automation.clear_confirm`),confirmText:m(`views.automation.clear`)},onConfirm:async()=>{T.value?.clearAll(),U.value&&(U.value.nodes=[],U.value.edges=[]),S.selectedNodeId=null,G()}})},Pe=()=>{if(!U.value)return;let e=U.value._id;y.openTextDialog({data:{title:m(`views.automations.delete`),contentText:m(`views.automations.delete_confirm`),confirmText:m(`views.automations.delete`)},onConfirm:async()=>{await se({id:e}),p.push(`/automations`)}})},Fe=()=>{P.value?y.openTextDialog({data:{title:m(`views.automation.unsaved_title`),contentText:m(`views.automation.unsaved_message`),confirmText:m(`views.automation.discard`)},onConfirm:async()=>{p.push(`/automations`)}}):p.push(`/automations`)};return(e,t)=>{let n=ye,a=r,o=me,s=oe,f=_e,p=i,y=ae;return L(),E(`div`,Gt,[I(o,{position:`left`},{default:O(()=>[I(a,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:Fe},{icon:O(()=>[I(n,{class:`w-6 h-6`})]),_:1})]),_:1}),g(U)?(L(),E(k,{key:0},[I(Vt,{flow:g(U),"onUpdate:name":Ce,onToggleEnabled:t[0]||=e=>{g(U).enabled=!g(U).enabled,G()},onToggleSuppressDuplicates:t[1]||=e=>{g(U).suppressDuplicates=!g(U).suppressDuplicates,G()},onToggleSingleExecution:t[2]||=e=>{g(U).singleExecution=!g(U).singleExecution,G()}},null,8,[`flow`]),C(`div`,Kt,[g(h)?A(``,!0):(L(),w(zt,{key:0,class:`w-[240px] shrink-0`})),I(ut,{ref_key:`canvasRef`,ref:T,flow:g(U),mobile:g(h),class:`flex-1 min-w-0`,onNodeSelect:Ee,onChange:Se},null,8,[`flow`,`mobile`]),g(h)?A(``,!0):(L(),E(`div`,{key:1,class:`shrink-0 overflow-hidden transition-[width] duration-200 ease-in-out`,style:_({width:g(K)?`300px`:`0px`})},[g(K)?(L(),w(At,{key:0,node:g(K),class:`w-[300px]`,onClose:t[3]||=e=>g(S).selectedNodeId=null,"onUpdate:data":t[4]||=e=>we(g(S).selectedNodeId,e),onDelete:Oe},null,8,[`node`])):A(``,!0)],4))]),I(s,{model:g(xe),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},style:_({position:`fixed`,zIndex:15,bottom:`calc(${g(v)}px + ${g(P)?`4.25rem`:`1.25rem`} + env(safe-area-inset-bottom, 0px))`,right:g(q)||`calc(1.25rem + env(safe-area-inset-right, 0px))`,transition:`right 0.2s ease-in-out, bottom 0.2s ease-in-out`}),pt:{root:{style:`pointer-events: none`}}},{button:O(({visible:e,toggleCallback:t})=>[I(a,{rounded:``,severity:`secondary`,class:`pointer-events-auto`,onClick:t},{icon:O(()=>[C(`div`,qt,[C(`div`,{class:l([`absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),C(`div`,{class:l([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full transition-all duration-100`,{"opacity-0 scale-0":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),C(`div`,{class:l([`absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2)])]),_:2},1032,[`onClick`])]),item:O(({item:e,toggleCallback:t})=>[j((L(),w(a,c({severity:`secondary`},e.buttonProps,{rounded:``,class:`pointer-events-auto`,onClick:t}),{icon:O(()=>[(L(),w(d(e.icon)))]),_:2},1040,[`onClick`])),[[y,{value:e.label}]])]),_:1},8,[`model`,`style`]),g(h)?j((L(),w(a,{key:0,rounded:``,class:`pointer-events-auto text-white`,style:_({position:`fixed`,zIndex:15,bottom:`calc(${g(v)}px + 1.25rem + env(safe-area-inset-bottom, 0px))`,right:`calc(4.75rem + env(safe-area-inset-right, 0px))`}),onClick:t[5]||=e=>N.value=!0},{icon:O(()=>[I(g(be),{class:`w-5 h-5`})]),_:1},8,[`style`])),[[y,{value:g(m)(`views.automation.add_step`)}]]):A(``,!0),g(P)?j((L(),w(a,{key:1,rounded:``,severity:`success`,class:`pointer-events-auto text-white`,style:_({position:`fixed`,zIndex:15,bottom:`calc(${g(v)}px + 1.25rem + env(safe-area-inset-bottom, 0px))`,right:g(q)||`calc(1.25rem + env(safe-area-inset-right, 0px))`,transition:`right 0.2s ease-in-out`}),onClick:X},{icon:O(()=>[I(g(Ie),{class:`w-5 h-5`})]),_:1},8,[`style`])),[[y,{value:g(m)(`views.automation.save`)}]]):A(``,!0),I(f,{modelValue:g(N),"onUpdate:modelValue":t[6]||=e=>ee(N)?N.value=e:null,title:g(m)(`views.automation.add_step`),"max-height":`70vh`},{default:O(()=>[I(zt,{mode:`click`,onNodeClick:De})]),_:1},8,[`modelValue`,`title`])],64)):g(V)?(L(),E(`div`,Jt,[I(p,{class:`!w-8 !h-8`,"stroke-width":`5`})])):(L(),E(`div`,Yt,[C(`span`,Xt,u(g(m)(`views.automations.no_automations`)),1)]))])}}});export{Zt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Sr as e,dn as t,mn as n,un as r,xn as i,yn as a,zn as o}from"./vendor-ClrOISZp.js";import{O as s,i as c}from"./vendor-primevue-DB14kOh6.js";import{n as l,t as u}from"./VariableInput-fT57kg7f.js";import{t as d}from"./automations-Dd-6vvka.js";import{t as f}from"./VariableSuggestions-DwhFBKzJ.js";var p={class:`flex flex-col gap-4`},m={class:`flex flex-col field-gap`},h={class:`flex flex-col field-gap`},g={class:`flex flex-col field-gap`},_=i({__name:`ConfigActionHttp`,props:{data:{},nodeId:{}},emits:[`update:data`],setup(i,{emit:_}){let v=i,y=_,b=d(),x=[`GET`,`POST`,`PUT`,`DELETE`,`PATCH`],S=r(()=>l(b.draft,v.nodeId));function C(e){let t=v.data.body??``;y(`update:data`,{body:t+e})}function w(e,t){y(`update:data`,{[e]:t})}return(r,l)=>{let d=s,_=c;return o(),n(`div`,p,[t(`div`,m,[l[4]||=t(`label`,{class:`cui-label`},`URL`,-1),a(u,{"model-value":i.data.url,"node-id":i.nodeId,placeholder:`https://example.com/webhook`,"onUpdate:modelValue":l[0]||=e=>w(`url`,e)},null,8,[`model-value`,`node-id`])]),t(`div`,h,[l[5]||=t(`label`,{class:`cui-label`},`Method`,-1),a(d,{"model-value":i.data.method,options:x,class:`w-full`,"onUpdate:modelValue":l[1]||=e=>w(`method`,e)},null,8,[`model-value`])]),t(`div`,g,[l[6]||=t(`label`,{class:`cui-label`},`Body`,-1),a(_,{"model-value":i.data.body,placeholder:`{"key": "value"}`,rows:`4`,class:`w-full font-mono text-xs`,"onUpdate:modelValue":l[2]||=e=>w(`body`,e)},null,8,[`model-value`]),a(f,{variables:e(S),onSelect:l[3]||=e=>C(e)},null,8,[`variables`])])])}}});export{_ as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ir as e,O as t,_n as n}from"./vendor-cameraui-DDdtrYBn.js";import{Er as r,Sr as i,Zn as a,dn as o,fn as s,mn as c,nr as l,pn as u,rr as d,un as f,vn as p,xn as m,yn as h,zn as g}from"./vendor-ClrOISZp.js";import{F as _,O as v,W as y,h as b,z as x}from"./vendor-primevue-DB14kOh6.js";import{n as S,t as C}from"./VariableInput-fT57kg7f.js";import{t as w}from"./automations-Dd-6vvka.js";import{t as T}from"./VariableSuggestions-DwhFBKzJ.js";import{t as E}from"./upload-DAasFa9r.js";var D={class:`flex flex-col gap-4`},O={class:`flex flex-col field-gap`},k={class:`cui-label`},A={class:`flex gap-2`},j={key:0,class:`rounded-lg overflow-hidden border-[1px] border-color bg-black`},M=[`src`],N={class:`flex flex-col field-gap`},P={class:`cui-label`},F={class:`flex flex-col field-gap`},I={class:`cui-label`},L={class:`flex flex-col field-gap`},R={class:`cui-label`},z={class:`flex flex-col field-gap`},B={class:`cui-label`},V=m({__name:`ConfigActionImageInput`,props:{data:{},nodeId:{}},emits:[`update:data`],setup(m,{emit:V}){let H=m,U=V,{t:W}=e(),G=w(),K=[{label:`JPEG`,value:`jpeg`},{label:`Raw RGB`,value:`raw-rgb`},{label:`Raw RGBA`,value:`raw-rgba`},{label:`Raw Grayscale`,value:`raw-gray`}],q=a(`fileInput`),J=f(()=>S(G.draft,H.nodeId)),Y=f(()=>{let e=H.data.source;if(e){if(e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`data:`))return e;if(e.length>100&&!e.startsWith(`{{`))return`data:image/jpeg;base64,${e}`}});function X(){q.value?.click()}function Z(e){let t=e.target.files?.[0];if(!t)return;let n=new FileReader;n.onload=()=>{let e=n.result.split(`,`)[1];e&&U(`update:data`,{source:e})},n.readAsDataURL(t)}function Q(e,t){U(`update:data`,{[e]:t})}return(e,a)=>{let f=E,S=n,w=_,V=t,H=x,U=b,G=v,$=y;return g(),c(`div`,D,[o(`div`,O,[o(`label`,k,r(i(W)(`components.automation_nodes.image_source`)),1),o(`div`,A,[h(C,{"model-value":m.data.source,"node-id":m.nodeId,placeholder:i(W)(`components.automation_nodes.image_source_placeholder`),class:`flex-1`,"onUpdate:modelValue":a[0]||=e=>Q(`source`,e)},null,8,[`model-value`,`node-id`,`placeholder`]),d((g(),s(S,{severity:`secondary`,outlined:``,class:`shrink-0 h-[42px] w-[42px] p-0`,onClick:X},{icon:l(()=>[h(f,{class:`w-4 h-4`})]),_:1})),[[$,i(W)(`components.automation_nodes.image_upload`),void 0,{top:!0}]]),o(`input`,{ref_key:`fileInput`,ref:q,type:`file`,accept:`image/*`,class:`hidden`,onChange:Z},null,544)]),h(T,{variables:i(J),onSelect:a[1]||=e=>Q(`source`,(m.data.source??``)+e)},null,8,[`variables`]),h(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:l(()=>[p(r(i(W)(`components.automation_nodes.image_source_hint`)),1)]),_:1})]),i(Y)?(g(),c(`div`,j,[o(`img`,{src:i(Y),class:`w-full max-h-32 object-cover`},null,8,M)])):u(``,!0),o(`div`,N,[o(`label`,P,r(i(W)(`components.automation_nodes.variable_name`)),1),h(V,{"model-value":m.data.variableName,placeholder:`image`,"onUpdate:modelValue":a[2]||=e=>Q(`variableName`,e)},null,8,[`model-value`]),h(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:l(()=>[p(r(i(W)(`components.automation_nodes.image_variable_hint`)),1)]),_:1})]),h(H),o(`div`,F,[o(`label`,I,r(i(W)(`components.automation_nodes.image_width`)),1),h(U,{"model-value":m.data.resizeWidth??0,min:0,max:7680,class:`w-full`,"onUpdate:modelValue":a[3]||=e=>Q(`resizeWidth`,e)},null,8,[`model-value`])]),o(`div`,L,[o(`label`,R,r(i(W)(`components.automation_nodes.image_height`)),1),h(U,{"model-value":m.data.resizeHeight??0,min:0,max:4320,class:`w-full`,"onUpdate:modelValue":a[4]||=e=>Q(`resizeHeight`,e)},null,8,[`model-value`])]),h(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:l(()=>[p(r(i(W)(`components.automation_nodes.image_resize_hint`)),1)]),_:1}),o(`div`,z,[o(`label`,B,r(i(W)(`components.automation_nodes.image_output_format`)),1),h(G,{"model-value":m.data.outputFormat??`jpeg`,options:K,"option-label":`label`,"option-value":`value`,class:`w-full`,"onUpdate:modelValue":a[5]||=e=>Q(`outputFormat`,e)},null,8,[`model-value`])])])}}});export{V as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ir as e}from"./vendor-cameraui-DDdtrYBn.js";import{Er as t,Sr as n,dn as r,mn as i,nr as a,un as o,vn as s,xn as c,yn as l,zn as u}from"./vendor-ClrOISZp.js";import{F as d,H as f,i as p}from"./vendor-primevue-DB14kOh6.js";import{n as m,t as h}from"./VariableInput-fT57kg7f.js";import{t as g}from"./automations-Dd-6vvka.js";import{t as _}from"./VariableSuggestions-DwhFBKzJ.js";var v={class:`flex flex-col gap-4`},y={class:`flex flex-col field-gap`},b={class:`cui-label`},x={class:`flex flex-col field-gap`},S={class:`cui-label`},C={class:`flex items-center gap-4 cui-toggle-switch`},w={class:`flex flex-col field-switch-gap`},T={class:`cui-label-switch`},E=c({__name:`ConfigActionMqtt`,props:{data:{},nodeId:{}},emits:[`update:data`],setup(c,{emit:E}){let D=c,O=E,{t:k}=e(),A=g(),j=o(()=>m(A.draft,D.nodeId));function M(e){let t=D.data.payload??``;O(`update:data`,{payload:t+e})}function N(e,t){O(`update:data`,{[e]:t})}return(e,o)=>{let m=p,g=d,E=f;return u(),i(`div`,v,[r(`div`,y,[r(`label`,b,t(n(k)(`components.automation_nodes.mqtt_topic`)),1),l(h,{"model-value":c.data.topic,"node-id":c.nodeId,placeholder:`home/notify/doorbell`,"onUpdate:modelValue":o[0]||=e=>N(`topic`,e)},null,8,[`model-value`,`node-id`])]),r(`div`,x,[r(`label`,S,t(n(k)(`components.automation_nodes.mqtt_payload`)),1),l(m,{"model-value":c.data.payload,placeholder:`{"event": "{{event.label}}"}`,rows:`4`,class:`w-full font-mono text-xs`,"onUpdate:modelValue":o[1]||=e=>N(`payload`,e)},null,8,[`model-value`]),l(_,{variables:n(j),onSelect:o[2]||=e=>M(e)},null,8,[`variables`])]),r(`div`,C,[r(`div`,w,[r(`label`,T,t(n(k)(`components.automation_nodes.mqtt_retain`)),1),l(g,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:a(()=>[s(t(n(k)(`components.automation_nodes.mqtt_retain_hint`)),1)]),_:1})]),l(E,{"model-value":c.data.retain,class:`ml-auto shrink-0`,"onUpdate:modelValue":o[3]||=e=>N(`retain`,e)},null,8,[`model-value`])])])}}});export{E as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as e,_n as t}from"./vendor-cameraui-DDdtrYBn.js";import{Sr as n,Zn as r,dn as i,fn as a,mn as o,nr as s,pn as c,rr as l,un as u,vn as d,xn as f,yn as p,zn as m}from"./vendor-ClrOISZp.js";import{F as h,O as g,W as _,i as v,l as y}from"./vendor-primevue-DB14kOh6.js";import{t as b}from"./notifications-CeVyOoSN.js";import{n as x,t as S}from"./VariableInput-fT57kg7f.js";import{t as C}from"./automations-Dd-6vvka.js";import{t as w}from"./VariableSuggestions-DwhFBKzJ.js";import{t as T}from"./upload-DAasFa9r.js";var E={class:`flex flex-col gap-4`},D={class:`flex flex-col field-gap`},O={class:`flex flex-col field-gap`},k={class:`flex flex-col field-gap`},A={class:`flex flex-col field-gap`},j={class:`flex gap-2`},M={key:0,class:`rounded-lg overflow-hidden border-[1px] border-color bg-black`},N=[`src`],P={class:`flex flex-col field-gap`},F={class:`flex flex-col field-gap`},I=f({__name:`ConfigActionNotification`,props:{data:{},nodeId:{}},emits:[`update:data`],setup(f,{emit:I}){let L=new b,R=f,z=I,B=C(),{data:V,isLoading:H}=L.listDevicesQuery(),U=[{label:`Info`,value:`info`},{label:`Warning`,value:`warn`},{label:`Error`,value:`error`},{label:`Critical (DND-bypass)`,value:`critical`}],W=r(`fileInput`),G=u(()=>(V.value??[]).map(e=>({id:e.id,label:e.name}))),K=u(()=>{let e=B.draft;return x(e,R.nodeId)}),q=u(()=>{let e=R.data.image;if(e){if(e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`data:`))return e;if(e.length>100&&!e.startsWith(`{{`))return`data:image/jpeg;base64,${e}`}});function J(e,t){let n=R.data[e]??``;z(`update:data`,{[e]:n+t})}function Y(e,t){z(`update:data`,{[e]:t})}function X(){W.value?.click()}function Z(e){let t=e.target.files?.[0];if(!t)return;let n=new FileReader;n.onload=()=>{let e=n.result.split(`,`)[1];e&&z(`update:data`,{image:e})},n.readAsDataURL(t)}return(r,u)=>{let b=e,x=v,C=g,I=T,L=t,R=h,z=y,B=_;return m(),o(`div`,E,[i(`div`,D,[u[10]||=i(`label`,{class:`cui-label`},`Title`,-1),p(b,{"model-value":f.data.title,placeholder:`Notification title`,"onUpdate:modelValue":u[0]||=e=>Y(`title`,e)},null,8,[`model-value`]),p(w,{variables:n(K),onSelect:u[1]||=e=>J(`title`,e)},null,8,[`variables`])]),i(`div`,O,[u[11]||=i(`label`,{class:`cui-label`},`Body`,-1),p(x,{"model-value":f.data.body,placeholder:`Notification body`,rows:`3`,class:`w-full`,"onUpdate:modelValue":u[2]||=e=>Y(`body`,e)},null,8,[`model-value`]),p(w,{variables:n(K),onSelect:u[3]||=e=>J(`body`,e)},null,8,[`variables`])]),i(`div`,k,[u[12]||=i(`label`,{class:`cui-label`},`Severity`,-1),p(C,{"model-value":f.data.severity??`info`,options:U,"option-label":`label`,"option-value":`value`,class:`w-full`,"onUpdate:modelValue":u[4]||=e=>Y(`severity`,e)},null,8,[`model-value`])]),i(`div`,A,[u[14]||=i(`label`,{class:`cui-label`},`Image`,-1),i(`div`,j,[p(S,{"model-value":f.data.image??``,"node-id":f.nodeId,placeholder:`{{snapshot}} or https://…`,class:`flex-1`,"onUpdate:modelValue":u[5]||=e=>Y(`image`,e)},null,8,[`model-value`,`node-id`]),l((m(),a(L,{severity:`secondary`,outlined:``,class:`shrink-0 h-[42px] w-[42px] p-0`,onClick:X},{icon:s(()=>[p(I,{class:`w-4 h-4`})]),_:1})),[[B,`Upload image`,void 0,{top:!0}]]),i(`input`,{ref_key:`fileInput`,ref:W,type:`file`,accept:`image/*`,class:`hidden`,onChange:Z},null,544)]),p(w,{variables:n(K),onSelect:u[6]||=e=>Y(`image`,(f.data.image??``)+e)},null,8,[`variables`]),p(R,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:s(()=>[...u[13]||=[d(`Reference an upstream image variable, paste a URL or upload directly. Leave empty for text-only.`,-1)]]),_:1}),n(q)?(m(),o(`div`,M,[i(`img`,{src:n(q),class:`w-full max-h-32 object-cover`},null,8,N)])):c(``,!0)]),i(`div`,P,[u[15]||=i(`label`,{class:`cui-label`},`Deep link`,-1),p(b,{"model-value":f.data.deepLink,placeholder:`/cameras/cam-1`,"onUpdate:modelValue":u[7]||=e=>Y(`deepLink`,e)},null,8,[`model-value`]),p(w,{variables:n(K),onSelect:u[8]||=e=>J(`deepLink`,e)},null,8,[`variables`])]),i(`div`,F,[u[16]||=i(`label`,{class:`cui-label`},`Targets`,-1),u[17]||=i(`span`,{class:`text-xs text-muted-color`},`Pick which devices receive this notification. Leave empty to send to all registered devices.`,-1),p(z,{"model-value":f.data.targets??[],options:n(G),"option-label":`label`,"option-value":`id`,loading:n(H),placeholder:`All devices`,display:`chip`,filter:``,class:`w-full`,"onUpdate:modelValue":u[9]||=e=>Y(`targets`,e)},null,8,[`model-value`,`options`,`loading`])])])}}});export{I as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ir as e,O as t,_n as n}from"./vendor-cameraui-DDdtrYBn.js";import{Er as r,Sr as i,Vn as a,dn as o,fn as s,mn as c,nr as l,on as u,pn as d,un as f,vn as p,xn as m,yn as h,zn as g}from"./vendor-ClrOISZp.js";import{F as _,z as v}from"./vendor-primevue-DB14kOh6.js";import{t as y}from"./close-BTPBtoEq.js";import{n as b,t as x}from"./VariableInput-fT57kg7f.js";import{t as S}from"./automations-Dd-6vvka.js";import{t as C}from"./VariableSuggestions-DwhFBKzJ.js";var w={class:`flex flex-col gap-4`},T={class:`flex items-center justify-between`},E={class:`text-xs font-medium text-muted`},D={class:`flex flex-col field-gap`},O={class:`cui-label`},k={class:`flex flex-col field-gap`},A={class:`cui-label`},j=m({__name:`ConfigActionOutput`,props:{data:{},nodeId:{}},emits:[`update:data`],setup(m,{emit:j}){let M=m,N=j,{t:P}=e(),F=S(),I=f(()=>b(F.draft,M.nodeId));function L(){N(`update:data`,{variables:[...M.data.variables,{label:``,value:``}]})}function R(e){let t=M.data.variables.filter((t,n)=>n!==e);N(`update:data`,{variables:t})}function z(e,t,n){let r=M.data.variables.map((r,i)=>i===e?{...r,[t]:n}:r);N(`update:data`,{variables:r})}return(e,f)=>{let b=y,S=n,j=t,M=v,N=_;return g(),c(`div`,w,[(g(!0),c(u,null,a(m.data.variables,(e,t)=>(g(),c(`div`,{key:t,class:`flex flex-col gap-2`},[o(`div`,T,[o(`span`,E,r(i(P)(`components.automation_nodes.variable`))+` #`+r(t+1),1),h(S,{severity:`danger`,text:``,rounded:``,class:`cui-icon-sm`,onClick:e=>R(t)},{icon:l(()=>[h(b,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])]),o(`div`,D,[o(`label`,O,r(i(P)(`components.automation_nodes.output_label`)),1),h(j,{"model-value":e.label,placeholder:i(P)(`components.automation_nodes.output_label_placeholder`),"onUpdate:modelValue":e=>z(t,`label`,String(e??``))},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),o(`div`,k,[o(`label`,A,r(i(P)(`components.automation_nodes.condition_value`)),1),h(x,{"model-value":e.value,"node-id":m.nodeId,placeholder:`{{plugin.result}}`,"onUpdate:modelValue":e=>z(t,`value`,String(e??``))},null,8,[`model-value`,`node-id`,`onUpdate:modelValue`]),h(C,{variables:i(I),onSelect:n=>z(t,`value`,(e.value??``)+n)},null,8,[`variables`,`onSelect`])]),t<m.data.variables.length-1?(g(),s(M,{key:0})):d(``,!0)]))),128)),h(S,{severity:`secondary`,outlined:``,class:`cui-button-small`,label:i(P)(`components.automation_nodes.output_add`),onClick:L},null,8,[`label`]),h(N,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:l(()=>[p(r(i(P)(`components.automation_nodes.output_hint`)),1)]),_:1})])}}});export{j as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ir as e,gt as t}from"./vendor-cameraui-DDdtrYBn.js";import{$n as n,Er as r,Sr as i,Vn as a,_r as o,dn as s,mn as c,mr as l,on as u,pn as d,un as f,xn as p,yn as m,zn as h}from"./vendor-ClrOISZp.js";import{O as g,z as _}from"./vendor-primevue-DB14kOh6.js";import{t as v}from"./CuiSchema-sipNW_5x.js";import{t as y}from"./plugins-DmYBke-a.js";import{n as ee,t as b}from"./VariableInput-fT57kg7f.js";import{t as x}from"./automations-Dd-6vvka.js";import{t as S}from"./VariableSuggestions-DwhFBKzJ.js";import{t as C}from"./automations-BnCx_cHm.js";var w={class:`flex flex-col gap-4`},te={class:`flex flex-col field-gap`},T={class:`cui-label`},E={class:`flex flex-col field-gap`},D={class:`cui-label`},O={class:`flex flex-col field-gap`},k={class:`cui-label`},A={class:`cui-label`},j={class:`flex flex-col gap-3`},M={class:`text-xs font-semibold text-muted uppercase`},N=p({__name:`ConfigActionPlugin`,props:{data:{},nodeId:{}},emits:[`update:data`],setup(p,{emit:N}){let P=new y,F=new C,I=p,L=N,{t:R}=e(),{plugin:z}=t(f(()=>I.data.pluginName)),B=x(),{data:V,isBusy:H}=P.getPluginsQuery({page:1,pageSize:-1}),{data:U}=F.getPluginMethodsQuery(),W=o(),G=l(!1),K=f(()=>ee(B.draft,I.nodeId)),q=f(()=>V.value?.result?V.value.result.filter(e=>e.contract?.interfaces?.length).map(e=>({label:e.pluginName,value:e.pluginName})):[]),J=f(()=>{if(!(!I.data.pluginName||!V.value?.result))return V.value.result.find(e=>e.pluginName===I.data.pluginName)}),Y=f(()=>(J.value?.contract?.interfaces??[]).filter(e=>Q(e).length>0).map(e=>({label:e.replace(/([A-Z])/g,` $1`).trim(),value:e}))),X=f(()=>I.data.pluginInterface?Q(I.data.pluginInterface).map(e=>({label:R(e.labelKey),value:e.id})):[]),Z=f(()=>{if(!(!I.data.pluginInterface||!I.data.method))return Q(I.data.pluginInterface).find(e=>e.id===I.data.method)});function Q(e){return U.value?.[e]??[]}async function ne(){let e=Z.value?.settingsMethod;if(!e||!z.value){W.value=void 0;return}G.value=!0;try{let t=z.value[e];W.value=t?await t():void 0}catch{W.value=void 0}finally{G.value=!1}}function re(e){L(`update:data`,{pluginName:e,pluginInterface:``,method:``,params:{},config:{}})}function ie(e){L(`update:data`,{pluginInterface:e,method:``,params:{},config:{}})}function ae(e){L(`update:data`,{method:e,params:{},config:{}})}function $(e,t){L(`update:data`,{params:{...I.data.params,[e]:t}})}function oe(e){L(`update:data`,{config:{...I.data.config,...e}})}return n([Z,z],()=>ne(),{immediate:!0}),(e,t)=>{let n=g,o=_,l=v;return h(),c(`div`,w,[s(`div`,te,[s(`label`,T,r(i(R)(`components.automation_nodes.plugin_name`)),1),m(n,{"model-value":p.data.pluginName,options:i(q),"option-label":`label`,"option-value":`value`,placeholder:i(R)(`components.automation_nodes.plugin_name_placeholder`),class:`w-full`,loading:i(H),"onUpdate:modelValue":re},null,8,[`model-value`,`options`,`placeholder`,`loading`])]),s(`div`,E,[s(`label`,D,r(i(R)(`components.automation_nodes.plugin_interface`)),1),m(n,{"model-value":p.data.pluginInterface,options:i(Y),"option-label":`label`,"option-value":`value`,placeholder:i(R)(`components.automation_nodes.plugin_interface_placeholder`),class:`w-full`,disabled:!p.data.pluginName,"onUpdate:modelValue":ie},null,8,[`model-value`,`options`,`placeholder`,`disabled`])]),s(`div`,O,[s(`label`,k,r(i(R)(`components.automation_nodes.plugin_method`)),1),m(n,{"model-value":p.data.method,options:i(X),"option-label":`label`,"option-value":`value`,placeholder:i(R)(`components.automation_nodes.plugin_method_placeholder`),class:`w-full`,disabled:!p.data.pluginInterface,"onUpdate:modelValue":ae},null,8,[`model-value`,`options`,`placeholder`,`disabled`])]),i(Z)?(h(!0),c(u,{key:0},a(i(Z).params,e=>(h(),c(`div`,{key:e.name,class:`flex flex-col field-gap`},[s(`label`,A,r(i(R)(e.labelKey)),1),m(b,{"model-value":p.data.params[e.name]??``,"node-id":p.nodeId,placeholder:e.placeholder,"onUpdate:modelValue":t=>$(e.name,String(t??``))},null,8,[`model-value`,`node-id`,`placeholder`,`onUpdate:modelValue`]),m(S,{variables:i(K),onSelect:t=>$(e.name,(p.data.params[e.name]??``)+t)},null,8,[`variables`,`onSelect`])]))),128)):d(``,!0),i(Z)?.settingsMethod&&i(W)?.length?(h(),c(u,{key:1},[m(o),s(`div`,j,[s(`span`,M,r(i(R)(`components.automation_nodes.plugin_settings`)),1),m(l,{"schema-form":{schema:i(W),config:p.data.config??{}},loading:i(G),"save-button-label":i(R)(`components.automation_nodes.plugin_apply_settings`),"show-button":``,onOnFormSubmit:oe},null,8,[`schema-form`,`loading`,`save-button-label`])])],64)):d(``,!0)])}}});export{N as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ir as e,nn as t,tn as n}from"./vendor-cameraui-DDdtrYBn.js";import{K as r}from"./api-BxUTlh4_.js";import{Er as i,Sr as a,Vn as o,dn as s,fn as c,mn as l,on as u,pn as d,un as f,xn as p,yn as m,zn as h}from"./vendor-ClrOISZp.js";import{O as g,b as _}from"./vendor-primevue-DB14kOh6.js";import{t as v}from"./useCameraOptions-DBsYZ6gv.js";import{n as y,r as b,t as x}from"./ConfigSensorValueInput-MZiAptuc.js";var S={class:`flex flex-col gap-4`},C={class:`flex flex-col field-gap`},w={class:`flex flex-col field-gap`},T={class:`cui-label`},E={key:0,class:`flex flex-col field-gap`},D={class:`cui-label`},O={key:1,class:`flex flex-col gap-3`},k={class:`cui-label`},A={class:`flex items-center gap-2`},j={class:`text-sm font-medium flex-1`},M=p({__name:`ConfigActionSensor`,props:{data:{}},emits:[`update:data`],setup(p,{emit:M}){let N=p,P=M,{t:F}=e(),{cameraOptions:I,getSensorTypes:L,useSensorInstances:R,getPropertiesForSensor:z}=v(),B=f(()=>N.data.cameraId?L(N.data.cameraId).filter(e=>e.meta.category===n.Control||e.meta.category===n.Trigger||e.hasVirtual&&!e.meta.isDetectionType).map(e=>({label:F(`components.camera_options.sensor_type_${e.value}`),value:e.value})):[]),{instanceOptions:V,isLoading:H}=R(f(()=>N.data.cameraId||void 0),f(()=>N.data.sensorType||t.Light)),U=f(()=>!N.data.sensorName||!N.data.sensorPluginId?``:`${N.data.sensorName}::${N.data.sensorPluginId}`),W=f(()=>{let e=N.data.sensorType?r[N.data.sensorType]?.category:void 0;return V.value.filter(t=>e===n.Control||e===n.Trigger||t.pluginId===`cameraui.virtual`).map(e=>({label:e.label,value:`${e.sensorName}::${e.pluginId}`}))}),G=f(()=>N.data.sensorType?z(N.data.sensorType):[]),K=f(()=>{let e=new Map;for(let t of N.data.properties??[])e.set(t.property,t.value);return e});function q(e){return K.value.has(e)}function J(e){return b(String(N.data.sensorType??``),e).kind===`boolean`}function Y(e){return K.value.get(e)??``}function X(e,t){let n=[...N.data.properties??[]];if(t)n.some(t=>t.property===e)||n.push({property:e,value:y(String(N.data.sensorType??``),e)});else{let t=n.findIndex(t=>t.property===e);t>=0&&n.splice(t,1)}P(`update:data`,{properties:n})}function Z(e,t){let n=[...N.data.properties??[]],r=n.find(t=>t.property===e);r?r.value=t:n.push({property:e,value:t}),P(`update:data`,{properties:n})}function Q(e){P(`update:data`,{cameraId:e,sensorType:``,sensorName:``,sensorPluginId:``,properties:[]})}function $(e){P(`update:data`,{sensorType:e,sensorName:``,sensorPluginId:``,properties:[]})}function ee(e){let[t,n]=String(e).split(`::`);P(`update:data`,{sensorName:t,sensorPluginId:n,properties:[]})}return(e,t)=>{let n=g,r=_;return h(),l(`div`,S,[s(`div`,C,[t[0]||=s(`label`,{class:`cui-label`},`Camera`,-1),m(n,{"model-value":p.data.cameraId,options:a(I),"option-label":`label`,"option-value":`value`,placeholder:`Select camera`,class:`w-full`,"onUpdate:modelValue":Q},null,8,[`model-value`,`options`])]),s(`div`,w,[s(`label`,T,i(a(F)(`components.automation_nodes.sensor_type_label`)),1),m(n,{"model-value":p.data.sensorType,options:a(B),"option-label":`label`,"option-value":`value`,placeholder:`Select sensor type`,class:`w-full`,disabled:!p.data.cameraId,"onUpdate:modelValue":$},null,8,[`model-value`,`options`,`disabled`])]),p.data.sensorType?(h(),l(`div`,E,[s(`label`,D,i(a(F)(`components.automation_nodes.sensor_instance`)),1),m(n,{"model-value":a(U),options:a(W),"option-label":`label`,"option-value":`value`,placeholder:`Select sensor`,class:`w-full`,loading:a(H),"onUpdate:modelValue":ee},null,8,[`model-value`,`options`,`loading`])])):d(``,!0),p.data.sensorName&&a(G).length?(h(),l(`div`,O,[s(`label`,k,i(a(F)(`components.automation_nodes.sensor_properties`)),1),(h(!0),l(u,null,o(a(G),e=>(h(),l(`div`,{key:e.value,class:`flex flex-col gap-1.5 p-2 rounded-md border-color`},[s(`div`,A,[m(r,{"model-value":q(e.value),binary:``,"onUpdate:modelValue":t=>X(e.value,t)},null,8,[`model-value`,`onUpdate:modelValue`]),s(`span`,j,i(e.label),1),q(e.value)&&J(e.value)?(h(),c(x,{key:0,"sensor-type":p.data.sensorType,property:e.value,"model-value":Y(e.value),"onUpdate:modelValue":t=>Z(e.value,t)},null,8,[`sensor-type`,`property`,`model-value`,`onUpdate:modelValue`])):d(``,!0)]),q(e.value)&&!J(e.value)?(h(),c(x,{key:0,"sensor-type":p.data.sensorType,property:e.value,"model-value":Y(e.value),"onUpdate:modelValue":t=>Z(e.value,t)},null,8,[`sensor-type`,`property`,`model-value`,`onUpdate:modelValue`])):d(``,!0)]))),128))])):d(``,!0)])}}});export{M as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ir as e,O as t}from"./vendor-cameraui-DDdtrYBn.js";import{Er as n,Sr as r,dn as i,mn as a,nr as o,un as s,vn as c,xn as l,yn as u,zn as d}from"./vendor-ClrOISZp.js";import{F as f,O as p}from"./vendor-primevue-DB14kOh6.js";import{n as m,t as h}from"./VariableInput-fT57kg7f.js";import{t as g}from"./automations-Dd-6vvka.js";import{t as _}from"./VariableSuggestions-DwhFBKzJ.js";var v={class:`flex flex-col gap-4`},y={class:`flex flex-col field-gap`},b={class:`cui-label`},x={class:`flex flex-col field-gap`},S={class:`cui-label`},C={class:`flex flex-col field-gap`},w={class:`cui-label`},T=l({__name:`ConfigActionVariable`,props:{data:{},nodeId:{}},emits:[`update:data`],setup(l,{emit:T}){let E=l,D=T,{t:O}=e(),k=g(),A=[{label:`= (Set)`,value:`=`},{label:`+= (Add)`,value:`+=`},{label:`-= (Subtract)`,value:`-=`}],j=s(()=>m(k.draft,E.nodeId));function M(e,t){D(`update:data`,{[e]:t})}return(e,s)=>{let m=t,g=f,T=p;return d(),a(`div`,v,[i(`div`,y,[i(`label`,b,n(r(O)(`components.automation_nodes.variable_name`)),1),u(m,{"model-value":l.data.variableName,placeholder:`myVariable`,"onUpdate:modelValue":s[0]||=e=>M(`variableName`,e)},null,8,[`model-value`]),u(g,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:o(()=>[c(n(r(O)(`components.automation_nodes.variable_name_hint`)),1)]),_:1})]),i(`div`,x,[i(`label`,S,n(r(O)(`components.automation_nodes.variable_operator`)),1),u(T,{"model-value":l.data.operator??`=`,options:A,"option-label":`label`,"option-value":`value`,class:`w-full`,"onUpdate:modelValue":s[1]||=e=>M(`operator`,e)},null,8,[`model-value`])]),i(`div`,C,[i(`label`,w,n(r(O)(`components.automation_nodes.condition_value`)),1),u(h,{"model-value":l.data.value,"node-id":l.nodeId,placeholder:r(O)(`components.automation_nodes.variable_value_placeholder`),"onUpdate:modelValue":s[2]||=e=>M(`value`,e)},null,8,[`model-value`,`node-id`,`placeholder`]),u(_,{variables:r(j),onSelect:s[3]||=e=>M(`value`,(l.data.value??``)+e)},null,8,[`variables`]),u(g,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:o(()=>[c(n(r(O)(`components.automation_nodes.variable_value_hint`)),1)]),_:1})])])}}});export{T as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ir as e}from"./vendor-cameraui-DDdtrYBn.js";import{Er as t,Sr as n,dn as r,mn as i,un as a,xn as o,yn as s,zn as c}from"./vendor-ClrOISZp.js";import{O as l}from"./vendor-primevue-DB14kOh6.js";import{t as u}from"./information-outline-BaVRQ1WL.js";import{n as d,t as f}from"./VariableInput-fT57kg7f.js";import{t as p}from"./automations-Dd-6vvka.js";import{t as m}from"./VariableSuggestions-DwhFBKzJ.js";import{t as h}from"./alert-outline-C4_42ECn.js";import{t as g}from"./nodeDefinitions-DSoFiL7W.js";var _={class:`flex flex-col gap-4`},v={key:0,class:`cui-banner cui-banner-info`},y={key:1,class:`cui-banner cui-banner-warn`},b={class:`flex flex-col field-gap`},x={class:`cui-label`},S={class:`flex flex-col field-gap`},C={class:`cui-label`},w={class:`flex flex-col field-gap`},T={class:`cui-label`},E=o({__name:`ConfigConditionIfElse`,props:{data:{},nodeId:{}},emits:[`update:data`],setup(o,{emit:E}){let D=o,O=E,{t:k}=e(),A=p(),j=[{label:`== (equals)`,value:`==`},{label:`!= (not equals)`,value:`!=`},{label:`> (greater than)`,value:`>`},{label:`< (less than)`,value:`<`},{label:`>= (greater or equal)`,value:`>=`},{label:`<= (less or equal)`,value:`<=`},{label:`contains`,value:`contains`},{label:`starts with`,value:`startsWith`},{label:`ends with`,value:`endsWith`}],M=a(()=>A.getDraftSourceNode(D.nodeId)),N=a(()=>{if(!M.value?.type)return``;let e=g(M.value.type);return e?k(e.labelKey):M.value.type}),P=a(()=>d(A.draft,D.nodeId));function F(e,t){O(`update:data`,{[e]:t})}return(e,a)=>{let d=u,p=h,g=l;return c(),i(`div`,_,[n(N)?(c(),i(`div`,v,[s(d,{class:`w-5 h-5 shrink-0`}),r(`span`,null,t(n(k)(`components.automation_nodes.condition_source_info`,{source:n(N)})),1)])):(c(),i(`div`,y,[s(p,{class:`w-5 h-5 shrink-0`}),r(`span`,null,t(n(k)(`components.automation_nodes.condition_no_source`)),1)])),r(`div`,b,[r(`label`,x,t(n(k)(`components.automation_nodes.condition_variable`)),1),s(f,{"model-value":o.data.leftOperand,"node-id":o.nodeId,placeholder:n(k)(`components.automation_nodes.condition_variable_placeholder`),"onUpdate:modelValue":a[0]||=e=>F(`leftOperand`,e)},null,8,[`model-value`,`node-id`,`placeholder`]),s(m,{variables:n(P),onSelect:a[1]||=e=>F(`leftOperand`,e)},null,8,[`variables`])]),r(`div`,S,[r(`label`,C,t(n(k)(`components.automation_nodes.condition_operator`)),1),s(g,{"model-value":o.data.operator,options:j,"option-label":`label`,"option-value":`value`,class:`w-full`,"onUpdate:modelValue":a[2]||=e=>F(`operator`,e)},null,8,[`model-value`])]),r(`div`,w,[r(`label`,T,t(n(k)(`components.automation_nodes.condition_value`)),1),s(f,{"model-value":o.data.rightOperand,"node-id":o.nodeId,placeholder:n(k)(`components.automation_nodes.condition_value_placeholder`),"onUpdate:modelValue":a[3]||=e=>F(`rightOperand`,e)},null,8,[`model-value`,`node-id`,`placeholder`]),s(m,{variables:n(P),onSelect:a[4]||=e=>F(`rightOperand`,e)},null,8,[`variables`])])])}}});export{E as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ir as e,_n as t,nn as n,w as r}from"./vendor-cameraui-DDdtrYBn.js";import{Er as i,Sr as a,Vn as o,dn as s,fn as c,mn as l,nr as u,on as d,pn as f,un as p,xn as m,yn as h,zn as g}from"./vendor-ClrOISZp.js";import{O as _}from"./vendor-primevue-DB14kOh6.js";import{t as v}from"./close-BTPBtoEq.js";import{t as y}from"./useCameraOptions-DBsYZ6gv.js";import{n as b,r as x,t as S}from"./ConfigSensorValueInput-MZiAptuc.js";var C={class:`flex flex-col gap-4`},w={class:`flex flex-col field-gap`},T={class:`flex flex-col field-gap`},E={class:`cui-label`},D={key:0,class:`flex flex-col field-gap`},O={class:`cui-label`},k={key:1,class:`flex items-center gap-2`},A={class:`text-xs text-muted`},j={key:2,class:`flex flex-col gap-3`},M={class:`flex items-center gap-2`},N=m({__name:`ConfigConditionSensorState`,props:{data:{},nodeId:{}},emits:[`update:data`],setup(m,{emit:N}){let P=m,F=N,{t:I}=e(),{cameraOptions:L,getSensorTypes:R,useSensorInstances:z,getPropertiesForSensor:B}=y(),V=[{label:`AND`,value:`AND`},{label:`OR`,value:`OR`}],H=p(()=>P.data.cameraId?R(P.data.cameraId).map(e=>({label:I(`components.camera_options.sensor_type_${e.value}`),value:e.value})):[]),{instanceOptions:U,isLoading:W}=z(p(()=>P.data.cameraId||void 0),p(()=>P.data.sensorType||n.Contact)),G=p(()=>!P.data.sensorName||!P.data.sensorPluginId?``:`${P.data.sensorName}::${P.data.sensorPluginId}`),K=p(()=>U.value.map(e=>({label:e.label,value:`${e.sensorName}::${e.pluginId}`}))),q=p(()=>P.data.sensorType?B(P.data.sensorType):[]),J=p(()=>P.data.conditions??[]);function Y(e){return x(String(P.data.sensorType??``),e).kind===`boolean`}function X(){let e=[...J.value,{property:``,expectedValue:``}];F(`update:data`,{conditions:e})}function Z(e){let t=[...J.value];t.splice(e,1),F(`update:data`,{conditions:t})}function Q(e,t,n){let r=[...J.value];r[e]={...r[e],[t]:n},t===`property`&&(r[e].expectedValue=b(String(P.data.sensorType??``),n)),F(`update:data`,{conditions:r})}function $(e){F(`update:data`,{cameraId:e,sensorType:``,sensorName:``,sensorPluginId:``,conditions:[],logic:`AND`})}function ee(e){F(`update:data`,{sensorType:e,sensorName:``,sensorPluginId:``,conditions:[],logic:`AND`})}function te(e){let[t,n]=String(e).split(`::`);F(`update:data`,{sensorName:t,sensorPluginId:n,conditions:[{property:``,expectedValue:``}]})}function ne(e,t){F(`update:data`,{[e]:t})}return(e,n)=>{let p=_,y=r,b=v,x=t;return g(),l(`div`,C,[s(`div`,w,[n[1]||=s(`label`,{class:`cui-label`},`Camera`,-1),h(p,{"model-value":m.data.cameraId,options:a(L),"option-label":`label`,"option-value":`value`,placeholder:`Select camera`,class:`w-full`,"onUpdate:modelValue":$},null,8,[`model-value`,`options`])]),s(`div`,T,[s(`label`,E,i(a(I)(`components.automation_nodes.sensor_type_label`)),1),h(p,{"model-value":m.data.sensorType,options:a(H),"option-label":`label`,"option-value":`value`,placeholder:`Select sensor type`,class:`w-full`,disabled:!m.data.cameraId,"onUpdate:modelValue":ee},null,8,[`model-value`,`options`,`disabled`])]),m.data.sensorType?(g(),l(`div`,D,[s(`label`,O,i(a(I)(`components.automation_nodes.sensor_instance`)),1),h(p,{"model-value":a(G),options:a(K),"option-label":`label`,"option-value":`value`,placeholder:`Select sensor`,class:`w-full`,loading:a(W),"onUpdate:modelValue":te},null,8,[`model-value`,`options`,`loading`])])):f(``,!0),a(J).length>1?(g(),l(`div`,k,[s(`span`,A,i(a(I)(`components.automation_nodes.condition_logic`)),1),h(y,{"model-value":m.data.logic,options:V,"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`cui-select-button-small`,"onUpdate:modelValue":n[0]||=e=>ne(`logic`,e)},null,8,[`model-value`])])):f(``,!0),m.data.sensorName?(g(),l(`div`,j,[(g(!0),l(d,null,o(a(J),(e,t)=>(g(),l(`div`,{key:t,class:`flex flex-col gap-1.5 p-2 rounded-md border-color`},[s(`div`,M,[h(p,{"model-value":e.property,options:a(q),"option-label":`label`,"option-value":`value`,placeholder:`Property`,class:`flex-1`,"onUpdate:modelValue":e=>Q(t,`property`,e)},null,8,[`model-value`,`options`,`onUpdate:modelValue`]),e.property&&Y(e.property)?(g(),c(S,{key:0,"sensor-type":m.data.sensorType,property:e.property,"model-value":e.expectedValue,class:`shrink-0`,"onUpdate:modelValue":e=>Q(t,`expectedValue`,e)},null,8,[`sensor-type`,`property`,`model-value`,`onUpdate:modelValue`])):f(``,!0),a(J).length>1?(g(),c(x,{key:1,severity:`danger`,text:``,rounded:``,class:`shrink-0 cui-icon-sm`,onClick:e=>Z(t)},{icon:u(()=>[h(b,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])):f(``,!0)]),!e.property||!Y(e.property)?(g(),c(S,{key:0,"sensor-type":m.data.sensorType,property:e.property,"model-value":e.expectedValue,disabled:!e.property,"onUpdate:modelValue":e=>Q(t,`expectedValue`,e)},null,8,[`sensor-type`,`property`,`model-value`,`disabled`,`onUpdate:modelValue`])):f(``,!0)]))),128)),h(x,{severity:`secondary`,outlined:``,label:a(I)(`components.automation_nodes.condition_add`),class:`cui-button-small self-start`,onClick:X},null,8,[`label`])])):f(``,!0)])}}});export{N as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Gt as e,Ir as t,Mt as n,O as r,Qt as i,nn as a,zt as o}from"./vendor-cameraui-DDdtrYBn.js";import{Sr as s,fn as c,un as l,xn as u,zn as d}from"./vendor-ClrOISZp.js";import{H as f,O as p,h as m}from"./vendor-primevue-DB14kOh6.js";var h={kind:`boolean`},g={kind:`number`,min:0,max:100},_=[{labelKey:`lock_state_secured`,value:String(o.Secured)},{labelKey:`lock_state_unsecured`,value:String(o.Unsecured)},{labelKey:`lock_state_unknown`,value:String(o.Unknown)}],v=[{labelKey:`garage_state_open`,value:String(e.Open)},{labelKey:`garage_state_closed`,value:String(e.Closed)},{labelKey:`garage_state_opening`,value:String(e.Opening)},{labelKey:`garage_state_closing`,value:String(e.Closing)},{labelKey:`garage_state_stopped`,value:String(e.Stopped)}],y=[{labelKey:`security_state_stay_arm`,value:String(n.StayArm)},{labelKey:`security_state_away_arm`,value:String(n.AwayArm)},{labelKey:`security_state_night_arm`,value:String(n.NightArm)},{labelKey:`security_state_disarmed`,value:String(n.Disarmed)},{labelKey:`security_state_alarm_triggered`,value:String(n.AlarmTriggered)}],b=[{labelKey:`charging_state_not_chargeable`,value:i.NotChargeable},{labelKey:`charging_state_not_charging`,value:i.NotCharging},{labelKey:`charging_state_charging`,value:i.Charging},{labelKey:`charging_state_full`,value:i.Full}],x={[a.Motion]:{detected:h,blocked:h},[a.Object]:{detected:h},[a.Audio]:{detected:h,decibels:{kind:`number`}},[a.Face]:{detected:h},[a.LicensePlate]:{detected:h},[a.Classifier]:{detected:h},[a.Contact]:{detected:h},[a.Occupancy]:{detected:h},[a.Smoke]:{detected:h},[a.Leak]:{detected:h},[a.Doorbell]:{ring:h},[a.Switch]:{on:h},[a.Light]:{on:h,brightness:g},[a.Siren]:{active:h,volume:g},[a.Lock]:{currentState:{kind:`enum`,options:_},targetState:{kind:`enum`,options:_}},[a.Garage]:{currentState:{kind:`enum`,options:v},targetState:{kind:`enum`,options:v},obstructionDetected:h},[a.SecuritySystem]:{currentState:{kind:`enum`,options:y},targetState:{kind:`enum`,options:y}},[a.PTZ]:{moving:h,targetPreset:{kind:`text`}},[a.Temperature]:{current:{kind:`number`}},[a.Humidity]:{current:g},[a.Battery]:{level:g,low:h,charging:{kind:`enum`,options:b}}};function S(e,t){return x[e]?.[t]??{kind:`text`}}function C(e,t){let n=S(e,t);return n.kind===`boolean`?`true`:n.kind===`enum`?n.options?.[0]?.value??``:``}var w=u({__name:`ConfigSensorValueInput`,props:{sensorType:{},property:{},modelValue:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(e,{emit:n}){let i=e,a=n,{t:o}=t(),u=l(()=>S(i.sensorType,i.property)),h=l(()=>i.modelValue===`true`),g=l(()=>{let e=Number(i.modelValue);return i.modelValue!==``&&Number.isFinite(e)?e:null}),_=l(()=>(u.value.options??[]).map(e=>({label:o(`components.automation_nodes.${e.labelKey}`),value:e.value})));function v(e){a(`update:modelValue`,e)}return(t,n)=>{let i=f,a=p,l=m,y=r;return s(u).kind===`boolean`?(d(),c(i,{key:0,"model-value":s(h),disabled:e.disabled,"onUpdate:modelValue":n[0]||=e=>v(String(e))},null,8,[`model-value`,`disabled`])):s(u).kind===`enum`?(d(),c(a,{key:1,"model-value":e.modelValue,options:s(_),"option-label":`label`,"option-value":`value`,class:`w-full`,disabled:e.disabled,"onUpdate:modelValue":n[1]||=e=>v(String(e??``))},null,8,[`model-value`,`options`,`disabled`])):s(u).kind===`number`?(d(),c(l,{key:2,"model-value":s(g),min:s(u).min,max:s(u).max,"show-buttons":``,class:`w-full`,disabled:e.disabled,"onUpdate:modelValue":n[2]||=e=>v(e==null?``:String(e))},null,8,[`model-value`,`min`,`max`,`disabled`])):(d(),c(y,{key:3,"model-value":e.modelValue,placeholder:s(o)(`components.automation_nodes.condition_value_placeholder`),class:`w-full`,disabled:e.disabled,"onUpdate:modelValue":n[3]||=e=>v(String(e??``))},null,8,[`model-value`,`placeholder`,`disabled`]))}}});export{C as n,S as r,w as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ir as e,O as t}from"./vendor-cameraui-DDdtrYBn.js";import{Er as n,Sr as r,dn as i,mn as a,nr as o,vn as s,xn as c,yn as l,zn as u}from"./vendor-ClrOISZp.js";import{F as d}from"./vendor-primevue-DB14kOh6.js";import{t as f}from"./information-outline-BaVRQ1WL.js";var p={class:`flex flex-col gap-4`},m={class:`cui-banner cui-banner-info`},h={class:`flex flex-col field-gap`},g={class:`cui-label`},_={class:`flex flex-col field-gap`},v={class:`cui-label`},y=c({__name:`ConfigTriggerMqtt`,props:{data:{}},emits:[`update:data`],setup(c,{emit:y}){let b=y,{t:x}=e();function S(e,t){b(`update:data`,{[e]:t})}return(e,y)=>{let b=f,C=t,w=d;return u(),a(`div`,p,[i(`div`,m,[l(b,{class:`w-5 h-5 shrink-0`}),i(`span`,null,n(r(x)(`components.automation_nodes.trigger_mqtt_desc`)),1)]),i(`div`,h,[i(`label`,g,n(r(x)(`components.automation_nodes.mqtt_topic`)),1),l(C,{"model-value":c.data.topic,placeholder:`shellies/button/relay/0`,class:`font-mono text-xs`,"onUpdate:modelValue":y[0]||=e=>S(`topic`,e)},null,8,[`model-value`]),l(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:o(()=>[s(n(r(x)(`components.automation_nodes.mqtt_topic_hint`)),1)]),_:1})]),i(`div`,_,[i(`label`,v,n(r(x)(`components.automation_nodes.mqtt_payload_filter`)),1),l(C,{"model-value":c.data.payloadFilter,placeholder:`on`,class:`font-mono text-xs`,"onUpdate:modelValue":y[1]||=e=>S(`payloadFilter`,e)},null,8,[`model-value`]),l(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:o(()=>[s(n(r(x)(`components.automation_nodes.mqtt_payload_filter_hint`)),1)]),_:1})])])}}});export{y as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./CuiBottomSheet-D1F_ll0S.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./PluginSearch-DowK0yhn.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./SettingsAccount-Bh6QsmCo.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./SettingsAppearance-D9VGcz8w.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Sr as e,fn as t,mr as n,un as r,xn as i,zn as a}from"./vendor-ClrOISZp.js";import{x as o}from"./vendor-primevue-DB14kOh6.js";import{t as s}from"./automations-Dd-6vvka.js";function c(e,t){if(!e)return[];let n=[];return l(e,t,n,new Set),n}function l(e,t,n,r){if(r.has(t))return;r.add(t);let i=e.edges,a=e.nodes,o=i.filter(e=>e.target===t).map(e=>e.source);for(let t of o){let o=a.find(e=>e.id===t);if(!o?.type)continue;let s=o.data,c=s?.alias;if(d(o.type,n,s,c),o.type===`action-loop`){let a=i.filter(e=>e.source===t&&e.sourceHandle===`body`).map(e=>e.target);for(let t of a)u(e,t,n,new Set(r))}l(e,t,n,r)}}function u(e,t,n,r){if(r.has(t))return;r.add(t);let i=e.nodes.find(e=>e.id===t);if(!i?.type)return;d(i.type,n);let a=e.edges.filter(e=>e.source===t).map(e=>e.target);for(let t of a)u(e,t,n,r)}function d(e,t,n,r){let i=new Set(t.map(e=>e.value)),a=(e,n)=>{if(r){let a=n.replace(/\{\{/,`{{${r}.`),o=`${r}: ${e}`;i.has(a)||(t.push({label:o,value:a}),i.add(a))}i.has(n)||(t.push({label:e,value:n}),i.add(n))};switch(n?.repeat&&Number(n.repeat)>1&&(a(`Repeat — Index (0-based)`,`{{repeat.index}}`),a(`Repeat — Iteration (1-based)`,`{{repeat.iteration}}`),a(`Repeat — Total`,`{{repeat.total}}`),a(`Repeat — Total Calls`,`{{repeat.totalCalls}}`),a(`Repeat — Elapsed (ms)`,`{{repeat.elapsedMs}}`),a(`Repeat — Elapsed (sec)`,`{{repeat.elapsedSec}}`)),e){case`trigger-detection`:a(`Event — Confidence`,`{{event.confidence}}`),a(`Event — Detection Type`,`{{event.type}}`),a(`Event — Label`,`{{event.label}}`),a(`Event — Camera`,`{{event.cameraId}}`),a(`Event — State`,`{{event.state}}`),a(`Event — Faces`,`{{event.faces}}`),a(`Event — License Plates`,`{{event.plates}}`);break;case`trigger-sensor`:a(`Sensor — Value`,`{{sensor.value}}`),a(`Sensor — Previous Value`,`{{sensor.previousValue}}`),a(`Sensor — Property`,`{{sensor.property}}`);break;case`trigger-webhook`:a(`Webhook — Body`,`{{webhook.body}}`),a(`Webhook — Data (binary)`,`{{webhook.data}}`),a(`Webhook — Method`,`{{webhook.method}}`);break;case`trigger-mqtt`:a(`MQTT — Topic`,`{{mqtt.topic}}`),a(`MQTT — Payload`,`{{mqtt.payload}}`);break;case`trigger-geofence`:a(`Geo — User`,`{{geo.user}}`),a(`Geo — Event`,`{{geo.event}}`),a(`Geo — Zone`,`{{geo.zone}}`),a(`Geo — Latitude`,`{{geo.lat}}`),a(`Geo — Longitude`,`{{geo.lon}}`),a(`Geo — Distance (m)`,`{{geo.distance}}`);break;case`trigger-system`:a(`System — Event Type`,`{{system.eventType}}`),a(`System — Camera ID`,`{{system.cameraId}}`),a(`System — Camera Name`,`{{system.cameraName}}`),a(`System — Plugin Name`,`{{system.pluginName}}`),a(`System — Plugin ID`,`{{system.pluginId}}`),a(`System — Status`,`{{system.status}}`),a(`System — Property`,`{{system.property}}`),a(`System — Sensor ID`,`{{system.sensorId}}`),a(`System — Sensor Type`,`{{system.sensorType}}`),a(`System — Sensor Name`,`{{system.sensorName}}`);break;case`action-snapshot`:a(`Snapshot (base64)`,`{{snapshot}}`),a(`Snapshot (data URI)`,`{{snapshot.base64}}`);break;case`action-http`:a(`HTTP — Status`,`{{http.status}}`),a(`HTTP — Body`,`{{http.body}}`),a(`HTTP — Base64 (binary)`,`{{http.base64}}`);break;case`action-plugin`:a(`Plugin — Detected`,`{{plugin.detected}}`),a(`Plugin — Labels`,`{{plugin.labels}}`),a(`Plugin — Detections (JSON)`,`{{plugin.detections}}`),a(`Plugin — Result (JSON)`,`{{plugin.result}}`),a(`Plugin — Duration (ms)`,`{{plugin.durationMs}}`);break;case`action-image-input`:a(`Image (base64)`,`{{image}}`);break;case`action-camera-control`:a(`Camera — ID`,`{{camera.id}}`),a(`Camera — Name`,`{{camera.name}}`);break;case`action-variable`:break}}var f=i({__name:`VariableInput`,props:{modelValue:{},nodeId:{},placeholder:{}},emits:[`update:modelValue`],setup(i,{emit:l}){let u=i,d=l,f=s(),p=r(()=>{let e=f.draft;return c(e,u.nodeId)}),m=n([]);function h(e){let t=e.query.toLowerCase();t?m.value=p.value.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t)):m.value=p.value}function g(e){d(`update:modelValue`,e.value.value)}function _(e){typeof e==`string`&&d(`update:modelValue`,e)}return(n,r)=>{let s=o;return a(),t(s,{"model-value":i.modelValue,suggestions:e(m),"option-label":`label`,placeholder:i.placeholder,class:`w-full`,fluid:``,onComplete:h,onItemSelect:g,"onUpdate:modelValue":_},null,8,[`model-value`,`suggestions`,`placeholder`])}}});export{c as n,f as t};
|