@camstack/types 1.2.327 → 1.2.328

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 (71) hide show
  1. package/dist/addon/base-addon.d.ts +58 -0
  2. package/dist/addon/secret-aware-context.d.ts +27 -0
  3. package/dist/addon/secret-paths.d.ts +48 -0
  4. package/dist/addon/secret-settings-view.d.ts +80 -0
  5. package/dist/addon.d.ts +1 -0
  6. package/dist/addon.js +52 -4
  7. package/dist/addon.mjs +27 -5
  8. package/dist/capabilities/addons.cap.d.ts +4 -4
  9. package/dist/capabilities/alerts.cap.d.ts +5 -5
  10. package/dist/capabilities/control.cap.d.ts +11 -11
  11. package/dist/capabilities/day-night.cap.d.ts +8 -8
  12. package/dist/capabilities/device-manager.cap.d.ts +2 -0
  13. package/dist/capabilities/enum-sensor.cap.d.ts +4 -4
  14. package/dist/capabilities/index.d.ts +6 -2
  15. package/dist/capabilities/integrations.cap.d.ts +6 -3
  16. package/dist/capabilities/keychain-admin.cap.d.ts +312 -0
  17. package/dist/capabilities/keychain.cap.d.ts +180 -0
  18. package/dist/capabilities/lawn-mower-control.cap.d.ts +4 -4
  19. package/dist/capabilities/log-channels.cap.d.ts +1 -1
  20. package/dist/capabilities/log-destination.cap.d.ts +5 -5
  21. package/dist/capabilities/notification-rules.cap.d.ts +30 -30
  22. package/dist/capabilities/osd-manager.cap.d.ts +11 -11
  23. package/dist/capabilities/osd.cap.d.ts +5 -5
  24. package/dist/capabilities/pipeline-analytics.cap.d.ts +996 -118
  25. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +384 -0
  26. package/dist/capabilities/pipeline-runner.cap.d.ts +145 -2
  27. package/dist/capabilities/storage.cap.d.ts +1 -1
  28. package/dist/capabilities/system.cap.d.ts +16 -16
  29. package/dist/capabilities/webrtc-session.cap.d.ts +3 -3
  30. package/dist/client.js +32 -1
  31. package/dist/client.mjs +32 -1
  32. package/dist/device/device-context.d.ts +11 -1
  33. package/dist/device/index.d.ts +1 -1
  34. package/dist/enums/event-category.d.ts +7 -0
  35. package/dist/enums.js +1 -1
  36. package/dist/enums.mjs +1 -1
  37. package/dist/{event-category-CtBAl88K.js → event-category-CHduMGvg.js} +7 -0
  38. package/dist/{event-category-B_0XEcLF.mjs → event-category-DaIZi00R.mjs} +7 -0
  39. package/dist/generated/addon-api.d.ts +254 -0
  40. package/dist/generated/cap-input-defaults.d.ts +1 -1
  41. package/dist/generated/capability-router-map.d.ts +8 -2
  42. package/dist/generated/method-access-map.d.ts +1 -1
  43. package/dist/generated/method-device-selectors.d.ts +1 -1
  44. package/dist/generated/system-proxy.d.ts +4 -2
  45. package/dist/health/wiring-health.d.ts +8 -8
  46. package/dist/index.d.ts +6 -2
  47. package/dist/index.js +1736 -101
  48. package/dist/index.mjs +1625 -98
  49. package/dist/interfaces/addon.d.ts +25 -0
  50. package/dist/interfaces/config-ui-secrets.d.ts +12 -0
  51. package/dist/interfaces/config-ui.d.ts +29 -1
  52. package/dist/interfaces/event-bus.d.ts +11 -0
  53. package/dist/interfaces/pipeline-runner-capability.d.ts +18 -0
  54. package/dist/keychain/index.d.ts +5 -0
  55. package/dist/keychain/known-secrets.d.ts +31 -0
  56. package/dist/keychain/resolve-secret-views.d.ts +2 -0
  57. package/dist/keychain/secret-marker.d.ts +52 -0
  58. package/dist/keychain/secret-ref.d.ts +62 -0
  59. package/dist/keychain/secrets-access.d.ts +77 -0
  60. package/dist/logging/log-channel.d.ts +2 -2
  61. package/dist/pipeline/auto-tune/plan-schemas.d.ts +123 -0
  62. package/dist/pipeline/auto-tune/recommend.d.ts +26 -1
  63. package/dist/pipeline/load-balancing/schemas.d.ts +8 -7
  64. package/dist/pipeline/node-benchmark/benchmark-mode.d.ts +57 -0
  65. package/dist/pipeline/node-benchmark/index.d.ts +9 -0
  66. package/dist/pipeline/node-benchmark/results.d.ts +52 -0
  67. package/dist/pipeline/node-benchmark/schemas.d.ts +848 -0
  68. package/dist/pipeline/node-benchmark/step-tree.d.ts +23 -0
  69. package/dist/{sleep-B0JG7-_F.mjs → sleep-Cr5YOk3m.mjs} +1335 -121
  70. package/dist/{sleep-az1qiFzK.js → sleep-i3kl-0Na.js} +1575 -121
  71. package/package.json +1 -1
@@ -930,11 +930,24 @@ export declare const RetrainAnnotationKindSchema: z.ZodEnum<{
930
930
  subject: "subject";
931
931
  model_error: "model_error";
932
932
  }>;
933
- /** Did a human draw this box, or did the assist propose it? */
933
+ /**
934
+ * Where a box came from. A machine-sourced box is a DRAFT on the page until
935
+ * the operator confirms it; once saved it keeps its source as provenance.
936
+ *
937
+ * - `operator` — drawn by hand.
938
+ * - `assist` — proposed by a detector run on the copy (the camera's own
939
+ * model, or a larger teacher model).
940
+ * - `pipeline` — the box the live pipeline actually drew on that frame, read
941
+ * back from the track store (never a re-run).
942
+ * - `llm` — proposed by a vision-capable LLM profile.
943
+ */
934
944
  export declare const RetrainAnnotationSourceSchema: z.ZodEnum<{
935
945
  operator: "operator";
946
+ pipeline: "pipeline";
936
947
  assist: "assist";
948
+ llm: "llm";
937
949
  }>;
950
+ export type RetrainAnnotationSource = z.infer<typeof RetrainAnnotationSourceSchema>;
938
951
  /**
939
952
  * One annotated subject.
940
953
  *
@@ -945,7 +958,7 @@ export declare const RetrainAnnotationSourceSchema: z.ZodEnum<{
945
958
  */
946
959
  export declare const RetrainAnnotationSchema: z.ZodObject<{
947
960
  id: z.ZodString;
948
- trackId: z.ZodString;
961
+ trackId: z.ZodOptional<z.ZodString>;
949
962
  deviceId: z.ZodNumber;
950
963
  mediaKey: z.ZodString;
951
964
  bbox: z.ZodObject<{
@@ -970,7 +983,9 @@ export declare const RetrainAnnotationSchema: z.ZodObject<{
970
983
  }>;
971
984
  source: z.ZodEnum<{
972
985
  operator: "operator";
986
+ pipeline: "pipeline";
973
987
  assist: "assist";
988
+ llm: "llm";
974
989
  }>;
975
990
  assistModelId: z.ZodOptional<z.ZodString>;
976
991
  assistScore: z.ZodOptional<z.ZodNumber>;
@@ -993,7 +1008,9 @@ export declare const RetrainAnnotationDraftSchema: z.ZodObject<{
993
1008
  label: z.ZodOptional<z.ZodString>;
994
1009
  source: z.ZodEnum<{
995
1010
  operator: "operator";
1011
+ pipeline: "pipeline";
996
1012
  assist: "assist";
1013
+ llm: "llm";
997
1014
  }>;
998
1015
  subLabel: z.ZodOptional<z.ZodString>;
999
1016
  macroClass: z.ZodEnum<{
@@ -1046,12 +1063,61 @@ export declare const RetrainFrameCandidateSchema: z.ZodObject<{
1046
1063
  copied: z.ZodBoolean;
1047
1064
  }, z.core.$strip>;
1048
1065
  export type RetrainFrameCandidate = z.infer<typeof RetrainFrameCandidateSchema>;
1066
+ /**
1067
+ * One box the live pipeline drew on a copied frame — what a correction starts
1068
+ * from. Derived when the frame is listed, from the track store: the subject
1069
+ * box recorded on the source media row when there is one, else the track
1070
+ * position nearest the frame's capture time. Never stored as an annotation
1071
+ * until the operator confirms it.
1072
+ */
1073
+ export declare const RetrainPipelineBoxSchema: z.ZodObject<{
1074
+ bbox: z.ZodObject<{
1075
+ x: z.ZodNumber;
1076
+ y: z.ZodNumber;
1077
+ w: z.ZodNumber;
1078
+ h: z.ZodNumber;
1079
+ }, z.core.$strip>;
1080
+ macroClass: z.ZodEnum<{
1081
+ person: "person";
1082
+ vehicle: "vehicle";
1083
+ animal: "animal";
1084
+ package: "package";
1085
+ face: "face";
1086
+ plate: "plate";
1087
+ }>;
1088
+ label: z.ZodOptional<z.ZodString>;
1089
+ subLabel: z.ZodOptional<z.ZodString>;
1090
+ score: z.ZodOptional<z.ZodNumber>;
1091
+ modelId: z.ZodOptional<z.ZodString>;
1092
+ trackId: z.ZodString;
1093
+ basis: z.ZodEnum<{
1094
+ position: "position";
1095
+ "subject-box": "subject-box";
1096
+ }>;
1097
+ deltaMs: z.ZodNumber;
1098
+ }, z.core.$strip>;
1099
+ export type RetrainPipelineBox = z.infer<typeof RetrainPipelineBoxSchema>;
1100
+ /**
1101
+ * Where a retrain frame came from: a TRACK's stored media (copy-on-select),
1102
+ * or the RECORDING at an instant — the frame a model saw nothing in has no
1103
+ * track at all.
1104
+ */
1105
+ export declare const RetrainFrameOriginSchema: z.ZodEnum<{
1106
+ recording: "recording";
1107
+ track: "track";
1108
+ }>;
1109
+ export type RetrainFrameOrigin = z.infer<typeof RetrainFrameOriginSchema>;
1049
1110
  /** A frame the dataset OWNS: bytes copied at selection time. */
1050
1111
  export declare const RetrainFrameSchema: z.ZodObject<{
1051
1112
  frameId: z.ZodString;
1052
1113
  deviceId: z.ZodNumber;
1053
- trackId: z.ZodString;
1054
- sourceMediaId: z.ZodNumber;
1114
+ origin: z.ZodEnum<{
1115
+ recording: "recording";
1116
+ track: "track";
1117
+ }>;
1118
+ trackId: z.ZodOptional<z.ZodString>;
1119
+ sourceMediaId: z.ZodOptional<z.ZodNumber>;
1120
+ epochMs: z.ZodOptional<z.ZodNumber>;
1055
1121
  sourceKind: z.ZodEnum<{
1056
1122
  crop: "crop";
1057
1123
  thumbnail: "thumbnail";
@@ -1076,6 +1142,33 @@ export declare const RetrainFrameSchema: z.ZodObject<{
1076
1142
  copiedAt: z.ZodNumber;
1077
1143
  capturedAt: z.ZodOptional<z.ZodNumber>;
1078
1144
  complete: z.ZodBoolean;
1145
+ pipelineBoxes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
1146
+ bbox: z.ZodObject<{
1147
+ x: z.ZodNumber;
1148
+ y: z.ZodNumber;
1149
+ w: z.ZodNumber;
1150
+ h: z.ZodNumber;
1151
+ }, z.core.$strip>;
1152
+ macroClass: z.ZodEnum<{
1153
+ person: "person";
1154
+ vehicle: "vehicle";
1155
+ animal: "animal";
1156
+ package: "package";
1157
+ face: "face";
1158
+ plate: "plate";
1159
+ }>;
1160
+ label: z.ZodOptional<z.ZodString>;
1161
+ subLabel: z.ZodOptional<z.ZodString>;
1162
+ score: z.ZodOptional<z.ZodNumber>;
1163
+ modelId: z.ZodOptional<z.ZodString>;
1164
+ trackId: z.ZodString;
1165
+ basis: z.ZodEnum<{
1166
+ position: "position";
1167
+ "subject-box": "subject-box";
1168
+ }>;
1169
+ deltaMs: z.ZodNumber;
1170
+ }, z.core.$strip>>>>;
1171
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1079
1172
  }, z.core.$strip>;
1080
1173
  export type RetrainFrame = z.infer<typeof RetrainFrameSchema>;
1081
1174
  /** Why a copy-on-select could not be honoured — named, never a silent skip. */
@@ -1088,8 +1181,13 @@ export declare const RetrainFrameSelectionSchema: z.ZodObject<{
1088
1181
  copied: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1089
1182
  frameId: z.ZodString;
1090
1183
  deviceId: z.ZodNumber;
1091
- trackId: z.ZodString;
1092
- sourceMediaId: z.ZodNumber;
1184
+ origin: z.ZodEnum<{
1185
+ recording: "recording";
1186
+ track: "track";
1187
+ }>;
1188
+ trackId: z.ZodOptional<z.ZodString>;
1189
+ sourceMediaId: z.ZodOptional<z.ZodNumber>;
1190
+ epochMs: z.ZodOptional<z.ZodNumber>;
1093
1191
  sourceKind: z.ZodEnum<{
1094
1192
  crop: "crop";
1095
1193
  thumbnail: "thumbnail";
@@ -1114,6 +1212,33 @@ export declare const RetrainFrameSelectionSchema: z.ZodObject<{
1114
1212
  copiedAt: z.ZodNumber;
1115
1213
  capturedAt: z.ZodOptional<z.ZodNumber>;
1116
1214
  complete: z.ZodBoolean;
1215
+ pipelineBoxes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
1216
+ bbox: z.ZodObject<{
1217
+ x: z.ZodNumber;
1218
+ y: z.ZodNumber;
1219
+ w: z.ZodNumber;
1220
+ h: z.ZodNumber;
1221
+ }, z.core.$strip>;
1222
+ macroClass: z.ZodEnum<{
1223
+ person: "person";
1224
+ vehicle: "vehicle";
1225
+ animal: "animal";
1226
+ package: "package";
1227
+ face: "face";
1228
+ plate: "plate";
1229
+ }>;
1230
+ label: z.ZodOptional<z.ZodString>;
1231
+ subLabel: z.ZodOptional<z.ZodString>;
1232
+ score: z.ZodOptional<z.ZodNumber>;
1233
+ modelId: z.ZodOptional<z.ZodString>;
1234
+ trackId: z.ZodString;
1235
+ basis: z.ZodEnum<{
1236
+ position: "position";
1237
+ "subject-box": "subject-box";
1238
+ }>;
1239
+ deltaMs: z.ZodNumber;
1240
+ }, z.core.$strip>>>>;
1241
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1117
1242
  }, z.core.$strip>>>;
1118
1243
  refused: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1119
1244
  sourceMediaId: z.ZodNumber;
@@ -1153,8 +1278,13 @@ export declare const RetrainFrameListSchema: z.ZodObject<{
1153
1278
  copies: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1154
1279
  frameId: z.ZodString;
1155
1280
  deviceId: z.ZodNumber;
1156
- trackId: z.ZodString;
1157
- sourceMediaId: z.ZodNumber;
1281
+ origin: z.ZodEnum<{
1282
+ recording: "recording";
1283
+ track: "track";
1284
+ }>;
1285
+ trackId: z.ZodOptional<z.ZodString>;
1286
+ sourceMediaId: z.ZodOptional<z.ZodNumber>;
1287
+ epochMs: z.ZodOptional<z.ZodNumber>;
1158
1288
  sourceKind: z.ZodEnum<{
1159
1289
  crop: "crop";
1160
1290
  thumbnail: "thumbnail";
@@ -1179,6 +1309,33 @@ export declare const RetrainFrameListSchema: z.ZodObject<{
1179
1309
  copiedAt: z.ZodNumber;
1180
1310
  capturedAt: z.ZodOptional<z.ZodNumber>;
1181
1311
  complete: z.ZodBoolean;
1312
+ pipelineBoxes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
1313
+ bbox: z.ZodObject<{
1314
+ x: z.ZodNumber;
1315
+ y: z.ZodNumber;
1316
+ w: z.ZodNumber;
1317
+ h: z.ZodNumber;
1318
+ }, z.core.$strip>;
1319
+ macroClass: z.ZodEnum<{
1320
+ person: "person";
1321
+ vehicle: "vehicle";
1322
+ animal: "animal";
1323
+ package: "package";
1324
+ face: "face";
1325
+ plate: "plate";
1326
+ }>;
1327
+ label: z.ZodOptional<z.ZodString>;
1328
+ subLabel: z.ZodOptional<z.ZodString>;
1329
+ score: z.ZodOptional<z.ZodNumber>;
1330
+ modelId: z.ZodOptional<z.ZodString>;
1331
+ trackId: z.ZodString;
1332
+ basis: z.ZodEnum<{
1333
+ position: "position";
1334
+ "subject-box": "subject-box";
1335
+ }>;
1336
+ deltaMs: z.ZodNumber;
1337
+ }, z.core.$strip>>>>;
1338
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1182
1339
  }, z.core.$strip>>>;
1183
1340
  autoPickMediaId: z.ZodOptional<z.ZodNumber>;
1184
1341
  }, z.core.$strip>;
@@ -1193,6 +1350,7 @@ export type RetrainFrameList = z.infer<typeof RetrainFrameListSchema>;
1193
1350
  export declare const RetrainExportFilterSchema: z.ZodObject<{
1194
1351
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1195
1352
  frameIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1353
+ collectionIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1196
1354
  batchId: z.ZodOptional<z.ZodString>;
1197
1355
  completeOnly: z.ZodOptional<z.ZodBoolean>;
1198
1356
  }, z.core.$strip>;
@@ -1272,7 +1430,9 @@ export declare const RetrainAssistResultSchema: z.ZodDiscriminatedUnion<[z.ZodOb
1272
1430
  label: z.ZodOptional<z.ZodString>;
1273
1431
  source: z.ZodEnum<{
1274
1432
  operator: "operator";
1433
+ pipeline: "pipeline";
1275
1434
  assist: "assist";
1435
+ llm: "llm";
1276
1436
  }>;
1277
1437
  subLabel: z.ZodOptional<z.ZodString>;
1278
1438
  macroClass: z.ZodEnum<{
@@ -1293,110 +1453,373 @@ export declare const RetrainAssistResultSchema: z.ZodDiscriminatedUnion<[z.ZodOb
1293
1453
  detail: z.ZodOptional<z.ZodString>;
1294
1454
  }, z.core.$strip>], "kind">;
1295
1455
  export type RetrainAssistResult = z.infer<typeof RetrainAssistResultSchema>;
1296
- /** The outcome of a lifecycle move owned by the retrain page. */
1297
- export declare const RetrainTransitionResultSchema: z.ZodObject<{
1298
- trackId: z.ZodString;
1299
- retrainStatus: z.ZodEnum<{
1300
- none: "none";
1301
- staging: "staging";
1302
- trained: "trained";
1303
- }>;
1304
- changed: z.ZodBoolean;
1305
- reason: z.ZodOptional<z.ZodEnum<{
1306
- "unknown-track": "unknown-track";
1307
- "no-frames-copied": "no-frames-copied";
1308
- "not-staging": "not-staging";
1309
- "not-trained": "not-trained";
1310
- unchanged: "unchanged";
1311
- }>>;
1312
- }, z.core.$strip>;
1313
- export type RetrainTransitionResult = z.infer<typeof RetrainTransitionResultSchema>;
1314
- declare const RecentTracksQueryInput: z.ZodObject<{
1315
- deviceIds: z.ZodArray<z.ZodNumber>;
1316
- since: z.ZodOptional<z.ZodNumber>;
1317
- until: z.ZodOptional<z.ZodNumber>;
1318
- limit: z.ZodDefault<z.ZodNumber>;
1319
- cursor: z.ZodOptional<z.ZodString>;
1320
- projection: z.ZodOptional<z.ZodEnum<{
1321
- full: "full";
1322
- slim: "slim";
1323
- }>>;
1324
- includeStationary: z.ZodOptional<z.ZodBoolean>;
1325
- classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1326
- excludeSources: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1327
- sensor: "sensor";
1328
- pipeline: "pipeline";
1329
- audio: "audio";
1330
- onboard: "onboard";
1331
- }>>>;
1456
+ /** A named set over the retrain corpus — membership only, it owns no pixels. */
1457
+ export declare const RetrainCollectionSchema: z.ZodObject<{
1458
+ id: z.ZodString;
1459
+ name: z.ZodString;
1460
+ createdAt: z.ZodNumber;
1461
+ frameCount: z.ZodNumber;
1332
1462
  }, z.core.$strip>;
1333
- export type RecentTracksQuery = z.infer<typeof RecentTracksQueryInput>;
1334
- declare const RecentTracksPageSchema: z.ZodObject<{
1335
- tracks: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1336
- retrainStatus: z.ZodOptional<z.ZodEnum<{
1337
- none: "none";
1338
- staging: "staging";
1339
- trained: "trained";
1340
- }>>;
1341
- markForTrain: z.ZodOptional<z.ZodBoolean>;
1342
- debug: z.ZodOptional<z.ZodBoolean>;
1343
- debugNote: z.ZodOptional<z.ZodString>;
1344
- favourited: z.ZodOptional<z.ZodBoolean>;
1345
- producingDeviceName: z.ZodOptional<z.ZodString>;
1346
- source: z.ZodOptional<z.ZodEnum<{
1347
- sensor: "sensor";
1348
- pipeline: "pipeline";
1349
- audio: "audio";
1350
- onboard: "onboard";
1351
- }>>;
1352
- firstSeen: z.ZodNumber;
1353
- lastSeen: z.ZodNumber;
1354
- positions: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1355
- x: z.ZodNumber;
1356
- y: z.ZodNumber;
1357
- timestamp: z.ZodNumber;
1463
+ export type RetrainCollection = z.infer<typeof RetrainCollectionSchema>;
1464
+ export declare const RetrainCollectionCreateResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1465
+ kind: z.ZodLiteral<"created">;
1466
+ collection: z.ZodObject<{
1467
+ id: z.ZodString;
1468
+ name: z.ZodString;
1469
+ createdAt: z.ZodNumber;
1470
+ frameCount: z.ZodNumber;
1471
+ }, z.core.$strip>;
1472
+ }, z.core.$strip>, z.ZodObject<{
1473
+ kind: z.ZodLiteral<"refused">;
1474
+ reason: z.ZodEnum<{
1475
+ "empty-name": "empty-name";
1476
+ "duplicate-name": "duplicate-name";
1477
+ }>;
1478
+ }, z.core.$strip>], "kind">;
1479
+ export type RetrainCollectionCreateResult = z.infer<typeof RetrainCollectionCreateResultSchema>;
1480
+ export declare const RetrainCollectionRenameResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1481
+ kind: z.ZodLiteral<"renamed">;
1482
+ collection: z.ZodObject<{
1483
+ id: z.ZodString;
1484
+ name: z.ZodString;
1485
+ createdAt: z.ZodNumber;
1486
+ frameCount: z.ZodNumber;
1487
+ }, z.core.$strip>;
1488
+ }, z.core.$strip>, z.ZodObject<{
1489
+ kind: z.ZodLiteral<"refused">;
1490
+ reason: z.ZodEnum<{
1491
+ "empty-name": "empty-name";
1492
+ "duplicate-name": "duplicate-name";
1493
+ "unknown-collection": "unknown-collection";
1494
+ }>;
1495
+ }, z.core.$strip>], "kind">;
1496
+ export type RetrainCollectionRenameResult = z.infer<typeof RetrainCollectionRenameResultSchema>;
1497
+ /**
1498
+ * The outcome of adding the frame at a recording instant. Every refusal is
1499
+ * named: `still-unavailable` (not recording, a gap, or an undecodable frame —
1500
+ * `detail` says which), `still-busy` (the recorder is at its decode bound; try
1501
+ * again), `unreadable-image`, `write-failed`, `unknown-collection`.
1502
+ */
1503
+ export declare const AddRetrainFrameFromRecordingResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1504
+ kind: z.ZodLiteral<"added">;
1505
+ collectionId: z.ZodString;
1506
+ frame: z.ZodObject<{
1507
+ frameId: z.ZodString;
1508
+ deviceId: z.ZodNumber;
1509
+ origin: z.ZodEnum<{
1510
+ recording: "recording";
1511
+ track: "track";
1512
+ }>;
1513
+ trackId: z.ZodOptional<z.ZodString>;
1514
+ sourceMediaId: z.ZodOptional<z.ZodNumber>;
1515
+ epochMs: z.ZodOptional<z.ZodNumber>;
1516
+ sourceKind: z.ZodEnum<{
1517
+ crop: "crop";
1518
+ thumbnail: "thumbnail";
1519
+ snapshot: "snapshot";
1520
+ firstFrame: "firstFrame";
1521
+ lastFrame: "lastFrame";
1522
+ fullFrame: "fullFrame";
1523
+ fullFrameBoxed: "fullFrameBoxed";
1524
+ faceCrop: "faceCrop";
1525
+ plateCrop: "plateCrop";
1526
+ keyFrame: "keyFrame";
1527
+ keyFrameSmall: "keyFrameSmall";
1528
+ thumbnailSmall: "thumbnailSmall";
1529
+ confirmationCrop: "confirmationCrop";
1530
+ debugCrop: "debugCrop";
1531
+ sceneFrame: "sceneFrame";
1532
+ lastSceneFrame: "lastSceneFrame";
1533
+ }>;
1534
+ sizeBytes: z.ZodNumber;
1535
+ width: z.ZodNumber;
1536
+ height: z.ZodNumber;
1537
+ copiedAt: z.ZodNumber;
1538
+ capturedAt: z.ZodOptional<z.ZodNumber>;
1539
+ complete: z.ZodBoolean;
1540
+ pipelineBoxes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
1358
1541
  bbox: z.ZodObject<{
1359
1542
  x: z.ZodNumber;
1360
1543
  y: z.ZodNumber;
1361
1544
  w: z.ZodNumber;
1362
1545
  h: z.ZodNumber;
1363
1546
  }, z.core.$strip>;
1364
- source: z.ZodOptional<z.ZodEnum<{
1365
- frame: "frame";
1366
- recovery: "recovery";
1367
- }>>;
1547
+ macroClass: z.ZodEnum<{
1548
+ person: "person";
1549
+ vehicle: "vehicle";
1550
+ animal: "animal";
1551
+ package: "package";
1552
+ face: "face";
1553
+ plate: "plate";
1554
+ }>;
1555
+ label: z.ZodOptional<z.ZodString>;
1556
+ subLabel: z.ZodOptional<z.ZodString>;
1368
1557
  score: z.ZodOptional<z.ZodNumber>;
1369
- }, z.core.$strip>>>;
1370
- snapshots: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1371
- timestamp: z.ZodNumber;
1372
- position: z.ZodObject<{
1373
- x: z.ZodNumber;
1374
- y: z.ZodNumber;
1375
- timestamp: z.ZodNumber;
1376
- bbox: z.ZodObject<{
1377
- x: z.ZodNumber;
1378
- y: z.ZodNumber;
1379
- w: z.ZodNumber;
1380
- h: z.ZodNumber;
1381
- }, z.core.$strip>;
1382
- source: z.ZodOptional<z.ZodEnum<{
1383
- frame: "frame";
1384
- recovery: "recovery";
1385
- }>>;
1386
- score: z.ZodOptional<z.ZodNumber>;
1387
- }, z.core.$strip>;
1388
- mediaId: z.ZodNumber;
1389
- }, z.core.$strip>>>;
1390
- zonesVisited: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1391
- zoneNames: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1392
- classes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1393
- totalDistance: z.ZodNumber;
1394
- state: z.ZodEnum<{
1395
- moving: "moving";
1396
- new: "new";
1397
- entered: "entered";
1398
- left: "left";
1399
- idle: "idle";
1558
+ modelId: z.ZodOptional<z.ZodString>;
1559
+ trackId: z.ZodString;
1560
+ basis: z.ZodEnum<{
1561
+ position: "position";
1562
+ "subject-box": "subject-box";
1563
+ }>;
1564
+ deltaMs: z.ZodNumber;
1565
+ }, z.core.$strip>>>>;
1566
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1567
+ }, z.core.$strip>;
1568
+ reused: z.ZodBoolean;
1569
+ }, z.core.$strip>, z.ZodObject<{
1570
+ kind: z.ZodLiteral<"refused">;
1571
+ reason: z.ZodEnum<{
1572
+ "unreadable-image": "unreadable-image";
1573
+ "write-failed": "write-failed";
1574
+ "unknown-collection": "unknown-collection";
1575
+ "still-unavailable": "still-unavailable";
1576
+ "still-busy": "still-busy";
1577
+ }>;
1578
+ detail: z.ZodOptional<z.ZodString>;
1579
+ }, z.core.$strip>], "kind">;
1580
+ export type AddRetrainFrameFromRecordingResult = z.infer<typeof AddRetrainFrameFromRecordingResultSchema>;
1581
+ /** A vision LLM profile the AI assist may use, and where it sends the frame. */
1582
+ export declare const RetrainAssistProfileSchema: z.ZodObject<{
1583
+ id: z.ZodString;
1584
+ name: z.ZodString;
1585
+ model: z.ZodString;
1586
+ kind: z.ZodString;
1587
+ leavesHouse: z.ZodBoolean;
1588
+ }, z.core.$strip>;
1589
+ export type RetrainAssistProfile = z.infer<typeof RetrainAssistProfileSchema>;
1590
+ /** A box the AI assist proposed: a draft, plus the model's own reason. */
1591
+ export declare const RetrainLlmProposalSchema: z.ZodObject<{
1592
+ bbox: z.ZodObject<{
1593
+ x: z.ZodNumber;
1594
+ y: z.ZodNumber;
1595
+ w: z.ZodNumber;
1596
+ h: z.ZodNumber;
1597
+ }, z.core.$strip>;
1598
+ kind: z.ZodEnum<{
1599
+ subject: "subject";
1600
+ model_error: "model_error";
1601
+ }>;
1602
+ label: z.ZodOptional<z.ZodString>;
1603
+ source: z.ZodEnum<{
1604
+ operator: "operator";
1605
+ pipeline: "pipeline";
1606
+ assist: "assist";
1607
+ llm: "llm";
1608
+ }>;
1609
+ subLabel: z.ZodOptional<z.ZodString>;
1610
+ macroClass: z.ZodEnum<{
1611
+ person: "person";
1612
+ vehicle: "vehicle";
1613
+ animal: "animal";
1614
+ package: "package";
1615
+ face: "face";
1616
+ plate: "plate";
1617
+ }>;
1618
+ assistModelId: z.ZodOptional<z.ZodString>;
1619
+ assistScore: z.ZodOptional<z.ZodNumber>;
1620
+ reason: z.ZodString;
1621
+ }, z.core.$strip>;
1622
+ export type RetrainLlmProposal = z.infer<typeof RetrainLlmProposalSchema>;
1623
+ /** What the AI assist said about a box that was already on the canvas. */
1624
+ export declare const RetrainLlmReviewSchema: z.ZodObject<{
1625
+ ref: z.ZodString;
1626
+ verdict: z.ZodEnum<{
1627
+ confirmed: "confirmed";
1628
+ "wrong-class": "wrong-class";
1629
+ "not-an-object": "not-an-object";
1630
+ uncertain: "uncertain";
1631
+ }>;
1632
+ suggestedClass: z.ZodOptional<z.ZodEnum<{
1633
+ person: "person";
1634
+ vehicle: "vehicle";
1635
+ animal: "animal";
1636
+ package: "package";
1637
+ face: "face";
1638
+ plate: "plate";
1639
+ }>>;
1640
+ reason: z.ZodString;
1641
+ }, z.core.$strip>;
1642
+ export type RetrainLlmReview = z.infer<typeof RetrainLlmReviewSchema>;
1643
+ /**
1644
+ * The AI assist's answer. `proposed` carries drafts (`source: 'llm'`, the
1645
+ * model and its confidence) and reviews; items the model got wrong (a box off
1646
+ * the frame, an unasked class, an unknown ref) are dropped and counted in
1647
+ * `rejected`. A whole answer that is not the schema is `malformed-answer`.
1648
+ */
1649
+ export declare const RetrainLlmAssistResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1650
+ kind: z.ZodLiteral<"proposed">;
1651
+ profileId: z.ZodString;
1652
+ model: z.ZodString;
1653
+ leftHouse: z.ZodBoolean;
1654
+ proposals: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1655
+ bbox: z.ZodObject<{
1656
+ x: z.ZodNumber;
1657
+ y: z.ZodNumber;
1658
+ w: z.ZodNumber;
1659
+ h: z.ZodNumber;
1660
+ }, z.core.$strip>;
1661
+ kind: z.ZodEnum<{
1662
+ subject: "subject";
1663
+ model_error: "model_error";
1664
+ }>;
1665
+ label: z.ZodOptional<z.ZodString>;
1666
+ source: z.ZodEnum<{
1667
+ operator: "operator";
1668
+ pipeline: "pipeline";
1669
+ assist: "assist";
1670
+ llm: "llm";
1671
+ }>;
1672
+ subLabel: z.ZodOptional<z.ZodString>;
1673
+ macroClass: z.ZodEnum<{
1674
+ person: "person";
1675
+ vehicle: "vehicle";
1676
+ animal: "animal";
1677
+ package: "package";
1678
+ face: "face";
1679
+ plate: "plate";
1680
+ }>;
1681
+ assistModelId: z.ZodOptional<z.ZodString>;
1682
+ assistScore: z.ZodOptional<z.ZodNumber>;
1683
+ reason: z.ZodString;
1684
+ }, z.core.$strip>>>;
1685
+ reviews: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1686
+ ref: z.ZodString;
1687
+ verdict: z.ZodEnum<{
1688
+ confirmed: "confirmed";
1689
+ "wrong-class": "wrong-class";
1690
+ "not-an-object": "not-an-object";
1691
+ uncertain: "uncertain";
1692
+ }>;
1693
+ suggestedClass: z.ZodOptional<z.ZodEnum<{
1694
+ person: "person";
1695
+ vehicle: "vehicle";
1696
+ animal: "animal";
1697
+ package: "package";
1698
+ face: "face";
1699
+ plate: "plate";
1700
+ }>>;
1701
+ reason: z.ZodString;
1702
+ }, z.core.$strip>>>;
1703
+ rejected: z.ZodNumber;
1704
+ }, z.core.$strip>, z.ZodObject<{
1705
+ kind: z.ZodLiteral<"refused">;
1706
+ reason: z.ZodEnum<{
1707
+ "unknown-frame": "unknown-frame";
1708
+ "unreadable-frame": "unreadable-frame";
1709
+ "unknown-profile": "unknown-profile";
1710
+ "profile-disabled": "profile-disabled";
1711
+ "no-vision": "no-vision";
1712
+ "cloud-not-confirmed": "cloud-not-confirmed";
1713
+ "llm-error": "llm-error";
1714
+ "malformed-answer": "malformed-answer";
1715
+ }>;
1716
+ detail: z.ZodOptional<z.ZodString>;
1717
+ }, z.core.$strip>], "kind">;
1718
+ export type RetrainLlmAssistResult = z.infer<typeof RetrainLlmAssistResultSchema>;
1719
+ /** The outcome of a lifecycle move owned by the retrain page. */
1720
+ export declare const RetrainTransitionResultSchema: z.ZodObject<{
1721
+ trackId: z.ZodString;
1722
+ retrainStatus: z.ZodEnum<{
1723
+ none: "none";
1724
+ staging: "staging";
1725
+ trained: "trained";
1726
+ }>;
1727
+ changed: z.ZodBoolean;
1728
+ reason: z.ZodOptional<z.ZodEnum<{
1729
+ "unknown-track": "unknown-track";
1730
+ "no-frames-copied": "no-frames-copied";
1731
+ "not-staging": "not-staging";
1732
+ "not-trained": "not-trained";
1733
+ unchanged: "unchanged";
1734
+ }>>;
1735
+ }, z.core.$strip>;
1736
+ export type RetrainTransitionResult = z.infer<typeof RetrainTransitionResultSchema>;
1737
+ declare const RecentTracksQueryInput: z.ZodObject<{
1738
+ deviceIds: z.ZodArray<z.ZodNumber>;
1739
+ since: z.ZodOptional<z.ZodNumber>;
1740
+ until: z.ZodOptional<z.ZodNumber>;
1741
+ limit: z.ZodDefault<z.ZodNumber>;
1742
+ cursor: z.ZodOptional<z.ZodString>;
1743
+ projection: z.ZodOptional<z.ZodEnum<{
1744
+ full: "full";
1745
+ slim: "slim";
1746
+ }>>;
1747
+ includeStationary: z.ZodOptional<z.ZodBoolean>;
1748
+ classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1749
+ excludeSources: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1750
+ sensor: "sensor";
1751
+ pipeline: "pipeline";
1752
+ audio: "audio";
1753
+ onboard: "onboard";
1754
+ }>>>;
1755
+ }, z.core.$strip>;
1756
+ export type RecentTracksQuery = z.infer<typeof RecentTracksQueryInput>;
1757
+ declare const RecentTracksPageSchema: z.ZodObject<{
1758
+ tracks: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1759
+ retrainStatus: z.ZodOptional<z.ZodEnum<{
1760
+ none: "none";
1761
+ staging: "staging";
1762
+ trained: "trained";
1763
+ }>>;
1764
+ markForTrain: z.ZodOptional<z.ZodBoolean>;
1765
+ debug: z.ZodOptional<z.ZodBoolean>;
1766
+ debugNote: z.ZodOptional<z.ZodString>;
1767
+ favourited: z.ZodOptional<z.ZodBoolean>;
1768
+ producingDeviceName: z.ZodOptional<z.ZodString>;
1769
+ source: z.ZodOptional<z.ZodEnum<{
1770
+ sensor: "sensor";
1771
+ pipeline: "pipeline";
1772
+ audio: "audio";
1773
+ onboard: "onboard";
1774
+ }>>;
1775
+ firstSeen: z.ZodNumber;
1776
+ lastSeen: z.ZodNumber;
1777
+ positions: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1778
+ x: z.ZodNumber;
1779
+ y: z.ZodNumber;
1780
+ timestamp: z.ZodNumber;
1781
+ bbox: z.ZodObject<{
1782
+ x: z.ZodNumber;
1783
+ y: z.ZodNumber;
1784
+ w: z.ZodNumber;
1785
+ h: z.ZodNumber;
1786
+ }, z.core.$strip>;
1787
+ source: z.ZodOptional<z.ZodEnum<{
1788
+ frame: "frame";
1789
+ recovery: "recovery";
1790
+ }>>;
1791
+ score: z.ZodOptional<z.ZodNumber>;
1792
+ }, z.core.$strip>>>;
1793
+ snapshots: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1794
+ timestamp: z.ZodNumber;
1795
+ position: z.ZodObject<{
1796
+ x: z.ZodNumber;
1797
+ y: z.ZodNumber;
1798
+ timestamp: z.ZodNumber;
1799
+ bbox: z.ZodObject<{
1800
+ x: z.ZodNumber;
1801
+ y: z.ZodNumber;
1802
+ w: z.ZodNumber;
1803
+ h: z.ZodNumber;
1804
+ }, z.core.$strip>;
1805
+ source: z.ZodOptional<z.ZodEnum<{
1806
+ frame: "frame";
1807
+ recovery: "recovery";
1808
+ }>>;
1809
+ score: z.ZodOptional<z.ZodNumber>;
1810
+ }, z.core.$strip>;
1811
+ mediaId: z.ZodNumber;
1812
+ }, z.core.$strip>>>;
1813
+ zonesVisited: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1814
+ zoneNames: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1815
+ classes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1816
+ totalDistance: z.ZodNumber;
1817
+ state: z.ZodEnum<{
1818
+ moving: "moving";
1819
+ new: "new";
1820
+ entered: "entered";
1821
+ left: "left";
1822
+ idle: "idle";
1400
1823
  }>;
1401
1824
  active: z.ZodBoolean;
1402
1825
  importance: z.ZodOptional<z.ZodNumber>;
@@ -3733,8 +4156,13 @@ export declare const pipelineAnalyticsCapability: {
3733
4156
  copies: z.ZodReadonly<z.ZodArray<z.ZodObject<{
3734
4157
  frameId: z.ZodString;
3735
4158
  deviceId: z.ZodNumber;
3736
- trackId: z.ZodString;
3737
- sourceMediaId: z.ZodNumber;
4159
+ origin: z.ZodEnum<{
4160
+ recording: "recording";
4161
+ track: "track";
4162
+ }>;
4163
+ trackId: z.ZodOptional<z.ZodString>;
4164
+ sourceMediaId: z.ZodOptional<z.ZodNumber>;
4165
+ epochMs: z.ZodOptional<z.ZodNumber>;
3738
4166
  sourceKind: z.ZodEnum<{
3739
4167
  crop: "crop";
3740
4168
  thumbnail: "thumbnail";
@@ -3759,6 +4187,33 @@ export declare const pipelineAnalyticsCapability: {
3759
4187
  copiedAt: z.ZodNumber;
3760
4188
  capturedAt: z.ZodOptional<z.ZodNumber>;
3761
4189
  complete: z.ZodBoolean;
4190
+ pipelineBoxes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
4191
+ bbox: z.ZodObject<{
4192
+ x: z.ZodNumber;
4193
+ y: z.ZodNumber;
4194
+ w: z.ZodNumber;
4195
+ h: z.ZodNumber;
4196
+ }, z.core.$strip>;
4197
+ macroClass: z.ZodEnum<{
4198
+ person: "person";
4199
+ vehicle: "vehicle";
4200
+ animal: "animal";
4201
+ package: "package";
4202
+ face: "face";
4203
+ plate: "plate";
4204
+ }>;
4205
+ label: z.ZodOptional<z.ZodString>;
4206
+ subLabel: z.ZodOptional<z.ZodString>;
4207
+ score: z.ZodOptional<z.ZodNumber>;
4208
+ modelId: z.ZodOptional<z.ZodString>;
4209
+ trackId: z.ZodString;
4210
+ basis: z.ZodEnum<{
4211
+ position: "position";
4212
+ "subject-box": "subject-box";
4213
+ }>;
4214
+ deltaMs: z.ZodNumber;
4215
+ }, z.core.$strip>>>>;
4216
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
3762
4217
  }, z.core.$strip>>>;
3763
4218
  autoPickMediaId: z.ZodOptional<z.ZodNumber>;
3764
4219
  }, z.core.$strip>, "query">;
@@ -3784,8 +4239,13 @@ export declare const pipelineAnalyticsCapability: {
3784
4239
  copied: z.ZodReadonly<z.ZodArray<z.ZodObject<{
3785
4240
  frameId: z.ZodString;
3786
4241
  deviceId: z.ZodNumber;
3787
- trackId: z.ZodString;
3788
- sourceMediaId: z.ZodNumber;
4242
+ origin: z.ZodEnum<{
4243
+ recording: "recording";
4244
+ track: "track";
4245
+ }>;
4246
+ trackId: z.ZodOptional<z.ZodString>;
4247
+ sourceMediaId: z.ZodOptional<z.ZodNumber>;
4248
+ epochMs: z.ZodOptional<z.ZodNumber>;
3789
4249
  sourceKind: z.ZodEnum<{
3790
4250
  crop: "crop";
3791
4251
  thumbnail: "thumbnail";
@@ -3810,6 +4270,33 @@ export declare const pipelineAnalyticsCapability: {
3810
4270
  copiedAt: z.ZodNumber;
3811
4271
  capturedAt: z.ZodOptional<z.ZodNumber>;
3812
4272
  complete: z.ZodBoolean;
4273
+ pipelineBoxes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
4274
+ bbox: z.ZodObject<{
4275
+ x: z.ZodNumber;
4276
+ y: z.ZodNumber;
4277
+ w: z.ZodNumber;
4278
+ h: z.ZodNumber;
4279
+ }, z.core.$strip>;
4280
+ macroClass: z.ZodEnum<{
4281
+ person: "person";
4282
+ vehicle: "vehicle";
4283
+ animal: "animal";
4284
+ package: "package";
4285
+ face: "face";
4286
+ plate: "plate";
4287
+ }>;
4288
+ label: z.ZodOptional<z.ZodString>;
4289
+ subLabel: z.ZodOptional<z.ZodString>;
4290
+ score: z.ZodOptional<z.ZodNumber>;
4291
+ modelId: z.ZodOptional<z.ZodString>;
4292
+ trackId: z.ZodString;
4293
+ basis: z.ZodEnum<{
4294
+ position: "position";
4295
+ "subject-box": "subject-box";
4296
+ }>;
4297
+ deltaMs: z.ZodNumber;
4298
+ }, z.core.$strip>>>>;
4299
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
3813
4300
  }, z.core.$strip>>>;
3814
4301
  refused: z.ZodReadonly<z.ZodArray<z.ZodObject<{
3815
4302
  sourceMediaId: z.ZodNumber;
@@ -3825,7 +4312,7 @@ export declare const pipelineAnalyticsCapability: {
3825
4312
  * a frame leaves the dataset before export. */
3826
4313
  readonly deselectRetrainFrame: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
3827
4314
  deviceId: z.ZodNumber;
3828
- trackId: z.ZodString;
4315
+ trackId: z.ZodOptional<z.ZodString>;
3829
4316
  frameId: z.ZodString;
3830
4317
  }, z.core.$strip>, z.ZodObject<{
3831
4318
  removed: z.ZodBoolean;
@@ -3864,7 +4351,7 @@ export declare const pipelineAnalyticsCapability: {
3864
4351
  */
3865
4352
  readonly proposeRetrainAnnotations: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
3866
4353
  deviceId: z.ZodNumber;
3867
- trackId: z.ZodString;
4354
+ trackId: z.ZodOptional<z.ZodString>;
3868
4355
  frameId: z.ZodString;
3869
4356
  subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
3870
4357
  kind: z.ZodLiteral<"package">;
@@ -3899,7 +4386,9 @@ export declare const pipelineAnalyticsCapability: {
3899
4386
  label: z.ZodOptional<z.ZodString>;
3900
4387
  source: z.ZodEnum<{
3901
4388
  operator: "operator";
4389
+ pipeline: "pipeline";
3902
4390
  assist: "assist";
4391
+ llm: "llm";
3903
4392
  }>;
3904
4393
  subLabel: z.ZodOptional<z.ZodString>;
3905
4394
  macroClass: z.ZodEnum<{
@@ -3919,12 +4408,14 @@ export declare const pipelineAnalyticsCapability: {
3919
4408
  reason: z.ZodString;
3920
4409
  detail: z.ZodOptional<z.ZodString>;
3921
4410
  }, z.core.$strip>], "kind">, "mutation">;
3922
- /** Every annotation on a track, oldest first. */
4411
+ /** Every annotation on a track, or on named frames (a recording still has
4412
+ * no track), oldest first. One of the two is required. */
3923
4413
  readonly listRetrainAnnotations: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
3924
- trackId: z.ZodString;
4414
+ trackId: z.ZodOptional<z.ZodString>;
4415
+ frameIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3925
4416
  }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
3926
4417
  id: z.ZodString;
3927
- trackId: z.ZodString;
4418
+ trackId: z.ZodOptional<z.ZodString>;
3928
4419
  deviceId: z.ZodNumber;
3929
4420
  mediaKey: z.ZodString;
3930
4421
  bbox: z.ZodObject<{
@@ -3949,7 +4440,9 @@ export declare const pipelineAnalyticsCapability: {
3949
4440
  }>;
3950
4441
  source: z.ZodEnum<{
3951
4442
  operator: "operator";
4443
+ pipeline: "pipeline";
3952
4444
  assist: "assist";
4445
+ llm: "llm";
3953
4446
  }>;
3954
4447
  assistModelId: z.ZodOptional<z.ZodString>;
3955
4448
  assistScore: z.ZodOptional<z.ZodNumber>;
@@ -3971,7 +4464,7 @@ export declare const pipelineAnalyticsCapability: {
3971
4464
  */
3972
4465
  readonly saveRetrainAnnotations: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
3973
4466
  deviceId: z.ZodNumber;
3974
- trackId: z.ZodString;
4467
+ trackId: z.ZodOptional<z.ZodString>;
3975
4468
  frameId: z.ZodString;
3976
4469
  annotations: z.ZodArray<z.ZodObject<{
3977
4470
  bbox: z.ZodObject<{
@@ -3987,7 +4480,9 @@ export declare const pipelineAnalyticsCapability: {
3987
4480
  label: z.ZodOptional<z.ZodString>;
3988
4481
  source: z.ZodEnum<{
3989
4482
  operator: "operator";
4483
+ pipeline: "pipeline";
3990
4484
  assist: "assist";
4485
+ llm: "llm";
3991
4486
  }>;
3992
4487
  subLabel: z.ZodOptional<z.ZodString>;
3993
4488
  macroClass: z.ZodEnum<{
@@ -4003,7 +4498,7 @@ export declare const pipelineAnalyticsCapability: {
4003
4498
  }, z.core.$strip>>;
4004
4499
  }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
4005
4500
  id: z.ZodString;
4006
- trackId: z.ZodString;
4501
+ trackId: z.ZodOptional<z.ZodString>;
4007
4502
  deviceId: z.ZodNumber;
4008
4503
  mediaKey: z.ZodString;
4009
4504
  bbox: z.ZodObject<{
@@ -4028,7 +4523,9 @@ export declare const pipelineAnalyticsCapability: {
4028
4523
  }>;
4029
4524
  source: z.ZodEnum<{
4030
4525
  operator: "operator";
4526
+ pipeline: "pipeline";
4031
4527
  assist: "assist";
4528
+ llm: "llm";
4032
4529
  }>;
4033
4530
  assistModelId: z.ZodOptional<z.ZodString>;
4034
4531
  assistScore: z.ZodOptional<z.ZodNumber>;
@@ -4107,6 +4604,7 @@ export declare const pipelineAnalyticsCapability: {
4107
4604
  readonly getRetrainExportUrl: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
4108
4605
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4109
4606
  frameIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4607
+ collectionIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4110
4608
  batchId: z.ZodOptional<z.ZodString>;
4111
4609
  completeOnly: z.ZodOptional<z.ZodBoolean>;
4112
4610
  layout: z.ZodOptional<z.ZodEnum<{
@@ -4123,14 +4621,19 @@ export declare const pipelineAnalyticsCapability: {
4123
4621
  */
4124
4622
  readonly setRetrainFrameComplete: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
4125
4623
  deviceId: z.ZodNumber;
4126
- trackId: z.ZodString;
4624
+ trackId: z.ZodOptional<z.ZodString>;
4127
4625
  frameId: z.ZodString;
4128
4626
  complete: z.ZodBoolean;
4129
4627
  }, z.core.$strip>, z.ZodObject<{
4130
4628
  frameId: z.ZodString;
4131
4629
  deviceId: z.ZodNumber;
4132
- trackId: z.ZodString;
4133
- sourceMediaId: z.ZodNumber;
4630
+ origin: z.ZodEnum<{
4631
+ recording: "recording";
4632
+ track: "track";
4633
+ }>;
4634
+ trackId: z.ZodOptional<z.ZodString>;
4635
+ sourceMediaId: z.ZodOptional<z.ZodNumber>;
4636
+ epochMs: z.ZodOptional<z.ZodNumber>;
4134
4637
  sourceKind: z.ZodEnum<{
4135
4638
  crop: "crop";
4136
4639
  thumbnail: "thumbnail";
@@ -4155,6 +4658,33 @@ export declare const pipelineAnalyticsCapability: {
4155
4658
  copiedAt: z.ZodNumber;
4156
4659
  capturedAt: z.ZodOptional<z.ZodNumber>;
4157
4660
  complete: z.ZodBoolean;
4661
+ pipelineBoxes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
4662
+ bbox: z.ZodObject<{
4663
+ x: z.ZodNumber;
4664
+ y: z.ZodNumber;
4665
+ w: z.ZodNumber;
4666
+ h: z.ZodNumber;
4667
+ }, z.core.$strip>;
4668
+ macroClass: z.ZodEnum<{
4669
+ person: "person";
4670
+ vehicle: "vehicle";
4671
+ animal: "animal";
4672
+ package: "package";
4673
+ face: "face";
4674
+ plate: "plate";
4675
+ }>;
4676
+ label: z.ZodOptional<z.ZodString>;
4677
+ subLabel: z.ZodOptional<z.ZodString>;
4678
+ score: z.ZodOptional<z.ZodNumber>;
4679
+ modelId: z.ZodOptional<z.ZodString>;
4680
+ trackId: z.ZodString;
4681
+ basis: z.ZodEnum<{
4682
+ position: "position";
4683
+ "subject-box": "subject-box";
4684
+ }>;
4685
+ deltaMs: z.ZodNumber;
4686
+ }, z.core.$strip>>>>;
4687
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
4158
4688
  }, z.core.$strip>, "mutation">;
4159
4689
  /**
4160
4690
  * Stream the annotated archive to a TARGET instead of a browser — the
@@ -4167,6 +4697,7 @@ export declare const pipelineAnalyticsCapability: {
4167
4697
  filter: z.ZodObject<{
4168
4698
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4169
4699
  frameIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4700
+ collectionIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4170
4701
  batchId: z.ZodOptional<z.ZodString>;
4171
4702
  completeOnly: z.ZodOptional<z.ZodBoolean>;
4172
4703
  }, z.core.$strip>;
@@ -4193,6 +4724,353 @@ export declare const pipelineAnalyticsCapability: {
4193
4724
  sha256: z.ZodString;
4194
4725
  status: z.ZodNumber;
4195
4726
  }, z.core.$strip>, "mutation">;
4727
+ /** The enabled, vision-capable LLM profiles, each saying whether a frame
4728
+ * sent to it leaves the house. */
4729
+ readonly listRetrainAssistProfiles: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
4730
+ id: z.ZodString;
4731
+ name: z.ZodString;
4732
+ model: z.ZodString;
4733
+ kind: z.ZodString;
4734
+ leavesHouse: z.ZodBoolean;
4735
+ }, z.core.$strip>>>, "query">;
4736
+ /**
4737
+ * Ask a vision LLM (the `llm` capability) about ONE copied frame: list the
4738
+ * objects of `classes` with boxes, and review the boxes already on the
4739
+ * canvas (sent by `ref`). Answers drafts (`source: 'llm'`) and reviews —
4740
+ * nothing is stored, nothing is accepted. A profile that sends the frame
4741
+ * outside the house is refused unless `allowCloud` says the operator
4742
+ * confirmed this run.
4743
+ */
4744
+ readonly proposeRetrainAnnotationsWithLlm: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
4745
+ deviceId: z.ZodNumber;
4746
+ trackId: z.ZodOptional<z.ZodString>;
4747
+ frameId: z.ZodString;
4748
+ profileId: z.ZodString;
4749
+ classes: z.ZodArray<z.ZodEnum<{
4750
+ person: "person";
4751
+ vehicle: "vehicle";
4752
+ animal: "animal";
4753
+ package: "package";
4754
+ face: "face";
4755
+ plate: "plate";
4756
+ }>>;
4757
+ boxes: z.ZodArray<z.ZodObject<{
4758
+ ref: z.ZodString;
4759
+ bbox: z.ZodObject<{
4760
+ x: z.ZodNumber;
4761
+ y: z.ZodNumber;
4762
+ w: z.ZodNumber;
4763
+ h: z.ZodNumber;
4764
+ }, z.core.$strip>;
4765
+ macroClass: z.ZodEnum<{
4766
+ person: "person";
4767
+ vehicle: "vehicle";
4768
+ animal: "animal";
4769
+ package: "package";
4770
+ face: "face";
4771
+ plate: "plate";
4772
+ }>;
4773
+ label: z.ZodOptional<z.ZodString>;
4774
+ }, z.core.$strip>>;
4775
+ allowCloud: z.ZodBoolean;
4776
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
4777
+ kind: z.ZodLiteral<"proposed">;
4778
+ profileId: z.ZodString;
4779
+ model: z.ZodString;
4780
+ leftHouse: z.ZodBoolean;
4781
+ proposals: z.ZodReadonly<z.ZodArray<z.ZodObject<{
4782
+ bbox: z.ZodObject<{
4783
+ x: z.ZodNumber;
4784
+ y: z.ZodNumber;
4785
+ w: z.ZodNumber;
4786
+ h: z.ZodNumber;
4787
+ }, z.core.$strip>;
4788
+ kind: z.ZodEnum<{
4789
+ subject: "subject";
4790
+ model_error: "model_error";
4791
+ }>;
4792
+ label: z.ZodOptional<z.ZodString>;
4793
+ source: z.ZodEnum<{
4794
+ operator: "operator";
4795
+ pipeline: "pipeline";
4796
+ assist: "assist";
4797
+ llm: "llm";
4798
+ }>;
4799
+ subLabel: z.ZodOptional<z.ZodString>;
4800
+ macroClass: z.ZodEnum<{
4801
+ person: "person";
4802
+ vehicle: "vehicle";
4803
+ animal: "animal";
4804
+ package: "package";
4805
+ face: "face";
4806
+ plate: "plate";
4807
+ }>;
4808
+ assistModelId: z.ZodOptional<z.ZodString>;
4809
+ assistScore: z.ZodOptional<z.ZodNumber>;
4810
+ reason: z.ZodString;
4811
+ }, z.core.$strip>>>;
4812
+ reviews: z.ZodReadonly<z.ZodArray<z.ZodObject<{
4813
+ ref: z.ZodString;
4814
+ verdict: z.ZodEnum<{
4815
+ confirmed: "confirmed";
4816
+ "wrong-class": "wrong-class";
4817
+ "not-an-object": "not-an-object";
4818
+ uncertain: "uncertain";
4819
+ }>;
4820
+ suggestedClass: z.ZodOptional<z.ZodEnum<{
4821
+ person: "person";
4822
+ vehicle: "vehicle";
4823
+ animal: "animal";
4824
+ package: "package";
4825
+ face: "face";
4826
+ plate: "plate";
4827
+ }>>;
4828
+ reason: z.ZodString;
4829
+ }, z.core.$strip>>>;
4830
+ rejected: z.ZodNumber;
4831
+ }, z.core.$strip>, z.ZodObject<{
4832
+ kind: z.ZodLiteral<"refused">;
4833
+ reason: z.ZodEnum<{
4834
+ "unknown-frame": "unknown-frame";
4835
+ "unreadable-frame": "unreadable-frame";
4836
+ "unknown-profile": "unknown-profile";
4837
+ "profile-disabled": "profile-disabled";
4838
+ "no-vision": "no-vision";
4839
+ "cloud-not-confirmed": "cloud-not-confirmed";
4840
+ "llm-error": "llm-error";
4841
+ "malformed-answer": "malformed-answer";
4842
+ }>;
4843
+ detail: z.ZodOptional<z.ZodString>;
4844
+ }, z.core.$strip>], "kind">, "mutation">;
4845
+ /**
4846
+ * Create a named collection — a set over the retrain corpus ("packages
4847
+ * porch night"). Names are unique case-insensitively and never empty;
4848
+ * both refusals are named.
4849
+ */
4850
+ readonly createRetrainCollection: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
4851
+ name: z.ZodString;
4852
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
4853
+ kind: z.ZodLiteral<"created">;
4854
+ collection: z.ZodObject<{
4855
+ id: z.ZodString;
4856
+ name: z.ZodString;
4857
+ createdAt: z.ZodNumber;
4858
+ frameCount: z.ZodNumber;
4859
+ }, z.core.$strip>;
4860
+ }, z.core.$strip>, z.ZodObject<{
4861
+ kind: z.ZodLiteral<"refused">;
4862
+ reason: z.ZodEnum<{
4863
+ "empty-name": "empty-name";
4864
+ "duplicate-name": "duplicate-name";
4865
+ }>;
4866
+ }, z.core.$strip>], "kind">, "mutation">;
4867
+ /** Every collection, newest first, with its frame count. */
4868
+ readonly listRetrainCollections: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
4869
+ id: z.ZodString;
4870
+ name: z.ZodString;
4871
+ createdAt: z.ZodNumber;
4872
+ frameCount: z.ZodNumber;
4873
+ }, z.core.$strip>>>, "query">;
4874
+ readonly renameRetrainCollection: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
4875
+ id: z.ZodString;
4876
+ name: z.ZodString;
4877
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
4878
+ kind: z.ZodLiteral<"renamed">;
4879
+ collection: z.ZodObject<{
4880
+ id: z.ZodString;
4881
+ name: z.ZodString;
4882
+ createdAt: z.ZodNumber;
4883
+ frameCount: z.ZodNumber;
4884
+ }, z.core.$strip>;
4885
+ }, z.core.$strip>, z.ZodObject<{
4886
+ kind: z.ZodLiteral<"refused">;
4887
+ reason: z.ZodEnum<{
4888
+ "empty-name": "empty-name";
4889
+ "duplicate-name": "duplicate-name";
4890
+ "unknown-collection": "unknown-collection";
4891
+ }>;
4892
+ }, z.core.$strip>], "kind">, "mutation">;
4893
+ /**
4894
+ * Delete a collection. Its recording stills that no other collection
4895
+ * holds are deleted with their annotations (nothing else reaches them);
4896
+ * frames copied from tracks always stay in the dataset.
4897
+ */
4898
+ readonly deleteRetrainCollection: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
4899
+ id: z.ZodString;
4900
+ }, z.core.$strip>, z.ZodObject<{
4901
+ deleted: z.ZodBoolean;
4902
+ removedFrames: z.ZodNumber;
4903
+ }, z.core.$strip>, "mutation">;
4904
+ /**
4905
+ * Add the frame at a recording instant to a collection — the frame the
4906
+ * model may have seen NOTHING in. The recorder re-decodes the native
4907
+ * frame at `epochMs`; the dataset copies it (trackless, durable). The same
4908
+ * moment twice is one copy. Every refusal is named.
4909
+ */
4910
+ readonly addRetrainFrameFromRecording: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
4911
+ collectionId: z.ZodString;
4912
+ deviceId: z.ZodNumber;
4913
+ epochMs: z.ZodNumber;
4914
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
4915
+ kind: z.ZodLiteral<"added">;
4916
+ collectionId: z.ZodString;
4917
+ frame: z.ZodObject<{
4918
+ frameId: z.ZodString;
4919
+ deviceId: z.ZodNumber;
4920
+ origin: z.ZodEnum<{
4921
+ recording: "recording";
4922
+ track: "track";
4923
+ }>;
4924
+ trackId: z.ZodOptional<z.ZodString>;
4925
+ sourceMediaId: z.ZodOptional<z.ZodNumber>;
4926
+ epochMs: z.ZodOptional<z.ZodNumber>;
4927
+ sourceKind: z.ZodEnum<{
4928
+ crop: "crop";
4929
+ thumbnail: "thumbnail";
4930
+ snapshot: "snapshot";
4931
+ firstFrame: "firstFrame";
4932
+ lastFrame: "lastFrame";
4933
+ fullFrame: "fullFrame";
4934
+ fullFrameBoxed: "fullFrameBoxed";
4935
+ faceCrop: "faceCrop";
4936
+ plateCrop: "plateCrop";
4937
+ keyFrame: "keyFrame";
4938
+ keyFrameSmall: "keyFrameSmall";
4939
+ thumbnailSmall: "thumbnailSmall";
4940
+ confirmationCrop: "confirmationCrop";
4941
+ debugCrop: "debugCrop";
4942
+ sceneFrame: "sceneFrame";
4943
+ lastSceneFrame: "lastSceneFrame";
4944
+ }>;
4945
+ sizeBytes: z.ZodNumber;
4946
+ width: z.ZodNumber;
4947
+ height: z.ZodNumber;
4948
+ copiedAt: z.ZodNumber;
4949
+ capturedAt: z.ZodOptional<z.ZodNumber>;
4950
+ complete: z.ZodBoolean;
4951
+ pipelineBoxes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
4952
+ bbox: z.ZodObject<{
4953
+ x: z.ZodNumber;
4954
+ y: z.ZodNumber;
4955
+ w: z.ZodNumber;
4956
+ h: z.ZodNumber;
4957
+ }, z.core.$strip>;
4958
+ macroClass: z.ZodEnum<{
4959
+ person: "person";
4960
+ vehicle: "vehicle";
4961
+ animal: "animal";
4962
+ package: "package";
4963
+ face: "face";
4964
+ plate: "plate";
4965
+ }>;
4966
+ label: z.ZodOptional<z.ZodString>;
4967
+ subLabel: z.ZodOptional<z.ZodString>;
4968
+ score: z.ZodOptional<z.ZodNumber>;
4969
+ modelId: z.ZodOptional<z.ZodString>;
4970
+ trackId: z.ZodString;
4971
+ basis: z.ZodEnum<{
4972
+ position: "position";
4973
+ "subject-box": "subject-box";
4974
+ }>;
4975
+ deltaMs: z.ZodNumber;
4976
+ }, z.core.$strip>>>>;
4977
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
4978
+ }, z.core.$strip>;
4979
+ reused: z.ZodBoolean;
4980
+ }, z.core.$strip>, z.ZodObject<{
4981
+ kind: z.ZodLiteral<"refused">;
4982
+ reason: z.ZodEnum<{
4983
+ "unreadable-image": "unreadable-image";
4984
+ "write-failed": "write-failed";
4985
+ "unknown-collection": "unknown-collection";
4986
+ "still-unavailable": "still-unavailable";
4987
+ "still-busy": "still-busy";
4988
+ }>;
4989
+ detail: z.ZodOptional<z.ZodString>;
4990
+ }, z.core.$strip>], "kind">, "mutation">;
4991
+ /** Add frames already in the dataset to a collection. */
4992
+ readonly addRetrainFramesToCollection: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
4993
+ collectionId: z.ZodString;
4994
+ frameIds: z.ZodArray<z.ZodString>;
4995
+ }, z.core.$strip>, z.ZodObject<{
4996
+ added: z.ZodNumber;
4997
+ alreadyMember: z.ZodNumber;
4998
+ unknownFrameIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
4999
+ }, z.core.$strip>, "mutation">;
5000
+ /** Remove a frame from a collection. A recording still left in no
5001
+ * collection is deleted with its annotations (`deletedFrame`). */
5002
+ readonly removeRetrainFrameFromCollection: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
5003
+ collectionId: z.ZodString;
5004
+ frameId: z.ZodString;
5005
+ }, z.core.$strip>, z.ZodObject<{
5006
+ removed: z.ZodBoolean;
5007
+ deletedFrame: z.ZodBoolean;
5008
+ }, z.core.$strip>, "mutation">;
5009
+ /** The frames of a collection, with their pipeline boxes. */
5010
+ readonly listRetrainCollectionFrames: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
5011
+ collectionId: z.ZodString;
5012
+ }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
5013
+ frameId: z.ZodString;
5014
+ deviceId: z.ZodNumber;
5015
+ origin: z.ZodEnum<{
5016
+ recording: "recording";
5017
+ track: "track";
5018
+ }>;
5019
+ trackId: z.ZodOptional<z.ZodString>;
5020
+ sourceMediaId: z.ZodOptional<z.ZodNumber>;
5021
+ epochMs: z.ZodOptional<z.ZodNumber>;
5022
+ sourceKind: z.ZodEnum<{
5023
+ crop: "crop";
5024
+ thumbnail: "thumbnail";
5025
+ snapshot: "snapshot";
5026
+ firstFrame: "firstFrame";
5027
+ lastFrame: "lastFrame";
5028
+ fullFrame: "fullFrame";
5029
+ fullFrameBoxed: "fullFrameBoxed";
5030
+ faceCrop: "faceCrop";
5031
+ plateCrop: "plateCrop";
5032
+ keyFrame: "keyFrame";
5033
+ keyFrameSmall: "keyFrameSmall";
5034
+ thumbnailSmall: "thumbnailSmall";
5035
+ confirmationCrop: "confirmationCrop";
5036
+ debugCrop: "debugCrop";
5037
+ sceneFrame: "sceneFrame";
5038
+ lastSceneFrame: "lastSceneFrame";
5039
+ }>;
5040
+ sizeBytes: z.ZodNumber;
5041
+ width: z.ZodNumber;
5042
+ height: z.ZodNumber;
5043
+ copiedAt: z.ZodNumber;
5044
+ capturedAt: z.ZodOptional<z.ZodNumber>;
5045
+ complete: z.ZodBoolean;
5046
+ pipelineBoxes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
5047
+ bbox: z.ZodObject<{
5048
+ x: z.ZodNumber;
5049
+ y: z.ZodNumber;
5050
+ w: z.ZodNumber;
5051
+ h: z.ZodNumber;
5052
+ }, z.core.$strip>;
5053
+ macroClass: z.ZodEnum<{
5054
+ person: "person";
5055
+ vehicle: "vehicle";
5056
+ animal: "animal";
5057
+ package: "package";
5058
+ face: "face";
5059
+ plate: "plate";
5060
+ }>;
5061
+ label: z.ZodOptional<z.ZodString>;
5062
+ subLabel: z.ZodOptional<z.ZodString>;
5063
+ score: z.ZodOptional<z.ZodNumber>;
5064
+ modelId: z.ZodOptional<z.ZodString>;
5065
+ trackId: z.ZodString;
5066
+ basis: z.ZodEnum<{
5067
+ position: "position";
5068
+ "subject-box": "subject-box";
5069
+ }>;
5070
+ deltaMs: z.ZodNumber;
5071
+ }, z.core.$strip>>>>;
5072
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
5073
+ }, z.core.$strip>>>, "query">;
4196
5074
  /**
4197
5075
  * The media an EVENT owns.
4198
5076
  *