@camstack/types 1.2.260 → 1.2.261

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 (48) hide show
  1. package/dist/addon/base-addon.d.ts +9 -1
  2. package/dist/addon.js +4 -6
  3. package/dist/addon.mjs +4 -6
  4. package/dist/capabilities/capability-definition.d.ts +9 -0
  5. package/dist/capabilities/custom-model-registry.cap.d.ts +18 -0
  6. package/dist/capabilities/device-extension.cap.d.ts +370 -0
  7. package/dist/capabilities/device-manager.cap.d.ts +45 -5
  8. package/dist/capabilities/doorbell.cap.d.ts +41 -0
  9. package/dist/capabilities/embedding-encoder.cap.d.ts +175 -0
  10. package/dist/capabilities/index.d.ts +15 -12
  11. package/dist/capabilities/llm-runtime.cap.d.ts +4 -4
  12. package/dist/capabilities/llm-shared.d.ts +6 -6
  13. package/dist/capabilities/llm.cap.d.ts +6 -6
  14. package/dist/capabilities/model-convert.cap.d.ts +9 -0
  15. package/dist/capabilities/model-distributor.cap.d.ts +18 -0
  16. package/dist/capabilities/notification-rules.cap.d.ts +32 -14
  17. package/dist/capabilities/osd-manager.cap.d.ts +6 -6
  18. package/dist/capabilities/pipeline-analytics.cap.d.ts +80 -2
  19. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +62 -1
  20. package/dist/capabilities/pipeline-runner.cap.d.ts +24 -0
  21. package/dist/capabilities/vector-store.cap.d.ts +14 -0
  22. package/dist/device-extension/index.d.ts +3 -0
  23. package/dist/device-extension/slot-descriptor.d.ts +62 -0
  24. package/dist/device-extension/slot-provider.d.ts +68 -0
  25. package/dist/generated/addon-api.d.ts +50 -0
  26. package/dist/generated/capability-router-map.d.ts +5 -2
  27. package/dist/generated/collection-array-methods.d.ts +1 -1
  28. package/dist/generated/device-proxy.d.ts +7 -7
  29. package/dist/generated/device-scoped-caps.d.ts +1 -1
  30. package/dist/generated/extension-slots.d.ts +39 -0
  31. package/dist/generated/method-access-map.d.ts +1 -1
  32. package/dist/generated/method-device-selectors.d.ts +1 -1
  33. package/dist/generated/system-proxy.d.ts +4 -2
  34. package/dist/index.d.ts +4 -1
  35. package/dist/index.js +1439 -475
  36. package/dist/index.mjs +1379 -476
  37. package/dist/interfaces/addon.d.ts +41 -0
  38. package/dist/interfaces/event-bus.d.ts +10 -0
  39. package/dist/node.d.ts +1 -0
  40. package/dist/node.js +73 -7
  41. package/dist/node.mjs +73 -8
  42. package/dist/pipeline/cluster-model-scope.d.ts +59 -3
  43. package/dist/{sleep-BaRu0bS5.mjs → sleep-BXv0ZcRa.mjs} +49 -33
  44. package/dist/{sleep-BDYxE1ax.js → sleep-QxyLiUId.js} +54 -32
  45. package/dist/storage/atomic-write.d.ts +25 -0
  46. package/dist/types/clip-model.d.ts +64 -0
  47. package/dist/types/models.d.ts +18 -0
  48. package/package.json +1 -1
@@ -421,8 +421,8 @@ export type NcCrossing = z.infer<typeof NcCrossingSchema>;
421
421
  * that means the same as absence is a second way to write one rule.
422
422
  */
423
423
  export declare const NcSensorTransitionSchema: z.ZodEnum<{
424
- raised: "raised";
425
424
  cleared: "cleared";
425
+ raised: "raised";
426
426
  }>;
427
427
  export type NcSensorTransition = z.infer<typeof NcSensorTransitionSchema>;
428
428
  /** Admin-zone membership condition (zone IDs as stamped by the ZoneEngine). */
@@ -703,8 +703,8 @@ export declare const NcConditionsSchema: z.ZodObject<{
703
703
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
704
704
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
705
705
  sensorTransition: z.ZodOptional<z.ZodEnum<{
706
- raised: "raised";
707
706
  cleared: "cleared";
707
+ raised: "raised";
708
708
  }>>;
709
709
  packagePhase: z.ZodOptional<z.ZodEnum<{
710
710
  both: "both";
@@ -840,6 +840,24 @@ export declare const NcLinkedCameraModeSchema: z.ZodEnum<{
840
840
  each: "each";
841
841
  }>;
842
842
  export type NcLinkedCameraMode = z.infer<typeof NcLinkedCameraModeSchema>;
843
+ /**
844
+ * The clip window a rule gets when it stores no `clipPreRollSec` /
845
+ * `clipPostRollSec` (D654): 4 s before the moment, 6 s after.
846
+ *
847
+ * THE one owner. The Notification Center resolves an absent roll to these at
848
+ * dispatch and sizes the broker's clip ring from them (`clip-retention-ask`).
849
+ * The admin editor does not author the roll; the viewer editor still keeps its
850
+ * own 3 / 7 until it imports these (viewer follow-up). A second copy is how the
851
+ * viewer came to display 3 / 7 — copied from a stale comment on the schema
852
+ * below — while the hub cut 4 / 6, and to prune a typed 3 back to "absent",
853
+ * which the hub then read as 4.
854
+ *
855
+ * A product decision of the notification, not the broker's history window
856
+ * (D381/D382): the clip is cut from the broker's per-camera clip ring, which
857
+ * the rules size, not from a pre-roll dial.
858
+ */
859
+ export declare const NC_CLIP_PRE_ROLL_DEFAULT_SEC = 4;
860
+ export declare const NC_CLIP_POST_ROLL_DEFAULT_SEC = 6;
843
861
  export declare const NcMediaPolicySchema: z.ZodObject<{
844
862
  attach: z.ZodDefault<z.ZodEnum<{
845
863
  none: "none";
@@ -1028,8 +1046,8 @@ export declare const NcRuleInputSchema: z.ZodObject<{
1028
1046
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
1029
1047
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1030
1048
  sensorTransition: z.ZodOptional<z.ZodEnum<{
1031
- raised: "raised";
1032
1049
  cleared: "cleared";
1050
+ raised: "raised";
1033
1051
  }>>;
1034
1052
  packagePhase: z.ZodOptional<z.ZodEnum<{
1035
1053
  both: "both";
@@ -1428,8 +1446,8 @@ export declare const NcRulePatchSchema: z.ZodObject<{
1428
1446
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
1429
1447
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1430
1448
  sensorTransition: z.ZodOptional<z.ZodEnum<{
1431
- raised: "raised";
1432
1449
  cleared: "cleared";
1450
+ raised: "raised";
1433
1451
  }>>;
1434
1452
  packagePhase: z.ZodOptional<z.ZodEnum<{
1435
1453
  both: "both";
@@ -1743,8 +1761,8 @@ export declare const NcRuleUpdateInputSchema: z.ZodObject<{
1743
1761
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
1744
1762
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1745
1763
  sensorTransition: z.ZodOptional<z.ZodEnum<{
1746
- raised: "raised";
1747
1764
  cleared: "cleared";
1765
+ raised: "raised";
1748
1766
  }>>;
1749
1767
  packagePhase: z.ZodOptional<z.ZodEnum<{
1750
1768
  both: "both";
@@ -1944,8 +1962,8 @@ export declare const NcRuleSchema: z.ZodObject<{
1944
1962
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
1945
1963
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1946
1964
  sensorTransition: z.ZodOptional<z.ZodEnum<{
1947
- raised: "raised";
1948
1965
  cleared: "cleared";
1966
+ raised: "raised";
1949
1967
  }>>;
1950
1968
  packagePhase: z.ZodOptional<z.ZodEnum<{
1951
1969
  both: "both";
@@ -3371,8 +3389,8 @@ export declare const notificationRulesCapability: {
3371
3389
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
3372
3390
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3373
3391
  sensorTransition: z.ZodOptional<z.ZodEnum<{
3374
- raised: "raised";
3375
3392
  cleared: "cleared";
3393
+ raised: "raised";
3376
3394
  }>>;
3377
3395
  packagePhase: z.ZodOptional<z.ZodEnum<{
3378
3396
  both: "both";
@@ -3668,8 +3686,8 @@ export declare const notificationRulesCapability: {
3668
3686
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
3669
3687
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3670
3688
  sensorTransition: z.ZodOptional<z.ZodEnum<{
3671
- raised: "raised";
3672
3689
  cleared: "cleared";
3690
+ raised: "raised";
3673
3691
  }>>;
3674
3692
  packagePhase: z.ZodOptional<z.ZodEnum<{
3675
3693
  both: "both";
@@ -3963,8 +3981,8 @@ export declare const notificationRulesCapability: {
3963
3981
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
3964
3982
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3965
3983
  sensorTransition: z.ZodOptional<z.ZodEnum<{
3966
- raised: "raised";
3967
3984
  cleared: "cleared";
3985
+ raised: "raised";
3968
3986
  }>>;
3969
3987
  packagePhase: z.ZodOptional<z.ZodEnum<{
3970
3988
  both: "both";
@@ -4252,8 +4270,8 @@ export declare const notificationRulesCapability: {
4252
4270
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
4253
4271
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4254
4272
  sensorTransition: z.ZodOptional<z.ZodEnum<{
4255
- raised: "raised";
4256
4273
  cleared: "cleared";
4274
+ raised: "raised";
4257
4275
  }>>;
4258
4276
  packagePhase: z.ZodOptional<z.ZodEnum<{
4259
4277
  both: "both";
@@ -4652,8 +4670,8 @@ export declare const notificationRulesCapability: {
4652
4670
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
4653
4671
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4654
4672
  sensorTransition: z.ZodOptional<z.ZodEnum<{
4655
- raised: "raised";
4656
4673
  cleared: "cleared";
4674
+ raised: "raised";
4657
4675
  }>>;
4658
4676
  packagePhase: z.ZodOptional<z.ZodEnum<{
4659
4677
  both: "both";
@@ -4851,8 +4869,8 @@ export declare const notificationRulesCapability: {
4851
4869
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
4852
4870
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4853
4871
  sensorTransition: z.ZodOptional<z.ZodEnum<{
4854
- raised: "raised";
4855
4872
  cleared: "cleared";
4873
+ raised: "raised";
4856
4874
  }>>;
4857
4875
  packagePhase: z.ZodOptional<z.ZodEnum<{
4858
4876
  both: "both";
@@ -5228,8 +5246,8 @@ export declare const notificationRulesCapability: {
5228
5246
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
5229
5247
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
5230
5248
  sensorTransition: z.ZodOptional<z.ZodEnum<{
5231
- raised: "raised";
5232
5249
  cleared: "cleared";
5250
+ raised: "raised";
5233
5251
  }>>;
5234
5252
  packagePhase: z.ZodOptional<z.ZodEnum<{
5235
5253
  both: "both";
@@ -5542,8 +5560,8 @@ export declare const notificationRulesCapability: {
5542
5560
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
5543
5561
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
5544
5562
  sensorTransition: z.ZodOptional<z.ZodEnum<{
5545
- raised: "raised";
5546
5563
  cleared: "cleared";
5564
+ raised: "raised";
5547
5565
  }>>;
5548
5566
  packagePhase: z.ZodOptional<z.ZodEnum<{
5549
5567
  both: "both";
@@ -140,8 +140,8 @@ export declare const OsdSlotBindingSchema: z.ZodObject<{
140
140
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
141
141
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
142
142
  sensorTransition: z.ZodOptional<z.ZodEnum<{
143
- raised: "raised";
144
143
  cleared: "cleared";
144
+ raised: "raised";
145
145
  }>>;
146
146
  packagePhase: z.ZodOptional<z.ZodEnum<{
147
147
  both: "both";
@@ -325,8 +325,8 @@ export declare const OsdSlotViewSchema: z.ZodObject<{
325
325
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
326
326
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
327
327
  sensorTransition: z.ZodOptional<z.ZodEnum<{
328
- raised: "raised";
329
328
  cleared: "cleared";
329
+ raised: "raised";
330
330
  }>>;
331
331
  packagePhase: z.ZodOptional<z.ZodEnum<{
332
332
  both: "both";
@@ -582,8 +582,8 @@ export declare const osdManagerCapability: {
582
582
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
583
583
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
584
584
  sensorTransition: z.ZodOptional<z.ZodEnum<{
585
- raised: "raised";
586
585
  cleared: "cleared";
586
+ raised: "raised";
587
587
  }>>;
588
588
  packagePhase: z.ZodOptional<z.ZodEnum<{
589
589
  both: "both";
@@ -858,8 +858,8 @@ export declare const osdManagerCapability: {
858
858
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
859
859
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
860
860
  sensorTransition: z.ZodOptional<z.ZodEnum<{
861
- raised: "raised";
862
861
  cleared: "cleared";
862
+ raised: "raised";
863
863
  }>>;
864
864
  packagePhase: z.ZodOptional<z.ZodEnum<{
865
865
  both: "both";
@@ -1042,8 +1042,8 @@ export declare const osdManagerCapability: {
1042
1042
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
1043
1043
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1044
1044
  sensorTransition: z.ZodOptional<z.ZodEnum<{
1045
- raised: "raised";
1046
1045
  cleared: "cleared";
1046
+ raised: "raised";
1047
1047
  }>>;
1048
1048
  packagePhase: z.ZodOptional<z.ZodEnum<{
1049
1049
  both: "both";
@@ -1258,8 +1258,8 @@ export declare const osdManagerCapability: {
1258
1258
  eventTypeTokens: z.ZodOptional<z.ZodArray<z.ZodString>>;
1259
1259
  sensorKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1260
1260
  sensorTransition: z.ZodOptional<z.ZodEnum<{
1261
- raised: "raised";
1262
1261
  cleared: "cleared";
1262
+ raised: "raised";
1263
1263
  }>>;
1264
1264
  packagePhase: z.ZodOptional<z.ZodEnum<{
1265
1265
  both: "both";
@@ -731,6 +731,7 @@ declare const MediaFileKindEnum: z.ZodEnum<{
731
731
  confirmationCrop: "confirmationCrop";
732
732
  debugCrop: "debugCrop";
733
733
  sceneFrame: "sceneFrame";
734
+ lastSceneFrame: "lastSceneFrame";
734
735
  }>;
735
736
  export type MediaFileKind = z.infer<typeof MediaFileKindEnum>;
736
737
  /**
@@ -760,6 +761,7 @@ declare const MediaFileRefSchema: z.ZodObject<{
760
761
  confirmationCrop: "confirmationCrop";
761
762
  debugCrop: "debugCrop";
762
763
  sceneFrame: "sceneFrame";
764
+ lastSceneFrame: "lastSceneFrame";
763
765
  }>;
764
766
  sizeBytes: z.ZodNumber;
765
767
  timestamp: z.ZodNumber;
@@ -836,6 +838,7 @@ declare const MediaFileSchema: z.ZodObject<{
836
838
  confirmationCrop: "confirmationCrop";
837
839
  debugCrop: "debugCrop";
838
840
  sceneFrame: "sceneFrame";
841
+ lastSceneFrame: "lastSceneFrame";
839
842
  }>;
840
843
  sizeBytes: z.ZodNumber;
841
844
  timestamp: z.ZodNumber;
@@ -875,6 +878,7 @@ declare const MediaFileInfoSchema: z.ZodObject<{
875
878
  confirmationCrop: "confirmationCrop";
876
879
  debugCrop: "debugCrop";
877
880
  sceneFrame: "sceneFrame";
881
+ lastSceneFrame: "lastSceneFrame";
878
882
  }>;
879
883
  mediaId: z.ZodNumber;
880
884
  sizeBytes: z.ZodNumber;
@@ -1017,6 +1021,7 @@ export declare const RetrainFrameCandidateSchema: z.ZodObject<{
1017
1021
  confirmationCrop: "confirmationCrop";
1018
1022
  debugCrop: "debugCrop";
1019
1023
  sceneFrame: "sceneFrame";
1024
+ lastSceneFrame: "lastSceneFrame";
1020
1025
  }>;
1021
1026
  timestamp: z.ZodNumber;
1022
1027
  sizeBytes: z.ZodNumber;
@@ -1045,6 +1050,7 @@ export declare const RetrainFrameSchema: z.ZodObject<{
1045
1050
  confirmationCrop: "confirmationCrop";
1046
1051
  debugCrop: "debugCrop";
1047
1052
  sceneFrame: "sceneFrame";
1053
+ lastSceneFrame: "lastSceneFrame";
1048
1054
  }>;
1049
1055
  sizeBytes: z.ZodNumber;
1050
1056
  width: z.ZodNumber;
@@ -1080,6 +1086,7 @@ export declare const RetrainFrameSelectionSchema: z.ZodObject<{
1080
1086
  confirmationCrop: "confirmationCrop";
1081
1087
  debugCrop: "debugCrop";
1082
1088
  sceneFrame: "sceneFrame";
1089
+ lastSceneFrame: "lastSceneFrame";
1083
1090
  }>;
1084
1091
  sizeBytes: z.ZodNumber;
1085
1092
  width: z.ZodNumber;
@@ -1115,6 +1122,7 @@ export declare const RetrainFrameListSchema: z.ZodObject<{
1115
1122
  confirmationCrop: "confirmationCrop";
1116
1123
  debugCrop: "debugCrop";
1117
1124
  sceneFrame: "sceneFrame";
1125
+ lastSceneFrame: "lastSceneFrame";
1118
1126
  }>;
1119
1127
  timestamp: z.ZodNumber;
1120
1128
  sizeBytes: z.ZodNumber;
@@ -1141,6 +1149,7 @@ export declare const RetrainFrameListSchema: z.ZodObject<{
1141
1149
  confirmationCrop: "confirmationCrop";
1142
1150
  debugCrop: "debugCrop";
1143
1151
  sceneFrame: "sceneFrame";
1152
+ lastSceneFrame: "lastSceneFrame";
1144
1153
  }>;
1145
1154
  sizeBytes: z.ZodNumber;
1146
1155
  width: z.ZodNumber;
@@ -1747,6 +1756,7 @@ declare const EventMediaKindFootprintSchema: z.ZodObject<{
1747
1756
  confirmationCrop: "confirmationCrop";
1748
1757
  debugCrop: "debugCrop";
1749
1758
  sceneFrame: "sceneFrame";
1759
+ lastSceneFrame: "lastSceneFrame";
1750
1760
  }>;
1751
1761
  rows: z.ZodNumber;
1752
1762
  bytes: z.ZodNumber;
@@ -1796,6 +1806,7 @@ declare const EventMediaKindBreakdownSchema: z.ZodObject<{
1796
1806
  confirmationCrop: "confirmationCrop";
1797
1807
  debugCrop: "debugCrop";
1798
1808
  sceneFrame: "sceneFrame";
1809
+ lastSceneFrame: "lastSceneFrame";
1799
1810
  }>;
1800
1811
  rows: z.ZodNumber;
1801
1812
  bytes: z.ZodNumber;
@@ -1811,6 +1822,38 @@ declare const EventPruneCountsSchema: z.ZodObject<{
1811
1822
  audio: z.ZodNumber;
1812
1823
  }, z.core.$strip>;
1813
1824
  export type EventPruneCounts = z.infer<typeof EventPruneCountsSchema>;
1825
+ /**
1826
+ * Why a rebuild did not start, BY NAME — ONE vocabulary for both gates in front
1827
+ * of a pass (D649 over D651). A bare `started: false` read the same for "the
1828
+ * stores are booting" and "the cluster row names a model with no CLIP
1829
+ * metadata", which need different fixes.
1830
+ * - `stores-unavailable` — the analytics stores or the API are not up yet.
1831
+ * - the owner's confirmation of the cluster model (D651, `ClusterPinConfirmer`):
1832
+ * a pass that rewrites an index needs two agreeing reads of the OWNER's
1833
+ * answer (`pipelineOrchestrator.getClusterModelChoice`) — a pass that cannot
1834
+ * name its model does not run (D54):
1835
+ * - the owner's own `unreadable` reasons (`owner-not-ready`,
1836
+ * `store-read-failed`, `three-way-read-unavailable`, `invalid-stored`,
1837
+ * `not-cluster-scoped`);
1838
+ * - `method-unavailable` — the orchestrator predates the method;
1839
+ * - `read-failed` — the call failed or answered something unparseable;
1840
+ * - `reads-disagree` — the two reads named different choices.
1841
+ * - `not-a-clip-model` — the CONFIRMED id has no CLIP metadata, so there is no
1842
+ * index to fill and no dimension to check against (D649).
1843
+ */
1844
+ export declare const RebuildObjectEmbeddingsRefusalSchema: z.ZodEnum<{
1845
+ "owner-not-ready": "owner-not-ready";
1846
+ "store-read-failed": "store-read-failed";
1847
+ "three-way-read-unavailable": "three-way-read-unavailable";
1848
+ "invalid-stored": "invalid-stored";
1849
+ "not-cluster-scoped": "not-cluster-scoped";
1850
+ "stores-unavailable": "stores-unavailable";
1851
+ "method-unavailable": "method-unavailable";
1852
+ "read-failed": "read-failed";
1853
+ "reads-disagree": "reads-disagree";
1854
+ "not-a-clip-model": "not-a-clip-model";
1855
+ }>;
1856
+ export type RebuildObjectEmbeddingsRefusal = z.infer<typeof RebuildObjectEmbeddingsRefusalSchema>;
1814
1857
  /**
1815
1858
  * The long-term series a camera produces. A closed union so a typo cannot
1816
1859
  * invent one, and the ONE declaration of it — the addon's `AnalyticsLtsSeries`
@@ -3210,6 +3253,7 @@ export declare const pipelineAnalyticsCapability: {
3210
3253
  confirmationCrop: "confirmationCrop";
3211
3254
  debugCrop: "debugCrop";
3212
3255
  sceneFrame: "sceneFrame";
3256
+ lastSceneFrame: "lastSceneFrame";
3213
3257
  }>;
3214
3258
  rows: z.ZodNumber;
3215
3259
  bytes: z.ZodNumber;
@@ -3604,6 +3648,7 @@ export declare const pipelineAnalyticsCapability: {
3604
3648
  confirmationCrop: "confirmationCrop";
3605
3649
  debugCrop: "debugCrop";
3606
3650
  sceneFrame: "sceneFrame";
3651
+ lastSceneFrame: "lastSceneFrame";
3607
3652
  }>;
3608
3653
  timestamp: z.ZodNumber;
3609
3654
  sizeBytes: z.ZodNumber;
@@ -3630,6 +3675,7 @@ export declare const pipelineAnalyticsCapability: {
3630
3675
  confirmationCrop: "confirmationCrop";
3631
3676
  debugCrop: "debugCrop";
3632
3677
  sceneFrame: "sceneFrame";
3678
+ lastSceneFrame: "lastSceneFrame";
3633
3679
  }>;
3634
3680
  sizeBytes: z.ZodNumber;
3635
3681
  width: z.ZodNumber;
@@ -3678,6 +3724,7 @@ export declare const pipelineAnalyticsCapability: {
3678
3724
  confirmationCrop: "confirmationCrop";
3679
3725
  debugCrop: "debugCrop";
3680
3726
  sceneFrame: "sceneFrame";
3727
+ lastSceneFrame: "lastSceneFrame";
3681
3728
  }>;
3682
3729
  sizeBytes: z.ZodNumber;
3683
3730
  width: z.ZodNumber;
@@ -4023,6 +4070,7 @@ export declare const pipelineAnalyticsCapability: {
4023
4070
  confirmationCrop: "confirmationCrop";
4024
4071
  debugCrop: "debugCrop";
4025
4072
  sceneFrame: "sceneFrame";
4073
+ lastSceneFrame: "lastSceneFrame";
4026
4074
  }>>;
4027
4075
  deviceId: z.ZodNumber;
4028
4076
  }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
@@ -4043,6 +4091,7 @@ export declare const pipelineAnalyticsCapability: {
4043
4091
  confirmationCrop: "confirmationCrop";
4044
4092
  debugCrop: "debugCrop";
4045
4093
  sceneFrame: "sceneFrame";
4094
+ lastSceneFrame: "lastSceneFrame";
4046
4095
  }>;
4047
4096
  sizeBytes: z.ZodNumber;
4048
4097
  timestamp: z.ZodNumber;
@@ -4071,6 +4120,7 @@ export declare const pipelineAnalyticsCapability: {
4071
4120
  confirmationCrop: "confirmationCrop";
4072
4121
  debugCrop: "debugCrop";
4073
4122
  sceneFrame: "sceneFrame";
4123
+ lastSceneFrame: "lastSceneFrame";
4074
4124
  }>>>;
4075
4125
  deviceId: z.ZodNumber;
4076
4126
  }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
@@ -4091,6 +4141,7 @@ export declare const pipelineAnalyticsCapability: {
4091
4141
  confirmationCrop: "confirmationCrop";
4092
4142
  debugCrop: "debugCrop";
4093
4143
  sceneFrame: "sceneFrame";
4144
+ lastSceneFrame: "lastSceneFrame";
4094
4145
  }>;
4095
4146
  sizeBytes: z.ZodNumber;
4096
4147
  timestamp: z.ZodNumber;
@@ -4133,6 +4184,7 @@ export declare const pipelineAnalyticsCapability: {
4133
4184
  confirmationCrop: "confirmationCrop";
4134
4185
  debugCrop: "debugCrop";
4135
4186
  sceneFrame: "sceneFrame";
4187
+ lastSceneFrame: "lastSceneFrame";
4136
4188
  }>;
4137
4189
  mediaId: z.ZodNumber;
4138
4190
  sizeBytes: z.ZodNumber;
@@ -4182,6 +4234,7 @@ export declare const pipelineAnalyticsCapability: {
4182
4234
  confirmationCrop: "confirmationCrop";
4183
4235
  debugCrop: "debugCrop";
4184
4236
  sceneFrame: "sceneFrame";
4237
+ lastSceneFrame: "lastSceneFrame";
4185
4238
  }>;
4186
4239
  mediaId: z.ZodNumber;
4187
4240
  sizeBytes: z.ZodNumber;
@@ -4236,7 +4289,13 @@ export declare const pipelineAnalyticsCapability: {
4236
4289
  until: z.ZodOptional<z.ZodNumber>;
4237
4290
  classFilter: z.ZodOptional<z.ZodString>;
4238
4291
  limit: z.ZodDefault<z.ZodNumber>;
4239
- minScore: z.ZodDefault<z.ZodNumber>;
4292
+ minScore: z.ZodOptional<z.ZodNumber>;
4293
+ strictness: z.ZodOptional<z.ZodEnum<{
4294
+ loose: "loose";
4295
+ balanced: "balanced";
4296
+ strict: "strict";
4297
+ }>>;
4298
+ modelId: z.ZodOptional<z.ZodString>;
4240
4299
  }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
4241
4300
  confidence: z.ZodOptional<z.ZodNumber>;
4242
4301
  bbox: z.ZodOptional<z.ZodObject<{
@@ -4302,9 +4361,12 @@ export declare const pipelineAnalyticsCapability: {
4302
4361
  deviceId: z.ZodNumber;
4303
4362
  timestamp: z.ZodNumber;
4304
4363
  score: z.ZodNumber;
4305
- }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
4364
+ }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind> & {
4365
+ readonly caller: "required";
4366
+ };
4306
4367
  readonly wipeObjectEmbeddings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
4307
4368
  deleted: z.ZodNumber;
4369
+ failedIndexes: z.ZodOptional<z.ZodArray<z.ZodString>>;
4308
4370
  }, z.core.$strip>, "mutation">;
4309
4371
  readonly rebuildObjectEmbeddings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
4310
4372
  deviceId: z.ZodOptional<z.ZodNumber>;
@@ -4316,6 +4378,20 @@ export declare const pipelineAnalyticsCapability: {
4316
4378
  }, z.core.$strip>, z.ZodObject<{
4317
4379
  started: z.ZodBoolean;
4318
4380
  alreadyRunning: z.ZodBoolean;
4381
+ refusal: z.ZodOptional<z.ZodEnum<{
4382
+ "owner-not-ready": "owner-not-ready";
4383
+ "store-read-failed": "store-read-failed";
4384
+ "three-way-read-unavailable": "three-way-read-unavailable";
4385
+ "invalid-stored": "invalid-stored";
4386
+ "not-cluster-scoped": "not-cluster-scoped";
4387
+ "stores-unavailable": "stores-unavailable";
4388
+ "method-unavailable": "method-unavailable";
4389
+ "read-failed": "read-failed";
4390
+ "reads-disagree": "reads-disagree";
4391
+ "not-a-clip-model": "not-a-clip-model";
4392
+ }>>;
4393
+ modelId: z.ZodOptional<z.ZodString>;
4394
+ index: z.ZodOptional<z.ZodString>;
4319
4395
  }, z.core.$strip>, "mutation">;
4320
4396
  readonly getObjectEmbeddingRebuildStatus: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
4321
4397
  running: z.ZodBoolean;
@@ -4330,6 +4406,8 @@ export declare const pipelineAnalyticsCapability: {
4330
4406
  startedAtMs: z.ZodNullable<z.ZodNumber>;
4331
4407
  finishedAtMs: z.ZodNullable<z.ZodNumber>;
4332
4408
  error: z.ZodNullable<z.ZodString>;
4409
+ modelId: z.ZodNullable<z.ZodString>;
4410
+ index: z.ZodNullable<z.ZodString>;
4333
4411
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
4334
4412
  };
4335
4413
  readonly events: {
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS } from '../pipeline/cluster-model-scope.js';
2
3
  import { type InferProvider } from './capability-definition.js';
3
4
  declare const CameraPipelineConfigSchema: z.ZodObject<{
4
5
  engine: z.ZodOptional<z.ZodObject<{
@@ -573,6 +574,31 @@ declare const NodeInferenceDeviceSchema: z.ZodObject<{
573
574
  "accelerator-preferred": "accelerator-preferred";
574
575
  }>>;
575
576
  }, z.core.$strip>;
577
+ export { CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS };
578
+ /**
579
+ * The operator's model choice for one cluster-scoped step, answered by the
580
+ * addon that OWNS the `clusterModel:*` settings (D651). Three answers, never
581
+ * folded: a written choice, a key nobody wrote (the cluster runs the default
582
+ * BY ABSENCE), or no answer. A caller that rewrites an index acts only on the
583
+ * first two, read twice and agreeing.
584
+ */
585
+ export declare const ClusterModelChoiceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
586
+ kind: z.ZodLiteral<"stored">;
587
+ modelId: z.ZodString;
588
+ }, z.core.$strip>, z.ZodObject<{
589
+ kind: z.ZodLiteral<"absent">;
590
+ defaultModelId: z.ZodString;
591
+ }, z.core.$strip>, z.ZodObject<{
592
+ kind: z.ZodLiteral<"unreadable">;
593
+ reason: z.ZodEnum<{
594
+ "owner-not-ready": "owner-not-ready";
595
+ "store-read-failed": "store-read-failed";
596
+ "three-way-read-unavailable": "three-way-read-unavailable";
597
+ "invalid-stored": "invalid-stored";
598
+ "not-cluster-scoped": "not-cluster-scoped";
599
+ }>;
600
+ error: z.ZodOptional<z.ZodString>;
601
+ }, z.core.$strip>], "kind">;
576
602
  declare const NodeInferenceDevicesSchema: z.ZodObject<{
577
603
  nodeId: z.ZodString;
578
604
  reachable: z.ZodBoolean;
@@ -701,10 +727,18 @@ export declare const pipelineOrchestratorCapability: {
701
727
  * Trigger a full rebalance pass. Iterates over all assigned cameras,
702
728
  * recomputes the optimal agent for each one based on current load +
703
729
  * hardware affinity, and migrates cameras whose current agent is no
704
- * longer optimal. Pinned cameras are never migrated.
730
+ * longer optimal. Pinned cameras are never migrated. `skipped` names the
731
+ * cameras the pass wanted to move and could not, with why — a target node
732
+ * that has not answered its catalog / device health yet, or a device that
733
+ * cannot run the camera's root (D650).
705
734
  */
706
735
  readonly rebalance: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
707
736
  migrated: z.ZodNumber;
737
+ skipped: z.ZodDefault<z.ZodArray<z.ZodObject<{
738
+ deviceId: z.ZodNumber;
739
+ targetNodeId: z.ZodString;
740
+ reason: z.ZodString;
741
+ }, z.core.$strip>>>;
708
742
  }, z.core.$strip>, "mutation">;
709
743
  /** Get the full camera-to-agent assignment map. */
710
744
  readonly getPipelineAssignments: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
@@ -762,6 +796,31 @@ export declare const pipelineOrchestratorCapability: {
762
796
  score: z.ZodNumber;
763
797
  decodeHwaccel: z.ZodNullable<z.ZodString>;
764
798
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
799
+ /**
800
+ * The operator's STORED model choice for one cluster-scoped step (D651).
801
+ * Read three-way from this addon's own store, only once its boot has
802
+ * settled. Unlike `addonSettings.getGlobalSettings`, it never answers a
803
+ * default as though someone chose it.
804
+ */
805
+ readonly getClusterModelChoice: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
806
+ stepId: z.ZodString;
807
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
808
+ kind: z.ZodLiteral<"stored">;
809
+ modelId: z.ZodString;
810
+ }, z.core.$strip>, z.ZodObject<{
811
+ kind: z.ZodLiteral<"absent">;
812
+ defaultModelId: z.ZodString;
813
+ }, z.core.$strip>, z.ZodObject<{
814
+ kind: z.ZodLiteral<"unreadable">;
815
+ reason: z.ZodEnum<{
816
+ "owner-not-ready": "owner-not-ready";
817
+ "store-read-failed": "store-read-failed";
818
+ "three-way-read-unavailable": "three-way-read-unavailable";
819
+ "invalid-stored": "invalid-stored";
820
+ "not-cluster-scoped": "not-cluster-scoped";
821
+ }>;
822
+ error: z.ZodOptional<z.ZodString>;
823
+ }, z.core.$strip>], "kind">, import("./capability-definition.js").CapabilityMethodKind>;
765
824
  /** Aggregate global metrics across the whole detection cluster. */
766
825
  readonly getGlobalMetrics: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
767
826
  totalAgents: z.ZodNumber;
@@ -1888,6 +1947,8 @@ export declare const pipelineOrchestratorCapability: {
1888
1947
  };
1889
1948
  };
1890
1949
  export type IPipelineOrchestratorProvider = InferProvider<typeof pipelineOrchestratorCapability>;
1950
+ export type ClusterModelChoice = z.infer<typeof ClusterModelChoiceSchema>;
1951
+ export type ClusterModelChoiceUnreadableReason = (typeof CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS)[number];
1891
1952
  export type DiskReconcileJob = z.infer<typeof DiskReconcileJobSchema>;
1892
1953
  export type CameraStatus = z.infer<typeof CameraStatusSchema>;
1893
1954
  export type CameraStatusDegradation = z.infer<typeof CameraStatusDegradationSchema>;
@@ -291,6 +291,18 @@ export declare const RunnerFrameSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObje
291
291
  hubHostnameOverride: z.ZodOptional<z.ZodString>;
292
292
  }, z.core.$strip>], "kind">;
293
293
  export type RunnerFrameSource = z.infer<typeof RunnerFrameSourceSchema>;
294
+ /**
295
+ * What ONE step runs with on ONE roster device for THIS camera (D650): the
296
+ * device's per-(node,device) base with the camera's override for that device
297
+ * on top — the same `override ?? base` merge the orchestrator applies to the
298
+ * elected device (`applyDeviceProvisioning`). Absent `modelId` ⇒ the executor
299
+ * resolves the device format's default, exactly as on the elected device.
300
+ */
301
+ export declare const RunnerJumpStepProvisioningSchema: z.ZodObject<{
302
+ modelId: z.ZodOptional<z.ZodString>;
303
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
304
+ }, z.core.$strip>;
305
+ export type RunnerJumpStepProvisioning = z.infer<typeof RunnerJumpStepProvisioningSchema>;
294
306
  /**
295
307
  * One ENABLED inference device on the runner's node, as the step-tree
296
308
  * device-jump resolver sees it (phase 1). The orchestrator populates this
@@ -304,6 +316,10 @@ export declare const RunnerInferenceDeviceSchema: z.ZodObject<{
304
316
  deviceKey: z.ZodString;
305
317
  weight: z.ZodDefault<z.ZodNumber>;
306
318
  maxSessions: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
319
+ steps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
320
+ modelId: z.ZodOptional<z.ZodString>;
321
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
322
+ }, z.core.$strip>>>;
307
323
  }, z.core.$strip>;
308
324
  export type RunnerInferenceDevice = z.infer<typeof RunnerInferenceDeviceSchema>;
309
325
  /**
@@ -388,6 +404,10 @@ declare const RunnerCameraConfigSchema: z.ZodObject<{
388
404
  deviceKey: z.ZodString;
389
405
  weight: z.ZodDefault<z.ZodNumber>;
390
406
  maxSessions: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
407
+ steps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
408
+ modelId: z.ZodOptional<z.ZodString>;
409
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
410
+ }, z.core.$strip>>>;
391
411
  }, z.core.$strip>>>>;
392
412
  }, z.core.$strip>;
393
413
  /**
@@ -672,6 +692,10 @@ export declare const pipelineRunnerCapability: {
672
692
  deviceKey: z.ZodString;
673
693
  weight: z.ZodDefault<z.ZodNumber>;
674
694
  maxSessions: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
695
+ steps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
696
+ modelId: z.ZodOptional<z.ZodString>;
697
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
698
+ }, z.core.$strip>>>;
675
699
  }, z.core.$strip>>>>;
676
700
  }, z.core.$strip>, z.ZodObject<{
677
701
  success: z.ZodLiteral<true>;
@@ -232,6 +232,20 @@ export declare const VectorScanResultSchema: z.ZodObject<{
232
232
  }, z.core.$strip>>;
233
233
  nextCursor: z.ZodNullable<z.ZodNumber>;
234
234
  }, z.core.$strip>;
235
+ /**
236
+ * The ONE error code for "this index exists at another dimension; refusing to
237
+ * redeclare it" (D649). It rides in the MESSAGE — an Error's own properties do
238
+ * not survive the UDS/tRPC hop, its message does — and both sides go through
239
+ * the helpers below, never a copied phrase: a consumer that must tell "this
240
+ * index can never hold my vectors" from "the provider is unreachable" (a
241
+ * delete counts the first as nothing-to-delete and the second as still
242
+ * present) otherwise breaks silently the day the wording changes.
243
+ */
244
+ export declare const VECTOR_INDEX_DIM_CONFLICT = "vector-index-dim-conflict";
245
+ /** The provider's refusal, carrying {@link VECTOR_INDEX_DIM_CONFLICT}. */
246
+ export declare function vectorIndexDimConflictError(index: string, declaredDim: number, requestedDim: number): Error;
247
+ /** True when `err` (possibly re-wrapped by a transport) is that refusal. */
248
+ export declare function isVectorIndexDimConflict(err: unknown): boolean;
235
249
  export declare const VectorStatsInputSchema: z.ZodObject<{
236
250
  index: z.ZodString;
237
251
  }, z.core.$strip>;
@@ -0,0 +1,3 @@
1
+ export type { ExtensionSlotCardinality, ExtensionSlotDescriptor, ExtensionSlotShape, } from './slot-descriptor.js';
2
+ export { createDeviceExtensionProvider, defineExtensionSlotProvider, extensionSlotRef, type DeviceExtensionProviderOptions, type ExtensionSlotImpl, type ExtensionSlotListing, type ExtensionSlotProvider, type ExtensionSlotValueOf, } from './slot-provider.js';
3
+ export { EXTENSION_HOST_DEVICE_TYPES, EXTENSION_SLOT_IDS, EXTENSION_SLOTS, ExtensionSlotIdSchema, ExtensionSlotValueSchema, type ExtensionSlotEntry, type ExtensionSlotId, type ExtensionSlotValue, } from '../generated/extension-slots.js';