@ray-js/robot-data-stream 0.0.14 → 0.0.15-beta.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/lib/api/sweeperP2p.js +1 -1
- package/lib/mqtt/createCommonOptions.d.ts +4 -2
- package/lib/mqtt/createCommonOptions.js +10 -5
- package/lib/mqtt/hooks/useStructuredMessage.d.ts +17 -0
- package/lib/mqtt/hooks/useStructuredMessage.js +206 -0
- package/lib/mqtt/mqttProvider.d.ts +28 -1
- package/lib/mqtt/mqttProvider.js +72 -9
- package/lib/mqtt/promise.d.ts +57 -4
- package/lib/mqtt/promise.js +115 -36
- package/lib/mqtt/type/fun.d.ts +233 -0
- package/lib/mqtt/type/fun.js +145 -0
- package/lib/mqtt/type/index.d.ts +0 -7
- package/lib/mqtt/type/index.js +0 -1
- package/lib/mqtt/type/protocols/base.d.ts +21 -0
- package/lib/mqtt/type/protocols/base.js +32 -0
- package/lib/mqtt/type/protocols/carpetCleanProtocol.d.ts +14 -0
- package/lib/mqtt/type/protocols/carpetCleanProtocol.js +14 -0
- package/lib/mqtt/type/protocols/carpetProtocol.d.ts +102 -0
- package/lib/mqtt/type/protocols/carpetProtocol.js +202 -0
- package/lib/mqtt/type/protocols/devInfoProtocol.d.ts +11 -0
- package/lib/mqtt/type/protocols/devInfoProtocol.js +10 -0
- package/lib/mqtt/type/protocols/deviceModelProtocol.d.ts +31 -0
- package/lib/mqtt/type/protocols/deviceModelProtocol.js +32 -0
- package/lib/mqtt/type/protocols/furnitureModelProtocol.d.ts +27 -0
- package/lib/mqtt/type/protocols/furnitureModelProtocol.js +27 -0
- package/lib/mqtt/type/protocols/historyMapProtocol.d.ts +39 -0
- package/lib/mqtt/type/protocols/historyMapProtocol.js +37 -0
- package/lib/mqtt/type/protocols/index.d.ts +20 -0
- package/lib/mqtt/type/protocols/index.js +20 -0
- package/lib/mqtt/type/protocols/partDivisionProtocol.d.ts +20 -0
- package/lib/mqtt/type/protocols/partDivisionProtocol.js +12 -0
- package/lib/mqtt/type/protocols/partMergeProtocol.d.ts +13 -0
- package/lib/mqtt/type/protocols/partMergeProtocol.js +12 -0
- package/lib/mqtt/type/protocols/passwordProtocol.d.ts +24 -0
- package/lib/mqtt/type/protocols/passwordProtocol.js +25 -0
- package/lib/mqtt/type/protocols/quietHoursProtocol.d.ts +29 -0
- package/lib/mqtt/type/protocols/quietHoursProtocol.js +35 -0
- package/lib/mqtt/type/protocols/resetMapProtocol.d.ts +4 -0
- package/lib/mqtt/type/protocols/resetMapProtocol.js +1 -0
- package/lib/mqtt/type/protocols/roomPropertyProtocol.d.ts +42 -0
- package/lib/mqtt/type/protocols/roomPropertyProtocol.js +113 -0
- package/lib/mqtt/type/protocols/scheduleProtocol.d.ts +62 -0
- package/lib/mqtt/type/protocols/scheduleProtocol.js +100 -0
- package/lib/mqtt/type/protocols/selectRoomCleanProtocol.d.ts +27 -0
- package/lib/mqtt/type/protocols/selectRoomCleanProtocol.js +40 -0
- package/lib/mqtt/type/protocols/spotCleanProtocol.d.ts +38 -0
- package/lib/mqtt/type/protocols/spotCleanProtocol.js +72 -0
- package/lib/mqtt/type/protocols/virtualAreaProtocol.d.ts +32 -0
- package/lib/mqtt/type/protocols/virtualAreaProtocol.js +36 -0
- package/lib/mqtt/type/protocols/virtualWallProtocol.d.ts +27 -0
- package/lib/mqtt/type/protocols/virtualWallProtocol.js +25 -0
- package/lib/mqtt/type/protocols/voiceProtocol.d.ts +21 -0
- package/lib/mqtt/type/protocols/voiceProtocol.js +23 -0
- package/lib/mqtt/type/protocols/wifiMapProtocol.d.ts +16 -0
- package/lib/mqtt/type/protocols/wifiMapProtocol.js +14 -0
- package/lib/mqtt/type/protocols/zoneCleanProtocol.d.ts +47 -0
- package/lib/mqtt/type/protocols/zoneCleanProtocol.js +49 -0
- package/lib/mqtt/useCarpet.d.ts +7 -67
- package/lib/mqtt/useCarpet.js +101 -181
- package/lib/mqtt/useCarpetClean.d.ts +2 -11
- package/lib/mqtt/useCarpetClean.js +26 -50
- package/lib/mqtt/useDevInfo.d.ts +8 -6
- package/lib/mqtt/useDevInfo.js +44 -36
- package/lib/mqtt/useDeviceModel.d.ts +6 -19
- package/lib/mqtt/useDeviceModel.js +31 -42
- package/lib/mqtt/useFurnitureModel.d.ts +6 -18
- package/lib/mqtt/useFurnitureModel.js +31 -43
- package/lib/mqtt/useHistoryMap.d.ts +2 -18
- package/lib/mqtt/useHistoryMap.js +102 -119
- package/lib/mqtt/usePartDivision.d.ts +2 -9
- package/lib/mqtt/usePartDivision.js +48 -57
- package/lib/mqtt/usePartMerge.d.ts +2 -8
- package/lib/mqtt/usePartMerge.js +34 -49
- package/lib/mqtt/usePassword.d.ts +6 -13
- package/lib/mqtt/usePassword.js +84 -74
- package/lib/mqtt/useQuiteHours.d.ts +4 -37
- package/lib/mqtt/useQuiteHours.js +66 -100
- package/lib/mqtt/useResetMap.d.ts +2 -8
- package/lib/mqtt/useResetMap.js +27 -34
- package/lib/mqtt/useRoomProperty.d.ts +8 -9
- package/lib/mqtt/useRoomProperty.js +67 -65
- package/lib/mqtt/useSchedule.d.ts +3 -23
- package/lib/mqtt/useSchedule.js +72 -101
- package/lib/mqtt/useSelectRoomClean.d.ts +3 -24
- package/lib/mqtt/useSelectRoomClean.js +107 -133
- package/lib/mqtt/useSpotClean.d.ts +5 -15
- package/lib/mqtt/useSpotClean.js +68 -121
- package/lib/mqtt/useVirtualArea.d.ts +6 -17
- package/lib/mqtt/useVirtualArea.js +109 -119
- package/lib/mqtt/useVirtualWall.d.ts +2 -18
- package/lib/mqtt/useVirtualWall.js +69 -90
- package/lib/mqtt/useVoice.d.ts +2 -16
- package/lib/mqtt/useVoice.js +48 -68
- package/lib/mqtt/useWifiMap.d.ts +6 -5
- package/lib/mqtt/useWifiMap.js +43 -42
- package/lib/mqtt/useZoneClean.d.ts +2 -21
- package/lib/mqtt/useZoneClean.js +125 -137
- package/lib/myLib/zod/mini/index.d.cts +1 -0
- package/lib/myLib/zod/mini/index.d.ts +1 -0
- package/lib/myLib/zod/mini/index.js +1 -0
- package/lib/myLib/zod/mini/package.json +6 -0
- package/lib/myLib/zod/src/mini/index.d.ts +1 -0
- package/lib/myLib/zod/src/mini/index.js +1 -0
- package/lib/myLib/zod/src/v4/core/api.d.ts +306 -0
- package/lib/myLib/zod/src/v4/core/api.js +1256 -0
- package/lib/myLib/zod/src/v4/core/checks.d.ts +278 -0
- package/lib/myLib/zod/src/v4/core/checks.js +816 -0
- package/lib/myLib/zod/src/v4/core/config.d.ts +9 -0
- package/lib/myLib/zod/src/v4/core/config.js +5 -0
- package/lib/myLib/zod/src/v4/core/core.d.ts +70 -0
- package/lib/myLib/zod/src/v4/core/core.js +95 -0
- package/lib/myLib/zod/src/v4/core/doc.d.ts +14 -0
- package/lib/myLib/zod/src/v4/core/doc.js +42 -0
- package/lib/myLib/zod/src/v4/core/errors.d.ts +220 -0
- package/lib/myLib/zod/src/v4/core/errors.js +232 -0
- package/lib/myLib/zod/src/v4/core/index.d.ts +15 -0
- package/lib/myLib/zod/src/v4/core/index.js +15 -0
- package/lib/myLib/zod/src/v4/core/json-schema-generator.d.ts +65 -0
- package/lib/myLib/zod/src/v4/core/json-schema-generator.js +120 -0
- package/lib/myLib/zod/src/v4/core/json-schema-processors.d.ts +49 -0
- package/lib/myLib/zod/src/v4/core/json-schema-processors.js +593 -0
- package/lib/myLib/zod/src/v4/core/json-schema.d.ts +88 -0
- package/lib/myLib/zod/src/v4/core/json-schema.js +1 -0
- package/lib/myLib/zod/src/v4/core/parse.d.ts +49 -0
- package/lib/myLib/zod/src/v4/core/parse.js +147 -0
- package/lib/myLib/zod/src/v4/core/regexes.d.ts +78 -0
- package/lib/myLib/zod/src/v4/core/regexes.js +146 -0
- package/lib/myLib/zod/src/v4/core/registries.d.ts +35 -0
- package/lib/myLib/zod/src/v4/core/registries.js +51 -0
- package/lib/myLib/zod/src/v4/core/schemas.d.ts +1136 -0
- package/lib/myLib/zod/src/v4/core/schemas.js +2745 -0
- package/lib/myLib/zod/src/v4/core/standard-schema.d.ts +126 -0
- package/lib/myLib/zod/src/v4/core/standard-schema.js +1 -0
- package/lib/myLib/zod/src/v4/core/to-json-schema.d.ts +114 -0
- package/lib/myLib/zod/src/v4/core/to-json-schema.js +488 -0
- package/lib/myLib/zod/src/v4/core/util.d.ts +199 -0
- package/lib/myLib/zod/src/v4/core/util.js +656 -0
- package/lib/myLib/zod/src/v4/core/versions.d.ts +5 -0
- package/lib/myLib/zod/src/v4/core/versions.js +5 -0
- package/lib/myLib/zod/src/v4/core/zsf.d.ts +91 -0
- package/lib/myLib/zod/src/v4/core/zsf.js +1 -0
- package/lib/myLib/zod/src/v4/mini/checks.d.ts +1 -0
- package/lib/myLib/zod/src/v4/mini/checks.js +1 -0
- package/lib/myLib/zod/src/v4/mini/coerce.d.ts +7 -0
- package/lib/myLib/zod/src/v4/mini/coerce.js +27 -0
- package/lib/myLib/zod/src/v4/mini/external.d.ts +11 -0
- package/lib/myLib/zod/src/v4/mini/external.js +16 -0
- package/lib/myLib/zod/src/v4/mini/index.d.ts +530 -0
- package/lib/myLib/zod/src/v4/mini/index.js +30 -0
- package/lib/myLib/zod/src/v4/mini/iso.d.ts +22 -0
- package/lib/myLib/zod/src/v4/mini/iso.js +46 -0
- package/lib/myLib/zod/src/v4/mini/parse.d.ts +1 -0
- package/lib/myLib/zod/src/v4/mini/parse.js +1 -0
- package/lib/myLib/zod/src/v4/mini/schemas.js +1244 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +2 -1
- package/package.json +5 -3
package/lib/mqtt/promise.js
CHANGED
|
@@ -1,54 +1,133 @@
|
|
|
1
|
-
import { emitter } from '../utils';
|
|
1
|
+
import { emitter, logger } from '../utils';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* MQTT 请求超时时间(毫秒)
|
|
5
|
+
* 默认 10 秒
|
|
6
|
+
*/
|
|
7
|
+
const DEFAULT_TIMEOUT = 10 * 1000;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 全局未处理的 rejection 处理器
|
|
11
|
+
* 当 Promise 被 reject 但没有被 catch 时调用
|
|
12
|
+
*/
|
|
13
|
+
let globalUnhandledRejectionHandler = null;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 设置全局未处理的 rejection 处理器
|
|
17
|
+
*
|
|
18
|
+
* @param handler 处理函数,接收 MqttError 作为参数
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* setUnhandledRejectionHandler((error) => {
|
|
23
|
+
* console.error('Unhandled MQTT error:', error);
|
|
24
|
+
* // 可以发送到错误监控服务
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export function setUnhandledRejectionHandler(handler) {
|
|
29
|
+
globalUnhandledRejectionHandler = handler;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* MQTT 请求错误类
|
|
34
|
+
* 包含错误代码和请求类型信息
|
|
35
|
+
*/
|
|
36
|
+
export class MqttError extends Error {
|
|
5
37
|
constructor(message, _ref) {
|
|
6
38
|
let {
|
|
7
39
|
errCode,
|
|
8
40
|
reqType
|
|
9
41
|
} = _ref;
|
|
10
42
|
super(message);
|
|
43
|
+
this.name = 'MqttError';
|
|
11
44
|
this.errCode = errCode;
|
|
12
45
|
this.reqType = reqType;
|
|
46
|
+
|
|
47
|
+
// 确保错误堆栈正确
|
|
48
|
+
if (Error.captureStackTrace) {
|
|
49
|
+
Error.captureStackTrace(this, MqttError);
|
|
50
|
+
}
|
|
13
51
|
}
|
|
14
52
|
}
|
|
15
53
|
|
|
16
|
-
|
|
54
|
+
/**
|
|
55
|
+
* MQTT 响应消息类型(兼容 MQTT 响应格式)
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Promise 扩展类型,支持手动拒绝
|
|
60
|
+
*/
|
|
17
61
|
|
|
18
|
-
|
|
62
|
+
/**
|
|
63
|
+
* 创建 MQTT 请求的 Promise,监听响应消息
|
|
64
|
+
*
|
|
65
|
+
* ⚠️ 注意:此函数不再使用 taskId 进行匹配,只要接收到对应 reqType 的响应就认为匹配
|
|
66
|
+
* ⚠️ 风险:如果同时发起多个相同 reqType 的请求,可能会匹配到错误的响应
|
|
67
|
+
* ⚠️ 建议:确保业务上不会同时发起多个相同类型的请求
|
|
68
|
+
*
|
|
69
|
+
* @param reqType 请求类型,用于匹配响应消息
|
|
70
|
+
* @param taskId 任务ID(已废弃,保留参数以保持向后兼容)
|
|
71
|
+
* @param resolve Promise 的 resolve 回调
|
|
72
|
+
* @param reject Promise 的 reject 回调
|
|
73
|
+
* @param timeout 超时时间(毫秒),默认 10 秒
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* return new Promise((resolve, reject) => {
|
|
78
|
+
* normalResolve('carpetQry', '', resolve, reject);
|
|
79
|
+
* });
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export function normalResolve(reqType, resolve, reject) {
|
|
83
|
+
let timeout = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DEFAULT_TIMEOUT;
|
|
84
|
+
let isResolved = false;
|
|
19
85
|
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
86
|
+
// 设置超时定时器
|
|
87
|
+
const timer = setTimeout(() => {
|
|
88
|
+
if (!isResolved) {
|
|
89
|
+
isResolved = true;
|
|
90
|
+
// 确保在超时时也移除监听器
|
|
91
|
+
emitter.off(reqType, handle);
|
|
92
|
+
reject(new MqttError(`${reqType} Request timed out`, {
|
|
26
93
|
errCode: -1,
|
|
27
94
|
reqType
|
|
28
95
|
}));
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
96
|
+
}
|
|
97
|
+
}, timeout);
|
|
98
|
+
const handle = message => {
|
|
99
|
+
var _response$errCode;
|
|
100
|
+
const response = typeof message.data === 'object' ? message.data : message;
|
|
101
|
+
|
|
102
|
+
// 如果已经处理过,直接返回(避免重复处理)
|
|
103
|
+
if (isResolved) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// 标记为已处理(防止其他监听器处理)
|
|
108
|
+
isResolved = true;
|
|
109
|
+
clearTimeout(timer);
|
|
110
|
+
logger('info', {
|
|
111
|
+
msg: `${reqType} normalResolve: response ==>${JSON.stringify(response)}`
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
// 移除监听器(使用函数引用确保移除正确的监听器)
|
|
115
|
+
emitter.off(reqType, handle);
|
|
116
|
+
|
|
117
|
+
// 优先使用 errCode,如果没有则使用 success 字段判断
|
|
118
|
+
const errCode = (_response$errCode = response.errCode) !== null && _response$errCode !== void 0 ? _response$errCode : response.success === false ? -1 : 0;
|
|
119
|
+
if (errCode === 0) {
|
|
120
|
+
resolve(response);
|
|
121
|
+
} else {
|
|
122
|
+
reject(new MqttError('Request failed', {
|
|
123
|
+
errCode,
|
|
124
|
+
reqType
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
// 监听指定类型的消息
|
|
130
|
+
emitter.on(reqType, handle);
|
|
131
|
+
}
|
|
50
132
|
|
|
51
|
-
|
|
52
|
-
emitter.on(reqType, handle);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
133
|
+
// 为了向后兼容,导出旧的类型别名
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import * as z from '../../myLib/zod/mini';
|
|
2
|
+
import { pointsSchema, roomIdSchema, originSchema } from './protocols/partDivisionProtocol';
|
|
3
|
+
export declare const ProtocolSchemas: {
|
|
4
|
+
query_carpet: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{}, z.core.$strip>;
|
|
5
|
+
add_carpet: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
6
|
+
shape: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>;
|
|
7
|
+
polygons: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
8
|
+
x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
9
|
+
y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
10
|
+
}, z.core.$strip>>>;
|
|
11
|
+
num: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
12
|
+
type: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>;
|
|
13
|
+
cleanMode: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>;
|
|
14
|
+
autoBoost: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>>;
|
|
15
|
+
fineCleaning: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>>;
|
|
16
|
+
sideBrushRotating: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
update_carpet: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
19
|
+
ids: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>;
|
|
20
|
+
shape: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
|
|
21
|
+
type: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>>;
|
|
22
|
+
cleanMode: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>>;
|
|
23
|
+
autoBoost: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>>;
|
|
24
|
+
fineCleaning: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>>;
|
|
25
|
+
sideBrushRotating: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>>;
|
|
26
|
+
polygons: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
27
|
+
x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
28
|
+
y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
29
|
+
}, z.core.$strip>>>>;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
delete_carpet: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
32
|
+
ids: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
set_carpet: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
35
|
+
num: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
36
|
+
polygons: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
37
|
+
x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
38
|
+
y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
39
|
+
}, z.core.$strip>>>;
|
|
40
|
+
cleanMode: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
|
|
41
|
+
shape: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>;
|
|
42
|
+
ids: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
|
|
43
|
+
type: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
44
|
+
autoBoost: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
45
|
+
fineCleaning: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
46
|
+
sideBrushRotating: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
set_schedule: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
49
|
+
list: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
50
|
+
suctions: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
51
|
+
cisterns: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
52
|
+
cleanCounts: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
53
|
+
yMops: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
54
|
+
sweepMopModes: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
55
|
+
ids: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
56
|
+
active: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
57
|
+
cycle: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
|
|
58
|
+
time: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
|
|
59
|
+
}, z.core.$strip>>;
|
|
60
|
+
num: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
61
|
+
version: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
request_schedule: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
64
|
+
version: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
65
|
+
}, z.core.$strip>;
|
|
66
|
+
set_zone_clean: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
67
|
+
zones: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
68
|
+
points: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
69
|
+
x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
70
|
+
y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
71
|
+
}, z.core.$strip>>;
|
|
72
|
+
name: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
73
|
+
advanced: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
74
|
+
id: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
75
|
+
localSave: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
76
|
+
cleanMode: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
77
|
+
order: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
78
|
+
cleanTimes: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
79
|
+
suction: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
80
|
+
cistern: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
}, z.core.$strip>>;
|
|
83
|
+
origin: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
84
|
+
x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
85
|
+
y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
86
|
+
}, z.core.$strip>;
|
|
87
|
+
suctions: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
88
|
+
cisterns: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
89
|
+
cleanCounts: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
90
|
+
yMops: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
91
|
+
sweepMopModes: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
92
|
+
}, z.core.$strip>;
|
|
93
|
+
set_wifi_map: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
94
|
+
taskId: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
95
|
+
}, z.core.$strip>;
|
|
96
|
+
set_voice: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
97
|
+
id: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
98
|
+
url: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
99
|
+
md5: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
set_virtual_wall: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
102
|
+
data: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
103
|
+
x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
104
|
+
y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
105
|
+
}, z.core.$strip>>>;
|
|
106
|
+
origin: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
107
|
+
x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
108
|
+
y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
109
|
+
}, z.core.$strip>;
|
|
110
|
+
}, z.core.$strip>;
|
|
111
|
+
set_virtual_area: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
112
|
+
data: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
113
|
+
points: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
114
|
+
x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
115
|
+
y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
116
|
+
}, z.core.$strip>>;
|
|
117
|
+
name: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
118
|
+
mode: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
119
|
+
}, z.core.$strip>>;
|
|
120
|
+
origin: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
121
|
+
x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
122
|
+
y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
123
|
+
}, z.core.$strip>;
|
|
124
|
+
}, z.core.$strip>;
|
|
125
|
+
set_spot_clean: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
126
|
+
suctions: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
127
|
+
cisterns: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
128
|
+
cleanCounts: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
129
|
+
yMops: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
130
|
+
sweepMopModes: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
131
|
+
ids: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
132
|
+
spots: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
133
|
+
x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
134
|
+
y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
135
|
+
}, z.core.$strip>>;
|
|
136
|
+
origin: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
137
|
+
x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
138
|
+
y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
139
|
+
}, z.core.$strip>>;
|
|
140
|
+
}, z.core.$strip>;
|
|
141
|
+
set_select_room_clean: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
142
|
+
roomId: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
143
|
+
suction: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
144
|
+
cistern: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
145
|
+
cleanTimes: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
|
|
146
|
+
yMop: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
|
|
147
|
+
sweepMopMode: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
148
|
+
}, z.core.$strip>>;
|
|
149
|
+
set_quiet_hours: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
150
|
+
startTime: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
151
|
+
hour: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
152
|
+
minute: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
153
|
+
}, z.core.$strip>;
|
|
154
|
+
endTime: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
155
|
+
hour: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
156
|
+
minute: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
157
|
+
}, z.core.$strip>;
|
|
158
|
+
active: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
159
|
+
day: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
160
|
+
version: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
161
|
+
}, z.core.$strip>;
|
|
162
|
+
set_password: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
163
|
+
password: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
164
|
+
oldPassword: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
165
|
+
taskId: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
166
|
+
}, z.core.$strip>;
|
|
167
|
+
check_password: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
168
|
+
password: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
169
|
+
taskId: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
170
|
+
}, z.core.$strip>;
|
|
171
|
+
set_part_merge: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>;
|
|
172
|
+
delete_history_map: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
173
|
+
mapId: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
174
|
+
}, z.core.$strip>;
|
|
175
|
+
save_map: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
176
|
+
oper: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
177
|
+
}, z.core.$strip>;
|
|
178
|
+
change_current_map: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
179
|
+
mapId: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
180
|
+
url: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
181
|
+
urlLen: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
182
|
+
}, z.core.$strip>;
|
|
183
|
+
request_furniture_list: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{}, z.core.$strip>;
|
|
184
|
+
set_furniture_model: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
185
|
+
id: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
186
|
+
modelType: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
187
|
+
scale: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
188
|
+
size: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>;
|
|
189
|
+
rotation: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>;
|
|
190
|
+
position: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>;
|
|
191
|
+
}, z.core.$strip>>;
|
|
192
|
+
set_device_model: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
193
|
+
id: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
194
|
+
modelType: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
195
|
+
scale: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
196
|
+
size: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>;
|
|
197
|
+
rotation: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>;
|
|
198
|
+
position: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>;
|
|
199
|
+
subDevId: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
200
|
+
}, z.core.$strip>>;
|
|
201
|
+
set_carpet_clean: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>>;
|
|
202
|
+
set_room_property: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
203
|
+
num: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
|
|
204
|
+
ids: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
|
|
205
|
+
suctions: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
206
|
+
cisterns: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
207
|
+
cleanCounts: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
208
|
+
yMops: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
209
|
+
sweepMopModes: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
210
|
+
floorTypes: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
211
|
+
names: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
212
|
+
orders: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
213
|
+
}, z.core.$strip>;
|
|
214
|
+
};
|
|
215
|
+
export type ProtocolTypes = {
|
|
216
|
+
[K in keyof typeof ProtocolSchemas]: z.infer<(typeof ProtocolSchemas)[K]>;
|
|
217
|
+
};
|
|
218
|
+
export declare class MiniProtocolValidator {
|
|
219
|
+
validate<T extends keyof ProtocolTypes>(protocol: T, data: unknown): ProtocolTypes[T];
|
|
220
|
+
/**
|
|
221
|
+
* 验证 set_part_division 的三个独立参数
|
|
222
|
+
* @param points 分隔点数组
|
|
223
|
+
* @param roomId 房间ID(可以是 int 或 string)
|
|
224
|
+
* @param origin 地图原点坐标
|
|
225
|
+
* @returns 验证后的数据对象
|
|
226
|
+
*/
|
|
227
|
+
validateSetPartDivision(points: unknown, roomId: unknown, origin: unknown): {
|
|
228
|
+
points: z.infer<typeof pointsSchema>;
|
|
229
|
+
roomId: z.infer<typeof roomIdSchema>;
|
|
230
|
+
origin: z.infer<typeof originSchema>;
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
export declare const validator: MiniProtocolValidator;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import "core-js/modules/esnext.iterator.map.js";
|
|
2
|
+
// protocol-validator.ts
|
|
3
|
+
|
|
4
|
+
import { MqttError } from '../promise';
|
|
5
|
+
|
|
6
|
+
// 导入各个协议的 schema 和验证函数
|
|
7
|
+
import { setCarpetCleanSchema } from './protocols/carpetCleanProtocol';
|
|
8
|
+
import { addCarpetSchema, deleteCarpetSchema, queryCarpetSchema, setCarpetSchema, updateCarpetSchema, validateAddCarpet, validateSetCarpet, validateUpdateCarpet } from './protocols/carpetProtocol';
|
|
9
|
+
import { setDeviceModelSchema } from './protocols/deviceModelProtocol';
|
|
10
|
+
import { requestFurnitureListSchema, setFurnitureModelSchema } from './protocols/furnitureModelProtocol';
|
|
11
|
+
import { changeCurrentMapSchema, deleteHistoryMapSchema, saveMapSchema } from './protocols/historyMapProtocol';
|
|
12
|
+
import { pointsSchema, roomIdSchema, originSchema } from './protocols/partDivisionProtocol';
|
|
13
|
+
import { setPartMergeSchema } from './protocols/partMergeProtocol';
|
|
14
|
+
import { checkPasswordSchema, setPasswordSchema } from './protocols/passwordProtocol';
|
|
15
|
+
import { setQuietHoursSchema } from './protocols/quietHoursProtocol';
|
|
16
|
+
import { setRoomPropertySchema, validateSetRoomProperty } from './protocols/roomPropertyProtocol';
|
|
17
|
+
import { requestScheduleSchema, setScheduleSchema, validateSetSchedule } from './protocols/scheduleProtocol';
|
|
18
|
+
import { setSelectRoomCleanSchema } from './protocols/selectRoomCleanProtocol';
|
|
19
|
+
import { setSpotCleanSchema, validateSetSpotClean } from './protocols/spotCleanProtocol';
|
|
20
|
+
import { setVirtualAreaSchema } from './protocols/virtualAreaProtocol';
|
|
21
|
+
import { setVirtualWallSchema } from './protocols/virtualWallProtocol';
|
|
22
|
+
import { setVoiceSchema } from './protocols/voiceProtocol';
|
|
23
|
+
import { setWifiMapSchema } from './protocols/wifiMapProtocol';
|
|
24
|
+
import { setZoneCleanSchema } from './protocols/zoneCleanProtocol';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* 验证失败错误代码
|
|
28
|
+
* -2 表示数据验证失败
|
|
29
|
+
*/
|
|
30
|
+
const VALIDATION_ERROR_CODE = -2;
|
|
31
|
+
|
|
32
|
+
// 协议定义 - 从各个协议文件导入
|
|
33
|
+
export const ProtocolSchemas = {
|
|
34
|
+
query_carpet: queryCarpetSchema,
|
|
35
|
+
add_carpet: addCarpetSchema,
|
|
36
|
+
update_carpet: updateCarpetSchema,
|
|
37
|
+
delete_carpet: deleteCarpetSchema,
|
|
38
|
+
set_carpet: setCarpetSchema,
|
|
39
|
+
set_schedule: setScheduleSchema,
|
|
40
|
+
request_schedule: requestScheduleSchema,
|
|
41
|
+
set_zone_clean: setZoneCleanSchema,
|
|
42
|
+
set_wifi_map: setWifiMapSchema,
|
|
43
|
+
set_voice: setVoiceSchema,
|
|
44
|
+
set_virtual_wall: setVirtualWallSchema,
|
|
45
|
+
set_virtual_area: setVirtualAreaSchema,
|
|
46
|
+
set_spot_clean: setSpotCleanSchema,
|
|
47
|
+
set_select_room_clean: setSelectRoomCleanSchema,
|
|
48
|
+
set_quiet_hours: setQuietHoursSchema,
|
|
49
|
+
set_password: setPasswordSchema,
|
|
50
|
+
check_password: checkPasswordSchema,
|
|
51
|
+
set_part_merge: setPartMergeSchema,
|
|
52
|
+
delete_history_map: deleteHistoryMapSchema,
|
|
53
|
+
save_map: saveMapSchema,
|
|
54
|
+
change_current_map: changeCurrentMapSchema,
|
|
55
|
+
request_furniture_list: requestFurnitureListSchema,
|
|
56
|
+
set_furniture_model: setFurnitureModelSchema,
|
|
57
|
+
set_device_model: setDeviceModelSchema,
|
|
58
|
+
set_carpet_clean: setCarpetCleanSchema,
|
|
59
|
+
set_room_property: setRoomPropertySchema
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// 协议验证函数类型
|
|
63
|
+
|
|
64
|
+
// 协议注册表 - 将协议名称映射到验证函数
|
|
65
|
+
const protocolValidators = {
|
|
66
|
+
add_carpet: validateAddCarpet,
|
|
67
|
+
update_carpet: validateUpdateCarpet,
|
|
68
|
+
set_carpet: validateSetCarpet,
|
|
69
|
+
set_schedule: validateSetSchedule,
|
|
70
|
+
set_spot_clean: validateSetSpotClean,
|
|
71
|
+
set_room_property: validateSetRoomProperty
|
|
72
|
+
// query_carpet 没有自定义验证逻辑,不需要注册
|
|
73
|
+
// delete_carpet 没有自定义验证逻辑,不需要注册
|
|
74
|
+
// request_schedule 没有自定义验证逻辑,不需要注册
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
// 类型导出
|
|
78
|
+
|
|
79
|
+
// 验证器类
|
|
80
|
+
export class MiniProtocolValidator {
|
|
81
|
+
validate(protocol, data) {
|
|
82
|
+
const schema = ProtocolSchemas[protocol];
|
|
83
|
+
|
|
84
|
+
// 使用 zod/mini 的 safeParse 进行基础验证
|
|
85
|
+
const result = schema.safeParse(data);
|
|
86
|
+
if (!result.success) {
|
|
87
|
+
// 验证失败,抛出 MqttError
|
|
88
|
+
throw new MqttError(`协议 ${protocol} ${JSON.stringify(data)} 验证失败:\n` + result.error.issues.map(e => ` ${e.path.join('.')}: ${e.message}`).join('\n'), {
|
|
89
|
+
errCode: VALIDATION_ERROR_CODE,
|
|
90
|
+
reqType: protocol
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
const validatedData = result.data;
|
|
94
|
+
|
|
95
|
+
// 自定义逻辑验证 - 根据协议名称调用对应的验证函数
|
|
96
|
+
const validator = protocolValidators[protocol];
|
|
97
|
+
if (validator) {
|
|
98
|
+
validator(validatedData);
|
|
99
|
+
}
|
|
100
|
+
return validatedData;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* 验证 set_part_division 的三个独立参数
|
|
105
|
+
* @param points 分隔点数组
|
|
106
|
+
* @param roomId 房间ID(可以是 int 或 string)
|
|
107
|
+
* @param origin 地图原点坐标
|
|
108
|
+
* @returns 验证后的数据对象
|
|
109
|
+
*/
|
|
110
|
+
validateSetPartDivision(points, roomId, origin) {
|
|
111
|
+
// 分别验证三个参数
|
|
112
|
+
const pointsResult = pointsSchema.safeParse(points);
|
|
113
|
+
if (!pointsResult.success) {
|
|
114
|
+
throw new MqttError(`协议 set_part_division points 参数验证失败:\n` + pointsResult.error.issues.map(e => ` ${e.path.join('.')}: ${e.message}`).join('\n'), {
|
|
115
|
+
errCode: VALIDATION_ERROR_CODE,
|
|
116
|
+
reqType: 'set_part_division'
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
const roomIdResult = roomIdSchema.safeParse(roomId);
|
|
120
|
+
if (!roomIdResult.success) {
|
|
121
|
+
throw new MqttError(`协议 set_part_division roomId 参数验证失败:\n` + roomIdResult.error.issues.map(e => ` ${e.path.join('.')}: ${e.message}`).join('\n'), {
|
|
122
|
+
errCode: VALIDATION_ERROR_CODE,
|
|
123
|
+
reqType: 'set_part_division'
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
const originResult = originSchema.safeParse(origin);
|
|
127
|
+
if (!originResult.success) {
|
|
128
|
+
throw new MqttError(`协议 set_part_division origin 参数验证失败:\n` + originResult.error.issues.map(e => ` ${e.path.join('.')}: ${e.message}`).join('\n'), {
|
|
129
|
+
errCode: VALIDATION_ERROR_CODE,
|
|
130
|
+
reqType: 'set_part_division'
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// 组合成对象并验证整体结构
|
|
135
|
+
const data = {
|
|
136
|
+
points: pointsResult.data,
|
|
137
|
+
roomId: roomIdResult.data,
|
|
138
|
+
origin: originResult.data
|
|
139
|
+
};
|
|
140
|
+
return data;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// 导出验证器实例
|
|
145
|
+
export const validator = new MiniProtocolValidator();
|
package/lib/mqtt/type/index.d.ts
CHANGED
package/lib/mqtt/type/index.js
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as z from '../../../myLib/zod/mini';
|
|
2
|
+
export declare const Point: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
3
|
+
x: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
4
|
+
y: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export declare const RoomPreferenceFieldsSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
7
|
+
suctions: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
8
|
+
cisterns: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
9
|
+
cleanCounts: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
10
|
+
yMops: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
11
|
+
sweepMopModes: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
12
|
+
ids: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export declare const BaseResponseSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
15
|
+
success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
|
|
16
|
+
errCode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
17
|
+
reqType: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
18
|
+
version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
19
|
+
taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
export type BaseResponse = z.infer<typeof BaseResponseSchema>;
|