@camstack/types 1.2.45 → 1.2.47

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.
Files changed (39) hide show
  1. package/dist/addon.js +11 -2
  2. package/dist/addon.mjs +11 -2
  3. package/dist/{fmp4-box-splitter-B53u9-Nu.mjs → canonical-hash-rO1sRmEK.mjs} +34 -34
  4. package/dist/capabilities/core-blocks.cap.d.ts +52 -0
  5. package/dist/capabilities/device-manager.cap.d.ts +11 -427
  6. package/dist/capabilities/index.d.ts +3 -3
  7. package/dist/capabilities/motion-detection.cap.d.ts +6 -1
  8. package/dist/capabilities/notification-output.cap.d.ts +4 -4
  9. package/dist/capabilities/notification-rules.cap.d.ts +24 -24
  10. package/dist/capabilities/oauth-integration.cap.d.ts +4 -0
  11. package/dist/capabilities/osd-manager.cap.d.ts +12 -12
  12. package/dist/capabilities/pipeline-analytics.cap.d.ts +7 -1
  13. package/dist/capabilities/sso-bridge.cap.d.ts +3 -0
  14. package/dist/capabilities/stream-broker.cap.d.ts +165 -1
  15. package/dist/capabilities/user-management.cap.d.ts +3 -1
  16. package/dist/capabilities/videoclips.cap.d.ts +5 -0
  17. package/dist/device/declared-device.d.ts +197 -0
  18. package/dist/device/device-binding.d.ts +15 -9
  19. package/dist/device/device-management.d.ts +1 -83
  20. package/dist/device/index.d.ts +20 -19
  21. package/dist/expression/binding-source.d.ts +85 -0
  22. package/dist/expression/{link-expression.d.ts → expression-source.d.ts} +22 -13
  23. package/dist/expression/index.d.ts +17 -14
  24. package/dist/expression/limits.d.ts +1 -1
  25. package/dist/generated/addon-api.d.ts +21 -7
  26. package/dist/generated/cap-input-defaults.d.ts +1 -1
  27. package/dist/generated/device-proxy.d.ts +2 -2
  28. package/dist/generated/method-access-map.d.ts +1 -1
  29. package/dist/generated/system-proxy.d.ts +2 -2
  30. package/dist/index.d.ts +9 -8
  31. package/dist/index.js +10224 -9819
  32. package/dist/index.mjs +10195 -9805
  33. package/dist/node.js +7 -7
  34. package/dist/node.mjs +1 -1
  35. package/dist/{sleep-Bf5fBs7u.mjs → sleep-7WqNZVcL.mjs} +1 -1
  36. package/dist/{sleep-BOI-sVEA.js → sleep-ocMLM2o5.js} +1 -1
  37. package/package.json +1 -1
  38. package/dist/device/device-link-transform.d.ts +0 -5
  39. package/dist/{fmp4-box-splitter-BkWH7O3L.js → canonical-hash-DNV8S5ET.js} +33 -33
@@ -99,10 +99,10 @@ export declare const NcOccupancyConditionSchema: z.ZodObject<{
99
99
  zoneId: z.ZodOptional<z.ZodString>;
100
100
  className: z.ZodOptional<z.ZodString>;
101
101
  op: z.ZodDefault<z.ZodEnum<{
102
- "<=": "<=";
103
- ">=": ">=";
104
102
  "became-occupied": "became-occupied";
105
103
  "became-free": "became-free";
104
+ ">=": ">=";
105
+ "<=": "<=";
106
106
  }>>;
107
107
  count: z.ZodDefault<z.ZodNumber>;
108
108
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -358,10 +358,10 @@ export declare const NcConditionsSchema: z.ZodObject<{
358
358
  zoneId: z.ZodOptional<z.ZodString>;
359
359
  className: z.ZodOptional<z.ZodString>;
360
360
  op: z.ZodDefault<z.ZodEnum<{
361
- "<=": "<=";
362
- ">=": ">=";
363
361
  "became-occupied": "became-occupied";
364
362
  "became-free": "became-free";
363
+ ">=": ">=";
364
+ "<=": "<=";
365
365
  }>>;
366
366
  count: z.ZodDefault<z.ZodNumber>;
367
367
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -525,10 +525,10 @@ export declare const NcRuleInputSchema: z.ZodObject<{
525
525
  zoneId: z.ZodOptional<z.ZodString>;
526
526
  className: z.ZodOptional<z.ZodString>;
527
527
  op: z.ZodDefault<z.ZodEnum<{
528
- "<=": "<=";
529
- ">=": ">=";
530
528
  "became-occupied": "became-occupied";
531
529
  "became-free": "became-free";
530
+ ">=": ">=";
531
+ "<=": "<=";
532
532
  }>>;
533
533
  count: z.ZodDefault<z.ZodNumber>;
534
534
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -705,10 +705,10 @@ export declare const NcRulePatchSchema: z.ZodObject<{
705
705
  zoneId: z.ZodOptional<z.ZodString>;
706
706
  className: z.ZodOptional<z.ZodString>;
707
707
  op: z.ZodDefault<z.ZodEnum<{
708
- "<=": "<=";
709
- ">=": ">=";
710
708
  "became-occupied": "became-occupied";
711
709
  "became-free": "became-free";
710
+ ">=": ">=";
711
+ "<=": "<=";
712
712
  }>>;
713
713
  count: z.ZodDefault<z.ZodNumber>;
714
714
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -878,10 +878,10 @@ export declare const NcRuleSchema: z.ZodObject<{
878
878
  zoneId: z.ZodOptional<z.ZodString>;
879
879
  className: z.ZodOptional<z.ZodString>;
880
880
  op: z.ZodDefault<z.ZodEnum<{
881
- "<=": "<=";
882
- ">=": ">=";
883
881
  "became-occupied": "became-occupied";
884
882
  "became-free": "became-free";
883
+ ">=": ">=";
884
+ "<=": "<=";
885
885
  }>>;
886
886
  count: z.ZodDefault<z.ZodNumber>;
887
887
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -1371,10 +1371,10 @@ export declare const notificationRulesCapability: {
1371
1371
  zoneId: z.ZodOptional<z.ZodString>;
1372
1372
  className: z.ZodOptional<z.ZodString>;
1373
1373
  op: z.ZodDefault<z.ZodEnum<{
1374
- "<=": "<=";
1375
- ">=": ">=";
1376
1374
  "became-occupied": "became-occupied";
1377
1375
  "became-free": "became-free";
1376
+ ">=": ">=";
1377
+ "<=": "<=";
1378
1378
  }>>;
1379
1379
  count: z.ZodDefault<z.ZodNumber>;
1380
1380
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -1550,10 +1550,10 @@ export declare const notificationRulesCapability: {
1550
1550
  zoneId: z.ZodOptional<z.ZodString>;
1551
1551
  className: z.ZodOptional<z.ZodString>;
1552
1552
  op: z.ZodDefault<z.ZodEnum<{
1553
- "<=": "<=";
1554
- ">=": ">=";
1555
1553
  "became-occupied": "became-occupied";
1556
1554
  "became-free": "became-free";
1555
+ ">=": ">=";
1556
+ "<=": "<=";
1557
1557
  }>>;
1558
1558
  count: z.ZodDefault<z.ZodNumber>;
1559
1559
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -1727,10 +1727,10 @@ export declare const notificationRulesCapability: {
1727
1727
  zoneId: z.ZodOptional<z.ZodString>;
1728
1728
  className: z.ZodOptional<z.ZodString>;
1729
1729
  op: z.ZodDefault<z.ZodEnum<{
1730
- "<=": "<=";
1731
- ">=": ">=";
1732
1730
  "became-occupied": "became-occupied";
1733
1731
  "became-free": "became-free";
1732
+ ">=": ">=";
1733
+ "<=": "<=";
1734
1734
  }>>;
1735
1735
  count: z.ZodDefault<z.ZodNumber>;
1736
1736
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -1898,10 +1898,10 @@ export declare const notificationRulesCapability: {
1898
1898
  zoneId: z.ZodOptional<z.ZodString>;
1899
1899
  className: z.ZodOptional<z.ZodString>;
1900
1900
  op: z.ZodDefault<z.ZodEnum<{
1901
- "<=": "<=";
1902
- ">=": ">=";
1903
1901
  "became-occupied": "became-occupied";
1904
1902
  "became-free": "became-free";
1903
+ ">=": ">=";
1904
+ "<=": "<=";
1905
1905
  }>>;
1906
1906
  count: z.ZodDefault<z.ZodNumber>;
1907
1907
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -2078,10 +2078,10 @@ export declare const notificationRulesCapability: {
2078
2078
  zoneId: z.ZodOptional<z.ZodString>;
2079
2079
  className: z.ZodOptional<z.ZodString>;
2080
2080
  op: z.ZodDefault<z.ZodEnum<{
2081
- "<=": "<=";
2082
- ">=": ">=";
2083
2081
  "became-occupied": "became-occupied";
2084
2082
  "became-free": "became-free";
2083
+ ">=": ">=";
2084
+ "<=": "<=";
2085
2085
  }>>;
2086
2086
  count: z.ZodDefault<z.ZodNumber>;
2087
2087
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -2250,10 +2250,10 @@ export declare const notificationRulesCapability: {
2250
2250
  zoneId: z.ZodOptional<z.ZodString>;
2251
2251
  className: z.ZodOptional<z.ZodString>;
2252
2252
  op: z.ZodDefault<z.ZodEnum<{
2253
- "<=": "<=";
2254
- ">=": ">=";
2255
2253
  "became-occupied": "became-occupied";
2256
2254
  "became-free": "became-free";
2255
+ ">=": ">=";
2256
+ "<=": "<=";
2257
2257
  }>>;
2258
2258
  count: z.ZodDefault<z.ZodNumber>;
2259
2259
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -2475,10 +2475,10 @@ export declare const notificationRulesCapability: {
2475
2475
  zoneId: z.ZodOptional<z.ZodString>;
2476
2476
  className: z.ZodOptional<z.ZodString>;
2477
2477
  op: z.ZodDefault<z.ZodEnum<{
2478
- "<=": "<=";
2479
- ">=": ">=";
2480
2478
  "became-occupied": "became-occupied";
2481
2479
  "became-free": "became-free";
2480
+ ">=": ">=";
2481
+ "<=": "<=";
2482
2482
  }>>;
2483
2483
  count: z.ZodDefault<z.ZodNumber>;
2484
2484
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -47,6 +47,8 @@ declare const OauthIntegrationDescriptorSchema: z.ZodObject<{
47
47
  }>>;
48
48
  }, z.core.$strip>], "type">>;
49
49
  allowedRedirectPrefixes: z.ZodArray<z.ZodString>;
50
+ allowedPrivateHostPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
51
+ requiresPkce: z.ZodOptional<z.ZodBoolean>;
50
52
  hubUrl: z.ZodOptional<z.ZodString>;
51
53
  }, z.core.$strip>;
52
54
  export declare const oauthIntegrationCapability: {
@@ -95,6 +97,8 @@ export declare const oauthIntegrationCapability: {
95
97
  }>>;
96
98
  }, z.core.$strip>], "type">>;
97
99
  allowedRedirectPrefixes: z.ZodArray<z.ZodString>;
100
+ allowedPrivateHostPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
101
+ requiresPkce: z.ZodOptional<z.ZodBoolean>;
98
102
  hubUrl: z.ZodOptional<z.ZodString>;
99
103
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
100
104
  };
@@ -133,10 +133,10 @@ export declare const OsdSlotBindingSchema: z.ZodObject<{
133
133
  zoneId: z.ZodOptional<z.ZodString>;
134
134
  className: z.ZodOptional<z.ZodString>;
135
135
  op: z.ZodDefault<z.ZodEnum<{
136
- "<=": "<=";
137
- ">=": ">=";
138
136
  "became-occupied": "became-occupied";
139
137
  "became-free": "became-free";
138
+ ">=": ">=";
139
+ "<=": "<=";
140
140
  }>>;
141
141
  count: z.ZodDefault<z.ZodNumber>;
142
142
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -242,10 +242,10 @@ export declare const OsdSlotViewSchema: z.ZodObject<{
242
242
  zoneId: z.ZodOptional<z.ZodString>;
243
243
  className: z.ZodOptional<z.ZodString>;
244
244
  op: z.ZodDefault<z.ZodEnum<{
245
- "<=": "<=";
246
- ">=": ">=";
247
245
  "became-occupied": "became-occupied";
248
246
  "became-free": "became-free";
247
+ ">=": ">=";
248
+ "<=": "<=";
249
249
  }>>;
250
250
  count: z.ZodDefault<z.ZodNumber>;
251
251
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -423,10 +423,10 @@ export declare const osdManagerCapability: {
423
423
  zoneId: z.ZodOptional<z.ZodString>;
424
424
  className: z.ZodOptional<z.ZodString>;
425
425
  op: z.ZodDefault<z.ZodEnum<{
426
- "<=": "<=";
427
- ">=": ">=";
428
426
  "became-occupied": "became-occupied";
429
427
  "became-free": "became-free";
428
+ ">=": ">=";
429
+ "<=": "<=";
430
430
  }>>;
431
431
  count: z.ZodDefault<z.ZodNumber>;
432
432
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -615,10 +615,10 @@ export declare const osdManagerCapability: {
615
615
  zoneId: z.ZodOptional<z.ZodString>;
616
616
  className: z.ZodOptional<z.ZodString>;
617
617
  op: z.ZodDefault<z.ZodEnum<{
618
- "<=": "<=";
619
- ">=": ">=";
620
618
  "became-occupied": "became-occupied";
621
619
  "became-free": "became-free";
620
+ ">=": ">=";
621
+ "<=": "<=";
622
622
  }>>;
623
623
  count: z.ZodDefault<z.ZodNumber>;
624
624
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -723,10 +723,10 @@ export declare const osdManagerCapability: {
723
723
  zoneId: z.ZodOptional<z.ZodString>;
724
724
  className: z.ZodOptional<z.ZodString>;
725
725
  op: z.ZodDefault<z.ZodEnum<{
726
- "<=": "<=";
727
- ">=": ">=";
728
726
  "became-occupied": "became-occupied";
729
727
  "became-free": "became-free";
728
+ ">=": ">=";
729
+ "<=": "<=";
730
730
  }>>;
731
731
  count: z.ZodDefault<z.ZodNumber>;
732
732
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -851,10 +851,10 @@ export declare const osdManagerCapability: {
851
851
  zoneId: z.ZodOptional<z.ZodString>;
852
852
  className: z.ZodOptional<z.ZodString>;
853
853
  op: z.ZodDefault<z.ZodEnum<{
854
- "<=": "<=";
855
- ">=": ">=";
856
854
  "became-occupied": "became-occupied";
857
855
  "became-free": "became-free";
856
+ ">=": ">=";
857
+ "<=": "<=";
858
858
  }>>;
859
859
  count: z.ZodDefault<z.ZodNumber>;
860
860
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
@@ -202,7 +202,7 @@ export type TrackEnvelope = z.infer<typeof TrackEnvelopeSchema>;
202
202
  * `snapshots[]` references — megabytes across a page of tracks. `slim`
203
203
  * keeps every scalar the list surfaces actually render (ids, class(es),
204
204
  * label / audioLabels / importance enrichment, firstSeen/lastSeen, state,
205
- * zonesVisited, bestEventId, envelope) and returns `positions` /
205
+ * zonesVisited, bestEventId, envelope, hasFace) and returns `positions` /
206
206
  * `snapshots` as EMPTY arrays — detail views re-fetch the full row via
207
207
  * `getTrack`. Mirrors the event-store `projection` convention
208
208
  * (`getObjectEvents` et al.).
@@ -429,6 +429,7 @@ declare const TrackSchema: z.ZodObject<{
429
429
  maxX: z.ZodNumber;
430
430
  maxY: z.ZodNumber;
431
431
  }, z.core.$strip>>;
432
+ hasFace: z.ZodOptional<z.ZodBoolean>;
432
433
  label: z.ZodOptional<z.ZodString>;
433
434
  labelScore: z.ZodOptional<z.ZodNumber>;
434
435
  labelMeta: z.ZodOptional<z.ZodObject<{
@@ -1072,6 +1073,7 @@ declare const RecentTracksPageSchema: z.ZodObject<{
1072
1073
  maxX: z.ZodNumber;
1073
1074
  maxY: z.ZodNumber;
1074
1075
  }, z.core.$strip>>;
1076
+ hasFace: z.ZodOptional<z.ZodBoolean>;
1075
1077
  label: z.ZodOptional<z.ZodString>;
1076
1078
  labelScore: z.ZodOptional<z.ZodNumber>;
1077
1079
  labelMeta: z.ZodOptional<z.ZodObject<{
@@ -1315,6 +1317,7 @@ export declare const pipelineAnalyticsCapability: {
1315
1317
  maxX: z.ZodNumber;
1316
1318
  maxY: z.ZodNumber;
1317
1319
  }, z.core.$strip>>;
1320
+ hasFace: z.ZodOptional<z.ZodBoolean>;
1318
1321
  label: z.ZodOptional<z.ZodString>;
1319
1322
  labelScore: z.ZodOptional<z.ZodNumber>;
1320
1323
  labelMeta: z.ZodOptional<z.ZodObject<{
@@ -1405,6 +1408,7 @@ export declare const pipelineAnalyticsCapability: {
1405
1408
  maxX: z.ZodNumber;
1406
1409
  maxY: z.ZodNumber;
1407
1410
  }, z.core.$strip>>;
1411
+ hasFace: z.ZodOptional<z.ZodBoolean>;
1408
1412
  label: z.ZodOptional<z.ZodString>;
1409
1413
  labelScore: z.ZodOptional<z.ZodNumber>;
1410
1414
  labelMeta: z.ZodOptional<z.ZodObject<{
@@ -1517,6 +1521,7 @@ export declare const pipelineAnalyticsCapability: {
1517
1521
  maxX: z.ZodNumber;
1518
1522
  maxY: z.ZodNumber;
1519
1523
  }, z.core.$strip>>;
1524
+ hasFace: z.ZodOptional<z.ZodBoolean>;
1520
1525
  label: z.ZodOptional<z.ZodString>;
1521
1526
  labelScore: z.ZodOptional<z.ZodNumber>;
1522
1527
  labelMeta: z.ZodOptional<z.ZodObject<{
@@ -1625,6 +1630,7 @@ export declare const pipelineAnalyticsCapability: {
1625
1630
  maxX: z.ZodNumber;
1626
1631
  maxY: z.ZodNumber;
1627
1632
  }, z.core.$strip>>;
1633
+ hasFace: z.ZodOptional<z.ZodBoolean>;
1628
1634
  label: z.ZodOptional<z.ZodString>;
1629
1635
  labelScore: z.ZodOptional<z.ZodNumber>;
1630
1636
  labelMeta: z.ZodOptional<z.ZodObject<{
@@ -61,6 +61,7 @@ declare const SsoBridgeClaimsSchema: z.ZodObject<{
61
61
  redirectUri: z.ZodOptional<z.ZodString>;
62
62
  integrationId: z.ZodOptional<z.ZodString>;
63
63
  jti: z.ZodOptional<z.ZodString>;
64
+ codeChallenge: z.ZodOptional<z.ZodString>;
64
65
  sessionId: z.ZodOptional<z.ZodString>;
65
66
  }, z.core.$strip>;
66
67
  export declare const ssoBridgeCapability: {
@@ -117,6 +118,7 @@ export declare const ssoBridgeCapability: {
117
118
  redirectUri: z.ZodOptional<z.ZodString>;
118
119
  integrationId: z.ZodOptional<z.ZodString>;
119
120
  jti: z.ZodOptional<z.ZodString>;
121
+ codeChallenge: z.ZodOptional<z.ZodString>;
120
122
  sessionId: z.ZodOptional<z.ZodString>;
121
123
  }, z.core.$strip>;
122
124
  ttlSec: z.ZodOptional<z.ZodNumber>;
@@ -172,6 +174,7 @@ export declare const ssoBridgeCapability: {
172
174
  redirectUri: z.ZodOptional<z.ZodString>;
173
175
  integrationId: z.ZodOptional<z.ZodString>;
174
176
  jti: z.ZodOptional<z.ZodString>;
177
+ codeChallenge: z.ZodOptional<z.ZodString>;
175
178
  sessionId: z.ZodOptional<z.ZodString>;
176
179
  }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
177
180
  };
@@ -8,6 +8,87 @@ export declare const StreamFormatSchema: z.ZodEnum<{
8
8
  mjpeg: "mjpeg";
9
9
  }>;
10
10
  export type StreamFormat = z.infer<typeof StreamFormatSchema>;
11
+ /** A container `produceEventMedia` can emit. */
12
+ export declare const EventMediaKindSchema: z.ZodEnum<{
13
+ mp4: "mp4";
14
+ gif: "gif";
15
+ }>;
16
+ export type EventMediaKind = z.infer<typeof EventMediaKindSchema>;
17
+ /**
18
+ * One produced artifact, referenced by HANDLE.
19
+ *
20
+ * Never inline bytes: a produced clip is 200 KB–5 MB and every consumer of this
21
+ * method is in another runner ([D9](../../../../docs/decisions/adr-0009.md),
22
+ * [D18](../../../../docs/decisions/adr-0018.md) — cross-process media is fetched
23
+ * on demand, compressed, by handle). `bytes` is here so a caller can decide
24
+ * whether it wants the fetch at all.
25
+ */
26
+ export declare const EventMediaArtifactSchema: z.ZodObject<{
27
+ kind: z.ZodEnum<{
28
+ mp4: "mp4";
29
+ gif: "gif";
30
+ }>;
31
+ handle: z.ZodString;
32
+ nodeId: z.ZodString;
33
+ mime: z.ZodString;
34
+ bytes: z.ZodNumber;
35
+ width: z.ZodNumber;
36
+ height: z.ZodNumber;
37
+ }, z.core.$strip>;
38
+ export type EventMediaArtifact = z.infer<typeof EventMediaArtifactSchema>;
39
+ /**
40
+ * What a production actually covered — the answer to the only question an
41
+ * operator asks about a notification clip.
42
+ *
43
+ * `fromTs`/`toTs` are WALL CLOCK, derived from the ring's own packet timeline,
44
+ * so a caller can state "this clip starts 4.1 s before the event" instead of
45
+ * inferring it from a duration. A production whose `fromTs` is later than the
46
+ * event is a production with no pre-roll, and that is exactly the defect this
47
+ * method exists to make visible rather than plausible.
48
+ */
49
+ export declare const EventMediaCoverageSchema: z.ZodObject<{
50
+ fromTs: z.ZodNumber;
51
+ toTs: z.ZodNumber;
52
+ packets: z.ZodNumber;
53
+ }, z.core.$strip>;
54
+ export type EventMediaCoverage = z.infer<typeof EventMediaCoverageSchema>;
55
+ /**
56
+ * The result of ONE cut, in every container the caller asked for.
57
+ *
58
+ * Every artifact in `media` came out of the SAME window of the SAME rendition —
59
+ * that is the whole reason this is one method rather than one call per format.
60
+ * A consumer attaching a gif and a video can no longer show two different
61
+ * moments, because it never chose two sources.
62
+ */
63
+ export declare const EventMediaProductionSchema: z.ZodObject<{
64
+ media: z.ZodReadonly<z.ZodArray<z.ZodObject<{
65
+ kind: z.ZodEnum<{
66
+ mp4: "mp4";
67
+ gif: "gif";
68
+ }>;
69
+ handle: z.ZodString;
70
+ nodeId: z.ZodString;
71
+ mime: z.ZodString;
72
+ bytes: z.ZodNumber;
73
+ width: z.ZodNumber;
74
+ height: z.ZodNumber;
75
+ }, z.core.$strip>>>;
76
+ coverage: z.ZodObject<{
77
+ fromTs: z.ZodNumber;
78
+ toTs: z.ZodNumber;
79
+ packets: z.ZodNumber;
80
+ }, z.core.$strip>;
81
+ profile: z.ZodEnum<{
82
+ high: "high";
83
+ mid: "mid";
84
+ low: "low";
85
+ }>;
86
+ video: z.ZodEnum<{
87
+ encode: "encode";
88
+ copy: "copy";
89
+ }>;
90
+ }, z.core.$strip>;
91
+ export type EventMediaProduction = z.infer<typeof EventMediaProductionSchema>;
11
92
  declare const RtspRestreamEntrySchema: z.ZodObject<{
12
93
  brokerId: z.ZodString;
13
94
  url: z.ZodString;
@@ -592,8 +673,8 @@ export declare const streamBrokerCapability: {
592
673
  preRollSec: z.ZodDefault<z.ZodNumber>;
593
674
  postRollSec: z.ZodDefault<z.ZodNumber>;
594
675
  format: z.ZodDefault<z.ZodEnum<{
595
- gif: "gif";
596
676
  mp4: "mp4";
677
+ gif: "gif";
597
678
  }>>;
598
679
  maxWidth: z.ZodDefault<z.ZodNumber>;
599
680
  fps: z.ZodDefault<z.ZodNumber>;
@@ -609,6 +690,89 @@ export declare const streamBrokerCapability: {
609
690
  }>;
610
691
  durationMs: z.ZodNumber;
611
692
  }, z.core.$strip>, "mutation">;
693
+ /**
694
+ * THE production point for event media — one window, every container.
695
+ *
696
+ * `renderPreBufferClip` renders ONE format per call, so a consumer wanting a
697
+ * gif and a video made two calls and got two windows. On 2026-08-08 the
698
+ * operator received exactly that: a gif around a doorbell press and an mp4
699
+ * of the six seconds after it. This method cuts once and derives the rest,
700
+ * so "the attachments agree" is a property of the service instead of a
701
+ * discipline every consumer has to keep.
702
+ *
703
+ * It is also the only place that owns the packets. The broker already
704
+ * retains an AnnexB ring per camera (`setClipRetention`, D32) — the
705
+ * prebuffer — so a production reaches BACKWARDS from the event with no
706
+ * process to spawn and nothing kept warm. It waits out `postSeconds`, muxes
707
+ * the window once (COPYING the camera's own H.264 whenever nothing is being
708
+ * changed), derives any gif from that same mux, and returns HANDLES.
709
+ *
710
+ * Intended for every future consumer, not just notifications: a clips API, a
711
+ * retrain export and an event export all want the same window of the same
712
+ * camera and must not each grow their own renderer.
713
+ */
714
+ readonly produceEventMedia: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
715
+ deviceId: z.ZodNumber;
716
+ profile: z.ZodOptional<z.ZodEnum<{
717
+ high: "high";
718
+ mid: "mid";
719
+ low: "low";
720
+ }>>;
721
+ aroundMs: z.ZodNumber;
722
+ preSeconds: z.ZodDefault<z.ZodNumber>;
723
+ postSeconds: z.ZodDefault<z.ZodNumber>;
724
+ kinds: z.ZodDefault<z.ZodArray<z.ZodEnum<{
725
+ mp4: "mp4";
726
+ gif: "gif";
727
+ }>>>;
728
+ gifMaxWidth: z.ZodDefault<z.ZodNumber>;
729
+ gifFps: z.ZodDefault<z.ZodNumber>;
730
+ gifSpeed: z.ZodDefault<z.ZodNumber>;
731
+ speed: z.ZodDefault<z.ZodNumber>;
732
+ }, z.core.$strip>, z.ZodObject<{
733
+ media: z.ZodReadonly<z.ZodArray<z.ZodObject<{
734
+ kind: z.ZodEnum<{
735
+ mp4: "mp4";
736
+ gif: "gif";
737
+ }>;
738
+ handle: z.ZodString;
739
+ nodeId: z.ZodString;
740
+ mime: z.ZodString;
741
+ bytes: z.ZodNumber;
742
+ width: z.ZodNumber;
743
+ height: z.ZodNumber;
744
+ }, z.core.$strip>>>;
745
+ coverage: z.ZodObject<{
746
+ fromTs: z.ZodNumber;
747
+ toTs: z.ZodNumber;
748
+ packets: z.ZodNumber;
749
+ }, z.core.$strip>;
750
+ profile: z.ZodEnum<{
751
+ high: "high";
752
+ mid: "mid";
753
+ low: "low";
754
+ }>;
755
+ video: z.ZodEnum<{
756
+ encode: "encode";
757
+ copy: "copy";
758
+ }>;
759
+ }, z.core.$strip>, "mutation">;
760
+ /**
761
+ * Redeem a {@link EventMediaArtifactSchema} handle for its bytes.
762
+ *
763
+ * Separate from the production on purpose (D18): the producing runner keeps
764
+ * the artifact for a few minutes, and a consumer that only wanted the
765
+ * coverage never moves a megabyte. `null` once it has expired — a handle is
766
+ * short-lived by design and a caller that waited too long must see that
767
+ * rather than a zero-length file.
768
+ */
769
+ readonly fetchEventMedia: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
770
+ handle: z.ZodString;
771
+ }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
772
+ base64: z.ZodString;
773
+ mime: z.ZodString;
774
+ bytes: z.ZodNumber;
775
+ }, z.core.$strip>>, "mutation">;
612
776
  readonly listAllCameraStreams: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
613
777
  camStreamId: z.ZodString;
614
778
  deviceId: z.ZodNumber;
@@ -937,12 +937,14 @@ export declare const userManagementCapability: {
937
937
  }, z.core.$strip>], "type">>;
938
938
  redirectUri: z.ZodString;
939
939
  hubUrl: z.ZodString;
940
+ codeChallenge: z.ZodOptional<z.ZodString>;
940
941
  }, z.core.$strip>, z.ZodObject<{
941
942
  code: z.ZodString;
942
943
  }, z.core.$strip>, "mutation">;
943
944
  readonly oauthExchangeCode: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
944
945
  code: z.ZodString;
945
946
  redirectUri: z.ZodString;
947
+ codeVerifier: z.ZodOptional<z.ZodString>;
946
948
  }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
947
949
  accessToken: z.ZodString;
948
950
  refreshToken: z.ZodString;
@@ -1050,4 +1052,4 @@ export declare const userManagementCapability: {
1050
1052
  };
1051
1053
  };
1052
1054
  export type IUserManagementProvider = InferProvider<typeof userManagementCapability>;
1053
- export { UserSummarySchema, CreateUserInputSchema, UpdateUserInputSchema, ApiKeySummarySchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, ScopedTokenSummarySchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, OauthSessionSummarySchema, };
1055
+ export { ApiKeySummarySchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, OauthSessionSummarySchema, ScopedTokenSummarySchema, UpdateUserInputSchema, UserSummarySchema, };
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { DeviceType } from '../device/device-type.js';
2
3
  import { type InferProvider } from './capability-definition.js';
3
4
  /**
4
5
  * `videoclips` — the unified, navigable-clip surface for a camera.
@@ -42,6 +43,10 @@ export declare const videoclipsCapability: {
42
43
  readonly mode: "singleton";
43
44
  readonly kind: "wrapper";
44
45
  readonly defaultActive: true;
46
+ /** A clip is a window over a camera's footage — the cap is meaningless on a
47
+ * sensor, a button or an event emitter, and the `defaultActive` auto-bind
48
+ * reads this to decide which devices it may claim. */
49
+ readonly deviceTypes: readonly [DeviceType.Camera];
45
50
  readonly methods: {
46
51
  readonly listClips: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
47
52
  deviceId: z.ZodNumber;