@camstack/types 1.2.7 → 1.2.9
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 +2 -2
- package/dist/addon.mjs +2 -2
- package/dist/capabilities/capability-definition.d.ts +74 -3
- package/dist/capabilities/custom-actions.d.ts +19 -0
- package/dist/capabilities/day-night.cap.d.ts +8 -8
- package/dist/capabilities/face-gallery.cap.d.ts +12 -0
- package/dist/capabilities/index.d.ts +29 -30
- package/dist/capabilities/notification-rules.cap.d.ts +1601 -0
- package/dist/capabilities/notifier.cap.d.ts +3 -3
- package/dist/capabilities/pipeline-analytics.cap.d.ts +8 -8
- package/dist/capabilities/recording.cap.d.ts +2 -2
- package/dist/capabilities/toast.cap.d.ts +2 -2
- package/dist/catalogs/nc-taxonomy.d.ts +53 -0
- package/dist/enums/event-category.d.ts +0 -3
- package/dist/enums.js +1 -1
- package/dist/enums.mjs +1 -1
- package/dist/{event-category-D4HJq7Mw.mjs → event-category-BLcNejAE.mjs} +0 -3
- package/dist/{event-category-CGj9fI4L.js → event-category-Cdyife4p.js} +0 -3
- package/dist/generated/addon-api.d.ts +1437 -367
- package/dist/generated/capability-router-map.d.ts +4 -4
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +2 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2154 -1343
- package/dist/index.mjs +2125 -1341
- package/dist/interfaces/addon.d.ts +2 -2
- package/dist/interfaces/capability.d.ts +0 -1
- package/dist/interfaces/event-bus.d.ts +0 -16
- package/dist/interfaces/ops-log.d.ts +2 -2
- package/dist/{sleep-eVjOy4ev.js → sleep-BG8hQTA8.js} +2 -2
- package/dist/{sleep-BQ60XlE9.mjs → sleep-DiOnzenz.mjs} +2 -2
- package/package.json +1 -1
- package/dist/capabilities/advanced-notifier.cap.d.ts +0 -256
- package/dist/interfaces/advanced-notifier.d.ts +0 -73
|
@@ -6,7 +6,7 @@ import type { ICapabilityHandle } from './readiness.js';
|
|
|
6
6
|
import type { CapabilityDeclaration } from './capability.js';
|
|
7
7
|
import type { ICapabilityRegistry } from './kernel-abstractions.js';
|
|
8
8
|
import type { CapabilityDefinition, InferProvider } from '../capabilities/capability-definition.js';
|
|
9
|
-
import type { CustomActionsSpec } from '../capabilities/custom-actions.js';
|
|
9
|
+
import type { CustomActionCaller, CustomActionsSpec } from '../capabilities/custom-actions.js';
|
|
10
10
|
import type { AddonDataPlane } from './addon-data-plane.js';
|
|
11
11
|
import type { StorageLocationDeclaration } from './storage-location-declaration.js';
|
|
12
12
|
import type { z } from 'zod';
|
|
@@ -186,7 +186,7 @@ export interface AddonInitResult<TCatalog extends CustomActionsSpec = CustomActi
|
|
|
186
186
|
* per-action return type, so the map form is strictly more typeable).
|
|
187
187
|
*/
|
|
188
188
|
readonly actionHandlers?: {
|
|
189
|
-
readonly [K in keyof TCatalog & string]: (input: z.infer<TCatalog[K]['input']
|
|
189
|
+
readonly [K in keyof TCatalog & string]: (input: z.infer<TCatalog[K]['input']>, caller?: CustomActionCaller) => Promise<z.infer<TCatalog[K]['output']>>;
|
|
190
190
|
};
|
|
191
191
|
}
|
|
192
192
|
/**
|
|
@@ -141,7 +141,6 @@ export interface CapabilityProviderMap {
|
|
|
141
141
|
alerts: InferProvider<typeof import('../capabilities/alerts.cap.js').alertsCapability>;
|
|
142
142
|
backup: InferProvider<typeof import('../capabilities/backup.cap.js').backupCapability>;
|
|
143
143
|
'network-access': InferProvider<typeof import('../capabilities/network-access.cap.js').networkAccessCapability>;
|
|
144
|
-
'advanced-notifier': InferProvider<typeof import('../capabilities/advanced-notifier.cap.js').advancedNotifierCapability>;
|
|
145
144
|
'pipeline-executor': IPipelineExecutorProvider;
|
|
146
145
|
'detection-pipeline': InferProvider<typeof import('../capabilities/detection-pipeline.cap.js').detectionPipelineCapability>;
|
|
147
146
|
'pipeline-orchestrator': IPipelineOrchestratorProvider;
|
|
@@ -748,22 +748,6 @@ export interface EventCatalog {
|
|
|
748
748
|
deletedCount?: number;
|
|
749
749
|
freedMB?: number;
|
|
750
750
|
};
|
|
751
|
-
/**
|
|
752
|
-
* A runner-sampled scrub thumbnail off the already-decoded detection frame
|
|
753
|
-
* (~1 JPEG / 5 s / camera; zero extra decode). The recorder (single
|
|
754
|
-
* designated node) subscribes, accumulates a 5-minute window into ONE sprite
|
|
755
|
-
* sheet + index, and serves it write-once. Cross-node this rides the event
|
|
756
|
-
* bus (Moleculer broadcast) exactly like other telemetry — a lost thumb is a
|
|
757
|
-
* scrub gap the keyframe backfill fills, so RPC delivery is not required (D8).
|
|
758
|
-
* `jpeg` is a ~320px-wide JPEG (Uint8Array survives msgpack over UDS + Moleculer).
|
|
759
|
-
*/
|
|
760
|
-
'recording.thumb-sampled': {
|
|
761
|
-
readonly deviceId: number;
|
|
762
|
-
readonly capturedAt: number;
|
|
763
|
-
readonly width: number;
|
|
764
|
-
readonly height: number;
|
|
765
|
-
readonly jpeg: Uint8Array;
|
|
766
|
-
};
|
|
767
751
|
'detection.event': {
|
|
768
752
|
deviceId: number;
|
|
769
753
|
detections?: unknown[];
|
|
@@ -27,9 +27,9 @@ export type OpsLogOp = z.infer<typeof OpsLogOpSchema>;
|
|
|
27
27
|
/** Why the operation ran. */
|
|
28
28
|
export declare const OpsLogReasonSchema: z.ZodEnum<{
|
|
29
29
|
manual: "manual";
|
|
30
|
+
operator: "operator";
|
|
30
31
|
retention: "retention";
|
|
31
32
|
quota: "quota";
|
|
32
|
-
operator: "operator";
|
|
33
33
|
}>;
|
|
34
34
|
export type OpsLogReason = z.infer<typeof OpsLogReasonSchema>;
|
|
35
35
|
/** One audit row, shared verbatim by both domains. */
|
|
@@ -48,9 +48,9 @@ export declare const OpsLogEntrySchema: z.ZodObject<{
|
|
|
48
48
|
}>;
|
|
49
49
|
reason: z.ZodEnum<{
|
|
50
50
|
manual: "manual";
|
|
51
|
+
operator: "operator";
|
|
51
52
|
retention: "retention";
|
|
52
53
|
quota: "quota";
|
|
53
|
-
operator: "operator";
|
|
54
54
|
}>;
|
|
55
55
|
deviceId: z.ZodNullable<z.ZodNumber>;
|
|
56
56
|
nodeId: z.ZodString;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_event_category = require("./event-category-
|
|
1
|
+
const require_event_category = require("./event-category-Cdyife4p.js");
|
|
2
2
|
let zod = require("zod");
|
|
3
3
|
//#region src/disposer-chain.ts
|
|
4
4
|
var DisposerChain = class {
|
|
@@ -2394,7 +2394,6 @@ function expandCapMethods(def) {
|
|
|
2394
2394
|
};
|
|
2395
2395
|
return out;
|
|
2396
2396
|
}
|
|
2397
|
-
/** Shorthand to define a method schema */
|
|
2398
2397
|
function method(input, output, options) {
|
|
2399
2398
|
return {
|
|
2400
2399
|
input,
|
|
@@ -2402,6 +2401,7 @@ function method(input, output, options) {
|
|
|
2402
2401
|
kind: options?.kind ?? "query",
|
|
2403
2402
|
auth: options?.auth ?? "protected",
|
|
2404
2403
|
...options?.access !== void 0 ? { access: options.access } : {},
|
|
2404
|
+
...options?.caller !== void 0 ? { caller: options.caller } : {},
|
|
2405
2405
|
timeoutMs: options?.timeoutMs
|
|
2406
2406
|
};
|
|
2407
2407
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as EventCategory } from "./event-category-
|
|
1
|
+
import { t as EventCategory } from "./event-category-BLcNejAE.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region src/disposer-chain.ts
|
|
4
4
|
var DisposerChain = class {
|
|
@@ -2394,7 +2394,6 @@ function expandCapMethods(def) {
|
|
|
2394
2394
|
};
|
|
2395
2395
|
return out;
|
|
2396
2396
|
}
|
|
2397
|
-
/** Shorthand to define a method schema */
|
|
2398
2397
|
function method(input, output, options) {
|
|
2399
2398
|
return {
|
|
2400
2399
|
input,
|
|
@@ -2402,6 +2401,7 @@ function method(input, output, options) {
|
|
|
2402
2401
|
kind: options?.kind ?? "query",
|
|
2403
2402
|
auth: options?.auth ?? "protected",
|
|
2404
2403
|
...options?.access !== void 0 ? { access: options.access } : {},
|
|
2404
|
+
...options?.caller !== void 0 ? { caller: options.caller } : {},
|
|
2405
2405
|
timeoutMs: options?.timeoutMs
|
|
2406
2406
|
};
|
|
2407
2407
|
}
|
package/package.json
CHANGED
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { type InferProvider } from './capability-definition.js';
|
|
3
|
-
declare const NotificationRuleConditionsSchema: z.ZodObject<{
|
|
4
|
-
deviceIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
|
|
5
|
-
classNames: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
6
|
-
zoneIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
7
|
-
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
8
|
-
source: z.ZodOptional<z.ZodEnum<{
|
|
9
|
-
any: "any";
|
|
10
|
-
pipeline: "pipeline";
|
|
11
|
-
onboard: "onboard";
|
|
12
|
-
}>>;
|
|
13
|
-
schedule: z.ZodOptional<z.ZodObject<{
|
|
14
|
-
days: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
15
|
-
startHour: z.ZodNumber;
|
|
16
|
-
endHour: z.ZodNumber;
|
|
17
|
-
}, z.core.$strip>>;
|
|
18
|
-
cooldownSeconds: z.ZodOptional<z.ZodNumber>;
|
|
19
|
-
minDwellSeconds: z.ZodOptional<z.ZodNumber>;
|
|
20
|
-
eventTypeTokens: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
21
|
-
clipDescription: z.ZodOptional<z.ZodObject<{
|
|
22
|
-
text: z.ZodString;
|
|
23
|
-
minSimilarity: z.ZodNumber;
|
|
24
|
-
}, z.core.$strip>>;
|
|
25
|
-
labels: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
26
|
-
}, z.core.$strip>;
|
|
27
|
-
declare const NotificationRuleTemplateSchema: z.ZodObject<{
|
|
28
|
-
title: z.ZodString;
|
|
29
|
-
body: z.ZodString;
|
|
30
|
-
imageMode: z.ZodEnum<{
|
|
31
|
-
none: "none";
|
|
32
|
-
full: "full";
|
|
33
|
-
crop: "crop";
|
|
34
|
-
annotated: "annotated";
|
|
35
|
-
}>;
|
|
36
|
-
}, z.core.$strip>;
|
|
37
|
-
declare const NotificationRuleSchema: z.ZodObject<{
|
|
38
|
-
id: z.ZodString;
|
|
39
|
-
name: z.ZodString;
|
|
40
|
-
enabled: z.ZodBoolean;
|
|
41
|
-
eventTypes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
42
|
-
conditions: z.ZodObject<{
|
|
43
|
-
deviceIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
|
|
44
|
-
classNames: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
45
|
-
zoneIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
46
|
-
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
47
|
-
source: z.ZodOptional<z.ZodEnum<{
|
|
48
|
-
any: "any";
|
|
49
|
-
pipeline: "pipeline";
|
|
50
|
-
onboard: "onboard";
|
|
51
|
-
}>>;
|
|
52
|
-
schedule: z.ZodOptional<z.ZodObject<{
|
|
53
|
-
days: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
54
|
-
startHour: z.ZodNumber;
|
|
55
|
-
endHour: z.ZodNumber;
|
|
56
|
-
}, z.core.$strip>>;
|
|
57
|
-
cooldownSeconds: z.ZodOptional<z.ZodNumber>;
|
|
58
|
-
minDwellSeconds: z.ZodOptional<z.ZodNumber>;
|
|
59
|
-
eventTypeTokens: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
60
|
-
clipDescription: z.ZodOptional<z.ZodObject<{
|
|
61
|
-
text: z.ZodString;
|
|
62
|
-
minSimilarity: z.ZodNumber;
|
|
63
|
-
}, z.core.$strip>>;
|
|
64
|
-
labels: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
65
|
-
}, z.core.$strip>;
|
|
66
|
-
outputs: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
67
|
-
template: z.ZodOptional<z.ZodObject<{
|
|
68
|
-
title: z.ZodString;
|
|
69
|
-
body: z.ZodString;
|
|
70
|
-
imageMode: z.ZodEnum<{
|
|
71
|
-
none: "none";
|
|
72
|
-
full: "full";
|
|
73
|
-
crop: "crop";
|
|
74
|
-
annotated: "annotated";
|
|
75
|
-
}>;
|
|
76
|
-
}, z.core.$strip>>;
|
|
77
|
-
priority: z.ZodEnum<{
|
|
78
|
-
high: "high";
|
|
79
|
-
low: "low";
|
|
80
|
-
normal: "normal";
|
|
81
|
-
critical: "critical";
|
|
82
|
-
}>;
|
|
83
|
-
}, z.core.$strip>;
|
|
84
|
-
declare const NotificationTestResultSchema: z.ZodObject<{
|
|
85
|
-
ruleId: z.ZodString;
|
|
86
|
-
eventId: z.ZodString;
|
|
87
|
-
timestamp: z.ZodNumber;
|
|
88
|
-
wouldFire: z.ZodBoolean;
|
|
89
|
-
reason: z.ZodOptional<z.ZodString>;
|
|
90
|
-
}, z.core.$strip>;
|
|
91
|
-
declare const NotificationHistoryEntrySchema: z.ZodObject<{
|
|
92
|
-
id: z.ZodString;
|
|
93
|
-
ruleId: z.ZodString;
|
|
94
|
-
ruleName: z.ZodString;
|
|
95
|
-
eventId: z.ZodString;
|
|
96
|
-
timestamp: z.ZodNumber;
|
|
97
|
-
outputs: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
98
|
-
success: z.ZodBoolean;
|
|
99
|
-
error: z.ZodOptional<z.ZodString>;
|
|
100
|
-
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
101
|
-
}, z.core.$strip>;
|
|
102
|
-
declare const NotificationHistoryFilterSchema: z.ZodObject<{
|
|
103
|
-
ruleId: z.ZodOptional<z.ZodString>;
|
|
104
|
-
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
105
|
-
from: z.ZodOptional<z.ZodNumber>;
|
|
106
|
-
to: z.ZodOptional<z.ZodNumber>;
|
|
107
|
-
limit: z.ZodOptional<z.ZodNumber>;
|
|
108
|
-
}, z.core.$strip>;
|
|
109
|
-
export declare const advancedNotifierCapability: {
|
|
110
|
-
readonly name: "advanced-notifier";
|
|
111
|
-
readonly scope: "system";
|
|
112
|
-
readonly mode: "singleton";
|
|
113
|
-
readonly internal: true;
|
|
114
|
-
readonly methods: {
|
|
115
|
-
readonly getRules: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
|
|
116
|
-
rules: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
117
|
-
id: z.ZodString;
|
|
118
|
-
name: z.ZodString;
|
|
119
|
-
enabled: z.ZodBoolean;
|
|
120
|
-
eventTypes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
121
|
-
conditions: z.ZodObject<{
|
|
122
|
-
deviceIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
|
|
123
|
-
classNames: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
124
|
-
zoneIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
125
|
-
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
126
|
-
source: z.ZodOptional<z.ZodEnum<{
|
|
127
|
-
any: "any";
|
|
128
|
-
pipeline: "pipeline";
|
|
129
|
-
onboard: "onboard";
|
|
130
|
-
}>>;
|
|
131
|
-
schedule: z.ZodOptional<z.ZodObject<{
|
|
132
|
-
days: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
133
|
-
startHour: z.ZodNumber;
|
|
134
|
-
endHour: z.ZodNumber;
|
|
135
|
-
}, z.core.$strip>>;
|
|
136
|
-
cooldownSeconds: z.ZodOptional<z.ZodNumber>;
|
|
137
|
-
minDwellSeconds: z.ZodOptional<z.ZodNumber>;
|
|
138
|
-
eventTypeTokens: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
139
|
-
clipDescription: z.ZodOptional<z.ZodObject<{
|
|
140
|
-
text: z.ZodString;
|
|
141
|
-
minSimilarity: z.ZodNumber;
|
|
142
|
-
}, z.core.$strip>>;
|
|
143
|
-
labels: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
144
|
-
}, z.core.$strip>;
|
|
145
|
-
outputs: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
146
|
-
template: z.ZodOptional<z.ZodObject<{
|
|
147
|
-
title: z.ZodString;
|
|
148
|
-
body: z.ZodString;
|
|
149
|
-
imageMode: z.ZodEnum<{
|
|
150
|
-
none: "none";
|
|
151
|
-
full: "full";
|
|
152
|
-
crop: "crop";
|
|
153
|
-
annotated: "annotated";
|
|
154
|
-
}>;
|
|
155
|
-
}, z.core.$strip>>;
|
|
156
|
-
priority: z.ZodEnum<{
|
|
157
|
-
high: "high";
|
|
158
|
-
low: "low";
|
|
159
|
-
normal: "normal";
|
|
160
|
-
critical: "critical";
|
|
161
|
-
}>;
|
|
162
|
-
}, z.core.$strip>>>;
|
|
163
|
-
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
164
|
-
readonly upsertRule: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
165
|
-
rule: z.ZodObject<{
|
|
166
|
-
id: z.ZodString;
|
|
167
|
-
name: z.ZodString;
|
|
168
|
-
enabled: z.ZodBoolean;
|
|
169
|
-
eventTypes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
170
|
-
conditions: z.ZodObject<{
|
|
171
|
-
deviceIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
|
|
172
|
-
classNames: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
173
|
-
zoneIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
174
|
-
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
175
|
-
source: z.ZodOptional<z.ZodEnum<{
|
|
176
|
-
any: "any";
|
|
177
|
-
pipeline: "pipeline";
|
|
178
|
-
onboard: "onboard";
|
|
179
|
-
}>>;
|
|
180
|
-
schedule: z.ZodOptional<z.ZodObject<{
|
|
181
|
-
days: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
182
|
-
startHour: z.ZodNumber;
|
|
183
|
-
endHour: z.ZodNumber;
|
|
184
|
-
}, z.core.$strip>>;
|
|
185
|
-
cooldownSeconds: z.ZodOptional<z.ZodNumber>;
|
|
186
|
-
minDwellSeconds: z.ZodOptional<z.ZodNumber>;
|
|
187
|
-
eventTypeTokens: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
188
|
-
clipDescription: z.ZodOptional<z.ZodObject<{
|
|
189
|
-
text: z.ZodString;
|
|
190
|
-
minSimilarity: z.ZodNumber;
|
|
191
|
-
}, z.core.$strip>>;
|
|
192
|
-
labels: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
193
|
-
}, z.core.$strip>;
|
|
194
|
-
outputs: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
195
|
-
template: z.ZodOptional<z.ZodObject<{
|
|
196
|
-
title: z.ZodString;
|
|
197
|
-
body: z.ZodString;
|
|
198
|
-
imageMode: z.ZodEnum<{
|
|
199
|
-
none: "none";
|
|
200
|
-
full: "full";
|
|
201
|
-
crop: "crop";
|
|
202
|
-
annotated: "annotated";
|
|
203
|
-
}>;
|
|
204
|
-
}, z.core.$strip>>;
|
|
205
|
-
priority: z.ZodEnum<{
|
|
206
|
-
high: "high";
|
|
207
|
-
low: "low";
|
|
208
|
-
normal: "normal";
|
|
209
|
-
critical: "critical";
|
|
210
|
-
}>;
|
|
211
|
-
}, z.core.$strip>;
|
|
212
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
213
|
-
success: z.ZodLiteral<true>;
|
|
214
|
-
}, z.core.$strip>, "mutation">;
|
|
215
|
-
readonly deleteRule: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
216
|
-
ruleId: z.ZodString;
|
|
217
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
218
|
-
success: z.ZodLiteral<true>;
|
|
219
|
-
}, z.core.$strip>, "mutation">;
|
|
220
|
-
readonly testRule: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
221
|
-
ruleId: z.ZodString;
|
|
222
|
-
lookbackMinutes: z.ZodNumber;
|
|
223
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
224
|
-
results: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
225
|
-
ruleId: z.ZodString;
|
|
226
|
-
eventId: z.ZodString;
|
|
227
|
-
timestamp: z.ZodNumber;
|
|
228
|
-
wouldFire: z.ZodBoolean;
|
|
229
|
-
reason: z.ZodOptional<z.ZodString>;
|
|
230
|
-
}, z.core.$strip>>>;
|
|
231
|
-
}, z.core.$strip>, "mutation">;
|
|
232
|
-
readonly getHistory: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
233
|
-
filter: z.ZodOptional<z.ZodObject<{
|
|
234
|
-
ruleId: z.ZodOptional<z.ZodString>;
|
|
235
|
-
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
236
|
-
from: z.ZodOptional<z.ZodNumber>;
|
|
237
|
-
to: z.ZodOptional<z.ZodNumber>;
|
|
238
|
-
limit: z.ZodOptional<z.ZodNumber>;
|
|
239
|
-
}, z.core.$strip>>;
|
|
240
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
241
|
-
entries: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
242
|
-
id: z.ZodString;
|
|
243
|
-
ruleId: z.ZodString;
|
|
244
|
-
ruleName: z.ZodString;
|
|
245
|
-
eventId: z.ZodString;
|
|
246
|
-
timestamp: z.ZodNumber;
|
|
247
|
-
outputs: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
248
|
-
success: z.ZodBoolean;
|
|
249
|
-
error: z.ZodOptional<z.ZodString>;
|
|
250
|
-
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
251
|
-
}, z.core.$strip>>>;
|
|
252
|
-
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
253
|
-
};
|
|
254
|
-
};
|
|
255
|
-
export type IAdvancedNotifierProvider = InferProvider<typeof advancedNotifierCapability>;
|
|
256
|
-
export { NotificationRuleSchema, NotificationRuleConditionsSchema, NotificationRuleTemplateSchema, NotificationTestResultSchema, NotificationHistoryEntrySchema, NotificationHistoryFilterSchema, };
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
export interface NotificationRule {
|
|
2
|
-
readonly id: string;
|
|
3
|
-
readonly name: string;
|
|
4
|
-
readonly enabled: boolean;
|
|
5
|
-
readonly eventTypes: readonly string[];
|
|
6
|
-
readonly conditions: {
|
|
7
|
-
readonly deviceIds?: readonly number[];
|
|
8
|
-
readonly classNames?: readonly string[];
|
|
9
|
-
readonly zoneIds?: readonly string[];
|
|
10
|
-
readonly minConfidence?: number;
|
|
11
|
-
readonly source?: 'pipeline' | 'onboard' | 'any';
|
|
12
|
-
readonly schedule?: {
|
|
13
|
-
readonly days: readonly number[];
|
|
14
|
-
readonly startHour: number;
|
|
15
|
-
readonly endHour: number;
|
|
16
|
-
};
|
|
17
|
-
readonly cooldownSeconds?: number;
|
|
18
|
-
readonly minDwellSeconds?: number;
|
|
19
|
-
/** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
|
|
20
|
-
* carrying a matching `data.eventType` string pass this condition. Rules without this field are
|
|
21
|
-
* unaffected (back-compat). Distinct from `eventTypes` which holds EventCategory strings. */
|
|
22
|
-
readonly eventTypeTokens?: readonly string[];
|
|
23
|
-
/** Match detections whose CLIP image embedding is semantically similar to this free-text
|
|
24
|
-
* description. Requires the embedding-encoder cap to have pre-warmed the text vector.
|
|
25
|
-
* `minSimilarity` is the cosine similarity threshold in [0, 1]. */
|
|
26
|
-
readonly clipDescription?: {
|
|
27
|
-
readonly text: string;
|
|
28
|
-
readonly minSimilarity: number;
|
|
29
|
-
};
|
|
30
|
-
/** Recognized-entity label match (face identity / plate vehicle name). */
|
|
31
|
-
readonly labels?: readonly string[];
|
|
32
|
-
};
|
|
33
|
-
readonly outputs: readonly string[];
|
|
34
|
-
readonly template?: {
|
|
35
|
-
readonly title: string;
|
|
36
|
-
readonly body: string;
|
|
37
|
-
readonly imageMode: 'crop' | 'annotated' | 'full' | 'none';
|
|
38
|
-
};
|
|
39
|
-
readonly priority: 'low' | 'normal' | 'high' | 'critical';
|
|
40
|
-
}
|
|
41
|
-
export interface NotificationTestResult {
|
|
42
|
-
readonly ruleId: string;
|
|
43
|
-
readonly eventId: string;
|
|
44
|
-
readonly timestamp: number;
|
|
45
|
-
readonly wouldFire: boolean;
|
|
46
|
-
readonly reason?: string;
|
|
47
|
-
}
|
|
48
|
-
export interface NotificationHistoryFilter {
|
|
49
|
-
readonly ruleId?: string;
|
|
50
|
-
readonly deviceId?: number;
|
|
51
|
-
readonly from?: number;
|
|
52
|
-
readonly to?: number;
|
|
53
|
-
readonly limit?: number;
|
|
54
|
-
}
|
|
55
|
-
export interface NotificationHistoryEntry {
|
|
56
|
-
readonly id: string;
|
|
57
|
-
readonly ruleId: string;
|
|
58
|
-
readonly ruleName: string;
|
|
59
|
-
readonly eventId: string;
|
|
60
|
-
readonly timestamp: number;
|
|
61
|
-
readonly outputs: readonly string[];
|
|
62
|
-
readonly success: boolean;
|
|
63
|
-
readonly error?: string;
|
|
64
|
-
readonly deviceId?: number;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Legacy interface — superseded by `InferProvider<typeof advancedNotifierCapability>`.
|
|
68
|
-
* Kept as a type-alias re-export so any external code that still imports
|
|
69
|
-
* `IAdvancedNotifier` keeps compiling. The actual provider contract lives
|
|
70
|
-
* in `packages/types/src/capabilities/advanced-notifier.cap.ts` and is
|
|
71
|
-
* inferred from Zod schemas at the use site.
|
|
72
|
-
*/
|
|
73
|
-
export type IAdvancedNotifier = import('../capabilities/advanced-notifier.cap.js').IAdvancedNotifierProvider;
|