@camstack/types 1.2.24 → 1.2.25
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/addon.js +3 -2
- package/dist/addon.mjs +3 -2
- package/dist/capabilities/index.d.ts +1 -1
- package/dist/capabilities/notification-rules.cap.d.ts +173 -0
- package/dist/capabilities/stream-broker.cap.d.ts +1 -0
- package/dist/generated/addon-api.d.ts +21 -0
- package/dist/generated/device-proxy.d.ts +2 -0
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +0 -2
- package/dist/index.js +234 -16
- package/dist/index.mjs +230 -17
- package/dist/{sleep-CI7DYokZ.js → sleep-BvSjpsfC.js} +14 -0
- package/dist/{sleep-D60ITzpD.mjs → sleep-vCXN9wNH.mjs} +14 -0
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sleep = require("./sleep-
|
|
2
|
+
const require_sleep = require("./sleep-BvSjpsfC.js");
|
|
3
3
|
const require_event_category = require("./event-category-BE4PDZ_3.js");
|
|
4
4
|
const require_err_msg = require("./err-msg-COpsHMw2.js");
|
|
5
5
|
//#region src/generated/collection-array-methods.ts
|
|
@@ -248,7 +248,8 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
|
|
|
248
248
|
"postRollSec": 5,
|
|
249
249
|
"format": "gif",
|
|
250
250
|
"maxWidth": 480,
|
|
251
|
-
"fps": 5
|
|
251
|
+
"fps": 5,
|
|
252
|
+
"speed": 2
|
|
252
253
|
}
|
|
253
254
|
},
|
|
254
255
|
"user-management": {
|
package/dist/addon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as parseJsonUnknown, Ct as DisposerChain, D as asString, F as ReadinessRegistry, I as ReadinessTimeoutError, M as nodePin, N as readNodePin, P as DATAPLANE_SECRET_HEADER, S as DeviceType, T as asJsonObject, a as viewerUiCapability, dt as BaseAddon, ft as normalizeAddonInitResult, ht as emitReadiness, i as deviceOpsCapability, m as expandCapMethods, o as adminUiCapability, s as createDeviceProxy, t as sleep, z as scopeKey } from "./sleep-
|
|
1
|
+
import { A as parseJsonUnknown, Ct as DisposerChain, D as asString, F as ReadinessRegistry, I as ReadinessTimeoutError, M as nodePin, N as readNodePin, P as DATAPLANE_SECRET_HEADER, S as DeviceType, T as asJsonObject, a as viewerUiCapability, dt as BaseAddon, ft as normalizeAddonInitResult, ht as emitReadiness, i as deviceOpsCapability, m as expandCapMethods, o as adminUiCapability, s as createDeviceProxy, t as sleep, z as scopeKey } from "./sleep-vCXN9wNH.mjs";
|
|
2
2
|
import { t as EventCategory } from "./event-category-41fKf-q9.mjs";
|
|
3
3
|
import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
|
|
4
4
|
//#region src/generated/collection-array-methods.ts
|
|
@@ -247,7 +247,8 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
|
|
|
247
247
|
"postRollSec": 5,
|
|
248
248
|
"format": "gif",
|
|
249
249
|
"maxWidth": 480,
|
|
250
|
-
"fps": 5
|
|
250
|
+
"fps": 5,
|
|
251
|
+
"speed": 2
|
|
251
252
|
}
|
|
252
253
|
},
|
|
253
254
|
"user-management": {
|
|
@@ -74,7 +74,7 @@ export { AddBrokerInputSchema, BrokerConnectionDetailsSchema, BrokerInfoSchema,
|
|
|
74
74
|
export type { NetworkAccessStatus, NetworkEndpoint } from './network-access.cap.js';
|
|
75
75
|
export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapability, } from './network-access.cap.js';
|
|
76
76
|
export { type Attachment, type AttachmentMediaType, AttachmentMediaTypeSchema, AttachmentSchema, type DiscoveredTarget, DiscoveredTargetSchema, type INotificationOutputProvider, type NotificationAction, NotificationActionSchema, type NotificationFormat, NotificationFormatSchema, NotificationSchema, notificationOutputCapability, type RenderedAs, RenderedAsSchema, type SendResult, SendResultSchema, type Target, type TargetKind, type TargetKindCaps, TargetKindCapsSchema, type TargetKindLevel, TargetKindLevelSchema, TargetKindSchema, TargetSchema, type TestResult, TestResultSchema, } from './notification-output.cap.js';
|
|
77
|
-
export { type INotificationRulesProvider, NC_CONDITION_CATALOG, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcCrossing, NcCrossingSchema, type NcDelivery, NcDeliverySchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleInput, NcRuleInputSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
|
|
77
|
+
export { type INotificationRulesProvider, NC_CONDITION_CATALOG, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcCrossing, NcCrossingSchema, type NcDelivery, NcDeliverySchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleInput, NcRuleInputSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcSnooze, type NcSnoozeInput, NcSnoozeInputSchema, NcSnoozeSchema, type NcSnoozeScope, NcSnoozeScopeSchema, type NcSnoozeSuppressed, NcSnoozeSuppressedSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
|
|
78
78
|
export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
|
|
79
79
|
export { type AudioEvent, AudioEventSchema, type DetectionSource, DetectionSourceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type MediaFile, type MediaFileKind, MediaFileSchema, type MotionEvent, MotionEventSchema, type ObjectEvent, ObjectEventSchema, pipelineAnalyticsCapability, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type ScoredObjectEvent, ScoredObjectEventSchema, type SensorEvent, SensorEventSchema, type Track, type TrackCascadeCounts, TrackCascadeCountsSchema, type TrackEnvelope, TrackEnvelopeSchema, TrackedDetectionSchema, type TrackProjection, TrackProjectionSchema, TrackSchema, type TrackState, TrackStateSchema, type TrackZoneFilter, TrackZoneFilterSchema, type ZoneCrossing, type ZoneCrossingDirection, ZoneCrossingDirectionSchema, ZoneCrossingSchema, } from './pipeline-analytics.cap.js';
|
|
80
80
|
export type { NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
|
|
@@ -259,6 +259,7 @@ export declare const NcMediaPolicySchema: z.ZodObject<{
|
|
|
259
259
|
clip: z.ZodOptional<z.ZodBoolean>;
|
|
260
260
|
clipPreRollSec: z.ZodOptional<z.ZodNumber>;
|
|
261
261
|
clipPostRollSec: z.ZodOptional<z.ZodNumber>;
|
|
262
|
+
clipSpeed: z.ZodOptional<z.ZodNumber>;
|
|
262
263
|
profile: z.ZodOptional<z.ZodEnum<{
|
|
263
264
|
high: "high";
|
|
264
265
|
mid: "mid";
|
|
@@ -398,6 +399,7 @@ export declare const NcRuleInputSchema: z.ZodObject<{
|
|
|
398
399
|
clip: z.ZodOptional<z.ZodBoolean>;
|
|
399
400
|
clipPreRollSec: z.ZodOptional<z.ZodNumber>;
|
|
400
401
|
clipPostRollSec: z.ZodOptional<z.ZodNumber>;
|
|
402
|
+
clipSpeed: z.ZodOptional<z.ZodNumber>;
|
|
401
403
|
profile: z.ZodOptional<z.ZodEnum<{
|
|
402
404
|
high: "high";
|
|
403
405
|
mid: "mid";
|
|
@@ -421,6 +423,7 @@ export declare const NcRuleInputSchema: z.ZodObject<{
|
|
|
421
423
|
}, z.core.$strip>>;
|
|
422
424
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
423
425
|
ownerUserId: z.ZodOptional<z.ZodString>;
|
|
426
|
+
snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
|
|
424
427
|
}, z.core.$strip>;
|
|
425
428
|
export type NcRuleInput = z.infer<typeof NcRuleInputSchema>;
|
|
426
429
|
/**
|
|
@@ -533,6 +536,7 @@ export declare const NcRulePatchSchema: z.ZodObject<{
|
|
|
533
536
|
clip: z.ZodOptional<z.ZodBoolean>;
|
|
534
537
|
clipPreRollSec: z.ZodOptional<z.ZodNumber>;
|
|
535
538
|
clipPostRollSec: z.ZodOptional<z.ZodNumber>;
|
|
539
|
+
clipSpeed: z.ZodOptional<z.ZodNumber>;
|
|
536
540
|
profile: z.ZodOptional<z.ZodEnum<{
|
|
537
541
|
high: "high";
|
|
538
542
|
mid: "mid";
|
|
@@ -556,6 +560,7 @@ export declare const NcRulePatchSchema: z.ZodObject<{
|
|
|
556
560
|
}, z.core.$strip>>>;
|
|
557
561
|
priority: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
558
562
|
ownerUserId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
563
|
+
snoozeAllowGlobal: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
559
564
|
disabledTargetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
560
565
|
}, z.core.$strip>;
|
|
561
566
|
export type NcRulePatch = z.infer<typeof NcRulePatchSchema>;
|
|
@@ -661,6 +666,7 @@ export declare const NcRuleSchema: z.ZodObject<{
|
|
|
661
666
|
clip: z.ZodOptional<z.ZodBoolean>;
|
|
662
667
|
clipPreRollSec: z.ZodOptional<z.ZodNumber>;
|
|
663
668
|
clipPostRollSec: z.ZodOptional<z.ZodNumber>;
|
|
669
|
+
clipSpeed: z.ZodOptional<z.ZodNumber>;
|
|
664
670
|
profile: z.ZodOptional<z.ZodEnum<{
|
|
665
671
|
high: "high";
|
|
666
672
|
mid: "mid";
|
|
@@ -684,6 +690,7 @@ export declare const NcRuleSchema: z.ZodObject<{
|
|
|
684
690
|
}, z.core.$strip>>;
|
|
685
691
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
686
692
|
ownerUserId: z.ZodOptional<z.ZodString>;
|
|
693
|
+
snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
|
|
687
694
|
id: z.ZodString;
|
|
688
695
|
createdBy: z.ZodString;
|
|
689
696
|
createdAt: z.ZodNumber;
|
|
@@ -753,6 +760,11 @@ export declare const NcConditionDescriptorSchema: z.ZodObject<{
|
|
|
753
760
|
}>>;
|
|
754
761
|
phase: z.ZodString;
|
|
755
762
|
description: z.ZodOptional<z.ZodString>;
|
|
763
|
+
options: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
764
|
+
value: z.ZodString;
|
|
765
|
+
label: z.ZodString;
|
|
766
|
+
hint: z.ZodOptional<z.ZodString>;
|
|
767
|
+
}, z.core.$strip>>>>;
|
|
756
768
|
}, z.core.$strip>;
|
|
757
769
|
export type NcConditionDescriptor = z.infer<typeof NcConditionDescriptorSchema>;
|
|
758
770
|
/**
|
|
@@ -866,6 +878,68 @@ export declare const NcHistoryFilterSchema: z.ZodObject<{
|
|
|
866
878
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
867
879
|
}, z.core.$strip>;
|
|
868
880
|
export type NcHistoryFilter = z.infer<typeof NcHistoryFilterSchema>;
|
|
881
|
+
/**
|
|
882
|
+
* What a snooze covers. Broader scopes win when several overlap, so one window
|
|
883
|
+
* leaves ONE digest rather than a rule snooze and a whole-feed snooze both
|
|
884
|
+
* summarising the same silence.
|
|
885
|
+
*/
|
|
886
|
+
export declare const NcSnoozeScopeSchema: z.ZodEnum<{
|
|
887
|
+
device: "device";
|
|
888
|
+
all: "all";
|
|
889
|
+
rule: "rule";
|
|
890
|
+
}>;
|
|
891
|
+
export type NcSnoozeScope = z.infer<typeof NcSnoozeScopeSchema>;
|
|
892
|
+
/** Hard ceiling on a window (24h). A snooze that could not expire would be an
|
|
893
|
+
* outage the operator asked for once and forgot. */
|
|
894
|
+
export declare const NC_SNOOZE_MAX_MINUTES = 1440;
|
|
895
|
+
/**
|
|
896
|
+
* Client-authored snooze. The server stamps `userId`, `startedAt` and
|
|
897
|
+
* `expiresAt` — a DURATION is sent rather than an instant so a client with a
|
|
898
|
+
* skewed clock cannot author a window that is already over, or never ends.
|
|
899
|
+
*/
|
|
900
|
+
export declare const NcSnoozeInputSchema: z.ZodObject<{
|
|
901
|
+
scope: z.ZodEnum<{
|
|
902
|
+
device: "device";
|
|
903
|
+
all: "all";
|
|
904
|
+
rule: "rule";
|
|
905
|
+
}>;
|
|
906
|
+
ruleId: z.ZodOptional<z.ZodString>;
|
|
907
|
+
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
908
|
+
durationMinutes: z.ZodNumber;
|
|
909
|
+
global: z.ZodOptional<z.ZodBoolean>;
|
|
910
|
+
summary: z.ZodOptional<z.ZodBoolean>;
|
|
911
|
+
}, z.core.$strip>;
|
|
912
|
+
export type NcSnoozeInput = z.infer<typeof NcSnoozeInputSchema>;
|
|
913
|
+
/** A persisted snooze window. */
|
|
914
|
+
export declare const NcSnoozeSchema: z.ZodObject<{
|
|
915
|
+
id: z.ZodString;
|
|
916
|
+
userId: z.ZodString;
|
|
917
|
+
scope: z.ZodEnum<{
|
|
918
|
+
device: "device";
|
|
919
|
+
all: "all";
|
|
920
|
+
rule: "rule";
|
|
921
|
+
}>;
|
|
922
|
+
ruleId: z.ZodOptional<z.ZodString>;
|
|
923
|
+
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
924
|
+
startedAt: z.ZodNumber;
|
|
925
|
+
expiresAt: z.ZodNumber;
|
|
926
|
+
global: z.ZodBoolean;
|
|
927
|
+
summary: z.ZodBoolean;
|
|
928
|
+
digestSentAt: z.ZodOptional<z.ZodNumber>;
|
|
929
|
+
}, z.core.$strip>;
|
|
930
|
+
export type NcSnooze = z.infer<typeof NcSnoozeSchema>;
|
|
931
|
+
/** One line of an end-of-window digest: what one rule hid on one camera. */
|
|
932
|
+
export declare const NcSnoozeSuppressedSchema: z.ZodObject<{
|
|
933
|
+
snoozeId: z.ZodString;
|
|
934
|
+
targetId: z.ZodString;
|
|
935
|
+
ruleId: z.ZodString;
|
|
936
|
+
ruleName: z.ZodString;
|
|
937
|
+
deviceId: z.ZodNumber;
|
|
938
|
+
count: z.ZodNumber;
|
|
939
|
+
firstAt: z.ZodNumber;
|
|
940
|
+
lastAt: z.ZodNumber;
|
|
941
|
+
}, z.core.$strip>;
|
|
942
|
+
export type NcSnoozeSuppressed = z.infer<typeof NcSnoozeSuppressedSchema>;
|
|
869
943
|
export declare const notificationRulesCapability: {
|
|
870
944
|
readonly name: "notification-rules";
|
|
871
945
|
readonly scope: "system";
|
|
@@ -973,6 +1047,7 @@ export declare const notificationRulesCapability: {
|
|
|
973
1047
|
clip: z.ZodOptional<z.ZodBoolean>;
|
|
974
1048
|
clipPreRollSec: z.ZodOptional<z.ZodNumber>;
|
|
975
1049
|
clipPostRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1050
|
+
clipSpeed: z.ZodOptional<z.ZodNumber>;
|
|
976
1051
|
profile: z.ZodOptional<z.ZodEnum<{
|
|
977
1052
|
high: "high";
|
|
978
1053
|
mid: "mid";
|
|
@@ -996,6 +1071,7 @@ export declare const notificationRulesCapability: {
|
|
|
996
1071
|
}, z.core.$strip>>;
|
|
997
1072
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
998
1073
|
ownerUserId: z.ZodOptional<z.ZodString>;
|
|
1074
|
+
snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
|
|
999
1075
|
id: z.ZodString;
|
|
1000
1076
|
createdBy: z.ZodString;
|
|
1001
1077
|
createdAt: z.ZodNumber;
|
|
@@ -1107,6 +1183,7 @@ export declare const notificationRulesCapability: {
|
|
|
1107
1183
|
clip: z.ZodOptional<z.ZodBoolean>;
|
|
1108
1184
|
clipPreRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1109
1185
|
clipPostRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1186
|
+
clipSpeed: z.ZodOptional<z.ZodNumber>;
|
|
1110
1187
|
profile: z.ZodOptional<z.ZodEnum<{
|
|
1111
1188
|
high: "high";
|
|
1112
1189
|
mid: "mid";
|
|
@@ -1130,6 +1207,7 @@ export declare const notificationRulesCapability: {
|
|
|
1130
1207
|
}, z.core.$strip>>;
|
|
1131
1208
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
1132
1209
|
ownerUserId: z.ZodOptional<z.ZodString>;
|
|
1210
|
+
snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
|
|
1133
1211
|
id: z.ZodString;
|
|
1134
1212
|
createdBy: z.ZodString;
|
|
1135
1213
|
createdAt: z.ZodNumber;
|
|
@@ -1239,6 +1317,7 @@ export declare const notificationRulesCapability: {
|
|
|
1239
1317
|
clip: z.ZodOptional<z.ZodBoolean>;
|
|
1240
1318
|
clipPreRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1241
1319
|
clipPostRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1320
|
+
clipSpeed: z.ZodOptional<z.ZodNumber>;
|
|
1242
1321
|
profile: z.ZodOptional<z.ZodEnum<{
|
|
1243
1322
|
high: "high";
|
|
1244
1323
|
mid: "mid";
|
|
@@ -1262,6 +1341,7 @@ export declare const notificationRulesCapability: {
|
|
|
1262
1341
|
}, z.core.$strip>>;
|
|
1263
1342
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
1264
1343
|
ownerUserId: z.ZodOptional<z.ZodString>;
|
|
1344
|
+
snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
|
|
1265
1345
|
}, z.core.$strip>;
|
|
1266
1346
|
}, z.core.$strip>, z.ZodObject<{
|
|
1267
1347
|
rule: z.ZodObject<{
|
|
@@ -1365,6 +1445,7 @@ export declare const notificationRulesCapability: {
|
|
|
1365
1445
|
clip: z.ZodOptional<z.ZodBoolean>;
|
|
1366
1446
|
clipPreRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1367
1447
|
clipPostRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1448
|
+
clipSpeed: z.ZodOptional<z.ZodNumber>;
|
|
1368
1449
|
profile: z.ZodOptional<z.ZodEnum<{
|
|
1369
1450
|
high: "high";
|
|
1370
1451
|
mid: "mid";
|
|
@@ -1388,6 +1469,7 @@ export declare const notificationRulesCapability: {
|
|
|
1388
1469
|
}, z.core.$strip>>;
|
|
1389
1470
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
1390
1471
|
ownerUserId: z.ZodOptional<z.ZodString>;
|
|
1472
|
+
snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
|
|
1391
1473
|
id: z.ZodString;
|
|
1392
1474
|
createdBy: z.ZodString;
|
|
1393
1475
|
createdAt: z.ZodNumber;
|
|
@@ -1500,6 +1582,7 @@ export declare const notificationRulesCapability: {
|
|
|
1500
1582
|
clip: z.ZodOptional<z.ZodBoolean>;
|
|
1501
1583
|
clipPreRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1502
1584
|
clipPostRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1585
|
+
clipSpeed: z.ZodOptional<z.ZodNumber>;
|
|
1503
1586
|
profile: z.ZodOptional<z.ZodEnum<{
|
|
1504
1587
|
high: "high";
|
|
1505
1588
|
mid: "mid";
|
|
@@ -1523,6 +1606,7 @@ export declare const notificationRulesCapability: {
|
|
|
1523
1606
|
}, z.core.$strip>>>;
|
|
1524
1607
|
priority: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
1525
1608
|
ownerUserId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
1609
|
+
snoozeAllowGlobal: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
1526
1610
|
disabledTargetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1527
1611
|
}, z.core.$strip>;
|
|
1528
1612
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -1627,6 +1711,7 @@ export declare const notificationRulesCapability: {
|
|
|
1627
1711
|
clip: z.ZodOptional<z.ZodBoolean>;
|
|
1628
1712
|
clipPreRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1629
1713
|
clipPostRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1714
|
+
clipSpeed: z.ZodOptional<z.ZodNumber>;
|
|
1630
1715
|
profile: z.ZodOptional<z.ZodEnum<{
|
|
1631
1716
|
high: "high";
|
|
1632
1717
|
mid: "mid";
|
|
@@ -1650,6 +1735,7 @@ export declare const notificationRulesCapability: {
|
|
|
1650
1735
|
}, z.core.$strip>>;
|
|
1651
1736
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
1652
1737
|
ownerUserId: z.ZodOptional<z.ZodString>;
|
|
1738
|
+
snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
|
|
1653
1739
|
id: z.ZodString;
|
|
1654
1740
|
createdBy: z.ZodString;
|
|
1655
1741
|
createdAt: z.ZodNumber;
|
|
@@ -1777,6 +1863,7 @@ export declare const notificationRulesCapability: {
|
|
|
1777
1863
|
clip: z.ZodOptional<z.ZodBoolean>;
|
|
1778
1864
|
clipPreRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1779
1865
|
clipPostRollSec: z.ZodOptional<z.ZodNumber>;
|
|
1866
|
+
clipSpeed: z.ZodOptional<z.ZodNumber>;
|
|
1780
1867
|
profile: z.ZodOptional<z.ZodEnum<{
|
|
1781
1868
|
high: "high";
|
|
1782
1869
|
mid: "mid";
|
|
@@ -1800,6 +1887,7 @@ export declare const notificationRulesCapability: {
|
|
|
1800
1887
|
}, z.core.$strip>>;
|
|
1801
1888
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
1802
1889
|
ownerUserId: z.ZodOptional<z.ZodString>;
|
|
1890
|
+
snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
|
|
1803
1891
|
}, z.core.$strip>;
|
|
1804
1892
|
lookbackMinutes: z.ZodDefault<z.ZodNumber>;
|
|
1805
1893
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -1876,6 +1964,11 @@ export declare const notificationRulesCapability: {
|
|
|
1876
1964
|
}>>;
|
|
1877
1965
|
phase: z.ZodString;
|
|
1878
1966
|
description: z.ZodOptional<z.ZodString>;
|
|
1967
|
+
options: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1968
|
+
value: z.ZodString;
|
|
1969
|
+
label: z.ZodString;
|
|
1970
|
+
hint: z.ZodOptional<z.ZodString>;
|
|
1971
|
+
}, z.core.$strip>>>>;
|
|
1879
1972
|
}, z.core.$strip>>;
|
|
1880
1973
|
taxonomy: z.ZodOptional<z.ZodObject<{
|
|
1881
1974
|
videoClasses: z.ZodArray<z.ZodObject<{
|
|
@@ -1956,6 +2049,86 @@ export declare const notificationRulesCapability: {
|
|
|
1956
2049
|
}, z.core.$strip>;
|
|
1957
2050
|
}, z.core.$strip>>;
|
|
1958
2051
|
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
2052
|
+
/**
|
|
2053
|
+
* Snooze windows currently in effect, plus any whose digest has not yet
|
|
2054
|
+
* gone out. `caller: 'required'`: a user sees their OWN windows and the
|
|
2055
|
+
* global ones that silence them, never another person's private silence.
|
|
2056
|
+
* An admin sees every window — a household-wide silence is exactly the
|
|
2057
|
+
* thing an operator has to be able to find and cancel.
|
|
2058
|
+
*/
|
|
2059
|
+
readonly listSnoozes: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
|
|
2060
|
+
snoozes: z.ZodArray<z.ZodObject<{
|
|
2061
|
+
id: z.ZodString;
|
|
2062
|
+
userId: z.ZodString;
|
|
2063
|
+
scope: z.ZodEnum<{
|
|
2064
|
+
device: "device";
|
|
2065
|
+
all: "all";
|
|
2066
|
+
rule: "rule";
|
|
2067
|
+
}>;
|
|
2068
|
+
ruleId: z.ZodOptional<z.ZodString>;
|
|
2069
|
+
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
2070
|
+
startedAt: z.ZodNumber;
|
|
2071
|
+
expiresAt: z.ZodNumber;
|
|
2072
|
+
global: z.ZodBoolean;
|
|
2073
|
+
summary: z.ZodBoolean;
|
|
2074
|
+
digestSentAt: z.ZodOptional<z.ZodNumber>;
|
|
2075
|
+
}, z.core.$strip>>;
|
|
2076
|
+
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind> & {
|
|
2077
|
+
readonly caller: "required";
|
|
2078
|
+
};
|
|
2079
|
+
/**
|
|
2080
|
+
* Open a window. `userId` is stamped from the caller; a GLOBAL window is
|
|
2081
|
+
* permission-checked server-side (the rule's `snoozeAllowGlobal` for a
|
|
2082
|
+
* rule-scoped one, admin for a camera or the whole feed) — a client asking
|
|
2083
|
+
* for one it may not have is rejected, never silently downgraded, because
|
|
2084
|
+
* a snooze the operator believes is in effect and is not is the same
|
|
2085
|
+
* failure as one they cannot end.
|
|
2086
|
+
*/
|
|
2087
|
+
readonly createSnooze: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2088
|
+
snooze: z.ZodObject<{
|
|
2089
|
+
scope: z.ZodEnum<{
|
|
2090
|
+
device: "device";
|
|
2091
|
+
all: "all";
|
|
2092
|
+
rule: "rule";
|
|
2093
|
+
}>;
|
|
2094
|
+
ruleId: z.ZodOptional<z.ZodString>;
|
|
2095
|
+
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
2096
|
+
durationMinutes: z.ZodNumber;
|
|
2097
|
+
global: z.ZodOptional<z.ZodBoolean>;
|
|
2098
|
+
summary: z.ZodOptional<z.ZodBoolean>;
|
|
2099
|
+
}, z.core.$strip>;
|
|
2100
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2101
|
+
snooze: z.ZodObject<{
|
|
2102
|
+
id: z.ZodString;
|
|
2103
|
+
userId: z.ZodString;
|
|
2104
|
+
scope: z.ZodEnum<{
|
|
2105
|
+
device: "device";
|
|
2106
|
+
all: "all";
|
|
2107
|
+
rule: "rule";
|
|
2108
|
+
}>;
|
|
2109
|
+
ruleId: z.ZodOptional<z.ZodString>;
|
|
2110
|
+
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
2111
|
+
startedAt: z.ZodNumber;
|
|
2112
|
+
expiresAt: z.ZodNumber;
|
|
2113
|
+
global: z.ZodBoolean;
|
|
2114
|
+
summary: z.ZodBoolean;
|
|
2115
|
+
digestSentAt: z.ZodOptional<z.ZodNumber>;
|
|
2116
|
+
}, z.core.$strip>;
|
|
2117
|
+
}, z.core.$strip>, "mutation"> & {
|
|
2118
|
+
readonly caller: "required";
|
|
2119
|
+
};
|
|
2120
|
+
/**
|
|
2121
|
+
* End a window NOW. The digest still goes out (what was hidden while it
|
|
2122
|
+
* was open is still what the operator missed); only the silence stops.
|
|
2123
|
+
* A user may cancel their own; an admin may cancel any.
|
|
2124
|
+
*/
|
|
2125
|
+
readonly cancelSnooze: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2126
|
+
snoozeId: z.ZodString;
|
|
2127
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2128
|
+
success: z.ZodLiteral<true>;
|
|
2129
|
+
}, z.core.$strip>, "mutation"> & {
|
|
2130
|
+
readonly caller: "required";
|
|
2131
|
+
};
|
|
1959
2132
|
};
|
|
1960
2133
|
};
|
|
1961
2134
|
export type INotificationRulesProvider = InferProvider<typeof notificationRulesCapability>;
|
|
@@ -421,6 +421,7 @@ export declare const streamBrokerCapability: {
|
|
|
421
421
|
}>>;
|
|
422
422
|
maxWidth: z.ZodDefault<z.ZodNumber>;
|
|
423
423
|
fps: z.ZodDefault<z.ZodNumber>;
|
|
424
|
+
speed: z.ZodDefault<z.ZodNumber>;
|
|
424
425
|
}, z.core.$strip>, z.ZodObject<{
|
|
425
426
|
base64: z.ZodString;
|
|
426
427
|
mime: z.ZodString;
|
|
@@ -4326,6 +4326,27 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
4326
4326
|
output: z.infer<typeof notificationRulesCapability.methods.getHistory.output>;
|
|
4327
4327
|
meta: object;
|
|
4328
4328
|
}>;
|
|
4329
|
+
listSnoozes: TRPCQueryProcedure<{
|
|
4330
|
+
input: {
|
|
4331
|
+
[x: string]: unknown;
|
|
4332
|
+
} & z.input<typeof notificationRulesCapability.methods.listSnoozes.input>;
|
|
4333
|
+
output: z.infer<typeof notificationRulesCapability.methods.listSnoozes.output>;
|
|
4334
|
+
meta: object;
|
|
4335
|
+
}>;
|
|
4336
|
+
createSnooze: TRPCMutationProcedure<{
|
|
4337
|
+
input: {
|
|
4338
|
+
[x: string]: unknown;
|
|
4339
|
+
} & z.input<typeof notificationRulesCapability.methods.createSnooze.input>;
|
|
4340
|
+
output: z.infer<typeof notificationRulesCapability.methods.createSnooze.output>;
|
|
4341
|
+
meta: object;
|
|
4342
|
+
}>;
|
|
4343
|
+
cancelSnooze: TRPCMutationProcedure<{
|
|
4344
|
+
input: {
|
|
4345
|
+
[x: string]: unknown;
|
|
4346
|
+
} & z.input<typeof notificationRulesCapability.methods.cancelSnooze.input>;
|
|
4347
|
+
output: z.infer<typeof notificationRulesCapability.methods.cancelSnooze.output>;
|
|
4348
|
+
meta: object;
|
|
4349
|
+
}>;
|
|
4329
4350
|
}>>;
|
|
4330
4351
|
notifier: TRPCBuiltRouter<{
|
|
4331
4352
|
ctx: TrpcContext;
|
|
@@ -49,6 +49,7 @@ import type { motionDetectionCapability } from '../capabilities/motion-detection
|
|
|
49
49
|
import type { motionTriggerCapability } from '../capabilities/motion-trigger.cap.js';
|
|
50
50
|
import type { motionZonesCapability } from '../capabilities/motion-zones.cap.js';
|
|
51
51
|
import type { nativeObjectDetectionCapability } from '../capabilities/native-object-detection.cap.js';
|
|
52
|
+
import type { notificationRulesCapability } from '../capabilities/notification-rules.cap.js';
|
|
52
53
|
import type { notifierCapability } from '../capabilities/notifier.cap.js';
|
|
53
54
|
import type { numericSensorCapability } from '../capabilities/numeric-sensor.cap.js';
|
|
54
55
|
import type { osdCapability } from '../capabilities/osd.cap.js';
|
|
@@ -230,6 +231,7 @@ export interface DeviceProxy {
|
|
|
230
231
|
readonly motionTrigger?: InferDeviceProxyCap<typeof motionTriggerCapability>;
|
|
231
232
|
readonly motionZones?: InferDeviceProxyCap<typeof motionZonesCapability>;
|
|
232
233
|
readonly nativeObjectDetection?: InferDeviceProxyCap<typeof nativeObjectDetectionCapability>;
|
|
234
|
+
readonly notificationRules?: InferDeviceProxyCap<typeof notificationRulesCapability>;
|
|
233
235
|
readonly notifier?: InferDeviceProxyCap<typeof notifierCapability>;
|
|
234
236
|
readonly numericSensor?: InferDeviceProxyCap<typeof numericSensorCapability>;
|
|
235
237
|
readonly osd?: InferDeviceProxyCap<typeof osdCapability>;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* scope+access check inside `protectedProcedure` (see
|
|
7
7
|
* `server/backend/src/api/trpc/trpc.middleware.ts`).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 844 method paths across 118 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|
|
12
12
|
export interface MethodAccessRecord {
|
|
@@ -26,7 +26,6 @@ import type { networkAccessCapability } from '../capabilities/network-access.cap
|
|
|
26
26
|
import type { networkQualityCapability } from '../capabilities/network-quality.cap.js';
|
|
27
27
|
import type { nodesCapability } from '../capabilities/nodes.cap.js';
|
|
28
28
|
import type { notificationOutputCapability } from '../capabilities/notification-output.cap.js';
|
|
29
|
-
import type { notificationRulesCapability } from '../capabilities/notification-rules.cap.js';
|
|
30
29
|
import type { pipelineExecutorCapability } from '../capabilities/pipeline-executor.cap.js';
|
|
31
30
|
import type { pipelineOrchestratorCapability } from '../capabilities/pipeline-orchestrator.cap.js';
|
|
32
31
|
import type { pipelineRunnerCapability } from '../capabilities/pipeline-runner.cap.js';
|
|
@@ -77,7 +76,6 @@ export interface SystemProxy {
|
|
|
77
76
|
readonly networkQuality: Pick<InferProvider<typeof networkQualityCapability>, 'getAllStats'>;
|
|
78
77
|
readonly nodes: Pick<InferProvider<typeof nodesCapability>, 'topology' | 'deployAddon' | 'undeployAddon' | 'restartAddon' | 'restartProcess' | 'restartNode' | 'shutdownNode' | 'renameNode' | 'clusterAddonStatus' | 'getCapUsageGraph' | 'getNodeAddons' | 'setProcessLogLevel' | 'executeQuery'>;
|
|
79
78
|
readonly notificationOutput: Pick<InferProvider<typeof notificationOutputCapability>, 'listTargetKinds' | 'listTargets' | 'discoverTargets' | 'send' | 'testTarget' | 'upsertTarget' | 'deleteTarget' | 'setTargetEnabled'>;
|
|
80
|
-
readonly notificationRules: Pick<InferProvider<typeof notificationRulesCapability>, 'listRules' | 'getRule' | 'createRule' | 'updateRule' | 'deleteRule' | 'setRuleEnabled' | 'testRule' | 'getConditionCatalog' | 'getHistory'>;
|
|
81
79
|
readonly pipelineExecutor: Pick<InferProvider<typeof pipelineExecutorCapability>, 'getAvailableEngines' | 'getSelectedEngine' | 'getDefaultSteps' | 'getEngineProvisioning' | 'getVideoPipelineSteps' | 'setVideoPipelineSteps' | 'clearDeviceOverrides' | 'getSchema' | 'getGlobalSteps' | 'getGlobalPipelineConfig' | 'getOrchestratorConfigSchema' | 'validatePipeline' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate' | 'getCapabilities' | 'getAddonModels' | 'downloadModel' | 'deleteModel' | 'cacheFrameInPool' | 'inferCached' | 'uncacheFrame' | 'getEffectiveTuning' | 'listLoadedEngines' | 'spinEngine' | 'killEngine' | 'listReferenceImages' | 'getReferenceImage' | 'getReferenceAudioFiles' | 'getReferenceAudio' | 'getAudioCapabilities' | 'runAudioTest' | 'getDetectionConfigSchema'>;
|
|
82
80
|
readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentDetectWeight' | 'setAgentCapabilities' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'getNodeInferenceDevices' | 'resetNodePipelineDefaults' | 'getCameraStatuses' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
|
|
83
81
|
readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras' | 'getNativeCrop'>;
|