@owine/unifi-protect-mcp 2.7.4 → 2.8.0
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/schemas/cameras.d.ts +18 -3
- package/dist/schemas/cameras.js +16 -4
- package/dist/schemas/common.d.ts +1 -1
- package/dist/schemas/common.js +1 -1
- package/dist/schemas/devices.d.ts +352 -0
- package/dist/schemas/devices.js +108 -25
- package/dist/schemas/misc.d.ts +35 -12
- package/dist/schemas/misc.js +23 -13
- package/dist/tools/arm-profiles.js +1 -1
- package/dist/tools/cameras.js +18 -8
- package/dist/tools/devices.js +18 -14
- package/dist/tools/files.js +2 -2
- package/dist/tools/liveviews.js +1 -1
- package/dist/tools/users.js +2 -2
- package/package.json +7 -7
|
@@ -20,7 +20,11 @@ export declare const cameraSchema: import("zod").ZodObject<{
|
|
|
20
20
|
supportFullHdSnapshot: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
21
21
|
videoModes: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
22
22
|
}, import("zod/v4/core").$loose>>;
|
|
23
|
-
lcdMessage: import("zod").ZodOptional<import("zod").
|
|
23
|
+
lcdMessage: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
24
|
+
type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
25
|
+
resetAt: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
26
|
+
text: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
27
|
+
}, import("zod/v4/core").$loose>>;
|
|
24
28
|
ledSettings: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
25
29
|
isEnabled: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
26
30
|
floodLed: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
@@ -60,7 +64,11 @@ export declare const cameraOutputSchema: {
|
|
|
60
64
|
supportFullHdSnapshot: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
61
65
|
videoModes: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
62
66
|
}, import("zod/v4/core").$loose>>;
|
|
63
|
-
lcdMessage: import("zod").ZodOptional<import("zod").
|
|
67
|
+
lcdMessage: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
68
|
+
type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
69
|
+
resetAt: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
70
|
+
text: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
71
|
+
}, import("zod/v4/core").$loose>>;
|
|
64
72
|
ledSettings: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
65
73
|
isEnabled: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
66
74
|
floodLed: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
@@ -101,7 +109,11 @@ export declare const cameraListOutputSchema: {
|
|
|
101
109
|
supportFullHdSnapshot: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
102
110
|
videoModes: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
103
111
|
}, import("zod/v4/core").$loose>>;
|
|
104
|
-
lcdMessage: import("zod").ZodOptional<import("zod").
|
|
112
|
+
lcdMessage: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
113
|
+
type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
114
|
+
resetAt: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
115
|
+
text: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
116
|
+
}, import("zod/v4/core").$loose>>;
|
|
105
117
|
ledSettings: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
106
118
|
isEnabled: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
107
119
|
floodLed: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
@@ -134,4 +146,7 @@ export declare const rtspStreamOutputSchema: {
|
|
|
134
146
|
};
|
|
135
147
|
export declare const talkbackSessionOutputSchema: {
|
|
136
148
|
url: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
149
|
+
codec: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
150
|
+
samplingRate: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
151
|
+
bitsPerSample: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
137
152
|
};
|
package/dist/schemas/cameras.js
CHANGED
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.talkbackSessionOutputSchema = exports.rtspStreamOutputSchema = exports.rtspStreamSchema = exports.cameraListOutputSchema = exports.cameraOutputSchema = exports.cameraSchema = void 0;
|
|
4
4
|
const common_js_1 = require("./common.js");
|
|
5
5
|
/**
|
|
6
|
-
* Verified against live UniFi Protect Integration API 7.1.
|
|
6
|
+
* Verified against live UniFi Protect Integration API 7.1.83 (2026-06-20).
|
|
7
7
|
* The Integration API camera object is far smaller than the internal Protect
|
|
8
8
|
* app's camera model — no isRecording/lastMotion/channels/firmwareVersion/etc.
|
|
9
|
-
* `list` and `get-by-id` return the same field set.
|
|
9
|
+
* `list` and `get-by-id` return the same field set (confirmed live).
|
|
10
10
|
*/
|
|
11
11
|
const featureFlagsSchema = (0, common_js_1.passthroughObject)({
|
|
12
12
|
hasHdr: (0, common_js_1.unknownField)("Supports HDR (boolean)"),
|
|
@@ -34,6 +34,13 @@ const smartDetectSettingsSchema = (0, common_js_1.passthroughObject)({
|
|
|
34
34
|
objectTypes: (0, common_js_1.unknownField)("Enabled object-detect types (array of strings)"),
|
|
35
35
|
audioTypes: (0, common_js_1.unknownField)("Enabled audio-detect types (array of strings)"),
|
|
36
36
|
});
|
|
37
|
+
// Verified live (7.1.83): doorbell LCD message. `resetAt` is null when the
|
|
38
|
+
// message has no expiry, so it stays unknownField (number|null).
|
|
39
|
+
const lcdMessageSchema = (0, common_js_1.passthroughObject)({
|
|
40
|
+
type: (0, common_js_1.nullableString)('Message type, e.g. "CUSTOM_MESSAGE", "LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB"'),
|
|
41
|
+
resetAt: (0, common_js_1.unknownField)("Auto-reset timestamp in epoch ms, or null (number|null)"),
|
|
42
|
+
text: (0, common_js_1.nullableString)("Message text shown on the doorbell LCD"),
|
|
43
|
+
});
|
|
37
44
|
exports.cameraSchema = (0, common_js_1.passthroughObject)({
|
|
38
45
|
id: (0, common_js_1.idField)("Camera ID"),
|
|
39
46
|
mac: (0, common_js_1.nullableString)("MAC address"),
|
|
@@ -47,7 +54,7 @@ exports.cameraSchema = (0, common_js_1.passthroughObject)({
|
|
|
47
54
|
micVolume: (0, common_js_1.unknownField)("Microphone volume 0-100 (number)"),
|
|
48
55
|
videoMode: (0, common_js_1.nullableString)('Video mode, e.g. "default"'),
|
|
49
56
|
featureFlags: featureFlagsSchema.optional(),
|
|
50
|
-
lcdMessage:
|
|
57
|
+
lcdMessage: lcdMessageSchema.optional(),
|
|
51
58
|
ledSettings: ledSettingsSchema.optional(),
|
|
52
59
|
osdSettings: osdSettingsSchema.optional(),
|
|
53
60
|
smartDetectSettings: smartDetectSettingsSchema.optional(),
|
|
@@ -64,6 +71,11 @@ exports.rtspStreamSchema = (0, common_js_1.passthroughObject)({
|
|
|
64
71
|
package: (0, common_js_1.nullableString)("RTSPS URL for the package-camera stream"),
|
|
65
72
|
});
|
|
66
73
|
exports.rtspStreamOutputSchema = { ...exports.rtspStreamSchema.shape };
|
|
74
|
+
// Verified against 7.1.83 docs: talkback returns the stream URL plus audio
|
|
75
|
+
// config the client needs to encode outbound audio.
|
|
67
76
|
exports.talkbackSessionOutputSchema = {
|
|
68
|
-
url: (0, common_js_1.nullableString)("Talkback session URL"),
|
|
77
|
+
url: (0, common_js_1.nullableString)("Talkback session URL (e.g. rtp://host:port)"),
|
|
78
|
+
codec: (0, common_js_1.nullableString)('Audio codec, e.g. "opus"'),
|
|
79
|
+
samplingRate: (0, common_js_1.unknownField)("Audio sampling rate in Hz (number)"),
|
|
80
|
+
bitsPerSample: (0, common_js_1.unknownField)("Audio bit depth (number)"),
|
|
69
81
|
};
|
package/dist/schemas/common.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { z } from "zod";
|
|
|
2
2
|
/**
|
|
3
3
|
* Schema primitives for Protect outputSchema declarations.
|
|
4
4
|
*
|
|
5
|
-
* Hard-won rule (verified against live 7.1.
|
|
5
|
+
* Hard-won rule (verified against live 7.1.83): the UniFi Protect Integration
|
|
6
6
|
* API returns explicit `null` for absent string fields (e.g. a user with no
|
|
7
7
|
* email returns `email: null`, not omitted). `z.string().optional()` permits
|
|
8
8
|
* `undefined` but REJECTS `null`, which fails SDK output validation and breaks
|
package/dist/schemas/common.js
CHANGED
|
@@ -9,7 +9,7 @@ const zod_1 = require("zod");
|
|
|
9
9
|
/**
|
|
10
10
|
* Schema primitives for Protect outputSchema declarations.
|
|
11
11
|
*
|
|
12
|
-
* Hard-won rule (verified against live 7.1.
|
|
12
|
+
* Hard-won rule (verified against live 7.1.83): the UniFi Protect Integration
|
|
13
13
|
* API returns explicit `null` for absent string fields (e.g. a user with no
|
|
14
14
|
* email returns `email: null`, not omitted). `z.string().optional()` permits
|
|
15
15
|
* `undefined` but REJECTS `null`, which fails SDK output validation and breaks
|